@memobit/libs 1.0.1

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 (80) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +95 -0
  3. package/dist/index.css +2 -0
  4. package/dist/index.d.ts +2833 -0
  5. package/dist/index.esm.js +25623 -0
  6. package/dist/styles/base.scss +36 -0
  7. package/dist/styles/effects.scss +72 -0
  8. package/dist/styles/highlight.scss +6 -0
  9. package/dist/styles/scrollbars.scss +30 -0
  10. package/dist/styles/themes.scss +74 -0
  11. package/dist/styles/theming/_profile-theme.scss +317 -0
  12. package/dist/styles/theming/amber-meridian.scss +271 -0
  13. package/dist/styles/theming/archive-indigo.scss +270 -0
  14. package/dist/styles/theming/arctic-blue.scss +266 -0
  15. package/dist/styles/theming/asphalt-code.scss +271 -0
  16. package/dist/styles/theming/atelier-media.scss +272 -0
  17. package/dist/styles/theming/audit-ember.scss +286 -0
  18. package/dist/styles/theming/azure-night.scss +269 -0
  19. package/dist/styles/theming/blossom-meadow.scss +273 -0
  20. package/dist/styles/theming/blueprint-clay.scss +271 -0
  21. package/dist/styles/theming/blush-market.scss +271 -0
  22. package/dist/styles/theming/brass-chronicle.scss +271 -0
  23. package/dist/styles/theming/carbon-velocity.scss +270 -0
  24. package/dist/styles/theming/chalk-circuit.scss +271 -0
  25. package/dist/styles/theming/chrono-atlas.scss +279 -0
  26. package/dist/styles/theming/citrus-vital.scss +34 -0
  27. package/dist/styles/theming/clinical-aqua.scss +270 -0
  28. package/dist/styles/theming/cobalt-pulse.scss +273 -0
  29. package/dist/styles/theming/command-slate.scss +34 -0
  30. package/dist/styles/theming/crawler-dusk.scss +271 -0
  31. package/dist/styles/theming/crimson-dusk.scss +269 -0
  32. package/dist/styles/theming/cyber-forest.scss +269 -0
  33. package/dist/styles/theming/dashdarkx.scss +269 -0
  34. package/dist/styles/theming/ember-night.scss +269 -0
  35. package/dist/styles/theming/emerald-ledger.scss +271 -0
  36. package/dist/styles/theming/frost-petal.scss +269 -0
  37. package/dist/styles/theming/garden-harvest.scss +271 -0
  38. package/dist/styles/theming/gilded-bear.scss +271 -0
  39. package/dist/styles/theming/graphite-shell.scss +271 -0
  40. package/dist/styles/theming/horizon-amber.scss +270 -0
  41. package/dist/styles/theming/horizon-drift.scss +271 -0
  42. package/dist/styles/theming/ivory-serif.scss +271 -0
  43. package/dist/styles/theming/lavender-mist.scss +269 -0
  44. package/dist/styles/theming/light-blue.scss +269 -0
  45. package/dist/styles/theming/lumen.scss +276 -0
  46. package/dist/styles/theming/luna.scss +269 -0
  47. package/dist/styles/theming/mesh-circuit.scss +271 -0
  48. package/dist/styles/theming/midnight-amber.scss +273 -0
  49. package/dist/styles/theming/midnight-atlas.scss +35 -0
  50. package/dist/styles/theming/midnight-folio.scss +34 -0
  51. package/dist/styles/theming/mint-meadow.scss +269 -0
  52. package/dist/styles/theming/mintone.scss +269 -0
  53. package/dist/styles/theming/neon-tokyo.scss +269 -0
  54. package/dist/styles/theming/noir-marquee.scss +34 -0
  55. package/dist/styles/theming/ocean-breeze.scss +269 -0
  56. package/dist/styles/theming/ocean-depths.scss +269 -0
  57. package/dist/styles/theming/orbital-night.scss +276 -0
  58. package/dist/styles/theming/sandstone.scss +269 -0
  59. package/dist/styles/theming/sandy-parchment.scss +270 -0
  60. package/dist/styles/theming/screening-room.scss +34 -0
  61. package/dist/styles/theming/signal-burst.scss +271 -0
  62. package/dist/styles/theming/signal-clarity.scss +34 -0
  63. package/dist/styles/theming/slate-bazaar.scss +34 -0
  64. package/dist/styles/theming/slate-focus.scss +270 -0
  65. package/dist/styles/theming/spectrum-vault.scss +271 -0
  66. package/dist/styles/theming/tailwind-vue-dark.scss +269 -0
  67. package/dist/styles/theming/terminal-phosphor.scss +272 -0
  68. package/dist/styles/theming/terracotta-kitchen.scss +271 -0
  69. package/dist/styles/theming/twilight-pulse.scss +269 -0
  70. package/dist/styles/theming/vault-guard.scss +271 -0
  71. package/dist/styles/theming/velvet-reel.scss +272 -0
  72. package/dist/styles/theming/velvet-tome.scss +271 -0
  73. package/dist/styles/theming/verdant-pulse.scss +34 -0
  74. package/dist/styles/theming/vital-aurora.scss +45 -0
  75. package/dist/styles/theming/vital-signal.scss +270 -0
  76. package/dist/styles/utilities.scss +238 -0
  77. package/dist/styles/utility-classes.scss +93 -0
  78. package/dist/styles/variables.scss +73 -0
  79. package/dist/version.json +6 -0
  80. package/package.json +166 -0
