@hashicorp/design-system-components 3.4.1 → 3.5.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.
- package/CHANGELOG.md +41 -0
- package/addon/components/hds/icon-tile/index.js +1 -0
- package/addon/components/hds/tabs/panel.js +0 -2
- package/addon/components/hds/tabs/tab.js +0 -2
- package/app/styles/components/accordion.scss +8 -8
- package/app/styles/components/app-footer.scss +6 -6
- package/app/styles/components/badge-count.scss +6 -6
- package/app/styles/components/badge.scss +8 -8
- package/app/styles/components/code-block/index.scss +8 -8
- package/app/styles/components/code-block/theme.scss +1 -1
- package/app/styles/components/form/toggle.scss +11 -11
- package/app/styles/components/icon-tile.scss +14 -14
- package/app/styles/components/link/standalone.scss +10 -10
- package/app/styles/components/pagination.scss +5 -5
- package/app/styles/components/side-nav/content.scss +4 -3
- package/app/styles/components/stepper/step-indicator.scss +15 -15
- package/app/styles/components/stepper/task-indicator.scss +5 -5
- package/app/styles/mixins/_button.scss +10 -10
- package/package.json +3 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,46 @@
|
|
|
1
1
|
# @hashicorp/design-system-components
|
|
2
2
|
|
|
3
|
+
## 3.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
`IconTile` - updated component adding support for `vault-radar` product
|
|
8
|
+
|
|
9
|
+
<small class="doc-whats-new-changelog-metadata">[#1904](https://github.com/hashicorp/design-system/pull/1904)</small>
|
|
10
|
+
|
|
11
|
+
<div class="doc-whats-new-changelog-separator"></div>
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
`SideNav::List::Title`, `SideNav::List::BackLink`, `SideNav::List::Link`: fixed issue with long text strings without spaces not wrapping
|
|
16
|
+
|
|
17
|
+
<small class="doc-whats-new-changelog-metadata">[#1899](https://github.com/hashicorp/design-system/pull/1899)</small>
|
|
18
|
+
|
|
19
|
+
<div class="doc-whats-new-changelog-separator"></div>
|
|
20
|
+
|
|
21
|
+
Added `hds-` prefix to Sass variables for component styles (where missing).
|
|
22
|
+
|
|
23
|
+
<small class="doc-whats-new-changelog-metadata">[#1903](https://github.com/hashicorp/design-system/pull/1903)</small>
|
|
24
|
+
|
|
25
|
+
<div class="doc-whats-new-changelog-separator"></div>
|
|
26
|
+
|
|
27
|
+
`Tabs` - removed `@cached` decorator and the associated `ember-cached-decorator-polyfill`
|
|
28
|
+
|
|
29
|
+
<small class="doc-whats-new-changelog-metadata">[#1905](https://github.com/hashicorp/design-system/pull/1905)</small>
|
|
30
|
+
|
|
31
|
+
<div class="doc-whats-new-changelog-separator"></div>
|
|
32
|
+
|
|
33
|
+
`CodeBlock` - Fixed the default token color in the syntax highlighting theme.
|
|
34
|
+
|
|
35
|
+
<small class="doc-whats-new-changelog-metadata">[#1893](https://github.com/hashicorp/design-system/pull/1893)</small>
|
|
36
|
+
|
|
37
|
+
<div class="doc-whats-new-changelog-separator"></div>
|
|
38
|
+
|
|
39
|
+
**🔄 Updated dependencies:**
|
|
40
|
+
|
|
41
|
+
- @hashicorp/design-system-tokens@1.10.0
|
|
42
|
+
- @hashicorp/ember-flight-icons@4.0.6
|
|
43
|
+
|
|
3
44
|
## 3.4.1
|
|
4
45
|
|
|
5
46
|
### Patch Changes
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import Component from '@glimmer/component';
|
|
7
|
-
import { cached } from '@glimmer/tracking';
|
|
8
7
|
import { guidFor } from '@ember/object/internals';
|
|
9
8
|
import { action } from '@ember/object';
|
|
10
9
|
|
|
@@ -15,7 +14,6 @@ export default class HdsTabsPanelComponent extends Component {
|
|
|
15
14
|
*/
|
|
16
15
|
panelId = 'panel-' + guidFor(this);
|
|
17
16
|
|
|
18
|
-
@cached
|
|
19
17
|
get nodeIndex() {
|
|
20
18
|
return this.args.panelIds
|
|
21
19
|
? this.args.panelIds.indexOf(this.panelId)
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import Component from '@glimmer/component';
|
|
7
|
-
import { cached } from '@glimmer/tracking';
|
|
8
7
|
import { guidFor } from '@ember/object/internals';
|
|
9
8
|
import { action } from '@ember/object';
|
|
10
9
|
|
|
@@ -15,7 +14,6 @@ export default class HdsTabsTabComponent extends Component {
|
|
|
15
14
|
*/
|
|
16
15
|
tabId = 'tab-' + guidFor(this);
|
|
17
16
|
|
|
18
|
-
@cached
|
|
19
17
|
get nodeIndex() {
|
|
20
18
|
return this.args.tabIds ? this.args.tabIds.indexOf(this.tabId) : undefined;
|
|
21
19
|
}
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
@use "../mixins/button" as *;
|
|
11
11
|
@use "../mixins/focus-ring" as *;
|
|
12
12
|
|
|
13
|
-
$accordion-item-padding: 16px;
|
|
14
|
-
$accordion-item-border-radius: 6px;
|
|
13
|
+
$hds-accordion-item-padding: 16px;
|
|
14
|
+
$hds-accordion-item-border-radius: 6px;
|
|
15
15
|
|
|
16
16
|
// ACCORDION COMPONENT (wrapper)
|
|
17
17
|
|
|
@@ -25,7 +25,7 @@ $accordion-item-border-radius: 6px;
|
|
|
25
25
|
|
|
26
26
|
.hds-accordion-item {
|
|
27
27
|
background: var(--token-color-surface-primary);
|
|
28
|
-
border-radius: $accordion-item-border-radius;
|
|
28
|
+
border-radius: $hds-accordion-item-border-radius;
|
|
29
29
|
|
|
30
30
|
&.hds-accordion-item--does-not-contain-interactive {
|
|
31
31
|
box-shadow: var(--token-surface-mid-box-shadow);
|
|
@@ -49,9 +49,9 @@ $accordion-item-border-radius: 6px;
|
|
|
49
49
|
gap: 12px;
|
|
50
50
|
align-items: center;
|
|
51
51
|
padding:
|
|
52
|
-
$accordion-item-padding
|
|
53
|
-
$accordion-item-padding
|
|
54
|
-
$accordion-item-padding
|
|
52
|
+
$hds-accordion-item-padding
|
|
53
|
+
$hds-accordion-item-padding
|
|
54
|
+
$hds-accordion-item-padding
|
|
55
55
|
12px; // by design
|
|
56
56
|
}
|
|
57
57
|
|
|
@@ -73,7 +73,7 @@ $accordion-item-border-radius: 6px;
|
|
|
73
73
|
&::after {
|
|
74
74
|
position: absolute;
|
|
75
75
|
display: block;
|
|
76
|
-
border-radius: $accordion-item-border-radius;
|
|
76
|
+
border-radius: $hds-accordion-item-border-radius;
|
|
77
77
|
content: "";
|
|
78
78
|
inset: 0;
|
|
79
79
|
}
|
|
@@ -116,5 +116,5 @@ $accordion-item-border-radius: 6px;
|
|
|
116
116
|
// CONTENT BLOCK
|
|
117
117
|
|
|
118
118
|
.hds-accordion-item__content {
|
|
119
|
-
padding: 4px $accordion-item-padding $accordion-item-padding $accordion-item-padding;
|
|
119
|
+
padding: 4px $hds-accordion-item-padding $hds-accordion-item-padding $hds-accordion-item-padding;
|
|
120
120
|
}
|
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
// app-footer
|
|
8
8
|
//
|
|
9
9
|
|
|
10
|
-
$app-footer-gap: 24px;
|
|
11
|
-
$app-footer-icon-text-gap: 6px;
|
|
10
|
+
$hds-app-footer-gap: 24px;
|
|
11
|
+
$hds-app-footer-icon-text-gap: 6px;
|
|
12
12
|
|
|
13
13
|
.hds-app-footer {
|
|
14
14
|
display: flex;
|
|
15
15
|
flex-wrap: wrap;
|
|
16
|
-
gap: $app-footer-gap;
|
|
16
|
+
gap: $hds-app-footer-gap;
|
|
17
17
|
justify-content: center;
|
|
18
18
|
padding: 24px;
|
|
19
19
|
color: var(--app-footer-foreground-color);
|
|
@@ -29,7 +29,7 @@ $app-footer-icon-text-gap: 6px;
|
|
|
29
29
|
.hds-app-footer__legal-links {
|
|
30
30
|
display: flex;
|
|
31
31
|
flex-wrap: wrap;
|
|
32
|
-
gap: $app-footer-gap;
|
|
32
|
+
gap: $hds-app-footer-gap;
|
|
33
33
|
align-items: center;
|
|
34
34
|
justify-content: center;
|
|
35
35
|
width: fit-content;
|
|
@@ -42,7 +42,7 @@ $app-footer-icon-text-gap: 6px;
|
|
|
42
42
|
.hds-app-footer__status-link {
|
|
43
43
|
// custom spacing for the status link (internally is using the "AppFooter::Link")
|
|
44
44
|
// Note: we increase specificity because otherwise is overwritten by the order of imports of components scss files
|
|
45
|
-
&.hds-link-inline--icon-leading > .hds-link-inline__icon { margin-right: $app-footer-icon-text-gap; }
|
|
45
|
+
&.hds-link-inline--icon-leading > .hds-link-inline__icon { margin-right: $hds-app-footer-icon-text-gap; }
|
|
46
46
|
|
|
47
47
|
.flight-icon {
|
|
48
48
|
fill: var(--hds-app-footer-status-icon-color, currentColor);
|
|
@@ -98,7 +98,7 @@ $app-footer-icon-text-gap: 6px;
|
|
|
98
98
|
|
|
99
99
|
.hds-app-footer__copyright {
|
|
100
100
|
display: flex;
|
|
101
|
-
gap: $app-footer-icon-text-gap;
|
|
101
|
+
gap: $hds-app-footer-icon-text-gap;
|
|
102
102
|
align-items: center;
|
|
103
103
|
color: var(--app-footer-copyright-text-color);
|
|
104
104
|
|
|
@@ -26,7 +26,7 @@ $hds-badge-count-border-width: 1px;
|
|
|
26
26
|
// SIZE
|
|
27
27
|
|
|
28
28
|
// these values later may come from the design tokens
|
|
29
|
-
$size-props: (
|
|
29
|
+
$hds-badge-count-size-props: (
|
|
30
30
|
"small": (
|
|
31
31
|
"font-size": 0.8125rem, // 13px
|
|
32
32
|
"height": 1.25rem,
|
|
@@ -52,11 +52,11 @@ $size-props: (
|
|
|
52
52
|
|
|
53
53
|
@each $size in $hds-badge-count-sizes {
|
|
54
54
|
.hds-badge-count--size-#{$size} {
|
|
55
|
-
min-height: map-get($size-props, $size, "height");
|
|
56
|
-
padding: calc(#{map-get($size-props, $size, "padding-vertical")} - #{$hds-badge-count-border-width}) calc(#{map-get($size-props, $size, "padding-horizontal")} - #{$hds-badge-count-border-width});
|
|
57
|
-
font-size: map-get($size-props, $size, "font-size");
|
|
58
|
-
line-height: map-get($size-props, $size, "line-height");
|
|
59
|
-
border-radius: math.div(map-get($size-props, $size, "height"), 2);
|
|
55
|
+
min-height: map-get($hds-badge-count-size-props, $size, "height");
|
|
56
|
+
padding: calc(#{map-get($hds-badge-count-size-props, $size, "padding-vertical")} - #{$hds-badge-count-border-width}) calc(#{map-get($hds-badge-count-size-props, $size, "padding-horizontal")} - #{$hds-badge-count-border-width});
|
|
57
|
+
font-size: map-get($hds-badge-count-size-props, $size, "font-size");
|
|
58
|
+
line-height: map-get($hds-badge-count-size-props, $size, "line-height");
|
|
59
|
+
border-radius: math.div(map-get($hds-badge-count-size-props, $size, "height"), 2);
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
|
|
@@ -37,7 +37,7 @@ $hds-badge-border-width: 1px;
|
|
|
37
37
|
// SIZE
|
|
38
38
|
|
|
39
39
|
// these values later may come from the design tokens
|
|
40
|
-
$size-props: (
|
|
40
|
+
$hds-badge-size-props: (
|
|
41
41
|
"small": (
|
|
42
42
|
"font-size": 0.8125rem, // 13px
|
|
43
43
|
"gap": 0.25rem,
|
|
@@ -69,18 +69,18 @@ $size-props: (
|
|
|
69
69
|
|
|
70
70
|
@each $size in $hds-badge-sizes {
|
|
71
71
|
.hds-badge--size-#{$size} {
|
|
72
|
-
gap: map-get($size-props, $size, "gap");
|
|
73
|
-
min-height: map-get($size-props, $size, "height");
|
|
74
|
-
padding: calc(#{map-get($size-props, $size, "padding-vertical")} - #{$hds-badge-border-width}) calc(#{map-get($size-props, $size, "padding-horizontal")} - #{$hds-badge-border-width});
|
|
72
|
+
gap: map-get($hds-badge-size-props, $size, "gap");
|
|
73
|
+
min-height: map-get($hds-badge-size-props, $size, "height");
|
|
74
|
+
padding: calc(#{map-get($hds-badge-size-props, $size, "padding-vertical")} - #{$hds-badge-border-width}) calc(#{map-get($hds-badge-size-props, $size, "padding-horizontal")} - #{$hds-badge-border-width});
|
|
75
75
|
|
|
76
76
|
.hds-badge__icon {
|
|
77
|
-
width: map-get($size-props, $size, "icon-size");
|
|
78
|
-
height: map-get($size-props, $size, "icon-size");
|
|
77
|
+
width: map-get($hds-badge-size-props, $size, "icon-size");
|
|
78
|
+
height: map-get($hds-badge-size-props, $size, "icon-size");
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
.hds-badge__text {
|
|
82
|
-
font-size: map-get($size-props, $size, "font-size");
|
|
83
|
-
line-height: map-get($size-props, $size, "line-height");
|
|
82
|
+
font-size: map-get($hds-badge-size-props, $size, "font-size");
|
|
83
|
+
line-height: map-get($hds-badge-size-props, $size, "line-height");
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
}
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
@import "theme";
|
|
15
15
|
|
|
16
16
|
// DIMENSIONS
|
|
17
|
-
$code-block-line-numbers-width: 49px; // 3em ≈ 49px
|
|
18
|
-
$code-block-code-padding: 16px;
|
|
17
|
+
$hds-code-block-line-numbers-width: 49px; // 3em ≈ 49px
|
|
18
|
+
$hds-code-block-code-padding: 16px;
|
|
19
19
|
|
|
20
20
|
// CODE-BLOCK PARENT/WRAPPER
|
|
21
21
|
|
|
@@ -73,7 +73,7 @@ $code-block-code-padding: 16px;
|
|
|
73
73
|
display: flex;
|
|
74
74
|
flex-direction: column;
|
|
75
75
|
gap: 4px;
|
|
76
|
-
padding: 8px $code-block-code-padding;
|
|
76
|
+
padding: 8px $hds-code-block-code-padding;
|
|
77
77
|
background-color: var(--hds-code-block-color-surface-faint);
|
|
78
78
|
border-bottom: 1px solid var(--hds-code-block-color-border-primary);
|
|
79
79
|
border-top-left-radius: inherit;
|
|
@@ -128,7 +128,7 @@ $code-block-code-padding: 16px;
|
|
|
128
128
|
@include hds-focus-ring-basic();
|
|
129
129
|
display: block;
|
|
130
130
|
margin: 0;
|
|
131
|
-
padding: $code-block-code-padding;
|
|
131
|
+
padding: $hds-code-block-code-padding;
|
|
132
132
|
overflow: auto;
|
|
133
133
|
font-size: 0.8125rem;
|
|
134
134
|
font-family: var(--token-typography-code-200-font-family);
|
|
@@ -191,16 +191,16 @@ $code-block-code-padding: 16px;
|
|
|
191
191
|
.hds-code-block__code {
|
|
192
192
|
position: relative;
|
|
193
193
|
// reserve space for line numbers
|
|
194
|
-
padding-left: calc(#{$code-block-line-numbers-width} + #{$code-block-code-padding});
|
|
194
|
+
padding-left: calc(#{$hds-code-block-line-numbers-width} + #{$hds-code-block-code-padding});
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
.line-numbers-rows {
|
|
198
198
|
position: absolute;
|
|
199
199
|
top: 0;
|
|
200
200
|
left: 0;
|
|
201
|
-
min-width: $code-block-line-numbers-width;
|
|
201
|
+
min-width: $hds-code-block-line-numbers-width;
|
|
202
202
|
min-height: 100%;
|
|
203
|
-
padding: $code-block-code-padding 0;
|
|
203
|
+
padding: $hds-code-block-code-padding 0;
|
|
204
204
|
border-right: 1px solid var(--hds-code-block-color-border-primary);
|
|
205
205
|
user-select: none;
|
|
206
206
|
pointer-events: none;
|
|
@@ -211,7 +211,7 @@ $code-block-code-padding: 16px;
|
|
|
211
211
|
|
|
212
212
|
&::before {
|
|
213
213
|
display: block;
|
|
214
|
-
padding-right: $code-block-code-padding;
|
|
214
|
+
padding-right: $hds-code-block-code-padding;
|
|
215
215
|
text-align: right;
|
|
216
216
|
content: counter(linenumber);
|
|
217
217
|
}
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
|
|
51
51
|
// Syntax highlighting tokens:
|
|
52
52
|
// general ----
|
|
53
|
-
--hds-code-block-color-token: var(--hds-code-block-color-
|
|
53
|
+
--hds-code-block-color-token: var(--hds-code-block-color-foreground-primary);
|
|
54
54
|
// specific ----
|
|
55
55
|
--hds-code-block-color-atrule: var(--hds-code-block-color-blue);
|
|
56
56
|
--hds-code-block-color-code-block-attr-name: var(--hds-code-block-color-blue);
|
|
@@ -88,17 +88,17 @@
|
|
|
88
88
|
|
|
89
89
|
&::before {
|
|
90
90
|
// notice: to avoid too many nested calc() operation, we have decided to compute directly the values in Sass
|
|
91
|
-
$outline-width: 3px;
|
|
92
|
-
$outline-offset: 1px;
|
|
93
|
-
$shift: $outline-width + $outline-offset + 1px; // here 1px refers to "--token-form-radio-border-width"
|
|
91
|
+
$hds-outline-width: 3px;
|
|
92
|
+
$hds-outline-offset: 1px;
|
|
93
|
+
$hds-shift: $hds-outline-width + $hds-outline-offset + 1px; // here 1px refers to "--token-form-radio-border-width"
|
|
94
94
|
position: absolute;
|
|
95
|
-
top: -$shift;
|
|
96
|
-
right: -$shift;
|
|
97
|
-
bottom: -$shift;
|
|
98
|
-
left: -$shift;
|
|
95
|
+
top: -$hds-shift;
|
|
96
|
+
right: -$hds-shift;
|
|
97
|
+
bottom: -$hds-shift;
|
|
98
|
+
left: -$hds-shift;
|
|
99
99
|
margin: auto;
|
|
100
|
-
border-width: $outline-width;
|
|
101
|
-
border-radius: calc(var(--token-form-toggle-height) / 2 + $outline-width + $outline-offset);
|
|
100
|
+
border-width: $hds-outline-width;
|
|
101
|
+
border-radius: calc(var(--token-form-toggle-height) / 2 + $hds-outline-width + $hds-outline-offset);
|
|
102
102
|
content: "";
|
|
103
103
|
}
|
|
104
104
|
|
|
@@ -116,8 +116,8 @@
|
|
|
116
116
|
background-color: var(--token-form-control-checked-surface-color-default);
|
|
117
117
|
|
|
118
118
|
&::after {
|
|
119
|
-
$translation: calc(var(--token-form-toggle-width) - var(--token-form-toggle-thumb-size));
|
|
120
|
-
transform: translate3d($translation, 0, 0);
|
|
119
|
+
$hds-translation: calc(var(--token-form-toggle-width) - var(--token-form-toggle-thumb-size));
|
|
120
|
+
transform: translate3d($hds-translation, 0, 0);
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
$hds-icon-tile-sizes: ( "small", "medium", "large" );
|
|
11
11
|
$hds-icon-tile-types: ( "object","resource","logo" );
|
|
12
|
-
$hds-icon-tile-colors-products: ( "boundary", "consul", "hcp", "nomad", "packer", "terraform", "vagrant", "vault", "vault-secrets", "waypoint" );
|
|
12
|
+
$hds-icon-tile-colors-products: ( "boundary", "consul", "hcp", "nomad", "packer", "terraform", "vagrant", "vault", "vault-secrets", "vault-radar", "waypoint" );
|
|
13
13
|
$hds-icon-tile-border-width: 1px;
|
|
14
14
|
$hds-icon-tile-box-shadow: 0 1px 1px rgba(#656a76, 0.05);
|
|
15
15
|
|
|
@@ -48,7 +48,7 @@ $hds-icon-tile-box-shadow: 0 1px 1px rgba(#656a76, 0.05);
|
|
|
48
48
|
// SIZE
|
|
49
49
|
|
|
50
50
|
// these values later may come from the design tokens
|
|
51
|
-
$size-props: (
|
|
51
|
+
$hds-icon-tile-size-props: (
|
|
52
52
|
"small": (
|
|
53
53
|
"size": 1.75rem, // 28px
|
|
54
54
|
"border-radius": 5px,
|
|
@@ -80,29 +80,29 @@ $size-props: (
|
|
|
80
80
|
|
|
81
81
|
@each $size in $hds-icon-tile-sizes {
|
|
82
82
|
.hds-icon-tile--size-#{$size} {
|
|
83
|
-
width: map-get($size-props, $size, "size");
|
|
84
|
-
height: map-get($size-props, $size, "size");
|
|
85
|
-
border-radius: map-get($size-props, $size, "border-radius");
|
|
83
|
+
width: map-get($hds-icon-tile-size-props, $size, "size");
|
|
84
|
+
height: map-get($hds-icon-tile-size-props, $size, "size");
|
|
85
|
+
border-radius: map-get($hds-icon-tile-size-props, $size, "border-radius");
|
|
86
86
|
|
|
87
87
|
.hds-icon-tile__icon {
|
|
88
|
-
width: map-get($size-props, $size, "icon-size");
|
|
89
|
-
height: map-get($size-props, $size, "icon-size");
|
|
88
|
+
width: map-get($hds-icon-tile-size-props, $size, "icon-size");
|
|
89
|
+
height: map-get($hds-icon-tile-size-props, $size, "icon-size");
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
.hds-icon-tile__logo {
|
|
93
|
-
width: map-get($size-props, $size, "logo-size");
|
|
94
|
-
height: map-get($size-props, $size, "logo-size");
|
|
93
|
+
width: map-get($hds-icon-tile-size-props, $size, "logo-size");
|
|
94
|
+
height: map-get($hds-icon-tile-size-props, $size, "logo-size");
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
.hds-icon-tile__extra {
|
|
98
|
-
width: map-get($size-props, $size, "extra-size");
|
|
99
|
-
height: map-get($size-props, $size, "extra-size");
|
|
100
|
-
border-radius: map-get($size-props, $size, "extra-border-radius");
|
|
98
|
+
width: map-get($hds-icon-tile-size-props, $size, "extra-size");
|
|
99
|
+
height: map-get($hds-icon-tile-size-props, $size, "extra-size");
|
|
100
|
+
border-radius: map-get($hds-icon-tile-size-props, $size, "extra-border-radius");
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
.hds-icon-tile__extra-icon {
|
|
104
|
-
width: map-get($size-props, $size, "extra-icon-size");
|
|
105
|
-
height: map-get($size-props, $size, "extra-icon-size");
|
|
104
|
+
width: map-get($hds-icon-tile-size-props, $size, "extra-icon-size");
|
|
105
|
+
height: map-get($hds-icon-tile-size-props, $size, "extra-icon-size");
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
}
|
|
@@ -46,7 +46,7 @@ $hds-link-standalone-border-width: 1px;
|
|
|
46
46
|
// SIZE
|
|
47
47
|
|
|
48
48
|
// these values later may come from the design tokens
|
|
49
|
-
$size-props: (
|
|
49
|
+
$hds-link-standalone-size-props: (
|
|
50
50
|
"small": (
|
|
51
51
|
"font-size": 0.8125rem, // 13px;
|
|
52
52
|
"icon-size": 0.75rem, // 12px
|
|
@@ -67,13 +67,13 @@ $size-props: (
|
|
|
67
67
|
@each $size in $hds-link-standalone-sizes {
|
|
68
68
|
.hds-link-standalone--size-#{$size} {
|
|
69
69
|
.hds-link-standalone__icon {
|
|
70
|
-
width: map-get($size-props, $size, "icon-size");
|
|
71
|
-
height: map-get($size-props, $size, "icon-size");
|
|
70
|
+
width: map-get($hds-link-standalone-size-props, $size, "icon-size");
|
|
71
|
+
height: map-get($hds-link-standalone-size-props, $size, "icon-size");
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
.hds-link-standalone__text {
|
|
75
|
-
font-size: map-get($size-props, $size, "font-size");
|
|
76
|
-
line-height: map-get($size-props, $size, "line-height");
|
|
75
|
+
font-size: map-get($hds-link-standalone-size-props, $size, "font-size");
|
|
76
|
+
line-height: map-get($hds-link-standalone-size-props, $size, "line-height");
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
}
|
|
@@ -139,19 +139,19 @@ $hds-link-standalone-focus-shift: 4px;
|
|
|
139
139
|
.hds-link-standalone {
|
|
140
140
|
// the position absolute of an element is computed from the inside of the border of the container
|
|
141
141
|
// so we have to take in account the border width of the pseudo-element container itself
|
|
142
|
-
$shift: $hds-link-standalone-focus-shift + $hds-link-standalone-border-width;
|
|
142
|
+
$hds-shift: $hds-link-standalone-focus-shift + $hds-link-standalone-border-width;
|
|
143
143
|
// for visual/optical balance we add an extra 2px to the "shift" near the text (opposite the icon)
|
|
144
|
-
$shift-extra: $shift + 2px;
|
|
144
|
+
$hds-shift-extra: $hds-shift + 2px;
|
|
145
145
|
|
|
146
146
|
// notice: this is used not only for the focus, but also to increase the clickable area
|
|
147
|
-
@include hds-focus-ring-with-pseudo-element($right: -$shift, $left: -$shift, $radius: $hds-link-standalone-focus-border-radius);
|
|
147
|
+
@include hds-focus-ring-with-pseudo-element($right: -$hds-shift, $left: -$hds-shift, $radius: $hds-link-standalone-focus-border-radius);
|
|
148
148
|
|
|
149
149
|
// we need to override a couple of values for better visual alignment
|
|
150
150
|
&.hds-link-standalone--icon-position-leading::before {
|
|
151
|
-
right: -$shift-extra;
|
|
151
|
+
right: -$hds-shift-extra;
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
&.hds-link-standalone--icon-position-trailing::before {
|
|
155
|
-
left: -$shift-extra;
|
|
155
|
+
left: -$hds-shift-extra;
|
|
156
156
|
}
|
|
157
157
|
}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
// custom breakpoint for the pagination, swapping between horizontal and stacked layout
|
|
13
13
|
// notice: the value is based on where the component layout potentially breaks down
|
|
14
14
|
|
|
15
|
-
$pagination-layout-breakpoint: 1000px;
|
|
15
|
+
$hds-pagination-layout-breakpoint: 1000px;
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
// * Pagination Parent (wrapper) component
|
|
@@ -26,7 +26,7 @@ $pagination-layout-breakpoint: 1000px;
|
|
|
26
26
|
align-items: center;
|
|
27
27
|
margin: 0 auto;
|
|
28
28
|
|
|
29
|
-
@media screen and (max-width: $pagination-layout-breakpoint) {
|
|
29
|
+
@media screen and (max-width: $hds-pagination-layout-breakpoint) {
|
|
30
30
|
display: flex;
|
|
31
31
|
flex-wrap: wrap;
|
|
32
32
|
justify-content: center;
|
|
@@ -38,7 +38,7 @@ $pagination-layout-breakpoint: 1000px;
|
|
|
38
38
|
justify-self: flex-start;
|
|
39
39
|
margin-right: var(--token-pagination-child-spacing-horizontal);
|
|
40
40
|
|
|
41
|
-
@media screen and (max-width: $pagination-layout-breakpoint) {
|
|
41
|
+
@media screen and (max-width: $hds-pagination-layout-breakpoint) {
|
|
42
42
|
margin-top: var(--token-pagination-child-spacing-vertical);
|
|
43
43
|
margin-left: var(--token-pagination-child-spacing-horizontal);
|
|
44
44
|
}
|
|
@@ -47,7 +47,7 @@ $pagination-layout-breakpoint: 1000px;
|
|
|
47
47
|
.hds-pagination-nav {
|
|
48
48
|
grid-area: nav;
|
|
49
49
|
|
|
50
|
-
@media screen and (max-width: $pagination-layout-breakpoint) {
|
|
50
|
+
@media screen and (max-width: $hds-pagination-layout-breakpoint) {
|
|
51
51
|
justify-content: center;
|
|
52
52
|
order: -1;
|
|
53
53
|
// Force nav to occupy a full row so other components will wrap:
|
|
@@ -60,7 +60,7 @@ $pagination-layout-breakpoint: 1000px;
|
|
|
60
60
|
justify-self: flex-end;
|
|
61
61
|
margin-left: var(--token-pagination-child-spacing-horizontal);
|
|
62
62
|
|
|
63
|
-
@media screen and (max-width: $pagination-layout-breakpoint) {
|
|
63
|
+
@media screen and (max-width: $hds-pagination-layout-breakpoint) {
|
|
64
64
|
margin-top: var(--token-pagination-child-spacing-vertical);
|
|
65
65
|
margin-right: var(--token-pagination-child-spacing-horizontal);
|
|
66
66
|
}
|
|
@@ -40,12 +40,11 @@
|
|
|
40
40
|
// (LIST) TITLE
|
|
41
41
|
|
|
42
42
|
.hds-side-nav__list-title {
|
|
43
|
-
display: flex;
|
|
44
|
-
align-items: center;
|
|
45
43
|
min-height: var(--token-side-nav-body-list-item-height);
|
|
46
44
|
margin-top: var(--token-side-nav-body-list-margin-vertical);
|
|
47
45
|
padding: 9px var(--token-side-nav-body-list-item-padding-horizontal); // 8px = (min-height - body-100-line-height) / 2
|
|
48
46
|
color: var(--token-side-nav-color-foreground-faint);
|
|
47
|
+
overflow-wrap: break-word;
|
|
49
48
|
|
|
50
49
|
// Remove margin from title at top of all list-items & lists
|
|
51
50
|
.hds-side-nav__list-wrapper:first-child .hds-side-nav__list-item:first-child > & {
|
|
@@ -53,7 +52,6 @@
|
|
|
53
52
|
}
|
|
54
53
|
}
|
|
55
54
|
|
|
56
|
-
|
|
57
55
|
// LIST (root elements)
|
|
58
56
|
|
|
59
57
|
.hds-side-nav__list-wrapper, // <nav> element
|
|
@@ -147,8 +145,11 @@
|
|
|
147
145
|
// LIST ITEM > INNER ELEMENTS
|
|
148
146
|
|
|
149
147
|
.hds-side-nav__list-item-text {
|
|
148
|
+
min-width: 0;
|
|
149
|
+
max-width: 100%;
|
|
150
150
|
color: var(--token-side-nav-color-foreground-primary);
|
|
151
151
|
text-align: left;
|
|
152
|
+
overflow-wrap: break-word;
|
|
152
153
|
}
|
|
153
154
|
|
|
154
155
|
.hds-side-nav__list-item-icon-leading {
|
|
@@ -52,7 +52,7 @@ $hds-stepper-indicator-step-size: 24px;
|
|
|
52
52
|
// Non-interactive (default)
|
|
53
53
|
|
|
54
54
|
// Non-interactive props that correspond with status
|
|
55
|
-
$non-interactive-props: (
|
|
55
|
+
$hds-stepper-indicator-step-non-interactive-props: (
|
|
56
56
|
"incomplete": (
|
|
57
57
|
"text-color": var(--token-color-foreground-strong),
|
|
58
58
|
"fill-color": var(--token-color-surface-faint),
|
|
@@ -79,12 +79,12 @@ $non-interactive-props: (
|
|
|
79
79
|
// For each status of the non-interactive variant, set the text color, svg fill, and svg stroke colors based on $non-interactive-props
|
|
80
80
|
.hds-stepper-indicator-step--status-#{$status} {
|
|
81
81
|
.hds-stepper-indicator-step__status {
|
|
82
|
-
color: map-get($non-interactive-props, $status, "text-color");
|
|
82
|
+
color: map-get($hds-stepper-indicator-step-non-interactive-props, $status, "text-color");
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
.hds-stepper-indicator-step__svg-hexagon path {
|
|
86
|
-
fill: map-get($non-interactive-props, $status, "fill-color");
|
|
87
|
-
stroke: map-get($non-interactive-props, $status, "stroke-color");
|
|
86
|
+
fill: map-get($hds-stepper-indicator-step-non-interactive-props, $status, "fill-color");
|
|
87
|
+
stroke: map-get($hds-stepper-indicator-step-non-interactive-props, $status, "stroke-color");
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
}
|
|
@@ -92,7 +92,7 @@ $non-interactive-props: (
|
|
|
92
92
|
// Interactive
|
|
93
93
|
|
|
94
94
|
// Determine states/status and corresponding styles
|
|
95
|
-
$status-props: (
|
|
95
|
+
$hds-stepper-indicator-step-status-props: (
|
|
96
96
|
"incomplete": (
|
|
97
97
|
"text-color-default": var(--token-color-foreground-primary),
|
|
98
98
|
"fill-color-default": var(--token-color-surface-interactive),
|
|
@@ -135,27 +135,27 @@ $status-props: (
|
|
|
135
135
|
cursor: pointer;
|
|
136
136
|
|
|
137
137
|
@each $status in $hds-stepper-indicator-step-statuses {
|
|
138
|
-
// For each status set the text, svg fill, and svg stroke color based on $status-props
|
|
138
|
+
// For each status set the text, svg fill, and svg stroke color based on $hds-stepper-indicator-step-status-props
|
|
139
139
|
&.hds-stepper-indicator-step--status-#{$status} {
|
|
140
140
|
.hds-stepper-indicator-step__status {
|
|
141
|
-
color: map-get($status-props, $status, "text-color-default");
|
|
141
|
+
color: map-get($hds-stepper-indicator-step-status-props, $status, "text-color-default");
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
.hds-stepper-indicator-step__svg-hexagon path {
|
|
145
|
-
fill: map-get($status-props, $status, "fill-color-default");
|
|
146
|
-
stroke: map-get($status-props, $status, "stroke-color-default");
|
|
145
|
+
fill: map-get($hds-stepper-indicator-step-status-props, $status, "fill-color-default");
|
|
146
|
+
stroke: map-get($hds-stepper-indicator-step-status-props, $status, "stroke-color-default");
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
&:hover,
|
|
150
150
|
&.mock-hover {
|
|
151
151
|
.hds-stepper-indicator-step__status {
|
|
152
|
-
color: map-get($status-props, $status, "text-color-hover");
|
|
152
|
+
color: map-get($hds-stepper-indicator-step-status-props, $status, "text-color-hover");
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
.hds-stepper-indicator-step__svg-hexagon {
|
|
156
156
|
path {
|
|
157
|
-
fill: map-get($status-props, $status, "fill-color-hover");
|
|
158
|
-
stroke: map-get($status-props, $status, "stroke-color-hover");
|
|
157
|
+
fill: map-get($hds-stepper-indicator-step-status-props, $status, "fill-color-hover");
|
|
158
|
+
stroke: map-get($hds-stepper-indicator-step-status-props, $status, "stroke-color-hover");
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
}
|
|
@@ -163,13 +163,13 @@ $status-props: (
|
|
|
163
163
|
&:active,
|
|
164
164
|
&.mock-active {
|
|
165
165
|
.hds-stepper-indicator-step__status {
|
|
166
|
-
color: map-get($status-props, $status, "text-color-active");
|
|
166
|
+
color: map-get($hds-stepper-indicator-step-status-props, $status, "text-color-active");
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
.hds-stepper-indicator-step__svg-hexagon {
|
|
170
170
|
path {
|
|
171
|
-
fill: map-get($status-props, $status, "fill-color-active");
|
|
172
|
-
stroke: map-get($status-props, $status, "stroke-color-active");
|
|
171
|
+
fill: map-get($hds-stepper-indicator-step-status-props, $status, "fill-color-active");
|
|
172
|
+
stroke: map-get($hds-stepper-indicator-step-status-props, $status, "stroke-color-active");
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
175
|
}
|
|
@@ -11,7 +11,7 @@ $hds-stepper-indicator-task-statuses: ( "incomplete", "progress", "processing",
|
|
|
11
11
|
$hds-stepper-indicator-task-size: 16px;
|
|
12
12
|
|
|
13
13
|
// Determine states and corresponding styles
|
|
14
|
-
$status-props: (
|
|
14
|
+
$hds-stepper-indicator-task-status-props: (
|
|
15
15
|
"incomplete": (
|
|
16
16
|
"color-default": var(--token-color-palette-neutral-300),
|
|
17
17
|
"color-hover": var(--token-color-palette-blue-300),
|
|
@@ -54,18 +54,18 @@ $status-props: (
|
|
|
54
54
|
cursor: pointer;
|
|
55
55
|
|
|
56
56
|
@each $status in $hds-stepper-indicator-task-statuses {
|
|
57
|
-
// For each status set the icon color based on the $status-props
|
|
57
|
+
// For each status set the icon color based on the $hds-stepper-indicator-task-status-props
|
|
58
58
|
&.hds-stepper-indicator-task--status-#{$status} {
|
|
59
|
-
color: map-get($status-props, $status, "color-default");
|
|
59
|
+
color: map-get($hds-stepper-indicator-task-status-props, $status, "color-default");
|
|
60
60
|
|
|
61
61
|
&:hover,
|
|
62
62
|
&.mock-hover {
|
|
63
|
-
color: map-get($status-props, $status, "color-hover");
|
|
63
|
+
color: map-get($hds-stepper-indicator-task-status-props, $status, "color-hover");
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
&:active,
|
|
67
67
|
&.mock-active {
|
|
68
|
-
color: map-get($status-props, $status, "color-active");
|
|
68
|
+
color: map-get($hds-stepper-indicator-task-status-props, $status, "color-active");
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
}
|
|
@@ -9,7 +9,7 @@ $hds-button-border-width: 1px;
|
|
|
9
9
|
$hds-button-focus-border-width: 3px;
|
|
10
10
|
|
|
11
11
|
// these values later may come from the design tokens
|
|
12
|
-
$size-props: (
|
|
12
|
+
$hds-button-size-props: (
|
|
13
13
|
"small": (
|
|
14
14
|
"font-size": 0.8125rem, // 13px;
|
|
15
15
|
"line-height": 0.875rem, // 14px - we need to make it even (so we set it slighly larger than the font-size; notice: in Figma is 12px but this would cut some ascendants/descendants)
|
|
@@ -273,24 +273,24 @@ $size-props: (
|
|
|
273
273
|
@mixin hds-button-size-classes($blockName) {
|
|
274
274
|
@each $size in $hds-button-sizes {
|
|
275
275
|
.#{$blockName}--size-#{$size} {
|
|
276
|
-
min-height: map-get($size-props, $size, "min-height");
|
|
277
|
-
padding: map-get($size-props, $size, "padding-vertical") map-get($size-props, $size, "padding-horizontal");
|
|
276
|
+
min-height: map-get($hds-button-size-props, $size, "min-height");
|
|
277
|
+
padding: map-get($hds-button-size-props, $size, "padding-vertical") map-get($hds-button-size-props, $size, "padding-horizontal");
|
|
278
278
|
|
|
279
279
|
.#{$blockName}__icon {
|
|
280
|
-
width: map-get($size-props, $size, "icon-size");
|
|
281
|
-
height: map-get($size-props, $size, "icon-size");
|
|
280
|
+
width: map-get($hds-button-size-props, $size, "icon-size");
|
|
281
|
+
height: map-get($hds-button-size-props, $size, "icon-size");
|
|
282
282
|
}
|
|
283
283
|
|
|
284
284
|
.#{$blockName}__text {
|
|
285
|
-
font-size: map-get($size-props, $size, "font-size");
|
|
286
|
-
line-height: map-get($size-props, $size, "line-height");
|
|
285
|
+
font-size: map-get($hds-button-size-props, $size, "font-size");
|
|
286
|
+
line-height: map-get($hds-button-size-props, $size, "line-height");
|
|
287
287
|
}
|
|
288
288
|
|
|
289
289
|
&.#{$blockName}--is-icon-only {
|
|
290
290
|
// overrides to have the icon-only button squared
|
|
291
|
-
min-width: map-get($size-props, $size, "min-height");
|
|
292
|
-
padding-right: map-get($size-props, $size, "padding-vertical");
|
|
293
|
-
padding-left: map-get($size-props, $size, "padding-vertical");
|
|
291
|
+
min-width: map-get($hds-button-size-props, $size, "min-height");
|
|
292
|
+
padding-right: map-get($hds-button-size-props, $size, "padding-vertical");
|
|
293
|
+
padding-left: map-get($hds-button-size-props, $size, "padding-vertical");
|
|
294
294
|
}
|
|
295
295
|
}
|
|
296
296
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hashicorp/design-system-components",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0",
|
|
4
4
|
"description": "Helios Design System Components",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"hashicorp",
|
|
@@ -43,12 +43,11 @@
|
|
|
43
43
|
"@ember/render-modifiers": "^2.0.5",
|
|
44
44
|
"@ember/string": "^3.1.1",
|
|
45
45
|
"@ember/test-waiters": "^3.1.0",
|
|
46
|
-
"@hashicorp/design-system-tokens": "^1.
|
|
47
|
-
"@hashicorp/ember-flight-icons": "^4.0.
|
|
46
|
+
"@hashicorp/design-system-tokens": "^1.10.0",
|
|
47
|
+
"@hashicorp/ember-flight-icons": "^4.0.6",
|
|
48
48
|
"dialog-polyfill": "^0.5.6",
|
|
49
49
|
"ember-a11y-refocus": "^3.0.2",
|
|
50
50
|
"ember-auto-import": "^2.6.3",
|
|
51
|
-
"ember-cached-decorator-polyfill": "^1.0.2",
|
|
52
51
|
"ember-cli-babel": "^8.2.0",
|
|
53
52
|
"ember-cli-htmlbars": "^6.3.0",
|
|
54
53
|
"ember-cli-sass": "^11.0.1",
|