diff --git a/ui/admin/app/components/form/credential-store/static/index.hbs b/ui/admin/app/components/form/credential-store/static/index.hbs index fa567fcba..d21406ec7 100644 --- a/ui/admin/app/components/form/credential-store/static/index.hbs +++ b/ui/admin/app/components/form/credential-store/static/index.hbs @@ -45,10 +45,10 @@ {{#if (feature-flag 'static-credentials')}} - - <:title>{{t 'form.type.label'}} - <:body> - {{#if @model.isNew}} + {{#if @model.isNew}} + + <:title>{{t 'form.type.label'}} + <:body> - {{else}} - - - - {{/if}} - - + + + {{else}} + + {{t 'form.type.label'}} + {{t + (concat 'resources.credential-store.help.' @model.type) + }} + + + {{/if}} + {{/if}} {{#if (can 'save model' @model)}} diff --git a/ui/admin/app/components/form/credential/ssh_private_key/index.hbs b/ui/admin/app/components/form/credential/ssh_private_key/index.hbs index 78521aa81..3e06da207 100644 --- a/ui/admin/app/components/form/credential/ssh_private_key/index.hbs +++ b/ui/admin/app/components/form/credential/ssh_private_key/index.hbs @@ -69,19 +69,14 @@ {{else}} - - <:title>{{t 'form.type.label'}} - <:description> - - {{t (concat 'resources.credential.types.' @model.type)}} - - - <:body> - {{t - (concat 'resources.credential.help.' @model.type) - }} - - + + {{t 'form.type.label'}} + {{t (concat 'resources.credential.types.' @model.type)}} + + {{/if}} {{else}} - - <:title>{{t 'form.type.label'}} - <:description> - - {{t (concat 'resources.credential.types.' @model.type)}} - - - <:body> - {{t - (concat 'resources.credential.help.' @model.type) - }} - - + + {{t 'form.type.label'}} + {{t (concat 'resources.credential.types.' @model.type)}} + + {{/if}} + {{#if @icon}} + + {{/if}} + + {{yield F}} + + \ No newline at end of file diff --git a/ui/admin/app/styles/app.scss b/ui/admin/app/styles/app.scss index 7410faf99..a99fbd19c 100644 --- a/ui/admin/app/styles/app.scss +++ b/ui/admin/app/styles/app.scss @@ -1,5 +1,6 @@ @use 'rose/variables/sizing'; @use 'rose/variables/media'; +@use 'rose/utilities/type'; @import 'rose'; @import 'notify'; @@ -9,6 +10,7 @@ justify-content: center; } } + .rose-layout-centered { > .rose-layout-page { width: sizing.rems(l) * 18; @@ -452,3 +454,45 @@ } } } + +.info-field { + .hds-form-field--layout-vertical { + grid-template-areas: 'label' 'helper-text' 'text-input'; + + .hds-form-label { + font-size: sizing.rems(m); + grid-area: label; + line-height: sizing.rems(m) + sizing.rems(xxs); + } + + .hds-form-helper-text { + grid-area: helper-text; + font-size: sizing.rems(m); + color: var(--token-form-label-color); + + } + + .hds-form-text-input { + background-color: transparent; + border: 0; + grid-area: text-input; + margin-top: sizing.rems(xs); + line-height: sizing.rems(m) + sizing.rems(xxs); + padding: 0; + } + + + } + + &.has-icon { + .flight-icon { + position: absolute; + transform: translatey(sizing.rems(xl) - sizing.rems(s)); + } + + .hds-form-helper-text, + .hds-form-text-input { + margin-left: sizing.rems(l) + sizing.rems(xs); + } + } +} diff --git a/ui/admin/tests/integration/components/info-field-test.js b/ui/admin/tests/integration/components/info-field-test.js new file mode 100644 index 000000000..691c9d04a --- /dev/null +++ b/ui/admin/tests/integration/components/info-field-test.js @@ -0,0 +1,45 @@ +import { module, test } from 'qunit'; +import { setupRenderingTest } from 'ember-qunit'; +import { render } from '@ember/test-helpers'; +import { hbs } from 'ember-cli-htmlbars'; + +module('Integration | Component | info-field', function (hooks) { + setupRenderingTest(hooks); + + test('it renders without icon', async function (assert) { + assert.expect(4); + + await render( + hbs` + + Type + JSON + + ` + ); + assert.dom('.info-field').isVisible(); + assert.dom('.info-field .hds-form-label').hasText('Type'); + assert.dom('.info-field .hds-form-helper-text').hasText('JSON'); + assert.dom('.info-field .hds-form-text-input').isVisible(); + }); + + test('it renders with icon', async function (assert) { + assert.expect(5); + + await render( + hbs` + + Type + JSON + + ` + ); + assert.dom('.info-field').isVisible(); + assert.dom('.info-field .hds-form-label').hasText('Type'); + assert + .dom('.info-field .hds-form-helper-text:last-of-type') + .hasText('JSON'); + assert.dom('[data-test-icon="apple"]').isVisible(); + assert.dom('.info-field .hds-form-text-input').isVisible(); + }); +});