Incorporate Ember Flight Icons (#12976)
* adds ember-flight-icons dependecy * adds inline-json-import babel plugin * adds flight icon styling * updates Icon component to support flight icons * updates Icon component usages to new api and updates name values to flight icon set when available * fixes tests * updates icon story with flight mappings and fixes issue with flight icons not rendering in storybook * adds changelog * fixes typo in sign action glyph name in transit-key model * adds comments to icon-map * updates Icon component to use only supported flight icon sizes * adds icon transform codemod * updates icon transform formatting to handle edge case * runs icon transform on templates * updates Icon usage in toolbar-filter md and story * updates tests
This commit is contained in:
parent
8f7dd0c291
commit
c1df15e790
|
@ -0,0 +1,3 @@
|
|||
```release-note:improvement
|
||||
ui: Adds flight icons to UI
|
||||
```
|
|
@ -1,6 +1,7 @@
|
|||
import { configure, addParameters, addDecorator } from '@storybook/ember';
|
||||
import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport';
|
||||
import theme from './theme.js';
|
||||
import flightIconSprite from '@hashicorp/flight-icons/svg-sprite/svg-sprite-module';
|
||||
|
||||
function loadStories() {
|
||||
// automatically import all files ending in *.stories.js
|
||||
|
@ -18,6 +19,9 @@ addParameters({
|
|||
addDecorator(storyFn => {
|
||||
const { template, context } = storyFn();
|
||||
|
||||
// flight icon sprite must be inserted into dom for icon lookup via use element
|
||||
document.getElementById('root').insertAdjacentHTML('afterbegin', flightIconSprite.trim());
|
||||
|
||||
// This adds styling to the Canvas tab.
|
||||
const styles = {
|
||||
style: {
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
<AlertInline @type="danger" @message="Your regex doesn't match the subject string" />
|
||||
{{else}}
|
||||
<div class="message-inline">
|
||||
<Icon @glyph="check-circle-fill" class="has-text-success" aria-hidden="true" />
|
||||
<Icon @name="check-circle-fill" class="has-text-success" />
|
||||
<p data-test-inline-success-message>Your regex matches the subject string</p>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
|
@ -11,10 +11,9 @@ export default Component.extend({
|
|||
type: 'cluster',
|
||||
itemTag: null,
|
||||
glyphName: computed('type', function() {
|
||||
const glyphs = {
|
||||
cluster: 'status-indicator',
|
||||
user: 'user-square-outline',
|
||||
};
|
||||
return glyphs[this.type];
|
||||
return {
|
||||
cluster: 'circle-dot',
|
||||
user: 'user',
|
||||
}[this.type];
|
||||
}),
|
||||
});
|
||||
|
|
|
@ -23,7 +23,7 @@ import { computed } from '@ember/object';
|
|||
export default OuterHTML.extend({
|
||||
glyph: computed('type', function() {
|
||||
if (this.type == 'add') {
|
||||
return 'plus-plain';
|
||||
return 'plus';
|
||||
} else {
|
||||
return 'chevron-right';
|
||||
}
|
||||
|
|
|
@ -8,12 +8,12 @@ const ACTION_VALUES = {
|
|||
encrypt: {
|
||||
isSupported: 'supportsEncryption',
|
||||
description: 'Looks up wrapping properties for the given token',
|
||||
glyph: 'lock-closed',
|
||||
glyph: 'lock-fill',
|
||||
},
|
||||
decrypt: {
|
||||
isSupported: 'supportsDecryption',
|
||||
description: 'Decrypts the provided ciphertext using this key',
|
||||
glyph: 'envelope-unsealed--outline',
|
||||
glyph: 'mail-open',
|
||||
},
|
||||
datakey: {
|
||||
isSupported: 'supportsEncryption',
|
||||
|
@ -23,20 +23,28 @@ const ACTION_VALUES = {
|
|||
rewrap: {
|
||||
isSupported: 'supportsEncryption',
|
||||
description: 'Rewraps the ciphertext using the latest version of the named key',
|
||||
glyph: 'refresh-default',
|
||||
glyph: 'reload',
|
||||
},
|
||||
sign: {
|
||||
isSupported: 'supportsSigning',
|
||||
description: 'Get the cryptographic signature of the given data',
|
||||
glyph: 'edit',
|
||||
glyph: 'pencil-tool',
|
||||
},
|
||||
hmac: {
|
||||
isSupported: true,
|
||||
description: 'Generate a data digest using a hash algorithm',
|
||||
glyph: 'shuffle',
|
||||
},
|
||||
hmac: { isSupported: true, description: 'Generate a data digest using a hash algorithm', glyph: 'remix' },
|
||||
verify: {
|
||||
isSupported: true,
|
||||
description: 'Validate the provided signature for the given data',
|
||||
glyph: 'check-circle-outline',
|
||||
glyph: 'check-circle',
|
||||
},
|
||||
export: {
|
||||
isSupported: 'exportable',
|
||||
description: 'Get the named key',
|
||||
glyph: 'external-link',
|
||||
},
|
||||
export: { isSupported: 'exportable', description: 'Get the named key', glyph: 'exit' },
|
||||
};
|
||||
|
||||
export default Model.extend({
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
margin-left: calc(#{$console-spacing} - 0.33rem);
|
||||
position: relative;
|
||||
|
||||
.hs-icon {
|
||||
svg {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
|
|
|
@ -43,3 +43,10 @@
|
|||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
.flight-icon {
|
||||
&.flight-icon-display-inline {
|
||||
vertical-align: middle;
|
||||
margin: 0px 4px;
|
||||
}
|
||||
}
|
|
@ -120,4 +120,4 @@
|
|||
@import './components/vlt-table';
|
||||
|
||||
// bulma-free-zone
|
||||
@import './components/hs-icon';
|
||||
@import './components/icon';
|
||||
|
|
|
@ -3,16 +3,12 @@
|
|||
<div class="column is-narrow message-icon">
|
||||
<Icon
|
||||
aria-hidden="true"
|
||||
@size="l"
|
||||
@glyph="{{type.glyph}}"
|
||||
@name={{type.glyph}}
|
||||
/>
|
||||
</div>
|
||||
<div class="column">
|
||||
<button type="button" class="close-button" {{action close}}>
|
||||
<Icon
|
||||
@glyph="cancel-plain"
|
||||
@aria-label="Close"
|
||||
/>
|
||||
<Icon @name="x" aria-label="Close" />
|
||||
</button>
|
||||
<div class="message-title">
|
||||
{{type.text}}
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
<LinkTo @route="vault.cluster.replication" @invokeAction={{@onLinkClick}}>
|
||||
<div class="level is-mobile">
|
||||
<span class="level-left">Enable</span>
|
||||
<Icon @glyph="plus-circle-outline" @class="has-text-grey-light level-right" />
|
||||
<Icon @name="plus-circle" class="has-text-grey-light level-right" />
|
||||
</div>
|
||||
</LinkTo>
|
||||
</li>
|
||||
|
@ -66,14 +66,14 @@
|
|||
<LinkTo @route="vault.cluster.settings.seal" @model={{@cluster.name}} @invokeAction={{@onLinkClick}}>
|
||||
<div class="level is-mobile">
|
||||
<span class="level-left">Unsealed</span>
|
||||
<Icon @glyph="check-circle-outline" class="has-text-success level-right" />
|
||||
<Icon @name="check-circle" class="has-text-success level-right" />
|
||||
</div>
|
||||
</LinkTo>
|
||||
{{else}}
|
||||
<span class="menu-item">
|
||||
<div class="level is-mobile">
|
||||
<span class="level-left">Unsealed</span>
|
||||
<Icon @glyph="check-circle-outline" class="has-text-success level-right" />
|
||||
<Icon @name="check-circle" class="has-text-success level-right" />
|
||||
</div>
|
||||
</span>
|
||||
{{/if}}
|
||||
|
@ -81,7 +81,7 @@
|
|||
<span class="menu-item">
|
||||
<div class="level is-mobile">
|
||||
<span class="level-left has-text-danger">Sealed</span>
|
||||
<Icon @glyph="cancel-circle-outline" class="has-text-danger level-right" />
|
||||
<Icon @name="x-circle" class="has-text-danger level-right" />
|
||||
</div>
|
||||
</span>
|
||||
{{/if}}
|
||||
|
|
|
@ -7,7 +7,10 @@
|
|||
<input onkeyup={{action 'handleKeyUp'}} value={{value}} autocomplete="off" spellcheck="false" />
|
||||
<ToolTip @horizontalPosition="auto-right" @verticalPosition={{if isFullscreen "above" "below"}} as |d|>
|
||||
<d.trigger @tagName="button" @type="button" @class={{concat "button is-compact" (if isFullscreen " active")}} @click={{action "fullscreen"}} @data-test-tool-tip-trigger={{true}}>
|
||||
<Icon @size="l" @glyph={{if isFullscreen "expand-less" "expand-more"}} aria-label={{if isFullscreen "Minimize" "Maximize"}} />
|
||||
<Icon
|
||||
@name={{if isFullscreen "minimize" "maximize"}}
|
||||
aria-label={{if isFullscreen "Minimize" "Maximize"}}
|
||||
/>
|
||||
</d.trigger>
|
||||
<d.content @class="tool-tip">
|
||||
<div class="box">
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
{{!-- using Icon here instead of Chevron because two nested tagless components results in a rendered line break between the tags breaking the layout in the <pre> --}}
|
||||
<pre class="console-ui-command"><Icon @glyph="chevron-right" aria-hidden="true" />{{content}}</pre>
|
||||
<pre class="console-ui-command"><Icon @name="chevron-right" />{{content}}</pre>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{{! template-lint-disable no-triple-curlies}}
|
||||
<div class="console-ui-alert has-text-danger">
|
||||
<Icon @glyph="cancel-circle-fill" aria-hidden="true" />
|
||||
<Icon @name="x-circle-fill" />
|
||||
<pre>{{{content}}}</pre>
|
||||
</div>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div class="console-ui-alert has-text-danger">
|
||||
<Icon @glyph="cancel-circle-fill" aria-hidden="true" />
|
||||
<Icon @name="x-circle-fill" />
|
||||
<pre>{{content}}</pre>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div class="console-ui-alert has-text-grey">
|
||||
<Icon @glyph="info-circle-fill" aria-hidden="true" />
|
||||
<Icon @name="info" />
|
||||
<pre>Usage: vault <command> [args]
|
||||
|
||||
Commands:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div class="console-ui-alert has-text-success">
|
||||
<Icon @glyph="check-circle-fill" aria-hidden="true" />
|
||||
<Icon @name="check-circle-fill" />
|
||||
<pre>{{content}}</pre>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<button type="button" class="button is-ghost console-close-button" {{action "closeConsole"}}>
|
||||
<Icon @glyph="cancel-plain" aria-label="Close console" />
|
||||
<Icon @name="x" aria-label="Close console" />
|
||||
</button>
|
||||
<div class="console-ui-panel-content">
|
||||
<div class="content">
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<MessageError @model={{model}} />
|
||||
<div class="control-group-header {{if isSuccess 'is-success'}}">
|
||||
<p>
|
||||
<Icon @glyph={{if isSuccess "check-circle-fill" "lock-closed"}} />
|
||||
<Icon @name={{if isSuccess "check-circle-fill" "lock-fill"}} />
|
||||
<strong data-test-banner-prefix>{{bannerPrefix}}</strong>
|
||||
<span data-test-banner-text>{{bannerText}}</span>
|
||||
</p>
|
||||
|
@ -42,7 +42,7 @@
|
|||
<div class="authorizations" data-test-authorizations>
|
||||
{{#if (gt model.authorizations.length 0)}}
|
||||
<span class="has-text-success">
|
||||
<Icon @glyph="check-circle-outline" />
|
||||
<Icon @name="check-circle" />
|
||||
</span>
|
||||
Already approved by
|
||||
{{#each model.authorizations as |authorization index|}}
|
||||
|
@ -54,7 +54,7 @@
|
|||
{{/each}}
|
||||
{{else}}
|
||||
<span class="has-text-grey">
|
||||
<Icon @glyph="check-circle-outline" />
|
||||
<Icon @name="check-circle" />
|
||||
</span>
|
||||
Awaiting authorization.
|
||||
{{/if}}
|
||||
|
|
|
@ -304,7 +304,7 @@
|
|||
<EmptyState
|
||||
@title="Database type unavailable"
|
||||
@subTitle="Not supported in the UI"
|
||||
@icon="disabled"
|
||||
@icon="skip"
|
||||
@message="This database type cannot be viewed in the UI. You will have to use the API or CLI to perform actions here."
|
||||
@bottomBorder={{true}}
|
||||
>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<label class="file-label">
|
||||
<input class="file-input" type="file" onchange={{action "pickedFile"}} data-test-file-input>
|
||||
<span class="file-cta button">
|
||||
<Icon @glyph="upload" class="has-light-grey-text" />
|
||||
<Icon @name="upload" class="has-light-grey-text" />
|
||||
Choose a file…
|
||||
</span>
|
||||
<span class="file-name has-text-grey-dark" data-test-text-file-input-label=true>
|
||||
|
@ -17,7 +17,7 @@
|
|||
</span>
|
||||
{{#if this.fileName}}
|
||||
<button type="button" class="file-delete-button" {{action 'clearFile'}} data-test-text-clear>
|
||||
<Icon @glyph="cancel-circle-outline" />
|
||||
<Icon @name="x-circle" />
|
||||
</button>
|
||||
{{/if}}
|
||||
</label>
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
<EmptyState
|
||||
@title={{errorTitle}}
|
||||
@subTitle="Error {{@model.errorHttpStatus}}"
|
||||
@icon="alert-circle-outline"
|
||||
@icon="alert-circle"
|
||||
@bottomBorder={{true}}
|
||||
@message={{@model.errorMessage}}
|
||||
>
|
||||
|
|
|
@ -68,7 +68,7 @@
|
|||
<ListItem @linkParams={{array "vault.cluster.access.method.item.show"
|
||||
itemType list.item.id}} as |Item|>
|
||||
<Item.content>
|
||||
<Icon @glyph="folder-outline" class="has-text-grey-light" @size="l" />{{list.item.id}}
|
||||
<Icon @name="folder" class="has-text-grey-light" />{{list.item.id}}
|
||||
</Item.content>
|
||||
<Item.menu as |Menu|>
|
||||
<li class="action">
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
@clipboardText={{copyValue}}
|
||||
@success={{action (mut tooltipText) "Copied!"}}
|
||||
>
|
||||
<Icon @glyph="copy-action" aria-label="Copy" />
|
||||
<Icon @name="clipboard-copy" aria-label="Copy" />
|
||||
</CopyButton>
|
||||
</T.trigger>
|
||||
<T.content @class="tool-tip">
|
||||
|
|
|
@ -7,10 +7,10 @@
|
|||
}}
|
||||
<div class="columns is-mobile">
|
||||
<div class="column is-10">
|
||||
<LinkTo @route="vault.cluster.access.identity.aliases.show" @models={{array item.id "details"}} class="has-text-black has-text-weight-semibold"><Icon
|
||||
@glyph="user-square-outline"
|
||||
class="has-text-grey-light"
|
||||
/><span class="has-text-weight-semibold">{{item.name}}</span></LinkTo>
|
||||
<LinkTo @route="vault.cluster.access.identity.aliases.show" @models={{array item.id "details"}} class="has-text-black has-text-weight-semibold">
|
||||
<Icon @name="user" class="has-text-grey-light" />
|
||||
<span class="has-text-weight-semibold">{{item.name}}</span>
|
||||
</LinkTo>
|
||||
<div class="has-text-grey">
|
||||
{{item.id}}
|
||||
</div>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{{#each @model.directGroupIds as |gid|}}
|
||||
<LinkTo @route="vault.cluster.access.identity.show" @models={{array "groups" gid "details"}} class="list-item-row">
|
||||
<Icon
|
||||
@glyph="folder-outline"
|
||||
@name="folder"
|
||||
class="has-text-grey-light"
|
||||
/>{{gid}}
|
||||
</LinkTo>
|
||||
|
@ -14,7 +14,7 @@
|
|||
}}
|
||||
<LinkTo @route="vault.cluster.access.identity.show" @models={{array "groups" gid "details"}} class="has-text-black">
|
||||
<Icon
|
||||
@glyph="folder-outline"
|
||||
@name="folder"
|
||||
class="has-text-grey-light"
|
||||
/>{{gid}}
|
||||
</LinkTo>
|
||||
|
|
|
@ -9,10 +9,9 @@
|
|||
}}
|
||||
<div class="columns is-mobile">
|
||||
<div class="column is-10">
|
||||
<LinkTo @route="vault.cluster.access.identity.show" @models={{array "groups" gid "details"}} class="is-block has-text-black has-text-weight-semibold"><Icon
|
||||
@glyph="folder-outline"
|
||||
class="has-text-grey-light"
|
||||
/>{{gid}}</LinkTo>
|
||||
<LinkTo @route="vault.cluster.access.identity.show" @models={{array "groups" gid "details"}} class="is-block has-text-black has-text-weight-semibold">
|
||||
<Icon @name="folder" class="has-text-grey-light" />{{gid}}
|
||||
</LinkTo>
|
||||
</div>
|
||||
<div class="column has-text-right">
|
||||
{{#if @model.canEdit}}
|
||||
|
@ -36,10 +35,7 @@
|
|||
@route="vault.cluster.access.identity.show"
|
||||
@models={{array "entities" gid "details"}}
|
||||
class="is-block has-text-black has-text-weight-semibold">
|
||||
<Icon
|
||||
@glyph="user-square-outline"
|
||||
class="has-text-grey-light"
|
||||
/>{{gid}}
|
||||
<Icon @name="user" class="has-text-grey-light" />{{gid}}
|
||||
</LinkTo>
|
||||
</div>
|
||||
<div class="column has-text-right">
|
||||
|
|
|
@ -10,10 +10,7 @@
|
|||
<div class="columns is-mobile">
|
||||
<div class="column is-10">
|
||||
<LinkTo @route="vault.cluster.access.identity.show" @models={{array "groups" gid "details"}} class="is-block has-text-black has-text-weight-semibold">
|
||||
<Icon
|
||||
@glyph="folder-outline"
|
||||
class="has-text-grey-light"
|
||||
/>{{gid}}
|
||||
<Icon @name="folder" class="has-text-grey-light" />{{gid}}
|
||||
</LinkTo>
|
||||
</div>
|
||||
<div class="column has-text-right">
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<div class="toolbar-separator"></div>
|
||||
<CopyButton class="button is-transparent" @clipboardText={{@value}}
|
||||
@buttonType="button" @success={{action (set-flash-message 'Data copied!')}}>
|
||||
<Icon @glyph="copy-action" aria-label="Copy" />
|
||||
<Icon @name="clipboard-copy" aria-label="Copy" />
|
||||
</CopyButton>
|
||||
</ToolbarActions>
|
||||
</Toolbar>
|
||||
|
@ -33,4 +33,4 @@
|
|||
<p class="sub-text">{{ @helpText }}</p>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
|
@ -35,7 +35,6 @@
|
|||
@change={{action "updateRow" row index}}
|
||||
@value={{row.value}}
|
||||
@wrap="off"
|
||||
class="input"
|
||||
placeholder="value"
|
||||
@rows={{1}}
|
||||
onkeyup={{action
|
||||
|
@ -57,7 +56,7 @@
|
|||
aria-label="Delete row"
|
||||
data-test-kv-delete-row
|
||||
>
|
||||
<Icon @glyph="trash" @size="l" />
|
||||
<Icon @name="trash" />
|
||||
</button>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
|
|
@ -16,7 +16,10 @@
|
|||
Autoloaded
|
||||
{{else}}
|
||||
Stored
|
||||
<Icon @glyph="alert-triangle" class="has-text-highlight" /> <span class="is-size-8">Stored licenses will be deprecated in a future version of Vault. We recommend autoloading your license. Read more <a href="https://www.vaultproject.io/docs/enterprise/license" rel="noreferrer noopener" target="_blank" >here</a>.</span>
|
||||
<Icon @name="alert-triangle-fill" class="has-text-highlight" />
|
||||
<span class="is-size-8">
|
||||
Stored licenses will be deprecated in a future version of Vault. We recommend autoloading your license. Read more <a href="https://www.vaultproject.io/docs/enterprise/license" rel="noreferrer noopener" target="_blank" >here</a>.
|
||||
</span>
|
||||
{{/if}}
|
||||
</InfoTableRow>
|
||||
</div>
|
||||
|
@ -28,20 +31,13 @@
|
|||
{{#each this.featuresInfo as |info|}}
|
||||
<InfoTableRow @label={{info.name}} @value={{if info.active "Active" "Not Active"}} @data-test-feature-row="data-test-feature-row">
|
||||
{{#if info.active}}
|
||||
<Icon
|
||||
@glyph="check-circle-outline"
|
||||
@size="l"
|
||||
class="icon-true"
|
||||
aria-hidden="true"
|
||||
/><span data-test-feature-status>Active {{#if info.count}}—
|
||||
{{info.count}} standby nodes allotted{{/if}}</span>
|
||||
<Icon @name="check-circle" class="icon-true" />
|
||||
<span data-test-feature-status>
|
||||
Active {{#if info.count}}— {{info.count}} standby nodes allotted{{/if}}
|
||||
</span>
|
||||
{{else}}
|
||||
<Icon
|
||||
@glyph="cancel-circle-outline"
|
||||
@size="l"
|
||||
class="icon-false"
|
||||
aria-hidden="true"
|
||||
/><span data-test-feature-status>Not Active</span>
|
||||
<Icon @name="x-circle" class="icon-false" />
|
||||
<span data-test-feature-status>Not Active</span>
|
||||
{{/if}}
|
||||
</InfoTableRow>
|
||||
{{/each}}
|
||||
|
|
|
@ -10,11 +10,11 @@
|
|||
<div class="menu-toggle">
|
||||
{{#if isActive}}
|
||||
<button type="button" class="button is-ghost" {{action "closeMenu"}}>
|
||||
<Icon @glyph="cancel-plain" aria-label="Close menu" />
|
||||
<Icon @name="x" aria-label="Close menu" />
|
||||
</button>
|
||||
{{else}}
|
||||
<button type="button" class="button is-ghost has-text-grey-light" {{action "openMenu"}}>
|
||||
<Icon @glyph="more-vertical" aria-label="Open menu" />
|
||||
<Icon @name="more-vertical" aria-label="Open menu" />
|
||||
</button>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
|
|
@ -4,8 +4,7 @@
|
|||
{{#if showEnable}}
|
||||
{{#with (find-by "type" mountModel.type mountTypes) as |typeInfo|}}
|
||||
<Icon
|
||||
@glyph={{or typeInfo.glyph typeInfo.type}}
|
||||
@size="l"
|
||||
@name={{or typeInfo.glyph typeInfo.type}}
|
||||
class="has-text-grey-light"
|
||||
/>
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
<div class="level is-mobile namespace-link">
|
||||
<span class="level-left" data-test-current-namespace>{{if namespacePath (concat namespacePath "/") "root"}}</span>
|
||||
<span class="level-right">
|
||||
<Icon @glyph="check-circle-outline" class="has-text-success" />
|
||||
<Icon @name="check-circle" class="has-text-success" />
|
||||
</span>
|
||||
</div>
|
||||
</header>
|
||||
|
@ -85,7 +85,7 @@
|
|||
<span class="level-left">Manage namespaces</span>
|
||||
<span class="level-right">
|
||||
<button type="button" class="button is-ghost icon" onclick={{action "refreshNamespaceList"}}>
|
||||
<Icon @glyph="refresh-default" class="has-text-grey" />
|
||||
<Icon @name="reload" class="has-text-grey" />
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
|
|
@ -4,8 +4,9 @@
|
|||
</div>
|
||||
|
||||
{{#unless navDrawerOpen}}
|
||||
<button type="button" class="navbar-drawer-toggle is-hidden-tablet" {{action "toggleNavDrawer"}}>
|
||||
<Icon @glyph="more-vertical" /> Menu
|
||||
<button type="button" class="navbar-drawer-toggle is-hidden-tablet" {{action "toggleNavDrawer"}}>
|
||||
<Icon @name="more-vertical" />
|
||||
Menu
|
||||
</button>
|
||||
{{/unless}}
|
||||
|
||||
|
@ -30,7 +31,7 @@
|
|||
|
||||
{{#if navDrawerOpen}}
|
||||
<button class=" navbar-drawer-toggle is-hidden-tablet" type="button" {{action "toggleNavDrawer" false}}>
|
||||
<Icon @glyph="cancel-plain" />
|
||||
<Icon @name="x" />
|
||||
</button>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
<input class="file-input" type="file" onchange={{action "pickedFile"}} data-test-pgp-file-input=true>
|
||||
<span class="file-cta is-fullwidth">
|
||||
<span class="file-icon has-text-grey-dark">
|
||||
<Icon @glyph="file-outline" />
|
||||
<Icon @name="file" />
|
||||
</span>
|
||||
<span class="file-label has-text-grey-dark" data-test-pgp-file-input-label=true>
|
||||
{{#if key.fileName}}
|
||||
|
@ -59,10 +59,7 @@
|
|||
</span>
|
||||
{{#if key.fileName}}
|
||||
<button type="button" class="file-delete-button" {{action 'clearKey'}} data-test-pgp-clear=true>
|
||||
<Icon
|
||||
@glyph="cancel-plain"
|
||||
@aria-label="Close"
|
||||
/>
|
||||
<Icon @name="x" aria-label="Close" />
|
||||
</button>
|
||||
{{/if}}
|
||||
</span>
|
||||
|
|
|
@ -69,17 +69,15 @@
|
|||
|
||||
{{#if server.voter}}
|
||||
<Icon
|
||||
@name="check-circle"
|
||||
aria-label="Yes"
|
||||
class="icon-true has-text-success"
|
||||
@size="l"
|
||||
@glyph="check-circle-outline"
|
||||
/>
|
||||
{{else}}
|
||||
<Icon
|
||||
@name="x-square"
|
||||
aria-label="No"
|
||||
class="icon-false"
|
||||
@size="l"
|
||||
@glyph="cancel-square-outline"
|
||||
/>
|
||||
{{/if}}
|
||||
</td>
|
||||
|
|
|
@ -88,8 +88,7 @@
|
|||
aria-label="Delete row"
|
||||
>
|
||||
<Icon
|
||||
@glyph="trash"
|
||||
@size="l"
|
||||
@name="trash"
|
||||
class="has-text-grey-light"
|
||||
/>
|
||||
</button>
|
||||
|
@ -220,8 +219,7 @@
|
|||
aria-label="Delete row"
|
||||
>
|
||||
<Icon
|
||||
@glyph="trash"
|
||||
@size="l"
|
||||
@name="trash"
|
||||
class="has-text-grey-light"
|
||||
/>
|
||||
</button>
|
||||
|
|
|
@ -67,14 +67,14 @@
|
|||
{{#if secret.value}}
|
||||
<MaskedInput @value={{secret.value}} @displayOnly={{true}} @allowCopy={{true}}/>
|
||||
{{else}}
|
||||
<Icon @size="s" @glyph="minus-plain"/>
|
||||
<Icon @name="minus" />
|
||||
{{/if}}
|
||||
</InfoTableRow>
|
||||
{{/each}}
|
||||
{{else}}
|
||||
{{!-- In the case of no key or value <InfoTableRow> will still render --}}
|
||||
<InfoTableRow @label="" @value="" @alwaysRender={{true}}>
|
||||
<Icon @size="s" @glyph="minus-plain"/>
|
||||
<Icon @name="minus" />
|
||||
</InfoTableRow>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
</p.top>
|
||||
<p.levelLeft>
|
||||
<h1 class="title is-3">
|
||||
<Icon @glyph={{or @model.engineType "secrets"}} @size="xl" class="has-text-grey-light" />
|
||||
<Icon @name={{or @model.engineType "secrets"}} @size="24" class="has-text-grey-light" />
|
||||
{{@model.id}}
|
||||
{{#if this.isKV}}
|
||||
<span class="tag" data-test-kv-version-badge>
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<div class="column is-10">
|
||||
<LinkTo @route={{concat "vault.cluster.secrets.backend." "credentials" (unless @item.id "-root") }} @model={{@item.id}} class="has-text-black has-text-weight-semibold">
|
||||
<Icon
|
||||
@glyph="user-square-outline"
|
||||
@name="user"
|
||||
class="has-text-grey-light is-pulled-left"
|
||||
/>
|
||||
<div class="role-item-details">
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
class="has-text-black has-text-weight-semibold"
|
||||
>
|
||||
<Icon
|
||||
@glyph="user-square-outline"
|
||||
@name="user"
|
||||
class="has-text-grey-light is-pulled-left"
|
||||
/>
|
||||
<div class="role-item-details">
|
||||
|
|
|
@ -18,9 +18,9 @@
|
|||
@queryParams={{if (eq @backendModel.type "transit") (query-params tab="actions") ""}}
|
||||
@class="has-text-black has-text-weight-semibold">
|
||||
{{#if (eq @backendModel.type "transit")}}
|
||||
<Icon @glyph="key" @class="has-text-grey-light"/>
|
||||
<Icon @name="key" class="has-text-grey-light" />
|
||||
{{else}}
|
||||
<Icon @glyph={{if @item.isFolder 'folder-outline' 'file-outline' }} @class="has-text-grey-light"/>
|
||||
<Icon @name={{if @item.isFolder 'folder' 'file'}} class="has-text-grey-light" />
|
||||
{{/if}}
|
||||
{{if (eq @item.id ' ') '(self)' (or @item.keyWithoutParent @item.id)}}
|
||||
</SecretLink>
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<div class="column is-10">
|
||||
<LinkTo @route={{concat "vault.cluster.secrets.backend." "show" (unless @item.id "-root") }} @model={{@item.idForNav}} class="has-text-black has-text-weight-semibold">
|
||||
<Icon
|
||||
@glyph="file-outline"
|
||||
@name="file"
|
||||
class="has-text-grey-light is-pulled-left"
|
||||
/>
|
||||
<div class="role-item-details">
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<div class="column is-10">
|
||||
<LinkTo @route={{concat "vault.cluster.secrets.backend." "credentials" (unless @item.id "-root") }} @model={{@item.id}} @query={{hash action="issue"}} class="has-text-black has-text-weight-semibold">
|
||||
<Icon
|
||||
@glyph="user-square-outline"
|
||||
@name="user"
|
||||
class="has-text-grey-light is-pulled-left"
|
||||
/>
|
||||
<div class="role-item-details">
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<div class="column is-10">
|
||||
<LinkTo @route={{concat "vault.cluster.secrets.backend." (if (eq @item.keyType "ca") "sign" "credentials") (unless @item.id "-root") }} @model={{@item.id}} class="has-text-black has-text-weight-semibold">
|
||||
<Icon
|
||||
@glyph="user-square-outline"
|
||||
@name="user"
|
||||
class="has-text-grey-light is-pulled-left"
|
||||
/>
|
||||
<div class="role-item-details">
|
||||
|
|
|
@ -13,10 +13,9 @@
|
|||
@mode="show"
|
||||
@secret={{@itemPath}}
|
||||
@queryParams={{query-params type=@modelType}}
|
||||
@class="has-text-black has-text-weight-semibold">
|
||||
<Icon
|
||||
@glyph='file-outline'
|
||||
@class="has-text-grey-light"/>
|
||||
@class="has-text-black has-text-weight-semibold"
|
||||
>
|
||||
<Icon @name="file" class="has-text-grey-light" />
|
||||
{{if (eq @item.id ' ') '(self)' (or @item.keyWithoutParent @item.id)}}
|
||||
</SecretLink>
|
||||
</div>
|
||||
|
@ -56,9 +55,7 @@
|
|||
<div class="list-item-row" data-test-view-only-list-item>
|
||||
<div class="columns is-mobile">
|
||||
<div class="column is-12 has-text-grey has-text-weight-semibold">
|
||||
<Icon
|
||||
@glyph='file-outline'
|
||||
@class="has-text-grey-light"/>
|
||||
<Icon @name="file" class="has-text-grey-light" />
|
||||
{{#if this.isBuiltin}}
|
||||
<ToolTip
|
||||
@verticalPosition="above"
|
||||
|
|
|
@ -14,10 +14,9 @@
|
|||
@mode="show"
|
||||
@secret={{@item.id}}
|
||||
@queryParams={{if (eq @backendModel.type "transform") (query-params tab="actions") ""}}
|
||||
@class="has-text-black has-text-weight-semibold">
|
||||
<Icon
|
||||
@glyph='file-outline'
|
||||
@class="has-text-grey-light"/>
|
||||
@class="has-text-black has-text-weight-semibold"
|
||||
>
|
||||
<Icon @name="file" class="has-text-grey-light" />
|
||||
{{if (eq @item.id ' ') '(self)' (or @item.keyWithoutParent @item.id)}}
|
||||
</SecretLink>
|
||||
</div>
|
||||
|
@ -65,9 +64,7 @@
|
|||
<div class="list-item-row">
|
||||
<div class="columns is-mobile">
|
||||
<div class="column is-12 has-text-grey has-text-weight-semibold">
|
||||
<Icon
|
||||
@glyph='file-outline'
|
||||
@class="has-text-grey-light"/>
|
||||
<Icon @name="file" class="has-text-grey-light" />
|
||||
{{if (eq @item.id ' ') '(self)' (or @item.keyWithoutParent @item.id)}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -23,11 +23,11 @@
|
|||
<LinkTo class="link" @params={{array (query-params version=secretVersion.version)}} @invokeAction={{action D.actions.close}} >
|
||||
Version {{secretVersion.version}}
|
||||
{{#if (and (eq secretVersion.version @model.currentVersion) (not secretVersion.destroyed) (not secretVersion.deleted))}}
|
||||
<Icon @glyph="check-circle-outline" class="has-text-success is-pulled-right" />
|
||||
<Icon @name="check-circle" class="has-text-success is-pulled-right" />
|
||||
{{else if secretVersion.destroyed}}
|
||||
<Icon @glyph="cancel-square-fill" class="has-text-danger is-pulled-right" />
|
||||
<Icon @name="x-square-fill" class="has-text-danger is-pulled-right" />
|
||||
{{else if secretVersion.deleted}}
|
||||
<Icon @glyph="cancel-square-fill" class="has-text-grey is-pulled-right" />
|
||||
<Icon @name="x-square-fill" class="has-text-grey is-pulled-right" />
|
||||
{{/if}}
|
||||
</LinkTo>
|
||||
</li>
|
||||
|
|
|
@ -26,7 +26,9 @@
|
|||
data-test-action-text={{actionText}}
|
||||
>
|
||||
{{actionText}}
|
||||
{{#if actionText}}<Icon @glyph="chevron-right" />{{/if}}
|
||||
{{#if actionText}}
|
||||
<Icon @name="chevron-right" />
|
||||
{{/if}}
|
||||
</LinkTo>
|
||||
</div>
|
||||
<p class="has-text-grey is-size-8">{{subText}}</p>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<BasicDropdown @horizontalPosition="auto-left" @verticalPosition="below" @renderInPlace={{media.isMobile}} as |d|>
|
||||
<d.trigger @tagName={{if (eq type "replication") "span" "button"}} @class={{if (eq type "replication") "" "button is-transparent"}}>
|
||||
<Icon @glyph={{glyphName}} @size="l" aria-label={{ariaLabel}} />
|
||||
<Icon @name={{glyphName}} aria-label={{ariaLabel}} />
|
||||
<div class="status-menu-label">
|
||||
{{label}}
|
||||
</div>
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
type="button"
|
||||
class="{{if (eq value "") "has-text-grey"}} masked-input-toggle button {{if displayOnly "is-compact"}}"
|
||||
data-test-button>
|
||||
<Icon @glyph={{if showValue "visibility-show" "visibility-hide"}} aria-hidden="true" />
|
||||
<Icon @name={{if showValue "eye" "eye-off"}} />
|
||||
</button>
|
||||
</div>
|
||||
<p class="help has-text-grey">
|
||||
|
@ -59,7 +59,7 @@
|
|||
<label class="file-label">
|
||||
<input class="file-input" type="file" {{on 'change' this.pickedFile}} data-test-text-file-input=true>
|
||||
<span class="file-cta button">
|
||||
<Icon @glyph="upload" class="has-light-grey-text" />
|
||||
<Icon @name="upload" class="has-light-grey-text" />
|
||||
Choose a file…
|
||||
</span>
|
||||
<span class="file-name has-text-grey-dark" data-test-text-file-input-label=true>
|
||||
|
@ -71,7 +71,7 @@
|
|||
</span>
|
||||
{{#if @file.fileName}}
|
||||
<button type="button" class="file-delete-button" {{on 'click' this.clearFile}} data-test-text-clear=true>
|
||||
<Icon @glyph="cancel-circle-outline" />
|
||||
<Icon @name="x-circle" />
|
||||
</button>
|
||||
{{/if}}
|
||||
</label>
|
||||
|
|
|
@ -31,10 +31,11 @@
|
|||
{{#each-in @details as |key detail|}}
|
||||
<InfoTableRow @label={{key}} @value={{key}}>
|
||||
{{#if (or (eq detail "No") (eq detail "None"))}}
|
||||
<Icon class="has-text-grey" @glyph="cancel-square-outline" /> {{detail}}
|
||||
<Icon @name="x-circle" class="has-text-grey" />
|
||||
{{detail}}
|
||||
{{else}}
|
||||
{{#if (eq detail "Yes") }}
|
||||
<Icon class="has-text-success" @glyph="check-circle-outline" />
|
||||
<Icon @name="check-circle" class="has-text-success" />
|
||||
{{/if}}
|
||||
{{detail}}
|
||||
{{/if}}
|
||||
|
|
|
@ -14,5 +14,5 @@
|
|||
@data-test-transit-key-actions-link={{data-test-transit-key-actions-link}}
|
||||
>
|
||||
{{yield}}
|
||||
<Icon @glyph={{glyph}} />
|
||||
<Icon @name={{glyph}} />
|
||||
</SecretLink>
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
<code>vault write {{model.backend}}/encode/{{cliCommand}}</code>
|
||||
<CopyButton class="button is-transparent level-right" @clipboardText={{copyEncodeCommand}}
|
||||
@buttonType="button" @success={{action (set-flash-message 'Command copied!')}}>
|
||||
<Icon @size='l' @glyph="copy-action" aria-label="Copy" />
|
||||
<Icon @name="clipboard-copy" aria-label="Copy" />
|
||||
</CopyButton>
|
||||
{{/let}}
|
||||
</div>
|
||||
|
@ -41,7 +41,7 @@
|
|||
<code>vault write {{model.backend}}/decode/{{cliCommand}}</code>
|
||||
<CopyButton class="button is-transparent level-right" @clipboardText={{copyDecodeCommand}}
|
||||
@buttonType="button" @success={{action (set-flash-message 'Command copied!')}}>
|
||||
<Icon @size='l' @glyph="copy-action" aria-label="Copy" />
|
||||
<Icon @name="clipboard-copy" aria-label="Copy" />
|
||||
</CopyButton>
|
||||
{{/let}}
|
||||
</div>
|
||||
|
|
|
@ -59,10 +59,10 @@
|
|||
}}
|
||||
<div class="transit-icon">
|
||||
<Icon
|
||||
@glyph={{supportedAction.glyph}}
|
||||
@size="l"
|
||||
@name={{supportedAction.glyph}}
|
||||
class="has-text-grey auto-width"
|
||||
aria-label={{concat @backend.path " options"}} />
|
||||
aria-label={{concat @backend.path " options"}}
|
||||
/>
|
||||
</div>
|
||||
<div class="transit-description">
|
||||
<h2 class="title is-6" data-test-transit-action-title={{supportedAction.name}}>
|
||||
|
@ -91,7 +91,10 @@
|
|||
<div class="columns is-mobile">
|
||||
<div class="column is-3">
|
||||
<div class="level level-left">
|
||||
<Icon @glyph="history" class="has-text-grey-light is-padded" @size="l" />
|
||||
<Icon
|
||||
@name="history"
|
||||
class="has-text-grey-light is-padded"
|
||||
/>
|
||||
<strong class="has-padding is-size-5">Version {{version}}</strong>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -106,7 +109,7 @@
|
|||
<div class="td is-borderless">
|
||||
{{#if (coerce-eq @key.minDecryptionVersion version)}}
|
||||
<p class="help level level-left">
|
||||
<Icon @glyph="check-circle-fill" class="has-text-success" />
|
||||
<Icon @name="check-circle-fill" class="has-text-success" />
|
||||
Current minimum decryption version
|
||||
</p>
|
||||
{{/if}}
|
||||
|
@ -121,7 +124,10 @@
|
|||
<div class="columns is-mobile">
|
||||
<div class="column is-3">
|
||||
<div class="level level-left">
|
||||
<Icon @glyph="history" class="has-text-grey-light is-padded" @size="l" />
|
||||
<Icon
|
||||
@name="history"
|
||||
class="has-text-grey-light is-padded"
|
||||
/>
|
||||
<strong class="has-padding is-size-5">Version {{version}}</strong>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -136,7 +142,7 @@
|
|||
<div class="td is-borderless">
|
||||
{{#if (coerce-eq @key.minDecryptionVersion version)}}
|
||||
<p class="help level level-left">
|
||||
<Icon @glyph="check-circle-fill" class="has-text-success" />
|
||||
<Icon @name="check-circle-fill" class="has-text-success" />
|
||||
Current minimum decryption version
|
||||
</p>
|
||||
{{/if}}
|
||||
|
|
|
@ -86,7 +86,7 @@
|
|||
<code class="level-left">{{@plaintext}}</code>
|
||||
<CopyButton class="button is-compact is-transparent level-right" data-test-button="modal-copy"
|
||||
@clipboardText={{@plaintext}} @buttonType="button" @success={{action (set-flash-message 'Plaintext copied!')}}>
|
||||
<Icon @glyph="copy-action" aria-label="Copy" />
|
||||
<Icon @name="clipboard-copy" aria-label="Copy" />
|
||||
</CopyButton>
|
||||
</div>
|
||||
<p class="help has-bottom-margin-m">Plaintext is base64 encoded</p>
|
||||
|
@ -95,7 +95,7 @@
|
|||
<code class="level-left">{{@ciphertext}}</code>
|
||||
<CopyButton class="button is-compact is-transparent level-right" data-test-button="modal-copy"
|
||||
@clipboardText={{@ciphertext}} @buttonType="button" @success={{action (set-flash-message 'Ciphertext copied!')}}>
|
||||
<Icon @glyph="copy-action" aria-label="Copy" />
|
||||
<Icon @name="clipboard-copy" aria-label="Copy" />
|
||||
</CopyButton>
|
||||
</div>
|
||||
<CopyButton class="button is-primary" data-test-button="modal-copy-close" @clipboardText={{@plaintext}}
|
||||
|
@ -113,7 +113,7 @@
|
|||
<code class="level-left">{{@ciphertext}}</code>
|
||||
<CopyButton class="button is-compact is-transparent level-right" data-test-button="modal-copy"
|
||||
@clipboardText={{@ciphertext}} @buttonType="button" @success={{action (set-flash-message 'Ciphertext copied!')}}>
|
||||
<Icon @glyph="copy-action" aria-label="Copy" />
|
||||
<Icon @name="clipboard-copy" aria-label="Copy" />
|
||||
</CopyButton>
|
||||
</div>
|
||||
<CopyButton class="button is-primary copy-close" data-test-button="modal-copy-close" @clipboardText={{@ciphertext}}
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
<code class="level-left" data-test-encrypted-value="plaintext">{{@plaintext}}</code>
|
||||
<CopyButton class="button is-compact is-transparent level-right" data-test-button="modal-copy" @clipboardText={{@plaintext}}
|
||||
@buttonType="button" @success={{action (set-flash-message 'Plaintext copied!')}}>
|
||||
<Icon @glyph="copy-action" aria-label="Copy" />
|
||||
<Icon @name="clipboard-copy" aria-label="Copy" />
|
||||
</CopyButton>
|
||||
</div>
|
||||
<p class="help">Plaintext is base64 encoded</p>
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
@clipboardText={{@ciphertext}}
|
||||
@buttonType="button"
|
||||
@success={{action (set-flash-message 'Ciphertext copied!')}}>
|
||||
<Icon @glyph="copy-action" aria-label="Copy" />
|
||||
<Icon @name="clipboard-copy" aria-label="Copy" />
|
||||
</CopyButton>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -73,7 +73,7 @@
|
|||
<pre data-test-encrypted-value="export" class="level-left">{{if this.wrapTTL @wrappedToken (stringify @keys)}}</pre>
|
||||
<CopyButton class="button is-compact is-transparent level-right" data-test-button="modal-copy"
|
||||
@clipboardText={{if this.wrapTTL @wrappedToken (stringify @keys)}} @buttonType="button" @success={{action (set-flash-message 'Token copied!')}}>
|
||||
<Icon @glyph="copy-action" aria-label="Copy" />
|
||||
<Icon @name="clipboard-copy" aria-label="Copy" />
|
||||
</CopyButton>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
<code class="level-left" data-test-encrypted-value="hmac">{{@hmac}}</code>
|
||||
<CopyButton class="button is-compact is-transparent level-right" data-test-button="modal-copy"
|
||||
@clipboardText={{@hmac}} @buttonType="button" @success={{action (set-flash-message 'HMAC copied!')}}>
|
||||
<Icon @glyph="copy-action" aria-label="Copy" />
|
||||
<Icon @name="clipboard-copy" aria-label="Copy" />
|
||||
</CopyButton>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
<code class="level-left" data-test-encrypted-value="ciphertext">{{@ciphertext}}</code>
|
||||
<CopyButton class="button is-compact is-transparent level-right" data-test-button="modal-copy"
|
||||
@clipboardText={{@ciphertext}} @buttonType="button" @success={{action (set-flash-message 'Ciphertext copied!')}}>
|
||||
<Icon @glyph="copy-action" aria-label="Copy" />
|
||||
<Icon @name="clipboard-copy" aria-label="Copy" />
|
||||
</CopyButton>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -110,7 +110,7 @@
|
|||
@clipboardText={{@signature}}
|
||||
@buttonType="button"
|
||||
@success={{action (set-flash-message 'Signature copied!')}}>
|
||||
<Icon @glyph="copy-action" aria-label="Copy" />
|
||||
<Icon @name="clipboard-copy" aria-label="Copy" />
|
||||
</CopyButton>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
</PopupMenu>
|
||||
{{/unless}}
|
||||
<h1 class="title is-5">
|
||||
<Icon @glyph={{glyph}} @size="l"/> {{headerText}}
|
||||
<Icon @name={{glyph}} /> {{headerText}}
|
||||
</h1>
|
||||
{{#if showProgress}}
|
||||
<ToolTip @verticalPosition="below" as |T|>
|
||||
|
|
|
@ -6,7 +6,10 @@
|
|||
<span class="feature-progress" style={{bar.style}} {{! template-lint-disable }}></span>
|
||||
</span>
|
||||
{{#if bar.showIcon}}
|
||||
<Icon class="feature-check {{if bar.completed 'completed-check' 'incomplete-check'}}" @glyph="check-circle-fill" />
|
||||
<Icon
|
||||
@name="check-circle-fill"
|
||||
class="feature-check {{if bar.completed 'completed-check' 'incomplete-check'}}"
|
||||
/>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/each}}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class="wizard-section {{class}}">
|
||||
<h2 class="title is-6">
|
||||
{{#if headerIcon}}
|
||||
<Icon @glyph={{headerIcon}} @size="l" aria-hidden="true" />
|
||||
<Icon @name={{headerIcon}} aria-hidden="true" />
|
||||
{{/if}}
|
||||
{{headerText}}
|
||||
</h2>
|
||||
|
@ -14,7 +14,7 @@
|
|||
{{/if}}
|
||||
{{#if docText}}
|
||||
<DocLink @path={{docPath}}>
|
||||
<Icon @glyph="learn" aria-hidden="true" /> {{docText}}
|
||||
<Icon @name="learn-link" /> {{docText}}
|
||||
</DocLink>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="Active Directory"
|
||||
@headerIcon="azure"
|
||||
@headerIcon="azure-color"
|
||||
@docText="Docs: Active Directory Secrets"
|
||||
@docPath="/docs/secrets/ad/index.html"
|
||||
>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="AliCloud"
|
||||
@headerIcon="alicloud"
|
||||
@headerIcon="alibaba"
|
||||
@docText="Docs: Google Cloud Secrets"
|
||||
@docPath="/docs/secrets/alicloud/index.html"
|
||||
>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="AliCloud"
|
||||
@headerIcon="alicloud"
|
||||
@headerIcon="alibaba"
|
||||
@docText="Docs: AliCloud Authentication"
|
||||
@docPath="/docs/auth/alicloud.html"
|
||||
>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="AppRole"
|
||||
@headerIcon="approle"
|
||||
@headerIcon="cpu"
|
||||
@docText="Docs: AppRole Authentication"
|
||||
@docPath="/docs/auth/approle.html"
|
||||
>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
@class="wizard-details"
|
||||
>
|
||||
<button type="button" class="button next-feature-step" {{action @onReset}}>
|
||||
Enable another Auth Method <Icon @glyph="loop" class="hs-icon-button-right" />
|
||||
Enable another Auth Method <Icon @name="sync" class="hs-icon-button-right" />
|
||||
</button>
|
||||
<button type="button" class="button next-feature-step" {{action @onAdvance}}>
|
||||
{{@nextFeature}} <Chevron @isButton={{true}} />
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="AWS"
|
||||
@headerIcon="aws"
|
||||
@headerIcon="aws-color"
|
||||
@docText="Docs: AWS Secrets"
|
||||
@docPath="/docs/secrets/aws/index.html"
|
||||
>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="AWS"
|
||||
@headerIcon="aws"
|
||||
@headerIcon="aws-color"
|
||||
@docText="Docs: AWS Authentication"
|
||||
@docPath="/docs/auth/aws.html"
|
||||
>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="Azure"
|
||||
@headerIcon="azure"
|
||||
@headerIcon="azure-color"
|
||||
@docText="Docs: Azure Secrets"
|
||||
@docPath="/docs/secrets/azure/index.html"
|
||||
>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="Azure"
|
||||
@headerIcon="azure"
|
||||
@headerIcon="azure-color"
|
||||
@docText="Docs: Azure Authentication"
|
||||
@docPath="/docs/auth/azure.html"
|
||||
>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="TLS Certificates"
|
||||
@headerIcon="cert"
|
||||
@headerIcon="certificate"
|
||||
@docText="Docs: TLS Certificates Authentication"
|
||||
@docPath="/docs/auth/cert.html"
|
||||
>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
</h2>
|
||||
<p>You did it! You now have access to your Vault and can start entering your data. We can help you get started with any of the options below.</p>
|
||||
<div class="access-information">
|
||||
<Icon @glyph="info-circle-fill" class="has-text-info"/>
|
||||
<Icon @name="info" class="has-text-info"/>
|
||||
<p>Vault only shows links to pages that you have access to based on your policies. Contact your administrator if you need access changes.</p>
|
||||
</div>
|
||||
{{#if (or (has-feature "Performance Replication") (has-feature "DR Replication")) }}
|
||||
|
@ -58,7 +58,9 @@
|
|||
Start
|
||||
</button>
|
||||
{{#if selectedFeatures}}
|
||||
<span class="time-estimate"><Icon @glyph="stopwatch" class="has-text-grey" aria-hidden="true" />About {{estimatedTime}} minutes</span>
|
||||
<span class="time-estimate">
|
||||
<Icon @name="clock" class="has-text-grey" />About {{estimatedTime}} minutes
|
||||
</span>
|
||||
{{/if}}
|
||||
</span>
|
||||
</form>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="Google Cloud"
|
||||
@headerIcon="gcp"
|
||||
@headerIcon="gcp-color"
|
||||
@docText="Docs: Google Cloud Secrets"
|
||||
@docPath="/docs/secrets/gcp/index.html"
|
||||
>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="Google Cloud"
|
||||
@headerIcon="gcp"
|
||||
@headerIcon="gcp-color"
|
||||
@docText="Docs: Google Cloud Authentication"
|
||||
@docPath="/docs/auth/gcp.html"
|
||||
>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="Google Cloud KMS"
|
||||
@headerIcon="gcpkms"
|
||||
@headerIcon="gcp-color"
|
||||
@docText="Docs: Google Cloud Secrets"
|
||||
@docPath="/docs/secrets/gcpkms/index.html"
|
||||
>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<WizardSection @headerText="KMIP" @headerIcon="kmip" @docText="Docs: KMIP Secrets Engine"
|
||||
<WizardSection @headerText="KMIP" @headerIcon="unlock" @docText="Docs: KMIP Secrets Engine"
|
||||
@docPath="/docs/secrets/kmip/index.html">
|
||||
<p>
|
||||
The KMIP secrets engine allows Vault to act as a KMIP server provider and handle the lifecycle of KMIP managed
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="Kubernetes"
|
||||
@headerIcon="kubernetes"
|
||||
@headerIcon="kubernetes-color"
|
||||
@docText="Docs: Kubernetes Authentication"
|
||||
@docPath="/docs/auth/kubernetes.html"
|
||||
>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="Key/Value"
|
||||
@headerIcon="kv"
|
||||
@headerIcon="list"
|
||||
@docText="Docs: Key/Value Secrets"
|
||||
@docPath="/docs/secrets/kv/index.html"
|
||||
>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="LDAP"
|
||||
@headerIcon="ldap"
|
||||
@headerIcon="user"
|
||||
@docText="Docs: LDAP Authentication"
|
||||
@docPath="/docs/auth/ldap.html"
|
||||
>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="Okta"
|
||||
@headerIcon="okta"
|
||||
@headerIcon="okta-color"
|
||||
@docText="Docs: Okta Authentication"
|
||||
@docPath="/docs/auth/okta.html"
|
||||
>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="PKI"
|
||||
@headerIcon="pki"
|
||||
@headerIcon="file-text"
|
||||
@docText="Docs: PKI Secrets"
|
||||
@docPath="/docs/secrets/pki/index.html"
|
||||
>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="RADIUS"
|
||||
@headerIcon="radius"
|
||||
@headerIcon="user"
|
||||
@docText="Docs: RADIUS Authentication"
|
||||
@docPath="/docs/auth/radius.html"
|
||||
>
|
||||
|
|
|
@ -10,11 +10,12 @@
|
|||
</p>
|
||||
|
||||
<LearnLink @path="/vault/operations/ops-replication">
|
||||
<Icon @glyph="learn" aria-hidden="true" />Learn: Setting Up Performance Replication
|
||||
<Icon @name="learn-link" />
|
||||
Learn: Setting Up Performance Replication
|
||||
</LearnLink>
|
||||
|
||||
<LearnLink @path="/vault/operations/ops-disaster-recovery">
|
||||
<Icon @glyph="learn" aria-hidden="true" />
|
||||
<Icon @name="learn-link" />
|
||||
Learn: Setting up Disaster Recovery
|
||||
</LearnLink>
|
||||
|
||||
|
|
|
@ -26,11 +26,11 @@
|
|||
>
|
||||
{{#if @isSupported}}
|
||||
<button type="button" class="button next-feature-step" {{action @onRepeat}}>
|
||||
Create another {{unless @needsEncryption @mountName}} {{@nextStep}} {{if @needsEncryption "key"}} <Icon @glyph="loop" class="hs-icon-button-right" aria-hidden="true" />
|
||||
Create another {{unless @needsEncryption @mountName}} {{@nextStep}} {{if @needsEncryption "key"}} <Icon @name="sync" class="hs-icon-button-right" />
|
||||
</button>
|
||||
{{/if}}
|
||||
<button type="button" class="button next-feature-step" {{action @onReset}}>
|
||||
Enable another Secrets Engine <Icon @glyph="loop" class="hs-icon-button-right" aria-hidden="true" />
|
||||
Enable another Secrets Engine<Icon @name="sync" class="hs-icon-button-right" />
|
||||
</button>
|
||||
<button type="button" class="button next-feature-step" {{action @onDone}}>
|
||||
{{@nextFeature}} <Chevron @isButton={{true}} />
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="SSH"
|
||||
@headerIcon="ssh"
|
||||
@headerIcon="terminal-screen"
|
||||
@docText="Docs: SSH Secrets"
|
||||
@docPath="/docs/secrets/ssh/index.html"
|
||||
>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="TOTP"
|
||||
@headerIcon="totp"
|
||||
@headerIcon="history"
|
||||
@docText="Docs: TOTP Secrets"
|
||||
@docPath="/docs/secrets/totp/index.html"
|
||||
>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="Transit"
|
||||
@headerIcon="transit"
|
||||
@headerIcon="swap-horizontal"
|
||||
@docText="Docs: Transit Secrets"
|
||||
@docPath="/docs/secrets/transit/index.html"
|
||||
>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
</p>
|
||||
<div class="box wizard-divider-box">
|
||||
<button type="button" class="button is-transparent has-icon-left has-text-white" {{action onDismiss}}>
|
||||
<Icon @glyph="cancel-plain" aria-hidden="true" />
|
||||
<Icon @name="x" />
|
||||
Close
|
||||
</button>
|
||||
</div>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
</WizardSection>
|
||||
<WizardSection>
|
||||
<button type="button" class="button next-feature-step" {{action @onReset}}>
|
||||
Go Back <Icon @glyph="reply" />
|
||||
Go Back <Icon @name="corner-up-left" />
|
||||
</button>
|
||||
<button type="button" class="button next-feature-step" {{action @onAdvance}}>
|
||||
{{@nextFeature}} <Chevron @isButton={{true}} />
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
@hidePopup={{true}}
|
||||
>
|
||||
<button type="button" class="button is-transparent icon dismiss-collapsed" {{action @onDismiss}}>
|
||||
<Icon @glyph="cancel-plain" aria-label="Close" />
|
||||
<Icon @name="x" aria-label="Close" />
|
||||
</button>
|
||||
<p>Want a tour? Our helpful guide will introduce you to the Vault Web UI.</p>
|
||||
<div class="box wizard-divider-box">
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
@hidePopup={{true}}
|
||||
>
|
||||
<button type="button" class="button is-transparent dismiss-collapsed" {{action @onDismiss}}>
|
||||
<Icon @glyph="cancel-plain" aria-label="Close"/>
|
||||
<Icon @name="x" aria-label="Close" />
|
||||
</button>
|
||||
<p>Feel free to explore Vault. Click below to get back to the guide or close this window.</p>
|
||||
<div class="box wizard-divider-box">
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<WizardSection
|
||||
@headerText="Username & Password"
|
||||
@headerIcon="userpass"
|
||||
@headerIcon="identity-user"
|
||||
@docText="Docs: Userpass Authentication"
|
||||
@docPath="/docs/auth/userpass.html"
|
||||
>
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
<footer class="footer has-text-grey has-text-centered">
|
||||
<span class="is-inline-block">
|
||||
<Icon
|
||||
@glyph="hashicorp"
|
||||
@size="l"
|
||||
@name="hashicorp"
|
||||
aria-hidden="true"
|
||||
class="has-text-grey-light" />
|
||||
class="has-text-grey-light"
|
||||
/>
|
||||
© {{date-format (now) "yyyy"}} HashiCorp
|
||||
</span>
|
||||
<span>
|
||||
|
@ -32,7 +32,7 @@
|
|||
{{#if (eq env "development") }}
|
||||
<div class="env-banner level development">
|
||||
<div class="level-item notification">
|
||||
<Icon @glyph="git-branch" /><Icon @glyph="edit" /> Local development <Icon @glyph="edit" /><Icon @glyph="git-branch" />
|
||||
<Icon @name="git-branch" /><Icon @name="pencil-tool" /> Local development <Icon @name="pencil-tool" /><Icon @name="git-branch" />
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
as |Nav|>
|
||||
<Nav.home>
|
||||
<HomeLink @class="navbar-item has-text-white has-current-color-fill">
|
||||
<Icon @glyph="vault-logo" @size="l" />
|
||||
<Icon @name="vault-logo" />
|
||||
</HomeLink>
|
||||
</Nav.home>
|
||||
<Nav.main>
|
||||
|
@ -89,7 +89,7 @@
|
|||
<div class="navbar-item">
|
||||
<button type="button" class="button is-transparent nav-console-button{{if consoleOpen " popup-open"}}"
|
||||
{{action (queue (action 'toggleConsole') (action Nav.closeDrawer))}} data-test-console-toggle>
|
||||
<Icon @glyph="console" @size="l" />
|
||||
<Icon @name="terminal-screen" />
|
||||
<div class="status-menu-label">
|
||||
Console
|
||||
</div>
|
||||
|
|
|
@ -10,10 +10,10 @@
|
|||
}}
|
||||
<div class="columns is-mobile">
|
||||
<div class="column is-10">
|
||||
<LinkTo @route="vault.cluster.access.identity.aliases.show" @models={{array item.id "details"}} class="is-block has-text-black has-text-weight-semibold" data-test-identity-link={{item.id}}><Icon
|
||||
@glyph="user-square-outline"
|
||||
class="has-text-grey-light"
|
||||
/><span class="has-text-weight-semibold">{{item.name}}</span></LinkTo>
|
||||
<LinkTo @route="vault.cluster.access.identity.aliases.show" @models={{array item.id "details"}} class="is-block has-text-black has-text-weight-semibold" data-test-identity-link={{item.id}}>
|
||||
<Icon @name="user" class="has-text-grey-light" />
|
||||
<span class="has-text-weight-semibold">{{item.name}}</span>
|
||||
</LinkTo>
|
||||
<div class="has-text-grey">
|
||||
{{item.id}}
|
||||
</div>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue