UNPKG

raonkeditor-react

Version:

React component for RAON K Editor

1,148 lines (1,129 loc) 67.6 kB
/** * @license Copyright (c) 2003-2022, RAONWIZ DevTeam. All rights reserved. */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) : typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.RAONKEditorReact = {}, global.React)); })(this, (function (exports, React) { 'use strict'; function _interopNamespace(e) { if (e && e.__esModule) return e; var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; } }); } }); } n["default"] = e; return Object.freeze(n); } var React__namespace = /*#__PURE__*/_interopNamespace(React); var __assign = function() { __assign = Object.assign || function __assign(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; function __rest(s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; } function __spreadArray(to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); } typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { var e = new Error(message); return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; }; var events = [ 'loaded', 'creationComplete', 'destroy', 'afterChangeMode', 'onError', 'onLanguageDefinition', 'afterPopupShow', 'agentInstall', 'beforeInsertUrl', 'mouse', 'command', 'key', 'resized', 'documentEditComplete', 'pasteImage', 'wordCount', 'beforePaste', 'customAction', 'fullScreen', 'setComplete', 'setInsertComplete', 'closeInstallPopup', 'setForbiddenWordComplete', 'drag', 'focus', 'dialogLoaded', 'beforeInsertHyperlink' ]; var namespaceEvents = ['beforeLoad', 'namespaceLoaded']; var defaultEvents = __spreadArray(__spreadArray([], events, true), namespaceEvents, true); var EVENT_PREFIX = '__RKE__'; function prefixEventName(evtName) { return "".concat(EVENT_PREFIX).concat(evtName); } function stripPrefix(prefixedEventName) { return prefixedEventName.substr(EVENT_PREFIX.length); } function eventNameToHandlerName(evtName) { var cap = evtName.substr(0, 1).toUpperCase() + evtName.substr(1); return "on".concat(cap); } function handlerNameToEventName(handlerName) { return handlerName.substr(2, 1).toLowerCase() + handlerName.substr(3); } var ComponentEventAction = __spreadArray(__spreadArray([], events, true), namespaceEvents, true).reduce(function (acc, evtName) { var _a; return __assign(__assign({}, acc), (_a = {}, _a[evtName] = prefixEventName(evtName), _a)); }, {}); function uniqueName() { return Math.random() .toString(36) .replace(/[^a-z]+/g, '') .substr(0, 5); } function registerComponentEventHandler(_a) { var debug = _a.debug, component = _a.component, evtName = _a.evtName, handler = _a.handler; var handlerId = debug && uniqueName(); var _handler = handler; if (debug) { _handler = function (args) { console.log({ logType: "RAONWIZ Log - invoke", operation: 'invoke', component: component, componentName: component.object.ID, evtName: evtName, handlerId: handlerId, eventInfo: args.eventInfo }); return handler(args); }; } if (debug) { console.log({ logType: "RAONWIZ Log - register", operation: 'register', component: component, componentName: component.object.ID, evtName: evtName, handlerId: handlerId }); } RAONKEDITOR._ExternalAttachEvents(component.object, evtName, _handler); return function () { if (debug) { console.log({ logType: "RAONWIZ Log - unregister", operation: 'unregister', component: component, componentName: component.object.ID, evtName: evtName, handlerId: handlerId }); } }; } var index_cjs = {}; Object.defineProperty(index_cjs, '__esModule', { value: true }); function loadScript (src, opts, cb) { var head = document.head || document.getElementsByTagName('head')[0]; var script = document.createElement('script'); if (typeof opts === 'function') { cb = opts; opts = {}; } opts = opts || {}; cb = cb || function () {}; script.type = opts.type || 'text/javascript'; script.charset = opts.charset || 'utf8'; script.async = 'async' in opts ? !!opts.async : true; script.src = src; if (opts.attrs) { setAttributes(script, opts.attrs); } if (opts.text) { script.text = String(opts.text); } var onend = 'onload' in script ? stdOnEnd : ieOnEnd; onend(script, cb); if (!script.onload) { stdOnEnd(script, cb); } head.appendChild(script); } function setAttributes(script, attrs) { for (var attr in attrs) { script.setAttribute(attr, attrs[attr]); } } function stdOnEnd(script, cb) { script.onload = function () { this.onerror = this.onload = null; cb(null, script); }; script.onerror = function () { this.onerror = this.onload = null; cb(new Error('Failed to load ' + this.src), script); }; } function ieOnEnd(script, cb) { script.onreadystatechange = function () { if (this.readyState != 'complete' && this.readyState != 'loaded') { return; } this.onreadystatechange = null; cb(null, script); }; } var promise; function getRaonwizComponentNamespace(componentType, componentUrl, onNamespaceLoaded) { if (typeof componentType !== 'string' || componentType.length < 1) { return Promise.reject(new TypeError('Component TYPE must be a non-empty string.')); } if (componentType in window) { var _componentObj = null; switch (componentType) { case "RAONKUPLOAD": _componentObj = RAONKUPLOAD; break; case "RAONKEDITOR": _componentObj = RAONKEDITOR; break; case "DEXT5UPLOAD": _componentObj = DEXT5UPLOAD; break; case "DEXT5": _componentObj = DEXT5; } return Promise.resolve(_componentObj); } if (typeof componentUrl !== 'string' || componentUrl.length < 1) { return Promise.reject(new TypeError('Component URL must be a non-empty string.')); } if (!promise) { promise = getRaonwizComponentNamespace.scriptLoader(componentType, componentUrl).then(function (res) { if (onNamespaceLoaded) { onNamespaceLoaded(res); } return res; }); } return promise; } getRaonwizComponentNamespace.scriptLoader = function (componentType, componentUrl) { return new Promise(function (scriptResolve, scriptReject) { loadScript(componentUrl, function (err) { promise = undefined; var _componentObj = null; switch (componentType) { case "RAONKUPLOAD": _componentObj = window.RAONKUPLOAD; break; case "RAONKEDITOR": _componentObj = window.RAONKEDITOR; break; case "DEXT5UPLOAD": _componentObj = window.DEXT5UPLOAD; break; case "DEXT5": _componentObj = window.DEXT5; break; } if (err) { return scriptReject(err); } else if (!_componentObj) { return scriptReject(new Error('Script loaded from componentUrl doesn\'t provide Component namespace.')); } scriptResolve(_componentObj); }); }); }; function debounce(fn, delay) { var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var cancel; return function () { clearTimeout(cancel); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } cancel = setTimeout(fn.bind.apply(fn, [context].concat(args)), delay); }; } index_cjs.debounce = debounce; var getRaonwizComponentNamespace_1 = index_cjs.getRaonwizComponentNamespace = getRaonwizComponentNamespace; var useEffect$1 = React__namespace.useEffect, useReducer = React__namespace.useReducer, useRef$1 = React__namespace.useRef; var defComponentType = "RAONKEDITOR"; var defComponentUrl = "/raonkeditor/js/raonkeditor.js"; var defConfig = {}; function useRaonkEditor(_a) { var debug = _a.debug, element = _a.element, config = _a.config, componentUrl = _a.componentUrl, _b = _a.runtimes, runtimes = _b === void 0 ? "html5" : _b, dispatchEvent = _a.dispatchEvent, _c = _a.subscribeTo, subscribeTo = _c === void 0 ? defaultEvents : _c; var componentUrlRef = useRef$1(componentUrl || defComponentUrl); var subscribeToRef = useRef$1(subscribeTo !== null && subscribeTo !== void 0 ? subscribeTo : defaultEvents); var debugRef = useRef$1(debug); var dispatchEventRef = useRef$1(dispatchEvent); var configRef = useRef$1(config || defConfig); var runtimesRef = useRef$1(runtimes); var _d = useReducer(reducer, { component: undefined, hookStatus: "init", }), _e = _d[0], component = _e.component, hookStatus = _e.hookStatus, dispatch = _d[1]; useEffect$1(function () { if (element && !component) { dispatch({ type: "loading" }); var onNamespaceLoaded = function (namespace) { var _a; if (subscribeToRef.current.indexOf("namespaceLoaded") !== -1) { (_a = dispatchEventRef.current) === null || _a === void 0 ? void 0 : _a.call(dispatchEventRef, { type: ComponentEventAction.namespaceLoaded, payload: namespace, }); } }; var initComponent = function (namespace) { var _a; var isViewMode = configRef.current.Mode === "view"; var isReadOnly = configRef.current.ReadOnly; if (subscribeToRef.current.indexOf("beforeLoad") !== -1) { (_a = dispatchEventRef.current) === null || _a === void 0 ? void 0 : _a.call(dispatchEventRef, { type: ComponentEventAction.beforeLoad, payload: namespace, }); } if (typeof namespace["_ExternalMakeComponent"] === "undefined") { _ExternalMakeComponent(namespace); } if (typeof namespace["_ExternalSetDestroyEvent"] === "undefined") { _ExternalSetDestroyEvent(namespace); } if (typeof namespace["_ExternalAttachEvents"] === "undefined") { _ExternalAttachEvents(namespace); } typeof runtimesRef.current !== "undefined" && (configRef.current.Runtimes = runtimesRef.current); if (debug) { console.log({ logType: "RAONWIZ Log - initComponent", operation: "makeComponent config", configRef: configRef.current, runtimesRef: runtimesRef.current, componentName: element.id, }); } var component = namespace["_ExternalMakeComponent"](element, configRef.current); var subscribedComponentEvents = subscribeToRef.current.filter(function (evtName) { return namespaceEvents.indexOf(evtName) === -1; }); subscribedComponentEvents.forEach(function (evtName) { registerComponentEventHandler({ debug: debugRef.current, component: component, evtName: evtName, handler: function (payload) { var _a; return (_a = dispatchEventRef.current) === null || _a === void 0 ? void 0 : _a.call(dispatchEventRef, { type: "".concat(EVENT_PREFIX).concat(evtName), payload: payload, }); }, }); }); registerComponentEventHandler({ debug: debugRef.current, component: component, evtName: "loaded", handler: function () { dispatch({ type: "loaded" }); }, }); registerComponentEventHandler({ debug: debugRef.current, component: component, evtName: "creationComplete", handler: function (_a) { _a.component; dispatch({ type: "ready" }); if (!isViewMode) { RAONKEDITOR.SetReadOnly(isReadOnly, element.id); } }, }); registerComponentEventHandler({ debug: debugRef.current, component: component, evtName: "destroy", handler: function () { dispatch({ type: "destroyed" }); }, }); dispatch({ type: "unloaded", payload: component, }); }; getRaonwizComponentNamespace_1(defComponentType, componentUrlRef.current, onNamespaceLoaded) .then(initComponent) .catch(function (error) { { console.error(error); } dispatch({ type: "error" }); }); } return function () { if (component && component.object && component.object.ID && document.getElementById(component.object.ID) === null && RAONKEDITOR) { if (RAONKEDITOR._ExternalLoadedEventMap.has(component.object.ID)) { RAONKEDITOR._ExternalLoadedEventMap.delete(component.object.ID); } if (RAONKEDITOR._ExternalCreationCompleteEventMap.has(component.object.ID)) { RAONKEDITOR._ExternalCreationCompleteEventMap.delete(component.object.ID); } if (RAONKEDITOR._ExternalDestroyEventMap.has(component.object.ID)) { RAONKEDITOR._ExternalDestroyEventMap.delete(component.object.ID); } RAONKEDITOR.Destroy(component.object.ID, false); } }; }, [component, element]); return { component: component, status: component === null || component === void 0 ? void 0 : component.status, error: hookStatus === "error", loading: hookStatus === "loading", }; } function reducer(state, action) { switch (action.type) { case "init": return __assign(__assign({}, state), { hookStatus: "init" }); case "loading": return __assign(__assign({}, state), { hookStatus: "loading" }); case "unloaded": return { component: action.payload, hookStatus: "unloaded", }; case "loaded": return __assign(__assign({}, state), { hookStatus: "loaded" }); case "ready": return __assign(__assign({}, state), { hookStatus: "ready" }); case "destroyed": return { component: undefined, hookStatus: "destroyed", }; case "error": return { component: undefined, hookStatus: "error", }; default: return state; } } function _ExternalMakeComponent(namespace) { namespace["_ExternalMakeComponent"] = function (element, options) { if (typeof RAONKEDITOR._ExternalLoadedEventMap === "undefined") { RAONKEDITOR._ExternalLoadedEventMap = new Map(); } if (typeof RAONKEDITOR._ExternalCreationCompleteEventMap === "undefined") { RAONKEDITOR._ExternalCreationCompleteEventMap = new Map(); } if (typeof RAONKEDITOR._ExternalDestroyEventMap === "undefined") { RAONKEDITOR._ExternalDestroyEventMap = new Map(); } RAONKEDITOR._ExternalLoadedEventMap.set(element.id, []); RAONKEDITOR._ExternalCreationCompleteEventMap.set(element.id, []); RAONKEDITOR._ExternalDestroyEventMap.set(element.id, []); namespace._ExternalDestroy = true; var _compConfig = { Id: element.id, EditorHolder: element.id, }; _compConfig = namespace.util.objectExtend(true, options, _compConfig); var _componentObject = new RAONKEditor(_compConfig); return { object: _componentObject, status: "ready" }; }; } function _ExternalAttachEvents(namespace) { namespace["_ExternalAttachEvents"] = function (componentObj, eventName, callbackFn) { var _componentConfig = componentObj._config; var _callbackFn = callbackFn; switch (eventName) { case "loaded": var _tempExternalLoadedEventListHT = RAONKEDITOR._ExternalLoadedEventMap.get(componentObj.ID); _tempExternalLoadedEventListHT.push(_callbackFn); RAONKEDITOR._ExternalLoadedEventMap.set(componentObj.ID, _tempExternalLoadedEventListHT); break; case "creationComplete": if (typeof _componentConfig.event[eventName] == "function") { break; } var _tempExternalCreationCompleteEventListHT = RAONKEDITOR._ExternalCreationCompleteEventMap.get(componentObj.ID); _tempExternalCreationCompleteEventListHT.push(_callbackFn); RAONKEDITOR._ExternalCreationCompleteEventMap.set(componentObj.ID, _tempExternalCreationCompleteEventListHT); var _dummyFn1 = function (componentName, paramObj) { var _tempLoaded = RAONKEDITOR._ExternalLoadedEventMap.get(componentObj.ID); for (var _idx = 0, _len = _tempLoaded.length; _idx < _len; _idx++) { try { _tempLoaded[_idx]({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } var _tempCreationComplete = RAONKEDITOR._ExternalCreationCompleteEventMap.get(componentObj.ID); for (var _idx = 0, _len = _tempCreationComplete.length; _idx < _len; _idx++) { try { _tempCreationComplete[_idx]({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } namespace._ExternalSetDestroyEvent(componentObj.ID); }; _componentConfig.event[eventName] = _dummyFn1; break; case "destroy": var _tempExternalDestroyEventListHT = RAONKEDITOR._ExternalDestroyEventMap.get(componentObj.ID); _tempExternalDestroyEventListHT.push(_callbackFn); RAONKEDITOR._ExternalDestroyEventMap.set(componentObj.ID, _tempExternalDestroyEventListHT); break; default: var _dummyFn2 = function (componentName, paramObj) { if (_callbackFn) { try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; _componentConfig.event[eventName] = _dummyFn2; } }; } function _ExternalSetDestroyEvent(namespace) { namespace["_ExternalSetDestroyEvent"] = function (componentName) { var _domNodeRemovedTargetNode; var _targetElem; if (typeof MutationObserver === "function") { _targetElem = document.getElementById("raonk_frame_holder" + componentName); if (_targetElem) { _domNodeRemovedTargetNode = _targetElem; } else { _domNodeRemovedTargetNode = document.getElementById("raonk_frame_" + componentName); } if (_domNodeRemovedTargetNode) { new MutationObserver(function () { var _tempDestroy = RAONKEDITOR._ExternalDestroyEventMap.get(componentName); var editor = RAONKEDITOR.GetEditorByName(componentName); if (typeof _tempDestroy !== "undefined" && _tempDestroy.length > 0) { for (var _idx = 0, _len = _tempDestroy.length; _idx < _len; _idx++) { try { _tempDestroy[_idx]({ eventInfo: { componentName: componentName, paramObj: undefined, }, }); } catch (e) { } } } else if ( !!editor && typeof editor._config !== "undefined" && typeof editor._config.event.destroy === "function") { try { editor._config.event.destroy({ eventInfo: { componentName: componentName, paramObj: undefined, }, }); } catch (e) { } } else if (typeof KEDITORTOP.KEDITORWIN.RAONKEDITOR_Destroy === "function") { try { KEDITORTOP.KEDITORWIN.RAONKEDITOR_Destroy({ eventInfo: { componentName: componentName, paramObj: undefined, }, }); } catch (e) { } } }).observe(_domNodeRemovedTargetNode, { childList: true }); } } else { _targetElem = document.getElementById("raonk_frame_" + componentName); if (_targetElem) { _domNodeRemovedTargetNode = _targetElem; } if (_domNodeRemovedTargetNode) { _domNodeRemovedTargetNode.addEventListener("DOMNodeRemoved", function (e) { var _tempDestroy = RAONKEDITOR._ExternalDestroyEventMap.get(componentName); if (typeof _tempDestroy !== "undefined" && _tempDestroy.length > 0) { for (var _idx = 0, _len = _tempDestroy.length; _idx < _len; _idx++) { try { _tempDestroy[_idx]({ eventInfo: { componentName: componentName, paramObj: undefined, }, }); } catch (e) { } } } else if ( !!KEDITORTOP.G_CURRKEDITOR && typeof KEDITORTOP.G_CURRKEDITOR._config !== "undefined" && typeof KEDITORTOP.G_CURRKEDITOR._config.event.destroy === "function") { try { KEDITORTOP.G_CURRKEDITOR._config.event.destroy({ eventInfo: { componentName: componentName, paramObj: undefined, }, }); } catch (e) { } } else if (typeof KEDITORTOP.KEDITORWIN.RAONKEDITOR_Destroy === "function") { try { KEDITORTOP.KEDITORWIN.RAONKEDITOR_Destroy({ eventInfo: { componentName: componentName, paramObj: undefined, }, }); } catch (e) { } } }, false); } } }; } var propTypes$1 = {exports: {}}; var reactIs = {exports: {}}; var reactIs_development = {}; var hasRequiredReactIs_development; function requireReactIs_development () { if (hasRequiredReactIs_development) return reactIs_development; hasRequiredReactIs_development = 1; { (function() { var hasSymbol = typeof Symbol === 'function' && Symbol.for; var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; function isValidElementType(type) { return typeof type === 'string' || typeof type === 'function' || type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); } function typeOf(object) { if (typeof object === 'object' && object !== null) { var $$typeof = object.$$typeof; switch ($$typeof) { case REACT_ELEMENT_TYPE: var type = object.type; switch (type) { case REACT_ASYNC_MODE_TYPE: case REACT_CONCURRENT_MODE_TYPE: case REACT_FRAGMENT_TYPE: case REACT_PROFILER_TYPE: case REACT_STRICT_MODE_TYPE: case REACT_SUSPENSE_TYPE: return type; default: var $$typeofType = type && type.$$typeof; switch ($$typeofType) { case REACT_CONTEXT_TYPE: case REACT_FORWARD_REF_TYPE: case REACT_LAZY_TYPE: case REACT_MEMO_TYPE: case REACT_PROVIDER_TYPE: return $$typeofType; default: return $$typeof; } } case REACT_PORTAL_TYPE: return $$typeof; } } return undefined; } var AsyncMode = REACT_ASYNC_MODE_TYPE; var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; var ContextConsumer = REACT_CONTEXT_TYPE; var ContextProvider = REACT_PROVIDER_TYPE; var Element = REACT_ELEMENT_TYPE; var ForwardRef = REACT_FORWARD_REF_TYPE; var Fragment = REACT_FRAGMENT_TYPE; var Lazy = REACT_LAZY_TYPE; var Memo = REACT_MEMO_TYPE; var Portal = REACT_PORTAL_TYPE; var Profiler = REACT_PROFILER_TYPE; var StrictMode = REACT_STRICT_MODE_TYPE; var Suspense = REACT_SUSPENSE_TYPE; var hasWarnedAboutDeprecatedIsAsyncMode = false; function isAsyncMode(object) { { if (!hasWarnedAboutDeprecatedIsAsyncMode) { hasWarnedAboutDeprecatedIsAsyncMode = true; console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); } } return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; } function isConcurrentMode(object) { return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; } function isContextConsumer(object) { return typeOf(object) === REACT_CONTEXT_TYPE; } function isContextProvider(object) { return typeOf(object) === REACT_PROVIDER_TYPE; } function isElement(object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; } function isForwardRef(object) { return typeOf(object) === REACT_FORWARD_REF_TYPE; } function isFragment(object) { return typeOf(object) === REACT_FRAGMENT_TYPE; } function isLazy(object) { return typeOf(object) === REACT_LAZY_TYPE; } function isMemo(object) { return typeOf(object) === REACT_MEMO_TYPE; } function isPortal(object) { return typeOf(object) === REACT_PORTAL_TYPE; } function isProfiler(object) { return typeOf(object) === REACT_PROFILER_TYPE; } function isStrictMode(object) { return typeOf(object) === REACT_STRICT_MODE_TYPE; } function isSuspense(object) { return typeOf(object) === REACT_SUSPENSE_TYPE; } reactIs_development.AsyncMode = AsyncMode; reactIs_development.ConcurrentMode = ConcurrentMode; reactIs_development.ContextConsumer = ContextConsumer; reactIs_development.ContextProvider = ContextProvider; reactIs_development.Element = Element; reactIs_development.ForwardRef = ForwardRef; reactIs_development.Fragment = Fragment; reactIs_development.Lazy = Lazy; reactIs_development.Memo = Memo; reactIs_development.Portal = Portal; reactIs_development.Profiler = Profiler; reactIs_development.StrictMode = StrictMode; reactIs_development.Suspense = Suspense; reactIs_development.isAsyncMode = isAsyncMode; reactIs_development.isConcurrentMode = isConcurrentMode; reactIs_development.isContextConsumer = isContextConsumer; reactIs_development.isContextProvider = isContextProvider; reactIs_development.isElement = isElement; reactIs_development.isForwardRef = isForwardRef; reactIs_development.isFragment = isFragment; reactIs_development.isLazy = isLazy; reactIs_development.isMemo = isMemo; reactIs_development.isPortal = isPortal; reactIs_development.isProfiler = isProfiler; reactIs_development.isStrictMode = isStrictMode; reactIs_development.isSuspense = isSuspense; reactIs_development.isValidElementType = isValidElementType; reactIs_development.typeOf = typeOf; })(); } return reactIs_development; } var hasRequiredReactIs; function requireReactIs () { if (hasRequiredReactIs) return reactIs.exports; hasRequiredReactIs = 1; (function (module) { { module.exports = requireReactIs_development(); } } (reactIs)); return reactIs.exports; } var objectAssign; var hasRequiredObjectAssign; function requireObjectAssign () { if (hasRequiredObjectAssign) return objectAssign; hasRequiredObjectAssign = 1; var getOwnPropertySymbols = Object.getOwnPropertySymbols; var hasOwnProperty = Object.prototype.hasOwnProperty; var propIsEnumerable = Object.prototype.propertyIsEnumerable; function toObject(val) { if (val === null || val === undefined) { throw new TypeError('Object.assign cannot be called with null or undefined'); } return Object(val); } function shouldUseNative() { try { if (!Object.assign) { return false; } var test1 = new String('abc'); test1[5] = 'de'; if (Object.getOwnPropertyNames(test1)[0] === '5') { return false; } var test2 = {}; for (var i = 0; i < 10; i++) { test2['_' + String.fromCharCode(i)] = i; } var order2 = Object.getOwnPropertyNames(test2).map(function (n) { return test2[n]; }); if (order2.join('') !== '0123456789') { return false; } var test3 = {}; 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { test3[letter] = letter; }); if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') { return false; } return true; } catch (err) { return false; } } objectAssign = shouldUseNative() ? Object.assign : function (target, source) { var from; var to = toObject(target); var symbols; for (var s = 1; s < arguments.length; s++) { from = Object(arguments[s]); for (var key in from) { if (hasOwnProperty.call(from, key)) { to[key] = from[key]; } } if (getOwnPropertySymbols) { symbols = getOwnPropertySymbols(from); for (var i = 0; i < symbols.length; i++) { if (propIsEnumerable.call(from, symbols[i])) { to[symbols[i]] = from[symbols[i]]; } } } } return to; }; return objectAssign; } var ReactPropTypesSecret_1; var hasRequiredReactPropTypesSecret; function requireReactPropTypesSecret () { if (hasRequiredReactPropTypesSecret) return ReactPropTypesSecret_1; hasRequiredReactPropTypesSecret = 1; var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; ReactPropTypesSecret_1 = ReactPropTypesSecret; return ReactPropTypesSecret_1; } var has; var hasRequiredHas; function requireHas () { if (hasRequiredHas) return has; hasRequiredHas = 1; has = Function.call.bind(Object.prototype.hasOwnProperty); return has; } var checkPropTypes_1; var hasRequiredCheckPropTypes; function requireCheckPropTypes () { if (hasRequiredCheckPropTypes) return checkPropTypes_1; hasRequiredCheckPropTypes = 1; var printWarning = function() {}; { var ReactPropTypesSecret = requireReactPropTypesSecret(); var loggedTypeFailures = {}; var has = requireHas(); printWarning = function(text) { var message = 'Warning: ' + text; if (typeof console !== 'undefined') { console.error(message); } try { throw new Error(message); } catch (x) { } }; } function checkPropTypes(typeSpecs, values, location, componentName, getStack) { { for (var typeSpecName in typeSpecs) { if (has(typeSpecs, typeSpecName)) { var error; try { if (typeof typeSpecs[typeSpecName] !== 'function') { var err = Error( (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.' ); err.name = 'Invariant Violation'; throw err; } error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); } catch (ex) { error = ex; } if (error && !(error instanceof Error)) { printWarning( (componentName || 'React class') + ': type specification of ' + location + ' `' + typeSpecName + '` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).' ); } if (error instanceof Error && !(error.message in loggedTypeFailures)) { loggedTypeFailures[error.message] = true; var stack = getStack ? getStack() : ''; printWarning( 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '') ); } } } } } checkPropTypes.resetWarningCache = function() { { loggedTypeFailures = {}; } }; checkPropTypes_1 = checkPropTypes; return checkPropTypes_1; } var factoryWithTypeCheckers; var hasRequiredFactoryWithTypeCheckers; function requireFactoryWithTypeCheckers () { if (hasRequiredFactoryWithTypeCheckers) return factoryWithTypeCheckers; hasRequiredFactoryWithTypeCheckers = 1; var ReactIs = requireReactIs(); var assign = requireObjectAssign(); var ReactPropTypesSecret = requireReactPropTypesSecret(); var has = requireHas(); var checkPropTypes = requireCheckPropTypes(); var printWarning = function() {}; { printWarning = function(text) { var message = 'Warning: ' + text; if (typeof console !== 'undefined') { console.error(message); } try { throw new Error(message); } catch (x) {} }; } function emptyFunctionThatReturnsNull() { return null; } factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) { var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; var FAUX_ITERATOR_SYMBOL = '@@iterator'; function getIteratorFn(maybeIterable) { var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); if (typeof iteratorFn === 'function') { return iteratorFn; } } var ANONYMOUS = '<<anonymous>>'; var ReactPropTypes = { array: createPrimitiveTypeChecker('array'), bigint: createPrimitiveTypeChecker('bigint'), bool: createPrimitiveTypeChecker('boolean'), func: createPrimitiveTypeChecker('function'), number: createPrimitiveTypeChecker('number'), object: createPrimitiveTypeChecker('object'), string: createPrimitiveTypeChecker('string'), symbol: createPrimitiveTypeChecker('symbol'), any: createAnyTypeChecker(), arrayOf: createArrayOfTypeChecker, element: createElementTypeChecker(), elementType: createElementTypeTypeChecker(), instanceOf: createInstanceTypeChecker, node: createNodeChecker(), objectOf: createObjectOfTypeChecker, oneOf: createEnumTypeChecker, oneOfType: createUnionTypeChecker, shape: createShapeTypeChecker, exact: createStrictShapeTypeChecker, }; function is(x, y) { if (x === y) { return x !== 0 || 1 / x === 1 / y; } else { return x !== x && y !== y; } } function PropTypeError(message, data) { this.message = message; this.data = data && typeof data === 'object' ? data: {}; this.stack = ''; } PropTypeError.prototype = Error.prototype; function createChainableTypeChecker(validate) { { var manualPropTypeCallCache = {}; var manualPropTypeWarningCount = 0; } function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { componentName = componentName || ANONYMOUS; propFullName = propFullName || propName; if (secret !== ReactPropTypesSecret) { if (throwOnDirectAccess) { var err = new Error( 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use `PropTypes.checkPropTypes()` to call them. ' + 'Read more at http://fb.me/use-check-prop-types' ); err.name = 'Invariant Violation'; throw err; } else if (typeof console !== 'undefined') { var cacheKey = componentName + ':' + propName; if ( !manualPropTypeCallCache[cacheKey] && manualPropTypeWarningCount < 3 ) { printWarning( 'You are manually calling a React.PropTypes validation ' + 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' + 'and will throw in the standalone `prop-types` package. ' + 'You may be seeing this warning due to a third-party PropTypes ' + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.' ); manualPropTypeCallCache[cacheKey] = true; manualPropTypeWarningCount++; } } } if (props[propName] == null) { if (isRequired) { if (props[propName] === null) { return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.')); } return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.')); } return null; } else { return validate(props, propName, componentName, location, propFullName); } } var chainedCheckType = checkType.bind(null, false); chainedCheckType.isRequired = checkType.bind(null, true); return chainedCheckType; } function createPrimitiveTypeChecker(expectedType) { function validate(props, propName, componentName, location, propFullName, secret) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== expectedType) { var preciseType = getPreciseType(propValue); return new PropTypeError( 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'), {expectedType: expectedType} ); } return null; } return createChainableTypeChecker(validate); } function createAnyTypeChecker() { return createChainableTypeChecker(emptyFunctionThatReturnsNull); } function createArrayOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); } var propValue = props[propName]; if (!Array.isArray(propValue)) { var propType = getPropType(propValue); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); } for (var i = 0; i < propValue.length; i++) { var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret); if (error instanceof Error) { return error; } } return null; } return createChainableTypeChecker(validate); } function createElementTypeChecker() { function validate(props, propName, componentName, location, propFull