@coorpacademy/components 10.22.3 → 10.22.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/es/atom/drag-and-drop/index.js +2 -1
  2. package/es/atom/drag-and-drop/index.js.map +1 -1
  3. package/es/atom/header-back-button/index.native.js +3 -4
  4. package/es/atom/header-back-button/index.native.js.map +1 -1
  5. package/es/atom/html/index.native.js +153 -0
  6. package/es/atom/html/index.native.js.map +1 -0
  7. package/es/atom/input-checkbox/index.js +3 -2
  8. package/es/atom/input-checkbox/index.js.map +1 -1
  9. package/es/atom/input-switch/index.js +2 -1
  10. package/es/atom/input-switch/index.js.map +1 -1
  11. package/es/atom/select-modal/index.native.js +113 -0
  12. package/es/atom/select-modal/index.native.js.map +1 -0
  13. package/es/atom/space/index.native.js +21 -0
  14. package/es/atom/space/index.native.js.map +1 -0
  15. package/es/atom/text/index.native.js +29 -0
  16. package/es/atom/text/index.native.js.map +1 -0
  17. package/es/hoc/modal/index.native.js +97 -0
  18. package/es/hoc/modal/index.native.js.map +1 -0
  19. package/es/hoc/modal/select/index.native.js +85 -0
  20. package/es/hoc/modal/select/index.native.js.map +1 -0
  21. package/es/hoc/modal/select-item/index.native.js +54 -0
  22. package/es/hoc/modal/select-item/index.native.js.map +1 -0
  23. package/es/hoc/touchable/index.native.js.map +1 -1
  24. package/es/index.js +2 -1
  25. package/es/index.js.map +1 -1
  26. package/es/molecule/cm-popin/index.js +27 -8
  27. package/es/molecule/cm-popin/index.js.map +1 -1
  28. package/es/molecule/cm-popin/style.css +24 -1
  29. package/es/molecule/feedback/index.js +7 -3
  30. package/es/molecule/feedback/index.js.map +1 -1
  31. package/es/molecule/feedback/style.css +24 -0
  32. package/es/template/app-player/player/index.js +6 -3
  33. package/es/template/app-player/player/index.js.map +1 -1
  34. package/es/template/app-player/popin-end/index.js +21 -6
  35. package/es/template/app-player/popin-end/index.js.map +1 -1
  36. package/es/template/app-player/popin-end/style.css +1 -1
  37. package/es/template/app-player/popin-end/summary.css +65 -0
  38. package/es/template/app-player/popin-end/summary.js +57 -7
  39. package/es/template/app-player/popin-end/summary.js.map +1 -1
  40. package/es/template/app-player/popin-header/index.js +33 -12
  41. package/es/template/app-player/popin-header/index.js.map +1 -1
  42. package/es/template/app-player/popin-header/style.css +93 -0
  43. package/es/template/app-player/popin-no-access/index.js +27 -0
  44. package/es/template/app-player/popin-no-access/index.js.map +1 -0
  45. package/es/template/app-review/prop-types.js +2 -1
  46. package/es/template/app-review/prop-types.js.map +1 -1
  47. package/es/template/app-review/slides/index.js +2 -2
  48. package/es/template/app-review/slides/index.js.map +1 -1
  49. package/es/types/progression-engine.d.js +2 -0
  50. package/es/types/progression-engine.d.js.map +1 -0
  51. package/es/variables/theme.native.js +1 -0
  52. package/es/variables/theme.native.js.map +1 -1
  53. package/lib/atom/drag-and-drop/index.js +2 -1
  54. package/lib/atom/drag-and-drop/index.js.map +1 -1
  55. package/lib/atom/header-back-button/index.native.js +3 -4
  56. package/lib/atom/header-back-button/index.native.js.map +1 -1
  57. package/lib/atom/html/index.native.js +170 -0
  58. package/lib/atom/html/index.native.js.map +1 -0
  59. package/lib/atom/input-checkbox/index.js +2 -1
  60. package/lib/atom/input-checkbox/index.js.map +1 -1
  61. package/lib/atom/input-switch/index.js +2 -1
  62. package/lib/atom/input-switch/index.js.map +1 -1
  63. package/lib/atom/select-modal/index.native.js +135 -0
  64. package/lib/atom/select-modal/index.native.js.map +1 -0
  65. package/lib/atom/space/index.native.js +33 -0
  66. package/lib/atom/space/index.native.js.map +1 -0
  67. package/lib/atom/text/index.native.js +44 -0
  68. package/lib/atom/text/index.native.js.map +1 -0
  69. package/lib/hoc/modal/index.native.js +114 -0
  70. package/lib/hoc/modal/index.native.js.map +1 -0
  71. package/lib/hoc/modal/select/index.native.js +101 -0
  72. package/lib/hoc/modal/select/index.native.js.map +1 -0
  73. package/lib/hoc/modal/select-item/index.native.js +70 -0
  74. package/lib/hoc/modal/select-item/index.native.js.map +1 -0
  75. package/lib/hoc/touchable/index.native.js.map +1 -1
  76. package/lib/index.js +4 -0
  77. package/lib/index.js.map +1 -1
  78. package/lib/molecule/cm-popin/index.js +27 -8
  79. package/lib/molecule/cm-popin/index.js.map +1 -1
  80. package/lib/molecule/cm-popin/style.css +24 -1
  81. package/lib/molecule/feedback/index.js +7 -3
  82. package/lib/molecule/feedback/index.js.map +1 -1
  83. package/lib/molecule/feedback/style.css +24 -0
  84. package/lib/template/app-player/player/index.js +7 -3
  85. package/lib/template/app-player/player/index.js.map +1 -1
  86. package/lib/template/app-player/popin-end/index.js +21 -6
  87. package/lib/template/app-player/popin-end/index.js.map +1 -1
  88. package/lib/template/app-player/popin-end/style.css +1 -1
  89. package/lib/template/app-player/popin-end/summary.css +65 -0
  90. package/lib/template/app-player/popin-end/summary.js +58 -7
  91. package/lib/template/app-player/popin-end/summary.js.map +1 -1
  92. package/lib/template/app-player/popin-header/index.js +32 -11
  93. package/lib/template/app-player/popin-header/index.js.map +1 -1
  94. package/lib/template/app-player/popin-header/style.css +93 -0
  95. package/lib/template/app-player/popin-no-access/index.js +37 -0
  96. package/lib/template/app-player/popin-no-access/index.js.map +1 -0
  97. package/lib/template/app-review/prop-types.js +2 -1
  98. package/lib/template/app-review/prop-types.js.map +1 -1
  99. package/lib/template/app-review/slides/index.js +2 -2
  100. package/lib/template/app-review/slides/index.js.map +1 -1
  101. package/lib/types/progression-engine.d.js +2 -0
  102. package/lib/types/progression-engine.d.js.map +1 -0
  103. package/lib/variables/theme.native.js +3 -1
  104. package/lib/variables/theme.native.js.map +1 -1
  105. package/package.json +6 -4
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/hoc/modal/index.native.tsx"],"names":["HEADER_HEIGHT","createStyleSheet","theme","StyleSheet","create","container","borderRadius","radius","card","overflow","backgroundColor","colors","white","header","alignItems","justifyContent","paddingHorizontal","spacing","medium","height","content","paddingBottom","contentWithHeader","paddingTop","contentWithIcon","small","icon","marginTop","padding","thumbnail","alignSelf","iconContent","Modal","props","templateContext","styleSheet","setStylesheet","children","headerBackgroundColor","iconBackgroundColor","renderIcon","contentStyle","onClose","testID","_stylesheet","gray","dark"],"mappings":"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","sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {StyleSheet, View, ViewStyle} from 'react-native';\nimport HeaderBackButton from '../../atom/header-back-button/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\n\nexport type Props = {\n children: React.ReactNode;\n headerBackgroundColor?: string;\n iconBackgroundColor?: string;\n renderIcon?: React.ReactNode;\n contentStyle?: ViewStyle;\n onClose: () => void;\n testID?: string;\n};\n\nexport const HEADER_HEIGHT = 64;\n\ntype StyleSheetType = {\n container: {\n borderRadius: number;\n overflow: string;\n backgroundColor: string;\n };\n header: {\n backgroundColor: string;\n alignItems: string;\n justifyContent: string;\n paddingHorizontal: number;\n height: number;\n };\n content: {\n paddingHorizontal: number;\n paddingBottom: number;\n alignItems: string;\n };\n contentWithHeader: {\n paddingTop: number;\n };\n contentWithIcon: {\n paddingTop: number;\n };\n icon: {\n marginTop: number;\n padding: number;\n backgroundColor: string;\n borderRadius: string;\n alignSelf: string;\n };\n iconContent: {\n backgroundColor: string;\n padding: number;\n borderRadius: number;\n justifyContent: string;\n alignItems: string;\n };\n};\n\nconst createStyleSheet = theme =>\n StyleSheet.create({\n container: {\n borderRadius: theme.radius.card,\n overflow: 'hidden',\n backgroundColor: theme.colors.white\n },\n header: {\n backgroundColor: theme.colors.white,\n alignItems: 'flex-end',\n justifyContent: 'center',\n paddingHorizontal: theme.spacing.medium,\n height: HEADER_HEIGHT\n },\n content: {\n paddingHorizontal: theme.spacing.medium,\n paddingBottom: theme.spacing.medium,\n alignItems: 'center'\n },\n contentWithHeader: {\n paddingTop: theme.spacing.medium\n },\n contentWithIcon: {\n paddingTop: theme.spacing.small\n },\n icon: {\n marginTop: -HEADER_HEIGHT * (3 / 4),\n padding: 5,\n backgroundColor: theme.colors.white,\n borderRadius: theme.radius.thumbnail,\n alignSelf: 'center'\n },\n iconContent: {\n backgroundColor: theme.colors.white,\n padding: theme.spacing.small,\n borderRadius: theme.radius.thumbnail,\n justifyContent: 'center',\n alignItems: 'center'\n }\n });\n\nconst Modal = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\n\n const {\n children,\n headerBackgroundColor,\n iconBackgroundColor,\n renderIcon,\n contentStyle,\n onClose,\n testID\n } = props;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={styleSheet.container} testID={testID}>\n <View style={[styleSheet.header, {backgroundColor: headerBackgroundColor}]}>\n <HeaderBackButton\n color={theme.colors.gray.dark}\n isFloating={false}\n testID=\"close-modal\"\n onPress={onClose}\n type=\"close\"\n />\n </View>\n {renderIcon ? (\n <View style={styleSheet.icon}>\n <View style={[styleSheet.iconContent, {backgroundColor: iconBackgroundColor}]}>\n {renderIcon}\n </View>\n </View>\n ) : null}\n <View\n style={[\n styleSheet.content,\n headerBackgroundColor && styleSheet.contentWithHeader,\n renderIcon && styleSheet.contentWithIcon,\n contentStyle\n ]}\n >\n {children}\n </View>\n </View>\n );\n};\n\nexport default Modal;\n"],"file":"index.native.js"}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _react = _interopRequireWildcard(require("react"));
7
+
8
+ var _reactNative = require("react-native");
9
+
10
+ var _templateContext = require("../../../template/app-review/template-context");
11
+
12
+ var _index = _interopRequireDefault(require("../index.native"));
13
+
14
+ var _index2 = _interopRequireDefault(require("../select-item/index.native"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
19
+
20
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ const createStyleSheet = theme => _reactNative.StyleSheet.create({
23
+ content: {
24
+ paddingHorizontal: 0
25
+ },
26
+ separator: {
27
+ borderTopWidth: 1,
28
+ borderColor: theme.colors.border
29
+ },
30
+ list: {
31
+ width: '100%'
32
+ }
33
+ });
34
+
35
+ const keyExtractor = (item, index) => {
36
+ return `modal-select-item-${index + 1}`;
37
+ };
38
+
39
+ const createRenderItem = (value, testID, onChange) => ({
40
+ item,
41
+ index
42
+ }) => {
43
+ // eslint-disable-next-line unicorn/consistent-function-scoping
44
+ const handleChange = _value => () => onChange(_value);
45
+
46
+ return /*#__PURE__*/_react.default.createElement(_index2.default, {
47
+ onPress: handleChange(item.text),
48
+ isSelected: value === item.text,
49
+ testID: `${testID}-item-${index + 1}`
50
+ }, item.text);
51
+ };
52
+
53
+ const createSeparator = styleSheet => () => {
54
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
55
+ style: styleSheet?.separator
56
+ });
57
+ };
58
+
59
+ const ModalSelect = props => {
60
+ const templateContext = (0, _templateContext.useTemplateContext)();
61
+ const [styleSheet, setStylesheet] = (0, _react.useState)(null);
62
+ const {
63
+ theme
64
+ } = templateContext;
65
+ const {
66
+ value,
67
+ values,
68
+ onChange,
69
+ onClose,
70
+ testID = 'modal-select'
71
+ } = props;
72
+ (0, _react.useEffect)(() => {
73
+ const _stylesheet = createStyleSheet(theme);
74
+
75
+ setStylesheet(_stylesheet);
76
+ }, [theme]);
77
+ const renderItem = (0, _react.useMemo)(() => createRenderItem(value, testID, onChange), [value, testID, onChange]);
78
+ const renderSeparator = (0, _react.useMemo)(() => createSeparator(styleSheet), [styleSheet]);
79
+
80
+ if (!styleSheet) {
81
+ return null;
82
+ }
83
+
84
+ return /*#__PURE__*/_react.default.createElement(_index.default, {
85
+ onClose: onClose,
86
+ contentStyle: styleSheet?.content,
87
+ testID: testID
88
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.FlatList, {
89
+ data: values,
90
+ renderItem: renderItem,
91
+ keyExtractor: keyExtractor,
92
+ showsVerticalScrollIndicator: false,
93
+ ItemSeparatorComponent: renderSeparator,
94
+ style: styleSheet?.list,
95
+ testID: `${testID}-items`
96
+ }));
97
+ };
98
+
99
+ var _default = ModalSelect;
100
+ exports.default = _default;
101
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/hoc/modal/select/index.native.tsx"],"names":["createStyleSheet","theme","StyleSheet","create","content","paddingHorizontal","separator","borderTopWidth","borderColor","colors","border","list","width","keyExtractor","item","index","createRenderItem","value","testID","onChange","handleChange","_value","text","createSeparator","styleSheet","ModalSelect","props","templateContext","setStylesheet","values","onClose","_stylesheet","renderItem","renderSeparator"],"mappings":"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","sourcesContent":["import React, {useState, useEffect, useMemo} from 'react';\nimport {View, FlatList, StyleSheet} from 'react-native';\nimport type {Choice} from '../../../types/progression-engine.d';\n\nimport {Theme} from '../../../variables/theme.native';\nimport {useTemplateContext} from '../../../template/app-review/template-context';\n\nimport Modal from '../index.native';\nimport ModalSelectItem from '../select-item/index.native';\n\ntype ChoiceValue = Pick<Choice, 'value'>;\ntype ChoiceItem = Pick<Choice, 'items'>;\nexport type OnChangeFunction = (value: ChoiceValue) => void;\n\nexport type Props = {\n value?: ChoiceValue;\n values: Array<ChoiceItem>;\n onChange: OnChangeFunction;\n onClose?: () => void;\n testID?: string;\n};\n\ntype StyleSheetType = {\n content: {\n paddingHorizontal: number;\n };\n separator: {\n borderTopWidth: number;\n borderColor: string;\n };\n list: {\n width: string;\n };\n};\n\nconst createStyleSheet = (theme: Theme) =>\n StyleSheet.create({\n content: {\n paddingHorizontal: 0\n },\n separator: {\n borderTopWidth: 1,\n borderColor: theme.colors.border\n },\n list: {\n width: '100%'\n }\n });\n\nconst keyExtractor = (item: ChoiceItem, index: number): string => {\n return `modal-select-item-${index + 1}`;\n};\n\nconst createRenderItem = (value: ChoiceValue, testID: String, onChange: OnChangeFunction) => ({\n item,\n index\n}: {\n item: ChoiceItem;\n index: number;\n}) => {\n // eslint-disable-next-line unicorn/consistent-function-scoping\n const handleChange = (_value: ChoiceValue | void) => () => onChange(_value);\n\n return (\n <ModalSelectItem\n onPress={handleChange(item.text)}\n isSelected={value === item.text}\n testID={`${testID}-item-${index + 1}`}\n >\n {item.text}\n </ModalSelectItem>\n );\n};\n\nconst createSeparator = (styleSheet: StyleSheetType) => () => {\n return <View style={styleSheet?.separator} />;\n};\n\nconst ModalSelect = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\n const {value, values, onChange, onClose, testID = 'modal-select'} = props;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n const renderItem = useMemo(() => createRenderItem(value, testID, onChange), [\n value,\n testID,\n onChange\n ]);\n const renderSeparator = useMemo(() => createSeparator(styleSheet), [styleSheet]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <Modal onClose={onClose} contentStyle={styleSheet?.content} testID={testID}>\n <FlatList\n data={values}\n renderItem={renderItem}\n keyExtractor={keyExtractor}\n showsVerticalScrollIndicator={false}\n ItemSeparatorComponent={renderSeparator}\n style={styleSheet?.list}\n testID={`${testID}-items`}\n />\n </Modal>\n );\n};\n\nexport default ModalSelect;\n"],"file":"index.native.js"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _react = _interopRequireWildcard(require("react"));
7
+
8
+ var _reactNative = require("react-native");
9
+
10
+ var _index = _interopRequireDefault(require("../../../atom/text/index.native"));
11
+
12
+ var _index2 = _interopRequireDefault(require("../../touchable/index.native"));
13
+
14
+ var _templateContext = require("../../../template/app-review/template-context");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
19
+
20
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ const createStyleSheet = (brandTheme, theme) => _reactNative.StyleSheet.create({
23
+ container: {
24
+ backgroundColor: theme.colors.white,
25
+ padding: theme.spacing.small
26
+ },
27
+ text: {
28
+ fontWeight: theme.fontWeight.bold,
29
+ color: theme.colors.black
30
+ },
31
+ selectedTextStyle: {
32
+ color: brandTheme?.colors.primary
33
+ }
34
+ });
35
+
36
+ const ModalSelectItem = props => {
37
+ const templateContext = (0, _templateContext.useTemplateContext)();
38
+ const [styleSheet, setStylesheet] = (0, _react.useState)(null);
39
+ const {
40
+ brandTheme,
41
+ theme
42
+ } = templateContext;
43
+ (0, _react.useEffect)(() => {
44
+ const _stylesheet = createStyleSheet(brandTheme, theme);
45
+
46
+ setStylesheet(_stylesheet);
47
+ }, [theme, brandTheme]);
48
+
49
+ if (!styleSheet) {
50
+ return null;
51
+ }
52
+
53
+ const {
54
+ children,
55
+ onPress,
56
+ isSelected,
57
+ testID
58
+ } = props;
59
+ return /*#__PURE__*/_react.default.createElement(_index2.default, {
60
+ onPress: onPress,
61
+ style: styleSheet.container,
62
+ testID: testID
63
+ }, /*#__PURE__*/_react.default.createElement(_index.default, {
64
+ style: [styleSheet.text, isSelected && styleSheet.selectedTextStyle]
65
+ }, children));
66
+ };
67
+
68
+ var _default = ModalSelectItem;
69
+ exports.default = _default;
70
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/hoc/modal/select-item/index.native.tsx"],"names":["createStyleSheet","brandTheme","theme","StyleSheet","create","container","backgroundColor","colors","white","padding","spacing","small","text","fontWeight","bold","color","black","selectedTextStyle","primary","ModalSelectItem","props","templateContext","styleSheet","setStylesheet","_stylesheet","children","onPress","isSelected","testID"],"mappings":";;;;;AAAA;;AACA;;AAGA;;AACA;;AACA;;;;;;;;AAwBA,MAAMA,gBAAgB,GAAG,CAACC,UAAD,EAAkBC,KAAlB,KACvBC,wBAAWC,MAAX,CAAkB;AAChBC,EAAAA,SAAS,EAAE;AACTC,IAAAA,eAAe,EAAEJ,KAAK,CAACK,MAAN,CAAaC,KADrB;AAETC,IAAAA,OAAO,EAAEP,KAAK,CAACQ,OAAN,CAAcC;AAFd,GADK;AAKhBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,UAAU,EAAEX,KAAK,CAACW,UAAN,CAAiBC,IADzB;AAEJC,IAAAA,KAAK,EAAEb,KAAK,CAACK,MAAN,CAAaS;AAFhB,GALU;AAShBC,EAAAA,iBAAiB,EAAE;AACjBF,IAAAA,KAAK,EAAEd,UAAU,EAAEM,MAAZ,CAAmBW;AADT;AATH,CAAlB,CADF;;AAeA,MAAMC,eAAe,GAAIC,KAAD,IAAkB;AACxC,QAAMC,eAAe,GAAG,0CAAxB;AACA,QAAM,CAACC,UAAD,EAAaC,aAAb,IAA8B,qBAAgC,IAAhC,CAApC;AACA,QAAM;AAACtB,IAAAA,UAAD;AAAaC,IAAAA;AAAb,MAAsBmB,eAA5B;AAEA,wBAAU,MAAM;AACd,UAAMG,WAAW,GAAGxB,gBAAgB,CAACC,UAAD,EAAaC,KAAb,CAApC;;AACAqB,IAAAA,aAAa,CAACC,WAAD,CAAb;AACD,GAHD,EAGG,CAACtB,KAAD,EAAQD,UAAR,CAHH;;AAKA,MAAI,CAACqB,UAAL,EAAiB;AACf,WAAO,IAAP;AACD;;AAED,QAAM;AAACG,IAAAA,QAAD;AAAWC,IAAAA,OAAX;AAAoBC,IAAAA,UAApB;AAAgCC,IAAAA;AAAhC,MAA0CR,KAAhD;AAEA,sBACE,6BAAC,eAAD;AAAW,IAAA,OAAO,EAAEM,OAApB;AAA6B,IAAA,KAAK,EAAEJ,UAAU,CAACjB,SAA/C;AAA0D,IAAA,MAAM,EAAEuB;AAAlE,kBACE,6BAAC,cAAD;AAAM,IAAA,KAAK,EAAE,CAACN,UAAU,CAACV,IAAZ,EAAkBe,UAAU,IAAIL,UAAU,CAACL,iBAA3C;AAAb,KAA6EQ,QAA7E,CADF,CADF;AAKD,CArBD;;eAuBeN,e","sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {StyleSheet, TextStyle} from 'react-native';\nimport type {PressEvent} from 'react-native/Libraries/Types/CoreEventTypes';\n\nimport Text from '../../../atom/text/index.native';\nimport Touchable from '../../touchable/index.native';\nimport {useTemplateContext} from '../../../template/app-review/template-context';\nimport {Theme} from '../../../variables/theme.native';\n\nexport type Props = {\n isSelected?: boolean;\n children: string;\n onPress?: (event: PressEvent) => any;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: {\n backgroundColor: string;\n padding: number;\n };\n text: {\n fontWeight: TextStyle;\n color: string;\n };\n selectedTextStyle: {\n color: string;\n };\n};\n\nconst createStyleSheet = (brandTheme: any, theme: Theme) =>\n StyleSheet.create({\n container: {\n backgroundColor: theme.colors.white,\n padding: theme.spacing.small\n },\n text: {\n fontWeight: theme.fontWeight.bold,\n color: theme.colors.black\n },\n selectedTextStyle: {\n color: brandTheme?.colors.primary\n }\n });\n\nconst ModalSelectItem = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {brandTheme, theme} = templateContext;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(brandTheme, theme);\n setStylesheet(_stylesheet);\n }, [theme, brandTheme]);\n\n if (!styleSheet) {\n return null;\n }\n\n const {children, onPress, isSelected, testID} = props;\n\n return (\n <Touchable onPress={onPress} style={styleSheet.container} testID={testID}>\n <Text style={[styleSheet.text, isSelected && styleSheet.selectedTextStyle]}>{children}</Text>\n </Touchable>\n );\n};\n\nexport default ModalSelectItem;\n"],"file":"index.native.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hoc/touchable/index.native.tsx"],"names":["hitSlop","left","right","bottom","top","logEvent","eventName","analyticsID","analytics","analyticsParams","id","Touchable","props","templateContext","theme","vibration","onPress","onLongPress","isWithoutFeedback","isHighlight","activeOpacity","disabled","handlePress","event","vibrate","ANALYTICS_EVENT_TYPE","PRESS","handleLongPress","LONG_PRESS","colors","gray","light"],"mappings":";;;;;AAAA;;AAQA;;AACA;;AACA;;;;;;;;AAGA,MAAMA,OAAO,GAAG;AACdC,EAAAA,IAAI,EAAE,EADQ;AAEdC,EAAAA,KAAK,EAAE,EAFO;AAGdC,EAAAA,MAAM,EAAE,EAHM;AAIdC,EAAAA,GAAG,EAAE;AAJS,CAAhB;;AAmCA,MAAMC,QAAQ,GAAG,CACfC,SADe,EAEfC,WAFe,EAGfC,SAHe,EAIfC,eAJe,KAKZ;AACHD,EAAAA,SAAS,IACPA,SAAS,CAACH,QAAV,CAAmBC,SAAnB,wBACMG,eAAe,IAAI,EADzB;AAEEC,IAAAA,EAAE,EAAEH;AAFN,KADF;AAKD,CAXD;;AAaA,MAAMI,SAAS,GAAIC,KAAD,IAAkB;AAClC,QAAMC,eAAe,GAAG,0CAAxB;AAEA,QAAM;AAACC,IAAAA,KAAD;AAAQC,IAAAA,SAAR;AAAmBP,IAAAA;AAAnB,MAAgCK,eAAtC;AAEA,QAAM;AACJN,IAAAA,WADI;AAEJE,IAAAA,eAFI;AAGJO,IAAAA,OAHI;AAIJC,IAAAA,WAJI;AAKJC,IAAAA,iBALI;AAMJC,IAAAA,WANI;AAOJC,IAAAA,aAPI;AAQJC,IAAAA;AARI,MASFT,KATJ;AAWA,QAAMU,WAAW,GAAG,oBAClB,MAAOC,KAAD,IAAuB;AAC3B,QAAI,CAACP,OAAL,EAAc;AAEdD,IAAAA,SAAS,EAAES,OAAX;AAEAhB,IAAAA,SAAS,IAAIH,QAAQ,CAACoB,gCAAqBC,KAAtB,EAA6BnB,WAA7B,EAA0CC,SAA1C,EAAqDC,eAArD,CAArB;AACAO,IAAAA,OAAO,CAACO,KAAD,CAAP;AACD,GARiB,EASlB,CAACf,SAAD,EAAYD,WAAZ,EAAyBE,eAAzB,EAA0CO,OAA1C,EAAmDD,SAAnD,CATkB,CAApB;AAYA,QAAMY,eAAe,GAAG,oBACtB,MAAOJ,KAAD,IAAuB;AAC3B,QAAI,CAACN,WAAL,EAAkB;AAElBF,IAAAA,SAAS,EAAES,OAAX;AAEAhB,IAAAA,SAAS,IACPH,QAAQ,CAACoB,gCAAqBG,UAAtB,EAAkCrB,WAAlC,EAA+CC,SAA/C,EAA0DC,eAA1D,CADV;AAEAQ,IAAAA,WAAW,CAACM,KAAD,CAAX;AACD,GATqB,EAUtB,CAACf,SAAD,EAAYD,WAAZ,EAAyBE,eAAzB,EAA0CQ,WAA1C,EAAuDF,SAAvD,CAVsB,CAAxB;;AAaA,MAAII,WAAJ,EAAiB;AACf,wBACE,6BAAC,+BAAD,eACMP,KADN;AAEE,MAAA,OAAO,EAAEZ,OAFX;AAGE,MAAA,aAAa,EAAEc,KAAK,CAACe,MAAN,CAAaC,IAAb,CAAkBC,KAHnC;AAIE,MAAA,OAAO,EAAET,WAJX;AAKE,MAAA,WAAW,EAAEK,eALf;AAME,MAAA,aAAa,EAAEP,aAAa,KAAKC,QAAQ,GAAG,CAAH,GAAO,IAApB;AAN9B,OADF;AAUD;;AAED,sBACE,6BAAC,6BAAD,eACMT,KADN;AAEE,IAAA,OAAO,EAAEZ,OAFX;AAGE,IAAA,OAAO,EAAEsB,WAHX;AAIE,IAAA,WAAW,EAAEK,eAJf;AAKE,IAAA,aAAa,EAAGT,iBAAiB,IAAI,CAAtB,IAA4BE,aAA5B,KAA8CC,QAAQ,GAAG,CAAH,GAAO,GAA7D;AALjB,KADF;AASD,CA/DD;;eAiEeV,S","sourcesContent":["import {TouchableOpacity, TouchableHighlight, ViewStyle} from 'react-native';\nimport type {\n BlurEvent,\n LayoutEvent,\n FocusEvent,\n PressEvent\n} from 'react-native/Libraries/Types/CoreEventTypes';\n\nimport React, {useMemo} from 'react';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {ANALYTICS_EVENT_TYPE, Analytics, AnalyticsEventParams} from '../../variables/analytics';\nimport {Vibration} from '../../variables/vibration';\n\nconst hitSlop = {\n left: 12,\n right: 12,\n bottom: 12,\n top: 12\n};\n\nexport type Props = {\n accessible?: boolean;\n children?: React.ReactNode;\n delayLongPress?: number;\n delayPressIn?: number;\n delayPressOut?: number;\n disabled?: boolean;\n focusable?: boolean;\n onBlur?: (event: BlurEvent) => any;\n onFocus?: (event: FocusEvent) => any;\n onLayout?: (event: LayoutEvent) => any;\n onLongPress?: (event: PressEvent) => any;\n onPress?: (event: PressEvent) => any;\n onPressIn?: (event: PressEvent) => any;\n onPressOut?: (event: PressEvent) => any;\n testID?: string;\n isHighlight?: boolean;\n isWithoutFeedback?: boolean;\n // for TouchableOpacity\n activeOpacity?: number;\n style?: ViewStyle;\n // Analytics\n analytics?: Analytics;\n analyticsID: string;\n analyticsParams?: AnalyticsEventParams;\n vibration?: Vibration;\n};\n\nconst logEvent = (\n eventName: string,\n analyticsID: String,\n analytics: Analytics,\n analyticsParams: AnalyticsEventParams | undefined\n) => {\n analytics &&\n analytics.logEvent(eventName, {\n ...(analyticsParams || {}),\n id: analyticsID\n });\n};\n\nconst Touchable = (props: Props) => {\n const templateContext = useTemplateContext();\n\n const {theme, vibration, analytics} = templateContext;\n\n const {\n analyticsID,\n analyticsParams,\n onPress,\n onLongPress,\n isWithoutFeedback,\n isHighlight,\n activeOpacity,\n disabled\n } = props;\n\n const handlePress = useMemo(\n () => (event: PressEvent) => {\n if (!onPress) return;\n\n vibration?.vibrate();\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.PRESS, analyticsID, analytics, analyticsParams);\n onPress(event);\n },\n [analytics, analyticsID, analyticsParams, onPress, vibration]\n );\n\n const handleLongPress = useMemo(\n () => (event: PressEvent) => {\n if (!onLongPress) return;\n\n vibration?.vibrate();\n\n analytics &&\n logEvent(ANALYTICS_EVENT_TYPE.LONG_PRESS, analyticsID, analytics, analyticsParams);\n onLongPress(event);\n },\n [analytics, analyticsID, analyticsParams, onLongPress, vibration]\n );\n\n if (isHighlight) {\n return (\n <TouchableHighlight\n {...props}\n hitSlop={hitSlop}\n underlayColor={theme.colors.gray.light}\n onPress={handlePress}\n onLongPress={handleLongPress}\n activeOpacity={activeOpacity || (disabled ? 1 : 0.85)}\n />\n );\n }\n\n return (\n <TouchableOpacity\n {...props}\n hitSlop={hitSlop}\n onPress={handlePress}\n onLongPress={handleLongPress}\n activeOpacity={(isWithoutFeedback && 1) || activeOpacity || (disabled ? 1 : 0.2)}\n />\n );\n};\n\nexport default Touchable;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../src/hoc/touchable/index.native.tsx"],"names":["hitSlop","left","right","bottom","top","logEvent","eventName","analyticsID","analytics","analyticsParams","id","Touchable","props","templateContext","theme","vibration","onPress","onLongPress","isWithoutFeedback","isHighlight","activeOpacity","disabled","handlePress","event","vibrate","ANALYTICS_EVENT_TYPE","PRESS","handleLongPress","LONG_PRESS","colors","gray","light"],"mappings":";;;;;AAAA;;AAQA;;AACA;;AACA;;;;;;;;AAGA,MAAMA,OAAO,GAAG;AACdC,EAAAA,IAAI,EAAE,EADQ;AAEdC,EAAAA,KAAK,EAAE,EAFO;AAGdC,EAAAA,MAAM,EAAE,EAHM;AAIdC,EAAAA,GAAG,EAAE;AAJS,CAAhB;;AAmCA,MAAMC,QAAQ,GAAG,CACfC,SADe,EAEfC,WAFe,EAGfC,SAHe,EAIfC,eAJe,KAKZ;AACHD,EAAAA,SAAS,IACPA,SAAS,CAACH,QAAV,CAAmBC,SAAnB,wBACMG,eAAe,IAAI,EADzB;AAEEC,IAAAA,EAAE,EAAEH;AAFN,KADF;AAKD,CAXD;;AAaA,MAAMI,SAAS,GAAIC,KAAD,IAAkB;AAClC,QAAMC,eAAe,GAAG,0CAAxB;AAEA,QAAM;AAACC,IAAAA,KAAD;AAAQC,IAAAA,SAAR;AAAmBP,IAAAA;AAAnB,MAAgCK,eAAtC;AAEA,QAAM;AACJN,IAAAA,WADI;AAEJE,IAAAA,eAFI;AAGJO,IAAAA,OAHI;AAIJC,IAAAA,WAJI;AAKJC,IAAAA,iBALI;AAMJC,IAAAA,WANI;AAOJC,IAAAA,aAPI;AAQJC,IAAAA;AARI,MASFT,KATJ;AAWA,QAAMU,WAAW,GAAG,oBAClB,MAAOC,KAAD,IAAuB;AAC3B,QAAI,CAACP,OAAL,EAAc;AAEdD,IAAAA,SAAS,EAAES,OAAX;AAEAhB,IAAAA,SAAS,IAAIH,QAAQ,CAACoB,gCAAqBC,KAAtB,EAA6BnB,WAA7B,EAA0CC,SAA1C,EAAqDC,eAArD,CAArB;AACAO,IAAAA,OAAO,CAACO,KAAD,CAAP;AACD,GARiB,EASlB,CAACf,SAAD,EAAYD,WAAZ,EAAyBE,eAAzB,EAA0CO,OAA1C,EAAmDD,SAAnD,CATkB,CAApB;AAYA,QAAMY,eAAe,GAAG,oBACtB,MAAOJ,KAAD,IAAuB;AAC3B,QAAI,CAACN,WAAL,EAAkB;AAElBF,IAAAA,SAAS,EAAES,OAAX;AAEAhB,IAAAA,SAAS,IACPH,QAAQ,CAACoB,gCAAqBG,UAAtB,EAAkCrB,WAAlC,EAA+CC,SAA/C,EAA0DC,eAA1D,CADV;AAEAQ,IAAAA,WAAW,CAACM,KAAD,CAAX;AACD,GATqB,EAUtB,CAACf,SAAD,EAAYD,WAAZ,EAAyBE,eAAzB,EAA0CQ,WAA1C,EAAuDF,SAAvD,CAVsB,CAAxB;;AAaA,MAAII,WAAJ,EAAiB;AACf,wBACE,6BAAC,+BAAD,eACMP,KADN;AAEE,MAAA,OAAO,EAAEZ,OAFX;AAGE,MAAA,aAAa,EAAEc,KAAK,CAACe,MAAN,CAAaC,IAAb,CAAkBC,KAHnC;AAIE,MAAA,OAAO,EAAET,WAJX;AAKE,MAAA,WAAW,EAAEK,eALf;AAME,MAAA,aAAa,EAAEP,aAAa,KAAKC,QAAQ,GAAG,CAAH,GAAO,IAApB;AAN9B,OADF;AAUD;;AAED,sBACE,6BAAC,6BAAD,eACMT,KADN;AAEE,IAAA,OAAO,EAAEZ,OAFX;AAGE,IAAA,OAAO,EAAEsB,WAHX;AAIE,IAAA,WAAW,EAAEK,eAJf;AAKE,IAAA,aAAa,EAAGT,iBAAiB,IAAI,CAAtB,IAA4BE,aAA5B,KAA8CC,QAAQ,GAAG,CAAH,GAAO,GAA7D;AALjB,KADF;AASD,CA/DD;;eAiEeV,S","sourcesContent":["import {TouchableOpacity, TouchableHighlight, ViewStyle} from 'react-native';\nimport type {\n BlurEvent,\n LayoutEvent,\n FocusEvent,\n PressEvent\n} from 'react-native/Libraries/Types/CoreEventTypes';\n\nimport React, {useMemo} from 'react';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {ANALYTICS_EVENT_TYPE, Analytics, AnalyticsEventParams} from '../../variables/analytics';\nimport {Vibration} from '../../variables/vibration';\n\nconst hitSlop = {\n left: 12,\n right: 12,\n bottom: 12,\n top: 12\n};\n\nexport type Props = {\n accessible?: boolean;\n children?: React.ReactNode;\n delayLongPress?: number;\n delayPressIn?: number;\n delayPressOut?: number;\n disabled?: boolean;\n focusable?: boolean;\n onBlur?: (event: BlurEvent) => any;\n onFocus?: (event: FocusEvent) => any;\n onLayout?: (event: LayoutEvent) => any;\n onLongPress?: (event: PressEvent) => any;\n onPress?: (event: PressEvent) => any;\n onPressIn?: (event: PressEvent) => any;\n onPressOut?: (event: PressEvent) => any;\n testID?: string;\n isHighlight?: boolean;\n isWithoutFeedback?: boolean;\n // for TouchableOpacity\n activeOpacity?: number;\n style?: ViewStyle;\n // Analytics\n analytics?: Analytics;\n analyticsID?: string;\n analyticsParams?: AnalyticsEventParams;\n vibration?: Vibration;\n};\n\nconst logEvent = (\n eventName: string,\n analyticsID: String,\n analytics: Analytics,\n analyticsParams: AnalyticsEventParams | undefined\n) => {\n analytics &&\n analytics.logEvent(eventName, {\n ...(analyticsParams || {}),\n id: analyticsID\n });\n};\n\nconst Touchable = (props: Props) => {\n const templateContext = useTemplateContext();\n\n const {theme, vibration, analytics} = templateContext;\n\n const {\n analyticsID,\n analyticsParams,\n onPress,\n onLongPress,\n isWithoutFeedback,\n isHighlight,\n activeOpacity,\n disabled\n } = props;\n\n const handlePress = useMemo(\n () => (event: PressEvent) => {\n if (!onPress) return;\n\n vibration?.vibrate();\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.PRESS, analyticsID, analytics, analyticsParams);\n onPress(event);\n },\n [analytics, analyticsID, analyticsParams, onPress, vibration]\n );\n\n const handleLongPress = useMemo(\n () => (event: PressEvent) => {\n if (!onLongPress) return;\n\n vibration?.vibrate();\n\n analytics &&\n logEvent(ANALYTICS_EVENT_TYPE.LONG_PRESS, analyticsID, analytics, analyticsParams);\n onLongPress(event);\n },\n [analytics, analyticsID, analyticsParams, onLongPress, vibration]\n );\n\n if (isHighlight) {\n return (\n <TouchableHighlight\n {...props}\n hitSlop={hitSlop}\n underlayColor={theme.colors.gray.light}\n onPress={handlePress}\n onLongPress={handleLongPress}\n activeOpacity={activeOpacity || (disabled ? 1 : 0.85)}\n />\n );\n }\n\n return (\n <TouchableOpacity\n {...props}\n hitSlop={hitSlop}\n onPress={handlePress}\n onLongPress={handleLongPress}\n activeOpacity={(isWithoutFeedback && 1) || activeOpacity || (disabled ? 1 : 0.2)}\n />\n );\n};\n\nexport default Touchable;\n"],"file":"index.native.js"}
package/lib/index.js CHANGED
@@ -22,5 +22,9 @@ var _loading = _interopRequireDefault(require("./template/app-player/loading"));
22
22
 
23
23
  exports.Loading = _loading.default;
24
24
 
25
+ var _popinNoAccess = _interopRequireDefault(require("./template/app-player/popin-no-access"));
26
+
27
+ exports.PopinNoAccess = _popinNoAccess.default;
28
+
25
29
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
30
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":[],"mappings":";;;;AAAA;;;;AACA;;;;AACA;;;;AACA;;;;AACA","sourcesContent":["import Provider from './atom/provider';\nimport PopinEnd from './template/app-player/popin-end';\nimport PopinCorrection from './template/app-player/popin-correction';\nimport Player from './template/app-player/player';\nimport Loading from './template/app-player/loading';\n\nexport {Provider, PopinEnd, PopinCorrection, Loading, Player};\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":[],"mappings":";;;;AAAA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA","sourcesContent":["import Provider from './atom/provider';\nimport PopinEnd from './template/app-player/popin-end';\nimport PopinCorrection from './template/app-player/popin-correction';\nimport Player from './template/app-player/player';\nimport Loading from './template/app-player/loading';\nimport PopinNoAccess from './template/app-player/popin-no-access';\n\nexport {Provider, PopinEnd, PopinCorrection, Loading, Player, PopinNoAccess};\n"],"file":"index.js"}
@@ -25,15 +25,23 @@ const CMPopin = props => {
25
25
  secondButton,
26
26
  onClose,
27
27
  header,
28
- icon
28
+ icon,
29
+ backgroundImageUrl,
30
+ descriptionText
29
31
  } = props;
30
32
  const logo = {
31
33
  AlertDiamond: _novaIcons.NovaSolidInterfaceFeedbackInterfaceAlertDiamond,
32
34
  WindowUpload: _novaIcons.NovaSolidApplicationsWindowUpload3
33
35
  };
34
36
  const LogoComponent = logo[icon];
37
+ const backgroundImageStyle = backgroundImageUrl ? {
38
+ backgroundImage: `url(${backgroundImageUrl})`,
39
+ backgroundSize: 'cover'
40
+ } : null;
35
41
  return /*#__PURE__*/_react.default.createElement("div", {
36
- className: _style.default.background
42
+ className: _style.default.background,
43
+ style: backgroundImageStyle,
44
+ "data-name": 'cm-popin-container'
37
45
  }, /*#__PURE__*/_react.default.createElement("div", {
38
46
  className: _style.default.popin
39
47
  }, /*#__PURE__*/_react.default.createElement("header", {
@@ -48,16 +56,24 @@ const CMPopin = props => {
48
56
  size: "small",
49
57
  icon: "close"
50
58
  }) : null), /*#__PURE__*/_react.default.createElement("div", {
59
+ className: _style.default.titleContainer
60
+ }, /*#__PURE__*/_react.default.createElement("div", {
51
61
  className: _style.default.contentSection
52
62
  }, LogoComponent ? /*#__PURE__*/_react.default.createElement(LogoComponent, {
53
63
  className: _style.default.icon
54
64
  }) : null, content ? /*#__PURE__*/_react.default.createElement("p", {
55
65
  className: mode === 'alert' ? _style.default.content : _style.default.message,
56
- "data-name": `cm-popin-content` // eslint-disable-next-line react/no-danger
66
+ "data-name": 'cm-popin-content' // eslint-disable-next-line react/no-danger
57
67
  ,
58
68
  dangerouslySetInnerHTML: {
59
69
  __html: content
60
70
  }
71
+ }) : null), descriptionText ? /*#__PURE__*/_react.default.createElement("p", {
72
+ className: _style.default.descriptionText // eslint-disable-next-line react/no-danger
73
+ ,
74
+ dangerouslySetInnerHTML: {
75
+ __html: descriptionText
76
+ }
61
77
  }) : null), /*#__PURE__*/_react.default.createElement("div", {
62
78
  className: _style.default.buttonContainer
63
79
  }, firstButton ? /*#__PURE__*/_react.default.createElement("div", {
@@ -65,16 +81,16 @@ const CMPopin = props => {
65
81
  }, /*#__PURE__*/_react.default.createElement(_buttonLink.default, {
66
82
  label: firstButton.label,
67
83
  onClick: firstButton.handleOnclick,
68
- "data-name": `cm-popin-cta`,
84
+ "data-name": 'cm-popin-cta',
69
85
  "aria-label": firstButton['aria-label'],
70
86
  type: firstButton.type
71
87
  })) : null, secondButton ? /*#__PURE__*/_react.default.createElement("div", {
72
- className: _style.default.button
88
+ className: secondButton.largeButton ? _style.default.largeButton : _style.default.button
73
89
  }, /*#__PURE__*/_react.default.createElement(_buttonLink.default, {
74
90
  label: secondButton.label,
75
91
  onClick: secondButton.handleOnclick,
76
92
  "data-name": `cm-popin-cta-${secondButton.type}`,
77
- "aria-label": firstButton['aria-label'],
93
+ "aria-label": secondButton['aria-label'],
78
94
  type: secondButton.type
79
95
  })) : null)));
80
96
  };
@@ -93,10 +109,13 @@ CMPopin.propTypes = process.env.NODE_ENV !== "production" ? {
93
109
  label: _propTypes.default.string,
94
110
  handleOnclick: _propTypes.default.func,
95
111
  type: _propTypes.default.oneOf(['dangerous', 'primary']),
96
- 'aria-label': _propTypes.default.string
112
+ 'aria-label': _propTypes.default.string,
113
+ largeButton: _propTypes.default.boolean
97
114
  }),
