swiper
Version:
Most modern mobile touch slider and framework with hardware accelerated transitions
2 lines • 2.1 kB
JavaScript
import{d as defaults}from"./swiper-core.min.mjs";import{e as extend,p as paramsList,i as isObject,a as attrToProp}from"./update-swiper.min.mjs";const formatValue=e=>{if("string"!=typeof e)return null==e||"number"==typeof e||"boolean"==typeof e||isObject(e),e;if(parseFloat(e)===Number(e))return Number(e);if("true"===e)return!0;if(""===e)return!0;if("false"===e)return!1;if("null"===e)return null;if("undefined"!==e){if(e.includes("{")&&e.includes("}")&&e.includes('"'))try{return JSON.parse(e)}catch{return e}return e}},modulesParamsList=["a11y","autoplay","controller","cards-effect","coverflow-effect","creative-effect","cube-effect","fade-effect","flip-effect","free-mode","grid","hash-navigation","history","keyboard","mousewheel","navigation","pagination","parallax","scrollbar","thumbs","virtual","zoom"];function getParams(e,a,t){const r={},n={};extend(r,defaults);const i=[...paramsList,"on"],o=i.map(e=>e.replace(/_/,""));i.forEach(a=>{const t=a.replace("_","");void 0!==e[t]&&(n[t]=e[t])});const s=[...e.attributes];return"string"==typeof a&&void 0!==t&&s.push({name:a,value:isObject(t)?{...t}:t}),s.forEach(e=>{const a=modulesParamsList.find(a=>e.name.startsWith(`${a}-`));if(a){const t=attrToProp(a),r=attrToProp(e.name.split(`${a}-`)[1]);void 0===n[t]&&(n[t]={}),!0===n[t]&&(n[t]={enabled:!0}),!1===n[t]&&(n[t]={enabled:!1}),n[t][r]=formatValue(e.value)}else{const a=attrToProp(e.name);if(!o.includes(a))return;const t=formatValue(e.value),r=n[a];if(r&&modulesParamsList.includes(e.name)&&!isObject(t)){const e=isObject(r)?r:{};e.enabled=!!t,n[a]=e}else n[a]=t}}),extend(r,n),r.navigation?r.navigation={prevEl:".swiper-button-prev",nextEl:".swiper-button-next",...!0!==r.navigation?r.navigation:{}}:!1===r.navigation&&delete r.navigation,r.scrollbar?r.scrollbar={el:".swiper-scrollbar",...!0!==r.scrollbar?r.scrollbar:{}}:!1===r.scrollbar&&delete r.scrollbar,r.pagination?r.pagination={el:".swiper-pagination",...!0!==r.pagination?r.pagination:{}}:!1===r.pagination&&delete r.pagination,{params:r,passedParams:n}}export{getParams as g};
//# sourceMappingURL=get-element-params.min.mjs.map