@mirai/ui 2.0.19 → 2.0.21
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/build/components/Form/Form.constants.js +3 -1
- package/build/components/Form/Form.constants.js.map +1 -1
- package/build/components/Form/Form.js +5 -0
- package/build/components/Form/Form.js.map +1 -1
- package/build/components/Modal/Modal.js +4 -6
- package/build/components/Modal/Modal.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,13 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.FIELDS_WITHOUT_ERROR = exports.FIELDS_BOOLEAN = exports.DEFAULT_TIMEOUT_ONERROR = exports.DEFAULT_TIMEOUT_ONCHANGE = void 0;
|
|
6
|
+
exports.FIELDS_WITHOUT_ERROR = exports.FIELDS_INPUT = exports.FIELDS_BOOLEAN = exports.DEFAULT_TIMEOUT_ONERROR = exports.DEFAULT_TIMEOUT_ONCHANGE = void 0;
|
|
7
7
|
var DEFAULT_TIMEOUT_ONCHANGE = 0;
|
|
8
8
|
exports.DEFAULT_TIMEOUT_ONCHANGE = DEFAULT_TIMEOUT_ONCHANGE;
|
|
9
9
|
var DEFAULT_TIMEOUT_ONERROR = 10;
|
|
10
10
|
exports.DEFAULT_TIMEOUT_ONERROR = DEFAULT_TIMEOUT_ONERROR;
|
|
11
11
|
var FIELDS_BOOLEAN = ['Component:InputOption', 'Primitive:Checkbox', 'Primitive:Radio', 'Primitive.Switch'];
|
|
12
12
|
exports.FIELDS_BOOLEAN = FIELDS_BOOLEAN;
|
|
13
|
+
var FIELDS_INPUT = ['Component:InputText', 'Component:InputDate', 'Component:InputPhone'];
|
|
14
|
+
exports.FIELDS_INPUT = FIELDS_INPUT;
|
|
13
15
|
var FIELDS_WITHOUT_ERROR = ['Primitive:Radio', 'Component:InputNumber'];
|
|
14
16
|
exports.FIELDS_WITHOUT_ERROR = FIELDS_WITHOUT_ERROR;
|
|
15
17
|
//# sourceMappingURL=Form.constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.constants.js","names":["DEFAULT_TIMEOUT_ONCHANGE","DEFAULT_TIMEOUT_ONERROR","FIELDS_BOOLEAN","FIELDS_WITHOUT_ERROR"],"sources":["../../../src/components/Form/Form.constants.js"],"sourcesContent":["const DEFAULT_TIMEOUT_ONCHANGE = 0;\nconst DEFAULT_TIMEOUT_ONERROR = 10;\nconst FIELDS_BOOLEAN = ['Component:InputOption', 'Primitive:Checkbox', 'Primitive:Radio', 'Primitive.Switch'];\nconst FIELDS_WITHOUT_ERROR = ['Primitive:Radio', 'Component:InputNumber'];\n\nexport { DEFAULT_TIMEOUT_ONCHANGE, DEFAULT_TIMEOUT_ONERROR, FIELDS_BOOLEAN, FIELDS_WITHOUT_ERROR };\n"],"mappings":";;;;;;AAAA,IAAMA,wBAAwB,GAAG,CAAC;AAAC;AACnC,IAAMC,uBAAuB,GAAG,EAAE;AAAC;AACnC,IAAMC,cAAc,GAAG,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;AAAC;AAC9G,IAAMC,oBAAoB,GAAG,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;AAAC"}
|
|
1
|
+
{"version":3,"file":"Form.constants.js","names":["DEFAULT_TIMEOUT_ONCHANGE","DEFAULT_TIMEOUT_ONERROR","FIELDS_BOOLEAN","FIELDS_INPUT","FIELDS_WITHOUT_ERROR"],"sources":["../../../src/components/Form/Form.constants.js"],"sourcesContent":["const DEFAULT_TIMEOUT_ONCHANGE = 0;\nconst DEFAULT_TIMEOUT_ONERROR = 10;\nconst FIELDS_BOOLEAN = ['Component:InputOption', 'Primitive:Checkbox', 'Primitive:Radio', 'Primitive.Switch'];\nconst FIELDS_INPUT = ['Component:InputText', 'Component:InputDate', 'Component:InputPhone'];\nconst FIELDS_WITHOUT_ERROR = ['Primitive:Radio', 'Component:InputNumber'];\n\nexport { DEFAULT_TIMEOUT_ONCHANGE, DEFAULT_TIMEOUT_ONERROR, FIELDS_BOOLEAN, FIELDS_INPUT, FIELDS_WITHOUT_ERROR };\n"],"mappings":";;;;;;AAAA,IAAMA,wBAAwB,GAAG,CAAC;AAAC;AACnC,IAAMC,uBAAuB,GAAG,EAAE;AAAC;AACnC,IAAMC,cAAc,GAAG,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;AAAC;AAC9G,IAAMC,YAAY,GAAG,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,sBAAsB,CAAC;AAAC;AAC5F,IAAMC,oBAAoB,GAAG,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;AAAC"}
|
|
@@ -121,6 +121,10 @@ var Form = function Form(_ref) {
|
|
|
121
121
|
setTouched(_objectSpread(_objectSpread({}, touched), {}, _defineProperty({}, field, true)));
|
|
122
122
|
if (onEnter) onEnter(field, event);
|
|
123
123
|
};
|
|
124
|
+
var handleKeyUp = function handleKeyUp(event) {
|
|
125
|
+
if (event.key !== 'Enter' || Object.keys(error).length) return;
|
|
126
|
+
handleSubmit(event);
|
|
127
|
+
};
|
|
124
128
|
var handleSubmit = function handleSubmit(event) {
|
|
125
129
|
event.preventDefault();
|
|
126
130
|
var errors = handleError(values);
|
|
@@ -155,6 +159,7 @@ var Form = function Form(_ref) {
|
|
|
155
159
|
onEnter: function onEnter(event) {
|
|
156
160
|
return handleLeave(field, event);
|
|
157
161
|
},
|
|
162
|
+
onKeyUp: _Form.FIELDS_INPUT.includes(displayName) ? handleKeyUp : undefined,
|
|
158
163
|
onLeave: onLeave ? function (event) {
|
|
159
164
|
return onLeave(field, event);
|
|
160
165
|
} : undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.js","names":["timeoutError","Form","children","debounce","DEFAULT_TIMEOUT_ONCHANGE","schema","showErrors","validateOnMount","onChange","onEnter","onError","onLeave","onSubmit","others","useState","error","setError","initialValue","setInitialValue","touched","setTouched","values","setValues","useEffect","nextValues","getChildrenValues","nextChildrenKeys","Object","keys","sort","length","JSON","stringify","clearTimeout","handleError","collision","some","key","groupState","value","timer","setTimeout","handleChange","field","fieldValue","DEFAULT_TIMEOUT_ONERROR","next","getChildrenErrors","handleLeave","event","handleSubmit","preventDefault","errors","useMemo","React","createElement","Primitive","tag","Children","map","child","index","props","type","displayName","getField","cloneElement","FIELDS_WITHOUT_ERROR","includes","FIELDS_BOOLEAN","undefined","onPress","propTypes","PropTypes","node","number","shape","bool","func"],"sources":["../../../src/components/Form/Form.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { Primitive } from '../../primitives';\nimport {\n DEFAULT_TIMEOUT_ONCHANGE,\n DEFAULT_TIMEOUT_ONERROR,\n FIELDS_BOOLEAN,\n FIELDS_WITHOUT_ERROR,\n} from './Form.constants';\nimport { getChildrenErrors, getChildrenValues, getField, groupState } from './helpers';\n\nlet timeoutError;\n\nconst Form = ({\n children,\n debounce = DEFAULT_TIMEOUT_ONCHANGE,\n schema = {},\n showErrors = false,\n validateOnMount = false,\n onChange,\n onEnter,\n onError,\n onLeave,\n onSubmit,\n ...others\n}) => {\n const [error, setError] = useState({});\n const [initialValue, setInitialValue] = useState({});\n const [touched, setTouched] = useState({});\n const [values, setValues] = useState({});\n\n useEffect(() => {\n const nextValues = getChildrenValues(children);\n const nextChildrenKeys = Object.keys(nextValues).sort();\n\n if (!Object.keys(nextValues).length) return;\n\n if (JSON.stringify(nextChildrenKeys) !== JSON.stringify(Object.keys(initialValue).sort())) {\n setInitialValue(nextValues);\n setValues(nextValues);\n clearTimeout(timeoutError);\n\n if (validateOnMount) handleError(nextValues);\n else setError({});\n\n setTouched({});\n } else {\n const collision = nextChildrenKeys.some((key) => JSON.stringify(values[key]) !== JSON.stringify(nextValues[key]));\n if (collision) {\n setValues(nextValues);\n handleError(nextValues);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children]);\n\n useEffect(() => {\n if (!onChange || values === initialValue || !Object.keys(values).length) return;\n\n if (!debounce) return onChange(values, groupState({ initialValue, value: values, touched }));\n\n const timer = setTimeout(() => onChange(values, groupState({ initialValue, value: values, touched })), debounce);\n return () => clearTimeout(timer);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [values]);\n\n const handleChange = (field, fieldValue) => {\n const nextValues = { ...values, [field]: fieldValue };\n\n setValues(nextValues);\n timeoutError = setTimeout(() => handleError(nextValues), DEFAULT_TIMEOUT_ONERROR);\n };\n\n const handleError = (values) => {\n const next = getChildrenErrors({ children, schema, values });\n\n setError(next);\n if (JSON.stringify(error) !== JSON.stringify(next)) onError && onError(next);\n\n return next;\n };\n\n const handleLeave = (field, event) => {\n setTouched({ ...touched, [field]: true });\n if (onEnter) onEnter(field, event);\n };\n\n const handleSubmit = (event) => {\n event.preventDefault();\n const errors = handleError(values);\n\n if (Object.keys(errors).length) onError(errors);\n else if (onSubmit) onSubmit(values, groupState({ initialValue, value: values, touched }), event);\n };\n\n return useMemo(\n () =>\n React.createElement(\n Primitive,\n {\n ...others,\n tag: 'form',\n onSubmit: handleSubmit,\n },\n React.Children.map(children, (child, index) => {\n if (!child || child === null) return;\n\n const { props = {}, type: { displayName } = {} } = child || {};\n const { type } = props;\n const field = getField(props);\n\n return React.cloneElement(child, {\n key: index,\n ...(field\n ? {\n ...props,\n ...schema[field],\n error: !FIELDS_WITHOUT_ERROR.includes(displayName) && (props.error || (showErrors && !!error[field])),\n value: !FIELDS_BOOLEAN.includes(displayName) ? values[field] : props.value,\n onChange: (value) => handleChange(field, value),\n onEnter: (event) => handleLeave(field, event),\n onLeave: onLeave ? (event) => onLeave(field, event) : undefined,\n }\n : type === 'submit'\n ? { ...props, onPress: handleSubmit }\n : undefined),\n });\n }),\n ),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [children, error, others, schema],\n );\n};\n\nForm.displayName = 'Component:Form';\n\nForm.propTypes = {\n children: PropTypes.node,\n debounce: PropTypes.number,\n schema: PropTypes.shape({}),\n showErrors: PropTypes.bool,\n validateOnMount: PropTypes.bool,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onError: PropTypes.func,\n onLeave: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Form };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Form.js","names":["timeoutError","Form","children","debounce","DEFAULT_TIMEOUT_ONCHANGE","schema","showErrors","validateOnMount","onChange","onEnter","onError","onLeave","onSubmit","others","useState","error","setError","initialValue","setInitialValue","touched","setTouched","values","setValues","useEffect","nextValues","getChildrenValues","nextChildrenKeys","Object","keys","sort","length","JSON","stringify","clearTimeout","handleError","collision","some","key","groupState","value","timer","setTimeout","handleChange","field","fieldValue","DEFAULT_TIMEOUT_ONERROR","next","getChildrenErrors","handleLeave","event","handleKeyUp","handleSubmit","preventDefault","errors","useMemo","React","createElement","Primitive","tag","Children","map","child","index","props","type","displayName","getField","cloneElement","FIELDS_WITHOUT_ERROR","includes","FIELDS_BOOLEAN","onKeyUp","FIELDS_INPUT","undefined","onPress","propTypes","PropTypes","node","number","shape","bool","func"],"sources":["../../../src/components/Form/Form.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { Primitive } from '../../primitives';\nimport {\n DEFAULT_TIMEOUT_ONCHANGE,\n DEFAULT_TIMEOUT_ONERROR,\n FIELDS_BOOLEAN,\n FIELDS_INPUT,\n FIELDS_WITHOUT_ERROR,\n} from './Form.constants';\nimport { getChildrenErrors, getChildrenValues, getField, groupState } from './helpers';\n\nlet timeoutError;\n\nconst Form = ({\n children,\n debounce = DEFAULT_TIMEOUT_ONCHANGE,\n schema = {},\n showErrors = false,\n validateOnMount = false,\n onChange,\n onEnter,\n onError,\n onLeave,\n onSubmit,\n ...others\n}) => {\n const [error, setError] = useState({});\n const [initialValue, setInitialValue] = useState({});\n const [touched, setTouched] = useState({});\n const [values, setValues] = useState({});\n\n useEffect(() => {\n const nextValues = getChildrenValues(children);\n const nextChildrenKeys = Object.keys(nextValues).sort();\n\n if (!Object.keys(nextValues).length) return;\n\n if (JSON.stringify(nextChildrenKeys) !== JSON.stringify(Object.keys(initialValue).sort())) {\n setInitialValue(nextValues);\n setValues(nextValues);\n clearTimeout(timeoutError);\n\n if (validateOnMount) handleError(nextValues);\n else setError({});\n\n setTouched({});\n } else {\n const collision = nextChildrenKeys.some((key) => JSON.stringify(values[key]) !== JSON.stringify(nextValues[key]));\n if (collision) {\n setValues(nextValues);\n handleError(nextValues);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children]);\n\n useEffect(() => {\n if (!onChange || values === initialValue || !Object.keys(values).length) return;\n\n if (!debounce) return onChange(values, groupState({ initialValue, value: values, touched }));\n\n const timer = setTimeout(() => onChange(values, groupState({ initialValue, value: values, touched })), debounce);\n return () => clearTimeout(timer);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [values]);\n\n const handleChange = (field, fieldValue) => {\n const nextValues = { ...values, [field]: fieldValue };\n\n setValues(nextValues);\n timeoutError = setTimeout(() => handleError(nextValues), DEFAULT_TIMEOUT_ONERROR);\n };\n\n const handleError = (values) => {\n const next = getChildrenErrors({ children, schema, values });\n\n setError(next);\n if (JSON.stringify(error) !== JSON.stringify(next)) onError && onError(next);\n\n return next;\n };\n\n const handleLeave = (field, event) => {\n setTouched({ ...touched, [field]: true });\n if (onEnter) onEnter(field, event);\n };\n\n const handleKeyUp = (event) => {\n if (event.key !== 'Enter' || Object.keys(error).length) return;\n handleSubmit(event);\n };\n\n const handleSubmit = (event) => {\n event.preventDefault();\n const errors = handleError(values);\n\n if (Object.keys(errors).length) onError(errors);\n else if (onSubmit) onSubmit(values, groupState({ initialValue, value: values, touched }), event);\n };\n\n return useMemo(\n () =>\n React.createElement(\n Primitive,\n {\n ...others,\n tag: 'form',\n onSubmit: handleSubmit,\n },\n React.Children.map(children, (child, index) => {\n if (!child || child === null) return;\n\n const { props = {}, type: { displayName } = {} } = child || {};\n const { type } = props;\n const field = getField(props);\n\n return React.cloneElement(child, {\n key: index,\n ...(field\n ? {\n ...props,\n ...schema[field],\n error: !FIELDS_WITHOUT_ERROR.includes(displayName) && (props.error || (showErrors && !!error[field])),\n value: !FIELDS_BOOLEAN.includes(displayName) ? values[field] : props.value,\n onChange: (value) => handleChange(field, value),\n onEnter: (event) => handleLeave(field, event),\n onKeyUp: FIELDS_INPUT.includes(displayName) ? handleKeyUp : undefined,\n onLeave: onLeave ? (event) => onLeave(field, event) : undefined,\n }\n : type === 'submit'\n ? { ...props, onPress: handleSubmit }\n : undefined),\n });\n }),\n ),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [children, error, others, schema],\n );\n};\n\nForm.displayName = 'Component:Form';\n\nForm.propTypes = {\n children: PropTypes.node,\n debounce: PropTypes.number,\n schema: PropTypes.shape({}),\n showErrors: PropTypes.bool,\n validateOnMount: PropTypes.bool,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onError: PropTypes.func,\n onLeave: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Form };\n"],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ var _primitives = require("../../primitives");
|
|
|
15
15
|
var _theme = require("../../theme");
|
|
16
16
|
var _Modal = require("./Modal.constants");
|
|
17
17
|
var _ModalModule = _interopRequireDefault(require("./Modal.module.css"));
|
|
18
|
-
var _excluded = ["blur", "children", "displayName", "fit", "mobileBehavior", "overflow", "portal", "preventDefault", "title", "visible", "
|
|
18
|
+
var _excluded = ["blur", "children", "displayName", "fit", "mobileBehavior", "overflow", "portal", "preventDefault", "title", "visible", "onBack", "onClose", "onOverflow", "aria"];
|
|
19
19
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
20
20
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -55,8 +55,6 @@ var Modal = function Modal(_ref) {
|
|
|
55
55
|
preventDefault = _ref$preventDefault === void 0 ? true : _ref$preventDefault,
|
|
56
56
|
title = _ref.title,
|
|
57
57
|
visible = _ref.visible,
|
|
58
|
-
_ref$withInstance = _ref.withInstance,
|
|
59
|
-
withInstance = _ref$withInstance === void 0 ? true : _ref$withInstance,
|
|
60
58
|
onBack = _ref.onBack,
|
|
61
59
|
onClose = _ref.onClose,
|
|
62
60
|
onOverflow = _ref.onOverflow,
|
|
@@ -81,7 +79,7 @@ var Modal = function Modal(_ref) {
|
|
|
81
79
|
instance = _useState4[0],
|
|
82
80
|
setInstance = _useState4[1];
|
|
83
81
|
(0, _react.useEffect)(function () {
|
|
84
|
-
if (_helpers.IS_JEST
|
|
82
|
+
if (_helpers.IS_JEST) return;
|
|
85
83
|
!instance && visible ? setInstance(visible) : instance && !visible ? setTimeout(function () {
|
|
86
84
|
return setInstance(visible);
|
|
87
85
|
}, _Modal.UNLOAD_DELAY) : null;
|
|
@@ -142,7 +140,7 @@ var Modal = function Modal(_ref) {
|
|
|
142
140
|
preventDefault: preventDefault,
|
|
143
141
|
tag: "modal-overflow",
|
|
144
142
|
onPress: visible && overflow ? handleOverflow : undefined,
|
|
145
|
-
className: (0, _helpers.styles)(_ModalModule.default.container, isDesktop && mobileBehavior && _ModalModule.default.mobileBehavior, overflow && _ModalModule.default.overflow, overflow && blur && _ModalModule.default.blur, visible &&
|
|
143
|
+
className: (0, _helpers.styles)(_ModalModule.default.container, isDesktop && mobileBehavior && _ModalModule.default.mobileBehavior, overflow && _ModalModule.default.overflow, overflow && blur && _ModalModule.default.blur, visible && instance && _ModalModule.default.visible, onOverflow && _ModalModule.default.onOverflow),
|
|
146
144
|
style: {
|
|
147
145
|
height: height
|
|
148
146
|
},
|
|
@@ -179,7 +177,7 @@ var Modal = function Modal(_ref) {
|
|
|
179
177
|
}, /*#__PURE__*/_react.default.createElement(_primitives.Icon, {
|
|
180
178
|
value: _primitives.ICON.CLOSE,
|
|
181
179
|
className: _ModalModule.default.icon
|
|
182
|
-
}))),
|
|
180
|
+
}))), instance && _react.default.Children.map(children, function (child, index) {
|
|
183
181
|
return !child || child === null ? null : /*#__PURE__*/_react.default.cloneElement(child, _objectSpread(_objectSpread({
|
|
184
182
|
key: child.key || index
|
|
185
183
|
}, child.props), {}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","names":["Event","publish","subscribe","Modal","blur","children","displayName","fit","mobileBehavior","overflow","portal","preventDefault","title","visible","withInstance","onBack","onClose","onOverflow","aria","buttonBack","ariaBack","buttonClose","ariaClose","others","useDevice","isDesktop","isMobile","height","ref","useRef","useState","dataset","setDataset","IS_JEST","instance","setInstance","useEffect","setTimeout","UNLOAD_DELAY","EVENT_VISIBLE","handleKeydown","event","key","handleClose","document","addEventListener","removeEventListener","body","miraiModal","undefined","handleOverflow","target","current","contains","defaultDirection","Theme","getDirection","DIRECTION_TYPE","LEFT","renderer","jsx","ReactDOM","createPortal","testId","styles","style","container","modal","calcWidth","className","header","reverse","hideBack","hideClose","ICON","icon","CLOSE","React","Children","map","child","index","cloneElement","props","role","propTypes","PropTypes","bool","node","string","func","shape"],"sources":["../../../src/components/Modal/Modal.jsx"],"sourcesContent":["// import { Event } from '@mirai/data-sources';\nconst Event = {\n publish: () => {},\n subscribe: () => {},\n};\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Button } from '../../components';\nimport { IS_JEST, styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { Icon, ICON, Pressable, Text, View } from '../../primitives';\nimport { DIRECTION_TYPE, Theme } from '../../theme';\nimport { EVENT_VISIBLE, UNLOAD_DELAY } from './Modal.constants';\nimport style from './Modal.module.css';\n\nconst Modal = ({\n blur = false,\n children,\n displayName,\n fit = false,\n mobileBehavior = false,\n overflow = true,\n portal = false,\n preventDefault = true,\n title,\n visible,\n withInstance = true,\n onBack,\n onClose,\n onOverflow,\n aria: { buttonBack: ariaBack = 'Back', buttonClose: ariaClose = 'Close' } = {},\n ...others\n}) => {\n const { isDesktop, isMobile, height } = useDevice();\n const ref = useRef();\n\n const [dataset, setDataset] = useState();\n const [instance, setInstance] = useState(IS_JEST);\n\n useEffect(() => {\n if (IS_JEST || !withInstance) return;\n\n !instance && visible\n ? setInstance(visible)\n : instance && !visible\n ? setTimeout(() => setInstance(visible), UNLOAD_DELAY)\n : null;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [!instance, visible]);\n\n useEffect(() => {\n if (!visible || !onClose) return;\n Event.publish(EVENT_VISIBLE, { visible, displayName });\n\n const handleKeydown = (event) => event.key === 'Escape' && handleClose();\n\n document.addEventListener('keydown', handleKeydown);\n return () => document.removeEventListener('keydown', handleKeydown);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [visible]);\n\n useEffect(() => {\n if (visible && !dataset) {\n setDataset(true);\n document.body.dataset.miraiModal = true;\n }\n\n return () => {\n if (visible && dataset) {\n setDataset(undefined);\n delete document.body.dataset.miraiModal;\n }\n };\n }, [dataset, visible]);\n\n const handleOverflow = (event) => {\n const { target } = event;\n\n if (onOverflow && !ref.current?.contains(target)) {\n Event.publish(EVENT_VISIBLE, { visible: false, displayName });\n onOverflow(event);\n }\n };\n\n const handleClose = (event) => {\n Event.publish(EVENT_VISIBLE, { visible: false, displayName });\n onClose(event);\n };\n\n const defaultDirection = Theme.getDirection() === DIRECTION_TYPE.LEFT;\n const renderer = IS_JEST || !portal ? (jsx) => jsx : ReactDOM.createPortal;\n const { testId } = others;\n\n return renderer(\n <Pressable\n preventDefault={preventDefault}\n tag=\"modal-overflow\"\n onPress={visible && overflow ? handleOverflow : undefined}\n className={styles(\n style.container,\n isDesktop && mobileBehavior && style.mobileBehavior,\n overflow && style.overflow,\n overflow && blur && style.blur,\n visible && (instance || !withInstance) && style.visible,\n onOverflow && style.onOverflow,\n )}\n style={{ height }}\n testId={testId && overflow ? `${testId}-overflow` : undefined}\n >\n <View\n {...others}\n fit\n ref={ref}\n tag=\"modal\"\n className={styles(style.modal, !fit && style.calcWidth, visible && style.visible, others.className)}\n aria-hidden={visible ? 'false' : 'true'}\n >\n {(title || onBack || onClose) && (\n <View\n row\n className={styles(\n style.header,\n !defaultDirection && style.reverse,\n !onBack && style.hideBack,\n !onClose && style.hideClose,\n )}\n >\n {onBack && (\n <Button\n small\n squared\n transparent\n onPress={onBack}\n aria-label={ariaBack}\n testId={testId ? `${testId}-button-back` : undefined}\n >\n <Icon value={ICON.LEFT} className={style.icon} />\n </Button>\n )}\n {title && (\n <Text headline={!isMobile} className={style.title}>\n {title}\n </Text>\n )}\n {onClose && (\n <Button\n small\n squared\n transparent\n onPress={handleClose}\n aria-label={ariaClose}\n testId={testId ? `${testId}-button-close` : undefined}\n >\n <Icon value={ICON.CLOSE} className={style.icon} />\n </Button>\n )}\n </View>\n )}\n\n {(instance || !withInstance) &&\n React.Children.map(children, (child, index) =>\n !child || child === null\n ? null\n : React.cloneElement(child, { key: child.key || index, ...child.props, role: 'modal-content' }),\n )}\n </View>\n </Pressable>,\n document.body,\n );\n};\n\nModal.displayName = 'Component:Modal';\n\nModal.propTypes = {\n blur: PropTypes.bool,\n children: PropTypes.node,\n displayName: PropTypes.string,\n fit: PropTypes.bool,\n mobileBehavior: PropTypes.bool,\n overflow: PropTypes.bool,\n portal: PropTypes.bool,\n preventDefault: PropTypes.bool,\n title: PropTypes.string,\n visible: PropTypes.bool,\n onBack: PropTypes.func,\n onClose: PropTypes.func,\n onOverflow: PropTypes.func,\n aria: PropTypes.shape({\n buttonBack: PropTypes.string,\n buttonClose: PropTypes.string,\n }),\n};\n\nexport { Modal };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Modal.js","names":["Event","publish","subscribe","Modal","blur","children","displayName","fit","mobileBehavior","overflow","portal","preventDefault","title","visible","onBack","onClose","onOverflow","aria","buttonBack","ariaBack","buttonClose","ariaClose","others","useDevice","isDesktop","isMobile","height","ref","useRef","useState","dataset","setDataset","IS_JEST","instance","setInstance","useEffect","setTimeout","UNLOAD_DELAY","EVENT_VISIBLE","handleKeydown","event","key","handleClose","document","addEventListener","removeEventListener","body","miraiModal","undefined","handleOverflow","target","current","contains","defaultDirection","Theme","getDirection","DIRECTION_TYPE","LEFT","renderer","jsx","ReactDOM","createPortal","testId","styles","style","container","modal","calcWidth","className","header","reverse","hideBack","hideClose","ICON","icon","CLOSE","React","Children","map","child","index","cloneElement","props","role","propTypes","PropTypes","bool","node","string","func","shape"],"sources":["../../../src/components/Modal/Modal.jsx"],"sourcesContent":["// import { Event } from '@mirai/data-sources';\nconst Event = {\n publish: () => {},\n subscribe: () => {},\n};\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Button } from '../../components';\nimport { IS_JEST, styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { Icon, ICON, Pressable, Text, View } from '../../primitives';\nimport { DIRECTION_TYPE, Theme } from '../../theme';\nimport { EVENT_VISIBLE, UNLOAD_DELAY } from './Modal.constants';\nimport style from './Modal.module.css';\n\nconst Modal = ({\n blur = false,\n children,\n displayName,\n fit = false,\n mobileBehavior = false,\n overflow = true,\n portal = false,\n preventDefault = true,\n title,\n visible,\n onBack,\n onClose,\n onOverflow,\n aria: { buttonBack: ariaBack = 'Back', buttonClose: ariaClose = 'Close' } = {},\n ...others\n}) => {\n const { isDesktop, isMobile, height } = useDevice();\n const ref = useRef();\n\n const [dataset, setDataset] = useState();\n const [instance, setInstance] = useState(IS_JEST);\n\n useEffect(() => {\n if (IS_JEST) return;\n\n !instance && visible\n ? setInstance(visible)\n : instance && !visible\n ? setTimeout(() => setInstance(visible), UNLOAD_DELAY)\n : null;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [!instance, visible]);\n\n useEffect(() => {\n if (!visible || !onClose) return;\n Event.publish(EVENT_VISIBLE, { visible, displayName });\n\n const handleKeydown = (event) => event.key === 'Escape' && handleClose();\n\n document.addEventListener('keydown', handleKeydown);\n return () => document.removeEventListener('keydown', handleKeydown);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [visible]);\n\n useEffect(() => {\n if (visible && !dataset) {\n setDataset(true);\n document.body.dataset.miraiModal = true;\n }\n\n return () => {\n if (visible && dataset) {\n setDataset(undefined);\n delete document.body.dataset.miraiModal;\n }\n };\n }, [dataset, visible]);\n\n const handleOverflow = (event) => {\n const { target } = event;\n\n if (onOverflow && !ref.current?.contains(target)) {\n Event.publish(EVENT_VISIBLE, { visible: false, displayName });\n onOverflow(event);\n }\n };\n\n const handleClose = (event) => {\n Event.publish(EVENT_VISIBLE, { visible: false, displayName });\n onClose(event);\n };\n\n const defaultDirection = Theme.getDirection() === DIRECTION_TYPE.LEFT;\n const renderer = IS_JEST || !portal ? (jsx) => jsx : ReactDOM.createPortal;\n const { testId } = others;\n\n return renderer(\n <Pressable\n preventDefault={preventDefault}\n tag=\"modal-overflow\"\n onPress={visible && overflow ? handleOverflow : undefined}\n className={styles(\n style.container,\n isDesktop && mobileBehavior && style.mobileBehavior,\n overflow && style.overflow,\n overflow && blur && style.blur,\n visible && instance && style.visible,\n onOverflow && style.onOverflow,\n )}\n style={{ height }}\n testId={testId && overflow ? `${testId}-overflow` : undefined}\n >\n <View\n {...others}\n fit\n ref={ref}\n tag=\"modal\"\n className={styles(style.modal, !fit && style.calcWidth, visible && style.visible, others.className)}\n aria-hidden={visible ? 'false' : 'true'}\n >\n {(title || onBack || onClose) && (\n <View\n row\n className={styles(\n style.header,\n !defaultDirection && style.reverse,\n !onBack && style.hideBack,\n !onClose && style.hideClose,\n )}\n >\n {onBack && (\n <Button\n small\n squared\n transparent\n onPress={onBack}\n aria-label={ariaBack}\n testId={testId ? `${testId}-button-back` : undefined}\n >\n <Icon value={ICON.LEFT} className={style.icon} />\n </Button>\n )}\n {title && (\n <Text headline={!isMobile} className={style.title}>\n {title}\n </Text>\n )}\n {onClose && (\n <Button\n small\n squared\n transparent\n onPress={handleClose}\n aria-label={ariaClose}\n testId={testId ? `${testId}-button-close` : undefined}\n >\n <Icon value={ICON.CLOSE} className={style.icon} />\n </Button>\n )}\n </View>\n )}\n\n {instance &&\n React.Children.map(children, (child, index) =>\n !child || child === null\n ? null\n : React.cloneElement(child, { key: child.key || index, ...child.props, role: 'modal-content' }),\n )}\n </View>\n </Pressable>,\n document.body,\n );\n};\n\nModal.displayName = 'Component:Modal';\n\nModal.propTypes = {\n blur: PropTypes.bool,\n children: PropTypes.node,\n displayName: PropTypes.string,\n fit: PropTypes.bool,\n mobileBehavior: PropTypes.bool,\n overflow: PropTypes.bool,\n portal: PropTypes.bool,\n preventDefault: PropTypes.bool,\n title: PropTypes.string,\n visible: PropTypes.bool,\n onBack: PropTypes.func,\n onClose: PropTypes.func,\n onOverflow: PropTypes.func,\n aria: PropTypes.shape({\n buttonBack: PropTypes.string,\n buttonClose: PropTypes.string,\n }),\n};\n\nexport { Modal };\n"],"mappings":"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"}
|