@salutejs/plasma-new-hope 0.143.0-canary.1430.10827337218.0 → 0.143.0-canary.1430.10829478218.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -93,13 +93,7 @@ var editableRoot = function editableRoot(typograpyVariants) {
93
93
  }
94
94
  };
95
95
  React.useEffect(function () {
96
- if (!inputRef.current) {
97
- return;
98
- }
99
- if (typeof value === 'undefined') {
100
- return;
101
- }
102
- if (value === inputRef.current.textContent) {
96
+ if (!inputRef.current || typeof value === 'undefined' || value === inputRef.current.textContent) {
103
97
  return;
104
98
  }
105
99
  inputRef.current.textContent = value;
@@ -1 +1 @@
1
- {"version":3,"file":"Editable.js","sources":["../../../src/components/Editable/Editable.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type {\n ChangeEvent,\n ClipboardEvent,\n FocusEvent,\n ClipboardEventHandler,\n FocusEventHandler,\n FormEventHandler,\n KeyboardEventHandler,\n} from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines';\nimport { constants } from '../../utils';\n\nimport type { EditableProps, TypographyVariants } from './Editable.types';\nimport { clearSelection, selectText } from './utils';\nimport { classes } from './Editable.tokens';\nimport { base, EditButton, StyledInput } from './Editable.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\n\nexport const editableRoot = (typograpyVariants: TypographyVariants) => (\n Root: RootProps<HTMLSpanElement, Omit<EditableProps<typeof typograpyVariants>, 'textComponent'>>,\n) =>\n forwardRef<HTMLInputElement, EditableProps<typeof typograpyVariants>>(\n (\n {\n textComponent,\n value,\n icon,\n maxLength,\n spellCheck = 'false',\n placeholder,\n name,\n onChange,\n onBlur,\n onPaste,\n ...props\n },\n outerRef,\n ) => {\n const Component = textComponent;\n\n const [isEditing, setIsEditing] = useState(false);\n\n const inputRef = useRef<HTMLDivElement>(null);\n const innerRef = useForkRef(inputRef, outerRef);\n\n const prevValueRef = useRef(value || '');\n\n const handlePaste: ClipboardEventHandler<HTMLDivElement> = (e) => {\n if (!inputRef.current) {\n return;\n }\n\n e.preventDefault();\n\n const text = e.clipboardData.getData('text/plain').replace(/[\\n\\r]/gi, '');\n\n if (document.queryCommandSupported('insertText')) {\n document.execCommand('insertText', false, text);\n } else {\n try {\n navigator.clipboard.writeText(text);\n } catch {\n inputRef.current.textContent = text;\n }\n }\n\n if (onPaste) {\n onPaste(e as ClipboardEvent<HTMLInputElement>);\n }\n };\n\n const handleBlur: FocusEventHandler<HTMLDivElement> = (e) => {\n setIsEditing(false);\n\n clearSelection();\n\n if (onBlur) {\n onBlur(e as FocusEvent<HTMLInputElement>);\n }\n };\n\n const handleFocus: FocusEventHandler = () => {\n setIsEditing(true);\n\n inputRef.current && selectText(inputRef.current);\n };\n\n const handleEditClick = () => {\n inputRef.current?.focus();\n };\n\n const handleKeyDown: KeyboardEventHandler = (e) => {\n if ([constants.keyCodes.Enter, constants.keyCodes.Escape].includes(e.keyCode)) {\n inputRef.current?.blur();\n }\n };\n\n const handleChange: FormEventHandler = (e) => {\n if (!inputRef.current) {\n return;\n }\n\n const contentLength = inputRef.current.textContent?.length || 0;\n\n if (!maxLength || contentLength <= maxLength) {\n prevValueRef.current = inputRef.current.textContent || '';\n\n onChange && onChange(e as ChangeEvent<HTMLInputElement>);\n } else {\n inputRef.current.textContent = prevValueRef.current;\n }\n };\n\n useEffect(() => {\n if (!inputRef.current) {\n return;\n }\n\n if (typeof value === 'undefined') {\n return;\n }\n\n if (value === inputRef.current.textContent) {\n return;\n }\n\n inputRef.current.textContent = value;\n }, [value, textComponent]);\n\n return (\n <Root {...props}>\n <Component\n ref={innerRef}\n className={classes.editableTextBox}\n role=\"textbox\"\n spellCheck={spellCheck}\n contentEditable\n onPaste={handlePaste}\n onInput={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n aria-label={placeholder}\n />\n <StyledInput type=\"hidden\" value={value ?? String(inputRef.current?.textContent)} name={name} />\n <EditButton onClick={handleEditClick} isHidden={isEditing}>\n {icon}\n </EditButton>\n </Root>\n );\n },\n );\n\nexport const editableConfig = (typographyVariants: TypographyVariants) => ({\n name: 'Editable',\n tag: 'span',\n layout: editableRoot(typographyVariants),\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n});\n"],"names":["editableRoot","typograpyVariants","Root","forwardRef","_ref","outerRef","_inputRef$current3","textComponent","value","icon","maxLength","_ref$spellCheck","spellCheck","placeholder","name","onChange","onBlur","onPaste","props","_objectWithoutProperties","_excluded","Component","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","inputRef","useRef","innerRef","useForkRef","prevValueRef","handlePaste","e","current","preventDefault","text","clipboardData","getData","replace","document","queryCommandSupported","execCommand","navigator","clipboard","writeText","_unused","textContent","handleBlur","clearSelection","handleFocus","selectText","handleEditClick","_inputRef$current","focus","handleKeyDown","constants","Enter","Escape","includes","keyCode","_inputRef$current2","blur","handleChange","_inputRef$current$tex","contentLength","length","useEffect","React","createElement","ref","className","classes","editableTextBox","role","contentEditable","onInput","onFocus","onKeyDown","StyledInput","type","String","EditButton","onClick","isHidden","editableConfig","typographyVariants","tag","layout","base","variations","view","css","viewCSS","size","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Editable.js","sources":["../../../src/components/Editable/Editable.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type {\n ChangeEvent,\n ClipboardEvent,\n FocusEvent,\n ClipboardEventHandler,\n FocusEventHandler,\n FormEventHandler,\n KeyboardEventHandler,\n} from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines';\nimport { constants } from '../../utils';\n\nimport type { EditableProps, TypographyVariants } from './Editable.types';\nimport { clearSelection, selectText } from './utils';\nimport { classes } from './Editable.tokens';\nimport { base, EditButton, StyledInput } from './Editable.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\n\nexport const editableRoot = (typograpyVariants: TypographyVariants) => (\n Root: RootProps<HTMLSpanElement, Omit<EditableProps<typeof typograpyVariants>, 'textComponent'>>,\n) =>\n forwardRef<HTMLInputElement, EditableProps<typeof typograpyVariants>>(\n (\n {\n textComponent,\n value,\n icon,\n maxLength,\n spellCheck = 'false',\n placeholder,\n name,\n onChange,\n onBlur,\n onPaste,\n ...props\n },\n outerRef,\n ) => {\n const Component = textComponent;\n\n const [isEditing, setIsEditing] = useState(false);\n\n const inputRef = useRef<HTMLDivElement>(null);\n const innerRef = useForkRef(inputRef, outerRef);\n\n const prevValueRef = useRef(value || '');\n\n const handlePaste: ClipboardEventHandler<HTMLDivElement> = (e) => {\n if (!inputRef.current) {\n return;\n }\n\n e.preventDefault();\n\n const text = e.clipboardData.getData('text/plain').replace(/[\\n\\r]/gi, '');\n\n if (document.queryCommandSupported('insertText')) {\n document.execCommand('insertText', false, text);\n } else {\n try {\n navigator.clipboard.writeText(text);\n } catch {\n inputRef.current.textContent = text;\n }\n }\n\n if (onPaste) {\n onPaste(e as ClipboardEvent<HTMLInputElement>);\n }\n };\n\n const handleBlur: FocusEventHandler<HTMLDivElement> = (e) => {\n setIsEditing(false);\n\n clearSelection();\n\n if (onBlur) {\n onBlur(e as FocusEvent<HTMLInputElement>);\n }\n };\n\n const handleFocus: FocusEventHandler = () => {\n setIsEditing(true);\n\n inputRef.current && selectText(inputRef.current);\n };\n\n const handleEditClick = () => {\n inputRef.current?.focus();\n };\n\n const handleKeyDown: KeyboardEventHandler = (e) => {\n if ([constants.keyCodes.Enter, constants.keyCodes.Escape].includes(e.keyCode)) {\n inputRef.current?.blur();\n }\n };\n\n const handleChange: FormEventHandler = (e) => {\n if (!inputRef.current) {\n return;\n }\n\n const contentLength = inputRef.current.textContent?.length || 0;\n\n if (!maxLength || contentLength <= maxLength) {\n prevValueRef.current = inputRef.current.textContent || '';\n\n onChange && onChange(e as ChangeEvent<HTMLInputElement>);\n } else {\n inputRef.current.textContent = prevValueRef.current;\n }\n };\n\n useEffect(() => {\n if (!inputRef.current || typeof value === 'undefined' || value === inputRef.current.textContent) {\n return;\n }\n\n inputRef.current.textContent = value;\n }, [value, textComponent]);\n\n return (\n <Root {...props}>\n <Component\n ref={innerRef}\n className={classes.editableTextBox}\n role=\"textbox\"\n spellCheck={spellCheck}\n contentEditable\n onPaste={handlePaste}\n onInput={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n aria-label={placeholder}\n />\n <StyledInput type=\"hidden\" value={value ?? String(inputRef.current?.textContent)} name={name} />\n <EditButton onClick={handleEditClick} isHidden={isEditing}>\n {icon}\n </EditButton>\n </Root>\n );\n },\n );\n\nexport const editableConfig = (typographyVariants: TypographyVariants) => ({\n name: 'Editable',\n tag: 'span',\n layout: editableRoot(typographyVariants),\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n});\n"],"names":["editableRoot","typograpyVariants","Root","forwardRef","_ref","outerRef","_inputRef$current3","textComponent","value","icon","maxLength","_ref$spellCheck","spellCheck","placeholder","name","onChange","onBlur","onPaste","props","_objectWithoutProperties","_excluded","Component","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","inputRef","useRef","innerRef","useForkRef","prevValueRef","handlePaste","e","current","preventDefault","text","clipboardData","getData","replace","document","queryCommandSupported","execCommand","navigator","clipboard","writeText","_unused","textContent","handleBlur","clearSelection","handleFocus","selectText","handleEditClick","_inputRef$current","focus","handleKeyDown","constants","Enter","Escape","includes","keyCode","_inputRef$current2","blur","handleChange","_inputRef$current$tex","contentLength","length","useEffect","React","createElement","ref","className","classes","editableTextBox","role","contentEditable","onInput","onFocus","onKeyDown","StyledInput","type","String","EditButton","onClick","isHidden","editableConfig","typographyVariants","tag","layout","base","variations","view","css","viewCSS","size","sizeCSS","defaults"],"mappings":"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"}
@@ -102,13 +102,7 @@ var editableRoot = exports.editableRoot = function editableRoot(typograpyVariant
102
102
  }
103
103
  };
104
104
  (0, _react.useEffect)(function () {
105
- if (!inputRef.current) {
106
- return;
107
- }
108
- if (typeof value === 'undefined') {
109
- return;
110
- }
111
- if (value === inputRef.current.textContent) {
105
+ if (!inputRef.current || typeof value === 'undefined' || value === inputRef.current.textContent) {
112
106
  return;
113
107
  }
114
108
  inputRef.current.textContent = value;
@@ -93,13 +93,7 @@ export var editableRoot = function editableRoot(typograpyVariants) {
93
93
  }
94
94
  };
95
95
  useEffect(function () {
96
- if (!inputRef.current) {
97
- return;
98
- }
99
- if (typeof value === 'undefined') {
100
- return;
101
- }
102
- if (value === inputRef.current.textContent) {
96
+ if (!inputRef.current || typeof value === 'undefined' || value === inputRef.current.textContent) {
103
97
  return;
104
98
  }
105
99
  inputRef.current.textContent = value;
@@ -89,13 +89,7 @@ var editableRoot = function editableRoot(typograpyVariants) {
89
89
  }
90
90
  };
91
91
  useEffect(function () {
92
- if (!inputRef.current) {
93
- return;
94
- }
95
- if (typeof value === 'undefined') {
96
- return;
97
- }
98
- if (value === inputRef.current.textContent) {
92
+ if (!inputRef.current || typeof value === 'undefined' || value === inputRef.current.textContent) {
99
93
  return;
100
94
  }
101
95
  inputRef.current.textContent = value;
@@ -1 +1 @@
1
- {"version":3,"file":"Editable.js","sources":["../../../src/components/Editable/Editable.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type {\n ChangeEvent,\n ClipboardEvent,\n FocusEvent,\n ClipboardEventHandler,\n FocusEventHandler,\n FormEventHandler,\n KeyboardEventHandler,\n} from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines';\nimport { constants } from '../../utils';\n\nimport type { EditableProps, TypographyVariants } from './Editable.types';\nimport { clearSelection, selectText } from './utils';\nimport { classes } from './Editable.tokens';\nimport { base, EditButton, StyledInput } from './Editable.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\n\nexport const editableRoot = (typograpyVariants: TypographyVariants) => (\n Root: RootProps<HTMLSpanElement, Omit<EditableProps<typeof typograpyVariants>, 'textComponent'>>,\n) =>\n forwardRef<HTMLInputElement, EditableProps<typeof typograpyVariants>>(\n (\n {\n textComponent,\n value,\n icon,\n maxLength,\n spellCheck = 'false',\n placeholder,\n name,\n onChange,\n onBlur,\n onPaste,\n ...props\n },\n outerRef,\n ) => {\n const Component = textComponent;\n\n const [isEditing, setIsEditing] = useState(false);\n\n const inputRef = useRef<HTMLDivElement>(null);\n const innerRef = useForkRef(inputRef, outerRef);\n\n const prevValueRef = useRef(value || '');\n\n const handlePaste: ClipboardEventHandler<HTMLDivElement> = (e) => {\n if (!inputRef.current) {\n return;\n }\n\n e.preventDefault();\n\n const text = e.clipboardData.getData('text/plain').replace(/[\\n\\r]/gi, '');\n\n if (document.queryCommandSupported('insertText')) {\n document.execCommand('insertText', false, text);\n } else {\n try {\n navigator.clipboard.writeText(text);\n } catch {\n inputRef.current.textContent = text;\n }\n }\n\n if (onPaste) {\n onPaste(e as ClipboardEvent<HTMLInputElement>);\n }\n };\n\n const handleBlur: FocusEventHandler<HTMLDivElement> = (e) => {\n setIsEditing(false);\n\n clearSelection();\n\n if (onBlur) {\n onBlur(e as FocusEvent<HTMLInputElement>);\n }\n };\n\n const handleFocus: FocusEventHandler = () => {\n setIsEditing(true);\n\n inputRef.current && selectText(inputRef.current);\n };\n\n const handleEditClick = () => {\n inputRef.current?.focus();\n };\n\n const handleKeyDown: KeyboardEventHandler = (e) => {\n if ([constants.keyCodes.Enter, constants.keyCodes.Escape].includes(e.keyCode)) {\n inputRef.current?.blur();\n }\n };\n\n const handleChange: FormEventHandler = (e) => {\n if (!inputRef.current) {\n return;\n }\n\n const contentLength = inputRef.current.textContent?.length || 0;\n\n if (!maxLength || contentLength <= maxLength) {\n prevValueRef.current = inputRef.current.textContent || '';\n\n onChange && onChange(e as ChangeEvent<HTMLInputElement>);\n } else {\n inputRef.current.textContent = prevValueRef.current;\n }\n };\n\n useEffect(() => {\n if (!inputRef.current) {\n return;\n }\n\n if (typeof value === 'undefined') {\n return;\n }\n\n if (value === inputRef.current.textContent) {\n return;\n }\n\n inputRef.current.textContent = value;\n }, [value, textComponent]);\n\n return (\n <Root {...props}>\n <Component\n ref={innerRef}\n className={classes.editableTextBox}\n role=\"textbox\"\n spellCheck={spellCheck}\n contentEditable\n onPaste={handlePaste}\n onInput={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n aria-label={placeholder}\n />\n <StyledInput type=\"hidden\" value={value ?? String(inputRef.current?.textContent)} name={name} />\n <EditButton onClick={handleEditClick} isHidden={isEditing}>\n {icon}\n </EditButton>\n </Root>\n );\n },\n );\n\nexport const editableConfig = (typographyVariants: TypographyVariants) => ({\n name: 'Editable',\n tag: 'span',\n layout: editableRoot(typographyVariants),\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n});\n"],"names":["editableRoot","typograpyVariants","Root","forwardRef","_ref","outerRef","_inputRef$current3","textComponent","value","icon","maxLength","_ref$spellCheck","spellCheck","placeholder","name","onChange","onBlur","onPaste","props","_objectWithoutProperties","_excluded","Component","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","inputRef","useRef","innerRef","useForkRef","prevValueRef","handlePaste","e","current","preventDefault","text","clipboardData","getData","replace","document","queryCommandSupported","execCommand","navigator","clipboard","writeText","_unused","textContent","handleBlur","clearSelection","handleFocus","selectText","handleEditClick","_inputRef$current","focus","handleKeyDown","constants","Enter","Escape","includes","keyCode","_inputRef$current2","blur","handleChange","_inputRef$current$tex","contentLength","length","useEffect","React","createElement","ref","className","classes","editableTextBox","role","contentEditable","onInput","onFocus","onKeyDown","StyledInput","type","String","EditButton","onClick","isHidden","editableConfig","typographyVariants","tag","layout","base","variations","view","css","viewCSS","size","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Editable.js","sources":["../../../src/components/Editable/Editable.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type {\n ChangeEvent,\n ClipboardEvent,\n FocusEvent,\n ClipboardEventHandler,\n FocusEventHandler,\n FormEventHandler,\n KeyboardEventHandler,\n} from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines';\nimport { constants } from '../../utils';\n\nimport type { EditableProps, TypographyVariants } from './Editable.types';\nimport { clearSelection, selectText } from './utils';\nimport { classes } from './Editable.tokens';\nimport { base, EditButton, StyledInput } from './Editable.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\n\nexport const editableRoot = (typograpyVariants: TypographyVariants) => (\n Root: RootProps<HTMLSpanElement, Omit<EditableProps<typeof typograpyVariants>, 'textComponent'>>,\n) =>\n forwardRef<HTMLInputElement, EditableProps<typeof typograpyVariants>>(\n (\n {\n textComponent,\n value,\n icon,\n maxLength,\n spellCheck = 'false',\n placeholder,\n name,\n onChange,\n onBlur,\n onPaste,\n ...props\n },\n outerRef,\n ) => {\n const Component = textComponent;\n\n const [isEditing, setIsEditing] = useState(false);\n\n const inputRef = useRef<HTMLDivElement>(null);\n const innerRef = useForkRef(inputRef, outerRef);\n\n const prevValueRef = useRef(value || '');\n\n const handlePaste: ClipboardEventHandler<HTMLDivElement> = (e) => {\n if (!inputRef.current) {\n return;\n }\n\n e.preventDefault();\n\n const text = e.clipboardData.getData('text/plain').replace(/[\\n\\r]/gi, '');\n\n if (document.queryCommandSupported('insertText')) {\n document.execCommand('insertText', false, text);\n } else {\n try {\n navigator.clipboard.writeText(text);\n } catch {\n inputRef.current.textContent = text;\n }\n }\n\n if (onPaste) {\n onPaste(e as ClipboardEvent<HTMLInputElement>);\n }\n };\n\n const handleBlur: FocusEventHandler<HTMLDivElement> = (e) => {\n setIsEditing(false);\n\n clearSelection();\n\n if (onBlur) {\n onBlur(e as FocusEvent<HTMLInputElement>);\n }\n };\n\n const handleFocus: FocusEventHandler = () => {\n setIsEditing(true);\n\n inputRef.current && selectText(inputRef.current);\n };\n\n const handleEditClick = () => {\n inputRef.current?.focus();\n };\n\n const handleKeyDown: KeyboardEventHandler = (e) => {\n if ([constants.keyCodes.Enter, constants.keyCodes.Escape].includes(e.keyCode)) {\n inputRef.current?.blur();\n }\n };\n\n const handleChange: FormEventHandler = (e) => {\n if (!inputRef.current) {\n return;\n }\n\n const contentLength = inputRef.current.textContent?.length || 0;\n\n if (!maxLength || contentLength <= maxLength) {\n prevValueRef.current = inputRef.current.textContent || '';\n\n onChange && onChange(e as ChangeEvent<HTMLInputElement>);\n } else {\n inputRef.current.textContent = prevValueRef.current;\n }\n };\n\n useEffect(() => {\n if (!inputRef.current || typeof value === 'undefined' || value === inputRef.current.textContent) {\n return;\n }\n\n inputRef.current.textContent = value;\n }, [value, textComponent]);\n\n return (\n <Root {...props}>\n <Component\n ref={innerRef}\n className={classes.editableTextBox}\n role=\"textbox\"\n spellCheck={spellCheck}\n contentEditable\n onPaste={handlePaste}\n onInput={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n aria-label={placeholder}\n />\n <StyledInput type=\"hidden\" value={value ?? String(inputRef.current?.textContent)} name={name} />\n <EditButton onClick={handleEditClick} isHidden={isEditing}>\n {icon}\n </EditButton>\n </Root>\n );\n },\n );\n\nexport const editableConfig = (typographyVariants: TypographyVariants) => ({\n name: 'Editable',\n tag: 'span',\n layout: editableRoot(typographyVariants),\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n});\n"],"names":["editableRoot","typograpyVariants","Root","forwardRef","_ref","outerRef","_inputRef$current3","textComponent","value","icon","maxLength","_ref$spellCheck","spellCheck","placeholder","name","onChange","onBlur","onPaste","props","_objectWithoutProperties","_excluded","Component","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","inputRef","useRef","innerRef","useForkRef","prevValueRef","handlePaste","e","current","preventDefault","text","clipboardData","getData","replace","document","queryCommandSupported","execCommand","navigator","clipboard","writeText","_unused","textContent","handleBlur","clearSelection","handleFocus","selectText","handleEditClick","_inputRef$current","focus","handleKeyDown","constants","Enter","Escape","includes","keyCode","_inputRef$current2","blur","handleChange","_inputRef$current$tex","contentLength","length","useEffect","React","createElement","ref","className","classes","editableTextBox","role","contentEditable","onInput","onFocus","onKeyDown","StyledInput","type","String","EditButton","onClick","isHidden","editableConfig","typographyVariants","tag","layout","base","variations","view","css","viewCSS","size","sizeCSS","defaults"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.143.0-canary.1430.10827337218.0",
3
+ "version": "0.143.0-canary.1430.10829478218.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -121,5 +121,5 @@
121
121
  "react-popper": "2.3.0",
122
122
  "storeon": "3.1.5"
123
123
  },
124
- "gitHead": "060fa569bd5564f192465ef524e389fc155acd23"
124
+ "gitHead": "d8ed4187eeda42d36d516792b34b2f9f586b06cd"
125
125
  }
@@ -102,13 +102,7 @@ var editableRoot = exports.editableRoot = function editableRoot(typograpyVariant
102
102
  }
103
103
  };
104
104
  (0, _react.useEffect)(function () {
105
- if (!inputRef.current) {
106
- return;
107
- }
108
- if (typeof value === 'undefined') {
109
- return;
110
- }
111
- if (value === inputRef.current.textContent) {
105
+ if (!inputRef.current || typeof value === 'undefined' || value === inputRef.current.textContent) {
112
106
  return;
113
107
  }
114
108
  inputRef.current.textContent = value;
@@ -93,13 +93,7 @@ export var editableRoot = function editableRoot(typograpyVariants) {
93
93
  }
94
94
  };
95
95
  useEffect(function () {
96
- if (!inputRef.current) {
97
- return;
98
- }
99
- if (typeof value === 'undefined') {
100
- return;
101
- }
102
- if (value === inputRef.current.textContent) {
96
+ if (!inputRef.current || typeof value === 'undefined' || value === inputRef.current.textContent) {
103
97
  return;
104
98
  }
105
99
  inputRef.current.textContent = value;
@@ -1 +1 @@
1
- {"version":3,"file":"Editable.d.ts","sourceRoot":"","sources":["../../../src/components/Editable/Editable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAYvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAO1E,eAAO,MAAM,YAAY,sBAAuB,kBAAkB,+MAsI7D,CAAC;AAEN,eAAO,MAAM,cAAc,uBAAwB,kBAAkB;;;;;;;;;;;;;;;;;CAiBnE,CAAC"}
1
+ {"version":3,"file":"Editable.d.ts","sourceRoot":"","sources":["../../../src/components/Editable/Editable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAYvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAO1E,eAAO,MAAM,YAAY,sBAAuB,kBAAkB,+MA8H7D,CAAC;AAEN,eAAO,MAAM,cAAc,uBAAwB,kBAAkB;;;;;;;;;;;;;;;;;CAiBnE,CAAC"}