react-luminus-components 1.3.30 → 1.3.31

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.
Files changed (29) hide show
  1. package/dist/.vite/manifest.json +60 -60
  2. package/dist/{FromToDatePickerDropdownToggle-C4ntsFqz.cjs → FromToDatePickerDropdownToggle-EhHpHC9A.cjs} +4 -4
  3. package/dist/{FromToDatePickerDropdownToggle-CK3riYKN.js → FromToDatePickerDropdownToggle-a6zb7EV7.js} +19 -16
  4. package/dist/{PrimaryButton-BOdgT4u0.js → PrimaryButton-BbKMePCv.js} +1 -1
  5. package/dist/{PrimaryButton-OffsUx-G.cjs → PrimaryButton-ugYzKlak.cjs} +1 -1
  6. package/dist/{SimpleTooltip-D4KGsTa_.js → SimpleTooltip-Boktzm98.js} +1 -1
  7. package/dist/{SimpleTooltip-D92MXZSs.cjs → SimpleTooltip-ngcscCjg.cjs} +1 -1
  8. package/dist/contexts.cjs.js +1 -1
  9. package/dist/contexts.es.js +4 -4
  10. package/dist/dateUtils-CIDS0n5B.cjs +1 -0
  11. package/dist/{dateUtils-DqftcSRs.js → dateUtils-D5PdELhi.js} +162 -162
  12. package/dist/hooks.cjs.js +1 -1
  13. package/dist/hooks.es.js +5 -5
  14. package/dist/layout.cjs.js +1 -1
  15. package/dist/layout.es.js +3 -3
  16. package/dist/main.cjs.js +1 -1
  17. package/dist/main.es.js +6 -6
  18. package/dist/{searchUtils-DKaMRBRf.cjs → searchUtils-9_EWs2V9.cjs} +1 -1
  19. package/dist/{searchUtils-BHsouXbH.js → searchUtils-CEjMiULh.js} +1 -1
  20. package/dist/{useLocalStorageState-DmtUyPYX.cjs → useLocalStorageState-CT8xepqa.cjs} +1 -1
  21. package/dist/{useLocalStorageState-BY8tnvJS.js → useLocalStorageState-DkeM8Y6R.js} +1 -1
  22. package/dist/{usePermissions-CYURG0V1.cjs → usePermissions-BkVAe1PL.cjs} +1 -1
  23. package/dist/{usePermissions-DOWgyuUi.js → usePermissions-Dh1Sgbd7.js} +1 -1
  24. package/dist/utils/text/textUtils.d.ts +8 -0
  25. package/dist/utils.cjs.js +1 -1
  26. package/dist/utils.d.ts +10 -0
  27. package/dist/utils.es.js +32 -30
  28. package/package.json +1 -1
  29. package/dist/dateUtils-DRVYuJv7.cjs +0 -1
package/dist/main.es.js CHANGED
@@ -1,16 +1,16 @@
1
- import { j as r, c as x, t as Z, a as Te, m as cs, b as ls, d as is, s as ds, e as us, f as fs, g as ps, h as hs, i as ms, k as gs, l as xs, T as bn, n as kn, o as Lt, E as vs, p as Nn, q as xt, r as Cn, u as ws, v as L, w as ue, x as In, F as dt, y as _s, z as ys, A as js, B as bs, C as ks, D as Ns, G as Cs, H as Is, I as vt, J as $n, K as Sn, L as $s, M as Ne, N as Ss, O as Ds, P as ke, Q as Dn, S as Bt, R as Re, U as Es, V as Ze, W as z, X as wt, Y as Ts, Z as En, _ as Se, $ as We, a0 as Ht, a1 as As, a2 as Os, a3 as ae, a4 as Ms, a5 as Fs, a6 as Tn, a7 as _t, a8 as yt, a9 as Ie, aa as fe, ab as An, ac as jt, ad as xe, ae as On, af as bt, ag as Rs, ah as Mn, ai as Ps, aj as Fn, ak as Ls, al as Bs, am as Rn, an as Hs, ao as Ws, ap as qs, aq as Us, ar as zs, as as Vs, at as Wt, au as Gs } from "./FromToDatePickerDropdownToggle-CK3riYKN.js";
2
- import { av as Cd } from "./FromToDatePickerDropdownToggle-CK3riYKN.js";
1
+ import { j as r, c as x, t as Z, a as Te, m as cs, b as ls, d as is, s as ds, e as us, f as fs, g as ps, h as hs, i as ms, k as gs, l as xs, T as bn, n as kn, o as Lt, E as vs, p as Nn, q as xt, r as Cn, u as ws, v as L, w as ue, x as In, F as dt, y as _s, z as ys, A as js, B as bs, C as ks, D as Ns, G as Cs, H as Is, I as vt, J as $n, K as Sn, L as $s, M as Ne, N as Ss, O as Ds, P as ke, Q as Dn, S as Bt, R as Re, U as Es, V as Ze, W as z, X as wt, Y as Ts, Z as En, _ as Se, $ as We, a0 as Ht, a1 as As, a2 as Os, a3 as ae, a4 as Ms, a5 as Fs, a6 as Tn, a7 as _t, a8 as yt, a9 as Ie, aa as fe, ab as An, ac as jt, ad as xe, ae as On, af as bt, ag as Rs, ah as Mn, ai as Ps, aj as Fn, ak as Ls, al as Bs, am as Rn, an as Hs, ao as Ws, ap as qs, aq as Us, ar as zs, as as Vs, at as Wt, au as Gs } from "./FromToDatePickerDropdownToggle-a6zb7EV7.js";
2
+ import { av as Cd } from "./FromToDatePickerDropdownToggle-a6zb7EV7.js";
3
3
  import * as E from "react";
4
4
  import re, { useCallback as I, useMemo as U, useEffect as M, useRef as W, useState as D, useReducer as Pn, useContext as H, createElement as Ys, Component as Ks, isValidElement as Qs, Suspense as Js } from "react";
5
- import { c as he, d as Ke, C as Xs, a as Ln, u as Zs, q as qt, F as eo, b as Bn, A as to, M as no, B as ro, e as so, g as oo, E as Pe, P as Ut, f as Le, L as zt } from "./PrimaryButton-BOdgT4u0.js";
5
+ import { c as he, d as Ke, C as Xs, a as Ln, u as Zs, q as qt, F as eo, b as Bn, A as to, M as no, B as ro, e as so, g as oo, E as Pe, P as Ut, f as Le, L as zt } from "./PrimaryButton-BbKMePCv.js";
6
6
  import "zod";
7
7
  import { useFormContext as pe, Controller as Hn } from "react-hook-form";
8
8
  import { Link as ao } from "react-router-dom";
9
- import { s as Vt, g as Gt, d as qe, f as Ae, p as co, t as ge, a as lo, b as io } from "./dateUtils-DqftcSRs.js";
10
- import { S as uo } from "./SimpleTooltip-D4KGsTa_.js";
9
+ import { s as Vt, g as Gt, d as qe, f as Ae, p as co, t as ge, a as lo, b as io } from "./dateUtils-D5PdELhi.js";
10
+ import { S as uo } from "./SimpleTooltip-Boktzm98.js";
11
11
  import { u as Wn, a as qn, b as Un } from "./useFormControlType-oJGqgThz.js";
