From d00d7bfa6a100bea73901effca70ed146a56826e Mon Sep 17 00:00:00 2001 From: Matt Nolting Date: Fri, 6 Sep 2024 12:55:57 -0400 Subject: [PATCH] fix(pf-approach): added example for message bar footer --- .../module/src/MessageBar/MessageBar.scss | 113 +++++++++--------- packages/module/src/MessageBar/MessageBar.tsx | 27 +++++ 2 files changed, 86 insertions(+), 54 deletions(-) diff --git a/packages/module/src/MessageBar/MessageBar.scss b/packages/module/src/MessageBar/MessageBar.scss index 5e2d81c8..c0e2f401 100644 --- a/packages/module/src/MessageBar/MessageBar.scss +++ b/packages/module/src/MessageBar/MessageBar.scss @@ -6,69 +6,74 @@ // ============================================================================ // Chatbot Footer - Message Bar // ============================================================================ + +// * Chatbot footer +:root, .pf-chatbot__footer--reset { + --pf-chatbot__footer--RowGap: var(--pf-t--global--spacer--md); +} + +// - Chatbot footer +.pf-chatbot__footer { + display: grid; + justify-content: stretch; + row-gap: var(--pf-chatbot__footer--RowGap); +} + +// * Chatbot message bar +:root, .pf-chatbot__message-bar--reset { + --pf-chatbot__message-bar--BackgroundColor: var(--pf-t--global--background--color--primary--default); + --pf-chatbot__message-bar--BorderRadius: var(--pf-t--global--border--radius--large); + --pf-chatbot__message-bar--hover--BoxShadow: var(--pf-t--global--box-shadow--sm); +} + +// - Chatbot message bar .pf-chatbot__message-bar { - min-height: 64px; - background-color: var(--pf-t--global--background--color--primary--default); - border-radius: calc( - var(--pf-t--global--border--radius--medium) * 2 - ); // 32px corners - universal for single and multi-line height - padding-inline-end: var(--pf-t--global--spacer--sm); + display: flex; + flex-wrap: wrap; + background-color: var(--pf-chatbot__message-bar--BackgroundColor); + border-radius: var(--pf-chatbot__message-bar--BorderRadius); transition: box-shadow var(--pf-t--chatbot--timing-function) var(--pf-t--global--motion--duration--sm); - &-input { - padding: var(--pf-t--global--spacer--sm) 0 var(--pf-t--global--spacer--sm) var(--pf-t--global--spacer--sm) - } - &:hover { - box-shadow: inset 0 0 0 1px var(--pf-t--global--border--color--default); + box-shadow: var(--pf-t--global--box-shadow--sm); } &:focus-within { box-shadow: inset 0 0 0 2px var(--pf-t--global--color--brand--default); } +} - // Input - // -------------------------------------------------------------------------- - &-input { - align-self: stretch; - display: flex; - // align-items: center; - flex-grow: 1; - padding: calc(var(--pf-t--global--spacer--100) + var(--pf-t--global--spacer--300)) var(--pf-t--global--spacer--400); - } - .pf-chatbot__message-textarea { - align-self: stretch; - display: flex; - // align-items: center; - flex-grow: 1; - max-width: 100%; - max-height: 232px; // 8 rows + padding - font-size: var(--pf-t--global--font--size--md); - line-height: 24px; - } +// * Chatbot message bar actions +:root, .pf-chatbot__message-bar-actions--reset { + --pf-chatbot__message-bar-action--PaddingBlockStart: var(--pf-t--global--spacer--xs); + --pf-chatbot__message-bar-action--PaddingBlockEnd: var(--pf-t--global--spacer--xs); + --pf-chatbot__message-bar-action--PaddingInlineStart: var(--pf-t--global--spacer--xs); + --pf-chatbot__message-bar-action--PaddingInlineEnd: var(--pf-t--global--spacer--xs); +} + +// - Chatbot message bar actions +.pf-chatbot__message-bar-actions { + display: flex; + justify-content: end; + padding-block-start: var(--pf-chatbot__message-bar-action--PaddingBlockStart); + padding-block-end: var(--pf-chatbot__message-bar-actionvar--PaddingBlockEnd); + padding-inline-start: var(--pf-chatbot__message-bar-actionvar--PaddingInlineStart); + padding-inline-end: var(--pf-chatbot__message-bar-action--PaddingInlineEnd); +} - //.pf-chatbot__message-textarea { - // --pf-v6-c-form-control--Resize: none; - // --pf-v6-c-form-control--before--BorderStyle: none; - // --pf-v6-c-form-control--after--BorderStyle: none; - // --pf-v6-c-form-control--PaddingBlockStart: 0; - // --pf-v6-c-form-control--PaddingBlockEnd: 0; - // --pf-v6-c-form-control--PaddingInlineStart: 0; - // --pf-v6-c-form-control--PaddingInlineEnd: 0; - // --pf-v6-c-form-control--BorderRadius: var(--pf-t--global--border--radius--small); - // - // max-width: 100%; - // max-height: 232px; // 8 rows + padding - // font-size: var(--pf-t--global--font--size--md); - // line-height: 24px; - // - // textarea:focus { - // outline: none; - // offset: none; - // } - // - // textarea:focus-visible { - // outline: none; - // } - //} +// - Chatbot message bar input +.pf-chatbot__message-bar-input { + flex: 1 1 auto; + padding-block-start: var(--pf-chatbot__message-bar__input--PaddingBlockStart); + padding-block-end: var(--pf-chatbot__message-bar__input--PaddingBlockEnd); + padding-inline-start: var(--pf-chatbot__message-bar__input--PaddingInlineStart); + padding-inline-end: var(--pf-chatbot__message-bar__input--PaddingInlineEnd); } + +// - Form control textarea +.pf-v6-c-form-control__textarea { + padding-block-start: var(--pf-v6-c-form-control--PaddingBlockStart); + padding-block-end: var(--pf-v6-c-form-control--PaddingBlockEnd); + padding-inline-start: var(--pf-v6-c-form-control--PaddingInlineStart); + padding-inline-end: var(--pf-v6-c-form-control--PaddingInlineEnd); +} \ No newline at end of file diff --git a/packages/module/src/MessageBar/MessageBar.tsx b/packages/module/src/MessageBar/MessageBar.tsx index 14ce1dff..32bc9274 100644 --- a/packages/module/src/MessageBar/MessageBar.tsx +++ b/packages/module/src/MessageBar/MessageBar.tsx @@ -95,6 +95,33 @@ export const MessageBar: React.FunctionComponent = ({ {(alwayShowSendButton || message) && } + // This is how I would structure the footer + // Don't use a layout, rather apply all CSS to the component + // The only addition to PF would be to .pf-v6-c-form-control__textarea + // ); };