@semcore/feedback-form 5.4.2 → 5.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -2
- package/lib/cjs/FeedbackForm.js +21 -14
- package/lib/cjs/FeedbackForm.js.map +1 -1
- package/lib/es6/FeedbackForm.js +20 -14
- package/lib/es6/FeedbackForm.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,11 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
-
## [5.4.
|
|
5
|
+
## [5.4.4] - 2023-03-27
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- Added a11y error binding to field.
|
|
10
|
+
|
|
11
|
+
## [5.4.3] - 2023-03-24
|
|
6
12
|
|
|
7
13
|
### Changed
|
|
8
14
|
|
|
9
|
-
- Version patch update due to children dependencies update (`@semcore/button` [4.3.
|
|
15
|
+
- Version patch update due to children dependencies update (`@semcore/button` [4.3.15 ~> 4.3.16], `@semcore/utils` [3.48.1 ~> 3.49.0]).
|
|
10
16
|
|
|
11
17
|
## [5.4.0] - 2023-03-22
|
|
12
18
|
|
package/lib/cjs/FeedbackForm.js
CHANGED
|
@@ -47,8 +47,10 @@ var _flexBox = require("@semcore/flex-box");
|
|
|
47
47
|
|
|
48
48
|
var _pick = _interopRequireDefault(require("@semcore/utils/lib/pick"));
|
|
49
49
|
|
|
50
|
+
var _uniqueID = _interopRequireDefault(require("@semcore/utils/lib/uniqueID"));
|
|
51
|
+
|
|
50
52
|
var _excluded = ["Children", "styles", "forwardRef", "loading", "background", "theme"],
|
|
51
|
-
_excluded2 = ["Children", "tag"],
|
|
53
|
+
_excluded2 = ["Children", "tag", "uid"],
|
|
52
54
|
_excluded3 = ["input", "meta"];
|
|
53
55
|
|
|
54
56
|
/*__reshadow-styles__:"./style/feedback-form.shadow.css"*/
|
|
@@ -56,17 +58,17 @@ var style = (
|
|
|
56
58
|
/*__reshadow_css_start__*/
|
|
57
59
|
_core.sstyled.insert(
|
|
58
60
|
/*__inner_css_start__*/
|
|
59
|
-
".
|
|
61
|
+
".___SFeedbackForm_1hl5o_gg_{max-width:320px}.___SCancel_1hl5o_gg_,.___SSubmit_1hl5o_gg_{display:inline-flex;margin-right:var(--intergalactic-spacing-2x, 8px)}.___SNotice_1hl5o_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-4x, 16px);border-width:1px 0 0;border-top-style:solid;border-radius:0 0 var(--intergalactic-surface-rounded, 6px) var(--intergalactic-surface-rounded, 6px)}.___SSuccess_1hl5o_gg_{display:flex;align-items:center;flex-direction:column;width:320px;padding:var(--intergalactic-spacing-10x, 40px);box-sizing:border-box}.___SEmail_1hl5o_gg_{margin-bottom:calc(var(--intergalactic-spacing-4x, 16px) + var(--intergalactic-spacing-05x, 2px));width:80px;height:80px;background-image:url(\"data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M28.1632 6.00003C27.9554 5.99875 27.7493 6.03875 27.5571 6.11772C27.3648 6.19668 27.1902 6.31304 27.0432 6.46003L14.1332 19.38C7.645 25.8687 4 34.669 4 43.845C4 53.0211 7.645 61.8213 14.1332 68.31C17.3463 71.5242 21.1611 74.0738 25.3597 75.8134C29.5583 77.5529 34.0585 78.4482 38.6032 78.4482C43.1479 78.4482 47.6481 77.5529 51.8467 75.8134C56.0454 74.0738 59.8602 71.5242 63.0732 68.31L75.9832 55.4C76.1316 55.2536 76.2495 55.0792 76.3301 54.887C76.4108 54.6948 76.4526 54.4885 76.4532 54.28V6.89003C76.4506 6.65307 76.3546 6.42671 76.1861 6.26009C76.0176 6.09346 75.7902 6.00002 75.5532 6.00003H28.1632Z' fill='%2345E0A8'/%3E%3Cpath d='M29 45.2852L29.2 45.6352C35.39 42.1852 53.39 31.9652 56.73 35.1052C55.6 32.0052 39.7 35.4352 29 45.2852Z' fill='white'/%3E%3Cpath d='M28.44 31.6343C26.63 37.6343 19.23 56.1043 15 61.9443L18 62.8543L19.58 61.5343C23.8 51.9843 29.58 35.5343 29.89 30.0743C29.39 29.8143 28.93 30.2143 28.44 31.6343Z' fill='white'/%3E%3Cpath d='M15 62.0078C19.23 56.1678 26.63 37.7378 28.44 31.6678C30.25 25.5978 33.49 37.6678 31.67 42.7878' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M28 45.9424C38.68 35.5824 55.27 31.9424 56.43 35.1024C57.12 36.9924 43 41.3624 38.02 47.4224' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M44.45 21.93C41.21 20.77 35.86 19.04 33 18.24C37.12 16.41 70 4.24 72.67 3C71.75 7.11 67.75 21.28 65.96 27.93C61.13 26.25 56.23 24.78 53.03 23.74C51.0298 26.3907 49.2219 29.1812 47.62 32.09C46.44 28.23 45.29 23.77 44.45 21.93Z' fill='white' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M45 22.08L61.74 11' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M53 23.73L72.64 3' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M48 32.58L55.86 25' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M48.23 30.77L51.69 25.13L52.66 24L54.73 24.61L55.16 24.48L51.8 27.91L49.33 30.18L48 31.29L48.23 30.77Z' fill='black'/%3E%3Cpath d='M33.81 22L23 27.12' stroke='white' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M40.89 23L34 27.37' stroke='white' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M62.04 29L58 38.85' stroke='white' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M46.68 41C50.29 43.42 44.81 49.52 43 51.12' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M47.17 44C51.31 46.09 48.33 51.76 46 54.6' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M48.86 49C54.37 53.48 36.31 72.72 35 73.78' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cmask id='mask0_11950_117175' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='4' y='6' width='73' height='73'%3E%3Cpath d='M28.1632 6.00003C27.9554 5.99875 27.7493 6.03875 27.5571 6.11772C27.3648 6.19668 27.1902 6.31304 27.0432 6.46003L14.1332 19.38C7.645 25.8687 4 34.669 4 43.845C4 53.0211 7.645 61.8213 14.1332 68.31C17.3463 71.5242 21.1611 74.0738 25.3597 75.8134C29.5583 77.5529 34.0585 78.4482 38.6032 78.4482C43.1479 78.4482 47.6481 77.5529 51.8467 75.8134C56.0454 74.0738 59.8602 71.5242 63.0732 68.31L75.9832 55.4C76.1316 55.2536 76.2495 55.0792 76.3301 54.887C76.4108 54.6948 76.4526 54.4885 76.4532 54.28V6.89003C76.4506 6.65307 76.3546 6.42671 76.1861 6.26009C76.0176 6.09346 75.7902 6.00002 75.5532 6.00003H28.1632Z' fill='%2345DFA7'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_11950_117175)'%3E%3Cpath d='M5 74.6871C7.49 72.3471 13.24 63.6871 14.52 61.2471C28.18 59.1271 34.71 71.2471 34.98 74.7671C32.7234 79.651 30.1305 84.3723 27.22 88.8971' fill='black'/%3E%3Cpath d='M5 74.6871C7.49 72.3471 13.24 63.6871 14.52 61.2471C28.18 59.1271 34.71 71.2471 34.98 74.7671C32.7234 79.651 30.1305 84.3723 27.22 88.8971' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E%0A\")}"
|
|
60
62
|
/*__inner_css_end__*/
|
|
61
|
-
, "
|
|
63
|
+
, "1hl5o_gg_")
|
|
62
64
|
/*__reshadow_css_end__*/
|
|
63
65
|
, {
|
|
64
|
-
"__SFeedbackForm": "
|
|
65
|
-
"__SSubmit": "
|
|
66
|
-
"__SCancel": "
|
|
67
|
-
"__SNotice": "
|
|
68
|
-
"__SSuccess": "
|
|
69
|
-
"__SEmail": "
|
|
66
|
+
"__SFeedbackForm": "___SFeedbackForm_1hl5o_gg_",
|
|
67
|
+
"__SSubmit": "___SSubmit_1hl5o_gg_",
|
|
68
|
+
"__SCancel": "___SCancel_1hl5o_gg_",
|
|
69
|
+
"__SNotice": "___SNotice_1hl5o_gg_",
|
|
70
|
+
"__SSuccess": "___SSuccess_1hl5o_gg_",
|
|
71
|
+
"__SEmail": "___SEmail_1hl5o_gg_"
|
|
70
72
|
});
|
|
71
73
|
|
|
72
74
|
var FeedbackForm = /*#__PURE__*/function (_Component) {
|
|
@@ -162,6 +164,7 @@ function Item(_ref11) {
|
|
|
162
164
|
var _ref = arguments[0];
|
|
163
165
|
var Children = _ref11.Children,
|
|
164
166
|
tag = _ref11.tag,
|
|
167
|
+
uid = _ref11.uid,
|
|
165
168
|
props = (0, _objectWithoutProperties2["default"])(_ref11, _excluded2);
|
|
166
169
|
var tooltipProps = (0, _pick["default"])(props, TooltipProps);
|
|
167
170
|
var ItemRoot = tag;
|
|
@@ -173,24 +176,28 @@ function Item(_ref11) {
|
|
|
173
176
|
var inputProps = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, input), {}, {
|
|
174
177
|
state: invalid ? 'invalid' : 'normal',
|
|
175
178
|
'aria-invalid': invalid ? true : false,
|
|
176
|
-
'aria-errormessage':
|
|
179
|
+
'aria-errormessage': uid
|
|
177
180
|
});
|
|
178
181
|
return /*#__PURE__*/_react["default"].createElement(_tooltip["default"], (0, _extends2["default"])({
|
|
179
|
-
title: meta.error,
|
|
180
182
|
visible: invalid && meta.active,
|
|
181
|
-
inline: false,
|
|
182
183
|
theme: "warning",
|
|
183
184
|
placement: "left",
|
|
184
185
|
flip: {
|
|
185
186
|
fallbackPlacements: ['right', 'bottom']
|
|
186
187
|
}
|
|
187
|
-
}, tooltipProps),
|
|
188
|
+
}, tooltipProps), /*#__PURE__*/_react["default"].createElement(_tooltip["default"].Trigger, {
|
|
189
|
+
inline: false
|
|
190
|
+
}, tag && /*#__PURE__*/_react["default"].createElement(ItemRoot, (0, _core.assignProps)((0, _objectSpread2["default"])({}, inputProps), _ref)), typeof Children.origin === 'function' && Children.origin((0, _objectSpread2["default"])({
|
|
188
191
|
input: inputProps,
|
|
189
192
|
meta: meta
|
|
190
|
-
}, other)))
|
|
193
|
+
}, other))), /*#__PURE__*/_react["default"].createElement(_tooltip["default"].Popper, {
|
|
194
|
+
id: uid
|
|
195
|
+
}, meta.error));
|
|
191
196
|
});
|
|
192
197
|
}
|
|
193
198
|
|
|
199
|
+
Item.enhance = [(0, _uniqueID["default"])()];
|
|
200
|
+
|
|
194
201
|
function Success(props) {
|
|
195
202
|
var _ref2 = arguments[0],
|
|
196
203
|
_ref7;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeedbackForm.js","names":["FeedbackForm","createFocusDecorator","SFeedbackForm","Box","asProps","Children","styles","forwardRef","loading","background","theme","other","focusDecorator","api","sstyled","undefined","submitting","handleSubmit","origin","Component","style","Field","Form","onSubmit","description","error","value","words","split","symbols","join","length","email","test","String","toLowerCase","TooltipProps","Item","tag","props","tooltipProps","pick","ItemRoot","input","meta","invalid","touched","inputProps","state","active","fallbackPlacements","Success","SSuccess","SEmail","Submit","SSubmit","Button","Cancel","SCancel","Notice","SNotice","NoticeSmart","defaultProps","use","createComponent"],"sources":["../../src/FeedbackForm.jsx"],"sourcesContent":["import React from 'react';\nimport { Field, Form } from 'react-final-form';\nimport createFocusDecorator from 'final-form-focus';\n\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Button from '@semcore/button';\nimport SpinContainer from '@semcore/spin-container';\nimport Tooltip from '@semcore/tooltip';\nimport { NoticeSmart } from '@semcore/notice';\nimport { Box } from '@semcore/flex-box';\nimport pick from '@semcore/utils/lib/pick';\n\nimport style from './style/feedback-form.shadow.css';\n\nclass FeedbackForm extends Component {\n static displayName = 'FeedbackForm';\n static style = style;\n static FinalForm = {\n Field,\n Form,\n };\n\n static defaultProps = {\n onSubmit: () => {},\n };\n\n static validate = {\n description:\n (error) =>\n (value = '') => {\n const words = value.split(/\\s+/);\n const symbols = words.join(' ');\n if (symbols.length < 10 || words.length < 3) {\n return error;\n }\n },\n email:\n (error) =>\n (value = '') => {\n if (!/.+@.+\\..+/i.test(String(value).toLowerCase())) {\n return error;\n }\n },\n };\n\n focusDecorator = createFocusDecorator();\n\n render() {\n const SFeedbackForm = Box;\n const { Children, styles, forwardRef, loading, background, theme, ...other } = this.asProps;\n\n return (\n <Form decorators={[this.focusDecorator]} {...other}>\n {(api) =>\n sstyled(styles)(\n <SpinContainer background={background} theme={theme} size=\"xl\" loading={loading === undefined ? api.submitting : loading}>\n <SFeedbackForm\n tag=\"form\"\n noValidate\n method=\"POST\"\n ref={forwardRef}\n {...other}\n onSubmit={api.handleSubmit}\n title=\"This is feedback\"\n >\n {typeof Children.origin === 'function' ? Children.origin(api) : <Children />}\n </SFeedbackForm>\n </SpinContainer>,\n )\n }\n </Form>\n );\n }\n}\n\nconst TooltipProps = [\n 'title',\n 'theme',\n 'strategy',\n 'modifiers',\n 'placement',\n 'interaction',\n 'timeout',\n 'visible',\n 'defaultVisible',\n 'onVisibleChange',\n 'offset',\n 'preventOverflow',\n 'arrow',\n 'flip',\n 'computeStyles',\n 'eventListeners',\n 'onFirstUpdate',\n];\n\nfunction Item({ Children, tag, ...props }) {\n const tooltipProps = pick(props, TooltipProps);\n const ItemRoot = Root;\n\n return (\n <Field {...props}>\n {({ input, meta, ...other }) => {\n const invalid = meta.invalid && meta.touched;\n const inputProps = {\n ...input,\n state: invalid ? 'invalid' : 'normal',\n 'aria-invalid': invalid ? true : false,\n 'aria-errormessage': meta.error,\n };\n return (\n <Tooltip\n title={meta.error}\n visible={invalid && meta.active}\n inline={false}\n theme=\"warning\"\n placement=\"left\"\n flip={{\n fallbackPlacements: ['right', 'bottom'],\n }}\n {...tooltipProps}\n >\n {tag && <ItemRoot render={tag} {...inputProps} />}\n {typeof Children.origin === 'function' &&\n Children.origin({\n input: inputProps,\n meta,\n ...other,\n })}\n </Tooltip>\n );\n }}\n </Field>\n );\n}\n\nfunction Success(props) {\n const { Children, styles } = props;\n const SSuccess = Root;\n const SEmail = 'div';\n\n return sstyled(styles)(\n <SSuccess render={Box}>\n <SEmail aria-hidden={true} />\n <span>\n <Children />\n </span>\n </SSuccess>,\n );\n}\n// because it is used without a wrapper\nSuccess.style = style;\n\nfunction Submit(props) {\n const { styles } = props;\n const SSubmit = Root;\n return sstyled(styles)(<SSubmit render={Button} type=\"submit\" use=\"primary\" theme=\"success\" />);\n}\n\nfunction Cancel(props) {\n const { styles } = props;\n const SCancel = Root;\n return sstyled(styles)(<SCancel render={Button} type=\"reset\" use=\"secondary\" theme=\"muted\" />);\n}\n\nfunction Notice(props) {\n const { styles } = props;\n const SNotice = Root;\n return sstyled(styles)(<SNotice render={NoticeSmart} />);\n}\n\nNotice.defaultProps = {\n theme: 'gray96',\n use: 'secondary',\n};\n\nexport default createComponent(FeedbackForm, {\n Item,\n Success,\n Submit,\n Cancel,\n Notice,\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FeedbackForm.js","names":["FeedbackForm","createFocusDecorator","SFeedbackForm","Box","asProps","Children","styles","forwardRef","loading","background","theme","other","focusDecorator","api","sstyled","undefined","submitting","handleSubmit","origin","Component","style","Field","Form","onSubmit","description","error","value","words","split","symbols","join","length","email","test","String","toLowerCase","TooltipProps","Item","tag","uid","props","tooltipProps","pick","ItemRoot","input","meta","invalid","touched","inputProps","state","active","fallbackPlacements","enhance","uniqueIDEnhancement","Success","SSuccess","SEmail","Submit","SSubmit","Button","Cancel","SCancel","Notice","SNotice","NoticeSmart","defaultProps","use","createComponent"],"sources":["../../src/FeedbackForm.jsx"],"sourcesContent":["import React from 'react';\nimport { Field, Form } from 'react-final-form';\nimport createFocusDecorator from 'final-form-focus';\n\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Button from '@semcore/button';\nimport SpinContainer from '@semcore/spin-container';\nimport Tooltip from '@semcore/tooltip';\nimport { NoticeSmart } from '@semcore/notice';\nimport { Box } from '@semcore/flex-box';\nimport pick from '@semcore/utils/lib/pick';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/feedback-form.shadow.css';\n\nclass FeedbackForm extends Component {\n static displayName = 'FeedbackForm';\n static style = style;\n static FinalForm = {\n Field,\n Form,\n };\n\n static defaultProps = {\n onSubmit: () => {},\n };\n\n static validate = {\n description:\n (error) =>\n (value = '') => {\n const words = value.split(/\\s+/);\n const symbols = words.join(' ');\n if (symbols.length < 10 || words.length < 3) {\n return error;\n }\n },\n email:\n (error) =>\n (value = '') => {\n if (!/.+@.+\\..+/i.test(String(value).toLowerCase())) {\n return error;\n }\n },\n };\n\n focusDecorator = createFocusDecorator();\n\n render() {\n const SFeedbackForm = Box;\n const { Children, styles, forwardRef, loading, background, theme, ...other } = this.asProps;\n\n return (\n <Form decorators={[this.focusDecorator]} {...other}>\n {(api) =>\n sstyled(styles)(\n <SpinContainer background={background} theme={theme} size=\"xl\" loading={loading === undefined ? api.submitting : loading}>\n <SFeedbackForm\n tag=\"form\"\n noValidate\n method=\"POST\"\n ref={forwardRef}\n {...other}\n onSubmit={api.handleSubmit}\n title=\"This is feedback\"\n >\n {typeof Children.origin === 'function' ? Children.origin(api) : <Children />}\n </SFeedbackForm>\n </SpinContainer>,\n )\n }\n </Form>\n );\n }\n}\n\nconst TooltipProps = [\n 'title',\n 'theme',\n 'strategy',\n 'modifiers',\n 'placement',\n 'interaction',\n 'timeout',\n 'visible',\n 'defaultVisible',\n 'onVisibleChange',\n 'offset',\n 'preventOverflow',\n 'arrow',\n 'flip',\n 'computeStyles',\n 'eventListeners',\n 'onFirstUpdate',\n];\n\nfunction Item({ Children, tag, uid, ...props }) {\n const tooltipProps = pick(props, TooltipProps);\n const ItemRoot = Root;\n\n return (\n <Field {...props}>\n {({ input, meta, ...other }) => {\n const invalid = meta.invalid && meta.touched;\n const inputProps = {\n ...input,\n state: invalid ? 'invalid' : 'normal',\n 'aria-invalid': invalid ? true : false,\n 'aria-errormessage': uid,\n };\n return (\n <Tooltip\n visible={invalid && meta.active}\n theme=\"warning\"\n placement=\"left\"\n flip={{\n fallbackPlacements: ['right', 'bottom'],\n }}\n {...tooltipProps}\n >\n <Tooltip.Trigger inline={false}>\n {tag && <ItemRoot render={tag} {...inputProps} />}\n {typeof Children.origin === 'function' &&\n Children.origin({\n input: inputProps,\n meta,\n ...other,\n })}\n </Tooltip.Trigger>\n <Tooltip.Popper id={uid}>\n {meta.error}\n </Tooltip.Popper>\n </Tooltip>\n );\n }}\n </Field>\n );\n}\nItem.enhance = [uniqueIDEnhancement()]\n\nfunction Success(props) {\n const { Children, styles } = props;\n const SSuccess = Root;\n const SEmail = 'div';\n\n return sstyled(styles)(\n <SSuccess render={Box}>\n <SEmail aria-hidden={true} />\n <span>\n <Children />\n </span>\n </SSuccess>,\n );\n}\n// because it is used without a wrapper\nSuccess.style = style;\n\nfunction Submit(props) {\n const { styles } = props;\n const SSubmit = Root;\n return sstyled(styles)(<SSubmit render={Button} type=\"submit\" use=\"primary\" theme=\"success\" />);\n}\n\nfunction Cancel(props) {\n const { styles } = props;\n const SCancel = Root;\n return sstyled(styles)(<SCancel render={Button} type=\"reset\" use=\"secondary\" theme=\"muted\" />);\n}\n\nfunction Notice(props) {\n const { styles } = props;\n const SNotice = Root;\n return sstyled(styles)(<SNotice render={NoticeSmart} />);\n}\n\nNotice.defaultProps = {\n theme: 'gray96',\n use: 'secondary',\n};\n\nexport default createComponent(FeedbackForm, {\n Item,\n Success,\n Submit,\n Cancel,\n Notice,\n});\n"],"mappings":"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"}
|
package/lib/es6/FeedbackForm.js
CHANGED
|
@@ -14,7 +14,7 @@ import { assignProps as _assignProps3 } from "@semcore/core";
|
|
|
14
14
|
import { assignProps as _assignProps2 } from "@semcore/core";
|
|
15
15
|
import { assignProps as _assignProps } from "@semcore/core";
|
|
16
16
|
var _excluded = ["Children", "styles", "forwardRef", "loading", "background", "theme"],
|
|
17
|
-
_excluded2 = ["Children", "tag"],
|
|
17
|
+
_excluded2 = ["Children", "tag", "uid"],
|
|
18
18
|
_excluded3 = ["input", "meta"];
|
|
19
19
|
import React from 'react';
|
|
20
20
|
import { Field, Form } from 'react-final-form';
|
|
@@ -26,23 +26,24 @@ import Tooltip from '@semcore/tooltip';
|
|
|
26
26
|
import { NoticeSmart } from '@semcore/notice';
|
|
27
27
|
import { Box } from '@semcore/flex-box';
|
|
28
28
|
import pick from '@semcore/utils/lib/pick';
|
|
29
|
+
import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
|
|
29
30
|
|
|
30
31
|
/*__reshadow-styles__:"./style/feedback-form.shadow.css"*/
|
|
31
32
|
var style = (
|
|
32
33
|
/*__reshadow_css_start__*/
|
|
33
34
|
_sstyled.insert(
|
|
34
35
|
/*__inner_css_start__*/
|
|
35
|
-
".
|
|
36
|
+
".___SFeedbackForm_1hl5o_gg_{max-width:320px}.___SCancel_1hl5o_gg_,.___SSubmit_1hl5o_gg_{display:inline-flex;margin-right:var(--intergalactic-spacing-2x, 8px)}.___SNotice_1hl5o_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-4x, 16px);border-width:1px 0 0;border-top-style:solid;border-radius:0 0 var(--intergalactic-surface-rounded, 6px) var(--intergalactic-surface-rounded, 6px)}.___SSuccess_1hl5o_gg_{display:flex;align-items:center;flex-direction:column;width:320px;padding:var(--intergalactic-spacing-10x, 40px);box-sizing:border-box}.___SEmail_1hl5o_gg_{margin-bottom:calc(var(--intergalactic-spacing-4x, 16px) + var(--intergalactic-spacing-05x, 2px));width:80px;height:80px;background-image:url(\"data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M28.1632 6.00003C27.9554 5.99875 27.7493 6.03875 27.5571 6.11772C27.3648 6.19668 27.1902 6.31304 27.0432 6.46003L14.1332 19.38C7.645 25.8687 4 34.669 4 43.845C4 53.0211 7.645 61.8213 14.1332 68.31C17.3463 71.5242 21.1611 74.0738 25.3597 75.8134C29.5583 77.5529 34.0585 78.4482 38.6032 78.4482C43.1479 78.4482 47.6481 77.5529 51.8467 75.8134C56.0454 74.0738 59.8602 71.5242 63.0732 68.31L75.9832 55.4C76.1316 55.2536 76.2495 55.0792 76.3301 54.887C76.4108 54.6948 76.4526 54.4885 76.4532 54.28V6.89003C76.4506 6.65307 76.3546 6.42671 76.1861 6.26009C76.0176 6.09346 75.7902 6.00002 75.5532 6.00003H28.1632Z' fill='%2345E0A8'/%3E%3Cpath d='M29 45.2852L29.2 45.6352C35.39 42.1852 53.39 31.9652 56.73 35.1052C55.6 32.0052 39.7 35.4352 29 45.2852Z' fill='white'/%3E%3Cpath d='M28.44 31.6343C26.63 37.6343 19.23 56.1043 15 61.9443L18 62.8543L19.58 61.5343C23.8 51.9843 29.58 35.5343 29.89 30.0743C29.39 29.8143 28.93 30.2143 28.44 31.6343Z' fill='white'/%3E%3Cpath d='M15 62.0078C19.23 56.1678 26.63 37.7378 28.44 31.6678C30.25 25.5978 33.49 37.6678 31.67 42.7878' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M28 45.9424C38.68 35.5824 55.27 31.9424 56.43 35.1024C57.12 36.9924 43 41.3624 38.02 47.4224' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M44.45 21.93C41.21 20.77 35.86 19.04 33 18.24C37.12 16.41 70 4.24 72.67 3C71.75 7.11 67.75 21.28 65.96 27.93C61.13 26.25 56.23 24.78 53.03 23.74C51.0298 26.3907 49.2219 29.1812 47.62 32.09C46.44 28.23 45.29 23.77 44.45 21.93Z' fill='white' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M45 22.08L61.74 11' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M53 23.73L72.64 3' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M48 32.58L55.86 25' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M48.23 30.77L51.69 25.13L52.66 24L54.73 24.61L55.16 24.48L51.8 27.91L49.33 30.18L48 31.29L48.23 30.77Z' fill='black'/%3E%3Cpath d='M33.81 22L23 27.12' stroke='white' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M40.89 23L34 27.37' stroke='white' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M62.04 29L58 38.85' stroke='white' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M46.68 41C50.29 43.42 44.81 49.52 43 51.12' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M47.17 44C51.31 46.09 48.33 51.76 46 54.6' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M48.86 49C54.37 53.48 36.31 72.72 35 73.78' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cmask id='mask0_11950_117175' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='4' y='6' width='73' height='73'%3E%3Cpath d='M28.1632 6.00003C27.9554 5.99875 27.7493 6.03875 27.5571 6.11772C27.3648 6.19668 27.1902 6.31304 27.0432 6.46003L14.1332 19.38C7.645 25.8687 4 34.669 4 43.845C4 53.0211 7.645 61.8213 14.1332 68.31C17.3463 71.5242 21.1611 74.0738 25.3597 75.8134C29.5583 77.5529 34.0585 78.4482 38.6032 78.4482C43.1479 78.4482 47.6481 77.5529 51.8467 75.8134C56.0454 74.0738 59.8602 71.5242 63.0732 68.31L75.9832 55.4C76.1316 55.2536 76.2495 55.0792 76.3301 54.887C76.4108 54.6948 76.4526 54.4885 76.4532 54.28V6.89003C76.4506 6.65307 76.3546 6.42671 76.1861 6.26009C76.0176 6.09346 75.7902 6.00002 75.5532 6.00003H28.1632Z' fill='%2345DFA7'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_11950_117175)'%3E%3Cpath d='M5 74.6871C7.49 72.3471 13.24 63.6871 14.52 61.2471C28.18 59.1271 34.71 71.2471 34.98 74.7671C32.7234 79.651 30.1305 84.3723 27.22 88.8971' fill='black'/%3E%3Cpath d='M5 74.6871C7.49 72.3471 13.24 63.6871 14.52 61.2471C28.18 59.1271 34.71 71.2471 34.98 74.7671C32.7234 79.651 30.1305 84.3723 27.22 88.8971' stroke='black' stroke-width='0.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E%0A\")}"
|
|
36
37
|
/*__inner_css_end__*/
|
|
37
|
-
, "
|
|
38
|
+
, "1hl5o_gg_")
|
|
38
39
|
/*__reshadow_css_end__*/
|
|
39
40
|
, {
|
|
40
|
-
"__SFeedbackForm": "
|
|
41
|
-
"__SSubmit": "
|
|
42
|
-
"__SCancel": "
|
|
43
|
-
"__SNotice": "
|
|
44
|
-
"__SSuccess": "
|
|
45
|
-
"__SEmail": "
|
|
41
|
+
"__SFeedbackForm": "___SFeedbackForm_1hl5o_gg_",
|
|
42
|
+
"__SSubmit": "___SSubmit_1hl5o_gg_",
|
|
43
|
+
"__SCancel": "___SCancel_1hl5o_gg_",
|
|
44
|
+
"__SNotice": "___SNotice_1hl5o_gg_",
|
|
45
|
+
"__SSuccess": "___SSuccess_1hl5o_gg_",
|
|
46
|
+
"__SEmail": "___SEmail_1hl5o_gg_"
|
|
46
47
|
});
|
|
47
48
|
|
|
48
49
|
var FeedbackForm = /*#__PURE__*/function (_Component) {
|
|
@@ -149,6 +150,7 @@ function Item(_ref11) {
|
|
|
149
150
|
|
|
150
151
|
var Children = _ref11.Children,
|
|
151
152
|
tag = _ref11.tag,
|
|
153
|
+
uid = _ref11.uid,
|
|
152
154
|
props = _objectWithoutProperties(_ref11, _excluded2);
|
|
153
155
|
|
|
154
156
|
var tooltipProps = pick(props, TooltipProps);
|
|
@@ -163,25 +165,29 @@ function Item(_ref11) {
|
|
|
163
165
|
var inputProps = _objectSpread(_objectSpread({}, input), {}, {
|
|
164
166
|
state: invalid ? 'invalid' : 'normal',
|
|
165
167
|
'aria-invalid': invalid ? true : false,
|
|
166
|
-
'aria-errormessage':
|
|
168
|
+
'aria-errormessage': uid
|
|
167
169
|
});
|
|
168
170
|
|
|
169
171
|
return /*#__PURE__*/React.createElement(Tooltip, _extends({
|
|
170
|
-
title: meta.error,
|
|
171
172
|
visible: invalid && meta.active,
|
|
172
|
-
inline: false,
|
|
173
173
|
theme: "warning",
|
|
174
174
|
placement: "left",
|
|
175
175
|
flip: {
|
|
176
176
|
fallbackPlacements: ['right', 'bottom']
|
|
177
177
|
}
|
|
178
|
-
}, tooltipProps),
|
|
178
|
+
}, tooltipProps), /*#__PURE__*/React.createElement(Tooltip.Trigger, {
|
|
179
|
+
inline: false
|
|
180
|
+
}, tag && /*#__PURE__*/React.createElement(ItemRoot, _assignProps(_objectSpread({}, inputProps), _ref)), typeof Children.origin === 'function' && Children.origin(_objectSpread({
|
|
179
181
|
input: inputProps,
|
|
180
182
|
meta: meta
|
|
181
|
-
}, other)))
|
|
183
|
+
}, other))), /*#__PURE__*/React.createElement(Tooltip.Popper, {
|
|
184
|
+
id: uid
|
|
185
|
+
}, meta.error));
|
|
182
186
|
});
|
|
183
187
|
}
|
|
184
188
|
|
|
189
|
+
Item.enhance = [uniqueIDEnhancement()];
|
|
190
|
+
|
|
185
191
|
function Success(props) {
|
|
186
192
|
var _ref2 = arguments[0],
|
|
187
193
|
_ref7;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeedbackForm.js","names":["React","Field","Form","createFocusDecorator","createComponent","Component","sstyled","Root","Button","SpinContainer","Tooltip","NoticeSmart","Box","pick","FeedbackForm","SFeedbackForm","asProps","Children","styles","forwardRef","loading","background","theme","other","focusDecorator","api","undefined","submitting","handleSubmit","origin","style","onSubmit","description","error","value","words","split","symbols","join","length","email","test","String","toLowerCase","TooltipProps","Item","tag","props","tooltipProps","ItemRoot","input","meta","invalid","touched","inputProps","state","active","fallbackPlacements","Success","SSuccess","SEmail","Submit","SSubmit","Cancel","SCancel","Notice","SNotice","defaultProps","use"],"sources":["../../src/FeedbackForm.jsx"],"sourcesContent":["import React from 'react';\nimport { Field, Form } from 'react-final-form';\nimport createFocusDecorator from 'final-form-focus';\n\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Button from '@semcore/button';\nimport SpinContainer from '@semcore/spin-container';\nimport Tooltip from '@semcore/tooltip';\nimport { NoticeSmart } from '@semcore/notice';\nimport { Box } from '@semcore/flex-box';\nimport pick from '@semcore/utils/lib/pick';\n\nimport style from './style/feedback-form.shadow.css';\n\nclass FeedbackForm extends Component {\n static displayName = 'FeedbackForm';\n static style = style;\n static FinalForm = {\n Field,\n Form,\n };\n\n static defaultProps = {\n onSubmit: () => {},\n };\n\n static validate = {\n description:\n (error) =>\n (value = '') => {\n const words = value.split(/\\s+/);\n const symbols = words.join(' ');\n if (symbols.length < 10 || words.length < 3) {\n return error;\n }\n },\n email:\n (error) =>\n (value = '') => {\n if (!/.+@.+\\..+/i.test(String(value).toLowerCase())) {\n return error;\n }\n },\n };\n\n focusDecorator = createFocusDecorator();\n\n render() {\n const SFeedbackForm = Box;\n const { Children, styles, forwardRef, loading, background, theme, ...other } = this.asProps;\n\n return (\n <Form decorators={[this.focusDecorator]} {...other}>\n {(api) =>\n sstyled(styles)(\n <SpinContainer background={background} theme={theme} size=\"xl\" loading={loading === undefined ? api.submitting : loading}>\n <SFeedbackForm\n tag=\"form\"\n noValidate\n method=\"POST\"\n ref={forwardRef}\n {...other}\n onSubmit={api.handleSubmit}\n title=\"This is feedback\"\n >\n {typeof Children.origin === 'function' ? Children.origin(api) : <Children />}\n </SFeedbackForm>\n </SpinContainer>,\n )\n }\n </Form>\n );\n }\n}\n\nconst TooltipProps = [\n 'title',\n 'theme',\n 'strategy',\n 'modifiers',\n 'placement',\n 'interaction',\n 'timeout',\n 'visible',\n 'defaultVisible',\n 'onVisibleChange',\n 'offset',\n 'preventOverflow',\n 'arrow',\n 'flip',\n 'computeStyles',\n 'eventListeners',\n 'onFirstUpdate',\n];\n\nfunction Item({ Children, tag, ...props }) {\n const tooltipProps = pick(props, TooltipProps);\n const ItemRoot = Root;\n\n return (\n <Field {...props}>\n {({ input, meta, ...other }) => {\n const invalid = meta.invalid && meta.touched;\n const inputProps = {\n ...input,\n state: invalid ? 'invalid' : 'normal',\n 'aria-invalid': invalid ? true : false,\n 'aria-errormessage': meta.error,\n };\n return (\n <Tooltip\n title={meta.error}\n visible={invalid && meta.active}\n inline={false}\n theme=\"warning\"\n placement=\"left\"\n flip={{\n fallbackPlacements: ['right', 'bottom'],\n }}\n {...tooltipProps}\n >\n {tag && <ItemRoot render={tag} {...inputProps} />}\n {typeof Children.origin === 'function' &&\n Children.origin({\n input: inputProps,\n meta,\n ...other,\n })}\n </Tooltip>\n );\n }}\n </Field>\n );\n}\n\nfunction Success(props) {\n const { Children, styles } = props;\n const SSuccess = Root;\n const SEmail = 'div';\n\n return sstyled(styles)(\n <SSuccess render={Box}>\n <SEmail aria-hidden={true} />\n <span>\n <Children />\n </span>\n </SSuccess>,\n );\n}\n// because it is used without a wrapper\nSuccess.style = style;\n\nfunction Submit(props) {\n const { styles } = props;\n const SSubmit = Root;\n return sstyled(styles)(<SSubmit render={Button} type=\"submit\" use=\"primary\" theme=\"success\" />);\n}\n\nfunction Cancel(props) {\n const { styles } = props;\n const SCancel = Root;\n return sstyled(styles)(<SCancel render={Button} type=\"reset\" use=\"secondary\" theme=\"muted\" />);\n}\n\nfunction Notice(props) {\n const { styles } = props;\n const SNotice = Root;\n return sstyled(styles)(<SNotice render={NoticeSmart} />);\n}\n\nNotice.defaultProps = {\n theme: 'gray96',\n use: 'secondary',\n};\n\nexport default createComponent(FeedbackForm, {\n Item,\n Success,\n Submit,\n Cancel,\n Notice,\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,KAAT,EAAgBC,IAAhB,QAA4B,kBAA5B;AACA,OAAOC,oBAAP,MAAiC,kBAAjC;AAEA,OAAOC,eAAP,IAA0BC,SAA1B,EAAqCC,OAArC,EAA8CC,IAA9C,QAA0D,eAA1D;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,OAAOC,aAAP,MAA0B,yBAA1B;AACA,OAAOC,OAAP,MAAoB,kBAApB;AACA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,GAAT,QAAoB,mBAApB;AACA,OAAOC,IAAP,MAAiB,yBAAjB;;;;;;;;;;;;;;;;;;;;IAIMC,Y;;;;;;;;;;;;;;;;qEA+BaX,oBAAoB,E;;;;;;;WAErC,kBAAS;MACP,IAAMY,aAAa,GAAGH,GAAtB;;MACA,oBAA+E,KAAKI,OAApF;MAAA,IAAQC,QAAR,iBAAQA,QAAR;MAAA,IAAkBC,MAAlB,iBAAkBA,MAAlB;MAAA,IAA0BC,UAA1B,iBAA0BA,UAA1B;MAAA,IAAsCC,OAAtC,iBAAsCA,OAAtC;MAAA,IAA+CC,UAA/C,iBAA+CA,UAA/C;MAAA,IAA2DC,KAA3D,iBAA2DA,KAA3D;MAAA,IAAqEC,KAArE;;MAEA,oBACE,oBAAC,IAAD;QAAM,UAAU,EAAE,CAAC,KAAKC,cAAN;MAAlB,GAA6CD,KAA7C,GACG,UAACE,GAAD;QAAA;;QAAA,eACCnB,OAAO,CAACY,MAAD,CADR,eAEG,oBAAC,aAAD;UAAA,cAA2BG,UAA3B;UAAA,SAA8CC,KAA9C;UAAA,QAA0D,IAA1D;UAAA,WAAwEF,OAAO,KAAKM,SAAZ,GAAwBD,GAAG,CAACE,UAA5B,GAAyCP;QAAjH,iBACE,oBAAC,aAAD;UAAA,OACM,MADN;UAAA;UAAA,UAGS,MAHT;UAAA,OAIOD;QAJP,GAKMI,KALN;UAAA,YAMYE,GAAG,CAACG,YANhB;UAAA,SAOQ;QAPR,KASG,OAAOX,QAAQ,CAACY,MAAhB,KAA2B,UAA3B,GAAwCZ,QAAQ,CAACY,MAAT,CAAgBJ,GAAhB,CAAxC,gBAA+D,oBAAC,QAAD,2BATlE,CADF,CAFH;MAAA,CADH,CADF;IAqBD;;;;EA1DwBpB,S;;gBAArBS,Y,iBACiB,c;;gBADjBA,Y,WAEWgB,K;;gBAFXhB,Y,eAGe;EACjBb,KAAK,EAALA,KADiB;EAEjBC,IAAI,EAAJA;AAFiB,C;;gBAHfY,Y,kBAQkB;EACpBiB,QAAQ,EAAE,oBAAM,CAAE;AADE,C;;gBARlBjB,Y,cAYc;EAChBkB,WAAW,EACT,qBAACC,KAAD;IAAA,OACA,YAAgB;MAAA,IAAfC,KAAe,uEAAP,EAAO;MACd,IAAMC,KAAK,GAAGD,KAAK,CAACE,KAAN,CAAY,KAAZ,CAAd;MACA,IAAMC,OAAO,GAAGF,KAAK,CAACG,IAAN,CAAW,GAAX,CAAhB;;MACA,IAAID,OAAO,CAACE,MAAR,GAAiB,EAAjB,IAAuBJ,KAAK,CAACI,MAAN,GAAe,CAA1C,EAA6C;QAC3C,OAAON,KAAP;MACD;IACF,CAPD;EAAA,CAFc;EAUhBO,KAAK,EACH,eAACP,KAAD;IAAA,OACA,YAAgB;MAAA,IAAfC,KAAe,uEAAP,EAAO;;MACd,IAAI,CAAC,aAAaO,IAAb,CAAkBC,MAAM,CAACR,KAAD,CAAN,CAAcS,WAAd,EAAlB,CAAL,EAAqD;QACnD,OAAOV,KAAP;MACD;IACF,CALD;EAAA;AAXc,C;;AAiDpB,IAAMW,YAAY,GAAG,CACnB,OADmB,EAEnB,OAFmB,EAGnB,UAHmB,EAInB,WAJmB,EAKnB,WALmB,EAMnB,aANmB,EAOnB,SAPmB,EAQnB,SARmB,EASnB,gBATmB,EAUnB,iBAVmB,EAWnB,QAXmB,EAYnB,iBAZmB,EAanB,OAbmB,EAcnB,MAdmB,EAenB,eAfmB,EAgBnB,gBAhBmB,EAiBnB,eAjBmB,CAArB;;AAoBA,SAASC,IAAT,SAA2C;EAAA;;EAAA,IAA3B5B,QAA2B,UAA3BA,QAA2B;EAAA,IAAjB6B,GAAiB,UAAjBA,GAAiB;EAAA,IAATC,KAAS;;EACzC,IAAMC,YAAY,GAAGnC,IAAI,CAACkC,KAAD,EAAQH,YAAR,CAAzB;EACA,IAAMK,QAAQ,GAwBsBH,GAxBpC;EAEA,oBACE,oBAAC,KAAD,EAAWC,KAAX,EACG,kBAA+B;IAAA,IAA5BG,KAA4B,UAA5BA,KAA4B;IAAA,IAArBC,IAAqB,UAArBA,IAAqB;IAAA,IAAZ5B,KAAY;;IAC9B,IAAM6B,OAAO,GAAGD,IAAI,CAACC,OAAL,IAAgBD,IAAI,CAACE,OAArC;;IACA,IAAMC,UAAU,mCACXJ,KADW;MAEdK,KAAK,EAAEH,OAAO,GAAG,SAAH,GAAe,QAFf;MAGd,gBAAgBA,OAAO,GAAG,IAAH,GAAU,KAHnB;MAId,qBAAqBD,IAAI,CAAClB;IAJZ,EAAhB;;IAMA,oBACE,oBAAC,OAAD;MACE,KAAK,EAAEkB,IAAI,CAAClB,KADd;MAEE,OAAO,EAAEmB,OAAO,IAAID,IAAI,CAACK,MAF3B;MAGE,MAAM,EAAE,KAHV;MAIE,KAAK,EAAC,SAJR;MAKE,SAAS,EAAC,MALZ;MAME,IAAI,EAAE;QACJC,kBAAkB,EAAE,CAAC,OAAD,EAAU,QAAV;MADhB;IANR,GASMT,YATN,GAWGF,GAAG,iBAAI,oBAAC,QAAD,iCAA2BQ,UAA3B,SAXV,EAYG,OAAOrC,QAAQ,CAACY,MAAhB,KAA2B,UAA3B,IACCZ,QAAQ,CAACY,MAAT;MACEqB,KAAK,EAAEI,UADT;MAEEH,IAAI,EAAJA;IAFF,GAGK5B,KAHL,EAbJ,CADF;EAqBD,CA9BH,CADF;AAkCD;;AAED,SAASmC,OAAT,CAAiBX,KAAjB,EAAwB;EAAA;EAAA;;EACtB,IAAQ9B,QAAR,GAA6B8B,KAA7B,CAAQ9B,QAAR;EAAA,IAAkBC,MAAlB,GAA6B6B,KAA7B,CAAkB7B,MAAlB;EACA,IAAMyC,QAAQ,GAIM/C,GAJpB;EACA,IAAMgD,MAAM,GAAG,KAAf;EAEA,eAAOtD,OAAO,CAACY,MAAD,CAAd,eACE,oBAAC,QAAD,kFACE,oBAAC,MAAD;IAAA,eAAqB;EAArB,GADF,eAEE,+DACE,oBAAC,QAAD,2BADF,CAFF,CADF;AAQD,C,CACD;;;AACAwC,OAAO,CAAC5B,KAAR,GAAgBA,KAAhB;;AAEA,SAAS+B,MAAT,CAAgBd,KAAhB,EAAuB;EAAA;EAAA;;EACrB,IAAQ7B,MAAR,GAAmB6B,KAAnB,CAAQ7B,MAAR;EACA,IAAM4C,OAAO,GAC2BtD,MADxC;EACA,eAAOF,OAAO,CAACY,MAAD,CAAd,eAAuB,oBAAC,OAAD;IAAA,QAA8B,QAA9B;IAAA,OAA2C,SAA3C;IAAA,SAA2D;EAA3D,YAAvB;AACD;;AAED,SAAS6C,MAAT,CAAgBhB,KAAhB,EAAuB;EAAA;EAAA;;EACrB,IAAQ7B,MAAR,GAAmB6B,KAAnB,CAAQ7B,MAAR;EACA,IAAM8C,OAAO,GAC2BxD,MADxC;EACA,eAAOF,OAAO,CAACY,MAAD,CAAd,eAAuB,oBAAC,OAAD;IAAA,QAA8B,OAA9B;IAAA,OAA0C,WAA1C;IAAA,SAA4D;EAA5D,YAAvB;AACD;;AAED,SAAS+C,MAAT,CAAgBlB,KAAhB,EAAuB;EAAA;EAAA;;EACrB,IAAQ7B,MAAR,GAAmB6B,KAAnB,CAAQ7B,MAAR;EACA,IAAMgD,OAAO,GAC2BvD,WADxC;EACA,gBAAOL,OAAO,CAACY,MAAD,CAAd,eAAuB,oBAAC,OAAD,oEAAvB;AACD;;AAED+C,MAAM,CAACE,YAAP,GAAsB;EACpB7C,KAAK,EAAE,QADa;EAEpB8C,GAAG,EAAE;AAFe,CAAtB;AAKA,eAAehE,eAAe,CAACU,YAAD,EAAe;EAC3C+B,IAAI,EAAJA,IAD2C;EAE3Ca,OAAO,EAAPA,OAF2C;EAG3CG,MAAM,EAANA,MAH2C;EAI3CE,MAAM,EAANA,MAJ2C;EAK3CE,MAAM,EAANA;AAL2C,CAAf,CAA9B"}
|
|
1
|
+
{"version":3,"file":"FeedbackForm.js","names":["React","Field","Form","createFocusDecorator","createComponent","Component","sstyled","Root","Button","SpinContainer","Tooltip","NoticeSmart","Box","pick","uniqueIDEnhancement","FeedbackForm","SFeedbackForm","asProps","Children","styles","forwardRef","loading","background","theme","other","focusDecorator","api","undefined","submitting","handleSubmit","origin","style","onSubmit","description","error","value","words","split","symbols","join","length","email","test","String","toLowerCase","TooltipProps","Item","tag","uid","props","tooltipProps","ItemRoot","input","meta","invalid","touched","inputProps","state","active","fallbackPlacements","enhance","Success","SSuccess","SEmail","Submit","SSubmit","Cancel","SCancel","Notice","SNotice","defaultProps","use"],"sources":["../../src/FeedbackForm.jsx"],"sourcesContent":["import React from 'react';\nimport { Field, Form } from 'react-final-form';\nimport createFocusDecorator from 'final-form-focus';\n\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Button from '@semcore/button';\nimport SpinContainer from '@semcore/spin-container';\nimport Tooltip from '@semcore/tooltip';\nimport { NoticeSmart } from '@semcore/notice';\nimport { Box } from '@semcore/flex-box';\nimport pick from '@semcore/utils/lib/pick';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/feedback-form.shadow.css';\n\nclass FeedbackForm extends Component {\n static displayName = 'FeedbackForm';\n static style = style;\n static FinalForm = {\n Field,\n Form,\n };\n\n static defaultProps = {\n onSubmit: () => {},\n };\n\n static validate = {\n description:\n (error) =>\n (value = '') => {\n const words = value.split(/\\s+/);\n const symbols = words.join(' ');\n if (symbols.length < 10 || words.length < 3) {\n return error;\n }\n },\n email:\n (error) =>\n (value = '') => {\n if (!/.+@.+\\..+/i.test(String(value).toLowerCase())) {\n return error;\n }\n },\n };\n\n focusDecorator = createFocusDecorator();\n\n render() {\n const SFeedbackForm = Box;\n const { Children, styles, forwardRef, loading, background, theme, ...other } = this.asProps;\n\n return (\n <Form decorators={[this.focusDecorator]} {...other}>\n {(api) =>\n sstyled(styles)(\n <SpinContainer background={background} theme={theme} size=\"xl\" loading={loading === undefined ? api.submitting : loading}>\n <SFeedbackForm\n tag=\"form\"\n noValidate\n method=\"POST\"\n ref={forwardRef}\n {...other}\n onSubmit={api.handleSubmit}\n title=\"This is feedback\"\n >\n {typeof Children.origin === 'function' ? Children.origin(api) : <Children />}\n </SFeedbackForm>\n </SpinContainer>,\n )\n }\n </Form>\n );\n }\n}\n\nconst TooltipProps = [\n 'title',\n 'theme',\n 'strategy',\n 'modifiers',\n 'placement',\n 'interaction',\n 'timeout',\n 'visible',\n 'defaultVisible',\n 'onVisibleChange',\n 'offset',\n 'preventOverflow',\n 'arrow',\n 'flip',\n 'computeStyles',\n 'eventListeners',\n 'onFirstUpdate',\n];\n\nfunction Item({ Children, tag, uid, ...props }) {\n const tooltipProps = pick(props, TooltipProps);\n const ItemRoot = Root;\n\n return (\n <Field {...props}>\n {({ input, meta, ...other }) => {\n const invalid = meta.invalid && meta.touched;\n const inputProps = {\n ...input,\n state: invalid ? 'invalid' : 'normal',\n 'aria-invalid': invalid ? true : false,\n 'aria-errormessage': uid,\n };\n return (\n <Tooltip\n visible={invalid && meta.active}\n theme=\"warning\"\n placement=\"left\"\n flip={{\n fallbackPlacements: ['right', 'bottom'],\n }}\n {...tooltipProps}\n >\n <Tooltip.Trigger inline={false}>\n {tag && <ItemRoot render={tag} {...inputProps} />}\n {typeof Children.origin === 'function' &&\n Children.origin({\n input: inputProps,\n meta,\n ...other,\n })}\n </Tooltip.Trigger>\n <Tooltip.Popper id={uid}>\n {meta.error}\n </Tooltip.Popper>\n </Tooltip>\n );\n }}\n </Field>\n );\n}\nItem.enhance = [uniqueIDEnhancement()]\n\nfunction Success(props) {\n const { Children, styles } = props;\n const SSuccess = Root;\n const SEmail = 'div';\n\n return sstyled(styles)(\n <SSuccess render={Box}>\n <SEmail aria-hidden={true} />\n <span>\n <Children />\n </span>\n </SSuccess>,\n );\n}\n// because it is used without a wrapper\nSuccess.style = style;\n\nfunction Submit(props) {\n const { styles } = props;\n const SSubmit = Root;\n return sstyled(styles)(<SSubmit render={Button} type=\"submit\" use=\"primary\" theme=\"success\" />);\n}\n\nfunction Cancel(props) {\n const { styles } = props;\n const SCancel = Root;\n return sstyled(styles)(<SCancel render={Button} type=\"reset\" use=\"secondary\" theme=\"muted\" />);\n}\n\nfunction Notice(props) {\n const { styles } = props;\n const SNotice = Root;\n return sstyled(styles)(<SNotice render={NoticeSmart} />);\n}\n\nNotice.defaultProps = {\n theme: 'gray96',\n use: 'secondary',\n};\n\nexport default createComponent(FeedbackForm, {\n Item,\n Success,\n Submit,\n Cancel,\n Notice,\n});\n"],"mappings":"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"}
|