@bonniernews/dn-design-system-web 4.2.1 → 4.2.3

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,24 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 4.2.3 (2023-09-07)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **web:** refactor icon buttons ([#984](https://github.com/BonnierNews/dn-design-system/issues/984)) ([a17b3bf](https://github.com/BonnierNews/dn-design-system/commit/a17b3bf340605e75171b5da973ff5da1df254c97))
12
+
13
+
14
+
15
+ ## 4.2.2 (2023-09-07)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * **web:** add focus states for swipe and groupheader and fix link param in groupheader ([#987](https://github.com/BonnierNews/dn-design-system/issues/987)) ([95104c8](https://github.com/BonnierNews/dn-design-system/commit/95104c8066ca58a606f12ff2d179465a4803809e))
21
+
22
+
23
+
6
24
  ## 4.2.1 (2023-09-07)
7
25
 
8
26
 
@@ -31,7 +31,7 @@
31
31
 
32
32
  <div class="{{ classes }}" {{ attributes | safe }}>
33
33
  {% if params.href %}
34
- <a class="{{ componentClassName + '__href'}}" href="{{ params.titleHref }}">
34
+ <a class="{{ componentClassName + '__href'}}" href="{{ params.href }}">
35
35
  {{ groupHeaderInner | safe }}
36
36
  </a>
37
37
  {% else %}
@@ -37,6 +37,8 @@
37
37
  justify-content: space-between;
38
38
  flex: 1;
39
39
 
40
+ @include ds-teaser-focus(-2px);
41
+
40
42
  @include ds-link($ds-link-list);
41
43
 
42
44
  @include ds-hover(true) {
@@ -1,64 +1,72 @@
1
1
  {% from '@bonniernews/dn-design-system-web/components/icon-sprite/icon-sprite.njk' import IconUse %}
2
2
  {% from '@bonniernews/dn-design-system-web/foundations/a11y/visually-hidden.njk' import VisuallyHidden %}
3
3
  {% from '@bonniernews/dn-design-system-web/components/spinner/spinner.njk' import Spinner %}
4
+ {% from '@bonniernews/dn-design-system-web/njk-helpers/attributes.njk' import getAttributes %}
4
5
 
5
- {% macro IconButton(params) %}
6
- {% set componentClassName = "ds-icon-btn" %}
7
- {% set classNamePrefix = componentClassName + "--" %}
8
- {% set variant = [] %}
9
- {% set attributes %}
10
- {% for attribute, value in params.attributes %}
11
- {{attribute}}="{{value}}"
12
- {% endfor %}
13
- {% endset %}
6
+ {% macro IconButton(params, isToggle) %}
7
+ {%- set componentClassName = "ds-icon-btn" %}
8
+ {%- set classNamePrefix = componentClassName + "--" %}
9
+ {%- set additionalClasses = [] %}
10
+ {%- set attributes = getAttributes(params.attributes) %}
14
11
 
15
- {% if params.forcePx %}
16
- {% set variant = (variant.push("ds-force-px"), variant) %}
12
+ {%- if params.forcePx %}
13
+ {% set additionalClasses = (additionalClasses.push("ds-force-px"), additionalClasses) %}
17
14
  {% endif %}
18
15
 
19
- {% if params.variant %}
20
- {% set variant = (variant.push(classNamePrefix + params.variant), variant) %}
16
+ {%- if params.variant %}
17
+ {% set additionalClasses = (additionalClasses.push(classNamePrefix + params.variant), additionalClasses) %}
21
18
  {% else %}
22
- {% set variant = (variant.push(classNamePrefix + "outlined"), variant) %}
23
- {% endif %}
24
-
25
- {% if params.size and params.size != "default" %}
26
- {% set variant = (variant.push(classNamePrefix + params.size), variant) %}
19
+ {% set additionalClasses = (additionalClasses.push(classNamePrefix + "outlined"), additionalClasses) %}
27
20
  {% endif %}
28
21
 
29
- {% if params.iconName %}
30
- {% set iconSvg = IconUse({ icon: params.iconName, attributes: { "aria-hidden": "true" } }) %}
22
+ {%- if params.size and params.size != "default" %}
23
+ {% set additionalClasses = (additionalClasses.push(classNamePrefix + params.size), additionalClasses) %}
31
24
  {% endif %}
32
25
 
33
- {% set loadingHtml %}
34
- {{ Spinner({ size: "small", variant: "primary", forcePx: params.forcePx }) }}
26
+ {%- set loadingHtml %}
27
+ {{ Spinner({ size: "small", additionalClasses: "primary", forcePx: params.forcePx }) }}
35
28
  {% endset %}
36
29
 
37
- {% if params.loading %}
38
- {% set variant = (variant.push("ds-loading"), variant) %}
30
+ {%- if params.loading %}
31
+ {% set additionalClasses = (additionalClasses.push("ds-loading"), additionalClasses) %}
39
32
  {% endif %}
40
33
 
41
- {% if params.a11y and params.a11y.visuallyHidden %}
34
+ {%- if params.a11y and params.a11y.visuallyHidden %}
42
35
  {% set visuallyHidden = VisuallyHidden({ text: params.a11y.visuallyHidden }) %}
43
36
  {% endif %}
44
37
 
45
- {% if params.classNames %}
46
- {% set variant = (variant.push(params.classNames), variant) %}
38
+ {%- if params.classNames %}
39
+ {% set additionalClasses = (additionalClasses.push(params.classNames), additionalClasses) %}
47
40
  {% endif%}
48
41
 
49
- {% set classes = componentClassName + " " + variant | join(" ") %}
50
-
51
- {% if params.href %}
52
- <a href="{{ params.href | default('#', true) }}" class="{{ classes }}" {{- attributes | safe }}>
42
+ {%- if isToggle %}
43
+ {%- if params.selected %}
44
+ {% set additionalClasses = (additionalClasses.push(classNamePrefix + "selected"), additionalClasses) %}
45
+ {% endif %}
46
+ {% set additionalClasses = (additionalClasses.push(classNamePrefix + "toggle"), additionalClasses) %}
47
+ {%- set classes = componentClassName + " " + additionalClasses | join(" ") %}
48
+ <button type="button" role="switch" aria-checked="{{ "true" if params.selected else "false" }}" class="{{ classes }}" {{ "disabled" if params.disabled }} {{- attributes | safe }}>
53
49
  {{- visuallyHidden | safe if visuallyHidden -}}
54
- <span class="{{ componentClassName + '__inner' }}">{{- iconSvg | safe if iconSvg -}}</span>
55
- {{ loadingHtml | safe }}
56
- </a>
57
- {% else %}
58
- <button type="button" class="{{ classes }}" {{ "disabled" if params.disabled }} {{- attributes | safe }}>
59
- {{- visuallyHidden | safe if visuallyHidden -}}
60
- <span class="{{ componentClassName + '__inner' }}">{{- iconSvg | safe if iconSvg -}}</span>
61
- {{ loadingHtml | safe }}
50
+ <span class="{{ componentClassName + '__inner' }}" aria-hidden="true">
51
+ <span class="{{ componentClassName + '__off' }}">{{ IconUse({ icon: params.iconName }) }}</span>
52
+ <span class="{{ componentClassName + '__on' }}">{{ IconUse({ icon: params.selectedIconName }) }}</span>
53
+ {{ loadingHtml | safe }}
54
+ </span>
62
55
  </button>
56
+ {% else %}
57
+ {%- set classes = componentClassName + " " + additionalClasses | join(" ") %}
58
+ {% if params.href %}
59
+ <a href="{{ params.href | default('#', true) }}" class="{{ classes }}" {{- attributes | safe }}>
60
+ {{- visuallyHidden | safe if visuallyHidden -}}
61
+ <span class="{{ componentClassName + '__inner' }}">{{IconUse({ icon: params.iconName, attributes: { "aria-hidden": "true" } }) }}</span>
62
+ {{ loadingHtml | safe }}
63
+ </a>
64
+ {% else %}
65
+ <button type="button" class="{{ classes }}" {{ "disabled" if params.disabled }} {{- attributes | safe }}>
66
+ {{- visuallyHidden | safe if visuallyHidden -}}
67
+ <span class="{{ componentClassName + '__inner' }}">{{IconUse({ icon: params.iconName, attributes: { "aria-hidden": "true" } }) }}</span>
68
+ {{ loadingHtml | safe }}
69
+ </button>
70
+ {% endif %}
63
71
  {% endif %}
64
72
  {% endmacro %}
@@ -3,10 +3,26 @@
3
3
  @use "../spinner/spinner.scss" as *;
4
4
 
5
5
  $ds-icon-btn__border-radius: 50%;
6
- $ds-icon-btn__icon-size: 24px;
7
6
  $ds-icon-btn__min-clickable-area: 48px;
8
7
  $ds-btn-outlined__border-width: ds-metrics-border-width(x1);
9
8
 
9
+ .ds-icon-btn {
10
+ --ds-icon-btn__inner-padding: #{ds-spacing-component($ds-sc-x2)-$ds-btn-outlined__border-width};
11
+ --ds-icon-btn__icon-size: #{ds-px-to-rem(24px)};
12
+
13
+ &.ds-force-px {
14
+ --ds-icon-btn__icon-size: 24px;
15
+ }
16
+
17
+ &.ds-icon-btn--small {
18
+ --ds-icon-btn__inner-padding: #{2px - $ds-btn-outlined__border-width};
19
+ }
20
+
21
+ &.ds-icon-btn--large {
22
+ --ds-icon-btn__inner-padding: #{ds-spacing-component($ds-sc-x3)-$ds-btn-outlined__border-width};
23
+ }
24
+ }
25
+
10
26
  .ds-icon-btn {
11
27
  cursor: pointer;
12
28
  background-color: transparent;
@@ -32,7 +48,7 @@ $ds-btn-outlined__border-width: ds-metrics-border-width(x1);
32
48
  align-items: center;
33
49
  justify-content: center;
34
50
  position: relative;
35
- padding: ds-spacing-component($ds-sc-x2)-$ds-btn-outlined__border-width;
51
+ padding: var(--ds-icon-btn__inner-padding);
36
52
 
37
53
  &::before {
38
54
  content: "";
@@ -48,13 +64,9 @@ $ds-btn-outlined__border-width: ds-metrics-border-width(x1);
48
64
  .ds-icon {
49
65
  position: relative;
50
66
  display: flex;
51
- height: ds-px-to-rem($ds-icon-btn__icon-size);
52
- width: ds-px-to-rem($ds-icon-btn__icon-size);
67
+ height: var(--ds-icon-btn__icon-size);
68
+ width: var(--ds-icon-btn__icon-size);
53
69
  margin: 0;
54
- @at-root .ds-force-px#{&} {
55
- height: $ds-icon-btn__icon-size;
56
- width: $ds-icon-btn__icon-size;
57
- }
58
70
  svg {
59
71
  fill: currentColor;
60
72
  }
@@ -69,14 +81,6 @@ $ds-btn-outlined__border-width: ds-metrics-border-width(x1);
69
81
  background-color: $ds-color-component-primary-overlay-02;
70
82
  }
71
83
 
72
- &.ds-icon-btn--small .ds-icon-btn__inner {
73
- padding: ds-spacing-component($ds-sc-x1)-$ds-btn-outlined__border-width;
74
- }
75
-
76
- &.ds-icon-btn--large .ds-icon-btn__inner {
77
- padding: ds-spacing-component($ds-sc-x3)-$ds-btn-outlined__border-width;
78
- }
79
-
80
84
  &:focus-visible {
81
85
  outline: none;
82
86
  .ds-icon-btn__inner {
@@ -48,6 +48,6 @@ These are copy paste friendly examples to quickliy get started using a component
48
48
 
49
49
  ```javascript
50
50
  import dsIconButtonToggle from '@bonniernews/dn-design-system-web/components/icon-button-toggle/icon-button-toggle.js'
51
- const toggleElements = Array.from(document.getElementsByClassName("ds-icon-btn-toggle"));
51
+ const toggleElements = Array.from(document.getElementsByClassName("ds-icon-btn--toggle"));
52
52
  dsIconButtonToggle(toggleElements);
53
53
  ```
@@ -7,8 +7,8 @@ function dsIconButtonToggle(toggleElements = []) {
7
7
  if (!toggleElements.length) return;
8
8
  toggleElements.forEach((toggleEl) => {
9
9
  toggleEl.addEventListener("click", () => {
10
- if (toggleEl.classList.contains("ds-icon-btn-toggle--disabled")) return;
11
- toggleEl.classList.toggle("ds-icon-btn-toggle--selected");
10
+ if (toggleEl.classList.contains("ds-icon-btn--disabled")) return;
11
+ toggleEl.classList.toggle("ds-icon-btn--selected");
12
12
  const ariaChecked = toggleEl.getAttribute("aria-checked") === "true" ? "false" : "true";
13
13
  toggleEl.setAttribute("aria-checked", ariaChecked);
14
14
  });
@@ -16,6 +16,6 @@ function dsIconButtonToggle(toggleElements = []) {
16
16
  }
17
17
 
18
18
  function dsIconButtonToggleAll() {
19
- const toggleElements = Array.from(document.getElementsByClassName("ds-icon-btn-toggle"));
19
+ const toggleElements = Array.from(document.getElementsByClassName("ds-icon-btn--toggle"));
20
20
  dsIconButtonToggle(toggleElements);
21
21
  }
@@ -1,55 +1,5 @@
1
- {% from '@bonniernews/dn-design-system-web/components/icon-sprite/icon-sprite.njk' import IconUse %}
2
- {% from '@bonniernews/dn-design-system-web/foundations/a11y/visually-hidden.njk' import VisuallyHidden %}
3
- {% from '@bonniernews/dn-design-system-web/components/spinner/spinner.njk' import Spinner %}
4
- {% from '@bonniernews/dn-design-system-web/njk-helpers/attributes.njk' import getAttributes %}
1
+ {% from '@bonniernews/dn-design-system-web/components/icon-button/icon-button.njk' import IconButton %}
5
2
 
6
3
  {% macro IconButtonToggle(params) %}
7
- {%- set componentClassName = "ds-icon-btn-toggle" %}
8
- {%- set classNamePrefix = componentClassName + "--" %}
9
- {%- set additionalClasses = [] %}
10
- {%- set attributes = getAttributes(params.attributes) %}
11
-
12
- {%- if params.selected %}
13
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + "selected"), additionalClasses) %}
14
- {% endif %}
15
-
16
- {%- if params.forcePx %}
17
- {% set additionalClasses = (additionalClasses.push("ds-force-px"), additionalClasses) %}
18
- {% endif %}
19
-
20
- {%- if params.variant %}
21
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + params.variant), additionalClasses) %}
22
- {% else %}
23
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + "outlined"), additionalClasses) %}
24
- {% endif %}
25
-
26
- {%- if params.size and params.size != "default" %}
27
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + params.size), additionalClasses) %}
28
- {% endif %}
29
-
30
- {%- set loadingHtml %}
31
- {{ Spinner({ size: "small", additionalClasses: "primary", forcePx: params.forcePx }) }}
32
- {% endset %}
33
-
34
- {%- if params.loading %}
35
- {% set additionalClasses = (additionalClasses.push("ds-loading"), additionalClasses) %}
36
- {% endif %}
37
-
38
- {%- if params.a11y and params.a11y.visuallyHidden %}
39
- {% set visuallyHidden = VisuallyHidden({ text: params.a11y.visuallyHidden }) %}
40
- {% endif %}
41
-
42
- {%- if params.classNames %}
43
- {% set additionalClasses = (additionalClasses.push(params.classNames), additionalClasses) %}
44
- {% endif%}
45
-
46
- {%- set classes = componentClassName + " " + additionalClasses | join(" ") %}
47
- <button type="button" role="switch" aria-checked="{{ "true" if params.selected else "false" }}" class="{{ classes }}" {{ "disabled" if params.disabled }} {{- attributes | safe }}>
48
- {{- visuallyHidden | safe if visuallyHidden -}}
49
- <span class="{{ componentClassName + '__inner' }}" aria-hidden="true">
50
- <span class="{{ componentClassName + '__off' }}">{{ IconUse({ icon: params.iconName }) }}</span>
51
- <span class="{{ componentClassName + '__on' }}">{{ IconUse({ icon: params.selectedIconName }) }}</span>
52
- {{ loadingHtml | safe }}
53
- </span>
54
- </button>
4
+ {{ IconButton(params, true) }}
55
5
  {% endmacro %}
