@coorpacademy/components 11.7.3 → 11.7.4-alpha.27

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 (126) hide show
  1. package/README.md +3 -3
  2. package/es/atom/select/index.d.ts +18 -0
  3. package/es/atom/select/index.d.ts.map +1 -1
  4. package/es/atom/select/index.js +21 -4
  5. package/es/atom/select/index.js.map +1 -1
  6. package/es/molecule/answer/index.d.ts.map +1 -1
  7. package/es/molecule/answer/index.js +36 -9
  8. package/es/molecule/answer/index.js.map +1 -1
  9. package/es/molecule/brand-form-group/index.d.ts +18 -0
  10. package/es/molecule/filters/filters-wrapper.d.ts +1 -0
  11. package/es/molecule/filters/filters-wrapper.d.ts.map +1 -1
  12. package/es/molecule/filters/filters-wrapper.js +9 -5
  13. package/es/molecule/filters/filters-wrapper.js.map +1 -1
  14. package/es/molecule/filters/index.d.ts +10 -0
  15. package/es/molecule/filters/index.d.ts.map +1 -1
  16. package/es/molecule/filters/index.js +6 -3
  17. package/es/molecule/filters/index.js.map +1 -1
  18. package/es/molecule/questions/drop-down/index.d.ts +1 -0
  19. package/es/molecule/questions/drop-down/index.js +7 -3
  20. package/es/molecule/questions/drop-down/index.js.map +1 -1
  21. package/es/molecule/questions/qcm/index.d.ts +1 -0
  22. package/es/molecule/questions/qcm/index.js +7 -3
  23. package/es/molecule/questions/qcm/index.js.map +1 -1
  24. package/es/molecule/questions/qcm-drag/index.d.ts +3 -1
  25. package/es/molecule/questions/qcm-drag/index.d.ts.map +1 -1
  26. package/es/molecule/questions/qcm-drag/index.js +7 -3
  27. package/es/molecule/questions/qcm-drag/index.js.map +1 -1
  28. package/es/molecule/questions/qcm-graphic/index.d.ts +1 -0
  29. package/es/molecule/questions/qcm-graphic/index.d.ts.map +1 -1
  30. package/es/molecule/questions/qcm-graphic/index.js +7 -3
  31. package/es/molecule/questions/qcm-graphic/index.js.map +1 -1
  32. package/es/molecule/questions/question-range/index.d.ts +1 -0
  33. package/es/molecule/questions/question-range/index.js +8 -4
  34. package/es/molecule/questions/question-range/index.js.map +1 -1
  35. package/es/molecule/questions/template/index.d.ts +6 -2
  36. package/es/molecule/questions/template/index.d.ts.map +1 -1
  37. package/es/molecule/questions/template/index.js +7 -3
  38. package/es/molecule/questions/template/index.js.map +1 -1
  39. package/es/molecule/setup-slide/index.d.ts +9 -0
  40. package/es/molecule/setup-slider/index.d.ts +9 -0
  41. package/es/organism/brand-form/index.d.ts +18 -0
  42. package/es/organism/user-preferences/index.d.ts +1 -0
  43. package/es/organism/user-preferences/index.d.ts.map +1 -1
  44. package/es/organism/user-preferences/index.js +9 -5
  45. package/es/organism/user-preferences/index.js.map +1 -1
  46. package/es/organism/wizard-contents/index.d.ts +18 -0
  47. package/es/template/back-office/brand-update/index.d.ts +36 -0
  48. package/es/template/common/search-page/index.d.ts +11 -0
  49. package/es/template/common/search-page/index.d.ts.map +1 -1
  50. package/es/template/common/search-page/index.js +6 -3
  51. package/es/template/common/search-page/index.js.map +1 -1
  52. package/lib/atom/select/index.d.ts +18 -0
  53. package/lib/atom/select/index.d.ts.map +1 -1
  54. package/lib/atom/select/index.js +26 -5
  55. package/lib/atom/select/index.js.map +1 -1
  56. package/lib/molecule/answer/index.d.ts.map +1 -1
  57. package/lib/molecule/answer/index.js +37 -9
  58. package/lib/molecule/answer/index.js.map +1 -1
  59. package/lib/molecule/brand-form-group/index.d.ts +18 -0
  60. package/lib/molecule/filters/filters-wrapper.d.ts +1 -0
  61. package/lib/molecule/filters/filters-wrapper.d.ts.map +1 -1
  62. package/lib/molecule/filters/filters-wrapper.js +9 -5
  63. package/lib/molecule/filters/filters-wrapper.js.map +1 -1
  64. package/lib/molecule/filters/index.d.ts +10 -0
  65. package/lib/molecule/filters/index.d.ts.map +1 -1
  66. package/lib/molecule/filters/index.js +6 -3
  67. package/lib/molecule/filters/index.js.map +1 -1
  68. package/lib/molecule/questions/drop-down/index.d.ts +1 -0
  69. package/lib/molecule/questions/drop-down/index.js +7 -3
  70. package/lib/molecule/questions/drop-down/index.js.map +1 -1
  71. package/lib/molecule/questions/qcm/index.d.ts +1 -0
  72. package/lib/molecule/questions/qcm/index.js +7 -3
  73. package/lib/molecule/questions/qcm/index.js.map +1 -1
  74. package/lib/molecule/questions/qcm-drag/index.d.ts +3 -1
  75. package/lib/molecule/questions/qcm-drag/index.d.ts.map +1 -1
  76. package/lib/molecule/questions/qcm-drag/index.js +7 -3
  77. package/lib/molecule/questions/qcm-drag/index.js.map +1 -1
  78. package/lib/molecule/questions/qcm-graphic/index.d.ts +1 -0
  79. package/lib/molecule/questions/qcm-graphic/index.d.ts.map +1 -1
  80. package/lib/molecule/questions/qcm-graphic/index.js +7 -3
  81. package/lib/molecule/questions/qcm-graphic/index.js.map +1 -1
  82. package/lib/molecule/questions/question-range/index.d.ts +1 -0
  83. package/lib/molecule/questions/question-range/index.js +8 -4
  84. package/lib/molecule/questions/question-range/index.js.map +1 -1
  85. package/lib/molecule/questions/template/index.d.ts +6 -2
  86. package/lib/molecule/questions/template/index.d.ts.map +1 -1
  87. package/lib/molecule/questions/template/index.js +7 -3
  88. package/lib/molecule/questions/template/index.js.map +1 -1
  89. package/lib/molecule/setup-slide/index.d.ts +9 -0
  90. package/lib/molecule/setup-slider/index.d.ts +9 -0
  91. package/lib/organism/brand-form/index.d.ts +18 -0
  92. package/lib/organism/user-preferences/index.d.ts +1 -0
  93. package/lib/organism/user-preferences/index.d.ts.map +1 -1
  94. package/lib/organism/user-preferences/index.js +9 -5
  95. package/lib/organism/user-preferences/index.js.map +1 -1
  96. package/lib/organism/wizard-contents/index.d.ts +18 -0
  97. package/lib/template/back-office/brand-update/index.d.ts +36 -0
  98. package/lib/template/common/search-page/index.d.ts +11 -0
  99. package/lib/template/common/search-page/index.d.ts.map +1 -1
  100. package/lib/template/common/search-page/index.js +6 -3
  101. package/lib/template/common/search-page/index.js.map +1 -1
  102. package/locales/cs/global.json +1 -0
  103. package/locales/de/global.json +1 -0
  104. package/locales/en/global.json +1 -0
  105. package/locales/es/global.json +1 -0
  106. package/locales/et/global.json +1 -0
  107. package/locales/fr/global.json +1 -0
  108. package/locales/hr/global.json +1 -0
  109. package/locales/hu/global.json +1 -0
  110. package/locales/it/global.json +1 -0
  111. package/locales/ja/global.json +1 -0
  112. package/locales/ko/global.json +1 -0
  113. package/locales/nl/global.json +1 -0
  114. package/locales/pl/global.json +1 -0
  115. package/locales/pt/global.json +1 -0
  116. package/locales/ro/global.json +1 -0
  117. package/locales/ru/global.json +1 -0
  118. package/locales/sk/global.json +1 -0
  119. package/locales/tl/global.json +1 -0
  120. package/locales/tr/global.json +1 -0
  121. package/locales/uk/global.json +1 -0
  122. package/locales/vi/global.json +1 -0
  123. package/locales/zh/global.json +1 -0
  124. package/locales/zh_TW/global.json +1 -0
  125. package/package.json +2 -2
  126. package/locales/.mtslconfig.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"filters-wrapper.js","names":["FiltersWapper","props","context","filters","className","buildFilter","filter","idx","type","fieldName","style","choice","title","radioGroup","timerWrapper","timerSubtitle","subtitle","toggle","display","filtersList","convert","cap","emptyFilters","classnames","wrapperNone","wrapper","propTypes","PropTypes","string","arrayOf","shape","oneOf","isRequired"],"sources":["../../../src/molecule/filters/filters-wrapper.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {isEmpty, map} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Select from '../../atom/select';\nimport InputSwitch from '../../atom/input-switch';\nimport RadioGroup from '../../atom/radio-group';\nimport RangeSlider from '../../atom/range';\nimport style from './filters-wapper.css';\n\nconst FiltersWapper = (props, context) => {\n const {filters, className} = props;\n\n const buildFilter = (filter, idx) => {\n const {type, fieldName} = filter;\n switch (type) {\n case 'select':\n return (\n <div data-name=\"choice\" data-filter-type={fieldName} className={style.choice} key={idx}>\n <Select {...filter} />\n </div>\n );\n case 'radio':\n return (\n <div data-name=\"choice\" data-filter-type={fieldName} className={style.choice} key={idx}>\n <p className={style.title}>{filter.title}</p>\n <RadioGroup {...filter} className={style.radioGroup} />\n </div>\n );\n case 'range':\n return (\n <div\n data-name=\"choice\"\n data-filter-type={fieldName}\n className={style.timerWrapper}\n key={idx}\n >\n <label>\n <span className={style.title}>{filter.title}</span>\n <p className={style.timerSubtitle}>{filter.subtitle}</p>\n <RangeSlider {...filter} />\n </label>\n </div>\n );\n case 'switch':\n return (\n <div data-name=\"choice\" data-filter-type={fieldName} className={style.choice} key={idx}>\n <p className={style.title}>{filter.title}</p>\n <div className={style.toggle}>\n <InputSwitch {...filter.display} />\n </div>\n </div>\n );\n default:\n return null;\n }\n };\n\n const filtersList = map.convert({cap: false})(buildFilter, filters);\n const emptyFilters = isEmpty(filters);\n return (\n <div className={classnames(className, emptyFilters ? style.wrapperNone : style.wrapper)}>\n {filtersList}\n </div>\n );\n};\n\nFiltersWapper.propTypes = {\n className: PropTypes.string,\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.oneOf(['select', 'range', 'radio', 'switch']).isRequired,\n fieldName: PropTypes.string.isRequired\n })\n )\n};\nexport default FiltersWapper;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,aAAa,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EACxC,MAAM;IAACC,OAAD;IAAUC;EAAV,IAAuBH,KAA7B;;EAEA,MAAMI,WAAW,GAAG,CAACC,MAAD,EAASC,GAAT,KAAiB;IACnC,MAAM;MAACC,IAAD;MAAOC;IAAP,IAAoBH,MAA1B;;IACA,QAAQE,IAAR;MACE,KAAK,QAAL;QACE,oBACE;UAAK,aAAU,QAAf;UAAwB,oBAAkBC,SAA1C;UAAqD,SAAS,EAAEC,sBAAA,CAAMC,MAAtE;UAA8E,GAAG,EAAEJ;QAAnF,gBACE,6BAAC,eAAD,EAAYD,MAAZ,CADF,CADF;;MAKF,KAAK,OAAL;QACE,oBACE;UAAK,aAAU,QAAf;UAAwB,oBAAkBG,SAA1C;UAAqD,SAAS,EAAEC,sBAAA,CAAMC,MAAtE;UAA8E,GAAG,EAAEJ;QAAnF,gBACE;UAAG,SAAS,EAAEG,sBAAA,CAAME;QAApB,GAA4BN,MAAM,CAACM,KAAnC,CADF,eAEE,6BAAC,mBAAD,eAAgBN,MAAhB;UAAwB,SAAS,EAAEI,sBAAA,CAAMG;QAAzC,GAFF,CADF;;MAMF,KAAK,OAAL;QACE,oBACE;UACE,aAAU,QADZ;UAEE,oBAAkBJ,SAFpB;UAGE,SAAS,EAAEC,sBAAA,CAAMI,YAHnB;UAIE,GAAG,EAAEP;QAJP,gBAME,yDACE;UAAM,SAAS,EAAEG,sBAAA,CAAME;QAAvB,GAA+BN,MAAM,CAACM,KAAtC,CADF,eAEE;UAAG,SAAS,EAAEF,sBAAA,CAAMK;QAApB,GAAoCT,MAAM,CAACU,QAA3C,CAFF,eAGE,6BAAC,cAAD,EAAiBV,MAAjB,CAHF,CANF,CADF;;MAcF,KAAK,QAAL;QACE,oBACE;UAAK,aAAU,QAAf;UAAwB,oBAAkBG,SAA1C;UAAqD,SAAS,EAAEC,sBAAA,CAAMC,MAAtE;UAA8E,GAAG,EAAEJ;QAAnF,gBACE;UAAG,SAAS,EAAEG,sBAAA,CAAME;QAApB,GAA4BN,MAAM,CAACM,KAAnC,CADF,eAEE;UAAK,SAAS,EAAEF,sBAAA,CAAMO;QAAtB,gBACE,6BAAC,oBAAD,EAAiBX,MAAM,CAACY,OAAxB,CADF,CAFF,CADF;;MAQF;QACE,OAAO,IAAP;IAvCJ;EAyCD,CA3CD;;EA6CA,MAAMC,WAAW,GAAG,cAAIC,OAAJ,CAAY;IAACC,GAAG,EAAE;EAAN,CAAZ,EAA0BhB,WAA1B,EAAuCF,OAAvC,CAApB;;EACA,MAAMmB,YAAY,GAAG,uBAAQnB,OAAR,CAArB;EACA,oBACE;IAAK,SAAS,EAAE,IAAAoB,mBAAA,EAAWnB,SAAX,EAAsBkB,YAAY,GAAGZ,sBAAA,CAAMc,WAAT,GAAuBd,sBAAA,CAAMe,OAA/D;EAAhB,GACGN,WADH,CADF;AAKD,CAvDD;;AAyDAnB,aAAa,CAAC0B,SAAd,2CAA0B;EACxBtB,SAAS,EAAEuB,kBAAA,CAAUC,MADG;EAExBzB,OAAO,EAAEwB,kBAAA,CAAUE,OAAV,CACPF,kBAAA,CAAUG,KAAV,CAAgB;IACdtB,IAAI,EAAEmB,kBAAA,CAAUI,KAAV,CAAgB,CAAC,QAAD,EAAW,OAAX,EAAoB,OAApB,EAA6B,QAA7B,CAAhB,EAAwDC,UADhD;IAEdvB,SAAS,EAAEkB,kBAAA,CAAUC,MAAV,CAAiBI;EAFd,CAAhB,CADO;AAFe,CAA1B;eASehC,a"}
