@endora-commerce/admin-shell 0.100.1 → 0.101.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.
- package/dist/AdminRoot.d.ts +18 -1
- package/dist/AdminRoot.d.ts.map +1 -1
- package/dist/AdminRoot.js +25 -2
- package/dist/AdminRoot.js.map +1 -1
- package/dist/components/LoginPage.d.ts +6 -2
- package/dist/components/LoginPage.d.ts.map +1 -1
- package/dist/components/LoginPage.js +8 -4
- package/dist/components/LoginPage.js.map +1 -1
- package/dist/i18n/preauth-login-copy.d.ts +17 -2
- package/dist/i18n/preauth-login-copy.d.ts.map +1 -1
- package/dist/i18n/preauth-login-copy.js +17 -2
- package/dist/i18n/preauth-login-copy.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/dist/AdminRoot.d.ts
CHANGED
|
@@ -40,6 +40,23 @@ export interface AdminRootProps {
|
|
|
40
40
|
* cannot name a file in the project that consumes it.
|
|
41
41
|
*/
|
|
42
42
|
readonly contributions: readonly AdminRegistryEntry[];
|
|
43
|
+
/**
|
|
44
|
+
* The path this admin is served under — `/admin` — when it is not the root.
|
|
45
|
+
*
|
|
46
|
+
* Defaults to the bundle's own base ({@link routerBasename} over Vite's
|
|
47
|
+
* `import.meta.env.BASE_URL`), so a project that builds with
|
|
48
|
+
* `base: '/admin/'` gets a router under `/admin` with nothing else to set:
|
|
49
|
+
* one value, the bundler's, moves the asset URLs and the routes together.
|
|
50
|
+
*/
|
|
51
|
+
readonly basename?: string | undefined;
|
|
43
52
|
}
|
|
44
|
-
|
|
53
|
+
/**
|
|
54
|
+
* The router's basename for a bundler `base`.
|
|
55
|
+
*
|
|
56
|
+
* `'/admin/'` is `'/admin'`; the root — `'/'`, the empty string, and Vite's
|
|
57
|
+
* relative `'./'` — is no basename at all, which is the router this shell has
|
|
58
|
+
* always mounted.
|
|
59
|
+
*/
|
|
60
|
+
export declare function routerBasename(base: string | undefined): string | undefined;
|
|
61
|
+
export declare function AdminRoot({ contributions, basename }: AdminRootProps): ReactNode;
|
|
45
62
|
//# sourceMappingURL=AdminRoot.d.ts.map
|
package/dist/AdminRoot.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminRoot.d.ts","sourceRoot":"","sources":["../src/AdminRoot.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAKnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,kBAAkB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"AdminRoot.d.ts","sourceRoot":"","sources":["../src/AdminRoot.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAKnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACtD;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAI3E;AAYD,wBAAgB,SAAS,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,cAAc,GAAG,SAAS,CAqBhF"}
|
package/dist/AdminRoot.js
CHANGED
|
@@ -33,7 +33,30 @@ import { StrictMode } from 'react';
|
|
|
33
33
|
import { BrowserRouter } from 'react-router-dom';
|
|
34
34
|
import { App } from './App.js';
|
|
35
35
|
import { AuthProvider } from './lib/auth.js';
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
/**
|
|
37
|
+
* The router's basename for a bundler `base`.
|
|
38
|
+
*
|
|
39
|
+
* `'/admin/'` is `'/admin'`; the root — `'/'`, the empty string, and Vite's
|
|
40
|
+
* relative `'./'` — is no basename at all, which is the router this shell has
|
|
41
|
+
* always mounted.
|
|
42
|
+
*/
|
|
43
|
+
export function routerBasename(base) {
|
|
44
|
+
if (base === undefined || !base.startsWith('/'))
|
|
45
|
+
return undefined;
|
|
46
|
+
const trimmed = base.replace(/\/+$/, '');
|
|
47
|
+
return trimmed.length === 0 ? undefined : trimmed;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The base the bundle was built with. Vite replaces the expression at build
|
|
51
|
+
* time in the consuming project, exactly as it does `VITE_API_BASE_URL`
|
|
52
|
+
* (`@endora-commerce/admin-kit`'s api client); outside a Vite build it is
|
|
53
|
+
* absent and the router sits at the root.
|
|
54
|
+
*/
|
|
55
|
+
function bundleBase() {
|
|
56
|
+
return import.meta.env?.BASE_URL;
|
|
57
|
+
}
|
|
58
|
+
export function AdminRoot({ contributions, basename }) {
|
|
59
|
+
const under = basename ?? routerBasename(bundleBase());
|
|
60
|
+
return (_jsx(StrictMode, { children: _jsx(BrowserRouter, { useTransitions: false, ...(under === undefined ? {} : { basename: under }), children: _jsx(AuthProvider, { children: _jsx(App, { contributions: contributions }) }) }) }));
|
|
38
61
|
}
|
|
39
62
|
//# sourceMappingURL=AdminRoot.js.map
|
package/dist/AdminRoot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminRoot.js","sourceRoot":"","sources":["../src/AdminRoot.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"AdminRoot.js","sourceRoot":"","sources":["../src/AdminRoot.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAwB7C;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,IAAwB;IACrD,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzC,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU;IACjB,OAAQ,MAAM,CAAC,IAAwC,CAAC,GAAG,EAAE,QAAQ,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAkB;IACnE,MAAM,KAAK,GAAG,QAAQ,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC;IACvD,OAAO,CACL,KAAC,UAAU,cAWT,KAAC,aAAa,IAAC,cAAc,EAAE,KAAK,KAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,YACxF,KAAC,YAAY,cACX,KAAC,GAAG,IAAC,aAAa,EAAE,aAAa,GAAI,GACxB,GACD,GACL,CACd,CAAC;AACJ,CAAC"}
|
|
@@ -4,8 +4,12 @@ import { type ReactNode } from 'react';
|
|
|
4
4
|
* AuthProvider re-fetches `/admin/me` after a successful POST and the
|
|
5
5
|
* AppShell takes over.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* The first administrator is created from the command line, and the command
|
|
8
|
+
* depends on where the platform runs — `pnpm --filter backend run admin:create`
|
|
9
|
+
* in this repository, `pnpm run admin:create` in a scaffolded instance,
|
|
10
|
+
* `node dist/cli.js admin_users create` in a production image. The hint below
|
|
11
|
+
* the form therefore names none of them and links to the guide that names all
|
|
12
|
+
* three.
|
|
9
13
|
*/
|
|
10
14
|
export declare function LoginPage(): ReactNode;
|
|
11
15
|
//# sourceMappingURL=LoginPage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginPage.d.ts","sourceRoot":"","sources":["../../src/components/LoginPage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAWjE
|
|
1
|
+
{"version":3,"file":"LoginPage.d.ts","sourceRoot":"","sources":["../../src/components/LoginPage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAWjE;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,IAAI,SAAS,CAkJrC"}
|
|
@@ -7,15 +7,19 @@ import { Card, CardContent, CardDescription, CardHeader, CardTitle } from './ui/
|
|
|
7
7
|
import { Input } from './ui/input.js';
|
|
8
8
|
import { Label } from './ui/label.js';
|
|
9
9
|
import { useAuth } from '../lib/auth.js';
|
|
10
|
-
import { loginCopy } from '../i18n/preauth-login-copy.js';
|
|
10
|
+
import { ADMIN_ACCOUNT_HELP_URL, loginCopy } from '../i18n/preauth-login-copy.js';
|
|
11
11
|
import { FederatedSignIn } from './FederatedSignIn.js';
|
|
12
12
|
/**
|
|
13
13
|
* Admin login screen. Rendered by App when no session is active; the
|
|
14
14
|
* AuthProvider re-fetches `/admin/me` after a successful POST and the
|
|
15
15
|
* AppShell takes over.
|
|
16
16
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
17
|
+
* The first administrator is created from the command line, and the command
|
|
18
|
+
* depends on where the platform runs — `pnpm --filter backend run admin:create`
|
|
19
|
+
* in this repository, `pnpm run admin:create` in a scaffolded instance,
|
|
20
|
+
* `node dist/cli.js admin_users create` in a production image. The hint below
|
|
21
|
+
* the form therefore names none of them and links to the guide that names all
|
|
22
|
+
* three.
|
|
19
23
|
*/
|
|
20
24
|
export function LoginPage() {
|
|
21
25
|
const { login, verifyMfa, cancelMfa, lastLoginError, status, mfaChallengeId } = useAuth();
|
|
@@ -39,6 +43,6 @@ export function LoginPage() {
|
|
|
39
43
|
e.preventDefault();
|
|
40
44
|
setSubmitting(true);
|
|
41
45
|
void login(email, password).finally(() => setSubmitting(false));
|
|
42
|
-
}, children: [_jsxs("div", { className: "space-y-2", children: [_jsx(Label, { htmlFor: "login-email", children: loginCopy.email }), _jsx(Input, { id: "login-email", type: "email", autoComplete: "email", required: true, value: email, onChange: (e) => setEmail(e.target.value) })] }), _jsxs("div", { className: "space-y-2", children: [_jsx(Label, { htmlFor: "login-password", children: loginCopy.password }), _jsx(Input, { id: "login-password", type: "password", autoComplete: "current-password", required: true, value: password, onChange: (e) => setPassword(e.target.value) })] }), _jsx(Button, { type: "submit", className: "w-full min-h-11", disabled: submitting || status === 'loading', children: submitting ? loginCopy.submitting : loginCopy.submit })] }), _jsx(FederatedSignIn, {}), _jsxs("p", { className: "text-xs text-muted-foreground", children: [loginCopy.
|
|
46
|
+
}, children: [_jsxs("div", { className: "space-y-2", children: [_jsx(Label, { htmlFor: "login-email", children: loginCopy.email }), _jsx(Input, { id: "login-email", type: "email", autoComplete: "email", required: true, value: email, onChange: (e) => setEmail(e.target.value) })] }), _jsxs("div", { className: "space-y-2", children: [_jsx(Label, { htmlFor: "login-password", children: loginCopy.password }), _jsx(Input, { id: "login-password", type: "password", autoComplete: "current-password", required: true, value: password, onChange: (e) => setPassword(e.target.value) })] }), _jsx(Button, { type: "submit", className: "w-full min-h-11", disabled: submitting || status === 'loading', children: submitting ? loginCopy.submitting : loginCopy.submit })] }), _jsx(FederatedSignIn, {}), _jsxs("p", { className: "text-xs text-muted-foreground", children: [loginCopy.noAccount, ' ', _jsx("a", { href: ADMIN_ACCOUNT_HELP_URL, className: "rounded-sm font-medium text-foreground underline underline-offset-2 hover:text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: loginCopy.noAccountLink })] })] })] }) }));
|
|
43
47
|
}
|
|
44
48
|
//# sourceMappingURL=LoginPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginPage.js","sourceRoot":"","sources":["../../src/components/LoginPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAkC,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzF,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"LoginPage.js","sourceRoot":"","sources":["../../src/components/LoginPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -17,8 +17,17 @@ export declare const loginCopy: {
|
|
|
17
17
|
readonly password: "Password";
|
|
18
18
|
readonly submitting: "Signing in…";
|
|
19
19
|
readonly submit: "Sign in";
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
/**
|
|
21
|
+
* The hint below the form. It used to name `pnpm --filter backend run
|
|
22
|
+
* admin:create`, which exists only in this repository's checkout: a
|
|
23
|
+
* scaffolded instance spells it `pnpm run admin:create`, a production image
|
|
24
|
+
* `node dist/cli.js admin_users create`, and the person reading a sign-in
|
|
25
|
+
* screen is usually not the one with a shell at all. So it names the two
|
|
26
|
+
* routes that are true everywhere and links to the page that spells the
|
|
27
|
+
* command for each setting.
|
|
28
|
+
*/
|
|
29
|
+
readonly noAccount: "No account yet? Ask your platform administrator, or create one from the command line:";
|
|
30
|
+
readonly noAccountLink: "see the Getting started guide";
|
|
22
31
|
/**
|
|
23
32
|
* Issue #193 — federated sign-in. `divider` is deliberately just "or": the
|
|
24
33
|
* button carries the whole intent ("Continue with Google"), so a longer rule
|
|
@@ -30,6 +39,12 @@ export declare const loginCopy: {
|
|
|
30
39
|
readonly federatedGoogle: "Continue with Google";
|
|
31
40
|
readonly federatedMicrosoft: "Continue with Microsoft";
|
|
32
41
|
};
|
|
42
|
+
/**
|
|
43
|
+
* Where `noAccountLink` points: the published guide's section on creating an
|
|
44
|
+
* administrator. The public site rather than an instance's own, because an
|
|
45
|
+
* instance may build no documentation site at all (`--without docs`).
|
|
46
|
+
*/
|
|
47
|
+
export declare const ADMIN_ACCOUNT_HELP_URL = "https://docs.commerce.endora.software/getting-started#creating-an-administrator";
|
|
33
48
|
export declare const appBootstrapCopy: {
|
|
34
49
|
readonly loading: "Loading...";
|
|
35
50
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preauth-login-copy.d.ts","sourceRoot":"","sources":["../../src/i18n/preauth-login-copy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"preauth-login-copy.d.ts","sourceRoot":"","sources":["../../src/i18n/preauth-login-copy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS;;;;;;;;;IASpB;;;;;;;;OAQG;;;IAGH;;;;;OAKG;;;;;CAKK,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,oFACgD,CAAC;AAEpF,eAAO,MAAM,gBAAgB;;CAEnB,CAAC"}
|
|
@@ -17,8 +17,17 @@ export const loginCopy = {
|
|
|
17
17
|
password: 'Password',
|
|
18
18
|
submitting: 'Signing in…',
|
|
19
19
|
submit: 'Sign in',
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
/**
|
|
21
|
+
* The hint below the form. It used to name `pnpm --filter backend run
|
|
22
|
+
* admin:create`, which exists only in this repository's checkout: a
|
|
23
|
+
* scaffolded instance spells it `pnpm run admin:create`, a production image
|
|
24
|
+
* `node dist/cli.js admin_users create`, and the person reading a sign-in
|
|
25
|
+
* screen is usually not the one with a shell at all. So it names the two
|
|
26
|
+
* routes that are true everywhere and links to the page that spells the
|
|
27
|
+
* command for each setting.
|
|
28
|
+
*/
|
|
29
|
+
noAccount: 'No account yet? Ask your platform administrator, or create one from the command line:',
|
|
30
|
+
noAccountLink: 'see the Getting started guide',
|
|
22
31
|
/**
|
|
23
32
|
* Issue #193 — federated sign-in. `divider` is deliberately just "or": the
|
|
24
33
|
* button carries the whole intent ("Continue with Google"), so a longer rule
|
|
@@ -30,6 +39,12 @@ export const loginCopy = {
|
|
|
30
39
|
federatedGoogle: 'Continue with Google',
|
|
31
40
|
federatedMicrosoft: 'Continue with Microsoft',
|
|
32
41
|
};
|
|
42
|
+
/**
|
|
43
|
+
* Where `noAccountLink` points: the published guide's section on creating an
|
|
44
|
+
* administrator. The public site rather than an instance's own, because an
|
|
45
|
+
* instance may build no documentation site at all (`--without docs`).
|
|
46
|
+
*/
|
|
47
|
+
export const ADMIN_ACCOUNT_HELP_URL = 'https://docs.commerce.endora.software/getting-started#creating-an-administrator';
|
|
33
48
|
export const appBootstrapCopy = {
|
|
34
49
|
loading: 'Loading...',
|
|
35
50
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preauth-login-copy.js","sourceRoot":"","sources":["../../src/i18n/preauth-login-copy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,KAAK,EAAE,qBAAqB;IAC5B,UAAU,EAAE,mEAAmE;IAC/E,cAAc,EAAE,iBAAiB;IACjC,MAAM,EAAE,gBAAgB;IACxB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,aAAa;IACzB,MAAM,EAAE,SAAS;IACjB,
|
|
1
|
+
{"version":3,"file":"preauth-login-copy.js","sourceRoot":"","sources":["../../src/i18n/preauth-login-copy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,KAAK,EAAE,qBAAqB;IAC5B,UAAU,EAAE,mEAAmE;IAC/E,cAAc,EAAE,iBAAiB;IACjC,MAAM,EAAE,gBAAgB;IACxB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,aAAa;IACzB,MAAM,EAAE,SAAS;IACjB;;;;;;;;OAQG;IACH,SAAS,EAAE,uFAAuF;IAClG,aAAa,EAAE,+BAA+B;IAC9C;;;;;OAKG;IACH,mBAAmB,EAAE,uBAAuB;IAC5C,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,sBAAsB;IACvC,kBAAkB,EAAE,yBAAyB;CACrC,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GACjC,iFAAiF,CAAC;AAEpF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,YAAY;CACb,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
* binding, forwarded, so an instance's `main.tsx` names **one** package and the
|
|
45
45
|
* provider `useAuth` reads is the same one in every process.
|
|
46
46
|
*/
|
|
47
|
-
export { AdminRoot } from './AdminRoot.js';
|
|
47
|
+
export { AdminRoot, routerBasename } from './AdminRoot.js';
|
|
48
48
|
export type { AdminRootProps } from './AdminRoot.js';
|
|
49
49
|
export { App } from './App.js';
|
|
50
50
|
export type { AppProps } from './App.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAChE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
* binding, forwarded, so an instance's `main.tsx` names **one** package and the
|
|
45
45
|
* provider `useAuth` reads is the same one in every process.
|
|
46
46
|
*/
|
|
47
|
-
export { AdminRoot } from './AdminRoot.js';
|
|
47
|
+
export { AdminRoot, routerBasename } from './AdminRoot.js';
|
|
48
48
|
export { App } from './App.js';
|
|
49
49
|
export { registerAdminServiceWorker } from './registerSw.js';
|
|
50
50
|
export { AuthProvider } from './lib/auth.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@endora-commerce/admin-shell",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.101.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "The admin application itself (feature 110, FR-016) — the router, the sidebar and palette shell, the sign-in screen and the host's own screens. An instance depends on it and holds only index.html, main.tsx, the configuration, the brand assets, the theme overrides and the generated contribution registry.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
"react-router-dom": "^7.18.2",
|
|
38
38
|
"tailwindcss": "^4.2.4",
|
|
39
39
|
"vite": "^7.3.2",
|
|
40
|
-
"@endora-commerce/admin-kit": "0.
|
|
41
|
-
"@endora-commerce/contracts": "0.
|
|
40
|
+
"@endora-commerce/admin-kit": "0.101.0",
|
|
41
|
+
"@endora-commerce/contracts": "0.101.0"
|
|
42
42
|
},
|
|
43
43
|
"peerDependenciesMeta": {
|
|
44
44
|
"@tailwindcss/vite": {
|
|
@@ -66,8 +66,8 @@
|
|
|
66
66
|
"react-router-dom": "^7.18.2",
|
|
67
67
|
"typescript": "^5.9.3",
|
|
68
68
|
"vite": "^7.3.2",
|
|
69
|
-
"@endora-commerce/admin-kit": "0.
|
|
70
|
-
"@endora-commerce/contracts": "0.
|
|
69
|
+
"@endora-commerce/admin-kit": "0.101.0",
|
|
70
|
+
"@endora-commerce/contracts": "0.101.0"
|
|
71
71
|
},
|
|
72
72
|
"scripts": {
|
|
73
73
|
"build": "tsc -p tsconfig.build.json",
|