@salutejs/plasma-new-hope 0.156.0-canary.1421.11105397584.0 → 0.156.0-canary.1421.11105922905.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. package/cjs/components/Drawer/Drawer.js +6 -4
  2. package/cjs/components/Drawer/Drawer.js.map +1 -1
  3. package/cjs/components/Drawer/Drawer.styles.js +11 -14
  4. package/cjs/components/Drawer/Drawer.styles.js.map +1 -1
  5. package/cjs/components/Drawer/Drawer.tokens.js +5 -1
  6. package/cjs/components/Drawer/Drawer.tokens.js.map +1 -1
  7. package/cjs/components/Drawer/hooks/useDrawer.js +11 -4
  8. package/cjs/components/Drawer/hooks/useDrawer.js.map +1 -1
  9. package/cjs/components/TextArea/TextArea.js +21 -4
  10. package/cjs/components/TextArea/TextArea.js.map +1 -1
  11. package/cjs/components/TextArea/utils/index.js +13 -0
  12. package/cjs/components/TextArea/utils/index.js.map +1 -0
  13. package/cjs/components/TextField/TextField.js +16 -0
  14. package/cjs/components/TextField/TextField.js.map +1 -1
  15. package/cjs/hooks/useForm.js +11 -8
  16. package/cjs/hooks/useForm.js.map +1 -1
  17. package/emotion/cjs/components/Drawer/Drawer.js +2 -0
  18. package/emotion/cjs/components/Drawer/Drawer.styles.js +11 -14
  19. package/emotion/cjs/components/Drawer/Drawer.tokens.js +5 -1
  20. package/emotion/cjs/components/Drawer/hooks/useDrawer.js +11 -4
  21. package/emotion/cjs/components/TextArea/TextArea.js +18 -1
  22. package/emotion/cjs/components/TextArea/utils/index.js +12 -0
  23. package/emotion/cjs/components/TextField/TextField.js +17 -1
  24. package/emotion/cjs/examples/plasma_b2c/components/Drawer/Drawer.stories.tsx +3 -1
  25. package/emotion/cjs/examples/plasma_web/components/Drawer/Drawer.stories.tsx +3 -1
  26. package/emotion/cjs/hooks/useForm.js +11 -8
  27. package/emotion/es/components/Drawer/Drawer.js +3 -1
  28. package/emotion/es/components/Drawer/Drawer.styles.js +11 -14
  29. package/emotion/es/components/Drawer/Drawer.tokens.js +5 -1
  30. package/emotion/es/components/Drawer/hooks/useDrawer.js +11 -4
  31. package/emotion/es/components/TextArea/TextArea.js +19 -2
  32. package/emotion/es/components/TextArea/utils/index.js +6 -0
  33. package/emotion/es/components/TextField/TextField.js +17 -1
  34. package/emotion/es/examples/plasma_b2c/components/Drawer/Drawer.stories.tsx +3 -1
  35. package/emotion/es/examples/plasma_web/components/Drawer/Drawer.stories.tsx +3 -1
  36. package/emotion/es/hooks/useForm.js +11 -8
  37. package/es/components/Drawer/Drawer.js +4 -2
  38. package/es/components/Drawer/Drawer.js.map +1 -1
  39. package/es/components/Drawer/Drawer.styles.js +11 -14
  40. package/es/components/Drawer/Drawer.styles.js.map +1 -1
  41. package/es/components/Drawer/Drawer.tokens.js +5 -1
  42. package/es/components/Drawer/Drawer.tokens.js.map +1 -1
  43. package/es/components/Drawer/hooks/useDrawer.js +11 -4
  44. package/es/components/Drawer/hooks/useDrawer.js.map +1 -1
  45. package/es/components/TextArea/TextArea.js +18 -1
  46. package/es/components/TextArea/TextArea.js.map +1 -1
  47. package/es/components/TextArea/utils/index.js +9 -0
  48. package/es/components/TextArea/utils/index.js.map +1 -0
  49. package/es/components/TextField/TextField.js +16 -0
  50. package/es/components/TextField/TextField.js.map +1 -1
  51. package/es/hooks/useForm.js +11 -8
  52. package/es/hooks/useForm.js.map +1 -1
  53. package/package.json +2 -2
  54. package/styled-components/cjs/components/Drawer/Drawer.js +2 -0
  55. package/styled-components/cjs/components/Drawer/Drawer.styles.js +11 -14
  56. package/styled-components/cjs/components/Drawer/Drawer.tokens.js +5 -1
  57. package/styled-components/cjs/components/Drawer/hooks/useDrawer.js +11 -4
  58. package/styled-components/cjs/components/TextArea/TextArea.js +17 -0
  59. package/styled-components/cjs/components/TextArea/utils/index.js +12 -0
  60. package/styled-components/cjs/components/TextField/TextField.js +16 -0
  61. package/styled-components/cjs/examples/plasma_b2c/components/Drawer/Drawer.stories.tsx +3 -1
  62. package/styled-components/cjs/examples/plasma_web/components/Drawer/Drawer.stories.tsx +3 -1
  63. package/styled-components/cjs/hooks/useForm.js +11 -8
  64. package/styled-components/es/components/Drawer/Drawer.js +3 -1
  65. package/styled-components/es/components/Drawer/Drawer.styles.js +11 -14
  66. package/styled-components/es/components/Drawer/Drawer.tokens.js +5 -1
  67. package/styled-components/es/components/Drawer/hooks/useDrawer.js +11 -4
  68. package/styled-components/es/components/TextArea/TextArea.js +18 -1
  69. package/styled-components/es/components/TextArea/utils/index.js +6 -0
  70. package/styled-components/es/components/TextField/TextField.js +16 -0
  71. package/styled-components/es/examples/plasma_b2c/components/Drawer/Drawer.stories.tsx +3 -1
  72. package/styled-components/es/examples/plasma_web/components/Drawer/Drawer.stories.tsx +3 -1
  73. package/styled-components/es/hooks/useForm.js +11 -8
  74. package/types/components/Drawer/Drawer.d.ts.map +1 -1
  75. package/types/components/Drawer/Drawer.styles.d.ts.map +1 -1
  76. package/types/components/Drawer/Drawer.tokens.d.ts +4 -0
  77. package/types/components/Drawer/Drawer.tokens.d.ts.map +1 -1
  78. package/types/components/Drawer/hooks/useDrawer.d.ts.map +1 -1
  79. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  80. package/types/components/TextArea/utils/index.d.ts +2 -0
  81. package/types/components/TextArea/utils/index.d.ts.map +1 -0
  82. package/types/components/TextField/TextField.d.ts.map +1 -1
  83. package/types/hooks/useForm.d.ts.map +1 -1
@@ -8,11 +8,10 @@ var plasmaCore = require('@salutejs/plasma-core');
8
8
  require('@linaria/core');
9
9
  var common = require('../../engines/common.js');
10
10
  var PopupContext = require('../Popup/PopupContext.js');
11
- var getSizeValueFromProp = require('../../utils/getSizeValueFromProp.js');
12
- require('../../utils/react.js');
11
+ var index = require('../../utils/index.js');
13
12
  require('react-dom');
14
13
  require('@linaria/react');
15
- var index = require('../Popup/utils/index.js');
14
+ var index$1 = require('../Popup/utils/index.js');
16
15
  var Overlay = require('../Overlay/Overlay.js');
17
16
  var Panel$1 = require('../Panel/Panel.js');
18
17
  require('focus-visible');
@@ -24,6 +23,7 @@ var base$2 = require('./variations/_borderRadius/base.js');
24
23
  var Drawer_styles = require('./Drawer.styles.js');
25
24
  var DrawerContext = require('./DrawerContext.js');
26
25
  var useDrawer = require('./hooks/useDrawer.js');
26
+ var getSizeValueFromProp = require('../../utils/getSizeValueFromProp.js');
27
27
 
28
28
  var _excluded = ["id", "zIndex", "popupInfo", "withBlur", "children", "view", "size", "width", "height", "isOpen", "opened", "initialFocusRef", "focusAfterRef", "className", "onClose", "onOverlayClick", "onEscKeyDown", "offset", "frame", "borderRadius", "placement", "closeOnEsc", "closeOnOverlayClick", "asModal"];
29
29
 
