@resolve-components/theme 1.0.0 → 1.2.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 (49) hide show
  1. package/accordion/rc-accordion.scss +141 -0
  2. package/alert/rc-alert.scss +158 -0
  3. package/autocomplete/rc-autocomplete.scss +64 -0
  4. package/badge/rc-badge.scss +57 -0
  5. package/button/rc-button.scss +198 -0
  6. package/card/rc-card.scss +31 -0
  7. package/checkbox/rc-checkbox.scss +163 -0
  8. package/chip/rc-chip.scss +172 -0
  9. package/datepicker/rc-datepicker.scss +322 -0
  10. package/dialog/rc-dialog.scss +114 -0
  11. package/fesm2022/resolve-components-theme.mjs +44 -30
  12. package/fesm2022/resolve-components-theme.mjs.map +1 -1
  13. package/file-upload/rc-file-upload.scss +143 -0
  14. package/icon/rc-icon.scss +47 -0
  15. package/infinite-scroll/rc-infinite-scroll.scss +54 -0
  16. package/input/rc-input.scss +156 -0
  17. package/menu/rc-menu.scss +84 -0
  18. package/navbar/rc-navbar.scss +112 -0
  19. package/package.json +16 -9
  20. package/paginator/rc-paginator.scss +86 -0
  21. package/progress-bar/rc-progress-bar.scss +88 -0
  22. package/radio/rc-radio.scss +124 -0
  23. package/schematics/ng-add/index.js +149 -69
  24. package/schematics/ng-add/schema.json +15 -1
  25. package/select/rc-select.scss +197 -0
  26. package/sidenav/rc-sidenav.scss +154 -0
  27. package/slider/rc-slider.scss +311 -0
  28. package/spinner/rc-spinner.scss +106 -0
  29. package/{src/lib/styles → styles}/theming/_mapping.scss +2 -1
  30. package/table/rc-table.scss +147 -0
  31. package/tabs/rc-tabs.scss +155 -0
  32. package/toast/rc-toast.scss +228 -0
  33. package/toggle/rc-toggle.scss +138 -0
  34. package/tooltip/rc-tooltip.scss +34 -0
  35. package/tree/rc-tree.scss +114 -0
  36. package/types/resolve-components-theme.d.ts +32 -31
  37. package/virtual-scroll/rc-virtual-scroll.scss +38 -0
  38. /package/{src/lib/styles → styles}/_all.scss +0 -0
  39. /package/{src/lib/styles → styles}/_globals.scss +0 -0
  40. /package/{src/lib/styles → styles}/_themes.scss +0 -0
  41. /package/{src/lib/styles → styles}/_theming.scss +0 -0
  42. /package/{src/lib/styles → styles}/themes/_dark.scss +0 -0
  43. /package/{src/lib/styles → styles}/themes/_default.scss +0 -0
  44. /package/{src/lib/styles → styles}/theming/_animation.scss +0 -0
  45. /package/{src/lib/styles → styles}/theming/_functions.scss +0 -0
  46. /package/{src/lib/styles → styles}/theming/_get-value.scss +0 -0
  47. /package/{src/lib/styles → styles}/theming/_install.scss +0 -0
  48. /package/{src/lib/styles → styles}/theming/_register.scss +0 -0
  49. /package/{src/lib/styles → styles}/theming/_theming-variables.scss +0 -0
