@semcore/feedback-form 6.40.0 → 16.0.0-prerelease.11
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 +2 -2
- package/lib/cjs/FeedbackForm.js +9 -11
- package/lib/cjs/FeedbackForm.js.map +1 -1
- package/lib/cjs/component/checkbox-button/CheckboxButton.js +5 -7
- package/lib/cjs/component/checkbox-button/CheckboxButton.js.map +1 -1
- package/lib/cjs/component/feedback-item/FeedbackItem.js +4 -4
- package/lib/cjs/component/feedback-item/FeedbackItem.js.map +1 -1
- package/lib/cjs/component/feedback-rating/FeedbackRating.js +6 -8
- package/lib/cjs/component/feedback-rating/FeedbackRating.js.map +1 -1
- package/lib/cjs/component/slider-rating/SliderRating.js +13 -17
- package/lib/cjs/component/slider-rating/SliderRating.js.map +1 -1
- package/lib/cjs/style/slider-rating.shadow.css +1 -6
- package/lib/es6/FeedbackForm.js +9 -9
- package/lib/es6/FeedbackForm.js.map +1 -1
- package/lib/es6/component/checkbox-button/CheckboxButton.js +5 -5
- package/lib/es6/component/checkbox-button/CheckboxButton.js.map +1 -1
- package/lib/es6/component/feedback-item/FeedbackItem.js +4 -4
- package/lib/es6/component/feedback-item/FeedbackItem.js.map +1 -1
- package/lib/es6/component/feedback-rating/FeedbackRating.js +6 -6
- package/lib/es6/component/feedback-rating/FeedbackRating.js.map +1 -1
- package/lib/es6/component/slider-rating/SliderRating.js +13 -15
- package/lib/es6/component/slider-rating/SliderRating.js.map +1 -1
- package/lib/es6/style/slider-rating.shadow.css +1 -6
- package/lib/esm/FeedbackForm.mjs +124 -107
- package/lib/esm/component/checkbox-button/CheckboxButton.mjs +47 -41
- package/lib/esm/component/feedback-item/FeedbackItem.mjs +44 -33
- package/lib/esm/component/feedback-rating/FeedbackRating.mjs +288 -244
- package/lib/esm/component/slider-rating/SliderRating.mjs +168 -134
- package/lib/esm/component/submit-button/SubmitButton.mjs +14 -12
- package/lib/esm/index.mjs +4 -4
- package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +30 -30
- package/lib/esm/translations/de.json.mjs +20 -14
- package/lib/esm/translations/en.json.mjs +20 -14
- package/lib/esm/translations/es.json.mjs +20 -14
- package/lib/esm/translations/fr.json.mjs +20 -14
- package/lib/esm/translations/it.json.mjs +20 -14
- package/lib/esm/translations/ja.json.mjs +20 -14
- package/lib/esm/translations/ko.json.mjs +20 -14
- package/lib/esm/translations/nl.json.mjs +20 -14
- package/lib/esm/translations/pl.json.mjs +20 -14
- package/lib/esm/translations/pt.json.mjs +20 -14
- package/lib/esm/translations/sv.json.mjs +20 -14
- package/lib/esm/translations/tr.json.mjs +20 -14
- package/lib/esm/translations/vi.json.mjs +20 -14
- package/lib/esm/translations/zh.json.mjs +20 -14
- package/lib/types/component/checkbox-button/CheckboxButton.d.ts +1 -1
- package/package.json +16 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliderRating.js","names":["React","createComponent","Component","Root","sstyled","Flex","Box","style","_sstyled","insert","keyboardFocusEnhance","uniqueIDEnhancement","i18nEnhance","localizedMessages","MIN","MAX","SliderRatingRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","hoveredIndex","clickedIndex","newValue","e","readonly","asProps","setValue","index","setState","_this$asProps","onChange","value","event","includes","key","preventDefault","state","direction","_createClass","getStarProps","_","_this$asProps2","filled","onClick","handleClick","onMouseEnter","undefined","handleMouseEnder","hovered","getLabelText","_this$asProps3","getI18nText","selectedRating","max","render","_ref","_ref3","_this$asProps4","styles","SSliderRating","label","createElement","_assignProps","fill","map","position","SliderRating","Star","hoverValue","editModeLabel","cn","_objectSpread","_assignProps2","handleMouseLeave","handleKeyDown","i18n","locale","props","_ref2","arguments[0]","_ref4","SStar","_assignProps3","displayName"],"sources":["../../../../src/component/slider-rating/SliderRating.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, Root, sstyled, Intergalactic } from '@semcore/core';\nimport { Flex, Box, BoxProps } from '@semcore/flex-box';\nimport style from '../../style/slider-rating.shadow.css';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { ScreenReaderOnly } from '@semcore/flex-box';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\ntype SliderRatingProps = {\n value: number;\n onChange?: (value: number) => void;\n readonly?: boolean;\n};\n\ntype State = {\n hoveredIndex: number;\n clickedIndex: number;\n};\n\ntype StarProps = BoxProps & {\n filled?: boolean;\n};\n\nconst MIN = 1;\nconst MAX = 5;\n\nclass SliderRatingRoot extends Component<\n SliderRatingProps,\n {},\n State,\n typeof SliderRatingRoot.enhance\n> {\n static displayName = 'SliderRating';\n static style = style;\n\n static enhance = [\n keyboardFocusEnhance(),\n uniqueIDEnhancement(),\n i18nEnhance(localizedMessages),\n ] as const;\n\n state: State = {\n hoveredIndex: -1,\n clickedIndex: -1,\n };\n\n static defaultProps = {\n i18n: localizedMessages,\n locale: 'en',\n };\n\n handleClick = (newValue: number) => (e: React.SyntheticEvent<SVGElement>) => {\n const { readonly } = this.asProps;\n\n if (!readonly) {\n this.setValue(newValue);\n }\n };\n\n handleMouseEnder = (index: number) => () => {\n this.setState({ hoveredIndex: index });\n };\n\n handleMouseLeave = () => {\n this.setState({ hoveredIndex: -1 });\n };\n\n getStarProps(_: any, index: number) {\n const { value, readonly } = this.asProps;\n const { hoveredIndex } = this.state;\n\n return {\n filled: value ? index + 1 <= value || index <= hoveredIndex : index <= hoveredIndex,\n onClick: this.handleClick(index + 1),\n onMouseEnter: readonly ? undefined : this.handleMouseEnder(index),\n hovered: hoveredIndex === index,\n };\n }\n\n setValue = (newValue: number) => {\n const { onChange, value } = this.asProps;\n\n if (onChange) {\n onChange(newValue);\n }\n\n if (newValue <= value) {\n this.setState({ clickedIndex: newValue });\n } else {\n this.setState({ clickedIndex: -1 });\n }\n };\n\n handleKeyDown = (event: React.KeyboardEvent) => {\n if (!['ArrowLeft', 'ArrowRight', 'Enter'].includes(event.key)) return;\n event.preventDefault();\n\n if (event.key === 'Enter') {\n const { hoveredIndex } = this.state;\n\n this.setValue(hoveredIndex + 1);\n } else {\n const { value } = this.asProps;\n const { hoveredIndex } = this.state;\n\n const direction = event.key === 'ArrowLeft' ? -1 : 1;\n let newValue = hoveredIndex === -1 ? value + direction : hoveredIndex + 1 + direction;\n\n if (newValue > MAX) newValue = MAX;\n if (newValue < MIN) newValue = MIN;\n\n this.setState({ hoveredIndex: newValue - 1 });\n }\n };\n\n getLabelText() {\n const { hoveredIndex } = this.state;\n const { readonly, value, getI18nText } = this.asProps;\n\n if (readonly) {\n return getI18nText('FeedbackRating.SliderRating.aria-valuetext.readonly', {\n selectedRating: value,\n max: MAX,\n });\n }\n\n if (value) {\n const selectedRating = hoveredIndex > -1 ? hoveredIndex + 1 : value;\n return getI18nText('FeedbackRating.SliderRating.aria-valuetext', {\n selectedRating: selectedRating,\n max: MAX,\n });\n }\n\n return hoveredIndex === -1\n ? getI18nText('FeedbackRating.SliderRating.aria-valuetext.empty')\n : getI18nText('FeedbackRating.SliderRating.aria-valuetext', {\n selectedRating: hoveredIndex + 1,\n max: MAX,\n });\n }\n\n render() {\n const { styles, readonly, getI18nText, value } = this.asProps;\n const { hoveredIndex } = this.state;\n\n const SSliderRating = Root;\n const label = this.getLabelText();\n\n if (readonly) {\n return (\n <SSliderRating render={Flex} gap={1} role='img' aria-label={label} use:tabIndex={-1}>\n {new Array(MAX).fill(null).map((_, index) => {\n return (\n <Box key={index} position={'relative'}>\n <SliderRating.Star />\n </Box>\n );\n })}\n </SSliderRating>\n );\n }\n\n const hoverValue = hoveredIndex + 1;\n\n const editModeLabel =\n hoverValue > 0 || value\n ? `${label}. ${getI18nText(\n 'FeedbackRating.SliderRating.ScreenReaderOnly.sliderDescriber',\n )}.`\n : label;\n\n return sstyled(styles)(\n <SSliderRating\n render={Flex}\n gap={1}\n onMouseLeave={this.handleMouseLeave}\n onKeyDown={this.handleKeyDown}\n role={'slider'}\n aria-orientation='horizontal'\n aria-valuemin={MIN}\n aria-valuemax={MAX}\n aria-valuetext={editModeLabel}\n aria-valuenow={hoverValue}\n >\n {new Array(MAX).fill(null).map((_, index) => {\n return (\n <Box key={index} position={'relative'}>\n <SliderRating.Star />\n </Box>\n );\n })}\n </SSliderRating>,\n );\n }\n}\n\nfunction Star(props: StarProps) {\n const SStar = Root;\n return sstyled(props.styles)(\n <SStar\n render={Box}\n tag={'svg'}\n role='none'\n width='22'\n height='21'\n viewBox='0 0 22 21'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n >\n {props.filled ? (\n <path\n d='M10.6463 0.213566C10.7963 -0.0711885 11.2037 -0.071189 11.3537 0.213566L14.6682 6.50744L21.668 7.72084C21.9847 7.77572 22.1105 8.16305 21.8867 8.39378L16.9353 13.4978L17.9465 20.5422C17.9922 20.8607 17.6626 21.1002 17.3741 20.9581L11 17.8181L4.62585 20.9581C4.33738 21.1002 4.00781 20.8607 4.05353 20.5422L5.0647 13.4978L0.113338 8.39378C-0.110493 8.16305 0.0153421 7.77572 0.331965 7.72084L7.33178 6.50744L10.6463 0.213566Z'\n // fill='#FDC23C'\n />\n ) : (\n <path\n d='M13.7834 6.9734L14.0127 7.40871L14.4974 7.49274L20.3785 8.51222L16.2175 12.8015L15.8757 13.1539L15.9454 13.6399L16.7949 19.558L11.4419 16.921L11 16.7033L10.5581 16.921L5.20505 19.558L6.05456 13.6399L6.12432 13.1539L5.78246 12.8015L1.62146 8.51222L7.50258 7.49274L7.98734 7.40871L8.21659 6.9734L11 1.68803L13.7834 6.9734ZM21.4972 8.70614C21.4969 8.70608 21.4965 8.70602 21.4961 8.70595L21.4972 8.70614ZM0.502765 8.70614L0.503758 8.70597C0.503427 8.70603 0.503095 8.70609 0.502764 8.70614L0.400352 8.11535L0.502765 8.70614Z'\n // stroke='#A9ABB6'\n // strokeWidth='2'\n />\n )}\n </SStar>,\n );\n}\nStar.displayName = 'Star';\n\nconst SliderRating = createComponent(SliderRatingRoot, {\n Star,\n}) as Intergalactic.Component<typeof Flex, SliderRatingProps> & {\n Star: Intergalactic.Component<typeof Box, StarProps>;\n};\n\nexport default SliderRating;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SliderRating.js","names":["React","createComponent","Component","Root","sstyled","Flex","Box","style","_sstyled","insert","uniqueIDEnhancement","i18nEnhance","localizedMessages","MIN","MAX","SliderRatingRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","hoveredIndex","clickedIndex","newValue","e","readonly","asProps","setValue","index","setState","_this$asProps","onChange","value","event","includes","key","preventDefault","state","direction","_createClass","getStarProps","_","_this$asProps2","filled","onClick","handleClick","onMouseEnter","undefined","handleMouseEnder","hovered","getLabelText","_this$asProps3","getI18nText","selectedRating","max","render","_ref","_ref3","_this$asProps4","styles","SSliderRating","label","createElement","_assignProps","fill","map","position","SliderRating","Star","hoverValue","editModeLabel","cn","_objectSpread","_assignProps2","handleMouseLeave","handleKeyDown","i18n","locale","props","_ref2","arguments[0]","_ref4","SStar","_assignProps3","displayName"],"sources":["../../../../src/component/slider-rating/SliderRating.tsx"],"sourcesContent":["import React from 'react';\nimport { createComponent, Component, Root, sstyled, Intergalactic } from '@semcore/core';\nimport { Flex, Box, BoxProps } from '@semcore/flex-box';\nimport style from '../../style/slider-rating.shadow.css';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\ntype SliderRatingProps = {\n value: number;\n onChange?: (value: number) => void;\n readonly?: boolean;\n};\n\ntype State = {\n hoveredIndex: number;\n clickedIndex: number;\n};\n\ntype StarProps = BoxProps & {\n filled?: boolean;\n};\n\nconst MIN = 1;\nconst MAX = 5;\n\nclass SliderRatingRoot extends Component<\n SliderRatingProps,\n {},\n State,\n typeof SliderRatingRoot.enhance\n> {\n static displayName = 'SliderRating';\n static style = style;\n\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)] as const;\n\n state: State = {\n hoveredIndex: -1,\n clickedIndex: -1,\n };\n\n static defaultProps = {\n i18n: localizedMessages,\n locale: 'en',\n };\n\n handleClick = (newValue: number) => (e: React.SyntheticEvent<SVGElement>) => {\n const { readonly } = this.asProps;\n\n if (!readonly) {\n this.setValue(newValue);\n }\n };\n\n handleMouseEnder = (index: number) => () => {\n this.setState({ hoveredIndex: index });\n };\n\n handleMouseLeave = () => {\n this.setState({ hoveredIndex: -1 });\n };\n\n getStarProps(_: any, index: number) {\n const { value, readonly } = this.asProps;\n const { hoveredIndex } = this.state;\n\n return {\n filled: value ? index + 1 <= value || index <= hoveredIndex : index <= hoveredIndex,\n onClick: this.handleClick(index + 1),\n onMouseEnter: readonly ? undefined : this.handleMouseEnder(index),\n hovered: hoveredIndex === index,\n };\n }\n\n setValue = (newValue: number) => {\n const { onChange, value } = this.asProps;\n\n if (onChange) {\n onChange(newValue);\n }\n\n if (newValue <= value) {\n this.setState({ clickedIndex: newValue });\n } else {\n this.setState({ clickedIndex: -1 });\n }\n };\n\n handleKeyDown = (event: React.KeyboardEvent) => {\n if (!['ArrowLeft', 'ArrowRight', 'Enter'].includes(event.key)) return;\n event.preventDefault();\n\n if (event.key === 'Enter') {\n const { hoveredIndex } = this.state;\n\n this.setValue(hoveredIndex + 1);\n } else {\n const { value } = this.asProps;\n const { hoveredIndex } = this.state;\n\n const direction = event.key === 'ArrowLeft' ? -1 : 1;\n let newValue = hoveredIndex === -1 ? value + direction : hoveredIndex + 1 + direction;\n\n if (newValue > MAX) newValue = MAX;\n if (newValue < MIN) newValue = MIN;\n\n this.setState({ hoveredIndex: newValue - 1 });\n }\n };\n\n getLabelText() {\n const { hoveredIndex } = this.state;\n const { readonly, value, getI18nText } = this.asProps;\n\n if (readonly) {\n return getI18nText('FeedbackRating.SliderRating.aria-valuetext.readonly', {\n selectedRating: value,\n max: MAX,\n });\n }\n\n if (value) {\n const selectedRating = hoveredIndex > -1 ? hoveredIndex + 1 : value;\n return getI18nText('FeedbackRating.SliderRating.aria-valuetext', {\n selectedRating: selectedRating,\n max: MAX,\n });\n }\n\n return hoveredIndex === -1\n ? getI18nText('FeedbackRating.SliderRating.aria-valuetext.empty')\n : getI18nText('FeedbackRating.SliderRating.aria-valuetext', {\n selectedRating: hoveredIndex + 1,\n max: MAX,\n });\n }\n\n render() {\n const { styles, readonly, getI18nText, value } = this.asProps;\n const { hoveredIndex } = this.state;\n\n const SSliderRating = Root;\n const label = this.getLabelText();\n\n if (readonly) {\n return (\n <SSliderRating render={Flex} gap={1} role='img' aria-label={label}>\n {new Array(MAX).fill(null).map((_, index) => {\n return (\n <Box key={index} position={'relative'}>\n <SliderRating.Star />\n </Box>\n );\n })}\n </SSliderRating>\n );\n }\n\n const hoverValue = hoveredIndex + 1;\n\n const editModeLabel =\n hoverValue > 0 || value\n ? `${label}. ${getI18nText(\n 'FeedbackRating.SliderRating.ScreenReaderOnly.sliderDescriber',\n )}.`\n : label;\n\n return sstyled(styles)(\n <SSliderRating\n render={Flex}\n gap={1}\n tabIndex={0}\n onMouseLeave={this.handleMouseLeave}\n onKeyDown={this.handleKeyDown}\n role={'slider'}\n aria-orientation='horizontal'\n aria-valuemin={MIN}\n aria-valuemax={MAX}\n aria-valuetext={editModeLabel}\n aria-valuenow={hoverValue}\n >\n {new Array(MAX).fill(null).map((_, index) => {\n return (\n <Box key={index} position={'relative'}>\n <SliderRating.Star />\n </Box>\n );\n })}\n </SSliderRating>,\n );\n }\n}\n\nfunction Star(props: StarProps) {\n const SStar = Root;\n return sstyled(props.styles)(\n <SStar\n render={Box}\n tag={'svg'}\n role='none'\n width='22'\n height='21'\n viewBox='0 0 22 21'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n >\n {props.filled ? (\n <path\n d='M10.6463 0.213566C10.7963 -0.0711885 11.2037 -0.071189 11.3537 0.213566L14.6682 6.50744L21.668 7.72084C21.9847 7.77572 22.1105 8.16305 21.8867 8.39378L16.9353 13.4978L17.9465 20.5422C17.9922 20.8607 17.6626 21.1002 17.3741 20.9581L11 17.8181L4.62585 20.9581C4.33738 21.1002 4.00781 20.8607 4.05353 20.5422L5.0647 13.4978L0.113338 8.39378C-0.110493 8.16305 0.0153421 7.77572 0.331965 7.72084L7.33178 6.50744L10.6463 0.213566Z'\n // fill='#FDC23C'\n />\n ) : (\n <path\n d='M13.7834 6.9734L14.0127 7.40871L14.4974 7.49274L20.3785 8.51222L16.2175 12.8015L15.8757 13.1539L15.9454 13.6399L16.7949 19.558L11.4419 16.921L11 16.7033L10.5581 16.921L5.20505 19.558L6.05456 13.6399L6.12432 13.1539L5.78246 12.8015L1.62146 8.51222L7.50258 7.49274L7.98734 7.40871L8.21659 6.9734L11 1.68803L13.7834 6.9734ZM21.4972 8.70614C21.4969 8.70608 21.4965 8.70602 21.4961 8.70595L21.4972 8.70614ZM0.502765 8.70614L0.503758 8.70597C0.503427 8.70603 0.503095 8.70609 0.502764 8.70614L0.400352 8.11535L0.502765 8.70614Z'\n // stroke='#A9ABB6'\n // strokeWidth='2'\n />\n )}\n </SStar>,\n );\n}\nStar.displayName = 'Star';\n\nconst SliderRating = createComponent(SliderRatingRoot, {\n Star,\n}) as Intergalactic.Component<typeof Flex, SliderRatingProps> & {\n Star: Intergalactic.Component<typeof Box, StarProps>;\n};\n\nexport default SliderRating;\n"],"mappings":"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"}
|
|
@@ -2,17 +2,12 @@ SSliderRating SStar {
|
|
|
2
2
|
transition: all calc(var(--intergalactic-duration-control, 200) * 1ms) ease-out;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
-
SSliderRating
|
|
5
|
+
SSliderRating:focus-visible SStar[hovered],
|
|
6
6
|
SSliderRating SStar:hover {
|
|
7
7
|
cursor: pointer;
|
|
8
8
|
transform: scale(1.3);
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
SSliderRating[keyboardFocused] {
|
|
12
|
-
outline: none;
|
|
13
|
-
box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));
|
|
14
|
-
}
|
|
15
|
-
|
|
16
11
|
SSliderRating[readonly] SStar:hover {
|
|
17
12
|
cursor: default;
|
|
18
13
|
transform: none;
|
package/lib/esm/FeedbackForm.mjs
CHANGED
|
@@ -1,137 +1,154 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import { sstyled
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
|
|
21
|
-
var
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
5
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
6
|
+
import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
|
|
7
|
+
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
8
|
+
import _createSuper from "@babel/runtime/helpers/esm/createSuper";
|
|
9
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
10
|
+
import { createComponent, sstyled, Component, assignProps } from "@semcore/core";
|
|
11
|
+
import React from "react";
|
|
12
|
+
import { Form, Field } from "react-final-form";
|
|
13
|
+
import createFocusDecorator from "final-form-focus";
|
|
14
|
+
import Button from "@semcore/button";
|
|
15
|
+
import SpinContainer from "@semcore/spin-container";
|
|
16
|
+
import { NoticeSmart } from "@semcore/notice";
|
|
17
|
+
import { Box } from "@semcore/flex-box";
|
|
18
|
+
import { FeedbackItem } from "./component/feedback-item/FeedbackItem.mjs";
|
|
19
|
+
import { SubmitButton } from "./component/submit-button/SubmitButton.mjs";
|
|
20
|
+
var _excluded = ["Children", "styles", "forwardRef", "loading", "background", "theme"];
|
|
21
|
+
var style = (
|
|
22
22
|
/*__reshadow_css_start__*/
|
|
23
|
-
(
|
|
23
|
+
(sstyled.insert(
|
|
24
24
|
/*__inner_css_start__*/
|
|
25
|
-
`.
|
|
26
|
-
"
|
|
25
|
+
`.___SFeedbackForm_glabv_gg_{max-width:320px}.___SCancel_glabv_gg_,.___SSubmit_glabv_gg_{display:inline-flex;margin-right:var(--intergalactic-spacing-2x, 8px)}.___SNotice_glabv_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_glabv_gg_{display:flex;align-items:center;flex-direction:column;width:320px;padding:var(--intergalactic-spacing-10x, 40px);box-sizing:border-box;outline:0}.___SEmail_glabv_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")}`,
|
|
26
|
+
"glabv_gg_"
|
|
27
27
|
), {
|
|
28
|
-
__SFeedbackForm: "
|
|
29
|
-
__SSubmit: "
|
|
30
|
-
__SCancel: "
|
|
31
|
-
__SNotice: "
|
|
32
|
-
__SSuccess: "
|
|
33
|
-
__SEmail: "
|
|
28
|
+
"__SFeedbackForm": "___SFeedbackForm_glabv_gg_",
|
|
29
|
+
"__SSubmit": "___SSubmit_glabv_gg_",
|
|
30
|
+
"__SCancel": "___SCancel_glabv_gg_",
|
|
31
|
+
"__SNotice": "___SNotice_glabv_gg_",
|
|
32
|
+
"__SSuccess": "___SSuccess_glabv_gg_",
|
|
33
|
+
"__SEmail": "___SEmail_glabv_gg_"
|
|
34
34
|
})
|
|
35
|
-
)
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
);
|
|
36
|
+
var FeedbackForm = /* @__PURE__ */ function(_Component) {
|
|
37
|
+
_inherits(FeedbackForm2, _Component);
|
|
38
|
+
var _super = _createSuper(FeedbackForm2);
|
|
39
|
+
function FeedbackForm2() {
|
|
40
|
+
var _this;
|
|
41
|
+
_classCallCheck(this, FeedbackForm2);
|
|
42
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
43
|
+
args[_key] = arguments[_key];
|
|
44
|
+
}
|
|
45
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
46
|
+
_defineProperty(_assertThisInitialized(_this), "focusDecorator", createFocusDecorator());
|
|
47
|
+
return _this;
|
|
44
48
|
}
|
|
45
|
-
|
|
49
|
+
_createClass(FeedbackForm2, [{
|
|
46
50
|
key: "getItemProps",
|
|
47
|
-
value: function() {
|
|
48
|
-
var
|
|
51
|
+
value: function getItemProps() {
|
|
52
|
+
var validateOnBlur = this.asProps.validateOnBlur;
|
|
49
53
|
return {
|
|
50
|
-
validateOnBlur
|
|
54
|
+
validateOnBlur
|
|
51
55
|
};
|
|
52
56
|
}
|
|
53
57
|
}, {
|
|
54
58
|
key: "render",
|
|
55
|
-
value: function() {
|
|
56
|
-
var
|
|
57
|
-
|
|
59
|
+
value: function render() {
|
|
60
|
+
var SFeedbackForm = Box;
|
|
61
|
+
var _this$asProps = this.asProps, Children = _this$asProps.Children, styles = _this$asProps.styles, forwardRef = _this$asProps.forwardRef, loading = _this$asProps.loading, background = _this$asProps.background, theme = _this$asProps.theme, other = _objectWithoutProperties(_this$asProps, _excluded);
|
|
62
|
+
return /* @__PURE__ */ React.createElement(Form, _extends({
|
|
58
63
|
decorators: [this.focusDecorator]
|
|
59
|
-
},
|
|
60
|
-
var
|
|
61
|
-
return
|
|
62
|
-
background:
|
|
63
|
-
theme:
|
|
64
|
-
size: "xl",
|
|
65
|
-
loading:
|
|
66
|
-
}), /* @__PURE__ */
|
|
67
|
-
tag: "form",
|
|
68
|
-
noValidate:
|
|
69
|
-
method: "POST",
|
|
70
|
-
ref:
|
|
71
|
-
},
|
|
72
|
-
onSubmit:
|
|
73
|
-
})), typeof
|
|
64
|
+
}, other), function(api) {
|
|
65
|
+
var _ref4;
|
|
66
|
+
return _ref4 = sstyled(styles), /* @__PURE__ */ React.createElement(SpinContainer, _ref4.cn("SpinContainer", {
|
|
67
|
+
"background": background,
|
|
68
|
+
"theme": theme,
|
|
69
|
+
"size": "xl",
|
|
70
|
+
"loading": loading === void 0 ? api.submitting : loading
|
|
71
|
+
}), /* @__PURE__ */ React.createElement(SFeedbackForm, _ref4.cn("SFeedbackForm", _objectSpread(_objectSpread({
|
|
72
|
+
"tag": "form",
|
|
73
|
+
"noValidate": true,
|
|
74
|
+
"method": "POST",
|
|
75
|
+
"ref": forwardRef
|
|
76
|
+
}, other), {}, {
|
|
77
|
+
"onSubmit": api.handleSubmit
|
|
78
|
+
})), typeof Children.origin === "function" ? Children.origin(api) : /* @__PURE__ */ React.createElement(Children, _ref4.cn("Children", {}))));
|
|
74
79
|
});
|
|
75
80
|
}
|
|
76
|
-
}])
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
}]);
|
|
82
|
+
return FeedbackForm2;
|
|
83
|
+
}(Component);
|
|
84
|
+
_defineProperty(FeedbackForm, "displayName", "FeedbackForm");
|
|
85
|
+
_defineProperty(FeedbackForm, "style", style);
|
|
86
|
+
_defineProperty(FeedbackForm, "FinalForm", {
|
|
87
|
+
Field,
|
|
88
|
+
Form
|
|
83
89
|
});
|
|
84
|
-
|
|
85
|
-
onSubmit: function() {
|
|
90
|
+
_defineProperty(FeedbackForm, "defaultProps", {
|
|
91
|
+
onSubmit: function onSubmit() {
|
|
86
92
|
}
|
|
87
93
|
});
|
|
88
|
-
|
|
89
|
-
description: function(
|
|
94
|
+
_defineProperty(FeedbackForm, "validate", {
|
|
95
|
+
description: function description(error) {
|
|
90
96
|
return function() {
|
|
91
|
-
var
|
|
92
|
-
|
|
93
|
-
|
|
97
|
+
var value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
|
|
98
|
+
var words = value.split(/\s+/);
|
|
99
|
+
var symbols = words.join(" ");
|
|
100
|
+
if (symbols.length < 10 || words.length < 3) {
|
|
101
|
+
return error;
|
|
102
|
+
}
|
|
94
103
|
};
|
|
95
104
|
},
|
|
96
|
-
email: function(
|
|
105
|
+
email: function email(error) {
|
|
97
106
|
return function() {
|
|
98
|
-
var
|
|
99
|
-
if (!/.+@.+\..+/i.test(String(
|
|
100
|
-
return
|
|
107
|
+
var value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
|
|
108
|
+
if (!/.+@.+\..+/i.test(String(value).toLowerCase())) {
|
|
109
|
+
return error;
|
|
110
|
+
}
|
|
101
111
|
};
|
|
102
112
|
}
|
|
103
113
|
});
|
|
104
|
-
function
|
|
105
|
-
var
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
114
|
+
function Success(props) {
|
|
115
|
+
var _ref = arguments[0], _ref5;
|
|
116
|
+
var Children = props.Children, styles = props.styles;
|
|
117
|
+
var SSuccess = Box;
|
|
118
|
+
var SEmail = "div";
|
|
119
|
+
return _ref5 = sstyled(styles), /* @__PURE__ */ React.createElement(SSuccess, _ref5.cn("SSuccess", _objectSpread({}, assignProps({
|
|
120
|
+
"tabIndex": -1
|
|
121
|
+
}, _ref))), /* @__PURE__ */ React.createElement(SEmail, _ref5.cn("SEmail", {
|
|
122
|
+
"aria-hidden": true
|
|
123
|
+
})), /* @__PURE__ */ React.createElement("span", _ref5.cn("span", {}), /* @__PURE__ */ React.createElement(Children, _ref5.cn("Children", {}))));
|
|
111
124
|
}
|
|
112
|
-
|
|
113
|
-
function
|
|
114
|
-
var
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
125
|
+
Success.style = style;
|
|
126
|
+
function Cancel(props) {
|
|
127
|
+
var _ref2 = arguments[0], _ref6;
|
|
128
|
+
var styles = props.styles;
|
|
129
|
+
var SCancel = Button;
|
|
130
|
+
return _ref6 = sstyled(styles), /* @__PURE__ */ React.createElement(SCancel, _ref6.cn("SCancel", _objectSpread({}, assignProps({
|
|
131
|
+
"type": "reset",
|
|
132
|
+
"use": "secondary",
|
|
133
|
+
"theme": "muted"
|
|
134
|
+
}, _ref2))));
|
|
120
135
|
}
|
|
121
|
-
function
|
|
122
|
-
var
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
136
|
+
function Notice(props) {
|
|
137
|
+
var _ref3 = arguments[0], _ref7;
|
|
138
|
+
var styles = props.styles, _props$theme = props.theme, theme = _props$theme === void 0 ? "muted" : _props$theme, _props$use = props.use, use = _props$use === void 0 ? "secondary" : _props$use;
|
|
139
|
+
var SNotice = NoticeSmart;
|
|
140
|
+
return _ref7 = sstyled(styles), /* @__PURE__ */ React.createElement(SNotice, _ref7.cn("SNotice", _objectSpread({}, assignProps({
|
|
141
|
+
"use:theme": theme,
|
|
142
|
+
"use:use": use
|
|
143
|
+
}, _ref3))));
|
|
127
144
|
}
|
|
128
|
-
const
|
|
129
|
-
Item:
|
|
130
|
-
Success
|
|
131
|
-
Submit:
|
|
132
|
-
Cancel
|
|
133
|
-
Notice
|
|
145
|
+
const FeedbackForm$1 = createComponent(FeedbackForm, {
|
|
146
|
+
Item: FeedbackItem,
|
|
147
|
+
Success,
|
|
148
|
+
Submit: SubmitButton,
|
|
149
|
+
Cancel,
|
|
150
|
+
Notice
|
|
134
151
|
});
|
|
135
152
|
export {
|
|
136
|
-
|
|
153
|
+
FeedbackForm$1 as default
|
|
137
154
|
};
|
|
@@ -1,50 +1,56 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import { sstyled
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
|
|
13
|
-
var
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
4
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
5
|
+
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
6
|
+
import _createSuper from "@babel/runtime/helpers/esm/createSuper";
|
|
7
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
8
|
+
import { sstyled, createComponent, assignProps, Component } from "@semcore/core";
|
|
9
|
+
import React from "react";
|
|
10
|
+
import { Box } from "@semcore/flex-box";
|
|
11
|
+
import Checkbox from "@semcore/checkbox";
|
|
12
|
+
var _excluded = ["styles", "id", "label", "type", "focused"];
|
|
13
|
+
var style = (
|
|
14
14
|
/*__reshadow_css_start__*/
|
|
15
|
-
(
|
|
15
|
+
(sstyled.insert(
|
|
16
16
|
/*__inner_css_start__*/
|
|
17
|
-
".
|
|
18
|
-
"
|
|
17
|
+
".___SCheckboxButton_nj35w_gg_{margin-top:var(--intergalactic-spacing-2x, 8px);border:1px solid var(--intergalactic-border-primary, #c4c7cf);border-radius:var(--intergalactic-rounded-medium, 6px)}.___SCheckboxButton_nj35w_gg_ label{width:100%;padding:var(--intergalactic-spacing-3x, 12px);box-sizing:border-box}.___SCheckboxButton_nj35w_gg_.__checked_nj35w_gg_{cursor:pointer;border-color:var(--intergalactic-border-info-active, #006dca);background-color:rgba(0,143,248,.1)}@media (hover:hover){.___SCheckboxButton_nj35w_gg_:hover{cursor:pointer;border-color:var(--intergalactic-border-info-active, #006dca);background-color:rgba(0,143,248,.1)}.___SCheckboxButton_nj35w_gg_.__checked_nj35w_gg_:hover{background-color:rgba(0,143,248,.2)}}",
|
|
18
|
+
"nj35w_gg_"
|
|
19
19
|
), {
|
|
20
|
-
__SCheckboxButton: "
|
|
21
|
-
_checked: "
|
|
20
|
+
"__SCheckboxButton": "___SCheckboxButton_nj35w_gg_",
|
|
21
|
+
"_checked": "__checked_nj35w_gg_"
|
|
22
22
|
})
|
|
23
|
-
)
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
);
|
|
24
|
+
var CheckboxButtonRoot = /* @__PURE__ */ function(_Component) {
|
|
25
|
+
_inherits(CheckboxButtonRoot2, _Component);
|
|
26
|
+
var _super = _createSuper(CheckboxButtonRoot2);
|
|
27
|
+
function CheckboxButtonRoot2() {
|
|
28
|
+
_classCallCheck(this, CheckboxButtonRoot2);
|
|
29
|
+
return _super.apply(this, arguments);
|
|
28
30
|
}
|
|
29
|
-
|
|
31
|
+
_createClass(CheckboxButtonRoot2, [{
|
|
30
32
|
key: "render",
|
|
31
|
-
value: function() {
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
"
|
|
40
|
-
}), /* @__PURE__ */
|
|
41
|
-
|
|
42
|
-
|
|
33
|
+
value: function render() {
|
|
34
|
+
var _ref = this.asProps, _ref2;
|
|
35
|
+
var _this$asProps = this.asProps, styles = _this$asProps.styles, id = _this$asProps.id, label = _this$asProps.label;
|
|
36
|
+
_this$asProps.type;
|
|
37
|
+
var focused = _this$asProps.focused, other = _objectWithoutProperties(_this$asProps, _excluded);
|
|
38
|
+
var autoFocus = focused ? 20 : false;
|
|
39
|
+
var SCheckboxButton = Box;
|
|
40
|
+
return _ref2 = sstyled(styles), /* @__PURE__ */ React.createElement(SCheckboxButton, _ref2.cn("SCheckboxButton", _objectSpread({}, assignProps({
|
|
41
|
+
"__excludeProps": ["onChange", "id", "type"]
|
|
42
|
+
}, _ref))), /* @__PURE__ */ React.createElement(Checkbox, _ref2.cn("Checkbox", _objectSpread({}, other)), /* @__PURE__ */ React.createElement(Checkbox.Value, {
|
|
43
|
+
autoFocus,
|
|
44
|
+
"aria-labelledby": id
|
|
45
|
+
}), /* @__PURE__ */ React.createElement(Checkbox.Text, {
|
|
46
|
+
id
|
|
47
|
+
}, label)));
|
|
43
48
|
}
|
|
44
|
-
}])
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
49
|
+
}]);
|
|
50
|
+
return CheckboxButtonRoot2;
|
|
51
|
+
}(Component);
|
|
52
|
+
_defineProperty(CheckboxButtonRoot, "style", style);
|
|
53
|
+
var CheckboxButton = createComponent(CheckboxButtonRoot);
|
|
48
54
|
export {
|
|
49
|
-
|
|
55
|
+
CheckboxButton as default
|
|
50
56
|
};
|
|
@@ -1,45 +1,56 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import { Field
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import { assignProps
|
|
10
|
-
import
|
|
11
|
-
var
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { Field } from "react-final-form";
|
|
6
|
+
import Tooltip from "@semcore/tooltip";
|
|
7
|
+
import pick from "@semcore/core/lib/utils/pick";
|
|
8
|
+
import uniqueIDEnhancement from "@semcore/core/lib/utils/uniqueID";
|
|
9
|
+
import { assignProps } from "@semcore/core";
|
|
10
|
+
import propsForElement from "@semcore/core/lib/utils/propsForElement";
|
|
11
|
+
var _excluded = ["Children", "tag", "uid", "tooltipProps"], _excluded2 = ["input", "meta"];
|
|
12
|
+
var deafultTooltipPropsList = ["title", "theme", "strategy", "modifiers", "placement", "interaction", "timeout", "visible", "defaultVisible", "onVisibleChange", "offset", "preventOverflow", "arrow", "flip", "computeStyles", "eventListeners", "onFirstUpdate"];
|
|
13
|
+
function FeedbackItem(_ref) {
|
|
14
|
+
var Children = _ref.Children, tag = _ref.tag, uid = _ref.uid, _ref$tooltipProps = _ref.tooltipProps, tooltipPropsList = _ref$tooltipProps === void 0 ? deafultTooltipPropsList : _ref$tooltipProps, props = _objectWithoutProperties(_ref, _excluded);
|
|
15
|
+
var tooltipProps = pick(props, tooltipPropsList);
|
|
16
|
+
var lastErrorRef = React.useRef(void 0);
|
|
17
|
+
return /* @__PURE__ */ React.createElement(Field, props, function(_ref2) {
|
|
18
|
+
var _meta$error;
|
|
19
|
+
var input = _ref2.input, meta = _ref2.meta, other = _objectWithoutProperties(_ref2, _excluded2);
|
|
20
|
+
var showError = other.validateOnBlur === false ? meta.submitFailed : true;
|
|
21
|
+
var invalid = meta.invalid && meta.touched;
|
|
22
|
+
var errorState = showError && invalid;
|
|
23
|
+
var popperId = "".concat(uid, "-error-description");
|
|
24
|
+
var ariaDescribedBy = props["aria-describedby"];
|
|
25
|
+
var inputProps = assignProps(_objectSpread(_objectSpread({}, propsForElement(other)), {}, {
|
|
26
|
+
state: errorState ? "invalid" : "normal",
|
|
27
|
+
"aria-invalid": errorState ? true : false,
|
|
28
|
+
"aria-describedby": meta.active ? errorState ? popperId : ariaDescribedBy : void 0
|
|
29
|
+
}), input);
|
|
30
|
+
if (meta !== null && meta !== void 0 && meta.error) lastErrorRef.current = meta.error;
|
|
31
|
+
return /* @__PURE__ */ React.createElement(Tooltip, _extends({
|
|
32
|
+
visible: errorState && meta.active,
|
|
22
33
|
theme: "warning",
|
|
23
34
|
placement: "left",
|
|
24
35
|
flip: {
|
|
25
36
|
fallbackPlacements: ["right", "bottom"]
|
|
26
37
|
}
|
|
27
|
-
},
|
|
28
|
-
inline:
|
|
38
|
+
}, tooltipProps), /* @__PURE__ */ React.createElement(Tooltip.Trigger, _extends({
|
|
39
|
+
inline: false,
|
|
29
40
|
role: void 0,
|
|
30
|
-
tag
|
|
31
|
-
},
|
|
41
|
+
tag
|
|
42
|
+
}, tag ? inputProps : {}, {
|
|
32
43
|
__excludeProps: ["type", "aria-describedby"]
|
|
33
|
-
}), typeof
|
|
34
|
-
input:
|
|
35
|
-
meta
|
|
36
|
-
},
|
|
44
|
+
}), typeof Children.origin === "function" && Children.origin(_objectSpread({
|
|
45
|
+
input: inputProps,
|
|
46
|
+
meta
|
|
47
|
+
}, other))), /* @__PURE__ */ React.createElement(Tooltip.Popper, {
|
|
37
48
|
w: "100%",
|
|
38
|
-
id:
|
|
39
|
-
}, (
|
|
49
|
+
id: popperId
|
|
50
|
+
}, (_meta$error = meta.error) !== null && _meta$error !== void 0 ? _meta$error : lastErrorRef.current));
|
|
40
51
|
});
|
|
41
52
|
}
|
|
42
|
-
|
|
53
|
+
FeedbackItem.enhance = [uniqueIDEnhancement()];
|
|
43
54
|
export {
|
|
44
|
-
|
|
55
|
+
FeedbackItem
|
|
45
56
|
};
|