@@ -1,164 +1,19 @@
1
1
  @use "../../foundations/helpers/forward.helpers.scss" as *;
2
- @use "../icon-sprite/icon-sprite.scss";
3
- @use "../spinner/spinner.scss" as *;
2
+ @use "../icon-button/icon-button.scss";
4
3
 
5
- $ds-icon-btn-toggle__border-radius: 50%;
6
- $ds-icon-btn-toggle__icon-size: 24px;
7
- $ds-icon-btn-toggle__min-clickable-area: 48px;
8
- $ds-btn-toggle-outlined__border-width: ds-metrics-border-width(x1);
9
-
10
- .ds-icon-btn-toggle {
11
- cursor: pointer;
12
- background-color: transparent;
13
- border: 0;
14
- min-width: $ds-icon-btn-toggle__min-clickable-area;
15
- min-height: $ds-icon-btn-toggle__min-clickable-area;
16
- display: inline-flex;
17
- align-items: center;
18
- justify-content: center;
19
- padding: 0;
20
- position: relative;
21
-
22
- span {
23
- pointer-events: none;
24
- }
25
-
26
- .ds-icon-btn-toggle__inner {
27
- box-sizing: border-box;
28
- border-radius: $ds-icon-btn-toggle__border-radius;
29
- border: $ds-btn-toggle-outlined__border-width solid;
30
- margin: 0;
31
- display: inline-flex;
32
- align-items: center;
33
- justify-content: center;
34
- position: relative;
35
- padding: ds-spacing-component($ds-sc-x2)-$ds-btn-toggle-outlined__border-width;
36
-
37
- .ds-icon-btn-toggle__on {
4
+ .ds-icon-btn--toggle {
5
+ .ds-icon-btn__inner {
6
+ .ds-icon-btn__on {
38
7
  display: none;
39
8
  }
40
-
41
- &::before {
42
- content: "";
43
- border-radius: inherit;
44
- pointer-events: none;
45
- position: absolute;
46
- top: -$ds-btn-toggle-outlined__border-width;
47
- left: -$ds-btn-toggle-outlined__border-width;
48
- bottom: -$ds-btn-toggle-outlined__border-width;
49
- right: -$ds-btn-toggle-outlined__border-width;
50
- }
51
-
52
- .ds-icon {
53
- position: relative;
54
- display: flex;
55
- height: ds-px-to-rem($ds-icon-btn-toggle__icon-size);
56
- width: ds-px-to-rem($ds-icon-btn-toggle__icon-size);
57
- margin: 0;
58
- @at-root .ds-force-px#{&} {
59
- height: $ds-icon-btn-toggle__icon-size;
60
- width: $ds-icon-btn-toggle__icon-size;
61
- }
62
- svg {
63
- fill: currentColor;
64
- }
65
- }
66
- }
67
- @include ds-hover() {
68
- &:hover:not(.ds-loading) .ds-icon-btn-toggle__inner::before {
69
- background-color: $ds-color-component-primary-overlay;
70
- }
71
- }
72
- &:active:not(.ds-loading) .ds-icon-btn-toggle__inner::before {
73
- background-color: $ds-color-component-primary-overlay-02;
74
- }
75
-
76
- &.ds-icon-btn-toggle--small .ds-icon-btn-toggle__inner {
77
- padding: ds-spacing-component($ds-sc-x1)-$ds-btn-toggle-outlined__border-width;
78
- }
79
-
80
- &.ds-icon-btn-toggle--large .ds-icon-btn-toggle__inner {
81
- padding: ds-spacing-component($ds-sc-x3)-$ds-btn-toggle-outlined__border-width;
82
- }
83
-
84
- &:focus-visible {
85
- outline: none;
86
- .ds-icon-btn-toggle__inner {
87
- outline: ds-metrics-border-width(x2) solid $ds-color-border-focus-02;
88
- outline-offset: 2px;
89
- }
90
- }
91
- &:disabled:not(.ds-loading) {
92
- cursor: not-allowed;
93
- .ds-icon-btn-toggle__inner {
94
- color: $ds-color-icon-disabled;
95
- outline: none;
96
- &::before {
97
- background-color: transparent;
98
- }
99
- }
100
9
  }
101
10
 
102
- @at-root a#{&} {
103
- box-sizing: border-box;
104
- text-align: center;
105
- text-decoration: none;
106
- }
107
-
108
- @include ds-loading();
109
- }
110
-
111
- .ds-icon-btn-toggle--selected .ds-icon-btn-toggle__inner {
112
- .ds-icon-btn-toggle__on {
113
- display: flex;
114
- }
115
- .ds-icon-btn-toggle__off {
116
- display: none;
117
- }
118
- }
119
-
120
- .ds-icon-btn-toggle--transparent {
121
- .ds-icon-btn-toggle__inner {
122
- border-color: transparent;
123
- color: $ds-color-icon-primary;
124
- }
125
- }
126
-
127
- .ds-icon-btn-toggle--outlined {
128
- .ds-icon-btn-toggle__inner {
129
- background-color: $ds-color-component-secondary;
130
- border-color: $ds-color-border-primary-02;
131
- color: $ds-color-icon-primary;
132
- }
133
- &:disabled .ds-icon-btn-toggle__inner {
134
- border-color: $ds-color-border-primary;
135
- }
136
- }
137
-
138
- .ds-icon-btn-toggle--on-media {
139
- .ds-icon-btn-toggle__inner {
140
- background-color: $ds-color-static-transparent-black;
141
- border-color: transparent;
142
- color: $ds-color-static-white;
143
- }
144
- &:disabled .ds-icon-btn-toggle__inner {
145
- border-color: $ds-color-border-primary;
146
- }
147
- @include ds-hover() {
148
- &:hover:not(.ds-loading) .ds-icon-btn-toggle__inner::before {
149
- background-color: $ds-color-static-transparent-white-10;
11
+ &.ds-icon-btn--selected .ds-icon-btn__inner {
12
+ .ds-icon-btn__on {
13
+ display: flex;
150
14
  }
151
- }
152
- &:active:not(.ds-loading) .ds-icon-btn-toggle__inner::before {
153
- background-color: $ds-color-static-transparent-white-10;
154
- }
155
- &:disabled:not(.ds-loading) .ds-icon-btn-toggle__inner {
156
- color: $ds-color-static-white;
157
- &::before {
158
- background-color: transparent;
15
+ .ds-icon-btn__off {
16
+ display: none;
159
17
  }
160
18
  }
161
- &:focus-visible .ds-icon-btn-toggle__inner {
162
- outline-color: $ds-color-static-white;
163
- }
164
19
  }
@@ -8,6 +8,8 @@
8
8
  max-width: 100%;
9
9
  color: $ds-color-text-primary;
10
10
 
11
+ @include ds-teaser-focus(2px);
12
+
11
13
  .ds-teaser__carousel {
12
14
  padding: ds-spacing-component(0 $ds-sc-x4);
13
15
  padding-bottom: ds-spacing-component($ds-sc-x3);
@@ -16,6 +18,8 @@
16
18
  grid-auto-columns: max-content;
17
19
  grid-auto-flow: column;
18
20
  gap: ds-spacing-component($ds-sc-x2);
21
+
22
+ @include ds-teaser-focus(2px);
19
23
  }
20
24
 
21
25
  @include ds-mq-only-breakpoint(desktop) {
@@ -14,6 +14,9 @@
14
14
  border: ds-metrics-border-width(x1) solid $ds-color-border-primary;
15
15
  border-radius: ds-metrics-border-radius(x2);
16
16
  overflow: hidden; // ensure media doesn't overflow the border-radius
17
+ margin-bottom: 0;
18
+
19
+ @include ds-teaser-focus(-2px);
17
20
 
18
21
  .ds-teaser__text {
19
22
  display: flex;
@@ -2,7 +2,8 @@
2
2
  @use "../../assets/form-field/form-field.scss";
3
3
  @use "../icon-button/icon-button.scss";
4
4
 
5
- $ds-text-input-toggle-btn__width: 32px;
5
+ $ds-text-input-toggle-btn__width: 28px;
6
+ $ds-text-input-toggle-btn__top: 22px;
6
7
  $ds-text-input-toggle-btn__area: (
7
8
  $ds-text-input-toggle-btn__width + ds-spacing-component($ds-sc-x2)
8
9
  );
@@ -102,7 +103,7 @@ $ds-text-input-toggle-btn__area: (
102
103
 
103
104
  .ds-icon-btn.ds-text-input__password-toggle {
104
105
  position: absolute;
105
- top: ds-px-to-rem(ds-spacing-component($ds-sc-x5));
106
+ top: ds-px-to-rem($ds-text-input-toggle-btn__top);
106
107
  right: ds-spacing-component($ds-sc-x1);
107
108
  z-index: 1;
108
109
  min-width: 0;
@@ -112,6 +113,7 @@ $ds-text-input-toggle-btn__area: (
112
113
  .ds-force-px {
113
114
  &.ds-text-input {
114
115
  padding-top: ds-spacing-component($ds-sc-x2);
116
+ font-size: 16px;
115
117
  }
116
118
 
117
119
  .ds-text-input__input {
@@ -148,6 +150,6 @@ $ds-text-input-toggle-btn__area: (
148
150
  }
149
151
 
150
152
  .ds-text-input__password-toggle {
151
- top: ds-spacing-component($ds-sc-x5);
153
+ top: $ds-text-input-toggle-btn__top;
152
154
  }
153
155
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bonniernews/dn-design-system-web",
3
- "version": "4.2.1",
3
+ "version": "4.2.3",
4
4
  "description": "DN design system for web.",
5
5
  "main": "index.js",
6
6
  "homepage": "https://github.com/BonnierNews/dn-design-system/tree/main/web/src#readme",