@hashicorp/design-system-components 3.4.0 → 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 CHANGED
@@ -1,5 +1,69 @@
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
+
44
+ ## 3.4.1
45
+
46
+ ### Patch Changes
47
+
48
+ `Modal` - Removed `close` event listener on destroy
49
+ `Flyout` - Removed `close` event listener on destroy
50
+
51
+ <small class="doc-whats-new-changelog-metadata">[#1887](https://github.com/hashicorp/design-system/pull/1887)</small>
52
+
53
+ <div class="doc-whats-new-changelog-separator"></div>
54
+
55
+ `CodeBlock` - Fixed issues with dynamic content, compile warning, and line number alignment
56
+
57
+ <small class="doc-whats-new-changelog-metadata">[#1853](https://github.com/hashicorp/design-system/pull/1853)</small>
58
+
59
+ <div class="doc-whats-new-changelog-separator"></div>
60
+
61
+ `SegmentedGroup` - Fixed issue with border-radius of single child element being overridden
62
+
63
+ <small class="doc-whats-new-changelog-metadata">[#1892](https://github.com/hashicorp/design-system/pull/1892)</small>
64
+
65
+ <div class="doc-whats-new-changelog-separator"></div>
66
+
3
67
  ## 3.4.0
4
68
 
5
69
  ### Minor Changes
@@ -18,7 +82,7 @@
18
82
 
19
83
  ### Patch Changes
20
84
 
21
- `Hds::AppFooter` - Changed visual alignment from right-aligned to centered.
85
+ `AppFooter` - Changed visual alignment from right-aligned to centered.
22
86
 
23
87
  <small class="doc-whats-new-changelog-metadata">[#1867](https://github.com/hashicorp/design-system/pull/1867)</small>
24
88
 
@@ -56,11 +120,11 @@
56
120
 
57
121
  ### Minor Changes
58
122
 
59
- `Hds::Form::CharacterCount` - Added new component
60
- `Hds::Form::Field` - Added `CharacterCount` contextual component
61
- `Hds::Form::MaskedInput::Field` - Added `CharacterCount` contextual component
62
- `Hds::Form::TextInput::Field` - Added `CharacterCount` contextual component
63
- `Hds::Form::Textarea::Field` - Added `CharacterCount` contextual component
123
+ `Form::CharacterCount` - Added new component
124
+ `Form::Field` - Added `CharacterCount` contextual component
125
+ `Form::MaskedInput::Field` - Added `CharacterCount` contextual component
126
+ `Form::TextInput::Field` - Added `CharacterCount` contextual component
127
+ `Form::Textarea::Field` - Added `CharacterCount` contextual component
64
128
 
65
129
  <small class="doc-whats-new-changelog-metadata">[#1802](https://github.com/hashicorp/design-system/pull/1802)</small>
66
130
 
@@ -68,11 +132,11 @@
68
132
 
69
133
  ### Patch Changes
70
134
 
71
- `Button` - updated DOM structure to contain only `span` elements
135
+ `Button` - Updated DOM structure to contain only `span` elements
72
136
 
73
- `Dropdown` - updated button elements DOM structure to contain only `span` elements
137
+ `Dropdown` - Updated button elements DOM structure to contain only `span` elements
74
138
 
75
- `Link::Standalone` - updated DOM structure to contain only `span` elements
139
+ `Link::Standalone` - Updated DOM structure to contain only `span` elements
76
140
 
77
141
  <small class="doc-whats-new-changelog-metadata">[#1840](https://github.com/hashicorp/design-system/pull/1840)</small>
78
142
 
@@ -88,9 +152,9 @@
88
152
 
89
153
  <div class="doc-whats-new-changelog-separator"></div>
90
154
 
91
- `Hds::Table` - updated `@columns` object to support `isVisuallyHidden` argument
155
+ `Table` - Updated `@columns` object to support `isVisuallyHidden` argument
92
156
 
93
- - `Hds::Table::Th` - updated to support `isVisuallyHidden` argument
157
+ - `Table::Th` - Updated to support `isVisuallyHidden` argument
94
158
 
95
159
  <small class="doc-whats-new-changelog-metadata">[#1819](https://github.com/hashicorp/design-system/pull/1819)</small>
96
160
 
@@ -199,7 +263,7 @@ Upgraded the following dependencies:
199
263
 
200
264
  ### Patch Changes
201
265
 
202
- explicitly added `ember-element-helper` as dependency for the `components` package
266
+ Explicitly added `ember-element-helper` as dependency for the `components` package
203
267
 
204
268
  <small class="doc-whats-new-changelog-metadata">[#1751](https://github.com/hashicorp/design-system/pull/1751)</small>
205
269
 
@@ -217,33 +281,33 @@ explicitly added `ember-element-helper` as dependency for the `components` packa
217
281
 
218
282
  ### Major Changes
219
283
 
220
- Drop support for Node 14
284
+ Dropped support for Node 14
221
285
 
222
286
  <small class="doc-whats-new-changelog-metadata">[#1634](https://github.com/hashicorp/design-system/pull/1634)</small>
223
287
 
224
288
  <div class="doc-whats-new-changelog-separator"></div>
225
289
 
226
- `Hds::Form::VisibilityToggle` - Added component as a form base element
290
+ `Form::VisibilityToggle` - Added component as a form base element
227
291
 
228
- `Hds::Form::TextInput::Field` - Added `Hds::Form::VisibilityToggle` to password inputs (controlled via `@hasVisibilityToggle` - Notice that this is set to be visible by default now)
292
+ `Form::TextInput::Field` - Added `Form::VisibilityToggle` to password inputs (controlled via `@hasVisibilityToggle` - Notice that this is set to be visible by default now)
229
293
 
230
- `Hds::Form::MaskedInput` - Refactored to use `Hds::Form::VisibilityToggle`
294
+ `Form::MaskedInput` - Refactored to use `Form::VisibilityToggle`
231
295
 
232
- `Hds::Form::MaskedInput` - Renamed `@isMasked` to `@isContentMasked`
296
+ `Form::MaskedInput` - Renamed `@isMasked` to `@isContentMasked`
233
297
 
234
298
  To migrate:
235
299
 
236
- - in `Hds::Form::MaskedInput` instances replace `@isMasked` arguments with `@isContentMasked`
300
+ - in `Form::MaskedInput` instances replace `@isMasked` arguments with `@isContentMasked`
237
301
 
238
302
  <small class="doc-whats-new-changelog-metadata">[#1634](https://github.com/hashicorp/design-system/pull/1634)</small>
239
303
 
240
304
  <div class="doc-whats-new-changelog-separator"></div>
241
305
 
242
- `Hds::Dropdown` – Removed `@listPosition` `left` and `right` (use `bottom-left` and `bottom-right`, respectively).
306
+ `Dropdown` – Removed `@listPosition` `left` and `right` (use `bottom-left` and `bottom-right`, respectively).
243
307
 
244
308
  To migrate:
245
309
 
246
- - in `Hds::Dropdown` instances:
310
+ - in `Dropdown` instances:
247
311
  - replace `@listPosition="left"` with `@listPosition="bottom-left"`
248
312
  - replace `@listPosition="right"` with `@listPosition="bottom-right"`
249
313
 
@@ -255,7 +319,7 @@ To migrate:
255
319
 
256
320
  To migrate:
257
321
 
258
- - rename all the `extraBefore/After` instances yielded within the `<Hds::SideNav>` component to `ExtraBefore/After`
322
+ - rename all the `extraBefore/After` instances yielded within the `SideNav` component to `ExtraBefore/After`
259
323
 
260
324
  <small class="doc-whats-new-changelog-metadata">[#1634](https://github.com/hashicorp/design-system/pull/1634)</small>
261
325
 
@@ -9,19 +9,16 @@
9
9
  {{~yield (hash Description=(component "hds/code-block/description"))~}}
10
10
  </div>
11
11
  <div class="hds-code-block__body">
12
+ {{! content within pre tag is whitespace-sensitive; do not add new lines! }}
12
13
  <pre
13
14
  class="hds-code-block__code"
14
15
  {{style maxHeight=@maxHeight}}
15
16
  data-line={{@highlightLines}}
16
17
  id={{this.preCodeId}}
17
18
  tabindex="0"
18
- >
19
- {{~! ~}}
20
- <code {{did-insert this.setPrismCode}} {{did-update this.setPrismCode this.code @language}}>
19
+ ><code {{did-insert this.setPrismCode}} {{did-update this.setPrismCode this.code @language}}>
21
20
  {{~this.prismCode~}}
22
- </code>
23
- {{~! ~}}
24
- </pre>
21
+ </code></pre>
25
22
 
26
23
  {{#if @hasCopyButton}}
27
24
  <Hds::CodeBlock::CopyButton @targetToCopy="#{{this.preCodeId}}" aria-describedby={{this.preCodeId}} />
@@ -7,6 +7,7 @@ import Component from '@glimmer/component';
7
7
  import { action } from '@ember/object';
8
8
  import { tracked } from '@glimmer/tracking';
9
9
  import { assert } from '@ember/debug';
10
+ import { next, schedule } from '@ember/runloop';
10
11
  import { htmlSafe } from '@ember/template';
11
12
  import { guidFor } from '@ember/object/internals';
12
13
 
@@ -107,27 +108,30 @@ export default class HdsCodeBlockIndexComponent extends Component {
107
108
  const grammar = Prism.languages[language];
108
109
 
109
110
  if (code) {
110
- if (language && grammar) {
111
- this.prismCode = htmlSafe(Prism.highlight(code, grammar, language));
112
- } else {
113
- this.prismCode = htmlSafe(Prism.util.encode(code));
114
- }
115
-
116
- // Force prism-line-numbers plugin initialization, required for Prism.highlight usage
117
- // See https://github.com/PrismJS/prism/issues/1234
118
- Prism.hooks.run('complete', {
119
- code,
120
- element,
111
+ next(() => {
112
+ if (language && grammar) {
113
+ this.prismCode = htmlSafe(Prism.highlight(code, grammar, language));
114
+ } else {
115
+ this.prismCode = htmlSafe(Prism.util.encode(code));
116
+ }
117
+
118
+ // Force prism-line-numbers plugin initialization, required for Prism.highlight usage
119
+ // See https://github.com/PrismJS/prism/issues/1234
120
+ Prism.hooks.run('complete', {
121
+ code,
122
+ element,
123
+ });
124
+
125
+ // Force prism-line-highlight plugin initialization
126
+ // Context: https://github.com/hashicorp/design-system/pull/1749#discussion_r1374288785
127
+ if (this.args.highlightLines) {
128
+ // we need to delay re-evaluating the context for prism-line-highlight for as much as possible, and `afterRender` is the 'latest' we can use in the component lifecycle
129
+ schedule('afterRender', () => {
130
+ // we piggy-back on the plugin's `resize` event listener to trigger a new call of the `highlightLines` function: https://github.com/PrismJS/prism/blob/master/plugins/line-highlight/prism-line-highlight.js#L337
131
+ if (window) window.dispatchEvent(new Event('resize'));
132
+ });
133
+ }
121
134
  });
122
-
123
- // Force prism-line-highlight plugin initialization
124
- // Context: https://github.com/hashicorp/design-system/pull/1749#discussion_r1374288785
125
- if (this.args.highlightLines) {
126
- setTimeout(() => {
127
- // we piggy-back on the plugin's `resize` event listener to trigger a new call of the `highlightLines` function: https://github.com/PrismJS/prism/blob/master/plugins/line-highlight/prism-line-highlight.js#L337
128
- if (window) window.dispatchEvent(new Event('resize'));
129
- }, 100);
130
- }
131
135
  }
132
136
  }
133
137
 
@@ -7,6 +7,7 @@
7
7
  ...attributes
8
8
  aria-labelledby={{this.id}}
9
9
  {{did-insert this.didInsert}}
10
+ {{will-destroy this.willDestroyNode}}
10
11
  {{focus-trap isActive=this.isOpen focusTrapOptions=(hash onDeactivate=this.onDismiss clickOutsideDeactivates=true)}}
11
12
  >
12
13
  {{yield (hash Header=(component "hds/flyout/header" id=this.id onDismiss=this.onDismiss))}}
@@ -67,6 +67,14 @@ export default class HdsFlyoutIndexComponent extends Component {
67
67
  return classes.join(' ');
68
68
  }
69
69
 
70
+ @action registerOnCloseCallback() {
71
+ if (this.args.onClose && typeof this.args.onClose === 'function') {
72
+ this.args.onClose();
73
+ }
74
+
75
+ this.isOpen = false;
76
+ }
77
+
70
78
  @action
71
79
  didInsert(element) {
72
80
  // Store references of `<dialog>` and `<body>` elements
@@ -94,13 +102,7 @@ export default class HdsFlyoutIndexComponent extends Component {
94
102
  }
95
103
 
96
104
  // Register "onClose" callback function to be called when a native 'close' event is dispatched
97
- this.element.addEventListener('close', () => {
98
- if (this.args.onClose && typeof this.args.onClose === 'function') {
99
- this.args.onClose();
100
- }
101
-
102
- this.isOpen = false;
103
- });
105
+ this.element.addEventListener('close', this.registerOnCloseCallback, true);
104
106
 
105
107
  // If the flyout dialog is not already open
106
108
  if (!this.element.open) {
@@ -108,6 +110,17 @@ export default class HdsFlyoutIndexComponent extends Component {
108
110
  }
109
111
  }
110
112
 
113
+ @action
114
+ willDestroyNode() {
115
+ if (this.element) {
116
+ this.element.removeEventListener(
117
+ 'close',
118
+ this.registerOnCloseCallback,
119
+ true
120
+ );
121
+ }
122
+ }
123
+
111
124
  @action
112
125
  open() {
113
126
  // Make flyout dialog visible using the native `showModal` method
@@ -19,6 +19,7 @@ export const PRODUCTS = [
19
19
  'vagrant',
20
20
  'vault',
21
21
  'vault-secrets',
22
+ 'vault-radar',
22
23
  'waypoint',
23
24
  ];
24
25
  export const COLORS = ['neutral', ...PRODUCTS];
@@ -7,6 +7,7 @@
7
7
  ...attributes
8
8
  aria-labelledby={{this.id}}
9
9
  {{did-insert this.didInsert}}
10
+ {{will-destroy this.willDestroyNode}}
10
11
  {{focus-trap isActive=this.isOpen focusTrapOptions=(hash onDeactivate=this.onDismiss clickOutsideDeactivates=true)}}
11
12
  >
12
13
  {{yield (hash Header=(component "hds/modal/header" id=this.id onDismiss=this.onDismiss))}}
@@ -93,6 +93,29 @@ export default class HdsModalIndexComponent extends Component {
93
93
  return classes.join(' ');
94
94
  }
95
95
 
96
+ @action registerOnCloseCallback() {
97
+ if (
98
+ !this.isDismissDisabled &&
99
+ this.args.onClose &&
100
+ typeof this.args.onClose === 'function'
101
+ ) {
102
+ this.args.onClose();
103
+ }
104
+
105
+ // If the dismissal of the modal is disabled, we keep the modal open/visible otherwise we mark it as closed
106
+ if (this.isDismissDisabled) {
107
+ // If, in a chain of events, the element is not attached to the DOM, the `showModal` would fail
108
+ // so we add this safeguard condition that checks for the `<dialog>` to have a parent
109
+ if (this.element.parentElement) {
110
+ // As there is no way to `preventDefault` on `close` events, we call the `showModal` function
111
+ // preserving the state of the modal dialog
112
+ this.element.showModal();
113
+ }
114
+ } else {
115
+ this.isOpen = false;
116
+ }
117
+ }
118
+
96
119
  @action
97
120
  didInsert(element) {
98
121
  // Store references of `<dialog>` and `<body>` elements
@@ -120,28 +143,7 @@ export default class HdsModalIndexComponent extends Component {
120
143
  }
121
144
 
122
145
  // Register "onClose" callback function to be called when a native 'close' event is dispatched
123
- this.element.addEventListener('close', () => {
124
- if (
125
- !this.isDismissDisabled &&
126
- this.args.onClose &&
127
- typeof this.args.onClose === 'function'
128
- ) {
129
- this.args.onClose();
130
- }
131
-
132
- // If the dismissal of the modal is disabled, we keep the modal open/visible otherwise we mark it as closed
133
- if (this.isDismissDisabled) {
134
- // If, in a chain of events, the element is not attached to the DOM, the `showModal` would fail
135
- // so we add this safeguard condition that checks for the `<dialog>` to have a parent
136
- if (this.element.parentElement) {
137
- // As there is no way to `preventDefault` on `close` events, we call the `showModal` function
138
- // preserving the state of the modal dialog
139
- this.element.showModal();
140
- }
141
- } else {
142
- this.isOpen = false;
143
- }
144
- });
146
+ this.element.addEventListener('close', this.registerOnCloseCallback, true);
145
147
 
146
148
  // If the modal dialog is not already open
147
149
  if (!this.element.open) {
@@ -149,6 +151,17 @@ export default class HdsModalIndexComponent extends Component {
149
151
  }
150
152
  }
151
153
 
154
+ @action
155
+ willDestroyNode() {
156
+ if (this.element) {
157
+ this.element.removeEventListener(
158
+ 'close',
159
+ this.registerOnCloseCallback,
160
+ true
161
+ );
162
+ }
163
+ }
164
+
152
165
  @action
153
166
  open() {
154
167
  // Make modal dialog visible using the native `showModal` method
@@ -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,10 +128,10 @@ $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
- font-family: var(--hds-typography-code-200);
134
+ font-family: var(--token-typography-code-200-font-family);
135
135
  border-radius: inherit;
136
136
 
137
137
  ::selection {
@@ -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-green);
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
  }
@@ -14,7 +14,7 @@
14
14
  > .hds-dropdown,
15
15
  > .hds-form-select,
16
16
  > .hds-form-text-input {
17
- &:first-child {
17
+ &:first-child:not(:only-child) {
18
18
  border-top-right-radius: 0;
19
19
  border-bottom-right-radius: 0;
20
20
 
@@ -26,7 +26,7 @@
26
26
  }
27
27
  }
28
28
 
29
- &:last-child {
29
+ &:last-child:not(:only-child) {
30
30
  margin-left: -1px;
31
31
  border-top-left-radius: 0;
32
32
  border-bottom-left-radius: 0;
@@ -39,7 +39,7 @@
39
39
  }
40
40
  }
41
41
 
42
- &:not(:first-child, :last-child) {
42
+ &:not(:first-child, :last-child, :only-child) {
43
43
  margin-left: -1px;
44
44
  border-radius: 0;
45
45
 
@@ -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.4.0",
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.9.0",
47
- "@hashicorp/ember-flight-icons": "^4.0.5",
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",