@coorpacademy/components 10.22.3 → 10.22.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -5
- package/es/atom/choice/index.native.js +132 -0
- package/es/atom/choice/index.native.js.map +1 -0
- package/es/atom/drag-and-drop/index.js +2 -1
- package/es/atom/drag-and-drop/index.js.map +1 -1
- package/es/atom/gradient/index.native.js +46 -0
- package/es/atom/gradient/index.native.js.map +1 -0
- package/es/atom/header-back-button/index.native.js +3 -4
- package/es/atom/header-back-button/index.native.js.map +1 -1
- package/es/atom/html/index.native.js +146 -0
- package/es/atom/html/index.native.js.map +1 -0
- package/es/atom/image-backgound/index.native.js +90 -0
- package/es/atom/image-backgound/index.native.js.map +1 -0
- package/es/atom/input-checkbox/index.js +3 -2
- package/es/atom/input-checkbox/index.js.map +1 -1
- package/es/atom/input-switch/index.js +45 -7
- package/es/atom/input-switch/index.js.map +1 -1
- package/es/atom/input-switch/style.css +56 -6
- package/es/atom/select-modal/index.native.js +113 -0
- package/es/atom/select-modal/index.native.js.map +1 -0
- package/es/atom/space/index.native.js +21 -0
- package/es/atom/space/index.native.js.map +1 -0
- package/es/atom/text/index.native.js +31 -0
- package/es/atom/text/index.native.js.map +1 -0
- package/es/hoc/modal/index.native.js +97 -0
- package/es/hoc/modal/index.native.js.map +1 -0
- package/es/hoc/modal/select/index.native.js +86 -0
- package/es/hoc/modal/select/index.native.js.map +1 -0
- package/es/hoc/modal/select-item/index.native.js +54 -0
- package/es/hoc/modal/select-item/index.native.js.map +1 -0
- package/es/hoc/touchable/index.native.js.map +1 -1
- package/es/index.js +2 -1
- package/es/index.js.map +1 -1
- package/es/molecule/answer/index.js +39 -32
- package/es/molecule/answer/index.js.map +1 -1
- package/es/molecule/cm-popin/index.js +125 -19
- package/es/molecule/cm-popin/index.js.map +1 -1
- package/es/molecule/cm-popin/style.css +176 -9
- package/es/molecule/feedback/index.js +7 -3
- package/es/molecule/feedback/index.js.map +1 -1
- package/es/molecule/feedback/style.css +24 -0
- package/es/molecule/questions/free-text/index.native.js +8 -8
- package/es/molecule/questions/free-text/index.native.js.map +1 -1
- package/es/molecule/questions/mobile/template/index.native.js +222 -0
- package/es/molecule/questions/mobile/template/index.native.js.map +1 -0
- package/es/template/app-player/player/index.js +6 -3
- package/es/template/app-player/player/index.js.map +1 -1
- package/es/template/app-player/popin-end/index.js +21 -6
- package/es/template/app-player/popin-end/index.js.map +1 -1
- package/es/template/app-player/popin-end/style.css +1 -1
- package/es/template/app-player/popin-end/summary.css +65 -0
- package/es/template/app-player/popin-end/summary.js +57 -7
- package/es/template/app-player/popin-end/summary.js.map +1 -1
- package/es/template/app-player/popin-header/index.js +33 -12
- package/es/template/app-player/popin-header/index.js.map +1 -1
- package/es/template/app-player/popin-header/style.css +93 -0
- package/es/template/app-player/popin-no-access/index.js +27 -0
- package/es/template/app-player/popin-no-access/index.js.map +1 -0
- package/es/template/app-review/prop-types.js +2 -1
- package/es/template/app-review/prop-types.js.map +1 -1
- package/es/template/app-review/slides/index.js +2 -2
- package/es/template/app-review/slides/index.js.map +1 -1
- package/es/template/app-review/template-context.js +1 -0
- package/es/template/app-review/template-context.js.map +1 -1
- package/es/template/common/dashboard/index.js +6 -3
- package/es/template/common/dashboard/index.js.map +1 -1
- package/es/types/app-review.d.js +2 -0
- package/es/types/app-review.d.js.map +1 -0
- package/es/types/progression-engine.d.js +2 -0
- package/es/types/progression-engine.d.js.map +1 -0
- package/es/types/translations.js +2 -0
- package/es/types/translations.js.map +1 -0
- package/es/util/build-query-string.js +9 -0
- package/es/util/build-query-string.js.map +1 -0
- package/es/util/get-clean-uri.js +4 -0
- package/es/util/get-clean-uri.js.map +1 -0
- package/es/util/get-resized-image.js +39 -0
- package/es/util/get-resized-image.js.map +1 -0
- package/es/util/parse-template-string.js +4 -2
- package/es/util/parse-template-string.js.map +1 -1
- package/es/variables/colors.css +1 -0
- package/es/variables/theme.native.js +1 -0
- package/es/variables/theme.native.js.map +1 -1
- package/lib/atom/choice/index.native.js +150 -0
- package/lib/atom/choice/index.native.js.map +1 -0
- package/lib/atom/drag-and-drop/index.js +2 -1
- package/lib/atom/drag-and-drop/index.js.map +1 -1
- package/lib/atom/gradient/index.native.js +56 -0
- package/lib/atom/gradient/index.native.js.map +1 -0
- package/lib/atom/header-back-button/index.native.js +3 -4
- package/lib/atom/header-back-button/index.native.js.map +1 -1
- package/lib/atom/html/index.native.js +163 -0
- package/lib/atom/html/index.native.js.map +1 -0
- package/lib/atom/image-backgound/index.native.js +105 -0
- package/lib/atom/image-backgound/index.native.js.map +1 -0
- package/lib/atom/input-checkbox/index.js +2 -1
- package/lib/atom/input-checkbox/index.js.map +1 -1
- package/lib/atom/input-switch/index.js +45 -7
- package/lib/atom/input-switch/index.js.map +1 -1
- package/lib/atom/input-switch/style.css +56 -6
- package/lib/atom/select-modal/index.native.js +135 -0
- package/lib/atom/select-modal/index.native.js.map +1 -0
- package/lib/atom/space/index.native.js +33 -0
- package/lib/atom/space/index.native.js.map +1 -0
- package/lib/atom/text/index.native.js +46 -0
- package/lib/atom/text/index.native.js.map +1 -0
- package/lib/hoc/modal/index.native.js +114 -0
- package/lib/hoc/modal/index.native.js.map +1 -0
- package/lib/hoc/modal/select/index.native.js +103 -0
- package/lib/hoc/modal/select/index.native.js.map +1 -0
- package/lib/hoc/modal/select-item/index.native.js +70 -0
- package/lib/hoc/modal/select-item/index.native.js.map +1 -0
- package/lib/hoc/touchable/index.native.js.map +1 -1
- package/lib/index.js +4 -0
- package/lib/index.js.map +1 -1
- package/lib/molecule/answer/index.js +39 -32
- package/lib/molecule/answer/index.js.map +1 -1
- package/lib/molecule/cm-popin/index.js +126 -18
- package/lib/molecule/cm-popin/index.js.map +1 -1
- package/lib/molecule/cm-popin/style.css +176 -9
- package/lib/molecule/feedback/index.js +7 -3
- package/lib/molecule/feedback/index.js.map +1 -1
- package/lib/molecule/feedback/style.css +24 -0
- package/lib/molecule/questions/free-text/index.native.js +7 -7
- package/lib/molecule/questions/free-text/index.native.js.map +1 -1
- package/lib/molecule/questions/mobile/template/index.native.js +243 -0
- package/lib/molecule/questions/mobile/template/index.native.js.map +1 -0
- package/lib/template/app-player/player/index.js +7 -3
- package/lib/template/app-player/player/index.js.map +1 -1
- package/lib/template/app-player/popin-end/index.js +21 -6
- package/lib/template/app-player/popin-end/index.js.map +1 -1
- package/lib/template/app-player/popin-end/style.css +1 -1
- package/lib/template/app-player/popin-end/summary.css +65 -0
- package/lib/template/app-player/popin-end/summary.js +58 -7
- package/lib/template/app-player/popin-end/summary.js.map +1 -1
- package/lib/template/app-player/popin-header/index.js +32 -11
- package/lib/template/app-player/popin-header/index.js.map +1 -1
- package/lib/template/app-player/popin-header/style.css +93 -0
- package/lib/template/app-player/popin-no-access/index.js +37 -0
- package/lib/template/app-player/popin-no-access/index.js.map +1 -0
- package/lib/template/app-review/prop-types.js +2 -1
- package/lib/template/app-review/prop-types.js.map +1 -1
- package/lib/template/app-review/slides/index.js +2 -2
- package/lib/template/app-review/slides/index.js.map +1 -1
- package/lib/template/app-review/template-context.js +1 -0
- package/lib/template/app-review/template-context.js.map +1 -1
- package/lib/template/common/dashboard/index.js +7 -3
- package/lib/template/common/dashboard/index.js.map +1 -1
- package/lib/types/app-review.d.js +2 -0
- package/lib/types/app-review.d.js.map +1 -0
- package/lib/types/progression-engine.d.js +2 -0
- package/lib/types/progression-engine.d.js.map +1 -0
- package/lib/types/translations.js +2 -0
- package/lib/types/translations.js.map +1 -0
- package/lib/util/build-query-string.js +17 -0
- package/lib/util/build-query-string.js.map +1 -0
- package/lib/util/get-clean-uri.js +10 -0
- package/lib/util/get-clean-uri.js.map +1 -0
- package/lib/util/get-resized-image.js +49 -0
- package/lib/util/get-resized-image.js.map +1 -0
- package/lib/util/parse-template-string.js +4 -2
- package/lib/util/parse-template-string.js.map +1 -1
- package/lib/variables/colors.css +1 -0
- package/lib/variables/theme.native.js +3 -1
- package/lib/variables/theme.native.js.map +1 -1
- package/package.json +8 -4
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import _noop from "lodash/fp/noop";
|
|
2
|
+
import React, { useState, useEffect, useMemo } from 'react';
|
|
3
|
+
import { View, FlatList, StyleSheet } from 'react-native';
|
|
4
|
+
import { useTemplateContext } from '../../../template/app-review/template-context';
|
|
5
|
+
import Modal from '../index.native';
|
|
6
|
+
import ModalSelectItem from '../select-item/index.native';
|
|
7
|
+
|
|
8
|
+
const createStyleSheet = theme => StyleSheet.create({
|
|
9
|
+
content: {
|
|
10
|
+
paddingHorizontal: 0
|
|
11
|
+
},
|
|
12
|
+
separator: {
|
|
13
|
+
borderTopWidth: 1,
|
|
14
|
+
borderColor: theme.colors.border
|
|
15
|
+
},
|
|
16
|
+
list: {
|
|
17
|
+
width: '100%'
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
const keyExtractor = (item, index) => {
|
|
22
|
+
return `modal-select-item-${index + 1}`;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const createRenderItem = (value, testID, onChange) => ({
|
|
26
|
+
item,
|
|
27
|
+
index
|
|
28
|
+
}) => {
|
|
29
|
+
// eslint-disable-next-line unicorn/consistent-function-scoping
|
|
30
|
+
const handleChange = _value => () => onChange(_value);
|
|
31
|
+
|
|
32
|
+
return /*#__PURE__*/React.createElement(ModalSelectItem, {
|
|
33
|
+
onPress: handleChange(item.text),
|
|
34
|
+
isSelected: value === item.text,
|
|
35
|
+
testID: `${testID}-item-${index + 1}`
|
|
36
|
+
}, item.text);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const createSeparator = styleSheet => () => {
|
|
40
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
41
|
+
style: styleSheet?.separator
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const ModalSelect = props => {
|
|
46
|
+
const templateContext = useTemplateContext();
|
|
47
|
+
const [styleSheet, setStylesheet] = useState(null);
|
|
48
|
+
const {
|
|
49
|
+
theme
|
|
50
|
+
} = templateContext;
|
|
51
|
+
const {
|
|
52
|
+
value = '',
|
|
53
|
+
values,
|
|
54
|
+
onChange,
|
|
55
|
+
onClose = _noop,
|
|
56
|
+
testID = 'modal-select'
|
|
57
|
+
} = props;
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
const _stylesheet = createStyleSheet(theme);
|
|
60
|
+
|
|
61
|
+
setStylesheet(_stylesheet);
|
|
62
|
+
}, [theme]);
|
|
63
|
+
const renderItem = useMemo(() => createRenderItem(value, testID, onChange), [value, testID, onChange]);
|
|
64
|
+
const renderSeparator = useMemo(() => styleSheet ? createSeparator(styleSheet) : null, [styleSheet]);
|
|
65
|
+
|
|
66
|
+
if (!styleSheet) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return /*#__PURE__*/React.createElement(Modal, {
|
|
71
|
+
onClose: onClose,
|
|
72
|
+
contentStyle: styleSheet?.content,
|
|
73
|
+
testID: testID
|
|
74
|
+
}, /*#__PURE__*/React.createElement(FlatList, {
|
|
75
|
+
data: values,
|
|
76
|
+
renderItem: renderItem,
|
|
77
|
+
keyExtractor: keyExtractor,
|
|
78
|
+
showsVerticalScrollIndicator: false,
|
|
79
|
+
ItemSeparatorComponent: renderSeparator,
|
|
80
|
+
style: styleSheet?.list,
|
|
81
|
+
testID: `${testID}-items`
|
|
82
|
+
}));
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export default ModalSelect;
|
|
86
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/hoc/modal/select/index.native.tsx"],"names":["React","useState","useEffect","useMemo","View","FlatList","StyleSheet","useTemplateContext","Modal","ModalSelectItem","createStyleSheet","theme","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 {noop} from 'lodash/fp';\nimport type {PressEvent} from 'react-native/Libraries/Types/CoreEventTypes';\n\nimport type {ChoiceItem} from '../../../types/progression-engine.d';\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\nexport type OnChangeFunction = (value: string) => void;\n\nexport type Props = {\n value?: string;\n values: Array<ChoiceItem>;\n onChange: OnChangeFunction;\n onClose?: (event: PressEvent) => 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: string, 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: string) => () => 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 = noop, 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\n const renderSeparator = useMemo(() => (styleSheet ? createSeparator(styleSheet) : null), [\n styleSheet\n ]);\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,54 @@
|
|
|
1
|
+
import React, { useState, useEffect } from 'react';
|
|
2
|
+
import { StyleSheet } from 'react-native';
|
|
3
|
+
import Text from '../../../atom/text/index.native';
|
|
4
|
+
import Touchable from '../../touchable/index.native';
|
|
5
|
+
import { useTemplateContext } from '../../../template/app-review/template-context';
|
|
6
|
+
|
|
7
|
+
const createStyleSheet = (brandTheme, theme) => StyleSheet.create({
|
|
8
|
+
container: {
|
|
9
|
+
backgroundColor: theme.colors.white,
|
|
10
|
+
padding: theme.spacing.small
|
|
11
|
+
},
|
|
12
|
+
text: {
|
|
13
|
+
fontWeight: theme.fontWeight.bold,
|
|
14
|
+
color: theme.colors.black
|
|
15
|
+
},
|
|
16
|
+
selectedTextStyle: {
|
|
17
|
+
color: brandTheme?.colors.primary
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
const ModalSelectItem = props => {
|
|
22
|
+
const templateContext = useTemplateContext();
|
|
23
|
+
const [styleSheet, setStylesheet] = useState(null);
|
|
24
|
+
const {
|
|
25
|
+
brandTheme,
|
|
26
|
+
theme
|
|
27
|
+
} = templateContext;
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
const _stylesheet = createStyleSheet(brandTheme, theme);
|
|
30
|
+
|
|
31
|
+
setStylesheet(_stylesheet);
|
|
32
|
+
}, [theme, brandTheme]);
|
|
33
|
+
|
|
34
|
+
if (!styleSheet) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const {
|
|
39
|
+
children,
|
|
40
|
+
onPress,
|
|
41
|
+
isSelected,
|
|
42
|
+
testID
|
|
43
|
+
} = props;
|
|
44
|
+
return /*#__PURE__*/React.createElement(Touchable, {
|
|
45
|
+
onPress: onPress,
|
|
46
|
+
style: styleSheet.container,
|
|
47
|
+
testID: testID
|
|
48
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
49
|
+
style: [styleSheet.text, isSelected && styleSheet.selectedTextStyle]
|
|
50
|
+
}, children));
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export default ModalSelectItem;
|
|
54
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/hoc/modal/select-item/index.native.tsx"],"names":["React","useState","useEffect","StyleSheet","Text","Touchable","useTemplateContext","createStyleSheet","brandTheme","theme","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,OAAOA,KAAP,IAAeC,QAAf,EAAyBC,SAAzB,QAAyC,OAAzC;AACA,SAAQC,UAAR,QAAoC,cAApC;AAGA,OAAOC,IAAP,MAAiB,iCAAjB;AACA,OAAOC,SAAP,MAAsB,8BAAtB;AACA,SAAQC,kBAAR,QAAiC,+CAAjC;;AAwBA,MAAMC,gBAAgB,GAAG,CAACC,UAAD,EAAkBC,KAAlB,KACvBN,UAAU,CAACO,MAAX,CAAkB;AAChBC,EAAAA,SAAS,EAAE;AACTC,IAAAA,eAAe,EAAEH,KAAK,CAACI,MAAN,CAAaC,KADrB;AAETC,IAAAA,OAAO,EAAEN,KAAK,CAACO,OAAN,CAAcC;AAFd,GADK;AAKhBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,UAAU,EAAEV,KAAK,CAACU,UAAN,CAAiBC,IADzB;AAEJC,IAAAA,KAAK,EAAEZ,KAAK,CAACI,MAAN,CAAaS;AAFhB,GALU;AAShBC,EAAAA,iBAAiB,EAAE;AACjBF,IAAAA,KAAK,EAAEb,UAAU,EAAEK,MAAZ,CAAmBW;AADT;AATH,CAAlB,CADF;;AAeA,MAAMC,eAAe,GAAIC,KAAD,IAAkB;AACxC,QAAMC,eAAe,GAAGrB,kBAAkB,EAA1C;AACA,QAAM,CAACsB,UAAD,EAAaC,aAAb,IAA8B5B,QAAQ,CAAwB,IAAxB,CAA5C;AACA,QAAM;AAACO,IAAAA,UAAD;AAAaC,IAAAA;AAAb,MAAsBkB,eAA5B;AAEAzB,EAAAA,SAAS,CAAC,MAAM;AACd,UAAM4B,WAAW,GAAGvB,gBAAgB,CAACC,UAAD,EAAaC,KAAb,CAApC;;AACAoB,IAAAA,aAAa,CAACC,WAAD,CAAb;AACD,GAHQ,EAGN,CAACrB,KAAD,EAAQD,UAAR,CAHM,CAAT;;AAKA,MAAI,CAACoB,UAAL,EAAiB;AACf,WAAO,IAAP;AACD;;AAED,QAAM;AAACG,IAAAA,QAAD;AAAWC,IAAAA,OAAX;AAAoBC,IAAAA,UAApB;AAAgCC,IAAAA;AAAhC,MAA0CR,KAAhD;AAEA,sBACE,oBAAC,SAAD;AAAW,IAAA,OAAO,EAAEM,OAApB;AAA6B,IAAA,KAAK,EAAEJ,UAAU,CAACjB,SAA/C;AAA0D,IAAA,MAAM,EAAEuB;AAAlE,kBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAE,CAACN,UAAU,CAACV,IAAZ,EAAkBe,UAAU,IAAIL,UAAU,CAACL,iBAA3C;AAAb,KAA6EQ,QAA7E,CADF,CADF;AAKD,CArBD;;AAuBA,eAAeN,eAAf","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":["TouchableOpacity","TouchableHighlight","React","useMemo","useTemplateContext","ANALYTICS_EVENT_TYPE","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","PRESS","handleLongPress","LONG_PRESS","colors","gray","light"],"mappings":";;AAAA,SAAQA,gBAAR,EAA0BC,kBAA1B,QAA8D,cAA9D;AAQA,OAAOC,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,SAAQC,kBAAR,QAAiC,4CAAjC;AACA,SAAQC,oBAAR,QAAoE,2BAApE;AAGA,MAAMC,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,GAAGf,kBAAkB,EAA1C;AAEA,QAAM;AAACgB,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,GAAGzB,OAAO,CACzB,MAAO0B,KAAD,IAAuB;AAC3B,QAAI,CAACP,OAAL,EAAc;AAEdD,IAAAA,SAAS,EAAES,OAAX;AAEAhB,IAAAA,SAAS,IAAIH,QAAQ,CAACN,oBAAoB,CAAC0B,KAAtB,EAA6BlB,WAA7B,EAA0CC,SAA1C,EAAqDC,eAArD,CAArB;AACAO,IAAAA,OAAO,CAACO,KAAD,CAAP;AACD,GARwB,EASzB,CAACf,SAAD,EAAYD,WAAZ,EAAyBE,eAAzB,EAA0CO,OAA1C,EAAmDD,SAAnD,CATyB,CAA3B;AAYA,QAAMW,eAAe,GAAG7B,OAAO,CAC7B,MAAO0B,KAAD,IAAuB;AAC3B,QAAI,CAACN,WAAL,EAAkB;AAElBF,IAAAA,SAAS,EAAES,OAAX;AAEAhB,IAAAA,SAAS,IACPH,QAAQ,CAACN,oBAAoB,CAAC4B,UAAtB,EAAkCpB,WAAlC,EAA+CC,SAA/C,EAA0DC,eAA1D,CADV;AAEAQ,IAAAA,WAAW,CAACM,KAAD,CAAX;AACD,GAT4B,EAU7B,CAACf,SAAD,EAAYD,WAAZ,EAAyBE,eAAzB,EAA0CQ,WAA1C,EAAuDF,SAAvD,CAV6B,CAA/B;;AAaA,MAAII,WAAJ,EAAiB;AACf,wBACE,oBAAC,kBAAD,eACMP,KADN;AAEE,MAAA,OAAO,EAAEZ,OAFX;AAGE,MAAA,aAAa,EAAEc,KAAK,CAACc,MAAN,CAAaC,IAAb,CAAkBC,KAHnC;AAIE,MAAA,OAAO,EAAER,WAJX;AAKE,MAAA,WAAW,EAAEI,eALf;AAME,MAAA,aAAa,EAAEN,aAAa,KAAKC,QAAQ,GAAG,CAAH,GAAO,IAApB;AAN9B,OADF;AAUD;;AAED,sBACE,oBAAC,gBAAD,eACMT,KADN;AAEE,IAAA,OAAO,EAAEZ,OAFX;AAGE,IAAA,OAAO,EAAEsB,WAHX;AAIE,IAAA,WAAW,EAAEI,eAJf;AAKE,IAAA,aAAa,EAAGR,iBAAiB,IAAI,CAAtB,IAA4BE,aAA5B,KAA8CC,QAAQ,GAAG,CAAH,GAAO,GAA7D;AALjB,KADF;AASD,CA/DD;;AAiEA,eAAeV,SAAf","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
|
|
1
|
+
{"version":3,"sources":["../../../src/hoc/touchable/index.native.tsx"],"names":["TouchableOpacity","TouchableHighlight","React","useMemo","useTemplateContext","ANALYTICS_EVENT_TYPE","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","PRESS","handleLongPress","LONG_PRESS","colors","gray","light"],"mappings":";;AAAA,SAAQA,gBAAR,EAA0BC,kBAA1B,QAA8D,cAA9D;AAQA,OAAOC,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,SAAQC,kBAAR,QAAiC,4CAAjC;AACA,SAAQC,oBAAR,QAAoE,2BAApE;AAGA,MAAMC,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,GAAGf,kBAAkB,EAA1C;AAEA,QAAM;AAACgB,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,GAAGzB,OAAO,CACzB,MAAO0B,KAAD,IAAuB;AAC3B,QAAI,CAACP,OAAL,EAAc;AAEdD,IAAAA,SAAS,EAAES,OAAX;AAEAhB,IAAAA,SAAS,IAAIH,QAAQ,CAACN,oBAAoB,CAAC0B,KAAtB,EAA6BlB,WAA7B,EAA0CC,SAA1C,EAAqDC,eAArD,CAArB;AACAO,IAAAA,OAAO,CAACO,KAAD,CAAP;AACD,GARwB,EASzB,CAACf,SAAD,EAAYD,WAAZ,EAAyBE,eAAzB,EAA0CO,OAA1C,EAAmDD,SAAnD,CATyB,CAA3B;AAYA,QAAMW,eAAe,GAAG7B,OAAO,CAC7B,MAAO0B,KAAD,IAAuB;AAC3B,QAAI,CAACN,WAAL,EAAkB;AAElBF,IAAAA,SAAS,EAAES,OAAX;AAEAhB,IAAAA,SAAS,IACPH,QAAQ,CAACN,oBAAoB,CAAC4B,UAAtB,EAAkCpB,WAAlC,EAA+CC,SAA/C,EAA0DC,eAA1D,CADV;AAEAQ,IAAAA,WAAW,CAACM,KAAD,CAAX;AACD,GAT4B,EAU7B,CAACf,SAAD,EAAYD,WAAZ,EAAyBE,eAAzB,EAA0CQ,WAA1C,EAAuDF,SAAvD,CAV6B,CAA/B;;AAaA,MAAII,WAAJ,EAAiB;AACf,wBACE,oBAAC,kBAAD,eACMP,KADN;AAEE,MAAA,OAAO,EAAEZ,OAFX;AAGE,MAAA,aAAa,EAAEc,KAAK,CAACc,MAAN,CAAaC,IAAb,CAAkBC,KAHnC;AAIE,MAAA,OAAO,EAAER,WAJX;AAKE,MAAA,WAAW,EAAEI,eALf;AAME,MAAA,aAAa,EAAEN,aAAa,KAAKC,QAAQ,GAAG,CAAH,GAAO,IAApB;AAN9B,OADF;AAUD;;AAED,sBACE,oBAAC,gBAAD,eACMT,KADN;AAEE,IAAA,OAAO,EAAEZ,OAFX;AAGE,IAAA,OAAO,EAAEsB,WAHX;AAIE,IAAA,WAAW,EAAEI,eAJf;AAKE,IAAA,aAAa,EAAGR,iBAAiB,IAAI,CAAtB,IAA4BE,aAA5B,KAA8CC,QAAQ,GAAG,CAAH,GAAO,GAA7D;AALjB,KADF;AASD,CA/DD;;AAiEA,eAAeV,SAAf","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/es/index.js
CHANGED
|
@@ -3,5 +3,6 @@ import PopinEnd from './template/app-player/popin-end';
|
|
|
3
3
|
import PopinCorrection from './template/app-player/popin-correction';
|
|
4
4
|
import Player from './template/app-player/player';
|
|
5
5
|
import Loading from './template/app-player/loading';
|
|
6
|
-
|
|
6
|
+
import PopinNoAccess from './template/app-player/popin-no-access';
|
|
7
|
+
export { Provider, PopinEnd, PopinCorrection, Loading, Player, PopinNoAccess };
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
package/es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["Provider","PopinEnd","PopinCorrection","Player","Loading"],"mappings":"AAAA,OAAOA,QAAP,MAAqB,iBAArB;AACA,OAAOC,QAAP,MAAqB,iCAArB;AACA,OAAOC,eAAP,MAA4B,wCAA5B;AACA,OAAOC,MAAP,MAAmB,8BAAnB;AACA,OAAOC,OAAP,MAAoB,+BAApB;AAEA,
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["Provider","PopinEnd","PopinCorrection","Player","Loading","PopinNoAccess"],"mappings":"AAAA,OAAOA,QAAP,MAAqB,iBAArB;AACA,OAAOC,QAAP,MAAqB,iCAArB;AACA,OAAOC,eAAP,MAA4B,wCAA5B;AACA,OAAOC,MAAP,MAAmB,8BAAnB;AACA,OAAOC,OAAP,MAAoB,+BAApB;AACA,OAAOC,aAAP,MAA0B,uCAA1B;AAEA,SAAQL,QAAR,EAAkBC,QAAlB,EAA4BC,eAA5B,EAA6CE,OAA7C,EAAsDD,MAAtD,EAA8DE,aAA9D","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"}
|
|
@@ -59,53 +59,60 @@ const MediaView = ({
|
|
|
59
59
|
|
|
60
60
|
MediaView.propTypes = process.env.NODE_ENV !== "production" ? MediaViewPropTypes : {};
|
|
61
61
|
|
|
62
|
-
const
|
|
62
|
+
const Switch = ({
|
|
63
|
+
model,
|
|
64
|
+
help
|
|
65
|
+
}) => {
|
|
63
66
|
const {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
help
|
|
67
|
-
} = props;
|
|
67
|
+
type
|
|
68
|
+
} = model;
|
|
68
69
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
} = model;
|
|
70
|
+
switch (type) {
|
|
71
|
+
case 'qcmDrag':
|
|
72
|
+
return /*#__PURE__*/React.createElement(QcmDrag, _extends({}, model, {
|
|
73
|
+
help: help
|
|
74
|
+
}));
|
|
75
75
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
return /*#__PURE__*/React.createElement(QcmDrag, _extends({}, model, {
|
|
79
|
-
help: help
|
|
80
|
-
}));
|
|
76
|
+
case 'qcm':
|
|
77
|
+
return /*#__PURE__*/React.createElement(Qcm, model);
|
|
81
78
|
|
|
82
|
-
|
|
83
|
-
|
|
79
|
+
case 'qcmGraphic':
|
|
80
|
+
return /*#__PURE__*/React.createElement(QcmGraphic, model);
|
|
84
81
|
|
|
85
|
-
|
|
86
|
-
|
|
82
|
+
case 'freeText':
|
|
83
|
+
return /*#__PURE__*/React.createElement(FreeText, model);
|
|
87
84
|
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
case 'dropDown':
|
|
86
|
+
return /*#__PURE__*/React.createElement(DropDown, model);
|
|
90
87
|
|
|
91
|
-
|
|
92
|
-
|
|
88
|
+
case 'slider':
|
|
89
|
+
return /*#__PURE__*/React.createElement(QuestionRange, model);
|
|
93
90
|
|
|
94
|
-
|
|
95
|
-
|
|
91
|
+
case 'template':
|
|
92
|
+
return /*#__PURE__*/React.createElement(Template, model);
|
|
93
|
+
}
|
|
94
|
+
};
|
|
96
95
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
96
|
+
Switch.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
97
|
+
model: propTypes.model,
|
|
98
|
+
help: propTypes.help
|
|
99
|
+
} : {};
|
|
101
100
|
|
|
102
|
-
|
|
101
|
+
const Answer = props => {
|
|
102
|
+
const {
|
|
103
|
+
model,
|
|
104
|
+
media,
|
|
105
|
+
help
|
|
106
|
+
} = props;
|
|
103
107
|
return /*#__PURE__*/React.createElement("div", {
|
|
104
108
|
"data-name": "answer",
|
|
105
109
|
className: style.wrapper
|
|
106
110
|
}, media ? /*#__PURE__*/React.createElement(MediaView, {
|
|
107
111
|
media: media
|
|
108
|
-
}) : null,
|
|
112
|
+
}) : null, /*#__PURE__*/React.createElement(Switch, {
|
|
113
|
+
model: model,
|
|
114
|
+
help: help
|
|
115
|
+
}));
|
|
109
116
|
};
|
|
110
117
|
|
|
111
118
|
Answer.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/answer/index.js"],"names":["React","VideoPlayer","DropDown","FreeText","QcmDrag","Qcm","QcmGraphic","QuestionRange","Template","Audio","style","propTypes","MediaViewPropTypes","TYPE_AUDIO","TYPE_IMAGE","TYPE_VIDEO","MediaView","media","videoId","type","childProps","backgroundImage","url","video","audio","
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/answer/index.js"],"names":["React","VideoPlayer","DropDown","FreeText","QcmDrag","Qcm","QcmGraphic","QuestionRange","Template","Audio","style","propTypes","MediaViewPropTypes","TYPE_AUDIO","TYPE_IMAGE","TYPE_VIDEO","MediaView","media","videoId","type","childProps","backgroundImage","url","video","audio","Switch","model","help","Answer","props","wrapper"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {omit} from 'lodash/fp';\nimport VideoPlayer from '../video-player';\nimport DropDown from '../questions/drop-down';\nimport FreeText from '../questions/free-text';\nimport QcmDrag from '../questions/qcm-drag';\nimport Qcm from '../questions/qcm';\nimport QcmGraphic from '../questions/qcm-graphic';\nimport QuestionRange from '../questions/question-range';\nimport Template from '../questions/template';\nimport Audio from '../audio';\nimport style from './style.css';\nimport propTypes, {MediaViewPropTypes, TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from './prop-types';\n\nconst MediaView = ({media}) => {\n const {videoId, type, ...childProps} = media;\n switch (type) {\n case TYPE_IMAGE:\n return (\n <div\n className={style.media}\n style={{\n backgroundImage: `url(${media.url})`\n }}\n />\n );\n case TYPE_VIDEO:\n return (\n <div className={style.video}>\n <VideoPlayer {...omit('id', childProps)} id={videoId} height=\"100%\" width=\"100%\" />\n </div>\n );\n case TYPE_AUDIO:\n return (\n <div className={style.audio}>\n <Audio {...omit('id', childProps)} height=\"100%\" width=\"100%\" />\n </div>\n );\n default:\n return null;\n }\n};\n\nMediaView.propTypes = MediaViewPropTypes;\n\nconst Switch = ({model, help}) => {\n const {type} = model;\n\n switch (type) {\n case 'qcmDrag':\n return <QcmDrag {...model} help={help} />;\n case 'qcm':\n return <Qcm {...model} />;\n case 'qcmGraphic':\n return <QcmGraphic {...model} />;\n case 'freeText':\n return <FreeText {...model} />;\n case 'dropDown':\n return <DropDown {...model} />;\n case 'slider':\n return <QuestionRange {...model} />;\n case 'template':\n return <Template {...model} />;\n }\n};\n\nSwitch.propTypes = {\n model: propTypes.model,\n help: propTypes.help\n};\n\nconst Answer = props => {\n const {model, media, help} = props;\n\n return (\n <div data-name=\"answer\" className={style.wrapper}>\n {media ? <MediaView media={media} /> : null}\n <Switch model={model} help={help} />\n </div>\n );\n};\n\nAnswer.propTypes = propTypes;\n\nexport default Answer;\n"],"file":"index.js"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import { NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond, NovaSolidApplicationsWindowUpload3 as WindowUpload } from '@coorpacademy/nova-icons';
|
|
3
|
+
import { NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond, NovaSolidApplicationsWindowUpload3 as WindowUpload, NovaLineSettingsCookie as Cookie } from '@coorpacademy/nova-icons';
|
|
4
|
+
import map from 'lodash/fp/map';
|
|
4
5
|
import Cta from '../../atom/button-link';
|
|
5
6
|
import ButtonLinkIconOnly from '../../atom/button-link-icon-only';
|
|
7
|
+
import InputSwitch from '../../atom/input-switch';
|
|
6
8
|
import style from './style.css';
|
|
7
9
|
|
|
8
10
|
const CMPopin = props => {
|
|
@@ -13,78 +15,182 @@ const CMPopin = props => {
|
|
|
13
15
|
secondButton,
|
|
14
16
|
onClose,
|
|
15
17
|
header,
|
|
16
|
-
icon
|
|
18
|
+
icon,
|
|
19
|
+
backgroundImageUrl,
|
|
20
|
+
descriptionText,
|
|
21
|
+
thirdButton,
|
|
22
|
+
cookieTitle,
|
|
23
|
+
descriptionBtnTxt,
|
|
24
|
+
listBtnSwicth
|
|
17
25
|
} = props;
|
|
18
26
|
const logo = {
|
|
19
27
|
AlertDiamond,
|
|
20
28
|
WindowUpload
|
|
21
29
|
};
|
|
22
30
|
const LogoComponent = logo[icon];
|
|
31
|
+
const backgroundImageStyle = backgroundImageUrl ? {
|
|
32
|
+
backgroundImage: `url(${backgroundImageUrl})`,
|
|
33
|
+
backgroundSize: 'cover'
|
|
34
|
+
} : null;
|
|
35
|
+
|
|
36
|
+
const renderHeader = () => {
|
|
37
|
+
if (header) return /*#__PURE__*/React.createElement("img", {
|
|
38
|
+
className: style.headerBackground,
|
|
39
|
+
src: header
|
|
40
|
+
});
|
|
41
|
+
if (mode === 'cookie') return /*#__PURE__*/React.createElement("div", {
|
|
42
|
+
className: style.cookieHeader
|
|
43
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
44
|
+
className: style.cookieIconContainer
|
|
45
|
+
}, /*#__PURE__*/React.createElement(Cookie, {
|
|
46
|
+
className: style.cookieIcon
|
|
47
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
48
|
+
className: style.cookieTitle
|
|
49
|
+
}, cookieTitle));
|
|
50
|
+
return null;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const getClassBtnSwitch = (index, btnList) => {
|
|
54
|
+
switch (index) {
|
|
55
|
+
case 0:
|
|
56
|
+
return style.firstBtnSwitchContainer;
|
|
57
|
+
|
|
58
|
+
case btnList.length - 1:
|
|
59
|
+
return style.lastBtnSwitchContainer;
|
|
60
|
+
|
|
61
|
+
default:
|
|
62
|
+
return style.singleSwitchContainer;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const renderBtnSwitch = () => {
|
|
67
|
+
return map.convert({
|
|
68
|
+
cap: false
|
|
69
|
+
})((el, index) => {
|
|
70
|
+
const {
|
|
71
|
+
type,
|
|
72
|
+
title,
|
|
73
|
+
value,
|
|
74
|
+
onChange,
|
|
75
|
+
titlePosition,
|
|
76
|
+
theme,
|
|
77
|
+
details,
|
|
78
|
+
requiredSelection,
|
|
79
|
+
disabled
|
|
80
|
+
} = el;
|
|
81
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
82
|
+
key: index,
|
|
83
|
+
className: getClassBtnSwitch(index, listBtnSwicth)
|
|
84
|
+
}, /*#__PURE__*/React.createElement(InputSwitch, {
|
|
85
|
+
type,
|
|
86
|
+
title,
|
|
87
|
+
value,
|
|
88
|
+
onChange,
|
|
89
|
+
titlePosition,
|
|
90
|
+
theme,
|
|
91
|
+
details,
|
|
92
|
+
requiredSelection,
|
|
93
|
+
disabled
|
|
94
|
+
}));
|
|
95
|
+
})(listBtnSwicth);
|
|
96
|
+
};
|
|
97
|
+
|
|
23
98
|
return /*#__PURE__*/React.createElement("div", {
|
|
24
|
-
className: style.background
|
|
99
|
+
className: mode !== 'cookie' ? style.background : null,
|
|
100
|
+
style: backgroundImageStyle,
|
|
101
|
+
"data-name": 'cm-popin-container'
|
|
25
102
|
}, /*#__PURE__*/React.createElement("div", {
|
|
26
|
-
className: style.popin
|
|
103
|
+
className: mode === 'cookie' ? style.popinCookie : style.popin
|
|
27
104
|
}, /*#__PURE__*/React.createElement("header", {
|
|
28
105
|
className: style.popinHeader
|
|
29
|
-
},
|
|
30
|
-
className: style.headerBackground,
|
|
31
|
-
src: header
|
|
32
|
-
}) : null, onClose ? /*#__PURE__*/React.createElement(ButtonLinkIconOnly, {
|
|
106
|
+
}, renderHeader(), onClose ? /*#__PURE__*/React.createElement(ButtonLinkIconOnly, {
|
|
33
107
|
onClick: onClose,
|
|
34
108
|
"data-name": 'close-icon',
|
|
35
109
|
"aria-label": 'close-icon',
|
|
36
110
|
size: "small",
|
|
37
111
|
icon: "close"
|
|
38
112
|
}) : null), /*#__PURE__*/React.createElement("div", {
|
|
113
|
+
className: style.titleContainer
|
|
114
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
39
115
|
className: style.contentSection
|
|
40
116
|
}, LogoComponent ? /*#__PURE__*/React.createElement(LogoComponent, {
|
|
41
117
|
className: style.icon
|
|
42
118
|
}) : null, content ? /*#__PURE__*/React.createElement("p", {
|
|
43
119
|
className: mode === 'alert' ? style.content : style.message,
|
|
44
|
-
"data-name":
|
|
120
|
+
"data-name": 'cm-popin-content' // eslint-disable-next-line react/no-danger
|
|
45
121
|
,
|
|
46
122
|
dangerouslySetInnerHTML: {
|
|
47
123
|
__html: content
|
|
48
124
|
}
|
|
49
|
-
}) : null), /*#__PURE__*/React.createElement("
|
|
125
|
+
}) : null), descriptionText ? /*#__PURE__*/React.createElement("p", {
|
|
126
|
+
className: style.descriptionText // eslint-disable-next-line react/no-danger
|
|
127
|
+
,
|
|
128
|
+
dangerouslySetInnerHTML: {
|
|
129
|
+
__html: descriptionText
|
|
130
|
+
}
|
|
131
|
+
}) : null), descriptionBtnTxt ? /*#__PURE__*/React.createElement("div", {
|
|
132
|
+
className: style.descriptionBtn
|
|
133
|
+
}, descriptionBtnTxt) : null, renderBtnSwitch(), /*#__PURE__*/React.createElement("div", {
|
|
50
134
|
className: style.buttonContainer
|
|
51
135
|
}, firstButton ? /*#__PURE__*/React.createElement("div", {
|
|
52
|
-
className: style.button
|
|
136
|
+
className: firstButton.largeButton ? style.largeButton : style.button
|
|
53
137
|
}, /*#__PURE__*/React.createElement(Cta, {
|
|
54
138
|
label: firstButton.label,
|
|
55
139
|
onClick: firstButton.handleOnclick,
|
|
56
|
-
"data-name":
|
|
140
|
+
"data-name": 'cm-popin-cta',
|
|
57
141
|
"aria-label": firstButton['aria-label'],
|
|
58
142
|
type: firstButton.type
|
|
59
143
|
})) : null, secondButton ? /*#__PURE__*/React.createElement("div", {
|
|
60
|
-
className: style.button
|
|
144
|
+
className: secondButton.largeButton ? style.largeButton : style.button
|
|
61
145
|
}, /*#__PURE__*/React.createElement(Cta, {
|
|
62
146
|
label: secondButton.label,
|
|
63
147
|
onClick: secondButton.handleOnclick,
|
|
64
148
|
"data-name": `cm-popin-cta-${secondButton.type}`,
|
|
65
|
-
"aria-label":
|
|
149
|
+
"aria-label": secondButton['aria-label'],
|
|
66
150
|
type: secondButton.type
|
|
151
|
+
})) : null, thirdButton ? /*#__PURE__*/React.createElement("div", {
|
|
152
|
+
className: thirdButton.largeButton ? style.largeButton : style.button
|
|
153
|
+
}, /*#__PURE__*/React.createElement(Cta, {
|
|
154
|
+
label: thirdButton.label,
|
|
155
|
+
onClick: thirdButton.handleOnclick,
|
|
156
|
+
"data-name": `cm-popin-cta-${thirdButton.type}`,
|
|
157
|
+
"aria-label": thirdButton['aria-label'],
|
|
158
|
+
type: thirdButton.type
|
|
67
159
|
})) : null)));
|
|
68
160
|
};
|
|
69
161
|
|
|
70
162
|
CMPopin.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
71
163
|
content: PropTypes.string,
|
|
72
|
-
mode: PropTypes.oneOf(['alert', 'information']),
|
|
164
|
+
mode: PropTypes.oneOf(['alert', 'information', 'cookie']),
|
|
73
165
|
header: PropTypes.string,
|
|
74
166
|
firstButton: PropTypes.shape({
|
|
75
167
|
label: PropTypes.string,
|
|
76
168
|
handleOnclick: PropTypes.func,
|
|
77
169
|
'aria-label': PropTypes.string,
|
|
78
|
-
|
|
170
|
+
largeButton: PropTypes.bool,
|
|
171
|
+
type: PropTypes.oneOf(['dangerous', 'primary', 'secondary'])
|
|
79
172
|
}),
|
|
80
173
|
secondButton: PropTypes.shape({
|
|
81
174
|
label: PropTypes.string,
|
|
82
175
|
handleOnclick: PropTypes.func,
|
|
83
|
-
type: PropTypes.oneOf(['dangerous', 'primary']),
|
|
84
|
-
'aria-label': PropTypes.string
|
|
176
|
+
type: PropTypes.oneOf(['dangerous', 'primary', 'secondary']),
|
|
177
|
+
'aria-label': PropTypes.string,
|
|
178
|
+
largeButton: PropTypes.boolean
|
|
179
|
+
}),
|
|
180
|
+
thirdButton: PropTypes.shape({
|
|
181
|
+
label: PropTypes.string,
|
|
182
|
+
handleOnclick: PropTypes.func,
|
|
183
|
+
type: PropTypes.oneOf(['dangerous', 'primary', 'secondary']),
|
|
184
|
+
'aria-label': PropTypes.string,
|
|
185
|
+
largeButton: PropTypes.boolean
|
|
85
186
|
}),
|
|
86
187
|
onClose: PropTypes.func,
|
|
87
|
-
icon: PropTypes.string
|
|
188
|
+
icon: PropTypes.string,
|
|
189
|
+
backgroundImageUrl: PropTypes.string,
|
|
190
|
+
descriptionText: PropTypes.string,
|
|
191
|
+
cookieTitle: PropTypes.string,
|
|
192
|
+
descriptionBtnTxt: PropTypes.string,
|
|
193
|
+
listBtnSwicth: PropTypes.arrayOf(PropTypes.shape(InputSwitch.propTypes))
|
|
88
194
|
} : {};
|
|
89
195
|
export default CMPopin;
|
|
90
196
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/cm-popin/index.js"],"names":["React","PropTypes","NovaSolidInterfaceFeedbackInterfaceAlertDiamond","AlertDiamond","NovaSolidApplicationsWindowUpload3","WindowUpload","Cta","ButtonLinkIconOnly","style","CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","logo","LogoComponent","background","popin","popinHeader","headerBackground","contentSection","message","__html","buttonContainer","button","label","handleOnclick","type","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":["React","PropTypes","NovaSolidInterfaceFeedbackInterfaceAlertDiamond","AlertDiamond","NovaSolidApplicationsWindowUpload3","WindowUpload","NovaLineSettingsCookie","Cookie","map","Cta","ButtonLinkIconOnly","InputSwitch","style","CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","backgroundImageUrl","descriptionText","thirdButton","cookieTitle","descriptionBtnTxt","listBtnSwicth","logo","LogoComponent","backgroundImageStyle","backgroundImage","backgroundSize","renderHeader","headerBackground","cookieHeader","cookieIconContainer","cookieIcon","getClassBtnSwitch","index","btnList","firstBtnSwitchContainer","length","lastBtnSwitchContainer","singleSwitchContainer","renderBtnSwitch","convert","cap","el","type","title","value","onChange","titlePosition","theme","details","requiredSelection","disabled","background","popinCookie","popin","popinHeader","titleContainer","contentSection","message","__html","descriptionBtn","buttonContainer","largeButton","button","label","handleOnclick","propTypes","string","oneOf","shape","func","bool","boolean","arrayOf"],"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 NovaLineSettingsCookie as Cookie\n} from '@coorpacademy/nova-icons';\nimport map from 'lodash/fp/map';\nimport Cta from '../../atom/button-link';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport InputSwitch from '../../atom/input-switch';\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 thirdButton,\n cookieTitle,\n descriptionBtnTxt,\n listBtnSwicth\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 const renderHeader = () => {\n if (header) return <img className={style.headerBackground} src={header} />;\n if (mode === 'cookie')\n return (\n <div className={style.cookieHeader}>\n <div className={style.cookieIconContainer}>\n <Cookie className={style.cookieIcon} />\n </div>\n <div className={style.cookieTitle}>{cookieTitle}</div>\n </div>\n );\n return null;\n };\n const getClassBtnSwitch = (index, btnList) => {\n switch (index) {\n case 0:\n return style.firstBtnSwitchContainer;\n case btnList.length - 1:\n return style.lastBtnSwitchContainer;\n default:\n return style.singleSwitchContainer;\n }\n };\n const renderBtnSwitch = () => {\n return map.convert({cap: false})((el, index) => {\n const {\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled\n } = el;\n return (\n <div key={index} className={getClassBtnSwitch(index, listBtnSwicth)}>\n <InputSwitch\n {...{\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled\n }}\n />\n </div>\n );\n })(listBtnSwicth);\n };\n return (\n <div\n className={mode !== 'cookie' ? style.background : null}\n style={backgroundImageStyle}\n data-name={'cm-popin-container'}\n >\n <div className={mode === 'cookie' ? style.popinCookie : style.popin}>\n <header className={style.popinHeader}>\n {renderHeader()}\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 {descriptionBtnTxt ? <div className={style.descriptionBtn}>{descriptionBtnTxt}</div> : null}\n {renderBtnSwitch()}\n <div className={style.buttonContainer}>\n {firstButton ? (\n <div className={firstButton.largeButton ? style.largeButton : 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 {thirdButton ? (\n <div className={thirdButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={thirdButton.label}\n onClick={thirdButton.handleOnclick}\n data-name={`cm-popin-cta-${thirdButton.type}`}\n aria-label={thirdButton['aria-label']}\n type={thirdButton.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', 'cookie']),\n header: PropTypes.string,\n firstButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.bool,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary'])\n }),\n secondButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary']),\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.boolean\n }),\n thirdButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary']),\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 cookieTitle: PropTypes.string,\n descriptionBtnTxt: PropTypes.string,\n listBtnSwicth: PropTypes.arrayOf(PropTypes.shape(InputSwitch.propTypes))\n};\n\nexport default CMPopin;\n"],"file":"index.js"}
|