12
12
  import ze from "react-dom";
13
- import { s as fo } from "./searchUtils-BHsouXbH.js";
13
+ import { s as fo } from "./searchUtils-CEjMiULh.js";
14
14
  const qi = ({ fileLoader: t, fileName: e, children: n }) => {
15
15
  const s = I(async () => {
16
16
  var i, l;
@@ -1 +1 @@
1
- "use strict";const e=require("./FromToDatePickerDropdownToggle-C4ntsFqz.cjs"),i=(r,t)=>t?r?e.latinize(r).toLowerCase().includes(e.latinize(t.toLowerCase())):!1:!0,n=(r,t)=>t?r?e.latinize(r).toLowerCase().startsWith(e.latinize(t.toLowerCase())):!1:!0,a=(r,t)=>t?t.startsWith("*")?i(r,t.substring(1)):n(r,t):!0;exports.stringContains=i;exports.stringSearchWithin=a;exports.stringStartsWith=n;
1
+ "use strict";const e=require("./FromToDatePickerDropdownToggle-EhHpHC9A.cjs"),i=(r,t)=>t?r?e.latinize(r).toLowerCase().includes(e.latinize(t.toLowerCase())):!1:!0,n=(r,t)=>t?r?e.latinize(r).toLowerCase().startsWith(e.latinize(t.toLowerCase())):!1:!0,a=(r,t)=>t?t.startsWith("*")?i(r,t.substring(1)):n(r,t):!0;exports.stringContains=i;exports.stringSearchWithin=a;exports.stringStartsWith=n;
@@ -1,4 +1,4 @@
1
- import { b1 as e } from "./FromToDatePickerDropdownToggle-CK3riYKN.js";
1
+ import { b3 as e } from "./FromToDatePickerDropdownToggle-a6zb7EV7.js";
2
2
  const n = (r, t) => t ? r ? e(r).toLowerCase().includes(e(t.toLowerCase())) : !1 : !0, i = (r, t) => t ? r ? e(r).toLowerCase().startsWith(e(t.toLowerCase())) : !1 : !0, o = (r, t) => t ? t.startsWith("*") ? n(r, t.substring(1)) : i(r, t) : !0;
3
3
  export {
4
4
  n as a,
@@ -1 +1 @@
1
- "use strict";const n=require("react"),S=require("./FromToDatePickerDropdownToggle-C4ntsFqz.cjs");require("zod");require("react-hook-form");require("react-router-dom");const D=()=>{const{isShown:t,text:s,showPrompt:r,hidePrompt:e,resolveRef:o,setOptions:a}=n.useContext(S.PromptContext),l=n.useCallback(c=>{e(),o.current(c)},[e,o]),C=n.useCallback(async(c,u)=>(a(i=>({...i,...u})),r(c),new Promise(i=>{o.current=i})),[o,a,r]);return{isShown:t,text:s,prompt:C,onFinish:l}};let b;const P=()=>{const{show:t,text:s,showConfirm:r,hideConfirm:e}=n.useContext(S.ConfirmContext),o=()=>{e()};return{confirm:async c=>(r(c),new Promise(u=>{b=u})),onConfirm:()=>{o(),b(!0)},onCancel:()=>{o(),b(!1)},show:t,text:s}},f={loadOnInit:!0,silent:!1,enabled:!0,nullStateBeforeLoad:!0,nullStateOnFail:!1},L=(t,{loadOnInit:s=f.loadOnInit,enabled:r=f.enabled,silent:e=f.silent,nullStateBeforeLoad:o=f.nullStateBeforeLoad,nullStateOnFail:a=f.nullStateOnFail,customApiUrl:l,customBearerToken:C}=f)=>{const c=S.useAxios({silent:e,customToken:C,differentBaseUrl:l}),{startLoading:u,stopLoading:i}=n.useContext(S.LoadingContext),x=n.useRef(0),[h,m]=n.useState(null),g=n.useCallback(async(d,w)=>{if(r!==!1){!e&&u(`loadData-${t}-${w}`),o&&m(null);try{const p=await c.get(t,{signal:d});m(p.data)}catch(p){throw a&&m(null),p}finally{!e&&i(`loadData-${t}-${w}`)}}},[r,e,u,t,o,c,a,i]);return n.useEffect(()=>{if(s===!1)return;const d=new AbortController;return g(d.signal,++x.current),()=>{d.abort()}},[g,s]),{data:h,setData:m,reloadData:g}},O=(t,s)=>{const r=n.useCallback(()=>{const l=localStorage.getItem(t);return l?JSON.parse(l):s},[s,t]),[e,o]=n.useState(r);n.useEffect(()=>{localStorage.setItem(t,JSON.stringify(e))},[t,e]);const a=n.useCallback(()=>{o(r)},[r]);return[e,o,a]};exports.useConfirm=P;exports.useGetApiData=L;exports.useLocalStorageState=O;exports.usePrompt=D;
1
+ "use strict";const n=require("react"),S=require("./FromToDatePickerDropdownToggle-EhHpHC9A.cjs");require("zod");require("react-hook-form");require("react-router-dom");const D=()=>{const{isShown:t,text:s,showPrompt:r,hidePrompt:e,resolveRef:o,setOptions:a}=n.useContext(S.PromptContext),l=n.useCallback(c=>{e(),o.current(c)},[e,o]),C=n.useCallback(async(c,u)=>(a(i=>({...i,...u})),r(c),new Promise(i=>{o.current=i})),[o,a,r]);return{isShown:t,text:s,prompt:C,onFinish:l}};let b;const P=()=>{const{show:t,text:s,showConfirm:r,hideConfirm:e}=n.useContext(S.ConfirmContext),o=()=>{e()};return{confirm:async c=>(r(c),new Promise(u=>{b=u})),onConfirm:()=>{o(),b(!0)},onCancel:()=>{o(),b(!1)},show:t,text:s}},f={loadOnInit:!0,silent:!1,enabled:!0,nullStateBeforeLoad:!0,nullStateOnFail:!1},L=(t,{loadOnInit:s=f.loadOnInit,enabled:r=f.enabled,silent:e=f.silent,nullStateBeforeLoad:o=f.nullStateBeforeLoad,nullStateOnFail:a=f.nullStateOnFail,customApiUrl:l,customBearerToken:C}=f)=>{const c=S.useAxios({silent:e,customToken:C,differentBaseUrl:l}),{startLoading:u,stopLoading:i}=n.useContext(S.LoadingContext),x=n.useRef(0),[h,m]=n.useState(null),g=n.useCallback(async(d,w)=>{if(r!==!1){!e&&u(`loadData-${t}-${w}`),o&&m(null);try{const p=await c.get(t,{signal:d});m(p.data)}catch(p){throw a&&m(null),p}finally{!e&&i(`loadData-${t}-${w}`)}}},[r,e,u,t,o,c,a,i]);return n.useEffect(()=>{if(s===!1)return;const d=new AbortController;return g(d.signal,++x.current),()=>{d.abort()}},[g,s]),{data:h,setData:m,reloadData:g}},O=(t,s)=>{const r=n.useCallback(()=>{const l=localStorage.getItem(t);return l?JSON.parse(l):s},[s,t]),[e,o]=n.useState(r);n.useEffect(()=>{localStorage.setItem(t,JSON.stringify(e))},[t,e]);const a=n.useCallback(()=>{o(r)},[r]);return[e,o,a]};exports.useConfirm=P;exports.useGetApiData=L;exports.useLocalStorageState=O;exports.usePrompt=D;
@@ -1,5 +1,5 @@
1
1
  import { useContext as w, useCallback as u, useRef as P, useState as h, useEffect as b } from "react";
2
- import { ax as I, aw as L, af as $, az as v } from "./FromToDatePickerDropdownToggle-CK3riYKN.js";
2
+ import { ax as I, aw as L, af as $, az as v } from "./FromToDatePickerDropdownToggle-a6zb7EV7.js";
3
3
  import "zod";
4
4
  import "react-hook-form";
5
5
  import "react-router-dom";
@@ -1 +1 @@
1
- "use strict";const r=require("react"),n=require("./FromToDatePickerDropdownToggle-C4ntsFqz.cjs");require("zod");require("react-hook-form");require("react-router-dom");const t=()=>{const{user:e}=r.useContext(n.UserContext);return{checkUserHasPermissions:r.useCallback(i=>i.every(o=>{var s;return(s=e==null?void 0:e.permissions)==null?void 0:s.includes(o)}),[e])}};exports.usePermissions=t;
1
+ "use strict";const r=require("react"),n=require("./FromToDatePickerDropdownToggle-EhHpHC9A.cjs");require("zod");require("react-hook-form");require("react-router-dom");const t=()=>{const{user:e}=r.useContext(n.UserContext);return{checkUserHasPermissions:r.useCallback(i=>i.every(o=>{var s;return(s=e==null?void 0:e.permissions)==null?void 0:s.includes(o)}),[e])}};exports.usePermissions=t;
@@ -1,5 +1,5 @@
1
1
  import { useContext as t, useCallback as i } from "react";
2
- import { aq as n } from "./FromToDatePickerDropdownToggle-CK3riYKN.js";
2
+ import { aq as n } from "./FromToDatePickerDropdownToggle-a6zb7EV7.js";
3
3
  import "zod";
4
4
  import "react-hook-form";
5
5
  import "react-router-dom";
@@ -1,3 +1,11 @@
1
1
  export declare const truncateText: (str: string) => string;
2
2
  export declare const formatFileSize: (size: number) => string;
3
3
  export declare function joinStrings(separator?: string, ...args: (string | undefined | null)[]): string;
4
+ export declare const urlfyArray: (a: Array<unknown>, paramName: string) => string;
5
+ /**
6
+ *
7
+ * @param text text to shorten or null
8
+ * @param targetLength to which length should the text be shortened
9
+ * @returns 'text' if it's not longer than 'targetLenght', otherwise trimmed to 'targetLength' and followed by ellipsis
10
+ */
11
+ export declare const shortenText: (text: string | null, targetLength: number) => string | null;
package/dist/utils.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./FromToDatePickerDropdownToggle-C4ntsFqz.cjs"),r=require("./dateUtils-DRVYuJv7.cjs"),c=require("./searchUtils-DKaMRBRf.cjs");require("react");require("zod");require("react-hook-form");require("react-router-dom");const h=require("./SimpleTooltip-D92MXZSs.cjs");function u(t,s){t.setValue(s,null)}function S(t,s){s.forEach(o=>{u(t,o)})}const d=(t,s)=>{let o=!1,n=t;t[0]==="#"&&(n=t.slice(1),o=!0);let e=parseInt(n.substring(0,2),16),a=parseInt(n.substring(2,4),16),l=parseInt(n.substring(4,6),16);e+=s,a+=s,l+=s,e>255?e=255:e<0&&(e=0),a>255?a=255:a<0&&(a=0),l>255?l=255:l<0&&(l=0);const m=e.toString(16).length===1?"0"+e.toString(16):e.toString(16),g=a.toString(16).length===1?"0"+a.toString(16):a.toString(16),f=l.toString(16).length===1?"0"+l.toString(16):l.toString(16);return(o?"#":"")+m+g+f},D=t=>{const s=t.slice(3),o=[];for(let e=0;e<s.length;e+=2)o.push(s.slice(e,e+2));return`#${o.reverse().join("")}`},p=({cell:{value:t}})=>i.jsxRuntimeExports.jsx(h.SimpleTooltip,{text:t,placement:"bottom",children:i.jsxRuntimeExports.jsx("div",{className:"w-100 text-truncate",children:t})}),y=({cell:{value:t}})=>i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:t==null?void 0:t.toLocaleString("cs-CZ")}),O=({cell:{value:t}})=>{const s=r.format(new Date(t),"dd.MM.yyyy");return i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:t?s:""})};function x(t,s,o){const n=URL.createObjectURL(t),e=document.createElement("a");e.href=n,e.setAttribute("download",s),e.setAttribute("style","display: none"),o&&e.setAttribute("target","_blank"),document.body.appendChild(e),e.click(),document.body.removeChild(e),URL.revokeObjectURL(n)}exports.extractErrorsFromResponse=i.extractErrorsFromResponse;exports.extractPermissionsFromResponse=i.extractPermissionsFromResponse;exports.fixNameIdNulls=i.fixNameIdNulls;exports.formatFileSize=i.formatFileSize;exports.hasOnlyNullValues=i.hasOnlyNullValues;exports.hookFormSetServerErrors=i.hookFormSetServerErrors;exports.isPrimitive=i.isPrimitive;exports.joinStrings=i.joinStrings;exports.replaceNullValuesOnlyObjectsWithNulls=i.replaceNullValuesOnlyObjectsWithNulls;exports.truncateText=i.truncateText;exports.buildEmployeeNameString=r.buildEmployeeNameString;exports.buildOrgUnitString=r.buildOrgUnitString;exports.buildVehicleNameString=r.buildVehicleNameString;exports.capitalizeFirstLetter=r.capitalizeFirstLetter;exports.compareDate=r.compareDate;exports.compareDateTime=r.compareDateTime;exports.formatDate=r.formatDate;exports.formatDateTime=r.formatDateTime;exports.getDateString=r.getDateString;exports.getDaysDifference=r.getDaysDifference;exports.getFirstDayOfMonth=r.getFirstDayOfMonth;exports.getFirstDayOfOffsetMonth=r.getFirstDayOfOffsetMonth;exports.getFirstDayOfYear=r.getFirstDayOfYear;exports.getLastDayOfMonth=r.getLastDayOfMonth;exports.getLastDayOfOffsetMonth=r.getLastDayOfOffsetMonth;exports.getLastDayOfYear=r.getLastDayOfYear;exports.isISODate=r.isISODate;exports.isValidDate=r.isValidDate;exports.msToStartOfNextDay=r.msToStartOfNextDay;exports.trimIsoDate=r.trimIsoDate;exports.stringContains=c.stringContains;exports.stringSearchWithin=c.stringSearchWithin;exports.stringStartsWith=c.stringStartsWith;exports.adjustBrightness=d;exports.dateValueFormat=O;exports.hookFormSetNull=u;exports.hookFormSetNulls=S;exports.numFormat=y;exports.saveFile=x;exports.valueTooltip=p;exports.vclToHex=D;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./FromToDatePickerDropdownToggle-EhHpHC9A.cjs"),r=require("./dateUtils-CIDS0n5B.cjs"),c=require("./searchUtils-9_EWs2V9.cjs");require("react");require("zod");require("react-hook-form");require("react-router-dom");const h=require("./SimpleTooltip-ngcscCjg.cjs");function u(t,s){t.setValue(s,null)}function S(t,s){s.forEach(o=>{u(t,o)})}const d=(t,s)=>{let o=!1,n=t;t[0]==="#"&&(n=t.slice(1),o=!0);let e=parseInt(n.substring(0,2),16),a=parseInt(n.substring(2,4),16),l=parseInt(n.substring(4,6),16);e+=s,a+=s,l+=s,e>255?e=255:e<0&&(e=0),a>255?a=255:a<0&&(a=0),l>255?l=255:l<0&&(l=0);const m=e.toString(16).length===1?"0"+e.toString(16):e.toString(16),g=a.toString(16).length===1?"0"+a.toString(16):a.toString(16),f=l.toString(16).length===1?"0"+l.toString(16):l.toString(16);return(o?"#":"")+m+g+f},D=t=>{const s=t.slice(3),o=[];for(let e=0;e<s.length;e+=2)o.push(s.slice(e,e+2));return`#${o.reverse().join("")}`},p=({cell:{value:t}})=>i.jsxRuntimeExports.jsx(h.SimpleTooltip,{text:t,placement:"bottom",children:i.jsxRuntimeExports.jsx("div",{className:"w-100 text-truncate",children:t})}),y=({cell:{value:t}})=>i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:t==null?void 0:t.toLocaleString("cs-CZ")}),x=({cell:{value:t}})=>{const s=r.format(new Date(t),"dd.MM.yyyy");return i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:t?s:""})};function O(t,s,o){const n=URL.createObjectURL(t),e=document.createElement("a");e.href=n,e.setAttribute("download",s),e.setAttribute("style","display: none"),o&&e.setAttribute("target","_blank"),document.body.appendChild(e),e.click(),document.body.removeChild(e),URL.revokeObjectURL(n)}exports.extractErrorsFromResponse=i.extractErrorsFromResponse;exports.extractPermissionsFromResponse=i.extractPermissionsFromResponse;exports.fixNameIdNulls=i.fixNameIdNulls;exports.formatFileSize=i.formatFileSize;exports.hasOnlyNullValues=i.hasOnlyNullValues;exports.hookFormSetServerErrors=i.hookFormSetServerErrors;exports.isPrimitive=i.isPrimitive;exports.joinStrings=i.joinStrings;exports.replaceNullValuesOnlyObjectsWithNulls=i.replaceNullValuesOnlyObjectsWithNulls;exports.shortenText=i.shortenText;exports.truncateText=i.truncateText;exports.urlfyArray=i.urlfyArray;exports.buildEmployeeNameString=r.buildEmployeeNameString;exports.buildOrgUnitString=r.buildOrgUnitString;exports.buildVehicleNameString=r.buildVehicleNameString;exports.capitalizeFirstLetter=r.capitalizeFirstLetter;exports.compareDate=r.compareDate;exports.compareDateTime=r.compareDateTime;exports.formatDate=r.formatDate;exports.formatDateTime=r.formatDateTime;exports.getDateString=r.getDateString;exports.getDaysDifference=r.getDaysDifference;exports.getFirstDayOfMonth=r.getFirstDayOfMonth;exports.getFirstDayOfOffsetMonth=r.getFirstDayOfOffsetMonth;exports.getFirstDayOfYear=r.getFirstDayOfYear;exports.getLastDayOfMonth=r.getLastDayOfMonth;exports.getLastDayOfOffsetMonth=r.getLastDayOfOffsetMonth;exports.getLastDayOfYear=r.getLastDayOfYear;exports.isISODate=r.isISODate;exports.isValidDate=r.isValidDate;exports.msToStartOfNextDay=r.msToStartOfNextDay;exports.trimIsoDate=r.trimIsoDate;exports.stringContains=c.stringContains;exports.stringSearchWithin=c.stringSearchWithin;exports.stringStartsWith=c.stringStartsWith;exports.adjustBrightness=d;exports.dateValueFormat=x;exports.hookFormSetNull=u;exports.hookFormSetNulls=S;exports.numFormat=y;exports.saveFile=O;exports.valueTooltip=p;exports.vclToHex=D;
package/dist/utils.d.ts CHANGED
@@ -121,6 +121,14 @@ export declare const replaceNullValuesOnlyObjectsWithNulls: (obj: object) => {
121
121
 
122
122
  export declare function saveFile(blob: Blob, fileName: string, tryToOpen?: boolean): void;
123
123
 
124
+ /**
125
+ *
126
+ * @param text text to shorten or null
127
+ * @param targetLength to which length should the text be shortened
128
+ * @returns 'text' if it's not longer than 'targetLenght', otherwise trimmed to 'targetLength' and followed by ellipsis
129
+ */
130
+ export declare const shortenText: (text: string | null, targetLength: number) => string | null;
131
+
124
132
  export declare const stringContains: (str: string | undefined | null, substr: string | undefined | null) => boolean;
125
133
 
126
134
  export declare const stringSearchWithin: (str: string | undefined | null, substr: string | undefined | null) => boolean;
@@ -136,6 +144,8 @@ export declare function trimIsoDate(date: string | undefined | null): string;
136
144
 
137
145
  export declare const truncateText: (str: string) => string;
138
146
 
147
+ export declare const urlfyArray: (a: Array<unknown>, paramName: string) => string;
148
+
139
149
  export declare const valueTooltip: ({ cell: { value } }: any) => JSX_2.Element;
140
150
 
141
151
  export declare const vclToHex: (vcl: string) => string;
package/dist/utils.es.js CHANGED
@@ -1,13 +1,13 @@
1
- import { j as n } from "./FromToDatePickerDropdownToggle-CK3riYKN.js";
2
- import { aU as T, aW as V, aY as E, aR as I, aZ as M, aV as U, aX as v, b0 as w, a_ as B, a$ as P } from "./FromToDatePickerDropdownToggle-CK3riYKN.js";
3
- import { f } from "./dateUtils-DqftcSRs.js";
4
- import { k as A, l as G, j as Y, h as z, o as Z, q as _, c as $, e as q, y as H, r as X, a as J, v as K, b as Q, u as tt, w as et, x as st, i as rt, n as at, m as ot, t as it } from "./dateUtils-DqftcSRs.js";
5
- import { a as lt, s as ct, b as mt } from "./searchUtils-BHsouXbH.js";
1
+ import { j as n } from "./FromToDatePickerDropdownToggle-a6zb7EV7.js";
2
+ import { aU as T, aW as V, aY as E, aR as I, aZ as M, aV as U, aX as v, b0 as w, a_ as A, b2 as B, a$ as P, b1 as W } from "./FromToDatePickerDropdownToggle-a6zb7EV7.js";
3
+ import { f } from "./dateUtils-D5PdELhi.js";
4
+ import { k as Y, l as z, j as Z, h as _, o as $, q, c as H, e as X, y as J, r as K, a as Q, v as tt, b as et, u as st, w as rt, x as at, i as ot, n as it, m as nt, t as lt } from "./dateUtils-D5PdELhi.js";
5
+ import { a as mt, s as ft, b as gt } from "./searchUtils-CEjMiULh.js";
6
6
  import "react";
7
7
  import "zod";
8
8
  import "react-hook-form";
9
9
  import "react-router-dom";
10
- import { S as g } from "./SimpleTooltip-D4KGsTa_.js";
10
+ import { S as g } from "./SimpleTooltip-Boktzm98.js";
11
11
  function u(t, s) {
12
12
  t.setValue(s, null);
13
13
  }
@@ -38,44 +38,46 @@ function L(t, s, r) {
38
38
  }
39
39
  export {
40
40
  O as adjustBrightness,
41
- A as buildEmployeeNameString,
42
- G as buildOrgUnitString,
43
- Y as buildVehicleNameString,
44
- z as capitalizeFirstLetter,
45
- Z as compareDate,
46
- _ as compareDateTime,
41
+ Y as buildEmployeeNameString,
42
+ z as buildOrgUnitString,
43
+ Z as buildVehicleNameString,
44
+ _ as capitalizeFirstLetter,
45
+ $ as compareDate,
46
+ q as compareDateTime,
47
47
  R as dateValueFormat,
48
48
  T as extractErrorsFromResponse,
49
49
  V as extractPermissionsFromResponse,
50
50
  E as fixNameIdNulls,
51
- $ as formatDate,
52
- q as formatDateTime,
51
+ H as formatDate,
52
+ X as formatDateTime,
53
53
  I as formatFileSize,
54
- H as getDateString,
55
- X as getDaysDifference,
56
- J as getFirstDayOfMonth,
57
- K as getFirstDayOfOffsetMonth,
58
- Q as getFirstDayOfYear,
59
- tt as getLastDayOfMonth,
60
- et as getLastDayOfOffsetMonth,
61
- st as getLastDayOfYear,
54
+ J as getDateString,
55
+ K as getDaysDifference,
56
+ Q as getFirstDayOfMonth,
57
+ tt as getFirstDayOfOffsetMonth,
58
+ et as getFirstDayOfYear,
59
+ st as getLastDayOfMonth,
60
+ rt as getLastDayOfOffsetMonth,
61
+ at as getLastDayOfYear,
62
62
  M as hasOnlyNullValues,
63
63
  u as hookFormSetNull,
64
64
  D as hookFormSetNulls,
65
65
  U as hookFormSetServerErrors,
66
- rt as isISODate,
66
+ ot as isISODate,
67
67
  v as isPrimitive,
68
- at as isValidDate,
68
+ it as isValidDate,
69
69
  w as joinStrings,
70
- ot as msToStartOfNextDay,
70
+ nt as msToStartOfNextDay,
71
71
  N as numFormat,
72
- B as replaceNullValuesOnlyObjectsWithNulls,
72
+ A as replaceNullValuesOnlyObjectsWithNulls,
73
73
  L as saveFile,
74
- lt as stringContains,
75
- ct as stringSearchWithin,
76
- mt as stringStartsWith,
77
- it as trimIsoDate,
74
+ B as shortenText,
75
+ mt as stringContains,
76
+ ft as stringSearchWithin,
77
+ gt as stringStartsWith,
78
+ lt as trimIsoDate,
78
79
  P as truncateText,
80
+ W as urlfyArray,
79
81
  j as valueTooltip,
80
82
  F as vclToHex
81
83
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-luminus-components",
3
- "version": "1.3.30",
3
+ "version": "1.3.31",
4
4
  "description": "Library of React Components reusable in Luminus projects (Fleetman, CAFM)",
5
5
  "type": "module",
6
6
  "repository": {
@@ -1 +0,0 @@
1
- "use strict";const d=require("./FromToDatePickerDropdownToggle-C4ntsFqz.cjs");let z={};function W(){return z}function b(t,e){var c,s,f,l;const n=W(),r=(e==null?void 0:e.weekStartsOn)??((s=(c=e==null?void 0:e.locale)==null?void 0:c.options)==null?void 0:s.weekStartsOn)??n.weekStartsOn??((l=(f=n.locale)==null?void 0:f.options)==null?void 0:l.weekStartsOn)??0,a=d.toDate(t),i=a.getDay(),o=(i<r?7:0)+i-r;return a.setDate(a.getDate()-o),a.setHours(0,0,0,0),a}function S(t){return b(t,{weekStartsOn:1})}function $(t){const e=d.toDate(t),n=e.getFullYear(),r=d.constructFrom(t,0);r.setFullYear(n+1,0,4),r.setHours(0,0,0,0);const a=S(r),i=d.constructFrom(t,0);i.setFullYear(n,0,4),i.setHours(0,0,0,0);const o=S(i);return e.getTime()>=a.getTime()?n+1:e.getTime()>=o.getTime()?n:n-1}function Q(t){const e=d.toDate(t);return e.setHours(0,0,0,0),e}function F(t){const e=d.toDate(t),n=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return n.setUTCFullYear(e.getFullYear()),+t-+n}function G(t,e){const n=Q(t),r=Q(e),a=+n-F(n),i=+r-F(r);return Math.round((a-i)/d.millisecondsInDay)}function J(t){const e=$(t),n=d.constructFrom(t,0);return n.setFullYear(e,0,4),n.setHours(0,0,0,0),S(n)}function Z(t){return t instanceof Date||typeof t=="object"&&Object.prototype.toString.call(t)==="[object Date]"}function K(t){if(!Z(t)&&typeof t!="number")return!1;const e=d.toDate(t);return!isNaN(Number(e))}function tt(t){const e=d.toDate(t),n=d.constructFrom(t,0);return n.setFullYear(e.getFullYear(),0,1),n.setHours(0,0,0,0),n}const et={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},nt=(t,e,n)=>{let r;const a=et[t];return typeof a=="string"?r=a:e===1?r=a.one:r=a.other.replace("{{count}}",e.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function p(t){return(e={})=>{const n=e.width?String(e.width):t.defaultWidth;return t.formats[n]||t.formats[t.defaultWidth]}}const rt={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},at={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},it={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},ot={date:p({formats:rt,defaultWidth:"full"}),time:p({formats:at,defaultWidth:"full"}),dateTime:p({formats:it,defaultWidth:"full"})},st={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},ut=(t,e,n,r)=>st[t];function T(t){return(e,n)=>{const r=n!=null&&n.context?String(n.context):"standalone";let a;if(r==="formatting"&&t.formattingValues){const o=t.defaultFormattingWidth||t.defaultWidth,c=n!=null&&n.width?String(n.width):o;a=t.formattingValues[c]||t.formattingValues[o]}else{const o=t.defaultWidth,c=n!=null&&n.width?String(n.width):t.defaultWidth;a=t.values[c]||t.values[o]}const i=t.argumentCallback?t.argumentCallback(e):e;return a[i]}}const ct={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},dt={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},ft={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},mt={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},lt={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},ht={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},gt=(t,e)=>{const n=Number(t),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},wt={ordinalNumber:gt,era:T({values:ct,defaultWidth:"wide"}),quarter:T({values:dt,defaultWidth:"wide",argumentCallback:t=>t-1}),month:T({values:ft,defaultWidth:"wide"}),day:T({values:mt,defaultWidth:"wide"}),dayPeriod:T({values:lt,defaultWidth:"wide",formattingValues:ht,defaultFormattingWidth:"wide"})};function P(t){return(e,n={})=>{const r=n.width,a=r&&t.matchPatterns[r]||t.matchPatterns[t.defaultMatchWidth],i=e.match(a);if(!i)return null;const o=i[0],c=r&&t.parsePatterns[r]||t.parsePatterns[t.defaultParseWidth],s=Array.isArray(c)?Dt(c,g=>g.test(o)):yt(c,g=>g.test(o));let f;f=t.valueCallback?t.valueCallback(s):s,f=n.valueCallback?n.valueCallback(f):f;const l=e.slice(o.length);return{value:f,rest:l}}}function yt(t,e){for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&e(t[n]))return n}function Dt(t,e){for(let n=0;n<t.length;n++)if(e(t[n]))return n}function bt(t){return(e,n={})=>{const r=e.match(t.matchPattern);if(!r)return null;const a=r[0],i=e.match(t.parsePattern);if(!i)return null;let o=t.valueCallback?t.valueCallback(i[0]):i[0];o=n.valueCallback?n.valueCallback(o):o;const c=e.slice(a.length);return{value:o,rest:c}}}const Ot=/^(\d+)(th|st|nd|rd)?/i,Mt=/\d+/i,Tt={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Pt={any:[/^b/i,/^(a|c)/i]},kt={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},xt={any:[/1/i,/2/i,/3/i,/4/i]},St={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Wt={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},vt={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Yt={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},pt={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Nt={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Ft={ordinalNumber:bt({matchPattern:Ot,parsePattern:Mt,valueCallback:t=>parseInt(t,10)}),era:P({matchPatterns:Tt,defaultMatchWidth:"wide",parsePatterns:Pt,defaultParseWidth:"any"}),quarter:P({matchPatterns:kt,defaultMatchWidth:"wide",parsePatterns:xt,defaultParseWidth:"any",valueCallback:t=>t+1}),month:P({matchPatterns:St,defaultMatchWidth:"wide",parsePatterns:Wt,defaultParseWidth:"any"}),day:P({matchPatterns:vt,defaultMatchWidth:"wide",parsePatterns:Yt,defaultParseWidth:"any"}),dayPeriod:P({matchPatterns:pt,defaultMatchWidth:"any",parsePatterns:Nt,defaultParseWidth:"any"})},Ct={code:"en-US",formatDistance:nt,formatLong:ot,formatRelative:ut,localize:wt,match:Ft,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Et(t){const e=d.toDate(t);return G(e,tt(e))+1}function qt(t){const e=d.toDate(t),n=+S(e)-+J(e);return Math.round(n/d.millisecondsInWeek)+1}function V(t,e){var l,g,O,M;const n=d.toDate(t),r=n.getFullYear(),a=W(),i=(e==null?void 0:e.firstWeekContainsDate)??((g=(l=e==null?void 0:e.locale)==null?void 0:l.options)==null?void 0:g.firstWeekContainsDate)??a.firstWeekContainsDate??((M=(O=a.locale)==null?void 0:O.options)==null?void 0:M.firstWeekContainsDate)??1,o=d.constructFrom(t,0);o.setFullYear(r+1,0,i),o.setHours(0,0,0,0);const c=b(o,e),s=d.constructFrom(t,0);s.setFullYear(r,0,i),s.setHours(0,0,0,0);const f=b(s,e);return n.getTime()>=c.getTime()?r+1:n.getTime()>=f.getTime()?r:r-1}function Ht(t,e){var c,s,f,l;const n=W(),r=(e==null?void 0:e.firstWeekContainsDate)??((s=(c=e==null?void 0:e.locale)==null?void 0:c.options)==null?void 0:s.firstWeekContainsDate)??n.firstWeekContainsDate??((l=(f=n.locale)==null?void 0:f.options)==null?void 0:l.firstWeekContainsDate)??1,a=V(t,e),i=d.constructFrom(t,0);return i.setFullYear(a,0,r),i.setHours(0,0,0,0),b(i,e)}function It(t,e){const n=d.toDate(t),r=+b(n,e)-+Ht(n,e);return Math.round(r/d.millisecondsInWeek)+1}function u(t,e){const n=t<0?"-":"",r=Math.abs(t).toString().padStart(e,"0");return n+r}const w={y(t,e){const n=t.getFullYear(),r=n>0?n:1-n;return u(e==="yy"?r%100:r,e.length)},M(t,e){const n=t.getMonth();return e==="M"?String(n+1):u(n+1,2)},d(t,e){return u(t.getDate(),e.length)},a(t,e){const n=t.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(t,e){return u(t.getHours()%12||12,e.length)},H(t,e){return u(t.getHours(),e.length)},m(t,e){return u(t.getMinutes(),e.length)},s(t,e){return u(t.getSeconds(),e.length)},S(t,e){const n=e.length,r=t.getMilliseconds(),a=Math.trunc(r*Math.pow(10,n-3));return u(a,e.length)}},D={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},R={G:function(t,e,n){const r=t.getFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(t,e,n){if(e==="yo"){const r=t.getFullYear(),a=r>0?r:1-r;return n.ordinalNumber(a,{unit:"year"})}return w.y(t,e)},Y:function(t,e,n,r){const a=V(t,r),i=a>0?a:1-a;if(e==="YY"){const o=i%100;return u(o,2)}return e==="Yo"?n.ordinalNumber(i,{unit:"year"}):u(i,e.length)},R:function(t,e){const n=$(t);return u(n,e.length)},u:function(t,e){const n=t.getFullYear();return u(n,e.length)},Q:function(t,e,n){const r=Math.ceil((t.getMonth()+1)/3);switch(e){case"Q":return String(r);case"QQ":return u(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(t,e,n){const r=Math.ceil((t.getMonth()+1)/3);switch(e){case"q":return String(r);case"qq":return u(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(t,e,n){const r=t.getMonth();switch(e){case"M":case"MM":return w.M(t,e);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(t,e,n){const r=t.getMonth();switch(e){case"L":return String(r+1);case"LL":return u(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(t,e,n,r){const a=It(t,r);return e==="wo"?n.ordinalNumber(a,{unit:"week"}):u(a,e.length)},I:function(t,e,n){const r=qt(t);return e==="Io"?n.ordinalNumber(r,{unit:"week"}):u(r,e.length)},d:function(t,e,n){return e==="do"?n.ordinalNumber(t.getDate(),{unit:"date"}):w.d(t,e)},D:function(t,e,n){const r=Et(t);return e==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):u(r,e.length)},E:function(t,e,n){const r=t.getDay();switch(e){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(t,e,n,r){const a=t.getDay(),i=(a-r.weekStartsOn+8)%7||7;switch(e){case"e":return String(i);case"ee":return u(i,2);case"eo":return n.ordinalNumber(i,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});case"eeee":default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(t,e,n,r){const a=t.getDay(),i=(a-r.weekStartsOn+8)%7||7;switch(e){case"c":return String(i);case"cc":return u(i,e.length);case"co":return n.ordinalNumber(i,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});case"cccc":default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(t,e,n){const r=t.getDay(),a=r===0?7:r;switch(e){case"i":return String(a);case"ii":return u(a,e.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(t,e,n){const a=t.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(t,e,n){const r=t.getHours();let a;switch(r===12?a=D.noon:r===0?a=D.midnight:a=r/12>=1?"pm":"am",e){case"b":case"bb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(t,e,n){const r=t.getHours();let a;switch(r>=17?a=D.evening:r>=12?a=D.afternoon:r>=4?a=D.morning:a=D.night,e){case"B":case"BB":case"BBB":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(t,e,n){if(e==="ho"){let r=t.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return w.h(t,e)},H:function(t,e,n){return e==="Ho"?n.ordinalNumber(t.getHours(),{unit:"hour"}):w.H(t,e)},K:function(t,e,n){const r=t.getHours()%12;return e==="Ko"?n.ordinalNumber(r,{unit:"hour"}):u(r,e.length)},k:function(t,e,n){let r=t.getHours();return r===0&&(r=24),e==="ko"?n.ordinalNumber(r,{unit:"hour"}):u(r,e.length)},m:function(t,e,n){return e==="mo"?n.ordinalNumber(t.getMinutes(),{unit:"minute"}):w.m(t,e)},s:function(t,e,n){return e==="so"?n.ordinalNumber(t.getSeconds(),{unit:"second"}):w.s(t,e)},S:function(t,e){return w.S(t,e)},X:function(t,e,n){const r=t.getTimezoneOffset();if(r===0)return"Z";switch(e){case"X":return X(r);case"XXXX":case"XX":return y(r);case"XXXXX":case"XXX":default:return y(r,":")}},x:function(t,e,n){const r=t.getTimezoneOffset();switch(e){case"x":return X(r);case"xxxx":case"xx":return y(r);case"xxxxx":case"xxx":default:return y(r,":")}},O:function(t,e,n){const r=t.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+_(r,":");case"OOOO":default:return"GMT"+y(r,":")}},z:function(t,e,n){const r=t.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+_(r,":");case"zzzz":default:return"GMT"+y(r,":")}},t:function(t,e,n){const r=Math.trunc(t.getTime()/1e3);return u(r,e.length)},T:function(t,e,n){const r=t.getTime();return u(r,e.length)}};function _(t,e=""){const n=t>0?"-":"+",r=Math.abs(t),a=Math.trunc(r/60),i=r%60;return i===0?n+String(a):n+String(a)+e+u(i,2)}function X(t,e){return t%60===0?(t>0?"-":"+")+u(Math.abs(t)/60,2):y(t,e)}function y(t,e=""){const n=t>0?"-":"+",r=Math.abs(t),a=u(Math.trunc(r/60),2),i=u(r%60,2);return n+a+e+i}const U=(t,e)=>{switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}},j=(t,e)=>{switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}},Lt=(t,e)=>{const n=t.match(/(P+)(p+)?/)||[],r=n[1],a=n[2];if(!a)return U(t,e);let i;switch(r){case"P":i=e.dateTime({width:"short"});break;case"PP":i=e.dateTime({width:"medium"});break;case"PPP":i=e.dateTime({width:"long"});break;case"PPPP":default:i=e.dateTime({width:"full"});break}return i.replace("{{date}}",U(r,e)).replace("{{time}}",j(a,e))},Qt={p:j,P:Lt},Rt=/^D+$/,_t=/^Y+$/,Xt=["D","DD","YY","YYYY"];function Ut(t){return Rt.test(t)}function $t(t){return _t.test(t)}function Gt(t,e,n){const r=Vt(t,e,n);if(console.warn(r),Xt.includes(t))throw new RangeError(r)}function Vt(t,e,n){const r=t[0]==="Y"?"years":"days of the month";return`Use \`${t.toLowerCase()}\` instead of \`${t}\` (in \`${e}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const jt=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,At=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Bt=/^'([^]*?)'?$/,zt=/''/g,Jt=/[a-zA-Z]/;function C(t,e,n){var l,g,O,M,q,H,I,L;const r=W(),a=(n==null?void 0:n.locale)??r.locale??Ct,i=(n==null?void 0:n.firstWeekContainsDate)??((g=(l=n==null?void 0:n.locale)==null?void 0:l.options)==null?void 0:g.firstWeekContainsDate)??r.firstWeekContainsDate??((M=(O=r.locale)==null?void 0:O.options)==null?void 0:M.firstWeekContainsDate)??1,o=(n==null?void 0:n.weekStartsOn)??((H=(q=n==null?void 0:n.locale)==null?void 0:q.options)==null?void 0:H.weekStartsOn)??r.weekStartsOn??((L=(I=r.locale)==null?void 0:I.options)==null?void 0:L.weekStartsOn)??0,c=d.toDate(t);if(!K(c))throw new RangeError("Invalid time value");let s=e.match(At).map(h=>{const m=h[0];if(m==="p"||m==="P"){const Y=Qt[m];return Y(h,a.formatLong)}return h}).join("").match(jt).map(h=>{if(h==="''")return{isToken:!1,value:"'"};const m=h[0];if(m==="'")return{isToken:!1,value:Zt(h)};if(R[m])return{isToken:!0,value:h};if(m.match(Jt))throw new RangeError("Format string contains an unescaped latin alphabet character `"+m+"`");return{isToken:!1,value:h}});a.localize.preprocessor&&(s=a.localize.preprocessor(c,s));const f={firstWeekContainsDate:i,weekStartsOn:o,locale:a};return s.map(h=>{if(!h.isToken)return h.value;const m=h.value;(!(n!=null&&n.useAdditionalWeekYearTokens)&&$t(m)||!(n!=null&&n.useAdditionalDayOfYearTokens)&&Ut(m))&&Gt(m,e,String(t));const Y=R[m[0]];return Y(c,m,a.localize,f)}).join("")}function Zt(t){const e=t.match(Bt);return e?e[1].replace(zt,"'"):t}function v(t,e){const r=ne(t);let a;if(r.date){const s=re(r.date,2);a=ae(s.restDateString,s.year)}if(!a||isNaN(a.getTime()))return new Date(NaN);const i=a.getTime();let o=0,c;if(r.time&&(o=ie(r.time),isNaN(o)))return new Date(NaN);if(r.timezone){if(c=oe(r.timezone),isNaN(c))return new Date(NaN)}else{const s=new Date(i+o),f=new Date(0);return f.setFullYear(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate()),f.setHours(s.getUTCHours(),s.getUTCMinutes(),s.getUTCSeconds(),s.getUTCMilliseconds()),f}return new Date(i+o+c)}const x={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},Kt=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,te=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,ee=/^([+-])(\d{2})(?::?(\d{2}))?$/;function ne(t){const e={},n=t.split(x.dateTimeDelimiter);let r;if(n.length>2)return e;if(/:/.test(n[0])?r=n[0]:(e.date=n[0],r=n[1],x.timeZoneDelimiter.test(e.date)&&(e.date=t.split(x.timeZoneDelimiter)[0],r=t.substr(e.date.length,t.length))),r){const a=x.timezone.exec(r);a?(e.time=r.replace(a[1],""),e.timezone=a[1]):e.time=r}return e}function re(t,e){const n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+e)+"})|(\\d{2}|[+-]\\d{"+(2+e)+"})$)"),r=t.match(n);if(!r)return{year:NaN,restDateString:""};const a=r[1]?parseInt(r[1]):null,i=r[2]?parseInt(r[2]):null;return{year:i===null?a:i*100,restDateString:t.slice((r[1]||r[2]).length)}}function ae(t,e){if(e===null)return new Date(NaN);const n=t.match(Kt);if(!n)return new Date(NaN);const r=!!n[4],a=k(n[1]),i=k(n[2])-1,o=k(n[3]),c=k(n[4]),s=k(n[5])-1;if(r)return fe(e,c,s)?se(e,c,s):new Date(NaN);{const f=new Date(0);return!ce(e,i,o)||!de(e,a)?new Date(NaN):(f.setUTCFullYear(e,i,Math.max(a,o)),f)}}function k(t){return t?parseInt(t):1}function ie(t){const e=t.match(te);if(!e)return NaN;const n=N(e[1]),r=N(e[2]),a=N(e[3]);return me(n,r,a)?n*d.millisecondsInHour+r*d.millisecondsInMinute+a*1e3:NaN}function N(t){return t&&parseFloat(t.replace(",","."))||0}function oe(t){if(t==="Z")return 0;const e=t.match(ee);if(!e)return 0;const n=e[1]==="+"?-1:1,r=parseInt(e[2]),a=e[3]&&parseInt(e[3])||0;return le(r,a)?n*(r*d.millisecondsInHour+a*d.millisecondsInMinute):NaN}function se(t,e,n){const r=new Date(0);r.setUTCFullYear(t,0,4);const a=r.getUTCDay()||7,i=(e-1)*7+n+1-a;return r.setUTCDate(r.getUTCDate()+i),r}const ue=[31,null,31,30,31,30,31,31,30,31,30,31];function A(t){return t%400===0||t%4===0&&t%100!==0}function ce(t,e,n){return e>=0&&e<=11&&n>=1&&n<=(ue[e]||(A(t)?29:28))}function de(t,e){return e>=1&&e<=(A(t)?366:365)}function fe(t,e,n){return e>=1&&e<=53&&n>=0&&n<=6}function me(t,e,n){return t===24?e===0&&n===0:n>=0&&n<60&&e>=0&&e<60&&t>=0&&t<25}function le(t,e){return e>=0&&e<=59}function he(t){return t==null?"":C(v(t),"dd.MM.yyyy")}function B(t){return(t==null?void 0:t.toString().split("T")[0])??""}function ge(t){return t==null?"":C(v(t),"dd.MM.yyyy HH:mm")}function we(t){return t&&t.charAt(0).toUpperCase()+t.slice(1)}const ye=(t,e)=>d.joinStrings(" ",t?`${t},`:void 0,e),De=(t,e)=>`${e}${t!=null?` (${t})`:""}`,be=(t,e)=>`[${t??""}] ${e??""}`,Oe=t=>{const e=v(t);return!Number.isNaN(e.getTime())};function Me(){const t=new Date,e=new Date(t);return e.setHours(24,0,0,0),e.getTime()-t.getTime()}function Te(t){return t instanceof Date&&!Number.isNaN(t.getTime())}function Pe(t,e){const n=new Date(t),r=new Date(e);return n.setHours(0,0,0,0),r.setHours(0,0,0,0),n.getTime()-r.getTime()}function ke(t,e){const n=new Date(t),r=new Date(e);return n.getTime()-r.getTime()}function xe(t=Date.now(),e=Date.now()){const n=new Date(t),r=new Date(e);n.setHours(10,0,0,0),r.setHours(0,0,0,0);const a=n.getTime()-r.getTime();return Math.floor(a/(1e3*3600*24))}function Se(t=new Date){const e=new Date(t);return e.setDate(1),e}function E(t=new Date){const e=new Date(t);return e.setMonth(e.getMonth()+1),e.setDate(0),e}function We(t){const e=new Date;return e.setMonth(e.getMonth()+t),E(e)}function ve(t){const e=new Date;return e.setMonth(e.getMonth()+t),E(e)}function Ye(t){const e=t??new Date().getFullYear(),n=new Date(e,0,1);return n.setMinutes(n.getMinutes()-n.getTimezoneOffset()),n}function pe(t){const e=t??new Date().getFullYear(),n=new Date(e,11,31);return n.setMinutes(n.getMinutes()-n.getTimezoneOffset()),n}function Ne(t){return B(t.toISOString())}exports.buildEmployeeNameString=De;exports.buildOrgUnitString=be;exports.buildVehicleNameString=ye;exports.capitalizeFirstLetter=we;exports.compareDate=Pe;exports.compareDateTime=ke;exports.differenceInCalendarDays=G;exports.format=C;exports.formatDate=he;exports.formatDateTime=ge;exports.getDateString=Ne;exports.getDaysDifference=xe;exports.getFirstDayOfMonth=Se;exports.getFirstDayOfOffsetMonth=We;exports.getFirstDayOfYear=Ye;exports.getLastDayOfMonth=E;exports.getLastDayOfOffsetMonth=ve;exports.getLastDayOfYear=pe;exports.getTimezoneOffsetInMilliseconds=F;exports.isISODate=Oe;exports.isValidDate=Te;exports.msToStartOfNextDay=Me;exports.parseISO=v;exports.startOfWeek=b;exports.trimIsoDate=B;