meticulous-ui 3.2.0 → 3.2.2

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/README.md CHANGED
@@ -393,6 +393,7 @@ import blue from 'meticulous-ui/colors/blue';
393
393
 
394
394
  | Function | Signature | Description |
395
395
  | ------------------- | ----------------------- | ------------------------------------------------------------------- |
396
+ | `capFirstLetter` | `(str) → string` | Takes a string and returns with first letter capitalised |
396
397
  | `capitalize` | `(str) → string` | Uppercases first character, lowercases the rest |
397
398
  | `titleCase` | `(str) → string` | Capitalizes the first letter of every word |
398
399
  | `camelCase` | `(str) → string` | Converts to `camelCase` from spaces, hyphens, or underscores |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "meticulous-ui",
3
- "version": "3.2.0",
3
+ "version": "3.2.2",
4
4
  "license": "MIT",
5
5
  "description": "A comprehensive React UI component library with a wide range of customizable components, icons, colors, and utilities for building modern web applications.",
6
6
  "main": "./index.js",
@@ -0,0 +1,7 @@
1
+ const n = (e, a) => {
2
+ const t = e instanceof Date ? new Date(e) : new Date(e);
3
+ return t.setDate(t.getDate() + a), t;
4
+ };
5
+ export {
6
+ n as default
7
+ };
@@ -0,0 +1,4 @@
1
+ const t = (e) => typeof e != "string" || e.length === 0 ? e : e.charAt(0).toUpperCase() + e.slice(1);
2
+ export {
3
+ t as default
4
+ };
package/utils/clamp.js ADDED
@@ -0,0 +1,4 @@
1
+ const c = (a, t, m) => Math.min(Math.max(a, t), m);
2
+ export {
3
+ c as default
4
+ };
@@ -0,0 +1,12 @@
1
+ const a = (t) => {
2
+ const n = t instanceof Date ? t : new Date(t), o = Math.max(0, n.getTime() - Date.now());
3
+ return {
4
+ days: Math.floor(o / 864e5),
5
+ hours: Math.floor(o % 864e5 / 36e5),
6
+ minutes: Math.floor(o % 36e5 / 6e4),
7
+ seconds: Math.floor(o % 6e4 / 1e3)
8
+ };
9
+ };
10
+ export {
11
+ a as default
12
+ };
@@ -0,0 +1,7 @@
1
+ const o = (e, t) => {
2
+ const n = e instanceof Date ? e : new Date(e), a = t instanceof Date ? t : new Date(t);
3
+ return Math.round((a.getTime() - n.getTime()) / 864e5);
4
+ };
5
+ export {
6
+ o as default
7
+ };
@@ -0,0 +1,6 @@
1
+ const r = (t, o = "en-US") => typeof t != "number" ? t : new Intl.NumberFormat(o, { notation: "compact", compactDisplay: "short" }).format(
2
+ t
3
+ );
4
+ export {
5
+ r as default
6
+ };
@@ -0,0 +1,4 @@
1
+ const n = (r, e = "USD", t = "en-US") => typeof r != "number" ? r : new Intl.NumberFormat(t, { style: "currency", currency: e }).format(r);
2
+ export {
3
+ n as default
4
+ };
@@ -0,0 +1,7 @@
1
+ const a = (e, t = "en-US") => {
2
+ const n = e instanceof Date ? e : new Date(e);
3
+ return isNaN(n) ? "" : new Intl.DateTimeFormat(t, { year: "numeric", month: "long", day: "numeric" }).format(n);
4
+ };
5
+ export {
6
+ a as default
7
+ };
@@ -0,0 +1,4 @@
1
+ const t = (r, e = "en-US") => typeof r != "number" ? r : new Intl.NumberFormat(e).format(r);
2
+ export {
3
+ t as default
4
+ };
@@ -0,0 +1,7 @@
1
+ const r = (t, n = "en-US") => {
2
+ const e = t instanceof Date ? t : new Date(t);
3
+ return isNaN(e) ? "" : new Intl.DateTimeFormat(n, { hour: "numeric", minute: "2-digit", hour12: !0 }).format(e);
4
+ };
5
+ export {
6
+ r as default
7
+ };
@@ -0,0 +1,7 @@
1
+ const o = () => {
2
+ const e = (/* @__PURE__ */ new Date()).getHours();
3
+ return e < 12 ? "Good morning" : e < 17 ? "Good afternoon" : "Good evening";
4
+ };
5
+ export {
6
+ o as default
7
+ };
package/utils/index.js CHANGED
@@ -1,62 +1,99 @@
1
- import r from "./capitalize.js";
2
- import o from "./camelCase.js";
3
- import m from "./chunk.js";
4
- import t from "./compose.js";
5
- import i from "./deepClone.js";
6
- import p from "./flattenObject.js";
7
- import e from "./generateInitials.js";
8
- import f from "./groupBy.js";
9
- import a from "./hasEqualProps.js";
10
- import s from "./isEmpty.js";
11
- import n from "./isEqual.js";
12
- import l from "./isNonEmptyArray.js";
13
- import c from "./kebabCase.js";
14
- import u from "./keyBy.js";
15
- import y from "./maskEmail.js";
16
- import k from "./maskPhone.js";
17
- import E from "./mergeDeep.js";
18
- import d from "./omit.js";
19
- import C from "./pick.js";
20
- import g from "./randomInt.js";
21
- import B from "./randomValue.js";
22
- import b from "./removeExtraSpaces.js";
23
- import h from "./slugify.js";
24
- import q from "./snakeCase.js";
25
- import x from "./sortBy.js";
26
- import I from "./titleCase.js";
27
- import P from "./truncate.js";
28
- import j from "./uniqueBy.js";
29
- const mr = {
1
+ import r from "./capFirstLetter.js";
2
+ import o from "./capitalize.js";
3
+ import m from "./camelCase.js";
4
+ import t from "./chunk.js";
5
+ import i from "./clamp.js";
6
+ import p from "./compose.js";
7
+ import f from "./deepClone.js";
8
+ import e from "./flattenObject.js";
9
+ import a from "./formatCompactNumber.js";
10
+ import n from "./formatCurrency.js";
11
+ import s from "./formatDate.js";
12
+ import c from "./formatNumber.js";
13
+ import u from "./formatTime.js";
14
+ import y from "./generateInitials.js";
15
+ import l from "./getGreetingByTime.js";
16
+ import d from "./groupBy.js";
17
+ import g from "./hasEqualProps.js";
18
+ import k from "./addDays.js";
19
+ import C from "./countdown.js";
20
+ import B from "./differenceInDays.js";
21
+ import E from "./isEmpty.js";
22
+ import b from "./isEqual.js";
23
+ import D from "./isNonEmptyArray.js";
24
+ import T from "./isPast.js";
25
+ import h from "./isToday.js";
26
+ import q from "./kebabCase.js";
27
+ import x from "./keyBy.js";
28
+ import I from "./maskEmail.js";
29
+ import N from "./maskPhone.js";
30
+ import P from "./mergeDeep.js";
31
+ import w from "./omit.js";
32
+ import A from "./percentage.js";
33
+ import j from "./pick.js";
34
+ import v from "./randomBetween.js";
35
+ import z from "./randomInt.js";
36
+ import F from "./randomValue.js";
37
+ import G from "./removeExtraSpaces.js";
38
+ import L from "./roundTo.js";
39
+ import O from "./slugify.js";
40
+ import S from "./snakeCase.js";
41
+ import V from "./sortBy.js";
42
+ import H from "./timeAgo.js";
43
+ import J from "./titleCase.js";
44
+ import K from "./truncate.js";
45
+ import M from "./uniqueBy.js";
46
+ const Gr = {
47
+ // string
30
48
  capFirstLetter: r,
31
- capitalize: r,
32
- camelCase: o,
33
- chunk: m,
34
- compose: t,
35
- deepClone: i,
36
- flattenObject: p,
37
- generateInitials: e,
38
- groupBy: f,
39
- hasEqualProps: a,
40
- isEmpty: s,
41
- isEqual: n,
42
- isNonEmptyArray: l,
43
- kebabCase: c,
44
- keyBy: u,
45
- maskEmail: y,
46
- maskPhone: k,
47
- mergeDeep: E,
48
- omit: d,
49
- pick: C,
50
- randomInt: g,
51
- randomValue: B,
52
- removeExtraSpaces: b,
53
- slugify: h,
54
- snakeCase: q,
55
- sortBy: x,
56
- titleCase: I,
57
- truncate: P,
58
- uniqueBy: j
49
+ capitalize: o,
50
+ camelCase: m,
51
+ generateInitials: y,
52
+ kebabCase: q,
53
+ maskEmail: I,
54
+ maskPhone: N,
55
+ removeExtraSpaces: G,
56
+ slugify: O,
57
+ snakeCase: S,
58
+ titleCase: J,
59
+ truncate: K,
60
+ // number
61
+ clamp: i,
62
+ formatCompactNumber: a,
63
+ formatCurrency: n,
64
+ formatNumber: c,
65
+ percentage: A,
66
+ randomBetween: v,
67
+ randomInt: z,
68
+ randomValue: F,
69
+ roundTo: L,
70
+ // date-time
71
+ addDays: k,
72
+ countdown: C,
73
+ differenceInDays: B,
74
+ formatDate: s,
75
+ formatTime: u,
76
+ getGreetingByTime: l,
77
+ isPast: T,
78
+ isToday: h,
79
+ timeAgo: H,
80
+ // object / array
81
+ chunk: t,
82
+ compose: p,
83
+ deepClone: f,
84
+ flattenObject: e,
85
+ groupBy: d,
86
+ hasEqualProps: g,
87
+ isEmpty: E,
88
+ isEqual: b,
89
+ isNonEmptyArray: D,
90
+ keyBy: x,
91
+ mergeDeep: P,
92
+ omit: w,
93
+ pick: j,
94
+ sortBy: V,
95
+ uniqueBy: M
59
96
  };
60
97
  export {
61
- mr as default
98
+ Gr as default
62
99
  };
@@ -0,0 +1,4 @@
1
+ const n = (t) => (t instanceof Date ? t : new Date(t)).getTime() < Date.now();
2
+ export {
3
+ n as default
4
+ };
@@ -0,0 +1,7 @@
1
+ const a = (t) => {
2
+ const e = t instanceof Date ? t : new Date(t), n = /* @__PURE__ */ new Date();
3
+ return e.getFullYear() === n.getFullYear() && e.getMonth() === n.getMonth() && e.getDate() === n.getDate();
4
+ };
5
+ export {
6
+ a as default
7
+ };
@@ -0,0 +1,7 @@
1
+ const t = (r, e, n = 2) => typeof r != "number" || typeof e != "number" || e === 0 ? 0 : o(r / e * 100, n), o = (r, e) => {
2
+ const n = Math.pow(10, e);
3
+ return Math.round(r * n) / n;
4
+ };
5
+ export {
6
+ t as default
7
+ };
@@ -0,0 +1,4 @@
1
+ const t = (a, e) => Math.random() * (e - a) + a;
2
+ export {
3
+ t as default
4
+ };
@@ -0,0 +1,8 @@
1
+ const e = (t, r = 0) => {
2
+ if (typeof t != "number") return t;
3
+ const o = Math.pow(10, r);
4
+ return Math.round(t * o) / o;
5
+ };
6
+ export {
7
+ e as default
8
+ };
@@ -0,0 +1,15 @@
1
+ const f = (a) => {
2
+ const u = a instanceof Date ? a : new Date(a), n = Math.floor((Date.now() - u.getTime()) / 1e3), t = new Intl.RelativeTimeFormat("en", { numeric: "auto" });
3
+ if (Math.abs(n) < 60) return t.format(-Math.round(n), "second");
4
+ const o = Math.round(n / 60);
5
+ if (Math.abs(o) < 60) return t.format(-o, "minute");
6
+ const r = Math.round(o / 60);
7
+ if (Math.abs(r) < 24) return t.format(-r, "hour");
8
+ const e = Math.round(r / 24);
9
+ if (Math.abs(e) < 30) return t.format(-e, "day");
10
+ const s = Math.round(e / 30);
11
+ return Math.abs(s) < 12 ? t.format(-s, "month") : t.format(-Math.round(s / 12), "year");
12
+ };
13
+ export {
14
+ f as default
15
+ };