@almadar/ui 2.15.8 → 2.15.11

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 (126) hide show
  1. package/dist/components/atoms/ContentSection.d.ts +16 -0
  2. package/dist/components/atoms/SectionHeader.d.ts +14 -0
  3. package/dist/components/atoms/StatCard.d.ts +13 -0
  4. package/dist/components/atoms/index.d.ts +3 -0
  5. package/dist/components/atoms/svg/SvgBranch.d.ts +12 -0
  6. package/dist/components/atoms/svg/SvgConnection.d.ts +13 -0
  7. package/dist/components/atoms/svg/SvgFlow.d.ts +10 -0
  8. package/dist/components/atoms/svg/SvgGrid.d.ts +14 -0
  9. package/dist/components/atoms/svg/SvgLobe.d.ts +13 -0
  10. package/dist/components/atoms/svg/SvgMesh.d.ts +12 -0
  11. package/dist/components/atoms/svg/SvgMorph.d.ts +11 -0
  12. package/dist/components/atoms/svg/SvgNode.d.ts +12 -0
  13. package/dist/components/atoms/svg/SvgPulse.d.ts +12 -0
  14. package/dist/components/atoms/svg/SvgRing.d.ts +13 -0
  15. package/dist/components/atoms/svg/SvgShield.d.ts +11 -0
  16. package/dist/components/atoms/svg/SvgStack.d.ts +13 -0
  17. package/dist/components/atoms/svg/index.d.ts +12 -0
  18. package/dist/{chunk-ACUO2BBW.js → components/index.cjs} +24831 -16747
  19. package/dist/components/index.js +37754 -889
  20. package/dist/components/molecules/AnimatedCounter.d.ts +18 -0
  21. package/dist/components/molecules/ArticleSection.d.ts +18 -0
  22. package/dist/components/molecules/CTABanner.d.ts +31 -0
  23. package/dist/components/molecules/CaseStudyCard.d.ts +24 -0
  24. package/dist/components/molecules/CodeExample.d.ts +23 -0
  25. package/dist/components/molecules/CommunityLinks.d.ts +25 -0
  26. package/dist/components/molecules/DocBreadcrumb.d.ts +20 -0
  27. package/dist/components/molecules/DocCodeBlock.d.ts +13 -0
  28. package/dist/components/molecules/DocPagination.d.ts +14 -0
  29. package/dist/components/molecules/DocSearch.d.ts +15 -0
  30. package/dist/components/molecules/DocSidebar.d.ts +24 -0
  31. package/dist/components/molecules/DocTOC.d.ts +24 -0
  32. package/dist/components/molecules/FeatureCard.d.ts +26 -0
  33. package/dist/components/molecules/FeatureGrid.d.ts +19 -0
  34. package/dist/components/molecules/GradientDivider.d.ts +14 -0
  35. package/dist/components/molecules/HeroSection.d.ts +36 -0
  36. package/dist/components/molecules/InstallBox.d.ts +16 -0
  37. package/dist/components/molecules/MarketingFooter.d.ts +27 -0
  38. package/dist/components/molecules/PricingCard.d.ts +21 -0
  39. package/dist/components/molecules/PricingGrid.d.ts +13 -0
  40. package/dist/components/molecules/PullQuote.d.ts +14 -0
  41. package/dist/components/molecules/ServiceCatalog.d.ts +19 -0
  42. package/dist/components/molecules/ShowcaseCard.d.ts +20 -0
  43. package/dist/components/molecules/SocialProof.d.ts +25 -0
  44. package/dist/components/molecules/SplitSection.d.ts +21 -0
  45. package/dist/components/molecules/StatsGrid.d.ts +17 -0
  46. package/dist/components/molecules/StepFlow.d.ts +20 -0
  47. package/dist/components/molecules/TagCloud.d.ts +18 -0
  48. package/dist/components/molecules/TeamCard.d.ts +18 -0
  49. package/dist/components/molecules/index.d.ts +19 -0
  50. package/dist/components/molecules/svg/AIGenerates.d.ts +7 -0
  51. package/dist/components/molecules/svg/ClosedCircuit.d.ts +7 -0
  52. package/dist/components/molecules/svg/CommunityOwnership.d.ts +7 -0
  53. package/dist/components/molecules/svg/CompileAnywhere.d.ts +7 -0
  54. package/dist/components/molecules/svg/ComposableModels.d.ts +7 -0
  55. package/dist/components/molecules/svg/DescribeProveDeploy.d.ts +7 -0
  56. package/dist/components/molecules/svg/DomainGrid.d.ts +7 -0
  57. package/dist/components/molecules/svg/EventBus.d.ts +7 -0
  58. package/dist/components/molecules/svg/OrbitalUnit.d.ts +7 -0
  59. package/dist/components/molecules/svg/PlanVerifyRemember.d.ts +7 -0
  60. package/dist/components/molecules/svg/ProveCorrect.d.ts +7 -0
  61. package/dist/components/molecules/svg/ServiceLayers.d.ts +7 -0
  62. package/dist/components/molecules/svg/SharedReality.d.ts +7 -0
  63. package/dist/components/molecules/svg/StandardLibrary.d.ts +7 -0
  64. package/dist/components/molecules/svg/StateMachine.d.ts +7 -0
  65. package/dist/components/molecules/svg/WorldModel.d.ts +7 -0
  66. package/dist/components/molecules/svg/index.d.ts +16 -0
  67. package/dist/components/organisms/CaseStudyOrganism.d.ts +19 -0
  68. package/dist/components/organisms/FeatureGridOrganism.d.ts +20 -0
  69. package/dist/components/organisms/HeroOrganism.d.ts +18 -0
  70. package/dist/components/organisms/PricingOrganism.d.ts +19 -0
  71. package/dist/components/organisms/ShowcaseOrganism.d.ts +20 -0
  72. package/dist/components/organisms/StatsOrganism.d.ts +17 -0
  73. package/dist/components/organisms/StepFlowOrganism.d.ts +20 -0
  74. package/dist/components/organisms/TeamOrganism.d.ts +18 -0
  75. package/dist/components/organisms/game/three/index.cjs +2525 -0
  76. package/dist/components/organisms/game/three/index.js +1795 -50
  77. package/dist/components/organisms/index.d.ts +9 -0
  78. package/dist/components/organisms/marketing-types.d.ts +87 -0
  79. package/dist/components/templates/AboutPageTemplate.d.ts +26 -0
  80. package/dist/components/templates/FeatureDetailPageTemplate.d.ts +27 -0
  81. package/dist/components/templates/LandingPageTemplate.d.ts +31 -0
  82. package/dist/components/templates/PricingPageTemplate.d.ts +26 -0
  83. package/dist/components/templates/index.d.ts +4 -0
  84. package/dist/context/index.cjs +550 -0
  85. package/dist/context/index.js +420 -6
  86. package/dist/docs/index.cjs +4015 -0
  87. package/dist/docs/index.d.cts +412 -0
  88. package/dist/docs/index.d.ts +29 -0
  89. package/dist/docs/index.js +3977 -0
  90. package/dist/hooks/index.cjs +2606 -0
  91. package/dist/hooks/index.js +2535 -8
  92. package/dist/illustrations/index.cjs +3004 -0
  93. package/dist/illustrations/index.d.cts +261 -0
  94. package/dist/illustrations/index.d.ts +35 -0
  95. package/dist/illustrations/index.js +2971 -0
  96. package/dist/{chunk-XL7WB2O5.js → lib/index.cjs} +454 -274
  97. package/dist/lib/index.js +1407 -3
  98. package/dist/locales/index.cjs +340 -0
  99. package/dist/locales/index.js +105 -2
  100. package/dist/marketing/index.cjs +4680 -0
  101. package/dist/marketing/index.d.cts +831 -0
  102. package/dist/marketing/index.d.ts +62 -0
  103. package/dist/marketing/index.js +4623 -0
  104. package/dist/providers/index.cjs +4811 -0
  105. package/dist/providers/index.js +4765 -11
  106. package/dist/{chunk-K2D5D3WK.js → renderer/index.cjs} +101 -42
  107. package/dist/renderer/index.js +1036 -2
  108. package/dist/runtime/index.cjs +4400 -0
  109. package/dist/runtime/index.js +3615 -19
  110. package/dist/{chunk-N7MVUW4R.js → stores/index.cjs} +24 -1
  111. package/dist/stores/index.js +194 -2
  112. package/dist/tsup.config.d.ts +2 -1
  113. package/package.json +27 -12
  114. package/tailwind-preset.cjs +9 -0
  115. package/themes/almadar-website.css +195 -0
  116. package/themes/index.css +23 -20
  117. package/dist/chunk-3HJHHULT.js +0 -93
  118. package/dist/chunk-3JGAROCW.js +0 -149
  119. package/dist/chunk-4N3BAPDB.js +0 -1667
  120. package/dist/chunk-CDIOHSKG.js +0 -661
  121. package/dist/chunk-DKQN5FVU.js +0 -279
  122. package/dist/chunk-JJHCOO34.js +0 -375
  123. package/dist/chunk-PKBMQBKP.js +0 -5
  124. package/dist/chunk-QIABKRCN.js +0 -107
  125. package/dist/chunk-SD3KVCY6.js +0 -1465
  126. package/dist/chunk-YXZM3WCF.js +0 -222