1
+ {"version":3,"file":"filters-wrapper.js","names":["FiltersWapper","props","context","filters","className","filterGroupAriaLabel","buildFilter","filter","idx","type","fieldName","style","choice","title","radioGroup","timerWrapper","timerSubtitle","subtitle","toggle","display","filtersList","convert","cap","emptyFilters","classnames","wrapperNone","wrapper","propTypes","PropTypes","string","arrayOf","shape","oneOf","isRequired"],"sources":["../../../src/molecule/filters/filters-wrapper.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {isEmpty, map} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Select from '../../atom/select';\nimport InputSwitch from '../../atom/input-switch';\nimport RadioGroup from '../../atom/radio-group';\nimport RangeSlider from '../../atom/range';\nimport style from './filters-wapper.css';\n\nconst FiltersWapper = (props, context) => {\n const {filters, className, filterGroupAriaLabel} = props;\n\n const buildFilter = (filter, idx) => {\n const {type, fieldName} = filter;\n switch (type) {\n case 'select':\n return (\n <div data-name=\"choice\" data-filter-type={fieldName} className={style.choice} key={idx}>\n <Select {...filter} />\n </div>\n );\n case 'radio':\n return (\n <div data-name=\"choice\" data-filter-type={fieldName} className={style.choice} key={idx}>\n <p className={style.title}>{filter.title}</p>\n <RadioGroup {...filter} className={style.radioGroup} />\n </div>\n );\n case 'range':\n return (\n <div\n data-name=\"choice\"\n data-filter-type={fieldName}\n className={style.timerWrapper}\n key={idx}\n >\n <label>\n <span className={style.title}>{filter.title}</span>\n <p className={style.timerSubtitle}>{filter.subtitle}</p>\n <RangeSlider {...filter} />\n </label>\n </div>\n );\n case 'switch':\n return (\n <div data-name=\"choice\" data-filter-type={fieldName} className={style.choice} key={idx}>\n <p className={style.title}>{filter.title}</p>\n <div className={style.toggle}>\n <InputSwitch {...filter.display} />\n </div>\n </div>\n );\n default:\n return null;\n }\n };\n\n const filtersList = map.convert({cap: false})(buildFilter, filters);\n const emptyFilters = isEmpty(filters);\n return (\n <form>\n <div\n className={classnames(className, emptyFilters ? style.wrapperNone : style.wrapper)}\n role=\"group\"\n aria-label={filterGroupAriaLabel}\n >\n {filtersList}\n </div>\n </form>\n );\n};\n\nFiltersWapper.propTypes = {\n className: PropTypes.string,\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.oneOf(['select', 'range', 'radio', 'switch']).isRequired,\n fieldName: PropTypes.string.isRequired\n })\n ),\n filterGroupAriaLabel: PropTypes.string\n};\nexport default FiltersWapper;\n"],"mappings":"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"}
@@ -28,6 +28,15 @@ declare class Filters extends React.Component<any, any, any> {
28
28
  selected: PropTypes.Requireable<boolean>;
29
29
  validOption: PropTypes.Requireable<boolean>;
30
30
  }> | null | undefined)[]>;
31
+ optgroups: PropTypes.Requireable<(PropTypes.InferProps<{
32
+ label: PropTypes.Validator<string>;
33
+ options: PropTypes.Requireable<(PropTypes.InferProps<{
34
+ name: PropTypes.Validator<string>;
35
+ value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
36
+ selected: PropTypes.Requireable<boolean>;
37
+ validOption: PropTypes.Requireable<boolean>;
38
+ }> | null | undefined)[]>;
39
+ }> | null | undefined)[]>;
31
40
  modified: PropTypes.Requireable<boolean>;
32
41
  error: PropTypes.Requireable<boolean>;
33
42
  'aria-label': PropTypes.Requireable<string>;
@@ -37,6 +46,7 @@ declare class Filters extends React.Component<any, any, any> {
37
46
  onToggleSorts: PropTypes.Requireable<(...args: any[]) => any>;
38
47
  moreSortAriaLabel: PropTypes.Requireable<string>;
39
48
  moreFilterAriaLabel: PropTypes.Requireable<string>;
49
+ filterGroupAriaLabel: PropTypes.Requireable<string>;
40
50
  };