@@ -0,0 +1,143 @@
1
+ @use '../styles/theming' as *;
2
+
3
+ @include rc-install-component() {
4
+ .rc-file-upload {
5
+ display: flex;
6
+ flex-direction: column;
7
+ gap: 0.75rem;
8
+ width: 100%;
9
+ }
10
+
11
+ // ── Hidden native input ───────────────────────────────────────────────────
12
+ .rc-file-upload-input {
13
+ position: absolute;
14
+ width: 1px;
15
+ height: 1px;
16
+ opacity: 0;
17
+ pointer-events: none;
18
+ }
19
+
20
+ // ── Drop zone ─────────────────────────────────────────────────────────────
21
+ .rc-file-upload-zone {
22
+ display: flex;
23
+ flex-direction: column;
24
+ align-items: center;
25
+ justify-content: center;
26
+ gap: 0.5rem;
27
+ padding: 2rem 1.5rem;
28
+ border: 1.5px dashed rc-theme('file-upload-border-color');
29
+ border-radius: rc-theme('file-upload-border-radius');
30
+ background: rc-theme('file-upload-background');
31
+ cursor: pointer;
32
+ text-align: center;
33
+ @include rc-component-animation(border-color background, $speed: 'medium');
34
+ outline: none;
35
+
36
+ &:hover,
37
+ &:focus-visible {
38
+ background: rc-theme('file-upload-hover-background');
39
+ border-color: rc-theme('file-upload-hover-border-color');
40
+ }
41
+ }
42
+
43
+ .rc-file-upload-zone-active {
44
+ background: rc-theme('file-upload-active-background') !important;
45
+ border-color: rc-theme('file-upload-active-border-color') !important;
46
+ border-style: solid;
47
+ }
48
+
49
+ .rc-file-upload-zone-disabled {
50
+ opacity: 0.55;
51
+ cursor: not-allowed;
52
+ pointer-events: none;
53
+ }
54
+
55
+ .rc-file-upload-zone-error {
56
+ border-color: rc-theme('file-upload-error-border-color');
57
+ }
58
+
59
+ .rc-file-upload-icon {
60
+ font-size: 2.25rem;
61
+ color: rc-theme('file-upload-icon-color');
62
+ }
63
+
64
+ .rc-file-upload-title {
65
+ font-size: rc-theme('file-upload-title-font-size');
66
+ color: rc-theme('file-upload-text-color');
67
+ font-weight: 500;
68
+ }
69
+
70
+ .rc-file-upload-browse {
71
+ color: rc-theme('file-upload-browse-color');
72
+ text-decoration: underline;
73
+ cursor: pointer;
74
+ }
75
+
76
+ .rc-file-upload-hint {
77
+ font-size: rc-theme('file-upload-hint-font-size');
78
+ color: rc-theme('file-upload-hint-color');
79
+ line-height: 1.5;
80
+ }
81
+
82
+ // ── File list ─────────────────────────────────────────────────────────────
83
+ .rc-file-upload-list {
84
+ list-style: none;
85
+ margin: 0;
86
+ padding: 0;
87
+ display: flex;
88
+ flex-direction: column;
89
+ gap: 0.375rem;
90
+ }
91
+
92
+ .rc-file-upload-item {
93
+ display: flex;
94
+ align-items: center;
95
+ gap: 0.625rem;
96
+ padding: 0.5rem 0.75rem;
97
+ background: rc-theme('file-upload-item-background');
98
+ border-radius: rc-theme('file-upload-item-border-radius');
99
+ border: 1px solid transparent;
100
+ @include rc-component-animation(border-color, $speed: 'medium');
101
+ }
102
+
103
+ .rc-file-upload-item-error {
104
+ border-color: rc-theme('file-upload-error-border-color');
105
+ background: rc-theme('file-upload-item-error-background');
106
+ }
107
+
108
+ .rc-file-upload-item-icon {
109
+ font-size: 1.125rem;
110
+ color: rc-theme('file-upload-icon-color');
111
+ flex-shrink: 0;
112
+
113
+ .rc-file-upload-item-error & {
114
+ color: rc-theme('file-upload-error-border-color');
115
+ }
116
+ }
117
+
118
+ .rc-file-upload-item-info {
119
+ display: flex;
120
+ flex-direction: column;
121
+ gap: 0.125rem;
122
+ flex: 1;
123
+ min-width: 0;
124
+ }
125
+
126
+ .rc-file-upload-item-name {
127
+ font-size: rc-theme('file-upload-item-font-size');
128
+ color: rc-theme('file-upload-text-color');
129
+ white-space: nowrap;
130
+ overflow: hidden;
131
+ text-overflow: ellipsis;
132
+ }
133
+
134
+ .rc-file-upload-item-size {
135
+ font-size: rc-theme('file-upload-hint-font-size');
136
+ color: rc-theme('file-upload-hint-color');
137
+ }
138
+
139
+ .rc-file-upload-item-error-msg {
140
+ font-size: rc-theme('file-upload-hint-font-size');
141
+ color: rc-theme('file-upload-error-border-color');
142
+ }
143
+ }
@@ -0,0 +1,47 @@
1
+ // =============================================================================
2
+ // rc-icon — Resolve Components Icon (Eva Icons, Themed)
3
+ // =============================================================================
4
+
5
+ @use '../styles/theming/get-value' as *;
6
+ @use '../styles/theming/install' as *;
7
+
8
+ @include rc-install-component() {
9
+ rc-icon {
10
+ display: inline-flex;
11
+ align-items: center;
12
+ justify-content: center;
13
+ width: 20px;
14
+ height: 20px;
15
+ flex-shrink: 0;
16
+ vertical-align: middle;
17
+ line-height: 1;
18
+
19
+ svg {
20
+ display: block;
21
+ width: 100%;
22
+ height: 100%;
23
+ }
24
+
25
+ // -- Status colors --
26
+
27
+ &.rc-icon-primary {
28
+ color: rc-theme('color-primary-default');
29
+ }
30
+
31
+ &.rc-icon-success {
32
+ color: rc-theme('color-success-default');
33
+ }
34
+
35
+ &.rc-icon-warning {
36
+ color: rc-theme('color-warning-default');
37
+ }
38
+
39
+ &.rc-icon-danger {
40
+ color: rc-theme('color-danger-default');
41
+ }
42
+
43
+ &.rc-icon-info {
44
+ color: rc-theme('color-info-default');
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,54 @@
1
+ @use '../styles/theming' as *;
2
+
3
+ @include rc-install-component() {
4
+ // ── Host ─────────────────────────────────────────────────────────────────
5
+ .rc-infinite-scroll {
6
+ display: block;
7
+ width: 100%;
8
+ }
9
+
10
+ // When the host is the scroll container
11
+ .rc-infinite-scroll-scrollable {
12
+ overflow-y: auto;
13
+ // height is set via inline style on the host element; inherit it here
14
+ // so the scrollable class doesn't override it with 100% (which resolves
15
+ // to the parent's height, not the inline style on this element).
16
+ height: inherit;
17
+ }
18
+
19
+ // ── Sentinel ─────────────────────────────────────────────────────────────
20
+ // Invisible element at the bottom that the IntersectionObserver watches.
21
+ .rc-infinite-scroll-sentinel {
22
+ display: block;
23
+ height: 1px;
24
+ pointer-events: none;
25
+ }
26
+
27
+ // ── Loader ───────────────────────────────────────────────────────────────
28
+ .rc-infinite-scroll-loader {
29
+ display: flex;
30
+ align-items: center;
31
+ justify-content: center;
32
+ padding: rc-theme('infinite-scroll-loader-padding');
33
+ }
34
+
35
+ // ── End of list ──────────────────────────────────────────────────────────
36
+ .rc-infinite-scroll-end {
37
+ display: flex;
38
+ align-items: center;
39
+ justify-content: center;
40
+ padding: rc-theme('infinite-scroll-end-padding');
41
+ }
42
+
43
+ .rc-infinite-scroll-end-text {
44
+ font-family: rc-theme('infinite-scroll-end-font-family');
45
+ font-size: rc-theme('infinite-scroll-end-font-size');
46
+ color: rc-theme('infinite-scroll-end-color');
47
+ }
48
+
49
+ // Optional divider above loader / end message
50
+ .rc-infinite-scroll-loader,
51
+ .rc-infinite-scroll-end {
52
+ border-top: 1px solid rc-theme('infinite-scroll-separator-color');
53
+ }
54
+ }
@@ -0,0 +1,156 @@
1
+ // =============================================================================
2
+ // rc-input Resolve Components Input Directive (Themed)
3
+ // =============================================================================
4
+
5
+ @use '../styles/theming/get-value' as *;
6
+ @use '../styles/theming/install' as *;
7
+ @use '../styles/theming/animation' as *;
8
+
9
+ @include rc-install-component() {
10
+ // ── Base ──────────────────────────────────────────────────────────────────
11
+ input.rc-input,
12
+ textarea.rc-input {
13
+ display: block;
14
+ width: 100%;
15
+ box-sizing: border-box;
16
+ font-family: rc-theme('input-font-family');
17
+ font-weight: rc-theme('input-font-weight');
18
+ font-size: rc-theme('input-md-font-size');
19
+ color: rc-theme('input-text-color');
20
+ background: rc-theme('input-background-color');
21
+ border: 1.5px solid rc-theme('input-border-color');
22
+ border-radius: rc-theme('input-border-radius');
23
+ padding: rc-theme('input-md-padding');
24
+ height: rc-theme('input-md-height');
25
+ outline: none;
26
+ @include rc-component-animation(border-color box-shadow background);
27
+ appearance: none;
28
+
29
+ &::placeholder {
30
+ color: rc-theme('input-placeholder-color');
31
+ }
32
+
33
+ &:hover:not(:disabled) {
34
+ border-color: rc-theme('input-hover-border-color');
35
+ }
36
+
37
+ &.rc-input-focused:not(:disabled),
38
+ &:focus:not(:disabled) {
39
+ border-color: rc-theme('input-focus-border-color');
40
+ box-shadow: rc-theme('input-focus-shadow');
41
+ }
42
+
43
+ &:disabled {
44
+ background: rc-theme('input-disabled-background-color');
45
+ border-color: rc-theme('input-disabled-border-color');
46
+ color: rc-theme('input-disabled-text-color');
47
+ cursor: not-allowed;
48
+ opacity: 0.7;
49
+ }
50
+
51
+ // ── Sizes ──────────────────────────────────────────────────────────────
52
+ &.rc-input-sm {
53
+ font-size: rc-theme('input-sm-font-size');
54
+ padding: rc-theme('input-sm-padding');
55
+ height: rc-theme('input-sm-height');
56
+ }
57
+
58
+ &.rc-input-md {
59
+ font-size: rc-theme('input-md-font-size');
60
+ padding: rc-theme('input-md-padding');
61
+ height: rc-theme('input-md-height');
62
+ }
63
+
64
+ &.rc-input-lg {
65
+ font-size: rc-theme('input-lg-font-size');
66
+ padding: rc-theme('input-lg-padding');
67
+ height: rc-theme('input-lg-height');
68
+ }
69
+
70
+ // ── Status variants ────────────────────────────────────────────────────
71
+ &.rc-input-success {
72
+ border-color: rc-theme('input-success-border-color');
73
+
74
+ &.rc-input-focused,
75
+ &:focus {
76
+ box-shadow: rc-theme('input-success-focus-shadow');
77
+ }
78
+ }
79
+
80
+ &.rc-input-danger {
81
+ border-color: rc-theme('input-danger-border-color');
82
+
83
+ &.rc-input-focused,
84
+ &:focus {
85
+ box-shadow: rc-theme('input-danger-focus-shadow');
86
+ }
87
+ }
88
+
89
+ &.rc-input-warning {
90
+ border-color: rc-theme('input-warning-border-color');
91
+
92
+ &.rc-input-focused,
93
+ &:focus {
94
+ box-shadow: rc-theme('input-warning-focus-shadow');
95
+ }
96
+ }
97
+ }
98
+
99
+ // ── Textarea overrides ────────────────────────────────────────────────────
100
+ textarea.rc-input,
101
+ input.rc-input.rc-input-textarea {
102
+ height: auto;
103
+ min-height: rc-theme('textarea-min-height');
104
+ resize: rc-theme('textarea-resize');
105
+ line-height: 1.6;
106
+ }
107
+
108
+ // ── Field wrapper helpers ─────────────────────────────────────────────────
109
+ // Consumer-side layout helpers — not applied automatically by the directive.
110
+ .rc-field {
111
+ display: flex;
112
+ flex-direction: column;
113
+ gap: 0;
114
+ }
115
+
116
+ .rc-field-label {
117
+ display: block;
118
+ font-size: rc-theme('input-label-font-size');
119
+ font-weight: rc-theme('input-label-font-weight');
120
+ color: rc-theme('input-label-color');
121
+ margin-bottom: rc-theme('input-label-gap');
122
+ }
123
+
124
+ .rc-field-required {
125
+ color: rc-theme('input-danger-border-color');
126
+ margin-left: 2px;
127
+ }
128
+
129
+ .rc-field-hint {
130
+ display: block;
131
+ font-size: rc-theme('input-hint-font-size');
132
+ color: rc-theme('input-hint-color');
133
+ margin-top: rc-theme('input-hint-gap');
134
+ }
135
+
136
+ .rc-field-error {
137
+ display: block;
138
+ font-size: rc-theme('input-hint-font-size');
139
+ color: rc-theme('input-danger-hint-color');
140
+ margin-top: rc-theme('input-hint-gap');
141
+ }
142
+
143
+ .rc-field-success-hint {
144
+ display: block;
145
+ font-size: rc-theme('input-hint-font-size');
146
+ color: rc-theme('input-success-hint-color');
147
+ margin-top: rc-theme('input-hint-gap');
148
+ }
149
+
150
+ .rc-field-warning-hint {
151
+ display: block;
152
+ font-size: rc-theme('input-hint-font-size');
153
+ color: rc-theme('input-warning-hint-color');
154
+ margin-top: rc-theme('input-hint-gap');
155
+ }
156
+ }
@@ -0,0 +1,84 @@
1
+ @use '../styles/theming' as *;
2
+
3
+ @include rc-install-component() {
4
+ .rc-menu-panel {
5
+ background: rc-theme('menu-background');
6
+ border: 1px solid rc-theme('menu-border-color');
7
+ border-radius: rc-theme('menu-border-radius');
8
+ box-shadow: rc-theme('menu-shadow');
9
+ overflow: hidden;
10
+ padding: 0.25rem 0;
11
+ animation: rc-menu-in 120ms ease-out;
12
+
13
+ &:focus {
14
+ outline: none;
15
+ }
16
+ }
17
+
18
+ @keyframes rc-menu-in {
19
+ from {
20
+ opacity: 0;
21
+ transform: scale(0.97) translateY(-4px);
22
+ }
23
+ to {
24
+ opacity: 1;
25
+ transform: scale(1) translateY(0);
26
+ }
27
+ }
28
+
29
+ // ── Item ──────────────────────────────────────────────────────────────────
30
+ .rc-menu-item {
31
+ display: block;
32
+ }
33
+
34
+ .rc-menu-item-btn {
35
+ all: unset;
36
+ display: flex;
37
+ align-items: center;
38
+ width: 100%;
39
+ gap: 0.5rem;
40
+ padding: rc-theme('menu-item-padding');
41
+ font-family: rc-theme('menu-item-font-family');
42
+ font-size: rc-theme('menu-item-font-size');
43
+ color: rc-theme('menu-item-text-color');
44
+ cursor: pointer;
45
+ box-sizing: border-box;
46
+ @include rc-component-animation(background);
47
+
48
+ &:hover,
49
+ &:focus-visible {
50
+ background: rc-theme('menu-item-hover-background');
51
+ }
52
+
53
+ &:disabled {
54
+ opacity: rc-theme('menu-item-disabled-opacity');
55
+ cursor: not-allowed;
56
+ }
57
+ }
58
+
59
+ .rc-menu-item-danger .rc-menu-item-btn {
60
+ color: rc-theme('menu-item-danger-color');
61
+ }
62
+
63
+ .rc-menu-item-icon {
64
+ font-size: 1rem;
65
+ flex-shrink: 0;
66
+ color: rc-theme('menu-icon-color');
67
+
68
+ .rc-menu-item-danger & {
69
+ color: rc-theme('menu-item-danger-color');
70
+ }
71
+ }
72
+
73
+ .rc-menu-item-label {
74
+ flex: 1;
75
+ }
76
+
77
+ // ── Separator ─────────────────────────────────────────────────────────────
78
+ .rc-menu-separator {
79
+ display: block;
80
+ height: 1px;
81
+ background: rc-theme('menu-separator-color');
82
+ margin: 0.25rem 0;
83
+ }
84
+ }
@@ -0,0 +1,112 @@
1
+ // =============================================================================
2
+ // rc-navbar Resolve Components Navbar (Themed)
3
+ // =============================================================================
4
+
5
+ @use '../styles/theming/get-value' as *;
6
+ @use '../styles/theming/install' as *;
7
+
8
+ @include rc-install-component() {
9
+ // ── Base bar ───────────────────────────────────────────────────────────────
10
+ .rc-navbar {
11
+ display: flex;
12
+ flex-direction: row;
13
+ align-items: center;
14
+ width: 100%;
15
+ min-height: rc-theme('navbar-height');
16
+ padding: rc-theme('navbar-padding');
17
+ box-sizing: border-box;
18
+ gap: rc-theme('navbar-gap');
19
+ font-family: rc-theme('navbar-font-family');
20
+ font-size: rc-theme('navbar-font-size');
21
+ font-weight: rc-theme('navbar-font-weight');
22
+ flex-shrink: 0;
23
+ z-index: rc-theme('navbar-z-index');
24
+
25
+ // Multi-row — stack rows instead of inline items
26
+ &:has(rc-navbar-row) {
27
+ flex-direction: column;
28
+ align-items: stretch;
29
+ gap: 0;
30
+ padding: 0;
31
+ }
32
+ }
33
+
34
+ // ── Default color ─────────────────────────────────────────────────────────
35
+ .rc-navbar.rc-navbar-color-default {
36
+ background: rc-theme('navbar-default-background');
37
+ color: rc-theme('navbar-default-text-color');
38
+ border-bottom: 1px solid rc-theme('navbar-default-border-color');
39
+
40
+ // Ghost buttons inside get a tinted hover in default mode
41
+ .rc-btn-ghost {
42
+ color: rc-theme('navbar-default-text-color');
43
+ }
44
+ }
45
+
46
+ // ── Primary color ─────────────────────────────────────────────────────────
47
+ .rc-navbar.rc-navbar-color-primary {
48
+ background: rc-theme('navbar-primary-background');
49
+ color: rc-theme('navbar-primary-text-color');
50
+ border-bottom: none;
51
+ box-shadow: rc-theme('navbar-primary-shadow');
52
+
53
+ .rc-btn-ghost {
54
+ color: rc-theme('navbar-primary-text-color');
55
+
56
+ &:hover {
57
+ background: rc-theme('navbar-primary-btn-hover-background');
58
+ }
59
+ }
60
+ }
61
+
62
+ // ── Position strategies ────────────────────────────────────────────────────
63
+ .rc-navbar.rc-navbar-position-sticky {
64
+ position: sticky;
65
+ top: 0;
66
+ }
67
+
68
+ .rc-navbar.rc-navbar-position-fixed {
69
+ position: fixed;
70
+ top: 0;
71
+ left: 0;
72
+ right: 0;
73
+ }
74
+
75
+ // ── Inner row (multi-row toolbar) ──────────────────────────────────────────
76
+ .rc-navbar-row {
77
+ display: flex;
78
+ flex-direction: row;
79
+ align-items: center;
80
+ min-height: rc-theme('navbar-height');
81
+ padding: rc-theme('navbar-padding');
82
+ box-sizing: border-box;
83
+ gap: rc-theme('navbar-gap');
84
+ width: 100%;
85
+ }
86
+
87
+ // ── Brand ──────────────────────────────────────────────────────────────────
88
+ .rc-navbar-brand {
89
+ display: inline-flex;
90
+ align-items: center;
91
+ gap: 0.5rem;
92
+ font-size: rc-theme('navbar-brand-font-size');
93
+ font-weight: rc-theme('navbar-brand-font-weight');
94
+ text-decoration: none;
95
+ color: inherit;
96
+ white-space: nowrap;
97
+ flex-shrink: 0;
98
+ }
99
+
100
+ // ── Spacer ─────────────────────────────────────────────────────────────────
101
+ .rc-navbar-spacer {
102
+ flex: 1 1 auto;
103
+ }
104
+
105
+ // ── Actions ────────────────────────────────────────────────────────────────
106
+ .rc-navbar-actions {
107
+ display: inline-flex;
108
+ align-items: center;
109
+ gap: 0.25rem;
110
+ flex-shrink: 0;
111
+ }
112
+ }
package/package.json CHANGED
@@ -1,17 +1,24 @@
1
1
  {
2
2
  "name": "@resolve-components/theme",
3
- "version": "1.0.0",
3
+ "version": "1.2.1",
4
4
  "schematics": "./collection.json",
5
- "description": "🔥 Fully customizable Angular UI components made with ❤️ using Angular CDK 🔥",
5
+ "description": "🔥 Fully customizable Angular UI components made with ❤️ using Angular CDK 🔥",
6
6
  "peerDependencies": {
7
- "@angular/common": "^21.1.0",
8
- "@angular/core": "^21.1.0",
9
- "@angular/forms": "~21.1.0",
10
- "@angular/cdk": "^21.1.5",
11
- "rxjs": "~7.8.0",
12
- "@angular/platform-browser": "~21.1.0",
13
- "eva-icons": "^1.1.3"
7
+ "@angular/common": ">=17.0.0",
8
+ "@angular/core": ">=17.0.0",
9
+ "@angular/forms": ">=17.0.0",
10
+ "@angular/cdk": ">=17.0.0",
11
+ "rxjs": ">=7.4.0",
12
+ "@angular/platform-browser": ">=17.0.0",
13
+ "eva-icons": "^1.1.3",
14
+ "@angular-devkit/schematics": ">=17.0.0"
14
15
  },
16
+ "peerDependenciesMeta": {
17
+ "eva-icons": {
18
+ "optional": true
19
+ }
20
+ },
21
+ "website": "https://resolve-components.web.app",
15
22
  "keywords": [
16
23
  "@resolve-components/theme",
17
24
  "@resolve-components",