From 240a19a227d58e0e5e0ed9144bab3ae47ba60f67 Mon Sep 17 00:00:00 2001 From: Andrii Kostenko Date: Mon, 28 Jan 2019 20:09:03 +0300 Subject: [PATCH 1/2] Do not import constants from @material/textfield internals This line imports constants module not from @material/textfield/dist, but from original source code ``` import {VALIDATION_ATTR_WHITELIST} from '@material/textfield/constants'; ``` `@material/textfield/constants` is written in Babel language (I don't know how to call it) and contains babel export construction. If someone tries to use textfield from node.js test, it will fail It is regression as it worked for version 0.7.0 --- packages/text-field/Input.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/text-field/Input.tsx b/packages/text-field/Input.tsx index b21d7f000..faa63f433 100644 --- a/packages/text-field/Input.tsx +++ b/packages/text-field/Input.tsx @@ -23,8 +23,10 @@ import * as React from 'react'; import * as classnames from 'classnames'; // @ts-ignore no .d.ts file import {MDCTextFieldFoundation} from '@material/textfield/dist/mdc.textfield'; -// @ts-ignore no .d.ts file -import {VALIDATION_ATTR_WHITELIST} from '@material/textfield/constants'; + +const VALIDATION_ATTR_WHITELIST = [ + 'pattern', 'min', 'max', 'required', 'step', 'minlength', 'maxlength' +] export interface InputProps { className: string; From b18b79b25238b927397d2693ca79cbde9a4e27b5 Mon Sep 17 00:00:00 2001 From: Andrii Kostenko Date: Mon, 28 Jan 2019 20:19:23 +0300 Subject: [PATCH 2/2] Correct type of whitelist object --- packages/text-field/Input.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/text-field/Input.tsx b/packages/text-field/Input.tsx index faa63f433..42b295ece 100644 --- a/packages/text-field/Input.tsx +++ b/packages/text-field/Input.tsx @@ -24,10 +24,6 @@ import * as classnames from 'classnames'; // @ts-ignore no .d.ts file import {MDCTextFieldFoundation} from '@material/textfield/dist/mdc.textfield'; -const VALIDATION_ATTR_WHITELIST = [ - 'pattern', 'min', 'max', 'required', 'step', 'minlength', 'maxlength' -] - export interface InputProps { className: string; inputType: 'input' | 'textarea'; @@ -60,6 +56,11 @@ declare type ValidationAttrWhiteList = declare type ValidationAttrWhiteListReact = Exclude | 'minLength' | 'maxLength'; +const VALIDATION_ATTR_WHITELIST: ValidationAttrWhiteList[] = [ + 'pattern', 'min', 'max', 'required', 'step', 'minlength', 'maxlength', +]; + + export default class Input extends React.Component< Props, InputState > {