@coorpacademy/components 10.22.8 → 10.22.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/es/atom/choice/index.native.js +6 -3
- package/es/atom/choice/index.native.js.map +1 -1
- package/es/molecule/cm-popin/index.js +4 -2
- package/es/molecule/cm-popin/index.js.map +1 -1
- package/es/molecule/questions/mobile/draggable/index.native.js +144 -0
- package/es/molecule/questions/mobile/draggable/index.native.js.map +1 -0
- package/es/molecule/questions/mobile/slide/index.native.js +119 -0
- package/es/molecule/questions/mobile/slide/index.native.js.map +1 -0
- package/es/molecule/review-correction-popin/prop-types.js +0 -1
- package/es/molecule/review-correction-popin/prop-types.js.map +1 -1
- package/es/organism/review-congrats/style.css +1 -1
- package/es/organism/review-slide/index.js +194 -0
- package/es/organism/review-slide/index.js.map +1 -0
- package/es/organism/review-slide/prop-types.js +39 -0
- package/es/organism/review-slide/prop-types.js.map +1 -0
- package/es/organism/review-slide/style.css +173 -0
- package/es/organism/review-stacked-slides/index.js +74 -0
- package/es/organism/review-stacked-slides/index.js.map +1 -0
- package/es/organism/review-stacked-slides/prop-types.js +15 -0
- package/es/organism/review-stacked-slides/prop-types.js.map +1 -0
- package/es/organism/review-stacked-slides/style.css +174 -0
- package/es/template/app-review/index.js +7 -8
- package/es/template/app-review/index.js.map +1 -1
- package/es/template/app-review/index.native.js +6 -10
- package/es/template/app-review/index.native.js.map +1 -1
- package/es/template/app-review/player/index.js +36 -0
- package/es/template/app-review/player/index.js.map +1 -0
- package/es/template/app-review/{slides → player}/index.native.js +15 -13
- package/es/template/app-review/player/index.native.js.map +1 -0
- package/es/template/app-review/player/prop-types.js +12 -0
- package/es/template/app-review/player/prop-types.js.map +1 -0
- package/es/template/app-review/player/style.css +41 -0
- package/es/template/app-review/prop-types.js +3 -3
- package/es/template/app-review/prop-types.js.map +1 -1
- package/es/types/styles.d.js +2 -0
- package/es/types/styles.d.js.map +1 -0
- package/es/variables/shadow.js +13 -0
- package/es/variables/shadow.js.map +1 -0
- package/lib/atom/choice/index.native.js +6 -3
- package/lib/atom/choice/index.native.js.map +1 -1
- package/lib/molecule/cm-popin/index.js +4 -2
- package/lib/molecule/cm-popin/index.js.map +1 -1
- package/lib/molecule/questions/mobile/draggable/index.native.js +161 -0
- package/lib/molecule/questions/mobile/draggable/index.native.js.map +1 -0
- package/lib/molecule/questions/mobile/slide/index.native.js +136 -0
- package/lib/molecule/questions/mobile/slide/index.native.js.map +1 -0
- package/lib/molecule/review-correction-popin/prop-types.js +0 -1
- package/lib/molecule/review-correction-popin/prop-types.js.map +1 -1
- package/lib/organism/review-congrats/style.css +1 -1
- package/lib/organism/review-slide/index.js +217 -0
- package/lib/organism/review-slide/index.js.map +1 -0
- package/lib/organism/review-slide/prop-types.js +52 -0
- package/lib/organism/review-slide/prop-types.js.map +1 -0
- package/lib/organism/review-slide/style.css +173 -0
- package/lib/organism/review-stacked-slides/index.js +90 -0
- package/lib/organism/review-stacked-slides/index.js.map +1 -0
- package/lib/organism/review-stacked-slides/prop-types.js +29 -0
- package/lib/organism/review-stacked-slides/prop-types.js.map +1 -0
- package/lib/organism/review-stacked-slides/style.css +174 -0
- package/lib/template/app-review/index.js +6 -8
- package/lib/template/app-review/index.js.map +1 -1
- package/lib/template/app-review/index.native.js +6 -11
- package/lib/template/app-review/index.native.js.map +1 -1
- package/lib/template/app-review/player/index.js +51 -0
- package/lib/template/app-review/player/index.js.map +1 -0
- package/lib/template/app-review/{slides → player}/index.native.js +14 -12
- package/lib/template/app-review/player/index.native.js.map +1 -0
- package/lib/template/app-review/player/prop-types.js +25 -0
- package/lib/template/app-review/player/prop-types.js.map +1 -0
- package/lib/template/app-review/player/style.css +41 -0
- package/lib/template/app-review/prop-types.js +3 -3
- package/lib/template/app-review/prop-types.js.map +1 -1
- package/lib/types/styles.d.js +2 -0
- package/lib/types/styles.d.js.map +1 -0
- package/lib/variables/shadow.js +18 -0
- package/lib/variables/shadow.js.map +1 -0
- package/package.json +3 -2
- package/es/template/app-review/slides/index.js +0 -352
- package/es/template/app-review/slides/index.js.map +0 -1
- package/es/template/app-review/slides/index.native.js.map +0 -1
- package/es/template/app-review/slides/prop-types.js +0 -111
- package/es/template/app-review/slides/prop-types.js.map +0 -1
- package/es/template/app-review/slides/style.css +0 -409
- package/lib/template/app-review/slides/index.js +0 -385
- package/lib/template/app-review/slides/index.js.map +0 -1
- package/lib/template/app-review/slides/index.native.js.map +0 -1
- package/lib/template/app-review/slides/prop-types.js +0 -131
- package/lib/template/app-review/slides/prop-types.js.map +0 -1
- package/lib/template/app-review/slides/style.css +0 -409
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/atom/choice/index.native.tsx"],"names":["createStyleSheet","theme","StyleSheet","create","boxShadow","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","backgroundColor","container","minHeight","colors","white","borderRadius","radius","regular","
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/choice/index.native.tsx"],"names":["createStyleSheet","theme","StyleSheet","create","boxShadow","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","backgroundColor","container","minHeight","colors","white","borderRadius","radius","regular","flexDirection","alignItems","textContainer","paddingHorizontal","paddingVertical","justifyContent","flex","squeezedTextContainer","padding","spacing","small","paddingLeft","undefined","paddingRight","text","fontWeight","bold","color","black","textSelected","unselectedImageContainer","borderRightColor","border","imageContainer","overflow","borderTopLeftRadius","borderBottomLeftRadius","image","Choice","children","isSelected","squeezed","isDisabled","onPress","media","testID","prefixTestID","style","questionType","templateContext","brandTheme","styleSheet","setStylesheet","_stylesheet","selectedStyle","primary","borderColor","borderTopRightRadius","borderBottomRightRadius","selectedSuffix","mediaType","type","toLowerCase","url","src","length","source","uri","mediaSuffix","htmlStyle","push","fontSize","medium"],"mappings":"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","sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {View, StyleSheet, ViewStyle} from 'react-native';\nimport type {Media, QuestionType} from '../../types/progression-engine';\n\nimport Html from '../html/index.native';\nimport ImageBackground from '../image-background/index.native';\nimport getCleanUri from '../../util/get-clean-uri';\nimport Touchable from '../../hoc/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 onPress: () => void;\n children: string;\n isDisabled?: boolean;\n testID?: string;\n media?: Media;\n squeezed?: boolean;\n style?: ViewStyle;\n questionType: QuestionType;\n};\n\ntype StyleSheetType = {\n boxShadow: any;\n container: any;\n text: any;\n textSelected: any;\n textContainer: any;\n squeezedTextContainer: any;\n unselectedImageContainer: any;\n imageContainer: any;\n image: any;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n boxShadow: {\n shadowColor: '#000',\n shadowOffset: {width: 0, height: 4},\n shadowOpacity: 0.12,\n shadowRadius: 16,\n elevation: 8,\n backgroundColor: '#0000'\n },\n container: {\n minHeight: 80,\n backgroundColor: theme.colors.white,\n borderRadius: theme.radius.regular,\n flexDirection: 'row',\n alignItems: 'stretch'\n },\n textContainer: {\n paddingHorizontal: 24,\n paddingVertical: 12,\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1\n },\n squeezedTextContainer: {\n padding: theme.spacing.small,\n paddingLeft: undefined,\n paddingVertical: undefined,\n paddingRight: undefined,\n flex: 0\n },\n text: {\n fontWeight: theme.fontWeight.bold,\n color: theme.colors.black\n },\n textSelected: {\n color: theme.colors.white\n },\n unselectedImageContainer: {\n borderRightColor: theme.colors.border\n },\n imageContainer: {\n height: '100%',\n width: '25%',\n overflow: 'hidden',\n borderTopLeftRadius: theme.radius.regular,\n borderBottomLeftRadius: theme.radius.regular\n },\n image: {\n flex: 1\n }\n });\n\nconst Choice = ({\n children,\n isSelected = false,\n squeezed = false,\n isDisabled,\n onPress,\n media,\n testID: prefixTestID,\n style,\n questionType\n}: Props) => {\n const templateContext = useTemplateContext();\n const {theme, brandTheme} = templateContext;\n\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n const selectedStyle = brandTheme && {\n backgroundColor: brandTheme.colors.primary,\n borderColor: brandTheme.colors.primary,\n borderTopRightRadius: theme.radius.regular,\n borderBottomRightRadius: theme.radius.regular\n };\n\n const selectedSuffix = prefixTestID && isSelected ? '-selected' : '';\n const mediaType = media && media.type && media.type === 'img' && media.type.toLowerCase();\n const url =\n media &&\n media.type === 'img' &&\n media.src &&\n media.src.length > 0 &&\n getCleanUri(media.src[0].url);\n\n const source = {uri: url ? getCleanUri(url) : undefined};\n const mediaSuffix = prefixTestID && mediaType ? `-${mediaType}` : '';\n\n const htmlStyle: ViewStyle[] = [styleSheet.text];\n\n if (isSelected) {\n htmlStyle.push(styleSheet.textSelected);\n }\n\n return (\n <Touchable\n onPress={!isDisabled ? onPress : undefined}\n style={style}\n analyticsID=\"question-choice\"\n analyticsParams={{questionType}}\n >\n <View\n style={[styleSheet.boxShadow, styleSheet.container]}\n testID={prefixTestID && `${prefixTestID}${selectedSuffix}`}\n >\n {url ? (\n <View style={styleSheet.imageContainer}>\n <ImageBackground\n testID={prefixTestID && `${prefixTestID}${mediaSuffix}`}\n source={source}\n style={styleSheet.image}\n />\n </View>\n ) : null}\n <View\n style={[\n styleSheet.textContainer,\n squeezed && styleSheet.squeezedTextContainer,\n isSelected && selectedStyle\n ]}\n >\n <Html\n fontSize={squeezed ? theme.fontSize.medium : theme.fontSize.regular}\n style={htmlStyle}\n >\n {children}\n </Html>\n </View>\n </View>\n </Touchable>\n );\n};\n\nexport default Choice;\n"],"file":"index.native.js"}
|
|
@@ -90,7 +90,8 @@ const CMPopin = props => {
|
|
|
90
90
|
theme,
|
|
91
91
|
details,
|
|
92
92
|
requiredSelection,
|
|
93
|
-
disabled
|
|
93
|
+
disabled,
|
|
94
|
+
id
|
|
94
95
|
} = el;
|
|
95
96
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
96
97
|
key: index,
|
|
@@ -104,7 +105,8 @@ const CMPopin = props => {
|
|
|
104
105
|
theme,
|
|
105
106
|
details,
|
|
106
107
|
requiredSelection,
|
|
107
|
-
disabled
|
|
108
|
+
disabled,
|
|
109
|
+
id
|
|
108
110
|
}));
|
|
109
111
|
})(listBtnSwicth);
|
|
110
112
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/cm-popin/index.js"],"names":["CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","backgroundImageUrl","descriptionText","thirdButton","cookieTitle","descriptionBtnTxt","listBtnSwicth","logo","AlertDiamond","WindowUpload","LogoComponent","backgroundImageStyle","backgroundImage","backgroundSize","renderHeader","style","headerBackground","cookieHeader","cookieIconContainer","cookieIcon","getClassBtnSwitch","index","btnList","firstBtnSwitchContainer","length","lastBtnSwitchContainer","singleSwitchContainer","renderBtnSwitch","map","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","PropTypes","string","oneOf","shape","func","bool","boolean","arrayOf","InputSwitch"],"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/cm-popin/index.js"],"names":["CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","backgroundImageUrl","descriptionText","thirdButton","cookieTitle","descriptionBtnTxt","listBtnSwicth","logo","AlertDiamond","WindowUpload","LogoComponent","backgroundImageStyle","backgroundImage","backgroundSize","renderHeader","style","headerBackground","cookieHeader","cookieIconContainer","cookieIcon","getClassBtnSwitch","index","btnList","firstBtnSwitchContainer","length","lastBtnSwitchContainer","singleSwitchContainer","renderBtnSwitch","map","convert","cap","el","type","title","value","onChange","titlePosition","theme","details","requiredSelection","disabled","id","background","popinCookie","popin","popinHeader","titleContainer","contentSection","message","__html","descriptionBtn","buttonContainer","largeButton","button","label","handleOnclick","propTypes","PropTypes","string","oneOf","shape","func","bool","boolean","arrayOf","InputSwitch"],"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 id\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 id\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"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = exports.extractSelectedChoices = void 0;
|
|
5
|
+
|
|
6
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
7
|
+
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
|
|
10
|
+
var _index = _interopRequireDefault(require("../../../../atom/choice/index.native"));
|
|
11
|
+
|
|
12
|
+
var _templateContext = require("../../../../template/app-review/template-context");
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
17
|
+
|
|
18
|
+
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; }
|
|
19
|
+
|
|
20
|
+
const createDropZoneStyle = theme => _reactNative.StyleSheet.create({
|
|
21
|
+
choice: {
|
|
22
|
+
margin: theme.spacing.micro
|
|
23
|
+
},
|
|
24
|
+
dropZone: {
|
|
25
|
+
flexWrap: 'wrap',
|
|
26
|
+
flexDirection: 'row',
|
|
27
|
+
borderStyle: 'dashed',
|
|
28
|
+
borderWidth: 2,
|
|
29
|
+
padding: theme.spacing.micro,
|
|
30
|
+
borderColor: theme.colors.gray.light,
|
|
31
|
+
backgroundColor: theme.colors.gray.extra,
|
|
32
|
+
borderRadius: theme.radius.common,
|
|
33
|
+
marginBottom: theme.spacing.tiny
|
|
34
|
+
},
|
|
35
|
+
emptyContent: {
|
|
36
|
+
justifyContent: 'center',
|
|
37
|
+
alignContent: 'center',
|
|
38
|
+
alignItems: 'center',
|
|
39
|
+
height: 60
|
|
40
|
+
},
|
|
41
|
+
text: {
|
|
42
|
+
color: theme.colors.gray.medium
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
const DropZone = props => {
|
|
47
|
+
const templateContext = (0, _templateContext.useTemplateContext)();
|
|
48
|
+
const {
|
|
49
|
+
theme,
|
|
50
|
+
translations
|
|
51
|
+
} = templateContext;
|
|
52
|
+
const {
|
|
53
|
+
onPress
|
|
54
|
+
} = props;
|
|
55
|
+
const handlePress = (0, _react.useCallback)(item => () => onPress(item), [onPress]);
|
|
56
|
+
const [styleSheet, setStylesheet] = (0, _react.useState)(null);
|
|
57
|
+
(0, _react.useEffect)(() => {
|
|
58
|
+
const _stylesheet = createDropZoneStyle(theme);
|
|
59
|
+
|
|
60
|
+
setStylesheet(_stylesheet);
|
|
61
|
+
}, [theme]);
|
|
62
|
+
|
|
63
|
+
if (!styleSheet) {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const {
|
|
68
|
+
choices
|
|
69
|
+
} = props;
|
|
70
|
+
const mappedSortedChoices = choices.map(item => /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
71
|
+
style: styleSheet.choice,
|
|
72
|
+
key: item._id,
|
|
73
|
+
squeezed: true,
|
|
74
|
+
isSelected: true,
|
|
75
|
+
testID: `choice-${item._id}`,
|
|
76
|
+
onPress: handlePress(item),
|
|
77
|
+
questionType: "qcmDrag"
|
|
78
|
+
}, item.label));
|
|
79
|
+
const hasNoSelectedChoices = mappedSortedChoices.length === 0;
|
|
80
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
81
|
+
style: [styleSheet.dropZone, hasNoSelectedChoices && styleSheet.emptyContent]
|
|
82
|
+
}, hasNoSelectedChoices ? /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
83
|
+
style: styleSheet.text
|
|
84
|
+
}, translations.selectSomethingBelow) : null, !hasNoSelectedChoices && mappedSortedChoices);
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
const createStyleSheet = theme => _reactNative.StyleSheet.create({
|
|
88
|
+
container: {},
|
|
89
|
+
pickableChoices: {
|
|
90
|
+
flexDirection: 'row',
|
|
91
|
+
flexWrap: 'wrap'
|
|
92
|
+
},
|
|
93
|
+
choice: {
|
|
94
|
+
margin: theme.spacing.micro
|
|
95
|
+
}
|
|
96
|
+
}); // this algo could be improve using a single reduce fuction
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
const extractSelectedChoices = (availableChoices, userChoices) => {
|
|
100
|
+
const selectedChoices = userChoices.reduce((accumulator, currentValue) => {
|
|
101
|
+
const foundItem = availableChoices.find(availableChoice => availableChoice.label === currentValue);
|
|
102
|
+
|
|
103
|
+
if (foundItem) {
|
|
104
|
+
return [...accumulator, foundItem];
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return accumulator;
|
|
108
|
+
}, []);
|
|
109
|
+
const notSelectedChoices = availableChoices.filter(availableChoice => !userChoices.includes(availableChoice.label));
|
|
110
|
+
return [selectedChoices, notSelectedChoices];
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
exports.extractSelectedChoices = extractSelectedChoices;
|
|
114
|
+
|
|
115
|
+
const QuestionDraggable = props => {
|
|
116
|
+
const templateContext = (0, _templateContext.useTemplateContext)();
|
|
117
|
+
const {
|
|
118
|
+
theme
|
|
119
|
+
} = templateContext;
|
|
120
|
+
const [styleSheet, setStylesheet] = (0, _react.useState)(null);
|
|
121
|
+
(0, _react.useEffect)(() => {
|
|
122
|
+
const _stylesheet = createStyleSheet(theme);
|
|
123
|
+
|
|
124
|
+
setStylesheet(_stylesheet);
|
|
125
|
+
}, [theme]);
|
|
126
|
+
|
|
127
|
+
if (!styleSheet) {
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
const handlePress = item => () => props.onPress(item);
|
|
132
|
+
|
|
133
|
+
const {
|
|
134
|
+
choices,
|
|
135
|
+
onPress,
|
|
136
|
+
testID,
|
|
137
|
+
userChoices
|
|
138
|
+
} = props;
|
|
139
|
+
const [selectedChoices, notSelectedChoices] = extractSelectedChoices(choices, userChoices);
|
|
140
|
+
const mappedunselectedChoices = notSelectedChoices.map((item, index) => /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
141
|
+
style: styleSheet.choice,
|
|
142
|
+
key: item._id,
|
|
143
|
+
squeezed: true,
|
|
144
|
+
testID: `choice-${item._id}-unselected`,
|
|
145
|
+
onPress: handlePress(item),
|
|
146
|
+
questionType: "qcmDrag"
|
|
147
|
+
}, item.label));
|
|
148
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
149
|
+
style: styleSheet.container,
|
|
150
|
+
testID: testID
|
|
151
|
+
}, /*#__PURE__*/_react.default.createElement(DropZone, {
|
|
152
|
+
choices: selectedChoices,
|
|
153
|
+
onPress: onPress
|
|
154
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
155
|
+
style: styleSheet.pickableChoices
|
|
156
|
+
}, mappedunselectedChoices));
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
var _default = QuestionDraggable;
|
|
160
|
+
exports.default = _default;
|
|
161
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/molecule/questions/mobile/draggable/index.native.tsx"],"names":["createDropZoneStyle","theme","StyleSheet","create","choice","margin","spacing","micro","dropZone","flexWrap","flexDirection","borderStyle","borderWidth","padding","borderColor","colors","gray","light","backgroundColor","extra","borderRadius","radius","common","marginBottom","tiny","emptyContent","justifyContent","alignContent","alignItems","height","text","color","medium","DropZone","props","templateContext","translations","onPress","handlePress","item","styleSheet","setStylesheet","_stylesheet","choices","mappedSortedChoices","map","_id","label","hasNoSelectedChoices","length","selectSomethingBelow","createStyleSheet","container","pickableChoices","extractSelectedChoices","availableChoices","userChoices","selectedChoices","reduce","accumulator","currentValue","foundItem","find","availableChoice","notSelectedChoices","filter","includes","QuestionDraggable","testID","mappedunselectedChoices","index"],"mappings":"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","sourcesContent":["import React, {useCallback, useEffect, useState} from 'react';\nimport {View, StyleSheet, Text} from 'react-native';\nimport QuestionChoice from '../../../../atom/choice/index.native';\nimport {useTemplateContext} from '../../../../template/app-review/template-context';\nimport {Theme} from '../../../../variables/theme.native';\n\nimport type {Choice} from '../../../../types/progression-engine';\n\nexport interface DropZoneProps {\n choices: Array<Choice>;\n onPress: (item: Choice) => void;\n}\n\nconst createDropZoneStyle = (theme: Theme) =>\n StyleSheet.create({\n choice: {\n margin: theme.spacing.micro\n },\n dropZone: {\n flexWrap: 'wrap',\n flexDirection: 'row',\n borderStyle: 'dashed',\n borderWidth: 2,\n padding: theme.spacing.micro,\n borderColor: theme.colors.gray.light,\n backgroundColor: theme.colors.gray.extra,\n borderRadius: theme.radius.common,\n marginBottom: theme.spacing.tiny\n },\n emptyContent: {\n justifyContent: 'center',\n alignContent: 'center',\n alignItems: 'center',\n height: 60\n },\n text: {\n color: theme.colors.gray.medium\n }\n });\n\nconst DropZone = (props: DropZoneProps) => {\n const templateContext = useTemplateContext();\n const {theme, translations} = templateContext;\n const {onPress} = props;\n\n const handlePress = useCallback((item: Choice) => () => onPress(item), [onPress]);\n const [styleSheet, setStylesheet] = useState<any | null>(null);\n\n useEffect(() => {\n const _stylesheet = createDropZoneStyle(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n const {choices} = props;\n const mappedSortedChoices = choices.map(item => (\n <QuestionChoice\n style={styleSheet.choice}\n key={item._id}\n squeezed\n isSelected\n testID={`choice-${item._id}`}\n onPress={handlePress(item)}\n questionType=\"qcmDrag\"\n >\n {item.label}\n </QuestionChoice>\n ));\n\n const hasNoSelectedChoices = mappedSortedChoices.length === 0;\n\n return (\n <View style={[styleSheet.dropZone, hasNoSelectedChoices && styleSheet.emptyContent]}>\n {hasNoSelectedChoices ? (\n <Text style={styleSheet.text}>{translations.selectSomethingBelow}</Text>\n ) : null}\n\n {!hasNoSelectedChoices && mappedSortedChoices}\n </View>\n );\n};\n\nexport interface Props {\n choices: Array<Choice>;\n userChoices: Array<string>;\n testID?: string;\n onPress: (item: Choice) => void;\n}\n\nconst createStyleSheet = (theme: Theme) =>\n StyleSheet.create({\n container: {},\n pickableChoices: {\n flexDirection: 'row',\n flexWrap: 'wrap'\n },\n choice: {\n margin: theme.spacing.micro\n }\n });\n\n// this algo could be improve using a single reduce fuction\nexport const extractSelectedChoices = (\n availableChoices: Array<Choice>,\n userChoices: Array<string>\n): Array<Array<Choice>> => {\n const selectedChoices: Array<Choice> = userChoices.reduce(\n (accumulator: Array<Choice>, currentValue) => {\n const foundItem = availableChoices.find(\n availableChoice => availableChoice.label === currentValue\n );\n if (foundItem) {\n return [...accumulator, foundItem];\n }\n return accumulator;\n },\n []\n );\n\n const notSelectedChoices = availableChoices.filter(\n availableChoice => !userChoices.includes(availableChoice.label)\n );\n\n return [selectedChoices, notSelectedChoices];\n};\n\nconst QuestionDraggable = (props: Props) => {\n const templateContext = useTemplateContext();\n const {theme} = templateContext;\n\n const [styleSheet, setStylesheet] = useState<any | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n const handlePress = (item: Choice) => () => props.onPress(item);\n\n const {choices, onPress, testID, userChoices} = props;\n const [selectedChoices, notSelectedChoices] = extractSelectedChoices(choices, userChoices);\n\n const mappedunselectedChoices = notSelectedChoices.map((item, index) => (\n <QuestionChoice\n style={styleSheet.choice}\n key={item._id}\n squeezed\n testID={`choice-${item._id}-unselected`}\n onPress={handlePress(item)}\n questionType=\"qcmDrag\"\n >\n {item.label}\n </QuestionChoice>\n ));\n\n return (\n <View style={styleSheet.container} testID={testID}>\n <DropZone choices={selectedChoices} onPress={onPress} />\n <View style={styleSheet.pickableChoices}>{mappedunselectedChoices}</View>\n </View>\n );\n};\n\nexport default QuestionDraggable;\n"],"file":"index.native.js"}
|
|
@@ -0,0 +1,136 @@
|
|
|
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 _reactNativeSlider = _interopRequireDefault(require("@coorpacademy/react-native-slider"));
|
|
11
|
+
|
|
12
|
+
var _index = _interopRequireDefault(require("../../../../atom/text/index.native"));
|
|
13
|
+
|
|
14
|
+
var _templateContext = require("../../../../template/app-review/template-context");
|
|
15
|
+
|
|
16
|
+
var _shadow = require("../../../../variables/shadow");
|
|
17
|
+
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
|
|
20
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
21
|
+
|
|
22
|
+
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; }
|
|
23
|
+
|
|
24
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
25
|
+
|
|
26
|
+
const createStyleSheet = theme => _reactNative.StyleSheet.create({
|
|
27
|
+
container: {
|
|
28
|
+
flex: 1,
|
|
29
|
+
paddingHorizontal: 20,
|
|
30
|
+
flexDirection: 'column',
|
|
31
|
+
justifyContent: 'center'
|
|
32
|
+
},
|
|
33
|
+
header: {
|
|
34
|
+
fontSize: 25,
|
|
35
|
+
fontWeight: theme.fontWeight.bold,
|
|
36
|
+
textAlign: 'center'
|
|
37
|
+
},
|
|
38
|
+
textValue: {
|
|
39
|
+
fontSize: 15,
|
|
40
|
+
color: theme.colors.black,
|
|
41
|
+
fontWeight: theme.fontWeight.bold,
|
|
42
|
+
textAlign: 'center'
|
|
43
|
+
},
|
|
44
|
+
valuesContainer: {
|
|
45
|
+
flexDirection: 'row',
|
|
46
|
+
justifyContent: 'space-around'
|
|
47
|
+
},
|
|
48
|
+
leftValue: {
|
|
49
|
+
flex: 1,
|
|
50
|
+
alignItems: 'flex-start'
|
|
51
|
+
},
|
|
52
|
+
rightValue: {
|
|
53
|
+
flex: 1,
|
|
54
|
+
alignItems: 'flex-end'
|
|
55
|
+
},
|
|
56
|
+
track: {
|
|
57
|
+
height: 10,
|
|
58
|
+
borderRadius: theme.radius.button
|
|
59
|
+
},
|
|
60
|
+
thumb: _extends(_extends({}, _shadow.BOX_STYLE), {}, {
|
|
61
|
+
width: 30,
|
|
62
|
+
height: 30,
|
|
63
|
+
borderRadius: 30 / 2,
|
|
64
|
+
backgroundColor: 'white',
|
|
65
|
+
borderWidth: 1
|
|
66
|
+
})
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
const QuestionSlider = props => {
|
|
70
|
+
const templateContext = (0, _templateContext.useTemplateContext)();
|
|
71
|
+
const {
|
|
72
|
+
brandTheme,
|
|
73
|
+
theme
|
|
74
|
+
} = templateContext;
|
|
75
|
+
const [styleSheet, setStylesheet] = (0, _react.useState)(null);
|
|
76
|
+
(0, _react.useEffect)(() => {
|
|
77
|
+
const _stylesheet = createStyleSheet(theme);
|
|
78
|
+
|
|
79
|
+
setStylesheet(_stylesheet);
|
|
80
|
+
}, [theme]);
|
|
81
|
+
|
|
82
|
+
if (!styleSheet) {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const {
|
|
87
|
+
step,
|
|
88
|
+
style,
|
|
89
|
+
min,
|
|
90
|
+
max,
|
|
91
|
+
unit = '',
|
|
92
|
+
value,
|
|
93
|
+
onSlidingComplete,
|
|
94
|
+
testID,
|
|
95
|
+
onChange
|
|
96
|
+
} = props;
|
|
97
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
98
|
+
style: [styleSheet.container, style],
|
|
99
|
+
testID: testID
|
|
100
|
+
}, /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
101
|
+
style: [styleSheet.header, {
|
|
102
|
+
color: brandTheme?.colors.primary
|
|
103
|
+
}],
|
|
104
|
+
testID: "slider-value"
|
|
105
|
+
}, value), /*#__PURE__*/_react.default.createElement(_reactNativeSlider.default, {
|
|
106
|
+
step: step || 1,
|
|
107
|
+
value: value,
|
|
108
|
+
onValueChange: onChange,
|
|
109
|
+
maximumValue: max,
|
|
110
|
+
minimumValue: min,
|
|
111
|
+
onSlidingComplete: onSlidingComplete,
|
|
112
|
+
minimumTrackTintColor: brandTheme?.colors.primary,
|
|
113
|
+
trackStyle: styleSheet.track,
|
|
114
|
+
thumbStyle: [styleSheet.thumb, {
|
|
115
|
+
borderColor: brandTheme?.colors.primary
|
|
116
|
+
}],
|
|
117
|
+
testID: "slider"
|
|
118
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
119
|
+
style: styleSheet.valuesContainer,
|
|
120
|
+
testID: "slider-values-container"
|
|
121
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
122
|
+
style: styleSheet.leftValue
|
|
123
|
+
}, /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
124
|
+
style: styleSheet.textValue,
|
|
125
|
+
testID: "slider-min-value"
|
|
126
|
+
}, `${min} ${unit}`)), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
127
|
+
style: styleSheet.rightValue
|
|
128
|
+
}, /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
129
|
+
style: styleSheet.textValue,
|
|
130
|
+
testID: "slider-max-value"
|
|
131
|
+
}, `${max} ${unit}`))));
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
var _default = QuestionSlider;
|
|
135
|
+
exports.default = _default;
|
|
136
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/molecule/questions/mobile/slide/index.native.tsx"],"names":["createStyleSheet","theme","StyleSheet","create","container","flex","paddingHorizontal","flexDirection","justifyContent","header","fontSize","fontWeight","bold","textAlign","textValue","color","colors","black","valuesContainer","leftValue","alignItems","rightValue","track","height","borderRadius","radius","button","thumb","BOX_STYLE","width","backgroundColor","borderWidth","QuestionSlider","props","templateContext","brandTheme","styleSheet","setStylesheet","_stylesheet","step","style","min","max","unit","value","onSlidingComplete","testID","onChange","primary","borderColor"],"mappings":"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","sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {View, StyleSheet, ViewStyle, FlexAlignType} from 'react-native';\nimport Slider from '@coorpacademy/react-native-slider';\n\nimport {Theme} from '../../../../variables/theme.native';\nimport Text from '../../../../atom/text/index.native';\nimport {useTemplateContext} from '../../../../template/app-review/template-context';\nimport {BOX_STYLE} from '../../../../variables/shadow';\nimport {FlexDirection, JustifyContent, TextAlign, FontWeight} from '../../../../types/styles';\n\nexport type OnChangeFunction = (value: number) => void;\n\nexport type Props = {\n min: number;\n max: number;\n unit?: string;\n value: number;\n onChange: OnChangeFunction;\n onSlidingComplete: () => void;\n style?: ViewStyle;\n step?: number;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: {\n flex: number;\n paddingHorizontal: number;\n flexDirection: FlexDirection;\n justifyContent: JustifyContent;\n };\n header: {\n fontSize: number;\n fontWeight: FontWeight;\n textAlign: TextAlign;\n };\n textValue: {\n fontSize: number;\n color: string;\n fontWeight: FontWeight;\n textAlign: string;\n };\n valuesContainer: {\n flexDirection: FlexDirection;\n justifyContent: JustifyContent;\n };\n leftValue: {\n flex: number;\n alignItems: FlexAlignType | undefined;\n };\n rightValue: {\n flex: number;\n alignItems: FlexAlignType | undefined;\n };\n track: {\n height: number;\n borderRadius: number;\n };\n thumb: {\n width: number;\n height: number;\n borderRadius: number;\n backgroundColor: string;\n borderWidth: number;\n };\n};\n\nconst createStyleSheet = (theme: Theme) =>\n StyleSheet.create({\n container: {\n flex: 1,\n paddingHorizontal: 20,\n flexDirection: 'column',\n justifyContent: 'center'\n },\n header: {\n fontSize: 25,\n fontWeight: theme.fontWeight.bold,\n textAlign: 'center'\n },\n textValue: {\n fontSize: 15,\n color: theme.colors.black,\n fontWeight: theme.fontWeight.bold,\n textAlign: 'center'\n },\n valuesContainer: {\n flexDirection: 'row',\n justifyContent: 'space-around'\n },\n leftValue: {\n flex: 1,\n alignItems: 'flex-start'\n },\n rightValue: {\n flex: 1,\n alignItems: 'flex-end'\n },\n track: {\n height: 10,\n borderRadius: theme.radius.button\n },\n thumb: {\n ...BOX_STYLE,\n width: 30,\n height: 30,\n borderRadius: 30 / 2,\n backgroundColor: 'white',\n borderWidth: 1\n }\n });\n\nconst QuestionSlider = (props: Props) => {\n const templateContext = useTemplateContext();\n const {brandTheme, theme} = templateContext;\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n const {step, style, min, max, unit = '', value, onSlidingComplete, testID, onChange} = props;\n\n return (\n <View style={[styleSheet.container, style]} testID={testID}>\n <Text style={[styleSheet.header, {color: brandTheme?.colors.primary}]} testID=\"slider-value\">\n {value}\n </Text>\n <Slider\n step={step || 1}\n value={value}\n onValueChange={onChange}\n maximumValue={max}\n minimumValue={min}\n onSlidingComplete={onSlidingComplete}\n minimumTrackTintColor={brandTheme?.colors.primary}\n trackStyle={styleSheet.track}\n thumbStyle={[styleSheet.thumb, {borderColor: brandTheme?.colors.primary}]}\n testID=\"slider\"\n />\n <View style={styleSheet.valuesContainer} testID=\"slider-values-container\">\n <View style={styleSheet.leftValue}>\n <Text style={styleSheet.textValue} testID=\"slider-min-value\">\n {`${min} ${unit}`}\n </Text>\n </View>\n <View style={styleSheet.rightValue}>\n <Text style={styleSheet.textValue} testID=\"slider-max-value\">\n {`${max} ${unit}`}\n </Text>\n </View>\n </View>\n </View>\n );\n};\n\nexport default QuestionSlider;\n"],"file":"index.native.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/review-correction-popin/prop-types.js"],"names":["type","PropTypes","oneOf","resultLabel","string","information","shape","label","message","next","onClick","func","klf","tooltip"],"mappings":";;;;;AAAA;;;;eAEe;AACbA,EAAAA,IAAI,EAAEC,mBAAUC,KAAV,CAAgB,CAAC,OAAD,EAAU,OAAV,CAAhB,CADO;AAEbC,EAAAA,WAAW,EAAEF,mBAAUG,MAFV;AAGbC,EAAAA,WAAW,EAAEJ,mBAAUK,KAAV,CAAgB;AAC3BC,IAAAA,KAAK,EAAEN,mBAAUG,MADU;AAE3BI,IAAAA,OAAO,EAAEP,mBAAUG;AAFQ,GAAhB,CAHA;AAObK,EAAAA,IAAI,EAAER,mBAAUK,KAAV,CAAgB;AACpBC,IAAAA,KAAK,EAAEN,mBAAUG,MADG;AAEpBM,IAAAA,OAAO,EAAET,mBAAUU,IAFC;AAGpB,iBAAaV,mBAAUG,MAHH;AAIpB,kBAAcH,mBAAUG;AAJJ,GAAhB,CAPO;AAabQ,EAAAA,GAAG,EAAEX,mBAAUK,KAAV,CAAgB;AACnBC,IAAAA,KAAK,EAAEN,mBAAUG,MADE;
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/review-correction-popin/prop-types.js"],"names":["type","PropTypes","oneOf","resultLabel","string","information","shape","label","message","next","onClick","func","klf","tooltip"],"mappings":";;;;;AAAA;;;;eAEe;AACbA,EAAAA,IAAI,EAAEC,mBAAUC,KAAV,CAAgB,CAAC,OAAD,EAAU,OAAV,CAAhB,CADO;AAEbC,EAAAA,WAAW,EAAEF,mBAAUG,MAFV;AAGbC,EAAAA,WAAW,EAAEJ,mBAAUK,KAAV,CAAgB;AAC3BC,IAAAA,KAAK,EAAEN,mBAAUG,MADU;AAE3BI,IAAAA,OAAO,EAAEP,mBAAUG;AAFQ,GAAhB,CAHA;AAObK,EAAAA,IAAI,EAAER,mBAAUK,KAAV,CAAgB;AACpBC,IAAAA,KAAK,EAAEN,mBAAUG,MADG;AAEpBM,IAAAA,OAAO,EAAET,mBAAUU,IAFC;AAGpB,iBAAaV,mBAAUG,MAHH;AAIpB,kBAAcH,mBAAUG;AAJJ,GAAhB,CAPO;AAabQ,EAAAA,GAAG,EAAEX,mBAAUK,KAAV,CAAgB;AACnBC,IAAAA,KAAK,EAAEN,mBAAUG,MADE;AAEnBS,IAAAA,OAAO,EAAEZ,mBAAUG;AAFA,GAAhB;AAbQ,C","sourcesContent":["import PropTypes from 'prop-types';\n\nexport default {\n type: PropTypes.oneOf(['right', 'wrong']),\n resultLabel: PropTypes.string,\n information: PropTypes.shape({\n label: PropTypes.string,\n message: PropTypes.string\n }),\n next: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n 'data-name': PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n klf: PropTypes.shape({\n label: PropTypes.string,\n tooltip: PropTypes.string\n })\n};\n"],"file":"prop-types.js"}
|