@vestcards/shared 1.2.0 → 1.4.0

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.
@@ -0,0 +1 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(e,t,n)=>(s(e,t,`default`),n&&s(n,t,`default`)),l=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
@@ -0,0 +1 @@
1
+ const e=require(`./chunk-BK-Lzi7j.cjs`);let t=require(`date-fns/locale`),n=require(`date-fns`),r=require(`date-fns-tz`);var i=t.ptBR,a=`America/Sao_Paulo`;function o(e){return e instanceof Date?e:typeof e==`number`?new Date(e):typeof e==`string`?(0,n.parseISO)(e):e}var s=e.t({format:()=>u,formatDistance:()=>c,formatDistanceToNow:()=>l,formatRelative:()=>d});e.n(s,require(`date-fns`));function c(e,t=new Date,r){return(0,n.formatDistance)(o(e),o(t),{locale:i,...r})}function l(e,t){return(0,n.formatDistanceToNow)(o(e),{locale:i,...t})}function u(e,t,r){return(0,n.format)(o(e),t,{locale:i,...r})}function d(e,t=new Date,r){return(0,n.formatRelative)(o(e),o(t),{locale:i,...r})}function f(e,t,n=a){return u((0,r.toZonedTime)(o(e),n),t,{locale:i})}var p=e=>{let t=new Date,n=(0,s.differenceInMinutes)(e,t);if(n<1)return`<1m`;if(n<10)return`<${Math.ceil(n/10)*10}m`;if((0,s.differenceInHours)(e,t)<1)return`<1h`;let r=(0,s.differenceInDays)(e,t);if(r<1)return`<1d`;if(r<7)return`${r}d`;let i=(0,s.differenceInMonths)(e,t);return i<1?`${Math.ceil(r/30)}M`:i<12?`${i}M`:`${(0,s.differenceInYears)(e,t)}y`};function m(e,t=new Date,s=`às`,c=a){let l=(0,n.formatRelative)((0,r.toZonedTime)(o(e),c),(0,r.toZonedTime)(o(t),c),{locale:i}).replace(/às/g,s);return`${l.charAt(0).toUpperCase()}${l.slice(1)}`}function h(e,i){return(0,n.formatDistanceToNow)((0,r.toZonedTime)(o(e),a),{locale:t.ptBR,...i})}function g(e){try{return Intl.DateTimeFormat(void 0,{timeZone:e}),!0}catch{return!1}}function _(e){return e&&g(e)?e:a}function v(e,t){let i=(0,n.getDay)((0,r.toZonedTime)(e,t));return i===0?6:i-1}function y(e,t){return(0,r.fromZonedTime)((0,n.startOfDay)((0,r.toZonedTime)(e,t)),t)}function b(e,t){return(0,r.fromZonedTime)((0,n.endOfDay)((0,r.toZonedTime)(e,t)),t)}function x(e,t){return(0,r.fromZonedTime)((0,n.startOfWeek)((0,r.toZonedTime)(e,t),{weekStartsOn:1}),t)}var S=e.t({DEFAULT_LOCALE:()=>i,DEFAULT_TZ:()=>a,endOfDayInTz:()=>b,format:()=>u,formatDateTZ:()=>f,formatDistance:()=>c,formatDistanceToNow:()=>l,formatRelative:()=>d,formatRelativeDate:()=>m,formatRelativeDateToNow:()=>h,formatRelativeReviewDate:()=>p,getWeekStartUTC:()=>x,getWeekdayIndex:()=>v,isValidIANATimezone:()=>g,safeTimezone:()=>_,startOfDayInTz:()=>y,toDate:()=>o});e.n(S,s),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return a}});
@@ -0,0 +1,134 @@
1
+ import { ptBR as e } from "date-fns/locale";
2
+ import { endOfDay as t, format as n, formatDistance as r, formatDistanceToNow as i, formatRelative as a, getDay as o, parseISO as s, startOfDay as c, startOfWeek as l } from "date-fns";
3
+ import { fromZonedTime as u, toZonedTime as d } from "date-fns-tz";
4
+ //#region \0rolldown/runtime.js
5
+ var f = Object.defineProperty, p = Object.getOwnPropertyDescriptor, m = Object.getOwnPropertyNames, h = Object.prototype.hasOwnProperty, g = (e, t) => {
6
+ let n = {};
7
+ for (var r in e) f(n, r, {
8
+ get: e[r],
9
+ enumerable: !0
10
+ });
11
+ return t || f(n, Symbol.toStringTag, { value: "Module" }), n;
12
+ }, _ = (e, t, n, r) => {
13
+ if (t && typeof t == "object" || typeof t == "function") for (var i = m(t), a = 0, o = i.length, s; a < o; a++) s = i[a], !h.call(e, s) && s !== n && f(e, s, {
14
+ get: ((e) => t[e]).bind(null, s),
15
+ enumerable: !(r = p(t, s)) || r.enumerable
16
+ });
17
+ return e;
18
+ }, v = (e, t, n) => (_(e, t, "default"), n && _(n, t, "default")), y = e, b = "America/Sao_Paulo";
19
+ //#endregion
20
+ //#region src/date/helpers.ts
21
+ function x(e) {
22
+ return e instanceof Date ? e : typeof e == "number" ? new Date(e) : typeof e == "string" ? s(e) : e;
23
+ }
24
+ //#endregion
25
+ //#region src/date/fns.ts
26
+ var S = /* @__PURE__ */ g({
27
+ format: () => E,
28
+ formatDistance: () => w,
29
+ formatDistanceToNow: () => T,
30
+ formatRelative: () => D
31
+ });
32
+ import * as C from "date-fns";
33
+ v(S, C);
34
+ function w(e, t = /* @__PURE__ */ new Date(), n) {
35
+ return r(x(e), x(t), {
36
+ locale: y,
37
+ ...n
38
+ });
39
+ }
40
+ function T(e, t) {
41
+ return i(x(e), {
42
+ locale: y,
43
+ ...t
44
+ });
45
+ }
46
+ function E(e, t, r) {
47
+ return n(x(e), t, {
48
+ locale: y,
49
+ ...r
50
+ });
51
+ }
52
+ function D(e, t = /* @__PURE__ */ new Date(), n) {
53
+ return a(x(e), x(t), {
54
+ locale: y,
55
+ ...n
56
+ });
57
+ }
58
+ //#endregion
59
+ //#region src/date/format.ts
60
+ function O(e, t, n = b) {
61
+ return E(d(x(e), n), t, { locale: y });
62
+ }
63
+ var k = (e) => {
64
+ let t = /* @__PURE__ */ new Date(), n = (0, S.differenceInMinutes)(e, t);
65
+ if (n < 1) return "<1m";
66
+ if (n < 10) return `<${Math.ceil(n / 10) * 10}m`;
67
+ if ((0, S.differenceInHours)(e, t) < 1) return "<1h";
68
+ let r = (0, S.differenceInDays)(e, t);
69
+ if (r < 1) return "<1d";
70
+ if (r < 7) return `${r}d`;
71
+ let i = (0, S.differenceInMonths)(e, t);
72
+ return i < 1 ? `${Math.ceil(r / 30)}M` : i < 12 ? `${i}M` : `${(0, S.differenceInYears)(e, t)}y`;
73
+ };
74
+ //#endregion
75
+ //#region src/date/relative.ts
76
+ function A(e, t = /* @__PURE__ */ new Date(), n = "às", r = b) {
77
+ let i = a(d(x(e), r), d(x(t), r), { locale: y }).replace(/às/g, n);
78
+ return `${i.charAt(0).toUpperCase()}${i.slice(1)}`;
79
+ }
80
+ function j(t, n) {
81
+ return i(d(x(t), b), {
82
+ locale: e,
83
+ ...n
84
+ });
85
+ }
86
+ //#endregion
87
+ //#region src/date/timezone.ts
88
+ function M(e) {
89
+ try {
90
+ return Intl.DateTimeFormat(void 0, { timeZone: e }), !0;
91
+ } catch {
92
+ return !1;
93
+ }
94
+ }
95
+ function N(e) {
96
+ return e && M(e) ? e : b;
97
+ }
98
+ function P(e, t) {
99
+ let n = o(d(e, t));
100
+ return n === 0 ? 6 : n - 1;
101
+ }
102
+ function F(e, t) {
103
+ return u(c(d(e, t)), t);
104
+ }
105
+ function I(e, n) {
106
+ return u(t(d(e, n)), n);
107
+ }
108
+ function L(e, t) {
109
+ return u(l(d(e, t), { weekStartsOn: 1 }), t);
110
+ }
111
+ //#endregion
112
+ //#region src/date/index.ts
113
+ var R = /* @__PURE__ */ g({
114
+ DEFAULT_LOCALE: () => y,
115
+ DEFAULT_TZ: () => b,
116
+ endOfDayInTz: () => I,
117
+ format: () => E,
118
+ formatDateTZ: () => O,
119
+ formatDistance: () => w,
120
+ formatDistanceToNow: () => T,
121
+ formatRelative: () => D,
122
+ formatRelativeDate: () => A,
123
+ formatRelativeDateToNow: () => j,
124
+ formatRelativeReviewDate: () => k,
125
+ getWeekStartUTC: () => L,
126
+ getWeekdayIndex: () => P,
127
+ isValidIANATimezone: () => M,
128
+ safeTimezone: () => N,
129
+ startOfDayInTz: () => F,
130
+ toDate: () => x
131
+ });
132
+ v(R, S);
133
+ //#endregion
134
+ export { y as _, M as a, A as c, k as d, E as f, x as g, D as h, P as i, j as l, T as m, I as n, N as o, w as p, L as r, F as s, R as t, O as u, b as v };
package/dist/date.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("date-fns/locale"),o=require("date-fns"),s=require("date-fns-tz"),a=m.ptBR,u="America/Sao_Paulo";function n(e){return e instanceof Date?e:typeof e=="number"?new Date(e):typeof e=="string"?o.parseISO(e):e}function d(e,t=new Date,r){return o.formatDistance(n(e),n(t),{locale:a,...r})}function w(e,t){return o.formatDistanceToNow(n(e),{locale:a,...t})}function D(e,t,r){return o.format(n(e),t,{locale:a,...r})}function p(e,t=new Date,r){return o.formatRelative(n(e),n(t),{locale:a,...r})}function R(e,t,r=u){const c=s.toZonedTime(n(e),r);return D(c,t,{locale:a})}const y=e=>{const t=new Date,r=o.differenceInMinutes(e,t);if(r<1)return"<1m";if(r<10)return`<${Math.ceil(r/10)*10}m`;if(o.differenceInHours(e,t)<1)return"<1h";const i=o.differenceInDays(e,t);if(i<1)return"<1d";if(i<7)return`${i}d`;const f=o.differenceInMonths(e,t);return f<1?`${Math.ceil(i/30)}M`:f<12?`${f}M`:`${o.differenceInYears(e,t)}y`};function b(e,t=new Date,r="às",c=u){const i=s.toZonedTime(n(e),c),f=s.toZonedTime(n(t),c),l=o.formatRelative(i,f,{locale:a}).replace(/às/g,r);return`${l.charAt(0).toUpperCase()}${l.slice(1)}`}function O(e,t){const r=s.toZonedTime(n(e),u);return o.formatDistanceToNow(r,{locale:m.ptBR,...t})}exports.DEFAULT_LOCALE=a;exports.DEFAULT_TZ=u;exports.format=D;exports.formatDateTZ=R;exports.formatDistance=d;exports.formatDistanceToNow=w;exports.formatRelative=p;exports.formatRelativeDate=b;exports.formatRelativeDateToNow=O;exports.formatRelativeReviewDate=y;exports.toDate=n;Object.keys(o).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>o[e]})});
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./date-Bn1ahM0R.cjs`);exports.DEFAULT_LOCALE=e._,exports.DEFAULT_TZ=e.v,exports.endOfDayInTz=e.n,exports.format=e.f,exports.formatDateTZ=e.u,exports.formatDistance=e.p,exports.formatDistanceToNow=e.m,exports.formatRelative=e.h,exports.formatRelativeDate=e.c,exports.formatRelativeDateToNow=e.l,exports.formatRelativeReviewDate=e.d,exports.getWeekStartUTC=e.r,exports.getWeekdayIndex=e.i,exports.isValidIANATimezone=e.a,exports.safeTimezone=e.o,exports.startOfDayInTz=e.s,exports.toDate=e.g;var t=require(`date-fns`);Object.keys(t).forEach(function(e){e!==`default`&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:function(){return t[e]}})});
package/dist/date.d.ts CHANGED
@@ -2,7 +2,7 @@ import { format as format_2 } from 'date-fns';
2
2
  import { formatDistance as formatDistance_2 } from 'date-fns';
3
3
  import { formatDistanceToNow as formatDistanceToNow_2 } from 'date-fns';
4
4
  import { formatRelative as formatRelative_2 } from 'date-fns';
5
- import { Locale } from 'date-fns/locale';
5
+ import { Locale } from 'date-fns';
6
6
 
7
7
  export declare type DateValue = Date | string | number;
8
8
 
@@ -10,6 +10,11 @@ export declare const DEFAULT_LOCALE: Locale;
10
10
 
11
11
  export declare const DEFAULT_TZ: "America/Sao_Paulo";
12
12
 
13
+ /**
14
+ * Returns the UTC `Date` for the end of `date`'s day in `timezone` (23:59:59.999 local → UTC).
15
+ */
16
+ export declare function endOfDayInTz(date: Date, timezone: string): Date;
17
+
13
18
  export declare function format(date: DateValue, pattern: string, options?: Parameters<typeof format_2>[2]): string;
14
19
 
15
20
  /**
@@ -47,6 +52,36 @@ export declare function formatRelativeDateToNow(date: DateValue, options?: Param
47
52
 
48
53
  export declare const formatRelativeReviewDate: (date: Date) => string;
49
54
 
55
+ /**
56
+ * Returns the ISO weekday index (Mon = 0 … Sun = 6) for `date` evaluated in
57
+ * `timezone`. Uses `toZonedTime` so the result is always consistent with the
58
+ * given timezone regardless of the server's local clock.
59
+ */
60
+ export declare function getWeekdayIndex(date: Date, timezone: string): number;
61
+
62
+ /**
63
+ * Returns the UTC `Date` that corresponds to Monday midnight (00:00:00) in `timezone`.
64
+ */
65
+ export declare function getWeekStartUTC(now: Date, timezone: string): Date;
66
+
67
+ /**
68
+ * Returns true if `tz` is a valid IANA timezone identifier recognised by the
69
+ * runtime's Intl API (e.g. "America/Sao_Paulo", "America/Manaus", "UTC").
70
+ */
71
+ export declare function isValidIANATimezone(tz: string): boolean;
72
+
73
+ /**
74
+ * Returns `tz` if it is a valid IANA timezone, otherwise falls back to
75
+ * `DEFAULT_TZ` ("America/Sao_Paulo"). Use this as a safety net when reading
76
+ * timezone values from the database to avoid crashing on corrupted data.
77
+ */
78
+ export declare function safeTimezone(tz: string | null | undefined): string;
79
+
80
+ /**
81
+ * Returns the UTC `Date` for the start of `date`'s day in `timezone` (00:00:00.000 local → UTC).
82
+ */
83
+ export declare function startOfDayInTz(date: Date, timezone: string): Date;
84
+
50
85
  export declare function toDate(value: DateValue): Date;
51
86
 
52
87
 
package/dist/date.js CHANGED
@@ -1,72 +1,3 @@
1
- import { ptBR as u } from "date-fns/locale";
2
- import { parseISO as w, format as $, formatDistance as h, formatDistanceToNow as l, formatRelative as D, differenceInMinutes as T, differenceInHours as d, differenceInDays as R, differenceInMonths as y, differenceInYears as b } from "date-fns";
1
+ import { _ as e, a as t, c as n, d as r, f as i, g as a, h as o, i as s, l as c, m as l, n as u, o as d, p as f, r as p, s as m, u as h, v as g } from "./date-D5P-dKAx.js";
3
2
  export * from "date-fns";
4
- import { toZonedTime as c } from "date-fns-tz";
5
- const a = u, s = "America/Sao_Paulo";
6
- function n(t) {
7
- return t instanceof Date ? t : typeof t == "number" ? new Date(t) : typeof t == "string" ? w(t) : t;
8
- }
9
- function j(t, e = /* @__PURE__ */ new Date(), r) {
10
- return h(n(t), n(e), {
11
- locale: a,
12
- ...r
13
- });
14
- }
15
- function L(t, e) {
16
- return l(n(t), {
17
- locale: a,
18
- ...e
19
- });
20
- }
21
- function I(t, e, r) {
22
- return $(n(t), e, {
23
- locale: a,
24
- ...r
25
- });
26
- }
27
- function N(t, e = /* @__PURE__ */ new Date(), r) {
28
- return D(n(t), n(e), {
29
- locale: a,
30
- ...r
31
- });
32
- }
33
- function v(t, e, r = s) {
34
- const f = c(n(t), r);
35
- return I(f, e, {
36
- locale: a
37
- });
38
- }
39
- const E = (t) => {
40
- const e = /* @__PURE__ */ new Date(), r = T(t, e);
41
- if (r < 1) return "<1m";
42
- if (r < 10) return `<${Math.ceil(r / 10) * 10}m`;
43
- if (d(t, e) < 1) return "<1h";
44
- const o = R(t, e);
45
- if (o < 1) return "<1d";
46
- if (o < 7) return `${o}d`;
47
- const i = y(t, e);
48
- return i < 1 ? `${Math.ceil(o / 30)}M` : i < 12 ? `${i}M` : `${b(t, e)}y`;
49
- };
50
- function S(t, e = /* @__PURE__ */ new Date(), r = "às", f = s) {
51
- const o = c(n(t), f), i = c(n(e), f), m = D(o, i, {
52
- locale: a
53
- }).replace(/às/g, r);
54
- return `${m.charAt(0).toUpperCase()}${m.slice(1)}`;
55
- }
56
- function U(t, e) {
57
- const r = c(n(t), s);
58
- return l(r, { locale: u, ...e });
59
- }
60
- export {
61
- a as DEFAULT_LOCALE,
62
- s as DEFAULT_TZ,
63
- I as format,
64
- v as formatDateTZ,
65
- j as formatDistance,
66
- L as formatDistanceToNow,
67
- N as formatRelative,
68
- S as formatRelativeDate,
69
- U as formatRelativeDateToNow,
70
- E as formatRelativeReviewDate,
71
- n as toDate
72
- };
3
+ export { e as DEFAULT_LOCALE, g as DEFAULT_TZ, u as endOfDayInTz, i as format, h as formatDateTZ, f as formatDistance, l as formatDistanceToNow, o as formatRelative, n as formatRelativeDate, c as formatRelativeDateToNow, r as formatRelativeReviewDate, p as getWeekStartUTC, s as getWeekdayIndex, t as isValidIANATimezone, d as safeTimezone, m as startOfDayInTz, a as toDate };
@@ -0,0 +1,23 @@
1
+ //#region src/types/fsrs.ts
2
+ var e = /* @__PURE__ */ function(e) {
3
+ return e.New = "New", e.Learning = "Learning", e.Review = "Review", e.Relearning = "Relearning", e;
4
+ }({}), t = [
5
+ "New",
6
+ "Learning",
7
+ "Review",
8
+ "Relearning"
9
+ ], n = {
10
+ Manual: "Manual",
11
+ Again: "Again",
12
+ Hard: "Hard",
13
+ Good: "Good",
14
+ Easy: "Easy"
15
+ }, r = [
16
+ "Manual",
17
+ "Again",
18
+ "Hard",
19
+ "Good",
20
+ "Easy"
21
+ ];
22
+ //#endregion
23
+ export { t as i, e as n, r, n as t };
@@ -0,0 +1 @@
1
+ var e=function(e){return e.New=`New`,e.Learning=`Learning`,e.Review=`Review`,e.Relearning=`Relearning`,e}({}),t=[`New`,`Learning`,`Review`,`Relearning`],n={Manual:`Manual`,Again:`Again`,Hard:`Hard`,Good:`Good`,Easy:`Easy`},r=[`Manual`,`Again`,`Hard`,`Good`,`Easy`];Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
package/dist/hooks.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),r=(e,t)=>{const[o,c]=u.useState(e);return u.useEffect(()=>{const n=setTimeout(()=>{c(e)},t);return()=>{clearTimeout(n)}},[e,t]),o};exports.useDebounce=r;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-BK-Lzi7j.cjs`);let e=require(`react`);var t=(t,n)=>{let[r,i]=(0,e.useState)(t);return(0,e.useEffect)(()=>{let e=setTimeout(()=>{i(t)},n);return()=>{clearTimeout(e)}},[t,n]),r};exports.useDebounce=t;
package/dist/hooks.js CHANGED
@@ -1,15 +1,15 @@
1
- import { useState as r, useEffect as c } from "react";
2
- const m = (e, t) => {
3
- const [o, u] = r(e);
4
- return c(() => {
5
- const n = setTimeout(() => {
6
- u(e);
7
- }, t);
8
- return () => {
9
- clearTimeout(n);
10
- };
11
- }, [e, t]), o;
12
- };
13
- export {
14
- m as useDebounce
1
+ import { useEffect as e, useState as t } from "react";
2
+ //#region src/hooks/useDebounce.ts
3
+ var n = (n, r) => {
4
+ let [i, a] = t(n);
5
+ return e(() => {
6
+ let e = setTimeout(() => {
7
+ a(n);
8
+ }, r);
9
+ return () => {
10
+ clearTimeout(e);
11
+ };
12
+ }, [n, r]), i;
15
13
  };
14
+ //#endregion
15
+ export { n as useDebounce };
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./fsrs-DEA3eLGO.cjs"),P=require("./colors-c6Q-ORB_.cjs"),C=9999;function I({data:e,error:r},a){if(r){const t=r.value,A=t&&typeof t=="object"&&t!==null&&"message"in t?String(t.message):a;throw new Error(A||a)}if(!e||typeof e=="object"&&"error"in e)throw new Error(a);return e}var D=(e=>(e.Draft="draft",e.Published="published",e))(D||{});const N=["not-reviewed","card-updated","demand-rejected","card-removed"];var c=(e=>(e.Draft="draft",e.Review="to_review",e.Published="published",e.Archived="archived",e))(c||{});const m=["matemática","geografia","física","biologia","história","literatura","gramática","sociologia","química","filosofia","redação","artes","inglês"];var i=(e=>(e.Admin="admin",e.Moderator="moderator",e.User="user",e))(i||{}),R=(e=>(e.Owner="owner",e.Admin="admin",e.Member="member",e))(R||{}),s=(e=>(e.Premium="premium",e))(s||{}),_=(e=>(e.Active="active",e.Canceled="canceled",e.Pending="pending",e.Expired="expired",e))(_||{});const E={APP:{ACCESS:"app:access"},DECK:{CREATE_OWN:"deck:create:own",CREATE_PUBLIC:"deck:create:public",READ_OWN:"deck:read:own",READ_OTHERS:"deck:read:others",READ_UNPUBLISHED:"deck:read:unpublished",READ_FREE:"deck:read:free",READ_PREMIUM:"deck:read:premium",READ_PRIVATE:"deck:read:private",UPDATE_OWN:"deck:update:own",UPDATE_PUBLIC:"deck:update:public",DELETE_OWN:"deck:delete:own",DELETE_PUBLIC:"deck:delete:public"},CARD_DEMAND:{READ_ALL:"card-demand:read:*",CREATE:"card-demand:create",ACTION:"card-demand:action"},USER:{UPDATE_OWN:"user:update:own",UPDATE_ALL:"user:update:*",DELETE_OWN:"user:delete:own",DELETE_ALL:"user:delete:*",READ_OWN:"user:read:own",READ_ALL:"user:read:*"},STATS:{VIEW:"stats:view"},MEMBERSHIP:{MANAGE:"membership:manage"},PLAN:{CREATE:"plan:create",UPDATE:"plan:update",DELETE:"plan:delete"},BLOGPOST:{CREATE:"blogpost:create",UPDATE:"blogpost:update",DELETE:"blogpost:delete"},VESTY:{CHAT:"vesty:chat"},STUDY:{READ:"study:read",WRITE:"study:write"},LIBRARY:{READ:"library:read",WRITE:"library:write",WRITE_PREMIUM:"library:write:premium"},ADMIN_PANEL:{VIEW:"admin-panel:view"}},U={APP_ACCESS:E.APP.ACCESS,DECK_CREATE_OWN:E.DECK.CREATE_OWN,DECK_CREATE_PUBLIC:E.DECK.CREATE_PUBLIC,DECK_READ_OWN:E.DECK.READ_OWN,DECK_READ_OTHERS:E.DECK.READ_OTHERS,DECK_READ_UNPUBLISHED:E.DECK.READ_UNPUBLISHED,DECK_READ_FREE:E.DECK.READ_FREE,DECK_READ_PREMIUM:E.DECK.READ_PREMIUM,DECK_READ_PRIVATE:E.DECK.READ_PRIVATE,DECK_UPDATE_OWN:E.DECK.UPDATE_OWN,DECK_UPDATE_PUBLIC:E.DECK.UPDATE_PUBLIC,DECK_DELETE_OWN:E.DECK.DELETE_OWN,DECK_DELETE_PUBLIC:E.DECK.DELETE_PUBLIC,CARD_DEMAND_READ_ALL:E.CARD_DEMAND.READ_ALL,CARD_DEMAND_CREATE:E.CARD_DEMAND.CREATE,CARD_DEMAND_ACTION:E.CARD_DEMAND.ACTION,USER_UPDATE_OWN:E.USER.UPDATE_OWN,USER_UPDATE_ALL:E.USER.UPDATE_ALL,USER_DELETE_OWN:E.USER.DELETE_OWN,USER_DELETE_ALL:E.USER.DELETE_ALL,USER_READ_OWN:E.USER.READ_OWN,USER_READ_ALL:E.USER.READ_ALL,STATS_VIEW:E.STATS.VIEW,MEMBERSHIP_MANAGE:E.MEMBERSHIP.MANAGE,PLAN_CREATE:E.PLAN.CREATE,PLAN_UPDATE:E.PLAN.UPDATE,PLAN_DELETE:E.PLAN.DELETE,BLOGPOST_CREATE:E.BLOGPOST.CREATE,BLOGPOST_UPDATE:E.BLOGPOST.UPDATE,BLOGPOST_DELETE:E.BLOGPOST.DELETE,VESTY_CHAT:E.VESTY.CHAT,STUDY_READ:E.STUDY.READ,STUDY_WRITE:E.STUDY.WRITE,LIBRARY_READ:E.LIBRARY.READ,LIBRARY_WRITE:E.LIBRARY.WRITE,LIBRARY_WRITE_PREMIUM:E.LIBRARY.WRITE_PREMIUM,ADMIN_PANEL_VIEW:E.ADMIN_PANEL.VIEW},T=Object.values(E).flatMap(e=>Object.values(e)),u={[i.User]:["deck:read:free","deck:read:own","deck:delete:own","study:read","study:write","library:read","library:write","card-demand:create","user:update:own","user:delete:own","user:read:own"],[i.Moderator]:["app:access","deck:read:free","deck:read:own","deck:read:premium","deck:read:private","deck:read:unpublished","deck:delete:own","card-demand:read:*","card-demand:create","card-demand:action","study:read","study:write","library:read","library:write","library:write:premium","user:update:own","user:delete:own","user:read:own","admin-panel:view"],[i.Admin]:T},S={[s.Premium]:["app:access","deck:create:own","deck:update:own","deck:read:premium","stats:view","vesty:chat","library:write:premium"]},p=(e,r,a)=>{if(!r)return!1;if(u[r].includes(e))return!0;for(const A of a??[])if((S[A]??[]).includes(e))return!0;return!1};var l=(e=>(e.Published="published",e.Draft="draft",e.Archived="archived",e))(l||{});const n={história:"quaternary",geografia:"tertiary",matemática:"secondary",biologia:"primary",física:"quinary",gramática:"tertiary",literatura:"secondary",química:"primary",filosofia:"quaternary",sociologia:"quinary",redação:"secondary",artes:"tertiary",inglês:"quinary",default:"default"},o={matemática:"radical",gramática:"spell-check",literatura:"book-open",biologia:"dna",química:"test-tube-diagonal",física:"atom",história:"scroll",geografia:"earth",filosofia:"brain",sociologia:"users-round",redação:"notebook-pen",artes:"palette",inglês:"languages",default:"graduation-cap"},O=e=>o[e]||o.default,L=e=>n[e]||n.default,w=e=>{const r=L(e),a=r==="default"?"gray":r;return P.colors[a].DEFAULT};exports.ReviewRating=d.ReviewRating;exports.ReviewState=d.ReviewState;exports.reviewRatings=d.reviewRatings;exports.reviewStates=d.reviewStates;exports.ALL_PERMISSIONS=T;exports.BlogPostStatus=D;exports.DeckStatus=c;exports.ENTITLEMENT_PERMISSIONS=S;exports.Entitlement=s;exports.EntranceExamProgramStatus=l;exports.MembershipStatus=_;exports.OrganizationRole=R;exports.PERMISSIONS=E;exports.Permission=U;exports.ROLE_PERMISSIONS=u;exports.SUBJECTS=m;exports.SUBJECT_COLORS=n;exports.SUBJECT_ICONS=o;exports.UNPAGINATED_SIZE=C;exports.UserRole=i;exports.cardDemandStatus=N;exports.getSubjectCSSColor=w;exports.getSubjectColor=L;exports.getSubjectIcon=O;exports.hasPermission=p;exports.unwrapApiResponse=I;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./fsrs-DO2rNRTM.cjs`),t=require(`./theme-Bt1AkSvq.cjs`);var n=9999;function r({data:e,error:t},n){if(t){let e=t.value,r=e&&typeof e==`object`&&e&&`message`in e?String(e.message):n;throw Error(r||n)}if(!e||typeof e==`object`&&`error`in e)throw Error(n);return e}var i=function(e){return e.Draft=`draft`,e.Published=`published`,e}({}),a=[`not-reviewed`,`card-updated`,`demand-rejected`,`card-removed`],o=function(e){return e.Draft=`draft`,e.Review=`to_review`,e.Published=`published`,e.Archived=`archived`,e}({}),s=[`matemática`,`geografia`,`física`,`biologia`,`história`,`literatura`,`gramática`,`sociologia`,`química`,`filosofia`,`redação`,`artes`,`inglês`],c=function(e){return e.Admin=`admin`,e.Moderator=`moderator`,e.User=`user`,e}({}),l=function(e){return e.Owner=`owner`,e.Admin=`admin`,e.Member=`member`,e}({}),u=function(e){return e.Premium=`premium`,e}({}),d=function(e){return e.Active=`active`,e.Canceled=`canceled`,e.Pending=`pending`,e.Expired=`expired`,e}({}),f=function(e){return e.Fixed=`FIXED`,e.Seasonal=`SEASONAL`,e}({}),p={APP:{ACCESS:`app:access`},DECK:{CREATE_OWN:`deck:create:own`,CREATE_PUBLIC:`deck:create:public`,READ_OWN:`deck:read:own`,READ_OTHERS:`deck:read:others`,READ_UNPUBLISHED:`deck:read:unpublished`,READ_FREE:`deck:read:free`,READ_PREMIUM:`deck:read:premium`,READ_PRIVATE:`deck:read:private`,UPDATE_OWN:`deck:update:own`,UPDATE_PUBLIC:`deck:update:public`,DELETE_OWN:`deck:delete:own`,DELETE_PUBLIC:`deck:delete:public`},CARD_DEMAND:{READ_ALL:`card-demand:read:*`,CREATE:`card-demand:create`,ACTION:`card-demand:action`},USER:{UPDATE_OWN:`user:update:own`,UPDATE_ALL:`user:update:*`,DELETE_OWN:`user:delete:own`,DELETE_ALL:`user:delete:*`,READ_OWN:`user:read:own`,READ_ALL:`user:read:*`},STATS:{VIEW:`stats:view`},MEMBERSHIP:{MANAGE:`membership:manage`},PLAN:{CREATE:`plan:create`,UPDATE:`plan:update`,DELETE:`plan:delete`},BLOGPOST:{CREATE:`blogpost:create`,UPDATE:`blogpost:update`,DELETE:`blogpost:delete`},VESTY:{CHAT:`vesty:chat`,INSIGHTS:`vesty:insights`},STUDY:{READ:`study:read`,WRITE:`study:write`},LIBRARY:{READ:`library:read`,WRITE:`library:write`,WRITE_PREMIUM:`library:write:premium`},ADMIN_PANEL:{VIEW:`admin-panel:view`}},m={APP_ACCESS:p.APP.ACCESS,DECK_CREATE_OWN:p.DECK.CREATE_OWN,DECK_CREATE_PUBLIC:p.DECK.CREATE_PUBLIC,DECK_READ_OWN:p.DECK.READ_OWN,DECK_READ_OTHERS:p.DECK.READ_OTHERS,DECK_READ_UNPUBLISHED:p.DECK.READ_UNPUBLISHED,DECK_READ_FREE:p.DECK.READ_FREE,DECK_READ_PREMIUM:p.DECK.READ_PREMIUM,DECK_READ_PRIVATE:p.DECK.READ_PRIVATE,DECK_UPDATE_OWN:p.DECK.UPDATE_OWN,DECK_UPDATE_PUBLIC:p.DECK.UPDATE_PUBLIC,DECK_DELETE_OWN:p.DECK.DELETE_OWN,DECK_DELETE_PUBLIC:p.DECK.DELETE_PUBLIC,CARD_DEMAND_READ_ALL:p.CARD_DEMAND.READ_ALL,CARD_DEMAND_CREATE:p.CARD_DEMAND.CREATE,CARD_DEMAND_ACTION:p.CARD_DEMAND.ACTION,USER_UPDATE_OWN:p.USER.UPDATE_OWN,USER_UPDATE_ALL:p.USER.UPDATE_ALL,USER_DELETE_OWN:p.USER.DELETE_OWN,USER_DELETE_ALL:p.USER.DELETE_ALL,USER_READ_OWN:p.USER.READ_OWN,USER_READ_ALL:p.USER.READ_ALL,STATS_VIEW:p.STATS.VIEW,MEMBERSHIP_MANAGE:p.MEMBERSHIP.MANAGE,PLAN_CREATE:p.PLAN.CREATE,PLAN_UPDATE:p.PLAN.UPDATE,PLAN_DELETE:p.PLAN.DELETE,BLOGPOST_CREATE:p.BLOGPOST.CREATE,BLOGPOST_UPDATE:p.BLOGPOST.UPDATE,BLOGPOST_DELETE:p.BLOGPOST.DELETE,VESTY_CHAT:p.VESTY.CHAT,VESTY_INSIGHTS:p.VESTY.INSIGHTS,STUDY_READ:p.STUDY.READ,STUDY_WRITE:p.STUDY.WRITE,LIBRARY_READ:p.LIBRARY.READ,LIBRARY_WRITE:p.LIBRARY.WRITE,LIBRARY_WRITE_PREMIUM:p.LIBRARY.WRITE_PREMIUM,ADMIN_PANEL_VIEW:p.ADMIN_PANEL.VIEW},h=Object.values(p).flatMap(e=>Object.values(e)),g={[c.User]:[`deck:read:free`,`deck:read:own`,`deck:delete:own`,`study:read`,`study:write`,`library:read`,`library:write`,`card-demand:create`,`user:update:own`,`user:delete:own`,`user:read:own`],[c.Moderator]:[`app:access`,`deck:read:free`,`deck:read:own`,`deck:read:premium`,`deck:read:private`,`deck:read:unpublished`,`deck:delete:own`,`card-demand:read:*`,`card-demand:create`,`card-demand:action`,`study:read`,`study:write`,`library:read`,`library:write`,`library:write:premium`,`user:update:own`,`user:delete:own`,`user:read:own`,`admin-panel:view`],[c.Admin]:h},_={[u.Premium]:[`app:access`,`deck:create:own`,`deck:update:own`,`deck:read:premium`,`stats:view`,`vesty:chat`,`vesty:insights`,`library:write:premium`]},v=(e,t,n)=>{if(!t)return!1;if(g[t].includes(e))return!0;for(let t of n??[])if((_[t]??[]).includes(e))return!0;return!1},y=function(e){return e.Published=`published`,e.Draft=`draft`,e.Archived=`archived`,e}({}),b={história:`quaternary`,geografia:`tertiary`,matemática:`secondary`,biologia:`primary`,física:`quinary`,gramática:`tertiary`,literatura:`secondary`,química:`primary`,filosofia:`quaternary`,sociologia:`quinary`,redação:`secondary`,artes:`tertiary`,inglês:`quinary`,default:`default`},x={matemática:`radical`,gramática:`spell-check`,literatura:`book-open`,biologia:`dna`,química:`test-tube-diagonal`,física:`atom`,história:`scroll`,geografia:`earth`,filosofia:`brain`,sociologia:`users-round`,redação:`notebook-pen`,artes:`palette`,inglês:`languages`,default:`graduation-cap`},S=e=>x[e]||x.default,C=e=>b[e]||b.default,w=e=>{let n=C(e);return t.i[n===`default`?`gray`:n].DEFAULT};exports.ALL_PERMISSIONS=h,exports.BlogPostStatus=i,exports.DeckStatus=o,exports.ENTITLEMENT_PERMISSIONS=_,exports.Entitlement=u,exports.EntranceExamProgramStatus=y,exports.MembershipStatus=d,exports.OrganizationRole=l,exports.PERMISSIONS=p,exports.Permission=m,exports.PlanType=f,exports.ROLE_PERMISSIONS=g,exports.ReviewRating=e.t,exports.ReviewState=e.n,exports.SUBJECTS=s,exports.SUBJECT_COLORS=b,exports.SUBJECT_ICONS=x,exports.UNPAGINATED_SIZE=n,exports.UserRole=c,exports.cardDemandStatus=a,exports.getSubjectCSSColor=w,exports.getSubjectColor=C,exports.getSubjectIcon=S,exports.hasPermission=v,exports.reviewRatings=e.r,exports.reviewStates=e.i,exports.unwrapApiResponse=r;
package/dist/index.d.ts CHANGED
@@ -99,6 +99,12 @@ export declare interface ICard {
99
99
  };
100
100
  }
