@almadar/ui 5.16.2 → 5.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/avl/index.cjs +10 -0
  2. package/dist/avl/index.js +10 -0
  3. package/dist/components/atoms/game/MiniMap.d.ts +15 -17
  4. package/dist/components/atoms/index.d.ts +1 -0
  5. package/dist/components/atoms/types.d.ts +40 -0
  6. package/dist/components/index.cjs +10 -0
  7. package/dist/components/index.js +10 -0
  8. package/dist/components/molecules/CTABanner.d.ts +3 -8
  9. package/dist/components/molecules/CalendarGrid.d.ts +2 -2
  10. package/dist/components/molecules/CommunityLinks.d.ts +15 -12
  11. package/dist/components/molecules/DataGrid.d.ts +2 -1
  12. package/dist/components/molecules/DataList.d.ts +12 -11
  13. package/dist/components/molecules/GraphView.d.ts +2 -2
  14. package/dist/components/molecules/HeroSection.d.ts +4 -12
  15. package/dist/components/molecules/MapView.d.ts +2 -2
  16. package/dist/components/molecules/MarketingFooter.d.ts +6 -5
  17. package/dist/components/molecules/Meter.d.ts +2 -1
  18. package/dist/components/molecules/PricingCard.d.ts +2 -4
  19. package/dist/components/molecules/QrScanner.d.ts +2 -2
  20. package/dist/components/molecules/RepeatableFormSection.d.ts +2 -2
  21. package/dist/components/molecules/ShowcaseCard.d.ts +2 -4
  22. package/dist/components/molecules/SplitSection.d.ts +2 -4
  23. package/dist/components/molecules/StatDisplay.d.ts +2 -1
  24. package/dist/components/molecules/StatsGrid.d.ts +5 -4
  25. package/dist/components/molecules/TableView.d.ts +2 -1
  26. package/dist/components/molecules/game/CraftingRecipe.d.ts +9 -5
  27. package/dist/components/molecules/game/HealthPanel.d.ts +6 -5
  28. package/dist/components/molecules/game/IsometricCanvas.d.ts +9 -13
  29. package/dist/components/organisms/Chart.d.ts +12 -3
  30. package/dist/components/organisms/CodeViewer.d.ts +8 -6
  31. package/dist/components/organisms/ConfirmDialog.d.ts +2 -1
  32. package/dist/components/organisms/DataTable.d.ts +5 -4
  33. package/dist/components/organisms/DetailPanel.d.ts +5 -4
  34. package/dist/components/organisms/DocumentViewer.d.ts +9 -7
  35. package/dist/components/organisms/DrawerSlot.d.ts +2 -1
  36. package/dist/components/organisms/Form.d.ts +2 -1
  37. package/dist/components/organisms/GraphCanvas.d.ts +2 -1
  38. package/dist/components/organisms/Header.d.ts +17 -14
  39. package/dist/components/organisms/JazariStateMachine.d.ts +2 -1
  40. package/dist/components/organisms/List.d.ts +2 -2
  41. package/dist/components/organisms/Meter.d.ts +2 -1
  42. package/dist/components/organisms/ModalSlot.d.ts +2 -1
  43. package/dist/components/organisms/Navigation.d.ts +2 -1
  44. package/dist/components/organisms/OrbitalVisualization.d.ts +2 -1
  45. package/dist/components/organisms/PageHeader.d.ts +7 -5
  46. package/dist/components/organisms/Section.d.ts +2 -1
  47. package/dist/components/organisms/Sidebar.d.ts +2 -1
  48. package/dist/components/organisms/SignaturePad.d.ts +2 -1
  49. package/dist/components/organisms/Split.d.ts +2 -1
  50. package/dist/components/organisms/StateMachineView.d.ts +2 -1
  51. package/dist/components/organisms/Timeline.d.ts +2 -1
  52. package/dist/components/organisms/ToastSlot.d.ts +2 -1
  53. package/dist/components/organisms/UISlotRenderer.d.ts +4 -3
  54. package/dist/components/organisms/WizardContainer.d.ts +2 -1
  55. package/dist/components/organisms/game/BattleBoard.d.ts +4 -4
  56. package/dist/components/organisms/game/CanvasEffect.d.ts +2 -1
  57. package/dist/components/organisms/game/CastleBoard.d.ts +2 -2
  58. package/dist/components/organisms/game/GameAudioProvider.d.ts +2 -1
  59. package/dist/components/organisms/game/GameAudioToggle.d.ts +2 -1
  60. package/dist/components/organisms/game/TraitSlot.d.ts +4 -3
  61. package/dist/components/organisms/game/TraitStateViewer.d.ts +2 -1
  62. package/dist/components/organisms/game/WorldMapBoard.d.ts +6 -5
  63. package/dist/components/organisms/game/physics-sim/SimulationControls.d.ts +8 -7
  64. package/dist/components/organisms/game/puzzles/event-handler/RuleEditor.d.ts +7 -9
  65. package/dist/components/organisms/game/puzzles/state-architect/StateNode.d.ts +2 -4
  66. package/dist/components/organisms/game/puzzles/state-architect/TransitionArrow.d.ts +3 -8
  67. package/dist/components/organisms/game/types/isometric.d.ts +4 -4
  68. package/dist/components/organisms/index.d.ts +1 -1
  69. package/dist/components/organisms/types.d.ts +3 -1
  70. package/dist/components/templates/DashboardLayout.d.ts +6 -5
  71. package/dist/components/templates/GameTemplate.d.ts +7 -6
  72. package/dist/marketing/index.d.cts +48 -53
  73. package/dist/providers/index.cjs +10 -0
  74. package/dist/providers/index.js +10 -0
  75. package/dist/runtime/index.cjs +10 -0
  76. package/dist/runtime/index.js +10 -0
  77. package/package.json +1 -1
