/*! elementor - v3.24.0 - 01-10-2024 */
/*! For license information please see editor-modules.min.js.LICENSE.txt */
(()=>{var t={61909:(t,r,o)=>{"use strict";var i=o(38003).__,a=o(73203);Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var l=a(o(7501)),u=a(o(40131)),c=a(o(78983)),d=a(o(42081)),p=a(o(77266)),h=a(o(58724)),v=a(o(71173)),y=a(o(74910)),g=a(o(93231)),m=a(o(42618)),_=a(o(63225)),b=a(o(40871));function _createSuper(t){var r=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function _createSuperInternal(){var o,i=(0,y.default)(t);if(r){var a=(0,y.default)(this).constructor;o=Reflect.construct(i,arguments,a)}else o=i.apply(this,arguments);return(0,v.default)(this,o)}}var C=function(t){(0,h.default)(Container,t);var r=_createSuper(Container);function Container(t){var o;if((0,c.default)(this,Container),o=r.call(this,t),(0,g.default)((0,p.default)(o),"type",void 0),(0,g.default)((0,p.default)(o),"id",void 0),(0,g.default)((0,p.default)(o),"document",void 0),(0,g.default)((0,p.default)(o),"model",void 0),(0,g.default)((0,p.default)(o),"settings",void 0),(0,g.default)((0,p.default)(o),"view",void 0),(0,g.default)((0,p.default)(o),"parent",void 0),(0,g.default)((0,p.default)(o),"children",new b.default),(0,g.default)((0,p.default)(o),"dynamic",void 0),(0,g.default)((0,p.default)(o),"globals",void 0),(0,g.default)((0,p.default)(o),"label",void 0),(0,g.default)((0,p.default)(o),"controls",{}),(0,g.default)((0,p.default)(o),"repeaters",{}),(0,g.default)((0,p.default)(o),"renderer",void 0),(0,g.default)((0,p.default)(o),"panel",void 0),(0,g.default)((0,p.default)(o),"placeholders",{}),o.validateArgs(t),0===(t=Object.entries(t)).length)throw Error("Container cannot be empty.");return t.forEach((function(t){var r=(0,u.default)(t,2),i=r[0],a=r[1];o[i]=void 0===a?o[i]:a})),void 0===o.renderer&&(o.renderer=(0,p.default)(o)),o.document||(o.document=elementor.documents.getCurrent()),o.dynamic=new Backbone.Model(o.settings.get("__dynamic__")),o.globals=new Backbone.Model(o.settings.get("__globals__")),o.panel=new _.default((0,p.default)(o)),o.initialize(),o}return(0,d.default)(Container,[{key:"initialize",value:function initialize(){this.isViewElement()&&(this.addToParent(),this.handleChildrenRecursive(),this.view.on("destroy",this.removeFromParent.bind(this))),this.handleRepeaterChildren()}},{key:"validateArgs",value:function validateArgs(t){this.requireArgumentType("type","string",t),this.requireArgumentType("id","string",t),this.requireArgumentInstance("settings",Backbone.Model,t),this.requireArgumentInstance("model",Backbone.Model,t),!1!==t.parent&&this.requireArgumentInstance("parent",elementorModules.editor.Container,t)}},{key:"getGroupRelatedControls",value:function getGroupRelatedControls(t){var r=this,o={};return Object.keys(t).forEach((function(t){Object.values(r.controls).forEach((function(i){var a;if(t===i.name)o[i.name]=i;else if(null!==(a=r.controls[t])&&void 0!==a&&a.groupPrefix){var l=r.controls[t].groupPrefix;i.name.toString().startsWith(l)&&(o[i.name]=i)}}))})),o}},{key:"getAffectingControls",value:function getAffectingControls(){var t=this,r={},o=this.settings.getActiveControls();return Object.entries(o).forEach((function(o){var i,a=(0,u.default)(o,2),c=a[0],d=a[1],p=t.settings.get(d.name);if(d.global&&(null==p||!p.length)&&(null!==(i=t.globals.get(d.name))&&void 0!==i&&i.length||t.getGlobalDefault(c).length))return d.global.utilized=!0,void(r[c]=d);if(d.dynamic&&t.dynamic.get(c))return d.dynamic.utilized=!0,void(r[c]=d);p!==d.default&&p&&("object"===(0,l.default)(p)&&Object.values(p).join()===Object.values(d.default).join()||(r[c]=d))})),r}},{key:"getParentAncestry",value:function getParentAncestry(){for(varruntime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _wrapNativeSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/wrapNativeSuper */ "../node_modules/@babel/runtime/helpers/wrapNativeSuper.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; } }
// TODO: Copied from `assets/dev/js/modules/imports/force-method-implementation.js`;
var ForceMethodImplementation = /*#__PURE__*/function (_Error) {
(0, _inherits2.default)(ForceMethodImplementation, _Error);
var _super = _createSuper(ForceMethodImplementation);
function ForceMethodImplementation() {
var _this;
var info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
(0, _classCallCheck2.default)(this, ForceMethodImplementation);
_this = _super.call(this, "".concat(info.isStatic ? 'static ' : '').concat(info.fullName, "() should be implemented, please provide '").concat(info.functionName || info.fullName, "' functionality."));
Error.captureStackTrace((0, _assertThisInitialized2.default)(_this), ForceMethodImplementation);
return _this;
}
return (0, _createClass2.default)(ForceMethodImplementation);
}( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
exports.ForceMethodImplementation = ForceMethodImplementation;
var _default = function _default() {
var stack = Error().stack,
caller = stack.split('\n')[2].trim(),
callerName = caller.startsWith('at new') ? 'constructor' : caller.split(' ')[1],
info = {};
info.functionName = callerName;
info.fullName = callerName;
if (info.functionName.includes('.')) {
var parts = info.functionName.split('.');
info.className = parts[0];
info.functionName = parts[1];
} else {
info.isStatic = true;
}
throw new ForceMethodImplementation(info);
};
exports["default"] = _default;
/***/ }),
/***/ "../node_modules/redux-thunk/es/index.js":
/*!***********************************************!*\
!*** ../node_modules/redux-thunk/es/index.js ***!
\***********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/** A function that accepts a potential "extra argument" value to be injected later,
* and returns an instance of the thunk middleware that uses that value
*/
function createThunkMiddleware(extraArgument) {
// Standard Redux middleware definition pattern:
// See: https://redux.js.org/tutoria';
}
public function get_icon(): string {
return 'eicon-site-identity';
}
public function get_categories(): array {
return [ 'link-in-bio' ];
}
public function get_keywords(): array {
return [ 'buttons', 'bio', 'widget', 'link in bio' ];
}
public function get_image_position_options(): array {
return [
'' => esc_html__( 'Default', 'elementor' ),
'center center' => esc_html__( 'Center Center', 'elementor' ),
'center left' => esc_html__( 'Center Left', 'elementor' ),
'center right' => esc_html__( 'Center Right', 'elementor' ),
'top center' => esc_html__( 'Top Center', 'elementor' ),
'top left' => esc_html__( 'Top Left', 'elementor' ),
'top right' => esc_html__( 'Top Right', 'elementor' ),
'bottom center' => esc_html__( 'Bottom Center', 'elementor' ),
'bottom left' => esc_html__( 'Bottom Left', 'elementor' ),
'bottom right' => esc_html__( 'Bottom Right', 'elementor' ),
];
}
protected function register_controls(): void {
$this->add_content_tab();
$this->add_style_tab();
}
protected function render(): void {
$render_strategy = new Core_Render( $this );
$render_strategy->render();
}
protected function add_image_links_controls() {
$config = static::get_configuration();
if ( empty( $config['content']['image_links_section'] ) ) {
return;
}
$this->start_controls_section(
'image_links_section',
[
'label' => esc_html__( 'Image Links', 'elementor' ),
'tab' => Controls_Manager::TAB_CONTENT,
]
);
if ( ! empty( $config['content']['image_links_section']['images_max'] ) ) {
$this->add_control(
'image_links_alert',
[
'type' => Controls_Manager::ALERT,
'alert_type' => 'info',
'content' => sprintf(
__( 'Add up to %d Images', 'elementor' ),
$config['content']['image_links_section']['images_max']
),
]
);
}
$this->add_icons_per_row_control(
'image_links_per_row',
[
'1' => '1',
'2' => '2',
'3' => '3',
],
'2',
esc_html__( 'Images Per Row', 'elementor' ),
'--e-link-in-bio-image-links-columns',
);
$repeater = new Repeater();
$repeater->add_control(
'image_links_image',
[
'label' => esc_html__( 'Choose Image', 'elementor' ),
'type' => Controls_Manager::MEDIA,
'label_block' => true,
'default' => [
'url' => Utils::get_placeholder_image_src(),
],
]
);
$repeater->add_control(
'image_links_url',
[
'label' => esc_html__( 'Link', 'elementor' ),
'type' => Controls_Manager::URL,
'dynamic' => [
'active' => true,
],
'autocomplete' => true,
'label_block' => true,
'placeholder' => esc_html__( 'Paste URL or type', 'elementor' ),
'default' => [
'is_external' => true,
],
],
);
$this->add_control(
'image_links',
[
'type' => Controls_Manager::REPEATER,
'max_items' => $config['content']['image_links_section']['images_max'] ?? 0,
'fields' => $repeater->get_controls(),
'prevent_empty' => true,
'button_text' => esc_html__( 'Add item', 'elementor' ),
'default' => $config['content']['image_links_section']['images_repeater_defaults'] ?? [],
]
);
$this->end_controls_section();
}
protected function add_cta_controls() {
$config = static::get_configuration();
if ( empty( $config['content']['cta_section'] ) ) {
return;
}
$this->start_controls_section(
'cta_section',
[
'label' => esc_html__( 'CTA Link Buttons', 'elementor' ),
'tab' => Controls_Manager::TAB_CONTENT,
]
);
if ( ! empty( $config['content']['cta_section']['cta_max'] ) ) {
$this->add_control(
'cta_section_alert',
[
'type' => Controls_Manager::ALERT,
'alert_type' => 'info',
'content' => sprintf(
__( 'Add up to %d CTA links', 'elementor' ),
$config['content']['cta_section']['cta_max']
),
]
);
}
$repeater = new Repeater();
$repeater->add_control(
'cta_link_text',
[
'label' => esc_html__( 'Text', 'elementor' ),
'type' => Controls_Manager::TEXT,
'dynamic' => [
'active' => true,
],
'label_block' => true,
'default' => esc_html__( 'CTA link', 'elementor' ),
'placeholder' => esc_html__( 'Enter link text', 'elementor' ),
],
);
if ( $config['content']['cta_section']['cta_has_image'] ) {
$repeater->add_control(
'cta_link_image',
[
'label' => esc_html__( 'Choose Image', 'elementor' ),
'type' => Controls_Manager::MEDIA,
'label_block' => true,
'default' => [
'url' => Utils::get_placeholder_image_src(),
],
]
);
}
$repeater->add_control(
'cta_link_type',
[
'label' => esc_html__( 'Link Type', 'elementor' ),
'type' => Controls_Manager::SELECT,
'groups' => [
[
'label' => '',
'options' => Social_Network_Provider::get_social_networks_text(
[
Social_Network_Provider::URL,
Social_Network_Provider::FILE_DOWNLOAD,
]
),
],
[
'label' => ' --',
'options' => Social_Network_Provider::get_social_networks_text(
[
Social_Network_Provider::EMAIL,
Social_Network_Provider::TELEPHONE,
Social_Network_Provider::MESSENGER,
Social_Network_Provider::WAZE,
Social_Network_Provider::WHATSAPP,
]
),
],
],
'default' => Social_Network_Provider::URL,
],
);
$repeater->add_control(
'cta_link_file',
[
'label' => esc_html__( 'Choose File', 'elementor' ),
'type' => Controls_Manager::MEDIA,
'label_block' => true,
'media_type' => [ 'application/pdf' ],
'condition' => [
'cta_link_type' => [
Social_Network_Provider::FILE_DOWNLOAD,
],
],
'ai' => [
'active' => false,
],
],
);
$repeater->add_control(
'cta_link_url',
[
'label' => esc_html__( 'Link', 'elementor' ),
'type' => Controls_Manager::URL,
'dynamic' => [
'active' => true,
],
'autocomplete' => true,
'label_block' => true,
'condition' => [
'cta_link_type' => [
Social_Network_Provider::URL,
],
],
'placeholder' => esc_html__( 'Enter your link', 'elementor' ),
'default' => [
'is_external' => true,
],
],
);
$repeater->add_control(
'cta_link_mail',
[
'label' => esc_html__( 'Mail', 'elementor' ),
'type' => Controls_Manager::TEXT,
'dynamic' => [
'active' => true,
],
'label_block' => true,
'condition' => [
'cta_link_type' => [
Social_Network_Provider::EMAIL,
],
],
'placeholder' => esc_html__( 'Enter your email', 'elementor' ),
],
);
$repeater->add_control(
'cta_link_mail_subject',
[
'label' => esc_html__( 'Subject', 'elementor' ),
'type' => Controls_Manager::TEXT,
'dynamic' => [
'active' => true,
],
'label_block' => true,
'condition' => [
'cta_link_type' => [
Social_Network_Provider::EMAIL,
],
],
'placeholder' => esc_html__( 'Subject', 'elementor' ),
],
);
$repeater->add_control(
'cta_link_mail_body',
[
'label' => esc_html__( 'Message', 'elementor' ),
'type' => Controls_Manager::TEXTAREA,
'dynamic' => [
'active' => true,
],
'label_block' => true,
'condition' => [
'cta_link_type' => [
Social_Network_Provider::EMAIL,
],
],
'placeholder' => esc_html__( 'Message', 'elementor' ),
],
);
$repeater->add_control(
'cta_link_number',
[
'label' => esc_html__( 'Number', 'elementor' ),
'type' => Controls_Manager::TEXT,
'dynamic' => [
'active' => true,
],
'label_block' => true,
'condition' => [
'cta_link_type' => [
Social_Network_Provider::TELEPHONE,
Social_Network_Provider::WHATSAPP,
],
],
'placeholder' => esc_html__( 'Enter your number', 'elementor' ),
],
);
$repeater->add_control(
'cta_link_location',
[
'label' => esc_html__( 'Location', 'elemen
https://ofioto.co.za/wp-sitemap-posts-post-1.xmlhttps://ofioto.co.za/wp-sitemap-posts-page-1.xmlhttps://ofioto.co.za/wp-sitemap-taxonomies-category-1.xmlhttps://ofioto.co.za/wp-sitemap-users-1.xml