98
115
  onClose: _propTypes.default.func,
99
- icon: _propTypes.default.string
116
+ icon: _propTypes.default.string,
117
+ backgroundImageUrl: _propTypes.default.string,
118
+ descriptionText: _propTypes.default.string
100
119
  } : {};
101
120
  var _default = CMPopin;
102
121
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/cm-popin/index.js"],"names":["CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","logo","AlertDiamond","WindowUpload","LogoComponent","style","background","popin","popinHeader","headerBackground","contentSection","message","__html","buttonContainer","button","label","handleOnclick","type","propTypes","PropTypes","string","oneOf","shape","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond,\n NovaSolidApplicationsWindowUpload3 as WindowUpload\n} from '@coorpacademy/nova-icons';\nimport Cta from '../../atom/button-link';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport style from './style.css';\n\nconst CMPopin = props => {\n const {content, mode = 'alert', firstButton, secondButton, onClose, header, icon} = props;\n\n const logo = {\n AlertDiamond,\n WindowUpload\n };\n const LogoComponent = logo[icon];\n\n return (\n <div className={style.background}>\n <div className={style.popin}>\n <header className={style.popinHeader}>\n {header ? <img className={style.headerBackground} src={header} /> : null}\n {onClose ? (\n <ButtonLinkIconOnly\n onClick={onClose}\n data-name={'close-icon'}\n aria-label={'close-icon'}\n size=\"small\"\n icon=\"close\"\n />\n ) : null}\n </header>\n <div className={style.contentSection}>\n {LogoComponent ? <LogoComponent className={style.icon} /> : null}\n {content ? (\n <p\n className={mode === 'alert' ? style.content : style.message}\n data-name={`cm-popin-content`}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n ) : null}\n </div>\n\n <div className={style.buttonContainer}>\n {firstButton ? (\n <div className={style.button}>\n <Cta\n label={firstButton.label}\n onClick={firstButton.handleOnclick}\n data-name={`cm-popin-cta`}\n aria-label={firstButton['aria-label']}\n type={firstButton.type}\n />\n </div>\n ) : null}\n {secondButton ? (\n <div className={style.button}>\n <Cta\n label={secondButton.label}\n onClick={secondButton.handleOnclick}\n data-name={`cm-popin-cta-${secondButton.type}`}\n aria-label={firstButton['aria-label']}\n type={secondButton.type}\n />\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n};\n\nCMPopin.propTypes = {\n content: PropTypes.string,\n mode: PropTypes.oneOf(['alert', 'information']),\n header: PropTypes.string,\n firstButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n 'aria-label': PropTypes.string,\n type: PropTypes.string\n }),\n secondButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n type: PropTypes.oneOf(['dangerous', 'primary']),\n 'aria-label': PropTypes.string\n }),\n onClose: PropTypes.func,\n icon: PropTypes.string\n};\n\nexport default CMPopin;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/molecule/cm-popin/index.js"],"names":["CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","backgroundImageUrl","descriptionText","logo","AlertDiamond","WindowUpload","LogoComponent","backgroundImageStyle","backgroundImage","backgroundSize","style","background","popin","popinHeader","headerBackground","titleContainer","contentSection","message","__html","buttonContainer","button","label","handleOnclick","type","largeButton","propTypes","PropTypes","string","oneOf","shape","func","boolean"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond,\n NovaSolidApplicationsWindowUpload3 as WindowUpload\n} from '@coorpacademy/nova-icons';\nimport Cta from '../../atom/button-link';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport style from './style.css';\n\nconst CMPopin = props => {\n const {\n content,\n mode = 'alert',\n firstButton,\n secondButton,\n onClose,\n header,\n icon,\n backgroundImageUrl,\n descriptionText\n } = props;\n\n const logo = {\n AlertDiamond,\n WindowUpload\n };\n const LogoComponent = logo[icon];\n\n const backgroundImageStyle = backgroundImageUrl\n ? {\n backgroundImage: `url(${backgroundImageUrl})`,\n backgroundSize: 'cover'\n }\n : null;\n\n return (\n <div className={style.background} style={backgroundImageStyle} data-name={'cm-popin-container'}>\n <div className={style.popin}>\n <header className={style.popinHeader}>\n {header ? <img className={style.headerBackground} src={header} /> : null}\n {onClose ? (\n <ButtonLinkIconOnly\n onClick={onClose}\n data-name={'close-icon'}\n aria-label={'close-icon'}\n size=\"small\"\n icon=\"close\"\n />\n ) : null}\n </header>\n <div className={style.titleContainer}>\n <div className={style.contentSection}>\n {LogoComponent ? <LogoComponent className={style.icon} /> : null}\n {content ? (\n <p\n className={mode === 'alert' ? style.content : style.message}\n data-name={'cm-popin-content'}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n ) : null}\n </div>\n {descriptionText ? (\n <p\n className={style.descriptionText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: descriptionText}}\n />\n ) : null}\n </div>\n <div className={style.buttonContainer}>\n {firstButton ? (\n <div className={style.button}>\n <Cta\n label={firstButton.label}\n onClick={firstButton.handleOnclick}\n data-name={'cm-popin-cta'}\n aria-label={firstButton['aria-label']}\n type={firstButton.type}\n />\n </div>\n ) : null}\n {secondButton ? (\n <div className={secondButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={secondButton.label}\n onClick={secondButton.handleOnclick}\n data-name={`cm-popin-cta-${secondButton.type}`}\n aria-label={secondButton['aria-label']}\n type={secondButton.type}\n />\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n};\n\nCMPopin.propTypes = {\n content: PropTypes.string,\n mode: PropTypes.oneOf(['alert', 'information']),\n header: PropTypes.string,\n firstButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n 'aria-label': PropTypes.string,\n type: PropTypes.string\n }),\n secondButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n type: PropTypes.oneOf(['dangerous', 'primary']),\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.boolean\n }),\n onClose: PropTypes.func,\n icon: PropTypes.string,\n backgroundImageUrl: PropTypes.string,\n descriptionText: PropTypes.string\n};\n\nexport default CMPopin;\n"],"file":"index.js"}
@@ -14,6 +14,7 @@
14
14
  @value cm_grey_100 from colors;
15
15
  @value cm_grey_200 from colors;
16
16
  @value cm_blue_600 from colors;
17
+ @value cm_grey_500 from colors;
17
18
 
18
19
  .background {
19
20
  top: 0px;
@@ -28,6 +29,7 @@
28
29
  overflow: hidden;
29
30
  display: flex;
30
31
  position:fixed;
32
+ z-index: 3;
31
33
  }
32
34
 
33
35
  .headerBackground {
@@ -37,7 +39,6 @@
37
39
  }
38
40
 
39
41
  .popin {
40
- position: absolute;
41
42
  overflow: auto;
42
43
  width: 500px;
43
44
  height: 414px;
@@ -112,6 +113,11 @@
112
113
  padding: 8px;
113
114
  }
114
115
 
116
+ .largeButton {
117
+ width: 338px;
118
+ padding: 8px;
119
+ }
120
+
115
121
  .icon {
116
122
  width: 60px;
117
123
  height: 60px;
@@ -126,4 +132,21 @@
126
132
 
127
133
  .popinHeader button {
128
134
  position: absolute;
135
+ }
136
+ .descriptionText {
137
+ text-align: center;
138
+ font-family: Gilroy;
139
+ font-weight: 500;
140
+ font-size: 16px;
141
+ line-height: 22px;
142
+ color: cm_grey_500;
143
+ font-style: normal;
144
+ white-space: pre-line;
145
+ margin-top: 0px;
146
+ }
147
+ .titleContainer {
148
+ align-items: center;
149
+ display: flex;
150
+ flex-direction: column;
151
+ width: 100%;
129
152
  }
@@ -32,7 +32,8 @@ const Feedback = (props, context) => {
32
32
  media,
33
33
  mediaDescription,
34
34
  title,
35
- description
35
+ description,
36
+ mode = 'default'
36
37
  } = props;
37
38
 
38
39
  const resource = media && media.type && _extends(_extends({}, media), (0, _pipe2.default)((0, _get2.default)('src.0'), (0, _extend2.default)({
@@ -40,8 +41,11 @@ const Feedback = (props, context) => {
40
41
  }))(media));
41
42
 
42
43
  return (resource || title || description ? /*#__PURE__*/_react.default.createElement("div", {
44
+ className: mode === 'scorm' ? _style.default.feedbackContainerScorm : null
45
+ }, /*#__PURE__*/_react.default.createElement("div", {
43
46
  className: _style.default.feedback,
44
- "data-name": "feedback"
47
+ "data-name": "feedback",
48
+ id: "feedback"
45
49
  }, /*#__PURE__*/_react.default.createElement("div", {
46
50
  className: (0, _classnames.default)(_style.default.title, _style.default.innerHTML),
47
51
  "data-name": "title" // eslint-disable-next-line react/no-danger
@@ -68,7 +72,7 @@ const Feedback = (props, context) => {
68
72
  dangerouslySetInnerHTML: {
69
73
  __html: mediaDescription
70
74
  }
71
- })) : null)) : null) || '';
75
+ })) : null))) : null) || '';
72
76
  };
