kimu-core 0.4.1 → 0.4.2

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 (67) hide show
  1. package/.editorconfig +116 -30
  2. package/.gitattributes +81 -11
  3. package/.github/FUNDING.yml +8 -8
  4. package/.github/kimu-copilot-instructions.md +3779 -3779
  5. package/.github/workflows/deploy-demo.yml +39 -39
  6. package/.nvmrc +1 -0
  7. package/.prettierignore +44 -0
  8. package/.prettierrc +16 -0
  9. package/FUNDING.md +31 -31
  10. package/icon.svg +10 -10
  11. package/package.json +9 -2
  12. package/scripts/minify-css-assets.js +82 -82
  13. package/src/core/index.ts +47 -47
  14. package/src/core/kimu-global-styles.ts +136 -136
  15. package/src/core/kimu-reactive.ts +196 -196
  16. package/src/modules-repository/api-axios/CHANGELOG.md +48 -48
  17. package/src/modules-repository/api-axios/QUICK-REFERENCE.md +178 -178
  18. package/src/modules-repository/api-axios/README.md +304 -304
  19. package/src/modules-repository/api-axios/api-axios-service.ts +355 -355
  20. package/src/modules-repository/api-axios/examples.ts +293 -293
  21. package/src/modules-repository/api-axios/index.ts +19 -19
  22. package/src/modules-repository/api-axios/interfaces.ts +71 -71
  23. package/src/modules-repository/api-axios/module.ts +41 -41
  24. package/src/modules-repository/api-core/CHANGELOG.md +42 -42
  25. package/src/modules-repository/api-core/QUICK-REFERENCE.md +192 -192
  26. package/src/modules-repository/api-core/README.md +435 -435
  27. package/src/modules-repository/api-core/api-core-service.ts +289 -289
  28. package/src/modules-repository/api-core/examples.ts +432 -432
  29. package/src/modules-repository/api-core/index.ts +8 -8
  30. package/src/modules-repository/api-core/interfaces.ts +83 -83
  31. package/src/modules-repository/api-core/module.ts +30 -30
  32. package/src/modules-repository/event-bus/README.md +273 -273
  33. package/src/modules-repository/event-bus/event-bus-service.ts +176 -176
  34. package/src/modules-repository/event-bus/module.ts +30 -30
  35. package/src/modules-repository/notification/README.md +423 -423
  36. package/src/modules-repository/notification/module.ts +30 -30
  37. package/src/modules-repository/notification/notification-service.ts +436 -436
  38. package/src/modules-repository/router/README.it.md +61 -10
  39. package/src/modules-repository/router/README.md +61 -10
  40. package/src/modules-repository/router/router-config.ts.example +61 -0
  41. package/src/modules-repository/router/router.ts +18 -0
  42. package/src/modules-repository/state/README.md +409 -409
  43. package/src/modules-repository/state/module.ts +30 -30
  44. package/src/modules-repository/state/state-service.ts +296 -296
  45. package/src/modules-repository/theme/README.md +311 -267
  46. package/src/modules-repository/theme/module.ts +30 -30
  47. package/src/modules-repository/theme/pre-build.js +40 -40
  48. package/src/modules-repository/theme/theme-service.ts +411 -389
  49. package/src/modules-repository/theme/themes/theme-cherry-blossom.css +78 -78
  50. package/src/modules-repository/theme/themes/theme-cozy.css +111 -111
  51. package/src/modules-repository/theme/themes/theme-cyberpunk.css +150 -150
  52. package/src/modules-repository/theme/themes/theme-dark.css +79 -79
  53. package/src/modules-repository/theme/themes/theme-forest.css +171 -171
  54. package/src/modules-repository/theme/themes/theme-gold.css +100 -100
  55. package/src/modules-repository/theme/themes/theme-high-contrast.css +126 -126
  56. package/src/modules-repository/theme/themes/theme-lava.css +101 -101
  57. package/src/modules-repository/theme/themes/theme-lavender.css +90 -90
  58. package/src/modules-repository/theme/themes/theme-light.css +79 -79
  59. package/src/modules-repository/theme/themes/theme-matrix.css +103 -103
  60. package/src/modules-repository/theme/themes/theme-midnight.css +81 -81
  61. package/src/modules-repository/theme/themes/theme-nord.css +94 -94
  62. package/src/modules-repository/theme/themes/theme-ocean.css +84 -84
  63. package/src/modules-repository/theme/themes/theme-retro80s.css +343 -343
  64. package/src/modules-repository/theme/themes/theme-sunset.css +62 -62
  65. package/src/modules-repository/theme/themes-config-default.json +19 -0
  66. package/src/modules-repository/theme/themes-config.d.ts +27 -27
  67. package/src/modules-repository/theme/{themes-config.json → themes-config.json.example} +223 -213