@@ -30,7 +30,7 @@ export interface CastleEntity {
30
30
  backgroundImage?: string;
31
31
  }
32
32
  /** Context exposed to render-prop slots */
33
- export interface CastleSlotContext {
33
+ export type CastleSlotContext = {
34
34
  /** Currently hovered tile coordinates (null when not hovering) */
35
35
  hoveredTile: {
36
36
  x: number;
@@ -51,7 +51,7 @@ export interface CastleSlotContext {
51
51
  };
52
52
  /** Canvas scale */
53
53
  scale: number;
54
- }
54
+ };
55
55
  export interface CastleBoardProps {
56
56
  /** Castle entity data */
57
57
  entity: CastleEntity;
@@ -18,6 +18,7 @@
18
18
  */
19
19
  import React from 'react';
20
20
  import { type AudioManifest, type GameAudioControls } from './hooks/useGameAudio';
21
+ import type { UiError } from '../../atoms/types';
21
22
  export type GameAudioContextValue = Pick<GameAudioControls, 'muted' | 'setMuted' | 'masterVolume' | 'setMasterVolume' | 'play' | 'playMusic' | 'stopMusic'>;
22
23
  export declare const GameAudioContext: React.Context<GameAudioContextValue | null>;
23
24
  /**
@@ -37,7 +38,7 @@ export interface GameAudioProviderProps {
37
38
  /** Closed-circuit props (unused, accepted for runtime compatibility) */
38
39
  className?: string;
39
40
  isLoading?: boolean;
40
- error?: Error | null;
41
+ error?: UiError | null;
41
42
  entity?: string;
42
43
  }
43
44
  export declare function GameAudioProvider({ manifest, baseUrl, children, initialMuted, }: GameAudioProviderProps): React.JSX.Element;
@@ -9,6 +9,7 @@
9
9
  * @packageDocumentation
10
10
  */
11
11
  import React from 'react';
12
+ import type { UiError } from '../../atoms/types';
12
13
  export interface GameAudioToggleProps {
13
14
  /** Button size */
14
15
  size?: 'sm' | 'md' | 'lg';
@@ -17,7 +18,7 @@ export interface GameAudioToggleProps {
17
18
  /** Loading state (passed through) */
18
19
  isLoading?: boolean;
19
20
  /** Error state (passed through) */
20
- error?: Error | null;
21
+ error?: UiError | null;
21
22
  /** Entity name for schema-driven auto-fetch */
22
23
  entity?: string;
23
24
  }
@@ -20,8 +20,9 @@
20
20
  import React from 'react';
21
21
  import type { EventEmit } from '@almadar/core';
22
22
  import { type TraitStateMachineDefinition } from './TraitStateViewer';
23
+ import type { UiError } from '../../atoms/types';
23
24
  /** Data shape for a slot's equipped item */
24
- export interface SlotItemData {
25
+ export type SlotItemData = {
25
26
  id: string;
26
27
  name: string;
27
28
  category: string;
@@ -32,7 +33,7 @@ export interface SlotItemData {
32
33
  iconUrl?: string;
33
34
  /** Optional state machine for tooltip display */
34
35
  stateMachine?: TraitStateMachineDefinition;
35
- }
36
+ };
36
37
  /** Event Contract:
37
38
  * Emits: UI:CLICK
38
39
  * Emits: UI:REMOVE
@@ -64,7 +65,7 @@ export interface TraitSlotProps {
64
65
  /** Loading state */
65
66
  isLoading?: boolean;
66
67
  /** Error state */
67
- error?: Error | null;
68
+ error?: UiError | null;
68
69
  /** Entity name for schema-driven auto-fetch */
69
70
  entity?: string;
70
71
  /** Called when an item is dropped on this slot */
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import React from 'react';
13
13
  import { type StateStyle } from '../../atoms/game/StateIndicator';
14
+ import type { UiError } from '../../atoms/types';
14
15
  export interface TraitTransition {
15
16
  from: string;
16
17
  to: string;
@@ -42,7 +43,7 @@ export interface TraitStateViewerProps {
42
43
  /** Loading state */
43
44
  isLoading?: boolean;
44
45
  /** Error state */
45
- error?: Error | null;
46
+ error?: UiError | null;
46
47
  /** Entity name for schema-driven auto-fetch */
47
48
  entity?: string;
48
49
  }
@@ -22,6 +22,7 @@ import React from 'react';
22
22
  import type { EventEmit } from '@almadar/core';
23
23
  import type { IsometricFeature } from './types/isometric';
24
24
  import type { ResolvedFrame } from './types/spriteAnimation';
25
+ import type { UiError } from '../../atoms/types';
25
26
  /** A hero on the world map */
26
27
  export interface MapHero {
27
28
  id: string;
@@ -43,7 +44,7 @@ export interface MapHero {
43
44
  level?: number;
44
45
  }
45
46
  /** A hex on the map */
46
- export interface MapHex {
47
+ export type MapHex = {
47
48
  x: number;
48
49
  y: number;
49
50
  terrain: string;
@@ -51,9 +52,9 @@ export interface MapHex {
51
52
  feature?: string;
52
53
  featureData?: Record<string, unknown>;
53
54
  passable?: boolean;
54
- }
55
+ };
55
56
  /** Context exposed to render-prop slots */
56
- export interface WorldMapSlotContext {
57
+ export type WorldMapSlotContext = {
57
58
  /** Currently hovered tile */
58
59
  hoveredTile: {
59
60
  x: number;
@@ -79,7 +80,7 @@ export interface WorldMapSlotContext {
79
80
  };
80
81
  /** Canvas scale */
81
82
  scale: number;
82
- }
83
+ };
83
84
  /** Entity shape for the WorldMapBoard */
84
85
  export interface WorldMapEntity {
85
86
  id: string;
@@ -108,7 +109,7 @@ export interface WorldMapBoardProps {
108
109
  /** Loading state indicator */
109
110
  isLoading?: boolean;
110
111
  /** Error state */
111
- error?: Error | null;
112
+ error?: UiError | null;
112
113
  /** World map entity data */
113
114
  entity?: WorldMapEntity | readonly WorldMapEntity[];
114
115
  /** Canvas render scale */
@@ -4,16 +4,17 @@
4
4
  * Play/pause/step/reset controls with speed and parameter sliders.
5
5
  */
6
6
  import React from 'react';
7
+ export interface SimulationParameter {
8
+ value: number;
9
+ min: number;
10
+ max: number;
11
+ step: number;
12
+ label: string;
13
+ }
7
14
  export interface SimulationControlsProps {
8
15
  running: boolean;
9
16
  speed: number;
10
- parameters: Record<string, {
11
- value: number;
12
- min: number;
13
- max: number;
14
- step: number;
15
- label: string;
16
- }>;
17
+ parameters: Record<string, SimulationParameter>;
17
18
  onPlay: () => void;
18
19
  onPause: () => void;
19
20
  onStep: () => void;
@@ -7,24 +7,22 @@
7
7
  * @packageDocumentation
8
8
  */
9
9
  import React from 'react';
10
- export interface RuleDefinition {
10
+ export type RuleDefinition = {
11
11
  id: string;
12
12
  whenEvent: string;
13
13
  thenAction: string;
14
+ };
15
+ export interface RuleOption {
16
+ value: string;
17
+ label: string;
14
18
  }
15
19
  export interface RuleEditorProps {
16
20
  /** The current rule */
17
21
  rule: RuleDefinition;
18
22
  /** Available event triggers to listen for */
19
- availableEvents: Array<{
20
- value: string;
21
- label: string;
22
- }>;
23
+ availableEvents: RuleOption[];
23
24
  /** Available actions to perform */
24
- availableActions: Array<{
25
- value: string;
26
- label: string;
27
- }>;
25
+ availableActions: RuleOption[];
28
26
  /** Called when rule changes */
29
27
  onChange: (rule: RuleDefinition) => void;
30
28
  /** Called when rule is removed */
@@ -7,6 +7,7 @@
7
7
  * @packageDocumentation
8
8
  */
9
9
  import React from 'react';
10
+ import { type Point } from '../../../../atoms';
10
11
  export interface StateNodeProps {
11
12
  /** State name */
12
13
  name: string;
@@ -17,10 +18,7 @@ export interface StateNodeProps {
17
18
  /** Whether this is the initial state */
18
19
  isInitial?: boolean;
19
20
  /** Position on the graph canvas */
20
- position: {
21
- x: number;
22
- y: number;
23
- };
21
+ position: Point;
24
22
  /** Click handler */
25
23
  onClick?: () => void;
26
24
  /** Additional CSS classes */
@@ -7,17 +7,12 @@
7
7
  * @packageDocumentation
8
8
  */
9
9
  import React from 'react';
10
+ import type { Point } from '../../../../atoms/types';
10
11
  export interface TransitionArrowProps {
11
12
  /** Start position (center of from-node) */
12
- from: {
13
- x: number;
14
- y: number;
15
- };
13
+ from: Point;
16
14
  /** End position (center of to-node) */
17
- to: {
18
- x: number;
19
- y: number;
20
- };
15
+ to: Point;
21
16
  /** Event label shown on the arrow */
22
17
  eventLabel: string;
23
18
  /** Guard hint shown below event */
@@ -32,7 +32,7 @@ export interface IsometricTile {
32
32
  elevation?: number;
33
33
  }
34
34
  /** A unit positioned on the isometric grid */
35
- export interface IsometricUnit {
35
+ export type IsometricUnit = {
36
36
  /** Unique unit identifier */
37
37
  id: string;
38
38
  /** Current grid position (2D format) */
@@ -76,9 +76,9 @@ export interface IsometricUnit {
76
76
  };
77
77
  /** Elevation offset for 3D rendering */
78
78
  elevation?: number;
79
- }
79
+ };
80
80
  /** A map feature (resource, building, portal, etc.) */
81
- export interface IsometricFeature {
81
+ export type IsometricFeature = {
82
82
  /** Optional unique identifier (required for 3D rendering) */
83
83
  id?: string;
84
84
  /** Grid x coordinate */
@@ -97,7 +97,7 @@ export interface IsometricFeature {
97
97
  color?: string;
98
98
  /** Elevation offset for 3D rendering */
99
99
  elevation?: number;
100
- }
100
+ };
101
101
  /** Camera state for pan/zoom */
102
102
  export interface CameraState {
103
103
  /** Camera X offset in pixels */
@@ -1,4 +1,4 @@
1
- export { type EntityDisplayProps, EntityDisplayEvents, type SortPayload, type PaginatePayload, type SearchPayload, type FilterPayload, type SelectPayload, } from "./types";
1
+ export { type EntityDisplayProps, type UiError, EntityDisplayEvents, type SortPayload, type PaginatePayload, type SearchPayload, type FilterPayload, type SelectPayload, } from "./types";
2
2
  export { DataTable, type DataTableProps, type Column, type RowAction, } from "./DataTable";
3
3
  export { StatCard, type StatCardProps } from "./StatCard";
4
4
  export { PageHeader, type PageHeaderProps, type PageBreadcrumb, } from "./PageHeader";
@@ -8,6 +8,8 @@
8
8
  * This is the ONE allowed exception — documented here.
9
9
  */
10
10
  import type { EntityRow, EntityInlet } from '@almadar/core';
11
+ import type { UiError } from '../atoms/types';
12
+ export type { UiError };
11
13
  export declare const EntityDisplayEvents: {
12
14
  readonly SORT: "SORT";
13
15
  readonly PAGINATE: "PAGINATE";
@@ -67,7 +69,7 @@ export interface EntityDisplayProps<T extends EntityRow = EntityRow> {
67
69
  /** Loading state indicator */
68
70
  isLoading?: boolean;
69
71
  /** Error state */
70
- error?: Error | null;
72
+ error?: UiError | null;
71
73
  /** Current sort field */
72
74
  sortBy?: string;
73
75
  /** Current sort direction */
@@ -39,6 +39,11 @@ export interface TopBarAction {
39
39
  /** Visual variant. Default `"default"`. */
40
40
  variant?: "default" | "primary" | "danger";
41
41
  }
42
+ export interface DashboardUser {
43
+ name: string;
44
+ email: string;
45
+ avatar?: string;
46
+ }
42
47
  export interface DashboardLayoutProps {
43
48
  /** App name shown in sidebar */
44
49
  appName?: string;
@@ -48,11 +53,7 @@ export interface DashboardLayoutProps {
48
53
  * as a navItems entry, not depend on baked-in chrome. */
49
54
  navItems?: NavItem[];
50
55
  /** Current user info (optional - auto-populated from auth context if not provided) */
51
- user?: {
52
- name: string;
53
- email: string;
54
- avatar?: string;
55
- };
56
+ user?: DashboardUser;
56
57
  /** Header actions (extra slots beyond bell/search/theme). */
57
58
  headerActions?: React.ReactNode;
58
59
  /** Show the top-bar search box. Default `false` — opt in by setting
@@ -11,6 +11,12 @@ interface GameEntity {
11
11
  id: string;
12
12
  title?: string;
13
13
  }
14
+ export interface GameControls {
15
+ onPlay?: () => void;
16
+ onPause?: () => void;
17
+ onReset?: () => void;
18
+ isPlaying?: boolean;
19
+ }
14
20
  export interface GameTemplateProps extends TemplateProps<GameEntity> {
15
21
  /** Title of the game */
16
22
  title?: string;
@@ -23,12 +29,7 @@ export interface GameTemplateProps extends TemplateProps<GameEntity> {
23
29
  /** Whether the debug panel is visible */
24
30
  showDebugPanel?: boolean;
25
31
  /** Game controls */
26
- controls?: {
27
- onPlay?: () => void;
28
- onPause?: () => void;
29
- onReset?: () => void;
30
- isPlaying?: boolean;
31
- };
32
+ controls?: GameControls;
32
33
  /** Additional class name */
33
34
  className?: string;
34
35
  }
@@ -383,6 +383,20 @@ interface ContentSectionProps {
383
383
  }
384
384
  declare const ContentSection: React.ForwardRefExoticComponent<ContentSectionProps & React.RefAttributes<HTMLDivElement>>;
385
385
 
386
+ /**
387
+ * A labelled link/CTA used by marketing molecules (HeroSection, CTABanner,
388
+ * PricingCard) for their primary/secondary call-to-action props.
389
+ */
390
+ interface LinkAction {
391
+ label: string;
392
+ href: string;
393
+ }
394
+ /** An image with its required alt text. */
395
+ interface ImageSource {
396
+ src: string;
397
+ alt: string;
398
+ }
399
+
386
400
  /**
387
401
  * HeroSection Molecule Component
388
402
  *
@@ -397,19 +411,10 @@ interface HeroSectionProps {
397
411
  title: string;
398
412
  titleAccent?: string;
399
413
  subtitle: string;
400
- primaryAction?: {
401
- label: string;
402
- href: string;
403
- };
404
- secondaryAction?: {
405
- label: string;
406
- href: string;
407
- };
414
+ primaryAction?: LinkAction;
415
+ secondaryAction?: LinkAction;
408
416
  installCommand?: string;
409
- image?: {
410
- src: string;
411
- alt: string;
412
- };
417
+ image?: ImageSource;
413
418
  imagePosition?: 'below' | 'right' | 'background';
414
419
  background?: 'dark' | 'gradient' | 'subtle';
415
420
  align?: 'center' | 'left';
@@ -434,15 +439,9 @@ interface CTABannerProps {
434
439
  /** Supporting text below the title */
435
440
  subtitle?: string;
436
441
  /** Primary action button config */
437
- primaryAction?: {
438
- label: string;
439
- href: string;
440
- };
442
+ primaryAction?: LinkAction;
441
443
  /** Secondary action button config */
442
- secondaryAction?: {
443
- label: string;
444
- href: string;
445
- };
444
+ secondaryAction?: LinkAction;
446
445
  /** Background style */
447
446
  background?: CTABannerBackground;
448
447
  /** Content alignment */
@@ -510,10 +509,7 @@ interface PricingCardProps {
510
509
  price: string;
511
510
  description?: string;
512
511
  features: string[];
513
- action: {
514
- label: string;
515
- href: string;
516
- };
512
+ action: LinkAction;
517
513
  highlighted?: boolean;
518
514
  badge?: string;
519
515
  className?: string;
@@ -544,10 +540,7 @@ interface SplitSectionProps {
544
540
  title: string;
545
541
  description: string | React.ReactNode;
546
542
  bullets?: string[];
547
- image?: {
548
- src: string;
549
- alt: string;
550
- };
543
+ image?: ImageSource;
551
544
  imagePosition?: 'left' | 'right';
552
545
  background?: 'default' | 'alt';
553
546
  children?: React.ReactNode;
@@ -601,11 +594,12 @@ declare const StepFlow: React.FC<StepFlowProps>;
601
594
  * Uses StatDisplay internally when available for consistent styling.
602
595
  */
603
596
 
597
+ interface StatItem {
598
+ value: string;
599
+ label: string;
600
+ }
604
601
  interface StatsGridProps {
605
- stats: {
606
- value: string;
607
- label: string;
608
- }[];
602
+ stats: StatItem[];
609
603
  columns?: 2 | 3 | 4 | 6;
610
604
  className?: string;
611
605
  }
@@ -637,19 +631,22 @@ declare const TagCloud: React.FC<TagCloudProps>;
637
631
  * Composes VStack, HStack, Typography, Button, and Icon atoms.
638
632
  */
639
633
 
634
+ interface GithubLink {
635
+ url: string;
636
+ stars?: number;
637
+ }
638
+ interface DiscordLink {
639
+ url: string;
640
+ members?: number;
641
+ }
642
+ interface TwitterLink {
643
+ url: string;
644
+ followers?: number;
645
+ }
640
646
  interface CommunityLinksProps {
641
- github?: {
642
- url: string;
643
- stars?: number;
644
- };
645
- discord?: {
646
- url: string;
647
- members?: number;
648
- };
649
- twitter?: {
650
- url: string;
651
- followers?: number;
652
- };
647
+ github?: GithubLink;
648
+ discord?: DiscordLink;
649
+ twitter?: TwitterLink;
653
650
  heading?: string;
654
651
  subtitle?: string;
655
652
  className?: string;
@@ -686,10 +683,7 @@ declare const ServiceCatalog: React.FC<ServiceCatalogProps>;
686
683
  interface ShowcaseCardProps {
687
684
  title: string;
688
685
  description?: string;
689
- image: {
690
- src: string;
691
- alt: string;
692
- };
686
+ image: ImageSource;
693
687
  href?: string;
694
688
  badge?: string;
695
689
  accentColor?: string;
@@ -803,14 +797,15 @@ interface FooterLinkColumn {
803
797
  title: string;
804
798
  items: FooterLinkItem[];
805
799
  }
800
+ interface FooterLogo {
801
+ src: string;
802
+ alt: string;
803
+ href?: string;
804
+ }
806
805
  interface MarketingFooterProps {
807
806
  columns: FooterLinkColumn[];
808
807
  copyright?: string;
809
- logo?: {
810
- src: string;
811
- alt: string;
812
- href?: string;
813
- };
808
+ logo?: FooterLogo;
814
809
  className?: string;
815
810
  }
816
811
  declare const MarketingFooter: React.FC<MarketingFooterProps>;
@@ -47862,6 +47862,16 @@ function SlotContentRenderer({
47862
47862
  );
47863
47863
  }
47864
47864
  }
47865
+ if (propsSchema) {
47866
+ for (const [propKey, propDef] of Object.entries(propsSchema)) {
47867
+ const v = renderedProps[propKey];
47868
+ if ((typeof v === "string" || typeof v === "number") && propDef.types?.some(
47869
+ (t) => t === "date" || t === "datetime" || t === "timestamp"
47870
+ )) {
47871
+ renderedProps[propKey] = new Date(v);
47872
+ }
47873
+ }
47874
+ }
47865
47875
  const finalProps = renderedProps;
47866
47876
  const resolvedItems = Array.isArray(
47867
47877
  finalProps.entity
@@ -47813,6 +47813,16 @@ function SlotContentRenderer({
47813
47813
  );
47814
47814
  }
47815
47815
  }
47816
+ if (propsSchema) {
47817
+ for (const [propKey, propDef] of Object.entries(propsSchema)) {
47818
+ const v = renderedProps[propKey];
47819
+ if ((typeof v === "string" || typeof v === "number") && propDef.types?.some(
47820
+ (t) => t === "date" || t === "datetime" || t === "timestamp"
47821
+ )) {
47822
+ renderedProps[propKey] = new Date(v);
47823
+ }
47824
+ }
47825
+ }
47816
47826
  const finalProps = renderedProps;
47817
47827
  const resolvedItems = Array.isArray(
47818
47828
  finalProps.entity
@@ -47448,6 +47448,16 @@ function SlotContentRenderer({
47448
47448
  );
47449
47449
  }
47450
47450
  }
47451
+ if (propsSchema) {
47452
+ for (const [propKey, propDef] of Object.entries(propsSchema)) {
47453
+ const v = renderedProps[propKey];
47454
+ if ((typeof v === "string" || typeof v === "number") && propDef.types?.some(
47455
+ (t) => t === "date" || t === "datetime" || t === "timestamp"
47456
+ )) {
47457
+ renderedProps[propKey] = new Date(v);
47458
+ }
47459
+ }
47460
+ }
47451
47461
  const finalProps = renderedProps;
47452
47462
  const resolvedItems = Array.isArray(
47453
47463
  finalProps.entity
@@ -47399,6 +47399,16 @@ function SlotContentRenderer({
47399
47399
  );
47400
47400
  }
47401
47401
  }
47402
+ if (propsSchema) {
47403
+ for (const [propKey, propDef] of Object.entries(propsSchema)) {
47404
+ const v = renderedProps[propKey];
47405
+ if ((typeof v === "string" || typeof v === "number") && propDef.types?.some(
47406
+ (t) => t === "date" || t === "datetime" || t === "timestamp"
47407
+ )) {
47408
+ renderedProps[propKey] = new Date(v);
47409
+ }
47410
+ }
47411
+ }
47402
47412
  const finalProps = renderedProps;
47403
47413
  const resolvedItems = Array.isArray(
47404
47414
  finalProps.entity
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@almadar/ui",
3
- "version": "5.16.2",
3
+ "version": "5.17.0",
4
4
  "description": "React UI components, hooks, and providers for Almadar",
5
5
  "type": "module",
6
6
  "sideEffects": [