diff --git a/app/assets/javascripts/discourse/app/form-kit/components/fk/control-wrapper.gjs b/app/assets/javascripts/discourse/app/form-kit/components/fk/control-wrapper.gjs index 137c97f506b..e1dbdc02412 100644 --- a/app/assets/javascripts/discourse/app/form-kit/components/fk/control-wrapper.gjs +++ b/app/assets/javascripts/discourse/app/form-kit/components/fk/control-wrapper.gjs @@ -105,6 +105,7 @@ export default class FKControlWrapper extends Component { @before={{@before}} @after={{@after}} @height={{@height}} + @preview={{@preview}} @selection={{@selection}} id={{@field.id}} name={{@field.name}} diff --git a/app/assets/javascripts/discourse/app/form-kit/components/fk/control/composer.gjs b/app/assets/javascripts/discourse/app/form-kit/components/fk/control/composer.gjs index fc017b2d59e..cb1a766e4ad 100644 --- a/app/assets/javascripts/discourse/app/form-kit/components/fk/control/composer.gjs +++ b/app/assets/javascripts/discourse/app/form-kit/components/fk/control/composer.gjs @@ -2,6 +2,7 @@ import Component from "@glimmer/component"; import { action } from "@ember/object"; import { htmlSafe } from "@ember/template"; import DEditor from "discourse/components/d-editor"; +import concatClass from "discourse/helpers/concat-class"; import { escapeExpression } from "discourse/lib/utilities"; export default class FKControlComposer extends Component { @@ -13,7 +14,7 @@ export default class FKControlComposer extends Component { } get style() { - if (this.args.height) { + if (!this.args.height) { return; } @@ -25,7 +26,10 @@ export default class FKControlComposer extends Component { @value={{readonly @field.value}} @change={{this.handleInput}} @disabled={{@field.disabled}} - class="form-kit__control-composer" + class={{concatClass + "form-kit__control-composer" + (if @preview "--preview") + }} style={{this.style}} @textAreaId={{@field.id}} /> diff --git a/app/assets/javascripts/discourse/tests/integration/components/form-kit/controls/composer-test.gjs b/app/assets/javascripts/discourse/tests/integration/components/form-kit/controls/composer-test.gjs index db0f560b44c..449455af42c 100644 --- a/app/assets/javascripts/discourse/tests/integration/components/form-kit/controls/composer-test.gjs +++ b/app/assets/javascripts/discourse/tests/integration/components/form-kit/controls/composer-test.gjs @@ -44,5 +44,41 @@ module( assert.dom(".d-editor-input").hasAttribute("disabled"); }); + + test("@height", async function (assert) { + await render(); + + assert + .dom(".form-kit__control-composer") + .hasAttribute("style", "height: 42px"); + }); + + test("@preview", async function (assert) { + await render(); + + assert.dom(".form-kit__control-composer.--preview").doesNotExist(); + + await render(); + + assert.dom(".form-kit__control-composer.--preview").exists(); + }); } ); diff --git a/app/assets/stylesheets/common/form-kit/_control-composer.scss b/app/assets/stylesheets/common/form-kit/_control-composer.scss index f95a915c8bd..86fa5aceefc 100644 --- a/app/assets/stylesheets/common/form-kit/_control-composer.scss +++ b/app/assets/stylesheets/common/form-kit/_control-composer.scss @@ -7,6 +7,12 @@ display: none; } + &.--preview { + .d-editor-preview-wrapper { + display: block; + } + } + .d-editor-button-bar { > .btn { border-radius: 0;