@@ -71,6 +71,7 @@ var drawerRoot = function drawerRoot(Root) {
71
71
  var overlayBackgroundToken = withBlur ? "var(".concat(Drawer_tokens.tokens.drawerOverlayWithBlurColor, ")") : "var(".concat(Drawer_tokens.tokens.drawerOverlayColor, ")");
72
72
  var innerWidth = width ? getSizeValueFromProp.getSizeValueFromProp(width) : '100%';
73
73
  var innerHeight = height ? getSizeValueFromProp.getSizeValueFromProp(height) : '100%';
74
+ var placementClass = placement ? Drawer_tokens.classes["".concat(placement, "Placement")] : undefined;
74
75
  var _useDrawer = useDrawer.useDrawer({
75
76
  id: innerId,
76
77
  isOpen: innerIsOpen,
@@ -96,6 +97,7 @@ var drawerRoot = function drawerRoot(Root) {
96
97
  return /*#__PURE__*/React.createElement(Drawer_styles.StyledPopup, _rollupPluginBabelHelpers.extends({
97
98
  id: innerId,
98
99
  ref: asModal ? innerRef : outerRef,
100
+ className: index.cx(placementClass),
99
101
  opened: innerIsOpen,
100
102
  zIndex: zIndex,
101
103
  placement: placement,
@@ -109,7 +111,7 @@ var drawerRoot = function drawerRoot(Root) {
109
111
  view: view
110
112
  }, /*#__PURE__*/React.createElement(Overlay.Overlay, {
111
113
  className: Drawer_tokens.classes.overlay,
112
- zIndex: zIndex || index.DEFAULT_Z_INDEX,
114
+ zIndex: zIndex || index$1.DEFAULT_Z_INDEX,
113
115
  backgroundColorProperty: overlayBackgroundToken,
114
116
  withBlur: withBlur,
115
117
  transparent: transparent,
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.js","sources":["../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport { useFocusTrap, useForkRef, safeUseId } from '@salutejs/plasma-core';\n\nimport { component, mergeConfig } from '../../engines';\nimport type { RootProps } from '../../engines';\nimport { usePopupContext } from '../Popup';\nimport { Overlay } from '../Overlay';\nimport { DEFAULT_Z_INDEX } from '../Popup/utils';\nimport { panelConfig } from '../Panel';\nimport { getSizeValueFromProp } from '../../utils';\n\nimport { classes, tokens } from './Drawer.tokens';\nimport type { DrawerProps } from './Drawer.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as borderRadiusCSS } from './variations/_borderRadius/base';\nimport { StyledPopup } from './Drawer.styles';\nimport { getIdLastDrawer } from './DrawerContext';\nimport { useDrawer } from './hooks';\n\n// issue #823\nconst mergedPanelConfig = mergeConfig(panelConfig);\nconst Panel = component(mergedPanelConfig);\n\nexport const drawerRoot = (Root: RootProps<HTMLDivElement, DrawerProps>) =>\n forwardRef<HTMLDivElement, DrawerProps>(\n (\n {\n id,\n zIndex,\n popupInfo,\n withBlur,\n children,\n view,\n size,\n width,\n height,\n isOpen,\n opened,\n initialFocusRef,\n focusAfterRef,\n className,\n onClose,\n onOverlayClick,\n onEscKeyDown,\n offset,\n frame,\n borderRadius = 'none',\n placement = 'right',\n closeOnEsc = true,\n closeOnOverlayClick = true,\n asModal = true,\n ...rest\n },\n outerRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n\n const trapRef = useFocusTrap(true, initialFocusRef, focusAfterRef);\n const popupController = usePopupContext();\n\n const innerRef = useForkRef<HTMLDivElement>(trapRef, outerRef);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const overlayBackgroundToken = withBlur\n ? `var(${tokens.drawerOverlayWithBlurColor})`\n : `var(${tokens.drawerOverlayColor})`;\n const innerWidth = width ? getSizeValueFromProp(width) : '100%';\n const innerHeight = height ? getSizeValueFromProp(height) : '100%';\n\n const { drawerInfo } = useDrawer({\n id: innerId,\n isOpen: innerIsOpen,\n closeOnEsc,\n onEscKeyDown,\n onClose,\n popupInfo,\n disableScroll: asModal,\n });\n const transparent = useMemo(() => getIdLastDrawer(popupController.items) !== innerId, [\n innerId,\n popupController.items,\n ]);\n\n const onDrawerOverlayKeyDown = (event: React.MouseEvent<HTMLDivElement>) => {\n if (onOverlayClick) {\n onOverlayClick(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n };\n\n return (\n <StyledPopup\n id={innerId}\n ref={asModal ? innerRef : outerRef}\n opened={innerIsOpen}\n zIndex={zIndex}\n placement={placement}\n popupInfo={drawerInfo}\n frame={frame}\n width={innerWidth}\n height={innerHeight}\n offset={offset}\n withAnimation\n overlay={\n asModal && (\n <Root view={view}>\n <Overlay\n className={classes.overlay}\n zIndex={zIndex || DEFAULT_Z_INDEX}\n backgroundColorProperty={overlayBackgroundToken}\n withBlur={withBlur}\n transparent={transparent}\n isClickable={closeOnOverlayClick}\n onOverlayClick={onDrawerOverlayKeyDown}\n />\n </Root>\n )\n }\n {...rest}\n >\n <Root\n view={view}\n size={size}\n style={{ width: innerWidth, height: innerHeight }}\n borderRadius={borderRadius}\n >\n <Panel width={innerWidth} height={innerHeight} className={className}>\n {children}\n </Panel>\n </Root>\n </StyledPopup>\n );\n },\n );\n\nexport const drawerConfig = {\n name: 'Drawer',\n tag: 'div',\n layout: drawerRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n borderRadius: {\n css: borderRadiusCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n borderRadius: 'none',\n },\n};\n"],"names":["mergedPanelConfig","mergeConfig","panelConfig","Panel","component","drawerRoot","Root","forwardRef","_ref","outerRef","id","zIndex","popupInfo","withBlur","children","view","size","width","height","isOpen","opened","initialFocusRef","focusAfterRef","className","onClose","onOverlayClick","onEscKeyDown","offset","frame","_ref$borderRadius","borderRadius","_ref$placement","placement","_ref$closeOnEsc","closeOnEsc","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$asModal","asModal","rest","_objectWithoutProperties","_excluded","innerIsOpen","Boolean","trapRef","useFocusTrap","popupController","usePopupContext","innerRef","useForkRef","uniqId","safeUseId","innerId","overlayBackgroundToken","concat","tokens","drawerOverlayWithBlurColor","drawerOverlayColor","innerWidth","getSizeValueFromProp","innerHeight","_useDrawer","useDrawer","disableScroll","drawerInfo","transparent","useMemo","getIdLastDrawer","items","onDrawerOverlayKeyDown","event","React","createElement","StyledPopup","_extends","ref","withAnimation","overlay","Overlay","classes","DEFAULT_Z_INDEX","backgroundColorProperty","isClickable","style","drawerConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","borderRadiusCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Drawer.js","sources":["../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport { useFocusTrap, useForkRef, safeUseId } from '@salutejs/plasma-core';\n\nimport { component, mergeConfig } from '../../engines';\nimport type { RootProps } from '../../engines';\nimport { usePopupContext } from '../Popup';\nimport { Overlay } from '../Overlay';\nimport { DEFAULT_Z_INDEX } from '../Popup/utils';\nimport { panelConfig } from '../Panel';\nimport { cx, getSizeValueFromProp } from '../../utils';\n\nimport { classes, tokens } from './Drawer.tokens';\nimport type { DrawerProps } from './Drawer.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as borderRadiusCSS } from './variations/_borderRadius/base';\nimport { StyledPopup } from './Drawer.styles';\nimport { getIdLastDrawer } from './DrawerContext';\nimport { useDrawer } from './hooks';\n\n// issue #823\nconst mergedPanelConfig = mergeConfig(panelConfig);\nconst Panel = component(mergedPanelConfig);\n\nexport const drawerRoot = (Root: RootProps<HTMLDivElement, DrawerProps>) =>\n forwardRef<HTMLDivElement, DrawerProps>(\n (\n {\n id,\n zIndex,\n popupInfo,\n withBlur,\n children,\n view,\n size,\n width,\n height,\n isOpen,\n opened,\n initialFocusRef,\n focusAfterRef,\n className,\n onClose,\n onOverlayClick,\n onEscKeyDown,\n offset,\n frame,\n borderRadius = 'none',\n placement = 'right',\n closeOnEsc = true,\n closeOnOverlayClick = true,\n asModal = true,\n ...rest\n },\n outerRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n\n const trapRef = useFocusTrap(true, initialFocusRef, focusAfterRef);\n const popupController = usePopupContext();\n\n const innerRef = useForkRef<HTMLDivElement>(trapRef, outerRef);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const overlayBackgroundToken = withBlur\n ? `var(${tokens.drawerOverlayWithBlurColor})`\n : `var(${tokens.drawerOverlayColor})`;\n const innerWidth = width ? getSizeValueFromProp(width) : '100%';\n const innerHeight = height ? getSizeValueFromProp(height) : '100%';\n\n const placementClass = placement ? classes[`${placement}Placement` as keyof typeof classes] : undefined;\n\n const { drawerInfo } = useDrawer({\n id: innerId,\n isOpen: innerIsOpen,\n closeOnEsc,\n onEscKeyDown,\n onClose,\n popupInfo,\n disableScroll: asModal,\n });\n const transparent = useMemo(() => getIdLastDrawer(popupController.items) !== innerId, [\n innerId,\n popupController.items,\n ]);\n\n const onDrawerOverlayKeyDown = (event: React.MouseEvent<HTMLDivElement>) => {\n if (onOverlayClick) {\n onOverlayClick(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n };\n\n return (\n <StyledPopup\n id={innerId}\n ref={asModal ? innerRef : outerRef}\n className={cx(placementClass)}\n opened={innerIsOpen}\n zIndex={zIndex}\n placement={placement}\n popupInfo={drawerInfo}\n frame={frame}\n width={innerWidth}\n height={innerHeight}\n offset={offset}\n withAnimation\n overlay={\n asModal && (\n <Root view={view}>\n <Overlay\n className={classes.overlay}\n zIndex={zIndex || DEFAULT_Z_INDEX}\n backgroundColorProperty={overlayBackgroundToken}\n withBlur={withBlur}\n transparent={transparent}\n isClickable={closeOnOverlayClick}\n onOverlayClick={onDrawerOverlayKeyDown}\n />\n </Root>\n )\n }\n {...rest}\n >\n <Root\n view={view}\n size={size}\n style={{ width: innerWidth, height: innerHeight }}\n borderRadius={borderRadius}\n >\n <Panel width={innerWidth} height={innerHeight} className={className}>\n {children}\n </Panel>\n </Root>\n </StyledPopup>\n );\n },\n );\n\nexport const drawerConfig = {\n name: 'Drawer',\n tag: 'div',\n layout: drawerRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n borderRadius: {\n css: borderRadiusCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n borderRadius: 'none',\n },\n};\n"],"names":["mergedPanelConfig","mergeConfig","panelConfig","Panel","component","drawerRoot","Root","forwardRef","_ref","outerRef","id","zIndex","popupInfo","withBlur","children","view","size","width","height","isOpen","opened","initialFocusRef","focusAfterRef","className","onClose","onOverlayClick","onEscKeyDown","offset","frame","_ref$borderRadius","borderRadius","_ref$placement","placement","_ref$closeOnEsc","closeOnEsc","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$asModal","asModal","rest","_objectWithoutProperties","_excluded","innerIsOpen","Boolean","trapRef","useFocusTrap","popupController","usePopupContext","innerRef","useForkRef","uniqId","safeUseId","innerId","overlayBackgroundToken","concat","tokens","drawerOverlayWithBlurColor","drawerOverlayColor","innerWidth","getSizeValueFromProp","innerHeight","placementClass","classes","undefined","_useDrawer","useDrawer","disableScroll","drawerInfo","transparent","useMemo","getIdLastDrawer","items","onDrawerOverlayKeyDown","event","React","createElement","StyledPopup","_extends","ref","cx","withAnimation","overlay","Overlay","DEFAULT_Z_INDEX","backgroundColorProperty","isClickable","style","drawerConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","borderRadiusCSS","defaults"],"mappings":"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"}
@@ -53,27 +53,24 @@ var animationVariants = {
53
53
  }
54
54
  }
55
55
  };
56
+ var templateAnimationStyle = function templateAnimationStyle(placement) {
57
+ return "\n &.".concat(Drawer_tokens.classes["".concat(placement, "Placement")], " {\n && .").concat(Popup_tokens.classes.root, " {\n animation: ").concat(placement, "ShowAnimation 0.2s forwards;\n }\n\n &&.").concat(Popup_tokens.classes.endAnimation, " .").concat(Popup_tokens.classes.root, " {\n animation: ").concat(placement, "HideAnimation 0.2s forwards;\n }\n\n @keyframes ").concat(placement, "ShowAnimation {\n 0% {\n transform: ").concat(animationVariants[placement].show.start, ";\n opacity: 0;\n }\n\n 100% {\n transform: ").concat(animationVariants[placement].show.end, ";\n opacity: 1;\n }\n }\n\n @keyframes ").concat(placement, "HideAnimation {\n 0% {\n transform: ").concat(animationVariants[placement].hide.start, ";\n opacity: 1;\n }\n\n 100% {\n transform: ").concat(animationVariants[placement].hide.end, ";\n opacity: 0;\n }\n } \n }\n ");
58
+ };
59
+ var getAnimationStyles = function getAnimationStyles() {
60
+ return Object.keys(animationVariants).reduce(function (acc, placement) {
61
+ acc += templateAnimationStyle(placement);
62
+ return acc;
63
+ }, '');
64
+ };
56
65
  var StyledPopup = /*#__PURE__*/styled(Popup).withConfig({
57
66
  componentId: "plasma-new-hope__sc-rwu6sj-0"
58
- })(["&&.", "{animation:fadeIn 0.2s forwards;}&&.", " .", "{animation:fadeOut 0.2s forwards;}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes fadeOut{from{opacity:1;}to{opacity:0;}}&& .", ",&& .", " > div{width:", ";height:", ";}&& .", "{animation:showAnimation 0.2s forwards;}&&.", " .", "{animation:hideAnimation 0.2s forwards;}@keyframes showAnimation{0%{transform:", ";opacity:0;}100%{transform:", ";opacity:1;}}@keyframes hideAnimation{0%{transform:", ";opacity:1;}100%{transform:", ";opacity:0;}}"], Drawer_tokens.classes.overlay, Popup_tokens.classes.endAnimation, Drawer_tokens.classes.overlay, Popup_tokens.classes.root, Popup_tokens.classes.root, function (_ref) {
67
+ })(["&&.", "{animation:fadeIn 0.2s forwards;}&&.", " .", "{animation:fadeOut 0.2s forwards;}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes fadeOut{from{opacity:1;}to{opacity:0;}}&& .", ",&& .", " > div{width:", ";height:", ";}", ""], Drawer_tokens.classes.overlay, Popup_tokens.classes.endAnimation, Drawer_tokens.classes.overlay, Popup_tokens.classes.root, Popup_tokens.classes.root, function (_ref) {
59
68
  var width = _ref.width;
60
69
  return width;
61
70
  }, function (_ref2) {
62
71
  var height = _ref2.height;
63
72
  return height;
64
- }, Popup_tokens.classes.root, Popup_tokens.classes.endAnimation, Popup_tokens.classes.root, function (_ref3) {
65
- var placement = _ref3.placement;
66
- return animationVariants[placement].show.start;
67
- }, function (_ref4) {
68
- var placement = _ref4.placement;
69
- return animationVariants[placement].show.end;
70
- }, function (_ref5) {
71
- var placement = _ref5.placement;
72
- return animationVariants[placement].hide.start;
73
- }, function (_ref6) {
74
- var placement = _ref6.placement;
75
- return animationVariants[placement].hide.end;
76
- });
73
+ }, /*#__PURE__*/getAnimationStyles());
77
74
 
78
75
  exports.StyledPopup = StyledPopup;
79
76
  //# sourceMappingURL=Drawer.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.styles.js","sources":["../../../src/components/Drawer/Drawer.styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport { component } from '../../engines';\nimport { popupClasses, popupConfig } from '../Popup';\n\nimport type { DrawerPlacement } from './Drawer.types';\nimport { classes } from './Drawer.tokens';\n\nconst Popup = component(popupConfig);\n\nconst animationVariants = {\n right: {\n show: {\n start: 'translate(100%, -50%)',\n end: 'translate(0, -50%)',\n },\n hide: {\n start: 'translate(0, -50%)',\n end: 'translate(100%, -50%)',\n },\n },\n bottom: {\n show: {\n start: 'translate(-50%, 100%)',\n end: 'translate(-50%, 0)',\n },\n hide: {\n start: 'translate(-50%, 0)',\n end: 'translate(-50%, 100%)',\n },\n },\n left: {\n show: {\n start: 'translate(-100%, -50%)',\n end: 'translate(0, -50%)',\n },\n hide: {\n start: 'translate(0, -50%)',\n end: 'translate(-100%, -50%)',\n },\n },\n top: {\n show: {\n start: 'translate(-50%, -100%)',\n end: 'translate(-50%, 0)',\n },\n hide: {\n start: 'translate(-50%, 0)',\n end: 'translate(-50%, -100%)',\n },\n },\n};\n\nexport const StyledPopup = styled(Popup)<{\n placement: DrawerPlacement;\n width?: number | string;\n height?: number | string;\n}>`\n &&.${classes.overlay} {\n animation: fadeIn 0.2s forwards;\n }\n\n &&.${popupClasses.endAnimation} .${classes.overlay} {\n animation: fadeOut 0.2s forwards;\n }\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n }\n\n @keyframes fadeOut {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n }\n\n && .${popupClasses.root}, && .${popupClasses.root} > div {\n width: ${({ width }) => width};\n height: ${({ height }) => height};\n }\n\n && .${popupClasses.root} {\n animation: showAnimation 0.2s forwards;\n }\n\n &&.${popupClasses.endAnimation} .${popupClasses.root} {\n animation: hideAnimation 0.2s forwards;\n }\n\n @keyframes showAnimation {\n 0% {\n transform: ${({ placement }) => animationVariants[placement].show.start};\n opacity: 0;\n }\n\n 100% {\n transform: ${({ placement }) => animationVariants[placement].show.end};\n opacity: 1;\n }\n }\n\n @keyframes hideAnimation {\n 0% {\n transform: ${({ placement }) => animationVariants[placement].hide.start};\n opacity: 1;\n }\n\n 100% {\n transform: ${({ placement }) => animationVariants[placement].hide.end};\n opacity: 0;\n }\n }\n`;\n"],"names":["Popup","component","popupConfig","animationVariants","right","show","start","end","hide","bottom","left","top","StyledPopup","styled","withConfig","componentId","classes","overlay","popupClasses","endAnimation","root","_ref","width","_ref2","height","_ref3","placement","_ref4","_ref5","_ref6"],"mappings":"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"}
1
+ {"version":3,"file":"Drawer.styles.js","sources":["../../../src/components/Drawer/Drawer.styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport { component } from '../../engines';\nimport { popupClasses, popupConfig } from '../Popup';\n\nimport type { DrawerPlacement } from './Drawer.types';\nimport { classes } from './Drawer.tokens';\n\nconst Popup = component(popupConfig);\n\nconst animationVariants = {\n right: {\n show: {\n start: 'translate(100%, -50%)',\n end: 'translate(0, -50%)',\n },\n hide: {\n start: 'translate(0, -50%)',\n end: 'translate(100%, -50%)',\n },\n },\n bottom: {\n show: {\n start: 'translate(-50%, 100%)',\n end: 'translate(-50%, 0)',\n },\n hide: {\n start: 'translate(-50%, 0)',\n end: 'translate(-50%, 100%)',\n },\n },\n left: {\n show: {\n start: 'translate(-100%, -50%)',\n end: 'translate(0, -50%)',\n },\n hide: {\n start: 'translate(0, -50%)',\n end: 'translate(-100%, -50%)',\n },\n },\n top: {\n show: {\n start: 'translate(-50%, -100%)',\n end: 'translate(-50%, 0)',\n },\n hide: {\n start: 'translate(-50%, 0)',\n end: 'translate(-50%, -100%)',\n },\n },\n};\n\nconst templateAnimationStyle = (placement: DrawerPlacement) => `\n &.${classes[`${placement}Placement` as keyof typeof classes]} {\n && .${popupClasses.root} {\n animation: ${placement}ShowAnimation 0.2s forwards;\n }\n\n &&.${popupClasses.endAnimation} .${popupClasses.root} {\n animation: ${placement}HideAnimation 0.2s forwards;\n }\n\n @keyframes ${placement}ShowAnimation {\n 0% {\n transform: ${animationVariants[placement].show.start};\n opacity: 0;\n }\n\n 100% {\n transform: ${animationVariants[placement].show.end};\n opacity: 1;\n }\n }\n\n @keyframes ${placement}HideAnimation {\n 0% {\n transform: ${animationVariants[placement].hide.start};\n opacity: 1;\n }\n\n 100% {\n transform: ${animationVariants[placement].hide.end};\n opacity: 0;\n }\n } \n }\n `;\n\nconst getAnimationStyles = () => {\n return Object.keys(animationVariants).reduce((acc, placement) => {\n acc += templateAnimationStyle(placement as DrawerPlacement);\n return acc;\n }, '');\n};\n\nexport const StyledPopup = styled(Popup)<{\n placement: DrawerPlacement;\n width?: number | string;\n height?: number | string;\n}>`\n &&.${classes.overlay} {\n animation: fadeIn 0.2s forwards;\n }\n\n &&.${popupClasses.endAnimation} .${classes.overlay} {\n animation: fadeOut 0.2s forwards;\n }\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n }\n\n @keyframes fadeOut {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n }\n\n && .${popupClasses.root}, && .${popupClasses.root} > div {\n width: ${({ width }) => width};\n height: ${({ height }) => height};\n }\n\n ${getAnimationStyles()}\n`;\n"],"names":["Popup","component","popupConfig","animationVariants","right","show","start","end","hide","bottom","left","top","templateAnimationStyle","placement","concat","classes","popupClasses","root","endAnimation","getAnimationStyles","Object","keys","reduce","acc","StyledPopup","styled","withConfig","componentId","overlay","_ref","width","_ref2","height"],"mappings":"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"}
@@ -9,7 +9,11 @@ var classes = {
9
9
  overlay: 'drawer-overlay',
10
10
  horizontal: 'drawer-horizontal',
11
11
  hasHeader: 'drawer-has-header',
12
- isRightClose: 'drawer-right-close-button'
12
+ isRightClose: 'drawer-right-close-button',
13
+ topPlacement: 'drawer-top-placement',
14
+ bottomPlacement: 'drawer-bottom-placement',
15
+ rightPlacement: 'drawer-right-placement',
16
+ leftPlacement: 'drawer-left-placement'
13
17
  };
14
18
  var tokens = {
15
19
  drawerOverlayWithBlurColor: '--plasma-drawer-overlay-with-blur-color',
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.tokens.js","sources":["../../../src/components/Drawer/Drawer.tokens.ts"],"sourcesContent":["export const classes = {\n content: 'drawer-content',\n header: 'drawer-header',\n footer: 'drawer-footer',\n overlay: 'drawer-overlay',\n horizontal: 'drawer-horizontal',\n hasHeader: 'drawer-has-header',\n isRightClose: 'drawer-right-close-button',\n};\n\nexport const tokens = {\n drawerOverlayWithBlurColor: '--plasma-drawer-overlay-with-blur-color',\n drawerOverlayColor: '--plasma-drawer-overlay-color',\n background: '--plasma-drawer-background',\n shadow: '--plasma-drawer-shadow',\n contentBackgroundColor: '--plasma-drawer-content-background-color',\n padding: '--plasma-drawer-padding',\n borderRadius: '--plasma-drawer-border-radius',\n};\n"],"names":["classes","content","header","footer","overlay","horizontal","hasHeader","isRightClose","tokens","drawerOverlayWithBlurColor","drawerOverlayColor","background","shadow","contentBackgroundColor","padding","borderRadius"],"mappings":";;;;AAAO,IAAMA,OAAO,GAAG;AACnBC,EAAAA,OAAO,EAAE,gBAAgB;AACzBC,EAAAA,MAAM,EAAE,eAAe;AACvBC,EAAAA,MAAM,EAAE,eAAe;AACvBC,EAAAA,OAAO,EAAE,gBAAgB;AACzBC,EAAAA,UAAU,EAAE,mBAAmB;AAC/BC,EAAAA,SAAS,EAAE,mBAAmB;AAC9BC,EAAAA,YAAY,EAAE,2BAAA;AAClB,EAAC;AAEM,IAAMC,MAAM,GAAG;AAClBC,EAAAA,0BAA0B,EAAE,yCAAyC;AACrEC,EAAAA,kBAAkB,EAAE,+BAA+B;AACnDC,EAAAA,UAAU,EAAE,4BAA4B;AACxCC,EAAAA,MAAM,EAAE,wBAAwB;AAChCC,EAAAA,sBAAsB,EAAE,0CAA0C;AAClEC,EAAAA,OAAO,EAAE,yBAAyB;AAClCC,EAAAA,YAAY,EAAE,+BAAA;AAClB;;;;;"}
1
+ {"version":3,"file":"Drawer.tokens.js","sources":["../../../src/components/Drawer/Drawer.tokens.ts"],"sourcesContent":["export const classes = {\n content: 'drawer-content',\n header: 'drawer-header',\n footer: 'drawer-footer',\n overlay: 'drawer-overlay',\n horizontal: 'drawer-horizontal',\n hasHeader: 'drawer-has-header',\n isRightClose: 'drawer-right-close-button',\n topPlacement: 'drawer-top-placement',\n bottomPlacement: 'drawer-bottom-placement',\n rightPlacement: 'drawer-right-placement',\n leftPlacement: 'drawer-left-placement',\n};\n\nexport const tokens = {\n drawerOverlayWithBlurColor: '--plasma-drawer-overlay-with-blur-color',\n drawerOverlayColor: '--plasma-drawer-overlay-color',\n background: '--plasma-drawer-background',\n shadow: '--plasma-drawer-shadow',\n contentBackgroundColor: '--plasma-drawer-content-background-color',\n padding: '--plasma-drawer-padding',\n borderRadius: '--plasma-drawer-border-radius',\n};\n"],"names":["classes","content","header","footer","overlay","horizontal","hasHeader","isRightClose","topPlacement","bottomPlacement","rightPlacement","leftPlacement","tokens","drawerOverlayWithBlurColor","drawerOverlayColor","background","shadow","contentBackgroundColor","padding","borderRadius"],"mappings":";;;;AAAO,IAAMA,OAAO,GAAG;AACnBC,EAAAA,OAAO,EAAE,gBAAgB;AACzBC,EAAAA,MAAM,EAAE,eAAe;AACvBC,EAAAA,MAAM,EAAE,eAAe;AACvBC,EAAAA,OAAO,EAAE,gBAAgB;AACzBC,EAAAA,UAAU,EAAE,mBAAmB;AAC/BC,EAAAA,SAAS,EAAE,mBAAmB;AAC9BC,EAAAA,YAAY,EAAE,2BAA2B;AACzCC,EAAAA,YAAY,EAAE,sBAAsB;AACpCC,EAAAA,eAAe,EAAE,yBAAyB;AAC1CC,EAAAA,cAAc,EAAE,wBAAwB;AACxCC,EAAAA,aAAa,EAAE,uBAAA;AACnB,EAAC;AAEM,IAAMC,MAAM,GAAG;AAClBC,EAAAA,0BAA0B,EAAE,yCAAyC;AACrEC,EAAAA,kBAAkB,EAAE,+BAA+B;AACnDC,EAAAA,UAAU,EAAE,4BAA4B;AACxCC,EAAAA,MAAM,EAAE,wBAAwB;AAChCC,EAAAA,sBAAsB,EAAE,0CAA0C;AAClEC,EAAAA,OAAO,EAAE,yBAAyB;AAClCC,EAAAA,YAAY,EAAE,+BAAA;AAClB;;;;;"}
@@ -7,6 +7,7 @@ var React = require('react');
7
7
  var DrawerContext = require('../DrawerContext.js');
8
8
  var PopupContext = require('../../Popup/PopupContext.js');
9
9
  require('@salutejs/plasma-core');
10
+ var canUseDOM = require('../../../utils/canUseDOM.js');
10
11
  require('../../../utils/react.js');
11
12
  require('react-dom');
12
13
  require('@linaria/react');
@@ -23,7 +24,7 @@ var useDrawer = function useDrawer(_ref) {
23
24
  _ref$disableScroll = _ref.disableScroll,
24
25
  disableScroll = _ref$disableScroll === void 0 ? true : _ref$disableScroll;
25
26
  var popupController = PopupContext.usePopupContext();
26
- var overflow = React.useRef(document.body.style.overflowY);
27
+ var overflow = React.useRef(canUseDOM.canUseDOM ? document.body.style.overflow : 'initial');
27
28
 
28
29
  // При ESC закрывает текущее окно, если это возможно
29
30
  var onKeyDown = React.useCallback(function (event) {
@@ -49,14 +50,20 @@ var useDrawer = function useDrawer(_ref) {
49
50
 
50
51
  // linaria не поддерживает динамический global
51
52
  React.useEffect(function () {
53
+ if (!canUseDOM.canUseDOM) {
54
+ return;
55
+ }
52
56
  if (isOpen && disableScroll) {
53
- overflow.current = document.body.style.overflowY;
54
- document.body.style.overflowY = 'hidden';
57
+ overflow.current = document.body.style.overflow;
58
+ document.body.style.overflow = 'hidden';
55
59
  }
56
60
  }, [isOpen, disableScroll]);
57
61
  React.useEffect(function () {
62
+ if (!canUseDOM.canUseDOM) {
63
+ return;
64
+ }
58
65
  if (!isOpen && !DrawerContext.hasDrawers(popupController.items)) {
59
- document.body.style.overflowY = overflow.current;
66
+ document.body.style.overflow = overflow.current;
60
67
  }
61
68
  }, [isOpen, popupController.items]);
62
69
  var drawerInfo = _rollupPluginBabelHelpers.objectSpread2({
@@ -1 +1 @@
1
- {"version":3,"file":"useDrawer.js","sources":["../../../../src/components/Drawer/hooks/useDrawer.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { DrawerInfo, getIdLastDrawer, hasDrawers } from '../DrawerContext';\nimport { DrawerHookArgs } from '../Drawer.types';\nimport { usePopupContext } from '../../Popup';\n\nconst ESCAPE_KEYCODE = 27;\n\nexport const useDrawer = ({\n id,\n isOpen,\n popupInfo,\n onEscKeyDown,\n onClose,\n closeOnEsc = true,\n disableScroll = true,\n}: DrawerHookArgs) => {\n const popupController = usePopupContext();\n const overflow = useRef<string>(document.body.style.overflowY);\n\n // При ESC закрывает текущее окно, если это возможно\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (!closeOnEsc) {\n return;\n }\n if (event.keyCode === ESCAPE_KEYCODE && getIdLastDrawer(popupController.items) === id) {\n if (onEscKeyDown) {\n onEscKeyDown(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n }\n },\n [onClose, onEscKeyDown, popupController.items, closeOnEsc],\n );\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown);\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onKeyDown]);\n\n // linaria не поддерживает динамический global\n useEffect(() => {\n if (isOpen && disableScroll) {\n overflow.current = document.body.style.overflowY;\n document.body.style.overflowY = 'hidden';\n }\n }, [isOpen, disableScroll]);\n\n useEffect(() => {\n if (!isOpen && !hasDrawers(popupController.items)) {\n document.body.style.overflowY = overflow.current;\n }\n }, [isOpen, popupController.items]);\n\n const drawerInfo: DrawerInfo = {\n id,\n info: {\n isDrawer: true,\n },\n ...popupInfo,\n };\n\n return { drawerInfo };\n};\n"],"names":["ESCAPE_KEYCODE","useDrawer","_ref","id","isOpen","popupInfo","onEscKeyDown","onClose","_ref$closeOnEsc","closeOnEsc","_ref$disableScroll","disableScroll","popupController","usePopupContext","overflow","useRef","document","body","style","overflowY","onKeyDown","useCallback","event","keyCode","getIdLastDrawer","items","useEffect","window","addEventListener","removeEventListener","current","hasDrawers","drawerInfo","_objectSpread","info","isDrawer"],"mappings":"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"}
1
+ {"version":3,"file":"useDrawer.js","sources":["../../../../src/components/Drawer/hooks/useDrawer.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { DrawerInfo, getIdLastDrawer, hasDrawers } from '../DrawerContext';\nimport { DrawerHookArgs } from '../Drawer.types';\nimport { usePopupContext } from '../../Popup';\nimport { canUseDOM } from '../../../utils';\n\nconst ESCAPE_KEYCODE = 27;\n\nexport const useDrawer = ({\n id,\n isOpen,\n popupInfo,\n onEscKeyDown,\n onClose,\n closeOnEsc = true,\n disableScroll = true,\n}: DrawerHookArgs) => {\n const popupController = usePopupContext();\n const overflow = useRef<string>(canUseDOM ? document.body.style.overflow : 'initial');\n\n // При ESC закрывает текущее окно, если это возможно\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (!closeOnEsc) {\n return;\n }\n if (event.keyCode === ESCAPE_KEYCODE && getIdLastDrawer(popupController.items) === id) {\n if (onEscKeyDown) {\n onEscKeyDown(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n }\n },\n [onClose, onEscKeyDown, popupController.items, closeOnEsc],\n );\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown);\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onKeyDown]);\n\n // linaria не поддерживает динамический global\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (isOpen && disableScroll) {\n overflow.current = document.body.style.overflow;\n\n document.body.style.overflow = 'hidden';\n }\n }, [isOpen, disableScroll]);\n\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (!isOpen && !hasDrawers(popupController.items)) {\n document.body.style.overflow = overflow.current;\n }\n }, [isOpen, popupController.items]);\n\n const drawerInfo: DrawerInfo = {\n id,\n info: {\n isDrawer: true,\n },\n ...popupInfo,\n };\n\n return { drawerInfo };\n};\n"],"names":["ESCAPE_KEYCODE","useDrawer","_ref","id","isOpen","popupInfo","onEscKeyDown","onClose","_ref$closeOnEsc","closeOnEsc","_ref$disableScroll","disableScroll","popupController","usePopupContext","overflow","useRef","canUseDOM","document","body","style","onKeyDown","useCallback","event","keyCode","getIdLastDrawer","items","useEffect","window","addEventListener","removeEventListener","current","hasDrawers","drawerInfo","_objectSpread","info","isDrawer"],"mappings":"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"}
@@ -6,13 +6,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
6
6
  var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
7
7
  var React = require('react');
8
8
  var plasmaCore = require('@salutejs/plasma-core');
9
- var index = require('../../utils/index.js');
9
+ var index$1 = require('../../utils/index.js');
10
10
  var useAutoResize = require('./hooks/useAutoResize.js');
11
11
  var TextArea_styles = require('./TextArea.styles.js');
12
12
  var TextArea_tokens = require('./TextArea.tokens.js');
13
13
  var base$2 = require('./variations/_view/base.js');
14
14
  var base$1 = require('./variations/_size/base.js');
15
15
  var base$3 = require('./variations/_disabled/base.js');
16
+ var index = require('./utils/index.js');
16
17
  var setRefList = require('../../utils/setRefList.js');
17
18
 
18
19
  var _excluded = ["helperText", "status", "resize", "rightHelper", "leftHelper", "contentRight", "autoResize", "minAuto", "maxAuto", "label", "labelPlacement", "placeholder", "defaultValue", "height", "width", "value", "disabled", "required", "requiredPlacement", "optional", "size", "view", "id", "style", "className", "readOnly", "rows", "cols", "onChange"];
@@ -138,6 +139,22 @@ var textAreaRoot = function textAreaRoot(Root) {
138
139
  }
139
140
  onChange === null || onChange === void 0 || onChange(event);
140
141
  }, [value, onChange]);
142
+ React.useEffect(function () {
143
+ console.log(outerRef);
144
+ if (outerRef.current) {
145
+ console.log(outerRef, 'outer');
146
+ outerRef.current.addEventListener('setInitialValue', function (e) {
147
+ return setUncontrolledValue(index.setInitialValue(e));
148
+ });
149
+ }
150
+ return function () {
151
+ if (outerRef.current) {
152
+ outerRef.current.removeEventListener('setInitialValue', function (e) {
153
+ return setUncontrolledValue(index.setInitialValue(e));
154
+ });
155
+ }
156
+ };
157
+ }, []);
141
158
  var dynamicLabelClasses = getDynamicLabelClasses(_rollupPluginBabelHelpers.objectSpread2({
142
159
  size: size,
143
160
  readOnly: readOnly,
@@ -160,14 +177,14 @@ var textAreaRoot = function textAreaRoot(Root) {
160
177
  }, style),
161
178
  className: className
162
179
  }, hasOuterLabel && /*#__PURE__*/React.createElement(TextArea_styles.StyledLabel, null, required && /*#__PURE__*/React.createElement(TextArea_styles.StyledIndicator, {
163
- className: index.cx(TextArea_tokens.classes.outerLabelPlacement, requiredPlacementClass)
180
+ className: index$1.cx(TextArea_tokens.classes.outerLabelPlacement, requiredPlacementClass)
164
181
  }), label, optionalTextNode), /*#__PURE__*/React.createElement(TextArea_styles.StyledContainer, {
165
- className: index.cx.apply(void 0, [styledContainer].concat(_rollupPluginBabelHelpers.toConsumableArray(dynamicLabelClasses))),
182
+ className: index$1.cx.apply(void 0, [styledContainer].concat(_rollupPluginBabelHelpers.toConsumableArray(dynamicLabelClasses))),
166
183
  width: helperWidth,
167
184
  onFocus: onFocusHandler,
168
185
  onBlur: onBlurHandler
169
186
  }, required && !hasOuterLabel && /*#__PURE__*/React.createElement(TextArea_styles.StyledIndicator, {
170
- className: index.cx(TextArea_tokens.classes.innerLabelPlacement, requiredPlacementClass)
187
+ className: index$1.cx(TextArea_tokens.classes.innerLabelPlacement, requiredPlacementClass)
171
188
  }), contentRight && /*#__PURE__*/React.createElement(TextArea_styles.StyledContent, null, contentRight), /*#__PURE__*/React.createElement(TextArea_styles.StyledTextAreaWrapper, {
172
189
  className: styledTextAreaWrapper,
173
190
  hasHelper: hasHelper
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea.js","sources":["../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["import React, { forwardRef, useState, createRef, useCallback } from 'react';\nimport { css } from '@linaria/core';\nimport { useResizeObserver } from '@salutejs/plasma-core';\n\nimport { cx, mergeRefs } from '../../utils';\nimport type { RootProps } from '../../engines/types';\n\nimport { applyDynamicLabel } from './mixins';\nimport { useAutoResize, ROOT_FONT_SIZE } from './hooks';\nimport {\n StyledContent,\n StyledHelpers,\n StyledLeftHelper,\n StyledRightHelper,\n StyledLabel,\n StyledPlaceholder,\n StyledTextArea,\n StyledTextAreaWrapper,\n StyledContainer,\n StyledIndicator,\n StyledOptionalText,\n} from './TextArea.styles';\nimport { classes } from './TextArea.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport type { TextAreaProps } from './TextArea.types';\n\nconst {\n innerPlaceholderUp,\n focusedOuterPlaceholderColor,\n hidePlaceHolder,\n styledContainer,\n styledTextArea,\n styledTextAreaWrapper,\n styledPlaceholder,\n styledHelpers,\n} = classes;\n\nconst optionalText = 'optional';\n\nconst base = css`\n ${applyDynamicLabel};\n\n position: relative;\n box-sizing: border-box;\n`;\n\n// TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c\nconst fallbackStatusMap = {\n '': 'primary',\n success: 'positive',\n warning: 'warning',\n error: 'negative',\n};\n\n// TODO: Перенести этот метод в файл applyDynamicLabel.ts\nexport const getDynamicLabelClasses = (props: TextAreaProps, focused: boolean) => {\n const { readOnly, label, labelPlacement, autoResize, rows, value, size } = props;\n\n // Добавить класс отвечающий за изменение цвета плейсхолдера при фокусе\n const withFocusedOuterUpPlaceholder =\n !readOnly && focused && (!label || labelPlacement === 'outer') ? focusedOuterPlaceholderColor : undefined;\n\n // Добавить класс отвечающий за поднятие и уменьшение плейсхолдера\n const withInnerPlaceholderUp =\n labelPlacement === 'inner' &&\n label &&\n !autoResize &&\n !rows &&\n size !== 'xs' &&\n ((!readOnly && (value || focused)) || (readOnly && value))\n ? innerPlaceholderUp\n : undefined;\n\n // Добавить класс отвечающий за скрытие плейсхолдера\n const withHidePlaceholder =\n (value && !label) ||\n (labelPlacement === 'inner' && ((focused && !readOnly) || value) && label && (rows || autoResize)) ||\n (labelPlacement === 'outer' && value) ||\n (labelPlacement === 'inner' && size === 'xs' && value)\n ? hidePlaceHolder\n : undefined;\n\n return [withFocusedOuterUpPlaceholder, withInnerPlaceholderUp, withHidePlaceholder];\n};\n\nexport const textAreaRoot = (Root: RootProps<HTMLTextAreaElement, TextAreaProps>) =>\n forwardRef<HTMLTextAreaElement, TextAreaProps>((props, innerRef) => {\n const {\n helperText,\n status,\n resize,\n rightHelper,\n leftHelper,\n contentRight,\n autoResize = false,\n minAuto = 0,\n maxAuto,\n label,\n labelPlacement = 'inner',\n placeholder,\n defaultValue,\n height,\n width,\n value,\n disabled,\n required = false,\n requiredPlacement = 'right',\n optional = false,\n size,\n view,\n id,\n style,\n className,\n readOnly,\n rows,\n cols,\n onChange,\n ...rest\n } = props;\n\n const [helperWidth, setHelperWidth] = useState<string>(width ? `${width}rem` : '100%');\n const [focused, setFocused] = useState(false);\n const [uncontrolledValue, setUncontrolledValue] = useState<string | undefined>();\n\n const outerRef = createRef<HTMLTextAreaElement>();\n\n const innerOptional = required ? false : optional;\n const hasHelper = Boolean(leftHelper || rightHelper || helperText);\n const hasOuterLabel = Boolean(label && labelPlacement === 'outer');\n const hasInnerLabel = Boolean(label && labelPlacement === 'inner' && size !== 'xs');\n const hasPlaceholderOptional = innerOptional && !hasOuterLabel;\n\n const overriddenView = status !== undefined ? fallbackStatusMap[status] : view;\n const textareaHelperId = id ? `${id}-helper` : undefined;\n const applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;\n const placeholderLabel = hasInnerLabel ? label : placeholder;\n\n const requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;\n\n useResizeObserver(outerRef, (currentElement) => {\n const { width: inlineWidth } = currentElement.style;\n\n if (inlineWidth || cols) {\n const { width: elementWidth } = currentElement.getBoundingClientRect();\n setHelperWidth(`${elementWidth / ROOT_FONT_SIZE}rem`);\n }\n });\n\n useAutoResize(autoResize, outerRef, value, minAuto, maxAuto);\n\n const onFocusHandler = useCallback(() => {\n setFocused(true);\n }, []);\n\n const onBlurHandler = useCallback(() => {\n setFocused(false);\n }, []);\n\n const onChangeHandler = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n // INFO: Для крайне редких кейсов, когда value снаружи не контролируется\n if (value === undefined) {\n setUncontrolledValue(event?.target.value);\n }\n onChange?.(event);\n },\n [value, onChange],\n );\n\n const dynamicLabelClasses = getDynamicLabelClasses(\n {\n size,\n readOnly,\n label,\n labelPlacement,\n value: value || uncontrolledValue || defaultValue,\n ...(rows ? { rows } : { autoResize }),\n },\n focused,\n );\n\n const optionalTextNode = innerOptional ? (\n <StyledOptionalText>\n {Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\\xa0'}\n {optionalText}\n </StyledOptionalText>\n ) : null;\n\n return (\n <Root\n view={overriddenView}\n size={size}\n disabled={disabled}\n readOnly={readOnly}\n style={{ width: helperWidth, ...style }}\n className={className}\n >\n {hasOuterLabel && (\n <StyledLabel>\n {required && (\n <StyledIndicator className={cx(classes.outerLabelPlacement, requiredPlacementClass)} />\n )}\n {label}\n {optionalTextNode}\n </StyledLabel>\n )}\n <StyledContainer\n className={cx(styledContainer, ...dynamicLabelClasses)}\n width={helperWidth}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n >\n {required && !hasOuterLabel && (\n <StyledIndicator className={cx(classes.innerLabelPlacement, requiredPlacementClass)} />\n )}\n {contentRight && <StyledContent>{contentRight}</StyledContent>}\n <StyledTextAreaWrapper className={styledTextAreaWrapper} hasHelper={hasHelper}>\n <StyledTextArea\n className={styledTextArea}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={mergeRefs(outerRef, innerRef)}\n disabled={disabled}\n height={autoResize ? minAuto : height}\n width={width}\n placeholder={placeholderLabel}\n aria-describedby={textareaHelperId}\n value={value}\n readOnly={readOnly}\n rows={rows}\n cols={cols}\n resize={resize}\n defaultValue={defaultValue}\n onChange={onChangeHandler}\n {...rest}\n />\n </StyledTextAreaWrapper>\n {hasHelper && (\n <StyledHelpers className={styledHelpers} id={textareaHelperId}>\n {(leftHelper || helperText) && (\n <StyledLeftHelper>{leftHelper || helperText}</StyledLeftHelper>\n )}\n {rightHelper && <StyledRightHelper>{rightHelper}</StyledRightHelper>}\n </StyledHelpers>\n )}\n {placeholderLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeholderLabel}\n {!hasOuterLabel && optionalTextNode}\n </StyledPlaceholder>\n )}\n </StyledContainer>\n </Root>\n );\n });\n\nexport const textAreaConfig = {\n name: 'TextArea',\n tag: 'div',\n layout: textAreaRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'primary',\n },\n};\n"],"names":["innerPlaceholderUp","classes","focusedOuterPlaceholderColor","hidePlaceHolder","styledContainer","styledTextArea","styledTextAreaWrapper","styledPlaceholder","styledHelpers","optionalText","base","fallbackStatusMap","success","warning","error","getDynamicLabelClasses","props","focused","readOnly","label","labelPlacement","autoResize","rows","value","size","withFocusedOuterUpPlaceholder","undefined","withInnerPlaceholderUp","withHidePlaceholder","textAreaRoot","Root","forwardRef","innerRef","helperText","status","resize","rightHelper","leftHelper","contentRight","_props$autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","placeholder","defaultValue","height","width","disabled","_props$required","required","_props$requiredPlacem","requiredPlacement","_props$optional","optional","view","id","style","className","cols","onChange","rest","_excluded","_useState","useState","concat","_useState2","_slicedToArray","helperWidth","setHelperWidth","_useState3","_useState4","setFocused","_useState5","_useState6","uncontrolledValue","setUncontrolledValue","outerRef","createRef","innerOptional","hasHelper","Boolean","hasOuterLabel","hasInnerLabel","hasPlaceholderOptional","overriddenView","textareaHelperId","applyCustomWidth","placeholderLabel","requiredPlacementClass","useResizeObserver","currentElement","inlineWidth","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","event","target","dynamicLabelClasses","_objectSpread","optionalTextNode","React","createElement","StyledOptionalText","StyledLabel","StyledIndicator","cx","outerLabelPlacement","StyledContainer","apply","_toConsumableArray","onFocus","onBlur","innerLabelPlacement","StyledContent","StyledTextAreaWrapper","StyledTextArea","_extends","hasContentRight","ref","mergeRefs","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledPlaceholder","htmlFor","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"TextArea.js","sources":["../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["import React, { forwardRef, useState, createRef, useCallback, useEffect } from 'react';\nimport { css } from '@linaria/core';\nimport { useResizeObserver } from '@salutejs/plasma-core';\n\nimport { cx, mergeRefs } from '../../utils';\nimport type { RootProps } from '../../engines/types';\n\nimport { applyDynamicLabel } from './mixins';\nimport { useAutoResize, ROOT_FONT_SIZE } from './hooks';\nimport {\n StyledContent,\n StyledHelpers,\n StyledLeftHelper,\n StyledRightHelper,\n StyledLabel,\n StyledPlaceholder,\n StyledTextArea,\n StyledTextAreaWrapper,\n StyledContainer,\n StyledIndicator,\n StyledOptionalText,\n} from './TextArea.styles';\nimport { classes } from './TextArea.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport type { TextAreaProps } from './TextArea.types';\nimport { setInitialValue } from './utils';\n\nconst {\n innerPlaceholderUp,\n focusedOuterPlaceholderColor,\n hidePlaceHolder,\n styledContainer,\n styledTextArea,\n styledTextAreaWrapper,\n styledPlaceholder,\n styledHelpers,\n} = classes;\n\nconst optionalText = 'optional';\n\nconst base = css`\n ${applyDynamicLabel};\n\n position: relative;\n box-sizing: border-box;\n`;\n\n// TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c\nconst fallbackStatusMap = {\n '': 'primary',\n success: 'positive',\n warning: 'warning',\n error: 'negative',\n};\n\n// TODO: Перенести этот метод в файл applyDynamicLabel.ts\nexport const getDynamicLabelClasses = (props: TextAreaProps, focused: boolean) => {\n const { readOnly, label, labelPlacement, autoResize, rows, value, size } = props;\n\n // Добавить класс отвечающий за изменение цвета плейсхолдера при фокусе\n const withFocusedOuterUpPlaceholder =\n !readOnly && focused && (!label || labelPlacement === 'outer') ? focusedOuterPlaceholderColor : undefined;\n\n // Добавить класс отвечающий за поднятие и уменьшение плейсхолдера\n const withInnerPlaceholderUp =\n labelPlacement === 'inner' &&\n label &&\n !autoResize &&\n !rows &&\n size !== 'xs' &&\n ((!readOnly && (value || focused)) || (readOnly && value))\n ? innerPlaceholderUp\n : undefined;\n\n // Добавить класс отвечающий за скрытие плейсхолдера\n const withHidePlaceholder =\n (value && !label) ||\n (labelPlacement === 'inner' && ((focused && !readOnly) || value) && label && (rows || autoResize)) ||\n (labelPlacement === 'outer' && value) ||\n (labelPlacement === 'inner' && size === 'xs' && value)\n ? hidePlaceHolder\n : undefined;\n\n return [withFocusedOuterUpPlaceholder, withInnerPlaceholderUp, withHidePlaceholder];\n};\n\nexport const textAreaRoot = (Root: RootProps<HTMLTextAreaElement, TextAreaProps>) =>\n forwardRef<HTMLTextAreaElement, TextAreaProps>((props, innerRef) => {\n const {\n helperText,\n status,\n resize,\n rightHelper,\n leftHelper,\n contentRight,\n autoResize = false,\n minAuto = 0,\n maxAuto,\n label,\n labelPlacement = 'inner',\n placeholder,\n defaultValue,\n height,\n width,\n value,\n disabled,\n required = false,\n requiredPlacement = 'right',\n optional = false,\n size,\n view,\n id,\n style,\n className,\n readOnly,\n rows,\n cols,\n onChange,\n ...rest\n } = props;\n\n const [helperWidth, setHelperWidth] = useState<string>(width ? `${width}rem` : '100%');\n const [focused, setFocused] = useState(false);\n const [uncontrolledValue, setUncontrolledValue] = useState<string | undefined>();\n\n const outerRef = createRef<HTMLTextAreaElement>();\n\n const innerOptional = required ? false : optional;\n const hasHelper = Boolean(leftHelper || rightHelper || helperText);\n const hasOuterLabel = Boolean(label && labelPlacement === 'outer');\n const hasInnerLabel = Boolean(label && labelPlacement === 'inner' && size !== 'xs');\n const hasPlaceholderOptional = innerOptional && !hasOuterLabel;\n\n const overriddenView = status !== undefined ? fallbackStatusMap[status] : view;\n const textareaHelperId = id ? `${id}-helper` : undefined;\n const applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;\n const placeholderLabel = hasInnerLabel ? label : placeholder;\n\n const requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;\n\n useResizeObserver(outerRef, (currentElement) => {\n const { width: inlineWidth } = currentElement.style;\n\n if (inlineWidth || cols) {\n const { width: elementWidth } = currentElement.getBoundingClientRect();\n setHelperWidth(`${elementWidth / ROOT_FONT_SIZE}rem`);\n }\n });\n\n useAutoResize(autoResize, outerRef, value, minAuto, maxAuto);\n\n const onFocusHandler = useCallback(() => {\n setFocused(true);\n }, []);\n\n const onBlurHandler = useCallback(() => {\n setFocused(false);\n }, []);\n\n const onChangeHandler = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n // INFO: Для крайне редких кейсов, когда value снаружи не контролируется\n if (value === undefined) {\n setUncontrolledValue(event?.target.value);\n }\n onChange?.(event);\n },\n [value, onChange],\n );\n\n useEffect(() => {\n console.log(outerRef);\n if (outerRef.current) {\n console.log(outerRef, 'outer');\n outerRef.current.addEventListener('setInitialValue', (e: Event) =>\n setUncontrolledValue(setInitialValue(e)),\n );\n }\n\n return () => {\n if (outerRef.current) {\n outerRef.current.removeEventListener('setInitialValue', (e: Event) =>\n setUncontrolledValue(setInitialValue(e)),\n );\n }\n };\n }, []);\n\n const dynamicLabelClasses = getDynamicLabelClasses(\n {\n size,\n readOnly,\n label,\n labelPlacement,\n value: value || uncontrolledValue || defaultValue,\n ...(rows ? { rows } : { autoResize }),\n },\n focused,\n );\n\n const optionalTextNode = innerOptional ? (\n <StyledOptionalText>\n {Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\\xa0'}\n {optionalText}\n </StyledOptionalText>\n ) : null;\n\n return (\n <Root\n view={overriddenView}\n size={size}\n disabled={disabled}\n readOnly={readOnly}\n style={{ width: helperWidth, ...style }}\n className={className}\n >\n {hasOuterLabel && (\n <StyledLabel>\n {required && (\n <StyledIndicator className={cx(classes.outerLabelPlacement, requiredPlacementClass)} />\n )}\n {label}\n {optionalTextNode}\n </StyledLabel>\n )}\n <StyledContainer\n className={cx(styledContainer, ...dynamicLabelClasses)}\n width={helperWidth}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n >\n {required && !hasOuterLabel && (\n <StyledIndicator className={cx(classes.innerLabelPlacement, requiredPlacementClass)} />\n )}\n {contentRight && <StyledContent>{contentRight}</StyledContent>}\n <StyledTextAreaWrapper className={styledTextAreaWrapper} hasHelper={hasHelper}>\n <StyledTextArea\n className={styledTextArea}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={mergeRefs(outerRef, innerRef)}\n disabled={disabled}\n height={autoResize ? minAuto : height}\n width={width}\n placeholder={placeholderLabel}\n aria-describedby={textareaHelperId}\n value={value}\n readOnly={readOnly}\n rows={rows}\n cols={cols}\n resize={resize}\n defaultValue={defaultValue}\n onChange={onChangeHandler}\n {...rest}\n />\n </StyledTextAreaWrapper>\n {hasHelper && (\n <StyledHelpers className={styledHelpers} id={textareaHelperId}>\n {(leftHelper || helperText) && (\n <StyledLeftHelper>{leftHelper || helperText}</StyledLeftHelper>\n )}\n {rightHelper && <StyledRightHelper>{rightHelper}</StyledRightHelper>}\n </StyledHelpers>\n )}\n {placeholderLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeholderLabel}\n {!hasOuterLabel && optionalTextNode}\n </StyledPlaceholder>\n )}\n </StyledContainer>\n </Root>\n );\n });\n\nexport const textAreaConfig = {\n name: 'TextArea',\n tag: 'div',\n layout: textAreaRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'primary',\n },\n};\n"],"names":["innerPlaceholderUp","classes","focusedOuterPlaceholderColor","hidePlaceHolder","styledContainer","styledTextArea","styledTextAreaWrapper","styledPlaceholder","styledHelpers","optionalText","base","fallbackStatusMap","success","warning","error","getDynamicLabelClasses","props","focused","readOnly","label","labelPlacement","autoResize","rows","value","size","withFocusedOuterUpPlaceholder","undefined","withInnerPlaceholderUp","withHidePlaceholder","textAreaRoot","Root","forwardRef","innerRef","helperText","status","resize","rightHelper","leftHelper","contentRight","_props$autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","placeholder","defaultValue","height","width","disabled","_props$required","required","_props$requiredPlacem","requiredPlacement","_props$optional","optional","view","id","style","className","cols","onChange","rest","_excluded","_useState","useState","concat","_useState2","_slicedToArray","helperWidth","setHelperWidth","_useState3","_useState4","setFocused","_useState5","_useState6","uncontrolledValue","setUncontrolledValue","outerRef","createRef","innerOptional","hasHelper","Boolean","hasOuterLabel","hasInnerLabel","hasPlaceholderOptional","overriddenView","textareaHelperId","applyCustomWidth","placeholderLabel","requiredPlacementClass","useResizeObserver","currentElement","inlineWidth","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","event","target","useEffect","console","log","current","addEventListener","e","setInitialValue","removeEventListener","dynamicLabelClasses","_objectSpread","optionalTextNode","React","createElement","StyledOptionalText","StyledLabel","StyledIndicator","cx","outerLabelPlacement","StyledContainer","apply","_toConsumableArray","onFocus","onBlur","innerLabelPlacement","StyledContent","StyledTextAreaWrapper","StyledTextArea","_extends","hasContentRight","ref","mergeRefs","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledPlaceholder","htmlFor","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var setInitialValue = function setInitialValue(e) {
6
+ console.log(e.target);
7
+ var item = e.target;
8
+ var defaultValue = String(item.getAttribute('defaultValue'));
9
+ return defaultValue;
10
+ };
11
+
12
+ exports.setInitialValue = setInitialValue;
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/TextArea/utils/index.ts"],"sourcesContent":["export const setInitialValue = (e: Event): React.SetStateAction<string | undefined> => {\n console.log(e.target);\n const item = e.target as HTMLTextAreaElement;\n const defaultValue = String(item.getAttribute('defaultValue'));\n\n return defaultValue;\n};\n"],"names":["setInitialValue","e","console","log","target","item","defaultValue","String","getAttribute"],"mappings":";;;;IAAaA,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,CAAQ,EAA+C;AACnFC,EAAAA,OAAO,CAACC,GAAG,CAACF,CAAC,CAACG,MAAM,CAAC,CAAA;AACrB,EAAA,IAAMC,IAAI,GAAGJ,CAAC,CAACG,MAA6B,CAAA;EAC5C,IAAME,YAAY,GAAGC,MAAM,CAACF,IAAI,CAACG,YAAY,CAAC,cAAc,CAAC,CAAC,CAAA;AAE9D,EAAA,OAAOF,YAAY,CAAA;AACvB;;;;"}
@@ -162,6 +162,22 @@ var textFieldRoot = function textFieldRoot(Root) {
162
162
  })) || [];
163
163
  setChips(newChips);
164
164
  }, [isChipEnumeration, values]);
165
+ React.useEffect(function () {
166
+ console.log(inputRef);
167
+ if (inputRef.current) {
168
+ console.log(inputRef, 'current');
169
+ inputRef.current.addEventListener('setInitialValue', function () {
170
+ return setHasValue(true);
171
+ });
172
+ }
173
+ return function () {
174
+ if (inputRef.current) {
175
+ inputRef.current.removeEventListener('setInitialValue', function () {
176
+ return setHasValue(true);
177
+ });
178
+ }
179
+ };
180
+ }, []);
165
181
  React.useEffect(function () {
166
182
  setHasValue(Boolean(rest === null || rest === void 0 ? void 0 : rest.defaultValue));
167
183
  }, [rest.defaultValue]);