41
51
  static contextTypes: {
42
52
  skin: PropTypes.Requireable<PropTypes.InferProps<{
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/filters/index.js"],"names":[],"mappings":";AASA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAcE;IAEF;;;;;;;;;;;;;;;;;;;;;;MAEE;IAEF,wBASC;IAPC;;;MAGC;IAMH,yBAcC;IAED,uBAYC;IAED,qBAOC;IAED,sBAsFC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/filters/index.js"],"names":[],"mappings":";AASA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAeE;IAEF;;;;;;;;;;;;;;;;;;;;;;MAEE;IAEF,wBASC;IAPC;;;MAGC;IAMH,yBAcC;IAED,uBAYC;IAED,qBAOC;IAED,sBA2FC;CACF"}
@@ -86,7 +86,8 @@ class Filters extends _react.default.Component {
86
86
  sortTabLabel,
87
87
  filters,
88
88
  moreFilterAriaLabel,
89
- moreSortAriaLabel
89
+ moreSortAriaLabel,
90
+ filterGroupAriaLabel
90
91
  } = this.props;
91
92
  const {
92
93
  filter,
@@ -139,7 +140,8 @@ class Filters extends _react.default.Component {
139
140
  className: filtersActive ? _style.default.activeWrapperFilters : _style.default.wrapperFilters
140
141
  }, /*#__PURE__*/_react.default.createElement(_filtersWrapper.default, {
141
142
  className: _style.default.wrapper,
142
- filters: filters
143
+ filters: filters,
144
+ filterGroupAriaLabel: filterGroupAriaLabel
143
145
  }), /*#__PURE__*/_react.default.createElement("div", {
144
146
  "data-name": "cta",
145
147
  className: _style.default.CTAfilter,
@@ -178,7 +180,8 @@ Filters.propTypes = process.env.NODE_ENV !== "production" ? {
178
180
  onToggleFilters: _propTypes.default.func,
179
181
  onToggleSorts: _propTypes.default.func,
180
182
  moreSortAriaLabel: _propTypes.default.string,
181
- moreFilterAriaLabel: _propTypes.default.string
183
+ moreFilterAriaLabel: _propTypes.default.string,
184
+ filterGroupAriaLabel: _propTypes.default.string
182
185
  } : {};
183
186
  var _default = Filters;
184
187
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Filters","React","Component","constructor","props","state","filter","openFilters","sorted","openSorts","handleOpenFilter","bind","handleOpenSort","handleSearch","onToggleFilters","newValue","setState","onToggleSorts","onSearch","render","sorting","filterCTALabel","filterTabLabel","sortCTALabel","sortTabLabel","filters","moreFilterAriaLabel","moreSortAriaLabel","skin","context","defaultColor","darkColor","filtersActive","sortingActive","sortView","undefined","style","select","search","activeDefault","default","title","arrow","activeWrapperSortBy","wrapperSortBy","activeWrapperFilters","wrapperFilters","wrapper","CTAfilter","backgroundColor","activeSorting","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","bool","FiltersWrapper","shape","Select","func"],"sources":["../../../src/molecule/filters/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Select from '../../atom/select';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\nimport FiltersWrapper from './filters-wrapper';\n\nclass Filters extends React.Component {\n static propTypes = {\n filterCTALabel: PropTypes.string,\n filterTabLabel: PropTypes.string,\n sortCTALabel: PropTypes.string,\n sortTabLabel: PropTypes.string,\n openFilters: PropTypes.bool,\n openSorts: PropTypes.bool,\n filters: FiltersWrapper.propTypes.filters,\n sorting: PropTypes.shape(Select.propTypes),\n onSearch: PropTypes.func,\n onToggleFilters: PropTypes.func,\n onToggleSorts: PropTypes.func,\n moreSortAriaLabel: PropTypes.string,\n moreFilterAriaLabel: PropTypes.string\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n filter: !!props.openFilters,\n sorted: !!props.openSorts\n };\n this.handleOpenFilter = this.handleOpenFilter.bind(this);\n this.handleOpenSort = this.handleOpenSort.bind(this);\n this.handleSearch = this.handleSearch.bind(this);\n }\n\n handleOpenFilter() {\n const {filter} = this.state;\n const {onToggleFilters} = this.props;\n\n const newValue = !filter;\n\n this.setState({\n filter: newValue,\n sorted: false\n });\n\n if (onToggleFilters) {\n onToggleFilters(newValue);\n }\n }\n\n handleOpenSort() {\n const {sorted} = this.state;\n const {onToggleSorts} = this.props;\n\n const newValue = !sorted;\n\n this.setState({\n sorted: newValue,\n filter: false\n });\n\n if (onToggleSorts) onToggleSorts(newValue);\n }\n\n handleSearch() {\n const {onSearch} = this.props;\n this.setState({\n sorted: false,\n filter: false\n });\n if (onSearch) onSearch();\n }\n\n render() {\n const {\n sorting,\n filterCTALabel,\n filterTabLabel,\n sortCTALabel,\n sortTabLabel,\n filters,\n moreFilterAriaLabel,\n moreSortAriaLabel\n } = this.props;\n const {filter, sorted} = this.state;\n const {skin} = this.context;\n\n const defaultColor = get('common.primary', skin);\n const darkColor = get('common.dark', skin);\n const filtersActive = filter === true;\n const sortingActive = sorted === true;\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\" className={style.select}>\n <Select {...sorting} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"search\" className={style.search}>\n <div\n data-name=\"filter\"\n data-open={filtersActive}\n className={filtersActive ? style.activeDefault : style.default}\n >\n <div className={style.title} data-name=\"filterButton\" onClick={this.handleOpenFilter}>\n {filterTabLabel}\n <div className={style.arrow}>\n <ArrowDown color={darkColor} height={14} aria-label={moreFilterAriaLabel} />\n </div>\n </div>\n </div>\n <div\n data-name=\"sortBy\"\n data-open={sortingActive}\n className={sortingActive ? style.activeWrapperSortBy : style.wrapperSortBy}\n >\n <div className={style.title} data-name=\"sortButton\" onClick={this.handleOpenSort}>\n {sortTabLabel}\n <div className={style.arrow}>\n <ArrowDown color={darkColor} height={14} aria-label={moreSortAriaLabel} />\n </div>\n </div>\n </div>\n <div\n data-name=\"filterWrapper\"\n className={filtersActive ? style.activeWrapperFilters : style.wrapperFilters}\n >\n <FiltersWrapper className={style.wrapper} filters={filters} />\n <div\n data-name=\"cta\"\n className={style.CTAfilter}\n style={{\n backgroundColor: defaultColor\n }}\n onClick={this.handleSearch}\n >\n {filterCTALabel}\n </div>\n </div>\n <div\n data-name=\"sortWrapper\"\n className={sortingActive ? style.activeSorting : style.sorting}\n >\n {sortView}\n <div\n data-name=\"cta\"\n className={style.CTAfilter}\n style={{\n backgroundColor: defaultColor\n }}\n onClick={this.handleSearch}\n >\n {sortCTALabel}\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default Filters;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["Filters","React","Component","constructor","props","state","filter","openFilters","sorted","openSorts","handleOpenFilter","bind","handleOpenSort","handleSearch","onToggleFilters","newValue","setState","onToggleSorts","onSearch","render","sorting","filterCTALabel","filterTabLabel","sortCTALabel","sortTabLabel","filters","moreFilterAriaLabel","moreSortAriaLabel","filterGroupAriaLabel","skin","context","defaultColor","darkColor","filtersActive","sortingActive","sortView","undefined","style","select","search","activeDefault","default","title","arrow","activeWrapperSortBy","wrapperSortBy","activeWrapperFilters","wrapperFilters","wrapper","CTAfilter","backgroundColor","activeSorting","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","bool","FiltersWrapper","shape","Select","func"],"sources":["../../../src/molecule/filters/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Select from '../../atom/select';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\nimport FiltersWrapper from './filters-wrapper';\n\nclass Filters extends React.Component {\n static propTypes = {\n filterCTALabel: PropTypes.string,\n filterTabLabel: PropTypes.string,\n sortCTALabel: PropTypes.string,\n sortTabLabel: PropTypes.string,\n openFilters: PropTypes.bool,\n openSorts: PropTypes.bool,\n filters: FiltersWrapper.propTypes.filters,\n sorting: PropTypes.shape(Select.propTypes),\n onSearch: PropTypes.func,\n onToggleFilters: PropTypes.func,\n onToggleSorts: PropTypes.func,\n moreSortAriaLabel: PropTypes.string,\n moreFilterAriaLabel: PropTypes.string,\n filterGroupAriaLabel: PropTypes.string\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n filter: !!props.openFilters,\n sorted: !!props.openSorts\n };\n this.handleOpenFilter = this.handleOpenFilter.bind(this);\n this.handleOpenSort = this.handleOpenSort.bind(this);\n this.handleSearch = this.handleSearch.bind(this);\n }\n\n handleOpenFilter() {\n const {filter} = this.state;\n const {onToggleFilters} = this.props;\n\n const newValue = !filter;\n\n this.setState({\n filter: newValue,\n sorted: false\n });\n\n if (onToggleFilters) {\n onToggleFilters(newValue);\n }\n }\n\n handleOpenSort() {\n const {sorted} = this.state;\n const {onToggleSorts} = this.props;\n\n const newValue = !sorted;\n\n this.setState({\n sorted: newValue,\n filter: false\n });\n\n if (onToggleSorts) onToggleSorts(newValue);\n }\n\n handleSearch() {\n const {onSearch} = this.props;\n this.setState({\n sorted: false,\n filter: false\n });\n if (onSearch) onSearch();\n }\n\n render() {\n const {\n sorting,\n filterCTALabel,\n filterTabLabel,\n sortCTALabel,\n sortTabLabel,\n filters,\n moreFilterAriaLabel,\n moreSortAriaLabel,\n filterGroupAriaLabel\n } = this.props;\n const {filter, sorted} = this.state;\n const {skin} = this.context;\n\n const defaultColor = get('common.primary', skin);\n const darkColor = get('common.dark', skin);\n const filtersActive = filter === true;\n const sortingActive = sorted === true;\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\" className={style.select}>\n <Select {...sorting} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"search\" className={style.search}>\n <div\n data-name=\"filter\"\n data-open={filtersActive}\n className={filtersActive ? style.activeDefault : style.default}\n >\n <div className={style.title} data-name=\"filterButton\" onClick={this.handleOpenFilter}>\n {filterTabLabel}\n <div className={style.arrow}>\n <ArrowDown color={darkColor} height={14} aria-label={moreFilterAriaLabel} />\n </div>\n </div>\n </div>\n <div\n data-name=\"sortBy\"\n data-open={sortingActive}\n className={sortingActive ? style.activeWrapperSortBy : style.wrapperSortBy}\n >\n <div className={style.title} data-name=\"sortButton\" onClick={this.handleOpenSort}>\n {sortTabLabel}\n <div className={style.arrow}>\n <ArrowDown color={darkColor} height={14} aria-label={moreSortAriaLabel} />\n </div>\n </div>\n </div>\n <div\n data-name=\"filterWrapper\"\n className={filtersActive ? style.activeWrapperFilters : style.wrapperFilters}\n >\n <FiltersWrapper\n className={style.wrapper}\n filters={filters}\n filterGroupAriaLabel={filterGroupAriaLabel}\n />\n <div\n data-name=\"cta\"\n className={style.CTAfilter}\n style={{\n backgroundColor: defaultColor\n }}\n onClick={this.handleSearch}\n >\n {filterCTALabel}\n </div>\n </div>\n <div\n data-name=\"sortWrapper\"\n className={sortingActive ? style.activeSorting : style.sorting}\n >\n {sortView}\n <div\n data-name=\"cta\"\n className={style.CTAfilter}\n style={{\n backgroundColor: defaultColor\n }}\n onClick={this.handleSearch}\n >\n {sortCTALabel}\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default Filters;\n"],"mappings":"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"}
@@ -11,6 +11,7 @@ declare namespace DropDown {
11
11
  }> | null | undefined)[]>;
12
12
  theme: PropTypes.Requireable<string>;
13
13
  'aria-label': PropTypes.Requireable<string>;
14
+ groupAriaLabel: PropTypes.Requireable<string>;
14
15
  };
15
16
  }
16
17
  import PropTypes from "prop-types";
@@ -24,13 +24,16 @@ const DropDown = props => {
24
24
  options,
25
25
  onChange,
26
26
  theme: propsTheme,
27
- 'aria-label': ariaLabel
27
+ 'aria-label': ariaLabel,
28
+ groupAriaLabel
28
29
  } = props;
29
30
  const currentSelection = (0, _find2.default)('selected', options);
30
31
  const defaultTheme = !currentSelection || currentSelection.validOption === false ? 'invalid' : 'question';
31
32
  const theme = propsTheme || defaultTheme;
32
33
  return /*#__PURE__*/_react.default.createElement("div", {
33
- className: _style.default.wrapper
34
+ className: _style.default.wrapper,
35
+ role: "group",
36
+ "aria-label": groupAriaLabel
34
37
  }, /*#__PURE__*/_react.default.createElement(_select.default, {
35
38
  "aria-label": ariaLabel,
36
39
  theme: theme,
@@ -43,7 +46,8 @@ DropDown.propTypes = process.env.NODE_ENV !== "production" ? {
43
46
  onChange: _select.default.propTypes.onChange,
44
47
  options: _propTypes.default.arrayOf(_propTypes.default.shape(_select.SelectOptionPropTypes)),
45
48
  theme: _select.default.propTypes.theme,
46
- 'aria-label': _propTypes.default.string
49
+ 'aria-label': _propTypes.default.string,
50
+ groupAriaLabel: _propTypes.default.string
47
51
  } : {};
48
52
  var _default = DropDown;
49
53
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DropDown","props","options","onChange","theme","propsTheme","ariaLabel","currentSelection","defaultTheme","validOption","style","wrapper","propTypes","Select","PropTypes","arrayOf","shape","SelectOptionPropTypes","string"],"sources":["../../../../src/molecule/questions/drop-down/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {find} from 'lodash/fp';\nimport Select, {SelectOptionPropTypes} from '../../../atom/select';\nimport style from './style.css';\n\nconst DropDown = props => {\n const {options, onChange, theme: propsTheme, 'aria-label': ariaLabel} = props;\n\n const currentSelection = find('selected', options);\n const defaultTheme =\n !currentSelection || currentSelection.validOption === false ? 'invalid' : 'question';\n\n const theme = propsTheme || defaultTheme;\n\n return (\n <div className={style.wrapper}>\n <Select aria-label={ariaLabel} theme={theme} options={options} onChange={onChange} />\n </div>\n );\n};\n\nDropDown.propTypes = {\n onChange: Select.propTypes.onChange,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n theme: Select.propTypes.theme,\n 'aria-label': PropTypes.string\n};\n\nexport default DropDown;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;;;;;AAEA,MAAMA,QAAQ,GAAGC,KAAK,IAAI;EACxB,MAAM;IAACC,OAAD;IAAUC,QAAV;IAAoBC,KAAK,EAAEC,UAA3B;IAAuC,cAAcC;EAArD,IAAkEL,KAAxE;EAEA,MAAMM,gBAAgB,GAAG,oBAAK,UAAL,EAAiBL,OAAjB,CAAzB;EACA,MAAMM,YAAY,GAChB,CAACD,gBAAD,IAAqBA,gBAAgB,CAACE,WAAjB,KAAiC,KAAtD,GAA8D,SAA9D,GAA0E,UAD5E;EAGA,MAAML,KAAK,GAAGC,UAAU,IAAIG,YAA5B;EAEA,oBACE;IAAK,SAAS,EAAEE,cAAA,CAAMC;EAAtB,gBACE,6BAAC,eAAD;IAAQ,cAAYL,SAApB;IAA+B,KAAK,EAAEF,KAAtC;IAA6C,OAAO,EAAEF,OAAtD;IAA+D,QAAQ,EAAEC;EAAzE,EADF,CADF;AAKD,CAdD;;AAgBAH,QAAQ,CAACY,SAAT,2CAAqB;EACnBT,QAAQ,EAAEU,eAAA,CAAOD,SAAP,CAAiBT,QADR;EAEnBD,OAAO,EAAEY,kBAAA,CAAUC,OAAV,CAAkBD,kBAAA,CAAUE,KAAV,CAAgBC,6BAAhB,CAAlB,CAFU;EAGnBb,KAAK,EAAES,eAAA,CAAOD,SAAP,CAAiBR,KAHL;EAInB,cAAcU,kBAAA,CAAUI;AAJL,CAArB;eAOelB,Q"}
1
+ {"version":3,"file":"index.js","names":["DropDown","props","options","onChange","theme","propsTheme","ariaLabel","groupAriaLabel","currentSelection","defaultTheme","validOption","style","wrapper","propTypes","Select","PropTypes","arrayOf","shape","SelectOptionPropTypes","string"],"sources":["../../../../src/molecule/questions/drop-down/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {find} from 'lodash/fp';\nimport Select, {SelectOptionPropTypes} from '../../../atom/select';\nimport style from './style.css';\n\nconst DropDown = props => {\n const {options, onChange, theme: propsTheme, 'aria-label': ariaLabel, groupAriaLabel} = props;\n\n const currentSelection = find('selected', options);\n const defaultTheme =\n !currentSelection || currentSelection.validOption === false ? 'invalid' : 'question';\n\n const theme = propsTheme || defaultTheme;\n\n return (\n <div className={style.wrapper} role=\"group\" aria-label={groupAriaLabel}>\n <Select aria-label={ariaLabel} theme={theme} options={options} onChange={onChange} />\n </div>\n );\n};\n\nDropDown.propTypes = {\n onChange: Select.propTypes.onChange,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n theme: Select.propTypes.theme,\n 'aria-label': PropTypes.string,\n groupAriaLabel: PropTypes.string\n};\n\nexport default DropDown;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;;;;;AAEA,MAAMA,QAAQ,GAAGC,KAAK,IAAI;EACxB,MAAM;IAACC,OAAD;IAAUC,QAAV;IAAoBC,KAAK,EAAEC,UAA3B;IAAuC,cAAcC,SAArD;IAAgEC;EAAhE,IAAkFN,KAAxF;EAEA,MAAMO,gBAAgB,GAAG,oBAAK,UAAL,EAAiBN,OAAjB,CAAzB;EACA,MAAMO,YAAY,GAChB,CAACD,gBAAD,IAAqBA,gBAAgB,CAACE,WAAjB,KAAiC,KAAtD,GAA8D,SAA9D,GAA0E,UAD5E;EAGA,MAAMN,KAAK,GAAGC,UAAU,IAAII,YAA5B;EAEA,oBACE;IAAK,SAAS,EAAEE,cAAA,CAAMC,OAAtB;IAA+B,IAAI,EAAC,OAApC;IAA4C,cAAYL;EAAxD,gBACE,6BAAC,eAAD;IAAQ,cAAYD,SAApB;IAA+B,KAAK,EAAEF,KAAtC;IAA6C,OAAO,EAAEF,OAAtD;IAA+D,QAAQ,EAAEC;EAAzE,EADF,CADF;AAKD,CAdD;;AAgBAH,QAAQ,CAACa,SAAT,2CAAqB;EACnBV,QAAQ,EAAEW,eAAA,CAAOD,SAAP,CAAiBV,QADR;EAEnBD,OAAO,EAAEa,kBAAA,CAAUC,OAAV,CAAkBD,kBAAA,CAAUE,KAAV,CAAgBC,6BAAhB,CAAlB,CAFU;EAGnBd,KAAK,EAAEU,eAAA,CAAOD,SAAP,CAAiBT,KAHL;EAInB,cAAcW,kBAAA,CAAUI,MAJL;EAKnBZ,cAAc,EAAEQ,kBAAA,CAAUI;AALP,CAArB;eAQenB,Q"}
@@ -31,6 +31,7 @@ declare namespace QCM {
31
31
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
32
32
  'aria-label': PropTypes.Requireable<string>;
33
33
  }> | null | undefined)[]>;
34
+ const groupAriaLabel: PropTypes.Requireable<string>;
34
35
  }
35
36
  }
36
37
  import PropTypes from "prop-types";
@@ -29,7 +29,8 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
29
29
 
30
30
  const QCM = (props, legacyContext) => {
31
31
  const {
32
- answers
32
+ answers,
33
+ groupAriaLabel
33
34
  } = props;
34
35
  const longestAnswer = (0, _maxBy.default)(({
35
36
  title
@@ -74,7 +75,9 @@ const QCM = (props, legacyContext) => {
74
75
  }), [answers, longestAnswer, primarySkinColor]);
75
76
  return /*#__PURE__*/_react.default.createElement("div", {
76
77
  "data-name": "qcm",
77
- className: _style.default.wrapper
78
+ className: _style.default.wrapper,
79
+ role: "group",
80
+ "aria-label": groupAriaLabel
78
81
  }, answersViews);
79
82
  };
80
83
 
@@ -87,7 +90,8 @@ QCM.propTypes = process.env.NODE_ENV !== "production" ? {
87
90
  selected: _propTypes.default.bool,
88
91
  onClick: _propTypes.default.func,
89
92
  'aria-label': _propTypes.default.string
90
- }))
93
+ })),
94
+ groupAriaLabel: _propTypes.default.string
91
95
  } : {};
92
96
  var _default = QCM;
