UNPKG

funuicss

Version:

React and Next.js component UI Library for creating Easy and good looking websites with fewer lines of code. Elevate your web development experience with our cutting-edge React/Next.js component UI Library. Craft stunning websites effortlessly, boasting b

236 lines (235 loc) 7.61 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.FunQuery = exports.FunRequest = exports.FunAdd = exports.FunClass = exports.FunEvent = exports.FunStyle = exports.FunGet = exports.FunVisible = exports.FunHide = void 0; exports.FunHide = { hide: function (selector) { var element = document.querySelector(selector); if (element) { element.style.display = "none"; } }, show: function (selector) { var element = document.querySelector(selector); if (element) { element.style.display = "inline-block"; } }, toggle: function (selector) { var element = document.querySelector(selector); if (element) { var style = element.style.display; element.style.display = style === "none" ? "inline-block" : "none"; } } }; exports.FunVisible = { hide: function (selector) { var element = document.querySelector(selector); if (element) { element.style.visibility = "hidden"; } }, show: function (selector) { var element = document.querySelector(selector); if (element) { element.style.visibility = "visible"; } }, toggle: function (selector) { var element = document.querySelector(selector); if (element) { var style = element.style.visibility; element.style.visibility = style === "hidden" ? "visible" : "hidden"; } } }; exports.FunGet = { text: function (selector, data) { var element = document.querySelector(selector); if (element) { var text = element.textContent; if (data) { element.textContent = data; } else { return text ? text : ""; } } }, html: function (selector, data) { var element = document.querySelector(selector); if (element) { var text = element.innerHTML; if (data) { element.innerHTML = data; } else { return text ? text : ""; } } }, val: function (selector, data) { var element = document.querySelector(selector); if (element) { var text = element.value; if (data) { element.value = data; } else { return text; } } }, }; exports.FunStyle = { css: function (selector, css) { var element = document.querySelector(selector); if (element) { Object.assign(element.style, css); } }, }; exports.FunEvent = { event: function (selector, eventType, callBack) { var element = document.querySelector(selector); if (element && eventType && callBack) { element.addEventListener(eventType, callBack); } }, }; exports.FunClass = { add: function (selector, newClass) { var element = document.querySelector(selector); if (element && newClass) { element.classList.add(newClass); } }, remove: function (selector, newClass) { var element = document.querySelector(selector); if (element && newClass) { element.classList.remove(newClass); } }, }; exports.FunAdd = { append: function (selector, child) { var element = document.querySelector(selector); if (element && child) { element.append(child); } }, prepend: function (selector, child) { var element = document.querySelector(selector); if (element && child) { element.prepend(child); } }, }; exports.FunRequest = { get: function (url, headers) { return new Promise(function (resolve, reject) { fetch(url, headers ? { headers: headers } : {}) .then(function (response) { return response.json(); }) .then(function (data) { resolve(data); }) .catch(function (error) { reject(error); }); }); }, post: function (url, body, headers) { return new Promise(function (resolve, reject) { fetch(url, { method: 'POST', headers: headers ? __assign(__assign({}, headers), { 'Content-Type': 'application/json' }) : { 'Content-Type': 'application/json' }, body: JSON.stringify(body), }) .then(function (response) { return response.json(); }) .then(function (data) { resolve(data); }) .catch(function (error) { reject(error); }); }); }, patch: function (url, body, headers) { return new Promise(function (resolve, reject) { fetch(url, { method: 'PATCH', headers: headers ? __assign(__assign({}, headers), { 'Content-Type': 'application/json' }) : { 'Content-Type': 'application/json' }, body: JSON.stringify(body), }) .then(function (response) { return response.json(); }) .then(function (data) { resolve(data); }) .catch(function (error) { reject(error); }); }); }, delete: function (url, headers) { return new Promise(function (resolve, reject) { fetch(url, { method: 'DELETE', headers: headers ? headers : {}, }) .then(function (response) { if (response.ok) { resolve(""); } else { reject("Error: ".concat(response.status, " ").concat(response.statusText)); } }) .catch(function (error) { reject(error); }); }); }, }; exports.FunQuery = { query: function (data, fields) { return new Promise(function (resolve, reject) { if (Array.isArray(data)) { resolve(data.filter(function (item) { return applyFilter(item, fields); })); } else if (typeof data === 'object') { var filteredData = {}; for (var key in data) { if (applyFilter(data[key], fields)) { filteredData[key] = data[key]; } } resolve(filteredData); } else { reject('Invalid data type. Expected an array or object.'); } function applyFilter(item, fields) { if (typeof fields !== 'object') { reject('Invalid filter criteria. Expected an object.'); } for (var key in fields) { if (item[key] !== fields[key]) { return false; } } return true; } }); }, };