guestbell-forms 2.0.292 → 2.0.293

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -132,7 +132,7 @@ var TextRaw = /*#__PURE__*/function (_BaseInput) {
132
132
  _createClass(TextRaw, [{
133
133
  key: "componentDidUpdate",
134
134
  value: function componentDidUpdate(prevProps, prevState) {
135
- if (this.props.onNumberChange && (this.state.isValid !== prevState.isValid || this.state.value !== prevState.value || this.props.number !== Number(this.state.value))) {
135
+ if (this.props.onNumberChange && (this.state.isValid !== prevState.isValid || this.state.value !== prevState.value) && this.props.number !== Number(this.state.value)) {
136
136
  var num = Number(this.state.value);
137
137
 
138
138
  if (this.state.value === '') {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/components/text/Text.tsx"],"names":["PlusIcon","classNames","require","TextRaw","props","inputRef","current","nativeTextAreaValueSetter","Object","getOwnPropertyDescriptor","window","HTMLInputElement","prototype","set","call","event","Event","bubbles","dispatchEvent","e","stopClickPropagation","stopPropagation","onKeyDown","number","undefined","onNumberChange","value","toString","res","handleValueChange","state","isValid","errors","ignoreContext","formContext","updateCallback","componentId","validation","prevProps","prevState","Number","num","isNaN","validators","customValidators","required","clearButtonHidden","length","disabled","title","tooltip","getValidationClass","readOnly","className","containerClick","containerRef","before","id","placeholder","getDisabled","handleChange","handleBlur","handleFocus","type","onClick","maxLength","sizeFromValue","after","showClearButton","clearClick","renderDefaultValidation","label","renderLabel","BaseInput","assign","defaultProps","Text"],"mappings":"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","sourcesContent":["// Libs\r\nimport * as React from 'react';\r\n\r\n// Misc\r\nimport InputGroup from '../inputGroup/InputGroup';\r\nimport {\r\n BaseInputProps,\r\n BaseInputState,\r\n BaseInput,\r\n} from '../base/input/BaseInput';\r\nimport { withFormContext } from '../form/withFormContext';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\nimport Button from '../button';\r\nimport * as PlusIcon from 'material-design-icons/content/svg/production/ic_add_24px.svg';\r\nvar classNames = require('classnames');\r\n\r\nexport interface TextProps extends BaseInputProps<HTMLInputElement> {\r\n mask?: string;\r\n reverse?: boolean;\r\n placeholder?: string;\r\n stopClickPropagation?: boolean;\r\n inputRef?: React.Ref<HTMLInputElement>;\r\n readOnly?: boolean;\r\n type?: 'number' | 'text';\r\n maxLength?: number;\r\n showClearButton?: boolean;\r\n after?: React.ReactNode;\r\n before?: React.ReactNode;\r\n sizeFromValue?: boolean;\r\n onNumberChange?: (number: number, isValid: boolean) => void;\r\n number?: number;\r\n}\r\n\r\nexport interface TextState extends BaseInputState {}\r\n\r\nexport class TextRaw extends BaseInput<TextProps, TextState, HTMLInputElement> {\r\n public static defaultProps = Object.assign({}, BaseInput.defaultProps, {\r\n type: 'text',\r\n stopClickPropagation: true,\r\n readOnly: false,\r\n }) as TextProps;\r\n\r\n constructor(props: TextProps) {\r\n super(props);\r\n if (props.number !== undefined || props.onNumberChange) {\r\n const value = props.number?.toString() ?? '';\r\n const res = this.handleValueChange(value, true, [], props, true);\r\n this.state = {\r\n ...this.state,\r\n isValid: res.isValid,\r\n errors: res.errors,\r\n value,\r\n };\r\n if (!this.props.ignoreContext) {\r\n this.props.formContext &&\r\n this.props.formContext.updateCallback(this.componentId, {\r\n validation: {\r\n isValid: res.isValid,\r\n errors: res.errors,\r\n },\r\n });\r\n }\r\n }\r\n }\r\n\r\n public componentDidUpdate(prevProps: TextProps, prevState: TextState) {\r\n if (\r\n this.props.onNumberChange &&\r\n (this.state.isValid !== prevState.isValid ||\r\n this.state.value !== prevState.value ||\r\n this.props.number !== Number(this.state.value))\r\n ) {\r\n const num = Number(this.state.value);\r\n if (this.state.value === '') {\r\n this.props.onNumberChange(undefined, this.state.isValid);\r\n } else if (!isNaN(num)) {\r\n this.props.onNumberChange(num, this.state.isValid);\r\n }\r\n }\r\n if (\r\n (prevProps.number !== undefined || this.props.number !== undefined) &&\r\n this.props.number !== prevProps.number\r\n ) {\r\n this.handleValueChange(this.props.number?.toString() ?? '');\r\n }\r\n if (\r\n !this.props.onNumberChange &&\r\n (prevProps.value !== this.props.value ||\r\n prevProps.validators !== this.props.validators ||\r\n prevProps.customValidators !== this.props.customValidators ||\r\n prevProps.required !== this.props.required)\r\n ) {\r\n this.handleValueChange(this.props.value, true, [], this.props);\r\n }\r\n }\r\n\r\n public render() {\r\n const clearButtonHidden = !this.state.value?.length || this.props.disabled;\r\n return (\r\n <InputGroup title={this.props.title} tooltip={this.props.tooltip}>\r\n <div\r\n className={`input__base text-input ${this.getValidationClass()} \r\n ${this.props.readOnly ? 'text-input--readOnly' : ''} ${\r\n this.props.className ? this.props.className : ''\r\n }`}\r\n onClick={this.containerClick}\r\n ref={this.containerRef}\r\n >\r\n <div className=\"text-input__textWrapper\">\r\n {this.props.before}\r\n <input\r\n {...(this.props.id && {\r\n id: this.props.id,\r\n })}\r\n ref={this.inputRef}\r\n placeholder={this.props.placeholder}\r\n disabled={this.getDisabled()}\r\n required={this.props.required}\r\n className={this.state.value ? 'filled' : ''}\r\n onChange={this.handleChange}\r\n value={this.state.value ?? ''}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n readOnly={this.props.readOnly}\r\n onKeyDown={this.onKeyDown}\r\n type={this.props.type}\r\n onClick={this.props.onClick}\r\n maxLength={this.props.maxLength}\r\n size={\r\n this.props.sizeFromValue\r\n ? this.props.value?.length || 1\r\n : undefined\r\n }\r\n />\r\n {this.props.after}\r\n {!this.props.readOnly && this.props.showClearButton && (\r\n <Button\r\n {...(this.props.id && {\r\n id: this.props.id + '-clear-button',\r\n })}\r\n disabled={clearButtonHidden}\r\n unobtrusive={true}\r\n noShadow={true}\r\n onClick={this.clearClick}\r\n className={classNames(\r\n 'text-input__clearButton line-height--0',\r\n {\r\n 'text-input__clearButton--hidden': clearButtonHidden,\r\n }\r\n )}\r\n >\r\n <PlusIcon className=\"transform-rotate--45 line-height--0\" />\r\n </Button>\r\n )}\r\n <span className=\"highlight\" />\r\n <span className=\"bar\" />\r\n {this.renderDefaultValidation()}\r\n {this.props.label && (\r\n <label className={this.props.readOnly ? 'label--focused' : ''}>\r\n {this.renderLabel()}\r\n </label>\r\n )}\r\n </div>\r\n </div>\r\n </InputGroup>\r\n );\r\n }\r\n\r\n private clearClick = () => {\r\n if (this.inputRef.current) {\r\n var nativeTextAreaValueSetter = Object.getOwnPropertyDescriptor(\r\n window.HTMLInputElement.prototype,\r\n 'value'\r\n ).set;\r\n if (nativeTextAreaValueSetter) {\r\n nativeTextAreaValueSetter.call(this.inputRef.current, '');\r\n\r\n const event = new Event('input', { bubbles: true });\r\n this.inputRef.current.dispatchEvent(event);\r\n }\r\n }\r\n };\r\n\r\n private containerClick = (e: React.MouseEvent<HTMLDivElement>) =>\r\n this.props.stopClickPropagation && e.stopPropagation();\r\n\r\n private onKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) =>\r\n this.props.onKeyDown && this.props.onKeyDown(e);\r\n}\r\n\r\nexport const Text = withThemeContext<TextProps, InstanceType<typeof TextRaw>>(\r\n withFormContext<TextProps>(TextRaw),\r\n 'text'\r\n);\r\n\r\nexport default Text;\r\n"],"file":"Text.js"}
1
+ {"version":3,"sources":["../../../src/lib/components/text/Text.tsx"],"names":["PlusIcon","classNames","require","TextRaw","props","inputRef","current","nativeTextAreaValueSetter","Object","getOwnPropertyDescriptor","window","HTMLInputElement","prototype","set","call","event","Event","bubbles","dispatchEvent","e","stopClickPropagation","stopPropagation","onKeyDown","number","undefined","onNumberChange","value","toString","res","handleValueChange","state","isValid","errors","ignoreContext","formContext","updateCallback","componentId","validation","prevProps","prevState","Number","num","isNaN","validators","customValidators","required","clearButtonHidden","length","disabled","title","tooltip","getValidationClass","readOnly","className","containerClick","containerRef","before","id","placeholder","getDisabled","handleChange","handleBlur","handleFocus","type","onClick","maxLength","sizeFromValue","after","showClearButton","clearClick","renderDefaultValidation","label","renderLabel","BaseInput","assign","defaultProps","Text"],"mappings":"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","sourcesContent":["// Libs\r\nimport * as React from 'react';\r\n\r\n// Misc\r\nimport InputGroup from '../inputGroup/InputGroup';\r\nimport {\r\n BaseInputProps,\r\n BaseInputState,\r\n BaseInput,\r\n} from '../base/input/BaseInput';\r\nimport { withFormContext } from '../form/withFormContext';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\nimport Button from '../button';\r\nimport * as PlusIcon from 'material-design-icons/content/svg/production/ic_add_24px.svg';\r\nvar classNames = require('classnames');\r\n\r\nexport interface TextProps extends BaseInputProps<HTMLInputElement> {\r\n mask?: string;\r\n reverse?: boolean;\r\n placeholder?: string;\r\n stopClickPropagation?: boolean;\r\n inputRef?: React.Ref<HTMLInputElement>;\r\n readOnly?: boolean;\r\n type?: 'number' | 'text';\r\n maxLength?: number;\r\n showClearButton?: boolean;\r\n after?: React.ReactNode;\r\n before?: React.ReactNode;\r\n sizeFromValue?: boolean;\r\n onNumberChange?: (number: number, isValid: boolean) => void;\r\n number?: number;\r\n}\r\n\r\nexport interface TextState extends BaseInputState {}\r\n\r\nexport class TextRaw extends BaseInput<TextProps, TextState, HTMLInputElement> {\r\n public static defaultProps = Object.assign({}, BaseInput.defaultProps, {\r\n type: 'text',\r\n stopClickPropagation: true,\r\n readOnly: false,\r\n }) as TextProps;\r\n\r\n constructor(props: TextProps) {\r\n super(props);\r\n if (props.number !== undefined || props.onNumberChange) {\r\n const value = props.number?.toString() ?? '';\r\n const res = this.handleValueChange(value, true, [], props, true);\r\n this.state = {\r\n ...this.state,\r\n isValid: res.isValid,\r\n errors: res.errors,\r\n value,\r\n };\r\n if (!this.props.ignoreContext) {\r\n this.props.formContext &&\r\n this.props.formContext.updateCallback(this.componentId, {\r\n validation: {\r\n isValid: res.isValid,\r\n errors: res.errors,\r\n },\r\n });\r\n }\r\n }\r\n }\r\n\r\n public componentDidUpdate(prevProps: TextProps, prevState: TextState) {\r\n if (\r\n this.props.onNumberChange &&\r\n (this.state.isValid !== prevState.isValid ||\r\n this.state.value !== prevState.value) &&\r\n this.props.number !== Number(this.state.value)\r\n ) {\r\n const num = Number(this.state.value);\r\n if (this.state.value === '') {\r\n this.props.onNumberChange(undefined, this.state.isValid);\r\n } else if (!isNaN(num)) {\r\n this.props.onNumberChange(num, this.state.isValid);\r\n }\r\n }\r\n if (\r\n (prevProps.number !== undefined || this.props.number !== undefined) &&\r\n this.props.number !== prevProps.number\r\n ) {\r\n this.handleValueChange(this.props.number?.toString() ?? '');\r\n }\r\n if (\r\n !this.props.onNumberChange &&\r\n (prevProps.value !== this.props.value ||\r\n prevProps.validators !== this.props.validators ||\r\n prevProps.customValidators !== this.props.customValidators ||\r\n prevProps.required !== this.props.required)\r\n ) {\r\n this.handleValueChange(this.props.value, true, [], this.props);\r\n }\r\n }\r\n\r\n public render() {\r\n const clearButtonHidden = !this.state.value?.length || this.props.disabled;\r\n return (\r\n <InputGroup title={this.props.title} tooltip={this.props.tooltip}>\r\n <div\r\n className={`input__base text-input ${this.getValidationClass()} \r\n ${this.props.readOnly ? 'text-input--readOnly' : ''} ${\r\n this.props.className ? this.props.className : ''\r\n }`}\r\n onClick={this.containerClick}\r\n ref={this.containerRef}\r\n >\r\n <div className=\"text-input__textWrapper\">\r\n {this.props.before}\r\n <input\r\n {...(this.props.id && {\r\n id: this.props.id,\r\n })}\r\n ref={this.inputRef}\r\n placeholder={this.props.placeholder}\r\n disabled={this.getDisabled()}\r\n required={this.props.required}\r\n className={this.state.value ? 'filled' : ''}\r\n onChange={this.handleChange}\r\n value={this.state.value ?? ''}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n readOnly={this.props.readOnly}\r\n onKeyDown={this.onKeyDown}\r\n type={this.props.type}\r\n onClick={this.props.onClick}\r\n maxLength={this.props.maxLength}\r\n size={\r\n this.props.sizeFromValue\r\n ? this.props.value?.length || 1\r\n : undefined\r\n }\r\n />\r\n {this.props.after}\r\n {!this.props.readOnly && this.props.showClearButton && (\r\n <Button\r\n {...(this.props.id && {\r\n id: this.props.id + '-clear-button',\r\n })}\r\n disabled={clearButtonHidden}\r\n unobtrusive={true}\r\n noShadow={true}\r\n onClick={this.clearClick}\r\n className={classNames(\r\n 'text-input__clearButton line-height--0',\r\n {\r\n 'text-input__clearButton--hidden': clearButtonHidden,\r\n }\r\n )}\r\n >\r\n <PlusIcon className=\"transform-rotate--45 line-height--0\" />\r\n </Button>\r\n )}\r\n <span className=\"highlight\" />\r\n <span className=\"bar\" />\r\n {this.renderDefaultValidation()}\r\n {this.props.label && (\r\n <label className={this.props.readOnly ? 'label--focused' : ''}>\r\n {this.renderLabel()}\r\n </label>\r\n )}\r\n </div>\r\n </div>\r\n </InputGroup>\r\n );\r\n }\r\n\r\n private clearClick = () => {\r\n if (this.inputRef.current) {\r\n var nativeTextAreaValueSetter = Object.getOwnPropertyDescriptor(\r\n window.HTMLInputElement.prototype,\r\n 'value'\r\n ).set;\r\n if (nativeTextAreaValueSetter) {\r\n nativeTextAreaValueSetter.call(this.inputRef.current, '');\r\n\r\n const event = new Event('input', { bubbles: true });\r\n this.inputRef.current.dispatchEvent(event);\r\n }\r\n }\r\n };\r\n\r\n private containerClick = (e: React.MouseEvent<HTMLDivElement>) =>\r\n this.props.stopClickPropagation && e.stopPropagation();\r\n\r\n private onKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) =>\r\n this.props.onKeyDown && this.props.onKeyDown(e);\r\n}\r\n\r\nexport const Text = withThemeContext<TextProps, InstanceType<typeof TextRaw>>(\r\n withFormContext<TextProps>(TextRaw),\r\n 'text'\r\n);\r\n\r\nexport default Text;\r\n"],"file":"Text.js"}
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8"/>
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
- <title>guestbell-forms [6 May 2022 at 23:36]</title>
6
+ <title>guestbell-forms [6 May 2022 at 23:55]</title>
7
7
  <link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
8
8
 
9
9
  <script>
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.0.292",
2
+ "version": "2.0.293",
3
3
  "description": "React forms with validation as used in GuestBell",
4
4
  "keywords": [
5
5
  "react",