/******/ (function() { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js": /*!***********************************************************************!*\ !*** ./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js ***! \***********************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _emotion_sheet__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/sheet */ "./node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js"); /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Tokenizer.js"); /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Utility.js"); /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Middleware.js"); /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Serializer.js"); /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Enum.js"); /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Parser.js"); /* harmony import */ var _emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/weak-memoize */ "./node_modules/@emotion/weak-memoize/dist/weak-memoize.browser.esm.js"); /* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/memoize */ "./node_modules/@emotion/memoize/dist/emotion-memoize.browser.esm.js"); var last = function last(arr) { return arr.length ? arr[arr.length - 1] : null; }; // based on https://github.com/thysultan/stylis.js/blob/e6843c373ebcbbfade25ebcc23f540ed8508da0a/src/Tokenizer.js#L239-L244 var identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) { var previous = 0; var character = 0; while (true) { previous = character; character = (0,stylis__WEBPACK_IMPORTED_MODULE_3__.peek)(); // &\f if (previous === 38 && character === 12) { points[index] = 1; } if ((0,stylis__WEBPACK_IMPORTED_MODULE_3__.token)(character)) { break; } (0,stylis__WEBPACK_IMPORTED_MODULE_3__.next)(); } return (0,stylis__WEBPACK_IMPORTED_MODULE_3__.slice)(begin, stylis__WEBPACK_IMPORTED_MODULE_3__.position); }; var toRules = function toRules(parsed, points) { // pretend we've started with a comma var index = -1; var character = 44; do { switch ((0,stylis__WEBPACK_IMPORTED_MODULE_3__.token)(character)) { case 0: // &\f if (character === 38 && (0,stylis__WEBPACK_IMPORTED_MODULE_3__.peek)() === 12) { // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings // stylis inserts \f after & to know when & where it should replace this sequence with the context selector // and when it should just concatenate the outer and inner selectors // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here points[index] = 1; } parsed[index] += identifierWithPointTracking(stylis__WEBPACK_IMPORTED_MODULE_3__.position - 1, points, index); break; case 2: parsed[index] += (0,stylis__WEBPACK_IMPORTED_MODULE_3__.delimit)(character); break; case 4: // comma if (character === 44) { // colon parsed[++index] = (0,stylis__WEBPACK_IMPORTED_MODULE_3__.peek)() === 58 ? '&\f' : ''; points[index] = parsed[index].length; break; } // fallthrough default: parsed[index] += (0,stylis__WEBPACK_IMPORTED_MODULE_4__.from)(character); } } while (character = (0,stylis__WEBPACK_IMPORTED_MODULE_3__.next)()); return parsed; }; var getRules = function getRules(value, points) { return (0,stylis__WEBPACK_IMPORTED_MODULE_3__.dealloc)(toRules((0,stylis__WEBPACK_IMPORTED_MODULE_3__.alloc)(value), points)); }; // WeakSet would be more appropriate, but only WeakMap is supported in IE11 var fixedElements = /* #__PURE__ */new WeakMap(); var compat = function compat(element) { if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo // negative .length indicates that this rule has been already prefixed element.length < 1) { return; } var value = element.value, parent = element.parent; var isImplicitRule = element.column === parent.column && element.line === parent.line; while (parent.type !== 'rule') { parent = parent.parent; if (!parent) return; } // short-circuit for the simplest case if (element.props.length === 1 && value.charCodeAt(0) !== 58 /* colon */ && !fixedElements.get(parent)) { return; } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level) // then the props has already been manipulated beforehand as they that array is shared between it and its "rule parent" if (isImplicitRule) { return; } fixedElements.set(element, true); var points = []; var rules = getRules(value, points); var parentRules = parent.props; for (var i = 0, k = 0; i < rules.length; i++) { for (var j = 0; j < parentRules.length; j++, k++) { element.props[k] = points[i] ? rules[i].replace(/&\f/g, parentRules[j]) : parentRules[j] + " " + rules[i]; } } }; var removeLabel = function removeLabel(element) { if (element.type === 'decl') { var value = element.value; if ( // charcode for l value.charCodeAt(0) === 108 && // charcode for b value.charCodeAt(2) === 98) { // this ignores label element["return"] = ''; element.value = ''; } } }; var ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason'; var isIgnoringComment = function isIgnoringComment(element) { return !!element && element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1; }; var createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) { return function (element, index, children) { if (element.type !== 'rule') return; var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g); if (unsafePseudoClasses && cache.compat !== true) { var prevElement = index > 0 ? children[index - 1] : null; if (prevElement && isIgnoringComment(last(prevElement.children))) { return; } unsafePseudoClasses.forEach(function (unsafePseudoClass) { console.error("The pseudo class \"" + unsafePseudoClass + "\" is potentially unsafe when doing server-side rendering. Try changing it to \"" + unsafePseudoClass.split('-child')[0] + "-of-type\"."); }); } }; }; var isImportRule = function isImportRule(element) { return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64; }; var isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) { for (var i = index - 1; i >= 0; i--) { if (!isImportRule(children[i])) { return true; } } return false; }; // use this to remove incorrect elements from further processing // so they don't get handed to the `sheet` (or anything else) // as that could potentially lead to additional logs which in turn could be overhelming to the user var nullifyElement = function nullifyElement(element) { element.type = ''; element.value = ''; element["return"] = ''; element.children = ''; element.props = ''; }; var incorrectImportAlarm = function incorrectImportAlarm(element, index, children) { if (!isImportRule(element)) { return; } if (element.parent) { console.error("`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles."); nullifyElement(element); } else if (isPrependedWithRegularRules(index, children)) { console.error("`@import` rules can't be after other rules. Please put your `@import` rules before your other rules."); nullifyElement(element); } }; var defaultStylisPlugins = [stylis__WEBPACK_IMPORTED_MODULE_5__.prefixer]; var createCache = function createCache(options) { var key = options.key; if ( true && !key) { throw new Error("You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\n" + "If multiple caches share the same key they might \"fight\" for each other's style elements."); } if ( key === 'css') { var ssrStyles = document.querySelectorAll("style[data-emotion]:not([data-s])"); // get SSRed styles out of the way of React's hydration // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be) // note this very very intentionally targets all style elements regardless of the key to ensure // that creating a cache works inside of render of a React component Array.prototype.forEach.call(ssrStyles, function (node) { // we want to only move elements which have a space in the data-emotion attribute value // because that indicates that it is an Emotion 11 server-side rendered style elements // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes) // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles // will not result in the Emotion 10 styles being destroyed var dataEmotionAttribute = node.getAttribute('data-emotion'); if (dataEmotionAttribute.indexOf(' ') === -1) { return; } document.head.appendChild(node); node.setAttribute('data-s', ''); }); } var stylisPlugins = options.stylisPlugins || defaultStylisPlugins; if (true) { // $FlowFixMe if (/[^a-z-]/.test(key)) { throw new Error("Emotion key must only contain lower case alphabetical characters and - but \"" + key + "\" was passed"); } } var inserted = {}; // $FlowFixMe var container; var nodesToHydrate = []; { container = options.container || document.head; Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which // means that the style elements we're looking at are only Emotion 11 server-rendered style elements document.querySelectorAll("style[data-emotion^=\"" + key + " \"]"), function (node) { var attrib = node.getAttribute("data-emotion").split(' '); // $FlowFixMe for (var i = 1; i < attrib.length; i++) { inserted[attrib[i]] = true; } nodesToHydrate.push(node); }); } var _insert; var omnipresentPlugins = [compat, removeLabel]; if (true) { omnipresentPlugins.push(createUnsafeSelectorsAlarm({ get compat() { return cache.compat; } }), incorrectImportAlarm); } { var currentSheet; var finalizingPlugins = [stylis__WEBPACK_IMPORTED_MODULE_6__.stringify, true ? function (element) { if (!element.root) { if (element["return"]) { currentSheet.insert(element["return"]); } else if (element.value && element.type !== stylis__WEBPACK_IMPORTED_MODULE_7__.COMMENT) { // insert empty rule in non-production environments // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet currentSheet.insert(element.value + "{}"); } } } : 0]; var serializer = (0,stylis__WEBPACK_IMPORTED_MODULE_5__.middleware)(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins)); var stylis = function stylis(styles) { return (0,stylis__WEBPACK_IMPORTED_MODULE_6__.serialize)((0,stylis__WEBPACK_IMPORTED_MODULE_8__.compile)(styles), serializer); }; _insert = function insert(selector, serialized, sheet, shouldCache) { currentSheet = sheet; if ( true && serialized.map !== undefined) { currentSheet = { insert: function insert(rule) { sheet.insert(rule + serialized.map); } }; } stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles); if (shouldCache) { cache.inserted[serialized.name] = true; } }; } var cache = { key: key, sheet: new _emotion_sheet__WEBPACK_IMPORTED_MODULE_0__.StyleSheet({ key: key, container: container, nonce: options.nonce, speedy: options.speedy, prepend: options.prepend, insertionPoint: options.insertionPoint }), nonce: options.nonce, inserted: inserted, registered: {}, insert: _insert }; cache.sheet.hydrate(nodesToHydrate); return cache; }; /* harmony default export */ __webpack_exports__["default"] = (createCache); /***/ }), /***/ "./node_modules/@emotion/hash/dist/hash.browser.esm.js": /*!*************************************************************!*\ !*** ./node_modules/@emotion/hash/dist/hash.browser.esm.js ***! \*************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* eslint-disable */ // Inspired by https://github.com/garycourt/murmurhash-js // Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86 function murmur2(str) { // 'm' and 'r' are mixing constants generated offline. // They're not really 'magic', they just happen to work well. // const m = 0x5bd1e995; // const r = 24; // Initialize the hash var h = 0; // Mix 4 bytes at a time into the hash var k, i = 0, len = str.length; for (; len >= 4; ++i, len -= 4) { k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24; k = /* Math.imul(k, m): */ (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16); k ^= /* k >>> r: */ k >>> 24; h = /* Math.imul(k, m): */ (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^ /* Math.imul(h, m): */ (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); } // Handle the last few bytes of the input array switch (len) { case 3: h ^= (str.charCodeAt(i + 2) & 0xff) << 16; case 2: h ^= (str.charCodeAt(i + 1) & 0xff) << 8; case 1: h ^= str.charCodeAt(i) & 0xff; h = /* Math.imul(h, m): */ (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); } // Do a few final mixes of the hash to ensure the last few // bytes are well-incorporated. h ^= h >>> 13; h = /* Math.imul(h, m): */ (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); return ((h ^ h >>> 15) >>> 0).toString(36); } /* harmony default export */ __webpack_exports__["default"] = (murmur2); /***/ }), /***/ "./node_modules/@emotion/memoize/dist/emotion-memoize.browser.esm.js": /*!***************************************************************************!*\ !*** ./node_modules/@emotion/memoize/dist/emotion-memoize.browser.esm.js ***! \***************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); function memoize(fn) { var cache = Object.create(null); return function (arg) { if (cache[arg] === undefined) cache[arg] = fn(arg); return cache[arg]; }; } /* harmony default export */ __webpack_exports__["default"] = (memoize); /***/ }), /***/ "./node_modules/@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js ***! \*****************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! hoist-non-react-statics */ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"); /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_0__); // this file isolates this package that is not tree-shakeable // and if this module doesn't actually contain any logic of its own // then Rollup just use 'hoist-non-react-statics' directly in other chunks var hoistNonReactStatics = (function (targetComponent, sourceComponent) { return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_0___default()(targetComponent, sourceComponent); }); /* harmony default export */ __webpack_exports__["default"] = (hoistNonReactStatics); /***/ }), /***/ "./node_modules/@emotion/react/dist/emotion-element-cbed451f.browser.esm.js": /*!**********************************************************************************!*\ !*** ./node_modules/@emotion/react/dist/emotion-element-cbed451f.browser.esm.js ***! \**********************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "C": function() { return /* binding */ CacheProvider; }, /* harmony export */ "E": function() { return /* binding */ Emotion; }, /* harmony export */ "T": function() { return /* binding */ ThemeContext; }, /* harmony export */ "_": function() { return /* binding */ __unsafe_useEmotionCache; }, /* harmony export */ "a": function() { return /* binding */ useTheme; }, /* harmony export */ "b": function() { return /* binding */ ThemeProvider; }, /* harmony export */ "c": function() { return /* binding */ createEmotionProps; }, /* harmony export */ "d": function() { return /* binding */ withTheme; }, /* harmony export */ "h": function() { return /* binding */ hasOwnProperty; }, /* harmony export */ "u": function() { return /* binding */ useInsertionEffectMaybe; }, /* harmony export */ "w": function() { return /* binding */ withEmotionCache; } /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _emotion_cache__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/cache */ "./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js"); /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/weak-memoize */ "./node_modules/@emotion/weak-memoize/dist/weak-memoize.browser.esm.js"); /* harmony import */ var _isolated_hnrs_dist_emotion_react_isolated_hnrs_browser_esm_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js */ "./node_modules/@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js"); /* harmony import */ var _emotion_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @emotion/utils */ "./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js"); /* harmony import */ var _emotion_serialize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @emotion/serialize */ "./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js"); var hasOwnProperty = {}.hasOwnProperty; var EmotionCacheContext = /* #__PURE__ */(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)( // we're doing this to avoid preconstruct's dead code elimination in this one case // because this module is primarily intended for the browser and node // but it's also required in react native and similar environments sometimes // and we could have a special build just for that // but this is much easier and the native packages // might use a different theme context in the future anyway typeof HTMLElement !== 'undefined' ? /* #__PURE__ */(0,_emotion_cache__WEBPACK_IMPORTED_MODULE_1__["default"])({ key: 'css' }) : null); if (true) { EmotionCacheContext.displayName = 'EmotionCacheContext'; } var CacheProvider = EmotionCacheContext.Provider; var __unsafe_useEmotionCache = function useEmotionCache() { return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(EmotionCacheContext); }; var withEmotionCache = function withEmotionCache(func) { // $FlowFixMe return /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function (props, ref) { // the cache will never be null in the browser var cache = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(EmotionCacheContext); return func(props, cache, ref); }); }; var ThemeContext = /* #__PURE__ */(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)({}); if (true) { ThemeContext.displayName = 'EmotionThemeContext'; } var useTheme = function useTheme() { return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ThemeContext); }; var getTheme = function getTheme(outerTheme, theme) { if (typeof theme === 'function') { var mergedTheme = theme(outerTheme); if ( true && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) { throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!'); } return mergedTheme; } if ( true && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) { throw new Error('[ThemeProvider] Please make your theme prop a plain object'); } return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_2__["default"])({}, outerTheme, theme); }; var createCacheWithTheme = /* #__PURE__ */(0,_emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_3__["default"])(function (outerTheme) { return (0,_emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_3__["default"])(function (theme) { return getTheme(outerTheme, theme); }); }); var ThemeProvider = function ThemeProvider(props) { var theme = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ThemeContext); if (props.theme !== theme) { theme = createCacheWithTheme(theme)(props.theme); } return /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(ThemeContext.Provider, { value: theme }, props.children); }; function withTheme(Component) { var componentName = Component.displayName || Component.name || 'Component'; var render = function render(props, ref) { var theme = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ThemeContext); return /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(Component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_2__["default"])({ theme: theme, ref: ref }, props)); }; // $FlowFixMe var WithTheme = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(render); WithTheme.displayName = "WithTheme(" + componentName + ")"; return (0,_isolated_hnrs_dist_emotion_react_isolated_hnrs_browser_esm_js__WEBPACK_IMPORTED_MODULE_6__["default"])(WithTheme, Component); } var getLastPart = function getLastPart(functionName) { // The match may be something like 'Object.createEmotionProps' or // 'Loader.prototype.render' var parts = functionName.split('.'); return parts[parts.length - 1]; }; var getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) { // V8 var match = /^\s+at\s+([A-Za-z0-9$.]+)\s/.exec(line); if (match) return getLastPart(match[1]); // Safari / Firefox match = /^([A-Za-z0-9$.]+)@/.exec(line); if (match) return getLastPart(match[1]); return undefined; }; var internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS // identifiers, thus we only need to replace what is a valid character for JS, // but not for CSS. var sanitizeIdentifier = function sanitizeIdentifier(identifier) { return identifier.replace(/\$/g, '-'); }; var getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) { if (!stackTrace) return undefined; var lines = stackTrace.split('\n'); for (var i = 0; i < lines.length; i++) { var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just "Error" if (!functionName) continue; // If we reach one of these, we have gone too far and should quit if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an // uppercase letter if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName); } return undefined; }; var useInsertionEffect = react__WEBPACK_IMPORTED_MODULE_0__['useInsertion' + 'Effect'] ? react__WEBPACK_IMPORTED_MODULE_0__['useInsertion' + 'Effect'] : function useInsertionEffect(create) { create(); }; function useInsertionEffectMaybe(create) { useInsertionEffect(create); } var typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__'; var labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__'; var createEmotionProps = function createEmotionProps(type, props) { if ( true && typeof props.css === 'string' && // check if there is a css declaration props.css.indexOf(':') !== -1) { throw new Error("Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`" + props.css + "`"); } var newProps = {}; for (var key in props) { if (hasOwnProperty.call(props, key)) { newProps[key] = props[key]; } } newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when // the label hasn't already been computed if ( true && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) { var label = getLabelFromStackTrace(new Error().stack); if (label) newProps[labelPropName] = label; } return newProps; }; var Insertion = function Insertion(_ref) { var cache = _ref.cache, serialized = _ref.serialized, isStringTag = _ref.isStringTag; (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_4__.registerStyles)(cache, serialized, isStringTag); var rules = useInsertionEffectMaybe(function () { return (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_4__.insertStyles)(cache, serialized, isStringTag); }); return null; }; var Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) { var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works // not passing the registered cache to serializeStyles because it would // make certain babel optimisations not possible if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) { cssProp = cache.registered[cssProp]; } var WrappedComponent = props[typePropName]; var registeredStyles = [cssProp]; var className = ''; if (typeof props.className === 'string') { className = (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_4__.getRegisteredStyles)(cache.registered, registeredStyles, props.className); } else if (props.className != null) { className = props.className + " "; } var serialized = (0,_emotion_serialize__WEBPACK_IMPORTED_MODULE_5__.serializeStyles)(registeredStyles, undefined, (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ThemeContext)); if ( true && serialized.name.indexOf('-') === -1) { var labelFromStack = props[labelPropName]; if (labelFromStack) { serialized = (0,_emotion_serialize__WEBPACK_IMPORTED_MODULE_5__.serializeStyles)([serialized, 'label:' + labelFromStack + ';']); } } className += cache.key + "-" + serialized.name; var newProps = {}; for (var key in props) { if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && ( false || key !== labelPropName)) { newProps[key] = props[key]; } } newProps.ref = ref; newProps.className = className; return /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(Insertion, { cache: cache, serialized: serialized, isStringTag: typeof WrappedComponent === 'string' }), /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(WrappedComponent, newProps)); }); if (true) { Emotion.displayName = 'EmotionCssPropInternal'; } /***/ }), /***/ "./node_modules/@emotion/react/dist/emotion-react.browser.esm.js": /*!***********************************************************************!*\ !*** ./node_modules/@emotion/react/dist/emotion-react.browser.esm.js ***! \***********************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "CacheProvider": function() { return /* reexport safe */ _emotion_element_cbed451f_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__.C; }, /* harmony export */ "ClassNames": function() { return /* binding */ ClassNames; }, /* harmony export */ "Global": function() { return /* binding */ Global; }, /* harmony export */ "ThemeContext": function() { return /* reexport safe */ _emotion_element_cbed451f_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__.T; }, /* harmony export */ "ThemeProvider": function() { return /* reexport safe */ _emotion_element_cbed451f_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__.b; }, /* harmony export */ "__unsafe_useEmotionCache": function() { return /* reexport safe */ _emotion_element_cbed451f_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__._; }, /* harmony export */ "createElement": function() { return /* binding */ jsx; }, /* harmony export */ "css": function() { return /* binding */ css; }, /* harmony export */ "jsx": function() { return /* binding */ jsx; }, /* harmony export */ "keyframes": function() { return /* binding */ keyframes; }, /* harmony export */ "useTheme": function() { return /* reexport safe */ _emotion_element_cbed451f_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__.a; }, /* harmony export */ "withEmotionCache": function() { return /* reexport safe */ _emotion_element_cbed451f_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__.w; }, /* harmony export */ "withTheme": function() { return /* reexport safe */ _emotion_element_cbed451f_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__.d; } /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _emotion_cache__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/cache */ "./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js"); /* harmony import */ var _emotion_element_cbed451f_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./emotion-element-cbed451f.browser.esm.js */ "./node_modules/@emotion/react/dist/emotion-element-cbed451f.browser.esm.js"); /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @emotion/weak-memoize */ "./node_modules/@emotion/weak-memoize/dist/weak-memoize.browser.esm.js"); /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! hoist-non-react-statics */ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"); /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var _emotion_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @emotion/utils */ "./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js"); /* harmony import */ var _emotion_serialize__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @emotion/serialize */ "./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js"); /* harmony import */ var _emotion_sheet__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @emotion/sheet */ "./node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js"); var pkg = { name: "@emotion/react", version: "11.8.1", main: "dist/emotion-react.cjs.js", module: "dist/emotion-react.esm.js", browser: { "./dist/emotion-react.cjs.js": "./dist/emotion-react.browser.cjs.js", "./dist/emotion-react.esm.js": "./dist/emotion-react.browser.esm.js" }, types: "types/index.d.ts", files: [ "src", "dist", "jsx-runtime", "jsx-dev-runtime", "_isolated-hnrs", "types/*.d.ts", "macro.js", "macro.d.ts", "macro.js.flow" ], sideEffects: false, author: "Emotion Contributors", license: "MIT", scripts: { "test:typescript": "dtslint types" }, dependencies: { "@babel/runtime": "^7.13.10", "@emotion/babel-plugin": "^11.7.1", "@emotion/cache": "^11.7.1", "@emotion/serialize": "^1.0.2", "@emotion/sheet": "^1.1.0", "@emotion/utils": "^1.1.0", "@emotion/weak-memoize": "^0.2.5", "hoist-non-react-statics": "^3.3.1" }, peerDependencies: { "@babel/core": "^7.0.0", react: ">=16.8.0" }, peerDependenciesMeta: { "@babel/core": { optional: true }, "@types/react": { optional: true } }, devDependencies: { "@babel/core": "^7.13.10", "@emotion/css": "11.7.1", "@emotion/css-prettifier": "1.0.1", "@emotion/server": "11.4.0", "@emotion/styled": "11.8.1", "@types/react": "^16.9.11", dtslint: "^0.3.0", "html-tag-names": "^1.1.2", react: "16.14.0", "svg-tag-names": "^1.1.1" }, repository: "https://github.com/emotion-js/emotion/tree/main/packages/react", publishConfig: { access: "public" }, "umd:main": "dist/emotion-react.umd.min.js", preconstruct: { entrypoints: [ "./index.js", "./jsx-runtime.js", "./jsx-dev-runtime.js", "./_isolated-hnrs.js" ], umdName: "emotionReact" } }; var jsx = function jsx(type, props) { var args = arguments; if (props == null || !_emotion_element_cbed451f_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__.h.call(props, 'css')) { // $FlowFixMe return react__WEBPACK_IMPORTED_MODULE_0__.createElement.apply(undefined, args); } var argsLength = args.length; var createElementArgArray = new Array(argsLength); createElementArgArray[0] = _emotion_element_cbed451f_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__.E; createElementArgArray[1] = (0,_emotion_element_cbed451f_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__.c)(type, props); for (var i = 2; i < argsLength; i++) { createElementArgArray[i] = args[i]; } // $FlowFixMe return react__WEBPACK_IMPORTED_MODULE_0__.createElement.apply(null, createElementArgArray); }; var useInsertionEffect = react__WEBPACK_IMPORTED_MODULE_0__['useInsertion' + 'Effect'] ? react__WEBPACK_IMPORTED_MODULE_0__['useInsertion' + 'Effect'] : react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect; var warnedAboutCssPropForGlobal = false; // maintain place over rerenders. // initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild // initial client-side render from SSR, use place of hydrating tag var Global = /* #__PURE__ */(0,_emotion_element_cbed451f_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__.w)(function (props, cache) { if ( true && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is // probably using the custom createElement which // means it will be turned into a className prop // $FlowFixMe I don't really want to add it to the type since it shouldn't be used props.className || props.css)) { console.error("It looks like you're using the css prop on Global, did you mean to use the styles prop instead?"); warnedAboutCssPropForGlobal = true; } var styles = props.styles; var serialized = (0,_emotion_serialize__WEBPACK_IMPORTED_MODULE_7__.serializeStyles)([styles], undefined, (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_emotion_element_cbed451f_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__.T)); // but it is based on a constant that will never change at runtime // it's effectively like having two implementations and switching them out // so it's not actually breaking anything var sheetRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(); useInsertionEffect(function () { var key = cache.key + "-global"; var sheet = new _emotion_sheet__WEBPACK_IMPORTED_MODULE_8__.StyleSheet({ key: key, nonce: cache.sheet.nonce, container: cache.sheet.container, speedy: cache.sheet.isSpeedy }); var rehydrating = false; // $FlowFixMe var node = document.querySelector("style[data-emotion=\"" + key + " " + serialized.name + "\"]"); if (cache.sheet.tags.length) { sheet.before = cache.sheet.tags[0]; } if (node !== null) { rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s node.setAttribute('data-emotion', key); sheet.hydrate([node]); } sheetRef.current = [sheet, rehydrating]; return function () { sheet.flush(); }; }, [cache]); useInsertionEffect(function () { var sheetRefCurrent = sheetRef.current; var sheet = sheetRefCurrent[0], rehydrating = sheetRefCurrent[1]; if (rehydrating) { sheetRefCurrent[1] = false; return; } if (serialized.next !== undefined) { // insert keyframes (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_6__.insertStyles)(cache, serialized.next, true); } if (sheet.tags.length) { // if this doesn't exist then it will be null so the style element will be appended var element = sheet.tags[sheet.tags.length - 1].nextElementSibling; sheet.before = element; sheet.flush(); } cache.insert("", serialized, sheet, false); }, [cache, serialized.name]); return null; }); if (true) { Global.displayName = 'EmotionGlobal'; } function css() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return (0,_emotion_serialize__WEBPACK_IMPORTED_MODULE_7__.serializeStyles)(args); } var keyframes = function keyframes() { var insertable = css.apply(void 0, arguments); var name = "animation-" + insertable.name; // $FlowFixMe return { name: name, styles: "@keyframes " + name + "{" + insertable.styles + "}", anim: 1, toString: function toString() { return "_EMO_" + this.name + "_" + this.styles + "_EMO_"; } }; }; var classnames = function classnames(args) { var len = args.length; var i = 0; var cls = ''; for (; i < len; i++) { var arg = args[i]; if (arg == null) continue; var toAdd = void 0; switch (typeof arg) { case 'boolean': break; case 'object': { if (Array.isArray(arg)) { toAdd = classnames(arg); } else { if ( true && arg.styles !== undefined && arg.name !== undefined) { console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.'); } toAdd = ''; for (var k in arg) { if (arg[k] && k) { toAdd && (toAdd += ' '); toAdd += k; } } } break; } default: { toAdd = arg; } } if (toAdd) { cls && (cls += ' '); cls += toAdd; } } return cls; }; function merge(registered, css, className) { var registeredStyles = []; var rawClassName = (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_6__.getRegisteredStyles)(registered, registeredStyles, className); if (registeredStyles.length < 2) { return className; } return rawClassName + css(registeredStyles); } var Insertion = function Insertion(_ref) { var cache = _ref.cache, serializedArr = _ref.serializedArr; var rules = (0,_emotion_element_cbed451f_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__.u)(function () { for (var i = 0; i < serializedArr.length; i++) { var res = (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_6__.insertStyles)(cache, serializedArr[i], false); } }); return null; }; var ClassNames = /* #__PURE__ */(0,_emotion_element_cbed451f_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__.w)(function (props, cache) { var hasRendered = false; var serializedArr = []; var css = function css() { if (hasRendered && "development" !== 'production') { throw new Error('css can only be used during render'); } for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var serialized = (0,_emotion_serialize__WEBPACK_IMPORTED_MODULE_7__.serializeStyles)(args, cache.registered); serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx` (0,_emotion_utils__WEBPACK_IMPORTED_MODULE_6__.registerStyles)(cache, serialized, false); return cache.key + "-" + serialized.name; }; var cx = function cx() { if (hasRendered && "development" !== 'production') { throw new Error('cx can only be used during render'); } for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } return merge(cache.registered, css, classnames(args)); }; var content = { css: css, cx: cx, theme: (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_emotion_element_cbed451f_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__.T) }; var ele = props.children(content); hasRendered = true; return /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(Insertion, { cache: cache, serializedArr: serializedArr }), ele); }); if (true) { ClassNames.displayName = 'EmotionClassNames'; } if (true) { var isBrowser = "object" !== 'undefined'; // #1727 for some reason Jest evaluates modules twice if some consuming module gets mocked with jest.mock var isJest = typeof jest !== 'undefined'; if (isBrowser && !isJest) { // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later var globalContext = // $FlowIgnore typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef : isBrowser ? window : __webpack_require__.g; var globalKey = "__EMOTION_REACT_" + pkg.version.split('.')[0] + "__"; if (globalContext[globalKey]) { console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.'); } globalContext[globalKey] = true; } } /***/ }), /***/ "./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js": /*!*******************************************************************************!*\ !*** ./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js ***! \*******************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "serializeStyles": function() { return /* binding */ serializeStyles; } /* harmony export */ }); /* harmony import */ var _emotion_hash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/hash */ "./node_modules/@emotion/hash/dist/hash.browser.esm.js"); /* harmony import */ var _emotion_unitless__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/unitless */ "./node_modules/@emotion/unitless/dist/unitless.browser.esm.js"); /* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/memoize */ "./node_modules/@emotion/memoize/dist/emotion-memoize.browser.esm.js"); var ILLEGAL_ESCAPE_SEQUENCE_ERROR = "You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences"; var UNDEFINED_AS_OBJECT_KEY_ERROR = "You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key)."; var hyphenateRegex = /[A-Z]|^ms/g; var animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g; var isCustomProperty = function isCustomProperty(property) { return property.charCodeAt(1) === 45; }; var isProcessableValue = function isProcessableValue(value) { return value != null && typeof value !== 'boolean'; }; var processStyleName = /* #__PURE__ */(0,_emotion_memoize__WEBPACK_IMPORTED_MODULE_2__["default"])(function (styleName) { return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase(); }); var processStyleValue = function processStyleValue(key, value) { switch (key) { case 'animation': case 'animationName': { if (typeof value === 'string') { return value.replace(animationRegex, function (match, p1, p2) { cursor = { name: p1, styles: p2, next: cursor }; return p1; }); } } } if (_emotion_unitless__WEBPACK_IMPORTED_MODULE_1__["default"][key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) { return value + 'px'; } return value; }; if (true) { var contentValuePattern = /(attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\(|(no-)?(open|close)-quote/; var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset']; var oldProcessStyleValue = processStyleValue; var msPattern = /^-ms-/; var hyphenPattern = /-(.)/g; var hyphenatedCache = {}; processStyleValue = function processStyleValue(key, value) { if (key === 'content') { if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '"' && value.charAt(0) !== "'")) { throw new Error("You seem to be using a value for 'content' without quotes, try replacing it with `content: '\"" + value + "\"'`"); } } var processed = oldProcessStyleValue(key, value); if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) { hyphenatedCache[key] = true; console.error("Using kebab-case for css properties in objects is not supported. Did you mean " + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) { return _char.toUpperCase(); }) + "?"); } return processed; }; } function handleInterpolation(mergedProps, registered, interpolation) { if (interpolation == null) { return ''; } if (interpolation.__emotion_styles !== undefined) { if ( true && interpolation.toString() === 'NO_COMPONENT_SELECTOR') { throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.'); } return interpolation; } switch (typeof interpolation) { case 'boolean': { return ''; } case 'object': { if (interpolation.anim === 1) { cursor = { name: interpolation.name, styles: interpolation.styles, next: cursor }; return interpolation.name; } if (interpolation.styles !== undefined) { var next = interpolation.next; if (next !== undefined) { // not the most efficient thing ever but this is a pretty rare case // and there will be very few iterations of this generally while (next !== undefined) { cursor = { name: next.name, styles: next.styles, next: cursor }; next = next.next; } } var styles = interpolation.styles + ";"; if ( true && interpolation.map !== undefined) { styles += interpolation.map; } return styles; } return createStringFromObject(mergedProps, registered, interpolation); } case 'function': { if (mergedProps !== undefined) { var previousCursor = cursor; var result = interpolation(mergedProps); cursor = previousCursor; return handleInterpolation(mergedProps, registered, result); } else if (true) { console.error('Functions that are interpolated in css calls will be stringified.\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\n' + 'It can be called directly with props or interpolated in a styled call like this\n' + "let SomeComponent = styled('div')`${dynamicStyle}`"); } break; } case 'string': if (true) { var matched = []; var replaced = interpolation.replace(animationRegex, function (match, p1, p2) { var fakeVarName = "animation" + matched.length; matched.push("const " + fakeVarName + " = keyframes`" + p2.replace(/^@keyframes animation-\w+/, '') + "`"); return "${" + fakeVarName + "}"; }); if (matched.length) { console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\n\n' + 'Instead of doing this:\n\n' + [].concat(matched, ["`" + replaced + "`"]).join('\n') + '\n\nYou should wrap it with `css` like this:\n\n' + ("css`" + replaced + "`")); } } break; } // finalize string values (regular strings and functions interpolated into css calls) if (registered == null) { return interpolation; } var cached = registered[interpolation]; return cached !== undefined ? cached : interpolation; } function createStringFromObject(mergedProps, registered, obj) { var string = ''; if (Array.isArray(obj)) { for (var i = 0; i < obj.length; i++) { string += handleInterpolation(mergedProps, registered, obj[i]) + ";"; } } else { for (var _key in obj) { var value = obj[_key]; if (typeof value !== 'object') { if (registered != null && registered[value] !== undefined) { string += _key + "{" + registered[value] + "}"; } else if (isProcessableValue(value)) { string += processStyleName(_key) + ":" + processStyleValue(_key, value) + ";"; } } else { if (_key === 'NO_COMPONENT_SELECTOR' && "development" !== 'production') { throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.'); } if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) { for (var _i = 0; _i < value.length; _i++) { if (isProcessableValue(value[_i])) { string += processStyleName(_key) + ":" + processStyleValue(_key, value[_i]) + ";"; } } } else { var interpolated = handleInterpolation(mergedProps, registered, value); switch (_key) { case 'animation': case 'animationName': { string += processStyleName(_key) + ":" + interpolated + ";"; break; } default: { if ( true && _key === 'undefined') { console.error(UNDEFINED_AS_OBJECT_KEY_ERROR); } string += _key + "{" + interpolated + "}"; } } } } } } return string; } var labelPattern = /label:\s*([^\s;\n{]+)\s*(;|$)/g; var sourceMapPattern; if (true) { sourceMapPattern = /\/\*#\ssourceMappingURL=data:application\/json;\S+\s+\*\//g; } // this is the cursor for keyframes // keyframes are stored on the SerializedStyles object as a linked list var cursor; var serializeStyles = function serializeStyles(args, registered, mergedProps) { if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) { return args[0]; } var stringMode = true; var styles = ''; cursor = undefined; var strings = args[0]; if (strings == null || strings.raw === undefined) { stringMode = false; styles += handleInterpolation(mergedProps, registered, strings); } else { if ( true && strings[0] === undefined) { console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR); } styles += strings[0]; } // we start at 1 since we've already handled the first arg for (var i = 1; i < args.length; i++) { styles += handleInterpolation(mergedProps, registered, args[i]); if (stringMode) { if ( true && strings[i] === undefined) { console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR); } styles += strings[i]; } } var sourceMap; if (true) { styles = styles.replace(sourceMapPattern, function (match) { sourceMap = match; return ''; }); } // using a global regex with .exec is stateful so lastIndex has to be reset each time labelPattern.lastIndex = 0; var identifierName = ''; var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5 while ((match = labelPattern.exec(styles)) !== null) { identifierName += '-' + // $FlowFixMe we know it's not null match[1]; } var name = (0,_emotion_hash__WEBPACK_IMPORTED_MODULE_0__["default"])(styles) + identifierName; if (true) { // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it) return { name: name, styles: styles, map: sourceMap, next: cursor, toString: function toString() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } }; } return { name: name, styles: styles, next: cursor }; }; /***/ }), /***/ "./node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js": /*!***********************************************************************!*\ !*** ./node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js ***! \***********************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "StyleSheet": function() { return /* binding */ StyleSheet; } /* harmony export */ }); /* Based off glamor's StyleSheet, thanks Sunil ❤️ high performance StyleSheet for css-in-js systems - uses multiple style tags behind the scenes for millions of rules - uses `insertRule` for appending in production for *much* faster performance // usage import { StyleSheet } from '@emotion/sheet' let styleSheet = new StyleSheet({ key: '', container: document.head }) styleSheet.insert('#box { border: 1px solid red; }') - appends a css rule into the stylesheet styleSheet.flush() - empties the stylesheet of all its contents */ // $FlowFixMe function sheetForTag(tag) { if (tag.sheet) { // $FlowFixMe return tag.sheet; } // this weirdness brought to you by firefox /* istanbul ignore next */ for (var i = 0; i < document.styleSheets.length; i++) { if (document.styleSheets[i].ownerNode === tag) { // $FlowFixMe return document.styleSheets[i]; } } } function createStyleElement(options) { var tag = document.createElement('style'); tag.setAttribute('data-emotion', options.key); if (options.nonce !== undefined) { tag.setAttribute('nonce', options.nonce); } tag.appendChild(document.createTextNode('')); tag.setAttribute('data-s', ''); return tag; } var StyleSheet = /*#__PURE__*/function () { function StyleSheet(options) { var _this = this; this._insertTag = function (tag) { var before; if (_this.tags.length === 0) { if (_this.insertionPoint) { before = _this.insertionPoint.nextSibling; } else if (_this.prepend) { before = _this.container.firstChild; } else { before = _this.before; } } else { before = _this.tags[_this.tags.length - 1].nextSibling; } _this.container.insertBefore(tag, before); _this.tags.push(tag); }; this.isSpeedy = options.speedy === undefined ? "development" === 'production' : options.speedy; this.tags = []; this.ctr = 0; this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets this.key = options.key; this.container = options.container; this.prepend = options.prepend; this.insertionPoint = options.insertionPoint; this.before = null; } var _proto = StyleSheet.prototype; _proto.hydrate = function hydrate(nodes) { nodes.forEach(this._insertTag); }; _proto.insert = function insert(rule) { // the max length is how many rules we have per style tag, it's 65000 in speedy mode // it's 1 in dev because we insert source maps that map a single rule to a location // and you can only have one source map per style tag if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) { this._insertTag(createStyleElement(this)); } var tag = this.tags[this.tags.length - 1]; if (true) { var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105; if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) { // this would only cause problem in speedy mode // but we don't want enabling speedy to affect the observable behavior // so we report this error at all times console.error("You're attempting to insert the following rule:\n" + rule + '\n\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.'); } this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule; } if (this.isSpeedy) { var sheet = sheetForTag(tag); try { // this is the ultrafast version, works across browsers // the big drawback is that the css won't be editable in devtools sheet.insertRule(rule, sheet.cssRules.length); } catch (e) { if ( true && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear){/.test(rule)) { console.error("There was a problem inserting the following rule: \"" + rule + "\"", e); } } } else { tag.appendChild(document.createTextNode(rule)); } this.ctr++; }; _proto.flush = function flush() { // $FlowFixMe this.tags.forEach(function (tag) { return tag.parentNode && tag.parentNode.removeChild(tag); }); this.tags = []; this.ctr = 0; if (true) { this._alreadyInsertedOrderInsensitiveRule = false; } }; return StyleSheet; }(); /***/ }), /***/ "./node_modules/@emotion/unitless/dist/unitless.browser.esm.js": /*!*********************************************************************!*\ !*** ./node_modules/@emotion/unitless/dist/unitless.browser.esm.js ***! \*********************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); var unitlessKeys = { animationIterationCount: 1, borderImageOutset: 1, borderImageSlice: 1, borderImageWidth: 1, boxFlex: 1, boxFlexGroup: 1, boxOrdinalGroup: 1, columnCount: 1, columns: 1, flex: 1, flexGrow: 1, flexPositive: 1, flexShrink: 1, flexNegative: 1, flexOrder: 1, gridRow: 1, gridRowEnd: 1, gridRowSpan: 1, gridRowStart: 1, gridColumn: 1, gridColumnEnd: 1, gridColumnSpan: 1, gridColumnStart: 1, msGridRow: 1, msGridRowSpan: 1, msGridColumn: 1, msGridColumnSpan: 1, fontWeight: 1, lineHeight: 1, opacity: 1, order: 1, orphans: 1, tabSize: 1, widows: 1, zIndex: 1, zoom: 1, WebkitLineClamp: 1, // SVG-related properties fillOpacity: 1, floodOpacity: 1, stopOpacity: 1, strokeDasharray: 1, strokeDashoffset: 1, strokeMiterlimit: 1, strokeOpacity: 1, strokeWidth: 1 }; /* harmony default export */ __webpack_exports__["default"] = (unitlessKeys); /***/ }), /***/ "./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js": /*!***********************************************************************!*\ !*** ./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js ***! \***********************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "getRegisteredStyles": function() { return /* binding */ getRegisteredStyles; }, /* harmony export */ "insertStyles": function() { return /* binding */ insertStyles; }, /* harmony export */ "registerStyles": function() { return /* binding */ registerStyles; } /* harmony export */ }); var isBrowser = "object" !== 'undefined'; function getRegisteredStyles(registered, registeredStyles, classNames) { var rawClassName = ''; classNames.split(' ').forEach(function (className) { if (registered[className] !== undefined) { registeredStyles.push(registered[className] + ";"); } else { rawClassName += className + " "; } }); return rawClassName; } var registerStyles = function registerStyles(cache, serialized, isStringTag) { var className = cache.key + "-" + serialized.name; if ( // we only need to add the styles to the registered cache if the // class name could be used further down // the tree but if it's a string tag, we know it won't // so we don't have to add it to registered cache. // this improves memory usage since we can avoid storing the whole style string (isStringTag === false || // we need to always store it if we're in compat mode and // in node since emotion-server relies on whether a style is in // the registered cache to know whether a style is global or not // also, note that this check will be dead code eliminated in the browser isBrowser === false ) && cache.registered[className] === undefined) { cache.registered[className] = serialized.styles; } }; var insertStyles = function insertStyles(cache, serialized, isStringTag) { registerStyles(cache, serialized, isStringTag); var className = cache.key + "-" + serialized.name; if (cache.inserted[serialized.name] === undefined) { var current = serialized; do { var maybeStyles = cache.insert(serialized === current ? "." + className : '', current, cache.sheet, true); current = current.next; } while (current !== undefined); } }; /***/ }), /***/ "./node_modules/@emotion/weak-memoize/dist/weak-memoize.browser.esm.js": /*!*****************************************************************************!*\ !*** ./node_modules/@emotion/weak-memoize/dist/weak-memoize.browser.esm.js ***! \*****************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); var weakMemoize = function weakMemoize(func) { // $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps var cache = new WeakMap(); return function (arg) { if (cache.has(arg)) { // $FlowFixMe return cache.get(arg); } var ret = func(arg); cache.set(arg, ret); return ret; }; }; /* harmony default export */ __webpack_exports__["default"] = (weakMemoize); /***/ }), /***/ "./node_modules/@fonticonpicker/react-fonticonpicker/dist/fonticonpicker.react.js": /*!****************************************************************************************!*\ !*** ./node_modules/@fonticonpicker/react-fonticonpicker/dist/fonticonpicker.react.js ***! \****************************************************************************************/ /***/ (function(module, __unused_webpack_exports, __webpack_require__) { /*! * * React FontIconPicker * * React Component to show a picker element to pick font-icons & svg * * @author Swashata Ghosh * @version 1.2.0 * @link https://github.com/fontIconPicker/react-fonticonpicker * @license MIT * * Copyright (c) 2018 Swashata Ghosh * * This software is released under the MIT License. * https://opensource.org/licenses/MIT * */ !function(e,t){ true?module.exports=t(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"),__webpack_require__(/*! react */ "react"),__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js"),__webpack_require__(/*! react-dom */ "react-dom"),__webpack_require__(/*! react-transition-group */ "./node_modules/react-transition-group/esm/index.js")):0}(window,function(e,t,r,n,a){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=15)}([function(t,r){t.exports=e},function(e,r){e.exports=t},function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t1&&void 0!==arguments[1]?arguments[1]:null;if(Array.isArray(e))return o(e);if(null!==t)return void 0!==e[t]?o(e[t]):[];var r=[],n=function(e){for(var t=1;tr)return!1;if(n===r)return e===t;e:for(var a=0,o=0;aa-20){var m=y.left+r.props.btnRef.current.offsetWidth-(e+d.left);m+d.left<0&&(m=10-d.left),h.style.left="".concat(m,"px")}t+s-o>l&&y.top-t>0&&("self"===r.state.appendRoot?h.style.top="-".concat(t-g,"px"):h.style.top="".concat(y.top+g-t,"px"))}}),r.state={},r.debouncedSyncPortalPosition=(0,i.debounce)(r.syncPortalPosition,250),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,n.default.PureComponent),f(t,null,[{key:"getDerivedStateFromProps",value:function(e){var r=t.calculateAppendAndClass(e.appendRoot);return{appendRoot:r.appendRoot,portalClasses:r.portalClasses}}},{key:"calculateAppendAndClass",value:function(e){var t="self",r=(0,l.default)({"rfipdropdown--portal":!1!==e});return!1!==e&&(t=document.querySelector(e)),{portalClasses:r,appendRoot:t}}}]),f(t,[{key:"componentDidMount",value:function(){window.addEventListener("resize",this.debouncedSyncPortalPosition),window.addEventListener("scroll",this.debouncedSyncPortalPosition),this.syncPortalPosition()}},{key:"componentDidUpdate",value:function(){this.syncPortalPosition()}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.debouncedSyncPortalPosition),window.removeEventListener("scroll",this.debouncedSyncPortalPosition)}},{key:"positionPortal",value:function(){var e=this.props.domRef.current.style.display;this.props.domRef.current.style.display="none";var t=this.props.btnRef.current,r=(0,i.getOffset)(t),n=(0,i.getOffset)(this.state.appendRoot),a=t.offsetHeight;this.props.domRef.current.style.left="".concat(r.left-n.left,"px"),this.props.domRef.current.style.top="".concat(r.top+a,"px"),this.props.domRef.current.style.display=e}},{key:"resetPortalPosition",value:function(){var e=this.props.domRef.current;"self"===this.state.appendRoot?e.style.top="":this.positionPortal()}},{key:"render",value:function(){var e=(0,l.default)(this.props.className,this.state.portalClasses),t=n.default.createElement("div",{className:e,ref:this.props.domRef},this.props.children);return"self"===this.state.appendRoot?t:(0,a.createPortal)(t,this.state.appendRoot)}}]),t}();Object.defineProperty(p,"propTypes",{configurable:!0,enumerable:!0,writable:!0,value:{appendRoot:o.default.oneOfType([o.default.bool,o.default.string]),children:o.default.node.isRequired,domRef:o.default.object.isRequired,btnRef:o.default.object.isRequired,className:o.default.string.isRequired}}),Object.defineProperty(p,"defaultProps",{configurable:!0,enumerable:!0,writable:!0,value:{appendRoot:!1}});var h=p;t.default=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(1)),a=i(r(0)),o=i(r(3)),l=r(2);function i(e){return e&&e.__esModule?e:{default:e}}function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t1&&void 0!==arguments[1]?arguments[1]:null,a=r.props.currentPage,o=r.state.totalPage;null!==n?"next"===n?a+=1:a-=1:a=parseInt(e.target.value,10)-1,a<0&&(a=0),a>o-1&&(a=o-1),t=a+1,null===n&&Number.isNaN(a)&&(a=0,t=""),r.setState({viewPage:t}),r.props.handleChangePage(a)}}),Object.defineProperty(d(r),"handlePageKeyBoard",{configurable:!0,enumerable:!0,writable:!0,value:function(e,t){13!==e.keyCode&&32!==e.keyCode||r.handleChangePage({},t)}}),Object.defineProperty(d(r),"handleChangeValue",{configurable:!0,enumerable:!0,writable:!0,value:function(e){r.props.handleChangeValue(e)}}),Object.defineProperty(d(r),"handleValueKeyboard",{configurable:!0,enumerable:!0,writable:!0,value:function(e,t){13!==e.keyCode&&32!==e.keyCode||r.handleChangeValue(t)}}),r.state={viewPage:r.props.currentPage+1},r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,n.default.PureComponent),f(t,null,[{key:"getDerivedStateFromProps",value:function(e,r){var n=t.getCategoryFilteredState(e.currentCategory,e.categories,e.icons),a=t.getCategoryFilteredState(e.currentCategory,e.categories,null===e.search?e.icons:e.search),o=t.getActiveIcons(n,a,e.currentSearch),l=o.activeIcons,i=o.activeTitles,u=e.currentPage,c=e.iconsPerPage,s={iconView:t.getCurrentViewIcons(l,c,u),titleView:t.getCurrentViewIcons(i,c,u),totalPage:Math.ceil(l.length/c)};return""!==r.viewPage&&(s.viewPage=e.currentPage+1),s}},{key:"getActiveIcons",value:function(e,t,r){var n=c(e),a=c(t);if(""===r||null===r)return{activeIcons:n,activeTitles:a};var o=[],i=[];return n.forEach(function(e,n){(0,l.fuzzySearch)(r,t[n])&&(o.push(e),i.push(t[n]))}),{activeIcons:o,activeTitles:i}}},{key:"getCategoryFilteredState",value:function(e,t,r){var n=null,a=(0,l.getSourceType)(r);if(Array.isArray(t)){if("object"!==a)throw new l.InvalidSourceException(a,"object")}else if("array"!==a)throw new l.InvalidSourceException(a,"array");return 0!==e&&Array.isArray(t)&&(n=t[e]||null),(0,l.flattenPossiblyCategorizedSource)(r,n)}},{key:"getCurrentViewIcons",value:function(e,t,r){var n=r*t,a=(r+1)*t;return e.slice(n,a)}}]),f(t,[{key:"renderPager",value:function(){var e=this;if(this.state.totalPage<1)return null;var t=this.props.currentPage>0?n.default.createElement("span",{className:"rfipicons__left",role:"button",tabIndex:0,onKeyDown:function(t){return e.handlePageKeyBoard(t,"prev")},onClick:function(t){return e.handleChangePage(t,"prev")}},n.default.createElement("span",{role:"presentation",className:"rfipicons__label","aria-label":"Left"},n.default.createElement("i",{className:"fipicon-angle-left"}))):null,r=this.props.currentPage0?this.state.iconView.map(function(t,r){var a=(0,o.default)("rfipicons__icon",{"rfipicons__icon--selected":e.props.value===t||Array.isArray(e.props.value)&&e.props.value.includes(t)});return n.default.createElement("span",{className:a,key:t,title:e.state.titleView[r]},n.default.createElement("span",{className:"rfipicons__ibox",tabIndex:0,role:"button",onClick:function(){return e.handleChangeValue(t)},onKeyDown:function(r){return e.handleValueKeyboard(r,t)}},e.props.renderIcon(t)))}):n.default.createElement("span",{className:"rfipicons__icon--error"},n.default.createElement("span",{className:"rfipicons__ibox--error"},this.props.noIconPlaceholder))}},{key:"render",value:function(){return n.default.createElement("div",{className:"rfipicons"},this.renderPager(),n.default.createElement("div",{className:"rfipicons__selector"},this.renderIconView()))}}]),t}();Object.defineProperty(p,"propTypes",{configurable:!0,enumerable:!0,writable:!0,value:{categories:a.default.arrayOf(a.default.string),currentCategory:a.default.number,isMulti:a.default.bool.isRequired,icons:a.default.oneOfType([a.default.arrayOf(a.default.string),a.default.arrayOf(a.default.number),a.default.objectOf(a.default.oneOfType([a.default.arrayOf(a.default.number),a.default.arrayOf(a.default.string)]))]).isRequired,search:a.default.oneOfType([a.default.objectOf(a.default.arrayOf(a.default.string)),a.default.arrayOf(a.default.string)]),value:a.default.oneOfType([a.default.number,a.default.string,a.default.arrayOf(a.default.oneOfType([a.default.number,a.default.string]))]).isRequired,currentSearch:a.default.string.isRequired,handleChangeValue:a.default.func.isRequired,currentPage:a.default.number.isRequired,iconsPerPage:a.default.number.isRequired,handleChangePage:a.default.func.isRequired,renderIcon:a.default.func.isRequired,noIconPlaceholder:a.default.string.isRequired}}),Object.defineProperty(p,"defaultProps",{configurable:!0,enumerable:!0,writable:!0,value:{categories:null,currentCategory:null,search:null}});var h=p;t.default=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(r(1)),a=o(r(0));function o(e){return e&&e.__esModule?e:{default:e}}var l=function(e){return n.default.createElement("div",{className:"rfipsearch"},n.default.createElement("input",{type:"text",className:"rfipsearch__input",value:e.value,onChange:e.handleSearch,placeholder:e.placeholder}))};l.propTypes={handleSearch:a.default.func.isRequired,value:a.default.string.isRequired,placeholder:a.default.string.isRequired};var i=l;t.default=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(r(1)),a=o(r(0));function o(e){return e&&e.__esModule?e:{default:e}}function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){for(var r=0;r1&&void 0!==arguments[1])||arguments[1],a={isOpen:e};return a.elemClass=t.getDerivedClassName("rfip",r.props.theme,r.props.isMulti,e),a.btnClass=t.getDerivedClassName("rfipbtn",r.props.theme,r.props.isMulti,e),a.ddClass=t.getDerivedClassName("rfipdropdown",r.props.theme,r.props.isMulti,e),n&&r.setState(a),a}}),Object.defineProperty(g(r),"handleChangeValue",{configurable:!0,enumerable:!0,writable:!0,value:function(e){var t;r.props.isMulti?(t=p(r.state.value)).includes(e)?(t=t.filter(function(t){return t!==e})).length||(t=m):t.push(e):t=e===r.state.value?v:e,r.setState({value:t,isOpen:!r.props.closeOnSelect}),r.props.onChange(t)}}),Object.defineProperty(g(r),"handleDeleteValue",{configurable:!0,enumerable:!0,writable:!0,value:function(e){var n;n=r.props.isMulti?r.state.value.filter(function(t){return t!==e}):t.getDerivedValue(n,r.props.isMulti),r.setState({value:n}),r.props.onChange(n)}}),Object.defineProperty(g(r),"handleChangePage",{configurable:!0,enumerable:!0,writable:!0,value:function(e){r.setState({currentPage:e})}}),Object.defineProperty(g(r),"handleChangeCategory",{configurable:!0,enumerable:!0,writable:!0,value:function(e){r.setState({currentCategory:e,currentPage:0})}}),Object.defineProperty(g(r),"handleChangeSearch",{configurable:!0,enumerable:!0,writable:!0,value:function(e){r.setState({currentSearch:e,currentPage:0})}}),Object.defineProperty(g(r),"resetPortalStyle",{configurable:!0,enumerable:!0,writable:!0,value:function(e){["maxHeight","paddingTop","paddingBottom"].forEach(function(t){e.style[t]=null})}}),Object.defineProperty(g(r),"handlePortalEnter",{configurable:!0,enumerable:!0,writable:!0,value:function(e){var t=e.childNodes[0];r.resetPortalStyle(t);var n=getComputedStyle(t);r.fipPortalComputedStyle={height:n.height,paddingTop:n.paddingTop,paddingBottom:n.paddingBottom},["maxHeight","paddingTop","paddingBottom"].forEach(function(e){t.style[e]="0px"})}}),Object.defineProperty(g(r),"handlePortalEntering",{configurable:!0,enumerable:!0,writable:!0,value:function(e){var t=e.childNodes[0];t.style.maxHeight=r.fipPortalComputedStyle.height,t.style.paddingTop=r.fipPortalComputedStyle.paddingTop,t.style.paddingBottom=r.fipPortalComputedStyle.paddingBottom}}),Object.defineProperty(g(r),"handlePortalEntered",{configurable:!0,enumerable:!0,writable:!0,value:function(e){var t=e.childNodes[0];r.resetPortalStyle(t),r.props.showSearch&&void 0===window.orientation&&-1===navigator.userAgent.indexOf("IEMobile")&&t.querySelector(".rfipsearch__input").focus()}}),Object.defineProperty(g(r),"handlePortalExit",{configurable:!0,enumerable:!0,writable:!0,value:function(e){var t=e.childNodes[0];r.resetPortalStyle(t);var n=getComputedStyle(t).height;t.style.maxHeight=n}}),Object.defineProperty(g(r),"handlePortalExiting",{configurable:!0,enumerable:!0,writable:!0,value:function(e){var t=e.childNodes[0];t.style.maxHeight="0px",t.style.paddingTop="0px",t.style.paddingBottom="0px"}}),Object.defineProperty(g(r),"renderIcon",{configurable:!0,enumerable:!0,writable:!0,value:function(e){if("function"==typeof r.props.renderFunc)return r.props.renderFunc(e);if("class"===r.props.renderUsing)return n.default.createElement("i",{className:e});var t=h({},r.props.renderUsing,r.props.convertHex?(0,s.convertToHex)(e):e);return n.default.createElement("i",t)}}),r.fipButtonRef=n.default.createRef(),r.fipDropDownRef=n.default.createRef(),r.state={currentCategory:0,currentPage:0,isOpen:!1,currentSearch:""},r.fipPortalComputedStyle=null,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,n.default.PureComponent),b(t,null,[{key:"getDerivedStateFromProps",value:function(e,r){var n={};return n.elemClass=t.getDerivedClassName("rfip",e.theme,e.isMulti,r.isOpen),n.btnClass=t.getDerivedClassName("rfipbtn",e.theme,e.isMulti,r.isOpen),n.ddClass=t.getDerivedClassName("rfipdropdown",e.theme,e.isMulti,r.isOpen),n.value=t.getDerivedValue(e.value,e.isMulti),e.showCategory||(n.currentCategory=0,n.currentPage=0),e.showSearch||(n.currentSearch="",n.currentPage=0),n}},{key:"getDerivedClassName",value:function(e,t,r,n){return(0,o.default)(e,"".concat(e,"--").concat(t),h({},"".concat(e,"--multi"),r),"".concat(e,"--").concat(n?"open":"close"))}},{key:"getDerivedValue",value:function(e,t){var r=e;return t?r=Array.isArray(e)?p(e):m:"number"!=typeof e&&"string"!=typeof e&&(r=v),r}}]),b(t,[{key:"componentDidMount",value:function(){var e=this;["click"].forEach(function(t){document.addEventListener(t,e.handleOuterClick,!1)}),document.addEventListener("keydown",this.handleEscapeKeyboard,!1),this.props.onChange(this.state.value)}},{key:"componentWillUnmount",value:function(){var e=this;["click"].forEach(function(t){document.removeEventListener(t,e.handleOuterClick,!1)}),document.removeEventListener("keydown",this.handleEscapeKeyboard,!1)}},{key:"render",value:function(){var e={currentCategory:this.state.currentCategory,currentPage:this.state.currentPage,currentSearch:this.state.currentSearch,value:this.state.value,isMulti:this.props.isMulti,icons:this.props.icons,search:this.props.search,showCategory:this.props.showCategory,showSearch:this.props.showSearch,iconsPerPage:this.props.iconsPerPage,allCatPlaceholder:this.props.allCatPlaceholder,searchPlaceholder:this.props.searchPlaceholder,noIconPlaceholder:this.props.noIconPlaceholder,renderIcon:this.renderIcon,handleChangeValue:this.handleChangeValue,handleChangeCategory:this.handleChangeCategory,handleChangePage:this.handleChangePage,handleChangeSearch:this.handleChangeSearch};return n.default.createElement("div",{className:this.state.elemClass,ref:this.fipRef},n.default.createElement(i.default,{className:this.state.btnClass,isOpen:this.state.isOpen,onClick:this.handleToggle,domRef:this.fipButtonRef,isMulti:this.props.isMulti,value:this.state.value,renderIcon:this.renderIcon,handleDeleteValue:this.handleDeleteValue,noSelectedPlaceholder:this.props.noSelectedPlaceholder}),n.default.createElement(l.CSSTransition,{classNames:"fipappear",timeout:300,in:this.state.isOpen,unmountOnExit:!0,onEnter:this.handlePortalEnter,onEntering:this.handlePortalEntering,onEntered:this.handlePortalEntered,onExit:this.handlePortalExit,onExiting:this.handlePortalExiting},n.default.createElement(c.default,{appendRoot:this.props.appendTo,domRef:this.fipDropDownRef,btnRef:this.fipButtonRef,className:this.state.ddClass},n.default.createElement(u.default,e))))}}]),t}();Object.defineProperty(P,"propTypes",{configurable:!0,enumerable:!0,writable:!0,value:{icons:a.default.oneOfType([a.default.arrayOf(a.default.string),a.default.arrayOf(a.default.number),a.default.objectOf(a.default.oneOfType([a.default.arrayOf(a.default.number),a.default.arrayOf(a.default.string)]))]).isRequired,search:a.default.oneOfType([a.default.objectOf(a.default.arrayOf(a.default.string)),a.default.arrayOf(a.default.string)]),iconsPerPage:a.default.number,theme:a.default.string,onChange:a.default.func.isRequired,showCategory:a.default.bool,showSearch:a.default.bool,value:a.default.oneOfType([a.default.arrayOf(a.default.string),a.default.arrayOf(a.default.number),a.default.number,a.default.string]),isMulti:a.default.bool,renderUsing:a.default.string,convertHex:a.default.bool,renderFunc:a.default.func,appendTo:a.default.oneOfType([a.default.bool,a.default.string]),allCatPlaceholder:a.default.string,searchPlaceholder:a.default.string,noIconPlaceholder:a.default.string,noSelectedPlaceholder:a.default.string,closeOnSelect:a.default.bool}}),Object.defineProperty(P,"defaultProps",{configurable:!0,enumerable:!0,writable:!0,value:{search:null,iconsPerPage:20,theme:"default",showCategory:!0,showSearch:!0,value:null,isMulti:!1,renderUsing:"class",convertHex:!0,renderFunc:null,appendTo:!1,allCatPlaceholder:"Show from all",searchPlaceholder:"Search Icons",noIconPlaceholder:"No icons found",noSelectedPlaceholder:"Select icon",closeOnSelect:!1}}),Object.defineProperty(P,"displayName",{configurable:!0,enumerable:!0,writable:!0,value:"FontIconPicker"});var O=P;t.default=O},function(e,t,r){"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=((n=r(14))&&n.__esModule?n:{default:n}).default;t.default=a}]).default}); //# sourceMappingURL=fonticonpicker.react.js.map /***/ }), /***/ "./node_modules/@wordpress/icons/build-module/library/plus.js": /*!********************************************************************!*\ !*** ./node_modules/@wordpress/icons/build-module/library/plus.js ***! \********************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/primitives */ "@wordpress/primitives"); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); /** * WordPress dependencies */ const plus = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.Path, { d: "M18 11.2h-5.2V6h-1.6v5.2H6v1.6h5.2V18h1.6v-5.2H18z" })); /* harmony default export */ __webpack_exports__["default"] = (plus); //# sourceMappingURL=plus.js.map /***/ }), /***/ "../../assets/js/ast-parse-svg.js": /*!****************************************!*\ !*** ../../assets/js/ast-parse-svg.js ***! \****************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); function parseSVG(svg) { svg = svg.replace("far ", ""); svg = svg.replace("fas ", ""); svg = svg.replace("fab ", ""); svg = svg.replace("fa-", ""); svg = svg.replace("fa ", ""); return svg; } /* harmony default export */ __webpack_exports__["default"] = (parseSVG); /***/ }), /***/ "../../assets/js/ast-render-svg.js": /*!*****************************************!*\ !*** ../../assets/js/ast-render-svg.js ***! \*****************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _assets_svg_ast_social_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../assets/svg/ast-social-icons */ "../../../assets/svg/ast-social-icons.json"); /* harmony import */ var _ast_parse_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ast-parse-svg */ "../../assets/js/ast-parse-svg.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__); /** * Set inline CSS class. * @param {object} props - The block object. * @return {array} The inline CSS class. */ function renderSVG(svg) { svg = (0,_ast_parse_svg__WEBPACK_IMPORTED_MODULE_2__["default"])(svg); var fontAwesome = _assets_svg_ast_social_icons__WEBPACK_IMPORTED_MODULE_1__[svg]; if ("undefined" != typeof fontAwesome) { var viewbox_array = fontAwesome["svg"].hasOwnProperty("brands") ? fontAwesome["svg"]["brands"]["viewBox"] : fontAwesome["svg"]["solid"]["viewBox"]; var path = fontAwesome["svg"].hasOwnProperty("brands") ? fontAwesome["svg"]["brands"]["path"] : fontAwesome["svg"]["solid"]["path"]; var viewBox = viewbox_array.join(" "); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: viewBox }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", { d: path })); } } /* harmony default export */ __webpack_exports__["default"] = (renderSVG); /***/ }), /***/ "./src/ast-button-link/ast-button-link.js": /*!************************************************!*\ !*** ./src/ast-button-link/ast-button-link.js ***! \************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var react_html_parser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-html-parser */ "./node_modules/react-html-parser/lib/index.js"); const ButtonLinkComponent = props => { const { title, url } = props.control.params; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("a", { href: url, target: "_blank", rel: "noopener", className: "button ast-button-link" }, title)); }; ButtonLinkComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(ButtonLinkComponent)); /***/ }), /***/ "./src/ast-button-link/control.js": /*!****************************************!*\ !*** ./src/ast-button-link/control.js ***! \****************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "astButtonLinkControl": function() { return /* binding */ astButtonLinkControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _ast_button_link_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ast-button-link.js */ "./src/ast-button-link/ast-button-link.js"); const astButtonLinkControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_ast_button_link_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/ast-font-family/ast-font-family.js": /*!************************************************!*\ !*** ./src/ast-font-family/ast-font-family.js ***! \************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__); const FontFamilyComponent = props => { const { description, label, connect, variant, name, link } = props.control.params; const [state, setState] = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)({ value: props.control.setting.get() }); const linkRemoteUpdate = () => { document.addEventListener('AstRemoteUpdateState', function (e) { if (e.detail === 'typography') { setState({ value: props.control.setting.get() }); } }); }; linkRemoteUpdate(); let labelHtml = null, descriptionHtml = null, selectHtml = null, inp_array = [], inherit = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Inherit', 'astra'); if (label) { labelHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "customize-control-title" }, label); } if (description) { descriptionHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "description customize-control-description" }, description); } if (undefined !== link) { let splited_values = link.split(" "); splited_values.map((item, i) => { let item_values = item.split("="); if (undefined !== item_values[1]) { inp_array[item_values[0]] = item_values[1].replace(/"/g, ""); } }); } if (connect && variant) { selectHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("select", (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, inp_array, { "data-connected-control": connect, "data-connected-variant": variant, "data-value": state.value, "data-name": name, "data-inherit": inherit })); } else if (connect) { selectHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("select", (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, inp_array, { "data-connected-control": connect, "data-value": state.value, "data-name": name, "data-inherit": inherit })); } else if (variant) { selectHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("select", (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, inp_array, { "data-connected-variant": variant, "data-value": state.value, "data-name": name, "data-inherit": inherit })); } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("label", null, labelHtml, descriptionHtml), selectHtml); }; FontFamilyComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (FontFamilyComponent); /***/ }), /***/ "./src/ast-font-family/control.js": /*!****************************************!*\ !*** ./src/ast-font-family/control.js ***! \****************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "astFontFamilyControl": function() { return /* binding */ astFontFamilyControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _ast_font_family_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ast-font-family.js */ "./src/ast-font-family/ast-font-family.js"); const astFontFamilyControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_ast_font_family_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); }, ready: function () { AstTypography.init(); } }); /***/ }), /***/ "./src/ast-font-variant/ast-font-variant.js": /*!**************************************************!*\ !*** ./src/ast-font-variant/ast-font-variant.js ***! \**************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var react_select__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-select */ "./node_modules/react-select/dist/react-select.esm.js"); const FontVariantComponent = props => { const { help, label, name, variant } = props.control.params; const [propValue, setValue] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(props.control.setting.get() || []); const [fontVal, setfontVal] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(wp.customize.control(variant).setting.get() || 'inherit'); let controlCleanName = props.control.params.name; controlCleanName = controlCleanName.replace('[', '_'); controlCleanName = controlCleanName.replace(']', ''); controlCleanName = controlCleanName.replace('-', '_'); const eventListner = 'AstraGlobalFontChanged' + controlCleanName; // If settings are changed externally. const getUpatedBodyFontVariantOptions = () => { document.addEventListener(eventListner, function (e) { setValue(null); if ('inherit' === e.detail.font) { setfontVal(''); } else { setfontVal(wp.customize.control(variant).setting.get()); } }); }; getUpatedBodyFontVariantOptions(); const fontVariants = window.AstraBuilderCustomizerData.googleFonts; let fontName = fontVal.split(','), fontFamily = fontName[0].replace(/['"]+/g, ''); if (undefined === fontVariants[fontFamily]) { return null; } let labelHtml = label ? (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", null, label) : '', helpHtml = help ? (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "description customize-control-variant-description" }, help) : null; const prepareToSave = variants => { let fontVariantVal = Object.entries(variants).map(_ref => { let [key, name] = _ref; if ('string' == typeof name) { return name; } else { return name.value; } }); let unique = [...new Set(fontVariantVal)]; let stringFontVariant = unique.join(","); setValue(stringFontVariant); props.control.setting.set(stringFontVariant); }; const updateValues = newVal => { if (!newVal.length) { setValue(null); return; } prepareToSave(newVal); }; if (!fontVariants[fontFamily][0]) { return null; } if (fontVariants[fontFamily][0].length < 1) { return null; } const variants = [...fontVariants[fontFamily][0]]; const variantLabels = window.AstraBuilderCustomizerData.variantLabels; const options = Object.entries(variants).map(_ref2 => { let [key, name] = _ref2; return { label: variantLabels[name], value: name }; }); const variantValue = 'string' === typeof propValue ? propValue.split(',') : propValue; let selectedVariants = null; if (variantValue && variantValue.length) { selectedVariants = Object.entries(variantValue).map(_ref3 => { let [key, name] = _ref3; return { label: variantLabels[name], value: name }; }); } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", { className: "customize-control-title" }, labelHtml), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-customizer-font-varient-wrap" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(react_select__WEBPACK_IMPORTED_MODULE_3__["default"], { name: name, value: selectedVariants, options: options, isMulti: true, onChange: value => updateValues(value), className: "ast-variant-select" }), helpHtml)); }; FontVariantComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(FontVariantComponent)); /***/ }), /***/ "./src/ast-font-variant/control.js": /*!*****************************************!*\ !*** ./src/ast-font-variant/control.js ***! \*****************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "astFontVariantControl": function() { return /* binding */ astFontVariantControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _ast_font_variant_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ast-font-variant.js */ "./src/ast-font-variant/ast-font-variant.js"); const astFontVariantControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_ast_font_variant_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/ast-font-weight/ast-font-weight.js": /*!************************************************!*\ !*** ./src/ast-font-weight/ast-font-weight.js ***! \************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__); const FontWeightComponent = props => { const { description, label, connect, variant, name, link, ast_all_font_weight } = props.control.params; let value = props.control.setting.get(), labelHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", null, label ? label : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Background', 'astra')), descriptionHtml = description ? (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "description customize-control-description" }, description) : null, selectHtml = null, inp_array = [], inherit = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Inherit', 'astra'), optionsStaticHtml = null; value = undefined === value || '' === value ? [] : value; if (link) { let splited_values = link.split(" "); splited_values.map((item, i) => { let item_values = item.split("="); if (item_values[1]) { inp_array[item_values[0]] = item_values[1].replace(/"/g, ""); } }); } let optionsHtml = Object.entries(ast_all_font_weight).map(key => { let html = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("option", { key: key[0], value: key[0] }, key[1]); return html; }); if ('normal' === value) { optionsStaticHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("option", { key: "normal", value: "normal" }, inherit); } else { optionsStaticHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("option", { key: "inherit", value: "inherit" }, inherit); } if (connect && variant) { selectHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("select", (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, inp_array, { "data-connected-control": connect, "data-connected-variant": variant, "data-value": value, "data-name": name, "data-inherit": inherit }), optionsStaticHtml, optionsHtml); } else if (variant) { selectHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("select", (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, inp_array, { "data-connected-variant": variant, "data-value": value, "data-name": name, "data-inherit": inherit }), optionsStaticHtml, optionsHtml); } else if (connect) { selectHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("select", (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, inp_array, { "data-connected-control": connect, "data-value": value, "data-name": name, "data-inherit": inherit }), optionsStaticHtml, optionsHtml); } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("label", { className: "customize-control-title" }, labelHtml, descriptionHtml), selectHtml); }; FontWeightComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(FontWeightComponent)); /***/ }), /***/ "./src/ast-font-weight/control.js": /*!****************************************!*\ !*** ./src/ast-font-weight/control.js ***! \****************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "astFontWeightControl": function() { return /* binding */ astFontWeightControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _ast_font_weight_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ast-font-weight.js */ "./src/ast-font-weight/ast-font-weight.js"); const astFontWeightControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_ast_font_weight_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/ast-group-title/ast-group-title.js": /*!************************************************!*\ !*** ./src/ast-group-title/ast-group-title.js ***! \************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var html_react_parser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! html-react-parser */ "./node_modules/html-react-parser/index.mjs"); /* harmony import */ var _assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../assets/svg/svgs.json */ "../../../assets/svg/svgs.json"); const GroupTitleComponent = props => { const { label, responsive = false } = props.control.params; let htmlLabel = null; const responsiveDesktop = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_2__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_3__["desktop-responsive"]); const responsiveTablet = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_2__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_3__["tablet-responsive"]); const responsiveMobile = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_2__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_3__["mobile-responsive"]); if (label) { htmlLabel = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title ast-group-section-title" }, label); } const onResetClick = () => { const btnOptions = props.control.params.input_attrs.reset_linked_controls; btnOptions.forEach(function (btnOption) { const defaultVal = wp.customize.control('astra-settings[' + btnOption + ']').params.default; wp.customize.control('astra-settings[' + btnOption + ']').setting.set(defaultVal); }); document.dispatchEvent(new CustomEvent("AstUpdatePaletteVariables", {})); }; const renderResetBtn = () => { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { className: "ast-reset-btn components-button components-circular-option-picker__clear is-secondary is-small", onClick: e => { e.preventDefault(); onResetClick(); } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.Dashicon, { icon: "image-rotate" })); }; const responsiveHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("ul", { key: 'ast-resp-ul', className: "ast-responsive-btns" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { key: 'desktop', className: "desktop active" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-desktop", "data-device": "desktop" }, responsiveDesktop)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { key: 'tablet', className: "tablet" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-tablet", "data-device": "tablet" }, responsiveTablet)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { key: 'mobile', className: "mobile" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-mobile", "data-device": "mobile" }, responsiveMobile))); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", { className: "customizer-text" }, htmlLabel), responsive && responsiveHtml, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-reset-btn-preset-wrap" }, renderResetBtn())); }; GroupTitleComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(GroupTitleComponent)); /***/ }), /***/ "./src/ast-group-title/control.js": /*!****************************************!*\ !*** ./src/ast-group-title/control.js ***! \****************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "astGroupTitleControl": function() { return /* binding */ astGroupTitleControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _ast_group_title_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ast-group-title.js */ "./src/ast-group-title/ast-group-title.js"); const astGroupTitleControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_ast_group_title_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); }, ready: function () { 'use strict'; let device = jQuery('.wp-full-overlay-footer .devices button.active').attr('data-device'); jQuery('.customize-control-ast-group-title .ast-responsive-btns li').removeClass('active'); jQuery('.customize-control-ast-group-title .ast-responsive-btns li.' + device).addClass('active'); jQuery('.wp-full-overlay-footer .devices button').on('click', function () { let currentDevice = jQuery(this).attr('data-device'); jQuery('.customize-control-ast-group-title .ast-responsive-btns li').removeClass('active'); jQuery('.customize-control-ast-group-title .ast-responsive-btns li.' + currentDevice).addClass('active'); }); this.container.find('.ast-responsive-btns button').on('click', function (event) { let respBtnDevice = jQuery(this).attr('data-device'); if ('desktop' == respBtnDevice) { respBtnDevice = 'tablet'; } else if ('tablet' == respBtnDevice) { respBtnDevice = 'mobile'; } else { respBtnDevice = 'desktop'; } jQuery('.wp-full-overlay-footer .devices button[data-device="' + respBtnDevice + '"]').trigger('click'); }); } }); /***/ }), /***/ "./src/ast-input-with-dropdown/control.js": /*!************************************************!*\ !*** ./src/ast-input-with-dropdown/control.js ***! \************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "inputWithDropdown": function() { return /* binding */ inputWithDropdown; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _input_with_dropdown_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./input-with-dropdown-component.js */ "./src/ast-input-with-dropdown/input-with-dropdown-component.js"); const inputWithDropdown = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_input_with_dropdown_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/ast-input-with-dropdown/input-with-dropdown-component.js": /*!**********************************************************************!*\ !*** ./src/ast-input-with-dropdown/input-with-dropdown-component.js ***! \**********************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/icons */ "./node_modules/@wordpress/icons/build-module/library/plus.js"); const InputWithDropdown = props => { const [propValue, setPropValue] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useState)(props.control.setting.get()); const { label, choices } = props.control.params; const onInputChange = value => { setPropValue(value); props.control.setting.set(value); }; const onDropDownSelect = value => { setPropValue(propValue + value); props.control.setting.set(propValue + value); }; let htmlLabel = null; if (label) { htmlLabel = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, label); } let dropDownControlOptions = {}; dropDownControlOptions = Object.keys(choices).map(key => dropDownControlOptions[key] = { title: choices[key], onClick: () => onDropDownSelect(key) }); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, htmlLabel, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-input-with-dropdown-wrapper" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.TextControl, { type: "text", value: propValue, onChange: onInputChange }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.DropdownMenu, { icon: _wordpress_icons__WEBPACK_IMPORTED_MODULE_2__["default"], label: "Select Shortcodes", controls: [dropDownControlOptions] }))); }; InputWithDropdown.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(InputWithDropdown)); /***/ }), /***/ "./src/ast-menu-select/ast-menu-select.js": /*!************************************************!*\ !*** ./src/ast-menu-select/ast-menu-select.js ***! \************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); const MenuSelectComponent = props => { const [props_value, setPropsValue] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(props.control.setting.get()); const onSelectChange = value => { setPropsValue(value); props.control.setting.set(value); }; const { label, name, description } = props.control.params; let htmlLabel = null; let descriptionHtml = null; if (label) { htmlLabel = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, label); } let optionsHtml = Object.entries(AstraBuilderCustomizerData.menuLocations).map(key => { let html = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("option", { key: key[0], value: key[0] }, key[1]); return html; }); if (description) { descriptionHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "description customize-control-description" }, description); } const renderSettingOperation = () => { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-menu-setting-wrap" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { "data-name": name, className: "ast-menu-location-btn", onClick: e => { var section = wp.customize.section('menu_locations'); section.expand(); } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Dashicon, { icon: "admin-generic" }))); }; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, htmlLabel, descriptionHtml, renderSettingOperation(), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "customize-control-content" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("select", { className: "ast-select-input", "data-name": name, "data-value": props_value, value: props_value, onChange: () => { onSelectChange(event.target.value); } }, optionsHtml))); }; MenuSelectComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(MenuSelectComponent)); /***/ }), /***/ "./src/ast-menu-select/control.js": /*!****************************************!*\ !*** ./src/ast-menu-select/control.js ***! \****************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "astMenuSelect": function() { return /* binding */ astMenuSelect; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _ast_menu_select_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ast-menu-select.js */ "./src/ast-menu-select/ast-menu-select.js"); const astMenuSelect = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_ast_menu_select_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/ast-toggle/form-toggle.js": /*!***************************************!*\ !*** ./src/ast-toggle/form-toggle.js ***! \***************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js"); /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ "lodash"); /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__); /** * External dependencies */ function FormToggle(_ref) { let { className, checked, id, disabled, onChange = lodash__WEBPACK_IMPORTED_MODULE_3__.noop, ...props } = _ref; const wrapperClasses = classnames__WEBPACK_IMPORTED_MODULE_2___default()('components-form-toggle ast-form-toggle', className, { 'is-checked': checked, 'is-disabled': disabled }); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: wrapperClasses }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("input", (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ className: "components-form-toggle__input ast-switch", id: id, type: "checkbox", checked: checked, onChange: onChange, disabled: disabled }, props)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("label", { htmlFor: "unchecked", className: "ast-label" })); } /* harmony default export */ __webpack_exports__["default"] = (FormToggle); /***/ }), /***/ "./src/ast-toggle/toggle-control.js": /*!******************************************!*\ !*** ./src/ast-toggle/toggle-control.js ***! \******************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": function() { return /* binding */ ToggleControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash */ "lodash"); /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js"); /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/compose */ "@wordpress/compose"); /* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _form_toggle__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./form-toggle */ "./src/ast-toggle/form-toggle.js"); /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const { BaseControl } = wp.components; function ToggleControl(_ref) { let { label, checked, help, className, onChange, disabled } = _ref; function onChangeToggle(event) { onChange(event.target.checked); } const instanceId = (0,_wordpress_compose__WEBPACK_IMPORTED_MODULE_3__.useInstanceId)(ToggleControl); const id = `inspector-toggle-control-${instanceId}`; let describedBy, helpLabel; if (help) { describedBy = id + '__help'; helpLabel = (0,lodash__WEBPACK_IMPORTED_MODULE_1__.isFunction)(help) ? help(checked) : help; } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(BaseControl, { id: id, help: helpLabel, className: classnames__WEBPACK_IMPORTED_MODULE_2___default()('components-toggle-control', className) }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_form_toggle__WEBPACK_IMPORTED_MODULE_4__["default"], { id: id, checked: checked, onChange: onChangeToggle, "aria-describedby": describedBy, disabled: disabled }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", { htmlFor: id, className: "components-toggle-control__label" }, label)); } /***/ }), /***/ "./src/background/background.js": /*!**************************************!*\ !*** ./src/background/background.js ***! \**************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _common_astra_color_picker_control__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/astra-color-picker-control */ "./src/common/astra-color-picker-control.js"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__); const Background = props => { const [props_value, setPropsValue] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(props.control.setting.get()); const updateBackgroundType = () => { let obj = { ...props_value }; if (props_value['background-type']) { if (props_value['background-color']) { obj['background-type'] = 'color'; props.control.setting.set(obj); setPropsValue(obj); if (props_value['background-color'].includes('gradient')) { obj['background-type'] = 'gradient'; props.control.setting.set(obj); setPropsValue(obj); } } if (props_value['background-image']) { obj['background-type'] = 'image'; props.control.setting.set(obj); setPropsValue(obj); } } }; const renderReset = () => { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-color-btn-reset-wrap" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { className: "ast-reset-btn components-button components-circular-option-picker__clear is-secondary is-small", disabled: JSON.stringify(props_value) === JSON.stringify(props.control.params.default), onClick: e => { e.preventDefault(); let value = JSON.parse(JSON.stringify(props.control.params.default)); if (undefined !== value && '' !== value) { if (undefined === value['background-color'] || '' === value['background-color']) { value['background-color'] = ''; } if (undefined === value['background-image'] || '' === value['background-image']) { value['background-image'] = ''; } if (undefined === value['background-media'] || '' === value['background-media']) { value['background-media'] = ''; } } props.control.setting.set(value); setPropsValue(value); // refs.ChildAstraColorPickerControl.onResetRefresh(); } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Dashicon, { icon: "image-rotate" })))); }; const onSelectImage = (media, backgroundType) => { let obj = { ...props_value }; obj['background-media'] = media.id; obj['background-image'] = media.url; obj['background-type'] = backgroundType; props.control.setting.set(obj); setPropsValue(obj); }; const onChangeImageOptions = (mainKey, value, backgroundType) => { let obj = { ...props_value }; obj[mainKey] = value; obj['background-type'] = backgroundType; props.control.setting.set(obj); setPropsValue(obj); }; const renderSettings = () => { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_common_astra_color_picker_control__WEBPACK_IMPORTED_MODULE_3__["default"], { color: undefined !== props_value['background-color'] && props_value['background-color'] ? props_value['background-color'] : '', onChangeComplete: (color, backgroundType) => handleChangeComplete(color, backgroundType), media: undefined !== props_value['background-media'] && props_value['background-media'] ? props_value['background-media'] : '', backgroundImage: undefined !== props_value['background-image'] && props_value['background-image'] ? props_value['background-image'] : '', backgroundAttachment: undefined !== props_value['background-attachment'] && props_value['background-attachment'] ? props_value['background-attachment'] : '', backgroundPosition: undefined !== props_value['background-position'] && props_value['background-position'] ? props_value['background-position'] : '', backgroundRepeat: undefined !== props_value['background-repeat'] && props_value['background-repeat'] ? props_value['background-repeat'] : '', backgroundSize: undefined !== props_value['background-size'] && props_value['background-size'] ? props_value['background-size'] : '', onSelectImage: (media, backgroundType) => onSelectImage(media, backgroundType), onChangeImageOptions: (mainKey, value, backgroundType) => onChangeImageOptions(mainKey, value, backgroundType), backgroundType: undefined !== props_value['background-type'] && props_value['background-type'] ? props_value['background-type'] : 'color', allowGradient: true, allowImage: true })); }; const handleChangeComplete = (color, backgroundType) => { let value = ''; if (color) { if (typeof color === 'string' || color instanceof String) { value = color; } else if (undefined !== color.rgb && undefined !== color.rgb.a && 1 !== color.rgb.a) { value = `rgba(${color.rgb.r},${color.rgb.g},${color.rgb.b},${color.rgb.a})`; } else { value = color.hex; } } let obj = { ...props_value }; obj['background-color'] = value; obj['background-type'] = backgroundType; props.control.setting.set(obj); setPropsValue(obj); }; const { label, description } = props.control.params; let labelHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, label ? label : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Background', 'astra')); let descriptionHtml = description ? (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "description customize-control-description" }, description) : null; let inputHtml = null; inputHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "background-wrapper" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "background-container" }, renderReset(), renderSettings())); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", null, labelHtml, descriptionHtml), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "customize-control-content" }, inputHtml)); }; Background.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(Background)); /***/ }), /***/ "./src/background/control.js": /*!***********************************!*\ !*** ./src/background/control.js ***! \***********************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "backgroundControl": function() { return /* binding */ backgroundControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _background_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./background.js */ "./src/background/background.js"); const backgroundControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_background_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); }, ready: function () { 'use strict'; jQuery('html').addClass('background-colorpicker-ready'); let control = this; jQuery(document).mouseup(function (e) { var container = jQuery(control.container); var bgWrap = container.find('.background-wrapper'); var resetBtnWrap = container.find('.ast-color-btn-reset-wrap'); // If the target of the click isn't the container nor a descendant of the container. if (!bgWrap.is(e.target) && !resetBtnWrap.is(e.target) && bgWrap.has(e.target).length === 0 && resetBtnWrap.has(e.target).length === 0) { container.find('.components-button.astra-color-icon-indicate.open').click(); } }); } }); /***/ }), /***/ "./src/border/border-component.js": /*!****************************************!*\ !*** ./src/border/border-component.js ***! \****************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var html_react_parser__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! html-react-parser */ "./node_modules/html-react-parser/index.mjs"); /* harmony import */ var _assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../assets/svg/svgs.json */ "../../../assets/svg/svgs.json"); const BorderComponent = props => { const [props_value, setPropsValue] = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(props.control.setting.get()); (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)(() => { let value = props.control.setting.get(); setPropsValue(value); }, [props]); const linkRemoteUpdate = () => { document.addEventListener('AstRemoteUpdateState', function (e) { if (e.detail === 'btn-preset') { let value = props.control.setting.get(); setPropsValue(value); } }); }; linkRemoteUpdate(); const onBorderChange = key => { const { choices } = props.control.params; let updateState = { ...props_value }; if (!event.target.classList.contains('connected')) { updateState[key] = event.target.value; } else { for (let choiceID in choices) { updateState[choiceID] = event.target.value; } } props.control.setting.set(updateState); setPropsValue(updateState); }; const onConnectedClick = () => { let parent = event.target.parentElement.parentElement; let inputs = parent.querySelectorAll('.ast-border-input'); for (let i = 0; i < inputs.length; i++) { inputs[i].classList.remove('connected'); inputs[i].setAttribute('data-element-connect', ''); } event.target.parentElement.classList.remove('disconnected'); }; const onDisconnectedClick = () => { let elements = event.target.dataset.elementConnect; let parent = event.target.parentElement.parentElement; let inputs = parent.querySelectorAll('.ast-border-input'); for (let i = 0; i < inputs.length; i++) { inputs[i].classList.add('connected'); inputs[i].setAttribute('data-element-connect', elements); } event.target.parentElement.classList.add('disconnected'); }; const { label, description, linked_choices, id, choices, inputAttrs, name, suffix } = props.control.params; let htmlLabel = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "customize-control-title" }, label ? label : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Background', 'astra')); let htmlDescription = description ? (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "description customize-control-description" }, description) : null; let htmlLinkedChoices = null; let htmlChoices = null; let suffixHtml = null; let itemLinkDesc = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Link Values Together', 'astra'); if (suffix) { suffixHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "ast-range-unit" }, suffix); } if (linked_choices) { const linkActive = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_4__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_5__["hyper-link-enable"]); const linkDeactivated = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_4__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_5__["hyper-link-disable"]); htmlLinkedChoices = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("li", { key: id, className: "ast-border-input-item-link disconnected" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "ast-border-connected wp-ui-highlight", onClick: () => { onConnectedClick(); }, "data-element-connect": id, title: itemLinkDesc }, linkActive), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "ast-border-disconnected", onClick: () => { onDisconnectedClick(); }, "data-element-connect": id, title: itemLinkDesc }, linkDeactivated)); } htmlChoices = Object.keys(choices).map(choiceID => { if (choices[choiceID]) { var html = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("li", (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, inputAttrs, { key: choiceID, className: "ast-border-input-item" }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("input", { type: "number", className: "ast-border-input ast-border-desktop connected", "data-id": choiceID, "data-name": name, onChange: () => onBorderChange(choiceID), value: props_value[choiceID], "data-element-connect": id }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "ast-border-title" }, choices[choiceID])); } return html; }); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, htmlLabel, htmlDescription, suffixHtml, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("div", { className: "ast-border-outer-wrapper" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("div", { className: "input-wrapper ast-border-wrapper" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("ul", { className: "ast-border-wrapper desktop active" }, htmlChoices, htmlLinkedChoices)))); }; BorderComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(BorderComponent)); /***/ }), /***/ "./src/border/control.js": /*!*******************************!*\ !*** ./src/border/control.js ***! \*******************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "borderControl": function() { return /* binding */ borderControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _border_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./border-component.js */ "./src/border/border-component.js"); const borderControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_border_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/box-shadow/box-shadow-component.js": /*!************************************************!*\ !*** ./src/box-shadow/box-shadow-component.js ***! \************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__); const { SelectControl } = wp.components; const BoxShadowComponent = props => { let prop_value = props.control.setting.get(); const [state, setState] = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(prop_value); (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)(() => { // If settings are changed externally. setState(prevState => ({ ...prevState, value: props.control.setting.get() })); }, [props]); const onBoxShadowChange = choiceID => { let updateState = { ...state }; updateState[choiceID] = event.target.value; props.control.setting.set(updateState); setState(updateState); }; const renderInputHtml = () => { const { id, choices, inputAttrs, name } = props.control.params; let htmlChoices = null; if (choices) { htmlChoices = Object.keys(choices).map(choiceID => { if (choices[choiceID]) { let html = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("li", (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ key: choiceID }, inputAttrs, { className: "ast-box-shadow-input-item" }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("input", { type: "number", className: `ast-box-shadow-input ast-box-shadow-desktop`, "data-id": choiceID, "data-name": name, value: state[choiceID], onChange: () => onBoxShadowChange(choiceID), "data-element-connect": id }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "ast-box-shadow-title" }, choices[choiceID])); return html; } }); } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("ul", { className: "ast-box-shadow-wrapper desktop active" }, htmlChoices); }; const { label, description } = props.control.params; let htmlLabel = null; let htmlDescription = null; let inputHtml = null; if (label) { htmlLabel = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", null, label); } if (description) { htmlDescription = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "description customize-control-description" }, description); } inputHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, renderInputHtml()); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("label", { key: 'ast-box-shadow', className: "ast-box-shadow", htmlFor: "ast-box-shadow" }, htmlLabel, htmlDescription, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("div", { className: "ast-box-shadow-outer-wrapper" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("div", { className: "input-wrapper ast-box-shadow-wrapper" }, inputHtml))); }; BoxShadowComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (BoxShadowComponent); /***/ }), /***/ "./src/box-shadow/control.js": /*!***********************************!*\ !*** ./src/box-shadow/control.js ***! \***********************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "boxShadowControl": function() { return /* binding */ boxShadowControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _box_shadow_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./box-shadow-component.js */ "./src/box-shadow/box-shadow-component.js"); const boxShadowControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_box_shadow_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/builder-layout/add-component.js": /*!*********************************************!*\ !*** ./src/builder-layout/add-component.js ***! \*********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js"); /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__); const { ButtonGroup, Dashicon, Popover, Button } = wp.components; const { Fragment } = wp.element; const AddComponent = props => { const [state, setState] = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)({ isVisible: false }); const addItem = (item, row, column) => { const { setList, list } = props; setState(prevState => ({ ...prevState, isVisible: false })); let updateItems = list; updateItems.push({ id: item }); setList(updateItems); }; const { controlParams, location, choices, row, column, id } = props; const renderItems = (item, row, column) => { let available = true; controlParams.rows.map(zone => { Object.keys(props.settings[zone]).map(area => { if (props.settings[zone][area].includes(item)) { available = false; } }); }); let itemIncludesMenu = item.includes('menu'); if ('popup' === row && (itemIncludesMenu && 'mobile-menu' !== item || 'mobile-trigger' === item)) { available = false; } if ('popup' !== row && 'mobile-menu' === item) { available = false; } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Fragment, { key: item }, available && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Button, { isTertiary: true, className: 'builder-add-btn', onClick: () => { addItem(item, props.row, props.column); } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "add-btn-icon" }, " ", (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Dashicon, { icon: undefined !== choices[item] && undefined !== choices[item].icon ? choices[item].icon : '' }), " "), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "add-btn-title" }, undefined !== choices[item] && undefined !== choices[item].name ? choices[item].name : ''))); }; const toggleClose = () => { if (state.isVisible === true) { setState(prevState => ({ ...prevState, isVisible: false })); } }; let droppedCount = 0, droppableCount = Object.keys(choices).length; if (state.isVisible) { controlParams.rows.map(zone => { Object.keys(props.settings[zone]).map(area => { if ('astra-settings[header-desktop-items]' === controlParams.group && !astra.customizer.is_pro && 'popup' === zone) { /* * Reducing Dropped & Droppable component count here because it fails in following case: * When "Toggle for Desktop" option introduced in Astra, this component comes from addon but offcanvas panel comes from theme & already 'mobile-menu' component present in this panel. * That's why the count fails here by 1. */ droppedCount = droppedCount - props.settings[zone][area].length; droppableCount = droppableCount - props.settings[zone][area].length; } else { droppedCount = droppedCount + props.settings[zone][area].length; } }); }); } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: classnames__WEBPACK_IMPORTED_MODULE_1___default()('ahfb-builder-add-item', ('astra-settings[header-desktop-items]' === controlParams.group || 'astra-settings[footer-desktop-items]' === controlParams.group) && 'right' === location ? 'center-on-left' : null, ('astra-settings[header-desktop-items]' === controlParams.group || 'astra-settings[footer-desktop-items]' === controlParams.group) && 'left' === location ? 'center-on-right' : null, ('astra-settings[header-desktop-items]' === controlParams.group || 'astra-settings[footer-desktop-items]' === controlParams.group) && 'left_center' === location ? 'right-center-on-right' : null, ('astra-settings[header-desktop-items]' === controlParams.group || 'astra-settings[footer-desktop-items]' === controlParams.group) && 'right_center' === location ? 'left-center-on-left' : null), key: id }, state.isVisible && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Popover, { position: "top", className: "ahfb-popover-add-builder", onClose: toggleClose }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-popover-builder-list" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(ButtonGroup, { className: "ahfb-radio-container-control" }, Object.keys(choices).sort().map(item => { return renderItems(item, row, column); }), droppableCount === droppedCount && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("p", { className: "ahfb-all-coponents-used" }, " ", (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Hurray! All Components Are Being Used.', 'astra'), " ")))), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Button, { className: "ahfb-builder-item-add-icon dashicon dashicons-plus-alt2", onClick: () => { setState(prevState => ({ ...prevState, isVisible: true })); } })); }; /* harmony default export */ __webpack_exports__["default"] = (AddComponent); /***/ }), /***/ "./src/builder-layout/builder-component.js": /*!*************************************************!*\ !*** ./src/builder-layout/builder-component.js ***! \*************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _row_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./row-component */ "./src/builder-layout/row-component.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); const BuilderComponent = props => { let value = props.control.setting.get(); let staleValue = {}; let baseDefault = {}; let defaultValue = props.control.params.default ? { ...baseDefault, ...props.control.params.default } : baseDefault; value = value ? { ...defaultValue, ...value } : defaultValue; let defaultParams = {}; let controlParams = props.control.params.input_attrs ? { ...defaultParams, ...props.control.params.input_attrs } : defaultParams; let choices = AstraBuilderCustomizerData && AstraBuilderCustomizerData.choices && AstraBuilderCustomizerData.choices[controlParams.group] ? AstraBuilderCustomizerData.choices[controlParams.group] : []; const component_track = props.customizer.control('astra-settings[cloned-component-track]').setting; const prevItems = []; prevItems['revertDrag'] = false; const [state, setState] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)({ value: value, layout: controlParams.layouts, isPopup: false, prevItems: prevItems }); let contFlag = false; if (props.control.container) { contFlag = props.control.container[0].getAttribute('isPopup'); } if ("astra-settings[header-desktop-items]" === controlParams.group || "astra-settings[header-mobile-items]" === controlParams.group) { staleValue = JSON.parse(JSON.stringify(state.value)); } const updateValues = function (value) { let row = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; let setting = props.control.setting; // If popup updated, partial refresh contents. if ('popup' === row) { let popup_control = props.customizer('astra-settings[header-mobile-popup-items]'); popup_control.set(!popup_control.get()); } setting.set({ ...setting.get(), ...value, flag: !setting.get().flag }); }; const updateRowLayout = () => { document.addEventListener('AstraBuilderChangeRowLayout', function (e) { if ("astra-settings[footer-desktop-items]" !== controlParams.group) { return; } if ('' === e.detail.type) { return; } let newParams = controlParams; if (newParams.layouts[e.detail.type]) { newParams.layouts[e.detail.type] = { 'column': e.detail.columns, 'layout': e.detail.layout }; setState(prevState => ({ ...prevState, layout: newParams.layouts })); updateValues(newParams); } }); }; const updatePresetSettings = () => { document.addEventListener('AstraBuilderPresetSettingsUpdate', function (event) { // Load Only Context Area. if (controlParams.group === event.detail.id) { setState(prevState => ({ ...prevState, value: event.detail.grid_layout })); updateValues(event.detail.grid_layout); } }); }; (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(() => { updatePresetSettings(); updateRowLayout(); }, []); const onDragStart = () => { let dropzones = document.querySelectorAll('.ahfb-builder-area'); for (let i = 0; i < dropzones.length; ++i) { dropzones[i].classList.add('ahfb-dragging-dropzones'); } }; const onDragStop = () => { if (state.prevItems.revertDrag) { let row = state.prevItems.row; let zone = state.prevItems.zone; let restrictRow = state.prevItems.restrictRow; let restrictZone = state.prevItems.restrictZone; let updateState = state.value; let update = updateState[row]; let updateItems = state.prevItems.staleValue[row][zone]; let popupRemoveUpdate = updateState[restrictRow]; let popupRemoveUpdateItems = state.prevItems.staleValue[restrictRow][restrictZone]; update[zone] = updateItems; popupRemoveUpdate[restrictZone] = popupRemoveUpdateItems; updateState[row][zone] = updateItems; updateState[restrictRow][restrictZone] = popupRemoveUpdateItems; setPopupFlag(true); setState(prevState => ({ ...prevState, value: updateState })); updateValues(updateState, row); let prevItems = []; prevItems['revertDrag'] = false; setState(prevState => ({ ...prevState, prevItems: prevItems })); } let dropzones = document.querySelectorAll('.ahfb-builder-area'); for (let i = 0; i < dropzones.length; ++i) { dropzones[i].classList.remove('ahfb-dragging-dropzones'); } }; const isCloneEnabled = () => { if (!astra.customizer.is_pro) { return; } let component_count = component_track.get(); AstraBuilderCustomizerData.component_limit = parseInt(AstraBuilderCustomizerData.component_limit); const customizerBuilderchoices = AstraBuilderCustomizerData && AstraBuilderCustomizerData.choices && AstraBuilderCustomizerData.choices[controlParams.group] ? AstraBuilderCustomizerData.choices[controlParams.group] : []; Object.keys(customizerBuilderchoices).forEach(function (choice) { let builderDataChoice = customizerBuilderchoices[choice]; if (builderDataChoice.hasOwnProperty('builder') && builderDataChoice.hasOwnProperty('type')) { let isToClone = builderDataChoice.hasOwnProperty('clone') ? builderDataChoice['clone'] : true; let isToDelete = builderDataChoice.hasOwnProperty('delete') ? builderDataChoice['delete'] : true; let builderComponentType = builderDataChoice['builder'] + '-' + builderDataChoice['type']; if (component_count[builderComponentType] < AstraBuilderCustomizerData.component_limit) { isToClone = true; } else { let componentSection = builderDataChoice.section.replace(/[0-9]+/g, ''); // Replace random numeric with empty string. let isCloned = component_count['removed-items'].findIndex(item => { return item.startsWith(componentSection); }); isToClone = isCloned !== -1; } builderDataChoice['clone'] = isToClone; switch (component_count[builderComponentType]) { case 1: isToDelete = false; break; case 2: isToDelete = component_count['removed-items'].indexOf(builderDataChoice.section.replace(/[0-9]+/g, 1)) != -1 ? false : true; break; } builderDataChoice['delete'] = isToDelete; } }); }; const prepareElement = function (cloneData, cloneIndex) { switch (cloneData.type) { case 'menu': switch (cloneIndex) { case 1: cloneData.name = 'Primary Menu'; break; case 2: cloneData.name = 'Secondary Menu'; break; default: cloneData.name = cloneData.type.slice(0, 1).toUpperCase() + cloneData.type.substring(1) + " " + cloneIndex; break; } break; default: let name = cloneData.name.replace(/[0-9]+/g, ''); // Replace random numeric with empty string. cloneData.name = name + ' ' + cloneIndex; break; } cloneData.section = cloneData.section.replace(/[0-9]+/g, cloneIndex); // Replace random numeric with valid clone index. return cloneData; }; const cloneItem = (item, row, zone) => { // Skip clone if already is in progress. if (sessionStorage.getItem('astra-builder-clone-in-progress')) { return; } let component_count = component_track.get(), cloneData = Object.assign({}, choices[item]), cloneSection = cloneData.section.replace(/[0-9]+/g, ''), // Remove random numeric with empty string. cloneIndex, removedBuilderItems = component_count['removed-items'], cloneSection_index = removedBuilderItems.findIndex(element => element.includes(cloneSection)), componentType = cloneData.builder + '-' + cloneData.type; let updated_count = {}; if (cloneSection_index != -1) { cloneSection = removedBuilderItems[cloneSection_index]; cloneIndex = parseInt(cloneSection.match(/\d+$/)[0]); removedBuilderItems.splice(cloneSection_index, 1); updated_count['removed-items'] = removedBuilderItems; } else { cloneIndex = component_count[componentType] + 1; cloneSection = cloneData.section.replace(/[0-9]+/g, cloneIndex); // Replace random numeric with valid clone index. updated_count[componentType] = cloneIndex; } // Return if limit exceeds. if (parseInt(cloneIndex) > parseInt(AstraBuilderCustomizerData.component_limit)) { return; } let cloneTypeId = cloneData.type + '-' + cloneIndex; cloneData = prepareElement(cloneData, cloneIndex); AstraBuilderCustomizerData.choices[controlParams.group][cloneTypeId] = cloneData; sessionStorage.setItem('astra-builder-clone-in-progress', true); var event = new CustomEvent('AstraBuilderCloneSectionControls', { 'detail': { 'clone_to_section': cloneSection, 'clone_from_section': choices[item]['section'] } }); document.dispatchEvent(event); component_track.set({ ...component_count, ...updated_count, flag: !component_count.flag }); let updateState = state.value; let update = updateState[row]; let items = update[zone]; items.push(cloneTypeId); let updateItems = []; items.forEach(function (item) { updateItems.push({ id: item }); }); setState(prevState => ({ ...prevState, value: updateState })); updateValues(updateState, row); }; const removeItem = (item, row, zone) => { let updateState = state.value; let update = updateState[row]; let updateItems = []; { update[zone].length > 0 && update[zone].map(old => { if (item !== old) { updateItems.push(old); } }); } if ('astra-settings[header-desktop-items]' === controlParams.group && row + '_center' === zone && updateItems.length === 0) { if (update[row + '_left_center'].length > 0) { update[row + '_left_center'].map(move => { updateState[row][row + '_left'].push(move); }); updateState[row][row + '_left_center'] = []; } if (update[row + '_right_center'].length > 0) { update[row + '_right_center'].map(move => { updateState[row][row + '_right'].push(move); }); updateState[row][row + '_right_center'] = []; } } update[zone] = updateItems; updateState[row][zone] = updateItems; setPopupFlag(true); setState(prevState => ({ ...prevState, value: updateState })); updateValues(updateState, row); let event = new CustomEvent('AstraBuilderRemovedBuilderItem', { 'detail': controlParams.group }); document.dispatchEvent(event); }; const setPreviousItems = (item, restrictRow, restrictZone) => { let prevItems = []; prevItems['restrictRow'] = restrictRow; prevItems['restrictZone'] = restrictZone; for (const [rowKey, value] of Object.entries(staleValue)) { for (const [zoneKey, zoneValue] of Object.entries(value)) { for (let zoneItem of zoneValue) { if (zoneItem === item.id) { prevItems['row'] = rowKey; prevItems['zone'] = zoneKey; prevItems['revertDrag'] = true; prevItems['staleValue'] = staleValue; } } } } return prevItems; }; const onDragEnd = (row, zone, items) => { let updateState = state.value; let update = updateState[row]; let updateItems = []; let itemIncludesMenu = false; let prevItems = []; { items.length > 0 && items.map(item => { itemIncludesMenu = item.id.includes('menu'); if ('popup' === row && ("astra-settings[header-desktop-items]" === controlParams.group && itemIncludesMenu && 'mobile-menu' !== item.id || 'mobile-trigger' === item.id) || 'popup' !== row && 'mobile-menu' === item.id) { prevItems = setPreviousItems(item, row, zone); setState(prevState => ({ ...prevState, prevItems: prevItems })); } updateItems.push(item.id); }); } ; if (!arraysEqual(update[zone], updateItems)) { if ('astra-settings[header-desktop-items]' === controlParams.group && row + '_center' === zone && updateItems.length === 0) { if (update[row + '_left_center'].length > 0) { update[row + '_left_center'].map(move => { updateState[row][row + '_left'].push(move); }); updateState[row][row + '_left_center'] = []; } if (update[row + '_right_center'].length > 0) { update[row + '_right_center'].map(move => { updateState[row][row + '_right'].push(move); }); updateState[row][row + '_right_center'] = []; } } update[zone] = updateItems; updateState[row][zone] = updateItems; setPopupFlag(true); setState(prevState => ({ ...prevState, value: updateState })); updateValues(updateState, row); } }; const onAddItem = (row, zone, items) => { onDragEnd(row, zone, items); let event = new CustomEvent('AstraBuilderRemovedBuilderItem', { 'detail': controlParams.group }); document.dispatchEvent(event); }; const arraysEqual = (a, b) => { if (a === b) return true; if (a == null || b == null) return false; if (a.length != b.length) return false; for (let i = 0; i < a.length; ++i) { if (a[i] !== b[i]) return false; } return true; }; const focusPanel = item => { item = 'section-' + item + '-builder'; if (undefined !== props.customizer.section(item)) { props.customizer.section(item).focus(); } }; const focusItem = item => { if (undefined !== props.customizer.section(item)) { props.customizer.section(item).focus(); } }; const setPopupFlag = refresh => { let is_popup_flag = false; if ('astra-settings[header-desktop-items]' === props.control.id) { controlParams.rows.map(row => { var rowContents = state.value[row]; for (const [key, value] of Object.entries(rowContents)) { if (value.includes('mobile-trigger')) { is_popup_flag = true; return; } } }); } if ('astra-settings[header-mobile-items]' === props.control.id) { controlParams.rows.map(row => { var rowContents = state.value[row]; for (const [key, value] of Object.entries(rowContents)) { if (value.includes('mobile-trigger')) { is_popup_flag = true; return; } } }); } if (refresh) { setState(prevState => ({ ...prevState, isPopup: is_popup_flag })); } if (props.control.container) { props.control.container[0].setAttribute('isPopup', is_popup_flag); contFlag = is_popup_flag; } }; setPopupFlag(false); isCloneEnabled(); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-control-field ahfb-builder-items" }, (true === state.isPopup || true === contFlag) && controlParams.rows.includes('popup') && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_row_component__WEBPACK_IMPORTED_MODULE_1__["default"], { showDrop: () => onDragStart(), focusPanel: item => focusPanel(item), focusItem: item => focusItem(item), removeItem: (remove, row, zone) => removeItem(remove, row, zone), cloneItem: (remove, row, zone) => cloneItem(remove, row, zone), onAddItem: (updateRow, updateZone, updateItems) => onAddItem(updateRow, updateZone, updateItems), hideDrop: () => onDragStop(), onUpdate: (updateRow, updateZone, updateItems) => onDragEnd(updateRow, updateZone, updateItems), key: 'popup', row: 'popup', controlParams: controlParams, choices: choices, items: state.value['popup'], settings: state.value, layout: state.layout }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-builder-row-items" }, controlParams.rows.map(row => { if ('popup' === row) { return; } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_row_component__WEBPACK_IMPORTED_MODULE_1__["default"], { showDrop: () => onDragStart(), focusPanel: item => focusPanel(item), focusItem: item => focusItem(item), removeItem: (remove, row, zone) => removeItem(remove, row, zone), cloneItem: (remove, row, zone) => cloneItem(remove, row, zone), hideDrop: () => onDragStop(), onUpdate: (updateRow, updateZone, updateItems) => onDragEnd(updateRow, updateZone, updateItems), onAddItem: (updateRow, updateZone, updateItems) => onAddItem(updateRow, updateZone, updateItems), key: row, row: row, controlParams: controlParams, choices: choices, customizer: props.customizer, items: state.value[row], settings: state.value, layout: state.layout }); }))); }; BuilderComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object.isRequired), customizer: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(BuilderComponent)); /***/ }), /***/ "./src/builder-layout/builder-header-control.js": /*!******************************************************!*\ !*** ./src/builder-layout/builder-header-control.js ***! \******************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "BuilderHeaderControl": function() { return /* binding */ BuilderHeaderControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-dom */ "react-dom"); /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_2__); const { __ } = wp.i18n; const toggleBuilderSection = props => { props.customizer.section.each(function (section) { if (section.expanded()) { section.collapse(); return false; // Breaks. } }); }; const BuilderHeader = props => { if ("section-footer-builder" === props.control.params.section || "section-header-builder" === props.control.params.section) { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("p", { className: "ast-customize-control-title" }, !astra.customizer.is_pro && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, __('Want more? Upgrade to ', 'astra'), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("a", { href: astra.customizer.upgrade_link, target: "_blank" }, __('Astra Pro', 'astra')), __(' for many more header and footer options along with several amazing features too!', 'astra'))), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("p", { className: "ast-customize-control-description" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: 'button button-secondary ahfb-builder-section-shortcut ' + props.control.params.section, "data-section": props.control.params.section, onClick: () => toggleBuilderSection(props) }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "dashicons dashicons-admin-generic" }, " ")), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "button button-secondary ahfb-builder-hide-button ahfb-builder-tab-toggle" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ast-builder-hide-action" }, " ", (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "dashicons dashicons-arrow-down-alt2" }), " ", __('Hide', 'astra'), " "), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ast-builder-show-action" }, " ", (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "dashicons dashicons-arrow-up-alt2" }), " ", __('Show', 'astra'), " ")))); } else { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-compontent-tabs nav-tab-wrapper wp-clearfix" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("a", { href: "#", className: "nav-tab ahfb-general-tab ahfb-compontent-tabs-button " + ('general' === props.tab ? "nav-tab-active" : ""), "data-tab": "general" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", null, 'section-header-builder-layout' === props.control.params.section || 'section-footer-builder-layout' === props.control.params.section ? __('Elements', 'astra') : __('General', 'astra'))), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("a", { href: "#", className: "nav-tab ahfb-design-tab ahfb-compontent-tabs-button " + ('design' === props.tab ? "nav-tab-active" : ""), "data-tab": "design" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", null, __('Design', 'astra'))))); } }; react__WEBPACK_IMPORTED_MODULE_1___default().memo(BuilderHeader); const BuilderHeaderControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; react_dom__WEBPACK_IMPORTED_MODULE_2___default().render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(BuilderHeader, { control: control, tab: wp.customize.state('astra-customizer-tab').get(), customizer: wp.customize }), control.container[0]); } }); /***/ }), /***/ "./src/builder-layout/control.js": /*!***************************************!*\ !*** ./src/builder-layout/control.js ***! \***************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "BuilderControl": function() { return /* binding */ BuilderControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _builder_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./builder-component.js */ "./src/builder-layout/builder-component.js"); const BuilderControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_builder_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control, customizer: wp.customize }), control.container[0]); } }); /***/ }), /***/ "./src/builder-layout/drop-component.js": /*!**********************************************!*\ !*** ./src/builder-layout/drop-component.js ***! \**********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_sortablejs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-sortablejs */ "./node_modules/react-sortablejs/dist/index.js"); /* harmony import */ var react_sortablejs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_sortablejs__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _item_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./item-component */ "./src/builder-layout/item-component.js"); /* harmony import */ var _add_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./add-component */ "./src/builder-layout/add-component.js"); const { Fragment } = wp.element; const DropComponent = props => { const location = props.zone.replace(props.row + '_', ''); let currentList = typeof props.items != "undefined" && props.items != null && props.items.length != null && props.items.length > 0 ? props.items : []; let choices = props.choices, filterChoices = Object.keys(choices), theItems = []; { const sortList = [...currentList]; currentList.length > 0 && currentList.map((item, key) => { if (filterChoices.includes(item)) { theItems.push({ id: item }); } else { sortList.splice(sortList.indexOf(item), 1); } }); currentList = sortList; } let currentCenterList = typeof props.centerItems != "undefined" && props.centerItems != null && props.centerItems.length != null && props.centerItems.length > 0 ? props.centerItems : []; let theCenterItems = []; { let sortCurrentCenterList = [...currentCenterList]; currentCenterList.length > 0 && currentCenterList.map((item, key) => { if (filterChoices.includes(item)) { theCenterItems.push({ id: item }); } else { sortCurrentCenterList.splice(sortCurrentCenterList.indexOf(item), 1); } }); currentCenterList = sortCurrentCenterList; } const sortableGroup = (items, lists, loc) => { let add_id_loc = loc.replace("_", "-"); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(react_sortablejs__WEBPACK_IMPORTED_MODULE_1__.ReactSortable, { animation: 100, onStart: () => props.showDrop(), onEnd: () => props.hideDrop(), group: props.controlParams.group, className: 'ahfb-builder-drop ahfb-builder-sortable-panel ahfb-builder-drop-' + location + loc, list: items, setList: newState => props.onUpdate(props.row, props.zone + loc, newState) }, lists.length > 0 && lists.map((item, index) => { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_item_component__WEBPACK_IMPORTED_MODULE_2__["default"], { removeItem: remove => props.removeItem(remove, props.row, props.zone + loc), cloneItem: remove => props.cloneItem(remove, props.row, props.zone + loc), focusItem: focus => props.focusItem(focus), key: item, index: index, item: item, controlParams: props.controlParams }); })), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_add_component__WEBPACK_IMPORTED_MODULE_3__["default"], { row: props.row, list: items, settings: props.settings, column: props.zone + loc, setList: newState => props.onAddItem(props.row, props.zone + loc, newState), key: location, location: location + loc, id: 'add' + add_id_loc + '-' + location, controlParams: props.controlParams, choices: props.choices })); }; if ('footer' === props.mode) { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: `ahfb-builder-area ahfb-builder-area-${location}`, "data-location": props.zone }, sortableGroup(theItems, currentList, '')); } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: `ahfb-builder-area ahfb-builder-area-${location}`, "data-location": props.zone }, 'astra-settings[header-desktop-items]' === props.controlParams.group && 'right' === location && sortableGroup(theCenterItems, currentCenterList, '_center'), sortableGroup(theItems, currentList, ''), 'astra-settings[header-desktop-items]' === props.controlParams.group && 'left' === location && sortableGroup(theCenterItems, currentCenterList, '_center')); }; /* harmony default export */ __webpack_exports__["default"] = (DropComponent); /***/ }), /***/ "./src/builder-layout/item-component.js": /*!**********************************************!*\ !*** ./src/builder-layout/item-component.js ***! \**********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); const { Dashicon, Button } = wp.components; const { __ } = wp.i18n; const ItemComponent = props => { let choices = AstraBuilderCustomizerData && AstraBuilderCustomizerData.choices && AstraBuilderCustomizerData.choices[props.controlParams.group] ? AstraBuilderCustomizerData.choices[props.controlParams.group] : []; const deleteItem = props => { sessionStorage.setItem('astra-builder-eradicate-in-progress', true); var event = new CustomEvent('AstraBuilderDeleteSectionControls', { 'detail': choices[props.item] }); document.dispatchEvent(event); let forceRemoveSection = choices[props.item]; delete choices[props.item]; const componentTrack = wp.customize('astra-settings[cloned-component-track]').get(); let removingIndex = parseInt(forceRemoveSection.section.match(/\d+$/)[0]); let existingComponentCount = componentTrack[forceRemoveSection.builder + '-' + forceRemoveSection.type]; let finalArray = componentTrack['removed-items']; // In removing last element. if (removingIndex != parseInt(AstraBuilderCustomizerData.component_limit)) { finalArray.push(forceRemoveSection.section); } finalArray = finalArray.filter(function (el, index, arr) { return index == arr.indexOf(el); }); // If removing last item. if (existingComponentCount == removingIndex) { while (true) { existingComponentCount = existingComponentCount - 1; componentTrack[forceRemoveSection.builder + '-' + forceRemoveSection.type] = existingComponentCount; var index = finalArray.indexOf(forceRemoveSection.section.replace(/[0-9]+/g, existingComponentCount)); // Replace random numeric with valid builder component count. if (index !== -1) { finalArray.splice(index, 1); } else { var index = finalArray.indexOf(forceRemoveSection.section.replace(/[0-9]+/g, removingIndex)); // Replace random numeric with removing component index. if (index !== -1) { finalArray.splice(index, 1); } break; } } } wp.customize('astra-settings[cloned-component-track]').set({ ...componentTrack, 'removed-items': finalArray, flag: !componentTrack.flag }); }; const hasAdvancedControls = undefined !== choices[props.item]['delete'] && choices[props.item]['delete'] ? 'item-has-controls' : ' '; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: `ahfb-builder-item ${hasAdvancedControls} `, "data-id": props.item, "data-section": undefined !== choices[props.item] && undefined !== choices[props.item].section ? choices[props.item].section : '', key: props.item, onClick: () => { props.focusItem(undefined !== choices[props.item] && undefined !== choices[props.item].section ? choices[props.item].section : ''); } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ahfb-builder-item-text" }, undefined !== choices[props.item] && undefined !== choices[props.item].name ? choices[props.item].name : ''), astra.customizer.is_pro && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-slide-up" }, choices[props.item]['clone'] && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { "data-tooltip": __('Clone element', 'astra'), onClick: e => { e.stopPropagation(); // Skip clone if already is in progress. if (sessionStorage.getItem('astra-builder-clone-in-progress')) { return; } props.cloneItem(props.item); }, className: "dashicons dashicons-admin-page" }), choices[props.item]['delete'] && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { "data-tooltip": __('Delete element from customizer', 'astra'), onClick: e => { // Skip Delete if already is in progress. if (sessionStorage.getItem('astra-builder-eradicate-in-progress')) { return; } e.stopPropagation(); deleteItem(props); props.removeItem(props.item); }, className: "dashicons dashicons-trash" })), astra.customizer.is_block_widget && props.item.includes('widget') && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Button, { className: "ahfb-builder-item-icon ahfb-setting-icon", onClick: e => { e.stopPropagation(); props.focusItem(undefined !== choices[props.item] && undefined !== choices[props.item].section ? choices[props.item].section : ''); } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Dashicon, { "data-tooltip": __('General', 'astra'), icon: "dashicon dashicons dashicons-admin-generic" })), astra.customizer.is_block_widget && props.item.includes('widget') && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Button, { className: "ahfb-builder-item-icon ahfb-setting-icon", onClick: e => { e.stopPropagation(); props.focusItem(undefined !== choices[props.item] && undefined !== choices[props.item].section ? 'astra-' + choices[props.item].section : ''); } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Dashicon, { "data-tooltip": __('Design', 'astra'), icon: "dashicon dashicons dashicons-admin-settings" })), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Button, { className: "ahfb-builder-item-icon", onClick: e => { e.stopPropagation(); props.removeItem(props.item); } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Dashicon, { "data-tooltip": __('Remove element from grid', 'astra'), icon: "no-alt" }))); }; /* harmony default export */ __webpack_exports__["default"] = (ItemComponent); /***/ }), /***/ "./src/builder-layout/row-component.js": /*!*********************************************!*\ !*** ./src/builder-layout/row-component.js ***! \*********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _drop_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./drop-component */ "./src/builder-layout/drop-component.js"); const { __ } = wp.i18n; const { Dashicon, Button } = wp.components; const RowComponent = props => { let centerClass = 'no-center-items'; let mode = props.controlParams.group.indexOf('header') !== -1 ? 'header' : 'footer'; let besideItems = []; let layout = ''; let zone_count = 0; let enableRow = true; if ('footer' === mode) { layout = `ast-grid-row-layout-${props.layout[props.row].layout.desktop}`; zone_count = props.layout[props.row].column - 1; Object.keys(props.controlParams.zones[props.row]).map((zone, index) => { if (zone_count < index) { props.items[zone] = []; } }); } if ('popup' !== props.row && 'astra-settings[header-desktop-items]' === props.controlParams.group && typeof props.items[props.row + '_center'] != "undefined" && props.items[props.row + '_center'] != null && props.items[props.row + '_center'].length != null && props.items[props.row + '_center'].length > 0) { centerClass = 'has-center-items'; } if ('popup' === props.row) { centerClass = 'popup-vertical-group'; } if (props.controlParams.hasOwnProperty('status')) { switch (props.row) { case 'above': if (!props.controlParams.status.above) { enableRow = false; } break; case 'primary': if (!props.controlParams.status.primary) { enableRow = false; } break; case 'below': if (!props.controlParams.status.below) { enableRow = false; } break; } } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: `ahfb-builder-areas ahfb-builder-mode-${mode} ${centerClass}`, "data-row": props.row, "data-row-section": 'section-' + props.row + '-' + mode + '-builder' }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Button, { className: "ahfb-row-actions", title: props.row === 'popup' ? __('Off Canvas', 'astra') : (props.row + ' ' + mode).charAt(0).toUpperCase() + (props.row + ' ' + mode).slice(1).toLowerCase(), onClick: () => props.focusPanel(props.row + '-' + mode) }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Dashicon, { icon: "admin-generic" }), props.row === 'popup' && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, __('Off Canvas', 'astra'))), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: `ahfb-builder-group ahfb-builder-group-horizontal ${layout}`, "data-setting": props.row }, Object.keys(props.controlParams.zones[props.row]).map((zone, index) => { if ('footer' === mode && zone_count < index) { return; } if ((props.row + '_left_center' === zone || props.row + '_right_center' === zone) && 'footer' !== mode) { return; } if ('popup' !== props.row && 'astra-settings[header-desktop-items]' === props.controlParams.group && props.row + '_left' === zone && 'footer' !== mode) { besideItems = props.items[props.row + '_left_center']; } if ('popup' !== props.row && 'astra-settings[header-desktop-items]' === props.controlParams.group && props.row + '_right' === zone && 'footer' !== mode) { besideItems = props.items[props.row + '_right_center']; } return enableRow && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_drop_component__WEBPACK_IMPORTED_MODULE_1__["default"], { removeItem: (remove, removeRow, removeZone) => props.removeItem(remove, removeRow, removeZone), cloneItem: (remove, removeRow, removeZone) => props.cloneItem(remove, removeRow, removeZone), focusItem: focus => props.focusItem(focus), hideDrop: () => props.hideDrop(), showDrop: () => props.showDrop(), onUpdate: (updateRow, updateZone, updateItems) => props.onUpdate(updateRow, updateZone, updateItems), zone: zone, row: props.row, choices: props.choices, key: zone, items: props.items[zone], centerItems: besideItems, controlParams: props.controlParams, onAddItem: (updateRow, updateZone, updateItems) => props.onAddItem(updateRow, updateZone, updateItems), settings: props.settings, mode: mode }); }))); }; /* harmony default export */ __webpack_exports__["default"] = (RowComponent); /***/ }), /***/ "./src/button-presets/button-presets-component.js": /*!********************************************************!*\ !*** ./src/button-presets/button-presets-component.js ***! \********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__); const ButtonPresetsComponent = props => { const { title, options } = props.control.params; const defaultValue = props.control.params.default; const value = props.control.setting.get(); const option = props.control.params.name; const [state, setState] = value ? (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(value) : (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(defaultValue); const onChangePreset = presetKey => { const borderRadius = options[presetKey]['border-radius']; const btnBackgroundColor = options[presetKey]['button-bg-color']; const borderWidth = options[presetKey]['border-size']; const padding = options[presetKey]['button-padding']; // Padding props.customizer.control('astra-settings[theme-button-padding]').setting.set(padding); props.customizer.control('astra-settings[theme-button-padding]').renderContent(); // Border Radius. props.customizer.control('astra-settings[button-radius]').setting.set(borderRadius); // Border size. props.customizer.control('astra-settings[theme-button-border-group-border-size]').setting.set(borderWidth); setState(presetKey); props.control.setting.set(presetKey); const event = new CustomEvent('AstRemoteUpdateState', { detail: 'btn-preset' }); document.dispatchEvent(event); }; const onResetClick = () => { const btnOptions = ['button-radius', 'theme-button-border-group-border-size', 'theme-button-padding', 'button-bg-color', 'button-color', 'button-h-color', 'button-bg-h-color']; btnOptions.forEach(function (btnOption) { const defaultVal = props.customizer.control('astra-settings[' + btnOption + ']').params.default; props.customizer.control('astra-settings[' + btnOption + ']').setting.set(defaultVal); }); // Reset Preset Option. setState(''); props.control.setting.set(''); const event = new CustomEvent('AstRemoteUpdateState', { detail: 'btn-preset' }); document.dispatchEvent(event); }; const renderBtnPresetHtml = () => { const htmlContent = Object.entries(options).map(_ref => { let [key, presetData] = _ref; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-btn-style-item " + (state === key ? "active" : ""), key: key, dangerouslySetInnerHTML: { __html: window.svgIcons[presetData.src] }, key: key, onClick: () => onChangePreset(key) }); }); return htmlContent; }; const renderResetBtn = () => { let resetFlag = '' != props.control.setting.get() ? false : true; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { className: "ast-reset-btn components-button components-circular-option-picker__clear is-secondary is-small", disabled: resetFlag, onClick: e => { e.preventDefault(); onResetClick(); } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.Dashicon, { icon: "image-rotate" })); }; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, title)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-btn-preset-wrap" }, renderBtnPresetHtml()), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-reset-btn-preset-wrap" }, renderResetBtn())); }; ButtonPresetsComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(ButtonPresetsComponent)); /***/ }), /***/ "./src/button-presets/control.js": /*!***************************************!*\ !*** ./src/button-presets/control.js ***! \***************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "buttonPresetControl": function() { return /* binding */ buttonPresetControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _button_presets_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./button-presets-component */ "./src/button-presets/button-presets-component.js"); const buttonPresetControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_button_presets_component__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control, customizer: wp.customize }), control.container[0]); } }); /***/ }), /***/ "./src/color-group/color-group-component.js": /*!**************************************************!*\ !*** ./src/color-group/color-group-component.js ***! \**************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _common_astra_color_picker_control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/astra-color-picker-control */ "./src/common/astra-color-picker-control.js"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var html_react_parser__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! html-react-parser */ "./node_modules/html-react-parser/index.mjs"); /* harmony import */ var _assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../assets/svg/svgs.json */ "../../../assets/svg/svgs.json"); const ColorGroupComponent = props => { let htmlLabel = null; let htmlHelp = null; let responsiveHtml = null; let optionsHtml = null; let innerOptionsHtml = null; const { label, help, name, responsive } = props.control.params; const linkedSubColors = AstraBuilderCustomizerData.js_configs.sub_controls[name]; const colorGroup = [], colorGroupDefaults = [], tooltips = [], colorGroupType = []; const linkRemoteUpdate = () => { document.addEventListener('AstRemoteUpdateState', function (e) { if (e.detail === 'btn-preset') { Object.entries(linkedSubColors).map(_ref => { let [key, value] = _ref; colorGroup[value.name] = wp.customize.control(value.name).setting.get(); colorGroupDefaults[value.name] = value.default; tooltips[value.name] = value.title; colorGroupType[value.name] = value.control_type; }); setState(colorGroup); setFlag(1); // This is used to Re render component on first custom event. } }); }; linkRemoteUpdate(); Object.entries(linkedSubColors).map(_ref2 => { let [key, value] = _ref2; colorGroup[value.name] = wp.customize.control(value.name).setting.get(); colorGroupDefaults[value.name] = value.default; tooltips[value.name] = value.title; colorGroupType[value.name] = value.control_type; }); const [colorGroupState, setState] = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(colorGroup); const [flag, setFlag] = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(0); const handleChangeComplete = function (key) { let color = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; let device = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; let backgroundType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ''; let updateState = { ...colorGroupState }; let value; if (typeof color === 'string') { value = color; } else if (undefined !== color.rgb && undefined !== color.rgb.a && 1 !== color.rgb.a) { value = `rgba(${color.rgb.r},${color.rgb.g},${color.rgb.b},${color.rgb.a})`; } else { value = color.hex; } if ('' !== device) { let newState = { ...updateState[key] }; if ('' !== backgroundType) { let deviceType = { ...newState[device] }; deviceType['background-color'] = value; deviceType['background-type'] = backgroundType; newState[device] = deviceType; updateState[key] = newState; wp.customize.control(key).setting.set(newState); } else { newState[device] = value; updateState[key] = newState; wp.customize.control(key).setting.set(newState); } } else { if ('' !== backgroundType) { let newState = { ...updateState[key] }; newState['background-color'] = value; newState['background-type'] = backgroundType; updateState[key] = newState; wp.customize.control(key).setting.set(newState); } else { updateState[key] = value; wp.customize.control(key).setting.set(value); } } setState(updateState); }; const updateValues = (stateValue, dbValue, key) => { wp.customize.control(key).setting.set(stateValue); setState(dbValue); }; const onSelectImage = function (key, media) { let device = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; let backgroundType = arguments.length > 3 ? arguments[3] : undefined; let updateState = { ...colorGroupState }; let newState = { ...updateState[key] }; if ('' !== device) { let deviceType = { ...newState[device] }; deviceType['background-image'] = media.url; deviceType['background-media'] = media.id; deviceType['background-type'] = backgroundType; newState[device] = deviceType; updateState[key] = newState; updateValues(newState, updateState, key); } else { newState['background-image'] = media.url; newState['background-media'] = media.id; newState['background-type'] = backgroundType; updateState[key] = newState; updateValues(newState, updateState, key); } }; const onChangeImageOptions = function (mainKey, value) { let device = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; let backgroundType = arguments.length > 3 ? arguments[3] : undefined; let key = arguments.length > 4 ? arguments[4] : undefined; let updateState = { ...colorGroupState }; let newState = { ...updateState[key] }; if ('' !== device) { let deviceType = { ...newState[device] }; deviceType[mainKey] = value; deviceType['background-type'] = backgroundType; newState[device] = deviceType; updateState[key] = newState; updateValues(newState, updateState, key); } else { newState[mainKey] = value; newState['background-type'] = backgroundType; updateState[key] = newState; updateValues(newState, updateState, key); } }; const updateBackgroundType = (device, key) => { let updateState = { ...colorGroupState }; if (!updateState[key][device]['background-type']) { let newState = { ...updateState[key] }; let deviceType = { ...newState[device] }; if (updateState[key][device]['background-color']) { deviceType['background-type'] = 'color'; newState[device] = deviceType; updateState[key] = newState; wp.customize.control(key).setting.set(newState); setState(updateState); if (updateState[key][device]['background-color'].includes('gradient')) { deviceType['background-type'] = 'gradient'; newState[device] = deviceType; updateState[key] = newState; wp.customize.control(key).setting.set(newState); setState(updateState); } } if (updateState[key][device]['background-image']) { deviceType['background-type'] = 'image'; newState[device] = deviceType; updateState[key] = newState; wp.customize.control(key).setting.set(newState); setState(updateState); } } }; Object.entries(colorGroupState).map(_ref3 => { let [key, value] = _ref3; if (colorGroupType[key] === "ast-responsive-background") { (0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(() => { let devices = ['desktop', 'mobile', 'tablet']; for (let device of devices) { updateBackgroundType(device, key); } }, []); } }); if (label) { htmlLabel = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", null, label); let multipleGroup = Object.entries(colorGroupState).length > 2 ? 'ast-multiple-colors-group' : ''; if (responsive) { const responsiveDesktop = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_5__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_6__["desktop-responsive"]); const responsiveTablet = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_5__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_6__["tablet-responsive"]); const responsiveMobile = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_5__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_6__["mobile-responsive"]); responsiveHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("ul", { key: 'ast-resp-ul', className: `ast-responsive-btns ${multipleGroup} ` }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { key: 'desktop', className: "desktop active" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-desktop", "data-device": "desktop" }, responsiveDesktop)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { key: 'tablet', className: "tablet" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-tablet", "data-device": "tablet" }, responsiveTablet)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { key: 'mobile', className: "mobile" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-mobile", "data-device": "mobile" }, responsiveMobile))); } } if (help) { htmlHelp = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ast-description" }, help); } const renderInputHtml = device => { if (responsive) { innerOptionsHtml = Object.entries(colorGroupState).map(_ref4 => { let [key, value] = _ref4; let tooltip = tooltips[key] || (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Color', 'astra'); if (colorGroupType[key] === "ast-responsive-background") { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.Tooltip, { key: key, text: tooltip, position: "top center" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "color-group-item", id: key }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_common_astra_color_picker_control__WEBPACK_IMPORTED_MODULE_2__["default"], { color: undefined !== value[device]['background-color'] && value[device]['background-color'] ? value[device]['background-color'] : '', onChangeComplete: (color, backgroundType) => handleChangeComplete(key, color, device, backgroundType), media: undefined !== value[device]['background-media'] && value[device]['background-media'] ? value[device]['background-media'] : '', backgroundImage: undefined !== value[device]['background-image'] && value[device]['background-image'] ? value[device]['background-image'] : '', backgroundAttachment: undefined !== value[device]['background-attachment'] && value[device]['background-attachment'] ? value[device]['background-attachment'] : '', backgroundPosition: undefined !== value[device]['background-position'] && value[device]['background-position'] ? value[device]['background-position'] : '', backgroundRepeat: undefined !== value[device]['background-repeat'] && value[device]['background-repeat'] ? value[device]['background-repeat'] : '', backgroundSize: undefined !== value[device]['background-size'] && value[device]['background-size'] ? value[device]['background-size'] : '', onSelectImage: (media, backgroundType) => onSelectImage(key, media, device, backgroundType), onChangeImageOptions: (mainKey, value, backgroundType) => onChangeImageOptions(mainKey, value, device, backgroundType, key), backgroundType: undefined !== value[device]['background-type'] && value[device]['background-type'] ? value[device]['background-type'] : 'color', allowGradient: true, allowImage: true }))); } else { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.Tooltip, { key: key, text: tooltip, position: "top center" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "color-group-item", id: key }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_common_astra_color_picker_control__WEBPACK_IMPORTED_MODULE_2__["default"], { color: value ? value[device] : '', onChangeComplete: (color, backgroundType) => handleChangeComplete(key, color, device), backgroundType: 'color', allowGradient: false, allowImage: false }))); } }); return innerOptionsHtml; } else { innerOptionsHtml = Object.entries(colorGroupState).map(_ref5 => { let [key, value] = _ref5; let tooltip = tooltips[key] || (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Color', 'astra'); if (colorGroupType[key] === "ast-background") { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.Tooltip, { key: key, text: tooltip, position: "top center" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "color-group-item", id: key }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_common_astra_color_picker_control__WEBPACK_IMPORTED_MODULE_2__["default"], { color: undefined !== value['background-color'] && value['background-color'] ? value['background-color'] : '', onChangeComplete: (color, backgroundType) => handleChangeComplete(key, color, backgroundType), media: undefined !== value['background-media'] && value['background-media'] ? value['background-media'] : '', backgroundImage: undefined !== value['background-image'] && value['background-image'] ? value['background-image'] : '', backgroundAttachment: undefined !== value['background-attachment'] && value['background-attachment'] ? value['background-attachment'] : '', backgroundPosition: undefined !== value['background-position'] && value['background-position'] ? value['background-position'] : '', backgroundRepeat: undefined !== value['background-repeat'] && value['background-repeat'] ? value['background-repeat'] : '', backgroundSize: undefined !== value['background-size'] && value['background-size'] ? value['background-size'] : '', onSelectImage: (media, backgroundType) => onSelectImage(key, media, backgroundType), onChangeImageOptions: (mainKey, value, backgroundType) => onChangeImageOptions(mainKey, value, backgroundType, key), backgroundType: undefined !== value['background-type'] && value['background-type'] ? value['background-type'] : 'color', allowGradient: true, allowImage: true }))); } else { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.Tooltip, { key: key, text: tooltip, position: "top center" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "color-group-item", id: key }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_common_astra_color_picker_control__WEBPACK_IMPORTED_MODULE_2__["default"], { color: value ? value : '', onChangeComplete: (color, backgroundType) => handleChangeComplete(key, color), backgroundType: 'color', allowGradient: false, allowImage: false }))); } }); return innerOptionsHtml; } }; if (responsive) { optionsHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-color-group-responsive-wrap desktop active" }, renderInputHtml('desktop', 'active')), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-color-group-responsive-wrap tablet" }, renderInputHtml('tablet')), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-color-group-responsive-wrap mobile" }, renderInputHtml('mobile'))); } else { optionsHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, renderInputHtml()); } const renderResetButton = () => { let resetFlag = true; for (let index in colorGroupState) { if (JSON.stringify(colorGroupState[index]) !== JSON.stringify(colorGroupDefaults[index])) { resetFlag = false; } } const multipleGroup = Object.entries(colorGroupState).length > 2 ? 'ast-color-multiple-group-reset' : ''; const responsiveness = responsive ? 'ast-responsive-colors-group-set' : 'ast-single-color-group-set'; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: `ast-color-btn-reset-wrap ${multipleGroup} ast-color-group-reset ${responsiveness} ` }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { className: "ast-reset-btn components-button components-circular-option-picker__clear is-secondary is-small", disabled: resetFlag, onClick: e => { e.preventDefault(); let resetState = { ...colorGroupState }; for (let index in colorGroupState) { resetState[index] = colorGroupDefaults[index]; wp.customize.control(index).setting.set(colorGroupDefaults[index]); setState(resetState); } } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.Dashicon, { icon: "image-rotate" }))); }; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-control-wrap" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-toggle-desc-wrap" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", { className: "customizer-text" }, htmlLabel, htmlHelp), responsiveHtml), renderResetButton(), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-field-color-group-wrap" }, optionsHtml)); }; ColorGroupComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(ColorGroupComponent)); /***/ }), /***/ "./src/color-group/control.js": /*!************************************!*\ !*** ./src/color-group/control.js ***! \************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "colorGroupControl": function() { return /* binding */ colorGroupControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _color_group_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./color-group-component */ "./src/color-group/color-group-component.js"); /* harmony import */ var _common_responsive_helper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/responsive-helper */ "./src/common/responsive-helper.js"); const colorGroupControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_color_group_component__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); }, ready: function () { (0,_common_responsive_helper__WEBPACK_IMPORTED_MODULE_2__.astraGetResponsiveColorGroupJs)(this); 'use strict'; let control = this; jQuery(document).mouseup(function (e) { let container = jQuery(control.container), colorWrap = container.find('.astra-color-picker-wrap'), resetBtnWrap = container.find('.ast-color-btn-reset-wrap'); // If the target of the click isn't the container nor a descendant of the container. if (!colorWrap.is(e.target) && !resetBtnWrap.is(e.target) && colorWrap.has(e.target).length === 0 && resetBtnWrap.has(e.target).length === 0) { container.find('.components-button.astra-color-icon-indicate.open').click(); } }); } }); /***/ }), /***/ "./src/color-palette/color-palette.js": /*!********************************************!*\ !*** ./src/color-palette/color-palette.js ***! \********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _common_astra_color_picker_control__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/astra-color-picker-control */ "./src/common/astra-color-picker-control.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__); const ColorPaletteComponent = props => { const value = props.control.setting.get(); const defaultValue = props.control.params.default; let labelHtml = null; const { label, name } = props.control.params; let UpdatePaletteEvent; const [state, setState] = value ? (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(value) : (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(defaultValue); (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(() => { // If settings are changed externally. if (state !== value) { setState(value); } }, [props]); if (label) { labelHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, label); } const handleChangeComplete = (colorIndex, color) => { let updateState = { ...state }; let value; if (typeof color === "string") { value = color; } else if (undefined !== color.rgb && undefined !== color.rgb.a && 1 !== color.rgb.a) { value = `rgba(${color.rgb.r},${color.rgb.g},${color.rgb.b},${color.rgb.a})`; } else { value = color.hex; } updateState.palettes[updateState.currentPalette][colorIndex] = value; updateValues(updateState); }; const updateValues = stateObj => { setState(stateObj); props.control.setting.set({ ...stateObj, flag: !props.control.setting.get().flag }); let globalPaletteControl = props.customizer.control("astra-settings[global-color-palette]"); var globalPalette = globalPaletteControl.setting.get(); globalPalette.palette = stateObj.palettes[stateObj.currentPalette]; globalPaletteControl.setting.set({ ...globalPalette, flag: !globalPaletteControl.setting.get().flag }); }; const onPaletteChange = paletteKey => { let updateState = { ...state }; updateState.currentPalette = paletteKey; updateValues(updateState); }; const handleColorReset = (index, color) => { let updateState = { ...state }; const resetValue = defaultValue.palettes[updateState.currentPalette][index]; updateState.palettes[updateState.currentPalette][index] = resetValue; updateValues(updateState); }; var paletteColors = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-single-palette-wrap" }, state.palettes[state.currentPalette].map((value, index) => { const paletteLables = astra.customizer.globalPaletteLabels; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-color-picker-wrap" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_common_astra_color_picker_control__WEBPACK_IMPORTED_MODULE_1__["default"], { color: value ? value : "", onChangeComplete: (color, backgroundType) => handleChangeComplete(index, color), backgroundType: "color", allowGradient: false, allowImage: false, disablePalette: true, onColorResetClick: (color, backgroundType) => handleColorReset(index, color) })), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-color-picker-custom-tooltip-wrapper" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ast-color-picker-custom-tooltip", "data-title": paletteLables[index] }))); }))); var paletteOptions = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, Object.keys(state.palettes).map((paletteKey, index) => { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-color-palette-wrap " + (paletteKey === state.currentPalette ? "active" : ""), key: index }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("section", { onClick: () => onPaletteChange(paletteKey) }, state.palettes[paletteKey].map((color, index) => { if (index < 4) { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-single-color-container", style: { backgroundColor: color }, key: index }); } else { return ''; } }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ast-palette-label-wrap" }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)("Style", "astra") + " " + (index + 1)))); })); const updatePaletteVariables = e => { clearTimeout(UpdatePaletteEvent); // Throttle events when user tries to drag inside color picker. UpdatePaletteEvent = setTimeout(function () { document.dispatchEvent(new CustomEvent("AstUpdatePaletteVariables", {})); }, 200); }; document.addEventListener("AstPaletteUpdated", updatePaletteVariables, false); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-toggle-desc-wrap" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", { className: "customizer-text" }, labelHtml), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ast-adv-toggle-icon dashicons", "data-control": name })), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-color-palette-wrapper" }, paletteColors), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-field-settings-wrap" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-field-settings-modal" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-color-palette-container" }, paletteOptions)))); }; ColorPaletteComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (ColorPaletteComponent); /***/ }), /***/ "./src/color-palette/control.js": /*!**************************************!*\ !*** ./src/color-palette/control.js ***! \**************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "colorPaletteControl": function() { return /* binding */ colorPaletteControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _color_palette_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./color-palette.js */ "./src/color-palette/color-palette.js"); const colorPaletteControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_color_palette_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control, customizer: wp.customize }), control.container[0]); }, ready: function () { 'use strict'; let control = this; control.registerToggleEvents(); jQuery(document).mouseup(function (e) { var container = jQuery(control.container); var colorWrap = container.find('.astra-color-picker-wrap'); // If the target of the click isn't the container nor a descendant of the container. if (!colorWrap.is(e.target) && colorWrap.has(e.target).length === 0) { container.find('.components-button.astra-color-icon-indicate.open').click(); } }); document.dispatchEvent(new CustomEvent('AstUpdatePaletteVariables', {})); }, registerToggleEvents: function () { var control = this; /* Close popup when click outside anywhere outside of popup */ jQuery('.wp-full-overlay-sidebar-content, .wp-picker-container').click(function (e) { if (!jQuery(e.target).closest('.ast-field-settings-modal').length) { jQuery('.ast-adv-toggle-icon.open').trigger('click'); } }); control.container.on('click', '.ast-toggle-desc-wrap .ast-adv-toggle-icon', function (e) { e.preventDefault(); e.stopPropagation(); var $this = jQuery(this); var parent_wrap = $this.closest('.customize-control-ast-color-palette'); var is_loaded = parent_wrap.find('.ast-field-settings-modal'); var parent_section = parent_wrap.parents('.control-section'); if ($this.hasClass('open')) { parent_wrap.find('.ast-field-settings-modal').hide(); } else { /* Close popup when another popup is clicked to open */ var get_open_popup = parent_section.find('.ast-adv-toggle-icon.open'); if (get_open_popup.length > 0) { get_open_popup.trigger('click'); } if (is_loaded) { parent_wrap.find('.ast-field-settings-modal').show(); } } $this.toggleClass('open'); }); control.container.on("click", ".ast-toggle-desc-wrap > .customizer-text", function (e) { e.preventDefault(); e.stopPropagation(); jQuery(this).find('.ast-adv-toggle-icon').trigger('click'); }); } }); /***/ }), /***/ "./src/color/color-component.js": /*!**************************************!*\ !*** ./src/color/color-component.js ***! \**************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _common_astra_color_picker_control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/astra-color-picker-control */ "./src/common/astra-color-picker-control.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__); const ColorComponent = props => { let value = props.control.setting.get(); let defaultValue = props.control.params.default; const [state, setState] = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)({ value: value }); const updateValues = value => { setState(prevState => ({ ...prevState, value: value })); props.control.setting.set(value); }; const renderOperationButtons = () => { let resetFlag = true; const tempVal = state.value.replace('unset', ''); if (JSON.stringify(tempVal) !== JSON.stringify(defaultValue)) { resetFlag = false; } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-color-btn-reset-wrap" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { className: "ast-reset-btn components-button components-circular-option-picker__clear is-secondary is-small", disabled: resetFlag, onClick: e => { e.preventDefault(); let value = JSON.parse(JSON.stringify(defaultValue)); if (undefined === value || '' === value) { value = 'unset'; } updateValues(value); } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.Dashicon, { icon: "image-rotate" }))))); }; const handleChangeComplete = color => { let value; if (typeof color === 'string') { value = color; } else if (undefined !== color.rgb && undefined !== color.rgb.a && 1 !== color.rgb.a) { value = `rgba(${color.rgb.r},${color.rgb.g},${color.rgb.b},${color.rgb.a})`; } else { value = color.hex; } updateValues(value); }; let labelHtml = null; const { label } = props.control.params; if (label) { labelHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", null, label); } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-control-wrap" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", null, labelHtml), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-color-picker-alpha color-picker-hex" }, renderOperationButtons(), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_common_astra_color_picker_control__WEBPACK_IMPORTED_MODULE_2__["default"], { color: undefined !== state.value && state.value ? state.value : '', onChangeComplete: (color, backgroundType) => handleChangeComplete(color), backgroundType: 'color', allowGradient: false, allowImage: false }))); }; ColorComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (ColorComponent); /***/ }), /***/ "./src/color/control.js": /*!******************************!*\ !*** ./src/color/control.js ***! \******************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "colorControl": function() { return /* binding */ colorControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _color_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./color-component */ "./src/color/color-component.js"); const colorControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_color_component__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control, customizer: wp.customize }), control.container[0]); }, ready: function () { 'use strict'; let control = this; jQuery(document).mouseup(function (e) { var container = jQuery(control.container); var colorWrap = container.find('.astra-color-picker-wrap'); var resetBtnWrap = container.find('.ast-color-btn-reset-wrap'); // If the target of the click isn't the container nor a descendant of the container. if (!colorWrap.is(e.target) && !resetBtnWrap.is(e.target) && colorWrap.has(e.target).length === 0 && resetBtnWrap.has(e.target).length === 0) { container.find('.components-button.astra-color-icon-indicate.open').click(); } }); } }); /***/ }), /***/ "./src/common/astra-color-picker-control.js": /*!**************************************************!*\ !*** ./src/common/astra-color-picker-control.js ***! \**************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _wordpress_media_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/media-utils */ "@wordpress/media-utils"); /* harmony import */ var _wordpress_media_utils__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_media_utils__WEBPACK_IMPORTED_MODULE_3__); const AstraGradientPicker = AstraBuilderCustomizerData.isWP_5_9 ? _wordpress_components__WEBPACK_IMPORTED_MODULE_2__.GradientPicker : _wordpress_components__WEBPACK_IMPORTED_MODULE_2__.__experimentalGradientPicker; const maybeGetColorForVariable = (color, palette) => { const paletteColors = palette.palette; if (undefined !== color && color.includes('var')) { // Get color index from palette for color variable. const colorIndex = color.charAt(color.length - 2); color = paletteColors[colorIndex]; } return color; }; const globalIconSVG = () => { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", className: "astra-globe-dashicon" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", { d: "M7.99997 0.499249C12.143 0.499249 15.5015 3.85775 15.5015 8.00075C15.5015 12.143 12.143 15.5015 7.99997 15.5015C3.85697 15.5015 0.498474 12.143 0.498474 8.00075C0.498474 3.85775 3.85697 0.499249 7.99997 0.499249ZM10.2042 11.375H5.79497C6.28397 13.1855 7.13447 14.3765 7.99922 14.3765C8.86397 14.3765 9.71447 13.1855 10.2035 11.375H10.2042ZM4.63172 11.375H2.58872C3.31285 12.5337 4.38885 13.4302 5.65922 13.9332C5.26772 13.3182 4.94447 12.5487 4.70672 11.672L4.63022 11.3757L4.63172 11.375ZM13.4105 11.375H11.369C11.126 12.3762 10.775 13.25 10.3392 13.9332C11.5294 13.4625 12.5509 12.6455 13.2717 11.588L13.4105 11.3757V11.375ZM4.32047 6.5H1.80122L1.79747 6.51275C1.68111 7.00019 1.62246 7.49962 1.62272 8.00075C1.62272 8.79275 1.76747 9.551 2.03147 10.2507H4.41122C4.2301 9.00898 4.19912 7.74992 4.31897 6.50075L4.32047 6.5ZM10.5477 6.5H5.45222C5.32027 7.74899 5.35432 9.00995 5.55347 10.25H10.4465C10.6456 9.00994 10.6796 7.74899 10.5477 6.5ZM14.1987 6.5H11.6802C11.7267 6.98525 11.7515 7.48775 11.7515 8C11.7527 8.75301 11.698 9.50507 11.588 10.25H13.9677C14.2385 9.5308 14.3767 8.76849 14.3757 8C14.3757 7.48325 14.3142 6.98 14.1987 6.5ZM5.65997 2.0675L5.64272 2.0735C4.10779 2.68641 2.86957 3.86953 2.18747 5.375H4.47347C4.70897 4.061 5.11847 2.9165 5.66072 2.0675H5.65997ZM7.99997 1.62425L7.91297 1.628C6.96497 1.715 6.04697 3.2165 5.62247 5.375H10.379C9.95447 3.2225 9.04172 1.72325 8.09522 1.62875L7.99997 1.625V1.62425ZM10.34 2.06675L10.4202 2.198C10.922 3.032 11.303 4.127 11.5265 5.37575H13.8125C13.1614 3.93881 12.0025 2.793 10.5582 2.15825L10.34 2.0675V2.06675Z" })); }; class AstraColorPickerControl extends _wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Component { constructor(props) { super(...arguments); this.onChangeComplete = this.onChangeComplete.bind(this); this.onPaletteChangeComplete = this.onPaletteChangeComplete.bind(this); this.onChangeGradientComplete = this.onChangeGradientComplete.bind(this); this.renderImageSettings = this.renderImageSettings.bind(this); this.onRemoveImage = this.onRemoveImage.bind(this); this.onSelectImage = this.onSelectImage.bind(this); this.open = this.open.bind(this); this.onColorClearClick = this.onColorClearClick.bind(this); this.onColorResetClick = this.onColorResetClick.bind(this); this.state = { isVisible: false, refresh: false, color: this.props.color, modalCanClose: true, backgroundType: this.props.backgroundType, supportGradient: undefined === AstraGradientPicker ? false : true }; } onResetRefresh() { if (this.state.refresh === true) { this.setState({ refresh: false }); } else { this.setState({ refresh: true }); } } render() { const { refresh, modalCanClose, isVisible, supportGradient, backgroundType } = this.state; const { allowGradient, allowImage } = this.props; var disablePalette = this.props.disablePalette; var enableDeleteIcon = this.props.enableDeleteIcon; const toggleVisible = () => { if (refresh === true) { this.setState({ refresh: false }); } else { this.setState({ refresh: true }); } this.setState({ isVisible: true }); }; const toggleClose = () => { if (modalCanClose) { if (isVisible === true) { this.setState({ isVisible: false }); } } }; const showingGradient = allowGradient && supportGradient ? true : false; let tabs = [{ name: 'color', title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Color', 'astra'), className: 'astra-color-background' }]; if (showingGradient) { let gradientTab = { name: 'gradient', title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Gradient', 'astra'), className: 'astra-image-background' }; tabs.push(gradientTab); } if (allowImage) { let imageTab = { name: 'image', title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Image', 'astra'), className: 'astra-image-background' }; tabs.push(imageTab); } let finalpaletteColors = []; let globalColorPalette = wp.customize.control('astra-settings[global-color-palette]').setting.get(); Object.entries(globalColorPalette.palette).forEach(_ref => { let [index, color] = _ref; let palettePrefix = astra.customizer.globalPaletteStylePrefix; const paletteLables = astra.customizer.globalPaletteLabels; let paletteColors = {}; Object.assign(paletteColors, { name: paletteLables[index], color: 'var(' + palettePrefix + index + ')' }); finalpaletteColors.push(paletteColors); }); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: this.props.color && this.props.color.includes('var') ? 'color-button-wrap has-global-palette-color' : 'color-button-wrap' }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Button, { className: isVisible ? 'astra-color-icon-indicate open' : 'astra-color-icon-indicate', onClick: () => { isVisible ? toggleClose() : toggleVisible(); } }, ('color' === backgroundType || 'gradient' === backgroundType) && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.ColorIndicator, { className: "astra-advanced-color-indicate", colorValue: this.props.color }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "global-color" }, globalIconSVG())), 'image' === backgroundType && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.ColorIndicator, { className: "astra-advanced-color-indicate", colorValue: "#ffffff" }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Dashicon, { icon: "format-image" })))), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "astra-color-picker-wrap " + (isVisible ? 'picker-open' : '') }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, isVisible && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "astra-popover-color", onClose: toggleClose }, 1 < tabs.length && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.TabPanel, { className: "astra-popover-tabs astra-background-tabs", activeClass: "active-tab", initialTabName: backgroundType, tabs: tabs }, tab => { let tabout; if (tab.name) { if ('gradient' === tab.name) { tabout = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(AstraGradientPicker, { className: `ast-gradient-color-picker ${AstraBuilderCustomizerData.isWP_5_9 ? 'ast-gradient-ui' : ''}`, value: this.props.color && this.props.color.includes('gradient') ? this.props.color : '', onChange: gradient => this.onChangeGradientComplete(gradient) })); } if ('image' === tab.name) { tabout = this.renderImageSettings(); } else if ('color' === tab.name) { tabout = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, !disablePalette && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.ColorPalette, { colors: finalpaletteColors, value: this.props.color, clearable: false, disableCustomColors: true, className: "ast-color-palette", onChange: color => this.onPaletteChangeComplete(color) })), refresh && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.ColorPicker, { color: maybeGetColorForVariable(this.props.color, globalColorPalette), onChangeComplete: color => this.onChangeComplete(color) })), !refresh && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.ColorPicker, { color: maybeGetColorForVariable(this.props.color, globalColorPalette), onChangeComplete: color => this.onChangeComplete(color) })), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", onClick: () => { this.onColorClearClick(); }, className: "ast-clear-btn-inside-picker components-button common components-circular-option-picker__clear is-secondary is-small" }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Clear', 'astra'))); } } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", null, tabout); }), 1 === tabs.length && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, !disablePalette && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.ColorPalette, { colors: finalpaletteColors, value: this.props.color, clearable: false, disableCustomColors: true, className: "ast-color-palette", onChange: color => this.onPaletteChangeComplete(color) })), refresh && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.ColorPicker, { color: maybeGetColorForVariable(this.props.color, globalColorPalette), onChangeComplete: color => this.onChangeComplete(color) })), !refresh && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.ColorPicker, { color: maybeGetColorForVariable(this.props.color, globalColorPalette), onChangeComplete: color => this.onChangeComplete(color) })), !disablePalette && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", onClick: () => { this.onColorClearClick(); }, className: "ast-clear-btn-inside-picker components-button components-circular-option-picker__clear is-secondary is-small" }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Clear', 'astra'))), disablePalette && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", onClick: () => { this.onColorResetClick(); }, className: "ast-reset-btn-inside-picker components-button common components-circular-option-picker__reset is-secondary is-small" }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Reset', 'astra'))))))); } onColorClearClick() { if (this.state.refresh === true) { this.setState({ refresh: false }); } else { this.setState({ refresh: true }); } this.props.onChangeComplete('', 'color'); wp.customize.previewer.refresh(); } onColorResetClick() { if (this.state.refresh === true) { this.setState({ refresh: false }); } else { this.setState({ refresh: true }); } this.props.onColorResetClick('', 'color'); } onChangeGradientComplete(gradient) { this.setState({ backgroundType: 'gradient' }); this.props.onChangeComplete(gradient, 'gradient'); } onChangeComplete(color) { let newColor; if (color.rgb && color.rgb.a && 1 !== color.rgb.a) { newColor = 'rgba(' + color.rgb.r + ',' + color.rgb.g + ',' + color.rgb.b + ',' + color.rgb.a + ')'; } else { newColor = color.hex; } this.setState({ backgroundType: 'color' }); this.props.onChangeComplete(color, 'color'); } onPaletteChangeComplete(color) { this.setState({ color: color }); if (this.state.refresh === true) { this.setState({ refresh: false }); } else { this.setState({ refresh: true }); } this.props.onChangeComplete(color, 'color'); } onSelectImage(media) { this.setState({ modalCanClose: true }); this.setState({ backgroundType: 'image' }); this.props.onSelectImage(media, 'image'); } onRemoveImage() { this.setState({ modalCanClose: true }); this.props.onSelectImage(''); } open(open) { this.setState({ modalCanClose: false }); open(); } onChangeImageOptions(tempKey, mainkey, value) { this.setState({ backgroundType: 'image' }); this.props.onChangeImageOptions(mainkey, value, 'image'); } toggleMoreSettings() { let parent = event.target.parentElement.parentElement; let trigger = parent.querySelector('.more-settings'); let wrapper = parent.querySelector('.media-position-setting'); let dataDirection = trigger.dataset.direction; let dataId = trigger.dataset.id; if ('down' === dataDirection) { trigger.setAttribute('data-direction', 'up'); parent.querySelector('.message').innerHTML = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Less Settings"); parent.querySelector('.icon').innerHTML = '↑'; } else { trigger.setAttribute('data-direction', 'down'); parent.querySelector('.message').innerHTML = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("More Settings"); parent.querySelector('.icon').innerHTML = '↓'; } if (wrapper.classList.contains('hide-settings')) { wrapper.classList.remove('hide-settings'); } else { wrapper.classList.add('hide-settings'); } } renderImageSettings() { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (this.props.media.url || this.props.backgroundImage) && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", { src: this.props.media.url ? this.props.media.url : this.props.backgroundImage }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_media_utils__WEBPACK_IMPORTED_MODULE_3__.MediaUpload, { title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Select Background Image", 'astra'), onSelect: media => this.onSelectImage(media), allowedTypes: ["image"], value: this.props.media && this.props.media ? this.props.media : '', render: _ref2 => { let { open } = _ref2; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Button, { className: "upload-button button-add-media", isDefault: true, onClick: () => this.open(open) }, !this.props.media && !this.props.backgroundImage ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Select Background Image", 'astra') : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Replace image", 'astra')); } }), (this.props.media || this.props.backgroundImage) && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Button, { className: "ast-bg-img-remove", onClick: this.onRemoveImage, isLink: true, isDestructive: true }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Remove Image", 'astra')), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("a", { href: "#", className: "more-settings", onClick: this.toggleMoreSettings, "data-direction": "down", "data-id": "desktop" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "message" }, " ", (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("More Settings"), " "), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "icon" }, " \u2193 ")), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "media-position-setting hide-settings" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.SelectControl, { label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Image Position"), value: this.props.backgroundPosition, onChange: value => this.onChangeImageOptions('backgroundPosition', 'background-position', value), options: [{ value: "left top", label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Left Top", 'astra') }, { value: "left center", label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Left Center", 'astra') }, { value: "left bottom", label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Left Bottom", 'astra') }, { value: "right top", label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Right Top", 'astra') }, { value: "right center", label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Right Center", 'astra') }, { value: "right bottom", label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Right Bottom", 'astra') }, { value: "center top", label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Center Top", 'astra') }, { value: "center center", label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Center Center", 'astra') }, { value: "center bottom", label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Center Bottom", 'astra') }] }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.SelectControl, { label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Attachment", 'astra'), value: this.props.backgroundAttachment, onChange: value => this.onChangeImageOptions('backgroundAttachment', 'background-attachment', value), options: [{ value: "fixed", label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Fixed", 'astra') }, { value: "scroll", label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Scroll", 'astra') }] }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.SelectControl, { label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Repeat", 'astra'), value: this.props.backgroundRepeat, onChange: value => this.onChangeImageOptions('backgroundRepeat', 'background-repeat', value), options: [{ value: "no-repeat", label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("No Repeat", 'astra') }, { value: "repeat", label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Repeat All", 'astra') }, { value: "repeat-x", label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Repeat Horizontally", 'astra') }, { value: "repeat-y", label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Repeat Vertically", 'astra') }] }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.SelectControl, { label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Size", 'astra'), value: this.props.backgroundSize, onChange: value => this.onChangeImageOptions('backgroundSize', 'background-size', value), options: [{ value: "auto", label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Auto", 'astra') }, { value: "cover", label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Cover", 'astra') }, { value: "contain", label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Contain", 'astra') }] })))); } } AstraColorPickerControl.propTypes = { color: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string), usePalette: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool), palette: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string), presetColors: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object), onChangeComplete: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func), onPaletteChangeComplete: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func), onChange: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func), customizer: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object) }; /* harmony default export */ __webpack_exports__["default"] = (AstraColorPickerControl); /***/ }), /***/ "./src/common/responsive-device.js": /*!*****************************************!*\ !*** ./src/common/responsive-device.js ***! \*****************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var html_react_parser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! html-react-parser */ "./node_modules/html-react-parser/index.mjs"); /* harmony import */ var _assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../assets/svg/svgs.json */ "../../../assets/svg/svgs.json"); const { __ } = wp.i18n; const { Fragment } = wp.element; const ResponsiveDeviceControl = props => { const [state, setState] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({ view: props.device }); let { view } = state, deviceMap = { 'desktop': { 'icon': 'desktop' }, 'tablet': { 'icon': 'tablet' }, 'mobile': { 'icon': 'smartphone' } }; const changeViewType = device => { let triggerDevice = ""; switch (device) { case "desktop": triggerDevice = "tablet"; break; case "tablet": triggerDevice = "mobile"; break; case "mobile": triggerDevice = "desktop"; break; default: break; } setState(prevState => ({ ...prevState, view: triggerDevice })); wp.customize.previewedDevice(triggerDevice); props.onChange(triggerDevice); }; const linkResponsiveButtons = () => { document.addEventListener('AstraChangedRepsonsivePreview', function (e) { changeViewType(e.detail); }); }; (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => { linkResponsiveButtons(); }, []); const responsiveDesktop = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_2__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_3__["desktop-responsive"]); const responsiveTablet = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_2__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_3__["tablet-responsive"]); const responsiveMobile = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_2__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_3__["mobile-responsive"]); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: 'ahfb-responsive-control-bar' }, props.controlLabel && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, props.controlLabel), !props.hideResponsive && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "floating-controls" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("ul", { key: 'ast-resp-ul', className: "ast-responsive-btns" }, Object.keys(deviceMap).map(device => { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { key: device, className: device, className: (device === view ? 'active ' : '') + `${device}` }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", "data-device": device, className: (device === view ? 'active ' : '') + `preview-${device}`, onClick: () => { let event = new CustomEvent('AstraChangedRepsonsivePreview', { 'detail': device }); document.dispatchEvent(event); } }, device === 'desktop' ? responsiveDesktop : '', device === 'tablet' ? responsiveTablet : '', device === 'mobile' ? responsiveMobile : '')); })))), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-responsive-controls-content" }, props.children)); }; ResponsiveDeviceControl.propTypes = { onChange: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func), controlLabel: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(ResponsiveDeviceControl)); /***/ }), /***/ "./src/common/responsive-helper.js": /*!*****************************************!*\ !*** ./src/common/responsive-helper.js ***! \*****************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "astraGetAlignmentJS": function() { return /* binding */ astraGetAlignmentJS; }, /* harmony export */ "astraGetBackground": function() { return /* binding */ astraGetBackground; }, /* harmony export */ "astraGetColor": function() { return /* binding */ astraGetColor; }, /* harmony export */ "astraGetResponsiveBgJs": function() { return /* binding */ astraGetResponsiveBgJs; }, /* harmony export */ "astraGetResponsiveColorGroupJs": function() { return /* binding */ astraGetResponsiveColorGroupJs; }, /* harmony export */ "astraGetResponsiveColorJs": function() { return /* binding */ astraGetResponsiveColorJs; }, /* harmony export */ "astraGetResponsiveJs": function() { return /* binding */ astraGetResponsiveJs; }, /* harmony export */ "astraGetResponsiveSliderJs": function() { return /* binding */ astraGetResponsiveSliderJs; }, /* harmony export */ "astraGetResponsiveSpacingJs": function() { return /* binding */ astraGetResponsiveSpacingJs; }, /* harmony export */ "astraGetResponsiveToggleControlJs": function() { return /* binding */ astraGetResponsiveToggleControlJs; }, /* harmony export */ "siteTitleTaglineDependentControl": function() { return /* binding */ siteTitleTaglineDependentControl; } /* harmony export */ }); function astraGetColor(control) { 'use strict'; jQuery(document).mouseup(function (e) { var container = jQuery(control); var colorWrap = container.find('.astra-color-picker-wrap'); // If the target of the click isn't the container nor a descendant of the container. if (!colorWrap.is(e.target) && colorWrap.has(e.target).length === 0) { container.find('.components-button.astra-color-icon-indicate.open').click(); } }); } function astraGetBackground(control) { 'use strict'; jQuery(document).mouseup(function (e) { var container = jQuery(control); var bgWrap = container.find('.background-wrapper'); // If the target of the click isn't the container nor a descendant of the container. if (!bgWrap.is(e.target) && bgWrap.has(e.target).length === 0) { container.find('.components-button.astra-color-icon-indicate.open').click(); } }); } function astraGetResponsiveBgJs(control, child_control_name) { 'use strict'; jQuery('html').addClass('responsive-background-img-ready'); let device = jQuery('.wp-full-overlay-footer .devices button.active').attr('data-device'); jQuery('.customize-control-ast-responsive-background .customize-control-content .background-container').removeClass('active'); jQuery('.customize-control-ast-responsive-background .customize-control-content .background-container.' + device).addClass('active'); jQuery('.customize-control-ast-responsive-background .ast-responsive-btns li').removeClass('active'); jQuery('.customize-control-ast-responsive-background .ast-responsive-btns li.' + device).addClass('active'); jQuery('.wp-full-overlay-footer .devices button').on('click', function () { let device = jQuery(this).attr('data-device'); jQuery('.customize-control-ast-responsive-background .customize-control-content .background-container').removeClass('active'); jQuery('.customize-control-ast-responsive-background .customize-control-content .background-container.' + device).addClass('active'); jQuery('.customize-control-ast-responsive-background .ast-responsive-btns li').removeClass('active'); jQuery('.customize-control-ast-responsive-background .ast-responsive-btns li.' + device).addClass('active'); }); control.container.find('.ast-responsive-btns button').on('click', function (event) { event.preventDefault(); let device = jQuery(this).attr('data-device'); if ('desktop' == device) { device = 'tablet'; } else if ('tablet' == device) { device = 'mobile'; } else { device = 'desktop'; } jQuery('.wp-full-overlay-footer .devices button[data-device="' + device + '"]').trigger('click'); }); if (child_control_name) { jQuery(document).mouseup(function (e) { var container = jQuery(child_control_name); var bgWrap = container.find('.background-wrapper'); // If the target of the click isn't the container nor a descendant of the container. if (!bgWrap.is(e.target) && bgWrap.has(e.target).length === 0) { container.find('.components-button.astra-color-icon-indicate.open').click(); } }); } } function astraGetResponsiveColorJs(control, child_control_name) { 'use strict'; jQuery('html').addClass('responsive-background-color-ready'); let device = jQuery('.wp-full-overlay-footer .devices button.active').attr('data-device'); jQuery('.customize-control-ast-responsive-color .customize-control-content .ast-color-picker-alpha').removeClass('active'); jQuery('.customize-control-ast-responsive-color .customize-control-content .ast-color-picker-alpha.' + device).addClass('active'); jQuery('.customize-control-ast-responsive-color .ast-responsive-btns li').removeClass('active'); jQuery('.customize-control-ast-responsive-color .ast-responsive-btns li.' + device).addClass('active'); jQuery('.wp-full-overlay-footer .devices button').on('click', function () { let device = jQuery(this).attr('data-device'); jQuery('.customize-control-ast-responsive-color .customize-control-content .ast-color-picker-alpha').removeClass('active'); jQuery('.customize-control-ast-responsive-color .customize-control-content .ast-responsive-color.' + device).addClass('active'); jQuery('.customize-control-ast-responsive-color .ast-responsive-btns li').removeClass('active'); jQuery('.customize-control-ast-responsive-color .ast-responsive-btns li.' + device).addClass('active'); }); control.container.find('.ast-responsive-btns button').on('click', function (event) { event.preventDefault(); let device = jQuery(this).attr('data-device'); if ('desktop' == device) { device = 'tablet'; } else if ('tablet' == device) { device = 'mobile'; } else { device = 'desktop'; } jQuery('.wp-full-overlay-footer .devices button[data-device="' + device + '"]').trigger('click'); }); if (child_control_name) { jQuery(document).mouseup(function (e) { var container = jQuery(child_control_name); var resColorWrap = container.find('.customize-control-content'); // If the target of the click isn't the container nor a descendant of the container. if (!resColorWrap.is(e.target) && resColorWrap.has(e.target).length === 0) { container.find('.components-button.astra-color-icon-indicate.open').click(); } }); } } function astraGetResponsiveJs(control) { 'use strict'; let device = jQuery('.wp-full-overlay-footer .devices button.active').attr('data-device'); jQuery('.customize-control-ast-responsive .input-wrapper input').removeClass('active'); jQuery('.customize-control-ast-responsive .input-wrapper input.' + device).addClass('active'); jQuery('.customize-control-ast-responsive .ast-responsive-btns li').removeClass('active'); jQuery('.customize-control-ast-responsive .ast-responsive-btns li.' + device).addClass('active'); jQuery('.wp-full-overlay-footer .devices button').on('click', function () { let device = jQuery(this).attr('data-device'); jQuery('.customize-control-ast-responsive .input-wrapper input, .customize-control .ast-responsive-btns > li').removeClass('active'); jQuery('.customize-control-ast-responsive .input-wrapper input.' + device + ', .customize-control .ast-responsive-btns > li.' + device).addClass('active'); }); control.container.find('.ast-responsive-btns button').on('click', function (event) { event.preventDefault(); let device = jQuery(this).attr('data-device'); if ('desktop' == device) { device = 'tablet'; } else if ('tablet' == device) { device = 'mobile'; } else { device = 'desktop'; } jQuery('.wp-full-overlay-footer .devices button[data-device="' + device + '"]').trigger('click'); }); } function astraGetResponsiveSliderJs(control) { 'use strict'; let device = jQuery('.wp-full-overlay-footer .devices button.active').attr('data-device'); jQuery('.customize-control-ast-responsive-slider .input-field-wrapper').removeClass('active'); jQuery('.customize-control-ast-responsive-slider .input-field-wrapper.' + device).addClass('active'); jQuery('.customize-control-ast-responsive-slider .ast-responsive-slider-btns li').removeClass('active'); jQuery('.customize-control-ast-responsive-slider .ast-responsive-slider-btns li.' + device).addClass('active'); jQuery('.wp-full-overlay-footer .devices button').on('click', function () { let device = jQuery(this).attr('data-device'); jQuery('.customize-control-ast-responsive-slider .input-field-wrapper, .customize-control .ast-responsive-slider-btns > li').removeClass('active'); jQuery('.customize-control-ast-responsive-slider .input-field-wrapper.' + device + ', .customize-control .ast-responsive-slider-btns > li.' + device).addClass('active'); }); control.container.find('.ast-responsive-slider-btns button svg').on('click', function (event) { event.preventDefault(); let device = jQuery(this).parent('button').attr('data-device'); if ('desktop' == device) { device = 'tablet'; } else if ('tablet' == device) { device = 'mobile'; } else { device = 'desktop'; } jQuery('.wp-full-overlay-footer .devices button[data-device="' + device + '"]').trigger('click'); }); } function astraGetResponsiveSpacingJs(control) { 'use strict'; let device = jQuery('.wp-full-overlay-footer .devices button.active').attr('data-device'); jQuery('.customize-control-ast-responsive-spacing .input-wrapper .ast-spacing-wrapper').removeClass('active'); jQuery('.customize-control-ast-responsive-spacing .input-wrapper .ast-spacing-wrapper.' + device).addClass('active'); jQuery('.customize-control-ast-responsive-spacing .ast-spacing-responsive-btns li').removeClass('active'); jQuery('.customize-control-ast-responsive-spacing .ast-spacing-responsive-btns li.' + device).addClass('active'); jQuery('.wp-full-overlay-footer .devices button').on('click', function () { let device = jQuery(this).attr('data-device'); jQuery('.customize-control-ast-responsive-spacing .input-wrapper .ast-spacing-wrapper, .customize-control .ast-spacing-responsive-btns > li').removeClass('active'); jQuery('.customize-control-ast-responsive-spacing .input-wrapper .ast-spacing-wrapper.' + device + ', .customize-control .ast-spacing-responsive-btns > li.' + device).addClass('active'); }); control.container.find('.ast-spacing-responsive-btns button').on('click', function (event) { event.preventDefault(); let device = jQuery(this).attr('data-device'); if ('desktop' == device) { device = 'tablet'; } else if ('tablet' == device) { device = 'mobile'; } else { device = 'desktop'; } jQuery('.wp-full-overlay-footer .devices button[data-device="' + device + '"]').trigger('click'); }); } function astraGetAlignmentJS(control) { 'use strict'; let device = jQuery('.wp-full-overlay-footer .devices button.active').attr('data-device'); jQuery('.customize-control-ast-selector .input-wrapper .ast-alignment-responsive').removeClass('active'); jQuery('.customize-control-ast-selector .input-wrapper .ast-alignment-responsive.' + device).addClass('active'); jQuery('.customize-control-ast-selector .input-wrapper .ast-selector-responsive-wrap').removeClass('active'); jQuery('.customize-control-ast-selector .input-wrapper .ast-selector-responsive-wrap.' + device).addClass('active'); jQuery('.customize-control-ast-selector .ast-responsive-btns li').removeClass('active'); jQuery('.customize-control-ast-selector .ast-responsive-btns li.' + device).addClass('active'); jQuery('.wp-full-overlay-footer .devices button').on('click', function () { let device = jQuery(this).attr('data-device'); jQuery('.customize-control-ast-selector .input-wrapper .ast-selector-responsive-wrap, .customize-control-ast-selector .input-wrapper .ast-alignment-responsive, .customize-control .ast-responsive-btns > li').removeClass('active'); jQuery('.customize-control-ast-selector .input-wrapper .ast-selector-responsive-wrap.' + device + ', .customize-control-ast-selector .input-wrapper .ast-alignment-responsive.' + device + ', .customize-control .ast-responsive-btns > li.' + device).addClass('active'); }); control.container.find('.ast-responsive-btns button').on('click', function (event) { event.preventDefault(); let device = jQuery(this).attr('data-device'); if ('desktop' == device) { device = 'tablet'; } else if ('tablet' == device) { device = 'mobile'; } else { device = 'desktop'; } jQuery('.wp-full-overlay-footer .devices button[data-device="' + device + '"]').trigger('click'); }); } function astraGetResponsiveColorGroupJs(control, child_control_name) { 'use strict'; let device = jQuery('.wp-full-overlay-footer .devices button.active').attr('data-device'); jQuery('.customize-control-ast-color-group .ast-field-color-group-wrap .ast-color-group-responsive-wrap').removeClass('active'); jQuery('.customize-control-ast-color-group .ast-field-color-group-wrap .ast-color-group-responsive-wrap.' + device).addClass('active'); jQuery('.customize-control-ast-color-group .ast-responsive-btns li').removeClass('active'); jQuery('.customize-control-ast-color-group .ast-responsive-btns li.' + device).addClass('active'); jQuery('.wp-full-overlay-footer .devices button').on('click', function () { let device = jQuery(this).attr('data-device'); jQuery('.customize-control-ast-color-group .ast-field-color-group-wrap .ast-color-group-responsive-wrap').removeClass('active'); jQuery('.customize-control-ast-color-group .ast-field-color-group-wrap .ast-color-group-responsive-wrap.' + device).addClass('active'); jQuery('.customize-control-ast-color-group .ast-responsive-btns li').removeClass('active'); jQuery('.customize-control-ast-color-group .ast-responsive-btns li.' + device).addClass('active'); }); control.container.find('.ast-responsive-btns button').on('click', function (event) { event.preventDefault(); let device = jQuery(this).attr('data-device'); if ('desktop' == device) { device = 'tablet'; } else if ('tablet' == device) { device = 'mobile'; } else { device = 'desktop'; } jQuery('.wp-full-overlay-footer .devices button[data-device="' + device + '"]').trigger('click'); }); if (child_control_name) { jQuery(document).mouseup(function (e) { var container = jQuery(child_control_name); var bgWrap = container.find('.background-wrapper'); // If the target of the click isn't the container nor a descendant of the container. if (!bgWrap.is(e.target) && bgWrap.has(e.target).length === 0) { container.find('.components-button.astra-color-icon-indicate.open').click(); } }); } } function astraGetResponsiveToggleControlJs(control) { 'use strict'; let device = jQuery('.wp-full-overlay-footer .devices button.active').attr('data-device'); jQuery('.customize-control-ast-responsive-toggle-control .ast-responsive-toggle-control').removeClass('active'); jQuery('.customize-control-ast-responsive-toggle-control .ast-responsive-toggle-control.' + device).addClass('active'); jQuery('.customize-control-ast-responsive-toggle-control .ast-responsive-toggle-btns li').removeClass('active'); jQuery('.customize-control-ast-responsive-toggle-control .ast-responsive-toggle-btns li.' + device).addClass('active'); jQuery('.wp-full-overlay-footer .devices button').on('click', function () { let device = jQuery(this).attr('data-device'); jQuery('.customize-control-ast-responsive-toggle-control .ast-responsive-toggle-control, .customize-control .ast-responsive-toggle-btns > li').removeClass('active'); jQuery('.customize-control-ast-responsive-toggle-control .ast-responsive-toggle-control.' + device + ', .customize-control .ast-responsive-toggle-btns > li.' + device).addClass('active'); }); control.container.find('.ast-responsive-toggle-btns button svg').on('click', function (event) { event.preventDefault(); let device = jQuery(this).parent('button').attr('data-device'); if ('desktop' == device) { device = 'tablet'; } else if ('tablet' == device) { device = 'mobile'; } else { device = 'desktop'; } jQuery('.wp-full-overlay-footer .devices button[data-device="' + device + '"]').trigger('click'); }); } /** * Conditionally hide/show Site Title and Tagline dependent controls */ function siteTitleTaglineDependentControl(control) { 'use strict'; if ('astra-settings[display-site-title-responsive]' === control.id) { siteTitleDependentControls(control); var desktopToggleControl = jQuery(control.container).find('.ast-responsive-toggle-control.desktop .components-form-toggle__input'); var tabletToggleControl = jQuery(control.container).find('.ast-responsive-toggle-control.tablet .components-form-toggle__input'); var mobileToggleControl = jQuery(control.container).find('.ast-responsive-toggle-control.mobile .components-form-toggle__input'); jQuery(desktopToggleControl).change(function () { siteTitleDependentControls(control); }); jQuery(tabletToggleControl).change(function () { siteTitleDependentControls(control); }); jQuery(mobileToggleControl).change(function () { siteTitleDependentControls(control); }); } if ('astra-settings[display-site-tagline-responsive]' === control.id) { siteTaglineDependentControls(control); var desktopToggleControl = jQuery(control.container).find('.ast-responsive-toggle-control.desktop .components-form-toggle__input'); var tabletToggleControl = jQuery(control.container).find('.ast-responsive-toggle-control.tablet .components-form-toggle__input'); var mobileToggleControl = jQuery(control.container).find('.ast-responsive-toggle-control.mobile .components-form-toggle__input'); jQuery(desktopToggleControl).change(function () { siteTaglineDependentControls(control); }); jQuery(tabletToggleControl).change(function () { siteTaglineDependentControls(control); }); jQuery(mobileToggleControl).change(function () { siteTaglineDependentControls(control); }); } jQuery(document).ready(function () { restoreGeneralTabControls(); }); jQuery(document).ready(function () { restoreDesignTabControls(); }); } /** * Conditionally hide/show Site Title dependent controls */ function siteTitleDependentControls(control) { var container = jQuery(control.container); var desktopToggleVal = true === container.find('.ast-responsive-toggle-control.desktop .components-form-toggle__input').prop("checked") ? 'block' : 'none'; var tabletToggleVal = true === container.find('.ast-responsive-toggle-control.tablet .components-form-toggle__input').prop("checked") ? 'block' : 'none'; var mobileToggleVal = true === container.find('.ast-responsive-toggle-control.mobile .components-form-toggle__input').prop("checked") ? 'block' : 'none'; var dynamicStyle = '.preview-desktop #customize-control-blogname, .preview-desktop #customize-control-astra-settings-site-identity-title-color-group, .preview-desktop #customize-control-astra-settings-site-title-typography { display: ' + desktopToggleVal + ';} .preview-tablet #customize-control-blogname, .preview-tablet #customize-control-astra-settings-site-identity-title-color-group, .preview-tablet #customize-control-astra-settings-site-title-typography { display: ' + tabletToggleVal + ';} .preview-mobile #customize-control-blogname, .preview-mobile #customize-control-astra-settings-site-identity-title-color-group, .preview-mobile #customize-control-astra-settings-site-title-typography { display: ' + mobileToggleVal + ';}'; responsive_helper_dynamic_css('site-title-controls-visibility', dynamicStyle); if (0 < document.getElementsByClassName('ahfb-header-builder-is-active').length) { var hideControls = []; hideControls.push(document.querySelector('#customize-control-astra-settings-site-identity-title-color-group')); hideControls.push(document.querySelector('#customize-control-astra-settings-site-title-typography')); hideControls.forEach(hideControl => { if (null !== hideControl) { jQuery(hideControl).hide(); } }); } inlineLogoTitleToggleVisibility(); } /** * Conditionally hide/show Site Tagline dependent controls */ function siteTaglineDependentControls(control) { var container = jQuery(control.container); var desktopToggleVal = true === container.find('.ast-responsive-toggle-control.desktop .components-form-toggle__input').prop("checked") ? 'block' : 'none'; var tabletToggleVal = true === container.find('.ast-responsive-toggle-control.tablet .components-form-toggle__input').prop("checked") ? 'block' : 'none'; var mobileToggleVal = true === container.find('.ast-responsive-toggle-control.mobile .components-form-toggle__input').prop("checked") ? 'block' : 'none'; var dynamicStyle = '.preview-desktop #customize-control-blogdescription, .preview-desktop #customize-control-astra-settings-ast-site-title-tagline-divider, .preview-desktop #customize-control-astra-settings-header-color-site-tagline, .preview-desktop #customize-control-astra-settings-site-tagline-typography { display: ' + desktopToggleVal + ';} .preview-tablet #customize-control-blogdescription, .preview-tablet #customize-control-astra-settings-ast-site-title-tagline-divider, .preview-tablet #customize-control-astra-settings-header-color-site-tagline, .preview-tablet #customize-control-astra-settings-site-tagline-typography { display: ' + tabletToggleVal + ';} .preview-mobile #customize-control-blogdescription, .preview-mobile #customize-control-astra-settings-ast-site-title-tagline-divider, .preview-mobile #customize-control-astra-settings-header-color-site-tagline, .preview-mobile #customize-control-astra-settings-site-tagline-typography { display: ' + mobileToggleVal + ';}'; responsive_helper_dynamic_css('site-tagline-controls-visibility', dynamicStyle); if (0 < document.getElementsByClassName('ahfb-header-builder-is-active').length) { var hideControls = []; hideControls.push(document.querySelector('#customize-control-astra-settings-header-color-site-tagline')); hideControls.push(document.querySelector('#customize-control-astra-settings-site-tagline-typography')); hideControls.forEach(hideControl => { if (null !== hideControl) { jQuery(hideControl).hide(); } }); } inlineLogoTitleToggleVisibility(); } /** * Conditionally hide/show Inline Logo & Site Title dependent controls */ function inlineLogoTitleToggleVisibility() { var titleContainer = jQuery('#customize-control-astra-settings-display-site-title-responsive'); var taglineContainer = jQuery('#customize-control-astra-settings-display-site-tagline-responsive'); var desktopToggleVal = true === titleContainer.find('.ast-responsive-toggle-control.desktop .components-form-toggle__input').prop("checked") || true === taglineContainer.find('.ast-responsive-toggle-control.desktop .components-form-toggle__input').prop("checked") ? 'block' : 'none'; var tabletToggleVal = true === titleContainer.find('.ast-responsive-toggle-control.tablet .components-form-toggle__input').prop("checked") || true === taglineContainer.find('.ast-responsive-toggle-control.tablet .components-form-toggle__input').prop("checked") ? 'block' : 'none'; var mobileToggleVal = true === titleContainer.find('.ast-responsive-toggle-control.mobile .components-form-toggle__input').prop("checked") || true === taglineContainer.find('.ast-responsive-toggle-control.mobile .components-form-toggle__input').prop("checked") ? 'block' : 'none'; var dynamicStyle = '.preview-desktop #customize-control-astra-settings-logo-title-inline { display: ' + desktopToggleVal + ';} .preview-tablet #customize-control-astra-settings-logo-title-inline { display: ' + tabletToggleVal + ';} .preview-mobile #customize-control-astra-settings-logo-title-inline { display: ' + mobileToggleVal + ';}'; responsive_helper_dynamic_css('inline-logo-title-toggle-visibility', dynamicStyle); } /** * Restore visibility of Title and Tagline controls on click of Genaral tab */ function restoreGeneralTabControls() { var genralTab = document.querySelector('#sub-accordion-section-title_tagline .ahfb-general-tab'); jQuery(genralTab).click(function () { var controls = []; controls.push(document.querySelector('#customize-control-blogname')); controls.push(document.querySelector('#customize-control-astra-settings-logo-title-inline')); controls.push(document.querySelector('#customize-control-blogdescription')); controls.push(document.querySelector('#customize-control-astra-settings-ast-site-title-tagline-divider')); jQuery(document).ready(function () { controls.forEach(control => { if (null !== control && 'list-item' === control.style.getPropertyValue('display')) { control.style.removeProperty('display'); } }); }); }); } /** * Restore visibility of Title and Tagline controls on click of Design tab */ function restoreDesignTabControls() { var designTab = document.querySelector('#sub-accordion-section-title_tagline .ahfb-design-tab'); jQuery(designTab).click(function () { var controls = []; controls.push(document.querySelector('#customize-control-astra-settings-site-identity-title-color-group')); controls.push(document.querySelector('#customize-control-astra-settings-site-title-typography')); controls.push(document.querySelector('#customize-control-astra-settings-header-color-site-tagline')); controls.push(document.querySelector('#customize-control-astra-settings-site-tagline-typography')); var hideControls = []; hideControls.push(document.querySelector('#customize-control-blogname')); hideControls.push(document.querySelector('#customize-control-astra-settings-logo-title-inline')); hideControls.push(document.querySelector('#customize-control-blogdescription')); hideControls.push(document.querySelector('#customize-control-astra-settings-ast-site-title-tagline-divider')); jQuery(document).ready(function () { controls.forEach(control => { if (null !== control && 'list-item' === control.style.getPropertyValue('display')) { control.style.removeProperty('display'); } }); hideControls.forEach(hideControl => { if (null !== hideControl) { jQuery(hideControl).hide(); } }); }); }); } /** * Dynamic Internal/Embedded Style for a Control */ function responsive_helper_dynamic_css(control, style) { control = control.replace('[', '-'); control = control.replace(']', ''); jQuery('style#' + control).remove(); jQuery('head').append(''); } /***/ }), /***/ "./src/control-customizer.js": /*!***********************************!*\ !*** ./src/control-customizer.js ***! \***********************************/ /***/ (function() { (function ($, api) { api.bind('ready', function () { sessionStorage.removeItem('astPartialContentRendered'); /** * Trigger on Above header column or layout change. */ api('astra-settings[hba-footer-column]', function (value) { value.bind(function (columns) { let event = new CustomEvent('AstraBuilderChangeRowLayout', { 'detail': { 'columns': columns, 'layout': api.value('astra-settings[hba-footer-layout]').get(), 'type': 'above' } }); document.dispatchEvent(event); }); }); /** * Trigger on Primary header column or layout change. */ api('astra-settings[hb-footer-column]', function (value) { value.bind(function (columns) { let event = new CustomEvent('AstraBuilderChangeRowLayout', { 'detail': { 'columns': columns, 'layout': api.value('astra-settings[hb-footer-layout]').get(), 'type': 'primary' } }); document.dispatchEvent(event); }); }); /** * Trigger on Below header column or layout change. */ api('astra-settings[hbb-footer-column]', function (value) { value.bind(function (columns) { let event = new CustomEvent('AstraBuilderChangeRowLayout', { 'detail': { 'columns': columns, 'layout': api.value('astra-settings[hbb-footer-layout]').get(), 'type': 'below' } }); document.dispatchEvent(event); }); }); /** * Trigger on Global body font change. */ api('astra-settings[body-font-family]', function (value) { value.bind(function (font) { let event = new CustomEvent('AstraGlobalFontChangedastra_settings_body-font-variant', { 'detail': { 'font': font, 'control': 'body-font-family', 'variant': 'body-font-variant' } }); document.dispatchEvent(event); }); }); /** * Trigger on Global headings font change. */ api('astra-settings[headings-font-family]', function (value) { value.bind(function (font) { let event = new CustomEvent('AstraGlobalFontChangedastra_settings_headings-font-variant', { 'detail': { 'font': font, 'control': 'headings-font-family', 'variant': 'headings-font-variant' } }); document.dispatchEvent(event); }); }); /** * Trigger on different-mobile-logo change. */ api('astra-settings[different-mobile-logo]', function (value) { value.bind(function (checked) { let ctrl = api.control('astra-settings[mobile-header-logo]'); if (!checked && ctrl) { ctrl.container.find('.remove-button').click(); } }); }); /** * Trigger on ast-header-responsive-logo-width change. */ api('astra-settings[ast-header-responsive-logo-width]', function (value) { value.bind(function (currVal) { const customizer_preview_container = document.getElementById('customize-preview'); let iframe = customizer_preview_container.getElementsByTagName('iframe')[0]; let htmlContent = iframe.contentDocument || iframe.contentWindow.document; setTimeout(function () { if (null !== htmlContent.querySelector('.astra-logo-svg:not(.sticky-custom-logo .astra-logo-svg, .transparent-custom-logo .astra-logo-svg, .advanced-header-logo .astra-logo-svg)')) { let existingValues = api('astra-settings[ast-header-responsive-logo-width]').get(); let desktopHeight = htmlContent.querySelector('#ast-desktop-header .astra-logo-svg:not(.sticky-custom-logo .astra-logo-svg, .transparent-custom-logo .astra-logo-svg, .advanced-header-logo .astra-logo-svg)').clientHeight; let mobileTabletHeight = htmlContent.querySelector('#ast-mobile-header .astra-logo-svg:not(.sticky-custom-logo .astra-logo-svg, .transparent-custom-logo .astra-logo-svg, .advanced-header-logo .astra-logo-svg)').clientHeight; let selectedDevice = wp.customize.previewedDevice.get(); switch (selectedDevice) { case 'desktop': existingValues['desktop-svg-height'] = desktopHeight > 0 ? desktopHeight : ''; break; case 'tablet': existingValues['tablet-svg-height'] = mobileTabletHeight > 0 ? mobileTabletHeight : ''; break; case 'mobile': existingValues['mobile-svg-height'] = mobileTabletHeight > 0 ? mobileTabletHeight : ''; break; default: break; } api('astra-settings[ast-header-responsive-logo-width]').set(existingValues); } }, 250); }); }); /** * Trigger on transparent-header-logo-width change. */ api('astra-settings[transparent-header-logo-width]', function (value) { value.bind(function (currVal) { const customizer_preview_container = document.getElementById('customize-preview'); let iframe = customizer_preview_container.getElementsByTagName('iframe')[0]; let htmlContent = iframe.contentDocument || iframe.contentWindow.document; setTimeout(function () { if (null !== htmlContent.querySelector('.transparent-custom-logo .astra-logo-svg')) { let existingValues = api('astra-settings[transparent-header-logo-width]').get(); let desktopHeight = htmlContent.querySelector('#ast-desktop-header .transparent-custom-logo .astra-logo-svg').clientHeight; let mobileTabletHeight = htmlContent.querySelector('#ast-mobile-header .transparent-custom-logo .astra-logo-svg').clientHeight; let selectedDevice = wp.customize.previewedDevice.get(); switch (selectedDevice) { case 'desktop': existingValues['desktop-svg-height'] = desktopHeight > 0 ? desktopHeight : ''; break; case 'tablet': existingValues['tablet-svg-height'] = mobileTabletHeight > 0 ? mobileTabletHeight : ''; break; case 'mobile': existingValues['mobile-svg-height'] = mobileTabletHeight > 0 ? mobileTabletHeight : ''; break; default: break; } api('astra-settings[transparent-header-logo-width]').set(existingValues); } }, 250); }); }); /** * Pass data to previewer when device changed. */ api.previewedDevice.bind(function (new_device, old_device) { api.previewer.send('astPreviewDeviceChanged', { 'device': new_device }); let partialRendered = sessionStorage.getItem('astPartialContentRendered'), isCustomizerSaved = api.state('saved').get(); if (!partialRendered || isCustomizerSaved) { return; } let id = 'desktop' === new_device ? 'astra-settings[header-desktop-items]' : 'astra-settings[header-mobile-items]'; let api_id = api(id); if ('undefined' == typeof api_id) { return; } api_id.set({ ...api_id.get(), ...[], flag: !api_id.get().flag }); }); /** * Pass data to previewer when palette is modified. */ api('astra-settings[global-color-palette]', function (value) { value.bind(function (palette) { let paletteUpdateEvent = new CustomEvent('AstPaletteUpdated', { 'detail': { 'data': palette } }); document.dispatchEvent(paletteUpdateEvent); }); }); }); })(jQuery, wp.customize); /***/ }), /***/ "./src/core/control.js": /*!*****************************!*\ !*** ./src/core/control.js ***! \*****************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "coreControl": function() { return /* binding */ coreControl; } /* harmony export */ }); /** * Extending Customizer Control wp.customize.Control. * * @since 2.6.0 */ const coreControl = wp.customize.astraControl = wp.customize.Control.extend({ /** * A Customizer Control. * * A control provides a UI element that allows a user to modify a Customizer Setting. * Overriding this method to provide lazy loading of controls by initializing all the controls. * * @see PHP class WP_Customize_Control. * * @file wp-admin/js/customize-nav-menus.js * * @constructs wp.customize.Control * @augments wp.customize.Class * * @since 2.6.0 * * @return {void} */ initialize: function (id, options) { var _args$params, _args$params$divider; let control = this, ast_class = '', args = options || {}; args.params = args.params || {}; if (!args.params.type) { args.params.type = 'ast-core'; } if ((_args$params = args.params) !== null && _args$params !== void 0 && (_args$params$divider = _args$params.divider) !== null && _args$params$divider !== void 0 && _args$params$divider.ast_class) { ast_class = args.params.divider.ast_class; } if (!args.params.content) { args.params.content = jQuery('
  • '); args.params.content.attr('id', 'customize-control-' + id.replace(/]/g, '').replace(/\[/g, '-')); args.params.content.attr('class', ast_class + ' customize-control customize-control-' + args.params.type); } control.propertyElements = []; wp.customize.Control.prototype.initialize.call(control, id, args); }, /** * Triggered when the control's markup has been injected into the DOM. * Injecting markup from component based controls. * * @file wp-admin/js/customize-nav-menus.js * * @since 2.6.0 * * @returns {void} */ ready: function () { let control = this; wp.customize.Control.prototype.ready.call(control); control.deferred.embedded.done(); }, /** * Override the embed() method to do nothing, * so that the control isn't embedded on load, * unless the containing section is already expanded. * * @file wp-admin/js/customize-nav-menus.js * * @since 2.6.0 * * @returns {void} */ embed: function () { let control = this, sectionId = control.section(); if (!sectionId) { return; } wp.customize.section(sectionId, function (section) { if (section.expanded() || wp.customize.settings.autofocus.control === control.id) { control.actuallyEmbed(); } else { section.expanded.bind(function (expanded) { if (expanded) { control.actuallyEmbed(); } }); } }); }, /** * This function is called in control.embed() & control.focus() so the control * will only get embedded when the Section is first expanded. * * @file wp-admin/js/customize-nav-menus.js * * @since 2.6.0 * * @returns {void} */ actuallyEmbed: function () { var _control$params, _control$params$divid; let control = this; if ('resolved' === control.deferred.embedded.state()) { return; } control.renderContent(); // Insert title if param has. if (control !== null && control !== void 0 && (_control$params = control.params) !== null && _control$params !== void 0 && (_control$params$divid = _control$params.divider) !== null && _control$params$divid !== void 0 && _control$params$divid.ast_title) { control.container.prepend(''); } control.deferred.embedded.resolve(); // This triggers control.ready(). }, /** * Expand the containing section and focus on the control. * * @file wp-admin/js/customize-nav-menus.js * * @since 2.6.0 * * @param {Object} [params] - Params object. * @param {Function} [params.completeCallback] - Optional callback function when focus has completed. */ focus: function (params) { let control = this; control.actuallyEmbed(); wp.customize.Control.prototype.focus.call(control, params); } }); /***/ }), /***/ "./src/customizer-link/control.js": /*!****************************************!*\ !*** ./src/customizer-link/control.js ***! \****************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "customizerLinkControl": function() { return /* binding */ customizerLinkControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _customizer_link_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./customizer-link-component.js */ "./src/customizer-link/customizer-link-component.js"); const customizerLinkControl = wp.customize.Control.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_customizer_link_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/customizer-link/customizer-link-component.js": /*!**********************************************************!*\ !*** ./src/customizer-link/customizer-link-component.js ***! \**********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__); const { Dashicon } = wp.components; const CustomizerLinkComponent = props => { const onLinkClick = () => { const { linked, link_type } = props.control.params; switch (link_type) { case 'section': var section = wp.customize.section(linked); section.expand(); break; case 'control': wp.customize.control(linked).focus(); break; default: break; } }; const { linked, link_text, link_type, is_button_link } = props.control.params; let linkHtml = null; if (linked && link_text && '' === is_button_link) { linkHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("a", { href: "#", onClick: () => { onLinkClick(); }, className: "customizer-link", "data-customizer-linked": linked, "data-ast-customizer-link-type": link_type, dangerouslySetInnerHTML: { __html: link_text } }); } else { linkHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-builder-elements-section" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-builder-item-start" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { onClick: e => { e.preventDefault(); onLinkClick(); }, className: "components-button ahfb-builder-item", "data-customizer-linked": linked, "data-ast-customizer-link-type": link_type }, link_text, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ahfb-builder-item-icon" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Dashicon, { icon: "arrow-right-alt2" })))))); } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, linkHtml); }; CustomizerLinkComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(CustomizerLinkComponent)); /***/ }), /***/ "./src/customizer.js": /*!***************************!*\ !*** ./src/customizer.js ***! \***************************/ /***/ (function() { (function ($, api) { const $window = $(window), $body = $('body'); var expandedSection = []; var expandedPanel = ''; var defaultContextSet = ''; var is_cloning_index = false; /** * Resize Preview Frame when show / hide Builder. */ const resizePreviewer = function () { var $section = $('.control-section.ahfb-header-builder-active'); var $footer = $('.control-section.ahfb-footer-builder-active'); var sidebar_widgets = $('#available-widgets'); sidebar_widgets.css('bottom', '289px'); if ($body.hasClass('ahfb-header-builder-is-active') || $body.hasClass('ahfb-footer-builder-is-active')) { if ($body.hasClass('ahfb-footer-builder-is-active') && 0 < $footer.length && !$footer.hasClass('ahfb-builder-hide')) { api.previewer.container.css('bottom', $footer.outerHeight() + 'px'); } else if ($body.hasClass('ahfb-header-builder-is-active') && 0 < $section.length && !$section.hasClass('ahfb-builder-hide')) { sidebar_widgets.css('bottom', '289px'); api.previewer.container.css({ "bottom": $section.outerHeight() + 'px' }); } else { sidebar_widgets.css('bottom', '46px'); api.previewer.container.css('bottom', ''); } } else { api.previewer.container.css('bottom', ''); } $section.css('overflow', 'visible'); $footer.css('overflow', 'visible'); }; /** * Init Astra Header & Footer Builder */ const initAstraBuilderPanel = function (panel) { let builder = panel.id.includes("-header-") ? 'header' : 'footer'; var section = api.section('section-' + builder + '-builder'); if (section) { var $section = section.contentContainer, section_layout = api.section('section-' + builder + '-builder-layout'); panel.expanded.bind(function (isExpanded) { // Lazy load section on panel expand. AstCustomizerAPI.setControlContextBySection(section); AstCustomizerAPI.setControlContextBySection(section_layout); Promise.all([_.each(section.controls(), function (control) { if ('resolved' === control.deferred.embedded.state()) { return; } control.renderContent(); control.deferred.embedded.resolve(); // This triggers control.ready(). // Fire event after control is initialized. control.container.trigger('init'); }), _.each(section_layout.controls(), function (control) { if ('resolved' === control.deferred.embedded.state()) { return; } control.renderContent(); control.deferred.embedded.resolve(); // This triggers control.ready(). // Fire event after control is initialized. control.container.trigger('init'); })]).then(function () { resizePreviewer(); }); if (isExpanded) { expandedPanel = panel.id; $body.addClass('ahfb-' + builder + '-builder-is-active'); $section.addClass('ahfb-' + builder + '-builder-active'); $('#sub-accordion-panel-' + expandedPanel + ' li.control-section').hide(); if ('header' === builder) { $('#sub-accordion-section-section-footer-builder').css('overflow', 'hidden'); } else { $('#sub-accordion-section-section-header-builder').css('overflow', 'hidden'); } } else { $('#sub-accordion-section-section-footer-builder').css('overflow', 'hidden'); $('#sub-accordion-section-section-header-builder').css('overflow', 'hidden'); api.state('astra-customizer-tab').set('general'); $body.removeClass('ahfb-' + builder + '-builder-is-active'); $section.removeClass('ahfb-' + builder + '-builder-active'); } }); $section.on('click', '.ahfb-builder-tab-toggle', function (e) { e.preventDefault(); api.previewer.container.css({ "bottom": '0px' }); setTimeout(function () { $section.toggleClass('ahfb-builder-hide'); resizePreviewer(); }, 120); }); } }; /** * API for control/section/panel registrations. */ const AstCustomizerAPI = { addPanel: function (id, data) { // Return if panel already exists. if (api.panel(id)) { return; } var Constructor = api.panelConstructor[data.type] || api.Panel, options; options = _.extend({ params: data }, data); api.panel.add(new Constructor(id, options)); // Scroll to footer. if ('panel-footer-builder-group' === id) { $('#accordion-panel-' + id).on('click', function () { let $iframeBody = $body.find('iframe').contents().find('body.logged-in'); $body.find('iframe').contents().find('body, html').animate({ scrollTop: $iframeBody[0].scrollHeight }, 500); }); } // Scroll to header. if ('panel-header-builder-group' === id) { $('#accordion-panel-' + id).on('click', function () { $body.find('iframe').contents().find('body, html').animate({ scrollTop: 0 }, 500); }); } }, addSection: function (id, data) { // Return if section already exists. if (api.section(id)) { if (id.startsWith("sidebar-widgets-")) { api.section(id).panel(data['panel']); // Change panel. return; } api.section.remove(id); } var Constructor = api.sectionConstructor[data.type] || api.Section, options; options = _.extend({ params: data }, data); api.section.add(new Constructor(id, options)); }, addSubControl: function (parent_control_id) { if ('undefined' != typeof AstraBuilderCustomizerData) { let sub_controls = Object.assign({}, AstraBuilderCustomizerData.js_configs.sub_controls[parent_control_id]); for (const [section_id, config] of Object.entries(sub_controls)) { AstCustomizerAPI.addControl(config.id, config); } } }, addControl: function (id, data) { // Return if control already exists. if (!api.control(id)) { var Constructor = api.controlConstructor[data.type] || api.Control, options; options = _.extend({ params: data }, data); api.control.add(new Constructor(id, options)); } if (false !== is_cloning_index) { let cloneFromId = id; cloneFromId = cloneFromId.replace(/[0-9]+/g, is_cloning_index); // Replace random numeric with valid clone index. if (api.control(cloneFromId)) { let val = api(cloneFromId).get(); if (val) { api(id).set(val); } } } // Change description to tooltip. change_description_as_tooltip(api.control(id)); if ('ast-settings-group' === data['type'] || 'ast-color-group' === data['type'] || 'ast-sortable' === data['type']) { this.addSubControl(id); } }, addControlContext: function (section_id, control_id) { set_context(control_id); }, registerControlsBySection: async function (section) { let lazy = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; if (!section) { return; } if ('undefined' != typeof AstraBuilderCustomizerData) { let controls = Object.assign({}, AstraBuilderCustomizerData.js_configs.controls[section.id]); for (const [section_id, config] of Object.entries(controls)) { if (true === lazy && config.hasOwnProperty('lazy') && true === config.lazy) { this.addControl(config.id, config); continue; } if (config.hasOwnProperty('lazy') && true === config.lazy) { continue; } this.addControl(config.id, config); await null; } } }, deleteControlsBySection: function (section) { if (!section) { return false; } const controls = section.controls(); _.each(controls, function (control) { control.container.remove(); api.control.remove(control.id); }); }, resetControlsBySection: function (section_id) { if (!AstraBuilderCustomizerData.js_configs.controls.hasOwnProperty(section_id)) { return false; } const control_defaults = JSON.parse(JSON.stringify(AstraBuilderCustomizerData.defaults)); const controls = Object.assign({}, AstraBuilderCustomizerData.js_configs.controls[section_id]); for (const [control_id, config] of Object.entries(controls)) { if (control_defaults.hasOwnProperty(config.id)) { api(config.id).set(control_defaults[config.id]); api.control(config.id).renderContent(); } if ('ast-settings-group' === config['type']) { const sub_controls = Object.assign({}, AstraBuilderCustomizerData.js_configs.sub_controls[config.id] || []); for (const [sub_control_id, sub_config] of Object.entries(sub_controls)) { if (control_defaults.hasOwnProperty(sub_config.id)) { api(sub_config.id).set(control_defaults[sub_config.id]); } } } } }, setControlContextBySection: async function (section) { // Skip setting context when no tabs added inside section. if (expandedSection.includes(section.id)) { return; } if ('undefined' != typeof AstraBuilderCustomizerData) { let controls = Object.assign({}, AstraBuilderCustomizerData.js_configs.controls[section.id]); for (const [control_id, config] of Object.entries(controls)) { this.addControlContext(section.id, config.id); await null; } expandedSection.push(section.id); } }, setDefaultControlContext: function () { if ('undefined' === typeof AstraBuilderCustomizerData || defaultContextSet) { return; } let skip_context = AstraBuilderCustomizerData.js_configs.skip_context || []; // Set tab status as general for all wp default controls. $.each(api.settings.controls, async function (id, data) { if (-1 != skip_context.indexOf(id)) { // Do not init context if skipped. return; } if (-1 == AstraBuilderCustomizerData.tabbed_sections.indexOf(api.control(id).section())) { return; } let rules = AstraBuilderCustomizerData.contexts[id]; if (rules) { set_context(id, rules); } else { set_context(id, [{ "setting": "ast_selected_tab", "value": "general" }]); } await null; }); defaultContextSet = true; }, initializeDynamicSettings: async function () { let settings = Object.assign({}, AstraBuilderCustomizerData.dynamic_setting_options); for (const [setting_id, setting] of Object.entries(settings)) { api.add(new api.Setting(setting_id, setting.default, setting)); await null; } }, initializeConfigs: function () { if ('undefined' != typeof AstraBuilderCustomizerData && AstraBuilderCustomizerData.js_configs) { let panels = AstraBuilderCustomizerData.js_configs.panels || []; let sections = AstraBuilderCustomizerData.js_configs.sections || []; let controls = Object.assign({}, AstraBuilderCustomizerData.js_configs.controls || []); const prepare_panels = async () => { for (const [panel_id, config] of Object.entries(panels)) { AstCustomizerAPI.addPanel(panel_id, config); await null; } }; const prepare_section_controls = async () => { // Add controls to theme sections. for (const [section_id, config] of Object.entries(sections)) { AstCustomizerAPI.addSection(section_id, config); AstCustomizerAPI.registerControlsBySection(api.section(section_id)); delete controls[section_id]; await null; } }; const prepare_third_party_sections = async () => { // Add controls to third party sections. for (const [section_id, config] of Object.entries(controls)) { if ("undefined" === typeof api.section(section_id)) { continue; } AstCustomizerAPI.registerControlsBySection(api.section(section_id)); await null; } }; Promise.all([prepare_panels(), prepare_section_controls()]).then(function () { prepare_third_party_sections(); }); api.panel('panel-header-builder-group', initAstraBuilderPanel); api.panel('panel-footer-builder-group', initAstraBuilderPanel); } }, moveDefaultSection: async function () { // Updating Section for wp default controls. if ('undefined' != typeof AstraBuilderCustomizerData && AstraBuilderCustomizerData.js_configs.wp_defaults) { for (const [control, section] of Object.entries(AstraBuilderCustomizerData.js_configs.wp_defaults)) { api.control(control).section(section); await null; } } } }; /** * Change description to tooltip. * @param ctrl */ const change_description_as_tooltip = function (ctrl) { var desc = ctrl.container.find(".customize-control-description"); if (desc.length) { var li_wrapper = desc.closest("li"); // Replace unicode range with string characters. var tooltip = desc.text().replace(/[\u00A0-\u9999<>\&]/gim, function (i) { return '&#' + i.charCodeAt(0) + ';'; }); desc.remove(); li_wrapper.append(" "); } }; /** * Set context for all controls. * @param control_id * @param control_rules */ const set_context = function (control_id) { let control_rules = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; if ('undefined' != typeof AstraBuilderCustomizerData) { let rules = control_rules ? control_rules : AstraBuilderCustomizerData.contexts[control_id]; if (rules) { var getSetting = function (settingName) { switch (settingName) { case 'ast_selected_device': return api.previewedDevice; case 'ast_selected_tab': return api.state('astra-customizer-tab'); default: return api(settingName); } }; var initContext = function (element) { const compareByOperator = function (rule) { var result = false, setting = getSetting(rule['setting']); if ('undefined' == typeof setting) { return false; } var operator = rule['operator'], comparedValue = rule['value'], currentValue = setting.get(); if (undefined == operator || '=' == operator) { operator = '=='; } if (typeof currentValue === 'object' && undefined !== currentValue[rule['setting-key']]) { currentValue = currentValue[rule['setting-key']]; } switch (operator) { case '>': result = currentValue > comparedValue; break; case '<': result = currentValue < comparedValue; break; case '>=': result = currentValue >= comparedValue; break; case '<=': result = currentValue <= comparedValue; break; case 'in': result = 0 <= comparedValue.indexOf(currentValue); break; case 'contains': result = 0 <= currentValue.indexOf(comparedValue); break; case '!=': result = comparedValue != currentValue; break; default: result = comparedValue == currentValue; break; } return result; }; const compareByRelation = function (relation, displayed, result) { switch (relation) { case 'OR': displayed = displayed || result; break; default: displayed = displayed && result; break; } return displayed; }; const getResultByRules = function (rules, relation, displayed) { _.each(rules, function (rule, key) { if ('relation' == key) return; if ('AND' == relation && false == displayed) return; if (undefined === rule['setting']) { let contextRelation = rule['relation']; if (!contextRelation) { return; } displayed = getResultByRules(rule, contextRelation, false); } else { var result = compareByOperator(rule); displayed = compareByRelation(relation, displayed, result); } }); return displayed; }; const bindSettings = function (rules) { _.each(rules, function (rule, index) { var setting = getSetting(rule['setting']); if (undefined !== setting) { setting.bind(setActiveState); } else { if (rule['relation']) { bindSettings(rule); } } }); }; var isDisplayed = function () { var displayed = false, relation = rules['relation']; if ('OR' !== relation) { relation = 'AND'; displayed = true; } return getResultByRules(rules, relation, displayed); }; var setActiveState = function () { element._toggleActive(isDisplayed(), { duration: 0 }); }; bindSettings(rules); element.active.validate = isDisplayed; setActiveState(); }; api.control(control_id, initContext); } } }; /** * Highliting the active componenet. * @param customizer_section */ const highlight_active_component = function (customizer_section) { var builder_items = $('.ahfb-builder-drop .ahfb-builder-item'); $.each(builder_items, async function (i, val) { var component_section = $(val).attr('data-section'); if (component_section === customizer_section.id && $('#sub-accordion-section-' + component_section).hasClass('open')) { $(val).addClass('active-builder-item'); } else { $(val).removeClass('active-builder-item'); } await null; }); }; /** * Highliting the active row. * @param customizer_section */ const highlight_active_row = function (customizer_section) { // Highlight builder rows. var builder_rows = $('.ahfb-builder-items .ahfb-builder-areas'); $.each(builder_rows, async function (i, val) { var builder_row = $(val).attr('data-row-section'); if (builder_row === customizer_section.id && $('#sub-accordion-section-' + builder_row).hasClass('open')) { $(val).addClass('active-builder-row'); } else { $(val).removeClass('active-builder-row'); } await null; }); }; /** * Set context using URL query params. */ const set_context_by_url_params = function () { let urlParams = new URLSearchParams(window.location.search); let tab = urlParams.get("context"); if (tab) { api.state('astra-customizer-tab').set(tab); } }; /** * Set active tab class to section. */ const setContextActiveTab = function (sectionID) { if (sectionID.length > 0) { var activeContextTab = api.state('astra-customizer-tab').get(); sectionID.removeClass('ast-active-general-tab').removeClass('ast-active-design-tab').addClass('ast-active-' + activeContextTab + '-tab'); } }; const astra_builder_clear_operation_session = function () { sessionStorage.removeItem('astra-builder-clone-in-progress'); sessionStorage.removeItem('astra-builder-eradicate-in-progress'); sessionStorage.removeItem('astra-builder-reset-in-progress'); }; const setPaletteVariables = function () { const globalPalette = wp.customize.control('astra-settings[global-color-palette]').setting.get(); const customizerPreviewContainer = document.getElementById('customize-preview'); const iframe = customizerPreviewContainer.getElementsByTagName('iframe')[0]; const innerDoc = iframe.contentDocument || iframe.contentWindow.document; let stylePrefix = astra.customizer.globalPaletteStylePrefix; Object.entries(globalPalette.palette).map((paletteItem, index) => { innerDoc.documentElement.style.setProperty(stylePrefix + index, paletteItem[1]); document.documentElement.style.setProperty(stylePrefix + index, paletteItem[1]); if (true === astra.customizer.isElementorActive && !astra.customizer.isGlobalColorElementorDisabled) { let paletteSlugs = astra.customizer.globalPaletteSlugs; // Set css variables for Elementor style. innerDoc.documentElement.style.setProperty('--e-global-color-' + paletteSlugs[index].replace(/-/g, ""), paletteItem[1]); } }); }; api.bind('ready', function () { astra_builder_clear_operation_session(); api.state.create('astra-customizer-tab'); api.state('astra-customizer-tab').set('general'); // Set handler when custom responsive toggle is clicked. $('#customize-theme-controls').on('click', '.ahfb-build-tabs-button:not(.ahfb-nav-tabs-button)', function (e) { e.preventDefault(); api.previewedDevice.set($(this).attr('data-device')); }); // Set handler when custom responsive toggle is clicked. $('#customize-theme-controls').on('click', '.ahfb-compontent-tabs-button:not(.ahfb-nav-tabs-button)', function (e) { e.preventDefault(); api.state('astra-customizer-tab').set($(this).attr('data-tab')); setContextActiveTab($(this).closest("ul.control-section.open")); }); const setCustomTabElementsDisplay = function () { var tabState = api.state('astra-customizer-tab').get(), $tabs = $('.ahfb-compontent-tabs-button:not(.ahfb-nav-tabs-button)'); $tabs.removeClass('nav-tab-active').filter('.ahfb-' + tabState + '-tab').addClass('nav-tab-active'); }; // Refresh all responsive elements when previewedDevice is changed. api.state('astra-customizer-tab').bind(setCustomTabElementsDisplay); $window.on('resize', resizePreviewer); setTimeout(function () { Promise.all([AstCustomizerAPI.initializeDynamicSettings(), AstCustomizerAPI.initializeConfigs()]).then(function () { api.section.each(function (section) { section.expanded.bind(function (isExpanded) { setTimeout(function () { AstCustomizerAPI.registerControlsBySection(api.section(section.id), true); }, 1000); // Lazy Loaded Context. AstCustomizerAPI.setControlContextBySection(api.section(section.id)); if (!isExpanded) { // Setting general context when collapsed. api.state('astra-customizer-tab').set('general'); } if (section.id) { setContextActiveTab($('#sub-accordion-section-' + section.id)); } $('#sub-accordion-panel-' + expandedPanel + ' li.control-section').hide(); var customizer_section = api.section(section.id); set_context_by_url_params(); _.each(section.controls(), function (control) { highlight_active_component(customizer_section); highlight_active_row(customizer_section); }); }); }); AstCustomizerAPI.moveDefaultSection(); }); }, 200); api.previewer.bind('ready', function () { AstCustomizerAPI.setDefaultControlContext(); astra_builder_clear_operation_session(); // Local font files regeneration logic. $('input.ast-flush-font-files').on('click', function (e) { var data = { action: 'astra_regenerate_fonts_folder', nonce: AstraBuilderCustomizerData.astraRegenerateFonts }; $('input.ast-flush-font-files').attr('disabled', 'disabled'); $.post(ajaxurl, data, function (response) { if (response && response.success) { $('input.ast-flush-font-files').val(AstraBuilderCustomizerData.successFlushed); setTimeout(function () { $('input.ast-flush-font-files').prop('disabled', false); $('input.ast-flush-font-files').val(AstraBuilderCustomizerData.initialFlushText); }, 1000); } else { $('input.ast-flush-font-files').val(AstraBuilderCustomizerData.failedFlushed); setTimeout(function () { $('input.ast-flush-font-files').prop('disabled', false); $('input.ast-flush-font-files').val(AstraBuilderCustomizerData.initialFlushText); }, 1000); } }); }); api.previewer.bind('AstraBuilderPartialContentRendered', function (message) { // Clear clone process if partially refreshed. astra_builder_clear_operation_session(); }); document.addEventListener('AstraBuilderCloneSectionControls', function (e) { let cloneData = e.detail; if (!cloneData) { return; } let clone_to_section = cloneData.clone_to_section, clone_from_section = cloneData.clone_from_section; // Return if cloning section already presents. if (api.section(clone_to_section)) { return; } let section_config = AstraBuilderCustomizerData.js_configs.clone_sections[clone_to_section]; if (!section_config) { section_config = AstraBuilderCustomizerData.js_configs.sections[clone_to_section]; } AstCustomizerAPI.addSection(clone_to_section, section_config); is_cloning_index = clone_from_section.match(/\d+$/)[0]; Promise.all([AstCustomizerAPI.registerControlsBySection(api.section(clone_to_section))]).then(function () { is_cloning_index = false; }); api.section(clone_to_section).expanded.bind(function (isExpanded) { AstCustomizerAPI.setControlContextBySection(api.section(clone_to_section)); }); }); document.addEventListener('AstraBuilderDeleteSectionControls', function (e) { let forceRemoveSection = e.detail; if (!forceRemoveSection) { return; } let section = api.section(forceRemoveSection.section); if (section && section.expanded) { section.collapse(); } AstCustomizerAPI.deleteControlsBySection(section); api.section.remove(forceRemoveSection.section); }); setPaletteVariables(); document.addEventListener("AstUpdatePaletteVariables", setPaletteVariables, false); }); }); })(jQuery, wp.customize); /***/ }), /***/ "./src/description/control.js": /*!************************************!*\ !*** ./src/description/control.js ***! \************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "descriptionControl": function() { return /* binding */ descriptionControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _description_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./description-component */ "./src/description/description-component.js"); const descriptionControl = wp.customize.Control.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_description_component__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/description/description-component.js": /*!**************************************************!*\ !*** ./src/description/description-component.js ***! \**************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var react_html_parser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-html-parser */ "./node_modules/react-html-parser/lib/index.js"); const DescriptionComponent = props => { let htmlLabel = null; let htmlHelp = null; let htmlDescription = null; if (props.control.params.label) { htmlLabel = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, props.control.params.label); } if (props.control.params.help) { htmlHelp = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ast-description" }, (0,react_html_parser__WEBPACK_IMPORTED_MODULE_1__["default"])(props.control.params.help)); } if (props.control.params.description) { htmlDescription = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "description customize-control-description" }, props.control.params.description); } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", { className: "customizer-text" }, htmlLabel, htmlHelp, htmlDescription)); }; DescriptionComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(DescriptionComponent)); /***/ }), /***/ "./src/divider/control.js": /*!********************************!*\ !*** ./src/divider/control.js ***! \********************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "dividerControl": function() { return /* binding */ dividerControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _divider_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./divider-component.js */ "./src/divider/divider-component.js"); const dividerControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_divider_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/divider/divider-component.js": /*!******************************************!*\ !*** ./src/divider/divider-component.js ***! \******************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); const DividerComponent = props => { const { caption, separator, label, description, suffix } = props.control.params; let separatorHtml = null; let captionHtml = null; let labelHtml = null; let descriptionHtml = null; let suffixHtml = null; if (false !== separator) { separatorHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("hr", null); } if (caption) { captionHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-caption" }, caption); } if (label) { labelHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, label); separatorHtml = null; } if (description) { descriptionHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "description customize-control-description" }, description); } if (suffix) { suffixHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "suffix customize-control-suffix" }, suffix); } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, captionHtml, separatorHtml, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", { className: "customizer-text sadsad" }, labelHtml, suffixHtml, descriptionHtml)); }; DividerComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(DividerComponent)); /***/ }), /***/ "./src/draggable/control.js": /*!**********************************!*\ !*** ./src/draggable/control.js ***! \**********************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "DraggableControl": function() { return /* binding */ DraggableControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _draggable_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./draggable-component.js */ "./src/draggable/draggable-component.js"); const DraggableControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_draggable_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control, customizer: wp.customize }), control.container[0]); } }); /***/ }), /***/ "./src/draggable/draggable-component.js": /*!**********************************************!*\ !*** ./src/draggable/draggable-component.js ***! \**********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); const { Dashicon, Button } = wp.components; const { Fragment } = wp.element; const DraggableComponent = props => { let settings = {}; let defaultParams = {}; let controlParams = props.control.params.input_attrs ? { ...defaultParams, ...props.control.params.input_attrs } : defaultParams; if (props.customizer.control(controlParams.group)) { settings = props.customizer.control(controlParams.group).setting.get(); } let choices = AstraBuilderCustomizerData && AstraBuilderCustomizerData.choices && AstraBuilderCustomizerData.choices[controlParams.group] ? AstraBuilderCustomizerData.choices[controlParams.group] : []; const [state, setState] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)({ settings: settings }); const linkRemovingItem = () => { document.addEventListener('AstraBuilderRemovedBuilderItem', function (e) { if (e.detail === controlParams.group) { onUpdate(); } }); }; linkRemovingItem(); const onUpdate = () => { if (props.customizer.control(controlParams.group)) { const settings = props.customizer.control(controlParams.group).setting.get(); setState(prevState => ({ ...prevState, settings: settings })); } }; const focusPanel = item => { if (props.customizer.section(choices[item].section)) { props.customizer.section(choices[item].section).focus(); } }; const renderItem = (item, row) => { let available = true; controlParams.zones.map(zone => { if (state.settings[zone]) { Object.keys(state.settings[zone]).map(area => { if (state.settings[zone][area].includes(item)) { available = false; } }); } }); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Fragment, { key: item }, !available && row === 'links' && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: 'ahfb-builder-item-start' }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Button, { className: "ahfb-builder-item", "data-id": item, onClick: () => focusPanel(item), "data-section": choices[item] && choices[item].section ? choices[item].section : '', key: item }, choices[item] && choices[item].name ? choices[item].name : '', (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ahfb-builder-item-icon" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Dashicon, { icon: "arrow-right-alt2" }))))); }; let droppedCount = 0; controlParams.zones.map(zone => { if (state.settings[zone]) { Object.keys(state.settings[zone]).map(area => { droppedCount = droppedCount + state.settings[zone][area].length; }); } }); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-control-field ahfb-available-items" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-builder-elements-section" }, Object.keys(choices).map(item => { return renderItem(item, 'links'); }), !droppedCount && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ast-builder-elements-notice" }, " ", (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Elements used in the builder will be visible here.', 'astra'), " "))); }; DraggableComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object.isRequired), customizer: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(DraggableComponent)); /***/ }), /***/ "./src/header-type-button/control.js": /*!*******************************************!*\ !*** ./src/header-type-button/control.js ***! \*******************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "HeaderTypeButtonControl": function() { return /* binding */ HeaderTypeButtonControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _header_type_button_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./header-type-button-component */ "./src/header-type-button/header-type-button-component.js"); const HeaderTypeButtonControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_header_type_button_component__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control, customizer: wp.customize }), control.container[0]); } }); /***/ }), /***/ "./src/header-type-button/header-type-button-component.js": /*!****************************************************************!*\ !*** ./src/header-type-button/header-type-button-component.js ***! \****************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); const { Dashicon, Button } = wp.components; const HeaderTypeButtonComponent = props => { let defaultParams = { 'section': '' }; let controlParams = props.control.params.input_attrs ? { ...defaultParams, ...props.control.params.input_attrs } : defaultParams; const focusPanel = section => { if (undefined !== props.customizer.section(section)) { props.customizer.section(section).focus(); } }; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-control-field ahfb-available-items" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: 'ahfb-builder-item-start' }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Button, { className: "ahfb-builder-item", onClick: () => focusPanel(controlParams.section), "data-section": controlParams.section }, controlParams.label ? controlParams.label : '', (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ahfb-builder-item-icon" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Dashicon, { icon: "arrow-right-alt2" }))))); }; HeaderTypeButtonComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object.isRequired), customizer: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(HeaderTypeButtonComponent)); /***/ }), /***/ "./src/heading/control.js": /*!********************************!*\ !*** ./src/heading/control.js ***! \********************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "headingControl": function() { return /* binding */ headingControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _heading_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./heading-component.js */ "./src/heading/heading-component.js"); const headingControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_heading_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/heading/heading-component.js": /*!******************************************!*\ !*** ./src/heading/heading-component.js ***! \******************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); const HeadingComponent = props => { let htmlCaption = null; let htmlLabel = null; let htmlDescription = null; let astClass = null; if (props.control.params.caption) { htmlCaption = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-caption" }, props.control.params.caption); } if (props.control.params.label) { htmlLabel = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title wp-ui-text-highlight" }, props.control.params.label); } if (props.control.params.description) { htmlDescription = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "description customize-control-description" }, props.control.params.description); } if (undefined !== props.control.params.input_attrs && props.control.params.input_attrs.class) { astClass = props.control.params.input_attrs.class; } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, htmlCaption, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: `ast-heading-wrapper wp-ui-highlight ${astClass}` }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", { className: "customizer-text" }, htmlLabel, htmlDescription))); }; HeadingComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(HeadingComponent)); /***/ }), /***/ "./src/hidden/control.js": /*!*******************************!*\ !*** ./src/hidden/control.js ***! \*******************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "hiddenControl": function() { return /* binding */ hiddenControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _hidden_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hidden-component.js */ "./src/hidden/hidden-component.js"); const hiddenControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_hidden_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/hidden/hidden-component.js": /*!****************************************!*\ !*** ./src/hidden/hidden-component.js ***! \****************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); const HiddenComponent = props => { let props_value = props.control.setting.get(); let name = props.control.params.settings.default; name = name.replace('[', '-'); name = name.replace(']', ''); const cssClass = `hidden-field-${name}`; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("input", { type: "hidden", className: cssClass, "data-name": name, value: JSON.stringify(props_value) }); }; HiddenComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(HiddenComponent)); /***/ }), /***/ "./src/html-editor/control.js": /*!************************************!*\ !*** ./src/html-editor/control.js ***! \************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "EditorControl": function() { return /* binding */ EditorControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _editor_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./editor-component.js */ "./src/html-editor/editor-component.js"); const EditorControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_editor_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control, customizer: wp.customize }), control.container[0]); } }); /***/ }), /***/ "./src/html-editor/editor-component.js": /*!*********************************************!*\ !*** ./src/html-editor/editor-component.js ***! \*********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/debounce */ "./node_modules/lodash/debounce.js"); /* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); const EditorComponent = props => { let value = props.control.setting.get(); const [state, setState] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)({ value, editor: {}, restoreTextMode: false }); let defaultParams = { id: 'header_html', toolbar1: 'formatselect | styleselect | bold italic strikethrough | forecolor backcolor | link | alignleft aligncenter alignright alignjustify | numlist bullist outdent indent | insert ast_placeholders | fontsizeselect', toolbar2: '' }; let controlParams = props.control.params.input_attrs ? { ...defaultParams, ...props.control.params.input_attrs } : defaultParams; const updateValues = value => { setState(prevState => ({ ...prevState, value: value })); props.control.setting.set(value); }; (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(() => { if (window.tinymce.get(controlParams.id)) { setState(prevState => ({ ...prevState, restoreTextMode: window.tinymce.get(controlParams.id).isHidden() })); window.wp.oldEditor.remove(controlParams.id); } window.wp.oldEditor.initialize(controlParams.id, { tinymce: { wpautop: true, height: 200, menubar: false, toolbar1: controlParams.toolbar1, toolbar2: controlParams.toolbar2, fontsize_formats: "8pt 9pt 10pt 11pt 12pt 14pt 18pt 24pt 30pt 36pt 48pt 60pt 72pt 96pt" }, quicktags: true, mediaButtons: true }); const editor = window.tinymce.get(controlParams.id); if (editor.initialized) { onInit(); } else { editor.on('init', onInit); } // Add Custom Shortcode support. editor.addButton('ast_placeholders', { type: 'menubutton', text: 'Tags', icon: false, menu: [{ text: 'Copyright', icon: false, value: '[copyright]', onclick: function () { editor.insertContent(this.value()); } }, { text: 'Current Year', icon: false, value: '[current_year]', onclick: function () { editor.insertContent(this.value()); } }, { text: 'Site Title', icon: false, value: '[site_title]', onclick: function () { editor.insertContent(this.value()); } }, { text: 'Theme Author', icon: false, value: '[theme_author]', onclick: function () { editor.insertContent(this.value()); } }] }); }, []); const onInit = () => { const editor = window.tinymce.get(controlParams.id); if (state.restoreTextMode) { window.switchEditors.go(controlParams.id, 'html'); } editor.on('NodeChange', lodash_debounce__WEBPACK_IMPORTED_MODULE_1___default()(triggerChangeIfDirty, 250)); setState(prevState => ({ ...prevState, editor: editor })); }; const triggerChangeIfDirty = () => { updateValues(window.wp.oldEditor.getContent(controlParams.id)); }; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-control-field ast-html-editor" }, props.control.params.label && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, props.control.params.label), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("textarea", { className: "ahfb-control-tinymce-editor wp-editor-area", id: controlParams.id, value: state.value, onChange: _ref => { let { target: { value } } = _ref; updateValues(value); } }), props.control.params.description && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-description" }, props.control.params.description)); }; EditorComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object.isRequired), customizer: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(EditorComponent)); /***/ }), /***/ "./src/link/control.js": /*!*****************************!*\ !*** ./src/link/control.js ***! \*****************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "linkControl": function() { return /* binding */ linkControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _link_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./link-component.js */ "./src/link/link-component.js"); const linkControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_link_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/link/link-component.js": /*!************************************!*\ !*** ./src/link/link-component.js ***! \************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _ast_toggle_toggle_control__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../ast-toggle/toggle-control */ "./src/ast-toggle/toggle-control.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__); const LinkComponent = props => { let prop_value = props.control.setting.get(); const [state, setState] = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(prop_value); (0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(() => { // If settings are changed externally. if (state !== prop_value) { setState(prop_value); } }, [props]); const onUrlChange = value => { const obj = { ...state, url: value }; setState(obj); props.control.setting.set(obj); }; const onCheckboxChange = () => { const obj = { ...state, new_tab: event.target.checked }; setState(obj); props.control.setting.set(obj); }; const onRelChange = value => { const obj = { ...state, link_rel: value }; setState(obj); props.control.setting.set(obj); }; const { value, label, settings } = props.control.params; const { url, new_tab, link_rel } = state; let name = settings.default; name = name.replace('[', '-'); name = name.replace(']', ''); let labelHtml = null; if (label) { labelHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, label)); } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, labelHtml, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "customize-control-content" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.TextControl, { value: url, className: 'ast-link-input', onChange: value => { onUrlChange(value); } })), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "customize-control-content ast-link-open-in-new-tab-wrapper ast-togglecontrol-wrapper" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_ast_toggle_toggle_control__WEBPACK_IMPORTED_MODULE_3__["default"], { label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Open in a New Tab', 'astra'), checked: new_tab, onChange: () => onCheckboxChange() })), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "customize-control-content" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Link Rel'))), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.TextControl, { value: link_rel, className: 'ast-link-relationship', onChange: value => { onRelChange(value); } })), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("input", { type: "hidden", id: `_customize-input-${settings.default}`, className: "customize-link-control-data", name: name, "data-customize-setting-link": settings.default, "data-value": JSON.stringify(value) })); }; LinkComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (LinkComponent); /***/ }), /***/ "./src/list-icons/control.js": /*!***********************************!*\ !*** ./src/list-icons/control.js ***! \***********************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "ListIconsControl": function() { return /* binding */ ListIconsControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _list_icons_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./list-icons-component.js */ "./src/list-icons/list-icons-component.js"); const ListIconsControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_list_icons_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/list-icons/item-component.js": /*!******************************************!*\ !*** ./src/list-icons/item-component.js ***! \******************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _fonticonpicker_react_fonticonpicker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @fonticonpicker/react-fonticonpicker */ "./node_modules/@fonticonpicker/react-fonticonpicker/dist/fonticonpicker.react.js"); /* harmony import */ var _fonticonpicker_react_fonticonpicker__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_fonticonpicker_react_fonticonpicker__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _assets_svg_ast_social_icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../assets/svg/ast-social-icons */ "../../../assets/svg/ast-social-icons.json"); /* harmony import */ var _assets_js_ast_render_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../assets/js/ast-render-svg */ "../../assets/js/ast-render-svg.js"); const { __ } = wp.i18n; const { Dashicon, Tooltip, TextControl, Button } = wp.components; let svg_icons = Object.keys(_assets_svg_ast_social_icons__WEBPACK_IMPORTED_MODULE_3__); const ItemComponent = props => { const Icons = window.svgIcons; const [state, setState] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({ open: false }); const [selectedIcon, setSelectedIcon] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(props.item.icon); (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => { setSelectedIcon(Icons[props.item.icon]); }, []); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-sorter-item", "data-id": props.item.id, key: props.item.id }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-sorter-item-panel-header", onClick: e => { e.stopPropagation(); setState(prevState => ({ ...prevState, open: state.open ? false : true })); } }, props.item.icon && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Button, { className: "ahfb-sorter-visiblity" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { dangerouslySetInnerHTML: { __html: selectedIcon } })), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ahfb-sorter-title" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "feature-label" }, " ", props.item.label ? props.item.label : __('Feature Item', 'astra'), " ")), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Button, { className: `ast-sorter-item-expand ${props.item.enabled ? 'item-is-visible' : 'item-is-hidden'}`, onClick: e => { e.stopPropagation(); props.cloneItem(props.item); const featuredItems = jQuery(e.target).closest('.ahfb-sorter-drop-list_item_group').find('.ahfb-sorter-item'); featuredItems.find('.ahfb-sorter-item-remove.hide').toggleClass('hide'); } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Dashicon, { icon: "admin-page" })), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Button, { className: `ahfb-sorter-item-remove ${props.item.enabled ? 'item-is-visible' : 'item-is-hidden'}`, isDestructive: true, onClick: e => { e.stopPropagation(); props.removeItem(props.index); const featuredItems = jQuery(e.target).closest('.ahfb-sorter-drop-list_item_group').find('.ahfb-sorter-item'); if (parseInt(featuredItems.length) - 1 == 1) { featuredItems.find('.ahfb-sorter-item-remove').toggleClass('hide'); } } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Dashicon, { icon: "no-alt" }))), state.open && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-sorter-item-panel-content" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(TextControl, { label: __('Text', 'astra'), value: props.item.label ? props.item.label : '', onChange: value => { props.onChangeLabel(value, props.index); } }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("p", { className: "ast-social-icon-picker-label" }, __('Icon', 'astra')), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)((_fonticonpicker_react_fonticonpicker__WEBPACK_IMPORTED_MODULE_2___default()), { icons: svg_icons, renderFunc: _assets_js_ast_render_svg__WEBPACK_IMPORTED_MODULE_4__["default"], theme: "default", value: props.item.icon, onChange: value => { props.onChangeIcon(value, props.index); setSelectedIcon(Icons[value]); }, isMulti: false, noSelectedPlaceholder: __('Select Icon', 'astra') }))); }; /* harmony default export */ __webpack_exports__["default"] = (ItemComponent); /***/ }), /***/ "./src/list-icons/list-icons-component.js": /*!************************************************!*\ !*** ./src/list-icons/list-icons-component.js ***! \************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var react_sortablejs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-sortablejs */ "./node_modules/react-sortablejs/dist/index.js"); /* harmony import */ var react_sortablejs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_sortablejs__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _item_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./item-component */ "./src/list-icons/item-component.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__); const { __ } = wp.i18n; const ListIconsComponent = props => { let value = props.control.setting.get(); let baseDefault = { 'items': [{ 'id': 'facebook', 'enabled': true, 'icon': 'facebook', 'label': 'Facebook' }, { 'id': 'twitter', 'enabled': true, 'icon': 'twitter', 'label': 'Twitter' }] }; let defaultValue = props.control.params.default ? { ...baseDefault, ...props.control.params.default } : baseDefault; value = value ? { ...defaultValue, ...value } : defaultValue; let defaultParams = { 'group': 'list_item_group', 'options': [{ value: 'facebook', label: __('Facebook', 'astra') }, { value: 'twitter', label: __('Twitter', 'astra') }, { value: 'instagram', label: __('Instagram', 'astra') }, { value: 'youtube', label: __('YouTube', 'astra') }, { value: 'facebook_group', label: __('Facebook Group', 'astra') }, { value: 'vimeo', label: __('Vimeo', 'astra') }, { value: 'pinterest', label: __('Pinterest', 'astra') }, { value: 'linkedin', label: __('Linkedin', 'astra') }, { value: 'medium', label: __('Medium', 'astra') }, { value: 'wordpress', label: __('WordPress', 'astra') }].sort((a, b) => { if (a.value < b.value) { return -1; } if (a.value > b.value) { return 1; } return 0; }) }; let controlParams = props.control.params.input_attrs ? { ...defaultParams, ...props.control.params.input_attrs } : defaultParams; let availibleSocialOptions = []; controlParams.options.map(option => { if (!value.items.some(obj => obj.id === option.value)) { availibleSocialOptions.push(option); } }); const [state, setState] = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)({ value: value, isVisible: false, control: undefined !== availibleSocialOptions[0] && undefined !== availibleSocialOptions[0].value ? availibleSocialOptions[0].value : '', icon: '' }); (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)(() => { // If settings are changed externally. setState(prevState => ({ ...prevState, value: props.control.setting.get() })); }, [props]); const updateValues = value => { props.control.setting.set({ ...props.control.setting.get(), ...value, flag: !props.control.setting.get().flag }); }; const onDragStop = () => { let dropzones = document.querySelectorAll('.ahfb-builder-area'); let i; for (i = 0; i < dropzones.length; ++i) { dropzones[i].classList.remove('ahfb-dragging-dropzones'); } }; const saveArrayUpdate = (value, index) => { let updateState = state.value; let items = updateState.items; const newItems = items.map((item, thisIndex) => { if (index === thisIndex) { item = { ...item, ...value }; } return item; }); updateState.items = newItems; setState(prevState => ({ ...prevState, value: updateState })); updateValues(updateState); }; const onChangeLabel = (value, itemIndex) => { saveArrayUpdate({ label: value }, itemIndex); }; const removeItem = itemIndex => { let updateState = state.value; let update = updateState.items; let updateItems = []; { update.length > 0 && update.map((old, index) => { if (itemIndex !== index) { updateItems.push(old); } }); } updateState.items = updateItems; setState(prevState => ({ ...prevState, value: updateState })); updateValues(updateState); }; const addItem = item => { setState(prevState => ({ ...prevState, isVisible: false })); let updateState = state.value; let update = updateState.items; let getMaxId = _.pluck(value['items'], 'id'); getMaxId = getMaxId.map(x => x.replace('item-', '')); getMaxId = getMaxId.sort((a, b) => a - b).reverse()[0]; getMaxId = Number(getMaxId) + 1; let newItem = { 'id': 'item-' + getMaxId, 'enabled': true, 'icon': item['icon'], 'label': item['label'] }; update.push(newItem); updateState.items = update; let availibleSocialOptions = []; controlParams.options.map(option => { if (!update.some(obj => obj.id === option.value)) { availibleSocialOptions.push(option); } }); setState(prevState => ({ ...prevState, control: undefined !== availibleSocialOptions[0] && undefined !== availibleSocialOptions[0].value ? availibleSocialOptions[0].value : '' })); setState(prevState => ({ ...prevState, value: updateState })); updateValues(updateState); }; const onDragEnd = items => { let updateState = state.value; let update = updateState.items; let updateItems = []; { items.length > 0 && items.map(item => { update.filter(obj => { if (obj.id === item.id) { updateItems.push(obj); } }); }); } ; if (!arraysEqual(update, updateItems)) { update.items = updateItems; updateState.items = updateItems; setState(prevState => ({ ...prevState, value: updateState })); updateValues(updateState); } }; const arraysEqual = (a, b) => { if (a === b) return true; if (a == null || b == null) return false; if (a.length != b.length) return false; for (let i = 0; i < a.length; ++i) { if (a[i] !== b[i]) return false; } return true; }; const currentList = typeof state.value != "undefined" && state.value.items != null && state.value.items.length != null && state.value.items.length > 0 ? state.value.items : []; let theItems = []; { currentList.length > 0 && currentList.map(item => { theItems.push({ id: item.id }); }); } ; const onChangeIcon = (icon, itemIndex) => { saveArrayUpdate({ icon: icon }, itemIndex); }; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-control-field ahfb-sorter-items" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-sorter-row" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(react_sortablejs__WEBPACK_IMPORTED_MODULE_1__.ReactSortable, { animation: 100, onStart: () => onDragStop(), onEnd: () => onDragStop(), group: controlParams.group, className: `ahfb-sorter-drop ahfb-sorter-sortable-panel ahfb-sorter-drop-${controlParams.group}`, handle: '.ahfb-sorter-item-panel-header', list: theItems, setList: newState => onDragEnd(newState) }, currentList.length > 0 && currentList.map((item, index) => { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_item_component__WEBPACK_IMPORTED_MODULE_2__["default"], { removeItem: remove => removeItem(remove), cloneItem: () => addItem(item), onChangeLabel: (label, itemIndex) => onChangeLabel(label, itemIndex), onChangeIcon: (icon, index) => onChangeIcon(icon, index), key: item.id, index: index, item: item, controlParams: controlParams }); })))); }; ListIconsComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (ListIconsComponent); /***/ }), /***/ "./src/radio-image/control.js": /*!************************************!*\ !*** ./src/radio-image/control.js ***! \************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "radioImageControl": function() { return /* binding */ radioImageControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _radio_image_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./radio-image-component.js */ "./src/radio-image/radio-image-component.js"); const radioImageControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_radio_image_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/radio-image/radio-image-component.js": /*!**************************************************!*\ !*** ./src/radio-image/radio-image-component.js ***! \**************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); const RadioImageComponent = props => { const [props_value, setPropsValue] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(props.control.setting.get()); const onLayoutChange = value => { setPropsValue(value); props.control.setting.set(value); }; const { label, description, id, alt_layout, choices, inputAttrs, choices_titles, link, labelStyle } = props.control.params; let htmlLabel = null, htmlDescription = null, htmlRadio, inp_array = []; // Adds class to enable four column layout. const altLayout = alt_layout ? 'ast-divide-four' : 'modern-layout'; if (label) { htmlLabel = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "customize-control-title" }, label); } if (description) { htmlDescription = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "description customize-control-description" }, description); } if (inputAttrs) { let splited_values = inputAttrs.split(" "); splited_values.map((item, i) => { let item_values = item.split("="); if (undefined !== item_values[1]) { inp_array[item_values[0]] = item_values[1].replace(/"/g, ""); } }); } if (link) { let splited_values = link.split(" "); splited_values.map((item, i) => { let item_values = item.split("="); if (undefined !== item_values[1]) { inp_array[item_values[0]] = item_values[1].replace(/"/g, ""); } }); } htmlRadio = Object.entries(choices).map(_ref => { let [key, value] = _ref; let checked = props_value === key ? true : false; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.Fragment, { key: key }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("input", (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, inp_array, { className: "image-select", type: "radio", value: key, name: `_customize-radio-${id}`, id: id + key, checked: checked, onChange: () => onLayoutChange(key) })), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("label", (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ htmlFor: id + key }, labelStyle, { className: "ast-radio-img-svg" }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { dangerouslySetInnerHTML: { __html: choices[key] } }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "image-clickable", "data-title": choices_titles[key] }))); }); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("label", { className: "customizer-text" }, htmlLabel, htmlDescription), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("div", { id: `input_${id}`, className: `image ${altLayout}` }, htmlRadio)); }; RadioImageComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(RadioImageComponent)); /***/ }), /***/ "./src/responsive-background/control.js": /*!**********************************************!*\ !*** ./src/responsive-background/control.js ***! \**********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "responsiveBackgroundControl": function() { return /* binding */ responsiveBackgroundControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _responsive_background_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./responsive-background.js */ "./src/responsive-background/responsive-background.js"); /* harmony import */ var _common_responsive_helper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/responsive-helper */ "./src/common/responsive-helper.js"); const responsiveBackgroundControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_responsive_background_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); }, ready: function () { (0,_common_responsive_helper__WEBPACK_IMPORTED_MODULE_2__.astraGetResponsiveBgJs)(this, ''); let control = this; jQuery(document).mouseup(function (e) { var container = jQuery(control.container); var bgWrap = container.find('.background-wrapper'); var resetBtnWrap = container.find('.ast-color-btn-reset-wrap'); // If the target of the click isn't the container nor a descendant of the container. if (!bgWrap.is(e.target) && !resetBtnWrap.is(e.target) && bgWrap.has(e.target).length === 0 && resetBtnWrap.has(e.target).length === 0) { container.find('.components-button.astra-color-icon-indicate.open').click(); } }); } }); /***/ }), /***/ "./src/responsive-background/responsive-background.js": /*!************************************************************!*\ !*** ./src/responsive-background/responsive-background.js ***! \************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _common_astra_color_picker_control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/astra-color-picker-control */ "./src/common/astra-color-picker-control.js"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var html_react_parser__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! html-react-parser */ "./node_modules/html-react-parser/index.mjs"); /* harmony import */ var _assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../assets/svg/svgs.json */ "../../../assets/svg/svgs.json"); const ResponsiveBackground = props => { let value = props.control.setting.get(); let defaultPropsValue = props.control.params.default; const [state, setState] = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)({ value: value }); const updateValues = obj => { setState(prevState => ({ ...prevState, value: obj })); props.control.setting.set(obj); }; const updateBackgroundType = device => { let value = props.control.setting.get(); let obj = { ...value }; if (!state.value[device]['background-type']) { let deviceObj = { ...obj[device] }; if (state.value[device]['background-color']) { deviceObj['background-type'] = 'color'; obj[device] = deviceObj; updateValues(obj); if (state.value[device]['background-color'].includes('gradient')) { deviceObj['background-type'] = 'gradient'; obj[device] = deviceObj; updateValues(obj); } } if (state.value[device]['background-image']) { deviceObj['background-type'] = 'image'; obj[device] = deviceObj; updateValues(obj); } } }; const renderReset = () => { let reserBtnDisabled = true; let devices = ['desktop', 'mobile', 'tablet']; for (let device of devices) { if (state.value[device]['background-color'] !== defaultPropsValue[device]['background-image'] || state.value[device]['background-image'] !== defaultPropsValue[device]['background-color'] || state.value[device]['background-media'] !== defaultPropsValue[device]['background-media']) { reserBtnDisabled = false; } } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-color-btn-reset-wrap" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { className: "ast-reset-btn components-button components-circular-option-picker__clear is-secondary is-small", disabled: reserBtnDisabled, onClick: e => { e.preventDefault(); let value = JSON.parse(JSON.stringify(defaultPropsValue)); if (undefined !== value && '' !== value) { for (let device in value) { if (undefined === value[device]['background-color'] || '' === value[device]['background-color']) { value[device]['background-color'] = ''; } if (undefined === value[device]['background-image'] || '' === value[device]['background-image']) { value[device]['background-image'] = ''; } if (undefined === value[device]['background-media'] || '' === value[device]['background-media']) { value[device]['background-media'] = ''; } } } updateValues(value); } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.Dashicon, { icon: "image-rotate" }))); }; const onSelectImage = (media, key, backgroundType) => { let obj = { ...state.value }; let deviceObj = { ...obj[key] }; deviceObj['background-image'] = media.url; deviceObj['background-media'] = media.id; deviceObj['background-type'] = backgroundType; obj[key] = deviceObj; updateValues(obj); }; const onChangeImageOptions = (mainKey, value, device, backgroundType) => { let obj = { ...state.value }; let deviceObj = { ...obj[device] }; deviceObj[mainKey] = value; deviceObj['background-type'] = backgroundType; obj[device] = deviceObj; updateValues(obj); }; (0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(() => { let devices = ['desktop', 'mobile', 'tablet']; for (let device of devices) { updateBackgroundType(device); } }, []); const renderSettings = key => { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_common_astra_color_picker_control__WEBPACK_IMPORTED_MODULE_2__["default"], { color: undefined !== state.value[key]['background-color'] && state.value[key]['background-color'] ? state.value[key]['background-color'] : '', onChangeComplete: (color, backgroundType) => handleChangeComplete(color, key, backgroundType), media: undefined !== state.value[key]['background-media'] && state.value[key]['background-media'] ? state.value[key]['background-media'] : '', backgroundImage: undefined !== state.value[key]['background-image'] && state.value[key]['background-image'] ? state.value[key]['background-image'] : '', backgroundAttachment: undefined !== state.value[key]['background-attachment'] && state.value[key]['background-attachment'] ? state.value[key]['background-attachment'] : '', backgroundPosition: undefined !== state.value[key]['background-position'] && state.value[key]['background-position'] ? state.value[key]['background-position'] : '', backgroundRepeat: undefined !== state.value[key]['background-repeat'] && state.value[key]['background-repeat'] ? state.value[key]['background-repeat'] : '', backgroundSize: undefined !== state.value[key]['background-size'] && state.value[key]['background-size'] ? state.value[key]['background-size'] : '', onSelectImage: (media, backgroundType) => onSelectImage(media, key, backgroundType), onChangeImageOptions: (mainKey, value, backgroundType) => onChangeImageOptions(mainKey, value, key, backgroundType), backgroundType: undefined !== state.value[key]['background-type'] && state.value[key]['background-type'] ? state.value[key]['background-type'] : 'color', allowGradient: true, allowImage: true })); }; const handleChangeComplete = (color, key, backgroundType) => { let value = ''; if (color) { if (typeof color === 'string' || color instanceof String) { value = color; } else if (undefined !== color.rgb && undefined !== color.rgb.a && 1 !== color.rgb.a) { value = `rgba(${color.rgb.r},${color.rgb.g},${color.rgb.b},${color.rgb.a})`; } else { value = color.hex; } } let obj = { ...state.value }; let deviceObj = { ...obj[key] }; deviceObj['background-color'] = value; deviceObj['background-type'] = backgroundType; obj[key] = deviceObj; updateValues(obj); }; const { label, description } = props.control.params; let labelHtml = null; let descriptionHtml = null; let responsiveHtml = null; let inputHtml = null; const responsiveDesktop = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_5__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_6__["desktop-responsive"]); const responsiveTablet = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_5__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_6__["tablet-responsive"]); const responsiveMobile = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_5__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_6__["mobile-responsive"]); if (label && '' !== label && undefined !== label) { labelHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", null, label); } else { labelHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Background', 'astra')); } if (description) { descriptionHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "description customize-control-description" }, description); } const skipResponsiveTriggers = undefined !== props.control.params.input_attrs && undefined !== props.control.params.input_attrs.ignore_responsive_btns && props.control.params.input_attrs.ignore_responsive_btns ? true : false; responsiveHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("ul", { className: "ast-responsive-btns" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { className: "desktop active" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-desktop", "data-device": "desktop" }, responsiveDesktop)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { className: "tablet" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-tablet", "data-device": "tablet" }, responsiveTablet)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { className: "mobile" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-mobile", "data-device": "mobile" }, responsiveMobile))); inputHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "background-wrapper" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "background-container desktop active" }, renderSettings('desktop')), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "background-container tablet" }, renderSettings('tablet')), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "background-container mobile" }, renderSettings('mobile'))); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", null, labelHtml, descriptionHtml), !skipResponsiveTriggers && responsiveHtml, renderReset(), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "customize-control-content" }, inputHtml)); }; ResponsiveBackground.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(ResponsiveBackground)); /***/ }), /***/ "./src/responsive-color/control.js": /*!*****************************************!*\ !*** ./src/responsive-color/control.js ***! \*****************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "responsiveColorControl": function() { return /* binding */ responsiveColorControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _responsive_color_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./responsive-color-component */ "./src/responsive-color/responsive-color-component.js"); /* harmony import */ var _common_responsive_helper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/responsive-helper */ "./src/common/responsive-helper.js"); const responsiveColorControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_responsive_color_component__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control, customizer: wp.customize }), control.container[0]); }, ready: function () { (0,_common_responsive_helper__WEBPACK_IMPORTED_MODULE_2__.astraGetResponsiveColorJs)(this); let control = this; jQuery(document).mouseup(function (e) { var container = jQuery(control.container); var resColorWrap = container.find('.customize-control-content'); var resetBtnWrap = container.find('.ast-color-btn-reset-wrap'); // If the target of the click isn't the container nor a descendant of the container. if (!resColorWrap.is(e.target) && !resetBtnWrap.is(e.target) && resColorWrap.has(e.target).length === 0 && resetBtnWrap.has(e.target).length === 0) { container.find('.components-button.astra-color-icon-indicate.open').click(); } }); } }); /***/ }), /***/ "./src/responsive-color/responsive-color-component.js": /*!************************************************************!*\ !*** ./src/responsive-color/responsive-color-component.js ***! \************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _common_astra_color_picker_control__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/astra-color-picker-control */ "./src/common/astra-color-picker-control.js"); /* harmony import */ var html_react_parser__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! html-react-parser */ "./node_modules/html-react-parser/index.mjs"); /* harmony import */ var _assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../assets/svg/svgs.json */ "../../../assets/svg/svgs.json"); const ResponsiveColorComponent = props => { const [props_value, setPropsValue] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(props.control.setting.get()); const updateValues = (value, key) => { const obj = { ...props_value }; obj[key] = value; props.control.setting.set(obj); setPropsValue(obj); }; const renderReset = () => { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-color-btn-reset-wrap" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { className: "ast-reset-btn components-button components-circular-option-picker__clear is-secondary is-small", disabled: JSON.stringify(props_value) === JSON.stringify(props.control.params.default), onClick: e => { e.preventDefault(); let value = JSON.parse(JSON.stringify(props.control.params.default)); if (undefined !== value && "" !== value) { for (let device in value) { if (undefined === value[device] || "" === value[device]) { value[device] = ""; } } } props.control.setting.set(value); setPropsValue(value); } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Dashicon, { icon: "image-rotate" }))); }; const renderSettings = key => { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_common_astra_color_picker_control__WEBPACK_IMPORTED_MODULE_3__["default"], { color: undefined !== props_value[key] && props_value[key] ? props_value[key] : "", onChangeComplete: (color, backgroundType) => handleChangeComplete(color, key), backgroundType: "color", allowGradient: false, allowImage: false }); }; const handleChangeComplete = (color, key) => { let value; if (typeof color === "string" || color instanceof String) { value = color; } else if (undefined !== color.rgb && undefined !== color.rgb.a && 1 !== color.rgb.a) { value = `rgba(${color.rgb.r},${color.rgb.g},${color.rgb.b},${color.rgb.a})`; } else { value = color.hex; } updateValues(value, key); }; const { label, description, responsive } = props.control.params; let labelHtml = null; let descriptionHtml = null; let responsiveHtml = null; let inputHtml = null; if (label) { labelHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", null, label); } if (description) { descriptionHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "description customize-control-description" }, description); } if (responsive) { const responsiveDesktop = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_4__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_5__["desktop-responsive"]); const responsiveTablet = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_4__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_5__["tablet-responsive"]); const responsiveMobile = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_4__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_5__["mobile-responsive"]); responsiveHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("ul", { className: "ast-responsive-btns" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { className: "desktop active" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-desktop", "data-device": "desktop" }, responsiveDesktop)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { className: "tablet" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-tablet", "data-device": "tablet" }, responsiveTablet)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { className: "mobile" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-mobile", "data-device": "mobile" }, responsiveMobile))); inputHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-color-picker-alpha color-picker-hex ast-responsive-color desktop active" }, renderSettings("desktop")), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-color-picker-alpha color-picker-hex ast-responsive-color tablet" }, renderSettings("tablet")), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-color-picker-alpha color-picker-hex ast-responsive-color mobile" }, renderSettings("mobile"))); } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-control-wrap" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", null, labelHtml, descriptionHtml), renderReset(), responsiveHtml, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "customize-control-content" }, inputHtml)); }; ResponsiveColorComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(ResponsiveColorComponent)); /***/ }), /***/ "./src/responsive-select/control.js": /*!******************************************!*\ !*** ./src/responsive-select/control.js ***! \******************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "responsiveSelectControl": function() { return /* binding */ responsiveSelectControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _responsive_select_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./responsive-select-component.js */ "./src/responsive-select/responsive-select-component.js"); const responsiveSelectControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_responsive_select_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); }, ready: function () { 'use strict'; let device = jQuery('.wp-full-overlay-footer .devices button.active').attr('data-device'); jQuery('.customize-control-ast-responsive-select .customize-control-content .ast-responsive-select-container').removeClass('active'); jQuery('.customize-control-ast-responsive-select .customize-control-content .ast-responsive-select-container.' + device).addClass('active'); jQuery('.customize-control-ast-responsive-select .ast-responsive-btns li').removeClass('active'); jQuery('.customize-control-ast-responsive-select .ast-responsive-btns li.' + device).addClass('active'); jQuery('.wp-full-overlay-footer .devices button').on('click', function () { let currentDevice = jQuery(this).attr('data-device'); jQuery('.customize-control-ast-responsive-select .customize-control-content .ast-responsive-select-container').removeClass('active'); jQuery('.customize-control-ast-responsive-select .customize-control-content .ast-responsive-select-container.' + currentDevice).addClass('active'); jQuery('.customize-control-ast-responsive-select .ast-responsive-btns li').removeClass('active'); jQuery('.customize-control-ast-responsive-select .ast-responsive-btns li.' + currentDevice).addClass('active'); }); this.container.find('.ast-responsive-btns button').on('click', function (event) { let respBtnDevice = jQuery(this).attr('data-device'); if ('desktop' == respBtnDevice) { respBtnDevice = 'tablet'; } else if ('tablet' == respBtnDevice) { respBtnDevice = 'mobile'; } else { respBtnDevice = 'desktop'; } jQuery('.wp-full-overlay-footer .devices button[data-device="' + respBtnDevice + '"]').trigger('click'); }); } }); /***/ }), /***/ "./src/responsive-select/responsive-select-component.js": /*!**************************************************************!*\ !*** ./src/responsive-select/responsive-select-component.js ***! \**************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var html_react_parser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! html-react-parser */ "./node_modules/html-react-parser/index.mjs"); /* harmony import */ var _assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../assets/svg/svgs.json */ "../../../assets/svg/svgs.json"); class ResponsiveSelectComponent extends _wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Component { constructor(props) { super(...arguments); let value = this.props.control.setting.get(); this.state = { value }; this.onSelectChange = this.onSelectChange.bind(this); this.renderSelectHtml = this.renderSelectHtml.bind(this); } onSelectChange(event, device) { let updateState = { ...this.state.value }; updateState[device] = event.target.value; this.updateValues(updateState); } renderSelectHtml(device) { let active = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; const choices = this.props.control.params.choices; let optionsHtml = Object.entries(choices).map(key => { let html = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("option", { key: key[0], value: key[0] }, key[1]); return html; }); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: `ast-responsive-select-container ${device} ${active}` }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("select", { className: "ast-select-input", "data-value": this.state.value[device], value: this.state.value[device], onChange: e => { this.onSelectChange(e, device); } }, optionsHtml)); } render() { const label = this.props.control.params.label; let htmlLabel = null; if (label) { htmlLabel = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, label); } const responsiveDesktop = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_1__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_2__["desktop-responsive"]); const responsiveTablet = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_1__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_2__["tablet-responsive"]); const responsiveMobile = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_1__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_2__["mobile-responsive"]); const responsiveHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("ul", { key: 'ast-resp-ul', className: "ast-responsive-btns" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { key: 'desktop', className: "desktop active" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-desktop", "data-device": "desktop" }, responsiveDesktop)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { key: 'tablet', className: "tablet" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-tablet", "data-device": "tablet" }, responsiveTablet)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { key: 'mobile', className: "mobile" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-mobile", "data-device": "mobile" }, responsiveMobile))); let selectHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, this.renderSelectHtml('desktop', 'active'), this.renderSelectHtml('tablet'), this.renderSelectHtml('mobile')); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, htmlLabel, responsiveHtml, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "customize-control-content" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-responsive-select-wrapper" }, selectHtml))); } updateValues(updateState) { this.setState({ value: updateState }); this.props.control.setting.set(updateState); } } ResponsiveSelectComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (ResponsiveSelectComponent); /***/ }), /***/ "./src/responsive-slider/control.js": /*!******************************************!*\ !*** ./src/responsive-slider/control.js ***! \******************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "responsiveSliderControl": function() { return /* binding */ responsiveSliderControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _responsive_slider_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./responsive-slider-component.js */ "./src/responsive-slider/responsive-slider-component.js"); /* harmony import */ var _common_responsive_helper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/responsive-helper */ "./src/common/responsive-helper.js"); const responsiveSliderControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_responsive_slider_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); }, ready: function () { (0,_common_responsive_helper__WEBPACK_IMPORTED_MODULE_2__.astraGetResponsiveSliderJs)(this); } }); /***/ }), /***/ "./src/responsive-slider/responsive-slider-component.js": /*!**************************************************************!*\ !*** ./src/responsive-slider/responsive-slider-component.js ***! \**************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var html_react_parser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! html-react-parser */ "./node_modules/html-react-parser/index.mjs"); /* harmony import */ var _assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../assets/svg/svgs.json */ "../../../assets/svg/svgs.json"); const ResponsiveSliderComponent = props => { let prop_value = props.control.setting.get(); const [state, setState] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(prop_value); (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(() => { // If settings are changed externally. if (state !== prop_value) { setState(prop_value); } }, [props]); const linkRemoteUpdate = () => { document.addEventListener('AstRemoteUpdateState', function (e) { if (e.detail === 'typography') { let value = props.control.setting.get(); setState(value); } }); }; linkRemoteUpdate(); const updateValues = (device, newVal) => { let updateState = { ...state }; updateState[device] = newVal; props.control.setting.set(updateState); setState(updateState); }; const renderOperationButtons = defaultVal => { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-resp-slider-reset-wrap" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { className: "ast-reset-btn components-button components-circular-option-picker__clear is-secondary is-small", disabled: JSON.stringify(state) === JSON.stringify(defaultVal), onClick: e => { e.preventDefault(); props.control.setting.set(defaultVal); setState(defaultVal); } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.Dashicon, { icon: "image-rotate" }))); }; const renderInputHtml = function (device) { let active = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; const { input_attrs } = props.control.params; let defaultVal = props.control.params.default[device]; const input_attrs_selected = input_attrs && (input_attrs.min || input_attrs.max || input_attrs.step) ? input_attrs : input_attrs ? input_attrs[state[`${device}-unit`]] : ''; const defaults = { min: 0, max: 500, step: 1 }; const controlProps = { ...defaults, ...(input_attrs_selected || {}) }; const { min, max, step } = controlProps; let savedValue = state[device] || 0 === state[device] ? parseFloat(state[device]) : ''; if (1 === step) { savedValue = state[device] || 0 === state[device] ? parseInt(state[device]) : ''; } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: `input-field-wrapper ${device} ${active}` }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.RangeControl, { resetFallbackValue: defaultVal, value: savedValue, min: min > 0 ? min : 0, max: max || 100, step: step || 1, onChange: newVal => { updateValues(device, newVal); } })); }; const onUnitChange = function (device) { let unitKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; const { input_attrs } = props.control.params; let updateState = { ...state }; updateState[`${device}-unit`] = unitKey; if (input_attrs && input_attrs[updateState[`${device}-unit`]] && input_attrs[updateState[`${device}-unit`]].max && updateState[`${device}`] > input_attrs[updateState[`${device}-unit`]].max) { updateState[`${device}`] = input_attrs[updateState[`${device}-unit`]].max; } props.control.setting.set(updateState); setState(updateState); }; const unitChoices = function (device) { let active = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; let respHtml = null; const { suffix } = props.control.params; if (suffix && Array.isArray(suffix)) { respHtml = Object.values(suffix).map(unitKey => { let unitClass = ''; if (state[`${device}-unit`] === unitKey) { unitClass = 'active'; } let html = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { key: unitKey, className: `single-unit ${unitClass}`, onClick: () => onUnitChange(device, unitKey), "data-unit": unitKey }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "unit-text" }, unitKey)); return html; }); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("ul", { key: device, className: `ast-responsive-units input-field-wrapper ast-spacing-${device}-responsive-units ${device} ${active}` }, respHtml); } }; const { description, label, suffix } = props.control.params; let labelHtml = null; let responsiveHtml = null; let suffixHtml = null; let descriptionHtml = null; let inputHtml = null; let unitHtml = null; let defaultVal = props.control.params.default; if (label) { const responsiveDesktop = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_3__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_4__["desktop-responsive"]); const responsiveTablet = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_3__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_4__["tablet-responsive"]); const responsiveMobile = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_3__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_4__["mobile-responsive"]); labelHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title slider-control-label" }, label); responsiveHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("ul", { key: 'ast-resp-ul', className: "ast-responsive-slider-btns" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { className: "desktop active" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-desktop active", "data-device": "desktop" }, responsiveDesktop)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { className: "tablet" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-tablet", "data-device": "tablet" }, responsiveTablet)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { className: "mobile" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-mobile", "data-device": "mobile" }, responsiveMobile))); } if (description) { descriptionHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "description customize-control-description" }, description); } if (suffix && !Array.isArray(suffix)) { suffixHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ast-range-unit" }, suffix); } inputHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, renderInputHtml('desktop', 'active'), renderInputHtml('tablet'), renderInputHtml('mobile')); if (suffix && Array.isArray(suffix)) { unitHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, unitChoices('desktop', 'active'), unitChoices('tablet'), unitChoices('mobile')); } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-slider-wrap" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", { key: 'customizer-text' }, labelHtml), responsiveHtml, unitHtml, suffixHtml, renderOperationButtons(defaultVal), descriptionHtml, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "wrapper" }, inputHtml)); }; ResponsiveSliderComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (ResponsiveSliderComponent); /***/ }), /***/ "./src/responsive-spacing/control.js": /*!*******************************************!*\ !*** ./src/responsive-spacing/control.js ***! \*******************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "responsiveSpacingControl": function() { return /* binding */ responsiveSpacingControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _responsive_spacing_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./responsive-spacing-component.js */ "./src/responsive-spacing/responsive-spacing-component.js"); /* harmony import */ var _common_responsive_helper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/responsive-helper */ "./src/common/responsive-helper.js"); const responsiveSpacingControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_responsive_spacing_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); }, ready: function () { (0,_common_responsive_helper__WEBPACK_IMPORTED_MODULE_2__.astraGetResponsiveSpacingJs)(this); } }); /***/ }), /***/ "./src/responsive-spacing/responsive-spacing-component.js": /*!****************************************************************!*\ !*** ./src/responsive-spacing/responsive-spacing-component.js ***! \****************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var html_react_parser__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! html-react-parser */ "./node_modules/html-react-parser/index.mjs"); /* harmony import */ var _assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../assets/svg/svgs.json */ "../../../assets/svg/svgs.json"); const ResponsiveSpacingComponent = props => { let value = props.control.setting.get(); value = undefined === value || '' === value ? props.control.params.value : value; const [state, setState] = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(value); (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)(() => { // If settings are changed externally. if (state !== value) { setState(value); } }, [props]); const onConnectedClick = () => { let parent = event.target.parentElement.parentElement; let inputs = parent.querySelectorAll('.ast-spacing-input'); for (let i = 0; i < inputs.length; i++) { inputs[i].classList.remove('connected'); inputs[i].setAttribute('data-element-connect', ''); } event.target.parentElement.classList.remove('disconnected'); }; const onDisconnectedClick = () => { let elements = event.target.dataset.elementConnect; let parent = event.target.parentElement.parentElement; let inputs = parent.querySelectorAll('.ast-spacing-input'); for (let i = 0; i < inputs.length; i++) { inputs[i].classList.add('connected'); inputs[i].setAttribute('data-element-connect', elements); } event.target.parentElement.classList.add('disconnected'); }; const onSpacingChange = (device, choiceID) => { const { choices } = props.control.params; let updateState = { ...state }; let deviceUpdateState = { ...updateState[device] }; if (!event.target.classList.contains('connected')) { deviceUpdateState[choiceID] = event.target.value; } else { for (let choiceID in choices) { deviceUpdateState[choiceID] = event.target.value; } } updateState[device] = deviceUpdateState; props.control.setting.set(updateState); setState(updateState); }; const onUnitChange = function (device) { let unitKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; let updateState = { ...state }; updateState[`${device}-unit`] = unitKey; props.control.setting.set(updateState); setState(updateState); }; const renderResponsiveInput = device => { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("input", { key: device, type: "hidden", onChange: () => onUnitChange(device, ''), className: `ast-spacing-unit-input ast-spacing-${device}-unit`, "data-device": `${device}`, value: state[`${device}-unit`] }); }; const renderInputHtml = function (device) { let active = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; const { linked_choices, id, choices, inputAttrs, unit_choices, connected } = props.control.params; let connectedClass = false === connected ? '' : 'connected'; let disconnectedClass = false === connected ? '' : 'disconnected'; let itemLinkDesc = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Link Values Together', 'astra'); let linkHtml = null; let htmlChoices = null; let respHtml = null; if (linked_choices) { const linkActive = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_4__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_5__["hyper-link-enable"]); const linkDeactivated = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_4__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_5__["hyper-link-disable"]); linkHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("li", { key: 'connect-disconnect' + device, className: `ast-spacing-input-item-link ${disconnectedClass}` }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { key: 'connect' + device, className: "ast-spacing-connected wp-ui-highlight", onClick: () => { onConnectedClick(); }, "data-element-connect": id, title: itemLinkDesc }, linkActive), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { key: 'disconnect' + device, className: "ast-spacing-disconnected", onClick: () => { onDisconnectedClick(); }, "data-element-connect": id, title: itemLinkDesc }, linkDeactivated)); } if (choices) { htmlChoices = Object.keys(choices).map(choiceID => { let html = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("li", (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ key: choiceID }, inputAttrs, { className: "ast-spacing-input-item" }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("input", { type: "number", className: `ast-spacing-input ast-spacing-${device} ${connectedClass}`, "data-id": choiceID, value: state[device][choiceID], onChange: () => onSpacingChange(device, choiceID), "data-element-connect": id }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "ast-spacing-title" }, choices[choiceID])); return html; }); } if (unit_choices) { respHtml = Object.values(unit_choices).map(unitKey => { let unitClass = ''; if (state[`${device}-unit`] === unitKey) { unitClass = 'active'; } let html = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("li", { key: unitKey, className: `single-unit ${unitClass}`, onClick: () => onUnitChange(device, unitKey), "data-unit": unitKey }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "unit-text" }, unitKey)); return html; }); } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("ul", { key: device, className: `ast-spacing-wrapper ${device} ${active}` }, linkHtml, htmlChoices, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("ul", { key: 'responsive-units', className: `ast-spacing-responsive-units ast-spacing-${device}-responsive-units` }, respHtml)); }; const { label, description } = props.control.params; let htmlLabel = null; let htmlDescription = null; let inputHtml = null; let responsiveHtml = null; if (label) { htmlLabel = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "customize-control-title" }, label); } if (description) { htmlDescription = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "description customize-control-description" }, description); } inputHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, renderInputHtml('desktop', 'active'), renderInputHtml('tablet'), renderInputHtml('mobile')); const responsiveDesktop = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_4__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_5__["desktop-responsive"]); const responsiveTablet = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_4__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_5__["tablet-responsive"]); const responsiveMobile = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_4__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_5__["mobile-responsive"]); responsiveHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("div", { className: "unit-input-wrapper ast-spacing-unit-wrapper" }, renderResponsiveInput('desktop'), renderResponsiveInput('tablet'), renderResponsiveInput('mobile')), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("ul", { key: 'ast-spacing-responsive-btns', className: "ast-spacing-responsive-btns" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("li", { key: 'desktop', className: "desktop active" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("button", { type: "button", className: "preview-desktop active", "data-device": "desktop" }, responsiveDesktop)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("li", { key: 'tablet', className: "tablet" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("button", { type: "button", className: "preview-tablet", "data-device": "tablet" }, responsiveTablet)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("li", { key: 'mobile', className: "mobile" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("button", { type: "button", className: "preview-mobile", "data-device": "mobile" }, responsiveMobile)))); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("label", { key: 'ast-spacing-responsive', className: "ast-spacing-responsive", htmlFor: "ast-spacing" }, htmlLabel, htmlDescription, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("div", { className: "ast-spacing-responsive-units-screen-wrap" }, responsiveHtml), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("div", { className: "ast-spacing-responsive-outer-wrapper" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("div", { className: "input-wrapper ast-spacing-responsive-wrapper" }, inputHtml))); }; ResponsiveSpacingComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (ResponsiveSpacingComponent); /***/ }), /***/ "./src/responsive-toggle-control/control.js": /*!**************************************************!*\ !*** ./src/responsive-toggle-control/control.js ***! \**************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "responsiveToggleControl": function() { return /* binding */ responsiveToggleControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _responsive_toggle_control_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./responsive-toggle-control-component */ "./src/responsive-toggle-control/responsive-toggle-control-component.js"); /* harmony import */ var _common_responsive_helper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/responsive-helper */ "./src/common/responsive-helper.js"); const responsiveToggleControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_responsive_toggle_control_component__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); }, ready: function () { (0,_common_responsive_helper__WEBPACK_IMPORTED_MODULE_2__.astraGetResponsiveToggleControlJs)(this); (0,_common_responsive_helper__WEBPACK_IMPORTED_MODULE_2__.siteTitleTaglineDependentControl)(this); } }); /***/ }), /***/ "./src/responsive-toggle-control/responsive-toggle-control-component.js": /*!******************************************************************************!*\ !*** ./src/responsive-toggle-control/responsive-toggle-control-component.js ***! \******************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _ast_toggle_toggle_control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ast-toggle/toggle-control */ "./src/ast-toggle/toggle-control.js"); /* harmony import */ var html_react_parser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! html-react-parser */ "./node_modules/html-react-parser/index.mjs"); /* harmony import */ var _assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../assets/svg/svgs.json */ "../../../assets/svg/svgs.json"); const AstResponsiveToggleControl = props => { let htmlTitle = null; let responsiveHtml = null; const [propsValue, setPropsValue] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(props.control.setting.get()); if (props.control.params.title) { const responsiveDesktop = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_3__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_4__["desktop-responsive"]); const responsiveTablet = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_3__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_4__["tablet-responsive"]); const responsiveMobile = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_3__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_4__["mobile-responsive"]); htmlTitle = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "toggle-control-label" }, props.control.params.title); responsiveHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("ul", { className: "ast-responsive-toggle-btns" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { className: "desktop active" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-desktop active", "data-device": "desktop" }, responsiveDesktop)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { className: "tablet" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-tablet", "data-device": "tablet" }, responsiveTablet)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { className: "mobile" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-mobile", "data-device": "mobile" }, responsiveMobile))); } const updateValues = device => { let updateProps = { ...propsValue }; updateProps[device] = !propsValue[device]; setPropsValue(updateProps); props.control.setting.set(updateProps); }; const renderInputHtml = function (device) { let active = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: `ast-responsive-toggle-control ${device} ${active}` }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_ast_toggle_toggle_control__WEBPACK_IMPORTED_MODULE_2__["default"], { label: htmlTitle, checked: propsValue[device], onChange: () => updateValues(device) })); }; const inputHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, renderInputHtml('desktop', 'active'), renderInputHtml('tablet'), renderInputHtml('mobile')); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-responsive-toggle-control-wrapper" }, inputHtml, responsiveHtml)); }; AstResponsiveToggleControl.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(AstResponsiveToggleControl)); /***/ }), /***/ "./src/responsive/control.js": /*!***********************************!*\ !*** ./src/responsive/control.js ***! \***********************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "responsiveControl": function() { return /* binding */ responsiveControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _responsive_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./responsive-component.js */ "./src/responsive/responsive-component.js"); /* harmony import */ var _common_responsive_helper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/responsive-helper */ "./src/common/responsive-helper.js"); const responsiveControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_responsive_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); }, ready: function () { (0,_common_responsive_helper__WEBPACK_IMPORTED_MODULE_2__.astraGetResponsiveJs)(this); } }); /***/ }), /***/ "./src/responsive/responsive-component.js": /*!************************************************!*\ !*** ./src/responsive/responsive-component.js ***! \************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var html_react_parser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! html-react-parser */ "./node_modules/html-react-parser/index.mjs"); /* harmony import */ var _assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../assets/svg/svgs.json */ "../../../assets/svg/svgs.json"); const ResponsiveComponent = props => { const [props_value, setPropsValue] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(props.control.setting.get()); const onInputChange = device => { let updateState = { ...props_value }; updateState[device] = event.target.value; props.control.setting.set(updateState); setPropsValue(updateState); }; const linkRemoteUpdate = () => { document.addEventListener('AstRemoteUpdateState', function (e) { if (e.detail === 'typography') { let value = props.control.setting.get(); setPropsValue(value); } }); }; linkRemoteUpdate(); const onSelectChange = device => { let updateState = { ...props_value }; updateState[`${device}-unit`] = event.target.value; props.control.setting.set(updateState); setPropsValue(updateState); }; const renderInputHtml = function (device) { let active = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; let resp = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; const { units } = props.control.params; let disabled = false; if (1 === units.length) { disabled = true; } let optionsHtml = Object.keys(units).map(key => { let html = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("option", { key: key, value: key }, units[key]); return html; }); if (false === resp) { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("input", { key: device + 'input', "data-id": device, className: `ast-responsive-input ast-non-reponsive ${device} ${active}`, type: "number", value: props_value[device], onChange: () => { onInputChange(device); } }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("select", { key: device + 'select', value: props_value[`${device}-unit`], className: `ast-responsive-select ${device}`, "data-id": `${device}-unit`, disabled: disabled, onChange: () => { onSelectChange(device); } }, optionsHtml)); } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("input", { key: device + 'input', "data-id": device, className: `ast-responsive-input ${device} ${active}`, type: "number", value: props_value[device], onChange: () => { onInputChange(device); } }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("select", { key: device + 'select', value: props_value[`${device}-unit`], className: `ast-responsive-select ${device}`, "data-id": `${device}-unit`, disabled: disabled, onChange: () => { onSelectChange(device); } }, optionsHtml)); }; const { description, label, responsive } = props.control.params; let labelHtml = null; let responsiveHtml = null; let descriptionHtml = null; let inputHtml = null; let responsive_flag = false === responsive ? false : true; if (label) { labelHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, label); if (responsive_flag) { const responsiveDesktop = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_2__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_3__["desktop-responsive"]); const responsiveTablet = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_2__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_3__["tablet-responsive"]); const responsiveMobile = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_2__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_3__["mobile-responsive"]); responsiveHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("ul", { key: 'ast-resp-ul', className: "ast-responsive-btns" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { key: 'desktop', className: "desktop active" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-desktop", "data-device": "desktop" }, responsiveDesktop)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { key: 'tablet', className: "tablet" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-tablet", "data-device": "tablet" }, responsiveTablet)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { key: 'mobile', className: "mobile" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-mobile", "data-device": "mobile" }, responsiveMobile))); } } if (description) { descriptionHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "description customize-control-description" }, description); } if (responsive_flag) { inputHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, renderInputHtml('desktop', 'active'), renderInputHtml('tablet'), renderInputHtml('mobile')); } else { inputHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, renderInputHtml('desktop', 'active', false)); } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", { key: 'customizer-text', className: "customizer-text" }, labelHtml), responsiveHtml, descriptionHtml, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "input-wrapper ast-responsive-wrapper" }, inputHtml)); }; ResponsiveComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(ResponsiveComponent)); /***/ }), /***/ "./src/row-layout/control.js": /*!***********************************!*\ !*** ./src/row-layout/control.js ***! \***********************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "RowLayoutControl": function() { return /* binding */ RowLayoutControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _row_layout_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./row-layout-component */ "./src/row-layout/row-layout-component.js"); const RowLayoutControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; let device = jQuery('.wp-full-overlay-footer .devices button.active').attr('data-device'); ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_row_layout_component__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control, customizer: wp.customize, device: device }), control.container[0]); }, ready: function () { jQuery('.wp-full-overlay-footer .devices button').on('click', function () { var device = jQuery(this).attr('data-device'); var trigger = ''; switch (device) { case 'desktop': trigger = 'mobile'; break; case 'tablet': trigger = 'desktop'; break; case 'mobile': trigger = 'tablet'; break; default: break; } jQuery('.customize-control-ast-row-layout .ahfb-responsive-control-bar .ast-responsive-btns button.preview-' + trigger).trigger('click'); }); } }); /***/ }), /***/ "./src/row-layout/row-layout-component.js": /*!************************************************!*\ !*** ./src/row-layout/row-layout-component.js ***! \************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _common_responsive_device__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/responsive-device */ "./src/common/responsive-device.js"); const { __ } = wp.i18n; const { ButtonGroup, Dashicon, Button } = wp.components; const { Component } = wp.element; class RowLayoutComponent extends Component { constructor() { super(...arguments); this.updateValues = this.updateValues.bind(this); this.onFooterUpdate = this.onFooterUpdate.bind(this); this.onColumnUpdate(); let value = this.props.control.setting.get(); let defaultParams = this.props.control.params.input_attrs.layout; this.controlParams = this.props.control.params.input_attrs ? { ...defaultParams, ...this.props.control.params.input_attrs } : defaultParams; let responsiveDefault = { 'mobile': 'row', 'tablet': '', 'desktop': 'equal' }; let nonResponsiveDefault = 'equal'; let baseDefault; let type = this.props.control.id.replace('astra-settings[', '').replace('-footer-layout]', ''); this.type = type; this.footer_type = this.type === 'hb' ? 'primary' : this.type === 'hba' ? 'above' : 'below'; if (this.controlParams.responsive) { baseDefault = responsiveDefault; this.defaultValue = this.props.control.params.default ? { ...baseDefault, ...this.props.control.params.default } : baseDefault; } else { baseDefault = nonResponsiveDefault; this.defaultValue = this.props.control.params.default ? this.props.control.params.default : baseDefault; } if (this.controlParams.responsive) { value = value ? { ...JSON.parse(JSON.stringify(this.defaultValue)), ...value } : JSON.parse(JSON.stringify(this.defaultValue)); } else { value = value ? value : this.defaultValue; } let columns = 0; columns = parseInt(this.props.customizer.control('astra-settings[' + this.type + '-footer-column]').setting.get(), 10); this.state = { currentDevice: 'desktop', columns: columns, value: value, is_updated: false }; } render() { const Icons = window.svgIcons; const responsiveControlLabel = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, this.props.control.params.label && this.props.control.params.label); let controlMap = {}; if (this.state.currentDevice !== 'desktop') { controlMap = this.controlParams.mobile[this.state.columns]; } else { controlMap = this.controlParams.desktop[this.state.columns]; } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-control-field ahfb-radio-icon-control ahfb-row-layout-control" }, this.controlParams.responsive && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_common_responsive_device__WEBPACK_IMPORTED_MODULE_1__["default"], { onChange: currentDevice => this.setState({ currentDevice }), controlLabel: responsiveControlLabel, device: this.props.device }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(ButtonGroup, { className: "ahfb-radio-container-control" }, Object.keys(controlMap).map((item, key) => { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Button, { key: key, isTertiary: true, className: (item === this.state.value[this.state.currentDevice] ? 'active-radio ' : '') + 'ast-radio-img-svg ahfb-btn-item-' + key, onClick: () => { let value = this.state.value; value[this.state.currentDevice] = item; this.setState({ value: value }); this.updateValues(); } }, controlMap[item].icon && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ahfb-radio-icon", dangerouslySetInnerHTML: { __html: Icons[controlMap[item].icon] } }), controlMap[item].dashicon && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ahfb-radio-icon ahfb-radio-dashicon" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Dashicon, { icon: controlMap[item].dashicon })), controlMap[item].name && controlMap[item].name); })))); } onFooterUpdate() { const columns = parseInt(this.props.customizer.control('astra-settings[' + this.type + '-footer-column]').setting.get(), 10); let value = this.state.value; if (this.state.columns !== columns) { this.setState({ columns: columns }); let defaults = { '1': 'full', '2': '2-equal', '3': '3-equal', '4': '4-equal', '5': '5-equal', '6': '6-equal' }; value.desktop = defaults[columns]; value.tablet = defaults[columns]; value.mobile = 'full'; this.setState({ value: value }); this.updateValues(); } } onColumnUpdate() { let self = this; document.addEventListener('AstraBuilderChangeRowLayout', function (e) { if (e.detail.columns) { self.onFooterUpdate(); } }); } updateValues() { let event = new CustomEvent('AstraBuilderChangeRowLayout', { 'detail': { 'columns': wp.customize.value('astra-settings[' + this.type + '-footer-column]').get(), 'layout': this.state.value, 'type': this.footer_type } }); let value = this.state.value; document.dispatchEvent(event); this.props.control.setting.set({ ...this.props.control.setting.get(), ...value, flag: !this.props.control.setting.get().flag }); } } RowLayoutComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (RowLayoutComponent); /***/ }), /***/ "./src/select/control.js": /*!*******************************!*\ !*** ./src/select/control.js ***! \*******************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "selectControl": function() { return /* binding */ selectControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _select_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./select-component.js */ "./src/select/select-component.js"); const selectControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_select_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/select/select-component.js": /*!****************************************!*\ !*** ./src/select/select-component.js ***! \****************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); const SelectComponent = props => { const [props_value, setPropsValue] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(props.control.setting.get()); const onSelectChange = value => { setPropsValue(value); props.control.setting.set(value); }; const { label, name, description, choices } = props.control.params; let htmlLabel = null; let descriptionHtml = null; if (label) { htmlLabel = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, label); } let optionsHtml = Object.entries(choices).map(key => { let html = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("option", { key: key[0], value: key[0] }, key[1]); return html; }); if (description) { descriptionHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "description customize-control-description" }, description); } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, htmlLabel, descriptionHtml, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "customize-control-content" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("select", { className: "ast-select-input", "data-name": name, "data-value": props_value, value: props_value, onChange: () => { onSelectChange(event.target.value); } }, optionsHtml))); }; SelectComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(SelectComponent)); /***/ }), /***/ "./src/selector/control.js": /*!*********************************!*\ !*** ./src/selector/control.js ***! \*********************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "selectorControl": function() { return /* binding */ selectorControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _selector_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./selector-component.js */ "./src/selector/selector-component.js"); /* harmony import */ var _common_responsive_helper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/responsive-helper */ "./src/common/responsive-helper.js"); const selectorControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_selector_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); }, ready: function () { (0,_common_responsive_helper__WEBPACK_IMPORTED_MODULE_2__.astraGetAlignmentJS)(this); } }); /***/ }), /***/ "./src/selector/selector-component.js": /*!********************************************!*\ !*** ./src/selector/selector-component.js ***! \********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var html_react_parser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! html-react-parser */ "./node_modules/html-react-parser/index.mjs"); /* harmony import */ var _assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../assets/svg/svgs.json */ "../../../assets/svg/svgs.json"); const SelectorComponent = props => { const [propsValue, setPropsValue] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(props.control.setting.get()); const Icons = window.svgIcons; const onValueChange = function (value) { let device = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; let updateState = { ...propsValue }; if ('' !== device) { updateState[device] = value; } else { updateState = value; } props.control.setting.set(updateState); setPropsValue(updateState); }; const renderInputHtml = function (device) { let active = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; let resp = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; const { choices, renderAs } = props.control.params; if (!choices) { return; } if (false === resp) { let optionsHtml = Object.entries(choices).map(_ref => { let [value, icon] = _ref; if ('text' !== renderAs) { var html = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-alignment-inner-wrap active", key: value }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Button, { key: value, onClick: () => onValueChange(value), "aria-pressed": value === propsValue, isPrimary: value === propsValue }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ahfb-icon-set", dangerouslySetInnerHTML: { __html: Icons[icon] } }))); } else { var html = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-alignment-inner-wrap active", key: value }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Button, { key: value, onClick: () => onValueChange(value), "aria-pressed": value === propsValue, isPrimary: value === propsValue, label: icon }, icon)); } return html; }); return optionsHtml; } if ('text' !== renderAs) { var optionsHtml = Object.entries(choices).map(_ref2 => { let [value, icon] = _ref2; let html = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: `ast-alignment-inner-wrap ast-alignment-responsive ${device} ${active}`, key: value }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Button, { key: value, onClick: () => onValueChange(value, device), "aria-pressed": value === propsValue[device], isPrimary: value === propsValue[device] }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ahfb-icon-set", dangerouslySetInnerHTML: { __html: Icons[icon] } }))); return html; }); } else { var optionsHtml = Object.entries(choices).map(_ref3 => { let [value, icon] = _ref3; let html = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: `ast-alignment-inner-wrap ast-alignment-responsive ${device} ${active}`, key: value }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Button, { key: value, onClick: () => onValueChange(value, device), "aria-pressed": value === propsValue[device], isPrimary: value === propsValue[device], label: icon }, icon)); return html; }); } return optionsHtml; }; const { description, label, responsive } = props.control.params; let labelHtml = null; let responsiveHtml = null; let descriptionHtml = null; let inputHtml = null; let responsiveFlag = false === responsive ? false : true; if (label) { labelHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, label); if (responsiveFlag) { const responsiveDesktop = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_3__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_4__["desktop-responsive"]); const responsiveTablet = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_3__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_4__["tablet-responsive"]); const responsiveMobile = (0,html_react_parser__WEBPACK_IMPORTED_MODULE_3__["default"])(_assets_svg_svgs_json__WEBPACK_IMPORTED_MODULE_4__["mobile-responsive"]); responsiveHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("ul", { key: 'ast-resp-ul', className: "ast-responsive-btns" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { key: 'desktop', className: "desktop active" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-desktop", "data-device": "desktop" }, responsiveDesktop)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { key: 'tablet', className: "tablet" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-tablet", "data-device": "tablet" }, responsiveTablet)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { key: 'mobile', className: "mobile" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { type: "button", className: "preview-mobile", "data-device": "mobile" }, responsiveMobile))); } } if (description) { descriptionHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "description customize-control-description" }, description); } if (responsiveFlag) { inputHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-selector-responsive-wrap desktop" }, renderInputHtml('desktop', 'active')), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-selector-responsive-wrap tablet" }, renderInputHtml('tablet')), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-selector-responsive-wrap mobile" }, renderInputHtml('mobile'))); } else { inputHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, renderInputHtml('desktop', 'active', false)); } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", { key: 'customizer-text', className: "customizer-text" }), labelHtml, responsiveHtml, descriptionHtml, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "input-wrapper ast-alignment-wrapper" }, inputHtml)); }; SelectorComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(SelectorComponent)); /***/ }), /***/ "./src/settings-group/control.js": /*!***************************************!*\ !*** ./src/settings-group/control.js ***! \***************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "settingsGroupControl": function() { return /* binding */ settingsGroupControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _settings_group_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./settings-group-component */ "./src/settings-group/settings-group-component.js"); /* harmony import */ var _border_border_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../border/border-component */ "./src/border/border-component.js"); /* harmony import */ var _responsive_responsive_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../responsive/responsive-component */ "./src/responsive/responsive-component.js"); /* harmony import */ var _responsive_slider_responsive_slider_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../responsive-slider/responsive-slider-component */ "./src/responsive-slider/responsive-slider-component.js"); /* harmony import */ var _responsive_spacing_responsive_spacing_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../responsive-spacing/responsive-spacing-component */ "./src/responsive-spacing/responsive-spacing-component.js"); /* harmony import */ var _slider_slider_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../slider/slider-component */ "./src/slider/slider-component.js"); /* harmony import */ var _background_background__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../background/background */ "./src/background/background.js"); /* harmony import */ var _responsive_background_responsive_background__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../responsive-background/responsive-background */ "./src/responsive-background/responsive-background.js"); /* harmony import */ var _color_color_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../color/color-component */ "./src/color/color-component.js"); /* harmony import */ var _responsive_color_responsive_color_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../responsive-color/responsive-color-component */ "./src/responsive-color/responsive-color-component.js"); /* harmony import */ var _select_select_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../select/select-component */ "./src/select/select-component.js"); /* harmony import */ var _divider_divider_component__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../divider/divider-component */ "./src/divider/divider-component.js"); /* harmony import */ var _box_shadow_box_shadow_component_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../box-shadow/box-shadow-component.js */ "./src/box-shadow/box-shadow-component.js"); /* harmony import */ var _selector_selector_component__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../selector/selector-component */ "./src/selector/selector-component.js"); /* harmony import */ var _ast_font_variant_ast_font_variant_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../ast-font-variant/ast-font-variant.js */ "./src/ast-font-variant/ast-font-variant.js"); /* harmony import */ var _common_responsive_helper__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../common/responsive-helper */ "./src/common/responsive-helper.js"); const settingsGroupControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_settings_group_component__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); }, ready: function () { 'use strict'; var control = this; control.registerToggleEvents(); this.container.on('ast_settings_changed', control.onOptionChange); var last_scroll_top = 0; var parentSection = jQuery('.wp-full-overlay-sidebar-content'); var browser = navigator.userAgent.toLowerCase(); if (!(browser.indexOf('firefox') > -1)) { var parent_width_remove = 6; } else { var parent_width_remove = 16; } jQuery('#customize-controls .wp-full-overlay-sidebar-content .control-section').on('scroll', function (event) { var $this = jQuery(this); // Run sticky js for only open section. if ($this.hasClass('open')) { var section_title = $this.find('.customize-section-title'); var scroll_top = $this.scrollTop(); if (scroll_top > last_scroll_top) { // On scroll down, remove sticky section title. section_title.removeClass('maybe-sticky').removeClass('is-in-view').removeClass('is-sticky'); $this.css('padding-top', ''); } else { // On scroll up, add sticky section title. var parent_width = $this.outerWidth(); section_title.addClass('maybe-sticky').addClass('is-in-view').addClass('is-sticky').width(parent_width - parent_width_remove).css('top', parentSection.css('top')); if (!(browser.indexOf('firefox') > -1)) { $this.css('padding-top', section_title.height()); } if (scroll_top === 0) { // Remove sticky section heading when scrolled to the top. section_title.removeClass('maybe-sticky').removeClass('is-in-view').removeClass('is-sticky'); $this.css('padding-top', ''); } } last_scroll_top = scroll_top; } }); }, registerToggleEvents: function () { var control = this; /* Close popup when click outside anywhere outside of popup */ jQuery('.wp-full-overlay-sidebar-content, .wp-picker-container').click(function (e) { let id = undefined !== e.target ? e.target.id : '', ignoreCloseTrigger = id.indexOf('react-select-') != -1 ? true : false; if (!ignoreCloseTrigger && !jQuery(e.target).closest('.ast-field-settings-modal').length) { jQuery('.ast-adv-toggle-icon.open').trigger('click'); } }); control.container.on('click', '.ast-toggle-desc-wrap .ast-adv-toggle-icon', function (e) { e.preventDefault(); e.stopPropagation(); var $this = jQuery(this); var parent_wrap = $this.closest('.customize-control-ast-settings-group'); var is_loaded = parent_wrap.find('.ast-field-settings-modal').data('loaded'); var parent_section = parent_wrap.parents('.control-section'); if ($this.hasClass('open')) { parent_wrap.find('.ast-field-settings-modal').hide(); } else { /* Close popup when another popup is clicked to open */ var get_open_popup = parent_section.find('.ast-adv-toggle-icon.open'); if (get_open_popup.length > 0) { get_open_popup.trigger('click'); } if (is_loaded) { parent_wrap.find('.ast-field-settings-modal').show(); } else { var fields = control.params.ast_fields; var $modal_wrap = jQuery(astra.customizer.group_modal_tmpl); parent_wrap.find('.ast-field-settings-wrap').append($modal_wrap); parent_wrap.find('.ast-fields-wrap').attr('data-control', control.params.name); control.ast_render_field(parent_wrap, fields, control); parent_wrap.find('.ast-field-settings-modal').show(); var device = jQuery("#customize-footer-actions .active").attr('data-device'); if ('mobile' == device) { jQuery('.ast-responsive-btns .mobile, .ast-responsive-slider-btns .mobile').addClass('active'); jQuery('.ast-responsive-btns .preview-mobile, .ast-responsive-slider-btns .preview-mobile').addClass('active'); } else if ('tablet' == device) { jQuery('.ast-responsive-btns .tablet, .ast-responsive-slider-btns .tablet').addClass('active'); jQuery('.ast-responsive-btns .preview-tablet, .ast-responsive-slider-btns .preview-tablet').addClass('active'); } else { jQuery('.ast-responsive-btns .desktop, .ast-responsive-slider-btns .desktop').addClass('active'); jQuery('.ast-responsive-btns .preview-desktop, .ast-responsive-slider-btns .preview-desktop').addClass('active'); } } } $this.toggleClass('open'); }); control.container.on("click", ".ast-toggle-desc-wrap > .customizer-text", function (e) { e.preventDefault(); e.stopPropagation(); jQuery(this).find('.ast-adv-toggle-icon').trigger('click'); }); }, ast_render_field: function (wrap, fields, control_elem) { var control = this; var ast_field_wrap = wrap.find('.ast-fields-wrap'); var fields_html = ''; var control_types = []; var field_values = control.isJsonString(control_elem.params.value) ? JSON.parse(control_elem.params.value) : {}; if ('undefined' != typeof fields.tabs) { var clean_param_name = control_elem.params.name.replace('[', '-'), clean_param_name = clean_param_name.replace(']', ''); fields_html += '
    '; fields_html += '
      '; var counter = 0, tabs_counter = 0, tab_key = '', li_class = ''; _.each(fields.tabs, function (value, key) { switch (counter) { case 0: li_class = 'active'; tab_key = 'normal'; break; case 1: tab_key = 'hover'; break; default: tab_key = 'active'; } fields_html += '
    • ' + key + '
    • '; counter++; }); fields_html += '
    '; fields_html += '
    '; _.each(fields.tabs, function (fields_data, key) { switch (tabs_counter) { case 0: li_class = 'active'; tab_key = 'normal'; break; case 1: tab_key = 'hover'; break; default: tab_key = 'active'; } fields_html += '
    '; var result = control.generateFieldHtml(fields_data, field_values); fields_html += result.html; _.each(result.controls, function (control_value, control_key) { control_types.push({ key: control_value.key, value: control_value.value, name: control_value.name }); }); fields_html += '
    '; tabs_counter++; }); fields_html += '
    '; ast_field_wrap.html(fields_html); control.renderReactControl(fields, control); jQuery("#" + clean_param_name + "-tabs").tabs(); } else { var result = control.generateFieldHtml(fields, field_values); fields_html += result.html; _.each(result.controls, function (control_value, control_key) { control_types.push({ key: control_value.key, value: control_value.value, name: control_value.name }); }); ast_field_wrap.html(fields_html); control.renderReactControl(fields, control); } _.each(control_types, function (control_type, index) { switch (control_type.key) { case "ast-color": (0,_common_responsive_helper__WEBPACK_IMPORTED_MODULE_16__.astraGetColor)("#customize-control-" + control_type.name); break; case "ast-background": (0,_common_responsive_helper__WEBPACK_IMPORTED_MODULE_16__.astraGetBackground)("#customize-control-" + control_type.name); break; case "ast-responsive-background": (0,_common_responsive_helper__WEBPACK_IMPORTED_MODULE_16__.astraGetResponsiveBgJs)(control, "#customize-control-" + control_type.name); break; case "ast-responsive-color": (0,_common_responsive_helper__WEBPACK_IMPORTED_MODULE_16__.astraGetResponsiveColorJs)(control, "#customize-control-" + control_type.name); break; case "ast-responsive": (0,_common_responsive_helper__WEBPACK_IMPORTED_MODULE_16__.astraGetResponsiveJs)(control); break; case "ast-responsive-slider": (0,_common_responsive_helper__WEBPACK_IMPORTED_MODULE_16__.astraGetResponsiveSliderJs)(control); break; case "ast-responsive-spacing": (0,_common_responsive_helper__WEBPACK_IMPORTED_MODULE_16__.astraGetResponsiveSpacingJs)(control); break; case "ast-font": var googleFontsString = astra.customizer.settings.google_fonts; control.container.find('.ast-font-family').html(googleFontsString); control.container.find('.ast-font-family').each(function () { var selectedValue = jQuery(this).data('value'); jQuery(this).val(selectedValue); var optionName = jQuery(this).data('name'); // Set inherit option text defined in control parameters. jQuery("select[data-name='" + optionName + "'] option[value='inherit']").text(jQuery(this).data('inherit')); var fontWeightContainer = jQuery(".ast-font-weight[data-connected-control='" + optionName + "']"); var weightObject = AstTypography._getWeightObject(AstTypography._cleanGoogleFonts(selectedValue)); control.generateDropdownHtml(weightObject, fontWeightContainer); fontWeightContainer.val(fontWeightContainer.data('value')); }); control.container.find('.ast-font-family').selectWoo(); control.container.find('.ast-font-family').on('select2:select', function () { var value = jQuery(this).val(); var weightObject = AstTypography._getWeightObject(AstTypography._cleanGoogleFonts(value)); var optionName = jQuery(this).data('name'); var fontWeightContainer = jQuery(".ast-font-weight[data-connected-control='" + optionName + "']"); control.generateDropdownHtml(weightObject, fontWeightContainer); var font_control = jQuery(this).parents('.customize-control').attr('id'); font_control = font_control.replace('customize-control-', ''); control.container.trigger('ast_settings_changed', [control, jQuery(this), value, font_control]); var font_weight_control = fontWeightContainer.parents('.customize-control').attr('id'); font_weight_control = font_weight_control.replace('customize-control-', ''); control.container.trigger('ast_settings_changed', [control, fontWeightContainer, fontWeightContainer.val(), font_weight_control]); }); control.container.find('.ast-font-weight').on('change', function () { var value = jQuery(this).val(); name = jQuery(this).parents('.customize-control').attr('id'); name = name.replace('customize-control-', ''); control.container.trigger('ast_settings_changed', [control, jQuery(this), value, name]); }); break; } }); wrap.find('.ast-field-settings-modal').data('loaded', true); }, getJS: function (control) {}, generateFieldHtml: function (fields_data, field_values) { var fields_html = ''; var control_types = []; _.each(fields_data, function (attr, index) { var new_value = wp.customize.control('astra-settings[' + attr.name + ']') ? wp.customize.control('astra-settings[' + attr.name + ']').params.value : ''; var control = attr.control; var template_id = "customize-control-" + control + "-content"; var template = wp.template(template_id); var value = new_value || attr.default; attr.value = value; var dataAtts = ''; var input_attrs = ''; attr.label = attr.title; // Data attributes. _.each(attr.data_attrs, function (value, name) { dataAtts += " data-" + name + " ='" + value + "'"; }); // Input attributes _.each(attr.input_attrs, function (value, name) { input_attrs += name + '="' + value + '" '; }); attr.dataAttrs = dataAtts; attr.inputAttrs = input_attrs; control_types.push({ key: control, value: value, name: attr.name }); if ('ast-responsive' == control) { var is_responsive = 'undefined' == typeof attr.responsive ? true : attr.responsive; attr.responsive = is_responsive; } var control_clean_name = attr.name.replace('[', '-'); control_clean_name = control_clean_name.replace(']', ''); fields_html += "
  • "; if (jQuery('#tmpl-' + template_id).length) { fields_html += template(attr); } fields_html += '
  • '; }); var result = new Object(); result.controls = control_types; result.html = fields_html; return result; }, generateDropdownHtml: function (weightObject, element) { var currentWeightTitle = element.data('inherit'); var weightOptions = ''; var inheritWeightObject = ['inherit']; var counter = 0; var weightObject = jQuery.merge(inheritWeightObject, weightObject); var weightValue = element.val() || '400'; var selected = ''; astraTypo['inherit'] = currentWeightTitle; for (; counter < weightObject.length; counter++) { if (0 === counter && -1 === jQuery.inArray(weightValue, weightObject)) { weightValue = weightObject[0]; selected = ' selected="selected"'; } else { selected = weightObject[counter] == weightValue ? ' selected="selected"' : ''; } if (!weightObject[counter].includes("italic")) { weightOptions += ''; } } element.html(weightOptions); }, onOptionChange: function (e, control, element, value, name) { var control_id = jQuery('.hidden-field-astra-settings-' + name); control_id.val(value); let sub_control = wp.customize.control("astra-settings[" + name + "]"); sub_control.setting.set(value); }, isJsonString: function (str) { try { JSON.parse(str); } catch (e) { return false; } return true; }, getFinalControlObject: function (attr, controlObject) { if (undefined !== attr.choices && undefined === controlObject.params['choices']) { controlObject.params['choices'] = attr.choices; } if (undefined !== attr.inputAttrs && undefined === controlObject.params['inputAttrs']) { controlObject.params['inputAttrs'] = attr.inputAttrs; } if (undefined !== attr.input_attrs && undefined === controlObject.params['input_attrs']) { controlObject.params['input_attrs'] = attr.input_attrs; } if (undefined !== attr.link && undefined === controlObject.params['link']) { controlObject.params['link'] = attr.link; } if (undefined !== attr.units && undefined === controlObject.params['units']) { controlObject.params['units'] = attr.units; } if (undefined !== attr.linked_choices && undefined === controlObject.params['linked_choices']) { controlObject.params['linked_choices'] = attr.linked_choices; } if (undefined !== attr.title && (undefined === controlObject.params['label'] || '' === controlObject.params['label'] || null === controlObject.params['label'])) { controlObject.params['label'] = attr.title; } if (undefined !== attr.responsive && (undefined === controlObject.params['responsive'] || '' === controlObject.params['responsive'] || null === controlObject.params['responsive'])) { controlObject.params['responsive'] = attr.responsive; } if (undefined !== attr.renderAs && (undefined === controlObject.params['renderAs'] || '' === controlObject.params['renderAs'] || null === controlObject.params['renderAs'])) { controlObject.params['renderAs'] = attr.renderAs; } return controlObject; }, renderReactControl: function (fields, control) { const reactControls = { 'ast-background': _background_background__WEBPACK_IMPORTED_MODULE_7__["default"], 'ast-responsive-background': _responsive_background_responsive_background__WEBPACK_IMPORTED_MODULE_8__["default"], 'ast-responsive-color': _responsive_color_responsive_color_component__WEBPACK_IMPORTED_MODULE_10__["default"], 'ast-color': _color_color_component__WEBPACK_IMPORTED_MODULE_9__["default"], 'ast-border': _border_border_component__WEBPACK_IMPORTED_MODULE_2__["default"], 'ast-responsive': _responsive_responsive_component__WEBPACK_IMPORTED_MODULE_3__["default"], 'ast-responsive-slider': _responsive_slider_responsive_slider_component__WEBPACK_IMPORTED_MODULE_4__["default"], 'ast-slider': _slider_slider_component__WEBPACK_IMPORTED_MODULE_6__["default"], 'ast-responsive-spacing': _responsive_spacing_responsive_spacing_component__WEBPACK_IMPORTED_MODULE_5__["default"], 'ast-select': _select_select_component__WEBPACK_IMPORTED_MODULE_11__["default"], 'ast-divider': _divider_divider_component__WEBPACK_IMPORTED_MODULE_12__["default"], 'ast-selector': _selector_selector_component__WEBPACK_IMPORTED_MODULE_14__["default"], 'ast-font-variant': _ast_font_variant_ast_font_variant_js__WEBPACK_IMPORTED_MODULE_15__["default"] }; if (astra.customizer.is_pro) { reactControls['ast-box-shadow'] = _box_shadow_box_shadow_component_js__WEBPACK_IMPORTED_MODULE_13__["default"]; } if ('undefined' != typeof fields.tabs) { _.each(fields.tabs, function (fields_data, key) { _.each(fields_data, function (attr, index) { if ('ast-font' !== attr.control) { var control_clean_name = attr.name.replace('[', '-'); control_clean_name = control_clean_name.replace(']', ''); var selector = '#customize-control-' + control_clean_name; var controlObject = wp.customize.control('astra-settings[' + attr.name + ']'); controlObject = control.getFinalControlObject(attr, controlObject); const ComponentName = reactControls[attr.control]; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(ComponentName, { control: controlObject, customizer: wp.customize }), jQuery(selector)[0]); } }); }); } else { _.each(fields, function (attr, index) { if ('ast-font' !== attr.control) { var control_clean_name = attr.name.replace('[', '-'); control_clean_name = control_clean_name.replace(']', ''); var selector = '#customize-control-' + control_clean_name; var controlObject = wp.customize.control('astra-settings[' + attr.name + ']'); controlObject = control.getFinalControlObject(attr, controlObject); const ComponentName = reactControls[attr.control]; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(ComponentName, { control: controlObject, customizer: wp.customize }), jQuery(selector)[0]); } }); } } }); /***/ }), /***/ "./src/settings-group/settings-group-component.js": /*!********************************************************!*\ !*** ./src/settings-group/settings-group-component.js ***! \********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); const SettingsGroupComponent = props => { let htmlLabel = null; let htmlHelp = null; const { label, help, name } = props.control.params; if (label) { htmlLabel = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", null, label); } if (help) { htmlHelp = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ast-description" }, help); } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-toggle-desc-wrap" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", { className: "customizer-text" }, htmlLabel, htmlHelp, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ast-adv-toggle-icon dashicons", "data-control": name }))), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-field-settings-wrap" })); }; SettingsGroupComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(SettingsGroupComponent)); /***/ }), /***/ "./src/slider/control.js": /*!*******************************!*\ !*** ./src/slider/control.js ***! \*******************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "sliderControl": function() { return /* binding */ sliderControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _slider_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slider-component.js */ "./src/slider/slider-component.js"); const sliderControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_slider_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/slider/slider-component.js": /*!****************************************!*\ !*** ./src/slider/slider-component.js ***! \****************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); const SliderComponent = props => { const [props_value, setPropsValue] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(props.control.setting.get()); (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(() => { // If settings are changed externally. setPropsValue(props.control.setting.get()); }, [props]); const linkRemoteUpdate = () => { document.addEventListener('AstRemoteUpdateState', function (e) { if (e.detail === 'btn-preset' || e.detail === 'typography') { let value = props.control.setting.get(); setPropsValue(value); } }); }; linkRemoteUpdate(); const { label, description, suffix, input_attrs } = props.control.params; let labelHtml = null, descriptionHtml = null, suffixHtml = null, defaultVal = props.control.params.default; const defaults = { min: 0, max: 500, step: 1 }; const controlProps = { ...defaults, ...(input_attrs || {}) }; const { min, max, step } = controlProps; if (label) { labelHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, label)); } if (description) { descriptionHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "description customize-control-description" }, description); } if (suffix) { suffixHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ast-range-unit" }, suffix); } const updateValues = newVal => { setPropsValue(newVal); props.control.setting.set(newVal); }; const renderOperationButtons = () => { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-resp-slider-reset-wrap" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { className: "ast-reset-btn components-button components-circular-option-picker__clear is-secondary is-small", disabled: JSON.stringify(props_value) === JSON.stringify(defaultVal), onClick: e => { e.preventDefault(); let value = JSON.parse(JSON.stringify(defaultVal)); updateValues(value); } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.Dashicon, { icon: "image-rotate" }))); }; let savedValue = props_value || 0 === props_value ? parseFloat(props_value) : ''; if (1 === step) { savedValue = props_value || 0 === props_value ? parseInt(props_value) : ''; } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-slider-wrap" }, labelHtml, descriptionHtml, suffixHtml, renderOperationButtons(), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "wrapper" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.RangeControl, { value: savedValue, onChange: value => updateValues(value), resetFallbackValue: defaultVal, min: min > 0 ? min : 0, max: max || 500, step: step || 1 }))); }; SliderComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(SliderComponent)); /***/ }), /***/ "./src/social-icons/control.js": /*!*************************************!*\ !*** ./src/social-icons/control.js ***! \*************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "SocialControl": function() { return /* binding */ SocialControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _social_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./social-component.js */ "./src/social-icons/social-component.js"); const SocialControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_social_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/social-icons/item-component.js": /*!********************************************!*\ !*** ./src/social-icons/item-component.js ***! \********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _fonticonpicker_react_fonticonpicker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @fonticonpicker/react-fonticonpicker */ "./node_modules/@fonticonpicker/react-fonticonpicker/dist/fonticonpicker.react.js"); /* harmony import */ var _fonticonpicker_react_fonticonpicker__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_fonticonpicker_react_fonticonpicker__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _assets_svg_ast_social_icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../assets/svg/ast-social-icons */ "../../../assets/svg/ast-social-icons.json"); /* harmony import */ var _assets_js_ast_render_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../assets/js/ast-render-svg */ "../../assets/js/ast-render-svg.js"); const { __ } = wp.i18n; const { Dashicon, Tooltip, TextControl, Button } = wp.components; let svg_icons = Object.keys(_assets_svg_ast_social_icons__WEBPACK_IMPORTED_MODULE_3__); const ItemComponent = props => { const Icons = window.svgIcons; const [state, setState] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({ open: false }); const icon = props.item.id.replace(/[\d_]+$/g, ''); // Regex to replace numeric chars with empty string. const urlLabel = 'phone' === props.item.id || 'phone_2' === props.item.id ? __('Number', 'astra') : __('URL', 'astra'); const [selectedIcon, setSelectedIcon] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(props.item.icon); (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => { setSelectedIcon(Icons[props.item.icon]); }, []); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-sorter-item", "data-id": props.item.id, key: props.item.id }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-sorter-item-panel-header", onClick: () => { setState(prevState => ({ ...prevState, open: state.open ? false : true })); } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Tooltip, { text: __('Toggle Item Visiblity', 'astra') }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Button, { className: "ahfb-sorter-visiblity" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { dangerouslySetInnerHTML: { __html: selectedIcon } }))), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ahfb-sorter-title" }, undefined !== props.item.label && '' !== props.item.label ? props.item.label : __('Social Item', 'astra')), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Button, { className: `ahfb-sorter-item-expand ${props.item.enabled ? 'item-is-visible' : 'item-is-hidden'}`, onClick: e => { e.stopPropagation(); props.toggleEnabled(props.item.enabled ? false : true, props.index); } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Dashicon, { icon: "visibility" })), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Button, { className: "ahfb-sorter-item-remove", isDestructive: true, onClick: () => { props.removeItem(props.index); } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Dashicon, { icon: "no-alt" }))), state.open && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-sorter-item-panel-content" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(TextControl, { label: __('Label', 'astra'), value: props.item.label ? props.item.label : '', onChange: value => { props.onChangeLabel(value, props.index); } }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(TextControl, { label: `${urlLabel}`, value: props.item.url ? props.item.url : '', onChange: value => { props.onChangeURL(value, props.index); } }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("p", { className: "ast-social-icon-picker-label" }, __("Icon")), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)((_fonticonpicker_react_fonticonpicker__WEBPACK_IMPORTED_MODULE_2___default()), { icons: svg_icons, renderFunc: _assets_js_ast_render_svg__WEBPACK_IMPORTED_MODULE_4__["default"], theme: "default", value: props.item.icon, onChange: value => { props.onChangeIcon(value, props.index); setSelectedIcon(Icons[value]); }, isMulti: false, noSelectedPlaceholder: __('Select Icon', 'astra') }))); }; /* harmony default export */ __webpack_exports__["default"] = (ItemComponent); /***/ }), /***/ "./src/social-icons/social-component.js": /*!**********************************************!*\ !*** ./src/social-icons/social-component.js ***! \**********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var react_sortablejs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-sortablejs */ "./node_modules/react-sortablejs/dist/index.js"); /* harmony import */ var react_sortablejs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_sortablejs__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _item_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./item-component */ "./src/social-icons/item-component.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__); const { __ } = wp.i18n; const { Button, SelectControl } = wp.components; const SocialComponent = props => { let value = props.control.setting.get(); let baseDefault = { 'items': [{ 'id': 'facebook', 'enabled': true, 'url': '', 'color': '#557dbc', 'background': 'transparent', 'icon': 'facebook', 'label': 'Facebook' }, { 'id': 'twitter', 'enabled': true, 'url': '', 'color': '#7acdee', 'background': 'transparent', 'icon': 'twitter', 'label': 'Twitter' }] }; let defaultValue = props.control.params.default ? { ...baseDefault, ...props.control.params.default } : baseDefault; value = value ? { ...defaultValue, ...value } : defaultValue; let defaultParams = { 'group': 'social_item_group', 'options': [{ value: 'facebook', label: __('Facebook', 'astra'), color: '#557dbc', background: 'transparent' }, { value: 'twitter', label: __('Twitter', 'astra'), color: '#7acdee', background: 'transparent' }, { value: 'instagram', label: __('Instagram', 'astra'), color: '#8a3ab9', background: 'transparent' }, { value: 'youtube', label: __('YouTube', 'astra'), color: '#e96651', background: 'transparent' }, { value: 'facebook_group', label: __('Facebook Group', 'astra'), color: '#3D87FB', background: 'transparent' }, { value: 'vimeo', label: __('Vimeo', 'astra'), color: '#8ecfde', background: 'transparent' }, { value: 'pinterest', label: __('Pinterest', 'astra'), color: '#ea575a', background: 'transparent' }, { value: 'linkedin', label: __('Linkedin', 'astra'), color: '#1c86c6', background: 'transparent' }, { value: 'medium', label: __('Medium', 'astra'), color: '#292929', background: 'transparent' }, { value: 'wordpress', label: __('WordPress', 'astra'), color: '#464646', background: 'transparent' }, { value: 'reddit', label: __('Reddit', 'astra'), color: '#FC471E', background: 'transparent' }, { value: 'patreon', label: __('Patreon', 'astra'), color: '#e65c4b', background: 'transparent' }, { value: 'github', label: __('GitHub', 'astra'), color: '#24292e', background: 'transparent' }, { value: 'dribbble', label: __('Dribbble', 'astra'), color: '#d77ea6', background: 'transparent' }, { value: 'behance', label: __('Behance', 'astra'), color: '#1B64F6', background: 'transparent' }, { value: 'vk', label: __('VK', 'astra'), color: '#5382b6', background: 'transparent' }, { value: 'xing', label: __('Xing', 'astra'), color: '#0A5C5D', background: 'transparent' }, { value: 'rss', label: __('RSS', 'astra'), color: '#f09124', background: 'transparent' }, { value: 'email', label: __('Email 1', 'astra'), color: '#ea4335', background: 'transparent' }, { value: 'phone', label: __('Phone 1', 'astra'), color: 'inherit', background: 'transparent' }, { value: 'email_2', label: __('Email 2', 'astra'), color: '#ea4335', background: 'transparent' }, { value: 'phone_2', label: __('Phone 2', 'astra'), color: 'inherit', background: 'transparent' }, { value: 'whatsapp', label: __('WhatsApp', 'astra'), color: '#5BBA67', background: 'transparent' }, { value: 'google_reviews', label: __('Google Reviews', 'astra'), color: '#dc4e41', background: 'transparent' }, { value: 'telegram', label: __('Telegram', 'astra'), color: '#229CCE', background: 'transparent' }, { value: 'yelp', label: __('Yelp', 'astra'), color: '#af0606', background: 'transparent' }, { value: 'trip_advisor', label: __('Trip Advisor', 'astra'), color: '#00aa6c', background: 'transparent' }, { value: 'imdb', label: __('IMDB', 'astra'), color: '#000000', background: 'transparent' }].sort((a, b) => { if (a.value < b.value) { return -1; } if (a.value > b.value) { return 1; } return 0; }) }; let controlParams = props.control.params.input_attrs ? { ...defaultParams, ...props.control.params.input_attrs } : defaultParams; let availibleSocialOptions = []; controlParams.options.map(option => { if (!value.items.some(obj => obj.id === option.value)) { availibleSocialOptions.push(option); } }); const [state, setState] = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)({ value: value, isVisible: false, control: undefined !== availibleSocialOptions[0] && undefined !== availibleSocialOptions[0].value ? availibleSocialOptions[0].value : '', icon: '' }); (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)(() => { // If settings are changed externally. setState(prevState => ({ ...prevState, value: props.control.setting.get() })); }, [props]); const updateValues = value => { props.control.setting.set({ ...props.control.setting.get(), ...value, flag: !props.control.setting.get().flag }); }; const onDragStop = () => { let dropzones = document.querySelectorAll('.ahfb-builder-area'); let i; for (i = 0; i < dropzones.length; ++i) { dropzones[i].classList.remove('ahfb-dragging-dropzones'); } }; const saveArrayUpdate = (value, index) => { let updateState = state.value; let items = updateState.items; const newItems = items.map((item, thisIndex) => { if (index === thisIndex) { item = { ...item, ...value }; } return item; }); updateState.items = newItems; setState(prevState => ({ ...prevState, value: updateState })); updateValues(updateState); }; const toggleEnableItem = (value, itemIndex) => { saveArrayUpdate({ enabled: value }, itemIndex); }; const onChangeLabel = (value, itemIndex) => { saveArrayUpdate({ label: value }, itemIndex); }; const onChangeURL = (value, itemIndex) => { saveArrayUpdate({ url: value }, itemIndex); }; const removeItem = itemIndex => { let updateState = state.value; let update = updateState.items; let updateItems = []; { update.length > 0 && update.map((old, index) => { if (itemIndex !== index) { updateItems.push(old); } }); } updateState.items = updateItems; setState(prevState => ({ ...prevState, value: updateState })); updateValues(updateState); }; const addItem = () => { const itemControl = state.control; setState(prevState => ({ ...prevState, isVisible: false })); if (itemControl) { let updateState = state.value; let update = updateState.items; let icon = itemControl.replace(/[\d_]+$/g, ''); // Regex to replace numeric chars with empty string. const itemLabel = controlParams.options.filter(function (o) { return o.value === itemControl; }); let newItem = { 'id': itemControl, 'enabled': true, 'url': '', 'color': itemLabel[0].color, 'background': itemLabel[0].background, 'icon': icon, 'label': itemLabel[0].label }; update.push(newItem); updateState.items = update; let availibleSocialOptions = []; controlParams.options.map(option => { if (!update.some(obj => obj.id === option.value)) { availibleSocialOptions.push(option); } }); setState(prevState => ({ ...prevState, control: undefined !== availibleSocialOptions[0] && undefined !== availibleSocialOptions[0].value ? availibleSocialOptions[0].value : '' })); setState(prevState => ({ ...prevState, value: updateState })); updateValues(updateState); } }; const onDragEnd = items => { let updateState = state.value; let update = updateState.items; let updateItems = []; { items.length > 0 && items.map(item => { update.filter(obj => { if (obj.id === item.id) { updateItems.push(obj); } }); }); } ; if (!arraysEqual(update, updateItems)) { update.items = updateItems; updateState.items = updateItems; setState(prevState => ({ ...prevState, value: updateState })); updateValues(updateState); } }; const arraysEqual = (a, b) => { if (a === b) return true; if (a == null || b == null) return false; if (a.length != b.length) return false; for (let i = 0; i < a.length; ++i) { if (a[i] !== b[i]) return false; } return true; }; const currentList = typeof state.value != "undefined" && state.value.items != null && state.value.items.length != null && state.value.items.length > 0 ? state.value.items : []; let theItems = []; { currentList.length > 0 && currentList.map(item => { theItems.push({ id: item.id }); }); } ; const onChangeIcon = (icon, itemIndex) => { saveArrayUpdate({ icon: icon }, itemIndex); }; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-control-field ahfb-sorter-items" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-sorter-row" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(react_sortablejs__WEBPACK_IMPORTED_MODULE_1__.ReactSortable, { animation: 100, onStart: () => onDragStop(), onEnd: () => onDragStop(), group: controlParams.group, className: `ahfb-sorter-drop ahfb-sorter-sortable-panel ahfb-sorter-drop-${controlParams.group}`, handle: '.ahfb-sorter-item-panel-header', list: theItems, setList: newState => onDragEnd(newState) }, currentList.length > 0 && currentList.map((item, index) => { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_item_component__WEBPACK_IMPORTED_MODULE_2__["default"], { removeItem: remove => removeItem(remove), toggleEnabled: (enable, itemIndex) => toggleEnableItem(enable, itemIndex), onChangeLabel: (label, itemIndex) => onChangeLabel(label, itemIndex), onChangeIcon: (icon, index) => onChangeIcon(icon, index), onChangeURL: (url, itemIndex) => onChangeURL(url, itemIndex), key: item.id, index: index, item: item, controlParams: controlParams }); }))), undefined !== availibleSocialOptions[0] && undefined !== availibleSocialOptions[0].value && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ahfb-social-add-area" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(SelectControl, { value: state.control, options: availibleSocialOptions, onChange: value => { setState(prevState => ({ ...prevState, control: value })); } }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Button, { className: "ahfb-sorter-add-item", isPrimary: true, onClick: () => { addItem(); } }, __('Add Social Icon', 'astra')))); }; SocialComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (SocialComponent); /***/ }), /***/ "./src/sortable/control.js": /*!*********************************!*\ !*** ./src/sortable/control.js ***! \*********************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "sortableControl": function() { return /* binding */ sortableControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _sortable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sortable.js */ "./src/sortable/sortable.js"); /* harmony import */ var _border_border_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../border/border-component */ "./src/border/border-component.js"); /* harmony import */ var _responsive_responsive_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../responsive/responsive-component */ "./src/responsive/responsive-component.js"); /* harmony import */ var _responsive_slider_responsive_slider_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../responsive-slider/responsive-slider-component */ "./src/responsive-slider/responsive-slider-component.js"); /* harmony import */ var _responsive_spacing_responsive_spacing_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../responsive-spacing/responsive-spacing-component */ "./src/responsive-spacing/responsive-spacing-component.js"); /* harmony import */ var _slider_slider_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../slider/slider-component */ "./src/slider/slider-component.js"); /* harmony import */ var _background_background__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../background/background */ "./src/background/background.js"); /* harmony import */ var _responsive_background_responsive_background__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../responsive-background/responsive-background */ "./src/responsive-background/responsive-background.js"); /* harmony import */ var _color_color_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../color/color-component */ "./src/color/color-component.js"); /* harmony import */ var _responsive_color_responsive_color_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../responsive-color/responsive-color-component */ "./src/responsive-color/responsive-color-component.js"); /* harmony import */ var _select_select_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../select/select-component */ "./src/select/select-component.js"); /* harmony import */ var _divider_divider_component__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../divider/divider-component */ "./src/divider/divider-component.js"); /* harmony import */ var _box_shadow_box_shadow_component_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../box-shadow/box-shadow-component.js */ "./src/box-shadow/box-shadow-component.js"); /* harmony import */ var _selector_selector_component__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../selector/selector-component */ "./src/selector/selector-component.js"); /* harmony import */ var _toggle_control_toggle_control_component__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../toggle-control/toggle-control-component */ "./src/toggle-control/toggle-control-component.js"); /* harmony import */ var _text_input_text_input_component__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../text-input/text-input-component */ "./src/text-input/text-input-component.js"); /* harmony import */ var _list_icons_list_icons_component__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../list-icons/list-icons-component */ "./src/list-icons/list-icons-component.js"); /* harmony import */ var _common_responsive_helper__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../common/responsive-helper */ "./src/common/responsive-helper.js"); const sortableControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_sortable_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); }, ready: function () { 'use strict'; let control = this; // Set the sortable container. control.sortableContainer = control.container.find('.sortable').first(); // Init sortable. control.sortableContainer.sortable({ cancel: ".ast-sortable-item.show", // Update value when we stop sorting. stop: function () { control.updateValue(); } }).disableSelection().find('.ast-sortable-item').each(function () { // Enable/disable options when we click on the eye of Thundera. jQuery(this).find('i.visibility').click(function () { jQuery(this).toggleClass('dashicons-visibility-faint').parents('div:eq(0)').toggleClass('invisible'); }); jQuery(this).on('click', 'i.ast-accordion', function (e) { e.preventDefault(); e.stopPropagation(); control.expandSortableAccorditem(this, control); }); jQuery(this).on('click', 'i.sortable-clonner', function (e) { e.preventDefault(); e.stopPropagation(); control.cloneSortableItem(this, control); }); jQuery(this).on('click', 'i.remove-sortable-item', function (e) { e.preventDefault(); e.stopPropagation(); control.removeSortableItem(this, control); }); }).click(function () { // Update value on click. control.updateValue(); }); }, expandSortableAccorditem: function (instance, control) { let parentWrap = jQuery(instance).closest('.ast-sortable-item'), option = parentWrap.data('value'), is_loaded = parentWrap.find('.ast-sortable-subcontrols').data('loaded'), parent_section = parentWrap.parents('.control-section'); if (is_loaded) { parentWrap.find('.ast-sortable-subfields-wrap').show(); } else { /* Close popup when another popup is clicked to open */ let get_opened_subcontrol = parent_section.find('.ast-sortable-item.show'); if (get_opened_subcontrol.length > 0) { get_opened_subcontrol.toggleClass('show'); } let nestedControls = []; Object.entries(control.params.ast_fields).map(_ref => { let [key, value] = _ref; if (value.linked && option == value.linked) { nestedControls[key] = value; } }); if (nestedControls) { let modal_wrap = jQuery(astra.customizer.sortable_modal_tmpl); parentWrap.find('.ast-sortable-subcontrols').append(modal_wrap); parentWrap.find('.ast-fields-wrap').attr('data-control', control.name); control.ast_render_field(parentWrap, nestedControls, control); parentWrap.find('.ast-sortable-subfields-wrap').show(); } } jQuery(instance).closest('.ast-sortable-item').toggleClass('show'); control.updateValue(); }, cloneSortableItem: function (instance, control) { let parentWrap = jQuery(instance).closest('.ast-sortable-item'), option = parentWrap.data('value'), originalItem = parentWrap.data('index'), parentSection = parentWrap.parents('.control-section'), clonnedSortableItem = parentSection.find('.ast-sortable-item[data-clonned-item]'), toBeClonedCounter = 1; if (clonnedSortableItem.length > 0) { toBeClonedCounter = clonnedSortableItem.length + 1; } let lastChar = parseInt(originalItem.slice(-1)), indexValue = originalItem; if (lastChar) { indexValue = originalItem.slice(0, -2); } control.addSortableVisibleInstance(option, toBeClonedCounter, control, indexValue); control.addListeners(control); control.updateValue(); }, removeSortableItem: function (instance, control) { let parentWrap = jQuery(instance).closest('.ast-sortable-item'), originalItem = parentWrap.data('index'); let mainIndexClonner = control.sortableContainer.find('.ast-sortable-item[data-value="' + originalItem + '"]').find('.sortable-clonner'); if (mainIndexClonner.length) { mainIndexClonner.show(); } else { control.sortableContainer.find('.ast-sortable-item[data-value="' + originalItem + '"]').find('.dashicons-visibility').after(''); } let sortableItems = control.sortableContainer.find('.ast-sortable-item[data-index="' + originalItem + '"]'); if (sortableItems.length && 1 < sortableItems.length) { parentWrap.remove(); } control.addListeners(control); control.updateValue(); }, addListeners: function (control) { let removeTriggers = document.getElementsByClassName('remove-sortable-item'), accordionTriggers = document.getElementsByClassName('clonned-sortable-accordion'), visibilityTriggers = document.getElementsByClassName('clonned-sortable-visibility'); for (let removeTriggerCounter = 0; removeTriggerCounter < removeTriggers.length; removeTriggerCounter++) { removeTriggers[removeTriggerCounter].onclick = function () { control.removeSortableItem(this, control); }; } for (let accordTriggerCounter = 0; accordTriggerCounter < accordionTriggers.length; accordTriggerCounter++) { accordionTriggers[accordTriggerCounter].onclick = function () { control.expandSortableAccorditem(this, control); }; } for (let visibilityTriggerCounter = 0; visibilityTriggerCounter < visibilityTriggers.length; visibilityTriggerCounter++) { visibilityTriggers[visibilityTriggerCounter].onclick = function () { jQuery(this).toggleClass('dashicons-visibility-faint').parents('div:eq(0)').toggleClass('invisible'); }; } }, addClonedControl: function (option, control) { const nestedControls = []; Object.entries(control.params.ast_fields).map(_ref2 => { let [key, value] = _ref2; if (value.linked && option == value.linked) { nestedControls[key] = value; } }); }, addSortableVisibleInstance: function (key, toBeClonedCounter, control, originalItem) { let clonnedFrom = jQuery('.ast-sortable-item[data-value="' + key + '"]'), title = clonnedFrom.data('title'), sortableNewID = '', newChoiceID = originalItem + '-' + toBeClonedCounter, limit = control.params.choices[originalItem].clone_limit; sortableNewID = '
    ' + title + ' '; sortableNewID += ''; sortableNewID += '
    ' + astraTypo[newWeightObject[counter]] + ''; } } element.html(weightOptions); }, generateFieldHtml: function (fields_data, field_values) { let fields_html = '', control_types = []; _.each(fields_data, function (attr, index) { if (undefined != attr) { let new_value = wp.customize.control(attr.name) ? wp.customize.control(attr.name).setting.get() : '', control = attr.control, template_id = "customize-control-" + control + "-content", template = wp.template(template_id), value = new_value || attr.default, dataAtts = '', input_attrs = ''; attr.value = value; attr.label = attr.title; // Data attributes. _.each(attr.data_attrs, function (value, name) { dataAtts += " data-" + name + " ='" + value + "'"; }); // Input attributes _.each(attr.input_attrs, function (value, name) { input_attrs += name + '="' + value + '" '; }); attr.dataAttrs = dataAtts; attr.inputAttrs = input_attrs; control_types.push({ key: control, value: value, name: attr.name }); if ('ast-responsive' == control) { let is_responsive = 'undefined' == typeof attr.responsive ? true : attr.responsive; attr.responsive = is_responsive; } let control_full_name = attr.name.replace('[', '-'); control_full_name = control_full_name.replace(']', ''); fields_html += "
  • "; if (jQuery('#tmpl-' + template_id).length) { fields_html += template(attr); } fields_html += '
  • '; } }); let result = new Object(); result.controls = control_types; result.html = fields_html; return result; }, renderReactControl: function (fields, control) { const reactControls = { 'ast-background': _background_background__WEBPACK_IMPORTED_MODULE_7__["default"], 'ast-responsive-background': _responsive_background_responsive_background__WEBPACK_IMPORTED_MODULE_8__["default"], 'ast-responsive-color': _responsive_color_responsive_color_component__WEBPACK_IMPORTED_MODULE_10__["default"], 'ast-color': _color_color_component__WEBPACK_IMPORTED_MODULE_9__["default"], 'ast-border': _border_border_component__WEBPACK_IMPORTED_MODULE_2__["default"], 'ast-responsive': _responsive_responsive_component__WEBPACK_IMPORTED_MODULE_3__["default"], 'ast-responsive-slider': _responsive_slider_responsive_slider_component__WEBPACK_IMPORTED_MODULE_4__["default"], 'ast-slider': _slider_slider_component__WEBPACK_IMPORTED_MODULE_6__["default"], 'ast-responsive-spacing': _responsive_spacing_responsive_spacing_component__WEBPACK_IMPORTED_MODULE_5__["default"], 'ast-select': _select_select_component__WEBPACK_IMPORTED_MODULE_11__["default"], 'ast-divider': _divider_divider_component__WEBPACK_IMPORTED_MODULE_12__["default"], 'ast-selector': _selector_selector_component__WEBPACK_IMPORTED_MODULE_14__["default"], 'ast-toggle': _toggle_control_toggle_control_component__WEBPACK_IMPORTED_MODULE_15__["default"], 'ast-text-input': _text_input_text_input_component__WEBPACK_IMPORTED_MODULE_16__["default"], 'ast-list-icons': _list_icons_list_icons_component__WEBPACK_IMPORTED_MODULE_17__["default"] }; if (astra.customizer.is_pro) { reactControls['ast-box-shadow'] = _box_shadow_box_shadow_component_js__WEBPACK_IMPORTED_MODULE_13__["default"]; } _.each(fields, function (attr, index) { if (undefined != attr && 'ast-font' !== attr.control) { let control_clean_name = attr.name.replace('[', '-'); control_clean_name = control_clean_name.replace(']', ''); let selector = '#customize-control-' + control_clean_name; let controlObject = wp.customize.control('astra-settings[' + attr.name + ']'); controlObject = control.getFinalControlObject(attr, controlObject); const ComponentName = reactControls[attr.control]; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(ComponentName, { control: controlObject, customizer: wp.customize }), jQuery(selector)[0]); } }); }, getFinalControlObject: function (attr, controlObject) { if (undefined !== attr.choices && undefined === controlObject.params['choices']) { controlObject.params['choices'] = attr.choices; } if (undefined !== attr.inputAttrs && undefined === controlObject.params['inputAttrs']) { controlObject.params['inputAttrs'] = attr.inputAttrs; } if (undefined !== attr.input_attrs && undefined === controlObject.params['input_attrs']) { controlObject.params['input_attrs'] = attr.input_attrs; } if (undefined !== attr.link && undefined === controlObject.params['link']) { controlObject.params['link'] = attr.link; } if (undefined !== attr.units && undefined === controlObject.params['units']) { controlObject.params['units'] = attr.units; } if (undefined !== attr.linked_choices && undefined === controlObject.params['linked_choices']) { controlObject.params['linked_choices'] = attr.linked_choices; } if (undefined !== attr.title && (undefined === controlObject.params['label'] || '' === controlObject.params['label'] || null === controlObject.params['label'])) { controlObject.params['label'] = attr.title; } if (undefined !== attr.responsive && (undefined === controlObject.params['responsive'] || '' === controlObject.params['responsive'] || null === controlObject.params['responsive'])) { controlObject.params['responsive'] = attr.responsive; } if (undefined !== attr.renderAs && (undefined === controlObject.params['renderAs'] || '' === controlObject.params['renderAs'] || null === controlObject.params['renderAs'])) { controlObject.params['renderAs'] = attr.renderAs; } return controlObject; }, /** * Updates the sorting list */ updateValue: function () { 'use strict'; let control = this, newValue = []; if (undefined !== control.params.consider_hidden && control.params.consider_hidden) { let withHiddenSet = {}; wp.customize.control(control.params.hidden_dataset).setting.set(withHiddenSet); this.sortableContainer.find('.ast-sortable-item').each(function () { if (jQuery(this).hasClass('invisible')) { withHiddenSet[jQuery(this).data('value')] = false; } else { withHiddenSet[jQuery(this).data('value')] = true; } }); wp.customize.control(control.params.hidden_dataset).setting.set(withHiddenSet); } this.sortableContainer.find('.ast-sortable-item:not(.invisible)').each(function () { newValue.push(jQuery(this).data('value')); }); newValue = [...new Set(newValue)]; this.sortableContainer.find('.ast-sortable-item[data-clone_tracker]').each(function () { let astraCloneOptionTracker = jQuery(this).data('clone_tracker'), indexKey = jQuery(this).data('index'); if ('' != astraCloneOptionTracker) { let clonedSortableSameItems = control.sortableContainer.find('.ast-sortable-item:not(.invisible)[data-index="' + indexKey + '"]'); wp.customize.control(astraCloneOptionTracker).setting.set(clonedSortableSameItems.length); } }); control.setting.set(newValue); } }); /***/ }), /***/ "./src/sortable/sortable.js": /*!**********************************!*\ !*** ./src/sortable/sortable.js ***! \**********************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); const SortableComponent = props => { let labelHtml = null, descriptionHtml = null; const { label, description, choices, inputAttrs, consider_hidden = false } = props.control.params; const value = props.control.setting.get() ? props.control.setting.get() : props.control.params.default; if (label) { labelHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "customize-control-title" }, label); } if (description) { descriptionHtml = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("span", { className: "description customize-control-description" }, description); } let visibleMetaHtml = Object.values(value).map(choiceID => { let html = '', title = 'object' == typeof choices[choiceID] && undefined != choices[choiceID] ? choices[choiceID].title : choices[choiceID], dataCloneIndex = 'object' == typeof choices[choiceID] && undefined != choices[choiceID] ? choices[choiceID]['clone_tracker'] : '', lastChar = parseInt(choiceID.slice(-1)), indexValue = choiceID, isClonning = 'object' == typeof choices[choiceID] && true == choices[choiceID].clone && choices[choiceID].clone_limit > wp.customize.control(choices[choiceID].clone_tracker).setting.get() ? true : false; if (lastChar) { indexValue = choiceID.slice(0, -2); } if (choices[choiceID]) { html = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("div", (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, inputAttrs, { key: choiceID, className: "ast-sortable-item", "data-clone_tracker": dataCloneIndex, "data-value": choiceID, "data-index": indexValue, "data-title": title }), title, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("i", { className: "dashicons dashicons-visibility visibility" }), isClonning && choiceID == choices[choiceID].main_index && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("i", { className: "dashicons sortable-clonner dashicons-admin-page" }), 'object' == typeof choices[choiceID] && choiceID != choices[choiceID].main_index && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("i", { className: "dashicons dashicons-remove remove-sortable-item" }), 'object' == typeof choices[choiceID] && choices[choiceID].is_parent && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("i", { className: "dashicons dashicons-arrow-down-alt2 ast-option ast-accordion" }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("div", { className: "ast-sortable-subcontrols", "data-index": choiceID }))); } return html; }); let invisibleMetaHtml = Object.keys(choices).map(choiceID => { let html = '', title = 'object' == typeof choices[choiceID] && undefined != choices[choiceID] ? choices[choiceID].title : choices[choiceID], dataCloneIndex = 'object' == typeof choices[choiceID] && undefined != choices[choiceID] ? choices[choiceID]['clone_tracker'] : '', lastChar = parseInt(choiceID.slice(-1)), isClonning = 'object' == typeof choices[choiceID] && true == choices[choiceID].clone && choiceID == choices[choiceID].main_index && choices[choiceID].clone_limit > wp.customize.control(choices[choiceID].clone_tracker).setting.get() ? true : false, indexValue = choiceID; if (lastChar) { indexValue = choiceID.slice(0, -2); } if ('object' != typeof choices[choiceID] && Array.isArray(value) && -1 === value.indexOf(choiceID) || 'object' == typeof choices[choiceID] && -1 === value.indexOf(choiceID) && (isClonning || false == choices[choiceID].clone)) { html = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("div", (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, inputAttrs, { key: choiceID, className: "ast-sortable-item invisible", "data-clone_tracker": dataCloneIndex, "data-index": indexValue, "data-value": choiceID, "data-title": title }), title, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("i", { className: "dashicons dashicons-visibility visibility" }), isClonning && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("i", { className: "dashicons sortable-clonner dashicons-admin-page" }), 'object' == typeof choices[choiceID] && true == choices[choiceID].clone && choiceID != choices[choiceID].main_index && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("i", { className: "dashicons dashicons-remove remove-sortable-item" }), 'object' == typeof choices[choiceID] && choices[choiceID].is_parent && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("i", { className: "dashicons dashicons-arrow-down-alt2 ast-option ast-accordion" }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("div", { className: "ast-sortable-subcontrols", "data-index": choiceID }))); } return html; }); let withHiddenDataset = false, activeDatasetFromHidden = false; if (consider_hidden) { withHiddenDataset = wp.customize.control(props.control.params.hidden_dataset).setting.get() || false; if (withHiddenDataset) { let identifiers = Object.keys(withHiddenDataset); activeDatasetFromHidden = identifiers.filter(function (id) { return withHiddenDataset[id]; }); } } const isKeyPresent = (array, keyName) => { if (array.indexOf(keyName) !== -1) { return true; } else { return false; } }; let withhiddenDataHtml = Object.keys(withHiddenDataset).map(choiceID => { let html = '', title = 'object' == typeof choices[choiceID] && undefined != choices[choiceID] ? choices[choiceID].title : choices[choiceID], dataCloneIndex = 'object' == typeof choices[choiceID] && undefined != choices[choiceID] ? choices[choiceID]['clone_tracker'] : '', lastChar = parseInt(choiceID.slice(-1)), indexValue = choiceID; if (lastChar) { indexValue = choiceID.slice(0, -2); } if (activeDatasetFromHidden) { if (isKeyPresent(activeDatasetFromHidden, choiceID)) { let isClonning = 'object' == typeof choices[choiceID] && true == choices[choiceID].clone && choices[choiceID].clone_limit > wp.customize.control(choices[choiceID].clone_tracker).setting.get() ? true : false; html = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("div", (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, inputAttrs, { key: choiceID, className: "ast-sortable-item", "data-clone_tracker": dataCloneIndex, "data-value": choiceID, "data-index": indexValue, "data-title": title }), title, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("i", { className: "dashicons dashicons-visibility visibility" }), isClonning && choiceID == choices[choiceID].main_index && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("i", { className: "dashicons sortable-clonner dashicons-admin-page" }), 'object' == typeof choices[choiceID] && choiceID != choices[choiceID].main_index && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("i", { className: "dashicons dashicons-remove remove-sortable-item" }), 'object' == typeof choices[choiceID] && choices[choiceID].is_parent && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("i", { className: "dashicons dashicons-arrow-down-alt2 ast-option ast-accordion" }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("div", { className: "ast-sortable-subcontrols", "data-index": choiceID }))); } else { let isClonning = 'object' == typeof choices[choiceID] && true == choices[choiceID].clone && choiceID == choices[choiceID].main_index && choices[choiceID].clone_limit > wp.customize.control(choices[choiceID].clone_tracker).setting.get() ? true : false; html = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("div", (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, inputAttrs, { key: choiceID, className: "ast-sortable-item invisible", "data-clone_tracker": dataCloneIndex, "data-index": indexValue, "data-value": choiceID, "data-title": title }), title, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("i", { className: "dashicons dashicons-visibility visibility" }), isClonning && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("i", { className: "dashicons sortable-clonner dashicons-admin-page" }), 'object' == typeof choices[choiceID] && true == choices[choiceID].clone && choiceID != choices[choiceID].main_index && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("i", { className: "dashicons dashicons-remove remove-sortable-item" }), 'object' == typeof choices[choiceID] && choices[choiceID].is_parent && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("i", { className: "dashicons dashicons-arrow-down-alt2 ast-option ast-accordion" }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("div", { className: "ast-sortable-subcontrols", "data-index": choiceID }))); } } return html; }); return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("label", { className: "ast-sortable" }, labelHtml, descriptionHtml), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)("div", { className: "sortable" }, consider_hidden && activeDatasetFromHidden && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, withhiddenDataHtml), !consider_hidden && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, visibleMetaHtml, invisibleMetaHtml))); }; SortableComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(SortableComponent)); /***/ }), /***/ "./src/text-input/control.js": /*!***********************************!*\ !*** ./src/text-input/control.js ***! \***********************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "textInputControl": function() { return /* binding */ textInputControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _text_input_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./text-input-component */ "./src/text-input/text-input-component.js"); const textInputControl = wp.customize.Control.extend({ renderContent: function renderContent() { const control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_text_input_component__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/text-input/text-input-component.js": /*!************************************************!*\ !*** ./src/text-input/text-input-component.js ***! \************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); const TextInputComponent = props => { const getText = '' === props.control.setting.get() ? '' : props.control.setting.get(); const [textState, setTextState] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(getText); let htmlLabel = null; if (props.control.params.label) { htmlLabel = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, props.control.params.label); } const handleChange = event => { props.control.setting.set(event.target.value); setTextState(event.target.value); }; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", { className: "customizer-text" }, htmlLabel, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("input", { type: "text", value: textState, onChange: handleChange })); }; TextInputComponent.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(TextInputComponent)); /***/ }), /***/ "./src/toggle-control/control.js": /*!***************************************!*\ !*** ./src/toggle-control/control.js ***! \***************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "toggleControl": function() { return /* binding */ toggleControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _toggle_control_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toggle-control-component.js */ "./src/toggle-control/toggle-control-component.js"); const toggleControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_toggle_control_component_js__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control }), control.container[0]); } }); /***/ }), /***/ "./src/toggle-control/toggle-control-component.js": /*!********************************************************!*\ !*** ./src/toggle-control/toggle-control-component.js ***! \********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _ast_toggle_toggle_control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ast-toggle/toggle-control */ "./src/ast-toggle/toggle-control.js"); const AstToggleControl = props => { let htmlTitle = null; let htmlDescription = null; const [props_value, setPropsValue] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(props.control.setting.get()); if (props.control.params.title) { htmlTitle = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "toggle-control-label" }, props.control.params.title); } if (props.control.params.description) { htmlDescription = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "description customize-control-description" }, props.control.params.description); } const updateValues = () => { setPropsValue(!props_value); props.control.setting.set(!props_value); }; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: `ast-togglecontrol-wrapper ${props.control.params.description ? 'ast-description-enabled' : ''}` }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_ast_toggle_toggle_control__WEBPACK_IMPORTED_MODULE_2__["default"], { label: htmlTitle, checked: props_value, onChange: () => updateValues() }), htmlDescription)); }; AstToggleControl.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(AstToggleControl)); /***/ }), /***/ "./src/typography-presets/control.js": /*!*******************************************!*\ !*** ./src/typography-presets/control.js ***! \*******************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "typographyPresetControl": function() { return /* binding */ typographyPresetControl; } /* harmony export */ }); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _typo_presets_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./typo-presets-component */ "./src/typography-presets/typo-presets-component.js"); const typographyPresetControl = wp.customize.astraControl.extend({ renderContent: function renderContent() { let control = this; ReactDOM.render((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_typo_presets_component__WEBPACK_IMPORTED_MODULE_1__["default"], { control: control, customizer: wp.customize }), control.container[0]); } }); /***/ }), /***/ "./src/typography-presets/typo-presets-component.js": /*!**********************************************************!*\ !*** ./src/typography-presets/typo-presets-component.js ***! \**********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var html_react_parser__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! html-react-parser */ "./node_modules/html-react-parser/index.mjs"); const TypoPresetControl = props => { const { title, options } = props.control.params; const [propsValue, setPropsValue] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(props.control.setting.get()); const setCustomizerSetting = (option, preset) => { if ('undefined' !== typeof props.customizer.control("astra-settings[" + option + "]")) { props.customizer.control("astra-settings[" + option + "]").setting.set(options[preset][option]); } }; const onPresetClick = presetKey => { const bodyFontWeight = options[presetKey]['body-font-weight']; const headingFontWeight = options[presetKey]['headings-font-weight']; const fontDropdownOptions = ['body-font-family', 'headings-font-family', 'body-font-variant', 'headings-font-variant', 'font-family-h1', 'font-family-h2', 'font-family-h3', 'font-family-h4', 'font-family-h5', 'font-family-h6', 'font-weight-h1', 'font-weight-h2', 'font-weight-h3', 'font-weight-h4', 'font-weight-h5', 'font-weight-h6', 'text-transform-h1', 'text-transform-h2', 'text-transform-h3', 'text-transform-h4', 'text-transform-h5', 'text-transform-h6']; fontDropdownOptions.forEach(function (option) { // As inherit option value is blank for text transform options, set value to blank for them. For rest options, inherit value will work. let optionVal = option.includes('text-transform') ? '' : 'inherit'; if ('undefined' !== typeof options[presetKey][option]) { optionVal = options[presetKey][option]; } let fontOption = 'astra-settings[' + option + ']'; if ('body-font-family' === option || 'headings-font-family' === option || 'body-font-variant' === option || 'headings-font-variant' === option) { fontOption = option; } AstTypography.setOption(fontOption, optionVal, true); props.customizer.control('astra-settings[' + option + ']').setting.set(optionVal); }); const typoOptions = ["body-font-family", "headings-font-family", "body-line-height", "headings-line-height", "font-size-body", "font-size-h1", "font-size-h2", "font-size-h3", "font-size-h4", "font-size-h5", "font-size-h6", "line-height-h1", "line-height-h2", "line-height-h3", "line-height-h4", "line-height-h5", "line-height-h6", "font-size-entry-title", "font-size-archive-summary-title", "font-size-page-title"]; typoOptions.forEach(function (option) { setCustomizerSetting(option, presetKey); }); const updateTypoEvent = new CustomEvent("AstRemoteUpdateState", { detail: "typography" }); document.dispatchEvent(updateTypoEvent); AstTypography.setOption("body-font-weight", bodyFontWeight, false); AstTypography.setOption("headings-font-weight", headingFontWeight, false); setPropsValue(presetKey); props.control.setting.set(presetKey); }; const generateToolTipText = preset => { let tooltipText = options[preset]['headings-font-family'] + ' / ' + options[preset]['body-font-family']; // Remove sans-serif string. tooltipText = tooltipText.replace(/, sans-serif/g, ''); // Remove serif string. tooltipText = tooltipText.replace(/, serif/g, ''); // Remove all single quotes. tooltipText = tooltipText.replace(/['"]+/g, ''); return tooltipText; }; const SingleList = props => { return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", { className: "ast-typo-preset-item " + (propsValue === props.preset ? "active" : ""), key: props.preset, onClick: () => onPresetClick(props.preset) }, (0,html_react_parser__WEBPACK_IMPORTED_MODULE_4__["default"])(window.svgIcons[props.preset]), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "ast-typopreset-custom-tooltip", "data-title": generateToolTipText(props.preset) })); }; const List = _ref => { let { className, options, selected } = _ref; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("ul", { className: `ast-font-selector ${className}` }, Object.entries(options).map((_ref2, uniqueKey) => { let [presetKey, item] = _ref2; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(SingleList, { preset: presetKey, key: uniqueKey }); })); }; const onResetClick = () => { const defaulHeadingFontFamily = props.customizer.control("astra-settings[headings-font-family]").params.default; AstTypography.setOption("astra-settings[headings-font-family]", defaulHeadingFontFamily, true); const defaulBodyFontFamily = props.customizer.control("astra-settings[body-font-family]").params.default; AstTypography.setOption("astra-settings[body-font-family]", defaulBodyFontFamily, true); const options = ["body-font-family", "headings-font-family", "body-line-height", "headings-line-height", "font-size-body", "font-size-h1", "font-size-h2", "font-size-h3", "font-size-h4", "font-size-h5", "font-size-h6", "line-height-h1", "line-height-h2", "line-height-h3", "line-height-h4", "line-height-h5", "line-height-h6", "font-size-entry-title", "font-size-archive-summary-title", "font-size-page-title"]; options.forEach(function (option) { const defaultVal = props.customizer.control("astra-settings[" + option + "]").params.default; props.customizer.control("astra-settings[" + option + "]").setting.set(defaultVal); }); // Reset Preset Option. setPropsValue(""); props.control.setting.set(""); }; const renderResetBtn = () => { const resetFlag = '' !== props.control.setting.get() ? false : true; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", { className: "ast-reset-btn components-button components-circular-option-picker__clear is-secondary is-small", disabled: resetFlag, onClick: e => { e.preventDefault(); onResetClick(); } }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.Dashicon, { icon: "image-rotate" })); }; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("label", null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", { className: "customize-control-title" }, title)), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(List, { className: "ast-typo-presets", options: options, selected: propsValue }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "ast-reset-btn-preset-wrap" }, renderResetBtn())); }; TypoPresetControl.propTypes = { control: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().object.isRequired) }; /* harmony default export */ __webpack_exports__["default"] = (React.memo(TypoPresetControl)); /***/ }), /***/ "./node_modules/base64-js/index.js": /*!*****************************************!*\ !*** ./node_modules/base64-js/index.js ***! \*****************************************/ /***/ (function(__unused_webpack_module, exports) { "use strict"; exports.byteLength = byteLength exports.toByteArray = toByteArray exports.fromByteArray = fromByteArray var lookup = [] var revLookup = [] var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' for (var i = 0, len = code.length; i < len; ++i) { lookup[i] = code[i] revLookup[code.charCodeAt(i)] = i } // Support decoding URL-safe base64 strings, as Node.js does. // See: https://en.wikipedia.org/wiki/Base64#URL_applications revLookup['-'.charCodeAt(0)] = 62 revLookup['_'.charCodeAt(0)] = 63 function getLens (b64) { var len = b64.length if (len % 4 > 0) { throw new Error('Invalid string. Length must be a multiple of 4') } // Trim off extra bytes after placeholder bytes are found // See: https://github.com/beatgammit/base64-js/issues/42 var validLen = b64.indexOf('=') if (validLen === -1) validLen = len var placeHoldersLen = validLen === len ? 0 : 4 - (validLen % 4) return [validLen, placeHoldersLen] } // base64 is 4/3 + up to two characters of the original data function byteLength (b64) { var lens = getLens(b64) var validLen = lens[0] var placeHoldersLen = lens[1] return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen } function _byteLength (b64, validLen, placeHoldersLen) { return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen } function toByteArray (b64) { var tmp var lens = getLens(b64) var validLen = lens[0] var placeHoldersLen = lens[1] var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) var curByte = 0 // if there are placeholders, only get up to the last complete 4 chars var len = placeHoldersLen > 0 ? validLen - 4 : validLen var i for (i = 0; i < len; i += 4) { tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)] arr[curByte++] = (tmp >> 16) & 0xFF arr[curByte++] = (tmp >> 8) & 0xFF arr[curByte++] = tmp & 0xFF } if (placeHoldersLen === 2) { tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4) arr[curByte++] = tmp & 0xFF } if (placeHoldersLen === 1) { tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2) arr[curByte++] = (tmp >> 8) & 0xFF arr[curByte++] = tmp & 0xFF } return arr } function tripletToBase64 (num) { return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F] } function encodeChunk (uint8, start, end) { var tmp var output = [] for (var i = start; i < end; i += 3) { tmp = ((uint8[i] << 16) & 0xFF0000) + ((uint8[i + 1] << 8) & 0xFF00) + (uint8[i + 2] & 0xFF) output.push(tripletToBase64(tmp)) } return output.join('') } function fromByteArray (uint8) { var tmp var len = uint8.length var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes var parts = [] var maxChunkLength = 16383 // must be multiple of 3 // go through the array every three bytes, we'll deal with trailing stuff later for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))) } // pad the end with zeros, but make sure to not forget the extra bytes if (extraBytes === 1) { tmp = uint8[len - 1] parts.push( lookup[tmp >> 2] + lookup[(tmp << 4) & 0x3F] + '==' ) } else if (extraBytes === 2) { tmp = (uint8[len - 2] << 8) + uint8[len - 1] parts.push( lookup[tmp >> 10] + lookup[(tmp >> 4) & 0x3F] + lookup[(tmp << 2) & 0x3F] + '=' ) } return parts.join('') } /***/ }), /***/ "./node_modules/buffer/index.js": /*!**************************************!*\ !*** ./node_modules/buffer/index.js ***! \**************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; /*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT */ /* eslint-disable no-proto */ var base64 = __webpack_require__(/*! base64-js */ "./node_modules/base64-js/index.js") var ieee754 = __webpack_require__(/*! ieee754 */ "./node_modules/ieee754/index.js") var customInspectSymbol = (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation : null exports.Buffer = Buffer exports.SlowBuffer = SlowBuffer exports.INSPECT_MAX_BYTES = 50 var K_MAX_LENGTH = 0x7fffffff exports.kMaxLength = K_MAX_LENGTH /** * If `Buffer.TYPED_ARRAY_SUPPORT`: * === true Use Uint8Array implementation (fastest) * === false Print warning and recommend using `buffer` v4.x which has an Object * implementation (most compatible, even IE6) * * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, * Opera 11.6+, iOS 4.2+. * * We report that the browser does not support typed arrays if the are not subclassable * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array` * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support * for __proto__ and has a buggy typed array implementation. */ Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport() if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' && typeof console.error === 'function') { console.error( 'This browser lacks typed array (Uint8Array) support which is required by ' + '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.' ) } function typedArraySupport () { // Can typed array instances can be augmented? try { var arr = new Uint8Array(1) var proto = { foo: function () { return 42 } } Object.setPrototypeOf(proto, Uint8Array.prototype) Object.setPrototypeOf(arr, proto) return arr.foo() === 42 } catch (e) { return false } } Object.defineProperty(Buffer.prototype, 'parent', { enumerable: true, get: function () { if (!Buffer.isBuffer(this)) return undefined return this.buffer } }) Object.defineProperty(Buffer.prototype, 'offset', { enumerable: true, get: function () { if (!Buffer.isBuffer(this)) return undefined return this.byteOffset } }) function createBuffer (length) { if (length > K_MAX_LENGTH) { throw new RangeError('The value "' + length + '" is invalid for option "size"') } // Return an augmented `Uint8Array` instance var buf = new Uint8Array(length) Object.setPrototypeOf(buf, Buffer.prototype) return buf } /** * The Buffer constructor returns instances of `Uint8Array` that have their * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of * `Uint8Array`, so the returned instances will have all the node `Buffer` methods * and the `Uint8Array` methods. Square bracket notation works as expected -- it * returns a single octet. * * The `Uint8Array` prototype remains unmodified. */ function Buffer (arg, encodingOrOffset, length) { // Common case. if (typeof arg === 'number') { if (typeof encodingOrOffset === 'string') { throw new TypeError( 'The "string" argument must be of type string. Received type number' ) } return allocUnsafe(arg) } return from(arg, encodingOrOffset, length) } Buffer.poolSize = 8192 // not used by this implementation function from (value, encodingOrOffset, length) { if (typeof value === 'string') { return fromString(value, encodingOrOffset) } if (ArrayBuffer.isView(value)) { return fromArrayView(value) } if (value == null) { throw new TypeError( 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + 'or Array-like Object. Received type ' + (typeof value) ) } if (isInstance(value, ArrayBuffer) || (value && isInstance(value.buffer, ArrayBuffer))) { return fromArrayBuffer(value, encodingOrOffset, length) } if (typeof SharedArrayBuffer !== 'undefined' && (isInstance(value, SharedArrayBuffer) || (value && isInstance(value.buffer, SharedArrayBuffer)))) { return fromArrayBuffer(value, encodingOrOffset, length) } if (typeof value === 'number') { throw new TypeError( 'The "value" argument must not be of type number. Received type number' ) } var valueOf = value.valueOf && value.valueOf() if (valueOf != null && valueOf !== value) { return Buffer.from(valueOf, encodingOrOffset, length) } var b = fromObject(value) if (b) return b if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === 'function') { return Buffer.from( value[Symbol.toPrimitive]('string'), encodingOrOffset, length ) } throw new TypeError( 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + 'or Array-like Object. Received type ' + (typeof value) ) } /** * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError * if value is a number. * Buffer.from(str[, encoding]) * Buffer.from(array) * Buffer.from(buffer) * Buffer.from(arrayBuffer[, byteOffset[, length]]) **/ Buffer.from = function (value, encodingOrOffset, length) { return from(value, encodingOrOffset, length) } // Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug: // https://github.com/feross/buffer/pull/148 Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype) Object.setPrototypeOf(Buffer, Uint8Array) function assertSize (size) { if (typeof size !== 'number') { throw new TypeError('"size" argument must be of type number') } else if (size < 0) { throw new RangeError('The value "' + size + '" is invalid for option "size"') } } function alloc (size, fill, encoding) { assertSize(size) if (size <= 0) { return createBuffer(size) } if (fill !== undefined) { // Only pay attention to encoding if it's a string. This // prevents accidentally sending in a number that would // be interpreted as a start offset. return typeof encoding === 'string' ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill) } return createBuffer(size) } /** * Creates a new filled Buffer instance. * alloc(size[, fill[, encoding]]) **/ Buffer.alloc = function (size, fill, encoding) { return alloc(size, fill, encoding) } function allocUnsafe (size) { assertSize(size) return createBuffer(size < 0 ? 0 : checked(size) | 0) } /** * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. * */ Buffer.allocUnsafe = function (size) { return allocUnsafe(size) } /** * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. */ Buffer.allocUnsafeSlow = function (size) { return allocUnsafe(size) } function fromString (string, encoding) { if (typeof encoding !== 'string' || encoding === '') { encoding = 'utf8' } if (!Buffer.isEncoding(encoding)) { throw new TypeError('Unknown encoding: ' + encoding) } var length = byteLength(string, encoding) | 0 var buf = createBuffer(length) var actual = buf.write(string, encoding) if (actual !== length) { // Writing a hex string, for example, that contains invalid characters will // cause everything after the first invalid character to be ignored. (e.g. // 'abxxcd' will be treated as 'ab') buf = buf.slice(0, actual) } return buf } function fromArrayLike (array) { var length = array.length < 0 ? 0 : checked(array.length) | 0 var buf = createBuffer(length) for (var i = 0; i < length; i += 1) { buf[i] = array[i] & 255 } return buf } function fromArrayView (arrayView) { if (isInstance(arrayView, Uint8Array)) { var copy = new Uint8Array(arrayView) return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength) } return fromArrayLike(arrayView) } function fromArrayBuffer (array, byteOffset, length) { if (byteOffset < 0 || array.byteLength < byteOffset) { throw new RangeError('"offset" is outside of buffer bounds') } if (array.byteLength < byteOffset + (length || 0)) { throw new RangeError('"length" is outside of buffer bounds') } var buf if (byteOffset === undefined && length === undefined) { buf = new Uint8Array(array) } else if (length === undefined) { buf = new Uint8Array(array, byteOffset) } else { buf = new Uint8Array(array, byteOffset, length) } // Return an augmented `Uint8Array` instance Object.setPrototypeOf(buf, Buffer.prototype) return buf } function fromObject (obj) { if (Buffer.isBuffer(obj)) { var len = checked(obj.length) | 0 var buf = createBuffer(len) if (buf.length === 0) { return buf } obj.copy(buf, 0, 0, len) return buf } if (obj.length !== undefined) { if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) { return createBuffer(0) } return fromArrayLike(obj) } if (obj.type === 'Buffer' && Array.isArray(obj.data)) { return fromArrayLike(obj.data) } } function checked (length) { // Note: cannot use `length < K_MAX_LENGTH` here because that fails when // length is NaN (which is otherwise coerced to zero.) if (length >= K_MAX_LENGTH) { throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes') } return length | 0 } function SlowBuffer (length) { if (+length != length) { // eslint-disable-line eqeqeq length = 0 } return Buffer.alloc(+length) } Buffer.isBuffer = function isBuffer (b) { return b != null && b._isBuffer === true && b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false } Buffer.compare = function compare (a, b) { if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength) if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength) if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { throw new TypeError( 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array' ) } if (a === b) return 0 var x = a.length var y = b.length for (var i = 0, len = Math.min(x, y); i < len; ++i) { if (a[i] !== b[i]) { x = a[i] y = b[i] break } } if (x < y) return -1 if (y < x) return 1 return 0 } Buffer.isEncoding = function isEncoding (encoding) { switch (String(encoding).toLowerCase()) { case 'hex': case 'utf8': case 'utf-8': case 'ascii': case 'latin1': case 'binary': case 'base64': case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': return true default: return false } } Buffer.concat = function concat (list, length) { if (!Array.isArray(list)) { throw new TypeError('"list" argument must be an Array of Buffers') } if (list.length === 0) { return Buffer.alloc(0) } var i if (length === undefined) { length = 0 for (i = 0; i < list.length; ++i) { length += list[i].length } } var buffer = Buffer.allocUnsafe(length) var pos = 0 for (i = 0; i < list.length; ++i) { var buf = list[i] if (isInstance(buf, Uint8Array)) { if (pos + buf.length > buffer.length) { Buffer.from(buf).copy(buffer, pos) } else { Uint8Array.prototype.set.call( buffer, buf, pos ) } } else if (!Buffer.isBuffer(buf)) { throw new TypeError('"list" argument must be an Array of Buffers') } else { buf.copy(buffer, pos) } pos += buf.length } return buffer } function byteLength (string, encoding) { if (Buffer.isBuffer(string)) { return string.length } if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) { return string.byteLength } if (typeof string !== 'string') { throw new TypeError( 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. ' + 'Received type ' + typeof string ) } var len = string.length var mustMatch = (arguments.length > 2 && arguments[2] === true) if (!mustMatch && len === 0) return 0 // Use a for loop to avoid recursion var loweredCase = false for (;;) { switch (encoding) { case 'ascii': case 'latin1': case 'binary': return len case 'utf8': case 'utf-8': return utf8ToBytes(string).length case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': return len * 2 case 'hex': return len >>> 1 case 'base64': return base64ToBytes(string).length default: if (loweredCase) { return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8 } encoding = ('' + encoding).toLowerCase() loweredCase = true } } } Buffer.byteLength = byteLength function slowToString (encoding, start, end) { var loweredCase = false // No need to verify that "this.length <= MAX_UINT32" since it's a read-only // property of a typed array. // This behaves neither like String nor Uint8Array in that we set start/end // to their upper/lower bounds if the value passed is out of range. // undefined is handled specially as per ECMA-262 6th Edition, // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. if (start === undefined || start < 0) { start = 0 } // Return early if start > this.length. Done here to prevent potential uint32 // coercion fail below. if (start > this.length) { return '' } if (end === undefined || end > this.length) { end = this.length } if (end <= 0) { return '' } // Force coercion to uint32. This will also coerce falsey/NaN values to 0. end >>>= 0 start >>>= 0 if (end <= start) { return '' } if (!encoding) encoding = 'utf8' while (true) { switch (encoding) { case 'hex': return hexSlice(this, start, end) case 'utf8': case 'utf-8': return utf8Slice(this, start, end) case 'ascii': return asciiSlice(this, start, end) case 'latin1': case 'binary': return latin1Slice(this, start, end) case 'base64': return base64Slice(this, start, end) case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': return utf16leSlice(this, start, end) default: if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) encoding = (encoding + '').toLowerCase() loweredCase = true } } } // This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package) // to detect a Buffer instance. It's not possible to use `instanceof Buffer` // reliably in a browserify context because there could be multiple different // copies of the 'buffer' package in use. This method works even for Buffer // instances that were created from another copy of the `buffer` package. // See: https://github.com/feross/buffer/issues/154 Buffer.prototype._isBuffer = true function swap (b, n, m) { var i = b[n] b[n] = b[m] b[m] = i } Buffer.prototype.swap16 = function swap16 () { var len = this.length if (len % 2 !== 0) { throw new RangeError('Buffer size must be a multiple of 16-bits') } for (var i = 0; i < len; i += 2) { swap(this, i, i + 1) } return this } Buffer.prototype.swap32 = function swap32 () { var len = this.length if (len % 4 !== 0) { throw new RangeError('Buffer size must be a multiple of 32-bits') } for (var i = 0; i < len; i += 4) { swap(this, i, i + 3) swap(this, i + 1, i + 2) } return this } Buffer.prototype.swap64 = function swap64 () { var len = this.length if (len % 8 !== 0) { throw new RangeError('Buffer size must be a multiple of 64-bits') } for (var i = 0; i < len; i += 8) { swap(this, i, i + 7) swap(this, i + 1, i + 6) swap(this, i + 2, i + 5) swap(this, i + 3, i + 4) } return this } Buffer.prototype.toString = function toString () { var length = this.length if (length === 0) return '' if (arguments.length === 0) return utf8Slice(this, 0, length) return slowToString.apply(this, arguments) } Buffer.prototype.toLocaleString = Buffer.prototype.toString Buffer.prototype.equals = function equals (b) { if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') if (this === b) return true return Buffer.compare(this, b) === 0 } Buffer.prototype.inspect = function inspect () { var str = '' var max = exports.INSPECT_MAX_BYTES str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim() if (this.length > max) str += ' ... ' return '' } if (customInspectSymbol) { Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect } Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) { if (isInstance(target, Uint8Array)) { target = Buffer.from(target, target.offset, target.byteLength) } if (!Buffer.isBuffer(target)) { throw new TypeError( 'The "target" argument must be one of type Buffer or Uint8Array. ' + 'Received type ' + (typeof target) ) } if (start === undefined) { start = 0 } if (end === undefined) { end = target ? target.length : 0 } if (thisStart === undefined) { thisStart = 0 } if (thisEnd === undefined) { thisEnd = this.length } if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { throw new RangeError('out of range index') } if (thisStart >= thisEnd && start >= end) { return 0 } if (thisStart >= thisEnd) { return -1 } if (start >= end) { return 1 } start >>>= 0 end >>>= 0 thisStart >>>= 0 thisEnd >>>= 0 if (this === target) return 0 var x = thisEnd - thisStart var y = end - start var len = Math.min(x, y) var thisCopy = this.slice(thisStart, thisEnd) var targetCopy = target.slice(start, end) for (var i = 0; i < len; ++i) { if (thisCopy[i] !== targetCopy[i]) { x = thisCopy[i] y = targetCopy[i] break } } if (x < y) return -1 if (y < x) return 1 return 0 } // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, // OR the last index of `val` in `buffer` at offset <= `byteOffset`. // // Arguments: // - buffer - a Buffer to search // - val - a string, Buffer, or number // - byteOffset - an index into `buffer`; will be clamped to an int32 // - encoding - an optional encoding, relevant is val is a string // - dir - true for indexOf, false for lastIndexOf function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) { // Empty buffer means no match if (buffer.length === 0) return -1 // Normalize byteOffset if (typeof byteOffset === 'string') { encoding = byteOffset byteOffset = 0 } else if (byteOffset > 0x7fffffff) { byteOffset = 0x7fffffff } else if (byteOffset < -0x80000000) { byteOffset = -0x80000000 } byteOffset = +byteOffset // Coerce to Number. if (numberIsNaN(byteOffset)) { // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer byteOffset = dir ? 0 : (buffer.length - 1) } // Normalize byteOffset: negative offsets start from the end of the buffer if (byteOffset < 0) byteOffset = buffer.length + byteOffset if (byteOffset >= buffer.length) { if (dir) return -1 else byteOffset = buffer.length - 1 } else if (byteOffset < 0) { if (dir) byteOffset = 0 else return -1 } // Normalize val if (typeof val === 'string') { val = Buffer.from(val, encoding) } // Finally, search either indexOf (if dir is true) or lastIndexOf if (Buffer.isBuffer(val)) { // Special case: looking for empty string/buffer always fails if (val.length === 0) { return -1 } return arrayIndexOf(buffer, val, byteOffset, encoding, dir) } else if (typeof val === 'number') { val = val & 0xFF // Search for a byte value [0-255] if (typeof Uint8Array.prototype.indexOf === 'function') { if (dir) { return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset) } else { return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset) } } return arrayIndexOf(buffer, [val], byteOffset, encoding, dir) } throw new TypeError('val must be string, number or Buffer') } function arrayIndexOf (arr, val, byteOffset, encoding, dir) { var indexSize = 1 var arrLength = arr.length var valLength = val.length if (encoding !== undefined) { encoding = String(encoding).toLowerCase() if (encoding === 'ucs2' || encoding === 'ucs-2' || encoding === 'utf16le' || encoding === 'utf-16le') { if (arr.length < 2 || val.length < 2) { return -1 } indexSize = 2 arrLength /= 2 valLength /= 2 byteOffset /= 2 } } function read (buf, i) { if (indexSize === 1) { return buf[i] } else { return buf.readUInt16BE(i * indexSize) } } var i if (dir) { var foundIndex = -1 for (i = byteOffset; i < arrLength; i++) { if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { if (foundIndex === -1) foundIndex = i if (i - foundIndex + 1 === valLength) return foundIndex * indexSize } else { if (foundIndex !== -1) i -= i - foundIndex foundIndex = -1 } } } else { if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength for (i = byteOffset; i >= 0; i--) { var found = true for (var j = 0; j < valLength; j++) { if (read(arr, i + j) !== read(val, j)) { found = false break } } if (found) return i } } return -1 } Buffer.prototype.includes = function includes (val, byteOffset, encoding) { return this.indexOf(val, byteOffset, encoding) !== -1 } Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) { return bidirectionalIndexOf(this, val, byteOffset, encoding, true) } Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) { return bidirectionalIndexOf(this, val, byteOffset, encoding, false) } function hexWrite (buf, string, offset, length) { offset = Number(offset) || 0 var remaining = buf.length - offset if (!length) { length = remaining } else { length = Number(length) if (length > remaining) { length = remaining } } var strLen = string.length if (length > strLen / 2) { length = strLen / 2 } for (var i = 0; i < length; ++i) { var parsed = parseInt(string.substr(i * 2, 2), 16) if (numberIsNaN(parsed)) return i buf[offset + i] = parsed } return i } function utf8Write (buf, string, offset, length) { return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) } function asciiWrite (buf, string, offset, length) { return blitBuffer(asciiToBytes(string), buf, offset, length) } function base64Write (buf, string, offset, length) { return blitBuffer(base64ToBytes(string), buf, offset, length) } function ucs2Write (buf, string, offset, length) { return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) } Buffer.prototype.write = function write (string, offset, length, encoding) { // Buffer#write(string) if (offset === undefined) { encoding = 'utf8' length = this.length offset = 0 // Buffer#write(string, encoding) } else if (length === undefined && typeof offset === 'string') { encoding = offset length = this.length offset = 0 // Buffer#write(string, offset[, length][, encoding]) } else if (isFinite(offset)) { offset = offset >>> 0 if (isFinite(length)) { length = length >>> 0 if (encoding === undefined) encoding = 'utf8' } else { encoding = length length = undefined } } else { throw new Error( 'Buffer.write(string, encoding, offset[, length]) is no longer supported' ) } var remaining = this.length - offset if (length === undefined || length > remaining) length = remaining if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { throw new RangeError('Attempt to write outside buffer bounds') } if (!encoding) encoding = 'utf8' var loweredCase = false for (;;) { switch (encoding) { case 'hex': return hexWrite(this, string, offset, length) case 'utf8': case 'utf-8': return utf8Write(this, string, offset, length) case 'ascii': case 'latin1': case 'binary': return asciiWrite(this, string, offset, length) case 'base64': // Warning: maxLength not taken into account in base64Write return base64Write(this, string, offset, length) case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': return ucs2Write(this, string, offset, length) default: if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) encoding = ('' + encoding).toLowerCase() loweredCase = true } } } Buffer.prototype.toJSON = function toJSON () { return { type: 'Buffer', data: Array.prototype.slice.call(this._arr || this, 0) } } function base64Slice (buf, start, end) { if (start === 0 && end === buf.length) { return base64.fromByteArray(buf) } else { return base64.fromByteArray(buf.slice(start, end)) } } function utf8Slice (buf, start, end) { end = Math.min(buf.length, end) var res = [] var i = start while (i < end) { var firstByte = buf[i] var codePoint = null var bytesPerSequence = (firstByte > 0xEF) ? 4 : (firstByte > 0xDF) ? 3 : (firstByte > 0xBF) ? 2 : 1 if (i + bytesPerSequence <= end) { var secondByte, thirdByte, fourthByte, tempCodePoint switch (bytesPerSequence) { case 1: if (firstByte < 0x80) { codePoint = firstByte } break case 2: secondByte = buf[i + 1] if ((secondByte & 0xC0) === 0x80) { tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F) if (tempCodePoint > 0x7F) { codePoint = tempCodePoint } } break case 3: secondByte = buf[i + 1] thirdByte = buf[i + 2] if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F) if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { codePoint = tempCodePoint } } break case 4: secondByte = buf[i + 1] thirdByte = buf[i + 2] fourthByte = buf[i + 3] if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F) if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { codePoint = tempCodePoint } } } } if (codePoint === null) { // we did not generate a valid codePoint so insert a // replacement char (U+FFFD) and advance only 1 byte codePoint = 0xFFFD bytesPerSequence = 1 } else if (codePoint > 0xFFFF) { // encode to utf16 (surrogate pair dance) codePoint -= 0x10000 res.push(codePoint >>> 10 & 0x3FF | 0xD800) codePoint = 0xDC00 | codePoint & 0x3FF } res.push(codePoint) i += bytesPerSequence } return decodeCodePointsArray(res) } // Based on http://stackoverflow.com/a/22747272/680742, the browser with // the lowest limit is Chrome, with 0x10000 args. // We go 1 magnitude less, for safety var MAX_ARGUMENTS_LENGTH = 0x1000 function decodeCodePointsArray (codePoints) { var len = codePoints.length if (len <= MAX_ARGUMENTS_LENGTH) { return String.fromCharCode.apply(String, codePoints) // avoid extra slice() } // Decode in chunks to avoid "call stack size exceeded". var res = '' var i = 0 while (i < len) { res += String.fromCharCode.apply( String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) ) } return res } function asciiSlice (buf, start, end) { var ret = '' end = Math.min(buf.length, end) for (var i = start; i < end; ++i) { ret += String.fromCharCode(buf[i] & 0x7F) } return ret } function latin1Slice (buf, start, end) { var ret = '' end = Math.min(buf.length, end) for (var i = start; i < end; ++i) { ret += String.fromCharCode(buf[i]) } return ret } function hexSlice (buf, start, end) { var len = buf.length if (!start || start < 0) start = 0 if (!end || end < 0 || end > len) end = len var out = '' for (var i = start; i < end; ++i) { out += hexSliceLookupTable[buf[i]] } return out } function utf16leSlice (buf, start, end) { var bytes = buf.slice(start, end) var res = '' // If bytes.length is odd, the last 8 bits must be ignored (same as node.js) for (var i = 0; i < bytes.length - 1; i += 2) { res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256)) } return res } Buffer.prototype.slice = function slice (start, end) { var len = this.length start = ~~start end = end === undefined ? len : ~~end if (start < 0) { start += len if (start < 0) start = 0 } else if (start > len) { start = len } if (end < 0) { end += len if (end < 0) end = 0 } else if (end > len) { end = len } if (end < start) end = start var newBuf = this.subarray(start, end) // Return an augmented `Uint8Array` instance Object.setPrototypeOf(newBuf, Buffer.prototype) return newBuf } /* * Need to make sure that buffer isn't trying to write out of bounds. */ function checkOffset (offset, ext, length) { if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') } Buffer.prototype.readUintLE = Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { offset = offset >>> 0 byteLength = byteLength >>> 0 if (!noAssert) checkOffset(offset, byteLength, this.length) var val = this[offset] var mul = 1 var i = 0 while (++i < byteLength && (mul *= 0x100)) { val += this[offset + i] * mul } return val } Buffer.prototype.readUintBE = Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { offset = offset >>> 0 byteLength = byteLength >>> 0 if (!noAssert) { checkOffset(offset, byteLength, this.length) } var val = this[offset + --byteLength] var mul = 1 while (byteLength > 0 && (mul *= 0x100)) { val += this[offset + --byteLength] * mul } return val } Buffer.prototype.readUint8 = Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { offset = offset >>> 0 if (!noAssert) checkOffset(offset, 1, this.length) return this[offset] } Buffer.prototype.readUint16LE = Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { offset = offset >>> 0 if (!noAssert) checkOffset(offset, 2, this.length) return this[offset] | (this[offset + 1] << 8) } Buffer.prototype.readUint16BE = Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { offset = offset >>> 0 if (!noAssert) checkOffset(offset, 2, this.length) return (this[offset] << 8) | this[offset + 1] } Buffer.prototype.readUint32LE = Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { offset = offset >>> 0 if (!noAssert) checkOffset(offset, 4, this.length) return ((this[offset]) | (this[offset + 1] << 8) | (this[offset + 2] << 16)) + (this[offset + 3] * 0x1000000) } Buffer.prototype.readUint32BE = Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { offset = offset >>> 0 if (!noAssert) checkOffset(offset, 4, this.length) return (this[offset] * 0x1000000) + ((this[offset + 1] << 16) | (this[offset + 2] << 8) | this[offset + 3]) } Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { offset = offset >>> 0 byteLength = byteLength >>> 0 if (!noAssert) checkOffset(offset, byteLength, this.length) var val = this[offset] var mul = 1 var i = 0 while (++i < byteLength && (mul *= 0x100)) { val += this[offset + i] * mul } mul *= 0x80 if (val >= mul) val -= Math.pow(2, 8 * byteLength) return val } Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { offset = offset >>> 0 byteLength = byteLength >>> 0 if (!noAssert) checkOffset(offset, byteLength, this.length) var i = byteLength var mul = 1 var val = this[offset + --i] while (i > 0 && (mul *= 0x100)) { val += this[offset + --i] * mul } mul *= 0x80 if (val >= mul) val -= Math.pow(2, 8 * byteLength) return val } Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { offset = offset >>> 0 if (!noAssert) checkOffset(offset, 1, this.length) if (!(this[offset] & 0x80)) return (this[offset]) return ((0xff - this[offset] + 1) * -1) } Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { offset = offset >>> 0 if (!noAssert) checkOffset(offset, 2, this.length) var val = this[offset] | (this[offset + 1] << 8) return (val & 0x8000) ? val | 0xFFFF0000 : val } Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { offset = offset >>> 0 if (!noAssert) checkOffset(offset, 2, this.length) var val = this[offset + 1] | (this[offset] << 8) return (val & 0x8000) ? val | 0xFFFF0000 : val } Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { offset = offset >>> 0 if (!noAssert) checkOffset(offset, 4, this.length) return (this[offset]) | (this[offset + 1] << 8) | (this[offset + 2] << 16) | (this[offset + 3] << 24) } Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { offset = offset >>> 0 if (!noAssert) checkOffset(offset, 4, this.length) return (this[offset] << 24) | (this[offset + 1] << 16) | (this[offset + 2] << 8) | (this[offset + 3]) } Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { offset = offset >>> 0 if (!noAssert) checkOffset(offset, 4, this.length) return ieee754.read(this, offset, true, 23, 4) } Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { offset = offset >>> 0 if (!noAssert) checkOffset(offset, 4, this.length) return ieee754.read(this, offset, false, 23, 4) } Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { offset = offset >>> 0 if (!noAssert) checkOffset(offset, 8, this.length) return ieee754.read(this, offset, true, 52, 8) } Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { offset = offset >>> 0 if (!noAssert) checkOffset(offset, 8, this.length) return ieee754.read(this, offset, false, 52, 8) } function checkInt (buf, value, offset, ext, max, min) { if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance') if (value > max || value < min) throw new RangeError('"value" argument is out of bounds') if (offset + ext > buf.length) throw new RangeError('Index out of range') } Buffer.prototype.writeUintLE = Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { value = +value offset = offset >>> 0 byteLength = byteLength >>> 0 if (!noAssert) { var maxBytes = Math.pow(2, 8 * byteLength) - 1 checkInt(this, value, offset, byteLength, maxBytes, 0) } var mul = 1 var i = 0 this[offset] = value & 0xFF while (++i < byteLength && (mul *= 0x100)) { this[offset + i] = (value / mul) & 0xFF } return offset + byteLength } Buffer.prototype.writeUintBE = Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { value = +value offset = offset >>> 0 byteLength = byteLength >>> 0 if (!noAssert) { var maxBytes = Math.pow(2, 8 * byteLength) - 1 checkInt(this, value, offset, byteLength, maxBytes, 0) } var i = byteLength - 1 var mul = 1 this[offset + i] = value & 0xFF while (--i >= 0 && (mul *= 0x100)) { this[offset + i] = (value / mul) & 0xFF } return offset + byteLength } Buffer.prototype.writeUint8 = Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { value = +value offset = offset >>> 0 if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0) this[offset] = (value & 0xff) return offset + 1 } Buffer.prototype.writeUint16LE = Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { value = +value offset = offset >>> 0 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) this[offset] = (value & 0xff) this[offset + 1] = (value >>> 8) return offset + 2 } Buffer.prototype.writeUint16BE = Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { value = +value offset = offset >>> 0 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) this[offset] = (value >>> 8) this[offset + 1] = (value & 0xff) return offset + 2 } Buffer.prototype.writeUint32LE = Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { value = +value offset = offset >>> 0 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) this[offset + 3] = (value >>> 24) this[offset + 2] = (value >>> 16) this[offset + 1] = (value >>> 8) this[offset] = (value & 0xff) return offset + 4 } Buffer.prototype.writeUint32BE = Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { value = +value offset = offset >>> 0 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) this[offset] = (value >>> 24) this[offset + 1] = (value >>> 16) this[offset + 2] = (value >>> 8) this[offset + 3] = (value & 0xff) return offset + 4 } Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { value = +value offset = offset >>> 0 if (!noAssert) { var limit = Math.pow(2, (8 * byteLength) - 1) checkInt(this, value, offset, byteLength, limit - 1, -limit) } var i = 0 var mul = 1 var sub = 0 this[offset] = value & 0xFF while (++i < byteLength && (mul *= 0x100)) { if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { sub = 1 } this[offset + i] = ((value / mul) >> 0) - sub & 0xFF } return offset + byteLength } Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { value = +value offset = offset >>> 0 if (!noAssert) { var limit = Math.pow(2, (8 * byteLength) - 1) checkInt(this, value, offset, byteLength, limit - 1, -limit) } var i = byteLength - 1 var mul = 1 var sub = 0 this[offset + i] = value & 0xFF while (--i >= 0 && (mul *= 0x100)) { if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { sub = 1 } this[offset + i] = ((value / mul) >> 0) - sub & 0xFF } return offset + byteLength } Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { value = +value offset = offset >>> 0 if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80) if (value < 0) value = 0xff + value + 1 this[offset] = (value & 0xff) return offset + 1 } Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { value = +value offset = offset >>> 0 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) this[offset] = (value & 0xff) this[offset + 1] = (value >>> 8) return offset + 2 } Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { value = +value offset = offset >>> 0 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) this[offset] = (value >>> 8) this[offset + 1] = (value & 0xff) return offset + 2 } Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { value = +value offset = offset >>> 0 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) this[offset] = (value & 0xff) this[offset + 1] = (value >>> 8) this[offset + 2] = (value >>> 16) this[offset + 3] = (value >>> 24) return offset + 4 } Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { value = +value offset = offset >>> 0 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) if (value < 0) value = 0xffffffff + value + 1 this[offset] = (value >>> 24) this[offset + 1] = (value >>> 16) this[offset + 2] = (value >>> 8) this[offset + 3] = (value & 0xff) return offset + 4 } function checkIEEE754 (buf, value, offset, ext, max, min) { if (offset + ext > buf.length) throw new RangeError('Index out of range') if (offset < 0) throw new RangeError('Index out of range') } function writeFloat (buf, value, offset, littleEndian, noAssert) { value = +value offset = offset >>> 0 if (!noAssert) { checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) } ieee754.write(buf, value, offset, littleEndian, 23, 4) return offset + 4 } Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { return writeFloat(this, value, offset, true, noAssert) } Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { return writeFloat(this, value, offset, false, noAssert) } function writeDouble (buf, value, offset, littleEndian, noAssert) { value = +value offset = offset >>> 0 if (!noAssert) { checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) } ieee754.write(buf, value, offset, littleEndian, 52, 8) return offset + 8 } Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { return writeDouble(this, value, offset, true, noAssert) } Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { return writeDouble(this, value, offset, false, noAssert) } // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) Buffer.prototype.copy = function copy (target, targetStart, start, end) { if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer') if (!start) start = 0 if (!end && end !== 0) end = this.length if (targetStart >= target.length) targetStart = target.length if (!targetStart) targetStart = 0 if (end > 0 && end < start) end = start // Copy 0 bytes; we're done if (end === start) return 0 if (target.length === 0 || this.length === 0) return 0 // Fatal error conditions if (targetStart < 0) { throw new RangeError('targetStart out of bounds') } if (start < 0 || start >= this.length) throw new RangeError('Index out of range') if (end < 0) throw new RangeError('sourceEnd out of bounds') // Are we oob? if (end > this.length) end = this.length if (target.length - targetStart < end - start) { end = target.length - targetStart + start } var len = end - start if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') { // Use built-in when available, missing from IE11 this.copyWithin(targetStart, start, end) } else { Uint8Array.prototype.set.call( target, this.subarray(start, end), targetStart ) } return len } // Usage: // buffer.fill(number[, offset[, end]]) // buffer.fill(buffer[, offset[, end]]) // buffer.fill(string[, offset[, end]][, encoding]) Buffer.prototype.fill = function fill (val, start, end, encoding) { // Handle string cases: if (typeof val === 'string') { if (typeof start === 'string') { encoding = start start = 0 end = this.length } else if (typeof end === 'string') { encoding = end end = this.length } if (encoding !== undefined && typeof encoding !== 'string') { throw new TypeError('encoding must be a string') } if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { throw new TypeError('Unknown encoding: ' + encoding) } if (val.length === 1) { var code = val.charCodeAt(0) if ((encoding === 'utf8' && code < 128) || encoding === 'latin1') { // Fast path: If `val` fits into a single byte, use that numeric value. val = code } } } else if (typeof val === 'number') { val = val & 255 } else if (typeof val === 'boolean') { val = Number(val) } // Invalid ranges are not set to a default, so can range check early. if (start < 0 || this.length < start || this.length < end) { throw new RangeError('Out of range index') } if (end <= start) { return this } start = start >>> 0 end = end === undefined ? this.length : end >>> 0 if (!val) val = 0 var i if (typeof val === 'number') { for (i = start; i < end; ++i) { this[i] = val } } else { var bytes = Buffer.isBuffer(val) ? val : Buffer.from(val, encoding) var len = bytes.length if (len === 0) { throw new TypeError('The value "' + val + '" is invalid for argument "value"') } for (i = 0; i < end - start; ++i) { this[i + start] = bytes[i % len] } } return this } // HELPER FUNCTIONS // ================ var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g function base64clean (str) { // Node takes equal signs as end of the Base64 encoding str = str.split('=')[0] // Node strips out invalid characters like \n and \t from the string, base64-js does not str = str.trim().replace(INVALID_BASE64_RE, '') // Node converts strings with length < 2 to '' if (str.length < 2) return '' // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not while (str.length % 4 !== 0) { str = str + '=' } return str } function utf8ToBytes (string, units) { units = units || Infinity var codePoint var length = string.length var leadSurrogate = null var bytes = [] for (var i = 0; i < length; ++i) { codePoint = string.charCodeAt(i) // is surrogate component if (codePoint > 0xD7FF && codePoint < 0xE000) { // last char was a lead if (!leadSurrogate) { // no lead yet if (codePoint > 0xDBFF) { // unexpected trail if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) continue } else if (i + 1 === length) { // unpaired lead if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) continue } // valid lead leadSurrogate = codePoint continue } // 2 leads in a row if (codePoint < 0xDC00) { if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) leadSurrogate = codePoint continue } // valid surrogate pair codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000 } else if (leadSurrogate) { // valid bmp char, but last char was a lead if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) } leadSurrogate = null // encode utf8 if (codePoint < 0x80) { if ((units -= 1) < 0) break bytes.push(codePoint) } else if (codePoint < 0x800) { if ((units -= 2) < 0) break bytes.push( codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80 ) } else if (codePoint < 0x10000) { if ((units -= 3) < 0) break bytes.push( codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80 ) } else if (codePoint < 0x110000) { if ((units -= 4) < 0) break bytes.push( codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80 ) } else { throw new Error('Invalid code point') } } return bytes } function asciiToBytes (str) { var byteArray = [] for (var i = 0; i < str.length; ++i) { // Node's code seems to be doing this and not & 0x7F.. byteArray.push(str.charCodeAt(i) & 0xFF) } return byteArray } function utf16leToBytes (str, units) { var c, hi, lo var byteArray = [] for (var i = 0; i < str.length; ++i) { if ((units -= 2) < 0) break c = str.charCodeAt(i) hi = c >> 8 lo = c % 256 byteArray.push(lo) byteArray.push(hi) } return byteArray } function base64ToBytes (str) { return base64.toByteArray(base64clean(str)) } function blitBuffer (src, dst, offset, length) { for (var i = 0; i < length; ++i) { if ((i + offset >= dst.length) || (i >= src.length)) break dst[i + offset] = src[i] } return i } // ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass // the `instanceof` check but they should be treated as of that type. // See: https://github.com/feross/buffer/issues/166 function isInstance (obj, type) { return obj instanceof type || (obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name) } function numberIsNaN (obj) { // For IE11 support return obj !== obj // eslint-disable-line no-self-compare } // Create lookup table for `toString('hex')` // See: https://github.com/feross/buffer/issues/219 var hexSliceLookupTable = (function () { var alphabet = '0123456789abcdef' var table = new Array(256) for (var i = 0; i < 16; ++i) { var i16 = i * 16 for (var j = 0; j < 16; ++j) { table[i16 + j] = alphabet[i] + alphabet[j] } } return table })() /***/ }), /***/ "./node_modules/classnames/index.js": /*!******************************************!*\ !*** ./node_modules/classnames/index.js ***! \******************************************/ /***/ (function(module, exports) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames */ /* global define */ (function () { 'use strict'; var hasOwn = {}.hasOwnProperty; function classNames() { var classes = []; for (var i = 0; i < arguments.length; i++) { var arg = arguments[i]; if (!arg) continue; var argType = typeof arg; if (argType === 'string' || argType === 'number') { classes.push(arg); } else if (Array.isArray(arg)) { if (arg.length) { var inner = classNames.apply(null, arg); if (inner) { classes.push(inner); } } } else if (argType === 'object') { if (arg.toString === Object.prototype.toString) { for (var key in arg) { if (hasOwn.call(arg, key) && arg[key]) { classes.push(key); } } } else { classes.push(arg.toString()); } } } return classes.join(' '); } if ( true && module.exports) { classNames.default = classNames; module.exports = classNames; } else if (true) { // register as 'classnames', consistent with npm package name !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () { return classNames; }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); } else {} }()); /***/ }), /***/ "./node_modules/dom-helpers/esm/addClass.js": /*!**************************************************!*\ !*** ./node_modules/dom-helpers/esm/addClass.js ***! \**************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": function() { return /* binding */ addClass; } /* harmony export */ }); /* harmony import */ var _hasClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hasClass */ "./node_modules/dom-helpers/esm/hasClass.js"); /** * Adds a CSS class to a given element. * * @param element the element * @param className the CSS class name */ function addClass(element, className) { if (element.classList) element.classList.add(className);else if (!(0,_hasClass__WEBPACK_IMPORTED_MODULE_0__["default"])(element, className)) if (typeof element.className === 'string') element.className = element.className + " " + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + " " + className); } /***/ }), /***/ "./node_modules/dom-helpers/esm/hasClass.js": /*!**************************************************!*\ !*** ./node_modules/dom-helpers/esm/hasClass.js ***! \**************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": function() { return /* binding */ hasClass; } /* harmony export */ }); /** * Checks if a given element has a CSS class. * * @param element the element * @param className the CSS class name */ function hasClass(element, className) { if (element.classList) return !!className && element.classList.contains(className); return (" " + (element.className.baseVal || element.className) + " ").indexOf(" " + className + " ") !== -1; } /***/ }), /***/ "./node_modules/dom-helpers/esm/removeClass.js": /*!*****************************************************!*\ !*** ./node_modules/dom-helpers/esm/removeClass.js ***! \*****************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": function() { return /* binding */ removeClass; } /* harmony export */ }); function replaceClassName(origClass, classToRemove) { return origClass.replace(new RegExp("(^|\\s)" + classToRemove + "(?:\\s|$)", 'g'), '$1').replace(/\s+/g, ' ').replace(/^\s*|\s*$/g, ''); } /** * Removes a CSS class from a given element. * * @param element the element * @param className the CSS class name */ function removeClass(element, className) { if (element.classList) { element.classList.remove(className); } else if (typeof element.className === 'string') { element.className = replaceClassName(element.className, className); } else { element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className)); } } /***/ }), /***/ "./node_modules/domelementtype/lib/index.js": /*!**************************************************!*\ !*** ./node_modules/domelementtype/lib/index.js ***! \**************************************************/ /***/ (function(__unused_webpack_module, exports) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0; /** Types of elements found in htmlparser2's DOM */ var ElementType; (function (ElementType) { /** Type for the root element of a document */ ElementType["Root"] = "root"; /** Type for Text */ ElementType["Text"] = "text"; /** Type for */ ElementType["Directive"] = "directive"; /** Type for */ ElementType["Comment"] = "comment"; /** Type for