From 98ccfe6d65f916ffc8513dcd30d511617851699d Mon Sep 17 00:00:00 2001 From: Roman Pyrih Date: Wed, 15 Apr 2026 15:50:03 +0200 Subject: [PATCH] Save --- .vscode/ftp-kr.sync.cache.json | 370 +++++++++++ .../elementor-addon/assets/css/main.css | 1 + .../elementor-addon/assets/css/main.css.map | 1 + .../elementor-addon/assets/css/main.scss | 115 ++++ .../plugins/elementor-addon/assets/js/main.js | 5 + .../elementor-addon/elementor-addon.php | 60 ++ .../elementor-addon/widgets/review-box.php | 591 ++++++++++++++++++ .../modules/forms/classes/form-base.php | 1 + .../elementor/includes/widgets/icon-box.php | 8 +- .../themes/hello-elementor/assets/.DS_Store | Bin 0 -> 6148 bytes .../hello-elementor/assets/css/.DS_Store | Bin 0 -> 6148 bytes .../hello-elementor/assets/css/custom.css | 2 +- .../hello-elementor/assets/css/custom.css.map | 2 +- .../hello-elementor/assets/css/custom.scss | 100 +++ 14 files changed, 1251 insertions(+), 5 deletions(-) create mode 100644 .vscode/ftp-kr.sync.cache.json create mode 100644 wp-content/plugins/elementor-addon/assets/css/main.css create mode 100644 wp-content/plugins/elementor-addon/assets/css/main.css.map create mode 100644 wp-content/plugins/elementor-addon/assets/css/main.scss create mode 100644 wp-content/plugins/elementor-addon/assets/js/main.js create mode 100644 wp-content/plugins/elementor-addon/elementor-addon.php create mode 100644 wp-content/plugins/elementor-addon/widgets/review-box.php create mode 100644 wp-content/themes/hello-elementor/assets/.DS_Store create mode 100644 wp-content/themes/hello-elementor/assets/css/.DS_Store diff --git a/.vscode/ftp-kr.sync.cache.json b/.vscode/ftp-kr.sync.cache.json new file mode 100644 index 0000000..aa56afc --- /dev/null +++ b/.vscode/ftp-kr.sync.cache.json @@ -0,0 +1,370 @@ +{ + "ftp://www@sentip2.pagedev.pl@host117523.hostido.net.pl": { + "public_html": { + ".DS_Store": { + "type": "-", + "size": 6148, + "lmtime": 1776235252215.1208, + "modified": false + }, + ".htaccess": { + "type": "-", + "size": 523, + "lmtime": 0, + "modified": false + }, + "index.php": { + "type": "-", + "size": 405, + "lmtime": 0, + "modified": false + }, + "license.txt": { + "type": "-", + "size": 19519, + "lmtime": 0, + "modified": false + }, + "readme.html": { + "type": "-", + "size": 7425, + "lmtime": 0, + "modified": false + }, + "wp-activate.php": { + "type": "-", + "size": 7349, + "lmtime": 0, + "modified": false + }, + "wp-admin": {}, + "wp-blog-header.php": { + "type": "-", + "size": 351, + "lmtime": 0, + "modified": false + }, + "wp-comments-post.php": { + "type": "-", + "size": 2323, + "lmtime": 0, + "modified": false + }, + "wp-config.php": { + "type": "-", + "size": 3559, + "lmtime": 0, + "modified": false + }, + "wp-config-sample.php": { + "type": "-", + "size": 3237, + "lmtime": 0, + "modified": false + }, + "wp-content": { + "themes": { + "hello-elementor": { + "assets": { + "css": { + "custom.css": { + "type": "-", + "size": 1790, + "lmtime": 1776169592604.5544, + "modified": false + }, + "custom.css.map": { + "type": "-", + "size": 639, + "lmtime": 1776169592604.5908, + "modified": false + }, + "customizer.asset.php": { + "type": "-", + "size": 84, + "lmtime": 0, + "modified": false + }, + "customizer.css": { + "type": "-", + "size": 1263, + "lmtime": 0, + "modified": false + }, + "customizer-rtl.css": { + "type": "-", + "size": 1264, + "lmtime": 0, + "modified": false + }, + "custom.scss": { + "type": "-", + "size": 1878, + "lmtime": 1776169592512.9944, + "modified": false + }, + "editor.asset.php": { + "type": "-", + "size": 84, + "lmtime": 0, + "modified": false + }, + "editor.css": { + "type": "-", + "size": 260, + "lmtime": 0, + "modified": false + }, + "editor-rtl.css": { + "type": "-", + "size": 260, + "lmtime": 0, + "modified": false + }, + "editor-styles.asset.php": { + "type": "-", + "size": 84, + "lmtime": 0, + "modified": false + }, + "editor-styles.css": { + "type": "-", + "size": 564, + "lmtime": 0, + "modified": false + }, + "editor-styles-rtl.css": { + "type": "-", + "size": 564, + "lmtime": 0, + "modified": false + }, + "header-footer.asset.php": { + "type": "-", + "size": 84, + "lmtime": 0, + "modified": false + }, + "header-footer.css": { + "type": "-", + "size": 7182, + "lmtime": 0, + "modified": false + }, + "header-footer-rtl.css": { + "type": "-", + "size": 7184, + "lmtime": 0, + "modified": false + }, + "reset.asset.php": { + "type": "-", + "size": 84, + "lmtime": 0, + "modified": false + }, + "reset.css": { + "type": "-", + "size": 5456, + "lmtime": 0, + "modified": false + }, + "reset-rtl.css": { + "type": "-", + "size": 5456, + "lmtime": 0, + "modified": false + }, + "theme.asset.php": { + "type": "-", + "size": 84, + "lmtime": 0, + "modified": false + }, + "theme.css": { + "type": "-", + "size": 5097, + "lmtime": 0, + "modified": false + }, + "theme-rtl.css": { + "type": "-", + "size": 5100, + "lmtime": 0, + "modified": false + } + } + }, + "comments.php": { + "type": "-", + "size": 1489, + "lmtime": 0, + "modified": false + }, + "footer.php": { + "type": "-", + "size": 615, + "lmtime": 0, + "modified": false + }, + "functions.php": { + "type": "-", + "size": 8521, + "lmtime": 1775823199224.245, + "modified": false + }, + "header.php": { + "type": "-", + "size": 1458, + "lmtime": 0, + "modified": false + }, + "includes": {}, + "index.php": { + "type": "-", + "size": 999, + "lmtime": 0, + "modified": false + }, + "modules": {}, + "readme.txt": { + "type": "-", + "size": 16821, + "lmtime": 0, + "modified": false + }, + "screenshot.png": { + "type": "-", + "size": 110816, + "lmtime": 0, + "modified": false + }, + "sidebar.php": { + "type": "-", + "size": 270, + "lmtime": 0, + "modified": false + }, + "style.css": { + "type": "-", + "size": 1215, + "lmtime": 0, + "modified": false + }, + "template-parts": {}, + "theme.json": { + "type": "-", + "size": 533, + "lmtime": 0, + "modified": false + }, + "theme.php": { + "type": "-", + "size": 4109, + "lmtime": 0, + "modified": false + }, + "vendor": {} + } + }, + "plugins": { + "elementor-addon": { + "assets": { + "css": { + "main.css": { + "type": "-", + "size": 36, + "lmtime": 1776235203401.244, + "modified": false + }, + "main.css.map": { + "type": "-", + "size": 69, + "lmtime": 1776235203401.1975, + "modified": false + }, + "main.scss": { + "type": "-", + "size": 0, + "lmtime": 1776235185449.6433, + "modified": true + } + }, + "js": { + "main.js": { + "type": "-", + "size": 0, + "lmtime": 0, + "modified": false + } + } + }, + "elementor-addon.php": { + "type": "-", + "size": 1731, + "lmtime": 1776235185450.7773, + "modified": false + }, + "widgets": {} + } + } + }, + "wp-cron.php": { + "type": "-", + "size": 5617, + "lmtime": 0, + "modified": false + }, + "wp-includes": {}, + "wp-links-opml.php": { + "type": "-", + "size": 2493, + "lmtime": 0, + "modified": false + }, + "wp-load.php": { + "type": "-", + "size": 3937, + "lmtime": 0, + "modified": false + }, + "wp-login.php": { + "type": "-", + "size": 51437, + "lmtime": 0, + "modified": false + }, + "wp-mail.php": { + "type": "-", + "size": 8727, + "lmtime": 0, + "modified": false + }, + "wp-settings.php": { + "type": "-", + "size": 31055, + "lmtime": 0, + "modified": false + }, + "wp-signup.php": { + "type": "-", + "size": 34516, + "lmtime": 0, + "modified": false + }, + "wp-trackback.php": { + "type": "-", + "size": 5214, + "lmtime": 0, + "modified": false + }, + "xmlrpc.php": { + "type": "-", + "size": 3205, + "lmtime": 0, + "modified": false + } + } + }, + "$version": 1 +} \ No newline at end of file diff --git a/wp-content/plugins/elementor-addon/assets/css/main.css b/wp-content/plugins/elementor-addon/assets/css/main.css new file mode 100644 index 0000000..a231bcb --- /dev/null +++ b/wp-content/plugins/elementor-addon/assets/css/main.css @@ -0,0 +1 @@ +.elementor-review-box{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:42px 48px;background:#fff;border:1px solid #e2e4e9;border-radius:28px;box-shadow:0 4px 14px rgba(16,24,40,.06);overflow:hidden;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1)}.elementor-review-box:hover{border-color:rgba(238,43,140,.2) !important;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}.elementor-review-box__top{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.elementor-review-box__stars{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;line-height:1}.elementor-review-box__star{font-size:28px;line-height:1;color:#f4c214;display:inline-flex}.elementor-review-box__quote{opacity:.6}.elementor-review-box__quote svg{position:absolute;top:16px;right:16px;width:48px;height:48px;line-height:1;color:#f6d6e6;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.elementor-review-box__content{width:100%}.elementor-review-box__text{font-size:24px;line-height:1.55;font-weight:400;color:#222b3a;letter-spacing:-0.01em;word-break:break-word}.elementor-review-box__footer{width:100%;display:flex;align-items:center;gap:20px}.elementor-review-box__avatar{border-radius:50%;background:#f6d6e6;color:#e23d94;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-size:28px;font-weight:700;line-height:1;text-transform:uppercase}.elementor-review-box__author{display:flex;flex-direction:column;gap:4px;min-width:0}.elementor-review-box__name{font-size:24px;line-height:1.2;font-weight:700;color:#1f2737;word-break:break-word}.elementor-review-box__location{font-size:18px;line-height:1.35;font-weight:400;color:#667085;word-break:break-word}/*# sourceMappingURL=main.css.map */ \ No newline at end of file diff --git a/wp-content/plugins/elementor-addon/assets/css/main.css.map b/wp-content/plugins/elementor-addon/assets/css/main.css.map new file mode 100644 index 0000000..625b90c --- /dev/null +++ b/wp-content/plugins/elementor-addon/assets/css/main.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["main.scss"],"names":[],"mappings":"AAAA,sBACC,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,iBAAA,CACA,eAAA,CACA,wBAAA,CACA,kBAAA,CACA,wCAAA,CACA,eAAA,CACA,+CAAA,CAEA,4BACC,2CAAA,CACA,wEAAA,CAID,2BACC,UAAA,CACA,YAAA,CACA,sBAAA,CACA,6BAAA,CACA,QAAA,CACA,kBAAA,CAGD,6BACC,mBAAA,CACA,kBAAA,CACA,cAAA,CACA,OAAA,CACA,aAAA,CAGD,4BACC,cAAA,CACA,aAAA,CACA,aAAA,CACA,mBAAA,CAGD,6BACC,UAAA,CACA,iCACC,iBAAA,CACA,QAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,aAAA,CACA,aAAA,CACA,mBAAA,CACA,wBAAA,CAAA,qBAAA,CAAA,gBAAA,CAIF,+BACC,UAAA,CAGD,4BACC,cAAA,CACA,gBAAA,CACA,eAAA,CACA,aAAA,CACA,sBAAA,CACA,qBAAA,CAGD,8BACC,UAAA,CACA,YAAA,CACA,kBAAA,CACA,QAAA,CAGD,8BACC,iBAAA,CACA,kBAAA,CACA,aAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,iBAAA,CACA,cAAA,CACA,eAAA,CACA,aAAA,CACA,wBAAA,CAGD,8BACC,YAAA,CACA,qBAAA,CACA,OAAA,CACA,WAAA,CAGD,4BACC,cAAA,CACA,eAAA,CACA,eAAA,CACA,aAAA,CACA,qBAAA,CAGD,gCACC,cAAA,CACA,gBAAA,CACA,eAAA,CACA,aAAA,CACA,qBAAA","file":"main.css"} \ No newline at end of file diff --git a/wp-content/plugins/elementor-addon/assets/css/main.scss b/wp-content/plugins/elementor-addon/assets/css/main.scss new file mode 100644 index 0000000..635778e --- /dev/null +++ b/wp-content/plugins/elementor-addon/assets/css/main.scss @@ -0,0 +1,115 @@ +.elementor-review-box { + position: relative; + display: flex; + flex-direction: column; + justify-content: space-between; + padding: 42px 48px; + background: #fff; + border: 1px solid #e2e4e9; + border-radius: 28px; + box-shadow: 0 4px 14px rgba(16, 24, 40, 0.06); + overflow: hidden; + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + + &:hover { + border-color: #ee2b8c33 !important; + box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), + 0 4px 6px -4px rgb(0 0 0 / 0.1); + } + + &__top { + width: 100%; + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 20px; + margin-bottom: 16px; + } + + &__stars { + display: inline-flex; + align-items: center; + flex-wrap: wrap; + gap: 8px; + line-height: 1; + } + + &__star { + font-size: 28px; + line-height: 1; + color: #f4c214; + display: inline-flex; + } + + &__quote { + opacity: 0.6; + svg { + position: absolute; + top: 16px; + right: 16px; + width: 48px; + height: 48px; + line-height: 1; + color: #f6d6e6; + pointer-events: none; + user-select: none; + } + } + + &__content { + width: 100%; + } + + &__text { + font-size: 24px; + line-height: 1.55; + font-weight: 400; + color: #222b3a; + letter-spacing: -0.01em; + word-break: break-word; + } + + &__footer { + width: 100%; + display: flex; + align-items: center; + gap: 20px; + } + + &__avatar { + border-radius: 50%; + background: #f6d6e6; + color: #e23d94; + display: inline-flex; + align-items: center; + justify-content: center; + text-align: center; + font-size: 28px; + font-weight: 700; + line-height: 1; + text-transform: uppercase; + } + + &__author { + display: flex; + flex-direction: column; + gap: 4px; + min-width: 0; + } + + &__name { + font-size: 24px; + line-height: 1.2; + font-weight: 700; + color: #1f2737; + word-break: break-word; + } + + &__location { + font-size: 18px; + line-height: 1.35; + font-weight: 400; + color: #667085; + word-break: break-word; + } +} diff --git a/wp-content/plugins/elementor-addon/assets/js/main.js b/wp-content/plugins/elementor-addon/assets/js/main.js new file mode 100644 index 0000000..8ee3755 --- /dev/null +++ b/wp-content/plugins/elementor-addon/assets/js/main.js @@ -0,0 +1,5 @@ +jQuery(document).ready(function ($) { + $(window).on('scroll', function () { + $('#header-box').toggleClass('box-fixed', $(this).scrollTop() > 0); + }); +}); \ No newline at end of file diff --git a/wp-content/plugins/elementor-addon/elementor-addon.php b/wp-content/plugins/elementor-addon/elementor-addon.php new file mode 100644 index 0000000..dd990e7 --- /dev/null +++ b/wp-content/plugins/elementor-addon/elementor-addon.php @@ -0,0 +1,60 @@ +register( new \Elementor_Review_Box() ); +} +add_action( 'elementor/widgets/register', 'register_hello_world_widget' ); + +/** + * Register scripts/styles only. + * Do not enqueue them globally. + */ +function elementor_addon_register_assets() { + $css_path = plugin_dir_path( __FILE__ ) . 'assets/css/main.css'; + $css_url = plugin_dir_url( __FILE__ ) . 'assets/css/main.css'; + $css_ver = file_exists( $css_path ) ? filemtime( $css_path ) : '1.0.0'; + + $js_path = plugin_dir_path( __FILE__ ) . 'assets/js/main.js'; + $js_url = plugin_dir_url( __FILE__ ) . 'assets/js/main.js'; + $js_ver = file_exists( $js_path ) ? filemtime( $js_path ) : '1.0.0'; + + // Widget CSS + wp_register_style( + 'elementor-addon-main-css', + $css_url, + [], + $css_ver + ); + + // Widget JS + wp_register_script( + 'elementor-addon-main-js', + $js_url, + [ 'jquery' ], + $js_ver, + true + ); +} +add_action( 'elementor/frontend/after_register_styles', 'elementor_addon_register_assets' ); +add_action( 'elementor/frontend/after_register_scripts', 'elementor_addon_register_assets' ); diff --git a/wp-content/plugins/elementor-addon/widgets/review-box.php b/wp-content/plugins/elementor-addon/widgets/review-box.php new file mode 100644 index 0000000..19a61b8 --- /dev/null +++ b/wp-content/plugins/elementor-addon/widgets/review-box.php @@ -0,0 +1,591 @@ +start_controls_section( + 'section_content', + [ + 'label' => esc_html__('Content', 'elementor-addon'), + 'tab' => Controls_Manager::TAB_CONTENT, + ] + ); + + $this->add_control( + 'rating', + [ + 'label' => esc_html__('Rating', 'elementor-addon'), + 'type' => Controls_Manager::SELECT, + 'default' => '5', + 'options' => [ + '0' => '0', + '1' => '1', + '2' => '2', + '3' => '3', + '4' => '4', + '5' => '5', + ], + ] + ); + + $this->add_control( + 'review_text', + [ + 'label' => esc_html__('Review Text', 'elementor-addon'), + 'type' => Controls_Manager::TEXTAREA, + 'rows' => 6, + 'default' => '"Uitstekend schilderwerk! Het team was professioneel, punctueel en het eindresultaat is prachtig. Ons hele huis ziet er weer als nieuw uit."', + ] + ); + + $this->add_control( + 'author_name', + [ + 'label' => esc_html__('Author Name', 'elementor-addon'), + 'type' => Controls_Manager::TEXT, + 'default' => 'Peter de Vries', + ] + ); + + $this->add_control( + 'author_location', + [ + 'label' => esc_html__('Location', 'elementor-addon'), + 'type' => Controls_Manager::TEXT, + 'default' => 'Amsterdam', + ] + ); + + $this->add_control( + 'author_initials', + [ + 'label' => esc_html__('Initials', 'elementor-addon'), + 'type' => Controls_Manager::TEXT, + 'default' => 'PV', + 'description' => esc_html__('Displayed inside the circle avatar.', 'elementor-addon'), + ] + ); + + $this->add_control( + 'show_quote_icon', + [ + 'label' => esc_html__('Show Quote Icon', 'elementor-addon'), + 'type' => Controls_Manager::SWITCHER, + 'label_on' => esc_html__('Show', 'elementor-addon'), + 'label_off' => esc_html__('Hide', 'elementor-addon'), + 'return_value' => 'yes', + 'default' => 'yes', + ] + ); + + $this->end_controls_section(); + + $this->start_controls_section( + 'section_box_style', + [ + 'label' => esc_html__('Box', 'elementor-addon'), + 'tab' => Controls_Manager::TAB_STYLE, + ] + ); + + $this->add_control( + 'box_bg_color', + [ + 'label' => esc_html__('Background Color', 'elementor-addon'), + 'type' => Controls_Manager::COLOR, + 'default' => '#FFFFFF', + 'selectors' => [ + '{{WRAPPER}} .elementor-review-box' => 'background-color: {{VALUE}};', + ], + ] + ); + + $this->add_control( + 'box_border_color', + [ + 'label' => esc_html__('Border Color', 'elementor-addon'), + 'type' => Controls_Manager::COLOR, + 'default' => '#EAEAEA', + 'selectors' => [ + '{{WRAPPER}} .elementor-review-box' => 'border-color: {{VALUE}};', + ], + ] + ); + + $this->add_responsive_control( + 'box_border_radius', + [ + 'label' => esc_html__('Border Radius', 'elementor-addon'), + 'type' => Controls_Manager::DIMENSIONS, + 'size_units' => ['px', '%', 'em', 'rem'], + 'default' => [ + 'top' => 28, + 'right' => 28, + 'bottom' => 28, + 'left' => 28, + 'unit' => 'px', + ], + 'selectors' => [ + '{{WRAPPER}} .elementor-review-box' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', + ], + ] + ); + + $this->add_responsive_control( + 'box_padding', + [ + 'label' => esc_html__('Padding', 'elementor-addon'), + 'type' => Controls_Manager::DIMENSIONS, + 'size_units' => ['px', '%', 'em', 'rem'], + 'default' => [ + 'top' => 42, + 'right' => 48, + 'bottom' => 42, + 'left' => 48, + 'unit' => 'px', + ], + 'selectors' => [ + '{{WRAPPER}} .elementor-review-box' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', + ], + ] + ); + + $this->add_responsive_control( + 'box_min_height', + [ + 'label' => esc_html__('Min Height', 'elementor-addon'), + 'type' => Controls_Manager::SLIDER, + 'size_units' => ['px'], + 'range' => [ + 'px' => [ + 'min' => 150, + 'max' => 800, + ], + ], + 'default' => [ + 'size' => 360, + 'unit' => 'px', + ], + 'selectors' => [ + '{{WRAPPER}} .elementor-review-box' => 'min-height: {{SIZE}}{{UNIT}};', + ], + ] + ); + + $this->add_group_control( + Group_Control_Border::get_type(), + [ + 'name' => 'box_border', + 'selector' => '{{WRAPPER}} .elementor-review-box', + ] + ); + + $this->add_group_control( + Group_Control_Box_Shadow::get_type(), + [ + 'name' => 'box_shadow', + 'selector' => '{{WRAPPER}} .elementor-review-box', + ] + ); + + $this->end_controls_section(); + + $this->start_controls_section( + 'section_stars_style', + [ + 'label' => esc_html__('Stars', 'elementor-addon'), + 'tab' => Controls_Manager::TAB_STYLE, + ] + ); + + $this->add_control( + 'stars_color', + [ + 'label' => esc_html__('Stars Color', 'elementor-addon'), + 'type' => Controls_Manager::COLOR, + 'default' => '#F4C214', + 'selectors' => [ + '{{WRAPPER}} .elementor-review-box__star' => 'color: {{VALUE}};', + '{{WRAPPER}} .elementor-review-box__star svg' => 'fill: {{VALUE}};', + ], + ] + ); + + $this->add_responsive_control( + 'stars_size', + [ + 'label' => esc_html__('Size', 'elementor-addon'), + 'type' => Controls_Manager::SLIDER, + 'size_units' => ['px'], + 'range' => [ + 'px' => [ + 'min' => 10, + 'max' => 50, + ], + ], + 'default' => [ + 'size' => 28, + 'unit' => 'px', + ], + 'selectors' => [ + '{{WRAPPER}} .elementor-review-box__star' => 'font-size: {{SIZE}}{{UNIT}}; width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};', + ], + ] + ); + + $this->add_responsive_control( + 'stars_gap', + [ + 'label' => esc_html__('Gap', 'elementor-addon'), + 'type' => Controls_Manager::SLIDER, + 'size_units' => ['px'], + 'range' => [ + 'px' => [ + 'min' => 0, + 'max' => 20, + ], + ], + 'default' => [ + 'size' => 8, + 'unit' => 'px', + ], + 'selectors' => [ + '{{WRAPPER}} .elementor-review-box__stars' => 'gap: {{SIZE}}{{UNIT}};', + ], + ] + ); + + $this->end_controls_section(); + + $this->start_controls_section( + 'section_text_style', + [ + 'label' => esc_html__('Review Text', 'elementor-addon'), + 'tab' => Controls_Manager::TAB_STYLE, + ] + ); + + $this->add_control( + 'review_text_color', + [ + 'label' => esc_html__('Color', 'elementor-addon'), + 'type' => Controls_Manager::COLOR, + 'default' => '#222B3A', + 'selectors' => [ + '{{WRAPPER}} .elementor-review-box__text' => 'color: {{VALUE}};', + ], + ] + ); + + $this->add_group_control( + Group_Control_Typography::get_type(), + [ + 'name' => 'review_text_typography', + 'selector' => '{{WRAPPER}} .elementor-review-box__text', + ] + ); + + $this->add_responsive_control( + 'review_text_spacing', + [ + 'label' => esc_html__('Bottom Spacing', 'elementor-addon'), + 'type' => Controls_Manager::SLIDER, + 'size_units' => ['px'], + 'range' => [ + 'px' => [ + 'min' => 0, + 'max' => 100, + ], + ], + 'default' => [ + 'size' => 34, + 'unit' => 'px', + ], + 'selectors' => [ + '{{WRAPPER}} .elementor-review-box__content' => 'margin-bottom: {{SIZE}}{{UNIT}};', + ], + ] + ); + + $this->end_controls_section(); + + $this->start_controls_section( + 'section_author_style', + [ + 'label' => esc_html__('Author', 'elementor-addon'), + 'tab' => Controls_Manager::TAB_STYLE, + ] + ); + + $this->add_control( + 'author_name_color', + [ + 'label' => esc_html__('Name Color', 'elementor-addon'), + 'type' => Controls_Manager::COLOR, + 'default' => '#1F2737', + 'selectors' => [ + '{{WRAPPER}} .elementor-review-box__name' => 'color: {{VALUE}};', + ], + ] + ); + + $this->add_group_control( + Group_Control_Typography::get_type(), + [ + 'name' => 'author_name_typography', + 'selector' => '{{WRAPPER}} .elementor-review-box__name', + ] + ); + + $this->add_control( + 'author_location_color', + [ + 'label' => esc_html__('Location Color', 'elementor-addon'), + 'type' => Controls_Manager::COLOR, + 'default' => '#667085', + 'selectors' => [ + '{{WRAPPER}} .elementor-review-box__location' => 'color: {{VALUE}};', + ], + ] + ); + + $this->add_group_control( + Group_Control_Typography::get_type(), + [ + 'name' => 'author_location_typography', + 'selector' => '{{WRAPPER}} .elementor-review-box__location', + ] + ); + + $this->add_responsive_control( + 'author_gap', + [ + 'label' => esc_html__('Author Gap', 'elementor-addon'), + 'type' => Controls_Manager::SLIDER, + 'size_units' => ['px'], + 'range' => [ + 'px' => [ + 'min' => 0, + 'max' => 40, + ], + ], + 'default' => [ + 'size' => 20, + 'unit' => 'px', + ], + 'selectors' => [ + '{{WRAPPER}} .elementor-review-box__footer' => 'gap: {{SIZE}}{{UNIT}};', + ], + ] + ); + + $this->end_controls_section(); + + $this->start_controls_section( + 'section_avatar_style', + [ + 'label' => esc_html__('Avatar Circle', 'elementor-addon'), + 'tab' => Controls_Manager::TAB_STYLE, + ] + ); + + $this->add_control( + 'avatar_bg_color', + [ + 'label' => esc_html__('Background Color', 'elementor-addon'), + 'type' => Controls_Manager::COLOR, + 'default' => '#F6D6E6', + 'selectors' => [ + '{{WRAPPER}} .elementor-review-box__avatar' => 'background-color: {{VALUE}};', + ], + ] + ); + + $this->add_control( + 'avatar_text_color', + [ + 'label' => esc_html__('Text Color', 'elementor-addon'), + 'type' => Controls_Manager::COLOR, + 'default' => '#E23D94', + 'selectors' => [ + '{{WRAPPER}} .elementor-review-box__avatar' => 'color: {{VALUE}};', + ], + ] + ); + + $this->add_group_control( + Group_Control_Typography::get_type(), + [ + 'name' => 'avatar_typography', + 'selector' => '{{WRAPPER}} .elementor-review-box__avatar', + ] + ); + + $this->add_responsive_control( + 'avatar_size', + [ + 'label' => esc_html__('Size', 'elementor-addon'), + 'type' => Controls_Manager::SLIDER, + 'size_units' => ['px'], + 'range' => [ + 'px' => [ + 'min' => 40, + 'max' => 160, + ], + ], + 'default' => [ + 'size' => 96, + 'unit' => 'px', + ], + 'selectors' => [ + '{{WRAPPER}} .elementor-review-box__avatar' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}}; min-width: {{SIZE}}{{UNIT}};', + ], + ] + ); + + $this->end_controls_section(); + + $this->start_controls_section( + 'section_quote_style', + [ + 'label' => esc_html__('Quote Icon', 'elementor-addon'), + 'tab' => Controls_Manager::TAB_STYLE, + 'condition' => [ + 'show_quote_icon' => 'yes', + ], + ] + ); + + $this->add_control( + 'quote_color', + [ + 'label' => esc_html__('Color', 'elementor-addon'), + 'type' => Controls_Manager::COLOR, + 'default' => '#F6D6E6', + 'selectors' => [ + '{{WRAPPER}} .elementor-review-box__quote' => 'color: {{VALUE}};', + ], + ] + ); + + $this->add_responsive_control( + 'quote_size', + [ + 'label' => esc_html__('Size', 'elementor-addon'), + 'type' => Controls_Manager::SLIDER, + 'size_units' => ['px'], + 'range' => [ + 'px' => [ + 'min' => 20, + 'max' => 120, + ], + ], + 'default' => [ + 'size' => 84, + 'unit' => 'px', + ], + 'selectors' => [ + '{{WRAPPER}} .elementor-review-box__quote' => 'font-size: {{SIZE}}{{UNIT}};', + ], + ] + ); + + $this->end_controls_section(); + } + + protected function render_stars($rating = 5) { + $rating = max(0, min(5, absint($rating))); + + for ($i = 0; $i < $rating; $i++) { + echo ''; + } + } + + protected function render() { + $settings = $this->get_settings_for_display(); + + $rating = isset($settings['rating']) ? absint($settings['rating']) : 5; + $review_text = !empty($settings['review_text']) ? $settings['review_text'] : ''; + $author_name = !empty($settings['author_name']) ? $settings['author_name'] : ''; + $author_location = !empty($settings['author_location']) ? $settings['author_location'] : ''; + $author_initials = !empty($settings['author_initials']) ? $settings['author_initials'] : ''; + $show_quote_icon = !empty($settings['show_quote_icon']) && $settings['show_quote_icon'] === 'yes'; + ?> +
+
+ 0) : ?> +
+ render_stars($rating); ?> +
+ + + + + +
+ +
+
+
+ + +
+ [ diff --git a/wp-content/plugins/elementor/includes/widgets/icon-box.php b/wp-content/plugins/elementor/includes/widgets/icon-box.php index 29f64c8..3f87328 100644 --- a/wp-content/plugins/elementor/includes/widgets/icon-box.php +++ b/wp-content/plugins/elementor/includes/widgets/icon-box.php @@ -872,9 +872,11 @@ class Widget_Icon_Box extends Widget_Base { -

print_render_attribute_string( 'description_text' ); ?>> - -

+

print_render_attribute_string( 'description_text' ); ?>> + < print_render_attribute_string( 'link' ); ?> print_render_attribute_string( 'title_text' ); ?>> + + > +

diff --git a/wp-content/themes/hello-elementor/assets/.DS_Store b/wp-content/themes/hello-elementor/assets/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..131ef25a5cccfd688dd29cc82781cbf65ae95258 GIT binary patch literal 6148 zcmeHK-AcnS6i(c98AIrW!Y%{e4xFVr|CS*^4pgwZ4!~;`4Y; zl7hoti@0+j`Oa_Be9-(b#`tg^9WdrF#soA(j!KQ7yEe38lMy+Nkxj!yg-Kx{XmGgf$;HV4boba@ zF56;vZ~ydS{G7a`>dnx}fo(0@7AtrM#jfVnpQVXPAHh>)S6PI_05L!e5CiMYfISyP zXT52l)e{56Kn(-9KS*eZp2gCj-a4Se>odlih$x`rTLMv9^emPJAp*ipDWECk_KCqw zIryc`^DLGIO*!LwW*EoLTs>a6o*n#Br!(#uq@EZc238qp7}LS?{~Ugq+DHCs30cGd zG4RhA;LVXg8p5LN+4^I7c-Bg2_s~!X7GIEDho)=-1_d ObP>>mP)7{>0s~*_1xbPc literal 0 HcmV?d00001 diff --git a/wp-content/themes/hello-elementor/assets/css/.DS_Store b/wp-content/themes/hello-elementor/assets/css/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0.e-con-inner{padding-top:12px;padding-bottom:12px}#header-box>.e-con-inner{transition:all .3s cubic-bezier(0.4, 0, 0.2, 1)}/*# sourceMappingURL=custom.css.map */ \ No newline at end of file diff --git a/wp-content/themes/hello-elementor/assets/css/custom.css.map b/wp-content/themes/hello-elementor/assets/css/custom.css.map index 2d47da7..c6f01ac 100644 --- a/wp-content/themes/hello-elementor/assets/css/custom.css.map +++ b/wp-content/themes/hello-elementor/assets/css/custom.css.map @@ -1 +1 @@ -{"version":3,"sources":["custom.scss"],"names":[],"mappings":"AACC,aACC,eAAA,CAKD,sCACC,oBAAA,CAAA,eAAA,CAGD,sCACC,aAAA,CACA,uBAAA,CACA,oBAAA,CACA,8BAAA,CAED,gBACC,mBAAA,CAEA,qBACC,cAAA,CAIF,sCACC,yBAAA,CAEA,aAAA,CACA,iBAAA,CACA,eAAA,CACA,0BAAA,CACA,uBAAA,CAIF,kBACC,iBAAA,CACA,+CAAA,CAEA,0BACC,UAAA,CACA,iBAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,SAAA,CACA,sFAAA,CAKA,+CAAA,CAED,wBACC,2CAAA,CACA,6GAAA,CAEA,8BAAA,CAEA,gCACC,SAAA,CAIA,oDACC,oBAAA,CAID,mFACC,QAAA,CAKH,0CACC,iBAAA,CACA,eAAA,CACA,oBAAA,CAEA,8CACC,+CAAA,CAKD,6EACC,+CAAA,CAMF,cACC,qBAAA,CACA,yEAAA,CAMD,qCACC,aAAA,CACA,YAAA,CACA,oBAAA,CACA,8BAAA","file":"custom.css"} \ No newline at end of file +{"version":3,"sources":["custom.scss"],"names":[],"mappings":"AACC,aACC,eAAA,CAKD,sCACC,oBAAA,CAAA,eAAA,CAGD,sCACC,aAAA,CACA,uBAAA,CACA,oBAAA,CACA,8BAAA,CAED,gBACC,mBAAA,CAEA,qBACC,cAAA,CAIF,sCACC,yBAAA,CAEA,aAAA,CACA,iBAAA,CACA,eAAA,CACA,0BAAA,CACA,uBAAA,CAIF,kBACC,iBAAA,CACA,+CAAA,CAEA,0BACC,UAAA,CACA,iBAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,SAAA,CACA,sFAAA,CAKA,+CAAA,CAED,wBACC,2CAAA,CACA,6GAAA,CAEA,8BAAA,CAEA,gCACC,SAAA,CAIA,oDACC,oBAAA,CAID,mFACC,QAAA,CAKH,0CACC,iBAAA,CACA,eAAA,CACA,oBAAA,CAEA,8CACC,+CAAA,CAKD,6EACC,+CAAA,CAMF,cACC,qBAAA,CACA,yEAAA,CAMD,qCACC,aAAA,CACA,YAAA,CACA,oBAAA,CACA,8BAAA,CAIF,sBACC,+CAAA,CACA,oCAAA,CAEA,4BACC,oCAAA,CAEA,oCACC,qBAAA,CAGD,mDACC,SAAA,CAIF,6CACC,SAAA,CACA,+CAAA,CAOC,2DACC,aAAA,CAIH,4CACC,UAAA,CACA,WAAA,CACA,kBAAA,CACA,oBAAA,CAEA,YAAA,CACA,kBAAA,CACA,sBAAA,CAGD,6CACC,YAAA,CAGA,wDACC,aAAA,CAED,qDACC,aAAA,CACA,+CAAA,CAMF,sCACC,OAAA,CAEA,wCACC,aAAA,CACA,cAAA,CACA,eAAA,CACA,iBAAA,CAIF,gCACC,uEAAA,CAGD,uBACC,WAAA,CAKD,mBACC,WAAA,CAIF,YACC,cAAA,CACA,gBAAA,CACA,WAAA,CAEA,sBACC,eAAA,CACA,sEAAA,CACA,mCACC,gBAAA,CACA,mBAAA,CAGF,yBACC,+CAAA","file":"custom.css"} \ No newline at end of file diff --git a/wp-content/themes/hello-elementor/assets/css/custom.scss b/wp-content/themes/hello-elementor/assets/css/custom.scss index 112e3ec..5c382ef 100644 --- a/wp-content/themes/hello-elementor/assets/css/custom.scss +++ b/wp-content/themes/hello-elementor/assets/css/custom.scss @@ -108,3 +108,103 @@ p { background: rgba(238, 43, 140, 0.1); } } + +.tiles-onze-projecten { + transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); + background-size: auto 100% !important; + + &:hover { + background-size: auto 110% !important; + + &::before { + opacity: 0.8 !important; + } + + .elementor-widget-icon { + opacity: 1; + } + } + + .elementor-widget-icon { + opacity: 0; + transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); + } +} + +.contact-icon-tile { + &:hover { + .elementor-icon-box-description { + a { + color: rgb(238, 43, 140); + } + } + } + .elementor-icon-box-icon { + width: 40px; + height: 40px; + background: rgb(243, 244, 246); + border-radius: 0.75rem; + + display: flex; + align-items: center; + justify-content: center; + } + + .elementor-icon-box-title { + margin-top: 0; + } + .elementor-icon-box-description { + span { + color: rgb(29, 35, 48); + } + a { + color: rgb(29, 35, 48); + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + } + } +} + +.contact-form { + .elementor-item-index-6 { + order: 2; + + p { + color: rgb(98, 109, 132); + font-size: 12px; + line-height: 1.2; + text-align: center; + } + } + + .elementor-button { + background: linear-gradient(90deg, rgb(238, 43, 140), rgb(249, 140, 31)); + } + + textarea { + resize: none; + } +} + +.footer-social { + svg { + stroke: rgb(255, 255, 255); + } +} + +#header-box { + position: fixed; + inset: 0 0 auto 0; + z-index: 100; + + &.box-fixed { + background: #fff; + box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); + > .e-con-inner { + padding-top: 12px; + padding-bottom: 12px; + } + } + > .e-con-inner { + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + } +}