@tramo-digital/types 0.0.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 (212) hide show
  1. package/README.md +220 -0
  2. package/dist/CHANGELOG.md +31 -0
  3. package/dist/README.md +220 -0
  4. package/dist/package.json +42 -0
  5. package/dist/src/base/component.d.ts +75 -0
  6. package/dist/src/base/component.d.ts.map +1 -0
  7. package/dist/src/base/component.js +1 -0
  8. package/dist/src/base/data-loader.d.ts +110 -0
  9. package/dist/src/base/data-loader.d.ts.map +1 -0
  10. package/dist/src/base/data-loader.js +1 -0
  11. package/dist/src/base/design-tokens.d.ts +189 -0
  12. package/dist/src/base/design-tokens.d.ts.map +1 -0
  13. package/dist/src/base/design-tokens.js +58 -0
  14. package/dist/src/base/index.d.ts +4 -0
  15. package/dist/src/base/index.d.ts.map +1 -0
  16. package/dist/src/base/index.js +3 -0
  17. package/dist/src/index.d.ts +5 -0
  18. package/dist/src/index.d.ts.map +1 -0
  19. package/dist/src/index.js +4 -0
  20. package/dist/src/models/compositions/accordion.d.ts +43 -0
  21. package/dist/src/models/compositions/accordion.d.ts.map +1 -0
  22. package/dist/src/models/compositions/accordion.js +1 -0
  23. package/dist/src/models/compositions/banner.d.ts +36 -0
  24. package/dist/src/models/compositions/banner.d.ts.map +1 -0
  25. package/dist/src/models/compositions/banner.js +1 -0
  26. package/dist/src/models/compositions/carousel.d.ts +13 -0
  27. package/dist/src/models/compositions/carousel.d.ts.map +1 -0
  28. package/dist/src/models/compositions/carousel.js +1 -0
  29. package/dist/src/models/compositions/collage.d.ts +39 -0
  30. package/dist/src/models/compositions/collage.d.ts.map +1 -0
  31. package/dist/src/models/compositions/collage.js +1 -0
  32. package/dist/src/models/compositions/content-grid.d.ts +44 -0
  33. package/dist/src/models/compositions/content-grid.d.ts.map +1 -0
  34. package/dist/src/models/compositions/content-grid.js +1 -0
  35. package/dist/src/models/compositions/faq.d.ts +42 -0
  36. package/dist/src/models/compositions/faq.d.ts.map +1 -0
  37. package/dist/src/models/compositions/faq.js +1 -0
  38. package/dist/src/models/compositions/footer.d.ts +135 -0
  39. package/dist/src/models/compositions/footer.d.ts.map +1 -0
  40. package/dist/src/models/compositions/footer.js +1 -0
  41. package/dist/src/models/compositions/header.d.ts +98 -0
  42. package/dist/src/models/compositions/header.d.ts.map +1 -0
  43. package/dist/src/models/compositions/header.js +1 -0
  44. package/dist/src/models/compositions/hero-enhanced.d.ts +27 -0
  45. package/dist/src/models/compositions/hero-enhanced.d.ts.map +1 -0
  46. package/dist/src/models/compositions/hero-enhanced.js +1 -0
  47. package/dist/src/models/compositions/hero.d.ts +62 -0
  48. package/dist/src/models/compositions/hero.d.ts.map +1 -0
  49. package/dist/src/models/compositions/hero.js +1 -0
  50. package/dist/src/models/compositions/link-group.d.ts +93 -0
  51. package/dist/src/models/compositions/link-group.d.ts.map +1 -0
  52. package/dist/src/models/compositions/link-group.js +1 -0
  53. package/dist/src/models/compositions/media-quote.d.ts +48 -0
  54. package/dist/src/models/compositions/media-quote.d.ts.map +1 -0
  55. package/dist/src/models/compositions/media-quote.js +1 -0
  56. package/dist/src/models/compositions/media-split.d.ts +37 -0
  57. package/dist/src/models/compositions/media-split.d.ts.map +1 -0
  58. package/dist/src/models/compositions/media-split.js +1 -0
  59. package/dist/src/models/compositions/media-text.d.ts +42 -0
  60. package/dist/src/models/compositions/media-text.d.ts.map +1 -0
  61. package/dist/src/models/compositions/media-text.js +1 -0
  62. package/dist/src/models/compositions/quote-banner.d.ts +66 -0
  63. package/dist/src/models/compositions/quote-banner.d.ts.map +1 -0
  64. package/dist/src/models/compositions/quote-banner.js +1 -0
  65. package/dist/src/models/compositions/quote-section.d.ts +63 -0
  66. package/dist/src/models/compositions/quote-section.d.ts.map +1 -0
  67. package/dist/src/models/compositions/quote-section.js +1 -0
  68. package/dist/src/models/compositions/statement-section.d.ts +49 -0
  69. package/dist/src/models/compositions/statement-section.d.ts.map +1 -0
  70. package/dist/src/models/compositions/statement-section.js +1 -0
  71. package/dist/src/models/compositions/tabs.d.ts +84 -0
  72. package/dist/src/models/compositions/tabs.d.ts.map +1 -0
  73. package/dist/src/models/compositions/tabs.js +1 -0
  74. package/dist/src/models/index.d.ts +54 -0
  75. package/dist/src/models/index.d.ts.map +1 -0
  76. package/dist/src/models/index.js +57 -0
  77. package/dist/src/models/layout/container.d.ts +17 -0
  78. package/dist/src/models/layout/container.d.ts.map +1 -0
  79. package/dist/src/models/layout/container.js +1 -0
  80. package/dist/src/models/layout/drawer.d.ts +31 -0
  81. package/dist/src/models/layout/drawer.d.ts.map +1 -0
  82. package/dist/src/models/layout/drawer.js +1 -0
  83. package/dist/src/models/layout/grid.d.ts +137 -0
  84. package/dist/src/models/layout/grid.d.ts.map +1 -0
  85. package/dist/src/models/layout/grid.js +1 -0
  86. package/dist/src/models/layout/index.d.ts +5 -0
  87. package/dist/src/models/layout/index.d.ts.map +1 -0
  88. package/dist/src/models/layout/index.js +4 -0
  89. package/dist/src/models/layout/stack.d.ts +21 -0
  90. package/dist/src/models/layout/stack.d.ts.map +1 -0
  91. package/dist/src/models/layout/stack.js +1 -0
  92. package/dist/src/models/patterns/author.d.ts +23 -0
  93. package/dist/src/models/patterns/author.d.ts.map +1 -0
  94. package/dist/src/models/patterns/author.js +1 -0
  95. package/dist/src/models/patterns/breadcrumb.d.ts +31 -0
  96. package/dist/src/models/patterns/breadcrumb.d.ts.map +1 -0
  97. package/dist/src/models/patterns/breadcrumb.js +1 -0
  98. package/dist/src/models/patterns/button.d.ts +99 -0
  99. package/dist/src/models/patterns/button.d.ts.map +1 -0
  100. package/dist/src/models/patterns/button.js +1 -0
  101. package/dist/src/models/patterns/card.d.ts +42 -0
  102. package/dist/src/models/patterns/card.d.ts.map +1 -0
  103. package/dist/src/models/patterns/card.js +1 -0
  104. package/dist/src/models/patterns/content.d.ts +96 -0
  105. package/dist/src/models/patterns/content.d.ts.map +1 -0
  106. package/dist/src/models/patterns/content.js +1 -0
  107. package/dist/src/models/patterns/form-group.d.ts +55 -0
  108. package/dist/src/models/patterns/form-group.d.ts.map +1 -0
  109. package/dist/src/models/patterns/form-group.js +1 -0
  110. package/dist/src/models/patterns/navigation.d.ts +62 -0
  111. package/dist/src/models/patterns/navigation.d.ts.map +1 -0
  112. package/dist/src/models/patterns/navigation.js +1 -0
  113. package/dist/src/models/patterns/strip-banner.d.ts +75 -0
  114. package/dist/src/models/patterns/strip-banner.d.ts.map +1 -0
  115. package/dist/src/models/patterns/strip-banner.js +1 -0
  116. package/dist/src/models/patterns/teaser.d.ts +88 -0
  117. package/dist/src/models/patterns/teaser.d.ts.map +1 -0
  118. package/dist/src/models/patterns/teaser.js +1 -0
  119. package/dist/src/models/patterns/text-link.d.ts +59 -0
  120. package/dist/src/models/patterns/text-link.d.ts.map +1 -0
  121. package/dist/src/models/patterns/text-link.js +1 -0
  122. package/dist/src/models/primitives/avatar.d.ts +24 -0
  123. package/dist/src/models/primitives/avatar.d.ts.map +1 -0
  124. package/dist/src/models/primitives/avatar.js +1 -0
  125. package/dist/src/models/primitives/badge.d.ts +24 -0
  126. package/dist/src/models/primitives/badge.d.ts.map +1 -0
  127. package/dist/src/models/primitives/badge.js +1 -0
  128. package/dist/src/models/primitives/checkbox.d.ts +69 -0
  129. package/dist/src/models/primitives/checkbox.d.ts.map +1 -0
  130. package/dist/src/models/primitives/checkbox.js +1 -0
  131. package/dist/src/models/primitives/frame.d.ts +11 -0
  132. package/dist/src/models/primitives/frame.d.ts.map +1 -0
  133. package/dist/src/models/primitives/frame.js +1 -0
  134. package/dist/src/models/primitives/icon.d.ts +21 -0
  135. package/dist/src/models/primitives/icon.d.ts.map +1 -0
  136. package/dist/src/models/primitives/icon.js +1 -0
  137. package/dist/src/models/primitives/image.d.ts +33 -0
  138. package/dist/src/models/primitives/image.d.ts.map +1 -0
  139. package/dist/src/models/primitives/image.js +1 -0
  140. package/dist/src/models/primitives/input.d.ts +94 -0
  141. package/dist/src/models/primitives/input.d.ts.map +1 -0
  142. package/dist/src/models/primitives/input.js +1 -0
  143. package/dist/src/models/primitives/interface-icon.d.ts +20 -0
  144. package/dist/src/models/primitives/interface-icon.d.ts.map +1 -0
  145. package/dist/src/models/primitives/interface-icon.js +1 -0
  146. package/dist/src/models/primitives/list.d.ts +58 -0
  147. package/dist/src/models/primitives/list.d.ts.map +1 -0
  148. package/dist/src/models/primitives/list.js +1 -0
  149. package/dist/src/models/primitives/loader.d.ts +23 -0
  150. package/dist/src/models/primitives/loader.d.ts.map +1 -0
  151. package/dist/src/models/primitives/loader.js +1 -0
  152. package/dist/src/models/primitives/logo.d.ts +28 -0
  153. package/dist/src/models/primitives/logo.d.ts.map +1 -0
  154. package/dist/src/models/primitives/logo.js +1 -0
  155. package/dist/src/models/primitives/overlay.d.ts +29 -0
  156. package/dist/src/models/primitives/overlay.d.ts.map +1 -0
  157. package/dist/src/models/primitives/overlay.js +1 -0
  158. package/dist/src/models/primitives/radio.d.ts +71 -0
  159. package/dist/src/models/primitives/radio.d.ts.map +1 -0
  160. package/dist/src/models/primitives/radio.js +1 -0
  161. package/dist/src/models/primitives/select.d.ts +62 -0
  162. package/dist/src/models/primitives/select.d.ts.map +1 -0
  163. package/dist/src/models/primitives/select.js +1 -0
  164. package/dist/src/models/primitives/separator.d.ts +20 -0
  165. package/dist/src/models/primitives/separator.d.ts.map +1 -0
  166. package/dist/src/models/primitives/separator.js +1 -0
  167. package/dist/src/models/primitives/text-block.d.ts +25 -0
  168. package/dist/src/models/primitives/text-block.d.ts.map +1 -0
  169. package/dist/src/models/primitives/text-block.js +1 -0
  170. package/dist/src/models/primitives/text-body.d.ts +40 -0
  171. package/dist/src/models/primitives/text-body.d.ts.map +1 -0
  172. package/dist/src/models/primitives/text-body.js +1 -0
  173. package/dist/src/models/primitives/text-display.d.ts +40 -0
  174. package/dist/src/models/primitives/text-display.d.ts.map +1 -0
  175. package/dist/src/models/primitives/text-display.js +1 -0
  176. package/dist/src/models/primitives/text-eyebrow.d.ts +40 -0
  177. package/dist/src/models/primitives/text-eyebrow.d.ts.map +1 -0
  178. package/dist/src/models/primitives/text-eyebrow.js +1 -0
  179. package/dist/src/models/primitives/text-heading.d.ts +22 -0
  180. package/dist/src/models/primitives/text-heading.d.ts.map +1 -0
  181. package/dist/src/models/primitives/text-heading.js +1 -0
  182. package/dist/src/models/primitives/text-quote.d.ts +32 -0
  183. package/dist/src/models/primitives/text-quote.d.ts.map +1 -0
  184. package/dist/src/models/primitives/text-quote.js +1 -0
  185. package/dist/src/models/primitives/textarea.d.ts +60 -0
  186. package/dist/src/models/primitives/textarea.d.ts.map +1 -0
  187. package/dist/src/models/primitives/textarea.js +1 -0
  188. package/dist/src/models/primitives/toggle.d.ts +95 -0
  189. package/dist/src/models/primitives/toggle.d.ts.map +1 -0
  190. package/dist/src/models/primitives/toggle.js +1 -0
  191. package/dist/src/models/primitives/video.d.ts +39 -0
  192. package/dist/src/models/primitives/video.d.ts.map +1 -0
  193. package/dist/src/models/primitives/video.js +1 -0
  194. package/dist/src/pages/index.d.ts +2 -0
  195. package/dist/src/pages/index.d.ts.map +1 -0
  196. package/dist/src/pages/index.js +1 -0
  197. package/dist/src/pages/page-document.d.ts +62 -0
  198. package/dist/src/pages/page-document.d.ts.map +1 -0
  199. package/dist/src/pages/page-document.js +8 -0
  200. package/dist/src/schema/index.d.ts +68 -0
  201. package/dist/src/schema/index.d.ts.map +1 -0
  202. package/dist/src/schema/index.js +2 -0
  203. package/dist/src/utils/helpers.d.ts +87 -0
  204. package/dist/src/utils/helpers.d.ts.map +1 -0
  205. package/dist/src/utils/helpers.js +1 -0
  206. package/dist/src/utils/index.d.ts +3 -0
  207. package/dist/src/utils/index.d.ts.map +1 -0
  208. package/dist/src/utils/index.js +1 -0
  209. package/dist/src/utils/string.d.ts +66 -0
  210. package/dist/src/utils/string.d.ts.map +1 -0
  211. package/dist/src/utils/string.js +7 -0
  212. package/package.json +40 -0
