@energycap/components 0.45.2-multi-select-component.20260305-1130 → 0.46.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 (60) hide show
  1. package/README.md +188 -188
  2. package/fesm2022/energycap-components.mjs +106 -106
  3. package/fesm2022/energycap-components.mjs.map +1 -1
  4. package/package.json +1 -1
  5. package/schematics/collection.json +4 -4
  6. package/src/assets/images/favicon-ech.svg +14 -14
  7. package/src/assets/images/favicon-esa.svg +6 -6
  8. package/src/assets/images/favicon-eum.svg +13 -13
  9. package/src/assets/images/favicon-whitelabel.svg +4 -4
  10. package/src/assets/images/favicon.svg +12 -12
  11. package/src/assets/images/icon-carbonhub.svg +10 -10
  12. package/src/assets/images/icon-eum.svg +5 -5
  13. package/src/assets/images/icon-ucp.svg +12 -12
  14. package/src/assets/images/icon-wattics.svg +5 -5
  15. package/src/assets/images/icon.svg +11 -11
  16. package/src/assets/images/logo.svg +10 -10
  17. package/src/assets/images/splash-electric.svg +3 -3
  18. package/src/assets/images/splash-interval.svg +3 -3
  19. package/src/assets/images/splash-seedling.svg +11 -11
  20. package/src/assets/images/splash-water.svg +3 -3
  21. package/src/assets/locales/en_US.json +65 -65
  22. package/src/assets/scripts/unsupported-browser.js +17 -17
  23. package/src/styles/_base.scss +38 -38
  24. package/src/styles/_colors.scss +96 -96
  25. package/src/styles/_core.scss +3 -3
  26. package/src/styles/_functions.scss +114 -114
  27. package/src/styles/_global-variables.scss +230 -230
  28. package/src/styles/_icons.scss +23 -23
  29. package/src/styles/bootstrap/_grid.scss +33 -33
  30. package/src/styles/bootstrap/_reboot.scss +322 -322
  31. package/src/styles/components/_badge.scss +14 -14
  32. package/src/styles/components/_card.scss +21 -21
  33. package/src/styles/components/_link-icons.scss +37 -37
  34. package/src/styles/components/_splash.scss +188 -188
  35. package/src/styles/components/_tag.scss +22 -22
  36. package/src/styles/components/_unsupported-browsers.scss +23 -23
  37. package/src/styles/email/_email-base.scss +227 -227
  38. package/src/styles/email/email.scss +42 -42
  39. package/src/styles/index.scss +29 -29
  40. package/src/styles/mixins/_animations.scss +17 -17
  41. package/src/styles/mixins/_button-base.scss +206 -206
  42. package/src/styles/mixins/_card-base.scss +40 -40
  43. package/src/styles/mixins/_common.scss +51 -51
  44. package/src/styles/mixins/_dialog-base.scss +95 -95
  45. package/src/styles/mixins/_form-control-base.scss +674 -674
  46. package/src/styles/mixins/_login.scss +74 -74
  47. package/src/styles/mixins/_menu-base.scss +153 -153
  48. package/src/styles/mixins/_overlay-base.scss +32 -32
  49. package/src/styles/mixins/_resizable-base.scss +57 -57
  50. package/src/styles/mixins/_spinner-base.scss +34 -34
  51. package/src/styles/mixins/_table-base.scss +297 -297
  52. package/src/styles/mixins/_tabs-base.scss +146 -146
  53. package/src/styles/mixins/_tags-base.scss +125 -125
  54. package/src/styles/mixins/_text.scss +89 -89
  55. package/src/styles/mixins.scss +14 -14
  56. package/src/styles/utilities/_borders.scss +29 -29
  57. package/src/styles/utilities/_common.scss +49 -49
  58. package/src/styles/utilities/_layout.scss +115 -115
  59. package/src/styles/utilities/_spacing.scss +64 -64
  60. package/src/styles/utilities/_text.scss +139 -139
