.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:3px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--classic .select2-results>.select2-results__options,.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:3px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:3px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:1px solid #000;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:3px;outline:0;background-image:-webkit-linear-gradient(top,#fff 50%,#eee 100%);background-image:-o-linear-gradient(top,#fff 50%,#eee 100%);background-image:linear-gradient(to bottom,#fff 50%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top,#eee 50%,#ccc 100%);background-image:-o-linear-gradient(top,#eee 50%,#ccc 100%);background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:4px 0 0 4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:0 0;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top,#fff 0,#eee 50%);background-image:-o-linear-gradient(top,#fff 0,#eee 50%);background-image:linear-gradient(to bottom,#fff 0,#eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top,#eee 50%,#fff 100%);background-image:-o-linear-gradient(top,#eee 50%,#fff 100%);background-image:linear-gradient(to bottom,#eee 50%,#fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:3px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}/*! elementor - v3.29.0 - 04-06-2025 */
"use strict";
(self["webpackChunkelementorFrontend"] = self["webpackChunkelementorFrontend"] || []).push([["section-editor-handlers"],{
/***/ "../assets/dev/js/frontend/handlers/section/shapes.js":
/*!************************************************************!*\
!*** ../assets/dev/js/frontend/handlers/section/shapes.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
__webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "../node_modules/core-js/modules/esnext.iterator.constructor.js");
__webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ "../node_modules/core-js/modules/esnext.iterator.find.js");
class Shapes extends elementorModules.frontend.handlers.Base {
getDefaultSettings() {
return {
selectors: {
container: '> .elementor-shape-%s'
},
svgURL: elementorFrontend.config.urls.assets + 'shapes/'
};
}
getDefaultElements() {
const elements = {},
selectors = this.getSettings('selectors');
elements.$topContainer = this.$element.find(selectors.container.replace('%s', 'top'));
elements.$bottomContainer = this.$element.find(selectors.container.replace('%s', 'bottom'));
return elements;
}
isActive() {
return elementorFrontend.isEditMode();
}
getSvgURL(shapeType, fileName) {
let svgURL = this.getSettings('svgURL') + fileName + '.svg';
if (elementor.config.additional_shapes && shapeType in elementor.config.additional_shapes) {
svgURL = elementor.config.additional_shapes[shapeType];
if (-1 < fileName.indexOf('-negative')) {
svgURL = svgURL.replace('.svg', '-negative.svg');
}
}
return svgURL;
}
buildSVG(side) {
const baseSettingKey = 'shape_divider_' + side,
shapeType = this.getElementSettings(baseSettingKey),
$svgContainer = this.elements['$' + side + 'Container'];
$svgContainer.attr('data-shape', shapeType);
if (!shapeType) {
$svgContainer.empty(); // Shape-divider set to 'none'
return;
}
let fileName = shapeType;
if (this.getElementSettings(baseSettingKey + '_negative')) {
fileName += '-negative';
}
const svgURL = this.getSvgURL(shapeType, fileName);
jQuery.get(svgURL, data => {
$svgContainer.empty().append(data.childNodes[0]);
});
this.setNegative(side);
}
setNegative(side) {
this.elements['$' + side + 'Container'].attr('data-negative', !!this.getElementSettings('shape_divider_' + side + '_negative'));
}
onInit() {
if (!this.isActive(this.getSettings())) {
return;
}
super.onInit(...arguments);
['top', 'bottom'].forEach(side => {
if (this.getElementSettings('shape_divider_' + side)) {
this.buildSVG(side);
}
});
}
onElementChange(propertyName) {
const shapeChange = propertyName.match(/^shape_divider_(top|bottom)$/);
if (shapeChange) {
this.buildSVG(shapeChange[1]);
return;
}
const negativeChange = propertyName.match(/^shape_divider_(top|bottom)_negative$/);
if (negativeChange) {
this.buildSVG(negativeChange[1]);
this.setNegative(negativeChange[1]);
}
}
}
exports["default"] = Shapes;
/***/ })
}]);
//# sourceMappingURL=section-editor-handlers.46a034cbaaa10c6afa92.bundle.js.mapimport Component from './data/component';
import { Templates } from './data/commands';
export default class Module extends elementorModules.editor.utils.Module {
onElementorInit() {
const config = elementor.documents.getCurrent().config;
if ( config.support_site_editor ) {
$e.components.register( new Component() );
$e.data.deleteCache( $e.components.get( Component.namespace ), Templates.signature );
}
}
}
@keyframes wobble {
from,
to {
transform: none;
}
15% {
transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
}
30% {
transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
}
45% {
transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
}
60% {
transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
}
75% {
transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
}
}
.wobble {
animation-name: wobble;
}
:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color)}@media(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-block-woocommerce-product-custom-fields-toggle-field__content{display:flex;gap:8px;align-items:center}.wp-block-woocommerce-product-custom-fields-toggle-field__content .components-spinner{margin:0}.wp-block-woocommerce-product-custom-fields-toggle-field__inner-blocks{margin-top:48px}{
"name": "woocommerce/filter-wrapper",
"version": "1.0.0",
"title": "Filter Block",
"category": "woocommerce",
"keywords": [ "WooCommerce" ],
"attributes": {
"filterType": {
"type": "string"
},
"heading": {
"type": "string"
}
},
"textdomain": "woocommerce",
"apiVersion": 2,
"$schema": "https://schemas.wp.org/trunk/block.json"
}
.wc-block-filter-title-placeholder{background-color:currentColor!important;border:0!important;border-radius:.25rem;border-radius:1.625em;box-shadow:none;color:currentColor!important;display:block;line-height:1;margin-bottom:12px;margin-top:12px;max-width:100%!important;max-width:max-content!important;min-width:80px;opacity:.15;outline:0!important;overflow:hidden!important;pointer-events:none;position:relative!important;width:100%;z-index:1}.wc-block-filter-title-placeholder>*{visibility:hidden}.wc-block-filter-title-placeholder:after{animation:loading__animation 1.5s ease-in-out infinite;background-image:linear-gradient(-90deg,currentColor,hsla(0,0%,96%,.302),currentColor);background-repeat:no-repeat;content:" ";display:block;height:100%;right:0;position:absolute;left:0;top:0;transform:translateX(100%)}@keyframes loading__animation{to{transform:translateX(-100%)}}@media screen and (prefers-reduced-motion:reduce){.wc-block-filter-title-placeholder{animation:none}}.wc-block-filter-title-placeholder .wc-block-active-filters__title,.wc-block-filter-title-placeholder .wc-block-attribute-filter__title,.wc-block-filter-title-placeholder .wc-block-price-filter__title,.wc-block-filter-title-placeholder .wc-block-rating-filter__title,.wc-block-filter-title-placeholder .wc-block-stock-filter__title{height:1em;margin:0}
.wp-block-woocommerce-active-filters h1,.wp-block-woocommerce-active-filters h2,.wp-block-woocommerce-active-filters h3,.wp-block-woocommerce-active-filters h4,.wp-block-woocommerce-active-filters h5,.wp-block-woocommerce-active-filters h6{text-transform:inherit}.wp-block-woocommerce-active-filters .wc-block-filter-title-placeholder .wc-block-active-filters__title{height:1em}.wc-block-active-filters{overflow:hidden}.wc-block-active-filters .wc-block-active-filters__clear-all{background:transparent;border:none;border-radius:0;box-shadow:none;color:inherit;cursor:pointer;display:inline;float:left;font-family:inherit;font-size:inherit;font-size:.875em;font-style:inherit;font-weight:inherit;font-weight:400;letter-spacing:inherit;line-height:inherit;margin:15px 0 0;padding:0;text-decoration:inherit;text-decoration:underline;text-shadow:none;text-transform:inherit;vertical-align:baseline}.wc-block-active-filters .wc-block-active-filters__clear-all:active,.wc-block-active-filters .wc-block-active-filters__clear-all:focus,.wc-block-active-filters .wc-block-active-filters__clear-all:hover{background:transparent}.wc-block-active-filters .wc-block-active-filters__clear-all:hover{color:inherit;cursor:pointer;text-decoration:none}.wc-block-active-filters .wc-block-active-filters__clear-all,.wc-block-active-filters .wc-block-active-filters__clear-all:active,.wc-block-active-filters .wc-block-active-filters__clear-all:focus,.wc-block-active-filters .wc-block-active-filters__clear-all:hover{background:transparent;color:inherit}.wc-block-active-filters .wc-block-active-filters__clear-all-placeholder{background-color:currentColor!important;border:0!important;border-radius:.25rem;border-radius:0;box-shadow:none;color:currentColor!important;display:block;display:inline-block;float:left;height:1em;line-height:1;max-width:100%!important;opacity:.15;outline:0!important;overflow:hidden!important;pointer-events:none;position:relative!important;width:100%;width:80px;z-index:1}.wc-block-active-filters .wc-block-active-filters__clear-all-placeholder>*{visibility:hidden}.wc-block-active-filters .wc-block-active-filters__clear-all-placeholder:after{animation:loading__animation 1.5s ease-in-out infinite;background-image:linear-gradient(-90deg,currentColor,hsla(0,0%,96%,.302),currentColor);background-repeat:no-repeat;content:" ";display:block;height:100%;right:0;position:absolute;left:0;top:0;transform:translateX(100%)}@media screen and (prefers-reduced-motion:reduce){.wc-block-active-filters .wc-block-active-filters__clear-all-placeholder{animation:none}}.wc-block-active-filters .wc-block-active-filters__list{clear:both;list-style:none outside;margin:0 0 4px;padding:0}.wc-block-active-filters .wc-block-active-filters__list.wc-block-active-filters--loading{display:flex;flex-direction:column;flex-wrap:nowrap;margin-top:12px}.wc-block-active-filters .wc-block-active-filters__list.wc-block-active-filters--loading.wc-block-active-filters__list--chips{align-items:flex-end;flex-direction:row;flex-wrap:wrap;gap:0 10px}.wc-block-active-filters .wc-block-active-filters__list li{list-style:none outside;margin:9px 0 0;padding:0}.wc-block-active-filters .wc-block-active-filters__list li ul{list-style:none outside;margin:0;padding:0}.wc-block-active-filters .wc-block-active-filters__list li:first-child .wc-block-active-filters__list-item-type{margin:0}.wc-block-active-filters .wc-block-active-filters__list>li:first-child{margin:0}.wc-block-active-filters .wc-block-active-filters__list li.show-loading-state-list{display:inline-block}.wc-block-active-filters .wc-block-active-filters__list li.show-loading-state-list>span{background-color:currentColor!important;border:0!important;border-radius:.25rem;border-radius:0;box-shadow:none;color:currentColor!important;display:block;display:inline-block;height:1em;line-height:1;max-width:100%!important;opacity:.15;outline:0!important;overflow:hidden!important;pointer-events:none;position:relative!important;width:100%;z-index:1}.wc-block-active-filters .wc-block-active-filters__list li.show-loading-state-list>span>*{visibility:hidden}.wc-block-active-filters .wc-block-active-filters__list li.show-loading-state-list>span:after{animation:loading__animation 1.5s ease-in-out infinite;background-image:linear-gradient(-90deg,currentColor,hsla(0,0%,96%,.302),currentColor);background-repeat:no-repeat;content:" ";display:block;height:100%;right:0;position:absolute;left:0;top:0;transform:translateX(100%)}@media screen and (prefers-reduced-motion:reduce){.wc-block-active-filters .wc-block-active-filters__list li.show-loading-state-list>span{animation:none}}.wc-block-active-filters .wc-block-active-filters__list li.show-loading-state-chips{display:inline-block}.wc-block-active-filters .wc-block-active-filters__list li.show-loading-state-chips>span{background-color:currentColor!important;border:0!important;border-radius:.25rem;border-radius:13px;box-shadow:none;color:currentColor!important;display:block;display:inline-block;height:1em;line-height:1;margin-left:15px!important;max-width:100%!important;min-width:70px;opacity:.15;outline:0!important;overflow:hidden!important;pointer-events:none;position:relative!important;width:100%;z-index:1}.wc-block-active-filters .wc-block-active-filters__list li.show-loading-state-chips>span>*{visibility:hidden}.wc-block-active-filters .wc-block-active-filters__list li.show-loading-state-chips>span:after{animation:loading__animation 1.5s ease-in-out infinite;background-image:linear-gradient(-90deg,currentColor,hsla(0,0%,96%,.302),currentColor);background-repeat:no-repeat;content:" ";display:block;height:100%;right:0;position:absolute;left:0;top:0;transform:translateX(100%)}@keyframes loading__animation{to{transform:translateX(-100%)}}@media screen and (prefers-reduced-motion:reduce){.wc-block-active-filters .wc-block-active-filters__list li.show-loading-state-chips>span{animation:none}}.wc-block-active-filters .wc-block-active-filters__list li.show-loading-state-chips:last-of-type>span{margin-left:0!important}.wc-block-active-filters .wc-block-active-filters__list li.show-loading-state-chips:nth-child(3){flex-grow:1;max-width:200px}.wc-block-active-filters .wc-block-active-filters__list>.wc-block-active-filters__list-item .wc-block-active-filters__list-item-name{margin:9px 0 0}.wc-block-active-filters .wc-block-active-filters__list-item-type{display:block;font-size:.75em;font-weight:700;letter-spacing:.1em;margin:16px 0 0;text-transform:uppercase}.wc-block-active-filters .wc-block-active-filters__list-item-operator{font-style:italic;font-weight:400}.wc-block-active-filters .wc-block-active-filters__list-item-name{align-items:center;display:flex;font-size:.875em;padding:0;position:relative}.wc-block-active-filters .wc-block-active-filters__list-item-remove{appearance:none;background:#e0e0e0;border:0;border-radius:25px;color:currentColor;font-size:.75em;height:16px;line-height:16px;margin:0 0 0 .5em;padding:0;width:16px}.wc-block-active-filters .wc-block-active-filters__list-item-remove:focus,.wc-block-active-filters .wc-block-active-filters__list-item-remove:hover{background:#949494}.wc-block-active-filters .wc-block-active-filters__list-item-remove:focus .wc-block-components-chip__remove-icon,.wc-block-active-filters .wc-block-active-filters__list-item-remove:hover .wc-block-components-chip__remove-icon{fill:#fff}.wc-block-active-filters .wc-block-active-filters__list-item-remove:disabled{color:#e0e0e0;cursor:not-allowed}.wc-block-active-filters .wc-block-active-filters__list--chips li,.wc-block-active-filters .wc-block-active-filters__list--chips ul{display:inline}.wc-block-active-filters .wc-block-active-filters__list--chips .wc-block-active-filters__list-item-type{display:none}.wc-block-active-filters .wc-block-active-filters__list--chips .wc-block-components-chip{margin-bottom:.1875em;margin-top:.1875em}
The Future of Mobile Game Development: Embracing Progressive Web Apps (PWAs) – Quiminova
Ir al contenido
Introduction: The Shift Towards Web-Based Gaming Experiences
In an era where mobile devices have become the primary platform for digital entertainment, game developers are continuously seeking innovative ways to deliver immersive experiences seamlessly across diverse hardware ecosystems. Traditional native applications, while powerful, often impose significant barriers: lengthy development cycles, platform-specific constraints, and high maintenance costs. Enter Progressive Web Apps (PWAs)—a transformative technology that blends the accessibility of the web with the capabilities of native applications. This paradigm shift is particularly evident in the realm of casual and social gaming, where instant accessibility and smooth user experiences are paramount.
The Rise of Progressive Web Apps in Gaming
PWAs leverage modern web standards—such as service workers, web app manifests, and caching—to deliver applications that are installable, offline-capable, and highly performant. Industry data indicates that the adoption of PWAs has accelerated dramatically. According to a 2022 State of the Web report by Google, PWAs now constitute over 25% of all web app installations worldwide , influencing sectors from e-commerce to entertainment.
For game developers, this offers a compelling proposition: reduce friction in user onboarding, tap into a broader audience without platform limitations, and update content instantaneously. Prominent examples include Pinterest and Twitter, which have successfully employed PWAs to boost engagement. The gaming industry is no exception, seeing a wave of innovative titles optimized for PWA paradigms.
Challenges and Opportunities in Mobile Gaming with PWAs
Challenge
Opportunity
Limited access to device hardware compared to native apps
Use of modern APIs like WebGL, WebAssembly, and WebRTC allows complex graphics and real-time multiplayer interactions
Performance constraints on less powerful devices
Progressive enhancement ensures core gameplay on all devices while leveraging advanced features where available
Discoverability and user retention issues
Instant installation and seamless updates facilitate higher session frequency and lower attrition rates
Case Study: Struct Flow PWA for Mobile
Amid these technological advancements, developers are exploring solutions that optimize the PWA experience specifically for gaming. One notable example is the Struct Flow PWA for mobile , a web-based puzzle game that exemplifies the potential of PWAs in delivering a high-quality, portable gaming experience.
Designed with performance and user engagement in mind, Struct Flow leverages advanced web technologies to simulate complex 3D visuals, intuitive touch controls, and real-time feedback—all within a browser environment. Its successful deployment underscores several key best practices:
Optimized asset management: Efficient caching reduces load times and enables offline play.
Responsive design: Adapts seamlessly across devices, ensuring tactile precision on smartphones and tablets.
User engagement: Instant install prompt and home screen integration foster habitual gameplay without app store friction.
Furthermore, the developers behind Struct Flow have prioritized progressive enhancement, ensuring that different devices harness the full potential of their hardware via progressive web standards. This balances rich graphics and responsiveness with broad accessibility—a principle that industry leaders increasingly recognize as essential for modern game design.
Expert Insights: PWA as a Strategic Weapon for Game Publishers
«Progressive Web Apps are transforming the way we approach cross-platform game development. They enable us to reach wider audiences without the prohibitive costs of native app development, while maintaining high standards of performance and user experience.» – Dr. Emily Chen, Director of Interactive Media at TechGenius Labs
From an industry perspective, integrating PWAs into a broader distribution and monetization strategy opens new avenues for growth. Monetization models—such as ad-based revenue, microtransactions, and subscription services—are easily integrated within web environments. Additionally, PWAs facilitate data collection and player analytics, empowering developers to refine gameplay and retention strategies dynamically.
The Road Ahead: Evolving Standards and Industry Adoption
As web standards evolve, so too will the capabilities of PWAs. The impending support for features like background synchronization, enhanced offline capabilities, and access to more advanced hardware APIs will narrow the performance gap with native applications. This will further cement PWAs as a viable, long-term solution for mobile gaming.
For industry insiders, this represents a pivotal moment: investing in PWA development frameworks today positions studios at the forefront of a rapidly shifting landscape. Early adopters, exemplified by projects like Struct Flow, are proving that quality, accessibility, and scalability are achievable without the overhead of native app platforms.
Conclusion: Redefining Mobile Gaming Accessibility and Engagement
In sum, the integration of PWAs into the mobile gaming ecosystem signals a strategic evolution—merging web accessibility with rich, native-like experiences. As exemplified by the success of initiatives like Struct Flow PWA for mobile, innovative developers are demonstrating that high-quality, portable games can thrive within a browser context. Moving forward, embracing PWA technology will be essential for those seeking to expand their reach, optimize production costs, and create engaging, accessible gaming experiences across all devices.
Navegación de entradas