/*! elementor - v3.24.0 - 10-09-2024 */
(self["webpackChunkelementor"] = self["webpackChunkelementor"] || []).push([["modules_nested-elements_assets_js_editor_nested-element-types-base_js"],{
/***/ "../modules/nested-elements/assets/js/editor/nested-element-types-base.js":
/*!********************************************************************************!*\
!*** ../modules/nested-elements/assets/js/editor/nested-element-types-base.js ***!
\********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.NestedElementTypesBase = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _view = _interopRequireDefault(__webpack_require__(/*! ./views/view */ "../modules/nested-elements/assets/js/editor/views/view.js"));
var _empty = _interopRequireDefault(__webpack_require__(/*! ./views/empty */ "../modules/nested-elements/assets/js/editor/views/empty.js"));
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
/**
* @typedef {import('../../../../../assets/dev/js/editor/elements/types/base/element-base')} ElementBase
*/
var NestedElementTypesBase = /*#__PURE__*/function (_elementor$modules$el) {
(0, _inherits2.default)(NestedElementTypesBase, _elementor$modules$el);
var _super = _createSuper(NestedElementTypesBase);
function NestedElementTypesBase() {
(0, _classCallCheck2.default)(this, NestedElementTypesBase);
return _super.apply(this, arguments);
}
(0, _createClass2.default)(NestedElementTypesBase, [{
key: "getType",
value: function getType() {
elementorModules.ForceMethodImplementation();
}
}, {
key: "getView",
value: function getView() {
return _view.default;
}
}, {
key: "getEmptyView",
value: function getEmptyView() {
return _empty.default;
}
}, {
key: "getModel",
value: function getModel() {
return $e.components.get('nested-elements/nested-repeater').exports.NestedModelBase;
}
}]);
return NestedElementTypesBase;
}(elementor.modules.elements.types.Base);
exports.NestedElementTypesBase = NestedElementTypesBase;
var _default = NestedElementTypesBase;
exports["default"] = _default;
/***/ }),
/***/ "../modules/nested-elements/assets/js/editor/views/add-section-area.js":
/*!*****************************************************************************!*\
!*** ../modules/nested-elements/assets/js/editor/views/add-section-area.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = AddSectionArea;
var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
/* eslint-disable jsx-a11y/click-events-have-key-events */
function AddSectionArea(props) {
var addAreaElementRef = (0, _react.useRef)(),
containerHelper = elementor.helpers.container;
// Make droppable area.
(0, _react.useEffect)(function () {
var $addAreaElementRef = jQuery(addAreaElementRef.current),
defaultDroppableOptions = props.container.view.getDroppableOptions();
// Make some adjustments to behave like 'AddSectionArea', use default droppable options from container element.
defaultDroppableOptions.placeholder = false;
defaultDroppableOptions.items = '> .elementor-add-section-inner';
defaultDroppableOptions.hasDraggingOnChildClass = 'elementor-dragging-on-child';
// Make element drop-able.
$addAreaElementRef.html5Droppable(defaultDroppableOptions);
// Cleanup.
return function () {
$addAreaElementRef.html5Droppable('destroy');
};
}, []);
return /*#__PURE__*/_react.default.createElement("div", {
className: "elementor-add-section",
onClick: function onClick() {
return containerHelper.openEditMode(props.container);
},
ref: addAreaElementRef,
role: "button",
tabIndex: "0"
}, /*#__PURE__*/_react.default.createElement("div", {
className: "elementor-add-section-inner"
}, /*#__PURE__*/_react.default.createElement("div", {
className: "e-view elementor-add-new-section"
}, /*#__PURE__*/_react.default.createElement("div", {
className: "elementor-add-section-area-button elementor-add-section-button",
onClick: function onClick() {
return props.setIsRenderPresets(true);
},
title: __('Add new container', 'elementor'),
role: "button",
tabIndex: "0"
}, /*#__PURE__*/_react.default.createElement("i", {
className: "eicon-plus"
})), /*#__PURE__*/_react.default.createElement("div", {
className: "elementor-add-section-drag-title"
}, __('Drag widgets here.', 'elementor')))));
}
AddSectionArea.propTypes = {
container: PropTypes.object.isRequired,
setIsRenderPresets: PropTypes.func.isRequired
};
/***/ }),
/***/ "../modules/nested-elements/assets/js/editor/views/empty.js":
/*!******************************************************************!*\
!*** ../modules/nested-elements/assets/js/editor/views/empty.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* 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"] = Empty;
var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
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 _addSectionArea = _interopRequireDefault(__webpack_require__(/*! ./add-section-area */ "../modules/nested-elements/assets/js/editor/views/add-section-area.js"));
var _selectPreset = _interopRequireDefault(__webpack_require__(/*! ./select-preset */ "../modules/nested-elements/assets/js/editor/views/select-preset.js"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function Empty(props) {
var _useState = (0, _react.useState)(false),
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
isRenderPresets = _useState2[0],
setIsRenderPresets = _useState2[1];
props = _objectSpread(_objectSpread({}, props), {}, {
setIsRenderPresets: setIsRenderPresets
});
return isRenderPresets ? /*#__PURE__*/_react.default.createElement(_selectPreset.default, props) : /*#__PURE__*/_react.default.createElement(_addSectionArea.default, props);
}
Empty.propTypes = {
container: PropTypes.object.isRequired
};
/***/ }),
/***/ "../modules/nested-elements/assets/js/editor/views/select-preset.js":
/*!**************************************************************************!*\
!*** ../modules/nested-elements/assets/js/editor/views/select-preset.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* 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"] = SelectPreset;
var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
/* eslint-disable jsx-a11y/click-events-have-key-events */
function SelectPreset(props) {
var containerHelper = elementor.helpers.container,
onPresetSelected = function onPresetSelected(preset, container) {
var options = {
createWrapper: false
};
// Create new one by selected preset.
containerHelper.createContainerFromPreset(preset, container, options);
};
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
className: "elementor-add-section-close"
}, /*#__PURE__*/_react.default.createElement("i", {
onClick: function onClick() {
return props.setIsRenderPresets(false);
},
className: "eicon-close",
"aria-hidden": "true"
}), /*#__PURE__*/_react.default.createElement("span", {
className: "elementor-screen-only"
}, __('Close', 'elementor'))), /*#__PURE__*/_react.default.createElement("div", {
className: "e-view e-con-select-preset"
}, /*#__PURE__*/_react.default.createElement("div", {
className: "e-con-select-preset__title"
}, __('Select your Structure', 'elementor')), /*#__PURE__*/_react.default.createElement("div", {
className: "e-con-select-preset__list"
}, elementor.presetsFactory.getContainerPresets().map(function (preset) {
return /*#__PURE__*/_react.default.createElement("div", {
onClick: function onClick() {
return onPresetSelected(preset, props.container);
},
key: preset,
className: "e-con-preset",
"data-preset": preset,
dangerouslySetInnerHTML: {
__html: elementor.presetsFactory.generateContainerPreset(preset)
},
role: "button",
tabIndex: "0"
});
}))));
}
SelectPreset.propTypes = {
container: PropTypes.object.isRequired,
setIsRenderPresets: PropTypes.func.isRequired
};
/***/ }),
/***/ "../modules/nested-elements/assets/js/editor/views/view.js":
/*!*****************************************************************!*\
!*** ../modules/nested-elements/assets/js/editor/views/view.js ***!
\*****************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.View = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
var View = /*#__PURE__*/function (_$e$components$get$ex) {
(0, _inherits2.default)(View, _$e$components$get$ex);
var _super = _createSuper(View);
function View() {
(0, _classCallCheck2.default)(this, View);
return _super.apply(this, arguments);
}
(0, _createClass2.default)(View, [{
key: "events",
value: function events() {
var _this = this;
var events = (0, _get2.default)((0, _getPrototypeOf2.default)(View.prototype), "events", this).call(this);
events.click = function (e) {
// If the clicked Nested Element is not within the currently edited document, don't do anything with it.
if (elementor.documents.currentDocument.id.toString() !== e.target.closest('.elementor').dataset.elementorId) {
return;
}
var closest = e.target.closest('.elementor-element');
var targetContainer = null;
// For clicks on container/widget.
if (['container', 'widget'].includes(closest === null || closest === void 0 ? void 0 : closest.dataset.element_type)) {
// eslint-disable-line camelcase
// In case the container empty, click should be handled by the EmptyView.
var container = elementor.getContainer(closest.dataset.id);
if (container.view.isEmpty()) {
return true;
}
// If not empty, open it.
targetContainer = container;
}
e.stopPropagation();
$e.run('document/elements/select', {
container: targetContainer || _this.getContainer()
});
};
return events;
}
/**
* Function renderHTML().
*
* The `renderHTML()` method is overridden as it causes redundant renders when removing focus from any nested element.
* This is because the original `renderHTML()` method sets `editModel.renderOnLeave = true;`.
*/
}, {
key: "renderHTML",
value: function renderHTML() {
var templateType = this.getTemplateType(),
editModel = this.getEditModel();
if ('js' === templateType) {
editModel.setHtmlCache();
this.render();
} else {
editModel.renderRemoteServer();
}
}
}]);
return View;
}($e.components.get('nested-elements/nested-repeater').exports.NestedViewBase);
exports.View = View;
var _default = View;
exports["default"] = _default;
/***/ }),
/***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js":
/*!***********************************************************************!*\
!*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
\***********************************************************************/
/***/ ((module) => {
function _assertThisInitialized(self) {
if (self === void 0) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}
return self;
}
module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ "../node_modules/@babel/runtime/helpers/defineProperty.js":
/*!****************************************************************!*\
!*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***!
\****************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
function _defineProperty(obj, key, value) {
key = toPropertyKey(key);
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ "../node_modules/@babel/runtime/helpers/get.js":
/*!*****************************************************!*\
!*** ../node_modules/@babel/runtime/helpers/get.js ***!
\*****************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
var superPropBase = __webpack_require__(/*! ./superPropBase.js */ "../node_modules/@babel/runtime/helpers/superPropBase.js");
function _get() {
if (typeof Reflect !== "undefined" && Reflect.get) {
module.exports = _get = Reflect.get.bind(), module.exports.__esModule = true, module.exports["default"] = module.exports;
} else {
module.exports = _get = function _get(target, property, receiver) {
var base = superPropBase(target, property);
if (!base) return;
var desc = Object.getOwnPropertyDescriptor(base, property);
if (desc.get) {
return desc.get.call(arguments.length < 3 ? target : receiver);
}
return desc.value;
}, module.exports.__esModule = true, module.exports["default"] = module.exports;
}
return _get.apply(this, arguments);
}
module.exports = _get, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js":
/*!****************************************************************!*\
!*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
\****************************************************************/
/***/ ((module) => {
function _getPrototypeOf(o) {
module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
return o.__proto__ || Object.getPrototypeOf(o);
}, module.exports.__esModule = true, module.exports["default"] = module.exports;
return _getPrototypeOf(o);
}
module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ "../node_modules/@babel/runtime/helpers/inherits.js":
/*!**********************************************************!*\
!*** ../node_modules/@babel/runtime/helpers/inherits.js ***!
\**********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js");
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function");
}
subClass.prototype = Object.create(superClass && superClass.prototype, {
constructor: {
value: subClass,
writable: true,
configurable: true
}
});
Object.defineProperty(subClass, "prototype", {
writable: false
});
if (superClass) setPrototypeOf(subClass, superClass);
}
module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
/*!***************************************************************************!*\
!*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
\***************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js");
function _possibleConstructorReturn(self, call) {
if (call && (_typeof(call) === "object" || typeof call === "function")) {
return call;
} else if (call !== void 0) {
throw new TypeError("Derived constructors may only return object or undefined");
}
return assertThisInitialized(self);
}
module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js":
/*!****************************************************************!*\
!*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
\****************************************************************/
/***/ ((module) => {
function _setPrototypeOf(o, p) {
module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
}, module.exports.__esModule = true, module.exports["default"] = module.exports;
return _setPrototypeOf(o, p);
}
module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ "../node_modules/@babel/runtime/helpers/superPropBase.js":
/*!***************************************************************!*\
!*** ../node_modules/@babel/runtime/helpers/superPropBase.js ***!
\***************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js");
function _superPropBase(object, property) {
while (!Object.prototype.hasOwnProperty.call(object, property)) {
object = getPrototypeOf(object);
if (object === null) break;
}
return object;
}
module.exports = _superPropBase, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ })
}]);
//# sourceMappingURL=bdd4030576f6a94a4f0d.bundle.js.map
FABRICA DE PORTONES GURAL - Fabrica 100% NACIONAL
Skip to content
Fabrica de portones automáticos y manuales FABRICACION NACIONAL 100% ARGENTINA
Fabrica de Portones Gural.
Realizamos trabajos especiales, trabajos con lectura de planos, Proyectos nuevos y Refacciones.
Portón Levadizo chapa decorativa Portón Levadizo automatico Frente integral de portones automáticos Portón corredizo Premium Portón automático Levadizo Porton levadizo Manual Portón corredizo automatizado Portón industrial Portón corredizo premium Portón automático con puerta pivot
PORTONES
Hay diferentes tipos de portones que pueden ser automatizados. En tanto, cada sistema de automatización estará en relación con el tipo de portón.
Así, encontramos:
Portones Levadizos
Portones Corredizos
Portones batientes
Portones Industriales
CARPINTERIA METALICA
Colaboramos con los principales estudios de arquitectura, empresas constructoras, Realizamos anteproyectos, asesoramiento técnico, diseño, ingeniería, fabricación, montaje y post venta..
Herrería de Obra
Refugios
Construcciones de frentes
Trabajaos Especiales( Planos o Idea)
AUTOMATIZACIONES
Trabajamos en la automatización de todo tipo de portones, garaje de diversas medidas : portones metálicos, portones de madera.
Trabajamos para casas particulares e industrias.
Portones Levadizos
Portones Corredizos
Portones batientes
Portones Industriales
SERVICIO TECNICO FABRICA DE PORTONES GURAL
Contamos con Técnicos especializados. Solucionamos todo tipo instalaciones buscando siempre la opción de mejor calidad y al precio más accesible. Contamos con personal experimentado que se dedica a resolver emergencias y al mantenimiento de nuevos portones.