73
77
 
74
78
  Feedback.propTypes = process.env.NODE_ENV !== "production" ? {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/feedback/index.js"],"names":["Feedback","props","context","media","mediaDescription","title","description","resource","type","style","feedback","innerHTML","__html","descWrapper","resourcePlayer","propTypes","PropTypes","string","shape","oneOf","TYPE_IMAGE","TYPE_PDF","TYPE_VIDEO","TYPE_AUDIO","src","array"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AACnC,QAAM;AAACC,IAAAA,KAAD;AAAQC,IAAAA,gBAAR;AAA0BC,IAAAA,KAA1B;AAAiCC,IAAAA;AAAjC,MAAgDL,KAAtD;;AACA,QAAMM,QAAQ,GAAGJ,KAAK,IACpBA,KAAK,CAACK,IADS,0BAEVL,KAFU,GAGV,oBAAK,mBAAI,OAAJ,CAAL,EAAmB,sBAAO;AAACG,IAAAA,WAAW,EAAEF;AAAd,GAAP,CAAnB,EAA4DD,KAA5D,CAHU,CAAjB;;AAMA,SACE,CAACI,QAAQ,IAAIF,KAAZ,IAAqBC,WAArB,gBACC;AAAK,IAAA,SAAS,EAAEG,eAAMC,QAAtB;AAAgC,iBAAU;AAA1C,kBACE;AACE,IAAA,SAAS,EAAE,yBAAWD,eAAMJ,KAAjB,EAAwBI,eAAME,SAA9B,CADb;AAEE,iBAAU,OAFZ,CAGE;AAHF;AAIE,IAAA,uBAAuB,EAAE;AAACC,MAAAA,MAAM,EAAEP;AAAT;AAJ3B,IADF,eAOE;AAAK,IAAA,SAAS,EAAEI,eAAMI;AAAtB,kBACE;AACE,IAAA,SAAS,EAAE,yBAAWJ,eAAMH,WAAjB,EAA8BG,eAAME,SAApC,CADb;AAEE,iBAAU,aAFZ,CAGE;AAHF;AAIE,IAAA,uBAAuB,EAAE;AAACC,MAAAA,MAAM,EAAEN;AAAT;AAJ3B,IADF,EAOGC,QAAQ,gBACP,uDACE,6BAAC,uBAAD;AAAgB,IAAA,SAAS,EAAEE,eAAMK,cAAjC;AAAiD,IAAA,QAAQ,EAAEP;AAA3D,IADF,eAEE;AACE,iBAAU,kBADZ;AAEE,IAAA,SAAS,EAAE,yBAAWE,eAAML,gBAAjB,EAAmCK,eAAME,SAAzC,CAFb,CAGE;AAHF;AAIE,IAAA,uBAAuB,EAAE;AAACC,MAAAA,MAAM,EAAER;AAAT;AAJ3B,IAFF,CADO,GAUL,IAjBN,CAPF,CADD,GA4BG,IA5BJ,KA4Ba,EA7Bf;AA+BD,CAvCD;;AAyCAJ,QAAQ,CAACe,SAAT,2CAAqB;AACnBV,EAAAA,KAAK,EAAEW,mBAAUC,MADE;AAEnBX,EAAAA,WAAW,EAAEU,mBAAUC,MAFJ;AAGnBd,EAAAA,KAAK,EAAEa,mBAAUE,KAAV,CAAgB;AACrBV,IAAAA,IAAI,EAAEQ,mBAAUG,KAAV,CAAgB,CAACC,0BAAD,EAAaC,wBAAb,EAAuBC,0BAAvB,EAAmCC,0BAAnC,CAAhB,CADe;AAErBC,IAAAA,GAAG,EAAER,mBAAUS;AAFM,GAAhB,CAHY;AAOnBrB,EAAAA,gBAAgB,EAAEY,mBAAUC;AAPT,CAArB;eAUejB,Q","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {pipe, get, extend} from 'lodash/fp';\nimport classnames from 'classnames';\nimport ResourcePlayer, {TYPE_IMAGE, TYPE_VIDEO, TYPE_PDF, TYPE_AUDIO} from '../resource-player';\nimport style from './style.css';\n\nconst Feedback = (props, context) => {\n const {media, mediaDescription, title, description} = props;\n const resource = media &&\n media.type && {\n ...media,\n ...pipe(get('src.0'), extend({description: mediaDescription}))(media)\n };\n\n return (\n (resource || title || description ? (\n <div className={style.feedback} data-name=\"feedback\">\n <div\n className={classnames(style.title, style.innerHTML)}\n data-name=\"title\"\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n <div className={style.descWrapper}>\n <div\n className={classnames(style.description, style.innerHTML)}\n data-name=\"description\"\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: description}}\n />\n {resource ? (\n <div>\n <ResourcePlayer className={style.resourcePlayer} resource={resource} />\n <div\n data-name=\"mediaDescription\"\n className={classnames(style.mediaDescription, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: mediaDescription}}\n />\n </div>\n ) : null}\n </div>\n </div>\n ) : null) || ''\n );\n};\n\nFeedback.propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n media: PropTypes.shape({\n type: PropTypes.oneOf([TYPE_IMAGE, TYPE_PDF, TYPE_VIDEO, TYPE_AUDIO]),\n src: PropTypes.array\n }),\n mediaDescription: PropTypes.string\n};\n\nexport default Feedback;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/molecule/feedback/index.js"],"names":["Feedback","props","context","media","mediaDescription","title","description","mode","resource","type","style","feedbackContainerScorm","feedback","innerHTML","__html","descWrapper","resourcePlayer","propTypes","PropTypes","string","shape","oneOf","TYPE_IMAGE","TYPE_PDF","TYPE_VIDEO","TYPE_AUDIO","src","array"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AACnC,QAAM;AAACC,IAAAA,KAAD;AAAQC,IAAAA,gBAAR;AAA0BC,IAAAA,KAA1B;AAAiCC,IAAAA,WAAjC;AAA8CC,IAAAA,IAAI,GAAG;AAArD,MAAkEN,KAAxE;;AACA,QAAMO,QAAQ,GAAGL,KAAK,IACpBA,KAAK,CAACM,IADS,0BAEVN,KAFU,GAGV,oBAAK,mBAAI,OAAJ,CAAL,EAAmB,sBAAO;AAACG,IAAAA,WAAW,EAAEF;AAAd,GAAP,CAAnB,EAA4DD,KAA5D,CAHU,CAAjB;;AAMA,SACE,CAACK,QAAQ,IAAIH,KAAZ,IAAqBC,WAArB,gBACC;AAAK,IAAA,SAAS,EAAEC,IAAI,KAAK,OAAT,GAAmBG,eAAMC,sBAAzB,GAAkD;AAAlE,kBACE;AAAK,IAAA,SAAS,EAAED,eAAME,QAAtB;AAAgC,iBAAU,UAA1C;AAAqD,IAAA,EAAE,EAAC;AAAxD,kBACE;AACE,IAAA,SAAS,EAAE,yBAAWF,eAAML,KAAjB,EAAwBK,eAAMG,SAA9B,CADb;AAEE,iBAAU,OAFZ,CAGE;AAHF;AAIE,IAAA,uBAAuB,EAAE;AAACC,MAAAA,MAAM,EAAET;AAAT;AAJ3B,IADF,eAOE;AAAK,IAAA,SAAS,EAAEK,eAAMK;AAAtB,kBACE;AACE,IAAA,SAAS,EAAE,yBAAWL,eAAMJ,WAAjB,EAA8BI,eAAMG,SAApC,CADb;AAEE,iBAAU,aAFZ,CAGE;AAHF;AAIE,IAAA,uBAAuB,EAAE;AAACC,MAAAA,MAAM,EAAER;AAAT;AAJ3B,IADF,EAOGE,QAAQ,gBACP,uDACE,6BAAC,uBAAD;AAAgB,IAAA,SAAS,EAAEE,eAAMM,cAAjC;AAAiD,IAAA,QAAQ,EAAER;AAA3D,IADF,eAEE;AACE,iBAAU,kBADZ;AAEE,IAAA,SAAS,EAAE,yBAAWE,eAAMN,gBAAjB,EAAmCM,eAAMG,SAAzC,CAFb,CAGE;AAHF;AAIE,IAAA,uBAAuB,EAAE;AAACC,MAAAA,MAAM,EAAEV;AAAT;AAJ3B,IAFF,CADO,GAUL,IAjBN,CAPF,CADF,CADD,GA8BG,IA9BJ,KA8Ba,EA/Bf;AAiCD,CAzCD;;AA2CAJ,QAAQ,CAACiB,SAAT,2CAAqB;AACnBZ,EAAAA,KAAK,EAAEa,mBAAUC,MADE;AAEnBb,EAAAA,WAAW,EAAEY,mBAAUC,MAFJ;AAGnBhB,EAAAA,KAAK,EAAEe,mBAAUE,KAAV,CAAgB;AACrBX,IAAAA,IAAI,EAAES,mBAAUG,KAAV,CAAgB,CAACC,0BAAD,EAAaC,wBAAb,EAAuBC,0BAAvB,EAAmCC,0BAAnC,CAAhB,CADe;AAErBC,IAAAA,GAAG,EAAER,mBAAUS;AAFM,GAAhB,CAHY;AAOnBvB,EAAAA,gBAAgB,EAAEc,mBAAUC;AAPT,CAArB;eAUenB,Q","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {pipe, get, extend} from 'lodash/fp';\nimport classnames from 'classnames';\nimport ResourcePlayer, {TYPE_IMAGE, TYPE_VIDEO, TYPE_PDF, TYPE_AUDIO} from '../resource-player';\nimport style from './style.css';\n\nconst Feedback = (props, context) => {\n const {media, mediaDescription, title, description, mode = 'default'} = props;\n const resource = media &&\n media.type && {\n ...media,\n ...pipe(get('src.0'), extend({description: mediaDescription}))(media)\n };\n\n return (\n (resource || title || description ? (\n <div className={mode === 'scorm' ? style.feedbackContainerScorm : null}>\n <div className={style.feedback} data-name=\"feedback\" id=\"feedback\">\n <div\n className={classnames(style.title, style.innerHTML)}\n data-name=\"title\"\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n <div className={style.descWrapper}>\n <div\n className={classnames(style.description, style.innerHTML)}\n data-name=\"description\"\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: description}}\n />\n {resource ? (\n <div>\n <ResourcePlayer className={style.resourcePlayer} resource={resource} />\n <div\n data-name=\"mediaDescription\"\n className={classnames(style.mediaDescription, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: mediaDescription}}\n />\n </div>\n ) : null}\n </div>\n </div>\n </div>\n ) : null) || ''\n );\n};\n\nFeedback.propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n media: PropTypes.shape({\n type: PropTypes.oneOf([TYPE_IMAGE, TYPE_PDF, TYPE_VIDEO, TYPE_AUDIO]),\n src: PropTypes.array\n }),\n mediaDescription: PropTypes.string\n};\n\nexport default Feedback;\n"],"file":"index.js"}
@@ -9,6 +9,8 @@
9
9
  @value medium from colors;
10
10
  @value xtraLightGrey from colors;
11
11
  @value white from colors;
12
+ @value cm_grey_75 from colors;
13
+
12
14
 
13
15
  .feedback {
14
16
  width: 100%;
@@ -19,6 +21,24 @@
19
21
  flex-direction: column;
20
22
  }
21
23
 
24
+ .feedbackContainerScorm {
25
+ background-color: white;
26
+ max-width: 884px;
27
+ height: 386px;
28
+ padding-bottom: 10px;
29
+ overflow-x: auto;
30
+ border: 1px solid cm_grey_75;
31
+ border-top: 0px;
32
+ z-index: 2;
33
+ margin-top: 60px;
34
+ position: relative;
35
+ }
36
+
37
+ .feedbackContainerScorm > .feedback {
38
+ border-bottom: 0px;
39
+ height: 100%;
40
+ }
41
+
22
42
  .title {
23
43
  width: 100%;
24
44
  margin-bottom: 20px;
@@ -90,6 +110,10 @@
90
110
  width: 100%;
91
111
  margin-bottom: 8px;
92
112
  }
113
+ .feedbackContainerScorm {
114
+ width: 100%;
115
+ height: 100%;
116
+ }
93
117
  }
94
118
 
95
119
  .innerHTML {
@@ -7,6 +7,8 @@ var _react = _interopRequireDefault(require("react"));
7
7
 
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
 
10
+ var _cmPopin = _interopRequireDefault(require("../../../molecule/cm-popin"));
11
+
10
12
  var _slides = _interopRequireDefault(require("./slides"));
11
13
 
12
14
  var _style = _interopRequireDefault(require("./style.css"));
@@ -15,7 +17,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
15
17
 
16
18
  const SlidePlayer = props => {
17
19
  const {
18
- player
20
+ player,
21
+ popin
19
22
  } = props;
20
23
  const backgroundImage = player.backgroundUrl ? `url(${player.backgroundUrl})` : null;
21
24
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -28,11 +31,12 @@ const SlidePlayer = props => {
28
31
  style: {
29
32
  backgroundImage
30
33
  }
31
- }), /*#__PURE__*/_react.default.createElement(_slides.default, player)));
34
+ }), /*#__PURE__*/_react.default.createElement(_slides.default, player), popin ? /*#__PURE__*/_react.default.createElement(_cmPopin.default, popin) : null));
32
35
  };