@@ -1,74 +1,74 @@
1
- @import '../core';
2
-
3
- @mixin login(
4
- $container-selector: '.ec-login-container',
5
- $content-selector: '.ec-login-content',
6
- $card-selector: '.ec-login-card',
7
- $card-header-selector: '.ec-login-card-header',
8
- $logo-selector: '.ec-login-logo',
9
- $banner-selector: '.ec-login-banner',
10
- $form-selector: '.ec-login-form',
11
- $form-control-selector: '.ec-login-form-control',
12
- $form-footer-selector: '.ec-login-form-footer',
13
- $card-footer-selector: '.ec-login-card-footer',
14
- $form-submit-button-selector: '.ec-login-submit'
15
- ) {
16
- #{$container-selector} {
17
- background: var(--ec-background-splash);
18
- display: flex;
19
- align-items: center;
20
- flex: 1 1;
21
- }
22
-
23
- #{$content-selector} {
24
- margin: 0 auto;
25
- width: calc(100% - 4rem);
26
- max-width: 25rem;
27
- }
28
-
29
- #{$card-selector} {
30
- background-color: var(--ec-background-color);
31
- border-radius: var(--ec-border-radius-dialog);
32
- box-shadow: 0 0 12px rgba($black, .66);
33
- }
34
-
35
- #{$card-header-selector} {
36
- padding: 3rem 2rem 2rem;
37
- text-align: center;
38
- }
39
-
40
- #{$logo-selector} {
41
- max-width: 100%;
42
- height: 2.5rem;
43
- }
44
-
45
- #{$form-selector} {
46
- padding: 0 2rem;
47
- }
48
-
49
- #{$banner-selector} {
50
- margin-bottom: 1rem;
51
- }
52
-
53
- #{$form-control-selector} {
54
- margin-bottom: 1rem;
55
- }
56
-
57
- #{$form-footer-selector} {
58
- padding: 1.5rem 0 3rem;
59
- display: flex;
60
- align-items: center;
61
- }
62
-
63
- #{$form-submit-button-selector} {
64
- --ec-button-color-primary: var(--ec-color-brand-green);
65
- margin-left: auto;
66
- }
67
-
68
- #{$card-footer-selector} {
69
- border-top: 1px solid var(--ec-border-color);
70
- padding: 1rem;
71
- display: flex;
72
- align-items: center;
73
- }
74
- }
1
+ @import '../core';
2
+
3
+ @mixin login(
4
+ $container-selector: '.ec-login-container',
5
+ $content-selector: '.ec-login-content',
6
+ $card-selector: '.ec-login-card',
7
+ $card-header-selector: '.ec-login-card-header',
8
+ $logo-selector: '.ec-login-logo',
9
+ $banner-selector: '.ec-login-banner',
10
+ $form-selector: '.ec-login-form',
11
+ $form-control-selector: '.ec-login-form-control',
12
+ $form-footer-selector: '.ec-login-form-footer',
13
+ $card-footer-selector: '.ec-login-card-footer',
14
+ $form-submit-button-selector: '.ec-login-submit'
15
+ ) {
16
+ #{$container-selector} {
17
+ background: var(--ec-background-splash);
18
+ display: flex;
19
+ align-items: center;
20
+ flex: 1 1;
21
+ }
22
+
23
+ #{$content-selector} {
24
+ margin: 0 auto;
25
+ width: calc(100% - 4rem);
26
+ max-width: 25rem;
27
+ }
28
+
29
+ #{$card-selector} {
30
+ background-color: var(--ec-background-color);
31
+ border-radius: var(--ec-border-radius-dialog);
32
+ box-shadow: 0 0 12px rgba($black, .66);
33
+ }
34
+
35
+ #{$card-header-selector} {
36
+ padding: 3rem 2rem 2rem;
37
+ text-align: center;
38
+ }
39
+
40
+ #{$logo-selector} {
41
+ max-width: 100%;
42
+ height: 2.5rem;
43
+ }
44
+
45
+ #{$form-selector} {
46
+ padding: 0 2rem;
47
+ }
48
+
49
+ #{$banner-selector} {
50
+ margin-bottom: 1rem;
51
+ }
52
+
53
+ #{$form-control-selector} {
54
+ margin-bottom: 1rem;
55
+ }
56
+
57
+ #{$form-footer-selector} {
58
+ padding: 1.5rem 0 3rem;
59
+ display: flex;
60
+ align-items: center;
61
+ }
62
+
63
+ #{$form-submit-button-selector} {
64
+ --ec-button-color-primary: var(--ec-color-brand-green);
65
+ margin-left: auto;
66
+ }
67
+
68
+ #{$card-footer-selector} {
69
+ border-top: 1px solid var(--ec-border-color);
70
+ padding: 1rem;
71
+ display: flex;
72
+ align-items: center;
73
+ }
74
+ }
@@ -1,154 +1,154 @@
1
- @import '../../styles/mixins/common';
2
-
3
- @function get-item-padding($height, $line-height) {
4
- @return (($height - $line-height) * 0.5) .5rem;
5
- }
6
-
7
- $menu-item-height: 1.75rem;
8
- $menu-item-line-height: 1.25rem;
9
- $menu-item-color: var(--ec-color-secondary-dark);
10
- $menu-item-font-size: var(--ec-menu-font-size, var(--ec-font-size-action));
11
- $menu-item-padding: get-item-padding($menu-item-height, $menu-item-line-height);
12
-
13
- @mixin menu-item {
14
- cursor: inherit;
15
- line-height: $menu-item-line-height;
16
- min-height: $menu-item-height;
17
- padding: $menu-item-padding;
18
- border-radius: var(--ec-border-radius);
19
- display: flex;
20
-
21
- .label {
22
- margin-right: auto;
23
-
24
- & + .ec-icon {
25
- margin-left: .5rem;
26
- }
27
- }
28
-
29
- .ec-icon {
30
- margin-top: calc(calc(#{$menu-item-line-height} - #{map-get($icon-sizes, default)}) / 2);
31
- flex: none;
32
-
33
- & + .label {
34
- margin-left: .5rem;
35
- }
36
- }
37
-
38
- .ec-icon-sm {
39
- margin-top: calc(calc(#{$menu-item-line-height} - #{map-get($icon-sizes, sm)}) / 2);
40
- }
41
- }
42
-
43
- @mixin menu-ul {
44
- @include ul-reset;
45
- flex: auto;
46
- height: 100%;
47
- overflow-y: auto;
48
-
49
- li {
50
- cursor: pointer;
51
- padding: 0 .25rem;
52
-
53
- a {
54
- color: inherit;
55
- border-bottom: 0;
56
- text-decoration: none;
57
- }
58
-
59
- &.is-selected,
60
- &.is-highlighted {
61
- .item-wrapper {
62
- background-color: var(--ec-background-color-selected);
63
- }
64
- }
65
-
66
- &:hover .item-wrapper {
67
- background-color: var(--ec-background-color-hover);
68
- }
69
-
70
- &:focus .item-wrapper{
71
- outline: none;
72
- background-color: var(--ec-color-disabled-dark);
73
- position: relative;
74
- z-index: 1;
75
- }
76
-
77
- &.is-disabled .item-wrapper {
78
- color: var(--ec-color-disabled-dark);
79
- opacity: var(--ec-form-control-opacity-disabled);
80
- }
81
-
82
- &.is-disabled,
83
- &.is-readonly {
84
- cursor: default;
85
-
86
- .item-wrapper {
87
- background-color: transparent;
88
- color: inherit;
89
- }
90
- }
91
-
92
- &.is-checked {
93
- .icon-check {
94
- opacity: 1;
95
- }
96
- }
97
-
98
- &.heading-divided-section,
99
- &.heading {
100
- cursor: default;
101
-
102
- .item-wrapper {
103
- background-color: transparent;
104
- }
105
-
106
- &:not(:first-child) {
107
- margin-top: .5rem;
108
- }
109
- }
110
-
111
- &.divider:not(:last-child) {
112
- border-bottom: 1px solid var(--ec-border-color);
113
- padding-bottom: .25rem;
114
- margin-bottom: .25rem;
115
- }
116
-
117
- // The :not(.divider + .divider-top) prevents a double border from appearing when the previous item has a bottom divider
118
- &.divider-top:not(:first-child):not(.divider + .divider-top) {
119
- border-top: 1px solid var(--ec-border-color);
120
- padding-top: .25rem;
121
- margin-top: .25rem;
122
- }
123
-
124
- @each $index in (1, 2, 3) {
125
- $padding: $index + .5;
126
- &.indent-#{$index} .item-wrapper {
127
- padding-left: #{$padding}rem;
128
- }
129
- }
130
- }
131
- }
132
-
133
- @mixin menu-parent {
134
- display: flex;
135
- flex-direction: column;
136
- flex: auto;
137
- position: relative;
138
- max-width: 100%;
139
-
140
- > header {
141
- cursor: pointer;
142
-
143
- &.is-selected,
144
- &.is-highlighted {
145
- .item-wrapper {
146
- background-color: var(--ec-background-color-selected);
147
- }
148
- }
149
-
150
- &:hover .item-wrapper {
151
- background-color: var(--ec-background-color-hover);
152
- }
153
- }
1
+ @import '../../styles/mixins/common';
2
+
3
+ @function get-item-padding($height, $line-height) {
4
+ @return (($height - $line-height) * 0.5) .5rem;
5
+ }
6
+
7
+ $menu-item-height: 1.75rem;
8
+ $menu-item-line-height: 1.25rem;
9
+ $menu-item-color: var(--ec-color-secondary-dark);
10
+ $menu-item-font-size: var(--ec-menu-font-size, var(--ec-font-size-action));
11
+ $menu-item-padding: get-item-padding($menu-item-height, $menu-item-line-height);
12
+
13
+ @mixin menu-item {
14
+ cursor: inherit;
15
+ line-height: $menu-item-line-height;
16
+ min-height: $menu-item-height;
17
+ padding: $menu-item-padding;
18
+ border-radius: var(--ec-border-radius);
19
+ display: flex;
20
+
21
+ .label {
22
+ margin-right: auto;
23
+
24
+ & + .ec-icon {
25
+ margin-left: .5rem;
26
+ }
27
+ }
28
+
29
+ .ec-icon {
30
+ margin-top: calc(calc(#{$menu-item-line-height} - #{map-get($icon-sizes, default)}) / 2);
31
+ flex: none;
32
+
33
+ & + .label {
34
+ margin-left: .5rem;
35
+ }
36
+ }
37
+
38
+ .ec-icon-sm {
39
+ margin-top: calc(calc(#{$menu-item-line-height} - #{map-get($icon-sizes, sm)}) / 2);
40
+ }
41
+ }
42
+
43
+ @mixin menu-ul {
44
+ @include ul-reset;
45
+ flex: auto;
46
+ height: 100%;
47
+ overflow-y: auto;
48
+
49
+ li {
50
+ cursor: pointer;
51
+ padding: 0 .25rem;
52
+
53
+ a {
54
+ color: inherit;
55
+ border-bottom: 0;
56
+ text-decoration: none;
57
+ }
58
+
59
+ &.is-selected,
60
+ &.is-highlighted {
61
+ .item-wrapper {
62
+ background-color: var(--ec-background-color-selected);
63
+ }
64
+ }
65
+
66
+ &:hover .item-wrapper {
67
+ background-color: var(--ec-background-color-hover);
68
+ }
69
+
70
+ &:focus .item-wrapper{
71
+ outline: none;
72
+ background-color: var(--ec-color-disabled-dark);
73
+ position: relative;
74
+ z-index: 1;
75
+ }
76
+
77
+ &.is-disabled .item-wrapper {
78
+ color: var(--ec-color-disabled-dark);
79
+ opacity: var(--ec-form-control-opacity-disabled);
80
+ }
81
+
82
+ &.is-disabled,
83
+ &.is-readonly {
84
+ cursor: default;
85
+
86
+ .item-wrapper {
87
+ background-color: transparent;
88
+ color: inherit;
89
+ }
90
+ }
91
+
92
+ &.is-checked {
93
+ .icon-check {
94
+ opacity: 1;
95
+ }
96
+ }
97
+
98
+ &.heading-divided-section,
99
+ &.heading {
100
+ cursor: default;
101
+
102
+ .item-wrapper {
103
+ background-color: transparent;
104
+ }
105
+
106
+ &:not(:first-child) {
107
+ margin-top: .5rem;
108
+ }
109
+ }
110
+
111
+ &.divider:not(:last-child) {
112
+ border-bottom: 1px solid var(--ec-border-color);
113
+ padding-bottom: .25rem;
114
+ margin-bottom: .25rem;
115
+ }
116
+
117
+ // The :not(.divider + .divider-top) prevents a double border from appearing when the previous item has a bottom divider
118
+ &.divider-top:not(:first-child):not(.divider + .divider-top) {
119
+ border-top: 1px solid var(--ec-border-color);
120
+ padding-top: .25rem;
121
+ margin-top: .25rem;
122
+ }
123
+
124
+ @each $index in (1, 2, 3) {
125
+ $padding: $index + .5;
126
+ &.indent-#{$index} .item-wrapper {
127
+ padding-left: #{$padding}rem;
128
+ }
129
+ }
130
+ }
131
+ }
132
+
133
+ @mixin menu-parent {
134
+ display: flex;
135
+ flex-direction: column;
136
+ flex: auto;
137
+ position: relative;
138
+ max-width: 100%;
139
+
140
+ > header {
141
+ cursor: pointer;
142
+
143
+ &.is-selected,
144
+ &.is-highlighted {
145
+ .item-wrapper {
146
+ background-color: var(--ec-background-color-selected);
147
+ }
148
+ }
149
+
150
+ &:hover .item-wrapper {
151
+ background-color: var(--ec-background-color-hover);
152
+ }
153
+ }
154
154
  }
@@ -1,33 +1,33 @@
1
- $overlay-padding-x: 4rem;
2
- $overlay-padding-y: 3rem;
3
-
4
- @mixin overlay($bg: var(--ec-overlay-background-color, var(--ec-background-color)), $padding-x: $overlay-padding-x, $padding-y: $overlay-padding-y) {
5
- align-items: center;
6
- background-color: $bg;
7
- display: flex;
8
- flex-direction: column;
9
- justify-content: center;
10
- padding: $padding-y $padding-x;
11
- z-index: var(--ec-z-index-overlay);
12
-
13
- // @deprecated when the ng1 overlay goes away
14
- right: 0;
15
- top: 0;
16
- position: absolute;
17
- bottom: 0;
18
- left: 0;
19
- }
20
-
21
- @mixin overlay-container {
22
- position: relative;
23
- }
24
-
25
- @mixin overlay-message($color: var(--ec-color-secondary-dark), $font-size: var(--ec-font-size-title)) {
26
- color: $color;
27
- font-size: $font-size;
28
- }
29
-
30
- @mixin overlay-empty-wrapper {
31
- max-width: 30rem;
32
- margin: 0 auto;
1
+ $overlay-padding-x: 4rem;
2
+ $overlay-padding-y: 3rem;
3
+
4
+ @mixin overlay($bg: var(--ec-overlay-background-color, var(--ec-background-color)), $padding-x: $overlay-padding-x, $padding-y: $overlay-padding-y) {
5
+ align-items: center;
6
+ background-color: $bg;
7
+ display: flex;
8
+ flex-direction: column;
9
+ justify-content: center;
10
+ padding: $padding-y $padding-x;
11
+ z-index: var(--ec-z-index-overlay);
12
+
13
+ // @deprecated when the ng1 overlay goes away
14
+ right: 0;
15
+ top: 0;
16
+ position: absolute;
17
+ bottom: 0;
18
+ left: 0;
19
+ }
20
+
21
+ @mixin overlay-container {
22
+ position: relative;
23
+ }
24
+
25
+ @mixin overlay-message($color: var(--ec-color-secondary-dark), $font-size: var(--ec-font-size-title)) {
26
+ color: $color;
27
+ font-size: $font-size;
28
+ }
29
+
30
+ @mixin overlay-empty-wrapper {
31
+ max-width: 30rem;
32
+ margin: 0 auto;
33
33
  }
@@ -1,57 +1,57 @@
1
- @import '../core';
2
-
3
- @mixin resizable-wrapper {
4
- position: relative;
5
- @content;
6
- }
7
-
8
- @mixin resizable-handle-hover {
9
- &::after {
10
- background-color: var(--ec-color-interactive);
11
- }
12
- }
13
-
14
- @mixin resizable-handle {
15
- .handle {
16
- position: absolute;
17
- right: -7px;
18
- width: 13px;
19
- height: 100%;
20
- top: 0;
21
- padding: 0 5px;
22
- z-index: var(--ec-z-index-splitter);
23
-
24
- &::after {
25
- content: '';
26
- display: block;
27
- transition: background-color .3s ease;
28
- height: 100%;
29
- position: relative;
30
- }
31
-
32
- &:hover {
33
- cursor: col-resize;
34
- @include resizable-handle-hover();
35
- }
36
-
37
- @content;
38
- }
39
- }
40
-
41
- @mixin resizable-content {
42
- .content {
43
- overflow: hidden;
44
- @content;
45
- }
46
- }
47
-
48
- @mixin resizable-active {
49
- &.is-active {
50
- user-select: none;
51
-
52
- .handle {
53
- @include resizable-handle-hover();
54
- }
55
- }
56
- }
57
-
1
+ @import '../core';
2
+
3
+ @mixin resizable-wrapper {
4
+ position: relative;
5
+ @content;
6
+ }
7
+
8
+ @mixin resizable-handle-hover {
9
+ &::after {
10
+ background-color: var(--ec-color-interactive);
11
+ }
12
+ }
13
+
14
+ @mixin resizable-handle {
15
+ .handle {
16
+ position: absolute;
17
+ right: -7px;
18
+ width: 13px;
19
+ height: 100%;
20
+ top: 0;
21
+ padding: 0 5px;
22
+ z-index: var(--ec-z-index-splitter);
23
+
24
+ &::after {
25
+ content: '';
26
+ display: block;
27
+ transition: background-color .3s ease;
28
+ height: 100%;
29
+ position: relative;
30
+ }
31
+
32
+ &:hover {
33
+ cursor: col-resize;
34
+ @include resizable-handle-hover();
35
+ }
36
+
37
+ @content;
38
+ }
39
+ }
40
+
41
+ @mixin resizable-content {
42
+ .content {
43
+ overflow: hidden;
44
+ @content;
45
+ }
46
+ }
47
+
48
+ @mixin resizable-active {
49
+ &.is-active {
50
+ user-select: none;
51
+
52
+ .handle {
53
+ @include resizable-handle-hover();
54
+ }
55
+ }
56
+ }
57
+