@@ -1,79 +1,79 @@
1
- /**
2
- * KIMU Dark Theme
3
- * Dark theme for low-light environments and reduced eye strain
4
- *
5
- * This file OVERRIDES the default CSS variables defined in style.css
6
- * When this theme is loaded, these values take precedence.
7
- */
8
-
9
- :root {
10
- /* Primary colors */
11
- --kimu-primary: #818cf8;
12
- --kimu-primary-light: #a5b4fc;
13
- --kimu-primary-dark: #667eea;
14
- --kimu-text-on-primary: #1a202c;
15
-
16
- /* Accent colors */
17
- --kimu-accent: #9f7aea;
18
- --kimu-accent-light: #b794f4;
19
- --kimu-accent-dark: #805ad5;
20
- --kimu-text-on-accent: #1a202c;
21
-
22
- /* Background colors */
23
- --kimu-background: #1a202c;
24
- --kimu-background-alt: #2d3748;
25
- --kimu-surface: #2d3748;
26
-
27
- /* Text colors */
28
- --kimu-text-primary: #f7fafc;
29
- --kimu-text-secondary: #e2e8f0;
30
- --kimu-text-disabled: #718096;
31
-
32
- /* Semantic colors */
33
- --kimu-success: #34d399;
34
- --kimu-success-light: #6ee7b7;
35
- --kimu-success-dark: #10b981;
36
-
37
- --kimu-warning: #fbbf24;
38
- --kimu-warning-light: #fcd34d;
39
- --kimu-warning-dark: #f59e0b;
40
-
41
- --kimu-error: #f87171;
42
- --kimu-error-light: #fca5a5;
43
- --kimu-error-dark: #ef4444;
44
-
45
- --kimu-info: #60a5fa;
46
- --kimu-info-light: #93c5fd;
47
- --kimu-info-dark: #3b82f6;
48
-
49
- /* Borders and dividers */
50
- --kimu-border: #4a5568;
51
- --kimu-divider: #374151;
52
-
53
- /* Shadows */
54
- --kimu-shadow: rgba(0, 0, 0, 0.3);
55
- --kimu-shadow-light: rgba(0, 0, 0, 0.2);
56
- --kimu-shadow-medium: rgba(0, 0, 0, 0.4);
57
- --kimu-shadow-heavy: rgba(0, 0, 0, 0.6);
58
-
59
- /* Additional UI colors */
60
- --kimu-card-bg: #2d3748;
61
- --kimu-card-border: #4a5568;
62
- --kimu-input-bg: #374151;
63
- --kimu-input-border: #4b5563;
64
- --kimu-input-focus: #818cf8;
65
-
66
- /* Navigation */
67
- --kimu-nav-bg: #1f2937;
68
- --kimu-nav-text: #e2e8f0;
69
- --kimu-nav-active: #818cf8;
70
-
71
- /* Footer */
72
- --kimu-footer-bg: #111827;
73
- --kimu-footer-text: #9ca3af;
74
- }
75
-
76
- /* Smooth transitions for theme changes */
77
- * {
78
- transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
79
- }
1
+ /**
2
+ * KIMU Dark Theme
3
+ * Dark theme for low-light environments and reduced eye strain
4
+ *
5
+ * This file OVERRIDES the default CSS variables defined in style.css
6
+ * When this theme is loaded, these values take precedence.
7
+ */
8
+
9
+ :root {
10
+ /* Primary colors */
11
+ --kimu-primary: #818cf8;
12
+ --kimu-primary-light: #a5b4fc;
13
+ --kimu-primary-dark: #667eea;
14
+ --kimu-text-on-primary: #1a202c;
15
+
16
+ /* Accent colors */
17
+ --kimu-accent: #9f7aea;
18
+ --kimu-accent-light: #b794f4;
19
+ --kimu-accent-dark: #805ad5;
20
+ --kimu-text-on-accent: #1a202c;
21
+
22
+ /* Background colors */
23
+ --kimu-background: #1a202c;
24
+ --kimu-background-alt: #2d3748;
25
+ --kimu-surface: #2d3748;
26
+
27
+ /* Text colors */
28
+ --kimu-text-primary: #f7fafc;
29
+ --kimu-text-secondary: #e2e8f0;
30
+ --kimu-text-disabled: #718096;
31
+
32
+ /* Semantic colors */
33
+ --kimu-success: #34d399;
34
+ --kimu-success-light: #6ee7b7;
35
+ --kimu-success-dark: #10b981;
36
+
37
+ --kimu-warning: #fbbf24;
38
+ --kimu-warning-light: #fcd34d;
39
+ --kimu-warning-dark: #f59e0b;
40
+
41
+ --kimu-error: #f87171;
42
+ --kimu-error-light: #fca5a5;
43
+ --kimu-error-dark: #ef4444;
44
+
45
+ --kimu-info: #60a5fa;
46
+ --kimu-info-light: #93c5fd;
47
+ --kimu-info-dark: #3b82f6;
48
+
49
+ /* Borders and dividers */
50
+ --kimu-border: #4a5568;
51
+ --kimu-divider: #374151;
52
+
53
+ /* Shadows */
54
+ --kimu-shadow: rgba(0, 0, 0, 0.3);
55
+ --kimu-shadow-light: rgba(0, 0, 0, 0.2);
56
+ --kimu-shadow-medium: rgba(0, 0, 0, 0.4);
57
+ --kimu-shadow-heavy: rgba(0, 0, 0, 0.6);
58
+
59
+ /* Additional UI colors */
60
+ --kimu-card-bg: #2d3748;
61
+ --kimu-card-border: #4a5568;
62
+ --kimu-input-bg: #374151;
63
+ --kimu-input-border: #4b5563;
64
+ --kimu-input-focus: #818cf8;
65
+
66
+ /* Navigation */
67
+ --kimu-nav-bg: #1f2937;
68
+ --kimu-nav-text: #e2e8f0;
69
+ --kimu-nav-active: #818cf8;
70
+
71
+ /* Footer */
72
+ --kimu-footer-bg: #111827;
73
+ --kimu-footer-text: #9ca3af;
74
+ }
75
+
76
+ /* Smooth transitions for theme changes */
77
+ * {
78
+ transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
79
+ }
@@ -1,171 +1,171 @@
1
- /**
2
- * Forest Theme - Natural green theme
3
- *
4
- * Inspired by nature with earthy greens, browns,
5
- * and natural tones for a calming effect
6
- */
7
-
8
- :root {
9
- /* Primary Colors - Forest Green */
10
- --kimu-primary: #2D5016;
11
- --kimu-primary-hover: #3A6B1E;
12
- --kimu-primary-active: #234012;
13
- --kimu-primary-light: rgba(45, 80, 22, 0.1);
14
-
15
- /* Secondary Colors - Moss Green */
16
- --kimu-secondary: #5A7D3C;
17
- --kimu-secondary-hover: #6B9147;
18
- --kimu-secondary-active: #4A6B30;
19
-
20
- /* Accent Colors - Earthy Brown */
21
- --kimu-accent: #8B6F47;
22
- --kimu-accent-hover: #A68658;
23
- --kimu-accent-active: #755E3B;
24
-
25
- /* Background Colors - Light Natural Tones */
26
- --kimu-bg-primary: #F5F3EF;
27
- --kimu-bg-secondary: #EAE7E0;
28
- --kimu-bg-tertiary: #DDD9CF;
29
- --kimu-bg-hover: #D0CCBF;
30
-
31
- /* Text Colors - Dark Natural */
32
- --kimu-text-primary: #2C2C2C;
33
- --kimu-text-secondary: #4A4A4A;
34
- --kimu-text-tertiary: #6A6A6A;
35
- --kimu-text-disabled: #9A9A9A;
36
-
37
- /* Border Colors - Subtle Earthy */
38
- --kimu-border: #B8B3A7;
39
- --kimu-border-light: #D0CCBF;
40
- --kimu-border-strong: #8B6F47;
41
-
42
- /* Status Colors - Natural Palette */
43
- --kimu-success: #4A7C2E;
44
- --kimu-warning: #D4A017;
45
- --kimu-error: #A94442;
46
- --kimu-info: #5A7D8C;
47
-
48
- /* Shadows - Soft natural */
49
- --kimu-shadow-sm: 0 2px 4px rgba(45, 80, 22, 0.1);
50
- --kimu-shadow-md: 0 4px 8px rgba(45, 80, 22, 0.15);
51
- --kimu-shadow-lg: 0 8px 16px rgba(45, 80, 22, 0.2);
52
-
53
- /* Additional Component-specific Colors */
54
- --kimu-card-bg: #FFFFFF;
55
- --kimu-input-bg: #FFFFFF;
56
- --kimu-input-border: var(--kimu-border);
57
- --kimu-input-focus: var(--kimu-primary);
58
-
59
- /* Links */
60
- --kimu-link: var(--kimu-primary);
61
- --kimu-link-hover: var(--kimu-secondary);
62
-
63
- /* Overlays */
64
- --kimu-overlay: rgba(45, 80, 22, 0.6);
65
- }
66
-
67
- /* Forest-specific styling */
68
- body {
69
- color: var(--kimu-text-primary);
70
- background: var(--kimu-bg-primary);
71
- }
72
-
73
- /* Add subtle texture */
74
- body::before {
75
- content: '';
76
- position: fixed;
77
- top: 0;
78
- left: 0;
79
- width: 100%;
80
- height: 100%;
81
- background-image:
82
- repeating-linear-gradient(
83
- 0deg,
84
- transparent,
85
- transparent 2px,
86
- rgba(45, 80, 22, 0.02) 2px,
87
- rgba(45, 80, 22, 0.02) 4px
88
- );
89
- pointer-events: none;
90
- z-index: -1;
91
- }
92
-
93
- /* Headers with natural feel */
94
- h1, h2, h3, h4, h5, h6 {
95
- color: var(--kimu-primary);
96
- font-weight: 600;
97
- }
98
-
99
- /* Buttons with organic feel */
100
- button {
101
- border-radius: 8px;
102
- transition: all 0.3s ease;
103
- }
104
-
105
- button:hover {
106
- transform: translateY(-1px);
107
- box-shadow: var(--kimu-shadow-md);
108
- }
109
-
110
- /* Cards with paper-like appearance */
111
- .card,
112
- [class*="card"] {
113
- background: #FFFFFF;
114
- border-radius: 12px;
115
- box-shadow: var(--kimu-shadow-sm);
116
- }
117
-
118
- /* Inputs with natural borders */
119
- input,
120
- textarea,
121
- select {
122
- border-radius: 6px;
123
- border: 1.5px solid var(--kimu-border);
124
- transition: all 0.3s ease;
125
- }
126
-
127
- input:focus,
128
- textarea:focus,
129
- select:focus {
130
- border-color: var(--kimu-primary);
131
- box-shadow: 0 0 0 3px var(--kimu-primary-light);
132
- }
133
-
134
- /* Links with natural underline */
135
- a {
136
- text-decoration: none;
137
- border-bottom: 1px solid var(--kimu-border-light);
138
- transition: all 0.2s ease;
139
- }
140
-
141
- a:hover {
142
- border-bottom-color: var(--kimu-primary);
143
- color: var(--kimu-primary);
144
- }
145
-
146
- /* Scrollbar - Natural wood style */
147
- ::-webkit-scrollbar {
148
- width: 12px;
149
- height: 12px;
150
- }
151
-
152
- ::-webkit-scrollbar-track {
153
- background: var(--kimu-bg-secondary);
154
- border-radius: 6px;
155
- }
156
-
157
- ::-webkit-scrollbar-thumb {
158
- background: linear-gradient(180deg, var(--kimu-secondary), var(--kimu-accent));
159
- border-radius: 6px;
160
- border: 2px solid var(--kimu-bg-secondary);
161
- }
162
-
163
- ::-webkit-scrollbar-thumb:hover {
164
- background: var(--kimu-primary);
165
- }
166
-
167
- /* Selection with natural highlight */
168
- ::selection {
169
- background: var(--kimu-primary-light);
170
- color: var(--kimu-text-primary);
171
- }
1
+ /**
2
+ * Forest Theme - Natural green theme
3
+ *
4
+ * Inspired by nature with earthy greens, browns,
5
+ * and natural tones for a calming effect
6
+ */
7
+
8
+ :root {
9
+ /* Primary Colors - Forest Green */
10
+ --kimu-primary: #2D5016;
11
+ --kimu-primary-hover: #3A6B1E;
12
+ --kimu-primary-active: #234012;
13
+ --kimu-primary-light: rgba(45, 80, 22, 0.1);
14
+
15
+ /* Secondary Colors - Moss Green */
16
+ --kimu-secondary: #5A7D3C;
17
+ --kimu-secondary-hover: #6B9147;
18
+ --kimu-secondary-active: #4A6B30;
19
+
20
+ /* Accent Colors - Earthy Brown */
21
+ --kimu-accent: #8B6F47;
22
+ --kimu-accent-hover: #A68658;
23
+ --kimu-accent-active: #755E3B;
24
+
25
+ /* Background Colors - Light Natural Tones */
26
+ --kimu-bg-primary: #F5F3EF;
27
+ --kimu-bg-secondary: #EAE7E0;
28
+ --kimu-bg-tertiary: #DDD9CF;
29
+ --kimu-bg-hover: #D0CCBF;
30
+
31
+ /* Text Colors - Dark Natural */
32
+ --kimu-text-primary: #2C2C2C;
33
+ --kimu-text-secondary: #4A4A4A;
34
+ --kimu-text-tertiary: #6A6A6A;
35
+ --kimu-text-disabled: #9A9A9A;
36
+
37
+ /* Border Colors - Subtle Earthy */
38
+ --kimu-border: #B8B3A7;
39
+ --kimu-border-light: #D0CCBF;
40
+ --kimu-border-strong: #8B6F47;
41
+
42
+ /* Status Colors - Natural Palette */
43
+ --kimu-success: #4A7C2E;
44
+ --kimu-warning: #D4A017;
45
+ --kimu-error: #A94442;
46
+ --kimu-info: #5A7D8C;
47
+
48
+ /* Shadows - Soft natural */
49
+ --kimu-shadow-sm: 0 2px 4px rgba(45, 80, 22, 0.1);
50
+ --kimu-shadow-md: 0 4px 8px rgba(45, 80, 22, 0.15);
51
+ --kimu-shadow-lg: 0 8px 16px rgba(45, 80, 22, 0.2);
52
+
53
+ /* Additional Component-specific Colors */
54
+ --kimu-card-bg: #FFFFFF;
55
+ --kimu-input-bg: #FFFFFF;
56
+ --kimu-input-border: var(--kimu-border);
57
+ --kimu-input-focus: var(--kimu-primary);
58
+
59
+ /* Links */
60
+ --kimu-link: var(--kimu-primary);
61
+ --kimu-link-hover: var(--kimu-secondary);
62
+
63
+ /* Overlays */
64
+ --kimu-overlay: rgba(45, 80, 22, 0.6);
65
+ }
66
+
67
+ /* Forest-specific styling */
68
+ body {
69
+ color: var(--kimu-text-primary);
70
+ background: var(--kimu-bg-primary);
71
+ }
72
+
73
+ /* Add subtle texture */
74
+ body::before {
75
+ content: '';
76
+ position: fixed;
77
+ top: 0;
78
+ left: 0;
79
+ width: 100%;
80
+ height: 100%;
81
+ background-image:
82
+ repeating-linear-gradient(
83
+ 0deg,
84
+ transparent,
85
+ transparent 2px,
86
+ rgba(45, 80, 22, 0.02) 2px,
87
+ rgba(45, 80, 22, 0.02) 4px
88
+ );
89
+ pointer-events: none;
90
+ z-index: -1;
91
+ }
92
+
93
+ /* Headers with natural feel */
94
+ h1, h2, h3, h4, h5, h6 {
95
+ color: var(--kimu-primary);
96
+ font-weight: 600;
97
+ }
98
+
99
+ /* Buttons with organic feel */
100
+ button {
101
+ border-radius: 8px;
102
+ transition: all 0.3s ease;
103
+ }
104
+
105
+ button:hover {
106
+ transform: translateY(-1px);
107
+ box-shadow: var(--kimu-shadow-md);
108
+ }
109
+
110
+ /* Cards with paper-like appearance */
111
+ .card,
112
+ [class*="card"] {
113
+ background: #FFFFFF;
114
+ border-radius: 12px;
115
+ box-shadow: var(--kimu-shadow-sm);
116
+ }
117
+
118
+ /* Inputs with natural borders */
119
+ input,
120
+ textarea,
121
+ select {
122
+ border-radius: 6px;
123
+ border: 1.5px solid var(--kimu-border);
124
+ transition: all 0.3s ease;
125
+ }
126
+
127
+ input:focus,
128
+ textarea:focus,
129
+ select:focus {
130
+ border-color: var(--kimu-primary);
131
+ box-shadow: 0 0 0 3px var(--kimu-primary-light);
132
+ }
133
+
134
+ /* Links with natural underline */
135
+ a {
136
+ text-decoration: none;
137
+ border-bottom: 1px solid var(--kimu-border-light);
138
+ transition: all 0.2s ease;
139
+ }
140
+
141
+ a:hover {
142
+ border-bottom-color: var(--kimu-primary);
143
+ color: var(--kimu-primary);
144
+ }
145
+
146
+ /* Scrollbar - Natural wood style */
147
+ ::-webkit-scrollbar {
148
+ width: 12px;
149
+ height: 12px;
150
+ }
151
+
152
+ ::-webkit-scrollbar-track {
153
+ background: var(--kimu-bg-secondary);
154
+ border-radius: 6px;
155
+ }
156
+
157
+ ::-webkit-scrollbar-thumb {
158
+ background: linear-gradient(180deg, var(--kimu-secondary), var(--kimu-accent));
159
+ border-radius: 6px;
160
+ border: 2px solid var(--kimu-bg-secondary);
161
+ }
162
+
163
+ ::-webkit-scrollbar-thumb:hover {
164
+ background: var(--kimu-primary);
165
+ }
166
+
167
+ /* Selection with natural highlight */
168
+ ::selection {
169
+ background: var(--kimu-primary-light);
170
+ color: var(--kimu-text-primary);
171
+ }