@wikicasa-dev/utilities 1.0.1 → 1.0.3

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=()=>/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,e=()=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),t=()=>/^((?!chrome|android).)*safari/i.test(navigator.userAgent);exports.isMobile=e;exports.isSafari=t;exports.isiOSDevice=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./types-BwcfOdWy.cjs"),r=()=>/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,n=()=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),o=()=>/^((?!chrome|android).)*safari/i.test(navigator.userAgent),s=(t={sm:e.u.SMALL,md:e.u.MEDIUM,lg:e.u.LARGE,xl:e.u.EXTRA_LARGE})=>{const i=t;return window.innerWidth<i.sm?"mobile":window.innerWidth<i.lg?"tablet":"desktop"};exports.getCurrentDeviceSize=s;exports.isMobile=n;exports.isSafari=o;exports.isiOSDevice=r;
@@ -1,8 +1,18 @@
1
- const i = () => /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream, e = () => /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
1
+ import { u as i } from "./types-CTdZJ5hY.js";
2
+ const n = () => /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream, o = () => /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
2
3
  navigator.userAgent
3
- ), r = () => /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
4
+ ), s = () => /^((?!chrome|android).)*safari/i.test(navigator.userAgent), a = (t = {
5
+ sm: i.SMALL,
6
+ md: i.MEDIUM,
7
+ lg: i.LARGE,
8
+ xl: i.EXTRA_LARGE
9
+ }) => {
10
+ const e = t;
11
+ return window.innerWidth < e.sm ? "mobile" : window.innerWidth < e.lg ? "tablet" : "desktop";
12
+ };
4
13
  export {
5
- e as isMobile,
6
- r as isSafari,
7
- i as isiOSDevice
14
+ a as getCurrentDeviceSize,
15
+ o as isMobile,
16
+ s as isSafari,
17
+ n as isiOSDevice
8
18
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var c=(o=>(o[o.SELLING=0]="SELLING",o[o.SALE=1]="SALE",o[o.RENT=2]="RENT",o[o.AUCTION=3]="AUCTION",o))(c||{});const u={priceFrom:"PrezzoMinimo",priceTo:"PrezzoMassimo",sqMfrom:"SuperficieMinima",sqMto:"SuperficieMassima",roomsFrom:"NumeroMinimoLocali",roomsTo:"NumeroMassimoLocali",bathroomsFrom:"NumeroMinimoBagni",bathroomsTo:"NumeroMassimoBagni",conditionType:"StatoImmobile",energyClassFilter:"ClasseEnergetica",floor:"Piano",excludeAuctions:"EscludiAste",shortRentOnly:"SoloAffittiBrevi",excludeBareOwnership:"EscludiNudaProprieta",onlyPublicUser:"DaPrivato",balcony:"Balcone",terrace:"Terrazzo",balconyTerrace:"BalconeTerrazzo",boxCarSpot:"BoxPostoAuto",carSpot:"PostoAuto",box:"Box",lift:"Ascensore",privateGarden:"GiardinoPrivato",publicGarden:"GiardinoPubblico",cellar:"Cantina",airConditioning:"AriaCondizionata",furnished:"Arredato",publicTransport:"Trasporti",school:"Istruzione",market:"Supermercati",hospital:"Ospedali",pharmacy:"Farmacie",charging:"Ricarica",post:"UfficioPostale",bank:"Banche",swimmingPoolPrivate:"PiscinaPrivata",swimmingPoolPublic:"PiscinaCondominiale",luxury:"Lusso",discounted:"Sconto",filterOrderId:"Ordinamento"},s={sale:"Vendita",rent:"Affitto",auctionType:"Asta",bareOwnershipType:"NudaProprieta",typologyIdList:"Tipologia",filterOrderId:"Ordinamento"};function m(o,r,i,n,l,t,a){let e="/";return i&&(e+=(i==c.AUCTION?window._auctionLabel:i==c.RENT?window._rentLabel:window._saleLabel)+"-"),e+=`${r}/`,t&&(e+=`${t}/`),o&&(e+=`${o.replace(/^-+|-+$/g,"")}/`),n&&(e+=`${n.replace(/^_+|_+$/g,"")}/`),!n&&a&&(e+=`${a.replace(/^_+|_+$/g,"")}/`),l&&(e+=`${l.replace(/^_+|_+$/g,"")}/`),e}function d(o){const r=Object.keys(u).map(i=>o[i]?encodeURIComponent(u[i])+"="+encodeURIComponent(o[i]):null).filter(i=>i!==null);return r.length?`?${r.join("&")}`:""}function p(o){const r=Object.keys(s).map(i=>{if(o[i])if(Array.isArray(o[i])){const n=o[i],l=s[i];let t="";for(let a=0;a<n.length;a++)t+=encodeURIComponent(l)+"="+encodeURIComponent(n[a]),t+=a<n.length-1?"&":"";return t}else return encodeURIComponent(s[i])+"="+encodeURIComponent(o[i]);else return null}).filter(i=>i!==null);return r.length?`?${r.join("&")}`:""}exports.buildParams=d;exports.buildParamsForAgency=p;exports.buildURL=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./types-BwcfOdWy.cjs");function d(n,l,e,t,a,u,o){let r="/";return e&&(r+=(e==i.r.AUCTION?window._auctionLabel:e==i.r.RENT?window._rentLabel:window._saleLabel)+"-"),r+=`${l}/`,u&&(r+=`${u}/`),n&&(r+=`${n.replace(/^-+|-+$/g,"")}/`),t&&(r+=`${t.replace(/^_+|_+$/g,"")}/`),!t&&o&&(r+=`${o.replace(/^_+|_+$/g,"")}/`),a&&(r+=`${a.replace(/^_+|_+$/g,"")}/`),r}function f(n){const l=Object.keys(i.X).map(e=>n[e]?encodeURIComponent(i.X[e])+"="+encodeURIComponent(n[e]):null).filter(e=>e!==null);return l.length?`?${l.join("&")}`:""}function m(n){const l=Object.keys(i.J).map(e=>{if(n[e])if(Array.isArray(n[e])){const t=n[e],a=i.J[e];let u="";for(let o=0;o<t.length;o++)u+=encodeURIComponent(a)+"="+encodeURIComponent(t[o]),u+=o<t.length-1?"&":"";return u}else return encodeURIComponent(i.J[e])+"="+encodeURIComponent(n[e]);else return null}).filter(e=>e!==null);return l.length?`?${l.join("&")}`:""}exports.buildParams=f;exports.buildParamsForAgency=m;exports.buildURL=d;
@@ -1,80 +1,30 @@
1
- var c = /* @__PURE__ */ ((o) => (o[o.SELLING = 0] = "SELLING", o[o.SALE = 1] = "SALE", o[o.RENT = 2] = "RENT", o[o.AUCTION = 3] = "AUCTION", o))(c || {});
2
- const u = {
3
- priceFrom: "PrezzoMinimo",
4
- priceTo: "PrezzoMassimo",
5
- sqMfrom: "SuperficieMinima",
6
- sqMto: "SuperficieMassima",
7
- roomsFrom: "NumeroMinimoLocali",
8
- roomsTo: "NumeroMassimoLocali",
9
- bathroomsFrom: "NumeroMinimoBagni",
10
- bathroomsTo: "NumeroMassimoBagni",
11
- conditionType: "StatoImmobile",
12
- energyClassFilter: "ClasseEnergetica",
13
- floor: "Piano",
14
- excludeAuctions: "EscludiAste",
15
- shortRentOnly: "SoloAffittiBrevi",
16
- excludeBareOwnership: "EscludiNudaProprieta",
17
- onlyPublicUser: "DaPrivato",
18
- balcony: "Balcone",
19
- terrace: "Terrazzo",
20
- balconyTerrace: "BalconeTerrazzo",
21
- boxCarSpot: "BoxPostoAuto",
22
- carSpot: "PostoAuto",
23
- box: "Box",
24
- lift: "Ascensore",
25
- privateGarden: "GiardinoPrivato",
26
- publicGarden: "GiardinoPubblico",
27
- cellar: "Cantina",
28
- airConditioning: "AriaCondizionata",
29
- furnished: "Arredato",
30
- publicTransport: "Trasporti",
31
- school: "Istruzione",
32
- market: "Supermercati",
33
- hospital: "Ospedali",
34
- pharmacy: "Farmacie",
35
- charging: "Ricarica",
36
- post: "UfficioPostale",
37
- bank: "Banche",
38
- swimmingPoolPrivate: "PiscinaPrivata",
39
- swimmingPoolPublic: "PiscinaCondominiale",
40
- luxury: "Lusso",
41
- discounted: "Sconto",
42
- /* Don't consider this prop in the filters counter */
43
- filterOrderId: "Ordinamento"
44
- }, s = {
45
- sale: "Vendita",
46
- rent: "Affitto",
47
- auctionType: "Asta",
48
- bareOwnershipType: "NudaProprieta",
49
- typologyIdList: "Tipologia",
50
- filterOrderId: "Ordinamento"
51
- };
52
- function m(o, e, i, n, l, t, a) {
1
+ import { r as m, X as p, J as f } from "./types-CTdZJ5hY.js";
2
+ function a(e, o, n, l, u, i, t) {
53
3
  let r = "/";
54
- return i && (r += (i == c.AUCTION ? window._auctionLabel : i == c.RENT ? window._rentLabel : window._saleLabel) + "-"), r += `${e}/`, t && (r += `${t}/`), o && (r += `${o.replace(/^-+|-+$/g, "")}/`), n && (r += `${n.replace(/^_+|_+$/g, "")}/`), !n && a && (r += `${a.replace(/^_+|_+$/g, "")}/`), l && (r += `${l.replace(/^_+|_+$/g, "")}/`), r;
4
+ return n && (r += (n == m.AUCTION ? window._auctionLabel : n == m.RENT ? window._rentLabel : window._saleLabel) + "-"), r += `${o}/`, i && (r += `${i}/`), e && (r += `${e.replace(/^-+|-+$/g, "")}/`), l && (r += `${l.replace(/^_+|_+$/g, "")}/`), !l && t && (r += `${t.replace(/^_+|_+$/g, "")}/`), u && (r += `${u.replace(/^_+|_+$/g, "")}/`), r;
55
5
  }
56
- function d(o) {
57
- const e = Object.keys(u).map((i) => o[i] ? encodeURIComponent(u[i]) + "=" + encodeURIComponent(o[i]) : null).filter((i) => i !== null);
58
- return e.length ? `?${e.join("&")}` : "";
6
+ function d(e) {
7
+ const o = Object.keys(p).map((n) => e[n] ? encodeURIComponent(p[n]) + "=" + encodeURIComponent(e[n]) : null).filter((n) => n !== null);
8
+ return o.length ? `?${o.join("&")}` : "";
59
9
  }
60
- function p(o) {
61
- const e = Object.keys(s).map((i) => {
62
- if (o[i])
63
- if (Array.isArray(o[i])) {
64
- const n = o[i], l = s[i];
65
- let t = "";
66
- for (let a = 0; a < n.length; a++)
67
- t += encodeURIComponent(l) + "=" + encodeURIComponent(n[a]), t += a < n.length - 1 ? "&" : "";
68
- return t;
10
+ function s(e) {
11
+ const o = Object.keys(f).map((n) => {
12
+ if (e[n])
13
+ if (Array.isArray(e[n])) {
14
+ const l = e[n], u = f[n];
15
+ let i = "";
16
+ for (let t = 0; t < l.length; t++)
17
+ i += encodeURIComponent(u) + "=" + encodeURIComponent(l[t]), i += t < l.length - 1 ? "&" : "";
18
+ return i;
69
19
  } else
70
- return encodeURIComponent(s[i]) + "=" + encodeURIComponent(o[i]);
20
+ return encodeURIComponent(f[n]) + "=" + encodeURIComponent(e[n]);
71
21
  else
72
22
  return null;
73
- }).filter((i) => i !== null);
74
- return e.length ? `?${e.join("&")}` : "";
23
+ }).filter((n) => n !== null);
24
+ return o.length ? `?${o.join("&")}` : "";
75
25
  }
76
26
  export {
77
27
  d as buildParams,
78
- p as buildParamsForAgency,
79
- m as buildURL
28
+ s as buildParamsForAgency,
29
+ a as buildURL
80
30
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=/^(\+?[0-9][\s.-/]?[0-9]{0,3}|\+?[0-9]{2,4}[\s.-/]?[0-9]?)?(\s.-\/)?([0-9]{2,4}[\s.-/]?)?([\s.-/]?[0-9]+)+$/im,_=/[+]?[(]?[0-9]{3}[)]?[-\s.]?[0-9]{3}[-\s.]?[0-9]{1,6}/g,R=/[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)/,X=/^(0?[1-9]|[12][0-9]|3[01])[/-](0?[1-9]|1[012])[/-]\d{4}/g,G=["S ID: ","RIF: R","RIF. "],s=/[0-9]{1,2}/,t=/[0-9]{1,5}/,O=/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[@#$%^&+=!_*?]).{8,32}$/,A=/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+)/gi,o=/(https:\/\/)?(www.)?(immobiliare|idealista).it([/a-zA-Z0-9-]+)/im;exports.COMPETITOR_REGEX=o;exports.DATE_REGEX=X;exports.EMAIL_REGEX=R;exports.EMAIL_REGEX_INTO_TEXT=A;exports.EXCLUDED_REGEX=G;exports.GLOBAL_PHONE_REGEX=_;exports.PASSWORD_REGEX=O;exports.PHONE_REGEX=E;exports.ROOMS_REGEX=s;exports.SQM_REGEX=t;
@@ -0,0 +1,13 @@
1
+ const E = /^(\+?[0-9][\s.-/]?[0-9]{0,3}|\+?[0-9]{2,4}[\s.-/]?[0-9]?)?(\s.-\/)?([0-9]{2,4}[\s.-/]?)?([\s.-/]?[0-9]+)+$/im, s = /[+]?[(]?[0-9]{3}[)]?[-\s.]?[0-9]{3}[-\s.]?[0-9]{1,6}/g, _ = /[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)/, R = /^(0?[1-9]|[12][0-9]|3[01])[/-](0?[1-9]|1[012])[/-]\d{4}/g, t = ["S ID: ", "RIF: R", "RIF. "], A = /[0-9]{1,2}/, o = /[0-9]{1,5}/, X = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[@#$%^&+=!_*?]).{8,32}$/, a = /([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+)/gi, G = /(https:\/\/)?(www.)?(immobiliare|idealista).it([/a-zA-Z0-9-]+)/im;
2
+ export {
3
+ G as COMPETITOR_REGEX,
4
+ R as DATE_REGEX,
5
+ _ as EMAIL_REGEX,
6
+ a as EMAIL_REGEX_INTO_TEXT,
7
+ t as EXCLUDED_REGEX,
8
+ s as GLOBAL_PHONE_REGEX,
9
+ X as PASSWORD_REGEX,
10
+ E as PHONE_REGEX,
11
+ A as ROOMS_REGEX,
12
+ o as SQM_REGEX
13
+ };
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./ArrayUtils.cjs"),u=require("./ColorUtils.cjs"),t=require("./CookieUtils.cjs"),d=require("./CurrencyUtils.cjs"),b=require("./DateUtils.cjs"),o=require("./DeviceDetectionUtils.cjs"),i=require("./DOMUtils.cjs"),p=require("./EmailUtils.cjs"),l=require("./FunctionUtils.cjs"),n=require("./GenericUtils.cjs"),r=require("./NumberUtils.cjs"),s=require("./ObjectUtils.cjs"),C=require("./ObserverUtils.cjs"),c=require("./PermissionUtils.cjs"),a=require("./RESB_UrlBuilder.cjs"),e=require("./StringUtils.cjs"),y=require("./URLBuilderUtils.cjs");exports.isArrNullOrEmpty=m.isArrNullOrEmpty;exports.rgba=u.rgba;exports.decodeCookie=t.decodeCookie;exports.encodeCookie=t.encodeCookie;exports.getCookie=t.getCookie;exports.removeCookie=t.removeCookie;exports.formatCurrency=d.formatCurrency;exports.formatDate=b.formatDate;exports.isMobile=o.isMobile;exports.isSafari=o.isSafari;exports.isiOSDevice=o.isiOSDevice;exports.emptyElem=i.emptyElem;exports.getSingleElement=i.getSingleElement;exports.hideElem=i.hideElem;exports.showElem=i.showElem;exports.hashEmail=p.hashEmail;exports.debounce=l.debounce;exports.isPromise=l.isPromise;exports.awaitableSetTimeout=n.awaitableSetTimeout;exports.createCustomEvent=n.createCustomEvent;exports.formatFloat=r.formatFloat;exports.formatInteger=r.formatInteger;exports.formatLocaleNumber=r.formatLocaleNumber;exports.formatNumber=r.formatNumber;exports.formatterNumberObj=r.formatterNumberObj;exports.parseLocaleNumber=r.parseLocaleNumber;exports.deepCopy=s.deepCopy;exports.isEmptyObject=s.isEmptyObject;exports.shallowCopyObjectTo=s.shallowCopyObjectTo;exports.observeOnce=C.observeOnce;exports.addPermissionStateListener=c.addPermissionStateListener;exports.onNotificationsPermissionChange=c.onNotificationsPermissionChange;exports.buildParams=a.buildParams;exports.buildParamsForAgency=a.buildParamsForAgency;exports.buildURL=a.buildURL;exports.capitalizeFirstLetter=e.capitalizeFirstLetter;exports.cleanASCII=e.cleanASCII;exports.decodeTextWithEntities=e.decodeTextWithEntities;exports.formatAddress=e.formatAddress;exports.replaceAll=e.replaceAll;exports.replaceAllTokens=e.replaceAllTokens;exports.stringToHyphened=e.stringToHyphened;exports.appendQueryString=y.appendQueryString;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./ArrayUtils.cjs"),u=require("./ColorUtils.cjs"),i=require("./CookieUtils.cjs"),d=require("./CurrencyUtils.cjs"),b=require("./DateUtils.cjs"),o=require("./DeviceDetectionUtils.cjs"),s=require("./DOMUtils.cjs"),O=require("./EmailUtils.cjs"),l=require("./FunctionUtils.cjs"),n=require("./GenericUtils.cjs"),t=require("./NumberUtils.cjs"),a=require("./ObjectUtils.cjs"),R=require("./ObserverUtils.cjs"),c=require("./PermissionUtils.cjs"),E=require("./RESB_UrlBuilder.cjs"),r=require("./StringUtils.cjs"),C=require("./URLBuilderUtils.cjs"),e=require("./RegexUtils.cjs");exports.isArrNullOrEmpty=m.isArrNullOrEmpty;exports.rgba=u.rgba;exports.decodeCookie=i.decodeCookie;exports.encodeCookie=i.encodeCookie;exports.getCookie=i.getCookie;exports.removeCookie=i.removeCookie;exports.formatCurrency=d.formatCurrency;exports.formatDate=b.formatDate;exports.getCurrentDeviceSize=o.getCurrentDeviceSize;exports.isMobile=o.isMobile;exports.isSafari=o.isSafari;exports.isiOSDevice=o.isiOSDevice;exports.emptyElem=s.emptyElem;exports.getSingleElement=s.getSingleElement;exports.hideElem=s.hideElem;exports.showElem=s.showElem;exports.hashEmail=O.hashEmail;exports.debounce=l.debounce;exports.isPromise=l.isPromise;exports.awaitableSetTimeout=n.awaitableSetTimeout;exports.createCustomEvent=n.createCustomEvent;exports.formatFloat=t.formatFloat;exports.formatInteger=t.formatInteger;exports.formatLocaleNumber=t.formatLocaleNumber;exports.formatNumber=t.formatNumber;exports.formatterNumberObj=t.formatterNumberObj;exports.parseLocaleNumber=t.parseLocaleNumber;exports.deepCopy=a.deepCopy;exports.isEmptyObject=a.isEmptyObject;exports.shallowCopyObjectTo=a.shallowCopyObjectTo;exports.observeOnce=R.observeOnce;exports.addPermissionStateListener=c.addPermissionStateListener;exports.onNotificationsPermissionChange=c.onNotificationsPermissionChange;exports.buildParams=E.buildParams;exports.buildParamsForAgency=E.buildParamsForAgency;exports.buildURL=E.buildURL;exports.capitalizeFirstLetter=r.capitalizeFirstLetter;exports.cleanASCII=r.cleanASCII;exports.decodeTextWithEntities=r.decodeTextWithEntities;exports.formatAddress=r.formatAddress;exports.replaceAll=r.replaceAll;exports.replaceAllTokens=r.replaceAllTokens;exports.stringToHyphened=r.stringToHyphened;exports.appendQueryString=C.appendQueryString;exports.COMPETITOR_REGEX=e.COMPETITOR_REGEX;exports.DATE_REGEX=e.DATE_REGEX;exports.EMAIL_REGEX=e.EMAIL_REGEX;exports.EMAIL_REGEX_INTO_TEXT=e.EMAIL_REGEX_INTO_TEXT;exports.EXCLUDED_REGEX=e.EXCLUDED_REGEX;exports.GLOBAL_PHONE_REGEX=e.GLOBAL_PHONE_REGEX;exports.PASSWORD_REGEX=e.PASSWORD_REGEX;exports.PHONE_REGEX=e.PHONE_REGEX;exports.ROOMS_REGEX=e.ROOMS_REGEX;exports.SQM_REGEX=e.SQM_REGEX;
package/dist/index.d.ts CHANGED
@@ -15,3 +15,4 @@ export * from './utils/PermissionUtils';
15
15
  export * from './utils/RESB_UrlBuilder';
16
16
  export * from './utils/StringUtils';
17
17
  export * from './utils/URLBuilderUtils';
18
+ export * from './utils/RegexUtils';
package/dist/index.js CHANGED
@@ -1,62 +1,74 @@
1
1
  import { isArrNullOrEmpty as r } from "./ArrayUtils.js";
2
2
  import { rgba as m } from "./ColorUtils.js";
3
- import { decodeCookie as a, encodeCookie as p, getCookie as f, removeCookie as s } from "./CookieUtils.js";
4
- import { formatCurrency as n } from "./CurrencyUtils.js";
5
- import { formatDate as x } from "./DateUtils.js";
6
- import { isMobile as b, isSafari as u, isiOSDevice as C } from "./DeviceDetectionUtils.js";
7
- import { emptyElem as y, getSingleElement as E, hideElem as h, showElem as S } from "./DOMUtils.js";
8
- import { hashEmail as N } from "./EmailUtils.js";
9
- import { debounce as k, isPromise as L } from "./FunctionUtils.js";
10
- import { awaitableSetTimeout as T, createCustomEvent as v } from "./GenericUtils.js";
11
- import { formatFloat as w, formatInteger as F, formatLocaleNumber as I, formatNumber as D, formatterNumberObj as z, parseLocaleNumber as H } from "./NumberUtils.js";
12
- import { deepCopy as Q, isEmptyObject as R, shallowCopyObjectTo as U } from "./ObjectUtils.js";
13
- import { observeOnce as q } from "./ObserverUtils.js";
14
- import { addPermissionStateListener as G, onNotificationsPermissionChange as J } from "./PermissionUtils.js";
15
- import { buildParams as V, buildParamsForAgency as X, buildURL as Y } from "./RESB_UrlBuilder.js";
16
- import { capitalizeFirstLetter as _, cleanASCII as $, decodeTextWithEntities as ee, formatAddress as oe, replaceAll as re, replaceAllTokens as te, stringToHyphened as me } from "./StringUtils.js";
3
+ import { decodeCookie as E, encodeCookie as a, getCookie as p, removeCookie as f } from "./CookieUtils.js";
4
+ import { formatCurrency as l } from "./CurrencyUtils.js";
5
+ import { formatDate as c } from "./DateUtils.js";
6
+ import { getCurrentDeviceSize as d, isMobile as b, isSafari as O, isiOSDevice as u } from "./DeviceDetectionUtils.js";
7
+ import { emptyElem as C, getSingleElement as _, hideElem as S, showElem as X } from "./DOMUtils.js";
8
+ import { hashEmail as G } from "./EmailUtils.js";
9
+ import { debounce as g, isPromise as L } from "./FunctionUtils.js";
10
+ import { awaitableSetTimeout as N, createCustomEvent as P } from "./GenericUtils.js";
11
+ import { formatFloat as D, formatInteger as I, formatLocaleNumber as M, formatNumber as k, formatterNumberObj as v, parseLocaleNumber as j } from "./NumberUtils.js";
12
+ import { deepCopy as F, isEmptyObject as H, shallowCopyObjectTo as z } from "./ObjectUtils.js";
13
+ import { observeOnce as U } from "./ObserverUtils.js";
14
+ import { addPermissionStateListener as B, onNotificationsPermissionChange as q } from "./PermissionUtils.js";
15
+ import { buildParams as K, buildParamsForAgency as V, buildURL as Y } from "./RESB_UrlBuilder.js";
16
+ import { capitalizeFirstLetter as $, cleanASCII as ee, decodeTextWithEntities as oe, formatAddress as re, replaceAll as te, replaceAllTokens as me, stringToHyphened as ie } from "./StringUtils.js";
17
17
  import { appendQueryString as ae } from "./URLBuilderUtils.js";
18
+ import { COMPETITOR_REGEX as fe, DATE_REGEX as se, EMAIL_REGEX as le, EMAIL_REGEX_INTO_TEXT as ne, EXCLUDED_REGEX as ce, GLOBAL_PHONE_REGEX as xe, PASSWORD_REGEX as de, PHONE_REGEX as be, ROOMS_REGEX as Oe, SQM_REGEX as ue } from "./RegexUtils.js";
18
19
  export {
19
- G as addPermissionStateListener,
20
+ fe as COMPETITOR_REGEX,
21
+ se as DATE_REGEX,
22
+ le as EMAIL_REGEX,
23
+ ne as EMAIL_REGEX_INTO_TEXT,
24
+ ce as EXCLUDED_REGEX,
25
+ xe as GLOBAL_PHONE_REGEX,
26
+ de as PASSWORD_REGEX,
27
+ be as PHONE_REGEX,
28
+ Oe as ROOMS_REGEX,
29
+ ue as SQM_REGEX,
30
+ B as addPermissionStateListener,
20
31
  ae as appendQueryString,
21
- T as awaitableSetTimeout,
22
- V as buildParams,
23
- X as buildParamsForAgency,
32
+ N as awaitableSetTimeout,
33
+ K as buildParams,
34
+ V as buildParamsForAgency,
24
35
  Y as buildURL,
25
- _ as capitalizeFirstLetter,
26
- $ as cleanASCII,
27
- v as createCustomEvent,
28
- k as debounce,
29
- a as decodeCookie,
30
- ee as decodeTextWithEntities,
31
- Q as deepCopy,
32
- y as emptyElem,
33
- p as encodeCookie,
34
- oe as formatAddress,
35
- n as formatCurrency,
36
- x as formatDate,
37
- w as formatFloat,
38
- F as formatInteger,
39
- I as formatLocaleNumber,
40
- D as formatNumber,
41
- z as formatterNumberObj,
42
- f as getCookie,
43
- E as getSingleElement,
44
- N as hashEmail,
45
- h as hideElem,
36
+ $ as capitalizeFirstLetter,
37
+ ee as cleanASCII,
38
+ P as createCustomEvent,
39
+ g as debounce,
40
+ E as decodeCookie,
41
+ oe as decodeTextWithEntities,
42
+ F as deepCopy,
43
+ C as emptyElem,
44
+ a as encodeCookie,
45
+ re as formatAddress,
46
+ l as formatCurrency,
47
+ c as formatDate,
48
+ D as formatFloat,
49
+ I as formatInteger,
50
+ M as formatLocaleNumber,
51
+ k as formatNumber,
52
+ v as formatterNumberObj,
53
+ p as getCookie,
54
+ d as getCurrentDeviceSize,
55
+ _ as getSingleElement,
56
+ G as hashEmail,
57
+ S as hideElem,
46
58
  r as isArrNullOrEmpty,
47
- R as isEmptyObject,
59
+ H as isEmptyObject,
48
60
  b as isMobile,
49
61
  L as isPromise,
50
- u as isSafari,
51
- C as isiOSDevice,
52
- q as observeOnce,
53
- J as onNotificationsPermissionChange,
54
- H as parseLocaleNumber,
55
- s as removeCookie,
56
- re as replaceAll,
57
- te as replaceAllTokens,
62
+ O as isSafari,
63
+ u as isiOSDevice,
64
+ U as observeOnce,
65
+ q as onNotificationsPermissionChange,
66
+ j as parseLocaleNumber,
67
+ f as removeCookie,
68
+ te as replaceAll,
69
+ me as replaceAllTokens,
58
70
  m as rgba,
59
- U as shallowCopyObjectTo,
60
- S as showElem,
61
- me as stringToHyphened
71
+ z as shallowCopyObjectTo,
72
+ X as showElem,
73
+ ie as stringToHyphened
62
74
  };
@@ -0,0 +1 @@
1
+ "use strict";var i=(o=>(o[o.SMALL=576]="SMALL",o[o.MEDIUM=768]="MEDIUM",o[o.LARGE=992]="LARGE",o[o.EXTRA_LARGE=1200]="EXTRA_LARGE",o))(i||{}),r=(o=>(o[o.SELLING=0]="SELLING",o[o.SALE=1]="SALE",o[o.RENT=2]="RENT",o[o.AUCTION=3]="AUCTION",o))(r||{});const a={priceFrom:"PrezzoMinimo",priceTo:"PrezzoMassimo",sqMfrom:"SuperficieMinima",sqMto:"SuperficieMassima",roomsFrom:"NumeroMinimoLocali",roomsTo:"NumeroMassimoLocali",bathroomsFrom:"NumeroMinimoBagni",bathroomsTo:"NumeroMassimoBagni",conditionType:"StatoImmobile",energyClassFilter:"ClasseEnergetica",floor:"Piano",excludeAuctions:"EscludiAste",shortRentOnly:"SoloAffittiBrevi",excludeBareOwnership:"EscludiNudaProprieta",onlyPublicUser:"DaPrivato",balcony:"Balcone",terrace:"Terrazzo",balconyTerrace:"BalconeTerrazzo",boxCarSpot:"BoxPostoAuto",carSpot:"PostoAuto",box:"Box",lift:"Ascensore",privateGarden:"GiardinoPrivato",publicGarden:"GiardinoPubblico",cellar:"Cantina",airConditioning:"AriaCondizionata",furnished:"Arredato",publicTransport:"Trasporti",school:"Istruzione",market:"Supermercati",hospital:"Ospedali",pharmacy:"Farmacie",charging:"Ricarica",post:"UfficioPostale",bank:"Banche",swimmingPoolPrivate:"PiscinaPrivata",swimmingPoolPublic:"PiscinaCondominiale",luxury:"Lusso",discounted:"Sconto",filterOrderId:"Ordinamento"},e={sale:"Vendita",rent:"Affitto",auctionType:"Asta",bareOwnershipType:"NudaProprieta",typologyIdList:"Tipologia",filterOrderId:"Ordinamento"};exports.J=e;exports.X=a;exports.r=r;exports.u=i;
@@ -0,0 +1,57 @@
1
+ var i = /* @__PURE__ */ ((o) => (o[o.SMALL = 576] = "SMALL", o[o.MEDIUM = 768] = "MEDIUM", o[o.LARGE = 992] = "LARGE", o[o.EXTRA_LARGE = 1200] = "EXTRA_LARGE", o))(i || {}), r = /* @__PURE__ */ ((o) => (o[o.SELLING = 0] = "SELLING", o[o.SALE = 1] = "SALE", o[o.RENT = 2] = "RENT", o[o.AUCTION = 3] = "AUCTION", o))(r || {});
2
+ const a = {
3
+ priceFrom: "PrezzoMinimo",
4
+ priceTo: "PrezzoMassimo",
5
+ sqMfrom: "SuperficieMinima",
6
+ sqMto: "SuperficieMassima",
7
+ roomsFrom: "NumeroMinimoLocali",
8
+ roomsTo: "NumeroMassimoLocali",
9
+ bathroomsFrom: "NumeroMinimoBagni",
10
+ bathroomsTo: "NumeroMassimoBagni",
11
+ conditionType: "StatoImmobile",
12
+ energyClassFilter: "ClasseEnergetica",
13
+ floor: "Piano",
14
+ excludeAuctions: "EscludiAste",
15
+ shortRentOnly: "SoloAffittiBrevi",
16
+ excludeBareOwnership: "EscludiNudaProprieta",
17
+ onlyPublicUser: "DaPrivato",
18
+ balcony: "Balcone",
19
+ terrace: "Terrazzo",
20
+ balconyTerrace: "BalconeTerrazzo",
21
+ boxCarSpot: "BoxPostoAuto",
22
+ carSpot: "PostoAuto",
23
+ box: "Box",
24
+ lift: "Ascensore",
25
+ privateGarden: "GiardinoPrivato",
26
+ publicGarden: "GiardinoPubblico",
27
+ cellar: "Cantina",
28
+ airConditioning: "AriaCondizionata",
29
+ furnished: "Arredato",
30
+ publicTransport: "Trasporti",
31
+ school: "Istruzione",
32
+ market: "Supermercati",
33
+ hospital: "Ospedali",
34
+ pharmacy: "Farmacie",
35
+ charging: "Ricarica",
36
+ post: "UfficioPostale",
37
+ bank: "Banche",
38
+ swimmingPoolPrivate: "PiscinaPrivata",
39
+ swimmingPoolPublic: "PiscinaCondominiale",
40
+ luxury: "Lusso",
41
+ discounted: "Sconto",
42
+ /* Don't consider this prop in the filters counter */
43
+ filterOrderId: "Ordinamento"
44
+ }, e = {
45
+ sale: "Vendita",
46
+ rent: "Affitto",
47
+ auctionType: "Asta",
48
+ bareOwnershipType: "NudaProprieta",
49
+ typologyIdList: "Tipologia",
50
+ filterOrderId: "Ordinamento"
51
+ };
52
+ export {
53
+ e as J,
54
+ a as X,
55
+ r,
56
+ i as u
57
+ };
@@ -1,8 +1,31 @@
1
- declare global {
2
- interface Window {
3
- MSStream: any;
4
- }
5
- }
1
+ /**
2
+ * Check if the current device is an iOS device based on the user agent string.
3
+ *
4
+ * @returns {boolean} Returns true if the device is an iOS device, false otherwise.
5
+ */
6
6
  export declare const isiOSDevice: () => boolean;
7
+ /**
8
+ * Check if the current device is a mobile device based on the user agent string.
9
+ *
10
+ * @returns {boolean} Returns true if the device is a mobile device, false otherwise.
11
+ */
7
12
  export declare const isMobile: () => boolean;
13
+ /**
14
+ * Check if the current browser is Safari based on the user agent string.
15
+ *
16
+ * @returns {boolean} Returns true if the browser is Safari, false otherwise.
17
+ */
8
18
  export declare const isSafari: () => boolean;
19
+ type BreakpointType = {
20
+ sm: number;
21
+ md: number;
22
+ lg: number;
23
+ xl: number;
24
+ };
25
+ /**
26
+ * Determines the current device size based on the window.innerWidth and provided breakpoints.
27
+ * @param breakpoints - An object containing the breakpoints for different device sizes.
28
+ * @returns A string indicating the current device size: "desktop", "mobile", or "tablet".
29
+ */
30
+ export declare const getCurrentDeviceSize: (breakpoints?: BreakpointType) => "desktop" | "mobile" | "tablet";
31
+ export {};
@@ -0,0 +1,10 @@
1
+ export declare const PHONE_REGEX: RegExp;
2
+ export declare const GLOBAL_PHONE_REGEX: RegExp;
3
+ export declare const EMAIL_REGEX: RegExp;
4
+ export declare const DATE_REGEX: RegExp;
5
+ export declare const EXCLUDED_REGEX: string[];
6
+ export declare const ROOMS_REGEX: RegExp;
7
+ export declare const SQM_REGEX: RegExp;
8
+ export declare const PASSWORD_REGEX: RegExp;
9
+ export declare const EMAIL_REGEX_INTO_TEXT: RegExp;
10
+ export declare const COMPETITOR_REGEX: RegExp;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wikicasa-dev/utilities",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Wikicasa frontend utilities",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -38,7 +38,7 @@
38
38
  "typescript": "^5.4.3",
39
39
  "vite": "^5.2.3",
40
40
  "vite-plugin-dts": "^3.7.3",
41
- "@wikicasa-dev/types": "^1.0.0"
41
+ "@wikicasa-dev/types": "^1.0.11"
42
42
  },
43
43
  "dependencies": {
44
44
  "axios": "^1.4.0",