@@ -0,0 +1,110 @@
1
+ import type { StandardSchemaV1 } from '../schema/index.js';
2
+ /**
3
+ * Loader input context interface
4
+ * Provides context and parameters for component data loading
5
+ */
6
+ export interface LoaderContext {
7
+ /** Request context (URL, headers, etc.) */
8
+ request?: {
9
+ url?: string;
10
+ headers?: Record<string, string>;
11
+ params?: Record<string, unknown>;
12
+ query?: Record<string, unknown>;
13
+ };
14
+ /** Environment context */
15
+ env?: {
16
+ isDevelopment?: boolean;
17
+ isProduction?: boolean;
18
+ apiBaseUrl?: string;
19
+ };
20
+ /** User context */
21
+ user?: {
22
+ id?: string;
23
+ permissions?: string[];
24
+ preferences?: Record<string, unknown>;
25
+ };
26
+ /** Additional custom context */
27
+ custom?: Record<string, unknown>;
28
+ }
29
+ /**
30
+ * Component loader function type
31
+ * Returns component data using Standard Schema result pattern
32
+ */
33
+ export type ComponentLoader<Data> = (context?: LoaderContext) => StandardSchemaV1.Result<Data> | Promise<StandardSchemaV1.Result<Data>>;
34
+ /**
35
+ * Enhanced component loader that accepts Standard Schema compatible validators
36
+ * This allows using external schema libraries like Zod, Valibot, ArkType, etc.
37
+ */
38
+ export type ComponentLoaderWithSchema<Schema extends StandardSchemaV1> = (context?: LoaderContext) => StandardSchemaV1.Result<StandardSchemaV1.InferOutput<Schema>> | Promise<StandardSchemaV1.Result<StandardSchemaV1.InferOutput<Schema>>>;
39
+ /**
40
+ * Generic data source function type
41
+ * Can be any function that returns data based on context
42
+ */
43
+ export type DataSource<T = unknown> = (context?: LoaderContext) => Promise<T> | T;
44
+ /**
45
+ * Logger interface for validation errors
46
+ */
47
+ export interface ValidationLogger {
48
+ error: (message: string, details?: any) => void;
49
+ warn: (message: string, details?: any) => void;
50
+ debug: (message: string, details?: any) => void;
51
+ }
52
+ /**
53
+ * Options for creating component loaders
54
+ */
55
+ export interface LoaderOptions {
56
+ /** Custom logger for validation errors */
57
+ logger?: ValidationLogger;
58
+ /** Whether to throw on validation errors (default: true) */
59
+ throwOnValidationError?: boolean;
60
+ /** Whether to enhance data with context (default: true) */
61
+ enhanceWithContext?: boolean;
62
+ }
63
+ /**
64
+ * A loader is just a function that returns the data model or a promise of the data model
65
+ */
66
+ export type SimpleLoader<T> = () => T | Promise<T>;
67
+ /**
68
+ * Enhanced Simple Loader with context support
69
+ * Bridges the simple approach with our existing context system
70
+ */
71
+ export type SimpleLoaderWithContext<T> = (context?: LoaderContext) => T | Promise<T>;
72
+ /**
73
+ * Schema-aware Simple Loader
74
+ * Combines simple pattern with Standard Schema validation
75
+ */
76
+ export type SimpleLoaderWithSchema<Schema extends StandardSchemaV1> = () => Promise<StandardSchemaV1.InferOutput<Schema>>;
77
+ /**
78
+ * The loading state produced by the loader
79
+ */
80
+ export interface LoadState<T> {
81
+ data?: T;
82
+ error?: Error;
83
+ loading: boolean;
84
+ }
85
+ /**
86
+ * Enhanced LoadState with validation errors
87
+ * Extends the simple pattern with our validation system
88
+ */
89
+ export interface EnhancedLoadState<T> {
90
+ data?: T;
91
+ error?: Error;
92
+ validationError?: StandardSchemaV1.Issue[];
93
+ loading: boolean;
94
+ }
95
+ /**
96
+ * Cache configuration for createCachedLoader
97
+ */
98
+ export interface CacheConfig {
99
+ ttl?: number;
100
+ maxSize?: number;
101
+ }
102
+ /**
103
+ * Cache entry with metadata
104
+ */
105
+ export interface CacheEntry<T> {
106
+ data: Promise<T>;
107
+ timestamp: number;
108
+ ttl: number;
109
+ }
110
+ //# sourceMappingURL=data-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-loader.d.ts","sourceRoot":"","sources":["../../../src/base/data-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,189 @@
1
+ /**
2
+ * TokenScale Type
3
+ *
4
+ * A generic type that represents a scale of design tokens mapped by semantic keys.
5
+ * This enables design systems to define token values at different scales/breakpoints
6
+ * while maintaining type safety and consistent naming conventions.
7
+ *
8
+ * Why we need this:
9
+ * - Design tokens often come in scales (e.g., spacing: xs, sm, md, lg, xl)
10
+ * - Allows semantic naming instead of hard-coded values in components
11
+ * - Enables responsive design through breakpoint-based token selection
12
+ * - Provides type safety for token values across the design system
13
+ * - Supports theming by allowing different token sets with same structure
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * // Spacing scale
18
+ * const spacing: TokenScale<string> = {
19
+ * xs: "4px",
20
+ * sm: "8px",
21
+ * md: "16px",
22
+ * lg: "24px",
23
+ * xl: "32px",
24
+ * default: "16px"
25
+ * }
26
+ *
27
+ * // Font weight scale
28
+ * const fontWeight: TokenScale<number> = {
29
+ * light: 300,
30
+ * normal: 400,
31
+ * medium: 500,
32
+ * bold: 700,
33
+ * default: 400
34
+ * }
35
+ * ```
36
+ *
37
+ * @template T The value type for the tokens (string, number, etc.)
38
+ */
39
+ export type TokenScale<T = string> = Record<'default' | string, T>;
40
+ export type ColorPalette = string & ('light' | 'dark');
41
+ export type ColorSource = 'palette' | 'custom';
42
+ export declare const CUSTOM_COLORS: readonly ["transparent", "color-01", "color-02", "color-03", "color-04", "color-05", "neutral-1", "neutral-2", "neutral-3", "neutral-4", "neutral-5", "neutral-6", "neutral-7", "neutral-8", "neutral-9", "neutral-10", "neutral-white", "neutral-black"];
43
+ export type CustomColor = (typeof CUSTOM_COLORS)[number];
44
+ export interface ColorTokens {
45
+ background?: TokenScale<string>;
46
+ border?: TokenScale<string>;
47
+ outline?: TokenScale<string>;
48
+ text?: TokenScale<string>;
49
+ [key: string]: TokenScale<string> | undefined;
50
+ }
51
+ export interface TypographyTokens {
52
+ font?: TokenScale<string>;
53
+ fontFamily?: TokenScale<string | string[]>;
54
+ fontSize?: TokenScale<string>;
55
+ fontWeight?: TokenScale<number | string>;
56
+ letterSpacing?: TokenScale<string>;
57
+ lineHeight?: TokenScale<number | string>;
58
+ textAlign?: TokenScale<string>;
59
+ textDecoration?: TokenScale<string>;
60
+ textOverflow?: TokenScale<string>;
61
+ textShadow?: TokenScale<string>;
62
+ textTransform?: TokenScale<string>;
63
+ textWrap?: TokenScale<string>;
64
+ whiteSpace?: TokenScale<string>;
65
+ wordBreak?: TokenScale<string>;
66
+ wordSpacing?: TokenScale<string>;
67
+ wordWrap?: TokenScale<string>;
68
+ [key: string]: TokenScale<string | number | string[]> | undefined;
69
+ }
70
+ export interface DimensionTokens {
71
+ boxSizing?: TokenScale<string>;
72
+ height?: TokenScale<string>;
73
+ maxHeight?: TokenScale<string>;
74
+ maxWidth?: TokenScale<string>;
75
+ minHeight?: TokenScale<string>;
76
+ minWidth?: TokenScale<string>;
77
+ overflow?: TokenScale<string>;
78
+ overflowX?: TokenScale<string>;
79
+ overflowY?: TokenScale<string>;
80
+ width?: TokenScale<string>;
81
+ [key: string]: TokenScale<string> | undefined;
82
+ }
83
+ export interface SpacingTokens {
84
+ gap?: TokenScale<string>;
85
+ margin?: TokenScale<string>;
86
+ marginBottom?: TokenScale<string>;
87
+ marginLeft?: TokenScale<string>;
88
+ marginRight?: TokenScale<string>;
89
+ marginTop?: TokenScale<string>;
90
+ padding?: TokenScale<string>;
91
+ paddingBottom?: TokenScale<string>;
92
+ paddingLeft?: TokenScale<string>;
93
+ paddingRight?: TokenScale<string>;
94
+ paddingTop?: TokenScale<string>;
95
+ [key: string]: TokenScale<string> | undefined;
96
+ }
97
+ export interface BorderTokens {
98
+ border?: TokenScale<string>;
99
+ borderBottom?: TokenScale<string>;
100
+ borderLeft?: TokenScale<string>;
101
+ borderRight?: TokenScale<string>;
102
+ borderStyle?: TokenScale<string>;
103
+ borderTop?: TokenScale<string>;
104
+ borderWidth?: TokenScale<string>;
105
+ borderRadius?: TokenScale<string>;
106
+ [key: string]: TokenScale<string> | undefined;
107
+ }
108
+ export interface BackgroundTokens {
109
+ background?: TokenScale<string>;
110
+ backgroundColor?: TokenScale<string>;
111
+ backgroundImage?: TokenScale<string>;
112
+ backgroundPosition?: TokenScale<string>;
113
+ backgroundRepeat?: TokenScale<string>;
114
+ backgroundSize?: TokenScale<string>;
115
+ }
116
+ export interface EffectTokens {
117
+ delay?: TokenScale<string>;
118
+ duration?: TokenScale<string>;
119
+ easing?: TokenScale<string>;
120
+ filter?: TokenScale<string>;
121
+ mask?: TokenScale<string>;
122
+ opacity?: TokenScale<number>;
123
+ transition?: TokenScale<string>;
124
+ [key: string]: TokenScale<string | number> | undefined;
125
+ }
126
+ export interface ElevationTokens {
127
+ boxShadow?: TokenScale<string>;
128
+ zIndex?: TokenScale<number>;
129
+ }
130
+ export interface LayoutTokens {
131
+ alignContent?: TokenScale<string>;
132
+ alignItems?: TokenScale<string>;
133
+ alignSelf?: TokenScale<string>;
134
+ bottom?: TokenScale<string>;
135
+ display?: TokenScale<string>;
136
+ flex?: TokenScale<string>;
137
+ flexBasis?: TokenScale<string>;
138
+ flexDirection?: TokenScale<string>;
139
+ flexFlow?: TokenScale<string>;
140
+ flexGrow?: TokenScale<number>;
141
+ flexShrink?: TokenScale<number>;
142
+ flexWrap?: TokenScale<string>;
143
+ float?: TokenScale<string>;
144
+ grid?: TokenScale<string>;
145
+ gridArea?: TokenScale<string>;
146
+ gridAutoFlow?: TokenScale<string>;
147
+ gridTemplateAreas?: TokenScale<string>;
148
+ gridTemplateColumns?: TokenScale<string>;
149
+ gridTemplateRows?: TokenScale<string>;
150
+ justifyContent?: TokenScale<string>;
151
+ justifyItems?: TokenScale<string>;
152
+ justifySelf?: TokenScale<string>;
153
+ left?: TokenScale<string>;
154
+ position?: TokenScale<string>;
155
+ right?: TokenScale<string>;
156
+ top?: TokenScale<string>;
157
+ [key: string]: TokenScale<string | number> | undefined;
158
+ }
159
+ export interface MotionTokens {
160
+ animation?: TokenScale<string>;
161
+ animationDelay?: TokenScale<string>;
162
+ animationDirection?: TokenScale<string>;
163
+ animationDuration?: TokenScale<string>;
164
+ animationFillMode?: TokenScale<string>;
165
+ animationIterationCount?: TokenScale<number | string>;
166
+ animationName?: TokenScale<string>;
167
+ animationPlayState?: TokenScale<string>;
168
+ animationTimingFunction?: TokenScale<string>;
169
+ perspective?: TokenScale<string>;
170
+ perspectiveOrigin?: TokenScale<string>;
171
+ scrollBehavior?: TokenScale<string>;
172
+ transform?: TokenScale<string>;
173
+ transformOrigin?: TokenScale<string>;
174
+ }
175
+ export interface BaseDesignTokens {
176
+ color?: ColorTokens;
177
+ background?: BackgroundTokens;
178
+ border?: BorderTokens;
179
+ dimension?: DimensionTokens;
180
+ effect?: EffectTokens;
181
+ elements?: Record<string, BaseDesignTokens>;
182
+ elevation?: ElevationTokens;
183
+ layout?: LayoutTokens;
184
+ motion?: MotionTokens;
185
+ sizing?: DimensionTokens;
186
+ spacing?: SpacingTokens;
187
+ typography?: TypographyTokens;
188
+ }
189
+ //# sourceMappingURL=design-tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"design-tokens.d.ts","sourceRoot":"","sources":["../../../src/base/design-tokens.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * TokenScale Type
3
+ *
4
+ * A generic type that represents a scale of design tokens mapped by semantic keys.
5
+ * This enables design systems to define token values at different scales/breakpoints
6
+ * while maintaining type safety and consistent naming conventions.
7
+ *
8
+ * Why we need this:
9
+ * - Design tokens often come in scales (e.g., spacing: xs, sm, md, lg, xl)
10
+ * - Allows semantic naming instead of hard-coded values in components
11
+ * - Enables responsive design through breakpoint-based token selection
12
+ * - Provides type safety for token values across the design system
13
+ * - Supports theming by allowing different token sets with same structure
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * // Spacing scale
18
+ * const spacing: TokenScale<string> = {
19
+ * xs: "4px",
20
+ * sm: "8px",
21
+ * md: "16px",
22
+ * lg: "24px",
23
+ * xl: "32px",
24
+ * default: "16px"
25
+ * }
26
+ *
27
+ * // Font weight scale
28
+ * const fontWeight: TokenScale<number> = {
29
+ * light: 300,
30
+ * normal: 400,
31
+ * medium: 500,
32
+ * bold: 700,
33
+ * default: 400
34
+ * }
35
+ * ```
36
+ *
37
+ * @template T The value type for the tokens (string, number, etc.)
38
+ */
39
+ export const CUSTOM_COLORS = [
40
+ 'transparent',
41
+ 'color-01',
42
+ 'color-02',
43
+ 'color-03',
44
+ 'color-04',
45
+ 'color-05',
46
+ 'neutral-1',
47
+ 'neutral-2',
48
+ 'neutral-3',
49
+ 'neutral-4',
50
+ 'neutral-5',
51
+ 'neutral-6',
52
+ 'neutral-7',
53
+ 'neutral-8',
54
+ 'neutral-9',
55
+ 'neutral-10',
56
+ 'neutral-white',
57
+ 'neutral-black',
58
+ ];
@@ -0,0 +1,4 @@
1
+ export * from './component.js';
2
+ export * from './data-loader.js';
3
+ export * from './design-tokens.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './component.js';
2
+ export * from './data-loader.js';
3
+ export * from './design-tokens.js';
@@ -0,0 +1,5 @@
1
+ export * from './base/index.js';
2
+ export * from './models/index.js';
3
+ export * from './pages/index.js';
4
+ export * from './schema/index.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './base/index.js';
2
+ export * from './models/index.js';
3
+ export * from './pages/index.js';
4
+ export * from './schema/index.js';
@@ -0,0 +1,43 @@
1
+ import type { BaseComponentModel } from '../../base/component.js';
2
+ export interface AccordionItemData {
3
+ question: string;
4
+ answer: string;
5
+ isOpen?: boolean;
6
+ }
7
+ export interface AccordionData {
8
+ items: AccordionItemData[];
9
+ }
10
+ export interface AccordionEvents {
11
+ onToggle?: (index: number) => void;
12
+ }
13
+ export interface AccordionTokens {
14
+ color?: {
15
+ background?: {
16
+ default: string;
17
+ };
18
+ border?: {
19
+ default: string;
20
+ };
21
+ text?: {
22
+ default: string;
23
+ };
24
+ };
25
+ spacing?: {
26
+ gap?: {
27
+ default: string;
28
+ };
29
+ padding?: {
30
+ default: string;
31
+ };
32
+ };
33
+ typography?: {
34
+ fontSize?: {
35
+ default: string;
36
+ };
37
+ fontWeight?: {
38
+ default: string;
39
+ };
40
+ };
41
+ }
42
+ export type AccordionModel = BaseComponentModel<'Accordion', AccordionData, AccordionEvents, AccordionTokens>;
43
+ //# sourceMappingURL=accordion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../../src/models/compositions/accordion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE;QACN,UAAU,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QACjC,MAAM,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7B,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAC5B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,GAAG,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1B,OAAO,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/B,CAAC;IACF,UAAU,CAAC,EAAE;QACX,QAAQ,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/B,UAAU,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAClC,CAAC;CACH;AAED,MAAM,MAAM,cAAc,GAAG,kBAAkB,CAC7C,WAAW,EACX,aAAa,EACb,eAAe,EACf,eAAe,CAChB,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,36 @@
1
+ import { BaseComponentModel } from '../../base/component.js';
2
+ import { ButtonModel } from '../patterns/button.js';
3
+ export interface BannerData {
4
+ title?: string;
5
+ description?: string;
6
+ icon?: string;
7
+ image?: {
8
+ src?: string;
9
+ alt?: string;
10
+ };
11
+ actions?: ButtonModel[];
12
+ align?: 'left' | 'center' | 'right';
13
+ actionsAlign?: 'left' | 'center' | 'right';
14
+ }
15
+ export interface BannerEvents {
16
+ onActionClick?: (action: ButtonModel) => void;
17
+ }
18
+ export interface BannerTokens {
19
+ color?: {
20
+ background?: {
21
+ default: string;
22
+ };
23
+ };
24
+ border?: {
25
+ borderRadius?: {
26
+ default: string;
27
+ };
28
+ };
29
+ spacing?: {
30
+ padding?: {
31
+ default: string;
32
+ };
33
+ };
34
+ }
35
+ export type BannerModel = BaseComponentModel<'Banner', BannerData, BannerEvents, BannerTokens>;
36
+ //# sourceMappingURL=banner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../../../src/models/compositions/banner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QACN,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE;QACN,UAAU,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAClC,CAAC;IACF,MAAM,CAAC,EAAE;QACP,YAAY,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KACpC,CAAC;IACF,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/B,CAAC;CACH;AAED,MAAM,MAAM,WAAW,GAAG,kBAAkB,CAC1C,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,YAAY,CACb,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,13 @@
1
+ import { BaseComponentModel } from '../../base/component.js';
2
+ import { CardModel } from '../patterns/card.js';
3
+ export interface CarouselData {
4
+ cards: CardModel[];
5
+ }
6
+ export interface CarouselEvents {
7
+ onSlideNext: () => void;
8
+ onSlidePrev: () => void;
9
+ }
10
+ export interface CarouselTokens {
11
+ }
12
+ export type CarouselModel = BaseComponentModel<'Carousel', CarouselData, CarouselEvents, CarouselTokens>;
13
+ //# sourceMappingURL=carousel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel.d.ts","sourceRoot":"","sources":["../../../../src/models/compositions/carousel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;CAAG;AAElC,MAAM,MAAM,aAAa,GAAG,kBAAkB,CAC5C,UAAU,EACV,YAAY,EACZ,cAAc,EACd,cAAc,CACf,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,39 @@
1
+ import type { BaseComponentModel } from '../../base/component.js';
2
+ import type { ImageData, ContentData } from '../index.js';
3
+ export interface CollageData {
4
+ content?: ContentData;
5
+ collageImages?: ImageData[];
6
+ alignment?: 'left' | 'center';
7
+ }
8
+ export interface CollageEvents {
9
+ }
10
+ export interface CollageTokens {
11
+ color?: {
12
+ background?: {
13
+ default: string;
14
+ };
15
+ };
16
+ spacing?: {
17
+ padding?: {
18
+ default: string;
19
+ };
20
+ gap?: {
21
+ default: string;
22
+ };
23
+ mediaGap?: {
24
+ default: string;
25
+ };
26
+ };
27
+ border?: {
28
+ radius?: {
29
+ default: string;
30
+ };
31
+ };
32
+ dimension?: {
33
+ maxWidth?: {
34
+ default: string;
35
+ };
36
+ };
37
+ }
38
+ export type CollageModel = BaseComponentModel<'Collage', CollageData, CollageEvents, CollageTokens>;
39
+ //# sourceMappingURL=collage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collage.d.ts","sourceRoot":"","sources":["../../../../src/models/compositions/collage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;CAAG;AAEjC,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE;QACN,UAAU,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAClC,CAAC;IACF,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC9B,GAAG,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1B,QAAQ,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAChC,CAAC;IACF,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAC9B,CAAC;IACF,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAChC,CAAC;CACH;AAED,MAAM,MAAM,YAAY,GAAG,kBAAkB,CAC3C,SAAS,EACT,WAAW,EACX,aAAa,EACb,aAAa,CACd,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,44 @@
1
+ import type { BaseComponentModel } from '../../base/component.js';
2
+ import type { ContentData, ImageData } from '../index.js';
3
+ export interface ContentGridItem {
4
+ image: ImageData;
5
+ content: ContentData;
6
+ }
7
+ export interface ContentGridData {
8
+ items: ContentGridItem[];
9
+ itemsPerRow?: 1 | 2 | 3;
10
+ layout?: 'single' | 'evens' | 'odds';
11
+ alignment?: 'left' | 'center';
12
+ }
13
+ export interface ContentGridEvents {
14
+ }
15
+ export interface ContentGridTokens {
16
+ color?: {
17
+ background?: {
18
+ default: string;
19
+ };
20
+ };
21
+ spacing?: {
22
+ padding?: {
23
+ default: string;
24
+ };
25
+ gap?: {
26
+ default: string;
27
+ };
28
+ marginBottom?: {
29
+ default: string;
30
+ };
31
+ };
32
+ dimension?: {
33
+ minWidth?: {
34
+ default: string;
35
+ };
36
+ };
37
+ effect?: {
38
+ opacity?: {
39
+ default: number;
40
+ };
41
+ };
42
+ }
43
+ export type ContentGridModel = BaseComponentModel<'ContentGrid', ContentGridData, ContentGridEvents, ContentGridTokens>;
44
+ //# sourceMappingURL=content-grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-grid.d.ts","sourceRoot":"","sources":["../../../../src/models/compositions/content-grid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;CAAG;AAErC,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE;QACN,UAAU,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAClC,CAAC;IACF,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC9B,GAAG,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1B,YAAY,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KACpC,CAAC;IACF,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAChC,CAAC;IACF,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/B,CAAC;CACH;AAED,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,CAC/C,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,iBAAiB,CAClB,CAAC"}
@@ -0,0 +1 @@
1
+ export {};