@@ -0,0 +1,831 @@
1
+ import React from 'react';
2
+ import { LucideIcon } from 'lucide-react';
3
+
4
+ /**
5
+ * Box Component
6
+ *
7
+ * A versatile layout primitive that provides spacing, background, border, and shadow controls.
8
+ * Think of it as a styled div with consistent design tokens.
9
+ */
10
+
11
+ type BoxPadding = "none" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
12
+ type BoxMargin = "none" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "auto";
13
+ type BoxBg = "transparent" | "primary" | "secondary" | "muted" | "accent" | "surface" | "overlay";
14
+ type BoxRounded = "none" | "sm" | "md" | "lg" | "xl" | "2xl" | "full";
15
+ type BoxShadow = "none" | "sm" | "md" | "lg" | "xl";
16
+ interface BoxProps extends React.HTMLAttributes<HTMLDivElement> {
17
+ /** Padding on all sides */
18
+ padding?: BoxPadding;
19
+ /** Horizontal padding (overrides padding for x-axis) */
20
+ paddingX?: BoxPadding;
21
+ /** Vertical padding (overrides padding for y-axis) */
22
+ paddingY?: BoxPadding;
23
+ /** Margin on all sides */
24
+ margin?: BoxMargin;
25
+ /** Horizontal margin */
26
+ marginX?: BoxMargin;
27
+ /** Vertical margin */
28
+ marginY?: BoxMargin;
29
+ /** Background color */
30
+ bg?: BoxBg;
31
+ /** Show border */
32
+ border?: boolean;
33
+ /** Border radius */
34
+ rounded?: BoxRounded;
35
+ /** Box shadow */
36
+ shadow?: BoxShadow;
37
+ /** Display type */
38
+ display?: "block" | "inline" | "inline-block" | "flex" | "inline-flex" | "grid";
39
+ /** Fill available width */
40
+ fullWidth?: boolean;
41
+ /** Fill available height */
42
+ fullHeight?: boolean;
43
+ /** Overflow behavior */
44
+ overflow?: "auto" | "hidden" | "visible" | "scroll";
45
+ /** Position */
46
+ position?: "relative" | "absolute" | "fixed" | "sticky";
47
+ /** HTML element to render as */
48
+ as?: React.ElementType;
49
+ /** Declarative event name — emits UI:{action} via eventBus on click */
50
+ action?: string;
51
+ /** Payload to include with the action event */
52
+ actionPayload?: Record<string, unknown>;
53
+ /** Declarative hover event — emits UI:{hoverEvent} with { hovered: true/false } on mouseEnter/mouseLeave */
54
+ hoverEvent?: string;
55
+ }
56
+ /**
57
+ * Box - Versatile container component with design tokens
58
+ */
59
+ declare const Box: React.ForwardRefExoticComponent<BoxProps & React.RefAttributes<HTMLDivElement>>;
60
+
61
+ /**
62
+ * Stack Component
63
+ *
64
+ * A layout primitive for arranging children in a vertical or horizontal stack with consistent spacing.
65
+ * Includes convenience exports VStack and HStack for common use cases.
66
+ */
67
+
68
+ type StackDirection = "horizontal" | "vertical";
69
+ type StackGap = "none" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
70
+ type StackAlign = "start" | "center" | "end" | "stretch" | "baseline";
71
+ type StackJustify = "start" | "center" | "end" | "between" | "around" | "evenly";
72
+ interface StackProps {
73
+ /** Stack direction */
74
+ direction?: StackDirection;
75
+ /** Gap between children */
76
+ gap?: StackGap;
77
+ /** Align items on the cross axis */
78
+ align?: StackAlign;
79
+ /** Justify items on the main axis */
80
+ justify?: StackJustify;
81
+ /** Allow items to wrap */
82
+ wrap?: boolean;
83
+ /** Reverse the order of children */
84
+ reverse?: boolean;
85
+ /** Fill available space (flex: 1) */
86
+ flex?: boolean;
87
+ /** Custom class name */
88
+ className?: string;
89
+ /** Inline styles */
90
+ style?: React.CSSProperties;
91
+ /** Children elements */
92
+ children?: React.ReactNode;
93
+ /** HTML element to render as */
94
+ as?: React.ElementType;
95
+ /** Click handler */
96
+ onClick?: (e: React.MouseEvent) => void;
97
+ /** Keyboard handler */
98
+ onKeyDown?: (e: React.KeyboardEvent) => void;
99
+ /** Role for accessibility */
100
+ role?: string;
101
+ /** Tab index for focus management */
102
+ tabIndex?: number;
103
+ /** Declarative event name — emits UI:{action} via eventBus on click */
104
+ action?: string;
105
+ /** Payload to include with the action event */
106
+ actionPayload?: Record<string, unknown>;
107
+ /** When true, horizontal stacks flip to vertical below the md breakpoint (768px) */
108
+ responsive?: boolean;
109
+ }
110
+ /**
111
+ * VStack - Vertical stack shorthand
112
+ */
113
+ interface VStackProps extends Omit<StackProps, "direction"> {
114
+ }
115
+ declare const VStack: React.FC<VStackProps>;
116
+ /**
117
+ * HStack - Horizontal stack shorthand
118
+ */
119
+ interface HStackProps extends Omit<StackProps, "direction"> {
120
+ }
121
+ declare const HStack: React.FC<HStackProps>;
122
+
123
+ /**
124
+ * Typography Atom Component
125
+ *
126
+ * Text elements following the KFlow design system with theme-aware styling.
127
+ */
128
+
129
+ type TypographyVariant = "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "heading" | "subheading" | "body1" | "body2" | "body" | "caption" | "overline" | "small" | "large" | "label";
130
+ type TypographySize = "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl";
131
+ interface TypographyProps {
132
+ /** Typography variant */
133
+ variant?: TypographyVariant;
134
+ /** Heading level (1-6) - alternative to variant for headings */
135
+ level?: 1 | 2 | 3 | 4 | 5 | 6;
136
+ /** Text color */
137
+ color?: "primary" | "secondary" | "muted" | "error" | "success" | "warning" | "inherit";
138
+ /** Text alignment */
139
+ align?: "left" | "center" | "right";
140
+ /** Font weight override */
141
+ weight?: "light" | "normal" | "medium" | "semibold" | "bold";
142
+ /** Font size override */
143
+ size?: TypographySize;
144
+ /** Truncate with ellipsis (single line) */
145
+ truncate?: boolean;
146
+ /** Overflow handling mode */
147
+ overflow?: "visible" | "hidden" | "wrap" | "clamp-2" | "clamp-3";
148
+ /** Custom HTML element */
149
+ as?: keyof React.JSX.IntrinsicElements;
150
+ /** HTML id attribute */
151
+ id?: string;
152
+ /** Additional class names */
153
+ className?: string;
154
+ /** Inline style */
155
+ style?: React.CSSProperties;
156
+ /** Text content (alternative to children) */
157
+ content?: React.ReactNode;
158
+ /** Children elements */
159
+ children?: React.ReactNode;
160
+ }
161
+ declare const Typography: React.FC<TypographyProps>;
162
+
163
+ type ButtonVariant = "primary" | "secondary" | "ghost" | "danger" | "success" | "warning" | "default";
164
+ type ButtonSize = "sm" | "md" | "lg";
165
+ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
166
+ variant?: ButtonVariant;
167
+ size?: ButtonSize;
168
+ isLoading?: boolean;
169
+ /** Left icon as ReactNode, Lucide component, or string name (e.g. "plus", "trash") */
170
+ leftIcon?: React.ReactNode | LucideIcon | string;
171
+ /** Right icon as ReactNode, Lucide component, or string name */
172
+ rightIcon?: React.ReactNode | LucideIcon | string;
173
+ /** Alias for leftIcon */
174
+ icon?: React.ReactNode | LucideIcon | string;
175
+ /** Alias for rightIcon */
176
+ iconRight?: React.ReactNode | LucideIcon | string;
177
+ /** Declarative event name — emits UI:{action} via eventBus on click */
178
+ action?: string;
179
+ /** Payload to include with the action event */
180
+ actionPayload?: Record<string, unknown>;
181
+ /** Button label text (alternative to children for schema-driven rendering) */
182
+ label?: string;
183
+ }
184
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
185
+
186
+ type BadgeVariant = "default" | "primary" | "secondary" | "success" | "warning" | "danger" | "error" | "info" | "neutral";
187
+ type BadgeSize = "sm" | "md" | "lg";
188
+ interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
189
+ variant?: BadgeVariant;
190
+ size?: BadgeSize;
191
+ /** Numeric count or amount to display in badge */
192
+ amount?: number;
193
+ /** Badge label text (alternative to children for schema-driven rendering) */
194
+ label?: string;
195
+ /** Icon name (Lucide icon string) or React node */
196
+ icon?: React.ReactNode;
197
+ }
198
+ declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLSpanElement>>;
199
+
200
+ /**
201
+ * Icon Atom Component
202
+ *
203
+ * A wrapper component for Lucide icons with consistent sizing and styling.
204
+ * Uses theme-aware CSS variables for stroke width and color.
205
+ *
206
+ * Supports two APIs:
207
+ * - `icon` prop: Pass a LucideIcon component directly
208
+ * - `name` prop: Pass a string icon name (resolved from iconMap)
209
+ */
210
+
211
+ type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
212
+ type IconAnimation = 'spin' | 'pulse' | 'none';
213
+ interface IconProps {
214
+ /** Lucide icon component (preferred for type-safe usage) */
215
+ icon?: LucideIcon;
216
+ /** Icon name as string (resolved from iconMap) */
217
+ name?: string;
218
+ /** Size of the icon */
219
+ size?: IconSize;
220
+ /** Color class (Tailwind color class) or 'inherit' for theme default */
221
+ color?: string;
222
+ /** Animation type */
223
+ animation?: IconAnimation;
224
+ /** Additional CSS classes */
225
+ className?: string;
226
+ /** Icon stroke width - uses theme default if not specified */
227
+ strokeWidth?: number;
228
+ /** Inline style */
229
+ style?: React.CSSProperties;
230
+ }
231
+ declare const Icon: React.FC<IconProps>;
232
+
233
+ type CardShadow = "none" | "sm" | "md" | "lg";
234
+ interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
235
+ variant?: "default" | "bordered" | "elevated" | "interactive";
236
+ padding?: "none" | "sm" | "md" | "lg";
237
+ /** Card title - renders in header if provided */
238
+ title?: string;
239
+ /** Card subtitle - renders below title */
240
+ subtitle?: string;
241
+ /** Shadow size override */
242
+ shadow?: CardShadow;
243
+ }
244
+ declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
245
+
246
+ /**
247
+ * Divider Atom Component
248
+ *
249
+ * A divider component for separating content sections.
250
+ */
251
+
252
+ type DividerOrientation = "horizontal" | "vertical";
253
+ type DividerVariant = "solid" | "dashed" | "dotted";
254
+ interface DividerProps {
255
+ /**
256
+ * Orientation of the divider
257
+ * @default 'horizontal'
258
+ */
259
+ orientation?: DividerOrientation;
260
+ /**
261
+ * Text label to display in the divider
262
+ */
263
+ label?: string;
264
+ /**
265
+ * Line style variant
266
+ * @default 'solid'
267
+ */
268
+ variant?: DividerVariant;
269
+ /**
270
+ * Additional CSS classes
271
+ */
272
+ className?: string;
273
+ }
274
+ declare const Divider: React.FC<DividerProps>;
275
+
276
+ /**
277
+ * Center Component
278
+ *
279
+ * A layout utility that centers its children horizontally and/or vertically.
280
+ */
281
+
282
+ interface CenterProps {
283
+ /** Center inline (width fits content) vs block (full width) */
284
+ inline?: boolean;
285
+ /** Center only horizontally */
286
+ horizontal?: boolean;
287
+ /** Center only vertically */
288
+ vertical?: boolean;
289
+ /** Minimum height (useful for vertical centering) */
290
+ minHeight?: string | number;
291
+ /** Fill available height */
292
+ fullHeight?: boolean;
293
+ /** Fill available width */
294
+ fullWidth?: boolean;
295
+ /** Custom class name */
296
+ className?: string;
297
+ /** Inline styles */
298
+ style?: React.CSSProperties;
299
+ /** Children elements */
300
+ children: React.ReactNode;
301
+ /** HTML element to render as */
302
+ as?: React.ElementType;
303
+ }
304
+ /**
305
+ * Center - Centers content horizontally and/or vertically
306
+ */
307
+ declare const Center: React.FC<CenterProps>;
308
+
309
+ /**
310
+ * Spacer Component
311
+ *
312
+ * A flexible spacer that expands to fill available space in a flex container.
313
+ * Useful for pushing elements apart or creating consistent spacing.
314
+ */
315
+
316
+ type SpacerSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'auto';
317
+ interface SpacerProps {
318
+ /** Fixed size (auto = flex grow) */
319
+ size?: SpacerSize;
320
+ /** Orientation (for fixed sizes) */
321
+ axis?: 'horizontal' | 'vertical';
322
+ /** Custom class name */
323
+ className?: string;
324
+ }
325
+ /**
326
+ * Spacer - Flexible spacing element for flex layouts
327
+ *
328
+ * Usage:
329
+ * - size="auto" (default): Expands to fill available space (flex: 1)
330
+ * - size="md": Fixed size spacing
331
+ */
332
+ declare const Spacer: React.FC<SpacerProps>;
333
+
334
+ type ContentSectionBackground = "default" | "alt" | "dark" | "gradient";
335
+ type ContentSectionPadding = "sm" | "md" | "lg";
336
+ interface ContentSectionProps {
337
+ /** Section content */
338
+ children: React.ReactNode;
339
+ /** Background style */
340
+ background?: ContentSectionBackground;
341
+ /** Vertical padding size */
342
+ padding?: ContentSectionPadding;
343
+ /** HTML id for anchor linking */
344
+ id?: string;
345
+ /** Additional class names */
346
+ className?: string;
347
+ }
348
+ declare const ContentSection: React.ForwardRefExoticComponent<ContentSectionProps & React.RefAttributes<HTMLDivElement>>;
349
+
350
+ /**
351
+ * HeroSection Molecule Component
352
+ *
353
+ * A full-width hero section for landing pages and marketing content.
354
+ * Composes atoms: Box, VStack, HStack, Badge, Typography, Button.
355
+ * Optionally includes an InstallBox molecule for CLI commands.
356
+ */
357
+
358
+ interface HeroSectionProps {
359
+ tag?: string;
360
+ tagVariant?: 'primary' | 'secondary' | 'accent';
361
+ title: string;
362
+ titleAccent?: string;
363
+ subtitle: string;
364
+ primaryAction?: {
365
+ label: string;
366
+ href: string;
367
+ };
368
+ secondaryAction?: {
369
+ label: string;
370
+ href: string;
371
+ };
372
+ installCommand?: string;
373
+ image?: {
374
+ src: string;
375
+ alt: string;
376
+ };
377
+ imagePosition?: 'below' | 'right' | 'background';
378
+ background?: 'dark' | 'gradient' | 'subtle';
379
+ align?: 'center' | 'left';
380
+ /** Background element (SVG animation, etc.) rendered behind hero content */
381
+ backgroundElement?: React.ReactNode;
382
+ children?: React.ReactNode;
383
+ className?: string;
384
+ }
385
+ declare const HeroSection: React.FC<HeroSectionProps>;
386
+
387
+ /**
388
+ * CTABanner Molecule Component
389
+ *
390
+ * A call-to-action banner with title, subtitle, and action buttons.
391
+ * Uses the site's theme naturally - no forced color inversions.
392
+ */
393
+
394
+ type CTABannerBackground = 'default' | 'alt' | 'dark' | 'gradient' | 'primary';
395
+ interface CTABannerProps {
396
+ /** Banner headline */
397
+ title: string;
398
+ /** Supporting text below the title */
399
+ subtitle?: string;
400
+ /** Primary action button config */
401
+ primaryAction?: {
402
+ label: string;
403
+ href: string;
404
+ };
405
+ /** Secondary action button config */
406
+ secondaryAction?: {
407
+ label: string;
408
+ href: string;
409
+ };
410
+ /** Background style */
411
+ background?: CTABannerBackground;
412
+ /** Content alignment */
413
+ align?: 'center' | 'left';
414
+ /** Additional class names */
415
+ className?: string;
416
+ }
417
+ declare const CTABanner: React.FC<CTABannerProps>;
418
+
419
+ /**
420
+ * FeatureCard Molecule Component
421
+ *
422
+ * A card highlighting a feature with icon, title, description, and optional link.
423
+ * Composes Card, VStack, Icon, Typography, and Button atoms.
424
+ */
425
+
426
+ interface FeatureCardProps {
427
+ /** Icon name (Lucide string) or ReactNode */
428
+ icon?: string | React.ReactNode;
429
+ /** Feature title */
430
+ title: string;
431
+ /** Feature description */
432
+ description: string;
433
+ /** Optional link URL */
434
+ href?: string;
435
+ /** Label for the link button */
436
+ linkLabel?: string;
437
+ /** Card visual variant */
438
+ variant?: 'default' | 'bordered' | 'elevated' | 'interactive';
439
+ /** Card size affecting icon and spacing */
440
+ size?: 'sm' | 'md' | 'lg';
441
+ /** Additional class names */
442
+ className?: string;
443
+ }
444
+ declare const FeatureCard: React.FC<FeatureCardProps>;
445
+
446
+ /**
447
+ * FeatureGrid Molecule Component
448
+ *
449
+ * A responsive grid layout for displaying multiple FeatureCards.
450
+ * Composes SimpleGrid and FeatureCard molecules.
451
+ */
452
+
453
+ interface FeatureGridProps {
454
+ /** Array of feature card configurations */
455
+ items: FeatureCardProps[];
456
+ /** Number of grid columns */
457
+ columns?: 2 | 3 | 4 | 6;
458
+ /** Gap between grid items */
459
+ gap?: 'sm' | 'md' | 'lg';
460
+ /** Additional class names */
461
+ className?: string;
462
+ }
463
+ declare const FeatureGrid: React.FC<FeatureGridProps>;
464
+
465
+ /**
466
+ * PricingCard Molecule Component
467
+ *
468
+ * A pricing tier card showing plan name, price, features, and CTA button.
469
+ * Composes atoms: Card, VStack, HStack, Badge, Typography, Icon, Divider, Spacer, Button.
470
+ */
471
+
472
+ interface PricingCardProps {
473
+ name: string;
474
+ price: string;
475
+ description?: string;
476
+ features: string[];
477
+ action: {
478
+ label: string;
479
+ href: string;
480
+ };
481
+ highlighted?: boolean;
482
+ badge?: string;
483
+ className?: string;
484
+ }
485
+ declare const PricingCard: React.FC<PricingCardProps>;
486
+
487
+ /**
488
+ * PricingGrid Molecule Component
489
+ *
490
+ * A responsive grid of PricingCard molecules.
491
+ * Composes: SimpleGrid + PricingCard.
492
+ */
493
+
494
+ interface PricingGridProps {
495
+ plans: PricingCardProps[];
496
+ className?: string;
497
+ }
498
+ declare const PricingGrid: React.FC<PricingGridProps>;
499
+
500
+ /**
501
+ * SplitSection Molecule Component
502
+ *
503
+ * A two-column content section with text on one side and an image (or custom content) on the other.
504
+ * Composes Box, HStack, VStack, Typography, and Icon atoms.
505
+ */
506
+
507
+ interface SplitSectionProps {
508
+ title: string;
509
+ description: string | React.ReactNode;
510
+ bullets?: string[];
511
+ image?: {
512
+ src: string;
513
+ alt: string;
514
+ };
515
+ imagePosition?: 'left' | 'right';
516
+ background?: 'default' | 'alt';
517
+ children?: React.ReactNode;
518
+ className?: string;
519
+ }
520
+ declare const SplitSection: React.FC<SplitSectionProps>;
521
+
522
+ /**
523
+ * InstallBox Molecule Component
524
+ *
525
+ * A copyable command display box for install/CLI commands.
526
+ * Shows a monospace command with a copy-to-clipboard button.
527
+ */
528
+
529
+ interface InstallBoxProps {
530
+ /** The command to display and copy */
531
+ command: string;
532
+ /** Optional label above the command */
533
+ label?: string;
534
+ /** Additional class names */
535
+ className?: string;
536
+ }
537
+ declare const InstallBox: React.FC<InstallBoxProps>;
538
+
539
+ /**
540
+ * StepFlow Molecule Component
541
+ *
542
+ * A step-by-step progress indicator supporting horizontal and vertical orientations.
543
+ * Composes Center, Typography, Icon, HStack, VStack, Box, and Divider atoms.
544
+ */
545
+
546
+ interface StepItemProps {
547
+ number?: number;
548
+ title: string;
549
+ description: string;
550
+ icon?: string;
551
+ }
552
+ interface StepFlowProps {
553
+ steps: StepItemProps[];
554
+ orientation?: 'horizontal' | 'vertical';
555
+ showConnectors?: boolean;
556
+ className?: string;
557
+ }
558
+ declare const StepFlow: React.FC<StepFlowProps>;
559
+
560
+ /**
561
+ * StatsGrid Molecule Component
562
+ *
563
+ * A responsive grid of stat items showing value + label pairs.
564
+ * Composes: SimpleGrid + VStack + Typography.
565
+ * Uses StatDisplay internally when available for consistent styling.
566
+ */
567
+
568
+ interface StatsGridProps {
569
+ stats: {
570
+ value: string;
571
+ label: string;
572
+ }[];
573
+ columns?: 2 | 3 | 4 | 6;
574
+ className?: string;
575
+ }
576
+ declare const StatsGrid: React.FC<StatsGridProps>;
577
+
578
+ /**
579
+ * TagCloud Molecule Component
580
+ *
581
+ * A collection of tags displayed as badges in a wrapping layout.
582
+ * Composes HStack and Badge atoms.
583
+ */
584
+
585
+ interface TagCloudItem {
586
+ label: string;
587
+ href?: string;
588
+ variant?: string;
589
+ }
590
+ interface TagCloudProps {
591
+ tags: string[] | TagCloudItem[];
592
+ variant?: 'default' | 'primary' | 'accent';
593
+ className?: string;
594
+ }
595
+ declare const TagCloud: React.FC<TagCloudProps>;
596
+
597
+ /**
598
+ * CommunityLinks Molecule Component
599
+ *
600
+ * Displays community platform links (GitHub, Discord, Twitter) as styled buttons.
601
+ * Composes VStack, HStack, Typography, Button, and Icon atoms.
602
+ */
603
+
604
+ interface CommunityLinksProps {
605
+ github?: {
606
+ url: string;
607
+ stars?: number;
608
+ };
609
+ discord?: {
610
+ url: string;
611
+ members?: number;
612
+ };
613
+ twitter?: {
614
+ url: string;
615
+ followers?: number;
616
+ };
617
+ heading?: string;
618
+ subtitle?: string;
619
+ className?: string;
620
+ }
621
+ declare const CommunityLinks: React.FC<CommunityLinksProps>;
622
+
623
+ /**
624
+ * ServiceCatalog Molecule Component
625
+ *
626
+ * Displays a grid of services organized by layer, each shown as a card
627
+ * with a layer badge and service name.
628
+ */
629
+
630
+ interface ServiceCatalogItem {
631
+ name: string;
632
+ layer: string;
633
+ layerColor?: string;
634
+ }
635
+ interface ServiceCatalogProps {
636
+ /** List of services to display */
637
+ services: ServiceCatalogItem[];
638
+ /** Additional class names */
639
+ className?: string;
640
+ }
641
+ declare const ServiceCatalog: React.FC<ServiceCatalogProps>;
642
+
643
+ /**
644
+ * ShowcaseCard Molecule Component
645
+ *
646
+ * A card for showcasing projects, demos, or portfolio items with an image, badge, and description.
647
+ * Composes Card, Box, VStack, Badge, and Typography atoms.
648
+ */
649
+
650
+ interface ShowcaseCardProps {
651
+ title: string;
652
+ description?: string;
653
+ image: {
654
+ src: string;
655
+ alt: string;
656
+ };
657
+ href?: string;
658
+ badge?: string;
659
+ accentColor?: string;
660
+ className?: string;
661
+ }
662
+ declare const ShowcaseCard: React.FC<ShowcaseCardProps>;
663
+
664
+ /**
665
+ * TeamCard Molecule Component
666
+ *
667
+ * A card displaying a team member with avatar, name, role, and bio.
668
+ * Composes Card, VStack, Avatar, and Typography atoms.
669
+ */
670
+
671
+ interface TeamCardProps {
672
+ name: string;
673
+ nameAr?: string;
674
+ role: string;
675
+ bio: string;
676
+ avatar?: string | {
677
+ initials: string;
678
+ };
679
+ className?: string;
680
+ }
681
+ declare const TeamCard: React.FC<TeamCardProps>;
682
+
683
+ /**
684
+ * CaseStudyCard Molecule Component
685
+ *
686
+ * A card for displaying case studies with category badge, title,
687
+ * description, and a call-to-action link button.
688
+ */
689
+
690
+ interface CaseStudyCardProps {
691
+ /** Case study title */
692
+ title: string;
693
+ /** Short description of the case study */
694
+ description: string;
695
+ /** Category label shown as a badge */
696
+ category: string;
697
+ /** Custom background color for the category badge (CSS value) */
698
+ categoryColor?: string;
699
+ /** URL the card links to */
700
+ href: string;
701
+ /** Label for the link button */
702
+ linkLabel?: string;
703
+ /** Additional class names */
704
+ className?: string;
705
+ }
706
+ declare const CaseStudyCard: React.FC<CaseStudyCardProps>;
707
+
708
+ /**
709
+ * ArticleSection Molecule Component
710
+ *
711
+ * A centered content section with a title and constrained max-width,
712
+ * suitable for article or documentation layouts.
713
+ */
714
+
715
+ interface ArticleSectionProps {
716
+ /** Section title */
717
+ title: string;
718
+ /** Section content */
719
+ children: React.ReactNode;
720
+ /** Maximum width constraint */
721
+ maxWidth?: 'sm' | 'md' | 'lg';
722
+ /** Additional class names */
723
+ className?: string;
724
+ }
725
+ declare const ArticleSection: React.FC<ArticleSectionProps>;
726
+
727
+ /**
728
+ * SimpleGrid Component
729
+ *
730
+ * A simplified grid that automatically adjusts columns based on available space.
731
+ * Perfect for card layouts and item collections.
732
+ */
733
+
734
+ type SimpleGridGap = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
735
+ interface SimpleGridProps {
736
+ /** Minimum width of each child (e.g., 200, "200px", "15rem") */
737
+ minChildWidth?: number | string;
738
+ /** Maximum number of columns */
739
+ maxCols?: 1 | 2 | 3 | 4 | 5 | 6;
740
+ /** Exact number of columns (disables auto-fit) */
741
+ cols?: 1 | 2 | 3 | 4 | 5 | 6;
742
+ /** Gap between items */
743
+ gap?: SimpleGridGap;
744
+ /** Custom class name */
745
+ className?: string;
746
+ /** Children elements */
747
+ children: React.ReactNode;
748
+ }
749
+ /**
750
+ * SimpleGrid - Auto-responsive grid layout
751
+ */
752
+ declare const SimpleGrid: React.FC<SimpleGridProps>;
753
+
754
+ /**
755
+ * MarketingFooter Molecule Component
756
+ *
757
+ * A themed footer for marketing/documentation sites.
758
+ * Displays link columns, optional logo, and copyright text.
759
+ * Uses @almadar/ui theme CSS variables for consistent branding.
760
+ */
761
+
762
+ interface FooterLinkItem {
763
+ label: string;
764
+ href: string;
765
+ }
766
+ interface FooterLinkColumn {
767
+ title: string;
768
+ items: FooterLinkItem[];
769
+ }
770
+ interface MarketingFooterProps {
771
+ columns: FooterLinkColumn[];
772
+ copyright?: string;
773
+ logo?: {
774
+ src: string;
775
+ alt: string;
776
+ href?: string;
777
+ };
778
+ className?: string;
779
+ }
780
+ declare const MarketingFooter: React.FC<MarketingFooterProps>;
781
+
782
+ /**
783
+ * GradientDivider Molecule Component
784
+ *
785
+ * A horizontal line that fades from transparent at edges to primary color at center.
786
+ * Used between major sections for visual separation without hard background-color breaks.
787
+ */
788
+
789
+ interface GradientDividerProps {
790
+ /** Override the center color (CSS value). Defaults to var(--color-primary). */
791
+ color?: string;
792
+ /** Additional class names */
793
+ className?: string;
794
+ }
795
+ declare const GradientDivider: React.FC<GradientDividerProps>;
796
+
797
+ /**
798
+ * PullQuote Molecule Component
799
+ *
800
+ * Large italic text with a thick left border in primary color.
801
+ * Breaks up prose walls on long-form pages like Vision and case studies.
802
+ */
803
+
804
+ interface PullQuoteProps {
805
+ /** The quote text */
806
+ children: string;
807
+ /** Additional class names */
808
+ className?: string;
809
+ }
810
+ declare const PullQuote: React.FC<PullQuoteProps>;
811
+
812
+ /**
813
+ * AnimatedCounter Molecule Component
814
+ *
815
+ * Counts from 0 to a target value on scroll-into-view using IntersectionObserver.
816
+ * Replaces static stat numbers with animated versions for visual impact.
817
+ */
818
+
819
+ interface AnimatedCounterProps {
820
+ /** Target value to count to (e.g. "500+", "99.9%", "3x") */
821
+ value: string;
822
+ /** Label displayed below the number */
823
+ label: string;
824
+ /** Animation duration in ms */
825
+ duration?: number;
826
+ /** Additional class names */
827
+ className?: string;
828
+ }
829
+ declare const AnimatedCounter: React.FC<AnimatedCounterProps>;
830
+
831
+ export { AnimatedCounter, type AnimatedCounterProps, ArticleSection, type ArticleSectionProps, Badge, Box, Button, CTABanner, type CTABannerProps, Card, CaseStudyCard, type CaseStudyCardProps, Center, CommunityLinks, type CommunityLinksProps, ContentSection, type ContentSectionProps, Divider, FeatureCard, type FeatureCardProps, FeatureGrid, type FeatureGridProps, type FooterLinkColumn, type FooterLinkItem, GradientDivider, type GradientDividerProps, HStack, HeroSection, type HeroSectionProps, Icon, InstallBox, type InstallBoxProps, MarketingFooter, type MarketingFooterProps, PricingCard, type PricingCardProps, PricingGrid, type PricingGridProps, PullQuote, type PullQuoteProps, ServiceCatalog, type ServiceCatalogProps, ShowcaseCard, type ShowcaseCardProps, SimpleGrid, Spacer, SplitSection, type SplitSectionProps, StatsGrid, type StatsGridProps, StepFlow, type StepFlowProps, type StepItemProps, TagCloud, type TagCloudProps, TeamCard, type TeamCardProps, Typography, VStack };