@maz-ui/utils 5.0.0-beta.39 → 5.0.0-beta.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/helpers/cookie.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isServer}from"./isServer.js";var ONE_YEAR_SECONDS=
|
|
1
|
+
import{isServer}from"./isServer.js";var ONE_YEAR_SECONDS=31536e3;function getCookie(key,cookieHeader){let source=isServer()?cookieHeader:document.cookie;if(!source)return null;let cookie=source.split(`;`).find(c=>c.trim().startsWith(`${key}=`));return cookie?decodeURIComponent(cookie.split(`=`)[1]):null}function setCookie(key,value,options={}){if(isServer())return;let{path=`/`,domain,maxAge=ONE_YEAR_SECONDS,expires,secure,sameSite=`Lax`,partitioned}=options;let parts=[`${key}=${encodeURIComponent(value)}`];path!=null&&parts.push(`path=${path}`),domain&&parts.push(`domain=${domain}`),maxAge!=null&&parts.push(`max-age=${maxAge}`),expires&&parts.push(`expires=${expires.toUTCString()}`),secure&&parts.push(`secure`),sameSite!=null&&parts.push(`SameSite=${sameSite}`),partitioned&&parts.push(`partitioned`),document.cookie=parts.join(`; `)}function deleteCookie(key,options={}){setCookie(key,``,{...options,maxAge:0})}export{deleteCookie,getCookie,setCookie};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _supportedCodes
|
|
1
|
+
var _supportedCodes=/* @__PURE__ */ `ad.ae.af.ag.ai.al.am.ao.aq.ar.as.at.au.aw.ax.az.ba.bb.bd.be.bf.bg.bh.bi.bj.bl.bm.bn.bo.bq.br.bs.bt.bv.bw.by.bz.ca.cc.cd.cf.cg.ch.ci.ck.cl.cm.cn.co.cr.cu.cv.cw.cx.cy.cz.de.dj.dk.dm.do.dz.ec.ee.eg.eh.er.es.et.eu.fi.fj.fk.fm.fo.fr.ga.gb.gb-eng.gb-nir.gb-sct.gb-wls.gd.ge.gf.gg.gh.gi.gl.gm.gn.gp.gq.gr.gs.gt.gu.gw.gy.hk.hm.hn.hr.ht.hu.id.ie.il.im.in.io.iq.ir.is.it.je.jm.jo.jp.ke.kg.kh.ki.km.kn.kp.kr.kw.ky.kz.la.lb.lc.li.lk.lr.ls.lt.lu.lv.ly.ma.mc.md.me.mf.mg.mh.mk.ml.mm.mn.mo.mp.mq.mr.ms.mt.mu.mv.mw.mx.my.mz.na.nc.ne.nf.ng.ni.nl.no.np.nr.nu.nz.om.pa.pe.pf.pg.ph.pk.pl.pm.pn.pr.ps.pt.pw.py.qa.re.ro.rs.ru.rw.sa.sb.sc.sd.se.sg.sh.si.sj.sk.sl.sm.sn.so.sr.ss.st.sv.sx.sy.sz.tc.td.tf.tg.th.tj.tk.tl.tm.tn.to.tr.tt.tv.tw.tz.ua.ug.um.un.us.us-ak.us-al.us-ar.us-az.us-ca.us-co.us-ct.us-de.us-fl.us-ga.us-hi.us-ia.us-id.us-il.us-in.us-ks.us-ky.us-la.us-ma.us-md.us-me.us-mi.us-mn.us-mo.us-ms.us-mt.us-nc.us-nd.us-ne.us-nh.us-nj.us-nm.us-nv.us-ny.us-oh.us-ok.us-or.us-pa.us-ri.us-sc.us-sd.us-tn.us-tx.us-ut.us-va.us-vt.us-wa.us-wi.us-wv.us-wy.uy.uz.va.vc.ve.vg.vi.vn.vu.wf.ws.xk.ye.yt.za.zm.zw`.split(`.`);function getCountryFlagUrl(countryIsoCode,size){let code=countryIsoCode.toLowerCase();if(_supportedCodes.includes(code))return size?`https://flagcdn.com/${size}/${code}.png`:`https://flagcdn.com/${code}.svg`}export{getCountryFlagUrl};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isClient}from"./isClient.js";var IdleTimeout=class{callback;defaultOptions={element:void 0,timeout:
|
|
1
|
+
import{isClient}from"./isClient.js";var IdleTimeout=class{callback;defaultOptions={element:void 0,timeout:3e5,once:!1,immediate:!0};options;timeoutHandler;isIdle=!1;isDestroy=!1;startTime=0;remainingTime=0;lastClientX=-1;lastClientY=-1;eventNames=[`DOMMouseScroll`,`mousedown`,`mousemove`,`mousewheel`,`MSPointerDown`,`MSPointerMove`,`keydown`,`touchmove`,`touchstart`,`wheel`,`click`];constructor(callback,options){this.callback=callback,this.options={...this.defaultOptions,...options},isClient()&&this.start()}get element(){return this.options.element??document.body}start(){if(!isClient()){console.warn(`[IdleTimeout](start) you should run this method on client side`);return}for(let eventName of this.eventNames)this.element.addEventListener(eventName,this.handleEvent);this.resetTimeout(),this.options.immediate&&this.callback({isIdle:!1,instance:this})}pause(){let remainingTime=this.startTime+this.options.timeout-Date.now();remainingTime<=0||(this.remainingTime=remainingTime,this.timeoutHandler&&=(clearTimeout(this.timeoutHandler),void 0))}resume(){this.remainingTime<=0||(this.resetTimeout(),this.callback({isIdle:this.isIdle,instance:this}),this.remainingTime=0)}reset(){this.isDestroy=!1,this.isIdle=!1,this.remainingTime=0,this.resetTimeout(),this.callback({isIdle:this.isIdle,instance:this})}destroy(){if(!isClient()){console.warn(`[IdleTimeout](destroy) you should run this method on client side`);return}this.isDestroy=!0;for(let eventName of this.eventNames)this.element.removeEventListener(eventName,this.handleEvent);this.timeoutHandler&&clearTimeout(this.timeoutHandler)}resetTimeout(){this.isIdle=!1,this.timeoutHandler&&=(clearTimeout(this.timeoutHandler),void 0),this.timeoutHandler=setTimeout(this.handleTimeout.bind(this),this.remainingTime||this.options.timeout),this.startTime=Date.now()}handleEvent=event=>{try{if(this.remainingTime>0)return;if(event.type===`mousemove`){let{clientX,clientY}=event;if(clientX===void 0&&clientY===void 0||clientX===this.lastClientX&&clientY===this.lastClientY)return;this.lastClientX=clientX,this.lastClientY=clientY}this.resetTimeout(),this.callback({isIdle:this.isIdle,eventType:event.type,instance:this})}catch(error){throw Error(`[IdleTimeout](handleEvent) ${error}`,{cause:error})}};handleTimeout(){this.isIdle=!0,this.callback({isIdle:this.isIdle,instance:this}),this.options.once&&this.destroy()}get destroyed(){return this.isDestroy}get timeout(){return this.options.timeout}set timeout(value){this.options.timeout=value}get idle(){return this.isIdle}set idle(value){value?this.handleTimeout():this.reset(),this.callback({isIdle:this.isIdle,instance:this})}};export{IdleTimeout};
|
package/dist/helpers/isEqual.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function isPrimitive(value){return value==null||typeof value==`string`||typeof value==`number`||typeof value==`boolean`||typeof value==`symbol`||typeof value==`bigint`}function isEqualArrays(a,b){if(a.length!==b.length)return!1;for(let[i,element]of a.entries())if(!isEqual(element,b[i]))return!1;return!0}function isEqualObjects(a,b){let keysA=Object.keys(a);let keysB=Object.keys(b);if(keysA.length!==keysB.length)return!1;for(let key of keysA)if(!keysB.includes(key)||!isEqual(a[key],b[key]))return!1;return!0}function isEqual(a,b){return isPrimitive(a)||isPrimitive(b)?a===b:a instanceof Date&&b instanceof Date?a.getTime()===b.getTime():typeof a!=typeof b||Array.isArray(a)!==Array.isArray(b)?!1:Array.isArray(a)&&Array.isArray(b)?isEqualArrays(a,b):typeof a==`object`&&typeof b==`object
|
|
1
|
+
function isPrimitive(value){return value==null||typeof value==`string`||typeof value==`number`||typeof value==`boolean`||typeof value==`symbol`||typeof value==`bigint`}function isEqualArrays(a,b){if(a.length!==b.length)return!1;for(let[i,element]of a.entries())if(!isEqual(element,b[i]))return!1;return!0}function isEqualObjects(a,b){let keysA=Object.keys(a);let keysB=Object.keys(b);if(keysA.length!==keysB.length)return!1;for(let key of keysA)if(!keysB.includes(key)||!isEqual(a[key],b[key]))return!1;return!0}function isEqual(a,b){return isPrimitive(a)||isPrimitive(b)?a===b:a instanceof Date&&b instanceof Date?a.getTime()===b.getTime():typeof a!=typeof b||Array.isArray(a)!==Array.isArray(b)?!1:Array.isArray(a)&&Array.isArray(b)?isEqualArrays(a,b):typeof a==`object`&&typeof b==`object`&&isEqualObjects(a,b)}export{isEqual};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var ScriptLoader=class{src;script;once;async;defer;identifier;constructor({src,identifier,once=!0,async=!0,defer=!0}){if(globalThis.window===void 0)throw TypeError(`[ScriptLoader]: Is supported only on browser side`);if(!src)throw Error(`[ScriptLoader]: You should provide the attribut "src"`);if(!identifier)throw Error(`[ScriptLoader]: You should provide the attribut "identifier"`);this.src=src,this.identifier=identifier,this.once=once,this.async=async,this.defer=defer}removeTag(tag){typeof tag==`string`?document.head.querySelector(`[data-identifier="${tag}"]`)?.remove():tag.remove()}load(){let windowInstance=globalThis;let scriptTags=document.head.querySelectorAll(`[data-identifier="${this.identifier}"]`);if(this.once&&windowInstance[this.identifier]&&scriptTags.length>0)return this.script=windowInstance[this.identifier],Promise.resolve(this.script);if(!this.once&&scriptTags.length>0)for(let tag of scriptTags)this.removeTag(tag);return this.injectScript()}injectScript(){let windowInstance=globalThis;return new Promise((resolve,reject)=>{try{let script=document.createElement(`script`);script.src=this.src,script.async=this.async,script.defer=this.defer,script.dataset.identifier=this.identifier,script.addEventListener(`error`,error=>reject(Error(`[ScriptLoader](injectScript) ${error.message}`))),script.addEventListener(`load`,success=>(this.script=success,windowInstance[this.identifier]=success,resolve(success))),document.head.append(script)}catch(error){throw Error(`[ScriptLoader](init) ${error}`,{cause:error})}})}};export{ScriptLoader};
|
|
1
|
+
var ScriptLoader=class{src;script;once;async;defer;identifier;constructor({src,identifier,once=!0,async=!0,defer=!0}){if(globalThis.window===void 0)throw TypeError(`[ScriptLoader]: Is supported only on browser side`);if(!src)throw Error(`[ScriptLoader]: You should provide the attribut "src"`);if(!identifier)throw Error(`[ScriptLoader]: You should provide the attribut "identifier"`);this.src=src,this.identifier=identifier,this.once=once,this.async=async,this.defer=defer}removeTag(tag){typeof tag==`string`?document.head.querySelector(`[data-identifier="${tag}"]`)?.remove():tag.remove()}load(){let windowInstance=globalThis;let scriptTags=document.head.querySelectorAll(`[data-identifier="${this.identifier}"]`);if(this.once&&windowInstance[this.identifier]&&scriptTags.length>0)return this.script=windowInstance[this.identifier],Promise.resolve(this.script);if(!this.once&&scriptTags.length>0)for(let tag of scriptTags)this.removeTag(tag);return this.injectScript()}injectScript(){let windowInstance=globalThis;return new Promise((resolve,reject)=>{try{let script=document.createElement(`script`);script.src=this.src,script.async=this.async,script.defer=this.defer,script.dataset.identifier=this.identifier,script.addEventListener(`error`,error=>reject(/* @__PURE__ */ Error(`[ScriptLoader](injectScript) ${error.message}`))),script.addEventListener(`load`,success=>(this.script=success,windowInstance[this.identifier]=success,resolve(success))),document.head.append(script)}catch(error){throw Error(`[ScriptLoader](init) ${error}`,{cause:error})}})}};export{ScriptLoader};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var defaultOptions={preventDefaultOnMove:!1,preventDefaultOnMouseWheel:!1,threshold:50,immediate:!1,triggerOnEnd:!1};var Swipe=class{inputOption;element;xStart;yStart;xEnd;yEnd;xDiff;yDiff;pointerDown=!1;onPointerDownCallback;onPointerMoveCallback;onPointerUpCallback;onMouseWheelCallback;start;stop;options;constructor(inputOption){this.inputOption=inputOption,this.options={...defaultOptions,...inputOption},this.onPointerDownCallback=this.handlePointerDown.bind(this),this.onPointerMoveCallback=this.handlePointerMove.bind(this),this.onPointerUpCallback=this.handlePointerUp.bind(this),this.onMouseWheelCallback=this.handleMouseWheel.bind(this),this.start=this.startListening.bind(this),this.stop=this.stopListening.bind(this),this.options.element&&this.setElement(this.options.element),this.options.immediate&&this.start()}startListening(){this.setElement(this.options.element),this.element?.addEventListener(`pointerdown`,this.onPointerDownCallback,{passive:!0}),this.element?.addEventListener(`pointermove`,this.onPointerMoveCallback,{passive:!this.options.preventDefaultOnMove}),this.element?.addEventListener(`pointerup`,this.onPointerUpCallback,{passive:!0}),this.element?.addEventListener(`pointercancel`,this.onPointerUpCallback,{passive:!0}),this.options.preventDefaultOnMouseWheel&&this.element?.addEventListener(`mousewheel`,this.onMouseWheelCallback,{passive:!1})}stopListening(){this.element?.removeEventListener(`pointerdown`,this.onPointerDownCallback),this.element?.removeEventListener(`pointermove`,this.onPointerMoveCallback),this.element?.removeEventListener(`pointerup`,this.onPointerUpCallback),this.element?.removeEventListener(`pointercancel`,this.onPointerUpCallback),this.options.preventDefaultOnMouseWheel&&this.element?.removeEventListener(`mousewheel`,this.onMouseWheelCallback)}setElement(element){if(!element){console.error(`[maz-ui][SwipeHandler](setElement) Element should be provided. Its can be a string selector or an HTMLElement`);return}if(typeof element==`string`){let foundElement=document.querySelector(element);if(!(foundElement instanceof HTMLElement)){console.error(`[maz-ui][SwipeHandler](setElement) String selector for element is not found`);return}this.element=foundElement}else this.element=element}isPointerAllowed(event){let type=event.pointerType;return!this.options.pointerTypes||!type||this.options.pointerTypes.includes(type)}handleMouseWheel(event){event.preventDefault()}handlePointerDown(event){this.isPointerAllowed(event)&&(this.pointerDown=!0,this.xStart=event.clientX,this.yStart=event.clientY,this.emitValuesChanged())}emitValuesChanged(){this.options.onValuesChanged?.({xStart:this.xStart,yStart:this.yStart,xEnd:this.xEnd,yEnd:this.yEnd,xDiff:this.xDiff,yDiff:this.yDiff})}handlePointerMove(event){this.pointerDown&&(this.options.preventDefaultOnMove&&event.cancelable&&event.preventDefault(),this.xEnd=event.clientX,this.yEnd=event.clientY
|
|
1
|
+
var defaultOptions={preventDefaultOnMove:!1,preventDefaultOnMouseWheel:!1,threshold:50,immediate:!1,triggerOnEnd:!1};var Swipe=class{inputOption;element;xStart;yStart;xEnd;yEnd;xDiff;yDiff;pointerDown=!1;onPointerDownCallback;onPointerMoveCallback;onPointerUpCallback;onMouseWheelCallback;start;stop;options;constructor(inputOption){this.inputOption=inputOption,this.options={...defaultOptions,...inputOption},this.onPointerDownCallback=this.handlePointerDown.bind(this),this.onPointerMoveCallback=this.handlePointerMove.bind(this),this.onPointerUpCallback=this.handlePointerUp.bind(this),this.onMouseWheelCallback=this.handleMouseWheel.bind(this),this.start=this.startListening.bind(this),this.stop=this.stopListening.bind(this),this.options.element&&this.setElement(this.options.element),this.options.immediate&&this.start()}startListening(){this.setElement(this.options.element),this.element?.addEventListener(`pointerdown`,this.onPointerDownCallback,{passive:!0}),this.element?.addEventListener(`pointermove`,this.onPointerMoveCallback,{passive:!this.options.preventDefaultOnMove}),this.element?.addEventListener(`pointerup`,this.onPointerUpCallback,{passive:!0}),this.element?.addEventListener(`pointercancel`,this.onPointerUpCallback,{passive:!0}),this.options.preventDefaultOnMouseWheel&&this.element?.addEventListener(`mousewheel`,this.onMouseWheelCallback,{passive:!1})}stopListening(){this.element?.removeEventListener(`pointerdown`,this.onPointerDownCallback),this.element?.removeEventListener(`pointermove`,this.onPointerMoveCallback),this.element?.removeEventListener(`pointerup`,this.onPointerUpCallback),this.element?.removeEventListener(`pointercancel`,this.onPointerUpCallback),this.options.preventDefaultOnMouseWheel&&this.element?.removeEventListener(`mousewheel`,this.onMouseWheelCallback)}setElement(element){if(!element){console.error(`[maz-ui][SwipeHandler](setElement) Element should be provided. Its can be a string selector or an HTMLElement`);return}if(typeof element==`string`){let foundElement=document.querySelector(element);if(!(foundElement instanceof HTMLElement)){console.error(`[maz-ui][SwipeHandler](setElement) String selector for element is not found`);return}this.element=foundElement}else this.element=element}isPointerAllowed(event){let type=event.pointerType;return!this.options.pointerTypes||!type||this.options.pointerTypes.includes(type)}handleMouseWheel(event){event.preventDefault()}handlePointerDown(event){this.isPointerAllowed(event)&&(this.pointerDown=!0,this.xStart=event.clientX,this.yStart=event.clientY,this.emitValuesChanged())}emitValuesChanged(){this.options.onValuesChanged?.({xStart:this.xStart,yStart:this.yStart,xEnd:this.xEnd,yEnd:this.yEnd,xDiff:this.xDiff,yDiff:this.yDiff})}handlePointerMove(event){this.pointerDown&&(this.options.preventDefaultOnMove&&event.cancelable&&event.preventDefault(),this.xEnd=event.clientX,this.yEnd=event.clientY,this.xStart!==void 0&&this.yStart!==void 0&&(this.xDiff=this.xStart-this.xEnd,this.yDiff=this.yStart-this.yEnd,this.emitValuesChanged(),this.options.triggerOnEnd||this.runCallbacks(event)))}handlePointerUp(event){this.options.triggerOnEnd&&(this.runCallbacks(event),this.emitValuesChanged()),this.pointerDown=!1}runCallbacks(event){typeof this.xDiff==`number`&&typeof this.yDiff==`number`&&(Math.abs(this.xDiff)<this.options.threshold&&Math.abs(this.yDiff)<this.options.threshold||(Math.abs(this.xDiff)>Math.abs(this.yDiff)?this.xDiff>0?this.options.onLeft?.(event):this.options.onRight?.(event):this.yDiff>0?this.options.onUp?.(event):this.options.onDown?.(event),this.resetValues()))}resetValues(){this.xStart=void 0,this.yStart=void 0,this.xEnd=void 0,this.yEnd=void 0,this.xDiff=void 0,this.yDiff=void 0,this.emitValuesChanged()}};export{Swipe};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maz-ui/utils",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.0.0-beta.
|
|
4
|
+
"version": "5.0.0-beta.44",
|
|
5
5
|
"description": "Utils of maz-ui for JavaScript/TypeScript users",
|
|
6
6
|
"author": "Louis Mazel <me@loicmazuel.com>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -70,8 +70,8 @@
|
|
|
70
70
|
}
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
|
-
"
|
|
74
|
-
"
|
|
73
|
+
"@maz-ui/vite-config": "0.0.0",
|
|
74
|
+
"libphonenumber-js": "^1.13.14"
|
|
75
75
|
},
|
|
76
76
|
"lint-staged": {
|
|
77
77
|
"*.{js,jsx,ts,tsx,mjs,mts,cjs,md,yml,json}": [
|
|
@@ -79,7 +79,6 @@
|
|
|
79
79
|
]
|
|
80
80
|
},
|
|
81
81
|
"scripts": {
|
|
82
|
-
"codegen": "nx build",
|
|
83
82
|
"build": "vite build",
|
|
84
83
|
"build:watch": "vite build --watch --mode development",
|
|
85
84
|
"typecheck": "tsc --noEmit --skipLibCheck",
|