{"version":3,"file":"js/9567-3faaa32bb5988f2feb42.js","mappings":"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","sources":["webpack://AYTM/./app/_stock/webpack/app/survey/editor/styles/content/assets/AssetUploader.module.scss?9890","webpack://AYTM/./app/_stock/webpack/app/survey/editor/components/content/assets/AssetUploader.jsx","webpack://AYTM/./app/_stock/webpack/app/survey/editor/styles/content/assets/ImagePreview.module.scss?071c","webpack://AYTM/./app/_stock/webpack/app/survey/editor/components/content/assets/ImagePreview.jsx","webpack://AYTM/./app/_stock/webpack/lib/common/scroll.js","webpack://AYTM/./app/_stock/webpack/lib/hooks/useMountedRef.ts","webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/components/basic/check-box.jsx","webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/styles/basic/click-outside.module.scss?81cb","webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/components/basic/click-outside.jsx","webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/styles/basic/image-popup.scss?806a","webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/components/basic/image-popup.jsx","webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/styles/basic/inline-select.module.scss?cb19","webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/components/basic/inline-select.jsx","webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/components/basic/radio-button.jsx"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"minPlaceholderHeight\":\"34\",\"indent0\":\"39\",\"indent1\":\"72\",\"indent2\":\"105\",\"indent3\":\"138\",\"component\":\"AssetUploader-module__component___1jn2G surveyeditor-AssetUploader\",\"component-readOnly\":\"AssetUploader-module__component-readOnly___1GBK0\",\"input\":\"AssetUploader-module__input___2umvZ\"};","// lib\nimport React from 'react'\nimport ManagedRenderComponent from '@aytm/lib/common/components/ManagedRenderComponent'\nimport autobind from 'autobind-decorator'\nimport PropTypes from 'prop-types'\n\n// styles\nimport style from '@aytm/app/survey/editor/styles/content/assets/AssetUploader.module.scss'\n\n// \nexport default class AssetUploader extends ManagedRenderComponent {\n static propTypes = {\n readOnly: PropTypes.bool,\n children: PropTypes.any,\n accept: PropTypes.string,\n onUploadFile: PropTypes.func\n }\n static updateOnProps(/*nextProps, prevProps*/) {\n return true\n }\n\n @autobind\n fileSelected() {\n if (this.refUploadInput && this.refUploadInput.files && this.refUploadInput.files.length) {\n this.uploadFile(this.refUploadInput.files[0])\n }\n }\n\n @autobind\n uploadFile(file) {\n const { onUploadFile } = this.props\n if ('function' == typeof onUploadFile) {\n onUploadFile(file)\n }\n }\n\n render() {\n const { accept, readOnly, children } = this.props\n return readOnly ? (\n \n ) : (\n \n )\n }\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"minPlaceholderHeight\":\"34\",\"indent0\":\"39\",\"indent1\":\"72\",\"indent2\":\"105\",\"indent3\":\"138\",\"component\":\"ImagePreview-module__component___CgYZO surveyeditor-ImagePreview\",\"zoom\":\"ImagePreview-module__zoom___1TVio icon-aytmfd-zoom-in surveyeditor-ImagePreview-zoom\",\"uploadImage\":\"ImagePreview-module__uploadImage___2_jAZ rfd-highlight-hover-background-color\",\"deleteImage\":\"ImagePreview-module__deleteImage___1fHBa rfd-highlight-hover-background-color\",\"loading\":\"ImagePreview-module__loading___2HqjN\",\"loading-icon\":\"ImagePreview-module__loading-icon___PMkzk icon-aytmfd-spin aytmfd-spin\",\"imageHolder\":\"ImagePreview-module__imageHolder___2gNMf surveyeditor-ImagePreview-imageHolder\",\"image\":\"ImagePreview-module__image___hDIOm\",\"image-loading\":\"ImagePreview-module__image-loading___2ToMx\",\"image-loaded\":\"ImagePreview-module__image-loaded___3ArF2\",\"image-inactive\":\"ImagePreview-module__image-inactive___1j03Q\",\"loader\":\"ImagePreview-module__loader___1Zavk\"};","// lib\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport autobind from 'autobind-decorator'\nimport ManagedRenderComponent from '@aytm/lib/common/components/ManagedRenderComponent'\n\n// components\nimport ImagePopup from '@aytm//lib/rfd-ui/components/basic/image-popup'\nimport AssetUploader from '@aytm/app/survey/editor/components/content/assets/AssetUploader'\nimport Popup, { PopupContent } from '@aytm/lib/rfd-ui/components/basic/popup'\n\n// style\nimport style from '@aytm/app/survey/editor/styles/content/assets/ImagePreview.module.scss'\n\n// \nexport default class ImagePreview extends ManagedRenderComponent {\n static propTypes = {\n accept: PropTypes.string,\n label: PropTypes.string,\n imageUrl: PropTypes.string,\n previewUrl: PropTypes.string,\n maxHeight: PropTypes.string,\n maxWidth: PropTypes.string,\n minWidth: PropTypes.string,\n minHeight: PropTypes.string,\n openImageOnZoomButtonOnly: PropTypes.bool,\n doubleBuffering: PropTypes.bool,\n allowScrolling: PropTypes.bool,\n onPreviewLoaded: PropTypes.func,\n uploadImageLabel: PropTypes.string,\n onUploadImage: PropTypes.func,\n deleteImageLabel: PropTypes.string,\n onDeleteImage: PropTypes.func,\n onImageOpen: PropTypes.func,\n onImageHide: PropTypes.func,\n onImageLoaded: PropTypes.func\n }\n static updateOnProps(nextProps, prevProps) {\n return (\n nextProps.imageUrl != prevProps.imageUrl ||\n nextProps.previewUrl != prevProps.previewUrl ||\n nextProps.maxHeight != prevProps.maxHeight ||\n nextProps.maxWidth != prevProps.maxWidth ||\n nextProps.minWidth != prevProps.minWidth ||\n nextProps.minHeight != prevProps.minHeight ||\n nextProps.openImageOnZoomButtonOnly != prevProps.openImageOnZoomButtonOnly ||\n nextProps.doubleBuffering != prevProps.doubleBuffering ||\n nextProps.onImageLoaded != prevProps.onImageLoaded ||\n nextProps.uploadImageLabel != prevProps.uploadImageLabel\n )\n }\n\n static contextTypes = {\n popup: PropTypes.instanceOf(Popup),\n popupContent: PropTypes.instanceOf(PopupContent)\n }\n\n state = {\n loading: true,\n loaded: false,\n previewUrl: null,\n previewState: 'fetch',\n showImage: false\n }\n\n constructor(props, context) {\n super(props, context)\n this.previewImage = null\n }\n\n componentDidMount() {\n const { previewUrl } = this.props\n this.setPreviewImage(previewUrl)\n }\n\n UNSAFE_componentWillReceiveProps(nextProps /*, nextContext*/) {\n if (nextProps.previewUrl != this.props.previewUrl) {\n this.setPreviewImage(nextProps.previewUrl)\n }\n }\n\n @autobind\n setPreviewImage(url) {\n if (false === this.props.doubleBuffering) {\n this.setState({ previewState: 'fetched', previewUrl: url }, () => {\n this.reposition()\n })\n } else {\n this.previewImage = document.createElement('img')\n this.previewImage.addEventListener('load', () => {\n const { onPreviewLoaded } = this.props\n if ('function' == typeof onPreviewLoaded) {\n onPreviewLoaded(url)\n }\n this.setState({ previewState: 'fetched', previewUrl: url }, () => {\n this.reposition()\n })\n })\n this.setState({ previewState: 'fetch' }, this.reposition)\n setTimeout(() => {\n if (this.mounted && 'fetch' == this.state.previewState) {\n this.setState({ previewState: 'fetching' }, this.reposition)\n }\n }, 200)\n this.previewImage.src = url\n }\n }\n\n @autobind\n reposition() {\n const { popupContent } = this.context\n if (popupContent) {\n setTimeout(() => {\n popupContent.reposition()\n }, 0)\n setTimeout(() => {\n // control shot!\n popupContent.reposition()\n }, 100)\n }\n }\n\n @autobind\n onLoaded() {\n const { onImageLoaded } = this.props\n setTimeout(() => {\n this.reposition()\n if ('function' == typeof onImageLoaded) {\n onImageLoaded()\n }\n }, 10)\n this.setState({ loading: false, loaded: true })\n }\n\n @autobind\n showImage() {\n const { popup } = this.context\n const { onImageOpen } = this.props\n if (popup) popup.freeze()\n if ('function' == typeof onImageOpen) onImageOpen()\n this.setState({\n showImage: true\n })\n }\n\n @autobind\n hideImage() {\n const { popup } = this.context\n const { onImageHide } = this.props\n if (popup) {\n popup.unfreeze()\n popup.hide()\n }\n if ('function' == typeof onImageHide) onImageHide()\n this.setState({\n showImage: false\n })\n }\n\n render() {\n const {\n label,\n imageUrl,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n allowScrolling,\n openImageOnZoomButtonOnly,\n accept,\n onUploadImage,\n uploadImageLabel,\n onDeleteImage,\n deleteImageLabel\n } = this.props\n const { loading, loaded, previewUrl, previewState, showImage } = this.state\n return (\n \n {previewUrl && (\n \n
\n \"\"\n {loading && !loaded && (\n
\n \n
\n )}\n {'fetched' == previewState && }\n {'fetched' == previewState && 'function' == typeof onUploadImage && (\n
\n \n {uploadImageLabel || 'CHANGE'}\n \n
\n )}\n {'fetched' == previewState && 'function' == typeof onDeleteImage && (\n
\n {deleteImageLabel || 'DELETE'}\n
\n )}\n
\n \n )}\n {'fetching' == previewState && }\n \n \n )\n }\n}\n","const smoothStep = (start, end, point) => {\n if (point <= start) {\n return 0\n }\n if (point >= end) {\n return 1\n }\n const x = (point - start) / (end - start)\n return x * x * (3 - 2 * x)\n}\n\nexport default function scrollTo(element, params) {\n if (params.duration < 0) return Promise.reject()\n\n if (0 == params.duration) {\n if (params.top != null) element.scrollTop = params.top\n if (params.left != null) element.scrollLeft = params.left\n\n return Promise.resolve()\n }\n\n const startTime = Date.now()\n const endTime = startTime + params.duration\n const start = { x: element.scrollLeft, y: element.scrollTop }\n const distance = {\n x: null == params.left ? null : params.left - start.x,\n y: null == params.top ? null : params.top - start.y\n }\n\n return new Promise((resolve, reject) => {\n const prev = { x: element.scrollLeft, y: element.scrollTop }\n\n const scrollFrame = () => {\n if (element.scrollLeft != prev.x || element.scrollTop != prev.y) {\n reject()\n return\n }\n\n const now = Date.now()\n const point = smoothStep(startTime, endTime, now)\n const frame = { x: Math.round(start.x + distance.x * point), y: Math.round(start.y + distance.y + point) }\n element.scrollLeft = frame.x\n element.scrollTop = frame.y\n\n if (now >= endTime) {\n resolve()\n return\n }\n\n if (\n element.scrollTop == prev.y &&\n element.scrollLeft == prev.x &&\n element.scrollTop !== frame.y &&\n element.scrollLeft !== frame.x\n ) {\n resolve()\n return\n }\n\n prev.x = element.scrollLeft\n prev.y = element.scrollTop\n\n setTimeout(scrollFrame, 0)\n }\n\n setTimeout(scrollFrame, 0)\n })\n}\n\nexport function verticalScrollIntoContainerView(element, container = element.parentElement, { margin = 5 } = {}) {\n if (element && container && element.getBoundingClientRect && container.getBoundingClientRect) {\n const containerRect = container.getBoundingClientRect()\n const elementRect = element.getBoundingClientRect()\n if (elementRect.bottom > containerRect.bottom - margin) {\n // scroll content up\n container.scrollTop = container.scrollTop + (elementRect.bottom - (containerRect.bottom - margin))\n } else if (elementRect.top < containerRect.top + margin) {\n // scroll content down\n container.scrollTop = container.scrollTop - (containerRect.top + margin - elementRect.top)\n }\n }\n}\n","import { useEffect, useRef } from 'react'\n\n/**\n * A ref object whose `.current` property is set to `true` when the component\n * is mounted and `false` when it is unmounted.\n * @typedef {Object} MountedRef\n * @property {boolean} current\n * @memberof useMountedRef\n */\nexport type MountedRef = React.RefObject\n\n/**\n * Returns a ref object whose `.current` property is set to `true` when the\n * component is mounted and `false` when it is unmounted.\n * @function useMountedRef\n * @returns {MountedRef}\n */\nexport default function useMountedRef(): MountedRef {\n const mounted = useRef(false)\n\n useEffect(() => {\n mounted.current = true\n return () => {\n mounted.current = false\n }\n }, [])\n\n return mounted\n}\n","import React, { useMemo, useCallback } from 'react'\nimport PropTypes from 'prop-types'\nimport { stopEvent } from '@aytm/lib/common/func'\n\nimport '@aytm/lib/rfd-ui/styles/basic/check-box.scss'\n\nCheckBox.propTypes = {\n /**\n * is checked\n */\n checked: PropTypes.bool,\n /**\n * is disabled\n */\n disabled: PropTypes.bool,\n /**\n * error state\n */\n error: PropTypes.bool,\n /**\n * Checkbox label\n */\n label: PropTypes.string,\n /**\n * check size in pixels\n */\n checkSize: PropTypes.number,\n /**\n * label size in pixels\n */\n labelSize: PropTypes.number,\n /**\n * lineHeight for check and label\n */\n lineHeight: PropTypes.number,\n /**\n * custom style\n */\n style: PropTypes.object,\n /**\n * custom className\n */\n className: PropTypes.string,\n /**\n * \"checked\" icon className\n */\n checkedIcon: PropTypes.string,\n /**\n * \"unchecked\" icon className\n */\n uncheckedIcon: PropTypes.string,\n /**\n * fires when CheckBox is `clicked` and `not disabled`: `onAction(event)`\n */\n onAction: PropTypes.func,\n /**\n * fires when CheckBox is `clicked` and `not disabled`: `onChange(!checked)`\n */\n onChange: PropTypes.func,\n /**\n * fires when CheckBox is `clicked` (disabled or not): `onClick(event)`\n */\n onClick: PropTypes.func,\n /**\n * onKeyDown callback\n */\n onKeyDown: PropTypes.func,\n /**\n * `SPACE` and `ENTER` keys presses works as clicks\n */\n spaceEnterAsClick: PropTypes.bool,\n /**\n * `UP` and `DOWN` key presses will move focus between CheckBoxes\n */\n upDownAsMoveFocus: PropTypes.bool,\n /**\n * CheckBox group name for `UP` and `DOWN` keys presses navigation\n */\n groupName: PropTypes.string\n}\nCheckBox.defaultProps = {\n checkedIcon: 'icon-aytmfd-afdcheckbox-full',\n uncheckedIcon: 'icon-aytmfd-afdcheckbox',\n spaceEnterAsClick: true,\n upDownAsMoveFocus: false,\n groupName: 'default'\n}\nexport default function CheckBox({\n checked,\n disabled,\n error,\n label,\n checkSize,\n labelSize,\n lineHeight,\n style,\n className,\n checkedIcon = 'icon-aytmfd-afdcheckbox-full',\n uncheckedIcon = 'icon-aytmfd-afdcheckbox',\n onAction,\n onChange,\n onClick: onCustomClick,\n onKeyDown: onCustomKeyDown,\n spaceEnterAsClick = true,\n upDownAsMoveFocus = false,\n groupName = 'default',\n ...otherProps\n} = {}) {\n const commonLineHeight = useMemo(\n () =>\n lineHeight\n ? `${lineHeight}px`\n : (() => {\n const maxSize = Math.max(checkSize, labelSize)\n return maxSize ? `${maxSize * 1.2}px` : null\n })(),\n [lineHeight, checkSize, labelSize]\n )\n const applyStyle = useMemo(() => (commonLineHeight ? { lineHeight: commonLineHeight } : {}), [commonLineHeight])\n const mergedStyle = useMemo(\n () => (null != style ? Object.assign(applyStyle, style) : applyStyle),\n [style, applyStyle]\n )\n\n const onClick = useCallback(\n event => {\n if (onCustomClick) {\n onCustomClick(event)\n }\n if (!disabled && (void 0 === event.button || 0 === event.button)) {\n if (onAction) {\n onAction(event)\n }\n if (onChange) {\n onChange(!checked)\n }\n }\n },\n [onCustomClick, onAction, onChange, disabled, checked]\n )\n\n const onKeyDown = useCallback(\n event => {\n if (onCustomKeyDown) {\n onCustomKeyDown(event)\n }\n if (!disabled) {\n if (spaceEnterAsClick && onClick && (' ' === event.key || 'Enter' === event.key)) {\n onClick(event)\n stopEvent(event)\n } else if (upDownAsMoveFocus) {\n if ('ArrowUp' === event.key) {\n const activeCheckboxes = document.querySelectorAll(\n `${groupName ? `.rfd-ui-checkbox-group-${groupName}` : ''}.rfd-ui-checkbox[tabindex=\"0\"]`\n )\n for (let i = 0; i < activeCheckboxes.length; i++) {\n if (document.activeElement === activeCheckboxes[i]) {\n if (i > 0) {\n activeCheckboxes[i - 1].focus()\n }\n break\n }\n }\n stopEvent(event)\n } else if ('ArrowDown' === event.key) {\n const activeCheckboxes = document.querySelectorAll(\n `${groupName ? `.rfd-ui-checkbox-group-${groupName}` : ''}.rfd-ui-checkbox[tabindex=\"0\"]`\n )\n for (let i = 0; i < activeCheckboxes.length; i++) {\n if (document.activeElement === activeCheckboxes[i]) {\n if (i < activeCheckboxes.length - 1) {\n activeCheckboxes[i + 1].focus()\n }\n break\n }\n }\n stopEvent(event)\n }\n }\n }\n },\n [onCustomKeyDown, onClick, disabled, spaceEnterAsClick, upDownAsMoveFocus, groupName]\n )\n\n return (\n \n \n {label && (\n \n )}\n \n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"click-outside-module__wrapper___1byHf\"};","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport autobind from 'autobind-decorator'\n\nimport style from '@aytm/lib/rfd-ui/styles/basic/click-outside.module.scss'\n\nexport default class ClickOutside extends Component {\n static propTypes = {\n onClickOutside: PropTypes.func.isRequired,\n captured: PropTypes.bool,\n children: PropTypes.any\n }\n\n constructor(props) {\n super(props)\n this.captured = 'boolean' == typeof props.captured ? props.captured : true\n this.isTouch = false\n }\n\n @autobind\n saveRefContainer(ref) {\n this.refContainer = ref\n }\n\n @autobind\n handle(event) {\n if ('touchend' === event.type) this.isTouch = true\n if ('click' === event.type && this.isTouch) return\n const { onClickOutside } = this.props\n if (!this.refContainer.contains(event.target)) onClickOutside(event)\n }\n\n componentDidMount() {\n document.addEventListener('touchend', this.handle, this.captured)\n document.addEventListener('click', this.handle, this.captured)\n }\n\n componentWillUnmount() {\n document.removeEventListener('touchend', this.handle, this.captured)\n document.removeEventListener('click', this.handle, this.captured)\n }\n\n render() {\n const { children, onClickOutside, ...props } = this.props\n return (\n
\n {children}\n
\n )\n }\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"popupDefaultWidth\":\"200px\",\"popupDefaultHeight\":\"160px\"};","import React from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport autobind from 'autobind-decorator'\nimport PureDataComponent from '@aytm/lib/common/components/pure-component'\nimport { viewport, preprocessText, escapeText } from '@aytm/lib/common/func'\n\nimport LightBox from './light-box'\n\nimport styles from '@aytm/lib/rfd-ui/styles/basic/image-popup.scss'\n\nconst POPUP_PADDING = 5\nconst FRAME_PADDING = 7\nconst SCROLLING_PADDING = 30\nconst LABEL_HEIGHT = 40\n\nexport default class ImagePopup extends PureDataComponent {\n static propTypes = {\n src: PropTypes.string,\n imageProps: PropTypes.object,\n label: PropTypes.string,\n show: PropTypes.bool,\n scrolling: PropTypes.bool,\n loadingIcon: PropTypes.string,\n failedIcon: PropTypes.string,\n closeIcon: PropTypes.string,\n onLoad: PropTypes.func,\n onError: PropTypes.func,\n onClose: PropTypes.func,\n closeOnClick: PropTypes.bool\n }\n\n constructor(props) {\n super(props)\n\n this.animate = true\n this.bodyElm = document.querySelector('body')\n this.bodyElmOverflowBackup = this.bodyElm.style.overflow\n this.state = {\n loading: true,\n loaded: false,\n imageWidth: styles.popupDefaultWidth,\n imageHeight: styles.popupDefaultHeight,\n intrinsicWidth: 0,\n intrinsicHeight: 0\n }\n }\n\n @autobind\n onLoad(event) {\n const target = event.target\n this.setState({ intrinsicWidth: target.naturalWidth, intrinsicHeight: target.naturalHeight })\n\n setTimeout(() => {\n const { onLoad } = this.props\n if ('function' == typeof onLoad) {\n onLoad()\n }\n this.resize()\n }, 10)\n\n this.setState({ loading: false, loaded: true })\n }\n\n @autobind\n onError() {\n this.setState({ intrinsicWidth: 0, intrinsicHeight: 0 })\n\n setTimeout(() => {\n const { onError } = this.props\n if ('function' == typeof onError) {\n onError()\n }\n this.resize()\n }, 10)\n\n this.setState({ loading: false, loaded: false })\n }\n\n @autobind\n handleWindowResize() {\n this.resize()\n }\n\n @autobind\n resizePreload() {\n const { label } = this.props\n\n if (this.refImageFrame) {\n const fWidth = this.refImageFrame.offsetWidth\n const fHeight = this.refImageFrame.offsetHeight\n\n this.setState({\n imageWidth: fWidth - 2 * POPUP_PADDING - 2 * FRAME_PADDING,\n imageHeight: fHeight - 2 * POPUP_PADDING - 2 * FRAME_PADDING - (label ? LABEL_HEIGHT : 0)\n })\n }\n }\n\n @autobind\n resize() {\n const { label, scrolling } = this.props\n const { loaded, intrinsicWidth, intrinsicHeight } = this.state\n\n if (this.refImageFrame) {\n const v = viewport()\n const maxIWidth =\n v.w - 2 * POPUP_PADDING - 2 * FRAME_PADDING - SCROLLING_PADDING - (scrolling ? SCROLLING_PADDING : 0)\n const maxIHeight = v.h - 2 * POPUP_PADDING - 2 * FRAME_PADDING - SCROLLING_PADDING - (label ? LABEL_HEIGHT : 0)\n\n if (loaded) {\n const img =\n this.refImageFrame.querySelector('.rfd-ui-image-popup-image') || this.refImageFrame.querySelector('img')\n\n if (img) {\n let iWidth = Math.max(60, intrinsicWidth)\n let iHeight = Math.max(60, intrinsicHeight)\n\n const ratio = iWidth / iHeight\n\n if (iWidth > maxIWidth) {\n iWidth = maxIWidth\n iHeight = iWidth / ratio\n }\n if (iHeight > maxIHeight) {\n iHeight = maxIHeight\n !scrolling && (iWidth = iHeight * ratio)\n }\n\n this.setState({ imageWidth: iWidth, imageHeight: iHeight })\n\n if (this.animate) {\n const refImageFrame = this.refImageFrame\n\n refImageFrame.classList.add('rfd-ui-image-popup-frame-before-animate')\n setTimeout(() => {\n refImageFrame.classList.remove('rfd-ui-image-popup-frame-before-animate')\n refImageFrame.classList.add('rfd-ui-image-popup-frame-animate')\n setTimeout(() => {\n refImageFrame.classList.remove('rfd-ui-image-popup-frame-animate')\n }, 500)\n }, 100)\n this.animate = false\n }\n } else this.resizePreload()\n } else this.resizePreload()\n }\n }\n\n @autobind\n handleClose() {\n this.animate = true\n\n const { onClose } = this.props\n\n if ('function' == typeof onClose) {\n onClose()\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n super.UNSAFE_componentWillReceiveProps(nextProps)\n\n if (nextProps.show && !this.props.show) {\n if (this.bodyElm) {\n this.bodyElmOverflowBackup = this.bodyElm.style.overflow\n this.bodyElm.style.setProperty('overflow', 'hidden')\n }\n window.addEventListener('resize', this.handleWindowResize)\n } else if (!nextProps.show && this.props.show) {\n if (this.bodyElm) {\n this.bodyElm.style.setProperty('overflow', this.bodyElmOverflowBackup || null)\n }\n window.removeEventListener('resize', this.handleWindowResize)\n }\n\n this.resize()\n }\n\n componentDidMount() {\n super.componentDidMount()\n\n const { show } = this.props\n\n if (show) {\n if (this.bodyElm) {\n this.bodyElmOverflowBackup = this.bodyElm.style.overflow\n this.bodyElm.style.setProperty('overflow', 'hidden')\n }\n window.addEventListener('resize', this.handleWindowResize)\n } else {\n if (this.bodyElm) {\n this.bodyElm.style.setProperty('overflow', this.bodyElmOverflowBackup || null)\n }\n window.removeEventListener('resize', this.handleWindowResize)\n }\n }\n\n componentWillUnmount() {\n super.componentWillUnmount()\n\n if (this.bodyElm) {\n this.bodyElm.style.setProperty('overflow', this.bodyElmOverflowBackup || null)\n }\n window.removeEventListener('resize', this.handleWindowResize)\n }\n\n render() {\n const {\n src,\n imageProps,\n label,\n show,\n scrolling,\n loadingIcon = 'icon-aytmfd-spin aytmfd-spin',\n failedIcon = 'icon-aytmfd-delete',\n closeIcon = 'icon-aytmfd-delete',\n closeOnClick = false\n } = this.props\n const { loading, loaded, imageWidth, imageHeight } = this.state\n\n if (show) {\n const iWidth = imageWidth + (scrolling ? SCROLLING_PADDING : 0)\n const iHeight = imageHeight + (label && loaded ? LABEL_HEIGHT : 0)\n\n return (\n \n \n
\n \n
\n
\n \n
\n {loading && !loaded && (\n
\n \n
\n )}\n {!loading && !loaded && (\n
\n \n
\n )}\n {label && loaded && (\n \n )}\n \n
\n )\n } else return null\n }\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"component\":\"inline-select-module__component___2YoCs rfd-ui-inline-select\",\"select\":\"inline-select-module__select___2XfSv rfd-ui-inline-select-select\",\"disabled\":\"inline-select-module__disabled___2T5SI\",\"options\":\"inline-select-module__options___2NGdf rfd-ui-inline-select-options\",\"option\":\"inline-select-module__option___1IiWb rfd-ui-inline-select-option\",\"option-selected\":\"inline-select-module__option-selected___21TeQ rfd-ui-inline-select-option-selected\",\"arrowDown\":\"inline-select-module__arrowDown___1t8Wf icon-aytmfd-down rfd-ui-inline-select-arrowDown\",\"component-opened\":\"inline-select-module__component-opened___20U1r rfd-ui-inline-select-opened\",\"component-selected\":\"inline-select-module__component-selected___eAKeY rfd-ui-inline-select-selected\",\"component-multiple\":\"inline-select-module__component-multiple___3Knx4 rfd-ui-inline-select-multiple\",\"option-multiple-icon\":\"inline-select-module__option-multiple-icon___3HKNw rfd-ui-inline-select-option-multiple-icon\",\"option-multiple-icon-selected\":\"inline-select-module__option-multiple-icon-selected___GXuZv\",\"focusHolder\":\"inline-select-module__focusHolder___3TTTD\",\"options-keyboard-selected\":\"inline-select-module__options-keyboard-selected___2H1T7\",\"option-keyboard-selected\":\"inline-select-module__option-keyboard-selected___12fip\",\"option-disabled\":\"inline-select-module__option-disabled___1-Iip rfd-ui-inline-select-option-disabled\",\"label\":\"inline-select-module__label___13lYQ rfd-ui-inline-select-label\",\"label-readOnly\":\"inline-select-module__label-readOnly___72-6B\",\"label-opened\":\"inline-select-module__label-opened___2jtf5 rfd-ui-inline-select-label-opened\"};","// lib\nimport React, { useState, useRef, useEffect, useLayoutEffect, useContext } from 'react'\nimport PropTypes from 'prop-types'\nimport { List, Map, Set } from 'immutable'\nimport { stopEvent, DOMchildOf } from '@aytm/lib/common/func'\nimport { verticalScrollIntoContainerView } from '@aytm/lib/common/scroll'\n\n// styles\nimport style from '@aytm/lib/rfd-ui/styles/basic/inline-select.module.scss'\n\nexport default InlineSelect\nexport { InlineSelectLabel }\n\nconst InlineSelectLabelSetOpenedContext = React.createContext(false)\n\n// \nInlineSelectOption.propTypes = {\n option: PropTypes.instanceOf(Map).isRequired,\n selectOptionRef: PropTypes.shape({ current: PropTypes.func.isRequired }).isRequired,\n index: PropTypes.number,\n multiple: PropTypes.bool,\n multipleIconUnchecked: PropTypes.string,\n multipleIconChecked: PropTypes.string,\n disabled: PropTypes.bool,\n optionSelected: PropTypes.bool,\n optionKeyboardSelected: PropTypes.bool\n}\nfunction InlineSelectOption({\n option,\n selectOptionRef,\n index,\n multiple = false,\n multipleIconUnchecked = 'icon-aytmfd-afdcheckbox',\n multipleIconChecked = 'icon-aytmfd-afdcheckbox-full',\n disabled = false,\n optionSelected = false,\n optionKeyboardSelected = false\n} = {}) {\n const optionDisabled = option.has('disabled') && option.get('disabled')()\n const renderOption = option.get('render')\n return (\n {\n if (1 == event.buttons && !(event.target instanceof HTMLInputElement)) {\n stopEvent(event)\n selectOptionRef.current(option)\n }\n }\n }\n role=\"menuitem\"\n aria-checked={optionSelected}\n >\n {multiple && (\n \n )}\n {'function' === typeof renderOption ? renderOption(index, optionSelected) : renderOption}\n \n )\n}\nconst InlineSelectOptionMemo = React.memo(\n InlineSelectOption,\n (prevProps, nextProps) =>\n prevProps.option === nextProps.option &&\n prevProps.optionSelected === nextProps.optionSelected &&\n prevProps.optionKeyboardSelected === nextProps.optionKeyboardSelected &&\n prevProps.disabled === nextProps.disabled\n)\n\n// \nInlineSelect.propTypes = {\n fetchOptions: PropTypes.func.isRequired,\n onSelect: PropTypes.func,\n onShow: PropTypes.func,\n onHide: PropTypes.func,\n value: PropTypes.any,\n disabled: PropTypes.bool,\n maxHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n className: PropTypes.string,\n tabIndex: PropTypes.any,\n multiple: PropTypes.bool,\n multipleIconUnchecked: PropTypes.string,\n multipleIconChecked: PropTypes.string,\n scrollToSelectedOnOpen: PropTypes.bool,\n complex: PropTypes.bool,\n children: PropTypes.any,\n innerRef: PropTypes.any\n}\nfunction InlineSelect({\n fetchOptions,\n onSelect,\n onShow,\n onHide,\n value,\n disabled,\n maxHeight,\n width,\n className,\n tabIndex = 0,\n multiple = false,\n multipleIconUnchecked = 'icon-aytmfd-afdcheckbox',\n multipleIconChecked = 'icon-aytmfd-afdcheckbox-full',\n scrollToSelectedOnOpen = false,\n children,\n complex,\n innerRef = null\n} = {}) {\n const [options, setOptions] = useState(null)\n const [keyboardIndex, setKeyboardIndex] = useState(-1)\n const [selectedOptions, setSelectedOptions] = useState(Set())\n const inlineSelectLabelSetOpened = useContext(InlineSelectLabelSetOpenedContext)\n\n const refFocusHolder = useRef()\n const refOptions = useRef()\n const hideEvent = useRef()\n\n const hideOptions = event => {\n if (event && event.relatedTarget instanceof HTMLInputElement && 'innerInput' == event.relatedTarget.dataset?.role)\n return\n if (null != options) {\n setOptions(null)\n if (0 <= keyboardIndex) {\n setKeyboardIndex(-1)\n }\n if (inlineSelectLabelSetOpened) {\n inlineSelectLabelSetOpened(false)\n }\n if (onHide) {\n onHide()\n }\n if (hideEvent.current) {\n document.removeEventListener('click', hideEvent.current, true)\n hideEvent.current = null\n }\n }\n }\n\n const showOptions = () => {\n if (null == options) {\n setOptions(List(fetchOptions()))\n if (0 <= keyboardIndex) {\n setKeyboardIndex(-1)\n }\n setSelectedOptions(setFromValue(value))\n if (inlineSelectLabelSetOpened) {\n inlineSelectLabelSetOpened(true)\n }\n if (refFocusHolder.current) {\n refFocusHolder.current.focus()\n }\n if (onShow) {\n onShow()\n }\n }\n if (complex)\n document.addEventListener(\n 'click',\n (hideEvent.current = event => {\n if (event.target && !DOMchildOf(event.target, refOptions.current)) {\n hideOptions()\n }\n }),\n true\n )\n }\n\n useEffect(() => {\n setSelectedOptions(setFromValue(value))\n }, [value])\n\n useLayoutEffect(() => {\n if (\n scrollToSelectedOnOpen &&\n List.isList(options) &&\n refOptions.current &&\n refOptions.current.scrollHeight > refOptions.current.clientHeight\n ) {\n const firstSelectedOption = refOptions.current.querySelector('.rfd-ui-inline-select-option-selected')\n if (firstSelectedOption) {\n // firstSelectedOption.scrollIntoView(false)\n verticalScrollIntoContainerView(firstSelectedOption, refOptions.current)\n }\n }\n }, [options, scrollToSelectedOnOpen])\n\n const onClickSelectButton = event => {\n stopEvent(event)\n if (1 == event.buttons && refFocusHolder.current) {\n if (null == options) {\n refFocusHolder.current.focus()\n } else {\n refFocusHolder.current.blur()\n }\n }\n }\n\n const selectOptionRef = useRef()\n selectOptionRef.current = multiple\n ? option => {\n const value = option.get('value')\n const updatedSelectedOptions = selectedOptions.has(value)\n ? selectedOptions.delete(value)\n : selectedOptions.add(value)\n setSelectedOptions(updatedSelectedOptions)\n if ('function' == typeof onSelect) {\n onSelect(options.filter(option => updatedSelectedOptions.has(option.get('value'))).toArray())\n }\n }\n : option => {\n if ('function' == typeof onSelect) {\n onSelect(option)\n }\n hideOptions()\n }\n\n const onKeyDown = event => {\n switch (event.key) {\n case 'ArrowUp': {\n stopEvent(event)\n if (0 <= keyboardIndex) {\n setKeyboardIndex(Math.max(keyboardIndex - 1, -1))\n }\n break\n }\n case 'ArrowDown': {\n stopEvent(event)\n if (List.isList(options)) {\n setKeyboardIndex(Math.min(keyboardIndex + 1, options.size))\n }\n break\n }\n case 'Escape': {\n stopEvent(event)\n if (refFocusHolder.current) {\n hideOptions()\n }\n break\n }\n case 'Enter':\n case ' ': {\n stopEvent(event)\n if (List.isList(options) && 0 <= keyboardIndex && options.has(keyboardIndex)) {\n selectOptionRef.current(options.get(keyboardIndex))\n } else {\n showOptions()\n }\n break\n }\n case 'Home': {\n stopEvent(event)\n if (0 !== keyboardIndex) {\n setKeyboardIndex(0)\n }\n break\n }\n case 'End': {\n stopEvent(event)\n if (List.isList(options)) {\n setKeyboardIndex(options.size - 1)\n }\n break\n }\n default: {\n break\n }\n }\n }\n useLayoutEffect(() => {\n if (0 <= keyboardIndex && refOptions.current && refOptions.current.scrollHeight > refOptions.current.clientHeight) {\n const keyboardSelectedOptions = refOptions.current.querySelector(`.${style['option-keyboard-selected']}`)\n if (keyboardSelectedOptions) {\n // keyboardSelectedOptions.scrollIntoView(false)\n verticalScrollIntoContainerView(keyboardSelectedOptions, refOptions.current)\n }\n }\n }, [keyboardIndex])\n\n return (\n \n
\n \n
\n
\n {children}\n \n
\n {List.isList(options) && (\n \n {options\n .map((option, index) => (\n \n ))\n .toArray()}\n \n )}\n \n )\n}\n\n// \nInlineSelectLabel.propTypes = {\n readOnly: PropTypes.bool,\n className: PropTypes.string,\n children: PropTypes.any\n}\nfunction InlineSelectLabel({ readOnly, className, children } = {}) {\n const [inlineSelectOpened, setInlineSelectOpened] = useState(false)\n return (\n \n \n {'function' === typeof children ? children(inlineSelectOpened) : children}\n \n \n )\n}\n\nfunction setFromValue(value) {\n return void 0 === value\n ? Set()\n : Set().withMutations(set => {\n if (Array.isArray(value)) {\n for (const v of value) {\n set.add(v)\n }\n } else {\n set.add(value)\n }\n })\n}\n","import React, { useMemo, useCallback } from 'react'\nimport PropTypes from 'prop-types'\nimport { stopEvent } from '@aytm/lib/common/func'\n\nimport '@aytm/lib/rfd-ui/styles/basic/radio-button.scss'\n\nRadioButton.propTypes = {\n /**\n * is checked\n */\n checked: PropTypes.bool,\n /**\n * is disabled\n */\n disabled: PropTypes.bool,\n /**\n * error state\n */\n error: PropTypes.bool,\n /**\n * Option label\n */\n label: PropTypes.string,\n /**\n * radio button size in pixels\n */\n checkSize: PropTypes.number,\n /**\n * label size in pixels\n */\n labelSize: PropTypes.number,\n /**\n * lineHeight for check and label\n */\n lineHeight: PropTypes.number,\n /**\n * custom style\n */\n style: PropTypes.object,\n /**\n * custom className\n */\n className: PropTypes.string,\n /**\n * \"checked\" icon className\n */\n checkedIcon: PropTypes.string,\n /**\n * \"unchecked\" icon className\n */\n uncheckedIcon: PropTypes.string,\n /**\n * fires when RadioButton is `clicked` and `not disabled`: `onAction(event)`\n */\n onAction: PropTypes.func,\n /**\n * fires when RadioButton is `clicked` (disabled or not): `onClick(event)`\n */\n onClick: PropTypes.func,\n /**\n * onKeyDown callback\n */\n onKeyDown: PropTypes.func,\n /**\n * `SPACE` and `ENTER` keys presses works as clicks\n */\n spaceEnterAsClick: PropTypes.bool,\n /**\n * `UP` and `DOWN` key presses will move focus between RadioButtons\n */\n upDownAsMoveFocus: PropTypes.bool,\n /**\n * RadioButton group name for `UP` and `DOWN` keys presses navigation\n */\n groupName: PropTypes.string\n}\nRadioButton.defaultProps = {\n checkedIcon: 'icon-aytmfd-afdradio-full',\n uncheckedIcon: 'icon-aytmfd-afdradio',\n spaceEnterAsClick: true,\n upDownAsMoveFocus: false,\n groupName: 'default'\n}\nexport default function RadioButton({\n checked,\n disabled,\n error,\n label,\n checkSize,\n labelSize,\n lineHeight,\n style,\n className,\n checkedIcon = 'icon-aytmfd-afdradio-full',\n uncheckedIcon = 'icon-aytmfd-afdradio',\n onAction,\n onClick: onCustomClick,\n onKeyDown: onCustomKeyDown,\n spaceEnterAsClick = true,\n upDownAsMoveFocus = false,\n groupName = 'default',\n ...otherProps\n} = {}) {\n const commonLineHeight = useMemo(\n () =>\n lineHeight\n ? `${lineHeight}px`\n : (() => {\n const maxSize = Math.max(checkSize, labelSize)\n return maxSize ? `${maxSize * 1.2}px` : null\n })(),\n [lineHeight, checkSize, labelSize]\n )\n const applyStyle = useMemo(() => (commonLineHeight ? { lineHeight: commonLineHeight } : {}), [commonLineHeight])\n const mergedStyle = useMemo(\n () => (null != style ? Object.assign(applyStyle, style) : applyStyle),\n [style, applyStyle]\n )\n\n const onClick = useCallback(\n event => {\n if (onCustomClick) {\n onCustomClick(event)\n }\n if (!disabled && (void 0 === event.button || 0 === event.button) && onAction) {\n onAction(event)\n }\n },\n [onCustomClick, onAction, disabled]\n )\n\n const onKeyDown = useCallback(\n event => {\n if (onCustomKeyDown) {\n onCustomKeyDown(event)\n }\n if (!disabled) {\n if (spaceEnterAsClick && onClick && (' ' === event.key || 'Enter' === event.key)) {\n onClick(event)\n stopEvent(event)\n } else if (upDownAsMoveFocus) {\n if ('ArrowUp' === event.key) {\n const activeRadioButtons = document.querySelectorAll(\n `${groupName ? `.rfd-ui-radiobutton-group-${groupName}` : ''}.rfd-ui-radiobutton[tabindex=\"0\"]`\n )\n for (let i = 0; i < activeRadioButtons.length; i++) {\n if (document.activeElement === activeRadioButtons[i]) {\n if (i > 0) {\n const prevRadioButtons = activeRadioButtons[i - 1]\n if (prevRadioButtons) {\n prevRadioButtons.focus()\n prevRadioButtons.click()\n }\n }\n break\n }\n }\n stopEvent(event)\n } else if ('ArrowDown' === event.key) {\n const activeRadioButtons = document.querySelectorAll(\n `${groupName ? `.rfd-ui-radiobutton-group-${groupName}` : ''}.rfd-ui-radiobutton[tabindex=\"0\"]`\n )\n for (let i = 0; i < activeRadioButtons.length; i++) {\n if (document.activeElement === activeRadioButtons[i]) {\n if (i < activeRadioButtons.length - 1) {\n const nextRadioButtons = activeRadioButtons[i + 1]\n if (nextRadioButtons) {\n nextRadioButtons.focus()\n nextRadioButtons.click()\n }\n }\n break\n }\n }\n stopEvent(event)\n }\n }\n }\n },\n [onCustomKeyDown, onClick, disabled, spaceEnterAsClick, upDownAsMoveFocus, groupName]\n )\n\n return (\n \n \n {label && (\n \n )}\n \n )\n}\n"],"names":["AssetUploader","_AssetUploader","_ManagedRenderCompone","_classCallCheck","_callSuper","arguments","_inherits","key","value","this","refUploadInput","files","length","uploadFile","file","onUploadFile","props","_this$props","accept","readOnly","children","React","className","style","type","name","onChange","fileSelected","tabIndex","ref","saveRef","ManagedRenderComponent","propTypes","PropTypes","_applyDecoratedDescriptor","_class","prototype","autobind","Object","getOwnPropertyDescriptor","ImagePreview","_ImagePreview","context","_this","state","loading","loaded","previewUrl","previewState","showImage","previewImage","setPreviewImage","nextProps","url","_this2","doubleBuffering","setState","reposition","document","createElement","addEventListener","onPreviewLoaded","setTimeout","mounted","src","popupContent","_this3","onImageLoaded","popup","onImageOpen","freeze","onImageHide","unfreeze","hide","label","imageUrl","maxHeight","maxWidth","minHeight","minWidth","allowScrolling","openImageOnZoomButtonOnly","onUploadImage","uploadImageLabel","onDeleteImage","deleteImageLabel","_this$state","onClick","role","alt","onLoad","onLoaded","ImagePopup","show","scrolling","onClose","hideImage","closeOnClick","prevProps","contextTypes","Popup","PopupContent","smoothStep","start","end","point","x","scrollTo","element","params","duration","Promise","reject","top","scrollTop","left","scrollLeft","resolve","startTime","Date","now","endTime","distance","prev","y","scrollFrame","frame","Math","round","verticalScrollIntoContainerView","container","undefined","parentElement","_ref$margin","margin","getBoundingClientRect","containerRect","elementRect","bottom","useMountedRef","useRef","useEffect","current","CheckBox","_ref","checked","disabled","error","checkSize","labelSize","lineHeight","_ref$checkedIcon","checkedIcon","_ref$uncheckedIcon","uncheckedIcon","onAction","onCustomClick","onCustomKeyDown","onKeyDown","_ref$spaceEnterAsClic","spaceEnterAsClick","_ref$upDownAsMoveFocu","upDownAsMoveFocus","_ref$groupName","groupName","otherProps","_objectWithoutProperties","_excluded","commonLineHeight","useMemo","maxSize","max","applyStyle","mergedStyle","assign","useCallback","event","button","stopEvent","activeCheckboxes","querySelectorAll","i","activeElement","focus","_extends","fontSize","dangerouslySetInnerHTML","__html","defaultProps","ClickOutside","_Component","captured","isTouch","refContainer","onClickOutside","contains","target","handle","removeEventListener","saveRefContainer","Component","_ImagePopup","_PureDataComponent","animate","bodyElm","querySelector","bodyElmOverflowBackup","overflow","imageWidth","styles","imageHeight","intrinsicWidth","intrinsicHeight","naturalWidth","naturalHeight","resize","onError","refImageFrame","fWidth","offsetWidth","fHeight","offsetHeight","v","viewport","maxIWidth","w","maxIHeight","h","iWidth","iHeight","ratio","classList","add","remove","resizePreload","_get","_getPrototypeOf","call","setProperty","window","handleWindowResize","_this$props2","imageProps","_this$props2$loadingI","loadingIcon","_this$props2$failedIc","failedIcon","_this$props2$closeIco","closeIcon","_this$props2$closeOnC","_this$state2","LightBox","handleClose","fullSize","classNames","width","height","padding","cursor","preprocessText","escapeText","PureDataComponent","_ref2","fetchOptions","onSelect","onShow","onHide","_ref2$tabIndex","_ref2$multiple","multiple","_ref2$multipleIconUnc","multipleIconUnchecked","_ref2$multipleIconChe","multipleIconChecked","_ref2$scrollToSelecte","scrollToSelectedOnOpen","complex","_ref2$innerRef","innerRef","_useState2","_slicedToArray","useState","options","setOptions","_useState4","keyboardIndex","setKeyboardIndex","_useState6","Set","selectedOptions","setSelectedOptions","inlineSelectLabelSetOpened","useContext","InlineSelectLabelSetOpenedContext","refFocusHolder","refOptions","hideEvent","hideOptions","_event$relatedTarget$","relatedTarget","HTMLInputElement","dataset","showOptions","List","setFromValue","DOMchildOf","useLayoutEffect","scrollHeight","clientHeight","firstSelectedOption","selectOptionRef","option","get","updatedSelectedOptions","has","delete","filter","toArray","keyboardSelectedOptions","size","onFocus","onBlur","min","onMouseDown","buttons","blur","float","map","index","InlineSelectOptionMemo","optionSelected","optionKeyboardSelected","InlineSelectOption","_ref$multiple","_ref$multipleIconUnch","_ref$multipleIconChec","_ref$disabled","_ref$optionSelected","_ref$optionKeyboardSe","optionDisabled","renderOption","InlineSelectLabel","_ref3","_useState8","inlineSelectOpened","setInlineSelectOpened","Provider","withMutations","set","Array","isArray","_step","_iterator","_createForOfIteratorHelper","s","n","done","err","e","f","RadioButton","activeRadioButtons","prevRadioButtons","click","nextRadioButtons"],"sourceRoot":""}