Vault is unsealed, but we still need to authenticate using the Initial Root Token that was generated. We recommend
diff --git a/ui/app/templates/components/wizard/init-save-keys.hbs b/ui/app/templates/components/wizard/init-save-keys.hbs
index b10335d70b..2d13ae76b8 100644
--- a/ui/app/templates/components/wizard/init-save-keys.hbs
+++ b/ui/app/templates/components/wizard/init-save-keys.hbs
@@ -3,7 +3,7 @@
SPDX-License-Identifier: BUSL-1.1
~}}
-
+
+
+
+
{{component
this.stepComponent
mountSubtype=this.mountSubtype
diff --git a/ui/app/templates/components/wizard/policies-create.hbs b/ui/app/templates/components/wizard/policies-create.hbs
index 2329d899eb..d7b6c94bd4 100644
--- a/ui/app/templates/components/wizard/policies-create.hbs
+++ b/ui/app/templates/components/wizard/policies-create.hbs
@@ -4,7 +4,7 @@
~}}
{{! template-lint-disable quotes }}
-
+
+
+
+
+
Good! Now you're ready to go writing your own policies. We only explored ACL policies, but there are two other types of
diff --git a/ui/app/templates/components/wizard/replication-setup.hbs b/ui/app/templates/components/wizard/replication-setup.hbs
index d6a39d83af..71185ad2b4 100644
--- a/ui/app/templates/components/wizard/replication-setup.hbs
+++ b/ui/app/templates/components/wizard/replication-setup.hbs
@@ -4,7 +4,7 @@
~}}
{{! template-lint-disable quotes }}
-
+
+
+
+
+
+
+
Here you can see that your data survived intact. These tools are mostly handy for applications to use, but if you ever
diff --git a/ui/app/templates/components/wizard/tools-wrap.hbs b/ui/app/templates/components/wizard/tools-wrap.hbs
index 56e20da06d..5615af98bc 100644
--- a/ui/app/templates/components/wizard/tools-wrap.hbs
+++ b/ui/app/templates/components/wizard/tools-wrap.hbs
@@ -4,7 +4,7 @@
~}}
{{! template-lint-disable quotes }}
-
+
+
+
We hope you enjoyed using Vault. You can get back to the guide in the user menu in the upper right.
diff --git a/ui/app/templates/components/wizard/tutorial-idle.hbs b/ui/app/templates/components/wizard/tutorial-idle.hbs
index 40e9d365e8..5b3c89be69 100644
--- a/ui/app/templates/components/wizard/tutorial-idle.hbs
+++ b/ui/app/templates/components/wizard/tutorial-idle.hbs
@@ -3,7 +3,7 @@
SPDX-License-Identifier: BUSL-1.1
~}}
-
+
Want a tour? Our helpful guide will introduce you to the Vault Web UI.
diff --git a/ui/app/templates/components/wizard/tutorial-paused.hbs b/ui/app/templates/components/wizard/tutorial-paused.hbs
index b27d0dfc90..a3b00ad993 100644
--- a/ui/app/templates/components/wizard/tutorial-paused.hbs
+++ b/ui/app/templates/components/wizard/tutorial-paused.hbs
@@ -3,7 +3,7 @@
SPDX-License-Identifier: BUSL-1.1
~}}
-
+
Feel free to explore Vault. Click below to get back to the guide or close this window.
diff --git a/ui/app/templates/vault/cluster/access/methods.hbs b/ui/app/templates/vault/cluster/access/methods.hbs
index d3720f0bfe..b03a63afd0 100644
--- a/ui/app/templates/vault/cluster/access/methods.hbs
+++ b/ui/app/templates/vault/cluster/access/methods.hbs
@@ -56,14 +56,7 @@
-
+
{{method.path}}
diff --git a/ui/app/templates/vault/cluster/access/mfa/methods/create.hbs b/ui/app/templates/vault/cluster/access/mfa/methods/create.hbs
index c086047be0..18288f850f 100644
--- a/ui/app/templates/vault/cluster/access/mfa/methods/create.hbs
+++ b/ui/app/templates/vault/cluster/access/mfa/methods/create.hbs
@@ -51,22 +51,21 @@
Learn more.
- {{#each this.methodNames as |methodName|}}
+ {{#each this.methods as |method|}}
-
-
- {{methodName}}
+
+
+ {{method.name}}
diff --git a/ui/app/templates/vault/cluster/access/mfa/methods/method/index.hbs b/ui/app/templates/vault/cluster/access/mfa/methods/method/index.hbs
index a29f43e2cc..e4eade3363 100644
--- a/ui/app/templates/vault/cluster/access/mfa/methods/method/index.hbs
+++ b/ui/app/templates/vault/cluster/access/mfa/methods/method/index.hbs
@@ -12,7 +12,7 @@
-
+
{{this.model.method.name}}
diff --git a/ui/ember-cli-build.js b/ui/ember-cli-build.js
index b93f4215ca..0ea736613d 100644
--- a/ui/ember-cli-build.js
+++ b/ui/ember-cli-build.js
@@ -23,7 +23,7 @@ const appConfig = {
//optimize: false,
//paths: [],
optimizer: {},
- sourceDirs: ['node_modules/@hashicorp/structure-icons/dist', 'public'],
+ sourceDirs: ['public'],
rootURL: '/ui/',
},
fingerprint: {
@@ -91,8 +91,5 @@ module.exports = function (defaults) {
app.import('app/styles/bulma/bulma-radio-checkbox.css');
- app.import('node_modules/@hashicorp/structure-icons/dist/loading.css');
- app.import('node_modules/@hashicorp/structure-icons/dist/run.css');
-
return app.toTree();
};
diff --git a/ui/lib/core/addon/components/icon.hbs b/ui/lib/core/addon/components/icon.hbs
index 400ca075ed..62dd19dfbf 100644
--- a/ui/lib/core/addon/components/icon.hbs
+++ b/ui/lib/core/addon/components/icon.hbs
@@ -4,9 +4,9 @@
~}}
{{#if this.isFlightIcon}}
-
+
{{else}}
- {{svg-jar this.name}}
+ {{svg-jar @name}}
{{/if}}
\ No newline at end of file
diff --git a/ui/lib/core/addon/components/icon.js b/ui/lib/core/addon/components/icon.js
index 673d45b11c..aeb25045fd 100644
--- a/ui/lib/core/addon/components/icon.js
+++ b/ui/lib/core/addon/components/icon.js
@@ -10,15 +10,16 @@ const flightIconNames = flightIconMap.assets.mapBy('iconName').uniq();
/**
* @module Icon
- * `Icon` components are glyphs used to indicate important information.
+ * `Icon` components are used to display an icon.
*
- * Flight icon documentation at https://flight-hashicorp.vercel.app/
+ * Flight icon documentation at https://helios.hashicorp.design/icons/usage-guidelines?tab=code#how-to-use-icons
+ * Flight icon library at https://helios.hashicorp.design/icons/library
*
* @example
* ```js
- *
+ *
* ```
- * @param {string} name=null - The name of the SVG to render inline.
+ * @param {string} name - The name of the SVG to render inline. Required.
* @param {string} [size=16] - size for flight icon, can be 16 or 24
*
*/
@@ -27,19 +28,16 @@ export default class Icon extends Component {
constructor(owner, args) {
super(owner, args);
assert('Icon component size argument must be either "16" or "24"', ['16', '24'].includes(this.size));
+ assert('Icon name argument must be provided', this.args.name);
}
get size() {
return this.args.size || '16';
}
- get name() {
- return this.args.name || null;
- }
-
// favor flight icon set and fall back to structure icons if not found
get isFlightIcon() {
- return this.name ? flightIconNames.includes(this.name) : false;
+ return this.args.name ? flightIconNames.includes(this.args.name) : false;
}
get hsIconClass() {
diff --git a/ui/lib/kmip/addon/components/operation-field-display.js b/ui/lib/kmip/addon/components/operation-field-display.js
index 50e8e15988..19adc7cf77 100644
--- a/ui/lib/kmip/addon/components/operation-field-display.js
+++ b/ui/lib/kmip/addon/components/operation-field-display.js
@@ -35,10 +35,13 @@ export default Component.extend({
actions: {
iconClass(model, field) {
- return this.trueOrFalseString(model, field, 'icon-true', 'icon-false');
+ return this.trueOrFalseString(model, field, 'hds-foreground-success', 'hds-foreground-faint');
},
iconGlyph(model, field) {
- return this.trueOrFalseString(model, field, 'check-circle-outline', 'cancel-square-outline');
+ return this.trueOrFalseString(model, field, 'check-circle', 'x-square');
+ },
+ operationEnabled(model, field) {
+ return this.trueOrFalseString(model, field, 'Enabled', 'Disabled');
},
},
});
diff --git a/ui/lib/kmip/addon/templates/components/header-scope.hbs b/ui/lib/kmip/addon/templates/components/header-scope.hbs
index 37c5544fe3..b3cd94a086 100644
--- a/ui/lib/kmip/addon/templates/components/header-scope.hbs
+++ b/ui/lib/kmip/addon/templates/components/header-scope.hbs
@@ -9,7 +9,7 @@
-
+
{{this.secretMountPath.currentPath}}
diff --git a/ui/lib/kmip/addon/templates/components/operation-field-display.hbs b/ui/lib/kmip/addon/templates/components/operation-field-display.hbs
index 8be4d2fad7..34d9d01ffc 100644
--- a/ui/lib/kmip/addon/templates/components/operation-field-display.hbs
+++ b/ui/lib/kmip/addon/templates/components/operation-field-display.hbs
@@ -12,7 +12,7 @@
{{#each fieldsInGroup as |field|}}
diff --git a/ui/lib/kmip/addon/templates/configure.hbs b/ui/lib/kmip/addon/templates/configure.hbs
index 26172f82b6..be630c7f31 100644
--- a/ui/lib/kmip/addon/templates/configure.hbs
+++ b/ui/lib/kmip/addon/templates/configure.hbs
@@ -9,7 +9,7 @@
-
+
Configure KMIP Secrets Engine
diff --git a/ui/lib/kv/addon/components/kv-page-header.hbs b/ui/lib/kv/addon/components/kv-page-header.hbs
index d5ea62b885..fc62e70abc 100644
--- a/ui/lib/kv/addon/components/kv-page-header.hbs
+++ b/ui/lib/kv/addon/components/kv-page-header.hbs
@@ -10,7 +10,7 @@
{{#if @mountName}}
-
+
{{@mountName}}
version 2
{{else}}
diff --git a/ui/lib/pki/addon/components/page/pki-tidy-auto-configure.hbs b/ui/lib/pki/addon/components/page/pki-tidy-auto-configure.hbs
index 4a9d562d82..5a31ddc60f 100644
--- a/ui/lib/pki/addon/components/page/pki-tidy-auto-configure.hbs
+++ b/ui/lib/pki/addon/components/page/pki-tidy-auto-configure.hbs
@@ -9,7 +9,7 @@
-
+
Configure Automatic Tidy
diff --git a/ui/lib/pki/addon/components/page/pki-tidy-manual.hbs b/ui/lib/pki/addon/components/page/pki-tidy-manual.hbs
index 0ef96e1851..0bcbb9936c 100644
--- a/ui/lib/pki/addon/components/page/pki-tidy-manual.hbs
+++ b/ui/lib/pki/addon/components/page/pki-tidy-manual.hbs
@@ -9,7 +9,7 @@
-
+
Manual Tidy
diff --git a/ui/package.json b/ui/package.json
index b941a87a17..987a3eaae1 100644
--- a/ui/package.json
+++ b/ui/package.json
@@ -67,7 +67,6 @@
"@ember/test-waiters": "^3.0.0",
"@glimmer/component": "^1.1.2",
"@glimmer/tracking": "^1.1.2",
- "@hashicorp/structure-icons": "^1.3.0",
"@icholy/duration": "^5.1.0",
"@tsconfig/ember": "^1.0.1",
"@types/ember": "^4.0.2",
@@ -251,8 +250,8 @@
]
},
"dependencies": {
- "@hashicorp/design-system-components": "^3.3.0",
- "@hashicorp/ember-flight-icons": "^4.0.4",
+ "@hashicorp/design-system-components": "^3.4.0",
+ "@hashicorp/ember-flight-icons": "^4.0.5",
"handlebars": "4.7.7",
"highlight.js": "^10.4.1",
"node-notifier": "^8.0.1",
diff --git a/ui/tests/integration/components/confirm-action-test.js b/ui/tests/integration/components/confirm-action-test.js
index 8c367a817c..2bf6bbc492 100644
--- a/ui/tests/integration/components/confirm-action-test.js
+++ b/ui/tests/integration/components/confirm-action-test.js
@@ -40,11 +40,7 @@ module('Integration | Component | confirm-action', function (hooks) {
'hds-modal hds-modal--size-small hds-modal--color-critical has-text-left',
'renders critical modal color by default'
);
- assert.strictEqual(
- find(SELECTORS.confirm).className,
- 'hds-button hds-button--size-medium hds-button--color-critical',
- 'renders critical confirm button'
- );
+ assert.dom(SELECTORS.confirm).hasClass('hds-button--color-critical', 'renders critical confirm button');
assert.dom(SELECTORS.title).hasText('Are you sure?', 'renders default title');
assert
.dom(SELECTORS.message)
@@ -142,23 +138,10 @@ module('Integration | Component | confirm-action', function (hooks) {
/>
`);
- // hasClass assertion wasn't working so this is the workaround
- assert.strictEqual(
- find(SELECTORS.modalToggle).className,
- 'hds-button hds-button--size-medium hds-button--color-secondary',
- 'renders @buttonColor classes'
- );
+ assert.dom(SELECTORS.modalToggle).hasClass('hds-button--color-secondary', 'renders @buttonColor classes');
await click(SELECTORS.modalToggle);
- assert.strictEqual(
- find('#confirm-action-modal').className,
- 'hds-modal hds-modal--size-small hds-modal--color-warning has-text-left',
- 'renders warning modal'
- );
- assert.strictEqual(
- find(SELECTORS.confirm).className,
- 'hds-button hds-button--size-medium hds-button--color-primary',
- 'renders primary confirm button'
- );
+ assert.dom('#confirm-action-modal').hasClass('hds-modal--color-warning', 'renders warning modal');
+ assert.dom(SELECTORS.confirm).hasClass('hds-button--color-primary', 'renders primary confirm button');
assert.dom(SELECTORS.title).hasText('Do this?', 'renders passed title');
assert.dom(SELECTORS.message).hasText('Are you really, really sure?', 'renders passed body text');
assert.dom(SELECTORS.confirm).hasText('Confirm');
diff --git a/ui/tests/integration/components/dashboard/secrets-engines-card-test.js b/ui/tests/integration/components/dashboard/secrets-engines-card-test.js
index 52c80e24de..c17238b0f5 100644
--- a/ui/tests/integration/components/dashboard/secrets-engines-card-test.js
+++ b/ui/tests/integration/components/dashboard/secrets-engines-card-test.js
@@ -134,7 +134,7 @@ module('Integration | Component | dashboard/secrets-engines-card', function (hoo
test('it adds disabled css styling to unsupported secret engines', async function (assert) {
await this.renderComponent();
assert.dom('[data-test-secrets-engines-row="nomad"] [data-test-view]').doesNotExist();
- assert.dom('[data-test-icon="nomad"]').hasClass('has-text-grey');
+ assert.dom('[data-test-secrets-engines-row="nomad"] [data-test-secret-path]').hasClass('has-text-grey');
});
});
});
diff --git a/ui/tests/integration/components/icon-test.js b/ui/tests/integration/components/icon-test.js
index cb62234c78..f94d824e49 100644
--- a/ui/tests/integration/components/icon-test.js
+++ b/ui/tests/integration/components/icon-test.js
@@ -13,24 +13,28 @@ module('Integration | Component | icon', function (hooks) {
setupRenderingTest(hooks);
test('it renders', async function (assert) {
- await render(hbs``);
+ await render(hbs``);
assert.dom('.i-con').exists('renders');
+ // non-flight icon
await render(hbs``);
assert.dom('.vault-logo').exists('inlines the SVG');
assert.dom('.hs-icon').hasClass('hs-icon-l', 'Default hs class applied');
- await render(hbs``);
+ await render(hbs``);
assert.dom('.ah').hasAttribute('aria-hidden', 'true', 'renders aria-hidden');
- await render(hbs``);
+ await render(hbs``);
assert.dom('.al').hasAttribute('aria-label', 'Testing', 'renders aria-label');
+ // non-flight icon
await render(hbs``);
assert.dom('.hs-icon').hasClass('hs-icon-xlm', 'adds the larger size class');
+ });
+ test('it throws error when size attribute is invalid', async function (assert) {
const promise = waitForError();
- render(hbs``);
+ render(hbs``);
const err = await promise;
assert.strictEqual(
err.message,
@@ -39,8 +43,19 @@ module('Integration | Component | icon', function (hooks) {
);
});
+ test('it throws error when name attribute is not passed', async function (assert) {
+ const promise = waitForError();
+ render(hbs``);
+ const err = await promise;
+ assert.strictEqual(
+ err.message,
+ 'Assertion Failed: Icon name argument must be provided',
+ 'Error is thrown when name not provided'
+ );
+ });
+
test('it should render FlightIcon', async function (assert) {
- assert.expect(4);
+ assert.expect(3);
await render(hbs``);
assert.dom('.flight-icon').exists('FlightIcon renders when provided name of icon in set');
@@ -48,14 +63,5 @@ module('Integration | Component | icon', function (hooks) {
await render(hbs``);
assert.dom('.flight-icon').hasAttribute('width', '24', 'Size applied to svg');
-
- const promise = waitForError();
- render(hbs``);
- const err = await promise;
- assert.strictEqual(
- err.message,
- 'Assertion Failed: Icon component size argument must be either "16" or "24"',
- 'Error is thrown when supported size is not provided'
- );
});
});
diff --git a/ui/tests/integration/components/kubernetes/page/configuration-test.js b/ui/tests/integration/components/kubernetes/page/configuration-test.js
index 19129d5b34..6f3ed0e9b9 100644
--- a/ui/tests/integration/components/kubernetes/page/configuration-test.js
+++ b/ui/tests/integration/components/kubernetes/page/configuration-test.js
@@ -58,7 +58,7 @@ module('Integration | Component | kubernetes | Page::Configuration', function (h
test('it should render tab page header, config cta and mount config', async function (assert) {
await this.renderComponent();
- assert.dom('.title svg').hasClass('flight-icon-kubernetes', 'Kubernetes icon renders in title');
+ assert.dom('.title svg').hasClass('flight-icon-kubernetes-color', 'Kubernetes icon renders in title');
assert.dom('.title').hasText('kubernetes-test', 'Mount path renders in title');
assert
.dom('[data-test-toolbar-config-action]')
diff --git a/ui/tests/integration/components/kubernetes/page/roles-test.js b/ui/tests/integration/components/kubernetes/page/roles-test.js
index d0753ed040..42e5d94205 100644
--- a/ui/tests/integration/components/kubernetes/page/roles-test.js
+++ b/ui/tests/integration/components/kubernetes/page/roles-test.js
@@ -50,7 +50,7 @@ module('Integration | Component | kubernetes | Page::Roles', function (hooks) {
test('it should render tab page header and config cta', async function (assert) {
this.promptConfig = true;
await this.renderComponent();
- assert.dom('.title svg').hasClass('flight-icon-kubernetes', 'Kubernetes icon renders in title');
+ assert.dom('.title svg').hasClass('flight-icon-kubernetes-color', 'Kubernetes icon renders in title');
assert.dom('.title').hasText('kubernetes-test', 'Mount path renders in title');
assert
.dom('[data-test-toolbar-roles-action]')
diff --git a/ui/tests/integration/components/kubernetes/tab-page-header-test.js b/ui/tests/integration/components/kubernetes/tab-page-header-test.js
index ade1c34bd8..fe658242a4 100644
--- a/ui/tests/integration/components/kubernetes/tab-page-header-test.js
+++ b/ui/tests/integration/components/kubernetes/tab-page-header-test.js
@@ -47,7 +47,7 @@ module('Integration | Component | kubernetes | TabPageHeader', function (hooks)
});
assert
.dom('[data-test-header-title] svg')
- .hasClass('flight-icon-kubernetes', 'Correct icon renders in title');
+ .hasClass('flight-icon-kubernetes-color', 'Correct icon renders in title');
assert.dom('[data-test-header-title]').hasText(this.mount, 'Mount path renders in title');
});
diff --git a/ui/tests/integration/components/kv/kv-page-header-test.js b/ui/tests/integration/components/kv/kv-page-header-test.js
index 0f305e6a5a..c51c29fa96 100644
--- a/ui/tests/integration/components/kv/kv-page-header-test.js
+++ b/ui/tests/integration/components/kv/kv-page-header-test.js
@@ -71,7 +71,9 @@ module('Integration | Component | kv | kv-page-header', function (hooks) {
assert
.dom('[data-test-header-title]')
.hasText(`${this.backend} version 2`, 'Mount path and version tag render for title.');
- assert.dom('[data-test-header-title] span').hasClass('hs-icon', 'An icon renders next to title.');
+ assert
+ .dom('[data-test-header-title] [data-test-icon="key-values"]')
+ .exists('An icon renders next to title.');
});
test('it renders tabs', async function (assert) {
diff --git a/ui/tests/integration/components/pki/pki-page-header-test.js b/ui/tests/integration/components/pki/pki-page-header-test.js
index 6255ac4e8a..54e922f4d7 100644
--- a/ui/tests/integration/components/pki/pki-page-header-test.js
+++ b/ui/tests/integration/components/pki/pki-page-header-test.js
@@ -33,7 +33,9 @@ module('Integration | Component | pki page header test', function (hooks) {
await render(hbs``, {
owner: this.engine,
});
- assert.dom('[data-test-header-title] span').hasClass('hs-icon', 'Correct icon renders in title');
+ assert
+ .dom('[data-test-header-title] [data-test-icon="certificate"]')
+ .exists('Correct icon renders in title');
assert.dom('[data-test-header-title]').hasText(this.mount, 'Mount path renders in title');
});
diff --git a/ui/tests/integration/components/replication-secondary-card-test.js b/ui/tests/integration/components/replication-secondary-card-test.js
index 0b0999590a..831f51d677 100644
--- a/ui/tests/integration/components/replication-secondary-card-test.js
+++ b/ui/tests/integration/components/replication-secondary-card-test.js
@@ -79,11 +79,11 @@ module('Integration | Component | replication-secondary-card', function (hooks)
assert.dom('[data-test-empty-state]').exists('shows empty state');
});
- test('it renders tooltip with check-circle-outline when state is stream-wals', async function (assert) {
+ test('it renders tooltip with check-circle when state is stream-wals', async function (assert) {
await render(
hbs``
);
- assert.dom('[data-test-glyph]').hasClass('has-text-success', `shows success icon`);
+ assert.dom('[data-test-icon="check-circle"]').hasClass('has-text-success', `shows success icon`);
});
test('it renders hasErrorMessage when state is idle', async function (assert) {
diff --git a/ui/tests/unit/models/role-jwt-test.js b/ui/tests/unit/models/role-jwt-test.js
index 9fd47d59c8..71777c4c7e 100644
--- a/ui/tests/unit/models/role-jwt-test.js
+++ b/ui/tests/unit/models/role-jwt-test.js
@@ -37,7 +37,7 @@ module('Unit | Model | role-jwt', function (hooks) {
const expectedName = DOMAIN_STRINGS[domain];
assert.strictEqual(model.providerName, expectedName, `computes providerName: ${expectedName}`);
let expectedIcon = null;
- if (PROVIDER_WITH_LOGO.includes(expectedName)) {
+ if (PROVIDER_WITH_LOGO[expectedName]) {
expectedIcon = expectedName.toLowerCase();
}
assert.strictEqual(model.providerIcon, expectedIcon, `computes providerIcon: ${domain}`);
diff --git a/ui/tests/unit/models/secret-engine-test.js b/ui/tests/unit/models/secret-engine-test.js
index 9beaed01e1..bbcf09dfd8 100644
--- a/ui/tests/unit/models/secret-engine-test.js
+++ b/ui/tests/unit/models/secret-engine-test.js
@@ -282,19 +282,19 @@ module('Unit | Model | secret-engine', function (hooks) {
});
module('icon', function () {
- test('returns secrets if no engineType', function (assert) {
+ test('returns default icon if no engineType', function (assert) {
assert.expect(1);
const model = this.store.createRecord('secret-engine', {
type: '',
});
- assert.strictEqual(model.icon, 'secrets');
+ assert.strictEqual(model.icon, 'lock', 'uses default icon');
});
- test('returns secrets if kmip', function (assert) {
+ test('returns default icon if kmip', function (assert) {
assert.expect(1);
const model = this.store.createRecord('secret-engine', {
type: 'kmip',
});
- assert.strictEqual(model.icon, 'secrets');
+ assert.strictEqual(model.icon, 'lock');
});
test('returns key if keymgmt', function (assert) {
assert.expect(1);
@@ -303,12 +303,12 @@ module('Unit | Model | secret-engine', function (hooks) {
});
assert.strictEqual(model.icon, 'key');
});
- test('returns engineType by default', function (assert) {
+ test('returns default when engine type is not in list of mountable engines', function (assert) {
assert.expect(1);
const model = this.store.createRecord('secret-engine', {
type: 'ducks',
});
- assert.strictEqual(model.icon, 'ducks');
+ assert.strictEqual(model.icon, 'lock');
});
});
diff --git a/ui/yarn.lock b/ui/yarn.lock
index a36312b092..5cd3f478a1 100644
--- a/ui/yarn.lock
+++ b/ui/yarn.lock
@@ -6204,15 +6204,15 @@ __metadata:
languageName: node
linkType: hard
-"@hashicorp/design-system-components@npm:^3.3.0":
- version: 3.3.0
- resolution: "@hashicorp/design-system-components@npm:3.3.0"
+"@hashicorp/design-system-components@npm:^3.4.0":
+ version: 3.4.0
+ resolution: "@hashicorp/design-system-components@npm:3.4.0"
dependencies:
"@ember/render-modifiers": ^2.0.5
"@ember/string": ^3.1.1
"@ember/test-waiters": ^3.1.0
"@hashicorp/design-system-tokens": ^1.9.0
- "@hashicorp/ember-flight-icons": ^4.0.4
+ "@hashicorp/ember-flight-icons": ^4.0.5
dialog-polyfill: ^0.5.6
ember-a11y-refocus: ^3.0.2
ember-auto-import: ^2.6.3
@@ -6230,7 +6230,7 @@ __metadata:
prismjs: ^1.29.0
sass: ^1.69.5
tippy.js: ^6.3.7
- checksum: 47b3262ec9a31e03110309c80833e1b504baa126851106328b0f5668b7c4f312116e35a9f876aedea80ed71de7a32ee8b530498a947adc8f1fe3db8102a6a227
+ checksum: a206648f67d84849069264a25dd32cd6af0608853018925400958f89c1b590b037408ab38e616c9f8ba9bcc08955c50820c80f5a137164023f30858e472a9008
languageName: node
linkType: hard
@@ -6241,30 +6241,23 @@ __metadata:
languageName: node
linkType: hard
-"@hashicorp/ember-flight-icons@npm:^4.0.4":
- version: 4.0.4
- resolution: "@hashicorp/ember-flight-icons@npm:4.0.4"
+"@hashicorp/ember-flight-icons@npm:^4.0.5":
+ version: 4.0.5
+ resolution: "@hashicorp/ember-flight-icons@npm:4.0.5"
dependencies:
- "@hashicorp/flight-icons": ^2.23.0
+ "@hashicorp/flight-icons": ^2.24.0
ember-auto-import: ^2.6.3
ember-cli-babel: ^8.2.0
ember-cli-htmlbars: ^6.3.0
ember-get-config: ^2.1.1
- checksum: fb0a0f26feb80d1dc663b6fd4e1b6849b8c93e4607f8d790f2fa646cee96b4f3df339951b8adddbf85c39052c72fdf54fc4b910baf2fd64c188d660635c8ba73
+ checksum: 68ed79595fdb7ed2cd9c33260c14f780a358eee9952f228897051f5994daa9e2a366b8f5c9992a2511c9ea0a79a5fefb1ac4e1068707bb8115708f3a91b60af6
languageName: node
linkType: hard
-"@hashicorp/flight-icons@npm:^2.23.0":
- version: 2.23.0
- resolution: "@hashicorp/flight-icons@npm:2.23.0"
- checksum: 0a216a868244bcb3220e13061e5353fd16a0296c1aa9f7444ba2a7148e78532698e7c36a1318573b8ec7fe0283c68c93e7bfbd79a19eb24b2f0006ab78d3b191
- languageName: node
- linkType: hard
-
-"@hashicorp/structure-icons@npm:^1.3.0":
- version: 1.8.1
- resolution: "@hashicorp/structure-icons@npm:1.8.1"
- checksum: 578afba4c884a32c196e87cfa22f66482faf0bd9ccf78591e8d16dedec1eff60e95d90858b0607e7a0136922c551f5649bcfc4d6557b27e2688f2c78434c12cd
+"@hashicorp/flight-icons@npm:^2.24.0":
+ version: 2.24.0
+ resolution: "@hashicorp/flight-icons@npm:2.24.0"
+ checksum: f226e4e4aed2256680a0fd29bfeac215dc9a224f8ce7b532a64cc30917a2739d34e50e84f70d40b05193e5cb2fbbb603b7870d4a0da09c6335c7f94bfb6e18df
languageName: node
linkType: hard
@@ -27849,9 +27842,8 @@ __metadata:
"@ember/test-waiters": ^3.0.0
"@glimmer/component": ^1.1.2
"@glimmer/tracking": ^1.1.2
- "@hashicorp/design-system-components": ^3.3.0
- "@hashicorp/ember-flight-icons": ^4.0.4
- "@hashicorp/structure-icons": ^1.3.0
+ "@hashicorp/design-system-components": ^3.4.0
+ "@hashicorp/ember-flight-icons": ^4.0.5
"@icholy/duration": ^5.1.0
"@tsconfig/ember": ^1.0.1
"@types/ember": ^4.0.2