Skip to content

Latest commit

 

History

History
305 lines (163 loc) · 11.8 KB

CHANGELOG.md

File metadata and controls

305 lines (163 loc) · 11.8 KB

Change log

Key support

  • Backspace
  • Enter
  • Escape
  • CapsLock
  • Keyboard (simulates Keyboard Layout Switcher)
  • Any Single Char Key
  • Spacing (Blank spot)

Keyboard layouts

  • Numeric Keyboard
  • AlphaNumeric Keyboard

Feutures

  • Keyboard key's size (Can be changed by passing numbers to keyboardKeyWidth, keyboardKeyHeight & keyboardKeySymbolSize props)

Feutures

  • react-material-ui-keyboard can be used in none material-ui based projects (peerDependencie of material-ui is required)

Key support

  • Spacebar (Spacebar key width can be controlled by the number of spaces used for the key

Keyboard layouts

  • Extended Keyboard

Feutures

  • Can be used in TypeScript based projects: d.ts file is included (npm typings support)

Feuters

  • Add support for regular JavaScript users by including propTypes

Keyboard layouts

  • Numeric Keyboard now has - instead of blank space.

Properties

  • adding new prop type of type 'string' | 'number' which adds support for textField which uses value of type number

Deprecated

  • prop type added in v1.4.0 is deprecated due to it's probably never to be used as 'number' TextFieldInput from material-ui v16.0 uses value of type string including for <TextFieldInput type="number" />

Bug fixes

  • fixing when inputs are focused and blured.

Deprecated

  • Keyboard.id

Implementaion

  • Switching from ids to reds
  • exposing public methods getTextField & getKeyboardField
  • using polyfilled Object.assign in from of 'object-assign'

Example changes

Bug fixes

  • enusre Keyboard input field value is always in sync with textField.props.value

Bug fixes

  • Fix bug where changing keyboard key size via passing keyboardKey* prop changed current muiTheme

Implementaion

  • No logner using context to size keyboard key instead properties are passed directly to KeyboardKey

Bug fixes

  • Fix bug where KeyboardKey would not re-render if any of props introduced in v3.0.0 changes due to using old version of shouldComponentUpdate

Implementaion

  • Droping inmplementation of shouldComponentUpdate for KeyboardKey

Feuters

  • When open changes to true Keyboard will listen for 'keydown' events on window and when open changes to false listener will be removed.

Bug fixes

  • Fix bug introduced with v3.1.0 which wouldd call twice _onKeyDown if keyboard input field is focused due to listening both on textField clone and window

Implementaion

  • textFieldclone no longer recivesonKeyDown` handler

Bug fixes

  • Fixing keyboard key caps locking which got broken in v3.0.0

Implementaion

  • Replacing Lists with plain old divs. List is a wrapper container build from div and just adds more overheap to rendering. It waas initially used in conjuction with ListItem, which is no longer used since v2.0.0

Properties

  • New prop automatic added. Which should remove the boilerplate of opening a keyboard when textField.props.onFocus is tiggered and closing it when props.onRequestClose is fired
  • Props open and onRequestClose are now optional due to adding of the new automatic prop

Example updates

Properties

  • New prop nativeVirtualKeyboard added. Which controlls when to prevent the native vertual keyboard on textField by setting readOnly.

Note: readOnly is always true on the cloned textField used for input when keyboard is opened

Note: readOnly is setted to true on textField when active is also true

Bug fixes

  • Fixing a bug which falsely synced keyboard input value with textField.props.value each time a componentWillReciveProps is called. Now values are synced only when textField.props.value did really changed. Bug was introduced with v2.0.3

New

  • Keyboard now resizes on when window 'resize's
  • Keyboard now fits on screen if calculated size based on keyboardKeyWidth, keyboardKeyHeight & keyboardKeySymbolSize propss is less than calculated
  • Keyboard now exposes new public static member automaitcOpenPredicate which is function with signature: function() => boolean that is called when automatic is true and the attached onFocus handler on textField gets fired to determinate should keyboard open and disable native virtual keyboard by assigning readOnly at textField in the render. Default automaitcOpenPredicate behaviour is to always return true. You can override it to change when to automaticlly open keyboard onFocus

Chech for examples GALLERY

Properties

  • onInput is now optional

Changes

  • readOnly is assigned to the result of invoking Keyboard.automaitcOpenPredicate on textField when active istrue

Bug fixes

  • Fixing a bug which would set Dialog dialogContentStyle prop with height: NaN for custom textFields which dose not support row prop

Bug fixes

  • Fixing possible styling bugs due to wrapping textFiled and Dialog in div. If style prop is passed to textFiled it will be also passed and to the wrapping div
  • Fixing possible styling bugs when textFiled is passed a style prop that would set any of ['minWidth', 'width', 'maxWidth', 'minHeight', 'height', 'maxHeight'], those styling props are deleted on the cloned textField, used for keyboard input, in favour of unified user experiance of fullWidth input

Bug fixes

  • Fixing possible styling bugs when other than style props, such as inputStyle, underlineStyle or any other posible custom prop, is passed to textField would make keyboard input "style boken". textField style prop properties ['minHeight', 'height', 'maxHeight'] are no longer deleted
  • Fixing possible styling bugs when style prop contains any of ['minHeight', 'height', 'maxHeight'] would prevent Keyboard from calculating it's height correctly

Properties

New

  • correctionName is a string which is the name of the cloned textField prop to which to bind corrector.
  • corrector is a function which is bound to the the cloned textField at correctorName prop. this is bound to the Keyboard, public method makeCorrection can be used to apply a correction to the keyboard input.
  • Re-exporting default from './Keboard'
  • Using npm badge for README.md#Install

Bug fixes

  • Fixing bug: Uncaught TypeError: Cannot read property 'minHeight' of undefined when no styles are passed to textField

Changes

  • keyboard layouts are now moved to react-material-ui-keyboard/layouts, in adition their names are in lower camel case now
  • Code is completetly refactored, in addition code is now memory and performance optimizated

TypeScript

  • Keyboard and KeyboardKey can be used in call to React.createElement

TypeScript

  • Fixing [ts] Cannot find module 'react-material-ui-keyboard/layouts'

Properties

  • nativeVirtualKeyboard is now deprecated. readOnly is now computed based on automatic and open for the input. For keyboard input field it's always true

Bug fixes

  • Fixing keyboard width computaion. Bug was introduced with v6.0.4 update

Depreacted

  • Usage of refs is deprecated: The need of refs was because of controlling when inputs gets focused and blured, which is no more required, instead document.activeElement.tagName.toLowerCase() is checked is it 'input' when open becomes true and if it is the activeElement is blur()ed
  • public methods: getTextField and getKeyboardField are both removed

Bug fixes

  • If any of the following props is passed to textField it will be overwritten for the keyboard input

Changes

  • Instad of doing twice React.cloneElement(textField, someMergedProps) React.cloneElement is called for the input and React.createElement(textField.type, keyboardFieldProps) for the keyboard input field

New

  • '#' is added to extendedKeyboard layout
  • warning icon is used when given special key is not supported
  • Code is now have a 100% code coverage

Bug fixes

  • Fixing how keyboardKeySymbolSize is calculated when Keyboard resizes

Changes

  • Updating project dependencies
  • Updating project to use typescript 2.0.3 and @types instead of typings

New

disableEffects is a new prop supported by both Keyboard and KeyboardKey. When it is set to true it dissables FocusRipple, KeyboardFocus, TouchRipple and hover effects on the underlinig button/s

New

onInputValueChange is a new optional prop of Keyboard which is a callback that is triggered once keyboard's input change it's value. (closes #45)

Changes

  • Updating project dependencies