101
101
 
102
+ export declare interface ICardMedia {
103
+ id: string;
104
+ side: 'front' | 'back';
105
+ url: string;
106
+ }
107
+
102
108
  export declare interface ICardReview {
103
109
  id: string;
104
110
  due: Date | null;
@@ -114,6 +120,12 @@ export declare interface ICardReview {
114
120
  cardId: string;
115
121
  }
116
122
 
123
+ export declare interface ICardUserState {
124
+ cardId: string;
125
+ suspended: boolean;
126
+ toReview: boolean;
127
+ }
128
+
117
129
  export declare interface IDeck {
118
130
  id: string;
119
131
  title: string;
@@ -192,6 +204,30 @@ export declare interface IStudyStats {
192
204
  total: number;
193
205
  }
194
206
 
207
+ export declare interface IUserProfile {
208
+ id: string;
209
+ name: string;
210
+ surname: string;
211
+ email: string;
212
+ image: string | null;
213
+ role: UserScopeRole;
214
+ goal: string | null;
215
+ learnDailyLimit: number | null;
216
+ newCardsPerDeckDailyLimit: number | null;
217
+ universityId: number | null;
218
+ universityName: string | null;
219
+ courseId: number | null;
220
+ courseName: string | null;
221
+ authProviders: string[];
222
+ }
223
+
224
+ export declare interface IVestyChatRelatedDeck {
225
+ id: string;
226
+ title: string;
227
+ subject: Subject;
228
+ topicName: string;
229
+ }
230
+
195
231
  export declare enum MembershipStatus {
196
232
  Active = "active",
197
233
  Canceled = "canceled",
@@ -243,6 +279,7 @@ export declare const Permission: {
243
279
  readonly BLOGPOST_UPDATE: "blogpost:update";
244
280
  readonly BLOGPOST_DELETE: "blogpost:delete";
245
281
  readonly VESTY_CHAT: "vesty:chat";
282
+ readonly VESTY_INSIGHTS: "vesty:insights";
246
283
  readonly STUDY_READ: "study:read";
247
284
  readonly STUDY_WRITE: "study:write";
248
285
  readonly LIBRARY_READ: "library:read";
@@ -300,6 +337,7 @@ export declare const PERMISSIONS: {
300
337
  };
301
338
  readonly VESTY: {
302
339
  readonly CHAT: "vesty:chat";
340
+ readonly INSIGHTS: "vesty:insights";
303
341
  };
304
342
  readonly STUDY: {
305
343
  readonly READ: "study:read";
@@ -315,6 +353,11 @@ export declare const PERMISSIONS: {
315
353
  };
316
354
  };
317
355
 
356
+ export declare enum PlanType {
357
+ Fixed = "FIXED",
358
+ Seasonal = "SEASONAL"
359
+ }
360
+
318
361
  export declare const ReviewRating: {
319
362
  readonly Manual: "Manual";
320
363
  readonly Again: "Again";