@marinoscar/platform-web 0.1.0-next.18 → 0.1.0-next.19
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/CHANGELOG.md +17 -0
- package/dist/ai/headless/errors.d.ts +7 -0
- package/dist/ai/headless/errors.d.ts.map +1 -1
- package/dist/ai/headless/errors.js +2 -0
- package/dist/ai/headless/errors.js.map +1 -1
- package/dist/ai/headless/types.d.ts +30 -5
- package/dist/ai/headless/types.d.ts.map +1 -1
- package/dist/ai/headless/types.js +22 -10
- package/dist/ai/headless/types.js.map +1 -1
- package/dist/ai/headless/use-ai-usage.d.ts +5 -2
- package/dist/ai/headless/use-ai-usage.d.ts.map +1 -1
- package/dist/ai/headless/use-ai-usage.js +15 -5
- package/dist/ai/headless/use-ai-usage.js.map +1 -1
- package/dist/ai/ui/AiUsagePage.d.ts.map +1 -1
- package/dist/ai/ui/AiUsagePage.js +7 -5
- package/dist/ai/ui/AiUsagePage.js.map +1 -1
- package/dist/ai/ui/shared/AiErrorAlert.d.ts.map +1 -1
- package/dist/ai/ui/shared/AiErrorAlert.js +5 -1
- package/dist/ai/ui/shared/AiErrorAlert.js.map +1 -1
- package/dist/ai/ui/usage/aiUsageFormat.d.ts +9 -6
- package/dist/ai/ui/usage/aiUsageFormat.d.ts.map +1 -1
- package/dist/ai/ui/usage/aiUsageFormat.js +28 -12
- package/dist/ai/ui/usage/aiUsageFormat.js.map +1 -1
- package/dist/ai/ui/user/MyAiUsageSection.d.ts.map +1 -1
- package/dist/ai/ui/user/MyAiUsageSection.js +5 -2
- package/dist/ai/ui/user/MyAiUsageSection.js.map +1 -1
- package/dist/ai/ui/user/aiErrorText.d.ts +4 -1
- package/dist/ai/ui/user/aiErrorText.d.ts.map +1 -1
- package/dist/ai/ui/user/aiErrorText.js +10 -2
- package/dist/ai/ui/user/aiErrorText.js.map +1 -1
- package/dist/core/http/client.d.ts.map +1 -1
- package/dist/core/http/client.js +7 -0
- package/dist/core/http/client.js.map +1 -1
- package/dist/core/http/sse.d.ts.map +1 -1
- package/dist/core/http/sse.js +3 -1
- package/dist/core/http/sse.js.map +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/time-zone/format.d.ts +6 -2
- package/dist/core/time-zone/format.d.ts.map +1 -1
- package/dist/core/time-zone/format.js +27 -25
- package/dist/core/time-zone/format.js.map +1 -1
- package/dist/core/time-zone/request.d.ts +17 -0
- package/dist/core/time-zone/request.d.ts.map +1 -0
- package/dist/core/time-zone/request.js +26 -0
- package/dist/core/time-zone/request.js.map +1 -0
- package/dist/datatable/headless/export/exportModel.d.ts +7 -1
- package/dist/datatable/headless/export/exportModel.d.ts.map +1 -1
- package/dist/datatable/headless/export/exportModel.js +10 -2
- package/dist/datatable/headless/export/exportModel.js.map +1 -1
- package/dist/datatable/headless/filter/dateRange.d.ts +40 -0
- package/dist/datatable/headless/filter/dateRange.d.ts.map +1 -0
- package/dist/datatable/headless/filter/dateRange.js +53 -0
- package/dist/datatable/headless/filter/dateRange.js.map +1 -0
- package/dist/datatable/headless/filter/filterTypes.d.ts.map +1 -1
- package/dist/datatable/headless/filter/filterTypes.js +24 -4
- package/dist/datatable/headless/filter/filterTypes.js.map +1 -1
- package/dist/datatable/headless/index.d.ts +2 -0
- package/dist/datatable/headless/index.d.ts.map +1 -1
- package/dist/datatable/headless/index.js +1 -0
- package/dist/datatable/headless/index.js.map +1 -1
- package/dist/db-backup/internal/time-zones.d.ts +3 -0
- package/dist/db-backup/internal/time-zones.d.ts.map +1 -0
- package/dist/db-backup/internal/time-zones.js +24 -0
- package/dist/db-backup/internal/time-zones.js.map +1 -0
- package/dist/db-backup/ui/DbBackupConfigPanel.d.ts +11 -6
- package/dist/db-backup/ui/DbBackupConfigPanel.d.ts.map +1 -1
- package/dist/db-backup/ui/DbBackupConfigPanel.js +18 -11
- package/dist/db-backup/ui/DbBackupConfigPanel.js.map +1 -1
- package/dist/identity/ui/tokens/CreatePatDialog.d.ts +17 -0
- package/dist/identity/ui/tokens/CreatePatDialog.d.ts.map +1 -1
- package/dist/identity/ui/tokens/CreatePatDialog.js +34 -11
- package/dist/identity/ui/tokens/CreatePatDialog.js.map +1 -1
- package/dist/settings/ui/ProfileSettings.d.ts +1 -1
- package/dist/settings/ui/ProfileSettings.d.ts.map +1 -1
- package/dist/settings/ui/UserSettingsSection.d.ts +1 -1
- package/dist/settings/ui/UserSettingsSection.d.ts.map +1 -1
- package/dist/sharing/internal/format.d.ts +10 -1
- package/dist/sharing/internal/format.d.ts.map +1 -1
- package/dist/sharing/internal/format.js +10 -1
- package/dist/sharing/internal/format.js.map +1 -1
- package/package.json +2 -2
|
@@ -9,6 +9,23 @@ interface CreatePatDialogProps {
|
|
|
9
9
|
durationUnit: PatDurationUnit;
|
|
10
10
|
}) => Promise<PatCreatedResponse>;
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* The expiry the server will compute for a token created now: minutes are a
|
|
14
|
+
* plain duration; days and months are calendar steps on the wall clock of
|
|
15
|
+
* `timeZone` (`addCalendarInZone` of `@marinoscar/platform-contract/timezone`,
|
|
16
|
+
* the function the PAT service calls with the requester's zone), so the time
|
|
17
|
+
* of day is kept across a DST change and a month step clamps to a shorter
|
|
18
|
+
* month's end. Exported for tests only (not part of the package entry).
|
|
19
|
+
*
|
|
20
|
+
* @param durationValue - the whole number of units.
|
|
21
|
+
* @param durationUnit - minutes, days or months.
|
|
22
|
+
* @param now - the starting instant.
|
|
23
|
+
* @param timeZone - the zone of the calendar steps; default the display zone.
|
|
24
|
+
* @returns the expiry instant.
|
|
25
|
+
*
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export declare function computeExpiresAt(durationValue: number, durationUnit: PatDurationUnit, now?: Date, timeZone?: string): Date;
|
|
12
29
|
export declare function CreatePatDialog({ open, onClose, onCreated, onCreate }: CreatePatDialogProps): import("react").JSX.Element;
|
|
13
30
|
export {};
|
|
14
31
|
//# sourceMappingURL=CreatePatDialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatePatDialog.d.ts","sourceRoot":"","sources":["../../../../src/identity/ui/tokens/CreatePatDialog.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"CreatePatDialog.d.ts","sourceRoot":"","sources":["../../../../src/identity/ui/tokens/CreatePatDialog.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAWnF,UAAU,oBAAoB;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAClD,QAAQ,EAAE,CAAC,IAAI,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,eAAe,CAAC;KAC/B,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACnC;AAQD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,eAAe,EAC7B,GAAG,GAAE,IAAiB,EACtB,QAAQ,GAAE,MAA6B,GACtC,IAAI,CASN;AAWD,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,oBAAoB,+BAwI3F"}
|
|
@@ -1,28 +1,51 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { Dialog, DialogTitle, DialogContent, DialogActions, TextField, Button, Alert, Box, MenuItem, Typography, } from '@mui/material';
|
|
4
|
-
import {
|
|
4
|
+
import { addCalendarInZone } from '@marinoscar/platform-contract/timezone';
|
|
5
|
+
import { NUMERIC_DATE, NUMERIC_TIME, formatDate, formatTime, getDisplayTimeZone, useDisplayTimeZone, } from '../../../core/index.js';
|
|
5
6
|
const DURATION_UNITS = [
|
|
6
7
|
{ value: 'minutes', label: 'Minutes' },
|
|
7
8
|
{ value: 'days', label: 'Days' },
|
|
8
9
|
{ value: 'months', label: 'Months' },
|
|
9
10
|
];
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
/**
|
|
12
|
+
* The expiry the server will compute for a token created now: minutes are a
|
|
13
|
+
* plain duration; days and months are calendar steps on the wall clock of
|
|
14
|
+
* `timeZone` (`addCalendarInZone` of `@marinoscar/platform-contract/timezone`,
|
|
15
|
+
* the function the PAT service calls with the requester's zone), so the time
|
|
16
|
+
* of day is kept across a DST change and a month step clamps to a shorter
|
|
17
|
+
* month's end. Exported for tests only (not part of the package entry).
|
|
18
|
+
*
|
|
19
|
+
* @param durationValue - the whole number of units.
|
|
20
|
+
* @param durationUnit - minutes, days or months.
|
|
21
|
+
* @param now - the starting instant.
|
|
22
|
+
* @param timeZone - the zone of the calendar steps; default the display zone.
|
|
23
|
+
* @returns the expiry instant.
|
|
24
|
+
*
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export function computeExpiresAt(durationValue, durationUnit, now = new Date(), timeZone = getDisplayTimeZone()) {
|
|
12
28
|
switch (durationUnit) {
|
|
13
29
|
case 'minutes':
|
|
14
30
|
return new Date(now.getTime() + durationValue * 60 * 1000);
|
|
15
31
|
case 'days':
|
|
16
|
-
return
|
|
17
|
-
case 'months':
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
32
|
+
return inZone(now, { days: durationValue }, timeZone);
|
|
33
|
+
case 'months':
|
|
34
|
+
return inZone(now, { months: durationValue }, timeZone);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function inZone(now, duration, timeZone) {
|
|
38
|
+
try {
|
|
39
|
+
return addCalendarInZone(now, duration, timeZone);
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
// A zone the runtime does not know: the server falls back to UTC too.
|
|
43
|
+
return addCalendarInZone(now, duration, 'UTC');
|
|
22
44
|
}
|
|
23
45
|
}
|
|
24
46
|
export function CreatePatDialog({ open, onClose, onCreated, onCreate }) {
|
|
25
|
-
|
|
47
|
+
// The expiry preview is computed and rendered in the display zone.
|
|
48
|
+
const zone = useDisplayTimeZone();
|
|
26
49
|
const [name, setName] = useState('');
|
|
27
50
|
const [durationValue, setDurationValue] = useState('30');
|
|
28
51
|
const [durationUnit, setDurationUnit] = useState('days');
|
|
@@ -33,7 +56,7 @@ export function CreatePatDialog({ open, onClose, onCreated, onCreate }) {
|
|
|
33
56
|
Number.isInteger(parsedDurationValue) &&
|
|
34
57
|
parsedDurationValue >= 1 &&
|
|
35
58
|
parsedDurationValue <= 999;
|
|
36
|
-
const expiresAt = isDurationValid ? computeExpiresAt(parsedDurationValue, durationUnit) : null;
|
|
59
|
+
const expiresAt = isDurationValid ? computeExpiresAt(parsedDurationValue, durationUnit, new Date(), zone) : null;
|
|
37
60
|
const handleSubmit = async (e) => {
|
|
38
61
|
e.preventDefault();
|
|
39
62
|
setError(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatePatDialog.js","sourceRoot":"","sources":["../../../../src/identity/ui/tokens/CreatePatDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAa,MAAM,OAAO,CAAC;AAC5C,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,aAAa,EACb,SAAS,EACT,MAAM,EACN,KAAK,EACL,GAAG,EACH,QAAQ,EACR,UAAU,GACX,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"CreatePatDialog.js","sourceRoot":"","sources":["../../../../src/identity/ui/tokens/CreatePatDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import type { UserSettingsResponseBase } from '@marinoscar/platform-contract/set
|
|
|
8
8
|
* @stability experimental
|
|
9
9
|
*/
|
|
10
10
|
export type ProfilePatch = Partial<Omit<UserSettingsResponseBase['profile'], 'timezone'>> & {
|
|
11
|
-
/** The
|
|
11
|
+
/** The IANA zone to store, or `null` to clear it (follow the device). */
|
|
12
12
|
timezone?: string | null;
|
|
13
13
|
} & Record<string, unknown>;
|
|
14
14
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfileSettings.d.ts","sourceRoot":"","sources":["../../../src/settings/ui/ProfileSettings.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAwB3C,OAAO,KAAK,EAAsB,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAW3G;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG;IAC1F,
|
|
1
|
+
{"version":3,"file":"ProfileSettings.d.ts","sourceRoot":"","sources":["../../../src/settings/ui/ProfileSettings.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAwB3C,OAAO,KAAK,EAAsB,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAW3G;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG;IAC1F,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAK5B;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,qDAAqD;IACrD,OAAO,EAAE,wBAAwB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvE;;;OAGG;IACH,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1C,qFAAqF;IACrF,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,uEAAuE;IACvE,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,oGAAoG;IACpG,WAAW,CAAC,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;CACtD;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,sCAAsC;IACtC,OAAO,EAAE,wBAAwB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvE;;;;;OAKG;IACH,MAAM,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD;;;OAGG;IACH,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,wBAAwB,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3F,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sBAAsB;IACtB,KAAK,CAAC,EAAE,oBAAoB,CAAC;CAC9B;AAgCD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,MAAM,EACN,kBAAkB,EAClB,QAAgB,EAChB,KAAK,GACN,EAAE,oBAAoB,+BA2btB"}
|
|
@@ -55,7 +55,7 @@ export type UserSettingsUpdate = {
|
|
|
55
55
|
theme?: ThemePreferenceId;
|
|
56
56
|
/** New profile fields, the ones an app added with `extendUserProfile` included (`null` deletes one, `timezone` among them). */
|
|
57
57
|
profile?: Partial<Omit<UserSettingsResponseBase['profile'], 'timezone'>> & {
|
|
58
|
-
/** The
|
|
58
|
+
/** The IANA zone to store, or `null` to clear it (follow the device). */
|
|
59
59
|
timezone?: string | null;
|
|
60
60
|
} & Record<string, unknown>;
|
|
61
61
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserSettingsSection.d.ts","sourceRoot":"","sources":["../../../src/settings/ui/UserSettingsSection.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAE1G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,+HAA+H;IAC/H,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG;QACzE,
|
|
1
|
+
{"version":3,"file":"UserSettingsSection.d.ts","sourceRoot":"","sources":["../../../src/settings/ui/UserSettingsSection.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAE1G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,+HAA+H;IAC/H,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG;QACzE,yEAAyE;QACzE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,2BAA2B;IAC3B,QAAQ,EAAE,wBAAwB,CAAC;IACnC,6EAA6E;IAC7E,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;OAWG;IACH,IAAI,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,wBAAwB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzF;;;;OAIG;IACH,eAAe,EAAE,CAAC,QAAQ,EAAE,wBAAwB,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACxF;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,SAAS,CAAC;IACzD;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,WAAW,EACX,QAAQ,EACR,KAAK,GACN,EAAE,wBAAwB,+BAyF1B"}
|
|
@@ -4,6 +4,15 @@ export declare function expiryText(iso: string | null | undefined): string;
|
|
|
4
4
|
/** `media_item` becomes `Media item`. */
|
|
5
5
|
export declare function humanizeType(type: string): string;
|
|
6
6
|
export declare const EMAIL_PATTERN: RegExp;
|
|
7
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* `days` from now as an ISO instant, or `null` for never.
|
|
9
|
+
*
|
|
10
|
+
* Deliberately a rolling `days * 24h` from now, not a calendar step in the
|
|
11
|
+
* user's zone: a share or link that "expires in 7 days" grants exactly that
|
|
12
|
+
* much access wherever the owner or the recipient is, and the instant is what
|
|
13
|
+
* the API stores and enforces (the dialog shows it in the display zone). A
|
|
14
|
+
* calendar step would make the grant an hour longer or shorter across a DST
|
|
15
|
+
* change for no benefit to either side.
|
|
16
|
+
*/
|
|
8
17
|
export declare function expiryFromDays(days: number | null, now?: Date): string | null;
|
|
9
18
|
//# sourceMappingURL=format.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/sharing/internal/format.ts"],"names":[],"mappings":"AAIA,oEAAoE;AACpE,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAEjE;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAEjE;AAED,yCAAyC;AACzC,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,eAAO,MAAM,aAAa,QAA+B,CAAC;AAE1D
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/sharing/internal/format.ts"],"names":[],"mappings":"AAIA,oEAAoE;AACpE,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAEjE;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAEjE;AAED,yCAAyC;AACzC,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,eAAO,MAAM,aAAa,QAA+B,CAAC;AAE1D;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,GAAE,IAAiB,GAAG,MAAM,GAAG,IAAI,CAGzF"}
|
|
@@ -13,7 +13,16 @@ export function humanizeType(type) {
|
|
|
13
13
|
return words.length === 0 ? type : words.charAt(0).toUpperCase() + words.slice(1);
|
|
14
14
|
}
|
|
15
15
|
export const EMAIL_PATTERN = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
16
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* `days` from now as an ISO instant, or `null` for never.
|
|
18
|
+
*
|
|
19
|
+
* Deliberately a rolling `days * 24h` from now, not a calendar step in the
|
|
20
|
+
* user's zone: a share or link that "expires in 7 days" grants exactly that
|
|
21
|
+
* much access wherever the owner or the recipient is, and the instant is what
|
|
22
|
+
* the API stores and enforces (the dialog shows it in the display zone). A
|
|
23
|
+
* calendar step would make the grant an hour longer or shorter across a DST
|
|
24
|
+
* change for no benefit to either side.
|
|
25
|
+
*/
|
|
17
26
|
export function expiryFromDays(days, now = new Date()) {
|
|
18
27
|
if (days === null)
|
|
19
28
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/sharing/internal/format.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAE9D,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEpE,oEAAoE;AACpE,MAAM,UAAU,UAAU,CAAC,GAA8B;IACvD,OAAO,eAAe,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAA8B;IACvD,OAAO,GAAG,CAAC,CAAC,CAAC,WAAW,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;AAC9D,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,4BAA4B,CAAC;AAE1D
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/sharing/internal/format.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAE9D,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEpE,oEAAoE;AACpE,MAAM,UAAU,UAAU,CAAC,GAA8B;IACvD,OAAO,eAAe,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAA8B;IACvD,OAAO,GAAG,CAAC,CAAC,CAAC,WAAW,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;AAC9D,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,4BAA4B,CAAC;AAE1D;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,IAAmB,EAAE,MAAY,IAAI,IAAI,EAAE;IACxE,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;AAC5E,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@marinoscar/platform-web",
|
|
3
|
-
"version": "0.1.0-next.
|
|
3
|
+
"version": "0.1.0-next.19",
|
|
4
4
|
"description": "React pages, components and hooks of the platform (ESM).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -290,7 +290,7 @@
|
|
|
290
290
|
"test:run": "vitest run"
|
|
291
291
|
},
|
|
292
292
|
"dependencies": {
|
|
293
|
-
"@marinoscar/platform-contract": "0.1.0-next.
|
|
293
|
+
"@marinoscar/platform-contract": "0.1.0-next.19"
|
|
294
294
|
},
|
|
295
295
|
"peerDependencies": {
|
|
296
296
|
"@codemirror/lang-sql": "^6.10.0",
|