@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
@@ -136,6 +136,7 @@ const StoryDrawerDemo = ({
136
136
  showHeader,
137
137
  showFooter,
138
138
  showActions,
139
+ hasClose,
139
140
  closePlacement,
140
141
  offsetX,
141
142
  offsetY,
@@ -159,11 +160,12 @@ const StoryDrawerDemo = ({
159
160
  {...rest}
160
161
  >
161
162
  <DrawerHeader
163
+ hasClose={hasClose}
162
164
  closePlacement={closePlacement as ClosePlacementType}
163
165
  actions={
164
166
  showActions && (
165
167
  <StyledIconButton size="s" view="clear">
166
- <IconDone size="s" />
168
+ <IconDone size="s" color="inherit" />
167
169
  </StyledIconButton>
168
170
  )
169
171
  }
@@ -18,6 +18,9 @@ var initData = function initData(ref, defaultValues) {
18
18
  type = item.type;
19
19
  if ((type === 'text' || type === 'textarea') && defaultValues[_name]) {
20
20
  item.value = String(defaultValues[_name]);
21
+ item.setAttribute('defaultValue', String(defaultValues[_name]));
22
+ var event = new Event('setInitialValue');
23
+ item.dispatchEvent(event);
21
24
  }
22
25
  if (type === 'checkbox' && defaultValues[_name]) {
23
26
  item.checked = Boolean(defaultValues[_name]);
@@ -29,30 +32,30 @@ var initData = function initData(ref, defaultValues) {
29
32
  var sliderType = item.getAttribute('datatype');
30
33
  if (sliderType === 'slider-single') {
31
34
  item.setAttribute('defaultValue', String(defaultValues[_name]));
32
- var event = new Event('setInitialValue');
33
- item.dispatchEvent(event);
35
+ var _event = new Event('setInitialValue');
36
+ item.dispatchEvent(_event);
34
37
  }
35
38
  if (sliderType === 'slider-double') {
36
39
  var isMax = item.getAttribute('data-slidertype') === 'max' ? 1 : 0;
37
40
  var _data = defaultValues[_name];
38
41
  item.setAttribute('defaultValue', String(_data[isMax]));
39
- var _event = new Event('setInitialValue');
40
- item.dispatchEvent(_event);
42
+ var _event2 = new Event('setInitialValue');
43
+ item.dispatchEvent(_event2);
41
44
  }
42
45
  }
43
46
  if (type === 'hidden') {
44
47
  var datepickerType = item.getAttribute('datatype');
45
48
  if (datepickerType === 'datepicker-single') {
46
49
  item.setAttribute('defaultValue', String(defaultValues[_name]));
47
- var _event2 = new Event('setInitialValue');
48
- item.dispatchEvent(_event2);
50
+ var _event3 = new Event('setInitialValue');
51
+ item.dispatchEvent(_event3);
49
52
  }
50
53
  if (datepickerType === 'datepicker-double') {
51
54
  var isTo = item.getAttribute('data-datepicker') === 'to' ? 1 : 0;
52
55
  var _data2 = defaultValues[_name];
53
56
  item.setAttribute('defaultValue', String(_data2[isTo]));
54
- var _event3 = new Event('setInitialValue');
55
- item.dispatchEvent(_event3);
57
+ var _event4 = new Event('setInitialValue');
58
+ item.dispatchEvent(_event4);
56
59
  }
57
60
  }
58
61
  }
@@ -4,8 +4,7 @@ import { useFocusTrap, useForkRef, safeUseId } from '@salutejs/plasma-core';
4
4
  import '@linaria/core';
5
5
  import { component, mergeConfig } from '../../engines/common.js';
6
6
  import { usePopupContext } from '../Popup/PopupContext.js';
7
- import { getSizeValueFromProp } from '../../utils/getSizeValueFromProp.js';
8
- import '../../utils/react.js';
7
+ import { cx } from '../../utils/index.js';
9
8
  import 'react-dom';
10
9
  import '@linaria/react';
11
10
  import { DEFAULT_Z_INDEX } from '../Popup/utils/index.js';
@@ -20,6 +19,7 @@ import { base as base$2 } from './variations/_borderRadius/base.js';
20
19
  import { StyledPopup } from './Drawer.styles.js';
21
20
  import { getIdLastDrawer } from './DrawerContext.js';
22
21
  import { useDrawer } from './hooks/useDrawer.js';
22
+ import { getSizeValueFromProp } from '../../utils/getSizeValueFromProp.js';
23
23
 
24
24
  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"];
25
25
 
@@ -67,6 +67,7 @@ var drawerRoot = function drawerRoot(Root) {
67
67
  var overlayBackgroundToken = withBlur ? "var(".concat(tokens.drawerOverlayWithBlurColor, ")") : "var(".concat(tokens.drawerOverlayColor, ")");
68
68
  var innerWidth = width ? getSizeValueFromProp(width) : '100%';
69
69
  var innerHeight = height ? getSizeValueFromProp(height) : '100%';
70
+ var placementClass = placement ? classes["".concat(placement, "Placement")] : undefined;
70
71
  var _useDrawer = useDrawer({
71
72
  id: innerId,
72
73
  isOpen: innerIsOpen,
@@ -92,6 +93,7 @@ var drawerRoot = function drawerRoot(Root) {
92
93
  return /*#__PURE__*/React.createElement(StyledPopup, _extends({
93
94
  id: innerId,
94
95
  ref: asModal ? innerRef : outerRef,
96
+ className: cx(placementClass),
95
97
  opened: innerIsOpen,
96
98
  zIndex: zIndex,
97
99
  placement: placement,
@@ -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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"}
@@ -49,27 +49,24 @@ var animationVariants = {
49
49
  }
50
50
  }
51
51
  };
52
+ var templateAnimationStyle = function templateAnimationStyle(placement) {
53
+ return "\n &.".concat(classes["".concat(placement, "Placement")], " {\n && .").concat(classes$1.root, " {\n animation: ").concat(placement, "ShowAnimation 0.2s forwards;\n }\n\n &&.").concat(classes$1.endAnimation, " .").concat(classes$1.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 ");
54
+ };
55
+ var getAnimationStyles = function getAnimationStyles() {
56
+ return Object.keys(animationVariants).reduce(function (acc, placement) {
57
+ acc += templateAnimationStyle(placement);
58
+ return acc;
59
+ }, '');
60
+ };
52
61
  var StyledPopup = /*#__PURE__*/styled(Popup).withConfig({
53
62
  componentId: "plasma-new-hope__sc-rwu6sj-0"
54
- })(["&&.", "{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;}}"], classes.overlay, classes$1.endAnimation, classes.overlay, classes$1.root, classes$1.root, function (_ref) {
63
+ })(["&&.", "{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:", ";}", ""], classes.overlay, classes$1.endAnimation, classes.overlay, classes$1.root, classes$1.root, function (_ref) {
55
64
  var width = _ref.width;
56
65
  return width;
57
66
  }, function (_ref2) {
58
67
  var height = _ref2.height;
59
68
  return height;
60
- }, classes$1.root, classes$1.endAnimation, classes$1.root, function (_ref3) {
61
- var placement = _ref3.placement;
62
- return animationVariants[placement].show.start;
63
- }, function (_ref4) {
64
- var placement = _ref4.placement;
65
- return animationVariants[placement].show.end;
66
- }, function (_ref5) {
67
- var placement = _ref5.placement;
68
- return animationVariants[placement].hide.start;
69
- }, function (_ref6) {
70
- var placement = _ref6.placement;
71
- return animationVariants[placement].hide.end;
72
- });
69
+ }, /*#__PURE__*/getAnimationStyles());
73
70
 
74
71
  export { StyledPopup };
75
72
  //# 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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"}
@@ -5,7 +5,11 @@ var classes = {
5
5
  overlay: 'drawer-overlay',
6
6
  horizontal: 'drawer-horizontal',
7
7
  hasHeader: 'drawer-has-header',
8
- isRightClose: 'drawer-right-close-button'
8
+ isRightClose: 'drawer-right-close-button',
9
+ topPlacement: 'drawer-top-placement',
10
+ bottomPlacement: 'drawer-bottom-placement',
11
+ rightPlacement: 'drawer-right-placement',
12
+ leftPlacement: 'drawer-left-placement'
9
13
  };
10
14
  var tokens = {
11
15
  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;;;;"}
@@ -3,6 +3,7 @@ import { useRef, useCallback, useEffect } from 'react';
3
3
  import { getIdLastDrawer, hasDrawers } from '../DrawerContext.js';
4
4
  import { usePopupContext } from '../../Popup/PopupContext.js';
5
5
  import '@salutejs/plasma-core';
6
+ import { canUseDOM } from '../../../utils/canUseDOM.js';
6
7
  import '../../../utils/react.js';
7
8
  import 'react-dom';
8
9
  import '@linaria/react';
@@ -19,7 +20,7 @@ var useDrawer = function useDrawer(_ref) {
19
20
  _ref$disableScroll = _ref.disableScroll,
20
21
  disableScroll = _ref$disableScroll === void 0 ? true : _ref$disableScroll;
21
22
  var popupController = usePopupContext();
22
- var overflow = useRef(document.body.style.overflowY);
23
+ var overflow = useRef(canUseDOM ? document.body.style.overflow : 'initial');
23
24
 
24
25
  // При ESC закрывает текущее окно, если это возможно
25
26
  var onKeyDown = useCallback(function (event) {
@@ -45,14 +46,20 @@ var useDrawer = function useDrawer(_ref) {
45
46
 
46
47
  // linaria не поддерживает динамический global
47
48
  useEffect(function () {
49
+ if (!canUseDOM) {
50
+ return;
51
+ }
48
52
  if (isOpen && disableScroll) {
49
- overflow.current = document.body.style.overflowY;
50
- document.body.style.overflowY = 'hidden';
53
+ overflow.current = document.body.style.overflow;
54
+ document.body.style.overflow = 'hidden';
51
55
  }
52
56
  }, [isOpen, disableScroll]);
53
57
  useEffect(function () {
58
+ if (!canUseDOM) {
59
+ return;
60
+ }
54
61
  if (!isOpen && !hasDrawers(popupController.items)) {
55
- document.body.style.overflowY = overflow.current;
62
+ document.body.style.overflow = overflow.current;
56
63
  }
57
64
  }, [isOpen, popupController.items]);
58
65
  var drawerInfo = _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":";;;;;;;;;AAMA,IAAMA,cAAc,GAAG,EAAE,CAAA;IAEZC,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAQA;AAAA,EAAA,IAPlBC,EAAE,GAAAD,IAAA,CAAFC,EAAE;IACFC,MAAM,GAAAF,IAAA,CAANE,MAAM;IACNC,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;IACZC,OAAO,GAAAL,IAAA,CAAPK,OAAO;IAAAC,eAAA,GAAAN,IAAA,CACPO,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;IAAAE,kBAAA,GAAAR,IAAA,CACjBS,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,kBAAA,CAAA;AAEpB,EAAA,IAAME,eAAe,GAAGC,eAAe,EAAE,CAAA;EACzC,IAAMC,QAAQ,GAAGC,MAAM,CAASC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,SAAS,CAAC,CAAA;;AAE9D;AACA,EAAA,IAAMC,SAAS,GAAGC,WAAW,CACzB,UAACC,KAAoB,EAAK;IACtB,IAAI,CAACb,UAAU,EAAE;AACb,MAAA,OAAA;AACJ,KAAA;AACA,IAAA,IAAIa,KAAK,CAACC,OAAO,KAAKvB,cAAc,IAAIwB,eAAe,CAACZ,eAAe,CAACa,KAAK,CAAC,KAAKtB,EAAE,EAAE;AACnF,MAAA,IAAIG,YAAY,EAAE;QACdA,YAAY,CAACgB,KAAK,CAAC,CAAA;AACnB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIf,OAAO,EAAE;AACTA,QAAAA,OAAO,EAAE,CAAA;AACb,OAAA;AACJ,KAAA;AACJ,GAAC,EACD,CAACA,OAAO,EAAED,YAAY,EAAEM,eAAe,CAACa,KAAK,EAAEhB,UAAU,CAC7D,CAAC,CAAA;AAEDiB,EAAAA,SAAS,CAAC,YAAM;AACZC,IAAAA,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAER,SAAS,CAAC,CAAA;AAC7C,IAAA,OAAO,YAAM;AACTO,MAAAA,MAAM,CAACE,mBAAmB,CAAC,SAAS,EAAET,SAAS,CAAC,CAAA;KACnD,CAAA;AACL,GAAC,EAAE,CAACA,SAAS,CAAC,CAAC,CAAA;;AAEf;AACAM,EAAAA,SAAS,CAAC,YAAM;IACZ,IAAItB,MAAM,IAAIO,aAAa,EAAE;MACzBG,QAAQ,CAACgB,OAAO,GAAGd,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,SAAS,CAAA;AAChDH,MAAAA,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,SAAS,GAAG,QAAQ,CAAA;AAC5C,KAAA;AACJ,GAAC,EAAE,CAACf,MAAM,EAAEO,aAAa,CAAC,CAAC,CAAA;AAE3Be,EAAAA,SAAS,CAAC,YAAM;IACZ,IAAI,CAACtB,MAAM,IAAI,CAAC2B,UAAU,CAACnB,eAAe,CAACa,KAAK,CAAC,EAAE;MAC/CT,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,SAAS,GAAGL,QAAQ,CAACgB,OAAO,CAAA;AACpD,KAAA;GACH,EAAE,CAAC1B,MAAM,EAAEQ,eAAe,CAACa,KAAK,CAAC,CAAC,CAAA;EAEnC,IAAMO,UAAsB,GAAAC,cAAA,CAAA;AACxB9B,IAAAA,EAAE,EAAFA,EAAE;AACF+B,IAAAA,IAAI,EAAE;AACFC,MAAAA,QAAQ,EAAE,IAAA;AACd,KAAA;AAAC,GAAA,EACE9B,SAAS,CACf,CAAA;EAED,OAAO;AAAE2B,IAAAA,UAAU,EAAVA,UAAAA;GAAY,CAAA;AACzB;;;;"}
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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"}
@@ -1,6 +1,6 @@
1
1
  import './TextArea_ob9y3r.css';
2
2
  import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2, toConsumableArray as _toConsumableArray, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
3
- import React, { forwardRef, useState, useCallback, createRef } from 'react';
3
+ import React, { forwardRef, useState, useCallback, useEffect, createRef } from 'react';
4
4
  import { useResizeObserver } from '@salutejs/plasma-core';
5
5
  import { cx } from '../../utils/index.js';
6
6
  import { ROOT_FONT_SIZE, useAutoResize } from './hooks/useAutoResize.js';
@@ -9,6 +9,7 @@ import { classes } from './TextArea.tokens.js';
9
9
  import { base as base$2 } from './variations/_view/base.js';
10
10
  import { base as base$1 } from './variations/_size/base.js';
11
11
  import { base as base$3 } from './variations/_disabled/base.js';
12
+ import { setInitialValue } from './utils/index.js';
12
13
  import { mergeRefs } from '../../utils/setRefList.js';
13
14
 
14
15
  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"];
@@ -134,6 +135,22 @@ var textAreaRoot = function textAreaRoot(Root) {
134
135
  }
135
136
  onChange === null || onChange === void 0 || onChange(event);
136
137
  }, [value, onChange]);
138
+ useEffect(function () {
139
+ console.log(outerRef);
140
+ if (outerRef.current) {
141
+ console.log(outerRef, 'outer');
142
+ outerRef.current.addEventListener('setInitialValue', function (e) {
143
+ return setUncontrolledValue(setInitialValue(e));
144
+ });
145
+ }
146
+ return function () {
147
+ if (outerRef.current) {
148
+ outerRef.current.removeEventListener('setInitialValue', function (e) {
149
+ return setUncontrolledValue(setInitialValue(e));
150
+ });
151
+ }
152
+ };
153
+ }, []);
137
154
  var dynamicLabelClasses = getDynamicLabelClasses(_objectSpread2({
138
155
  size: size,
139
156
  readOnly: readOnly,
@@ -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,9 @@
1
+ var setInitialValue = function setInitialValue(e) {
2
+ console.log(e.target);
3
+ var item = e.target;
4
+ var defaultValue = String(item.getAttribute('defaultValue'));
5
+ return defaultValue;
6
+ };
7
+
8
+ export { setInitialValue };
9
+ //# 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;;;;"}
@@ -158,6 +158,22 @@ var textFieldRoot = function textFieldRoot(Root) {
158
158
  })) || [];
159
159
  setChips(newChips);
160
160
  }, [isChipEnumeration, values]);
161
+ useEffect(function () {
162
+ console.log(inputRef);
163
+ if (inputRef.current) {
164
+ console.log(inputRef, 'current');
165
+ inputRef.current.addEventListener('setInitialValue', function () {
166
+ return setHasValue(true);
167
+ });
168
+ }
169
+ return function () {
170
+ if (inputRef.current) {
171
+ inputRef.current.removeEventListener('setInitialValue', function () {
172
+ return setHasValue(true);
173
+ });
174
+ }
175
+ };
176
+ }, []);
161
177
  useEffect(function () {
162
178
  setHasValue(Boolean(rest === null || rest === void 0 ? void 0 : rest.defaultValue));
163
179
  }, [rest.defaultValue]);