From 4d9bfa10988721cf27e9c53d129cc6a89819498b Mon Sep 17 00:00:00 2001 From: Jon Q Date: Wed, 10 Apr 2019 16:47:16 -0400 Subject: [PATCH 1/2] Input: Fix multiline size calculations + add default maxHeight This update resolves the `multiline` based size calculation for the `Input` component. The solution was to provide one of the "ghost" inputs with the correct `GhostUI` styled component to help account for padding/line-height. Additionally, a default `maxHeight` of `320` was added for `Input`. --- src/components/Input/Input.js | 1 + src/components/Input/Resizer.tsx | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/Input/Input.js b/src/components/Input/Input.js index 5bbbe33fe..14353b302 100644 --- a/src/components/Input/Input.js +++ b/src/components/Input/Input.js @@ -127,6 +127,7 @@ export class Input extends Component { isLast: false, isNotOnly: false, isSubtleReadOnly: false, + maxHeight: 320, moveCursorToEnd: false, multiline: null, offsetAmount: 0, diff --git a/src/components/Input/Resizer.tsx b/src/components/Input/Resizer.tsx index 82068ba11..de7e246e4 100644 --- a/src/components/Input/Resizer.tsx +++ b/src/components/Input/Resizer.tsx @@ -129,8 +129,8 @@ export class Resizer extends React.PureComponent { if (!minimumLines) return return ( -
Date: Thu, 11 Apr 2019 09:36:20 -0400 Subject: [PATCH 2/2] Fix Input test for maxHeight --- src/components/Input/__tests__/Input.test.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/Input/__tests__/Input.test.js b/src/components/Input/__tests__/Input.test.js index b084f8322..27cf3cdd6 100644 --- a/src/components/Input/__tests__/Input.test.js +++ b/src/components/Input/__tests__/Input.test.js @@ -370,11 +370,11 @@ describe('Multiline', () => { expect(wrapper.state()).not.toBe(null) }) - test('Does not set maxHeight on multiline by default', () => { + test('Has a maxHeight by default', () => { const wrapper = mount() const el = wrapper.find('textarea') - expect(el.prop('style').maxHeight).toBeFalsy() + expect(el.prop('style').maxHeight).toBeTruthy() }) test('Sets maxHeight on multiline, if specified', () => {