/*! elementor - v3.27.0 - 16-02-2025 */ "use strict"; (self["webpackChunkelementor"] = self["webpackChunkelementor"] || []).push([["styleguide-app"],{ /***/ "../modules/styleguide/assets/js/frontend/app.js": /*!*******************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/app.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = App; var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _styledComponents = _interopRequireDefault(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js")); var _settings = __webpack_require__(/*! ./contexts/settings */ "../modules/styleguide/assets/js/frontend/contexts/settings.js"); var _activeContext = _interopRequireDefault(__webpack_require__(/*! ./contexts/active-context */ "../modules/styleguide/assets/js/frontend/contexts/active-context.js")); var _header = _interopRequireDefault(__webpack_require__(/*! ./components/header */ "../modules/styleguide/assets/js/frontend/components/header.js")); var _colorsArea = _interopRequireDefault(__webpack_require__(/*! ./components/areas/colors-area */ "../modules/styleguide/assets/js/frontend/components/areas/colors-area.js")); var _fontsArea = _interopRequireDefault(__webpack_require__(/*! ./components/areas/fonts-area */ "../modules/styleguide/assets/js/frontend/components/areas/fonts-area.js")); var _appWrapper = _interopRequireDefault(__webpack_require__(/*! ./components/app-wrapper */ "../modules/styleguide/assets/js/frontend/components/app-wrapper.js")); var _templateObject; var Content = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\tpadding: 48px 0;\n"]))); function App() { return /*#__PURE__*/_react.default.createElement(_settings.SettingsProvider, null, /*#__PURE__*/_react.default.createElement(_appWrapper.default, null, /*#__PURE__*/_react.default.createElement(_activeContext.default, null, /*#__PURE__*/_react.default.createElement(_header.default, null), /*#__PURE__*/_react.default.createElement(Content, null, /*#__PURE__*/_react.default.createElement(_colorsArea.default, null), /*#__PURE__*/_react.default.createElement(_fontsArea.default, null))))); } /***/ }), /***/ "../modules/styleguide/assets/js/frontend/components/app-wrapper.js": /*!**************************************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/components/app-wrapper.js ***! \**************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = AppWrapper; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _settings = __webpack_require__(/*! ../contexts/settings */ "../modules/styleguide/assets/js/frontend/contexts/settings.js"); var _loader = _interopRequireDefault(__webpack_require__(/*! ./global/loader */ "../modules/styleguide/assets/js/frontend/components/global/loader.js")); function AppWrapper(props) { var _useSettings = (0, _settings.useSettings)(), settings = _useSettings.settings, isReady = _useSettings.isReady; if (!isReady) { return /*#__PURE__*/_react.default.createElement(_loader.default, null); } var isDebug = settings.get('config').get('is_debug'), Wrapper = isDebug ? _react.default.StrictMode : _react.default.Fragment; return /*#__PURE__*/_react.default.createElement(Wrapper, null, props.children); } AppWrapper.propTypes = { children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)]).isRequired }; /***/ }), /***/ "../modules/styleguide/assets/js/frontend/components/areas/area-title.js": /*!*******************************************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/components/areas/area-title.js ***! \*******************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js")); var _styledComponents = _interopRequireDefault(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js")); var _templateObject; var AreaTitle = _styledComponents.default.h2(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\tcolor: var(--e-a-color-txt);\n\tfont-family: Roboto, sans-serif;\n\tfont-size: 30px;\n\tfont-weight: 400;\n\ttext-transform: capitalize;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tletter-spacing: 0;\n\tword-spacing: 0;\n\ttext-align: center;\n\tpadding: 0;\n\tmargin: 0 0 48px 0;\n"]))); var _default = exports["default"] = AreaTitle; /***/ }), /***/ "../modules/styleguide/assets/js/frontend/components/areas/area.js": /*!*************************************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/components/areas/area.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _styledComponents = _interopRequireDefault(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js")); var _settings = __webpack_require__(/*! ../../contexts/settings */ "../modules/styleguide/assets/js/frontend/contexts/settings.js"); var _loader = _interopRequireDefault(__webpack_require__(/*! ../global/loader */ "../modules/styleguide/assets/js/frontend/components/global/loader.js")); var _divBase = _interopRequireDefault(__webpack_require__(/*! ../global/div-base */ "../modules/styleguide/assets/js/frontend/components/global/div-base.js")); var _areaTitle = _interopRequireDefault(__webpack_require__(/*! ./area-title */ "../modules/styleguide/assets/js/frontend/components/areas/area-title.js")); var _section = _interopRequireDefault(__webpack_require__(/*! ../section */ "../modules/styleguide/assets/js/frontend/components/section.js")); var _templateObject; var Wrapper = (0, _styledComponents.default)(_divBase.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\twidth: 100%;\n \tpadding-top: 96px;\n\tmin-height: 100px;\n\n\t@media (max-width: 1024px) {\n \tpadding-top: 50px;\n\t}\n"]))); var Area = _react.default.forwardRef(function (props, ref) { var config = props.config; var _useSettings = (0, _settings.useSettings)(), settings = _useSettings.settings, isReady = _useSettings.isReady; return /*#__PURE__*/_react.default.createElement(Wrapper, { ref: ref }, /*#__PURE__*/_react.default.createElement(_areaTitle.default, { name: config.type }, config.title), !isReady ? /*#__PURE__*/_react.default.createElement(_loader.default, null) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, config.sections.map(function (section) { var items = settings.get(config.type).get(section.type); return items.length ? /*#__PURE__*/_react.default.createElement(_section.default, { key: section.type, title: section.title, items: items, columns: section.columns, component: config.component, type: section.type }) : null; }))); }); Area.propTypes = { config: PropTypes.shape({ type: PropTypes.string.isRequired, title: PropTypes.string.isRequired, sections: PropTypes.arrayOf(PropTypes.shape({ type: PropTypes.string.isRequired, title: PropTypes.string.isRequired, columns: PropTypes.object })).isRequired, component: PropTypes.func.isRequired }).isRequired }; var _default = exports["default"] = Area; /***/ }), /***/ "../modules/styleguide/assets/js/frontend/components/areas/colors-area.js": /*!********************************************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/components/areas/colors-area.js ***! \********************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = ColorsArea; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _activeContext = __webpack_require__(/*! ../../contexts/active-context */ "../modules/styleguide/assets/js/frontend/contexts/active-context.js"); var _area = _interopRequireDefault(__webpack_require__(/*! ./area */ "../modules/styleguide/assets/js/frontend/components/areas/area.js")); var _color = _interopRequireDefault(__webpack_require__(/*! ../item/color */ "../modules/styleguide/assets/js/frontend/components/item/color.js")); function ColorsArea() { var _useActiveContext = (0, _activeContext.useActiveContext)(), colorsAreaRef = _useActiveContext.colorsAreaRef; var areaConfig = { title: __('Global Colors', 'elementor'), type: 'colors', component: _color.default, sections: [{ type: 'system_colors', title: __('System Colors', 'elementor'), columns: { desktop: 4, mobile: 2 } }, { type: 'custom_colors', title: __('Custom Colors', 'elementor'), columns: { desktop: 6, mobile: 2 } }] }; return /*#__PURE__*/_react.default.createElement(_area.default, { ref: colorsAreaRef, config: areaConfig }); } /***/ }), /***/ "../modules/styleguide/assets/js/frontend/components/areas/fonts-area.js": /*!*******************************************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/components/areas/fonts-area.js ***! \*******************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = FontsArea; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _activeContext = __webpack_require__(/*! ../../contexts/active-context */ "../modules/styleguide/assets/js/frontend/contexts/active-context.js"); var _area = _interopRequireDefault(__webpack_require__(/*! ./area */ "../modules/styleguide/assets/js/frontend/components/areas/area.js")); var _font = _interopRequireDefault(__webpack_require__(/*! ../item/font */ "../modules/styleguide/assets/js/frontend/components/item/font.js")); function FontsArea() { var _useActiveContext = (0, _activeContext.useActiveContext)(), fontsAreaRef = _useActiveContext.fontsAreaRef; var areaConfig = { title: __('Global Fonts', 'elementor'), type: 'fonts', component: _font.default, sections: [{ type: 'system_typography', title: __('System Fonts', 'elementor'), flex: 'column', columns: { desktop: 1, mobile: 1 } }, { type: 'custom_typography', title: __('Custom Fonts', 'elementor'), flex: 'column', columns: { desktop: 1, mobile: 1 } }] }; return /*#__PURE__*/_react.default.createElement(_area.default, { ref: fontsAreaRef, config: areaConfig }); } /***/ }), /***/ "../modules/styleguide/assets/js/frontend/components/global/div-base.js": /*!******************************************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/components/global/div-base.js ***! \******************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js")); var _styledComponents = _interopRequireDefault(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js")); var _templateObject; var DivBase = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\tbox-sizing: border-box;\n\tposition: relative;\n"]))); var _default = exports["default"] = DivBase; /***/ }), /***/ "../modules/styleguide/assets/js/frontend/components/global/element-title.js": /*!***********************************************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/components/global/element-title.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js")); var _styledComponents = _interopRequireDefault(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js")); var _templateObject; var ElementTitle = _styledComponents.default.p(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\tcolor: var(--e-a-color-txt);\n\tfont-family: Roboto, sans-serif;\n\tfont-size: 12px;\n\tfont-weight: 500;\n\ttext-transform: capitalize;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tline-height: 1.1em;\n\tletter-spacing: 0;\n\tword-spacing: 0;\n\tpadding: 0;\n\tmargin: 0;\n"]))); var _default = exports["default"] = ElementTitle; /***/ }), /***/ "../modules/styleguide/assets/js/frontend/components/global/element-wrapper.js": /*!*************************************************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/components/global/element-wrapper.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _styledComponents = _interopRequireWildcard(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js")); var _divBase = _interopRequireDefault(__webpack_require__(/*! ./div-base */ "../modules/styleguide/assets/js/frontend/components/global/div-base.js")); var _templateObject, _templateObject2, _templateObject3; function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } var Wrapper = (0, _styledComponents.default)(_divBase.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 12px;\n\talign-items: flex-start;\n\tborder: 1px solid transparent;\n\tborder-radius: 3px;\n\tpadding: 12px;\n\tcursor: pointer;\n\t", "\n\n\t&:hover:not(.active) {\n\t\tbackground-color: var(--e-a-bg-hover);\n\t\tborder-color: var(--e-a-border-color-bold);\n\t}\n\n\t&.active {\n\t\tbackground-color: var(--e-a-bg-active);\n\t\tborder-color: var(--e-a-border-color-accent);\n\t}\n\n\t@media (max-width: 767px) {\n\t\t", "\n\t}\n"])), function (_ref) { var _columns$desktop; var columns = _ref.columns; var columnWidth = 100 / ((_columns$desktop = columns.desktop) !== null && _columns$desktop !== void 0 ? _columns$desktop : 1); return (0, _styledComponents.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n\t\t\tflex: 0 0 ", "%;\n\t\t"])), columnWidth); }, function (_ref2) { var _columns$mobile; var columns = _ref2.columns; var columnWidth = 100 / ((_columns$mobile = columns.mobile) !== null && _columns$mobile !== void 0 ? _columns$mobile : 1); return (0, _styledComponents.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n\t\t\t\tflex: 0 0 ", "%;\n\t\t\t"])), columnWidth); }); var ElementWrapper = _react.default.forwardRef(function (props, ref) { var isActive = props.isActive, children = props.children; return /*#__PURE__*/_react.default.createElement(Wrapper, (0, _extends2.default)({}, props, { ref: ref, className: isActive ? 'active' : '' }), children); }); var _default = exports["default"] = ElementWrapper; ElementWrapper.propTypes = { isActive: PropTypes.bool, children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)]) }; /***/ }), /***/ "../modules/styleguide/assets/js/frontend/components/global/inner-wrapper.js": /*!***********************************************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/components/global/inner-wrapper.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js")); var _styledComponents = _interopRequireDefault(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js")); var _divBase = _interopRequireDefault(__webpack_require__(/*! ./div-base */ "../modules/styleguide/assets/js/frontend/components/global/div-base.js")); var _templateObject; var innerWrapper = (0, _styledComponents.default)(_divBase.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 100%;\n\tmax-width: 1140px;\n\tmargin: auto;\n\tflex-wrap: wrap;\n\tflex-direction: ", ";\n\n\t@media (max-width: 1140px) {\n\t\tpadding: 0 15px;\n\t}\n\n\t@media (max-width: 767px) {\n\t\tpadding: 0 13px;\n\t}\n"])), function (props) { var _props$flexDirection; return (_props$flexDirection = props.flexDirection) !== null && _props$flexDirection !== void 0 ? _props$flexDirection : 'row'; }); var _default = exports["default"] = innerWrapper; /***/ }), /***/ "../modules/styleguide/assets/js/frontend/components/global/loader.js": /*!****************************************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/components/global/loader.js ***! \****************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = Loader; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); function Loader() { return /*#__PURE__*/_react.default.createElement("div", { className: "e-styleguide-loader" }, /*#__PURE__*/_react.default.createElement("i", { className: "eicon-loading eicon-animation-spin" })); } /***/ }), /***/ "../modules/styleguide/assets/js/frontend/components/header.js": /*!*********************************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/components/header.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = Header; var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _styledComponents = _interopRequireDefault(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js")); var _activeContext = __webpack_require__(/*! ../contexts/active-context */ "../modules/styleguide/assets/js/frontend/contexts/active-context.js"); var _divBase = _interopRequireDefault(__webpack_require__(/*! ./global/div-base */ "../modules/styleguide/assets/js/frontend/components/global/div-base.js")); var _innerWrapper = _interopRequireDefault(__webpack_require__(/*! ./global/inner-wrapper */ "../modules/styleguide/assets/js/frontend/components/global/inner-wrapper.js")); var _templateObject, _templateObject2, _templateObject3, _templateObject4; var Button = _styledComponents.default.button.attrs(function (props) { return { 'data-e-active': props.isActive ? true : null }; })(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\tfont-size: 16px;\n\theight: 100%;\n\tfont-weight: 500;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tline-height: 1.5em;\n\tletter-spacing: 0;\n\tcolor: var(--e-a-color-txt);\n\tborder: none;\n\tbackground: none;\n\ttext-transform: capitalize;\n\tfont-family: Roboto, sans-serif;\n\tpadding: 0;\n\n\t&:hover, &[data-e-active='true'], &:focus {\n\t\toutline: none;\n\t\tbackground: none;\n\t\tcolor: var(--e-a-color-txt-accent);\n\t}\n"]))); var AreaButton = function AreaButton(props) { var _useActiveContext = (0, _activeContext.useActiveContext)(), activeArea = _useActiveContext.activeArea, activateArea = _useActiveContext.activateArea; var area = props.area, children = props.children; var onClick = function onClick() { activateArea(area); }; // TODO: Add hover/active states return /*#__PURE__*/_react.default.createElement(Button, { variant: "transparent", size: "s", onClick: onClick, isActive: area === activeArea }, children); }; var Wrapper = (0, _styledComponents.default)(_divBase.default)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 48px;\n\tdisplay: flex;\n\tbackground: var(--e-a-bg-default);\n\tborder-bottom: 1px solid var(--e-a-border-color-bold);\n\tz-index: 1;\n"]))); var ButtonsWrapper = (0, _styledComponents.default)(_divBase.default)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\tflex-grow: 1;\n\tgap: 20px;\n"]))); var Title = _styledComponents.default.h2(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n\tcolor: var(--e-a-color-txt-accent);\n\tfont-family: Roboto, sans-serif;\n\tfont-size: 16px;\n\tfont-weight: 600;\n\ttext-transform: capitalize;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tline-height: 1.2em;\n\tletter-spacing: 0;\n\tword-spacing: 0;\n\tmargin: 0;\n"]))); function Header() { return /*#__PURE__*/_react.default.createElement(Wrapper, null, /*#__PURE__*/_react.default.createElement(_innerWrapper.default, null, /*#__PURE__*/_react.default.createElement(Title, null, __('Show global settings', 'elementor')), /*#__PURE__*/_react.default.createElement(ButtonsWrapper, null, /*#__PURE__*/_react.default.createElement(AreaButton, { area: 'colors' }, __('Colors', 'elementor')), /*#__PURE__*/_react.default.createElement(AreaButton, { area: 'fonts' }, __('Fonts', 'elementor'))))); } AreaButton.propTypes = { area: PropTypes.string.isRequired, children: PropTypes.node.isRequired }; /***/ }), /***/ "../modules/styleguide/assets/js/frontend/components/item/color.js": /*!*************************************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/components/item/color.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = Color; var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js")); var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var _styledComponents = _interopRequireDefault(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js")); var _divBase = _interopRequireDefault(__webpack_require__(/*! ../global/div-base */ "../modules/styleguide/assets/js/frontend/components/global/div-base.js")); var _elementTitle = _interopRequireDefault(__webpack_require__(/*! ../global/element-title */ "../modules/styleguide/assets/js/frontend/components/global/element-title.js")); var _elementWrapper = _interopRequireDefault(__webpack_require__(/*! ../global/element-wrapper */ "../modules/styleguide/assets/js/frontend/components/global/element-wrapper.js")); var _activeContext = __webpack_require__(/*! ../../contexts/active-context */ "../modules/styleguide/assets/js/frontend/contexts/active-context.js"); var _templateObject, _templateObject2; function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } var Content = (0, _styledComponents.default)(_divBase.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\tdisplay: flex;\n\twidth: 100%;\n\theight: 100px;\n\tbackground-color: ", ";\n\tborder: 1px solid var(--e-a-border-color-focus);\n\tborder-radius: 3px;\n\talign-items: end;\n"])), function (props) { return props.hex; }); var HexString = _styledComponents.default.p(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n\tcolor: var(--e-a-color-txt-invert);\n\tfont-family: Roboto, sans-serif;\n\theight: 12px;\n\tfont-size: 12px;\n\tfont-weight: 500;\n\ttext-transform: uppercase;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tline-height: 1.1em;\n\tletter-spacing: 0;\n\tword-spacing: 0;\n\tmargin: 12px;\n"]))); function Color(props) { var _useActiveContext = (0, _activeContext.useActiveContext)(), activeElement = _useActiveContext.activeElement, activateElement = _useActiveContext.activateElement, getElementControl = _useActiveContext.getElementControl; var item = props.item, type = props.type; var source = 'color'; var _id = item._id, title = item.title, hex = item.color; var elementControl = getElementControl(type, source, _id); var ref = (0, _react.useRef)(null); (0, _react.useEffect)(function () { if (elementControl === activeElement) { ref.current.scrollIntoView({ behavior: 'smooth', block: 'center', inline: 'center' }); } }, [activeElement]); var onClick = function onClick() { activateElement(type, source, _id); }; return /*#__PURE__*/_react.default.createElement(_elementWrapper.default, { columns: props.columns, ref: ref, isActive: elementControl === activeElement, onClick: onClick }, /*#__PURE__*/_react.default.createElement(_elementTitle.default, null, title), /*#__PURE__*/_react.default.createElement(Content, { hex: hex }, /*#__PURE__*/_react.default.createElement(HexString, null, hex))); } Color.propTypes = { item: PropTypes.shape({ _id: PropTypes.string.isRequired, title: PropTypes.string.isRequired, color: PropTypes.string }).isRequired, type: PropTypes.string.isRequired, columns: PropTypes.shape({ desktop: PropTypes.number, mobile: PropTypes.number }) }; /***/ }), /***/ "../modules/styleguide/assets/js/frontend/components/item/font.js": /*!************************************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/components/item/font.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = Font; var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js")); var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var _styledComponents = _interopRequireDefault(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js")); var _activeContext = __webpack_require__(/*! ../../contexts/active-context */ "../modules/styleguide/assets/js/frontend/contexts/active-context.js"); var _settings = __webpack_require__(/*! ../../contexts/settings */ "../modules/styleguide/assets/js/frontend/contexts/settings.js"); var _elementWrapper = _interopRequireDefault(__webpack_require__(/*! ../global/element-wrapper */ "../modules/styleguide/assets/js/frontend/components/global/element-wrapper.js")); var _elementTitle = _interopRequireDefault(__webpack_require__(/*! ../global/element-title */ "../modules/styleguide/assets/js/frontend/components/global/element-title.js")); var _templateObject, _templateObject2; function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } var Title = (0, _styledComponents.default)(_elementTitle.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\tfont-size: 18px;\n"]))); var Content = _styledComponents.default.p.withConfig({ shouldForwardProp: function shouldForwardProp(prop) { return 'style' !== prop; } })(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n\t", ";\n"])), function (_ref) { var style = _ref.style; var styleObjectToString = function styleObjectToString(obj) { return Object.keys(obj).reduce(function (acc, key) { return acc + "".concat(key, ": ").concat(obj[key], ";"); }, ''); }; return "\n\t\t\t".concat(styleObjectToString(style.style), "\n\n\t\t\t@media (max-width: 1024px) {\n\t\t\t\t").concat(styleObjectToString(style.tablet), "\n\t\t\t}\n\n\t\t\t@media (max-width: 767px) {\n\t\t\t\t").concat(styleObjectToString(style.mobile), "\n\t\t\t}\n\t\t"); }); var parseFontToStyle = function parseFontToStyle(font, fallbackFamily) { var defaultKeyParser = function defaultKeyParser(key) { return key.replace('typography_', '').replace('_', '-'); }; var fallbackLowered = fallbackFamily.toLowerCase(); var familyParser = function familyParser(value) { return value ? value + ", ".concat(fallbackLowered) : fallbackLowered; }; var sizeParser = function sizeParser(value) { if (!value || !value.size) { return ''; } return "".concat(value.size).concat(value.unit); }; var defaultParser = function defaultParser(value) { return value; }; var allowedProperties = { typography_font_family: { valueParser: familyParser, keyParser: defaultKeyParser }, typography_font_size: { valueParser: sizeParser, keyParser: defaultKeyParser }, typography_letter_spacing: { valueParser: sizeParser, keyParser: defaultKeyParser }, typography_line_height: { valueParser: sizeParser, keyParser: defaultKeyParser }, typography_word_spacing: { valueParser: sizeParser, keyParser: defaultKeyParser }, typography_font_style: { valueParser: defaultParser, keyParser: defaultKeyParser }, typography_font_weight: { valueParser: defaultParser, keyParser: defaultKeyParser }, typography_text_transform: { valueParser: defaultParser, keyParser: defaultKeyParser }, typography_text_decoration: { valueParser: defaultParser, keyParser: defaultKeyParser } }; var responsiveProperties = ['typography_font_size', 'typography_letter_spacing', 'typography_line_height', 'typography_word_spacing']; var reducer = function reducer(acc, property, screen) { var parsers = allowedProperties[property]; var key = parsers.keyParser(property); var keyInFontObject = property + (screen ? '_' + screen : ''); var value = parsers.valueParser(font[keyInFontObject]); if (value) { acc[key] = value; } return acc; }; var style = Object.keys(allowedProperties).reduce(function (acc, property) { return reducer(acc, property, ''); }, {}); var tablet = responsiveProperties.reduce(function (acc, property) { return reducer(acc, property, 'tablet'); }, {}); var mobile = responsiveProperties.reduce(function (acc, property) { return reducer(acc, property, 'mobile'); }, {}); return { style: style, tablet: tablet, mobile: mobile }; }; function Font(props) { var _useActiveContext = (0, _activeContext.useActiveContext)(), activeElement = _useActiveContext.activeElement, activateElement = _useActiveContext.activateElement, getElementControl = _useActiveContext.getElementControl; var item = props.item, type = props.type; var source = 'typography'; var _id = item._id, title = item.title; var elementControl = getElementControl(type, source, _id); var ref = (0, _react.useRef)(null); var _useSettings = (0, _settings.useSettings)(), settings = _useSettings.settings, isReady = _useSettings.isReady; var generateStyle = (0, _react.useMemo)(function () { if (!isReady) { return ''; } return parseFontToStyle(item, settings.get('fonts').get('fallback_font')); }, [item, settings]); var onClick = function onClick() { activateElement(type, source, _id); }; (0, _react.useEffect)(function () { if (elementControl === activeElement) { ref.current.scrollIntoView({ behavior: 'smooth', block: 'center', inline: 'center' }); } }, [activeElement]); return /*#__PURE__*/_react.default.createElement(_elementWrapper.default, { columns: props.columns, ref: ref, isActive: elementControl === activeElement, onClick: onClick }, /*#__PURE__*/_react.default.createElement(Title, null, title), /*#__PURE__*/_react.default.createElement(Content, { style: generateStyle }, __('The five boxing wizards jump quickly.', 'elementor'))); } Font.propTypes = { item: PropTypes.shape({ _id: PropTypes.string.isRequired, title: PropTypes.string.isRequired, color: PropTypes.string }).isRequired, type: PropTypes.string.isRequired, columns: PropTypes.shape({ desktop: PropTypes.number, mobile: PropTypes.number }) }; /***/ }), /***/ "../modules/styleguide/assets/js/frontend/components/section-title.js": /*!****************************************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/components/section-title.js ***! \****************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js")); var _styledComponents = _interopRequireDefault(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js")); var _templateObject; var SectionTitle = _styledComponents.default.h3(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\tpadding: 16px 12px;\n\tborder-style: solid;\n\tborder-width: 0 0 1px 0;\n\tborder-color: var(--e-a-border-color-bold);\n\tcolor: var(--e-a-color-txt);\n\tfont-family: Roboto, sans-serif;\n\tfont-size: 16px;\n\tfont-weight: 500;\n\ttext-transform: capitalize;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tline-height: 1.5em;\n\tletter-spacing: 0;\n\tword-spacing: 0;\n\tmargin: 0 auto 25px;\n\twidth: 100%;\n\tmax-width: 1140px;\n"]))); var _default = exports["default"] = SectionTitle; /***/ }), /***/ "../modules/styleguide/assets/js/frontend/components/section.js": /*!**********************************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/components/section.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = Section; var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _styledComponents = _interopRequireWildcard(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js")); var _sectionTitle = _interopRequireDefault(__webpack_require__(/*! ./section-title */ "../modules/styleguide/assets/js/frontend/components/section-title.js")); var _divBase = _interopRequireDefault(__webpack_require__(/*! ./global/div-base */ "../modules/styleguide/assets/js/frontend/components/global/div-base.js")); var _innerWrapper = _interopRequireDefault(__webpack_require__(/*! ./global/inner-wrapper */ "../modules/styleguide/assets/js/frontend/components/global/inner-wrapper.js")); var _templateObject, _templateObject2, _templateObject3; function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } var Wrapper = (0, _styledComponents.default)(_divBase.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\tmargin-top: 55px;\n"]))); var Content = (0, _styledComponents.default)(_divBase.default)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n\tdisplay: flex;\n\twidth: 100%;\n\n\t", ";\n"])), function (_ref) { var flex = _ref.flex; return flex && (0, _styledComponents.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n\t\tflex-direction: ", ";\n\t\tflex-wrap: ", ";\n\t"])), 'column' === flex ? 'column' : 'row', 'column' === flex ? 'nowrap' : 'wrap'); }); function Section(props) { var title = props.title, items = props.items, columns = props.columns, Item = props.component, type = props.type, _props$flex = props.flex, flex = _props$flex === void 0 ? 'row' : _props$flex; return /*#__PURE__*/_react.default.createElement(Wrapper, null, /*#__PURE__*/_react.default.createElement(_sectionTitle.default, null, title), /*#__PURE__*/_react.default.createElement(_innerWrapper.default, null, /*#__PURE__*/_react.default.createElement(Content, { flex: flex }, items.map(function (item) { return /*#__PURE__*/_react.default.createElement(Item, { key: item._id, item: item, type: type ? type : null, columns: columns }); })))); } Section.propTypes = { title: PropTypes.string.isRequired, items: PropTypes.array.isRequired, columns: PropTypes.shape({ desktop: PropTypes.number, mobile: PropTypes.number }), component: PropTypes.func.isRequired, type: PropTypes.string, flex: PropTypes.oneOf(['row', 'column']) }; /***/ }), /***/ "../modules/styleguide/assets/js/frontend/contexts/active-context.js": /*!***************************************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/contexts/active-context.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.ActiveContext = void 0; exports.useActiveContext = useActiveContext; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var _settings = __webpack_require__(/*! ./settings */ "../modules/styleguide/assets/js/frontend/contexts/settings.js"); var _useIntersectionObserver = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-intersection-observer */ "../modules/styleguide/assets/js/frontend/hooks/use-intersection-observer.js")); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var ActiveContext = exports.ActiveContext = (0, _react.createContext)(null); var ActiveProvider = function ActiveProvider(props) { var _useState = (0, _react.useState)({ element: '', area: '' }), _useState2 = (0, _slicedToArray2.default)(_useState, 2), active = _useState2[0], setActive = _useState2[1]; var colorsAreaRef = (0, _react.useRef)(null); var fontsAreaRef = (0, _react.useRef)(null); var _useSettings = (0, _settings.useSettings)(), isReady = _useSettings.isReady; var _useIntersectionObser = (0, _useIntersectionObserver.default)(function (intersectingArea) { if (colorsAreaRef.current === intersectingArea.target) { activateArea('colors', { scroll: false }); return; } if (fontsAreaRef.current === intersectingArea.target) { activateArea('fonts', { scroll: false }); } }), setObservedElements = _useIntersectionObser.setObservedElements; var activateElement = function activateElement(type, source, id) { if ('color' === source) { window.top.$e.route('panel/global/global-colors', { activeControl: "".concat(type, "/").concat(id, "/color") }, { history: false }); } if ('typography' === source) { window.top.$e.route('panel/global/global-typography', { activeControl: "".concat(type, "/").concat(id, "/typography_typography") }, { history: false }); } }; var getElementControl = function getElementControl(type, source, id) { if ('color' === source) { return "".concat(type, "/").concat(id, "/color"); } if ('typography' === source) { return "".concat(type, "/").concat(id, "/typography_typography"); } }; var activateArea = function activateArea(area) { var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref$scroll = _ref.scroll, scroll = _ref$scroll === void 0 ? true : _ref$scroll; if (scroll) { scrollToArea(area); } setActive(function (prevState) { return _objectSpread(_objectSpread({}, prevState), {}, { area: area }); }); }; var scrollToArea = function scrollToArea(area) { var ref = 'colors' === area ? colorsAreaRef : fontsAreaRef; ref.current.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'start' }); }; (0, _react.useEffect)(function () { if (window.top.$e.routes.is('panel/global/global-colors')) { scrollToArea('colors'); } if (window.top.$e.routes.is('panel/global/global-typography')) { scrollToArea('fonts'); } }, []); (0, _react.useEffect)(function () { if (!isReady) { return; } setObservedElements([colorsAreaRef.current, fontsAreaRef.current]); window.top.$e.routes.on('run:after', function (component, route, args) { if ('panel/global/global-typography' === route) { setActive(function () { return { area: 'fonts', element: args.activeControl }; }); } if ('panel/global/global-colors' === route) { setActive(function () { return { area: 'colors', element: args.activeControl }; }); } }); }, [isReady]); var value = { activeElement: active.element, activeArea: active.area, activateElement: activateElement, activateArea: activateArea, colorsAreaRef: colorsAreaRef, fontsAreaRef: fontsAreaRef, getElementControl: getElementControl }; return /*#__PURE__*/_react.default.createElement(ActiveContext.Provider, (0, _extends2.default)({ value: value }, props)); }; var _default = exports["default"] = ActiveProvider; function useActiveContext() { return (0, _react.useContext)(ActiveContext); } /***/ }), /***/ "../modules/styleguide/assets/js/frontend/contexts/settings.js": /*!*********************************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/contexts/settings.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.useSettings = exports.SettingsProvider = void 0; var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _useDebouncedCallback = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-debounced-callback */ "../modules/styleguide/assets/js/frontend/hooks/use-debounced-callback.js")); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } var SettingsContext = (0, _react.createContext)(null); /** * @return {{settings: Map, isReady: boolean}|null} context */ var useSettings = exports.useSettings = function useSettings() { return (0, _react.useContext)(SettingsContext); }; var SettingsProvider = exports.SettingsProvider = function SettingsProvider(props) { var _useState = (0, _react.useState)('idle'), _useState2 = (0, _slicedToArray2.default)(_useState, 2), status = _useState2[0], setStatus = _useState2[1]; var _useState3 = (0, _react.useState)(new Map()), _useState4 = (0, _slicedToArray2.default)(_useState3, 2), settings = _useState4[0], _setSettings = _useState4[1]; var settingsRef = (0, _react.useRef)(settings); // TODO: Use `useDebouncedCallback` instead of `useCallback`. var setSettings = function setSettings(newSettings) { settingsRef.current = newSettings; _setSettings(newSettings); }; (0, _react.useEffect)(function () { setStatus('loaded'); }, [settings]); var getInitialSettings = function getInitialSettings() { setStatus('loading'); var kitSettings = elementor.documents.getCurrent().config.settings.settings; var map = new Map([['colors', new Map([['system_colors', kitSettings.system_colors], ['custom_colors', kitSettings.custom_colors]])], ['fonts', new Map([['system_typography', kitSettings.system_typography], ['custom_typography', kitSettings.custom_typography], ['fallback_font', kitSettings.default_generic_fonts]])], ['config', new Map([['is_debug', elementorCommon.config.isElementorDebug]])]]); setSettings(map); }; var onCommandEvent = (0, _react.useCallback)(function (event) { switch (event.detail.command) { case 'document/elements/settings': onSettingsChange(event.detail.args); break; case 'document/repeater/insert': onInsert(event.detail.args); break; case 'document/repeater/remove': onRemove(event.detail.args); break; default: break; } }, []); /** * Triggered when a color or font is changed. * Has a 100ms debounce. * * @param {{container: {model: {attributes: {name: string}}, id: number}, settings: {}}} args */ var onSettingsChange = (0, _useDebouncedCallback.default)(function (args) { var name = args.container.model.attributes.name; var newSettings = new Map(settingsRef.current); var _iterator = _createForOfIteratorHelper(newSettings.entries()), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var _step$value = (0, _slicedToArray2.default)(_step.value, 2), group = _step$value[0], groupSettings = _step$value[1]; if (!groupSettings.has(name)) { continue; } if (Array.isArray(groupSettings.get(name))) { var index = groupSettings.get(name).findIndex(function (item) { return item._id === args.container.id; }); if (-1 === index) { return; } newSettings.get(group).get(name)[index] = _objectSpread(_objectSpread({}, groupSettings.get(name)[index]), args.settings); } else { newSettings.get(group).set(name, args.settings); } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } setSettings(newSettings); }, 100); /** * Triggered when a new custom color or font is created. * * @param {{name: string, model: string, options: {at: number}}} args */ var onInsert = function onInsert(args) { var name = args.name; var newSettings = new Map(settingsRef.current); var _iterator2 = _createForOfIteratorHelper(newSettings.entries()), _step2; try { for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var _args$options; var _step2$value = (0, _slicedToArray2.default)(_step2.value, 2), group = _step2$value[0], groupSettings = _step2$value[1]; if (!groupSettings.has(name)) { continue; } var newArray = (0, _toConsumableArray2.default)(groupSettings.get(name)); var at = undefined === ((_args$options = args.options) === null || _args$options === void 0 ? void 0 : _args$options.at) ? newArray.length : args.options.at; newSettings.get(group).set(name, [].concat((0, _toConsumableArray2.default)(newArray.slice(0, at)), [args.model], (0, _toConsumableArray2.default)(newArray.slice(at)))); } } catch (err) { _iterator2.e(err); } finally { _iterator2.f(); } setSettings(newSettings); }; /** * Triggered when a custom color or font is removed. * * @param {{name: string, index: number}} args */ var onRemove = function onRemove(args) { var name = args.name; var newSettings = new Map(settingsRef.current); var _iterator3 = _createForOfIteratorHelper(newSettings.entries()), _step3; try { for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { var _step3$value = (0, _slicedToArray2.default)(_step3.value, 2), group = _step3$value[0], groupSettings = _step3$value[1]; if (!groupSettings.has(name)) { continue; } var newArray = (0, _toConsumableArray2.default)(groupSettings.get(name)); newSettings.get(group).set(name, newArray.filter(function (item, index) { return index !== args.index; })); } } catch (err) { _iterator3.e(err); } finally { _iterator3.f(); } setSettings(newSettings); }; (0, _react.useEffect)(function () { getInitialSettings(); window.top.addEventListener('elementor/commands/run/after', onCommandEvent, { passive: true }); return function () { window.top.removeEventListener('elementor/commands/run/after', onCommandEvent); }; }, []); var value = { settings: settings, isReady: 'loaded' === status }; return /*#__PURE__*/_react.default.createElement(SettingsContext.Provider, (0, _extends2.default)({ value: value }, props)); }; /***/ }), /***/ "../modules/styleguide/assets/js/frontend/hooks/use-debounced-callback.js": /*!********************************************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/hooks/use-debounced-callback.js ***! \********************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = useDebouncedCallback; var _react = __webpack_require__(/*! react */ "react"); function useDebouncedCallback(callback, wait) { var timeout = (0, _react.useRef)(); return (0, _react.useCallback)(function () { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var later = function later() { clearTimeout(timeout.current); callback.apply(void 0, args); }; clearTimeout(timeout.current); timeout.current = setTimeout(later, wait); }, [callback, wait]); } /***/ }), /***/ "../modules/styleguide/assets/js/frontend/hooks/use-intersection-observer.js": /*!***********************************************************************************!*\ !*** ../modules/styleguide/assets/js/frontend/hooks/use-intersection-observer.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = useIntersectionObserver; var _react = __webpack_require__(/*! react */ "react"); function useIntersectionObserver(callback) { var observer; var elements = []; (0, _react.useEffect)(function () { observer = new IntersectionObserver(function (entries) { var intersectingArea = entries.find(function (entry) { return entry.isIntersecting; }); if (intersectingArea) { callback(intersectingArea); } }, {}); return function () { observer.disconnect(); }; }, []); var observe = function observe() { if (elements.length !== 0) { elements.forEach(function (element) { if (element) { observer.observe(element); } }); } }; var unobserve = function unobserve() { if (elements.length !== 0) { elements.forEach(function (element) { if (element) { observer.unobserve(element); } }); } }; var setObservedElements = function setObservedElements(observedElements) { unobserve(); elements = observedElements; observe(); }; return { setObservedElements: setObservedElements }; } /***/ }) }]); //# sourceMappingURL=styleguide-app.a6e297c616479b98c03d.bundle.js.map Pueblos que ver en Fuertentura | Blog de Lajares Isla Fuerteventura Saltar al contenido

Pueblos que ver en Fuertentura

pueblos fuerteventura

Los 10 pueblos más bonitos de Fuerteventura

Si hay una experiencia que debes vivir por lo menos una vez en la vida es visitar los pueblos bonitos de Fuerteventura. Viajar y conocer nuevos lugares es un placer al cual muy pocos se resisten.

Y si nos referimos a visitar los hermosos pueblitos de España, Fuerteventura nos impresiona por su belleza, no solo por sus paisajes, son sus actividades y gente lo que convierten a esta isla en una localidad privilegiada.

Es importante saber que se considera la segunda isla más grande de las Islas Canarias, en el que se combinan de manera armoniosa un archipiélago espectacular, volcanes, playas y acantilados con un fabuloso patrimonio histórico.

Quienes los visitan se impregnan de toda la magia resguardada en un aire lleno de historias adornadas con un paisaje de postal.

A lo largo de este post exploraremos los pueblos con más encanto de Fuerteventura. 12 Pueblos que te recomendamos visitar durante tus vacaciones en la Isla.

12 Pueblos de Fuerteventura que debes conocer

Si bien es cierto, las playas de Fuerteventura es uno de los atractivos turísticos más buscados por quienes eligen esta isla. A pesar de ello, es un verdadero placer disfrutar del recorrido por las calles de sus hermosos pueblos, llenos de historias.

Si te has decidido por este destino, queremos ser tus guías haciendo un punto de parada en cada uno de los fascinantes pueblos de fuerteventura.

1. Corralejo

Para aquellos que aman los deportes acuáticos, la naturaleza y las aves, este es el destino paradisíaco ideal. Sus playas color turquesa y arenas blancas son irresistibles para una escapada.

Corralejo
Corralejo

Además, podemos disfrutar de un pequeño islote, declarado como Patrimonio natural, llamado Isla de Lobos, perfecta para bucear, avistar aves exóticas y surfear en una de las mejores olas de Fuerteventura.

Surf en la Isla de Lobos

2. Lajares

Disfruta del imponente volcán Calderón Hondo en Fuerteventura. Como te habíamos mencionado, esta isla es de origen volcánico y es justo en el pueblo de Lajares donde podrás disfrutar de un paisaje volcánico único.

Desde lo alto del volcán podrás tomar una panorámica perfecta de todo el pueblo de Lajares, así que prepara tu cámara, que es aquí donde tomarás la mejor foto para tus memorias.

3. Betancuria

Una iglesia que se asoma de forma espectacular en el corazón de la isla, nada mejor describe a este pequeño pueblo de Fuerteventura. Betancuria está considerado como uno de los pueblos más bonitos de España.

Fundada en 1405, Betancuria es una de las localidades más emblemáticas de la isla. Situada en un valle rodeado de montañas, esta ciudad histórica fue la primera capital de Fuerteventura y lleva el nombre del conquistador francés Jean de Béthencourt. Calles empedradas, casas blancas con tejas de barro y un ambiente tranquilo y relajado hacen de Betancuria un lugar único para visitar.

Al pasear por sus calles, los visitantes pueden admirar la arquitectura tradicional canaria, visitar la iglesia de Santa María, que data del siglo XV, y explorar el Museo de Arte Sacro, que alberga una colección de arte sacro e histórico que documenta la historia de la isla. Betancuria es también un excelente lugar para degustar platos típicos canarios en sus acogedores restaurantes.

Sus caminerías y rico patrimonio cultural lo convierten en una parada obligada para los turistas que llegan atraídos por su fascinante paisaje, de hecho es por su belleza en 1979 fue declarada como Conjunto Histórico.

Betancuria cuenta además con un área de autocaravanas gratuito a la entrada del pueblo. Una gran opción para dejar tu furgoneta camper si estás viajando por la isla en autocaravana.

Area Autocaravanas Betancuria, Fuerteventura

No te pierdas nuestra guía de viaje a Betancuria. Te contamos dónde comer, cómo llegar, qué ver y qué hacer en tus vacaciones.

4. Tuineje

Para quienes son amantes de la cultura, esta es la localidad perfecta para visitar. Tuineje es un pequeño pueblo muy pintoresco de Fuerteventura. Ubicado ya en lo que consideramos Sur de la Isla. Tuineje forma parte de nuestra ruta por los 7 pueblos más bonitos del sur de Fuerteventura. Si tienes tiempo para recorrer la isla y cuentas con un vehículo propio para desplazarte, te aconsejamos visitar este pueblo junto con los otros 6 pueblos encantadores del sur de la Isla.

Ruta Pueblos Sur Fuerteventura
Ruta Pueblos del Sur de Fuerteventura

La actividad ganadera y agrícola marcan sus tradiciones, en el cual podrás disfrutar de exquisitos quesos artesanales.

Aquí podrás dar un paseo por sus hermosas construcciones, empezando por la Iglesia San Miguel Arcángel, luego recorrer los Hornos de Cal y Faro de la Entallada, los cuales son solo algunos de sus atractivos.

5. Antigua

Una vuelta al pasado y un recorrido donde convergen lo tradicional de nuestra cultura y el paisaje será lo que vas a encontrarte en Antigua de Fuerteventura.

Es un paseo impresionante, donde podrás conocer los Molinos de viento, la Iglesia de Nuestra Señora de Antigua, el Museo de Queso Majorero y el Santuario a la Virgen de Guadalupe.

Este hermoso pueblo queda justo en el corazón de la isla, no dejes de visitarlo al pasar por Betancuria.

6. La Oliva

Una de las viviendas más representativas en la historia de las Islas Canarias se encuentra aquí. No solo por ser la más grande, sino por su antigüedad, la cual no es otra que la Casa de los Coroneles.

El histórico Palacio de los Coroneles es uno de los principales atractivos de La Oliva, una imponente edificación que solía ser la residencia de los gobernantes de la isla. Hoy en día, el palacio alberga exposiciones y eventos culturales, lo que le da un toque especial a la visita

Este pueblo pertenece a los otros atractivos de la isla, con su singular planta de olivo silvestre, no comestible, y la famosa parroquia de la Candelaria. Sin duda, La Oliva es una joya del siglo XII que no debes perderte al visitar Fuerteventura.

7. El Cotillo

La tranquilidad y la tibieza de sus calas de arenas blancas te esperan para darte la bienvenida en este pequeño pueblo marinero. La belleza de su paisaje y el recorrido histórico entre sus edificaciones antiguas hacen del Cotillo un paseo extraordinario para recargar las energías.

Podrás pasearte entre el Castillo del Tostón, un fuerte que representó la seguridad del pueblo hace muchos años, su faro para luego explorar con un snorkel sus aguas, será una experiencia única.

Así que prepara el bañador y tu cámara fotográfica para recorrer El Cotillo.

8. Puerto del Rosario

¡Bienvenidos a la capital de Fuerteventura! Llegamos al motor y centro económico de la isla, es de esperar que te topes con grandes cruceros, un aeropuerto, así como hoteles de lujo y lugares para compras.

Pero esto logra combinarse perfectamente con un hermoso patrimonio histórico y cultural que sin duda enriquecerán tu visita a Puerto del Rosario.

No dejes de visitar sus blancas playas, el Museo de Unamuno, las esculturas del parque escultórico y muchos otros encantadores.

9. Caleta de Fuste

Si vas de paseo a Puerto del Rosario no puedes dejar de visitar Caleta de Fuste. Llegar a esta localidad paradisíaca es muy sencillo y solo te tomará unos 10 minutos desde el puerto. Con un aire más calmado, este pueblo ofrece lugares hermosos para disfrutar.

10. Ajuy

Pequeñas casas blancas con pinceladas azules que armonizan de manera perfecta con un mar azul profundo, es parte de lo que podrás experimentar al visitar Ajuy.

Este pueblito pintoresco de arquitectura tradicional ofrece atracciones muy interesantes para visitar, entre las que podemos mencionar: las cuevas y charcones así como sus hermosas playas. Una excursión que te recomendamos es visitar las cuevas de Ajuy, una ruta apta realizar con niños pequeños y que no debe de faltar en los 10 imprescinbibles de Fuerteventura.

cuevas de ajuy
Cuevas de Ajuy

Si buscas un viaje acogedor para disfrutar tus vacaciones, estees el indicado.

11. Gran Tarajal

1 kilómetro de playa blanca es lo que te espera al visitar este hermoso pueblo de Fuerteventura. Esta localidad ofrece muchos restaurantes donde probarás la gastronomía local, acompañada de un paseo adornado con las fachadas de casas y edificios construidos por diseñadores especialmente para el lugar.

También tendrás la oportunidad de conocer su principal atracción, la silueta de La Punta del Camellito.

12. Pájara

Pájara, es un pueblo que destaca por su rica historia y su patrimonio cultural. Con su iglesia blanca de Nuestra Señora de Regla como su símbolo más reconocido, Pájara es un lugar que evoca el encanto tradicional de las Islas Canarias. Los visitantes pueden pasear por sus calles empedradas y descubrir antiguas casas canarias bien conservadas.

Fuerteventura una experiencia inolvidable

Pronto nos despedimos de este maravilloso recorrido por los pueblos más bonitos de fuerteventura, no sin antes invitarte a que vivas la experiencia en primera clase. Te dejamos a continuación un mapa con los pueblos de Fuerteventura, para que puedas trazar la mejor ruta para visitarlos. Te recomendamos dividir la visita en 2. Por una lado visitar los Pueblos del Norte de Fuerteventura en 1 o 2 días y luego tomarte otras 2 / 3 días para conocer y recorrer los Pueblos del Sur de Fuerteventura.

Pueblos más bonitos de Fuerteventura

Si eres de los que te gusta combinar la playa y la naturaleza con visitas culturales y un poco de turismo visitar estos encantadores pueblos puede ser perfectamente un plan para añadir a nuestra Guía de qué ver en Fuerteventura en 3 días. Disfruta del colorido, arquitectura y hermosos paisajes que solo podrás disfrutar en este destino.

¡Hasta un próximo viaje!