33
36
 
34
37
  SlidePlayer.propTypes = process.env.NODE_ENV !== "production" ? {
35
- player: _propTypes.default.shape(_slides.default.propTypes)
38
+ player: _propTypes.default.shape(_slides.default.propTypes),
39
+ popin: _propTypes.default.shape(_cmPopin.default.propTypes)
36
40
  } : {};
37
41
  var _default = SlidePlayer;
38
42
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-player/player/index.js"],"names":["SlidePlayer","props","player","backgroundImage","backgroundUrl","style","wrapper","playerWrapper","playerBackground","propTypes","PropTypes","shape","SlidesPlayer"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,WAAW,GAAGC,KAAK,IAAI;AAC3B,QAAM;AAACC,IAAAA;AAAD,MAAWD,KAAjB;AACA,QAAME,eAAe,GAAGD,MAAM,CAACE,aAAP,GAAwB,OAAMF,MAAM,CAACE,aAAc,GAAnD,GAAwD,IAAhF;AACA,sBACE;AAAK,iBAAU,aAAf;AAA6B,IAAA,SAAS,EAAEC,eAAMC;AAA9C,kBACE;AAAK,IAAA,SAAS,EAAED,eAAME;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEF,eAAMG,gBAAtB;AAAwC,IAAA,KAAK,EAAE;AAACL,MAAAA;AAAD;AAA/C,IADF,eAEE,6BAAC,eAAD,EAAkBD,MAAlB,CAFF,CADF,CADF;AAQD,CAXD;;AAaAF,WAAW,CAACS,SAAZ,2CAAwB;AACtBP,EAAAA,MAAM,EAAEQ,mBAAUC,KAAV,CAAgBC,gBAAaH,SAA7B;AADc,CAAxB;eAIeT,W","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport SlidesPlayer from './slides';\nimport style from './style.css';\n\nconst SlidePlayer = props => {\n const {player} = props;\n const backgroundImage = player.backgroundUrl ? `url(${player.backgroundUrl})` : null;\n return (\n <div data-name=\"slidePlayer\" className={style.wrapper}>\n <div className={style.playerWrapper}>\n <div className={style.playerBackground} style={{backgroundImage}} />\n <SlidesPlayer {...player} />\n </div>\n </div>\n );\n};\n\nSlidePlayer.propTypes = {\n player: PropTypes.shape(SlidesPlayer.propTypes)\n};\n\nexport default SlidePlayer;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/template/app-player/player/index.js"],"names":["SlidePlayer","props","player","popin","backgroundImage","backgroundUrl","style","wrapper","playerWrapper","playerBackground","propTypes","PropTypes","shape","SlidesPlayer","CMPopin"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,WAAW,GAAGC,KAAK,IAAI;AAC3B,QAAM;AAACC,IAAAA,MAAD;AAASC,IAAAA;AAAT,MAAkBF,KAAxB;AACA,QAAMG,eAAe,GAAGF,MAAM,CAACG,aAAP,GAAwB,OAAMH,MAAM,CAACG,aAAc,GAAnD,GAAwD,IAAhF;AACA,sBACE;AAAK,iBAAU,aAAf;AAA6B,IAAA,SAAS,EAAEC,eAAMC;AAA9C,kBACE;AAAK,IAAA,SAAS,EAAED,eAAME;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEF,eAAMG,gBAAtB;AAAwC,IAAA,KAAK,EAAE;AAACL,MAAAA;AAAD;AAA/C,IADF,eAEE,6BAAC,eAAD,EAAkBF,MAAlB,CAFF,EAGGC,KAAK,gBAAG,6BAAC,gBAAD,EAAaA,KAAb,CAAH,GAA4B,IAHpC,CADF,CADF;AASD,CAZD;;AAcAH,WAAW,CAACU,SAAZ,2CAAwB;AACtBR,EAAAA,MAAM,EAAES,mBAAUC,KAAV,CAAgBC,gBAAaH,SAA7B,CADc;AAEtBP,EAAAA,KAAK,EAAEQ,mBAAUC,KAAV,CAAgBE,iBAAQJ,SAAxB;AAFe,CAAxB;eAKeV,W","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport CMPopin from '../../../molecule/cm-popin';\nimport SlidesPlayer from './slides';\nimport style from './style.css';\n\nconst SlidePlayer = props => {\n const {player, popin} = props;\n const backgroundImage = player.backgroundUrl ? `url(${player.backgroundUrl})` : null;\n return (\n <div data-name=\"slidePlayer\" className={style.wrapper}>\n <div className={style.playerWrapper}>\n <div className={style.playerBackground} style={{backgroundImage}} />\n <SlidesPlayer {...player} />\n {popin ? <CMPopin {...popin} /> : null}\n </div>\n </div>\n );\n};\n\nSlidePlayer.propTypes = {\n player: PropTypes.shape(SlidesPlayer.propTypes),\n popin: PropTypes.shape(CMPopin.propTypes)\n};\n\nexport default SlidePlayer;\n"],"file":"index.js"}