@semcore/feedback-form 6.38.0 → 6.38.1-prerelease.0

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.
Files changed (55) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/lib/cjs/FeedbackForm.js +7 -7
  3. package/lib/cjs/component/checkbox-button/CheckboxButton.js +12 -6
  4. package/lib/cjs/component/checkbox-button/CheckboxButton.js.map +1 -1
  5. package/lib/cjs/component/feedback-item/FeedbackItem.js +5 -3
  6. package/lib/cjs/component/feedback-item/FeedbackItem.js.map +1 -1
  7. package/lib/cjs/component/feedback-rating/FeedbackRating.js +56 -40
  8. package/lib/cjs/component/feedback-rating/FeedbackRating.js.map +1 -1
  9. package/lib/cjs/component/feedback-rating/FeedbackRating.type.js.map +1 -1
  10. package/lib/cjs/component/slider-rating/SliderRating.js +67 -14
  11. package/lib/cjs/component/slider-rating/SliderRating.js.map +1 -1
  12. package/lib/cjs/style/slider-rating.shadow.css +1 -0
  13. package/lib/cjs/translations/de.json +5 -1
  14. package/lib/cjs/translations/en.json +5 -1
  15. package/lib/cjs/translations/es.json +5 -1
  16. package/lib/cjs/translations/fr.json +5 -1
  17. package/lib/cjs/translations/it.json +5 -1
  18. package/lib/cjs/translations/ja.json +5 -1
  19. package/lib/cjs/translations/ko.json +5 -1
  20. package/lib/cjs/translations/nl.json +5 -1
  21. package/lib/cjs/translations/pl.json +5 -1
  22. package/lib/cjs/translations/pt.json +5 -1
  23. package/lib/cjs/translations/sv.json +5 -1
  24. package/lib/cjs/translations/tr.json +5 -1
  25. package/lib/cjs/translations/vi.json +5 -1
  26. package/lib/cjs/translations/zh.json +5 -1
  27. package/lib/es6/FeedbackForm.js +7 -7
  28. package/lib/es6/component/checkbox-button/CheckboxButton.js +12 -6
  29. package/lib/es6/component/checkbox-button/CheckboxButton.js.map +1 -1
  30. package/lib/es6/component/feedback-item/FeedbackItem.js +5 -3
  31. package/lib/es6/component/feedback-item/FeedbackItem.js.map +1 -1
  32. package/lib/es6/component/feedback-rating/FeedbackRating.js +57 -41
  33. package/lib/es6/component/feedback-rating/FeedbackRating.js.map +1 -1
  34. package/lib/es6/component/feedback-rating/FeedbackRating.type.js.map +1 -1
  35. package/lib/es6/component/slider-rating/SliderRating.js +70 -16
  36. package/lib/es6/component/slider-rating/SliderRating.js.map +1 -1
  37. package/lib/es6/style/slider-rating.shadow.css +1 -0
  38. package/lib/es6/translations/de.json +5 -1
  39. package/lib/es6/translations/en.json +5 -1
  40. package/lib/es6/translations/es.json +5 -1
  41. package/lib/es6/translations/fr.json +5 -1
  42. package/lib/es6/translations/it.json +5 -1
  43. package/lib/es6/translations/ja.json +5 -1
  44. package/lib/es6/translations/ko.json +5 -1
  45. package/lib/es6/translations/nl.json +5 -1
  46. package/lib/es6/translations/pl.json +5 -1
  47. package/lib/es6/translations/pt.json +5 -1
  48. package/lib/es6/translations/sv.json +5 -1
  49. package/lib/es6/translations/tr.json +5 -1
  50. package/lib/es6/translations/vi.json +5 -1
  51. package/lib/es6/translations/zh.json +5 -1
  52. package/lib/types/component/feedback-rating/FeedbackRating.d.ts +58 -1
  53. package/lib/types/component/feedback-rating/FeedbackRating.type.d.ts +6 -2
  54. package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +56 -0
  55. package/package.json +8 -8
@@ -14,7 +14,7 @@ import { assignProps as _assignProps } from "@semcore/core";
14
14
  var _excluded = ["header", "submitText", "formConfig", "notificationText", "learnMoreLink", "Children", "styles", "forwardRef", "status", "theme", "background", "rating", "visible", "onVisibleChange", "notificationVisible", "onNotificationClose", "getI18nText", "errorFeedbackEmail", "modalWidth"];
15
15
  import React from 'react';
16
16
  import createComponent, { Component, sstyled, Root } from '@semcore/core';
17
- import { Form } from 'react-final-form';
17
+ import { Field, Form } from 'react-final-form';
18
18
  import createFocusDecorator from 'final-form-focus';
19
19
  import SpinContainer from '@semcore/spin-container';
20
20
  import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
@@ -36,8 +36,8 @@ import Input from '@semcore/input';
36
36
  import { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';
37
37
  import { NoticeBubbleContainer, NoticeBubbleManager } from '@semcore/notice-bubble';
38
38
  /*__reshadow-styles__:"../../style/feedback-rating.shadow.css"*/
39
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SFeedbackRating_5k5yc_gg_ ul{margin:0;padding:0;list-style:none}.___SFeedbackRating_5k5yc_gg_ li{list-style:none}" /*__inner_css_end__*/, "5k5yc_gg_") /*__reshadow_css_end__*/, {
40
- "__SFeedbackRating": "___SFeedbackRating_5k5yc_gg_"
39
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SFeedbackRating_buoyp_gg_ ul{margin:0;padding:0;list-style:none}.___SFeedbackRating_buoyp_gg_ li{list-style:none}" /*__inner_css_end__*/, "buoyp_gg_") /*__reshadow_css_end__*/, {
40
+ "__SFeedbackRating": "___SFeedbackRating_buoyp_gg_"
41
41
  });
42
42
  var FeedbackRatingRoot = /*#__PURE__*/function (_Component) {
43
43
  _inherits(FeedbackRatingRoot, _Component);
@@ -65,49 +65,53 @@ var FeedbackRatingRoot = /*#__PURE__*/function (_Component) {
65
65
  fn(e);
66
66
  };
67
67
  });
