@sb1/ffe-accordion 11.1.1 → 12.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.
@@ -1,47 +1,37 @@
1
- :root,
2
- :host {
3
- --ffe-v-accordion-primary-color: var(--ffe-farge-vann);
4
- --ffe-v-accordion-secondary-color: var(--ffe-farge-hvit);
5
- --ffe-v-accordion-body-text-color: var(--ffe-farge-svart);
6
- --ffe-v-accordion-focus-border-color: var(--ffe-farge-vann);
7
- }
8
- @media (prefers-color-scheme: dark) {
9
- :root .regard-color-scheme-preference,
10
- :host .regard-color-scheme-preference {
11
- --ffe-v-accordion-primary-color: var(--ffe-farge-frost);
12
- --ffe-v-accordion-secondary-color: var(--ffe-farge-natt);
13
- --ffe-v-accordion-body-text-color: var(--ffe-farge-hvit);
14
- --ffe-v-accordion-focus-border-color: var(--ffe-farge-hvit);
15
- }
16
- }
17
1
  .ffe-accordion {
2
+ --ffe-v-accordion-hover-color: var(--ffe-color-surface-primary-default-hover);
3
+ --ffe-v-accordion-border-color: var(--ffe-color-border-primary-subtle);
4
+ --ffe-v-accordion-border-hover-color: var(--ffe-color-border-primary-hover);
5
+ --ffe-v-accordion-border-focus-color: var(--ffe-color-border-interactive-focus);
6
+ --ffe-v-accordion-header-text-color: var(--ffe-color-foreground-emphasis);
7
+ --ffe-v-accordion-body-text-color: var(--ffe-color-foreground-default);
18
8
  width: 100%;
19
- border: 1px solid transparent;
9
+ border: var(--ffe-g-border-width) solid transparent;
20
10
  font-family: var(--ffe-g-font);
21
11
  }
22
12
  .ffe-accordion .ffe-accordion-item__heading {
23
13
  margin: 0;
24
14
  }