@@ -0,0 +1,238 @@
1
+ // Mixins only — emits no CSS. Safe to @use from any component SCSS.
2
+ // Emitted utility classes live in utility-classes.scss (imported once globally).
3
+
4
+ // Flex mixins
5
+ @mixin flex-around {
6
+ display: flex;
7
+ justify-content: space-around;
8
+ }
9
+
10
+ @mixin flex-center {
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: center;
14
+ }
15
+
16
+ @mixin flex-between {
17
+ display: flex;
18
+ align-items: center;
19
+ justify-content: space-between;
20
+ }
21
+
22
+ @mixin flex-column {
23
+ display: flex;
24
+ flex-direction: column;
25
+ }
26
+
27
+ @mixin flex-wrap {
28
+ display: flex;
29
+ align-items: center;
30
+ flex-wrap: wrap;
31
+ }
32
+
33
+ // Typography
34
+ @mixin text-truncate {
35
+ overflow: hidden;
36
+ text-overflow: ellipsis;
37
+ white-space: nowrap;
38
+ }
39
+
40
+ @mixin text-clamp($lines: 2) {
41
+ display: -webkit-box;
42
+ -webkit-line-clamp: $lines;
43
+ -webkit-box-orient: vertical;
44
+ overflow: hidden;
45
+ }
46
+
47
+ @mixin themed-card-title($fallback-color: inherit, $fallback-size: var(--font-size-md), $fallback-weight: var(--font-weight-bold)) {
48
+ color: var(--card-title-color, #{$fallback-color});
49
+ font-family: var(--card-title-font-family, var(--font-family, sans-serif));
50
+ font-size: var(--card-title-font-size, #{$fallback-size});
51
+ font-style: var(--card-title-font-style, normal);
52
+ font-weight: var(--card-title-font-weight, #{$fallback-weight});
53
+ letter-spacing: var(--card-title-letter-spacing, normal);
54
+ text-transform: var(--card-title-text-transform, none);
55
+ }
56
+
57
+ @mixin themed-modal-title($fallback-color: var(--modal-header-color), $fallback-size: var(--font-size-xl), $fallback-weight: var(--font-weight-semibold)) {
58
+ color: var(--modal-title-color, #{$fallback-color});
59
+ font-family: var(--modal-title-font-family, var(--font-family, sans-serif));
60
+ font-size: var(--modal-title-font-size, #{$fallback-size});
61
+ font-style: var(--modal-title-font-style, normal);
62
+ font-weight: var(--modal-title-font-weight, #{$fallback-weight});
63
+ letter-spacing: var(--modal-title-letter-spacing, normal);
64
+ text-transform: var(--modal-title-text-transform, none);
65
+ }
66
+
67
+ @mixin themed-form-control-label($fallback-color: var(--form-control-color), $fallback-size: var(--font-size-sm), $fallback-weight: var(--font-weight-medium)) {
68
+ color: var(--form-control-label-color, #{$fallback-color});
69
+ font-size: var(--form-control-label-font-size, #{$fallback-size});
70
+ font-weight: var(--form-control-label-font-weight, #{$fallback-weight});
71
+ letter-spacing: var(--form-control-label-letter-spacing, normal);
72
+ text-transform: var(--form-control-label-text-transform, none);
73
+ }
74
+
75
+ // ── Form input mixins ────────────────────────────────────────────────────────
76
+ @mixin input-wrapper {
77
+ display: flex;
78
+ flex-direction: column;
79
+ gap: var(--spacing-8);
80
+ }
81
+
82
+ @mixin input-label {
83
+ @include themed-form-control-label;
84
+ }
85
+
86
+ @mixin input-required {
87
+ color: var(--body-danger-color, #dc2626);
88
+ margin-left: var(--spacing-2);
89
+ }
90
+
91
+ @mixin input-field {
92
+ background-color: var(--form-control-background-color);
93
+ color: var(--form-control-color);
94
+ border: var(--spacing-1) solid var(--form-control-border-color);
95
+ border-radius: var(--radius-sm);
96
+ padding: var(--spacing-12);
97
+ font-family: var(--form-control-font-family);
98
+ font-size: var(--font-size-sm);
99
+ line-height: var(--line-height-normal);
100
+ width: 100%;
101
+ box-sizing: border-box;
102
+
103
+ &:focus {
104
+ outline: none;
105
+ background-color: var(--form-control-focus-background-color);
106
+ border-color: var(--form-control-focus-border-color);
107
+ color: var(--form-control-focus-color);
108
+ box-shadow: 0 0 0 var(--spacing-2) var(--box-shadow);
109
+ }
110
+
111
+ &::placeholder {
112
+ color: var(--form-control-placeholder-color);
113
+ }
114
+ }
115
+
116
+ @mixin input-highlighted {
117
+ border-color: var(--form-control-focus-border-color);
118
+ }
119
+
120
+ @mixin input-error {
121
+ background-color: var(--form-control-error-background-color);
122
+ border-color: var(--form-control-error-border-color);
123
+ color: var(--form-control-error-color);
124
+
125
+ &:focus {
126
+ background-color: var(--form-control-error-background-color);
127
+ border-color: var(--form-control-error-border-color);
128
+ box-shadow: 0 0 0 var(--spacing-2) var(--box-shadow);
129
+ }
130
+ }
131
+
132
+ @mixin input-error-message {
133
+ font-size: var(--font-size-xs);
134
+ color: var(--form-control-error-color);
135
+ }
136
+
137
+ @mixin input-success {
138
+ background-color: var(--form-control-success-background-color);
139
+ border-color: var(--form-control-success-border-color);
140
+ color: var(--form-control-success-color);
141
+
142
+ &:focus {
143
+ background-color: var(--form-control-success-background-color);
144
+ border-color: var(--form-control-success-border-color);
145
+ box-shadow: 0 0 0 var(--spacing-2) var(--box-shadow);
146
+ }
147
+ }
148
+
149
+ @mixin input-success-message {
150
+ font-size: var(--font-size-xs);
151
+ color: var(--form-control-success-color);
152
+ }
153
+
154
+ @mixin form-control-component($name, $full-width: false) {
155
+ .#{$name}-wrapper {
156
+ @include input-wrapper;
157
+
158
+ @if $full-width {
159
+ width: 100%;
160
+ }
161
+
162
+ .#{$name}-label {
163
+ @include input-label;
164
+
165
+ .#{$name}-required {
166
+ @include input-required;
167
+ }
168
+ }
169
+
170
+ .#{$name} {
171
+ @include input-field;
172
+ @content;
173
+
174
+ &.#{$name}-error {
175
+ @include input-error;
176
+ }
177
+
178
+ &.#{$name}-success {
179
+ @include input-success;
180
+ }
181
+ }
182
+
183
+ &.#{$name}-highlighted {
184
+ .#{$name} {
185
+ @include input-highlighted;
186
+ }
187
+ }
188
+
189
+ .#{$name}-error-message {
190
+ @include input-error-message;
191
+ }
192
+
193
+ .#{$name}-success-message {
194
+ @include input-success-message;
195
+ }
196
+ }
197
+ }
198
+
199
+ @mixin form-control-affix($height) {
200
+ position: absolute;
201
+ height: $height;
202
+ display: flex;
203
+ align-items: center;
204
+ justify-content: center;
205
+ color: var(--form-control-placeholder-color);
206
+ z-index: 2;
207
+ }
208
+
209
+ // Responsive breakpoints
210
+ @mixin mobile {
211
+ @media (max-width: 768px) {
212
+ @content;
213
+ }
214
+ }
215
+
216
+ @mixin tablet {
217
+ @media (min-width: 769px) and (max-width: 1024px) {
218
+ @content;
219
+ }
220
+ }
221
+
222
+ @mixin desktop {
223
+ @media (min-width: 1025px) {
224
+ @content;
225
+ }
226
+ }
227
+
228
+ @mixin not-mobile {
229
+ @media (min-width: 769px) {
230
+ @content;
231
+ }
232
+ }
233
+
234
+ @mixin not-desktop {
235
+ @media (max-width: 1024px) {
236
+ @content;
237
+ }
238
+ }
@@ -0,0 +1,93 @@
1
+ // Emitted utility classes — import once globally (not per component).
2
+ // Mixins live in utilities.scss.
3
+ @use 'utilities' as *;
4
+
5
+ // use this effect when you want to bring attention
6
+ .status-pulse {
7
+ animation: pulse-status 2s ease-in-out infinite;
8
+ }
9
+
10
+ @keyframes pulse-status {
11
+ 0%,
12
+ 100% {
13
+ opacity: 1;
14
+ }
15
+ 50% {
16
+ opacity: 0.6;
17
+ }
18
+ }
19
+
20
+ // Text alignment
21
+ .text-center {
22
+ text-align: center;
23
+ }
24
+
25
+ .text-left {
26
+ text-align: left;
27
+ }
28
+
29
+ .text-right {
30
+ text-align: right;
31
+ }
32
+
33
+ // Text color
34
+ .text-muted {
35
+ color: var(--body-color-muted);
36
+ }
37
+
38
+ // Cursor
39
+ .cursor-pointer {
40
+ cursor: pointer;
41
+ }
42
+
43
+ // Flexbox helpers
44
+ .flex-around {
45
+ @include flex-around;
46
+ }
47
+
48
+ .flex-center {
49
+ @include flex-center;
50
+ }
51
+
52
+ .flex-between {
53
+ @include flex-between;
54
+ }
55
+
56
+ .flex-column {
57
+ @include flex-column;
58
+ }
59
+
60
+ .flex-wrap {
61
+ @include flex-wrap;
62
+ }
63
+
64
+ // Responsive visibility
65
+ .mobile {
66
+ @media (min-width: 769px) {
67
+ display: none !important;
68
+ }
69
+ }
70
+
71
+ .tablet {
72
+ @media (max-width: 768px), (min-width: 1025px) {
73
+ display: none !important;
74
+ }
75
+ }
76
+
77
+ .desktop {
78
+ @media (max-width: 1024px) {
79
+ display: none !important;
80
+ }
81
+ }
82
+
83
+ .not-mobile {
84
+ @media (max-width: 768px) {
85
+ display: none !important;
86
+ }
87
+ }
88
+
89
+ .not-desktop {
90
+ @media (min-width: 1025px) {
91
+ display: none !important;
92
+ }
93
+ }
@@ -0,0 +1,73 @@
1
+ :root {
2
+ --radius-sm: 4px;
3
+ --radius: 8px;
4
+ --radius-full: 9999px;
5
+
6
+ --checkbox-size: 18px;
7
+ --radio-size: 18px;
8
+
9
+ // Optional ambient background overlay, painted as a fixed body::before layer.
10
+ // Themes only set this when they want a radial glow behind app content;
11
+ // otherwise it stays `none` and the overlay is inert.
12
+ --body-background-glow: none;
13
+
14
+ --spacing-1: 1px;
15
+ --spacing-2: 2px;
16
+ --spacing-4: 4px;
17
+ --spacing-6: 6px;
18
+ --spacing-8: 8px;
19
+ --spacing-12: 12px;
20
+ --spacing-16: 16px;
21
+ --spacing-20: 20px;
22
+ --spacing-24: 24px;
23
+ --spacing-32: 32px;
24
+ --spacing-40: 40px;
25
+ --spacing-48: 48px;
26
+ --spacing-60: 60px;
27
+ --spacing-64: 64px;
28
+ --spacing-80: 80px;
29
+ --spacing-100: 100px;
30
+ --spacing-200: 200px;
31
+ --spacing-300: 300px;
32
+ --spacing-400: 400px;
33
+
34
+ --font-size-xxs: 0.625rem; // ~10px
35
+ --font-size-xs: 0.75rem; // ~12px
36
+ --font-size-sm: 0.875rem; // ~14px
37
+ --font-size-md: 1rem; // ~16px
38
+ --font-size-lg: 1.25rem; // ~20px
39
+ --font-size-xl: 1.5rem; // ~24px
40
+ --font-size-xxl: 2rem; // ~32px
41
+ --font-size-xxxl: 3rem; // ~48px
42
+
43
+ // Display/title font. Themes only need to set this when they want a second
44
+ // font for component titles (Card, Modal, Drawer, EmptyState, DataView).
45
+ // Otherwise it inherits the theme's body --font-family automatically.
46
+ --font-family-display: var(--font-family, sans-serif);
47
+
48
+ --font-family-mono: ui-monospace, SFMono-Regular, 'JetBrains Mono', Menlo, Consolas, monospace;
49
+
50
+ // Font used by form inputs (inherits body by default). Override to
51
+ // var(--font-family-mono) if you want a terminal/data feel on inputs.
52
+ --form-control-font-family: var(--font-family, sans-serif);
53
+
54
+ --font-weight-light: 300;
55
+ --font-weight-normal: 400;
56
+ --font-weight-medium: 500;
57
+ --font-weight-semibold: 600;
58
+ --font-weight-bold: 700;
59
+
60
+ --line-height-none: 1;
61
+ --line-height-tight: 1.2;
62
+ --line-height-normal: 1.5;
63
+ --line-height-loose: 1.8;
64
+
65
+ // animations
66
+ --duration-hover: 0.2s;
67
+ --duration-fade: 0.3s;
68
+ --duration-slide: 0.4s;
69
+
70
+ --transition-fast: 150ms ease-in-out;
71
+ --transition-moderate: 300ms ease-in-out;
72
+ --transition-slow: 500ms ease-in-out;
73
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": "1.0.1",
3
+ "buildNumber": 193,
4
+ "commit": "dfe192b",
5
+ "buildDate": "2026-06-18T15:24:28.384Z"
6
+ }
package/package.json ADDED
@@ -0,0 +1,166 @@
1
+ {
2
+ "name": "@memobit/libs",
3
+ "version": "1.0.1",
4
+ "description": "React component library powering the Memobit apps — 100+ components, 470+ icons, 70+ themes, helpers and hooks. TypeScript-first, ESM-only, React 19.",
5
+ "keywords": [
6
+ "react",
7
+ "react-components",
8
+ "component-library",
9
+ "ui",
10
+ "ui-kit",
11
+ "design-system",
12
+ "typescript",
13
+ "themes",
14
+ "icons",
15
+ "hooks",
16
+ "memobit"
17
+ ],
18
+ "author": "Iulian Cristea <iulianx@gmail.com>",
19
+ "license": "Apache-2.0",
20
+ "homepage": "https://react.memobit.ro/",
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "git+https://github.com/CristeaIulian/memobit-react-library.git"
24
+ },
25
+ "bugs": {
26
+ "url": "https://github.com/CristeaIulian/memobit-react-library/issues"
27
+ },
28
+ "publishConfig": {
29
+ "access": "public"
30
+ },
31
+ "sideEffects": [
32
+ "**/*.css",
33
+ "**/*.scss"
34
+ ],
35
+ "type": "module",
36
+ "main": "dist/index.esm.js",
37
+ "module": "dist/index.esm.js",
38
+ "types": "dist/index.d.ts",
39
+ "exports": {
40
+ ".": {
41
+ "types": "./dist/index.d.ts",
42
+ "import": "./dist/index.esm.js"
43
+ },
44
+ "./dist/index.css": "./dist/index.css",
45
+ "./dist/styles/variables.scss": "./dist/styles/variables.scss",
46
+ "./dist/styles/base.scss": "./dist/styles/base.scss",
47
+ "./dist/styles/effects.scss": "./dist/styles/effects.scss",
48
+ "./dist/styles/highlight.scss": "./dist/styles/highlight.scss",
49
+ "./dist/styles/scrollbars.scss": "./dist/styles/scrollbars.scss",
50
+ "./dist/styles/utilities.scss": "./dist/styles/utilities.scss",
51
+ "./dist/styles/utility-classes.scss": "./dist/styles/utility-classes.scss",
52
+ "./dist/styles/themes.scss": "./dist/styles/themes.scss",
53
+ "./dist/styles/theming/_profile-theme.scss": "./dist/styles/theming/_profile-theme.scss",
54
+ "./dist/styles/theming/amber-meridian.scss": "./dist/styles/theming/amber-meridian.scss",
55
+ "./dist/styles/theming/archive-indigo.scss": "./dist/styles/theming/archive-indigo.scss",
56
+ "./dist/styles/theming/arctic-blue.scss": "./dist/styles/theming/arctic-blue.scss",
57
+ "./dist/styles/theming/asphalt-code.scss": "./dist/styles/theming/asphalt-code.scss",
58
+ "./dist/styles/theming/atelier-media.scss": "./dist/styles/theming/atelier-media.scss",
59
+ "./dist/styles/theming/audit-ember.scss": "./dist/styles/theming/audit-ember.scss",
60
+ "./dist/styles/theming/azure-night.scss": "./dist/styles/theming/azure-night.scss",
61
+ "./dist/styles/theming/blossom-meadow.scss": "./dist/styles/theming/blossom-meadow.scss",
62
+ "./dist/styles/theming/blueprint-clay.scss": "./dist/styles/theming/blueprint-clay.scss",
63
+ "./dist/styles/theming/blush-market.scss": "./dist/styles/theming/blush-market.scss",
64
+ "./dist/styles/theming/brass-chronicle.scss": "./dist/styles/theming/brass-chronicle.scss",
65
+ "./dist/styles/theming/carbon-velocity.scss": "./dist/styles/theming/carbon-velocity.scss",
66
+ "./dist/styles/theming/chalk-circuit.scss": "./dist/styles/theming/chalk-circuit.scss",
67
+ "./dist/styles/theming/chrono-atlas.scss": "./dist/styles/theming/chrono-atlas.scss",
68
+ "./dist/styles/theming/clinical-aqua.scss": "./dist/styles/theming/clinical-aqua.scss",
69
+ "./dist/styles/theming/cobalt-pulse.scss": "./dist/styles/theming/cobalt-pulse.scss",
70
+ "./dist/styles/theming/citrus-vital.scss": "./dist/styles/theming/citrus-vital.scss",
71
+ "./dist/styles/theming/command-slate.scss": "./dist/styles/theming/command-slate.scss",
72
+ "./dist/styles/theming/crawler-dusk.scss": "./dist/styles/theming/crawler-dusk.scss",
73
+ "./dist/styles/theming/crimson-dusk.scss": "./dist/styles/theming/crimson-dusk.scss",
74
+ "./dist/styles/theming/cyber-forest.scss": "./dist/styles/theming/cyber-forest.scss",
75
+ "./dist/styles/theming/dashdarkx.scss": "./dist/styles/theming/dashdarkx.scss",
76
+ "./dist/styles/theming/ember-night.scss": "./dist/styles/theming/ember-night.scss",
77
+ "./dist/styles/theming/emerald-ledger.scss": "./dist/styles/theming/emerald-ledger.scss",
78
+ "./dist/styles/theming/frost-petal.scss": "./dist/styles/theming/frost-petal.scss",
79
+ "./dist/styles/theming/garden-harvest.scss": "./dist/styles/theming/garden-harvest.scss",
80
+ "./dist/styles/theming/gilded-bear.scss": "./dist/styles/theming/gilded-bear.scss",
81
+ "./dist/styles/theming/graphite-shell.scss": "./dist/styles/theming/graphite-shell.scss",
82
+ "./dist/styles/theming/horizon-amber.scss": "./dist/styles/theming/horizon-amber.scss",
83
+ "./dist/styles/theming/horizon-drift.scss": "./dist/styles/theming/horizon-drift.scss",
84
+ "./dist/styles/theming/ivory-serif.scss": "./dist/styles/theming/ivory-serif.scss",
85
+ "./dist/styles/theming/lavender-mist.scss": "./dist/styles/theming/lavender-mist.scss",
86
+ "./dist/styles/theming/light-blue.scss": "./dist/styles/theming/light-blue.scss",
87
+ "./dist/styles/theming/lumen.scss": "./dist/styles/theming/lumen.scss",
88
+ "./dist/styles/theming/luna.scss": "./dist/styles/theming/luna.scss",
89
+ "./dist/styles/theming/mesh-circuit.scss": "./dist/styles/theming/mesh-circuit.scss",
90
+ "./dist/styles/theming/midnight-atlas.scss": "./dist/styles/theming/midnight-atlas.scss",
91
+ "./dist/styles/theming/midnight-amber.scss": "./dist/styles/theming/midnight-amber.scss",
92
+ "./dist/styles/theming/midnight-folio.scss": "./dist/styles/theming/midnight-folio.scss",
93
+ "./dist/styles/theming/mint-meadow.scss": "./dist/styles/theming/mint-meadow.scss",
94
+ "./dist/styles/theming/mintone.scss": "./dist/styles/theming/mintone.scss",
95
+ "./dist/styles/theming/neon-tokyo.scss": "./dist/styles/theming/neon-tokyo.scss",
96
+ "./dist/styles/theming/noir-marquee.scss": "./dist/styles/theming/noir-marquee.scss",
97
+ "./dist/styles/theming/ocean-breeze.scss": "./dist/styles/theming/ocean-breeze.scss",
98
+ "./dist/styles/theming/ocean-depths.scss": "./dist/styles/theming/ocean-depths.scss",
99
+ "./dist/styles/theming/orbital-night.scss": "./dist/styles/theming/orbital-night.scss",
100
+ "./dist/styles/theming/sandstone.scss": "./dist/styles/theming/sandstone.scss",
101
+ "./dist/styles/theming/sandy-parchment.scss": "./dist/styles/theming/sandy-parchment.scss",
102
+ "./dist/styles/theming/screening-room.scss": "./dist/styles/theming/screening-room.scss",
103
+ "./dist/styles/theming/signal-burst.scss": "./dist/styles/theming/signal-burst.scss",
104
+ "./dist/styles/theming/signal-clarity.scss": "./dist/styles/theming/signal-clarity.scss",
105
+ "./dist/styles/theming/slate-focus.scss": "./dist/styles/theming/slate-focus.scss",
106
+ "./dist/styles/theming/slate-bazaar.scss": "./dist/styles/theming/slate-bazaar.scss",
107
+ "./dist/styles/theming/spectrum-vault.scss": "./dist/styles/theming/spectrum-vault.scss",
108
+ "./dist/styles/theming/tailwind-vue-dark.scss": "./dist/styles/theming/tailwind-vue-dark.scss",
109
+ "./dist/styles/theming/terminal-phosphor.scss": "./dist/styles/theming/terminal-phosphor.scss",
110
+ "./dist/styles/theming/terracotta-kitchen.scss": "./dist/styles/theming/terracotta-kitchen.scss",
111
+ "./dist/styles/theming/twilight-pulse.scss": "./dist/styles/theming/twilight-pulse.scss",
112
+ "./dist/styles/theming/vault-guard.scss": "./dist/styles/theming/vault-guard.scss",
113
+ "./dist/styles/theming/velvet-reel.scss": "./dist/styles/theming/velvet-reel.scss",
114
+ "./dist/styles/theming/velvet-tome.scss": "./dist/styles/theming/velvet-tome.scss",
115
+ "./dist/styles/theming/verdant-pulse.scss": "./dist/styles/theming/verdant-pulse.scss",
116
+ "./dist/styles/theming/vital-aurora.scss": "./dist/styles/theming/vital-aurora.scss",
117
+ "./dist/styles/theming/vital-signal.scss": "./dist/styles/theming/vital-signal.scss"
118
+ },
119
+ "files": [
120
+ "dist"
121
+ ],
122
+ "scripts": {
123
+ "build": "vite build && npm pack",
124
+ "release": "npm run build && npm publish",
125
+ "prepublishOnly": "vite build",
126
+ "generate:icon-names": "node scripts/generate-icon-names.mjs",
127
+ "dev": "vite build --watch",
128
+ "playground": "vite serve playground --config playground/vite.config.ts",
129
+ "lint": "eslint src --ext .ts,.tsx",
130
+ "lint:fix": "eslint src --ext .ts,.tsx --fix",
131
+ "format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,css}\"",
132
+ "format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx,json,css}\""
133
+ },
134
+ "peerDependencies": {
135
+ "react": "19.2.6",
136
+ "react-dom": "19.2.6"
137
+ },
138
+ "devDependencies": {
139
+ "@eslint/js": "9.39.4",
140
+ "@types/react": "19.2.14",
141
+ "@types/react-dom": "19.2.3",
142
+ "@vitejs/plugin-react": "6.0.2",
143
+ "esbuild": "^0.28.0",
144
+ "eslint": "9.39.4",
145
+ "eslint-config-prettier": "10.1.8",
146
+ "eslint-plugin-import": "2.32.0",
147
+ "eslint-plugin-prettier": "5.5.5",
148
+ "eslint-plugin-react": "7.37.5",
149
+ "eslint-plugin-simple-import-sort": "13.0.0",
150
+ "globals": "17.6.0",
151
+ "prettier": "3.8.3",
152
+ "react": "19.2.6",
153
+ "react-dom": "19.2.6",
154
+ "sass": "1.99.0",
155
+ "terser": "5.47.1",
156
+ "typescript": "6.0.3",
157
+ "typescript-eslint": "8.59.3",
158
+ "vite": "8.0.13",
159
+ "vite-plugin-dts": "5.0.0",
160
+ "vite-plugin-static-copy": "3.4.0"
161
+ },
162
+ "dependencies": {
163
+ "@google/genai": "2.2.0",
164
+ "react-router-dom": "7.15.1"
165
+ }
166
+ }