68
- _defineProperty(_assertThisInitialized(_this), "renderCheckbox", function (config) {
68
+ _defineProperty(_assertThisInitialized(_this), "renderCheckbox", function (config, index) {
69
69
  var initialValue = _this.props.initialValues[config.key];
70
- return /*#__PURE__*/React.createElement(FeedbackRating.Item, {
70
+ return /*#__PURE__*/React.createElement(Field, {
71
71
  name: config.key,
72
72
  initialValue: initialValue,
73
73
  type: 'checkbox',
74
- key: config.key,
75
- tag: 'li'
74
+ key: config.key
76
75
  }, function (_ref7) {
77
76
  var input = _ref7.input;
78
77
  return /*#__PURE__*/React.createElement(FeedbackRating.Checkbox, _extends({}, input, {
79
78
  id: config.key,
80
- name: config.key,
81
79
  label: config.label,
82
- onChange: _this.handleChange(input.onChange)
80
+ onChange: function onChange(_checked, e) {
81
+ return input.onChange(e);
82
+ },
83
+ focused: index === 0
83
84
  }));
84
85
  });
85
86
  });
86
87
  _defineProperty(_assertThisInitialized(_this), "renderTextField", function (config) {
88
+ var _config$description;
87
89
  var initialValue = _this.props.initialValues[config.key];
88
90
  var label = typeof config.label === 'string' ? /*#__PURE__*/React.createElement(Text, {
89
91
  mb: 2,
90
92
  size: 200
91
93
  }, config.label) : config.label;
94
+ var isDescriptionReactFragment = ((_config$description = config.description) === null || _config$description === void 0 ? void 0 : _config$description.type) === React.Fragment;
92
95
  return /*#__PURE__*/React.createElement(Flex, {
96
+ direction: "column"
97
+ }, /*#__PURE__*/React.createElement(Flex, {
93
98
  tag: "label",
94
99
  mt: 4,
95
- direction: "column",
96
100
  htmlFor: config.key,
97
101
  key: config.key
98
- }, label, /*#__PURE__*/React.createElement(FeedbackRating.Item, {
102
+ }, label), /*#__PURE__*/React.createElement(FeedbackRating.Item, {
99
103
  name: config.key,
100
104
  validate: config.validate,
101
105
  initialValue: initialValue,
102
106
  placement: "left-start",
103
107
  flip: {
104
108
  fallbackPlacements: ['right-start', 'bottom']
105
- }
109
+ },
110
+ "aria-describedby": config.description ? config.key + '-description' : undefined
106
111
  }, function (_ref8) {
107
112
  var input = _ref8.input;
108
113
  if (config.type === 'textarea') {
109
114
  return /*#__PURE__*/React.createElement(Textarea, _extends({}, input, {
110
- autoFocus: true,
111
115
  h: 80,
112
116
  onChange: _this.handleChange(input.onChange),
113
117
  id: config.key
@@ -124,10 +128,10 @@ var FeedbackRatingRoot = /*#__PURE__*/function (_Component) {
124
128
  return null;
125
129
  }), config.description && /*#__PURE__*/React.createElement(Box, {
126
130
  mt: 2
127
- }, typeof config.description === 'string' ? /*#__PURE__*/React.createElement(Text, {
128
- lineHeight: "18px",
131
+ }, typeof config.description === 'string' || isDescriptionReactFragment ? /*#__PURE__*/React.createElement(Text, {
129
132
  size: 200,
130
- color: "#6c6e79"
133
+ color: "text-secondary",
134
+ id: config.key + '-description'
131
135
  }, config.description) : config.description));
132
136
  });
133
137
  return _this;
@@ -153,9 +157,16 @@ var FeedbackRatingRoot = /*#__PURE__*/function (_Component) {
153
157
  validateOnBlur: validateOnBlur
154
158
  };
155
159
  }
160
+ }, {
161
+ key: "getNoticeTextId",
162
+ value: function getNoticeTextId() {
163
+ var uid = this.asProps.uid;
164
+ return "".concat(uid, "-feedback-rating-notice");
165
+ }
156
166
  }, {
157
167
  key: "componentDidUpdate",
158
168
  value: function componentDidUpdate(prevProps) {
169
+ var _this2 = this;
159
170
  var _this$asProps = this.asProps,
160
171
  status = _this$asProps.status,
161
172
  getI18nText = _this$asProps.getI18nText;
@@ -164,14 +175,17 @@ var FeedbackRatingRoot = /*#__PURE__*/function (_Component) {
164
175
  error: false
165
176
  });
166
177
  if (status === 'success') {
167
- this.manager.add({
168
- icon: /*#__PURE__*/React.createElement(CheckM, {
169
- color: "green-400"
170
- }),
171
- children: getI18nText('successMessage'),
172
- initialAnimation: true,
173
- duration: 5000
174
- });
178
+ // showing notice with delay for SR, less than 100ms is not enough
179
+ setTimeout(function () {
180
+ _this2.manager.add({
181
+ icon: /*#__PURE__*/React.createElement(CheckM, {
182
+ color: "green-400"
183
+ }),
184
+ children: getI18nText('successMessage'),
185
+ initialAnimation: true,
186
+ duration: 5000
187
+ });
188
+ }, 300);
175
189
  } else if (status === 'error') {
176
190
  this.setState({
177
191
  error: true
@@ -185,7 +199,7 @@ var FeedbackRatingRoot = /*#__PURE__*/function (_Component) {
185
199
  var _ref = this.asProps,
186
200
  _ref2 = this.asProps,
187
201
  _ref4,
188
- _this2 = this;
202
+ _this3 = this;
189
203
  var _this$asProps2 = this.asProps,
190
204
  header = _this$asProps2.header,
191
205
  submitText = _this$asProps2.submitText,
@@ -214,6 +228,7 @@ var FeedbackRatingRoot = /*#__PURE__*/function (_Component) {
214
228
  var textFields = formConfig.filter(function (item) {
215
229
  return item.type === 'textarea' || item.type === 'input';
216
230
  });
231
+ var notificationId = this.getNoticeTextId();
217
232
  return _ref4 = sstyled(styles), /*#__PURE__*/React.createElement(Box, _assignProps2({}, _ref2), /*#__PURE__*/React.createElement(Notice, _ref4.cn("Notice", {
218
233
  "visible": notificationVisible,
219
234
  "aria-label": getI18nText('leaveFeedback'),
@@ -226,13 +241,14 @@ var FeedbackRatingRoot = /*#__PURE__*/function (_Component) {
226
241
  tag: Flex,
227
242
  alignItems: 'center'
228
243
  }, /*#__PURE__*/React.createElement(Text, _ref4.cn("Text", {
229
- "mr": 3
244
+ "mr": 3,
245
+ "id": notificationId
230
246
  }), notificationText), /*#__PURE__*/React.createElement(Notice.Actions, {
231
247
  mt: 0
232
248
  }, /*#__PURE__*/React.createElement(SliderRating, _ref4.cn("SliderRating", {
233
249
  "value": rating,
234
250
  "onChange": this.handleChangeRating,
235
- "aria-label": notificationText
251
+ "aria-labelledby": notificationId
236
252
  }))), learnMoreLink && /*#__PURE__*/React.createElement(Link, _ref4.cn("Link", {
237
253
  "ml": 3,
238
254
  "href": learnMoreLink
@@ -242,7 +258,8 @@ var FeedbackRatingRoot = /*#__PURE__*/function (_Component) {
242
258
  "visible": visible,
243
259
  "onClose": this.handelCloseModal,
244
260
  "p": 0,
245
- "use:w": modalWidth !== null && modalWidth !== void 0 ? modalWidth : 440
261
+ "use:w": modalWidth !== null && modalWidth !== void 0 ? modalWidth : 440,
262
+ "aria-labelledby": this.headerId
246
263
  }, _ref))), /*#__PURE__*/React.createElement(Form, _ref4.cn("Form", _objectSpread({
247
264
  "decorators": [this.focusDecorator]
248
265
  }, other)), function (api) {
@@ -259,30 +276,29 @@ var FeedbackRatingRoot = /*#__PURE__*/function (_Component) {
259
276
  }), /*#__PURE__*/React.createElement(SliderRating, _ref5.cn("SliderRating", {
260
277
  "value": rating,
261
278
  "readonly": true
262
- }))), header, /*#__PURE__*/React.createElement(Box, _ref5.cn("Box", _objectSpread(_objectSpread({
279
+ }))), (header === null || header === void 0 ? void 0 : header.type) === FeedbackRating.Header ? header : /*#__PURE__*/React.createElement(FeedbackRating.Header, null, header), /*#__PURE__*/React.createElement(Box, _ref5.cn("Box", _objectSpread(_objectSpread({
263
280
  "tag": 'form',
264
281
  "noValidate": true,
265
282
  "method": 'POST',
266
283
  "ref": forwardRef
267
284
  }, other), {}, {
268
- "onSubmit": api.handleSubmit,
269
- "title": getI18nText('formTitle')
270
- })), /*#__PURE__*/React.createElement(FeedbackRating.Item, {
271
- name: 'rating',
272
- initialValue: rating
273
- }, function (_ref9) {
285
+ "onSubmit": api.handleSubmit
286
+ })), /*#__PURE__*/React.createElement(Field, _ref5.cn("Field", {
287
+ "name": 'rating',
288
+ "initialValue": rating
289
+ }), function (_ref9) {
274
290
  var input = _ref9.input;
275
291
  return /*#__PURE__*/React.createElement("input", _extends({}, input, {
276
292
  type: "hidden"
277
293
  }));
278
294
  }), /*#__PURE__*/React.createElement("div", _ref5.cn("div", {
279
295
  "role": 'group',
280
- "aria-labelledby": _this2.headerId
281
- }), /*#__PURE__*/React.createElement("ul", _ref5.cn("ul", {}), checkboxFields.map(function (formConfigItem) {
282
- return _this2.renderCheckbox(formConfigItem);
283
- }))), textFields.map(function (formConfigItem) {
284
- return _this2.renderTextField(formConfigItem);
285
- }), _this2.state.error && /*#__PURE__*/React.createElement(Notice, _ref5.cn("Notice", {
296
+ "aria-labelledby": _this3.headerId
297
+ }), checkboxFields.map(function (formConfigItem, index) {
298
+ return _this3.renderCheckbox(formConfigItem, index);
299
+ })), textFields.map(function (formConfigItem) {
300
+ return _this3.renderTextField(formConfigItem);
301
+ }), _this3.state.error && /*#__PURE__*/React.createElement(Notice, _ref5.cn("Notice", {
286
302
  "theme": 'warning',
287
303
  "mt": 4,
288
304
  "mb": 4
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackRating.js","names":["React","createComponent","Component","sstyled","Root","Form","createFocusDecorator","SpinContainer","i18nEnhance","uniqueIDEnhancement","Notice","CheckM","WarnM","Text","FeedbackIllustration","Link","SliderRating","Modal","Textarea","Box","Flex","FeedbackItem","SubmitButton","CheckboxButton","Input","localizedMessages","NoticeBubbleContainer","NoticeBubbleManager","style","_sstyled","insert","FeedbackRatingRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","error","rating","asProps","onVisibleChange","fn","value","e","config","initialValue","props","initialValues","key","createElement","FeedbackRating","Item","name","type","tag","_ref7","input","Checkbox","_extends","id","label","onChange","handleChange","mb","size","mt","direction","htmlFor","validate","placement","flip","fallbackPlacements","_ref8","autoFocus","h","state","Value","description","lineHeight","color","_createClass","get","uid","getHeaderProps","headerId","getItemProps","validateOnBlur","componentDidUpdate","prevProps","_this$asProps","status","getI18nText","setState","manager","add","icon","children","initialAnimation","duration","render","_ref","_ref2","_ref4","_this2","_this$asProps2","header","submitText","formConfig","notificationText","learnMoreLink","Children","styles","forwardRef","theme","background","visible","notificationVisible","onNotificationClose","errorFeedbackEmail","modalWidth","other","_objectWithoutProperties","_excluded","SFeedbackRating","checkboxFields","filter","item","textFields","_assignProps2","cn","Label","mr","Content","alignItems","Actions","handleChangeRating","Close","onClick","_objectSpread","_assignProps","handelCloseModal","focusDecorator","api","_ref5","submitting","handleSubmit","_ref9","map","formConfigItem","renderCheckbox","renderTextField","email","Submit","loading","onSubmit","i18n","locale","undefined","words","split","symbols","join","Boolean","test","String","toLowerCase","Header","_ref3","arguments[0]","_ref6","SHeader","_assignProps3"],"sources":["../../../../src/component/feedback-rating/FeedbackRating.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Form } from 'react-final-form';\nimport createFocusDecorator from 'final-form-focus';\nimport SpinContainer from '@semcore/spin-container';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport Notice from '@semcore/notice';\nimport CheckM from '@semcore/icon/Check/m';\nimport WarnM from '@semcore/icon/Warning/m';\nimport { Text } from '@semcore/typography';\nimport FeedbackIllustration from '@semcore/illustration/Feedback';\nimport Link from '@semcore/link';\nimport SliderRating from '../slider-rating/SliderRating';\nimport Modal from '@semcore/modal';\nimport Textarea from '@semcore/textarea';\nimport { Box, Flex } from '@semcore/flex-box';\nimport { FeedbackItem } from '../feedback-item/FeedbackItem';\nimport { SubmitButton } from '../submit-button/SubmitButton';\nimport { FeedbackRatingProps, FeedbackRatingType, FormConfigItem } from './FeedbackRating.type';\nimport CheckboxButton from '../checkbox-button/CheckboxButton';\nimport Input from '@semcore/input';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport { NoticeBubbleContainer, NoticeBubbleManager } from '@semcore/notice-bubble';\nimport style from '../../style/feedback-rating.shadow.css';\n\ntype State = {\n error: boolean;\n};\n\nclass FeedbackRatingRoot extends Component<\n FeedbackRatingProps,\n {},\n State,\n typeof FeedbackRatingRoot.enhance\n> {\n static displayName = 'FeedbackRatingForm';\n static style = style;\n\n static enhance = [i18nEnhance(localizedMessages), uniqueIDEnhancement()] as const;\n\n static defaultProps = {\n onSubmit: () => {},\n i18n: localizedMessages,\n locale: 'en',\n };\n\n static validate = {\n description: (error: Error | string) => (value = '') => {\n const words = value.split(/\\s+/);\n const symbols = words.join(' ');\n if (Boolean(value) && (symbols.length < 10 || words.length < 3)) {\n return error;\n }\n },\n email: (error: Error | string) => (value = '') => {\n if (Boolean(value) && !/.+@.+\\..+/i.test(String(value).toLowerCase())) {\n return error;\n }\n },\n };\n\n state: State = {\n error: false,\n };\n\n manager = new NoticeBubbleManager();\n\n private focusDecorator = createFocusDecorator<Record<string, any>>();\n\n get headerId() {\n const { uid } = this.asProps;\n\n return `${uid}-feedback-rating-header`;\n }\n\n getHeaderProps() {\n return {\n id: this.headerId,\n };\n }\n\n getItemProps() {\n const { validateOnBlur } = this.asProps;\n\n return {\n validateOnBlur,\n };\n }\n\n handleChangeRating = (rating: number) => {\n this.asProps.onVisibleChange(true, rating);\n };\n\n handelCloseModal = () => {\n this.asProps.onVisibleChange(false, this.asProps.rating);\n };\n\n handleChange =\n (fn: (e: React.SyntheticEvent) => void) => (value: any, e: React.SyntheticEvent) => {\n fn(e);\n };\n\n componentDidUpdate(prevProps: Readonly<FeedbackRatingProps>) {\n const { status, getI18nText } = this.asProps;\n\n if (prevProps.status !== status) {\n this.setState({ error: false });\n\n if (status === 'success') {\n this.manager.add({\n icon: <CheckM color='green-400' />,\n children: getI18nText('successMessage'),\n initialAnimation: true,\n duration: 5000,\n });\n } else if (status === 'error') {\n this.setState({ error: true });\n }\n }\n }\n\n renderCheckbox = (config: FormConfigItem) => {\n const initialValue = this.props.initialValues[config.key];\n\n return (\n <FeedbackRating.Item\n name={config.key}\n initialValue={initialValue}\n type={'checkbox'}\n key={config.key}\n tag={'li'}\n >\n {({ input }) => (\n <FeedbackRating.Checkbox\n {...input}\n id={config.key}\n name={config.key}\n label={config.label}\n onChange={this.handleChange(input.onChange)}\n />\n )}\n </FeedbackRating.Item>\n );\n };\n\n renderTextField = (config: FormConfigItem) => {\n const initialValue = this.props.initialValues[config.key];\n\n const label =\n typeof config.label === 'string' ? (\n <Text mb={2} size={200}>\n {config.label}\n </Text>\n ) : (\n (config.label as unknown as JSX.Element)\n );\n\n return (\n <Flex tag='label' mt={4} direction='column' htmlFor={config.key} key={config.key}>\n {label}\n\n <FeedbackRating.Item\n name={config.key}\n validate={config.validate}\n initialValue={initialValue}\n placement='left-start'\n flip={{\n fallbackPlacements: ['right-start', 'bottom'],\n }}\n >\n {({ input }) => {\n if (config.type === 'textarea') {\n return (\n <Textarea\n {...input}\n autoFocus\n h={80}\n onChange={this.handleChange(input.onChange)}\n id={config.key}\n />\n );\n }\n if (config.type === 'input') {\n return (\n <Input state={input.state}>\n <Input.Value\n {...input}\n onChange={this.handleChange(input.onChange)}\n id={config.key}\n />\n </Input>\n );\n }\n return null;\n }}\n </FeedbackRating.Item>\n {config.description && (\n <Box mt={2}>\n {typeof config.description === 'string' ? (\n <Text lineHeight='18px' size={200} color='#6c6e79'>\n {config.description}\n </Text>\n ) : (\n config.description\n )}\n </Box>\n )}\n </Flex>\n );\n };\n\n render() {\n const {\n header,\n submitText,\n formConfig,\n notificationText,\n learnMoreLink,\n Children,\n styles,\n forwardRef,\n status,\n theme,\n background,\n rating,\n visible,\n onVisibleChange,\n notificationVisible,\n onNotificationClose,\n getI18nText,\n errorFeedbackEmail,\n modalWidth,\n ...other\n } = this.asProps;\n\n const SFeedbackRating = Root;\n const checkboxFields = formConfig.filter((item) => item.type === 'checkbox');\n const textFields = formConfig.filter(\n (item) => item.type === 'textarea' || item.type === 'input',\n );\n\n return sstyled(styles)(\n <Root render={Box}>\n <Notice\n visible={notificationVisible}\n aria-label={getI18nText('leaveFeedback')}\n tag={Flex}\n alignItems={'center'}\n >\n <Notice.Label mr={3} aria-hidden={true}>\n <FeedbackIllustration />\n </Notice.Label>\n <Notice.Content tag={Flex} alignItems={'center'}>\n <Text mr={3}>{notificationText}</Text>\n <Notice.Actions mt={0}>\n <SliderRating\n value={rating}\n onChange={this.handleChangeRating}\n aria-label={notificationText}\n />\n </Notice.Actions>\n {learnMoreLink && (\n <Link ml={3} href={learnMoreLink}>\n {getI18nText('learnMore')}\n </Link>\n )}\n </Notice.Content>\n <Notice.Close onClick={onNotificationClose} />\n </Notice>\n\n <SFeedbackRating\n render={Modal}\n visible={visible}\n onClose={this.handelCloseModal}\n p={0}\n use:w={modalWidth ?? 440}\n >\n <Form decorators={[this.focusDecorator]} {...other}>\n {(api) =>\n sstyled(styles)(\n <SpinContainer\n background={background}\n theme={theme}\n size='xl'\n loading={status !== 'loading' ? api.submitting : status === 'loading'}\n p={1}\n m={9}\n >\n <Flex justifyContent='center'>\n <SliderRating value={rating} readonly={true} />\n </Flex>\n\n {header as any}\n\n <Box\n tag='form'\n noValidate\n method='POST'\n ref={forwardRef}\n {...other}\n onSubmit={api.handleSubmit}\n title={getI18nText('formTitle')}\n >\n <FeedbackRating.Item name={'rating'} initialValue={rating}>\n {({ input }) => {\n return <input {...input} type='hidden' />;\n }}\n </FeedbackRating.Item>\n\n <div role={'group'} aria-labelledby={this.headerId}>\n <ul>\n {checkboxFields.map((formConfigItem) =>\n this.renderCheckbox(formConfigItem),\n )}\n </ul>\n </div>\n\n {textFields.map((formConfigItem) => this.renderTextField(formConfigItem))}\n\n {this.state.error && (\n <Notice theme={'warning'} mt={4} mb={4}>\n <Notice.Label>\n <WarnM />\n </Notice.Label>\n <Notice.Content>\n {getI18nText('errorMessage', { email: errorFeedbackEmail })}\n </Notice.Content>\n </Notice>\n )}\n\n <Flex mt={4} justifyContent={'center'}>\n <FeedbackRating.Submit\n loading={status !== 'loading' ? api.submitting : status === 'loading'}\n size={'l'}\n >\n {submitText ?? getI18nText('submitButton')}\n </FeedbackRating.Submit>\n </Flex>\n </Box>\n </SpinContainer>,\n )\n }\n </Form>\n </SFeedbackRating>\n\n <NoticeBubbleContainer manager={this.manager} />\n </Root>,\n );\n }\n}\n\nfunction Header(props: any) {\n const { styles } = props;\n const SHeader = Root;\n return sstyled(styles)(\n <SHeader render={Text} size={300} tag='h2' mb={4} mt={4} textAlign={'center'} />,\n );\n}\n\nconst FeedbackRating: typeof FeedbackRatingType & { validate: typeof FeedbackRatingRoot.validate } =\n createComponent(FeedbackRatingRoot, {\n Header,\n Item: FeedbackItem,\n Checkbox: CheckboxButton,\n Submit: SubmitButton,\n });\n\nexport default FeedbackRating;\n"],"mappings":"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"}
1
+ {"version":3,"file":"FeedbackRating.js","names":["React","createComponent","Component","sstyled","Root","Field","Form","createFocusDecorator","SpinContainer","i18nEnhance","uniqueIDEnhancement","Notice","CheckM","WarnM","Text","FeedbackIllustration","Link","SliderRating","Modal","Textarea","Box","Flex","FeedbackItem","SubmitButton","CheckboxButton","Input","localizedMessages","NoticeBubbleContainer","NoticeBubbleManager","style","_sstyled","insert","FeedbackRatingRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","error","rating","asProps","onVisibleChange","fn","value","e","config","index","initialValue","props","initialValues","key","createElement","name","type","_ref7","input","FeedbackRating","Checkbox","_extends","id","label","onChange","_checked","focused","_config$description","mb","size","isDescriptionReactFragment","description","Fragment","direction","tag","mt","htmlFor","Item","validate","placement","flip","fallbackPlacements","undefined","_ref8","h","handleChange","state","Value","color","_createClass","get","uid","getHeaderProps","headerId","getItemProps","validateOnBlur","getNoticeTextId","componentDidUpdate","prevProps","_this2","_this$asProps","status","getI18nText","setState","setTimeout","manager","add","icon","children","initialAnimation","duration","render","_ref","_ref2","_ref4","_this3","_this$asProps2","header","submitText","formConfig","notificationText","learnMoreLink","Children","styles","forwardRef","theme","background","visible","notificationVisible","onNotificationClose","errorFeedbackEmail","modalWidth","other","_objectWithoutProperties","_excluded","SFeedbackRating","checkboxFields","filter","item","textFields","notificationId","_assignProps2","cn","Label","mr","Content","alignItems","Actions","handleChangeRating","Close","onClick","_objectSpread","_assignProps","handelCloseModal","focusDecorator","api","_ref5","submitting","Header","handleSubmit","_ref9","map","formConfigItem","renderCheckbox","renderTextField","email","Submit","loading","onSubmit","i18n","locale","words","split","symbols","join","Boolean","test","String","toLowerCase","_ref3","arguments[0]","_ref6","SHeader","_assignProps3"],"sources":["../../../../src/component/feedback-rating/FeedbackRating.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Field, Form } from 'react-final-form';\nimport createFocusDecorator from 'final-form-focus';\nimport SpinContainer from '@semcore/spin-container';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport Notice from '@semcore/notice';\nimport CheckM from '@semcore/icon/Check/m';\nimport WarnM from '@semcore/icon/Warning/m';\nimport { Text } from '@semcore/typography';\nimport FeedbackIllustration from '@semcore/illustration/Feedback';\nimport Link from '@semcore/link';\nimport SliderRating from '../slider-rating/SliderRating';\nimport Modal from '@semcore/modal';\nimport Textarea from '@semcore/textarea';\nimport { Box, Flex } from '@semcore/flex-box';\nimport { FeedbackItem } from '../feedback-item/FeedbackItem';\nimport { SubmitButton } from '../submit-button/SubmitButton';\nimport { FeedbackRatingProps, FeedbackRatingType, FormConfigItem } from './FeedbackRating.type';\nimport CheckboxButton from '../checkbox-button/CheckboxButton';\nimport Input from '@semcore/input';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport { NoticeBubbleContainer, NoticeBubbleManager } from '@semcore/notice-bubble';\nimport style from '../../style/feedback-rating.shadow.css';\n\ntype State = {\n error: boolean;\n};\n\nclass FeedbackRatingRoot extends Component<\n FeedbackRatingProps,\n {},\n State,\n typeof FeedbackRatingRoot.enhance\n> {\n static displayName = 'FeedbackRatingForm';\n static style = style;\n\n static enhance = [i18nEnhance(localizedMessages), uniqueIDEnhancement()] as const;\n\n static defaultProps = {\n onSubmit: () => {},\n i18n: localizedMessages,\n locale: 'en',\n };\n\n static validate = {\n description: (error: Error | string) => (value = '') => {\n const words = value.split(/\\s+/);\n const symbols = words.join(' ');\n if (Boolean(value) && (symbols.length < 10 || words.length < 3)) {\n return error;\n }\n },\n email: (error: Error | string) => (value = '') => {\n if (Boolean(value) && !/.+@.+\\..+/i.test(String(value).toLowerCase())) {\n return error;\n }\n },\n };\n\n state: State = {\n error: false,\n };\n\n manager = new NoticeBubbleManager();\n\n private focusDecorator = createFocusDecorator<Record<string, any>>();\n\n get headerId() {\n const { uid } = this.asProps;\n\n return `${uid}-feedback-rating-header`;\n }\n\n getHeaderProps() {\n return {\n id: this.headerId,\n };\n }\n\n getItemProps() {\n const { validateOnBlur } = this.asProps;\n\n return {\n validateOnBlur,\n };\n }\n\n getNoticeTextId() {\n const { uid } = this.asProps;\n return `${uid}-feedback-rating-notice`;\n }\n\n handleChangeRating = (rating: number) => {\n this.asProps.onVisibleChange(true, rating);\n };\n\n handelCloseModal = () => {\n this.asProps.onVisibleChange(false, this.asProps.rating);\n };\n\n handleChange =\n (fn: (e: React.SyntheticEvent) => void) => (value: any, e: React.SyntheticEvent) => {\n fn(e);\n };\n\n componentDidUpdate(prevProps: Readonly<FeedbackRatingProps>) {\n const { status, getI18nText } = this.asProps;\n\n if (prevProps.status !== status) {\n this.setState({ error: false });\n\n if (status === 'success') {\n // showing notice with delay for SR, less than 100ms is not enough\n setTimeout(() => {\n this.manager.add({\n icon: <CheckM color='green-400' />,\n children: getI18nText('successMessage'),\n initialAnimation: true,\n duration: 5000,\n });\n }, 300);\n } else if (status === 'error') {\n this.setState({ error: true });\n }\n }\n }\n\n renderCheckbox = (config: FormConfigItem, index: number) => {\n const initialValue = this.props.initialValues[config.key];\n\n return (\n <Field name={config.key} initialValue={initialValue} type={'checkbox'} key={config.key}>\n {({ input }) => (\n <FeedbackRating.Checkbox\n {...input}\n id={config.key}\n label={config.label}\n onChange={(_checked, e) => input.onChange(e)}\n focused={index === 0}\n />\n )}\n </Field>\n );\n };\n\n renderTextField = (config: FormConfigItem) => {\n const initialValue = this.props.initialValues[config.key];\n\n const label =\n typeof config.label === 'string' ? (\n <Text mb={2} size={200}>\n {config.label}\n </Text>\n ) : (\n (config.label as unknown as JSX.Element)\n );\n\n const isDescriptionReactFragment =\n (config.description as ReactElement)?.type === React.Fragment;\n\n return (\n <Flex direction='column'>\n <Flex tag='label' mt={4} htmlFor={config.key} key={config.key}>\n {label}\n </Flex>\n\n <FeedbackRating.Item\n name={config.key}\n validate={config.validate}\n initialValue={initialValue}\n placement='left-start'\n flip={{\n fallbackPlacements: ['right-start', 'bottom'],\n }}\n aria-describedby={config.description ? config.key + '-description' : undefined}\n >\n {({ input }) => {\n if (config.type === 'textarea') {\n return (\n <Textarea\n {...input}\n h={80}\n onChange={this.handleChange(input.onChange)}\n id={config.key}\n />\n );\n }\n if (config.type === 'input') {\n return (\n <Input state={input.state}>\n <Input.Value\n {...input}\n onChange={this.handleChange(input.onChange)}\n id={config.key}\n />\n </Input>\n );\n }\n return null;\n }}\n </FeedbackRating.Item>\n {config.description && (\n <Box mt={2}>\n {typeof config.description === 'string' || isDescriptionReactFragment ? (\n <Text size={200} color='text-secondary' id={config.key + '-description'}>\n {config.description}\n </Text>\n ) : (\n config.description\n )}\n </Box>\n )}\n </Flex>\n );\n };\n\n render() {\n const {\n header,\n submitText,\n formConfig,\n notificationText,\n learnMoreLink,\n Children,\n styles,\n forwardRef,\n status,\n theme,\n background,\n rating,\n visible,\n onVisibleChange,\n notificationVisible,\n onNotificationClose,\n getI18nText,\n errorFeedbackEmail,\n modalWidth,\n ...other\n } = this.asProps;\n\n const SFeedbackRating = Root;\n const checkboxFields = formConfig.filter((item) => item.type === 'checkbox');\n const textFields = formConfig.filter(\n (item) => item.type === 'textarea' || item.type === 'input',\n );\n const notificationId = this.getNoticeTextId();\n\n return sstyled(styles)(\n <Root render={Box}>\n <Notice\n visible={notificationVisible}\n aria-label={getI18nText('leaveFeedback')}\n tag={Flex}\n alignItems={'center'}\n >\n <Notice.Label mr={3} aria-hidden={true}>\n <FeedbackIllustration />\n </Notice.Label>\n <Notice.Content tag={Flex} alignItems={'center'}>\n <Text mr={3} id={notificationId}>\n {notificationText}\n </Text>\n <Notice.Actions mt={0}>\n <SliderRating\n value={rating}\n onChange={this.handleChangeRating}\n aria-labelledby={notificationId}\n />\n </Notice.Actions>\n {learnMoreLink && (\n <Link ml={3} href={learnMoreLink}>\n {getI18nText('learnMore')}\n </Link>\n )}\n </Notice.Content>\n <Notice.Close onClick={onNotificationClose} />\n </Notice>\n\n <SFeedbackRating\n render={Modal}\n visible={visible}\n onClose={this.handelCloseModal}\n p={0}\n use:w={modalWidth ?? 440}\n aria-labelledby={this.headerId}\n >\n <Form decorators={[this.focusDecorator]} {...other}>\n {(api) =>\n sstyled(styles)(\n <SpinContainer\n background={background}\n theme={theme}\n size='xl'\n loading={status !== 'loading' ? api.submitting : status === 'loading'}\n p={1}\n m={9}\n >\n <Flex justifyContent='center'>\n <SliderRating value={rating} readonly={true} />\n </Flex>\n\n {(header as ReactElement)?.type === FeedbackRating.Header ? (\n header\n ) : (\n <FeedbackRating.Header>{header}</FeedbackRating.Header>\n )}\n\n <Box\n tag='form'\n noValidate\n method='POST'\n ref={forwardRef}\n {...other}\n onSubmit={api.handleSubmit}\n >\n <Field name={'rating'} initialValue={rating}>\n {({ input }) => <input {...input} type='hidden' />}\n </Field>\n\n <div role={'group'} aria-labelledby={this.headerId}>\n {checkboxFields.map((formConfigItem, index) =>\n this.renderCheckbox(formConfigItem, index),\n )}\n </div>\n\n {textFields.map((formConfigItem) => this.renderTextField(formConfigItem))}\n\n {this.state.error && (\n <Notice theme={'warning'} mt={4} mb={4}>\n <Notice.Label>\n <WarnM />\n </Notice.Label>\n <Notice.Content>\n {getI18nText('errorMessage', { email: errorFeedbackEmail })}\n </Notice.Content>\n </Notice>\n )}\n\n <Flex mt={4} justifyContent={'center'}>\n <FeedbackRating.Submit\n loading={status !== 'loading' ? api.submitting : status === 'loading'}\n size={'l'}\n >\n {submitText ?? getI18nText('submitButton')}\n </FeedbackRating.Submit>\n </Flex>\n </Box>\n </SpinContainer>,\n )\n }\n </Form>\n </SFeedbackRating>\n\n <NoticeBubbleContainer manager={this.manager} />\n </Root>,\n );\n }\n}\n\nfunction Header(props: any) {\n const { styles } = props;\n const SHeader = Root;\n return sstyled(styles)(\n <SHeader render={Text} size={300} tag='h2' mb={4} mt={4} textAlign={'center'} />,\n );\n}\n\nconst FeedbackRating: typeof FeedbackRatingType & { validate: typeof FeedbackRatingRoot.validate } =\n createComponent(FeedbackRatingRoot, {\n Header,\n Item: FeedbackItem,\n Checkbox: CheckboxButton,\n Submit: SubmitButton,\n });\n\nexport default FeedbackRating;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackRating.type.js","names":[],"sources":["../../../../src/component/feedback-rating/FeedbackRating.type.ts"],"sourcesContent":["import React from 'react';\nimport { FeedbackFormProps } from '../../index';\nimport { FieldProps } from 'react-final-form';\n\nimport { Intergalactic } from '@semcore/core';\nimport Button from '@semcore/button';\nimport { Text } from '@semcore/typography';\nimport Checkbox from '@semcore/checkbox';\n\nexport type FormConfigItem = {\n key: string;\n label: React.ReactNode;\n type: 'input' | 'checkbox' | 'textarea';\n description?: React.ReactNode;\n validate?: (value: any) => Error | string | undefined;\n};\n\nexport type FeedbackRatingProps = Intergalactic.InternalTypings.EfficientOmit<\n FeedbackFormProps,\n 'initialValues' | 'loading'\n> & {\n /** status of form */\n status: 'default' | 'success' | 'error' | 'loading';\n\n /** flag for show/hide notification */\n notificationVisible: boolean;\n /** */\n onNotificationClose: () => void;\n /** text in notification panel */\n notificationText: string;\n /** optional link in notification panel */\n learnMoreLink?: string;\n /** rating value */\n rating: number;\n /** visible modal form flag */\n visible: boolean;\n\n onVisibleChange: (visible: boolean, rating: number) => void;\n\n /** width for modal with form */\n modalWidth?: number | string;\n\n /** header of modal with form */\n header: React.ReactNode;\n /** text for submit button of form */\n submitText?: string;\n /** config for form fields */\n formConfig: FormConfigItem[];\n\n initialValues: Record<string, any> & { rating: number };\n\n errorFeedbackEmail: string;\n\n locale?: string;\n};\n\nexport type FeedbackRatingItemProps = FieldProps<any, any> & {\n /**\n * Allows to override which passed props will be passed to the Tooltip component.\n */\n tooltipProps?: string[];\n};\n\ndeclare const FeedbackRatingType: Intergalactic.Component<'form', FeedbackRatingProps> & {\n Item: Intergalactic.Component<'div', FeedbackRatingItemProps>;\n Submit: typeof Button;\n Checkbox: typeof Checkbox;\n Header: typeof Text;\n};\n\nexport { FeedbackRatingType };\n"],"mappings":""}
1
+ {"version":3,"file":"FeedbackRating.type.js","names":[],"sources":["../../../../src/component/feedback-rating/FeedbackRating.type.ts"],"sourcesContent":["import React from 'react';\nimport { FeedbackFormProps } from '../../index';\nimport { FieldProps } from 'react-final-form';\n\nimport { Intergalactic } from '@semcore/core';\nimport Button from '@semcore/button';\nimport { Text } from '@semcore/typography';\nimport Checkbox, { CheckboxProps } from '@semcore/checkbox';\n\nexport type FormConfigItem = {\n key: string;\n label: React.ReactNode;\n type: 'input' | 'checkbox' | 'textarea';\n description?: React.ReactNode;\n validate?: (value: any) => Error | string | undefined;\n};\n\nexport type FeedbackRatingProps = Intergalactic.InternalTypings.EfficientOmit<\n FeedbackFormProps,\n 'initialValues' | 'loading'\n> & {\n /** status of form */\n status: 'default' | 'success' | 'error' | 'loading';\n\n /** flag for show/hide notification */\n notificationVisible: boolean;\n /** */\n onNotificationClose: () => void;\n /** text in notification panel */\n notificationText: string;\n /** optional link in notification panel */\n learnMoreLink?: string;\n /** rating value */\n rating: number;\n /** visible modal form flag */\n visible: boolean;\n\n onVisibleChange: (visible: boolean, rating: number) => void;\n\n /** width for modal with form */\n modalWidth?: number | string;\n\n /** header of modal with form */\n header: React.ReactNode;\n /** text for submit button of form */\n submitText?: string;\n /** config for form fields */\n formConfig: FormConfigItem[];\n\n initialValues: Record<string, any> & { rating: number };\n\n errorFeedbackEmail: string;\n\n locale?: string;\n};\n\nexport type FeedbackRatingItemProps = FieldProps<any, any> & {\n /**\n * Allows to override which passed props will be passed to the Tooltip component.\n */\n tooltipProps?: string[];\n};\n\nexport type FeedbackRatingCheckboxProps = Omit<CheckboxProps, 'label'> & {\n focused: boolean;\n label: React.ReactNode;\n};\n\ndeclare const FeedbackRatingType: Intergalactic.Component<'form', FeedbackRatingProps> & {\n Item: Intergalactic.Component<'div', FeedbackRatingItemProps>;\n Submit: typeof Button;\n Checkbox: Intergalactic.Component<typeof Checkbox, FeedbackRatingCheckboxProps>;\n Header: typeof Text;\n};\n\nexport { FeedbackRatingType };\n"],"mappings":""}
@@ -6,20 +6,25 @@ import _inherits from "@babel/runtime/helpers/inherits";
6
6
  import _createSuper from "@babel/runtime/helpers/createSuper";
7
7
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
8
  import { sstyled as _sstyled } from "@semcore/utils/lib/core/index";
9
+ import { assignProps as _assignProps3 } from "@semcore/core";
9
10
  import { assignProps as _assignProps2 } from "@semcore/core";
10
11
  import { assignProps as _assignProps } from "@semcore/core";
11
12
  import React from 'react';
12
13
  import createComponent, { Component, Root, sstyled } from '@semcore/core';
13
14
  import { Flex, Box } from '@semcore/flex-box';
14
15
  /*__reshadow-styles__:"../../style/slider-rating.shadow.css"*/
15
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SSliderRating_1ekqq_gg_ .___SStar_1ekqq_gg_{transition:all calc(var(--intergalactic-duration-control, 200)*1ms) ease-out}@media (hover:hover){.___SSliderRating_1ekqq_gg_ .___SStar_1ekqq_gg_:hover{cursor:pointer;transform:scale(1.3)}}.___SSliderRating_1ekqq_gg_.__keyboardFocused_1ekqq_gg_{outline:0;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}@media (hover:hover){.___SSliderRating_1ekqq_gg_.__readonly_1ekqq_gg_ .___SStar_1ekqq_gg_:hover{cursor:default;transform:none;transition:none}}.___SStar_1ekqq_gg_.__filled_1ekqq_gg_:active{animation:wobble .8s ease-in-out}.___SStar_1ekqq_gg_ path{fill:transparent;stroke:var(--intergalactic-slider-rating-normal, #a9abb6);stroke-width:2}.___SStar_1ekqq_gg_.__filled_1ekqq_gg_ path{stroke-width:0;fill:var(--intergalactic-slider-rating-hover-active, #fdc23c)}" /*__inner_css_end__*/, "1ekqq_gg_") /*__reshadow_css_end__*/, {
16
- "__SSliderRating": "___SSliderRating_1ekqq_gg_",
17
- "__SStar": "___SStar_1ekqq_gg_",
18
- "_keyboardFocused": "__keyboardFocused_1ekqq_gg_",
19
- "_readonly": "__readonly_1ekqq_gg_",
20
- "_filled": "__filled_1ekqq_gg_"
16
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SSliderRating_1a2yi_gg_ .___SStar_1a2yi_gg_{transition:all calc(var(--intergalactic-duration-control, 200)*1ms) ease-out}.___SSliderRating_1a2yi_gg_.__keyboardFocused_1a2yi_gg_ .___SStar_1a2yi_gg_.__hovered_1a2yi_gg_{cursor:pointer;transform:scale(1.3)}@media (hover:hover){.___SSliderRating_1a2yi_gg_ .___SStar_1a2yi_gg_:hover{cursor:pointer;transform:scale(1.3)}}.___SSliderRating_1a2yi_gg_.__keyboardFocused_1a2yi_gg_{outline:0;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}@media (hover:hover){.___SSliderRating_1a2yi_gg_.__readonly_1a2yi_gg_ .___SStar_1a2yi_gg_:hover{cursor:default;transform:none;transition:none}}.___SStar_1a2yi_gg_.__filled_1a2yi_gg_:active{animation:wobble .8s ease-in-out}.___SStar_1a2yi_gg_ path{fill:transparent;stroke:var(--intergalactic-slider-rating-normal, #a9abb6);stroke-width:2}.___SStar_1a2yi_gg_.__filled_1a2yi_gg_ path{stroke-width:0;fill:var(--intergalactic-slider-rating-hover-active, #fdc23c)}" /*__inner_css_end__*/, "1a2yi_gg_") /*__reshadow_css_end__*/, {
17
+ "__SSliderRating": "___SSliderRating_1a2yi_gg_",
18
+ "__SStar": "___SStar_1a2yi_gg_",
19
+ "_keyboardFocused": "__keyboardFocused_1a2yi_gg_",
20
+ "_hovered": "__hovered_1a2yi_gg_",
21
+ "_readonly": "__readonly_1a2yi_gg_",
22
+ "_filled": "__filled_1a2yi_gg_"
21
23
  });
22
24
  import keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';
25
+ import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
26
+ import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
27
+ import { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';
23
28
  var MIN = 1;
24
29
  var MAX = 5;
25
30
  var SliderRatingRoot = /*#__PURE__*/function (_Component) {
@@ -103,21 +108,65 @@ var SliderRatingRoot = /*#__PURE__*/function (_Component) {
103
108
  return {
104
109
  filled: value ? index + 1 <= value || index <= hoveredIndex : index <= hoveredIndex,
105
110
  onClick: this.handleClick(index + 1),
106
- onMouseEnter: readonly ? undefined : this.handleMouseEnder(index)
111
+ onMouseEnter: readonly ? undefined : this.handleMouseEnder(index),
112
+ hovered: hoveredIndex === index
107
113
  };
108
114
  }
115
+ }, {
116
+ key: "getLabelText",
117
+ value: function getLabelText() {
118
+ var hoveredIndex = this.state.hoveredIndex;
119
+ var _this$asProps3 = this.asProps,
120
+ readonly = _this$asProps3.readonly,
121
+ value = _this$asProps3.value,
122
+ getI18nText = _this$asProps3.getI18nText;
123
+ if (readonly) {
124
+ return getI18nText('FeedbackRating.SliderRating.aria-valuetext.readonly', {
125
+ selectedRating: value,
126
+ max: MAX
127
+ });
128
+ }
129
+ if (value) {
130
+ var selectedRating = hoveredIndex > -1 ? hoveredIndex + 1 : value;
131
+ return getI18nText('FeedbackRating.SliderRating.aria-valuetext', {
132
+ selectedRating: selectedRating,
133
+ max: MAX
134
+ });
135
+ }
136
+ return hoveredIndex === -1 ? getI18nText('FeedbackRating.SliderRating.aria-valuetext.empty') : getI18nText('FeedbackRating.SliderRating.aria-valuetext', {
137
+ selectedRating: hoveredIndex + 1,
138
+ max: MAX
139
+ });
140
+ }
109
141
  }, {
110
142
  key: "render",
111
143
  value: function render() {
112
144
  var _ref = this.asProps,
113
145
  _ref3;
114
- var _this$asProps3 = this.asProps,
115
- styles = _this$asProps3.styles,
116
- value = _this$asProps3.value;
146
+ var _this$asProps4 = this.asProps,
147
+ styles = _this$asProps4.styles,
148
+ readonly = _this$asProps4.readonly,
149
+ getI18nText = _this$asProps4.getI18nText,
150
+ value = _this$asProps4.value;
117
151
  var hoveredIndex = this.state.hoveredIndex;
118
152
  var SSliderRating = Flex;
119
- var label = value ? value : hoveredIndex === -1 ? 'Not set' : hoveredIndex + 1;
120
- return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SSliderRating, _ref3.cn("SSliderRating", _objectSpread({}, _assignProps({
153
+ var label = this.getLabelText();
154
+ if (readonly) {
155
+ return /*#__PURE__*/React.createElement(SSliderRating, _assignProps({
156
+ "gap": 1,
157
+ "role": 'img',
158
+ "aria-label": label,
159
+ "use:tabIndex": -1
160
+ }, _ref), new Array(MAX).fill(null).map(function (_, index) {
161
+ return /*#__PURE__*/React.createElement(Box, {
162
+ key: index,
163
+ position: 'relative'
164
+ }, /*#__PURE__*/React.createElement(SliderRating.Star, null));
165
+ }));
166
+ }
167
+ var hoverValue = hoveredIndex + 1;
168
+ var editModeLabel = hoverValue > 0 || value ? "".concat(label, ". ").concat(getI18nText('FeedbackRating.SliderRating.ScreenReaderOnly.sliderDescriber'), ".") : label;
169
+ return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SSliderRating, _ref3.cn("SSliderRating", _objectSpread({}, _assignProps2({
121
170
  "gap": 1,
122
171
  "onMouseLeave": this.handleMouseLeave,
123
172
  "onKeyDown": this.handleKeyDown,
@@ -125,8 +174,8 @@ var SliderRatingRoot = /*#__PURE__*/function (_Component) {
125
174
  "aria-orientation": 'horizontal',
126
175
  "aria-valuemin": MIN,
127
176
  "aria-valuemax": MAX,
128
- "aria-valuetext": label,
129
- "aria-valuenow": hoveredIndex + 1
177
+ "aria-valuetext": editModeLabel,
178
+ "aria-valuenow": hoverValue
130
179
  }, _ref))), new Array(MAX).fill(null).map(function (_, index) {
131
180
  return /*#__PURE__*/React.createElement(Box, {
132
181
  key: index,
@@ -139,13 +188,18 @@ var SliderRatingRoot = /*#__PURE__*/function (_Component) {
139
188
  }(Component);
140
189
  _defineProperty(SliderRatingRoot, "displayName", 'SliderRating');
141
190
  _defineProperty(SliderRatingRoot, "style", style);
142
- _defineProperty(SliderRatingRoot, "enhance", [keyboardFocusEnhance()]);
191
+ _defineProperty(SliderRatingRoot, "enhance", [keyboardFocusEnhance(), uniqueIDEnhancement(), i18nEnhance(localizedMessages)]);
192
+ _defineProperty(SliderRatingRoot, "defaultProps", {
193
+ i18n: localizedMessages,
194
+ locale: 'en'
195
+ });
143
196
  function Star(props) {
144
197
  var _ref2 = arguments[0],
145
198
  _ref4;
146
199
  var SStar = Box;
147
- return _ref4 = sstyled(props.styles), /*#__PURE__*/React.createElement(SStar, _ref4.cn("SStar", _objectSpread({}, _assignProps2({
200
+ return _ref4 = sstyled(props.styles), /*#__PURE__*/React.createElement(SStar, _ref4.cn("SStar", _objectSpread({}, _assignProps3({
148
201
  "tag": 'svg',
202
+ "role": 'none',
149
203
  "width": '22',
150
204
  "height": '21',
151
205
  "viewBox": '0 0 22 21',
@@ -1 +1 @@
1
- {"version":3,"file":"SliderRating.js","names":["React","createComponent","Component","Root","sstyled","Flex","Box","style","_sstyled","insert","keyboardFocusEnhance","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","render","_ref","_ref3","_this$asProps3","styles","SSliderRating","label","createElement","cn","_objectSpread","_assignProps","handleMouseLeave","handleKeyDown","fill","map","position","SliderRating","Star","props","_ref2","arguments[0]","_ref4","SStar","_assignProps2","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';\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<SliderRatingProps, State> {\n static displayName = 'SliderRating';\n static style = style;\n\n static enhance = [keyboardFocusEnhance()];\n\n state: State = {\n hoveredIndex: -1,\n clickedIndex: -1,\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 };\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 render() {\n const { styles, value } = this.asProps;\n const { hoveredIndex } = this.state;\n const SSliderRating = Root;\n\n const label = value ? value : hoveredIndex === -1 ? 'Not set' : hoveredIndex + 1;\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={label}\n aria-valuenow={hoveredIndex + 1}\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 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","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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"}
@@ -2,6 +2,7 @@ SSliderRating SStar {
2
2
  transition: all calc(var(--intergalactic-duration-control, 200) * 1ms) ease-out;
3
3
  }
4
4
 
5
+ SSliderRating[keyboardFocused] SStar[hovered],
5
6
  SSliderRating SStar:hover {
6
7
  cursor: pointer;
7
8
  transform: scale(1.3);
@@ -4,5 +4,9 @@
4
4
  "formTitle": "Feedback-Formular",
5
5
  "submitButton": "Feedback senden",
6
6
  "successMessage": "Vielen Dank für Ihr Feedback!",
7
- "errorMessage": "Es ist ein Fehler aufgetreten. Versuchen Sie es erneut oder kontaktieren Sie uns unter {email}."
7
+ "errorMessage": "Es ist ein Fehler aufgetreten. Versuchen Sie es erneut oder kontaktieren Sie uns unter {email}.",
8
+ "FeedbackRating.SliderRating.ScreenReaderOnly.sliderDescriber": "Drücken Sie auf Enter, um die Bewertung auszuwählen",
9
+ "FeedbackRating.SliderRating.aria-valuetext.readonly": "Ihre Bewertung: {selectedRating} von {max}",
10
+ "FeedbackRating.SliderRating.aria-valuetext.empty": "Nicht festgelegt",
11
+ "FeedbackRating.SliderRating.aria-valuetext": "{selectedRating} von {max}"
8
12
  }
@@ -4,5 +4,9 @@
4
4
  "formTitle": "Feedback form",
5
5
  "submitButton": "Send feedback",
6
6
  "successMessage": "Thank you for your feedback!",
7
- "errorMessage": "Something went wrong. Please try again or contact us at {email}."
7
+ "errorMessage": "Something went wrong. Please try again or contact us at {email}.",
8
+ "FeedbackRating.SliderRating.ScreenReaderOnly.sliderDescriber": "Press Enter to select the rating",
9
+ "FeedbackRating.SliderRating.aria-valuetext.readonly": "Your rating: {selectedRating} out of {max}",
10
+ "FeedbackRating.SliderRating.aria-valuetext.empty": "Not set",
11
+ "FeedbackRating.SliderRating.aria-valuetext": "{selectedRating} out of {max}"
8
12
  }