93
97
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["QCM","props","legacyContext","answers","longestAnswer","maxBy","title","length","skin","GetSkinFromContext","primarySkinColor","getOr","answersViews","useMemo","map","answer","key","onClick","selected","ariaLabel","longAnswerClass","style","selectedAnswerClass","selectedAnswer","unselectedAnswer","classnames","innerHTML","boxShadow","getShadowBoxColorFromPrimary","backgroundColor","background","answerText","__html","wrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"sources":["../../../../src/molecule/questions/qcm/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport getOr from 'lodash/fp/getOr';\nimport maxBy from 'lodash/fp/maxBy';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCM = (props, legacyContext) => {\n const {answers} = props;\n const longestAnswer = maxBy(({title}) => title.length, answers);\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = useMemo(\n () =>\n answers.map((answer, key) => {\n const {onClick, title, selected, 'aria-label': ariaLabel} = answer;\n const longAnswerClass = longestAnswer.title === title ? style.longestAnswer : style.answer;\n const selectedAnswerClass = selected ? style.selectedAnswer : style.unselectedAnswer;\n\n return (\n <div\n data-name=\"answer\"\n aria-label={ariaLabel || title}\n className={classnames(longAnswerClass, style.innerHTML, selectedAnswerClass)}\n onClick={onClick}\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n data-selected={selected}\n key={key}\n >\n <div\n data-name=\"answer-background\"\n style={{backgroundColor: selected ? primarySkinColor : '#F4F4F5' /* cm_grey_75 */}}\n className={style.background}\n />\n <span\n data-name=\"answer-label\"\n className={style.answerText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n );\n }),\n [answers, longestAnswer, primarySkinColor]\n );\n\n return (\n <div data-name=\"qcm\" className={style.wrapper}>\n {answersViews}\n </div>\n );\n};\n\nQCM.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCM.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n 'aria-label': PropTypes.string\n })\n )\n};\n\nexport default QCM;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,GAAG,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EACpC,MAAM;IAACC;EAAD,IAAYF,KAAlB;EACA,MAAMG,aAAa,GAAG,IAAAC,cAAA,EAAM,CAAC;IAACC;EAAD,CAAD,KAAaA,KAAK,CAACC,MAAzB,EAAiCJ,OAAjC,CAAtB;EACA,MAAMK,IAAI,GAAG,IAAAC,4BAAA,EAAmBP,aAAnB,CAAb;EACA,MAAMQ,gBAAgB,GAAG,IAAAC,cAAA,EAAM,SAAN,EAAiB,gBAAjB,EAAmCH,IAAnC,CAAzB;EAEA,MAAMI,YAAY,GAAG,IAAAC,cAAA,EACnB,MACEV,OAAO,CAACW,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;IAC3B,MAAM;MAACC,OAAD;MAAUX,KAAV;MAAiBY,QAAjB;MAA2B,cAAcC;IAAzC,IAAsDJ,MAA5D;IACA,MAAMK,eAAe,GAAGhB,aAAa,CAACE,KAAd,KAAwBA,KAAxB,GAAgCe,cAAA,CAAMjB,aAAtC,GAAsDiB,cAAA,CAAMN,MAApF;IACA,MAAMO,mBAAmB,GAAGJ,QAAQ,GAAGG,cAAA,CAAME,cAAT,GAA0BF,cAAA,CAAMG,gBAApE;IAEA,oBACE;MACE,aAAU,QADZ;MAEE,cAAYL,SAAS,IAAIb,KAF3B;MAGE,SAAS,EAAE,IAAAmB,mBAAA,EAAWL,eAAX,EAA4BC,cAAA,CAAMK,SAAlC,EAA6CJ,mBAA7C,CAHb;MAIE,OAAO,EAAEL,OAJX;MAKE,KAAK,eACCC,QAAQ,IAAI;QACdS,SAAS,EAAG,cAAa,IAAAC,0DAAA,EAA6BlB,gBAA7B,CAA+C;MAD1D,CADb,CALP;MAUE,iBAAeQ,QAVjB;MAWE,GAAG,EAAEF;IAXP,gBAaE;MACE,aAAU,mBADZ;MAEE,KAAK,EAAE;QAACa,eAAe,EAAEX,QAAQ,GAAGR,gBAAH,GAAsB;QAAU;;MAA1D,CAFT;MAGE,SAAS,EAAEW,cAAA,CAAMS;IAHnB,EAbF,eAkBE;MACE,aAAU,cADZ;MAEE,SAAS,EAAET,cAAA,CAAMU,UAFnB,CAGE;MAHF;MAIE,uBAAuB,EAAE;QAACC,MAAM,EAAE1B;MAAT;IAJ3B,EAlBF,CADF;EA2BD,CAhCD,CAFiB,EAmCnB,CAACH,OAAD,EAAUC,aAAV,EAAyBM,gBAAzB,CAnCmB,CAArB;EAsCA,oBACE;IAAK,aAAU,KAAf;IAAqB,SAAS,EAAEW,cAAA,CAAMY;EAAtC,GACGrB,YADH,CADF;AAKD,CAjDD;;AAmDAZ,GAAG,CAACkC,YAAJ,GAAmB;EACjB1B,IAAI,EAAE2B,iBAAA,CAASC,iBAAT,CAA2B5B;AADhB,CAAnB;AAIAR,GAAG,CAACqC,SAAJ,2CAAgB;EACdlC,OAAO,EAAEmC,kBAAA,CAAUC,OAAV,CACPD,kBAAA,CAAUE,KAAV,CAAgB;IACdlC,KAAK,EAAEgC,kBAAA,CAAUG,MADH;IAEdvB,QAAQ,EAAEoB,kBAAA,CAAUI,IAFN;IAGdzB,OAAO,EAAEqB,kBAAA,CAAUK,IAHL;IAId,cAAcL,kBAAA,CAAUG;EAJV,CAAhB,CADO;AADK,CAAhB;eAWezC,G"}
1
+ {"version":3,"file":"index.js","names":["QCM","props","legacyContext","answers","groupAriaLabel","longestAnswer","maxBy","title","length","skin","GetSkinFromContext","primarySkinColor","getOr","answersViews","useMemo","map","answer","key","onClick","selected","ariaLabel","longAnswerClass","style","selectedAnswerClass","selectedAnswer","unselectedAnswer","classnames","innerHTML","boxShadow","getShadowBoxColorFromPrimary","backgroundColor","background","answerText","__html","wrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"sources":["../../../../src/molecule/questions/qcm/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport getOr from 'lodash/fp/getOr';\nimport maxBy from 'lodash/fp/maxBy';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCM = (props, legacyContext) => {\n const {answers, groupAriaLabel} = props;\n const longestAnswer = maxBy(({title}) => title.length, answers);\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = useMemo(\n () =>\n answers.map((answer, key) => {\n const {onClick, title, selected, 'aria-label': ariaLabel} = answer;\n const longAnswerClass = longestAnswer.title === title ? style.longestAnswer : style.answer;\n const selectedAnswerClass = selected ? style.selectedAnswer : style.unselectedAnswer;\n\n return (\n <div\n data-name=\"answer\"\n aria-label={ariaLabel || title}\n className={classnames(longAnswerClass, style.innerHTML, selectedAnswerClass)}\n onClick={onClick}\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n data-selected={selected}\n key={key}\n >\n <div\n data-name=\"answer-background\"\n style={{backgroundColor: selected ? primarySkinColor : '#F4F4F5' /* cm_grey_75 */}}\n className={style.background}\n />\n <span\n data-name=\"answer-label\"\n className={style.answerText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n );\n }),\n [answers, longestAnswer, primarySkinColor]\n );\n\n return (\n <div data-name=\"qcm\" className={style.wrapper} role=\"group\" aria-label={groupAriaLabel}>\n {answersViews}\n </div>\n );\n};\n\nQCM.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCM.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n 'aria-label': PropTypes.string\n })\n ),\n groupAriaLabel: PropTypes.string\n};\n\nexport default QCM;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,GAAG,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EACpC,MAAM;IAACC,OAAD;IAAUC;EAAV,IAA4BH,KAAlC;EACA,MAAMI,aAAa,GAAG,IAAAC,cAAA,EAAM,CAAC;IAACC;EAAD,CAAD,KAAaA,KAAK,CAACC,MAAzB,EAAiCL,OAAjC,CAAtB;EACA,MAAMM,IAAI,GAAG,IAAAC,4BAAA,EAAmBR,aAAnB,CAAb;EACA,MAAMS,gBAAgB,GAAG,IAAAC,cAAA,EAAM,SAAN,EAAiB,gBAAjB,EAAmCH,IAAnC,CAAzB;EAEA,MAAMI,YAAY,GAAG,IAAAC,cAAA,EACnB,MACEX,OAAO,CAACY,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;IAC3B,MAAM;MAACC,OAAD;MAAUX,KAAV;MAAiBY,QAAjB;MAA2B,cAAcC;IAAzC,IAAsDJ,MAA5D;IACA,MAAMK,eAAe,GAAGhB,aAAa,CAACE,KAAd,KAAwBA,KAAxB,GAAgCe,cAAA,CAAMjB,aAAtC,GAAsDiB,cAAA,CAAMN,MAApF;IACA,MAAMO,mBAAmB,GAAGJ,QAAQ,GAAGG,cAAA,CAAME,cAAT,GAA0BF,cAAA,CAAMG,gBAApE;IAEA,oBACE;MACE,aAAU,QADZ;MAEE,cAAYL,SAAS,IAAIb,KAF3B;MAGE,SAAS,EAAE,IAAAmB,mBAAA,EAAWL,eAAX,EAA4BC,cAAA,CAAMK,SAAlC,EAA6CJ,mBAA7C,CAHb;MAIE,OAAO,EAAEL,OAJX;MAKE,KAAK,eACCC,QAAQ,IAAI;QACdS,SAAS,EAAG,cAAa,IAAAC,0DAAA,EAA6BlB,gBAA7B,CAA+C;MAD1D,CADb,CALP;MAUE,iBAAeQ,QAVjB;MAWE,GAAG,EAAEF;IAXP,gBAaE;MACE,aAAU,mBADZ;MAEE,KAAK,EAAE;QAACa,eAAe,EAAEX,QAAQ,GAAGR,gBAAH,GAAsB;QAAU;;MAA1D,CAFT;MAGE,SAAS,EAAEW,cAAA,CAAMS;IAHnB,EAbF,eAkBE;MACE,aAAU,cADZ;MAEE,SAAS,EAAET,cAAA,CAAMU,UAFnB,CAGE;MAHF;MAIE,uBAAuB,EAAE;QAACC,MAAM,EAAE1B;MAAT;IAJ3B,EAlBF,CADF;EA2BD,CAhCD,CAFiB,EAmCnB,CAACJ,OAAD,EAAUE,aAAV,EAAyBM,gBAAzB,CAnCmB,CAArB;EAsCA,oBACE;IAAK,aAAU,KAAf;IAAqB,SAAS,EAAEW,cAAA,CAAMY,OAAtC;IAA+C,IAAI,EAAC,OAApD;IAA4D,cAAY9B;EAAxE,GACGS,YADH,CADF;AAKD,CAjDD;;AAmDAb,GAAG,CAACmC,YAAJ,GAAmB;EACjB1B,IAAI,EAAE2B,iBAAA,CAASC,iBAAT,CAA2B5B;AADhB,CAAnB;AAIAT,GAAG,CAACsC,SAAJ,2CAAgB;EACdnC,OAAO,EAAEoC,kBAAA,CAAUC,OAAV,CACPD,kBAAA,CAAUE,KAAV,CAAgB;IACdlC,KAAK,EAAEgC,kBAAA,CAAUG,MADH;IAEdvB,QAAQ,EAAEoB,kBAAA,CAAUI,IAFN;IAGdzB,OAAO,EAAEqB,kBAAA,CAAUK,IAHL;IAId,cAAcL,kBAAA,CAAUG;EAJV,CAAhB,CADO,CADK;EASdtC,cAAc,EAAEmC,kBAAA,CAAUG;AATZ,CAAhB;eAYe1C,G"}
@@ -1,13 +1,15 @@
1
1
  export default QcmDrag;
2
- declare function QcmDrag({ answers, help }: {
2
+ declare function QcmDrag({ answers, help, groupAriaLabel }: {
3
3
  answers: any;
4
4
  help: any;
5
+ groupAriaLabel: any;
5
6
  }, legacyContext: any): JSX.Element;
6
7
  declare namespace QcmDrag {
7
8
  namespace propTypes {
8
9
  export { AnswersPropTypes as answers };
9
10
  import help = help;
10
11
  export { help };
12
+ export const groupAriaLabel: PropTypes.Requireable<string>;
11
13
  }
12
14
  namespace contextTypes {
13
15
  const skin: PropTypes.Requireable<PropTypes.InferProps<{
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"names":[],"mappings":";AAkGA;;;oCAYC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAtGD;;;;;;0BAQE;AA8BF;;;;gBA4CC;;;;;;;;;;;AAxED;;gBAA6E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"names":[],"mappings":";AAkGA;;;;oCAYC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAtGD;;;;;;0BAQE;AA8BF;;;;gBA4CC;;;;;;;;;;;AAxED;;gBAA6E"}
@@ -136,12 +136,15 @@ SelectedAnswerSections.propTypes = process.env.NODE_ENV !== "production" ? {
136
136
 
137
137
  const QcmDrag = ({
138
138
  answers,
139
- help
139
+ help,
140
+ groupAriaLabel
140
141
  }, legacyContext) => {
141
142
  const skin = (0, _provider.GetSkinFromContext)(legacyContext);
142
143
  const primarySkinColor = (0, _getOr2.default)('#00B0FF', 'common.primary', skin);
143
144
  return /*#__PURE__*/_react.default.createElement("div", {
144
- className: _style.default.wrapper
145
+ className: _style.default.wrapper,
146
+ role: "group",
147
+ "aria-label": groupAriaLabel
145
148
  }, /*#__PURE__*/_react.default.createElement(SelectedAnswerSections, {
146
149
  answers: answers,
147
150
  help: help,
@@ -156,7 +159,8 @@ const QcmDrag = ({
156
159
 
157
160
  QcmDrag.propTypes = process.env.NODE_ENV !== "production" ? {
158
161
  answers: AnswersPropTypes,
159
- help: SelectedAnswerSections.propTypes.help
162
+ help: SelectedAnswerSections.propTypes.help,
163
+ groupAriaLabel: _propTypes.default.string
160
164
  } : {};
161
165
  QcmDrag.contextTypes = {
162
166
  skin: _provider.default.childContextTypes.skin
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["AnswersPropTypes","PropTypes","arrayOf","shape","onClick","func","order","number","selected","bool","title","string","help","EmptyView","style","emptySpan","propTypes","Choices","answers","answersViews","map","answer","key","classnames","invisibleAnswer","unselected","innerHTML","__html","choices","SelectedAnswerSections","backgroundColor","selectedAnswers","selectedAnswersViews","boxShadow","getShadowBoxColorFromPrimary","background","content","selectedAnswerText","length","emptyAnswers","QcmDrag","legacyContext","skin","GetSkinFromContext","primarySkinColor","wrapper","contextTypes","Provider","childContextTypes"],"sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {pipe, filter, orderBy, getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst AnswersPropTypes = PropTypes.arrayOf(\n PropTypes.shape({\n onClick: PropTypes.func,\n order: PropTypes.number,\n selected: PropTypes.bool,\n title: PropTypes.string,\n help: PropTypes.string\n })\n);\n\nconst EmptyView = ({help}) => <span className={style.emptySpan}>{help}</span>;\n\nEmptyView.propTypes = {\n help: PropTypes.string\n};\n\nconst Choices = ({answers}) => {\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected} = answer;\n return (\n <div\n className={classnames(selected ? style.invisibleAnswer : style.unselected, style.innerHTML)}\n data-name=\"answer\"\n onClick={onClick}\n key={key}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n );\n });\n\n return <div className={style.choices}>{answersViews}</div>;\n};\n\nChoices.propTypes = {\n answers: AnswersPropTypes\n};\n\nconst SelectedAnswerSections = ({answers, help, backgroundColor}) => {\n const selectedAnswers = pipe(filter('selected'), orderBy('order', 'asc'))(answers);\n const selectedAnswersViews = selectedAnswers.map((answer, key) => {\n const {onClick, title} = answer;\n return (\n <div\n data-selected=\"true\"\n onClick={onClick}\n key={key}\n data-name=\"selectedAnswer\"\n className={style.selected}\n style={{\n boxShadow: `0px 4px 16px ${getShadowBoxColorFromPrimary(backgroundColor)}`\n }}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor\n }}\n className={style.background}\n />\n <div className={style.content}>\n <span\n data-name=\"answerContent\"\n className={classnames(style.selectedAnswerText, style.innerHTML)}\n title={title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n </div>\n );\n });\n\n if (selectedAnswersViews.length > 0) {\n return <div className={style.selectedAnswers}>{selectedAnswersViews}</div>;\n } else {\n return (\n <div className={style.emptyAnswers}>\n <EmptyView help={help} />\n </div>\n );\n }\n};\n\nSelectedAnswerSections.propTypes = {\n answers: AnswersPropTypes,\n help: EmptyView.propTypes.help,\n backgroundColor: PropTypes.string\n};\n\nconst QcmDrag = ({answers, help}, legacyContext) => {\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n return (\n <div className={style.wrapper}>\n <SelectedAnswerSections answers={answers} help={help} backgroundColor={primarySkinColor} />\n <div data-name=\"qcm-drag-answers\" className={style.answers}>\n <Choices answers={answers} />\n </div>\n </div>\n );\n};\n\nQcmDrag.propTypes = {\n answers: AnswersPropTypes,\n help: SelectedAnswerSections.propTypes.help\n};\n\nQcmDrag.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default QcmDrag;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,gBAAN,2CAAyBC,kBAAA,CAAUC,OAAV,CACvBD,kBAAA,CAAUE,KAAV,CAAgB;EACdC,OAAO,EAAEH,kBAAA,CAAUI,IADL;EAEdC,KAAK,EAAEL,kBAAA,CAAUM,MAFH;EAGdC,QAAQ,EAAEP,kBAAA,CAAUQ,IAHN;EAIdC,KAAK,EAAET,kBAAA,CAAUU,MAJH;EAKdC,IAAI,EAAEX,kBAAA,CAAUU;AALF,CAAhB,CADuB,CAAzB;;AAUA,MAAME,SAAS,GAAG,CAAC;EAACD;AAAD,CAAD,kBAAY;EAAM,SAAS,EAAEE,cAAA,CAAMC;AAAvB,GAAmCH,IAAnC,CAA9B;;AAEAC,SAAS,CAACG,SAAV,2CAAsB;EACpBJ,IAAI,EAAEX,kBAAA,CAAUU;AADI,CAAtB;;AAIA,MAAMM,OAAO,GAAG,CAAC;EAACC;AAAD,CAAD,KAAe;EAC7B,MAAMC,YAAY,GAAGD,OAAO,CAACE,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;IAChD,MAAM;MAAClB,OAAD;MAAUM,KAAV;MAAiBF;IAAjB,IAA6Ba,MAAnC;IACA,oBACE;MACE,SAAS,EAAE,IAAAE,mBAAA,EAAWf,QAAQ,GAAGM,cAAA,CAAMU,eAAT,GAA2BV,cAAA,CAAMW,UAApD,EAAgEX,cAAA,CAAMY,SAAtE,CADb;MAEE,aAAU,QAFZ;MAGE,OAAO,EAAEtB,OAHX;MAIE,GAAG,EAAEkB,GAJP,CAKE;MALF;MAME,uBAAuB,EAAE;QAACK,MAAM,EAAEjB;MAAT;IAN3B,EADF;EAUD,CAZoB,CAArB;EAcA,oBAAO;IAAK,SAAS,EAAEI,cAAA,CAAMc;EAAtB,GAAgCT,YAAhC,CAAP;AACD,CAhBD;;AAkBAF,OAAO,CAACD,SAAR,2CAAoB;EAClBE,OAAO,EAAElB;AADS,CAApB;;AAIA,MAAM6B,sBAAsB,GAAG,CAAC;EAACX,OAAD;EAAUN,IAAV;EAAgBkB;AAAhB,CAAD,KAAsC;EACnE,MAAMC,eAAe,GAAG,oBAAK,sBAAO,UAAP,CAAL,EAAyB,uBAAQ,OAAR,EAAiB,KAAjB,CAAzB,EAAkDb,OAAlD,CAAxB;EACA,MAAMc,oBAAoB,GAAGD,eAAe,CAACX,GAAhB,CAAoB,CAACC,MAAD,EAASC,GAAT,KAAiB;IAChE,MAAM;MAAClB,OAAD;MAAUM;IAAV,IAAmBW,MAAzB;IACA,oBACE;MACE,iBAAc,MADhB;MAEE,OAAO,EAAEjB,OAFX;MAGE,GAAG,EAAEkB,GAHP;MAIE,aAAU,gBAJZ;MAKE,SAAS,EAAER,cAAA,CAAMN,QALnB;MAME,KAAK,EAAE;QACLyB,SAAS,EAAG,gBAAe,IAAAC,0DAAA,EAA6BJ,eAA7B,CAA8C;MADpE;IANT,gBAUE;MACE,aAAU,kBADZ;MAEE,KAAK,EAAE;QACLA;MADK,CAFT;MAKE,SAAS,EAAEhB,cAAA,CAAMqB;IALnB,EAVF,eAiBE;MAAK,SAAS,EAAErB,cAAA,CAAMsB;IAAtB,gBACE;MACE,aAAU,eADZ;MAEE,SAAS,EAAE,IAAAb,mBAAA,EAAWT,cAAA,CAAMuB,kBAAjB,EAAqCvB,cAAA,CAAMY,SAA3C,CAFb;MAGE,KAAK,EAAEhB,KAHT,CAIE;MAJF;MAKE,uBAAuB,EAAE;QAACiB,MAAM,EAAEjB;MAAT;IAL3B,EADF,CAjBF,CADF;EA6BD,CA/B4B,CAA7B;;EAiCA,IAAIsB,oBAAoB,CAACM,MAArB,GAA8B,CAAlC,EAAqC;IACnC,oBAAO;MAAK,SAAS,EAAExB,cAAA,CAAMiB;IAAtB,GAAwCC,oBAAxC,CAAP;EACD,CAFD,MAEO;IACL,oBACE;MAAK,SAAS,EAAElB,cAAA,CAAMyB;IAAtB,gBACE,6BAAC,SAAD;MAAW,IAAI,EAAE3B;IAAjB,EADF,CADF;EAKD;AACF,CA5CD;;AA8CAiB,sBAAsB,CAACb,SAAvB,2CAAmC;EACjCE,OAAO,EAAElB,gBADwB;EAEjCY,IAAI,EAAEC,SAAS,CAACG,SAAV,CAAoBJ,IAFO;EAGjCkB,eAAe,EAAE7B,kBAAA,CAAUU;AAHM,CAAnC;;AAMA,MAAM6B,OAAO,GAAG,CAAC;EAACtB,OAAD;EAAUN;AAAV,CAAD,EAAkB6B,aAAlB,KAAoC;EAClD,MAAMC,IAAI,GAAG,IAAAC,4BAAA,EAAmBF,aAAnB,CAAb;EACA,MAAMG,gBAAgB,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCF,IAAnC,CAAzB;EAEA,oBACE;IAAK,SAAS,EAAE5B,cAAA,CAAM+B;EAAtB,gBACE,6BAAC,sBAAD;IAAwB,OAAO,EAAE3B,OAAjC;IAA0C,IAAI,EAAEN,IAAhD;IAAsD,eAAe,EAAEgC;EAAvE,EADF,eAEE;IAAK,aAAU,kBAAf;IAAkC,SAAS,EAAE9B,cAAA,CAAMI;EAAnD,gBACE,6BAAC,OAAD;IAAS,OAAO,EAAEA;EAAlB,EADF,CAFF,CADF;AAQD,CAZD;;AAcAsB,OAAO,CAACxB,SAAR,2CAAoB;EAClBE,OAAO,EAAElB,gBADS;EAElBY,IAAI,EAAEiB,sBAAsB,CAACb,SAAvB,CAAiCJ;AAFrB,CAApB;AAKA4B,OAAO,CAACM,YAAR,GAAuB;EACrBJ,IAAI,EAAEK,iBAAA,CAASC,iBAAT,CAA2BN;AADZ,CAAvB;eAIeF,O"}
1
+ {"version":3,"file":"index.js","names":["AnswersPropTypes","PropTypes","arrayOf","shape","onClick","func","order","number","selected","bool","title","string","help","EmptyView","style","emptySpan","propTypes","Choices","answers","answersViews","map","answer","key","classnames","invisibleAnswer","unselected","innerHTML","__html","choices","SelectedAnswerSections","backgroundColor","selectedAnswers","selectedAnswersViews","boxShadow","getShadowBoxColorFromPrimary","background","content","selectedAnswerText","length","emptyAnswers","QcmDrag","groupAriaLabel","legacyContext","skin","GetSkinFromContext","primarySkinColor","wrapper","contextTypes","Provider","childContextTypes"],"sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {pipe, filter, orderBy, getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst AnswersPropTypes = PropTypes.arrayOf(\n PropTypes.shape({\n onClick: PropTypes.func,\n order: PropTypes.number,\n selected: PropTypes.bool,\n title: PropTypes.string,\n help: PropTypes.string\n })\n);\n\nconst EmptyView = ({help}) => <span className={style.emptySpan}>{help}</span>;\n\nEmptyView.propTypes = {\n help: PropTypes.string\n};\n\nconst Choices = ({answers}) => {\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected} = answer;\n return (\n <div\n className={classnames(selected ? style.invisibleAnswer : style.unselected, style.innerHTML)}\n data-name=\"answer\"\n onClick={onClick}\n key={key}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n );\n });\n\n return <div className={style.choices}>{answersViews}</div>;\n};\n\nChoices.propTypes = {\n answers: AnswersPropTypes\n};\n\nconst SelectedAnswerSections = ({answers, help, backgroundColor}) => {\n const selectedAnswers = pipe(filter('selected'), orderBy('order', 'asc'))(answers);\n const selectedAnswersViews = selectedAnswers.map((answer, key) => {\n const {onClick, title} = answer;\n return (\n <div\n data-selected=\"true\"\n onClick={onClick}\n key={key}\n data-name=\"selectedAnswer\"\n className={style.selected}\n style={{\n boxShadow: `0px 4px 16px ${getShadowBoxColorFromPrimary(backgroundColor)}`\n }}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor\n }}\n className={style.background}\n />\n <div className={style.content}>\n <span\n data-name=\"answerContent\"\n className={classnames(style.selectedAnswerText, style.innerHTML)}\n title={title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n </div>\n );\n });\n\n if (selectedAnswersViews.length > 0) {\n return <div className={style.selectedAnswers}>{selectedAnswersViews}</div>;\n } else {\n return (\n <div className={style.emptyAnswers}>\n <EmptyView help={help} />\n </div>\n );\n }\n};\n\nSelectedAnswerSections.propTypes = {\n answers: AnswersPropTypes,\n help: EmptyView.propTypes.help,\n backgroundColor: PropTypes.string\n};\n\nconst QcmDrag = ({answers, help, groupAriaLabel}, legacyContext) => {\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n return (\n <div className={style.wrapper} role=\"group\" aria-label={groupAriaLabel}>\n <SelectedAnswerSections answers={answers} help={help} backgroundColor={primarySkinColor} />\n <div data-name=\"qcm-drag-answers\" className={style.answers}>\n <Choices answers={answers} />\n </div>\n </div>\n );\n};\n\nQcmDrag.propTypes = {\n answers: AnswersPropTypes,\n help: SelectedAnswerSections.propTypes.help,\n groupAriaLabel: PropTypes.string\n};\n\nQcmDrag.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default QcmDrag;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,gBAAN,2CAAyBC,kBAAA,CAAUC,OAAV,CACvBD,kBAAA,CAAUE,KAAV,CAAgB;EACdC,OAAO,EAAEH,kBAAA,CAAUI,IADL;EAEdC,KAAK,EAAEL,kBAAA,CAAUM,MAFH;EAGdC,QAAQ,EAAEP,kBAAA,CAAUQ,IAHN;EAIdC,KAAK,EAAET,kBAAA,CAAUU,MAJH;EAKdC,IAAI,EAAEX,kBAAA,CAAUU;AALF,CAAhB,CADuB,CAAzB;;AAUA,MAAME,SAAS,GAAG,CAAC;EAACD;AAAD,CAAD,kBAAY;EAAM,SAAS,EAAEE,cAAA,CAAMC;AAAvB,GAAmCH,IAAnC,CAA9B;;AAEAC,SAAS,CAACG,SAAV,2CAAsB;EACpBJ,IAAI,EAAEX,kBAAA,CAAUU;AADI,CAAtB;;AAIA,MAAMM,OAAO,GAAG,CAAC;EAACC;AAAD,CAAD,KAAe;EAC7B,MAAMC,YAAY,GAAGD,OAAO,CAACE,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;IAChD,MAAM;MAAClB,OAAD;MAAUM,KAAV;MAAiBF;IAAjB,IAA6Ba,MAAnC;IACA,oBACE;MACE,SAAS,EAAE,IAAAE,mBAAA,EAAWf,QAAQ,GAAGM,cAAA,CAAMU,eAAT,GAA2BV,cAAA,CAAMW,UAApD,EAAgEX,cAAA,CAAMY,SAAtE,CADb;MAEE,aAAU,QAFZ;MAGE,OAAO,EAAEtB,OAHX;MAIE,GAAG,EAAEkB,GAJP,CAKE;MALF;MAME,uBAAuB,EAAE;QAACK,MAAM,EAAEjB;MAAT;IAN3B,EADF;EAUD,CAZoB,CAArB;EAcA,oBAAO;IAAK,SAAS,EAAEI,cAAA,CAAMc;EAAtB,GAAgCT,YAAhC,CAAP;AACD,CAhBD;;AAkBAF,OAAO,CAACD,SAAR,2CAAoB;EAClBE,OAAO,EAAElB;AADS,CAApB;;AAIA,MAAM6B,sBAAsB,GAAG,CAAC;EAACX,OAAD;EAAUN,IAAV;EAAgBkB;AAAhB,CAAD,KAAsC;EACnE,MAAMC,eAAe,GAAG,oBAAK,sBAAO,UAAP,CAAL,EAAyB,uBAAQ,OAAR,EAAiB,KAAjB,CAAzB,EAAkDb,OAAlD,CAAxB;EACA,MAAMc,oBAAoB,GAAGD,eAAe,CAACX,GAAhB,CAAoB,CAACC,MAAD,EAASC,GAAT,KAAiB;IAChE,MAAM;MAAClB,OAAD;MAAUM;IAAV,IAAmBW,MAAzB;IACA,oBACE;MACE,iBAAc,MADhB;MAEE,OAAO,EAAEjB,OAFX;MAGE,GAAG,EAAEkB,GAHP;MAIE,aAAU,gBAJZ;MAKE,SAAS,EAAER,cAAA,CAAMN,QALnB;MAME,KAAK,EAAE;QACLyB,SAAS,EAAG,gBAAe,IAAAC,0DAAA,EAA6BJ,eAA7B,CAA8C;MADpE;IANT,gBAUE;MACE,aAAU,kBADZ;MAEE,KAAK,EAAE;QACLA;MADK,CAFT;MAKE,SAAS,EAAEhB,cAAA,CAAMqB;IALnB,EAVF,eAiBE;MAAK,SAAS,EAAErB,cAAA,CAAMsB;IAAtB,gBACE;MACE,aAAU,eADZ;MAEE,SAAS,EAAE,IAAAb,mBAAA,EAAWT,cAAA,CAAMuB,kBAAjB,EAAqCvB,cAAA,CAAMY,SAA3C,CAFb;MAGE,KAAK,EAAEhB,KAHT,CAIE;MAJF;MAKE,uBAAuB,EAAE;QAACiB,MAAM,EAAEjB;MAAT;IAL3B,EADF,CAjBF,CADF;EA6BD,CA/B4B,CAA7B;;EAiCA,IAAIsB,oBAAoB,CAACM,MAArB,GAA8B,CAAlC,EAAqC;IACnC,oBAAO;MAAK,SAAS,EAAExB,cAAA,CAAMiB;IAAtB,GAAwCC,oBAAxC,CAAP;EACD,CAFD,MAEO;IACL,oBACE;MAAK,SAAS,EAAElB,cAAA,CAAMyB;IAAtB,gBACE,6BAAC,SAAD;MAAW,IAAI,EAAE3B;IAAjB,EADF,CADF;EAKD;AACF,CA5CD;;AA8CAiB,sBAAsB,CAACb,SAAvB,2CAAmC;EACjCE,OAAO,EAAElB,gBADwB;EAEjCY,IAAI,EAAEC,SAAS,CAACG,SAAV,CAAoBJ,IAFO;EAGjCkB,eAAe,EAAE7B,kBAAA,CAAUU;AAHM,CAAnC;;AAMA,MAAM6B,OAAO,GAAG,CAAC;EAACtB,OAAD;EAAUN,IAAV;EAAgB6B;AAAhB,CAAD,EAAkCC,aAAlC,KAAoD;EAClE,MAAMC,IAAI,GAAG,IAAAC,4BAAA,EAAmBF,aAAnB,CAAb;EACA,MAAMG,gBAAgB,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCF,IAAnC,CAAzB;EAEA,oBACE;IAAK,SAAS,EAAE7B,cAAA,CAAMgC,OAAtB;IAA+B,IAAI,EAAC,OAApC;IAA4C,cAAYL;EAAxD,gBACE,6BAAC,sBAAD;IAAwB,OAAO,EAAEvB,OAAjC;IAA0C,IAAI,EAAEN,IAAhD;IAAsD,eAAe,EAAEiC;EAAvE,EADF,eAEE;IAAK,aAAU,kBAAf;IAAkC,SAAS,EAAE/B,cAAA,CAAMI;EAAnD,gBACE,6BAAC,OAAD;IAAS,OAAO,EAAEA;EAAlB,EADF,CAFF,CADF;AAQD,CAZD;;AAcAsB,OAAO,CAACxB,SAAR,2CAAoB;EAClBE,OAAO,EAAElB,gBADS;EAElBY,IAAI,EAAEiB,sBAAsB,CAACb,SAAvB,CAAiCJ,IAFrB;EAGlB6B,cAAc,EAAExC,kBAAA,CAAUU;AAHR,CAApB;AAMA6B,OAAO,CAACO,YAAR,GAAuB;EACrBJ,IAAI,EAAEK,iBAAA,CAASC,iBAAT,CAA2BN;AADZ,CAAvB;eAIeH,O"}
@@ -32,6 +32,7 @@ declare namespace QCMImage {
32
32
  image: PropTypes.Requireable<string>;
33
33
  ariaLabel: PropTypes.Requireable<string>;
34
34
  }> | null | undefined)[]>;
35
+ const groupAriaLabel: PropTypes.Requireable<string>;
35
36
  }
36
37
  }
37
38
  import PropTypes from "prop-types";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"names":[],"mappings":";AAQA,uEAuDC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"names":[],"mappings":";AAQA,uEA4DC"}
@@ -27,7 +27,8 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
27
27
 
28
28
  const QCMImage = (props, legacyContext) => {
29
29
  const {
30
- answers
30
+ answers,
31
+ groupAriaLabel
31
32
  } = props;
32
33
  const skin = (0, _provider.GetSkinFromContext)(legacyContext);
33
34
  const primarySkinColor = (0, _getOr2.default)('#00B0FF', 'common.primary', skin);
@@ -78,7 +79,9 @@ const QCMImage = (props, legacyContext) => {
78
79
  });
79
80
  return /*#__PURE__*/_react.default.createElement("div", {
80
81
  "data-name": "qcm-graphic-wrapper",
81
- className: _style.default.wrapper
82
+ className: _style.default.wrapper,
83
+ role: "group",
84
+ "aria-label": groupAriaLabel
82
85
  }, answersViews);
83
86
  };
84
87
 
@@ -92,7 +95,8 @@ QCMImage.propTypes = process.env.NODE_ENV !== "production" ? {
92
95
  onClick: _propTypes.default.func,
93
96
  image: _propTypes.default.string,
94
97
  ariaLabel: _propTypes.default.string
95
- }))
98
+ })),
99
+ groupAriaLabel: _propTypes.default.string
96
100
  } : {};
97
101
  var _default = QCMImage;
98
102
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["QCMImage","props","legacyContext","answers","skin","GetSkinFromContext","primarySkinColor","answersViews","map","answer","key","onClick","title","selected","image","ariaLabel","boxShadow","getShadowBoxColorFromPrimary","style","backgroundColor","background","content","imageWrapper","backgroundImage","titleWrapper","classnames","innerHTML","__html","wrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCMImage = (props, legacyContext) => {\n const {answers} = props;\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected, image, ariaLabel} = answer;\n\n return (\n <div\n onClick={onClick}\n data-selected={selected}\n data-name=\"answerGraphic\"\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n className={selected ? style.selected : style.answer}\n key={key}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor: selected ? primarySkinColor : '#F4F4F5'\n }}\n className={style.background}\n />\n <div data-name=\"answerContent\" className={style.content}>\n <div\n className={style.imageWrapper}\n data-name=\"answerImage\"\n aria-label={ariaLabel || title}\n style={{\n backgroundImage: `url(${image})`\n }}\n />\n <div data-name=\"answerText\" className={style.titleWrapper}>\n <div\n title={title}\n className={classnames(style.title, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n </div>\n </div>\n );\n });\n\n return (\n <div data-name=\"qcm-graphic-wrapper\" className={style.wrapper}>\n {answersViews}\n </div>\n );\n};\n\nQCMImage.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCMImage.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n image: PropTypes.string,\n ariaLabel: PropTypes.string\n })\n )\n};\n\nexport default QCMImage;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EACzC,MAAM;IAACC;EAAD,IAAYF,KAAlB;EACA,MAAMG,IAAI,GAAG,IAAAC,4BAAA,EAAmBH,aAAnB,CAAb;EACA,MAAMI,gBAAgB,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCF,IAAnC,CAAzB;EAEA,MAAMG,YAAY,GAAGJ,OAAO,CAACK,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;IAChD,MAAM;MAACC,OAAD;MAAUC,KAAV;MAAiBC,QAAjB;MAA2BC,KAA3B;MAAkCC;IAAlC,IAA+CN,MAArD;IAEA,oBACE;MACE,OAAO,EAAEE,OADX;MAEE,iBAAeE,QAFjB;MAGE,aAAU,eAHZ;MAIE,KAAK,eACCA,QAAQ,IAAI;QACdG,SAAS,EAAG,cAAa,IAAAC,0DAAA,EAA6BX,gBAA7B,CAA+C;MAD1D,CADb,CAJP;MASE,SAAS,EAAEO,QAAQ,GAAGK,cAAA,CAAML,QAAT,GAAoBK,cAAA,CAAMT,MAT/C;MAUE,GAAG,EAAEC;IAVP,gBAYE;MACE,aAAU,kBADZ;MAEE,KAAK,EAAE;QACLS,eAAe,EAAEN,QAAQ,GAAGP,gBAAH,GAAsB;MAD1C,CAFT;MAKE,SAAS,EAAEY,cAAA,CAAME;IALnB,EAZF,eAmBE;MAAK,aAAU,eAAf;MAA+B,SAAS,EAAEF,cAAA,CAAMG;IAAhD,gBACE;MACE,SAAS,EAAEH,cAAA,CAAMI,YADnB;MAEE,aAAU,aAFZ;MAGE,cAAYP,SAAS,IAAIH,KAH3B;MAIE,KAAK,EAAE;QACLW,eAAe,EAAG,OAAMT,KAAM;MADzB;IAJT,EADF,eASE;MAAK,aAAU,YAAf;MAA4B,SAAS,EAAEI,cAAA,CAAMM;IAA7C,gBACE;MACE,KAAK,EAAEZ,KADT;MAEE,SAAS,EAAE,IAAAa,mBAAA,EAAWP,cAAA,CAAMN,KAAjB,EAAwBM,cAAA,CAAMQ,SAA9B,CAFb,CAGE;MAHF;MAIE,uBAAuB,EAAE;QAACC,MAAM,EAAEf;MAAT;IAJ3B,EADF,CATF,CAnBF,CADF;EAwCD,CA3CoB,CAArB;EA6CA,oBACE;IAAK,aAAU,qBAAf;IAAqC,SAAS,EAAEM,cAAA,CAAMU;EAAtD,GACGrB,YADH,CADF;AAKD,CAvDD;;AAyDAP,QAAQ,CAAC6B,YAAT,GAAwB;EACtBzB,IAAI,EAAE0B,iBAAA,CAASC,iBAAT,CAA2B3B;AADX,CAAxB;AAIAJ,QAAQ,CAACgC,SAAT,2CAAqB;EACnB7B,OAAO,EAAE8B,kBAAA,CAAUC,OAAV,CACPD,kBAAA,CAAUE,KAAV,CAAgB;IACdvB,KAAK,EAAEqB,kBAAA,CAAUG,MADH;IAEdvB,QAAQ,EAAEoB,kBAAA,CAAUI,IAFN;IAGd1B,OAAO,EAAEsB,kBAAA,CAAUK,IAHL;IAIdxB,KAAK,EAAEmB,kBAAA,CAAUG,MAJH;IAKdrB,SAAS,EAAEkB,kBAAA,CAAUG;EALP,CAAhB,CADO;AADU,CAArB;eAYepC,Q"}
1
+ {"version":3,"file":"index.js","names":["QCMImage","props","legacyContext","answers","groupAriaLabel","skin","GetSkinFromContext","primarySkinColor","answersViews","map","answer","key","onClick","title","selected","image","ariaLabel","boxShadow","getShadowBoxColorFromPrimary","style","backgroundColor","background","content","imageWrapper","backgroundImage","titleWrapper","classnames","innerHTML","__html","wrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCMImage = (props, legacyContext) => {\n const {answers, groupAriaLabel} = props;\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected, image, ariaLabel} = answer;\n\n return (\n <div\n onClick={onClick}\n data-selected={selected}\n data-name=\"answerGraphic\"\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n className={selected ? style.selected : style.answer}\n key={key}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor: selected ? primarySkinColor : '#F4F4F5'\n }}\n className={style.background}\n />\n <div data-name=\"answerContent\" className={style.content}>\n <div\n className={style.imageWrapper}\n data-name=\"answerImage\"\n aria-label={ariaLabel || title}\n style={{\n backgroundImage: `url(${image})`\n }}\n />\n <div data-name=\"answerText\" className={style.titleWrapper}>\n <div\n title={title}\n className={classnames(style.title, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n </div>\n </div>\n );\n });\n\n return (\n <div\n data-name=\"qcm-graphic-wrapper\"\n className={style.wrapper}\n role=\"group\"\n aria-label={groupAriaLabel}\n >\n {answersViews}\n </div>\n );\n};\n\nQCMImage.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCMImage.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n image: PropTypes.string,\n ariaLabel: PropTypes.string\n })\n ),\n groupAriaLabel: PropTypes.string\n};\n\nexport default QCMImage;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EACzC,MAAM;IAACC,OAAD;IAAUC;EAAV,IAA4BH,KAAlC;EACA,MAAMI,IAAI,GAAG,IAAAC,4BAAA,EAAmBJ,aAAnB,CAAb;EACA,MAAMK,gBAAgB,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCF,IAAnC,CAAzB;EAEA,MAAMG,YAAY,GAAGL,OAAO,CAACM,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;IAChD,MAAM;MAACC,OAAD;MAAUC,KAAV;MAAiBC,QAAjB;MAA2BC,KAA3B;MAAkCC;IAAlC,IAA+CN,MAArD;IAEA,oBACE;MACE,OAAO,EAAEE,OADX;MAEE,iBAAeE,QAFjB;MAGE,aAAU,eAHZ;MAIE,KAAK,eACCA,QAAQ,IAAI;QACdG,SAAS,EAAG,cAAa,IAAAC,0DAAA,EAA6BX,gBAA7B,CAA+C;MAD1D,CADb,CAJP;MASE,SAAS,EAAEO,QAAQ,GAAGK,cAAA,CAAML,QAAT,GAAoBK,cAAA,CAAMT,MAT/C;MAUE,GAAG,EAAEC;IAVP,gBAYE;MACE,aAAU,kBADZ;MAEE,KAAK,EAAE;QACLS,eAAe,EAAEN,QAAQ,GAAGP,gBAAH,GAAsB;MAD1C,CAFT;MAKE,SAAS,EAAEY,cAAA,CAAME;IALnB,EAZF,eAmBE;MAAK,aAAU,eAAf;MAA+B,SAAS,EAAEF,cAAA,CAAMG;IAAhD,gBACE;MACE,SAAS,EAAEH,cAAA,CAAMI,YADnB;MAEE,aAAU,aAFZ;MAGE,cAAYP,SAAS,IAAIH,KAH3B;MAIE,KAAK,EAAE;QACLW,eAAe,EAAG,OAAMT,KAAM;MADzB;IAJT,EADF,eASE;MAAK,aAAU,YAAf;MAA4B,SAAS,EAAEI,cAAA,CAAMM;IAA7C,gBACE;MACE,KAAK,EAAEZ,KADT;MAEE,SAAS,EAAE,IAAAa,mBAAA,EAAWP,cAAA,CAAMN,KAAjB,EAAwBM,cAAA,CAAMQ,SAA9B,CAFb,CAGE;MAHF;MAIE,uBAAuB,EAAE;QAACC,MAAM,EAAEf;MAAT;IAJ3B,EADF,CATF,CAnBF,CADF;EAwCD,CA3CoB,CAArB;EA6CA,oBACE;IACE,aAAU,qBADZ;IAEE,SAAS,EAAEM,cAAA,CAAMU,OAFnB;IAGE,IAAI,EAAC,OAHP;IAIE,cAAYzB;EAJd,GAMGI,YANH,CADF;AAUD,CA5DD;;AA8DAR,QAAQ,CAAC8B,YAAT,GAAwB;EACtBzB,IAAI,EAAE0B,iBAAA,CAASC,iBAAT,CAA2B3B;AADX,CAAxB;AAIAL,QAAQ,CAACiC,SAAT,2CAAqB;EACnB9B,OAAO,EAAE+B,kBAAA,CAAUC,OAAV,CACPD,kBAAA,CAAUE,KAAV,CAAgB;IACdvB,KAAK,EAAEqB,kBAAA,CAAUG,MADH;IAEdvB,QAAQ,EAAEoB,kBAAA,CAAUI,IAFN;IAGd1B,OAAO,EAAEsB,kBAAA,CAAUK,IAHL;IAIdxB,KAAK,EAAEmB,kBAAA,CAAUG,MAJH;IAKdrB,SAAS,EAAEkB,kBAAA,CAAUG;EALP,CAAhB,CADO,CADU;EAUnBjC,cAAc,EAAE8B,kBAAA,CAAUG;AAVP,CAArB;eAaerC,Q"}
@@ -28,6 +28,7 @@ declare namespace QuestionRange {
28
28
  title: PropTypes.Requireable<string>;
29
29
  minLabel: PropTypes.Requireable<string>;
30
30
  maxLabel: PropTypes.Requireable<string>;
31
+ groupAriaLabel: PropTypes.Requireable<string>;
31
32
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
32
33
  onChangeEnd: PropTypes.Requireable<(...args: any[]) => any>;
33
34
  multi: PropTypes.Requireable<boolean>;
@@ -17,7 +17,7 @@ var _range = _interopRequireDefault(require("../../../atom/range"));
17
17
 
18
18
  var _style = _interopRequireDefault(require("./style.css"));
19
19
 
20
- const _excluded = ["title", "minLabel", "maxLabel"];
20
+ const _excluded = ["title", "minLabel", "maxLabel", "groupAriaLabel"];
21
21
 
22
22
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
23
 
@@ -33,7 +33,8 @@ const QuestionRange = (props, legacyContext) => {
33
33
  const {
34
34
  title,
35
35
  minLabel,
36
- maxLabel
36
+ maxLabel,
37
+ groupAriaLabel
37
38
  } = props,
38
39
  rangeProps = _objectWithoutPropertiesLoose(props, _excluded);
39
40
 
@@ -43,7 +44,9 @@ const QuestionRange = (props, legacyContext) => {
43
44
  color: defaultColor
44
45
  };
45
46
  return /*#__PURE__*/_react.default.createElement("div", {
46
- className: _style.default.wrapper
47
+ className: _style.default.wrapper,
48
+ role: "group",
49
+ "aria-label": groupAriaLabel
47
50
  }, /*#__PURE__*/_react.default.createElement("span", {
48
51
  style: titleStyle,
49
52
  className: (0, _classnames.default)(_style.default.title, _style.default.innerHTML) // eslint-disable-next-line react/no-danger
@@ -74,7 +77,8 @@ QuestionRange.contextTypes = {
74
77
  QuestionRange.propTypes = process.env.NODE_ENV !== "production" ? _extends({}, _range.default.propTypes, {
75
78
  title: _propTypes.default.string,
76
79
  minLabel: _propTypes.default.string,
77
- maxLabel: _propTypes.default.string
80
+ maxLabel: _propTypes.default.string,
81
+ groupAriaLabel: _propTypes.default.string
78
82
  }) : {};
79
83
  var _default = QuestionRange;
80
84
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["QuestionRange","props","legacyContext","title","minLabel","maxLabel","rangeProps","skin","GetSkinFromContext","defaultColor","titleStyle","color","style","wrapper","classnames","innerHTML","__html","labelWrapper","label","contextTypes","Provider","childContextTypes","propTypes","Range","PropTypes","string"],"sources":["../../../../src/molecule/questions/question-range/index.js"],"sourcesContent":["import React from 'react';\nimport {getOr} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport Range from '../../../atom/range';\nimport style from './style.css';\n\nconst QuestionRange = (props, legacyContext) => {\n const {title, minLabel, maxLabel, ...rangeProps} = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const defaultColor = getOr('#00B0FF', 'common.primary', skin);\n\n const titleStyle = {\n color: defaultColor\n };\n\n return (\n <div className={style.wrapper}>\n <span\n style={titleStyle}\n className={classnames(style.title, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n <Range {...rangeProps} />\n <div className={style.labelWrapper}>\n <span\n className={classnames(style.label, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: minLabel}}\n />\n <span\n className={classnames(style.label, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: maxLabel}}\n />\n </div>\n </div>\n );\n};\n\nQuestionRange.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQuestionRange.propTypes = {\n ...Range.propTypes,\n title: PropTypes.string,\n minLabel: PropTypes.string,\n maxLabel: PropTypes.string\n};\n\nexport default QuestionRange;\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA,MAAMA,aAAa,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EAC9C,MAAM;IAACC,KAAD;IAAQC,QAAR;IAAkBC;EAAlB,IAA6CJ,KAAnD;EAAA,MAAqCK,UAArC,iCAAmDL,KAAnD;;EAEA,MAAMM,IAAI,GAAG,IAAAC,4BAAA,EAAmBN,aAAnB,CAAb;EACA,MAAMO,YAAY,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCF,IAAnC,CAArB;EAEA,MAAMG,UAAU,GAAG;IACjBC,KAAK,EAAEF;EADU,CAAnB;EAIA,oBACE;IAAK,SAAS,EAAEG,cAAA,CAAMC;EAAtB,gBACE;IACE,KAAK,EAAEH,UADT;IAEE,SAAS,EAAE,IAAAI,mBAAA,EAAWF,cAAA,CAAMT,KAAjB,EAAwBS,cAAA,CAAMG,SAA9B,CAFb,CAGE;IAHF;IAIE,uBAAuB,EAAE;MAACC,MAAM,EAAEb;IAAT;EAJ3B,EADF,eAOE,6BAAC,cAAD,EAAWG,UAAX,CAPF,eAQE;IAAK,SAAS,EAAEM,cAAA,CAAMK;EAAtB,gBACE;IACE,SAAS,EAAE,IAAAH,mBAAA,EAAWF,cAAA,CAAMM,KAAjB,EAAwBN,cAAA,CAAMG,SAA9B,CADb,CAEE;IAFF;IAGE,uBAAuB,EAAE;MAACC,MAAM,EAAEZ;IAAT;EAH3B,EADF,eAME;IACE,SAAS,EAAE,IAAAU,mBAAA,EAAWF,cAAA,CAAMM,KAAjB,EAAwBN,cAAA,CAAMG,SAA9B,CADb,CAEE;IAFF;IAGE,uBAAuB,EAAE;MAACC,MAAM,EAAEX;IAAT;EAH3B,EANF,CARF,CADF;AAuBD,CAjCD;;AAmCAL,aAAa,CAACmB,YAAd,GAA6B;EAC3BZ,IAAI,EAAEa,iBAAA,CAASC,iBAAT,CAA2Bd;AADN,CAA7B;AAIAP,aAAa,CAACsB,SAAd,wDACKC,cAAA,CAAMD,SADX;EAEEnB,KAAK,EAAEqB,kBAAA,CAAUC,MAFnB;EAGErB,QAAQ,EAAEoB,kBAAA,CAAUC,MAHtB;EAIEpB,QAAQ,EAAEmB,kBAAA,CAAUC;AAJtB;eAOezB,a"}
1
+ {"version":3,"file":"index.js","names":["QuestionRange","props","legacyContext","title","minLabel","maxLabel","groupAriaLabel","rangeProps","skin","GetSkinFromContext","defaultColor","titleStyle","color","style","wrapper","classnames","innerHTML","__html","labelWrapper","label","contextTypes","Provider","childContextTypes","propTypes","Range","PropTypes","string"],"sources":["../../../../src/molecule/questions/question-range/index.js"],"sourcesContent":["import React from 'react';\nimport {getOr} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport Range from '../../../atom/range';\nimport style from './style.css';\n\nconst QuestionRange = (props, legacyContext) => {\n const {title, minLabel, maxLabel, groupAriaLabel, ...rangeProps} = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const defaultColor = getOr('#00B0FF', 'common.primary', skin);\n\n const titleStyle = {\n color: defaultColor\n };\n\n return (\n <div className={style.wrapper} role=\"group\" aria-label={groupAriaLabel}>\n <span\n style={titleStyle}\n className={classnames(style.title, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n <Range {...rangeProps} />\n <div className={style.labelWrapper}>\n <span\n className={classnames(style.label, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: minLabel}}\n />\n <span\n className={classnames(style.label, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: maxLabel}}\n />\n </div>\n </div>\n );\n};\n\nQuestionRange.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQuestionRange.propTypes = {\n ...Range.propTypes,\n title: PropTypes.string,\n minLabel: PropTypes.string,\n maxLabel: PropTypes.string,\n groupAriaLabel: PropTypes.string\n};\n\nexport default QuestionRange;\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA,MAAMA,aAAa,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EAC9C,MAAM;IAACC,KAAD;IAAQC,QAAR;IAAkBC,QAAlB;IAA4BC;EAA5B,IAA6DL,KAAnE;EAAA,MAAqDM,UAArD,iCAAmEN,KAAnE;;EAEA,MAAMO,IAAI,GAAG,IAAAC,4BAAA,EAAmBP,aAAnB,CAAb;EACA,MAAMQ,YAAY,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCF,IAAnC,CAArB;EAEA,MAAMG,UAAU,GAAG;IACjBC,KAAK,EAAEF;EADU,CAAnB;EAIA,oBACE;IAAK,SAAS,EAAEG,cAAA,CAAMC,OAAtB;IAA+B,IAAI,EAAC,OAApC;IAA4C,cAAYR;EAAxD,gBACE;IACE,KAAK,EAAEK,UADT;IAEE,SAAS,EAAE,IAAAI,mBAAA,EAAWF,cAAA,CAAMV,KAAjB,EAAwBU,cAAA,CAAMG,SAA9B,CAFb,CAGE;IAHF;IAIE,uBAAuB,EAAE;MAACC,MAAM,EAAEd;IAAT;EAJ3B,EADF,eAOE,6BAAC,cAAD,EAAWI,UAAX,CAPF,eAQE;IAAK,SAAS,EAAEM,cAAA,CAAMK;EAAtB,gBACE;IACE,SAAS,EAAE,IAAAH,mBAAA,EAAWF,cAAA,CAAMM,KAAjB,EAAwBN,cAAA,CAAMG,SAA9B,CADb,CAEE;IAFF;IAGE,uBAAuB,EAAE;MAACC,MAAM,EAAEb;IAAT;EAH3B,EADF,eAME;IACE,SAAS,EAAE,IAAAW,mBAAA,EAAWF,cAAA,CAAMM,KAAjB,EAAwBN,cAAA,CAAMG,SAA9B,CADb,CAEE;IAFF;IAGE,uBAAuB,EAAE;MAACC,MAAM,EAAEZ;IAAT;EAH3B,EANF,CARF,CADF;AAuBD,CAjCD;;AAmCAL,aAAa,CAACoB,YAAd,GAA6B;EAC3BZ,IAAI,EAAEa,iBAAA,CAASC,iBAAT,CAA2Bd;AADN,CAA7B;AAIAR,aAAa,CAACuB,SAAd,wDACKC,cAAA,CAAMD,SADX;EAEEpB,KAAK,EAAEsB,kBAAA,CAAUC,MAFnB;EAGEtB,QAAQ,EAAEqB,kBAAA,CAAUC,MAHtB;EAIErB,QAAQ,EAAEoB,kBAAA,CAAUC,MAJtB;EAKEpB,cAAc,EAAEmB,kBAAA,CAAUC;AAL5B;eAQe1B,a"}
@@ -1,7 +1,8 @@
1
1
  export default Template;
2
- declare function Template({ template, answers }: {
2
+ declare function Template({ template, answers, groupAriaLabel }: {
3
3
  template: any;
4
4
  answers: any;
5
+ groupAriaLabel: any;
5
6
  }): JSX.Element;
6
7
  declare namespace Template {
7
8
  namespace propTypes {
@@ -16,6 +17,7 @@ declare namespace Template {
16
17
  }> | null | undefined)[]>;
17
18
  theme: PropTypes.Requireable<string>;
18
19
  'aria-label': PropTypes.Requireable<string>;
20
+ groupAriaLabel: PropTypes.Requireable<string>;
19
21
  }, never>> & Partial<PropTypes.InferPropsInner<Pick<{
20
22
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
21
23
  options: PropTypes.Requireable<(PropTypes.InferProps<{
@@ -26,7 +28,9 @@ declare namespace Template {
26
28
  }> | null | undefined)[]>;
27
29
  theme: PropTypes.Requireable<string>;
28
30
  'aria-label': PropTypes.Requireable<string>;
29
- }, "aria-label" | "onChange" | "theme" | "options">>>) | null | undefined)[]>;
31
+ groupAriaLabel: PropTypes.Requireable<string>;
32
+ }, "aria-label" | "onChange" | "theme" | "options" | "groupAriaLabel">>>) | null | undefined)[]>;
33
+ const groupAriaLabel: PropTypes.Requireable<string>;
30
34
  }
31
35
  }
32
36
  import PropTypes from "prop-types";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/template/index.js"],"names":[],"mappings":";AAQA;;;gBAsCC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/template/index.js"],"names":[],"mappings":";AAQA;;;;gBA2CC"}
@@ -29,7 +29,8 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
29
29
 
30
30
  const Template = ({
31
31
  template,
32
- answers
32
+ answers,
33
+ groupAriaLabel
33
34
  }) => {
34
35
  const totalTemplate = (0, _parseTemplateString.default)(template);
35
36
 
@@ -74,7 +75,9 @@ const Template = ({
74
75
 
75
76
  return /*#__PURE__*/_react.default.createElement("div", {
76
77
  "data-name": "template-wrapper",
77
- className: _style.default.wrapper
78
+ className: _style.default.wrapper,
79
+ role: "group",
80
+ "aria-label": groupAriaLabel
78
81
  }, templateCompose);
79
82
  };
80
83
 
@@ -83,7 +86,8 @@ const TextPropTypes = process.env.NODE_ENV !== "production" ? _extends({}, _drop
83
86
  }) : {};
84
87
  Template.propTypes = process.env.NODE_ENV !== "production" ? {
85
88
  template: _propTypes.default.string,
86
- answers: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.shape(_dropDown.default.propTypes), _propTypes.default.shape(TextPropTypes)]))
89
+ answers: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.shape(_dropDown.default.propTypes), _propTypes.default.shape(TextPropTypes)])),
90
+ groupAriaLabel: _propTypes.default.string
87
91
  } : {};
88
92
  var _default = Template;
89
93
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Template","template","answers","totalTemplate","parseTemplateString","templateCompose","convert","cap","part","key","type","style","textPart","__html","value","field","name","fieldType","fieldProps","fieldView","text","answerType","wrapper","TextPropTypes","DropDown","propTypes","PropTypes","string","arrayOf","oneOfType","shape"],"sources":["../../../../src/molecule/questions/template/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {map, find} from 'lodash/fp';\nimport parseTemplateString from '../../../util/parse-template-string';\nimport DropDown from '../drop-down';\nimport FreeText from '../free-text';\nimport style from './style.css';\n\nconst Template = ({template, answers}) => {\n const totalTemplate = parseTemplateString(template);\n const templateCompose = map.convert({cap: false})((part, key) => {\n const type = part.type;\n if (type === 'string') {\n return (\n <span\n key={key}\n className={style.textPart}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: part.value}}\n />\n );\n }\n if (type === 'answerField') {\n const field = find({name: part.value}, answers);\n if (!field) return null;\n const {type: fieldType, ...fieldProps} = field;\n const fieldView =\n fieldType === 'text' ? (\n <FreeText {...fieldProps} className={style.text} />\n ) : (\n <DropDown {...fieldProps} theme=\"player\" />\n );\n\n return (\n <div className={style.answerType} key={part.value}>\n {fieldView}\n </div>\n );\n }\n }, totalTemplate);\n\n return (\n <div data-name=\"template-wrapper\" className={style.wrapper}>\n {templateCompose}\n </div>\n );\n};\n\nconst TextPropTypes = {\n ...DropDown.propTypes,\n type: PropTypes.string\n};\n\nTemplate.propTypes = {\n template: PropTypes.string,\n answers: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.shape(DropDown.propTypes), PropTypes.shape(TextPropTypes)])\n )\n};\n\nexport default Template;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAAC;EAACC,QAAD;EAAWC;AAAX,CAAD,KAAyB;EACxC,MAAMC,aAAa,GAAG,IAAAC,4BAAA,EAAoBH,QAApB,CAAtB;;EACA,MAAMI,eAAe,GAAG,cAAIC,OAAJ,CAAY;IAACC,GAAG,EAAE;EAAN,CAAZ,EAA0B,CAACC,IAAD,EAAOC,GAAP,KAAe;IAC/D,MAAMC,IAAI,GAAGF,IAAI,CAACE,IAAlB;;IACA,IAAIA,IAAI,KAAK,QAAb,EAAuB;MACrB,oBACE;QACE,GAAG,EAAED,GADP;QAEE,SAAS,EAAEE,cAAA,CAAMC,QAFnB,CAGE;QAHF;QAIE,uBAAuB,EAAE;UAACC,MAAM,EAAEL,IAAI,CAACM;QAAd;MAJ3B,EADF;IAQD;;IACD,IAAIJ,IAAI,KAAK,aAAb,EAA4B;MAC1B,MAAMK,KAAK,GAAG,oBAAK;QAACC,IAAI,EAAER,IAAI,CAACM;MAAZ,CAAL,EAAyBZ,OAAzB,CAAd;MACA,IAAI,CAACa,KAAL,EAAY,OAAO,IAAP;;MACZ,MAAM;QAACL,IAAI,EAAEO;MAAP,IAAmCF,KAAzC;MAAA,MAA2BG,UAA3B,iCAAyCH,KAAzC;;MACA,MAAMI,SAAS,GACbF,SAAS,KAAK,MAAd,gBACE,6BAAC,iBAAD,eAAcC,UAAd;QAA0B,SAAS,EAAEP,cAAA,CAAMS;MAA3C,GADF,gBAGE,6BAAC,iBAAD,eAAcF,UAAd;QAA0B,KAAK,EAAC;MAAhC,GAJJ;MAOA,oBACE;QAAK,SAAS,EAAEP,cAAA,CAAMU,UAAtB;QAAkC,GAAG,EAAEb,IAAI,CAACM;MAA5C,GACGK,SADH,CADF;IAKD;EACF,CA7BuB,EA6BrBhB,aA7BqB,CAAxB;;EA+BA,oBACE;IAAK,aAAU,kBAAf;IAAkC,SAAS,EAAEQ,cAAA,CAAMW;EAAnD,GACGjB,eADH,CADF;AAKD,CAtCD;;AAwCA,MAAMkB,aAAN,wDACKC,iBAAA,CAASC,SADd;EAEEf,IAAI,EAAEgB,kBAAA,CAAUC;AAFlB;AAKA3B,QAAQ,CAACyB,SAAT,2CAAqB;EACnBxB,QAAQ,EAAEyB,kBAAA,CAAUC,MADD;EAEnBzB,OAAO,EAAEwB,kBAAA,CAAUE,OAAV,CACPF,kBAAA,CAAUG,SAAV,CAAoB,CAACH,kBAAA,CAAUI,KAAV,CAAgBN,iBAAA,CAASC,SAAzB,CAAD,EAAsCC,kBAAA,CAAUI,KAAV,CAAgBP,aAAhB,CAAtC,CAApB,CADO;AAFU,CAArB;eAOevB,Q"}
1
+ {"version":3,"file":"index.js","names":["Template","template","answers","groupAriaLabel","totalTemplate","parseTemplateString","templateCompose","convert","cap","part","key","type","style","textPart","__html","value","field","name","fieldType","fieldProps","fieldView","text","answerType","wrapper","TextPropTypes","DropDown","propTypes","PropTypes","string","arrayOf","oneOfType","shape"],"sources":["../../../../src/molecule/questions/template/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {map, find} from 'lodash/fp';\nimport parseTemplateString from '../../../util/parse-template-string';\nimport DropDown from '../drop-down';\nimport FreeText from '../free-text';\nimport style from './style.css';\n\nconst Template = ({template, answers, groupAriaLabel}) => {\n const totalTemplate = parseTemplateString(template);\n const templateCompose = map.convert({cap: false})((part, key) => {\n const type = part.type;\n if (type === 'string') {\n return (\n <span\n key={key}\n className={style.textPart}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: part.value}}\n />\n );\n }\n if (type === 'answerField') {\n const field = find({name: part.value}, answers);\n if (!field) return null;\n const {type: fieldType, ...fieldProps} = field;\n const fieldView =\n fieldType === 'text' ? (\n <FreeText {...fieldProps} className={style.text} />\n ) : (\n <DropDown {...fieldProps} theme=\"player\" />\n );\n\n return (\n <div className={style.answerType} key={part.value}>\n {fieldView}\n </div>\n );\n }\n }, totalTemplate);\n\n return (\n <div\n data-name=\"template-wrapper\"\n className={style.wrapper}\n role=\"group\"\n aria-label={groupAriaLabel}\n >\n {templateCompose}\n </div>\n );\n};\n\nconst TextPropTypes = {\n ...DropDown.propTypes,\n type: PropTypes.string\n};\n\nTemplate.propTypes = {\n template: PropTypes.string,\n answers: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.shape(DropDown.propTypes), PropTypes.shape(TextPropTypes)])\n ),\n groupAriaLabel: PropTypes.string\n};\n\nexport default Template;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAAC;EAACC,QAAD;EAAWC,OAAX;EAAoBC;AAApB,CAAD,KAAyC;EACxD,MAAMC,aAAa,GAAG,IAAAC,4BAAA,EAAoBJ,QAApB,CAAtB;;EACA,MAAMK,eAAe,GAAG,cAAIC,OAAJ,CAAY;IAACC,GAAG,EAAE;EAAN,CAAZ,EAA0B,CAACC,IAAD,EAAOC,GAAP,KAAe;IAC/D,MAAMC,IAAI,GAAGF,IAAI,CAACE,IAAlB;;IACA,IAAIA,IAAI,KAAK,QAAb,EAAuB;MACrB,oBACE;QACE,GAAG,EAAED,GADP;QAEE,SAAS,EAAEE,cAAA,CAAMC,QAFnB,CAGE;QAHF;QAIE,uBAAuB,EAAE;UAACC,MAAM,EAAEL,IAAI,CAACM;QAAd;MAJ3B,EADF;IAQD;;IACD,IAAIJ,IAAI,KAAK,aAAb,EAA4B;MAC1B,MAAMK,KAAK,GAAG,oBAAK;QAACC,IAAI,EAAER,IAAI,CAACM;MAAZ,CAAL,EAAyBb,OAAzB,CAAd;MACA,IAAI,CAACc,KAAL,EAAY,OAAO,IAAP;;MACZ,MAAM;QAACL,IAAI,EAAEO;MAAP,IAAmCF,KAAzC;MAAA,MAA2BG,UAA3B,iCAAyCH,KAAzC;;MACA,MAAMI,SAAS,GACbF,SAAS,KAAK,MAAd,gBACE,6BAAC,iBAAD,eAAcC,UAAd;QAA0B,SAAS,EAAEP,cAAA,CAAMS;MAA3C,GADF,gBAGE,6BAAC,iBAAD,eAAcF,UAAd;QAA0B,KAAK,EAAC;MAAhC,GAJJ;MAOA,oBACE;QAAK,SAAS,EAAEP,cAAA,CAAMU,UAAtB;QAAkC,GAAG,EAAEb,IAAI,CAACM;MAA5C,GACGK,SADH,CADF;IAKD;EACF,CA7BuB,EA6BrBhB,aA7BqB,CAAxB;;EA+BA,oBACE;IACE,aAAU,kBADZ;IAEE,SAAS,EAAEQ,cAAA,CAAMW,OAFnB;IAGE,IAAI,EAAC,OAHP;IAIE,cAAYpB;EAJd,GAMGG,eANH,CADF;AAUD,CA3CD;;AA6CA,MAAMkB,aAAN,wDACKC,iBAAA,CAASC,SADd;EAEEf,IAAI,EAAEgB,kBAAA,CAAUC;AAFlB;AAKA5B,QAAQ,CAAC0B,SAAT,2CAAqB;EACnBzB,QAAQ,EAAE0B,kBAAA,CAAUC,MADD;EAEnB1B,OAAO,EAAEyB,kBAAA,CAAUE,OAAV,CACPF,kBAAA,CAAUG,SAAV,CAAoB,CAACH,kBAAA,CAAUI,KAAV,CAAgBN,iBAAA,CAASC,SAAzB,CAAD,EAAsCC,kBAAA,CAAUI,KAAV,CAAgBP,aAAhB,CAAtC,CAApB,CADO,CAFU;EAKnBrB,cAAc,EAAEwB,kBAAA,CAAUC;AALP,CAArB;eAQe5B,Q"}