Skip to content

Repository files navigation

A simple React inline editing component

codecovtestLicense: MITNPM Downloads

Edit example: react-inline-input-edit in reactjs

Reasoning

This npm package is originally adapted from https://github.com/bfischer/react-inline-editing. I found the package a few days ago and is super useful but un-maintained? Mainly needed it to work with TypeScript + ReactJS. The below README desc is adapted from the originator's README.

This is an inline, editable text/label component built in React + TypeScript.

The <InlineInputEdit /> allows the user to simply click and edit text inline. It consists of a <label> element to display the unedited text and an <input /> element to allow editing.

example

Installation

  • npm install --save react-inline-input-edit
  • yarn add react-inline-input-edit

Create your own

  • to build -> npm run build or yarn build
  • to test -> npm run test or yarn test

Component props

(*) Required

PropTypeDescription
text (*)stringText to be displayed on both the label and initially in the editor
isEditingbooleanFlags whether the label should be in editor mode
emptyEditbooleanFlags whether the label should be in editor mode when text is empty('' or undefined)
labelPlaceHolderstringLabel value to display when text is not present
labelClassNamestringClass name for the text styling
labelFontSizestringFont size for the text
labelFontWeightstringFont weight for the text
inputMaxLengthnumberMax length for the input in editing mode
inputPlaceHolderstringPlaceholder for the input in editing mode
inputWidthstringWidth of the input in editing mode
inputHeightstringHeight of the input in editing mode
inputFontSizestringFont size for the input in editing mode
inputFontWeightstringFont weight for the input in editing mode
inputClassNamestringClass name for the input editor's styling
inputBorderWidthstringBorder width for the input in editing mode
onFocusfunctionCallback for text focusing. Parameter(s): text
onFocusOutfunctionCallback for focus leaving editor. Parameter(s): text

An example

importReact,{FC}from'react';import{InlineInputEdit}from'react-inline-input-edit';interfaceProps{}exportconstSomeAwesomeComponent: FC<Props>=()=>{const_handleFocus=(text: any)=>{console.log('Focused with text: '+text);};const_handleFocusOut=(text: any)=>{console.log('Left editor with text: '+text);};return(<><InlineInputEdittext={`Chuck Norris’ tears cure cancer. Too bad he has never cried.`}inputWidth="200px"inputHeight="25px"inputMaxLength={50}labelFontWeight="bold"inputFontWeight="bold"onFocus={_handleFocus}onFocusOut={_handleFocusOut}/></>)};

About

An inline, customizable and editable text component built in React.

Topics

Resources

Stars

8 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages