UNPKG

botframework-webchat-component

Version:
112 lines (110 loc) 14.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = createSendBoxButtonStyle; function createSendBoxButtonStyle(_ref) { var sendBoxButtonColor = _ref.sendBoxButtonColor, sendBoxButtonColorOnActive = _ref.sendBoxButtonColorOnActive, sendBoxButtonColorOnDisabled = _ref.sendBoxButtonColorOnDisabled, sendBoxButtonColorOnFocus = _ref.sendBoxButtonColorOnFocus, sendBoxButtonColorOnHover = _ref.sendBoxButtonColorOnHover, sendBoxButtonKeyboardFocusIndicatorBorderColor = _ref.sendBoxButtonKeyboardFocusIndicatorBorderColor, sendBoxButtonKeyboardFocusIndicatorBorderRadius = _ref.sendBoxButtonKeyboardFocusIndicatorBorderRadius, sendBoxButtonKeyboardFocusIndicatorBorderStyle = _ref.sendBoxButtonKeyboardFocusIndicatorBorderStyle, sendBoxButtonKeyboardFocusIndicatorBorderWidth = _ref.sendBoxButtonKeyboardFocusIndicatorBorderWidth, sendBoxButtonKeyboardFocusIndicatorInset = _ref.sendBoxButtonKeyboardFocusIndicatorInset, sendBoxButtonShadeBorderRadius = _ref.sendBoxButtonShadeBorderRadius, sendBoxButtonShadeColor = _ref.sendBoxButtonShadeColor, sendBoxButtonShadeColorOnActive = _ref.sendBoxButtonShadeColorOnActive, sendBoxButtonShadeColorOnDisabled = _ref.sendBoxButtonShadeColorOnDisabled, sendBoxButtonShadeColorOnFocus = _ref.sendBoxButtonShadeColorOnFocus, sendBoxButtonShadeColorOnHover = _ref.sendBoxButtonShadeColorOnHover, sendBoxButtonShadeInset = _ref.sendBoxButtonShadeInset, sendBoxHeight = _ref.sendBoxHeight, subtle = _ref.subtle; return { '&.webchat__icon-button': { alignItems: 'center', appearance: 'none', backgroundColor: 'Transparent', border: 0, display: 'flex', fill: sendBoxButtonColor || subtle, justifyContent: 'center', outline: 0, padding: 0, position: 'relative', width: sendBoxHeight, // We use the sendBoxHeight, so the button looks square '&:not(.webchat__icon-button--stretch)': { height: sendBoxHeight }, // Order of style preferences (based on effort of user gesture): disabled > active > hover > focus. // Keyboard focus indicator styles applied by :focus-visible do not conflict with :active/:hover/:focus, so it is not included here. '&:disabled, &[aria-disabled="true"]': { fill: sendBoxButtonColorOnDisabled, '& .webchat__icon-button__shade': { backgroundColor: sendBoxButtonShadeColorOnDisabled } }, '&:not(:disabled):not([aria-disabled="true"])': { '&:active': { fill: sendBoxButtonColorOnActive, '& .webchat__icon-button__shade': { backgroundColor: sendBoxButtonShadeColorOnActive } }, '&:not(:active)': { '&:hover': { fill: sendBoxButtonColorOnHover, '& .webchat__icon-button__shade': { backgroundColor: sendBoxButtonShadeColorOnHover } }, '&:not(:hover)': { '&:focus': { fill: sendBoxButtonColorOnFocus, '& .webchat__icon-button__shade': { backgroundColor: sendBoxButtonShadeColorOnFocus } } } } }, // On unsupported browser, :focus-visible and :not(:focus-visible) is always false. // And it will turn the whole CSS selector ":unsupported, .truthy" to false. '&:not(:focus-visible) .webchat__icon-button__keyboard-focus-indicator': { display: 'none' }, '&:not(.webchat__icon-button--focus-visible) .webchat__icon-button__keyboard-focus-indicator': { display: 'none' }, // Make sure all contents are in the same stacking context. '& > *': { position: 'relative' }, '& .webchat__icon-button__shade': { backgroundColor: sendBoxButtonShadeColor, borderRadius: sendBoxButtonShadeBorderRadius, bottom: sendBoxButtonShadeInset, left: sendBoxButtonShadeInset, position: 'absolute', right: sendBoxButtonShadeInset, top: sendBoxButtonShadeInset }, '& .webchat__icon-button__keyboard-focus-indicator': { borderColor: sendBoxButtonKeyboardFocusIndicatorBorderColor, borderRadius: sendBoxButtonKeyboardFocusIndicatorBorderRadius, borderStyle: sendBoxButtonKeyboardFocusIndicatorBorderStyle, borderWidth: sendBoxButtonKeyboardFocusIndicatorBorderWidth, bottom: sendBoxButtonKeyboardFocusIndicatorInset, left: sendBoxButtonKeyboardFocusIndicatorInset, position: 'absolute', right: sendBoxButtonKeyboardFocusIndicatorInset, top: sendBoxButtonKeyboardFocusIndicatorInset } } }; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVTZW5kQm94QnV0dG9uU3R5bGUiLCJfcmVmIiwic2VuZEJveEJ1dHRvbkNvbG9yIiwic2VuZEJveEJ1dHRvbkNvbG9yT25BY3RpdmUiLCJzZW5kQm94QnV0dG9uQ29sb3JPbkRpc2FibGVkIiwic2VuZEJveEJ1dHRvbkNvbG9yT25Gb2N1cyIsInNlbmRCb3hCdXR0b25Db2xvck9uSG92ZXIiLCJzZW5kQm94QnV0dG9uS2V5Ym9hcmRGb2N1c0luZGljYXRvckJvcmRlckNvbG9yIiwic2VuZEJveEJ1dHRvbktleWJvYXJkRm9jdXNJbmRpY2F0b3JCb3JkZXJSYWRpdXMiLCJzZW5kQm94QnV0dG9uS2V5Ym9hcmRGb2N1c0luZGljYXRvckJvcmRlclN0eWxlIiwic2VuZEJveEJ1dHRvbktleWJvYXJkRm9jdXNJbmRpY2F0b3JCb3JkZXJXaWR0aCIsInNlbmRCb3hCdXR0b25LZXlib2FyZEZvY3VzSW5kaWNhdG9ySW5zZXQiLCJzZW5kQm94QnV0dG9uU2hhZGVCb3JkZXJSYWRpdXMiLCJzZW5kQm94QnV0dG9uU2hhZGVDb2xvciIsInNlbmRCb3hCdXR0b25TaGFkZUNvbG9yT25BY3RpdmUiLCJzZW5kQm94QnV0dG9uU2hhZGVDb2xvck9uRGlzYWJsZWQiLCJzZW5kQm94QnV0dG9uU2hhZGVDb2xvck9uRm9jdXMiLCJzZW5kQm94QnV0dG9uU2hhZGVDb2xvck9uSG92ZXIiLCJzZW5kQm94QnV0dG9uU2hhZGVJbnNldCIsInNlbmRCb3hIZWlnaHQiLCJzdWJ0bGUiLCJhbGlnbkl0ZW1zIiwiYXBwZWFyYW5jZSIsImJhY2tncm91bmRDb2xvciIsImJvcmRlciIsImRpc3BsYXkiLCJmaWxsIiwianVzdGlmeUNvbnRlbnQiLCJvdXRsaW5lIiwicGFkZGluZyIsInBvc2l0aW9uIiwid2lkdGgiLCJoZWlnaHQiLCJib3JkZXJSYWRpdXMiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiLCJ0b3AiLCJib3JkZXJDb2xvciIsImJvcmRlclN0eWxlIiwiYm9yZGVyV2lkdGgiXSwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9TdHlsZXMvU3R5bGVTZXQvU2VuZEJveEJ1dHRvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdHJpY3RTdHlsZU9wdGlvbnMgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVTZW5kQm94QnV0dG9uU3R5bGUoe1xuICBzZW5kQm94QnV0dG9uQ29sb3IsXG4gIHNlbmRCb3hCdXR0b25Db2xvck9uQWN0aXZlLFxuICBzZW5kQm94QnV0dG9uQ29sb3JPbkRpc2FibGVkLFxuICBzZW5kQm94QnV0dG9uQ29sb3JPbkZvY3VzLFxuICBzZW5kQm94QnV0dG9uQ29sb3JPbkhvdmVyLFxuICBzZW5kQm94QnV0dG9uS2V5Ym9hcmRGb2N1c0luZGljYXRvckJvcmRlckNvbG9yLFxuICBzZW5kQm94QnV0dG9uS2V5Ym9hcmRGb2N1c0luZGljYXRvckJvcmRlclJhZGl1cyxcbiAgc2VuZEJveEJ1dHRvbktleWJvYXJkRm9jdXNJbmRpY2F0b3JCb3JkZXJTdHlsZSxcbiAgc2VuZEJveEJ1dHRvbktleWJvYXJkRm9jdXNJbmRpY2F0b3JCb3JkZXJXaWR0aCxcbiAgc2VuZEJveEJ1dHRvbktleWJvYXJkRm9jdXNJbmRpY2F0b3JJbnNldCxcbiAgc2VuZEJveEJ1dHRvblNoYWRlQm9yZGVyUmFkaXVzLFxuICBzZW5kQm94QnV0dG9uU2hhZGVDb2xvcixcbiAgc2VuZEJveEJ1dHRvblNoYWRlQ29sb3JPbkFjdGl2ZSxcbiAgc2VuZEJveEJ1dHRvblNoYWRlQ29sb3JPbkRpc2FibGVkLFxuICBzZW5kQm94QnV0dG9uU2hhZGVDb2xvck9uRm9jdXMsXG4gIHNlbmRCb3hCdXR0b25TaGFkZUNvbG9yT25Ib3ZlcixcbiAgc2VuZEJveEJ1dHRvblNoYWRlSW5zZXQsXG4gIHNlbmRCb3hIZWlnaHQsXG4gIHN1YnRsZVxufTogU3RyaWN0U3R5bGVPcHRpb25zKSB7XG4gIHJldHVybiB7XG4gICAgJyYud2ViY2hhdF9faWNvbi1idXR0b24nOiB7XG4gICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgIGFwcGVhcmFuY2U6ICdub25lJyxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ1RyYW5zcGFyZW50JyxcbiAgICAgIGJvcmRlcjogMCxcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZpbGw6IHNlbmRCb3hCdXR0b25Db2xvciB8fCBzdWJ0bGUsXG4gICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICBvdXRsaW5lOiAwLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgd2lkdGg6IHNlbmRCb3hIZWlnaHQsIC8vIFdlIHVzZSB0aGUgc2VuZEJveEhlaWdodCwgc28gdGhlIGJ1dHRvbiBsb29rcyBzcXVhcmVcblxuICAgICAgJyY6bm90KC53ZWJjaGF0X19pY29uLWJ1dHRvbi0tc3RyZXRjaCknOiB7XG4gICAgICAgIGhlaWdodDogc2VuZEJveEhlaWdodFxuICAgICAgfSxcblxuICAgICAgLy8gT3JkZXIgb2Ygc3R5bGUgcHJlZmVyZW5jZXMgKGJhc2VkIG9uIGVmZm9ydCBvZiB1c2VyIGdlc3R1cmUpOiBkaXNhYmxlZCA+IGFjdGl2ZSA+IGhvdmVyID4gZm9jdXMuXG4gICAgICAvLyBLZXlib2FyZCBmb2N1cyBpbmRpY2F0b3Igc3R5bGVzIGFwcGxpZWQgYnkgOmZvY3VzLXZpc2libGUgZG8gbm90IGNvbmZsaWN0IHdpdGggOmFjdGl2ZS86aG92ZXIvOmZvY3VzLCBzbyBpdCBpcyBub3QgaW5jbHVkZWQgaGVyZS5cbiAgICAgICcmOmRpc2FibGVkLCAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdJzoge1xuICAgICAgICBmaWxsOiBzZW5kQm94QnV0dG9uQ29sb3JPbkRpc2FibGVkLFxuXG4gICAgICAgICcmIC53ZWJjaGF0X19pY29uLWJ1dHRvbl9fc2hhZGUnOiB7XG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBzZW5kQm94QnV0dG9uU2hhZGVDb2xvck9uRGlzYWJsZWRcbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgJyY6bm90KDpkaXNhYmxlZCk6bm90KFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSknOiB7XG4gICAgICAgICcmOmFjdGl2ZSc6IHtcbiAgICAgICAgICBmaWxsOiBzZW5kQm94QnV0dG9uQ29sb3JPbkFjdGl2ZSxcblxuICAgICAgICAgICcmIC53ZWJjaGF0X19pY29uLWJ1dHRvbl9fc2hhZGUnOiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHNlbmRCb3hCdXR0b25TaGFkZUNvbG9yT25BY3RpdmVcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG5cbiAgICAgICAgJyY6bm90KDphY3RpdmUpJzoge1xuICAgICAgICAgICcmOmhvdmVyJzoge1xuICAgICAgICAgICAgZmlsbDogc2VuZEJveEJ1dHRvbkNvbG9yT25Ib3ZlcixcblxuICAgICAgICAgICAgJyYgLndlYmNoYXRfX2ljb24tYnV0dG9uX19zaGFkZSc6IHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBzZW5kQm94QnV0dG9uU2hhZGVDb2xvck9uSG92ZXJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuXG4gICAgICAgICAgJyY6bm90KDpob3ZlciknOiB7XG4gICAgICAgICAgICAnJjpmb2N1cyc6IHtcbiAgICAgICAgICAgICAgZmlsbDogc2VuZEJveEJ1dHRvbkNvbG9yT25Gb2N1cyxcblxuICAgICAgICAgICAgICAnJiAud2ViY2hhdF9faWNvbi1idXR0b25fX3NoYWRlJzoge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogc2VuZEJveEJ1dHRvblNoYWRlQ29sb3JPbkZvY3VzXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgIC8vIE9uIHVuc3VwcG9ydGVkIGJyb3dzZXIsIDpmb2N1cy12aXNpYmxlIGFuZCA6bm90KDpmb2N1cy12aXNpYmxlKSBpcyBhbHdheXMgZmFsc2UuXG4gICAgICAvLyBBbmQgaXQgd2lsbCB0dXJuIHRoZSB3aG9sZSBDU1Mgc2VsZWN0b3IgXCI6dW5zdXBwb3J0ZWQsIC50cnV0aHlcIiB0byBmYWxzZS5cbiAgICAgICcmOm5vdCg6Zm9jdXMtdmlzaWJsZSkgLndlYmNoYXRfX2ljb24tYnV0dG9uX19rZXlib2FyZC1mb2N1cy1pbmRpY2F0b3InOiB7XG4gICAgICAgIGRpc3BsYXk6ICdub25lJ1xuICAgICAgfSxcblxuICAgICAgJyY6bm90KC53ZWJjaGF0X19pY29uLWJ1dHRvbi0tZm9jdXMtdmlzaWJsZSkgLndlYmNoYXRfX2ljb24tYnV0dG9uX19rZXlib2FyZC1mb2N1cy1pbmRpY2F0b3InOiB7XG4gICAgICAgIGRpc3BsYXk6ICdub25lJ1xuICAgICAgfSxcblxuICAgICAgLy8gTWFrZSBzdXJlIGFsbCBjb250ZW50cyBhcmUgaW4gdGhlIHNhbWUgc3RhY2tpbmcgY29udGV4dC5cbiAgICAgICcmID4gKic6IHtcbiAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZSdcbiAgICAgIH0sXG5cbiAgICAgICcmIC53ZWJjaGF0X19pY29uLWJ1dHRvbl9fc2hhZGUnOiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogc2VuZEJveEJ1dHRvblNoYWRlQ29sb3IsXG4gICAgICAgIGJvcmRlclJhZGl1czogc2VuZEJveEJ1dHRvblNoYWRlQm9yZGVyUmFkaXVzLFxuICAgICAgICBib3R0b206IHNlbmRCb3hCdXR0b25TaGFkZUluc2V0LFxuICAgICAgICBsZWZ0OiBzZW5kQm94QnV0dG9uU2hhZGVJbnNldCxcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIHJpZ2h0OiBzZW5kQm94QnV0dG9uU2hhZGVJbnNldCxcbiAgICAgICAgdG9wOiBzZW5kQm94QnV0dG9uU2hhZGVJbnNldFxuICAgICAgfSxcblxuICAgICAgJyYgLndlYmNoYXRfX2ljb24tYnV0dG9uX19rZXlib2FyZC1mb2N1cy1pbmRpY2F0b3InOiB7XG4gICAgICAgIGJvcmRlckNvbG9yOiBzZW5kQm94QnV0dG9uS2V5Ym9hcmRGb2N1c0luZGljYXRvckJvcmRlckNvbG9yLFxuICAgICAgICBib3JkZXJSYWRpdXM6IHNlbmRCb3hCdXR0b25LZXlib2FyZEZvY3VzSW5kaWNhdG9yQm9yZGVyUmFkaXVzLFxuICAgICAgICBib3JkZXJTdHlsZTogc2VuZEJveEJ1dHRvbktleWJvYXJkRm9jdXNJbmRpY2F0b3JCb3JkZXJTdHlsZSxcbiAgICAgICAgYm9yZGVyV2lkdGg6IHNlbmRCb3hCdXR0b25LZXlib2FyZEZvY3VzSW5kaWNhdG9yQm9yZGVyV2lkdGgsXG4gICAgICAgIGJvdHRvbTogc2VuZEJveEJ1dHRvbktleWJvYXJkRm9jdXNJbmRpY2F0b3JJbnNldCxcbiAgICAgICAgbGVmdDogc2VuZEJveEJ1dHRvbktleWJvYXJkRm9jdXNJbmRpY2F0b3JJbnNldCxcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIHJpZ2h0OiBzZW5kQm94QnV0dG9uS2V5Ym9hcmRGb2N1c0luZGljYXRvckluc2V0LFxuICAgICAgICB0b3A6IHNlbmRCb3hCdXR0b25LZXlib2FyZEZvY3VzSW5kaWNhdG9ySW5zZXRcbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVlLFNBQVNBLHdCQUF3QkEsQ0FBQUMsSUFBQSxFQW9CekI7RUFBQSxJQW5CckJDLGtCQUFrQixHQUFBRCxJQUFBLENBQWxCQyxrQkFBa0I7SUFDbEJDLDBCQUEwQixHQUFBRixJQUFBLENBQTFCRSwwQkFBMEI7SUFDMUJDLDRCQUE0QixHQUFBSCxJQUFBLENBQTVCRyw0QkFBNEI7SUFDNUJDLHlCQUF5QixHQUFBSixJQUFBLENBQXpCSSx5QkFBeUI7SUFDekJDLHlCQUF5QixHQUFBTCxJQUFBLENBQXpCSyx5QkFBeUI7SUFD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