kenikool-ui 1.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.
- package/README.md +144 -0
- package/dist/cdn-auto-register.js +188 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/types/components/advanced/datepicker.d.ts +86 -0
- package/dist/types/components/advanced/datepicker.d.ts.map +1 -0
- package/dist/types/components/advanced/datepicker.stories.d.ts +48 -0
- package/dist/types/components/advanced/datepicker.stories.d.ts.map +1 -0
- package/dist/types/components/advanced/fileupload.d.ts +75 -0
- package/dist/types/components/advanced/fileupload.d.ts.map +1 -0
- package/dist/types/components/advanced/fileupload.stories.d.ts +46 -0
- package/dist/types/components/advanced/fileupload.stories.d.ts.map +1 -0
- package/dist/types/components/advanced/index.d.ts +4 -0
- package/dist/types/components/advanced/index.d.ts.map +1 -0
- package/dist/types/components/data/avatar.d.ts +94 -0
- package/dist/types/components/data/avatar.d.ts.map +1 -0
- package/dist/types/components/data/avatar.stories.d.ts +51 -0
- package/dist/types/components/data/avatar.stories.d.ts.map +1 -0
- package/dist/types/components/data/badge.d.ts +69 -0
- package/dist/types/components/data/badge.d.ts.map +1 -0
- package/dist/types/components/data/badge.stories.d.ts +48 -0
- package/dist/types/components/data/badge.stories.d.ts.map +1 -0
- package/dist/types/components/data/index.d.ts +5 -0
- package/dist/types/components/data/index.d.ts.map +1 -0
- package/dist/types/components/data/list.d.ts +66 -0
- package/dist/types/components/data/list.d.ts.map +1 -0
- package/dist/types/components/data/list.stories.d.ts +38 -0
- package/dist/types/components/data/list.stories.d.ts.map +1 -0
- package/dist/types/components/data/table.d.ts +70 -0
- package/dist/types/components/data/table.d.ts.map +1 -0
- package/dist/types/components/data/table.stories.d.ts +42 -0
- package/dist/types/components/data/table.stories.d.ts.map +1 -0
- package/dist/types/components/feedback/alert.d.ts +78 -0
- package/dist/types/components/feedback/alert.d.ts.map +1 -0
- package/dist/types/components/feedback/alert.stories.d.ts +35 -0
- package/dist/types/components/feedback/alert.stories.d.ts.map +1 -0
- package/dist/types/components/feedback/index.d.ts +5 -0
- package/dist/types/components/feedback/index.d.ts.map +1 -0
- package/dist/types/components/feedback/loading.d.ts +87 -0
- package/dist/types/components/feedback/loading.d.ts.map +1 -0
- package/dist/types/components/feedback/loading.stories.d.ts +48 -0
- package/dist/types/components/feedback/loading.stories.d.ts.map +1 -0
- package/dist/types/components/feedback/modal.d.ts +93 -0
- package/dist/types/components/feedback/modal.d.ts.map +1 -0
- package/dist/types/components/feedback/modal.stories.d.ts +37 -0
- package/dist/types/components/feedback/modal.stories.d.ts.map +1 -0
- package/dist/types/components/feedback/toast.d.ts +102 -0
- package/dist/types/components/feedback/toast.d.ts.map +1 -0
- package/dist/types/components/feedback/toast.stories.d.ts +51 -0
- package/dist/types/components/feedback/toast.stories.d.ts.map +1 -0
- package/dist/types/components/forms/button.d.ts +64 -0
- package/dist/types/components/forms/button.d.ts.map +1 -0
- package/dist/types/components/forms/button.stories.d.ts +52 -0
- package/dist/types/components/forms/button.stories.d.ts.map +1 -0
- package/dist/types/components/forms/checkbox.d.ts +51 -0
- package/dist/types/components/forms/checkbox.d.ts.map +1 -0
- package/dist/types/components/forms/checkbox.stories.d.ts +31 -0
- package/dist/types/components/forms/checkbox.stories.d.ts.map +1 -0
- package/dist/types/components/forms/index.d.ts +6 -0
- package/dist/types/components/forms/index.d.ts.map +1 -0
- package/dist/types/components/forms/input.d.ts +66 -0
- package/dist/types/components/forms/input.d.ts.map +1 -0
- package/dist/types/components/forms/input.stories.d.ts +49 -0
- package/dist/types/components/forms/input.stories.d.ts.map +1 -0
- package/dist/types/components/forms/radio.d.ts +51 -0
- package/dist/types/components/forms/radio.d.ts.map +1 -0
- package/dist/types/components/forms/radio.stories.d.ts +41 -0
- package/dist/types/components/forms/radio.stories.d.ts.map +1 -0
- package/dist/types/components/forms/select.d.ts +67 -0
- package/dist/types/components/forms/select.d.ts.map +1 -0
- package/dist/types/components/forms/select.stories.d.ts +42 -0
- package/dist/types/components/forms/select.stories.d.ts.map +1 -0
- package/dist/types/components/layout/card.d.ts +66 -0
- package/dist/types/components/layout/card.d.ts.map +1 -0
- package/dist/types/components/layout/card.example.d.ts +5 -0
- package/dist/types/components/layout/card.example.d.ts.map +1 -0
- package/dist/types/components/layout/card.stories.d.ts +40 -0
- package/dist/types/components/layout/card.stories.d.ts.map +1 -0
- package/dist/types/components/layout/container.d.ts +84 -0
- package/dist/types/components/layout/container.d.ts.map +1 -0
- package/dist/types/components/layout/container.stories.d.ts +40 -0
- package/dist/types/components/layout/container.stories.d.ts.map +1 -0
- package/dist/types/components/layout/grid.d.ts +76 -0
- package/dist/types/components/layout/grid.d.ts.map +1 -0
- package/dist/types/components/layout/grid.example.d.ts +11 -0
- package/dist/types/components/layout/grid.example.d.ts.map +1 -0
- package/dist/types/components/layout/grid.stories.d.ts +38 -0
- package/dist/types/components/layout/grid.stories.d.ts.map +1 -0
- package/dist/types/components/layout/index.d.ts +5 -0
- package/dist/types/components/layout/index.d.ts.map +1 -0
- package/dist/types/components/layout/stack.d.ts +82 -0
- package/dist/types/components/layout/stack.d.ts.map +1 -0
- package/dist/types/components/layout/stack.stories.d.ts +44 -0
- package/dist/types/components/layout/stack.stories.d.ts.map +1 -0
- package/dist/types/components/navigation/breadcrumbs.d.ts +62 -0
- package/dist/types/components/navigation/breadcrumbs.d.ts.map +1 -0
- package/dist/types/components/navigation/breadcrumbs.stories.d.ts +32 -0
- package/dist/types/components/navigation/breadcrumbs.stories.d.ts.map +1 -0
- package/dist/types/components/navigation/index.d.ts +4 -0
- package/dist/types/components/navigation/index.d.ts.map +1 -0
- package/dist/types/components/navigation/navbar.d.ts +66 -0
- package/dist/types/components/navigation/navbar.d.ts.map +1 -0
- package/dist/types/components/navigation/navbar.stories.d.ts +37 -0
- package/dist/types/components/navigation/navbar.stories.d.ts.map +1 -0
- package/dist/types/components/navigation/sidebar.d.ts +72 -0
- package/dist/types/components/navigation/sidebar.d.ts.map +1 -0
- package/dist/types/components/navigation/sidebar.stories.d.ts +43 -0
- package/dist/types/components/navigation/sidebar.stories.d.ts.map +1 -0
- package/dist/types/components/typography/index.d.ts +3 -0
- package/dist/types/components/typography/index.d.ts.map +1 -0
- package/dist/types/components/typography/text.d.ts +111 -0
- package/dist/types/components/typography/text.d.ts.map +1 -0
- package/dist/types/components/typography/text.stories.d.ts +48 -0
- package/dist/types/components/typography/text.stories.d.ts.map +1 -0
- package/dist/types/core/base-component.d.ts +178 -0
- package/dist/types/core/base-component.d.ts.map +1 -0
- package/dist/types/core/base-component.example.d.ts +24 -0
- package/dist/types/core/base-component.example.d.ts.map +1 -0
- package/dist/types/core/registry.d.ts +88 -0
- package/dist/types/core/registry.d.ts.map +1 -0
- package/dist/types/core/registry.example.d.ts +42 -0
- package/dist/types/core/registry.example.d.ts.map +1 -0
- package/dist/types/core/smart-defaults.d.ts +45 -0
- package/dist/types/core/smart-defaults.d.ts.map +1 -0
- package/dist/types/core/smart-defaults.example.d.ts +20 -0
- package/dist/types/core/smart-defaults.example.d.ts.map +1 -0
- package/dist/types/core/styles-parser.d.ts +107 -0
- package/dist/types/core/styles-parser.d.ts.map +1 -0
- package/dist/types/core/styles-parser.example.d.ts +10 -0
- package/dist/types/core/styles-parser.example.d.ts.map +1 -0
- package/dist/types/core/theme-system.d.ts +91 -0
- package/dist/types/core/theme-system.d.ts.map +1 -0
- package/dist/types/index.d.ts +24 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/themes/built-in-themes.d.ts +32 -0
- package/dist/types/themes/built-in-themes.d.ts.map +1 -0
- package/dist/types/themes/index.d.ts +5 -0
- package/dist/types/themes/index.d.ts.map +1 -0
- package/dist/types/types/components.d.ts +549 -0
- package/dist/types/types/components.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +379 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/theme-config.d.ts +674 -0
- package/dist/types/types/theme-config.d.ts.map +1 -0
- package/dist/types/types/themes.d.ts +325 -0
- package/dist/types/types/themes.d.ts.map +1 -0
- package/dist/types/types/utils.d.ts +293 -0
- package/dist/types/types/utils.d.ts.map +1 -0
- package/dist/types/types/wrappers.d.ts +335 -0
- package/dist/types/types/wrappers.d.ts.map +1 -0
- package/dist/types/utils/accessibility.d.ts +345 -0
- package/dist/types/utils/accessibility.d.ts.map +1 -0
- package/dist/types/utils/accessibility.example.d.ts +50 -0
- package/dist/types/utils/accessibility.example.d.ts.map +1 -0
- package/dist/types/utils/css-variables.d.ts +278 -0
- package/dist/types/utils/css-variables.d.ts.map +1 -0
- package/dist/types/utils/icon-system.d.ts +79 -0
- package/dist/types/utils/icon-system.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +9 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/performance.d.ts +141 -0
- package/dist/types/utils/performance.d.ts.map +1 -0
- package/dist/types/utils/security.d.ts +109 -0
- package/dist/types/utils/security.d.ts.map +1 -0
- package/dist/types/utils/validation.d.ts +84 -0
- package/dist/types/utils/validation.d.ts.map +1 -0
- package/dist/types/wrappers/angular/components.d.ts +2 -0
- package/dist/types/wrappers/angular/components.d.ts.map +1 -0
- package/dist/types/wrappers/angular/index.d.ts +6 -0
- package/dist/types/wrappers/angular/index.d.ts.map +1 -0
- package/dist/types/wrappers/angular/module.d.ts +2 -0
- package/dist/types/wrappers/angular/module.d.ts.map +1 -0
- package/dist/types/wrappers/angular/services.d.ts +2 -0
- package/dist/types/wrappers/angular/services.d.ts.map +1 -0
- package/dist/types/wrappers/angular/types.d.ts +44 -0
- package/dist/types/wrappers/angular/types.d.ts.map +1 -0
- package/dist/types/wrappers/react/components.d.ts +2 -0
- package/dist/types/wrappers/react/components.d.ts.map +1 -0
- package/dist/types/wrappers/react/hooks.d.ts +2 -0
- package/dist/types/wrappers/react/hooks.d.ts.map +1 -0
- package/dist/types/wrappers/react/index.d.ts +6 -0
- package/dist/types/wrappers/react/index.d.ts.map +1 -0
- package/dist/types/wrappers/react/provider.d.ts +2 -0
- package/dist/types/wrappers/react/provider.d.ts.map +1 -0
- package/dist/types/wrappers/react/types.d.ts +31 -0
- package/dist/types/wrappers/react/types.d.ts.map +1 -0
- package/dist/types/wrappers/vue/components.d.ts +2 -0
- package/dist/types/wrappers/vue/components.d.ts.map +1 -0
- package/dist/types/wrappers/vue/composables.d.ts +2 -0
- package/dist/types/wrappers/vue/composables.d.ts.map +1 -0
- package/dist/types/wrappers/vue/index.d.ts +6 -0
- package/dist/types/wrappers/vue/index.d.ts.map +1 -0
- package/dist/types/wrappers/vue/plugin.d.ts +2 -0
- package/dist/types/wrappers/vue/plugin.d.ts.map +1 -0
- package/dist/types/wrappers/vue/types.d.ts +38 -0
- package/dist/types/wrappers/vue/types.d.ts.map +1 -0
- package/package.json +138 -0
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
export interface ThemeDefinition {
|
|
2
|
+
meta: ThemeMeta;
|
|
3
|
+
colors: ThemeColors;
|
|
4
|
+
typography: ThemeTypography;
|
|
5
|
+
spacing: ThemeSpacing;
|
|
6
|
+
borderRadius: ThemeBorderRadius;
|
|
7
|
+
shadows: ThemeShadows;
|
|
8
|
+
transitions: ThemeTransitions;
|
|
9
|
+
breakpoints: ThemeBreakpoints;
|
|
10
|
+
}
|
|
11
|
+
export interface ThemeMeta {
|
|
12
|
+
name: string;
|
|
13
|
+
displayName: string;
|
|
14
|
+
version: string;
|
|
15
|
+
description: string;
|
|
16
|
+
author: string;
|
|
17
|
+
tags: string[];
|
|
18
|
+
preview?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ThemeColors {
|
|
21
|
+
primary: ColorPalette;
|
|
22
|
+
secondary: ColorPalette;
|
|
23
|
+
success: ColorPalette;
|
|
24
|
+
warning: ColorPalette;
|
|
25
|
+
error: ColorPalette;
|
|
26
|
+
info: ColorPalette;
|
|
27
|
+
neutral: ColorPalette;
|
|
28
|
+
background: string;
|
|
29
|
+
surface: string;
|
|
30
|
+
surfaceVariant: string;
|
|
31
|
+
surfaceHover: string;
|
|
32
|
+
surfaceActive: string;
|
|
33
|
+
text: string;
|
|
34
|
+
textMuted: string;
|
|
35
|
+
textInverse: string;
|
|
36
|
+
onPrimary: string;
|
|
37
|
+
onSecondary: string;
|
|
38
|
+
onSurface: string;
|
|
39
|
+
onBackground: string;
|
|
40
|
+
border: string;
|
|
41
|
+
borderVariant: string;
|
|
42
|
+
borderHover: string;
|
|
43
|
+
borderFocus: string;
|
|
44
|
+
hover: string;
|
|
45
|
+
focus: string;
|
|
46
|
+
active: string;
|
|
47
|
+
disabled: string;
|
|
48
|
+
overlay: string;
|
|
49
|
+
backdrop: string;
|
|
50
|
+
}
|
|
51
|
+
export interface ColorPalette {
|
|
52
|
+
50: string;
|
|
53
|
+
100: string;
|
|
54
|
+
200: string;
|
|
55
|
+
300: string;
|
|
56
|
+
400: string;
|
|
57
|
+
500: string;
|
|
58
|
+
600: string;
|
|
59
|
+
700: string;
|
|
60
|
+
800: string;
|
|
61
|
+
900: string;
|
|
62
|
+
950?: string;
|
|
63
|
+
}
|
|
64
|
+
export interface ThemeTypography {
|
|
65
|
+
fontFamily: FontFamilyScale;
|
|
66
|
+
fontSize: FontSizeScale;
|
|
67
|
+
fontWeight: FontWeightScale;
|
|
68
|
+
lineHeight: LineHeightScale;
|
|
69
|
+
letterSpacing: LetterSpacingScale;
|
|
70
|
+
}
|
|
71
|
+
export interface FontFamilyScale {
|
|
72
|
+
sans: string[];
|
|
73
|
+
serif: string[];
|
|
74
|
+
mono: string[];
|
|
75
|
+
display?: string[];
|
|
76
|
+
}
|
|
77
|
+
export interface FontSizeScale {
|
|
78
|
+
xs: string;
|
|
79
|
+
sm: string;
|
|
80
|
+
base: string;
|
|
81
|
+
lg: string;
|
|
82
|
+
xl: string;
|
|
83
|
+
'2xl': string;
|
|
84
|
+
'3xl': string;
|
|
85
|
+
'4xl': string;
|
|
86
|
+
'5xl': string;
|
|
87
|
+
'6xl': string;
|
|
88
|
+
'7xl': string;
|
|
89
|
+
'8xl': string;
|
|
90
|
+
'9xl': string;
|
|
91
|
+
}
|
|
92
|
+
export interface FontWeightScale {
|
|
93
|
+
thin: number;
|
|
94
|
+
extralight: number;
|
|
95
|
+
light: number;
|
|
96
|
+
normal: number;
|
|
97
|
+
medium: number;
|
|
98
|
+
semibold: number;
|
|
99
|
+
bold: number;
|
|
100
|
+
extrabold: number;
|
|
101
|
+
black: number;
|
|
102
|
+
}
|
|
103
|
+
export interface LineHeightScale {
|
|
104
|
+
none: number;
|
|
105
|
+
tight: number;
|
|
106
|
+
snug: number;
|
|
107
|
+
normal: number;
|
|
108
|
+
relaxed: number;
|
|
109
|
+
loose: number;
|
|
110
|
+
}
|
|
111
|
+
export interface LetterSpacingScale {
|
|
112
|
+
tighter: string;
|
|
113
|
+
tight: string;
|
|
114
|
+
normal: string;
|
|
115
|
+
wide: string;
|
|
116
|
+
wider: string;
|
|
117
|
+
widest: string;
|
|
118
|
+
}
|
|
119
|
+
export interface ThemeSpacing {
|
|
120
|
+
0: string;
|
|
121
|
+
px: string;
|
|
122
|
+
0.5: string;
|
|
123
|
+
1: string;
|
|
124
|
+
1.5: string;
|
|
125
|
+
2: string;
|
|
126
|
+
2.5: string;
|
|
127
|
+
3: string;
|
|
128
|
+
3.5: string;
|
|
129
|
+
4: string;
|
|
130
|
+
5: string;
|
|
131
|
+
6: string;
|
|
132
|
+
7: string;
|
|
133
|
+
8: string;
|
|
134
|
+
9: string;
|
|
135
|
+
10: string;
|
|
136
|
+
11: string;
|
|
137
|
+
12: string;
|
|
138
|
+
14: string;
|
|
139
|
+
16: string;
|
|
140
|
+
20: string;
|
|
141
|
+
24: string;
|
|
142
|
+
28: string;
|
|
143
|
+
32: string;
|
|
144
|
+
36: string;
|
|
145
|
+
40: string;
|
|
146
|
+
44: string;
|
|
147
|
+
48: string;
|
|
148
|
+
52: string;
|
|
149
|
+
56: string;
|
|
150
|
+
60: string;
|
|
151
|
+
64: string;
|
|
152
|
+
72: string;
|
|
153
|
+
80: string;
|
|
154
|
+
96: string;
|
|
155
|
+
}
|
|
156
|
+
export interface ThemeBorderRadius {
|
|
157
|
+
none: string;
|
|
158
|
+
sm: string;
|
|
159
|
+
base: string;
|
|
160
|
+
md: string;
|
|
161
|
+
lg: string;
|
|
162
|
+
xl: string;
|
|
163
|
+
'2xl': string;
|
|
164
|
+
'3xl': string;
|
|
165
|
+
full: string;
|
|
166
|
+
}
|
|
167
|
+
export interface ThemeShadows {
|
|
168
|
+
none: string;
|
|
169
|
+
sm: string;
|
|
170
|
+
base: string;
|
|
171
|
+
md: string;
|
|
172
|
+
lg: string;
|
|
173
|
+
xl: string;
|
|
174
|
+
'2xl': string;
|
|
175
|
+
inner: string;
|
|
176
|
+
}
|
|
177
|
+
export interface ThemeTransitions {
|
|
178
|
+
none: string;
|
|
179
|
+
all: string;
|
|
180
|
+
fast: string;
|
|
181
|
+
normal: string;
|
|
182
|
+
slow: string;
|
|
183
|
+
colors: string;
|
|
184
|
+
opacity: string;
|
|
185
|
+
shadow: string;
|
|
186
|
+
transform: string;
|
|
187
|
+
}
|
|
188
|
+
export interface ThemeBreakpoints {
|
|
189
|
+
xs: string;
|
|
190
|
+
sm: string;
|
|
191
|
+
md: string;
|
|
192
|
+
lg: string;
|
|
193
|
+
xl: string;
|
|
194
|
+
'2xl': string;
|
|
195
|
+
}
|
|
196
|
+
export interface ComponentThemeOverrides {
|
|
197
|
+
[componentName: string]: ComponentThemeConfig;
|
|
198
|
+
}
|
|
199
|
+
export interface ComponentThemeConfig {
|
|
200
|
+
base?: CSSProperties;
|
|
201
|
+
variants?: {
|
|
202
|
+
[variantName: string]: CSSProperties;
|
|
203
|
+
};
|
|
204
|
+
sizes?: {
|
|
205
|
+
[sizeName: string]: CSSProperties;
|
|
206
|
+
};
|
|
207
|
+
states?: {
|
|
208
|
+
[stateName: string]: CSSProperties;
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
export interface ThemeSystem {
|
|
212
|
+
registerTheme(theme: ThemeDefinition): void;
|
|
213
|
+
unregisterTheme(name: string): void;
|
|
214
|
+
setTheme(name: string, container?: Element): void;
|
|
215
|
+
getTheme(name?: string): ThemeDefinition | undefined;
|
|
216
|
+
getCurrentTheme(): string;
|
|
217
|
+
getAvailableThemes(): string[];
|
|
218
|
+
generateCSSVariables(theme: ThemeDefinition): Record<string, string>;
|
|
219
|
+
applyThemeToElement(element: Element, themeName: string): void;
|
|
220
|
+
removeThemeFromElement(element: Element): void;
|
|
221
|
+
getColorValue(colorPath: string, theme?: string): string;
|
|
222
|
+
generateColorPalette(baseColor: string): ColorPalette;
|
|
223
|
+
getContrastColor(backgroundColor: string): string;
|
|
224
|
+
onThemeChange(callback: (oldTheme: string, newTheme: string) => void): void;
|
|
225
|
+
offThemeChange(callback: (oldTheme: string, newTheme: string) => void): void;
|
|
226
|
+
}
|
|
227
|
+
export type BuiltInTheme = 'modern' | 'classic' | 'bold' | 'soft' | 'dark';
|
|
228
|
+
export interface BuiltInThemes {
|
|
229
|
+
modern: ThemeDefinition;
|
|
230
|
+
classic: ThemeDefinition;
|
|
231
|
+
bold: ThemeDefinition;
|
|
232
|
+
soft: ThemeDefinition;
|
|
233
|
+
dark: ThemeDefinition;
|
|
234
|
+
}
|
|
235
|
+
export interface ThemeBuilder {
|
|
236
|
+
setMeta(meta: Partial<ThemeMeta>): ThemeBuilder;
|
|
237
|
+
setPrimaryColor(color: string): ThemeBuilder;
|
|
238
|
+
setSecondaryColor(color: string): ThemeBuilder;
|
|
239
|
+
setSemanticColors(colors: Partial<Pick<ThemeColors, 'success' | 'warning' | 'error' | 'info'>>): ThemeBuilder;
|
|
240
|
+
setNeutralPalette(palette: ColorPalette): ThemeBuilder;
|
|
241
|
+
setSurfaceColors(colors: Partial<Pick<ThemeColors, 'background' | 'surface' | 'surfaceVariant'>>): ThemeBuilder;
|
|
242
|
+
setFontFamily(family: Partial<FontFamilyScale>): ThemeBuilder;
|
|
243
|
+
setFontSizes(sizes: Partial<FontSizeScale>): ThemeBuilder;
|
|
244
|
+
setFontWeights(weights: Partial<FontWeightScale>): ThemeBuilder;
|
|
245
|
+
setSpacing(spacing: Partial<ThemeSpacing>): ThemeBuilder;
|
|
246
|
+
setBorderRadius(radius: Partial<ThemeBorderRadius>): ThemeBuilder;
|
|
247
|
+
setShadows(shadows: Partial<ThemeShadows>): ThemeBuilder;
|
|
248
|
+
setComponentTheme(component: string, config: ComponentThemeConfig): ThemeBuilder;
|
|
249
|
+
build(): ThemeDefinition;
|
|
250
|
+
}
|
|
251
|
+
export interface ThemeValidationResult {
|
|
252
|
+
valid: boolean;
|
|
253
|
+
errors: ThemeValidationError[];
|
|
254
|
+
warnings: ThemeValidationWarning[];
|
|
255
|
+
}
|
|
256
|
+
export interface ThemeValidationError {
|
|
257
|
+
path: string;
|
|
258
|
+
message: string;
|
|
259
|
+
code: string;
|
|
260
|
+
}
|
|
261
|
+
export interface ThemeValidationWarning {
|
|
262
|
+
path: string;
|
|
263
|
+
message: string;
|
|
264
|
+
code: string;
|
|
265
|
+
}
|
|
266
|
+
export interface ThemeValidator {
|
|
267
|
+
validate(theme: ThemeDefinition): ThemeValidationResult;
|
|
268
|
+
validateColors(colors: ThemeColors): ThemeValidationError[];
|
|
269
|
+
validateTypography(typography: ThemeTypography): ThemeValidationError[];
|
|
270
|
+
validateAccessibility(theme: ThemeDefinition): ThemeValidationWarning[];
|
|
271
|
+
}
|
|
272
|
+
export interface CSSProperties extends Partial<CSSStyleDeclaration> {
|
|
273
|
+
[key: `--${string}`]: string | number;
|
|
274
|
+
}
|
|
275
|
+
export interface ThemeContext {
|
|
276
|
+
theme: ThemeDefinition;
|
|
277
|
+
themeName: string;
|
|
278
|
+
setTheme: (name: string) => void;
|
|
279
|
+
toggleTheme: () => void;
|
|
280
|
+
isDark: boolean;
|
|
281
|
+
isLight: boolean;
|
|
282
|
+
}
|
|
283
|
+
export interface ThemeProviderProps {
|
|
284
|
+
theme?: string;
|
|
285
|
+
themes?: Record<string, ThemeDefinition>;
|
|
286
|
+
defaultTheme?: string;
|
|
287
|
+
storageKey?: string;
|
|
288
|
+
children?: HTMLElement[];
|
|
289
|
+
}
|
|
290
|
+
export interface ThemeProvider {
|
|
291
|
+
provide(props: ThemeProviderProps): void;
|
|
292
|
+
getContext(): ThemeContext;
|
|
293
|
+
updateTheme(name: string): void;
|
|
294
|
+
addTheme(name: string, theme: ThemeDefinition): void;
|
|
295
|
+
removeTheme(name: string): void;
|
|
296
|
+
}
|
|
297
|
+
export interface ThemeUtils {
|
|
298
|
+
hexToRgb(hex: string): {
|
|
299
|
+
r: number;
|
|
300
|
+
g: number;
|
|
301
|
+
b: number;
|
|
302
|
+
};
|
|
303
|
+
rgbToHex(r: number, g: number, b: number): string;
|
|
304
|
+
hslToRgb(h: number, s: number, l: number): {
|
|
305
|
+
r: number;
|
|
306
|
+
g: number;
|
|
307
|
+
b: number;
|
|
308
|
+
};
|
|
309
|
+
rgbToHsl(r: number, g: number, b: number): {
|
|
310
|
+
h: number;
|
|
311
|
+
s: number;
|
|
312
|
+
l: number;
|
|
313
|
+
};
|
|
314
|
+
getContrastRatio(color1: string, color2: string): number;
|
|
315
|
+
isAccessible(foreground: string, background: string, level?: 'AA' | 'AAA'): boolean;
|
|
316
|
+
generateShades(baseColor: string, steps?: number): string[];
|
|
317
|
+
generateTints(baseColor: string, steps?: number): string[];
|
|
318
|
+
generateAnalogous(baseColor: string, count?: number): string[];
|
|
319
|
+
generateComplementary(baseColor: string): string;
|
|
320
|
+
generateTriadic(baseColor: string): [string, string];
|
|
321
|
+
mergeThemes(base: ThemeDefinition, override: Partial<ThemeDefinition>): ThemeDefinition;
|
|
322
|
+
extractCSSVariables(theme: ThemeDefinition): Record<string, string>;
|
|
323
|
+
generateThemeCSS(theme: ThemeDefinition): string;
|
|
324
|
+
}
|
|
325
|
+
//# sourceMappingURL=themes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../../src/types/themes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
export interface PerformanceManager {
|
|
2
|
+
scheduleUpdate(component: HTMLElement): void;
|
|
3
|
+
flushUpdates(): void;
|
|
4
|
+
debounce<T extends (...args: any[]) => void>(func: T, wait: number): (...args: Parameters<T>) => void;
|
|
5
|
+
throttle<T extends (...args: any[]) => void>(func: T, wait: number): (...args: Parameters<T>) => void;
|
|
6
|
+
observeElement(element: HTMLElement, callback: (entry: IntersectionObserverEntry) => void): void;
|
|
7
|
+
unobserveElement(element: HTMLElement): void;
|
|
8
|
+
cleanup(component: HTMLElement): void;
|
|
9
|
+
getMemoryUsage(): PerformanceMetrics;
|
|
10
|
+
}
|
|
11
|
+
export interface PerformanceMetrics {
|
|
12
|
+
renderTime: number;
|
|
13
|
+
updateTime: number;
|
|
14
|
+
memoryUsage: number;
|
|
15
|
+
domNodes: number;
|
|
16
|
+
eventListeners: number;
|
|
17
|
+
}
|
|
18
|
+
export interface AccessibilityManager {
|
|
19
|
+
setAriaAttributes(element: HTMLElement, attributes: AriaAttributes): void;
|
|
20
|
+
getAriaAttributes(element: HTMLElement): AriaAttributes;
|
|
21
|
+
trapFocus(container: HTMLElement): FocusTrap;
|
|
22
|
+
restoreFocus(element?: HTMLElement): void;
|
|
23
|
+
getFocusableElements(container: HTMLElement): HTMLElement[];
|
|
24
|
+
addKeyboardHandler(element: HTMLElement, config: KeyboardConfig): void;
|
|
25
|
+
removeKeyboardHandler(element: HTMLElement): void;
|
|
26
|
+
announce(message: string, priority?: 'polite' | 'assertive'): void;
|
|
27
|
+
setLiveRegion(element: HTMLElement, type: 'polite' | 'assertive' | 'off'): void;
|
|
28
|
+
checkContrast(foreground: string, background: string): ContrastResult;
|
|
29
|
+
getAccessibleColor(color: string, background: string, level?: 'AA' | 'AAA'): string;
|
|
30
|
+
}
|
|
31
|
+
export interface AriaAttributes {
|
|
32
|
+
role?: string;
|
|
33
|
+
label?: string;
|
|
34
|
+
labelledby?: string;
|
|
35
|
+
describedby?: string;
|
|
36
|
+
expanded?: boolean;
|
|
37
|
+
selected?: boolean;
|
|
38
|
+
checked?: boolean;
|
|
39
|
+
disabled?: boolean;
|
|
40
|
+
hidden?: boolean;
|
|
41
|
+
modal?: boolean;
|
|
42
|
+
live?: 'polite' | 'assertive' | 'off';
|
|
43
|
+
atomic?: boolean;
|
|
44
|
+
relevant?: string;
|
|
45
|
+
busy?: boolean;
|
|
46
|
+
controls?: string;
|
|
47
|
+
owns?: string;
|
|
48
|
+
flowto?: string;
|
|
49
|
+
activedescendant?: string;
|
|
50
|
+
autocomplete?: string;
|
|
51
|
+
haspopup?: boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';
|
|
52
|
+
invalid?: boolean | 'grammar' | 'spelling';
|
|
53
|
+
multiline?: boolean;
|
|
54
|
+
multiselectable?: boolean;
|
|
55
|
+
orientation?: 'horizontal' | 'vertical';
|
|
56
|
+
readonly?: boolean;
|
|
57
|
+
required?: boolean;
|
|
58
|
+
sort?: 'ascending' | 'descending' | 'none' | 'other';
|
|
59
|
+
valuemax?: number;
|
|
60
|
+
valuemin?: number;
|
|
61
|
+
valuenow?: number;
|
|
62
|
+
valuetext?: string;
|
|
63
|
+
level?: number;
|
|
64
|
+
posinset?: number;
|
|
65
|
+
setsize?: number;
|
|
66
|
+
rowcount?: number;
|
|
67
|
+
rowindex?: number;
|
|
68
|
+
rowspan?: number;
|
|
69
|
+
colcount?: number;
|
|
70
|
+
colindex?: number;
|
|
71
|
+
colspan?: number;
|
|
72
|
+
}
|
|
73
|
+
export interface FocusTrap {
|
|
74
|
+
activate(): void;
|
|
75
|
+
deactivate(): void;
|
|
76
|
+
pause(): void;
|
|
77
|
+
unpause(): void;
|
|
78
|
+
}
|
|
79
|
+
export interface KeyboardConfig {
|
|
80
|
+
keys: string[];
|
|
81
|
+
handler: (event: KeyboardEvent, element: HTMLElement) => void;
|
|
82
|
+
preventDefault?: boolean;
|
|
83
|
+
stopPropagation?: boolean;
|
|
84
|
+
capture?: boolean;
|
|
85
|
+
}
|
|
86
|
+
export interface ContrastResult {
|
|
87
|
+
ratio: number;
|
|
88
|
+
level: 'AAA' | 'AA' | 'A' | 'FAIL';
|
|
89
|
+
accessible: boolean;
|
|
90
|
+
}
|
|
91
|
+
export interface ValidationManager {
|
|
92
|
+
addRule(name: string, rule: ValidationRule): void;
|
|
93
|
+
removeRule(name: string): void;
|
|
94
|
+
validate(value: any, rules: string[] | ValidationRule[]): ValidationResult;
|
|
95
|
+
required(value: any): boolean;
|
|
96
|
+
minLength(value: string, min: number): boolean;
|
|
97
|
+
maxLength(value: string, max: number): boolean;
|
|
98
|
+
pattern(value: string, pattern: RegExp): boolean;
|
|
99
|
+
email(value: string): boolean;
|
|
100
|
+
url(value: string): boolean;
|
|
101
|
+
number(value: any): boolean;
|
|
102
|
+
integer(value: any): boolean;
|
|
103
|
+
min(value: number, min: number): boolean;
|
|
104
|
+
max(value: number, max: number): boolean;
|
|
105
|
+
custom(value: any, validator: (value: any) => boolean | string): boolean | string;
|
|
106
|
+
}
|
|
107
|
+
export interface ValidationRule {
|
|
108
|
+
type: 'required' | 'minLength' | 'maxLength' | 'pattern' | 'email' | 'url' | 'number' | 'integer' | 'min' | 'max' | 'custom';
|
|
109
|
+
value?: any;
|
|
110
|
+
message: string;
|
|
111
|
+
validator?: (value: any) => boolean | string;
|
|
112
|
+
}
|
|
113
|
+
export interface ValidationResult {
|
|
114
|
+
valid: boolean;
|
|
115
|
+
errors: ValidationError[];
|
|
116
|
+
}
|
|
117
|
+
export interface ValidationError {
|
|
118
|
+
field?: string;
|
|
119
|
+
rule: string;
|
|
120
|
+
message: string;
|
|
121
|
+
value?: any;
|
|
122
|
+
}
|
|
123
|
+
export interface EventManager {
|
|
124
|
+
delegate(container: HTMLElement, selector: string, event: string, handler: EventListener): void;
|
|
125
|
+
undelegate(container: HTMLElement, selector: string, event: string, handler: EventListener): void;
|
|
126
|
+
emit(element: HTMLElement, eventName: string, detail?: any): boolean;
|
|
127
|
+
on(element: HTMLElement, eventName: string, handler: EventListener): void;
|
|
128
|
+
off(element: HTMLElement, eventName: string, handler: EventListener): void;
|
|
129
|
+
once(element: HTMLElement, eventName: string, handler: EventListener): void;
|
|
130
|
+
preventDefault(event: Event): void;
|
|
131
|
+
stopPropagation(event: Event): void;
|
|
132
|
+
stopImmediatePropagation(event: Event): void;
|
|
133
|
+
addTouchSupport(element: HTMLElement, config: TouchConfig): void;
|
|
134
|
+
removeTouchSupport(element: HTMLElement): void;
|
|
135
|
+
}
|
|
136
|
+
export interface TouchConfig {
|
|
137
|
+
swipe?: {
|
|
138
|
+
threshold?: number;
|
|
139
|
+
onSwipeLeft?: (event: TouchEvent) => void;
|
|
140
|
+
onSwipeRight?: (event: TouchEvent) => void;
|
|
141
|
+
onSwipeUp?: (event: TouchEvent) => void;
|
|
142
|
+
onSwipeDown?: (event: TouchEvent) => void;
|
|
143
|
+
};
|
|
144
|
+
tap?: {
|
|
145
|
+
threshold?: number;
|
|
146
|
+
onTap?: (event: TouchEvent) => void;
|
|
147
|
+
onDoubleTap?: (event: TouchEvent) => void;
|
|
148
|
+
onLongPress?: (event: TouchEvent) => void;
|
|
149
|
+
};
|
|
150
|
+
pinch?: {
|
|
151
|
+
onPinchStart?: (event: TouchEvent) => void;
|
|
152
|
+
onPinchMove?: (event: TouchEvent, scale: number) => void;
|
|
153
|
+
onPinchEnd?: (event: TouchEvent) => void;
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
export interface DOMManager {
|
|
157
|
+
createElement<K extends keyof HTMLElementTagNameMap>(tagName: K, attributes?: Record<string, string>, children?: (HTMLElement | string)[]): HTMLElementTagNameMap[K];
|
|
158
|
+
query(selector: string, context?: HTMLElement): HTMLElement | null;
|
|
159
|
+
queryAll(selector: string, context?: HTMLElement): HTMLElement[];
|
|
160
|
+
closest(element: HTMLElement, selector: string): HTMLElement | null;
|
|
161
|
+
matches(element: HTMLElement, selector: string): boolean;
|
|
162
|
+
addClass(element: HTMLElement, className: string): void;
|
|
163
|
+
removeClass(element: HTMLElement, className: string): void;
|
|
164
|
+
toggleClass(element: HTMLElement, className: string, force?: boolean): void;
|
|
165
|
+
hasClass(element: HTMLElement, className: string): boolean;
|
|
166
|
+
setAttribute(element: HTMLElement, name: string, value: string): void;
|
|
167
|
+
getAttribute(element: HTMLElement, name: string): string | null;
|
|
168
|
+
removeAttribute(element: HTMLElement, name: string): void;
|
|
169
|
+
hasAttribute(element: HTMLElement, name: string): boolean;
|
|
170
|
+
setStyle(element: HTMLElement, property: string, value: string): void;
|
|
171
|
+
getStyle(element: HTMLElement, property: string): string;
|
|
172
|
+
setStyles(element: HTMLElement, styles: Record<string, string>): void;
|
|
173
|
+
getOffset(element: HTMLElement): {
|
|
174
|
+
top: number;
|
|
175
|
+
left: number;
|
|
176
|
+
};
|
|
177
|
+
getPosition(element: HTMLElement): {
|
|
178
|
+
top: number;
|
|
179
|
+
left: number;
|
|
180
|
+
};
|
|
181
|
+
getDimensions(element: HTMLElement): {
|
|
182
|
+
width: number;
|
|
183
|
+
height: number;
|
|
184
|
+
};
|
|
185
|
+
getBoundingRect(element: HTMLElement): DOMRect;
|
|
186
|
+
isVisible(element: HTMLElement): boolean;
|
|
187
|
+
isInViewport(element: HTMLElement): boolean;
|
|
188
|
+
scrollIntoView(element: HTMLElement, options?: ScrollIntoViewOptions): void;
|
|
189
|
+
}
|
|
190
|
+
export interface StorageManager {
|
|
191
|
+
setLocal(key: string, value: any): void;
|
|
192
|
+
getLocal<T = any>(key: string, defaultValue?: T): T;
|
|
193
|
+
removeLocal(key: string): void;
|
|
194
|
+
clearLocal(): void;
|
|
195
|
+
setSession(key: string, value: any): void;
|
|
196
|
+
getSession<T = any>(key: string, defaultValue?: T): T;
|
|
197
|
+
removeSession(key: string): void;
|
|
198
|
+
clearSession(): void;
|
|
199
|
+
setMemory(key: string, value: any): void;
|
|
200
|
+
getMemory<T = any>(key: string, defaultValue?: T): T;
|
|
201
|
+
removeMemory(key: string): void;
|
|
202
|
+
clearMemory(): void;
|
|
203
|
+
onStorageChange(callback: (event: StorageEvent) => void): void;
|
|
204
|
+
offStorageChange(callback: (event: StorageEvent) => void): void;
|
|
205
|
+
}
|
|
206
|
+
export interface AnimationManager {
|
|
207
|
+
animate(element: HTMLElement, keyframes: Keyframe[], options?: KeyframeAnimationOptions): Animation;
|
|
208
|
+
fadeIn(element: HTMLElement, duration?: number): Animation;
|
|
209
|
+
fadeOut(element: HTMLElement, duration?: number): Animation;
|
|
210
|
+
slideIn(element: HTMLElement, direction?: 'up' | 'down' | 'left' | 'right', duration?: number): Animation;
|
|
211
|
+
slideOut(element: HTMLElement, direction?: 'up' | 'down' | 'left' | 'right', duration?: number): Animation;
|
|
212
|
+
transition(element: HTMLElement, properties: Record<string, string>, duration?: number): Promise<void>;
|
|
213
|
+
pauseAnimation(animation: Animation): void;
|
|
214
|
+
resumeAnimation(animation: Animation): void;
|
|
215
|
+
cancelAnimation(animation: Animation): void;
|
|
216
|
+
easeInOut(t: number): number;
|
|
217
|
+
easeIn(t: number): number;
|
|
218
|
+
easeOut(t: number): number;
|
|
219
|
+
linear(t: number): number;
|
|
220
|
+
bounce(t: number): number;
|
|
221
|
+
}
|
|
222
|
+
export interface HTTPManager {
|
|
223
|
+
get<T = any>(url: string, options?: RequestOptions): Promise<T>;
|
|
224
|
+
post<T = any>(url: string, data?: any, options?: RequestOptions): Promise<T>;
|
|
225
|
+
put<T = any>(url: string, data?: any, options?: RequestOptions): Promise<T>;
|
|
226
|
+
patch<T = any>(url: string, data?: any, options?: RequestOptions): Promise<T>;
|
|
227
|
+
delete<T = any>(url: string, options?: RequestOptions): Promise<T>;
|
|
228
|
+
setBaseURL(url: string): void;
|
|
229
|
+
setDefaultHeaders(headers: Record<string, string>): void;
|
|
230
|
+
addInterceptor(interceptor: RequestInterceptor): void;
|
|
231
|
+
removeInterceptor(interceptor: RequestInterceptor): void;
|
|
232
|
+
uploadFile(url: string, file: File, options?: UploadOptions): Promise<any>;
|
|
233
|
+
uploadFiles(url: string, files: File[], options?: UploadOptions): Promise<any>;
|
|
234
|
+
}
|
|
235
|
+
export interface RequestOptions {
|
|
236
|
+
headers?: Record<string, string>;
|
|
237
|
+
timeout?: number;
|
|
238
|
+
credentials?: RequestCredentials;
|
|
239
|
+
cache?: RequestCache;
|
|
240
|
+
redirect?: RequestRedirect;
|
|
241
|
+
referrer?: string;
|
|
242
|
+
referrerPolicy?: ReferrerPolicy;
|
|
243
|
+
integrity?: string;
|
|
244
|
+
keepalive?: boolean;
|
|
245
|
+
signal?: AbortSignal;
|
|
246
|
+
}
|
|
247
|
+
export interface RequestInterceptor {
|
|
248
|
+
request?: (config: RequestOptions) => RequestOptions | Promise<RequestOptions>;
|
|
249
|
+
response?: (response: Response) => Response | Promise<Response>;
|
|
250
|
+
error?: (error: Error) => Error | Promise<Error>;
|
|
251
|
+
}
|
|
252
|
+
export interface UploadOptions extends RequestOptions {
|
|
253
|
+
onProgress?: (progress: UploadProgress) => void;
|
|
254
|
+
fieldName?: string;
|
|
255
|
+
additionalData?: Record<string, any>;
|
|
256
|
+
}
|
|
257
|
+
export interface UploadProgress {
|
|
258
|
+
loaded: number;
|
|
259
|
+
total: number;
|
|
260
|
+
percentage: number;
|
|
261
|
+
}
|
|
262
|
+
export interface UtilityFunctions {
|
|
263
|
+
isString(value: any): value is string;
|
|
264
|
+
isNumber(value: any): value is number;
|
|
265
|
+
isBoolean(value: any): value is boolean;
|
|
266
|
+
isObject(value: any): value is object;
|
|
267
|
+
isArray(value: any): value is any[];
|
|
268
|
+
isFunction(value: any): value is Function;
|
|
269
|
+
isNull(value: any): value is null;
|
|
270
|
+
isUndefined(value: any): value is undefined;
|
|
271
|
+
isEmpty(value: any): boolean;
|
|
272
|
+
clone<T>(obj: T): T;
|
|
273
|
+
merge<T, U>(target: T, source: U): T & U;
|
|
274
|
+
pick<T, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
|
|
275
|
+
omit<T, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
|
|
276
|
+
unique<T>(array: T[]): T[];
|
|
277
|
+
flatten<T>(array: (T | T[])[]): T[];
|
|
278
|
+
chunk<T>(array: T[], size: number): T[][];
|
|
279
|
+
shuffle<T>(array: T[]): T[];
|
|
280
|
+
capitalize(str: string): string;
|
|
281
|
+
camelCase(str: string): string;
|
|
282
|
+
kebabCase(str: string): string;
|
|
283
|
+
snakeCase(str: string): string;
|
|
284
|
+
truncate(str: string, length: number, suffix?: string): string;
|
|
285
|
+
clamp(value: number, min: number, max: number): number;
|
|
286
|
+
random(min: number, max: number): number;
|
|
287
|
+
round(value: number, precision?: number): number;
|
|
288
|
+
formatDate(date: Date, format: string): string;
|
|
289
|
+
parseDate(dateString: string, format?: string): Date;
|
|
290
|
+
addDays(date: Date, days: number): Date;
|
|
291
|
+
diffDays(date1: Date, date2: Date): number;
|
|
292
|
+
}
|
|
293
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/types/utils.ts"],"names":[],"mappings":"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"}
|