25
- .ffe-accordion-item {
26
- --icon-color: var(--ffe-v-accordion-primary-color);
27
- --icon-border-color: var(--ffe-v-accordion-primary-color);
28
- --icon-background-color: var(--ffe-v-accordion-secondary-color);
15
+ .ffe-accordion .ffe-accordion-item {
16
+ color: var(--ffe-v-accordion-body-text-color);
29
17
  margin-bottom: var(--ffe-spacing-xs);
30
- -webkit-transition: margin-bottom var(--ffe-transition-duration) var(--ffe-ease-in-out-back);
31
- -o-transition: margin-bottom var(--ffe-transition-duration) var(--ffe-ease-in-out-back);
32
- transition: margin-bottom var(--ffe-transition-duration) var(--ffe-ease-in-out-back);
33
- -webkit-box-shadow: 0 1px 4px rgba(38, 38, 38, 0.3);
34
- box-shadow: 0 1px 4px rgba(38, 38, 38, 0.3);
18
+ -webkit-transition: all var(--ffe-transition-duration) var(--ffe-ease);
19
+ -o-transition: all var(--ffe-transition-duration) var(--ffe-ease);
20
+ transition: all var(--ffe-transition-duration) var(--ffe-ease);
35
21
  border-radius: 16px;
36
- border: 2px solid transparent;
37
- background-color: var(--ffe-v-accordion-secondary-color);
22
+ border: var(--ffe-g-border-width) solid var(--ffe-v-accordion-border-color);
23
+ }
24
+ @media (hover: hover) and (pointer: fine) {
25
+ .ffe-accordion .ffe-accordion-item:hover {
26
+ border-color: var(--ffe-v-accordion-border-hover-color);
27
+ }
38
28
  }
39
- .ffe-accordion-item__heading,
40
- .ffe-accordion-item__body {
29
+ .ffe-accordion .ffe-accordion-item__heading,
30
+ .ffe-accordion .ffe-accordion-item__body {
41
31
  overflow-wrap: anywhere;
42
32
  margin: 0;
43
33
  }
44
- .ffe-accordion-item__heading-button {
34
+ .ffe-accordion .ffe-accordion-item__heading-button {
45
35
  width: 100%;
46
36
  background: none;
47
37
  border: none;
@@ -49,18 +39,21 @@
49
39
  font-family: var(--ffe-g-font-heading-small);
50
40
  cursor: pointer;
51
41
  outline: none;
52
- color: var(--ffe-v-accordion-primary-color);
42
+ color: var(--ffe-v-accordion-header-text-color);
43
+ border-radius: 16px;
44
+ -webkit-transition: background-color var(--ffe-transition-duration) var(--ffe-ease);
45
+ -o-transition: background-color var(--ffe-transition-duration) var(--ffe-ease);
46
+ transition: background-color var(--ffe-transition-duration) var(--ffe-ease);
47
+ }
48
+ .ffe-accordion .ffe-accordion-item__heading-button--open {
49
+ border-radius: 16px 16px 0 0;
53
50
  }
54
51
  @media (hover: hover) and (pointer: fine) {
55
- .ffe-accordion-item__heading-button:hover {
56
- --icon-color: var(--ffe-v-accordion-secondary-color);
57
- --icon-background-color: var(--ffe-v-accordion-primary-color);
52
+ .ffe-accordion .ffe-accordion-item__heading-button:hover {
53
+ background-color: var(--ffe-v-accordion-hover-color);
58
54
  }
59
55
  }
60
- .ffe-accordion-item__heading-button:focus-visible {
61
- outline: none;
62
- }
63
- .ffe-accordion-item__heading-button-content {
56
+ .ffe-accordion .ffe-accordion-item__heading-button-content {
64
57
  text-align: left;
65
58
  width: 100%;
66
59
  display: -webkit-box;
@@ -74,39 +67,38 @@
74
67
  justify-content: space-between;
75
68
  gap: var(--ffe-spacing-xs);
76
69
  }
77
- .ffe-accordion-item__heading-icon-wrapper {
70
+ .ffe-accordion .ffe-accordion-item__heading-icon-wrapper {
78
71
  line-height: 0;
79
- border: 1px solid var(--icon-border-color);
80
- border-radius: 50%;
81
- padding: var(--ffe-spacing-xs);
82
- background: var(--icon-background-color);
83
- -webkit-transition: background-color var(--ffe-transition-duration) var(--ffe-ease);
84
- -o-transition: background-color var(--ffe-transition-duration) var(--ffe-ease);
85
- transition: background-color var(--ffe-transition-duration) var(--ffe-ease);
86
72
  }
87
- .ffe-accordion-item__heading-icon.ffe-icons {
73
+ .ffe-accordion .ffe-accordion-item__heading-icon.ffe-icons {
88
74
  display: block;
89
75
  -webkit-box-flex: 0;
90
76
  -ms-flex: 0 0 auto;
91
77
  flex: 0 0 auto;
92
- color: var(--icon-color);
78
+ color: var(--ffe-v-accordion-header-text-color);
93
79
  -webkit-transition: color var(--ffe-transition-duration) var(--ffe-ease), -webkit-transform var(--ffe-transition-duration) var(--ffe-ease-in-out-back);
94
80
  transition: color var(--ffe-transition-duration) var(--ffe-ease), -webkit-transform var(--ffe-transition-duration) var(--ffe-ease-in-out-back);
95
81
  -o-transition: transform var(--ffe-transition-duration) var(--ffe-ease-in-out-back), color var(--ffe-transition-duration) var(--ffe-ease);
96
82
  transition: transform var(--ffe-transition-duration) var(--ffe-ease-in-out-back), color var(--ffe-transition-duration) var(--ffe-ease);
97
83
  transition: transform var(--ffe-transition-duration) var(--ffe-ease-in-out-back), color var(--ffe-transition-duration) var(--ffe-ease), -webkit-transform var(--ffe-transition-duration) var(--ffe-ease-in-out-back);
98
84
  }
99
- .ffe-accordion-item__body {
85
+ .ffe-accordion .ffe-accordion-item__body {
100
86
  padding: var(--ffe-spacing-xs) var(--ffe-spacing-sm) var(--ffe-spacing-md);
101
87
  color: var(--ffe-v-accordion-body-text-color);
102
88
  }
103
- .ffe-accordion-item--open:not(:last-of-type) {
89
+ .ffe-accordion .ffe-accordion-item--open:not(:last-of-type) {
104
90
  margin-bottom: var(--ffe-spacing-md);
105
91
  }
106
- .ffe-accordion-item--open .ffe-accordion-item__heading-icon {
92
+ .ffe-accordion .ffe-accordion-item--open .ffe-accordion-item__heading-icon {
107
93
  -webkit-transform: rotateZ(180deg);
108
94
  transform: rotateZ(180deg);
109
95
  }
110
- .ffe-accordion-item--focus {
111
- border-color: var(--ffe-v-accordion-focus-border-color);
96
+ .ffe-accordion .ffe-accordion-item--focus {
97
+ -webkit-box-shadow: 0 0 0 var(--ffe-g-border-width-focus) var(--ffe-v-accordion-border-focus-color);
98
+ box-shadow: 0 0 0 var(--ffe-g-border-width-focus) var(--ffe-v-accordion-border-focus-color);
99
+ }
100
+ @media (hover: hover) and (pointer: fine) {
101
+ .ffe-accordion .ffe-accordion-item--focus:hover {
102
+ border-color: var(--ffe-v-accordion-border-color);
103
+ }
112
104
  }
@@ -1,2 +1,116 @@
1
- @import 'theme';
2
- @import 'accordion';
1
+ .ffe-accordion {
2
+ --ffe-v-accordion-hover-color: var(
3
+ --ffe-color-surface-primary-default-hover
4
+ );
5
+ --ffe-v-accordion-border-color: var(--ffe-color-border-primary-subtle);
6
+ --ffe-v-accordion-border-hover-color: var(--ffe-color-border-primary-hover);
7
+ --ffe-v-accordion-border-focus-color: var(
8
+ --ffe-color-border-interactive-focus
9
+ );
10
+ --ffe-v-accordion-header-text-color: var(--ffe-color-foreground-emphasis);
11
+ --ffe-v-accordion-body-text-color: var(--ffe-color-foreground-default);
12
+
13
+ width: 100%;
14
+ border: var(--ffe-g-border-width) solid transparent;
15
+ font-family: var(--ffe-g-font);
16
+
17
+ .ffe-accordion-item__heading {
18
+ margin: 0;
19
+ }
20
+
21
+ .ffe-accordion-item {
22
+ color: var(--ffe-v-accordion-body-text-color);
23
+ margin-bottom: var(--ffe-spacing-xs);
24
+ transition: all var(--ffe-transition-duration)
25
+ var(--ffe-ease);
26
+ border-radius: 16px;
27
+ border: var(--ffe-g-border-width) solid
28
+ var(--ffe-v-accordion-border-color);
29
+
30
+ @media (hover: hover) and (pointer: fine) {
31
+ &:hover {
32
+ border-color: var(--ffe-v-accordion-border-hover-color);
33
+ }
34
+ }
35
+
36
+ &__heading,
37
+ &__body {
38
+ overflow-wrap: anywhere;
39
+ margin: 0;
40
+ }
41
+
42
+ &__heading-button {
43
+ width: 100%;
44
+ background: none;
45
+ border: none;
46
+ padding: var(--ffe-spacing-sm);
47
+ font-family: var(--ffe-g-font-heading-small);
48
+ cursor: pointer;
49
+ outline: none;
50
+ color: var(--ffe-v-accordion-header-text-color);
51
+ border-radius: 16px;
52
+ transition: background-color var(--ffe-transition-duration)
53
+ var(--ffe-ease);
54
+
55
+ &--open {
56
+ border-radius: 16px 16px 0 0;
57
+ }
58
+
59
+ @media (hover: hover) and (pointer: fine) {
60
+ &:hover {
61
+ background-color: var(--ffe-v-accordion-hover-color);
62
+ }
63
+ }
64
+ }
65
+
66
+ &__heading-button-content {
67
+ text-align: left;
68
+ width: 100%;
69
+ display: flex;
70
+ align-items: center;
71
+ justify-content: space-between;
72
+ gap: var(--ffe-spacing-xs);
73
+ }
74
+
75
+ &__heading-icon-wrapper {
76
+ line-height: 0;
77
+ }
78
+
79
+ &__heading-icon.ffe-icons {
80
+ display: block;
81
+ flex: 0 0 auto;
82
+ color: var(--ffe-v-accordion-header-text-color);
83
+ transition:
84
+ transform var(--ffe-transition-duration)
85
+ var(--ffe-ease-in-out-back),
86
+ color var(--ffe-transition-duration) var(--ffe-ease);
87
+ }
88
+
89
+ &__body {
90
+ padding: var(--ffe-spacing-xs) var(--ffe-spacing-sm)
91
+ var(--ffe-spacing-md);
92
+ color: var(--ffe-v-accordion-body-text-color);
93
+ }
94
+
95
+ &--open {
96
+ &:not(:last-of-type) {
97
+ margin-bottom: var(--ffe-spacing-md);
98
+ }
99
+
100
+ .ffe-accordion-item__heading-icon {
101
+ transform: rotateZ(180deg);
102
+ }
103
+ }
104
+
105
+ &--focus {
106
+ box-shadow: 0 0 0 var(--ffe-g-border-width-focus)
107
+ var(--ffe-v-accordion-border-focus-color);
108
+
109
+ @media (hover: hover) and (pointer: fine) {
110
+ &:hover {
111
+ border-color: var(--ffe-v-accordion-border-color);
112
+ }
113
+ }
114
+ }
115
+ }
116
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sb1/ffe-accordion",
3
- "version": "11.1.1",
3
+ "version": "12.0.1",
4
4
  "description": "Accordion component for FFE.",
5
5
  "license": "MIT",
6
6
  "author": "SpareBank 1",
@@ -18,7 +18,7 @@
18
18
  "build": "lessc less/ffe-accordion.less css/ffe-accordion.css --autoprefix"
19
19
  },
20
20
  "dependencies": {
21
- "@sb1/ffe-core": "^29.3.0"
21
+ "@sb1/ffe-core": "^29.5.0"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@sb1/ffe-buildtool": "^0.9.0"
@@ -26,5 +26,5 @@
26
26
  "publishConfig": {
27
27
  "access": "public"
28
28
  },
29
- "gitHead": "f474381dd349e5f8a64b9e6883aa9cb4a6d184d8"
29
+ "gitHead": "9f3d07c726368b31a79a15acbb545809c58ff413"
30
30
  }
@@ -1,99 +0,0 @@
1
- .ffe-accordion {
2
- width: 100%;
3
- border: 1px solid transparent;
4
- font-family: var(--ffe-g-font);
5
-
6
- .ffe-accordion-item__heading {
7
- margin: 0;
8
- }
9
- }
10
-
11
- .ffe-accordion-item {
12
- --icon-color: var(--ffe-v-accordion-primary-color);
13
- --icon-border-color: var(--ffe-v-accordion-primary-color);
14
- --icon-background-color: var(--ffe-v-accordion-secondary-color);
15
-
16
- margin-bottom: var(--ffe-spacing-xs);
17
- transition: margin-bottom var(--ffe-transition-duration)
18
- var(--ffe-ease-in-out-back);
19
- box-shadow: 0 1px 4px rgb(38 38 38 / 30%);
20
- border-radius: 16px;
21
- border: 2px solid transparent;
22
- background-color: var(--ffe-v-accordion-secondary-color);
23
-
24
- &__heading,
25
- &__body {
26
- overflow-wrap: anywhere;
27
- margin: 0;
28
- }
29
-
30
- &__heading-button {
31
- width: 100%;
32
- background: none;
33
- border: none;
34
- padding: var(--ffe-spacing-sm);
35
- font-family: var(--ffe-g-font-heading-small);
36
- cursor: pointer;
37
- outline: none;
38
- color: var(--ffe-v-accordion-primary-color);
39
-
40
- @media (hover: hover) and (pointer: fine) {
41
- &:hover {
42
- --icon-color: var(--ffe-v-accordion-secondary-color);
43
- --icon-background-color: var(--ffe-v-accordion-primary-color);
44
- }
45
- }
46
-
47
- &:focus-visible {
48
- outline: none;
49
- }
50
- }
51
-
52
- &__heading-button-content {
53
- text-align: left;
54
- width: 100%;
55
- display: flex;
56
- align-items: center;
57
- justify-content: space-between;
58
- gap: var(--ffe-spacing-xs);
59
- }
60
-
61
- &__heading-icon-wrapper {
62
- line-height: 0;
63
- border: 1px solid var(--icon-border-color);
64
- border-radius: 50%;
65
- padding: var(--ffe-spacing-xs);
66
- background: var(--icon-background-color);
67
- transition: background-color var(--ffe-transition-duration)
68
- var(--ffe-ease);
69
- }
70
-
71
- &__heading-icon.ffe-icons {
72
- display: block;
73
- flex: 0 0 auto;
74
- color: var(--icon-color);
75
- transition:
76
- transform var(--ffe-transition-duration) var(--ffe-ease-in-out-back),
77
- color var(--ffe-transition-duration) var(--ffe-ease);
78
- }
79
-
80
- &__body {
81
- padding: var(--ffe-spacing-xs) var(--ffe-spacing-sm)
82
- var(--ffe-spacing-md);
83
- color: var(--ffe-v-accordion-body-text-color);
84
- }
85
-
86
- &--open {
87
- &:not(:last-of-type) {
88
- margin-bottom: var(--ffe-spacing-md);
89
- }
90
-
91
- .ffe-accordion-item__heading-icon {
92
- transform: rotateZ(180deg);
93
- }
94
- }
95
-
96
- &--focus {
97
- border-color: var(--ffe-v-accordion-focus-border-color);
98
- }
99
- }
package/less/theme.less DELETED
@@ -1,16 +0,0 @@
1
- :root,
2
- :host {
3
- --ffe-v-accordion-primary-color: var(--ffe-farge-vann);
4
- --ffe-v-accordion-secondary-color: var(--ffe-farge-hvit);
5
- --ffe-v-accordion-body-text-color: var(--ffe-farge-svart);
6
- --ffe-v-accordion-focus-border-color: var(--ffe-farge-vann);
7
-
8
- @media (prefers-color-scheme: dark) {
9
- .regard-color-scheme-preference {
10
- --ffe-v-accordion-primary-color: var(--ffe-farge-frost);
11
- --ffe-v-accordion-secondary-color: var(--ffe-farge-natt);
12
- --ffe-v-accordion-body-text-color: var(--ffe-farge-hvit);
13
- --ffe-v-accordion-focus-border-color: var(--ffe-farge-hvit);
14
- }
15
- }
16
- }