kimu-core 0.4.1 → 0.5.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 (75) 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/kimu-core-0.5.0.tgz +0 -0
  12. package/package.json +10 -3
  13. package/scripts/minify-css-assets.js +82 -82
  14. package/src/core/index.ts +47 -47
  15. package/src/core/kimu-global-styles.ts +136 -136
  16. package/src/core/kimu-reactive.ts +196 -196
  17. package/src/extensions/{kimu-home → app-root}/component.ts +5 -5
  18. package/src/extensions/extensions-manifest.json +4 -4
  19. package/src/main.ts +3 -3
  20. package/src/modules-repository/api-axios/CHANGELOG.md +48 -48
  21. package/src/modules-repository/api-axios/QUICK-REFERENCE.md +178 -178
  22. package/src/modules-repository/api-axios/README.md +304 -304
  23. package/src/modules-repository/api-axios/api-axios-service.ts +355 -355
  24. package/src/modules-repository/api-axios/examples.ts +293 -293
  25. package/src/modules-repository/api-axios/index.ts +19 -19
  26. package/src/modules-repository/api-axios/interfaces.ts +71 -71
  27. package/src/modules-repository/api-axios/module.ts +41 -41
  28. package/src/modules-repository/api-core/CHANGELOG.md +42 -42
  29. package/src/modules-repository/api-core/QUICK-REFERENCE.md +192 -192
  30. package/src/modules-repository/api-core/README.md +435 -435
  31. package/src/modules-repository/api-core/api-core-service.ts +289 -289
  32. package/src/modules-repository/api-core/examples.ts +432 -432
  33. package/src/modules-repository/api-core/index.ts +8 -8
  34. package/src/modules-repository/api-core/interfaces.ts +83 -83
  35. package/src/modules-repository/api-core/module.ts +30 -30
  36. package/src/modules-repository/event-bus/README.md +273 -273
  37. package/src/modules-repository/event-bus/event-bus-service.ts +176 -176
  38. package/src/modules-repository/event-bus/module.ts +30 -30
  39. package/src/modules-repository/notification/README.md +423 -423
  40. package/src/modules-repository/notification/module.ts +30 -30
  41. package/src/modules-repository/notification/notification-service.ts +436 -436
  42. package/src/modules-repository/router/README.it.md +61 -10
  43. package/src/modules-repository/router/README.md +61 -10
  44. package/src/modules-repository/router/router-config.ts.example +61 -0
  45. package/src/modules-repository/router/router.ts +18 -0
  46. package/src/modules-repository/state/README.md +409 -409
  47. package/src/modules-repository/state/module.ts +30 -30
  48. package/src/modules-repository/state/state-service.ts +296 -296
  49. package/src/modules-repository/theme/README.md +311 -267
  50. package/src/modules-repository/theme/module.ts +30 -30
  51. package/src/modules-repository/theme/pre-build.js +40 -40
  52. package/src/modules-repository/theme/theme-service.ts +411 -389
  53. package/src/modules-repository/theme/themes/theme-cherry-blossom.css +78 -78
  54. package/src/modules-repository/theme/themes/theme-cozy.css +111 -111
  55. package/src/modules-repository/theme/themes/theme-cyberpunk.css +150 -150
  56. package/src/modules-repository/theme/themes/theme-dark.css +79 -79
  57. package/src/modules-repository/theme/themes/theme-forest.css +171 -171
  58. package/src/modules-repository/theme/themes/theme-gold.css +100 -100
  59. package/src/modules-repository/theme/themes/theme-high-contrast.css +126 -126
  60. package/src/modules-repository/theme/themes/theme-lava.css +101 -101
  61. package/src/modules-repository/theme/themes/theme-lavender.css +90 -90
  62. package/src/modules-repository/theme/themes/theme-light.css +79 -79
  63. package/src/modules-repository/theme/themes/theme-matrix.css +103 -103
  64. package/src/modules-repository/theme/themes/theme-midnight.css +81 -81
  65. package/src/modules-repository/theme/themes/theme-nord.css +94 -94
  66. package/src/modules-repository/theme/themes/theme-ocean.css +84 -84
  67. package/src/modules-repository/theme/themes/theme-retro80s.css +343 -343
  68. package/src/modules-repository/theme/themes/theme-sunset.css +62 -62
  69. package/src/modules-repository/theme/themes-config-default.json +19 -0
  70. package/src/modules-repository/theme/themes-config.d.ts +27 -27
  71. package/src/modules-repository/theme/{themes-config.json → themes-config.json.example} +223 -213
  72. /package/src/extensions/{kimu-home → app-root}/lang/en.json +0 -0
  73. /package/src/extensions/{kimu-home → app-root}/lang/it.json +0 -0
  74. /package/src/extensions/{kimu-home → app-root}/style.css +0 -0
  75. /package/src/extensions/{kimu-home → app-root}/view.html +0 -0
@@ -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
+ }