@ankhorage/studio 5.11.1 → 5.12.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/README.md +1 -1
- package/apm/update.json +1 -1
- package/dist/features/authoring-engine/adapters/inbound/AuthoringEditor.d.ts.map +1 -1
- package/dist/features/authoring-engine/adapters/inbound/AuthoringEditor.js +11 -3
- package/dist/features/authoring-engine/adapters/inbound/AuthoringEditor.js.map +1 -1
- package/dist/features/authoring-engine/application/use-cases/applyAuthoringMutationToStructure.d.ts.map +1 -1
- package/dist/features/authoring-engine/application/use-cases/applyAuthoringMutationToStructure.js +16 -0
- package/dist/features/authoring-engine/application/use-cases/applyAuthoringMutationToStructure.js.map +1 -1
- package/dist/features/authoring-engine/application/use-cases/createAuthoringUnionVariantValue.d.ts +9 -0
- package/dist/features/authoring-engine/application/use-cases/createAuthoringUnionVariantValue.d.ts.map +1 -0
- package/dist/features/authoring-engine/application/use-cases/createAuthoringUnionVariantValue.js +104 -0
- package/dist/features/authoring-engine/application/use-cases/createAuthoringUnionVariantValue.js.map +1 -0
- package/dist/features/authoring-engine/application/use-cases/deriveAuthoringModel.js +1 -0
- package/dist/features/authoring-engine/application/use-cases/deriveAuthoringModel.js.map +1 -1
- package/dist/host/deploy/ProjectDeployService.d.ts +402 -0
- package/dist/host/deploy/ProjectDeployService.d.ts.map +1 -1
- package/dist/host/deploy/ProjectDeployService.js +26 -0
- package/dist/host/deploy/ProjectDeployService.js.map +1 -1
- package/dist/host/http/deployRoutes.d.ts.map +1 -1
- package/dist/host/http/deployRoutes.js +7 -0
- package/dist/host/http/deployRoutes.js.map +1 -1
- package/dist/projectDeployApi.d.ts +8 -0
- package/dist/projectDeployApi.d.ts.map +1 -1
- package/dist/projectDeployApi.js +12 -0
- package/dist/projectDeployApi.js.map +1 -1
- package/dist/projectDeployClient.d.ts +8 -0
- package/dist/projectDeployClient.d.ts.map +1 -1
- package/dist/projectDeployClient.js +29 -0
- package/dist/projectDeployClient.js.map +1 -1
- package/dist/types/authoring-engine.d.ts +1 -0
- package/dist/types/authoring-engine.d.ts.map +1 -1
- package/dist/types/project-deploy-authoring.d.ts +9 -0
- package/dist/types/project-deploy-authoring.d.ts.map +1 -0
- package/dist/types/project-deploy-authoring.js +2 -0
- package/dist/types/project-deploy-authoring.js.map +1 -0
- package/dist/ui/admin/adminPagePrimitives.d.ts +0 -6
- package/dist/ui/admin/adminPagePrimitives.d.ts.map +1 -1
- package/dist/ui/admin/adminPagePrimitives.js +2 -25
- package/dist/ui/admin/adminPagePrimitives.js.map +1 -1
- package/dist/ui/admin/pages/DeployAdminPage.d.ts.map +1 -1
- package/dist/ui/admin/pages/DeployAdminPage.js +1 -1
- package/dist/ui/admin/pages/DeployAdminPage.js.map +1 -1
- package/dist/ui/admin/pages/deploy/DeployListingLocaleAuthoringCard.d.ts +2 -0
- package/dist/ui/admin/pages/deploy/DeployListingLocaleAuthoringCard.d.ts.map +1 -1
- package/dist/ui/admin/pages/deploy/DeployListingLocaleAuthoringCard.js +31 -76
- package/dist/ui/admin/pages/deploy/DeployListingLocaleAuthoringCard.js.map +1 -1
- package/dist/ui/admin/pages/deploy/DeployMonetizationAuthoringCard.d.ts +2 -0
- package/dist/ui/admin/pages/deploy/DeployMonetizationAuthoringCard.d.ts.map +1 -1
- package/dist/ui/admin/pages/deploy/DeployMonetizationAuthoringCard.js +21 -19
- package/dist/ui/admin/pages/deploy/DeployMonetizationAuthoringCard.js.map +1 -1
- package/dist/ui/admin/pages/deploy/DeployOwnerAuthoringEditor.d.ts +12 -0
- package/dist/ui/admin/pages/deploy/DeployOwnerAuthoringEditor.d.ts.map +1 -0
- package/dist/ui/admin/pages/deploy/DeployOwnerAuthoringEditor.js +27 -0
- package/dist/ui/admin/pages/deploy/DeployOwnerAuthoringEditor.js.map +1 -0
- package/dist/ui/admin/pages/deploy/DeployPreparedReleaseAuthoringCard.d.ts +2 -0
- package/dist/ui/admin/pages/deploy/DeployPreparedReleaseAuthoringCard.d.ts.map +1 -1
- package/dist/ui/admin/pages/deploy/DeployPreparedReleaseAuthoringCard.js +21 -28
- package/dist/ui/admin/pages/deploy/DeployPreparedReleaseAuthoringCard.js.map +1 -1
- package/dist/ui/admin/pages/deploy/DeployStoreAssetAuthoringCard.d.ts +2 -0
- package/dist/ui/admin/pages/deploy/DeployStoreAssetAuthoringCard.d.ts.map +1 -1
- package/dist/ui/admin/pages/deploy/DeployStoreAssetAuthoringCard.js +29 -52
- package/dist/ui/admin/pages/deploy/DeployStoreAssetAuthoringCard.js.map +1 -1
- package/dist/ui/admin/pages/deploy/deployDashboardTypes.d.ts +2 -0
- package/dist/ui/admin/pages/deploy/deployDashboardTypes.d.ts.map +1 -1
- package/dist/ui/admin/pages/deploy/useProjectDeployDashboard.d.ts.map +1 -1
- package/dist/ui/admin/pages/deploy/useProjectDeployDashboard.js +5 -3
- package/dist/ui/admin/pages/deploy/useProjectDeployDashboard.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ProjectDeployDashboardState } from './deployDashboardTypes';
|
|
3
|
+
/*** Author Monetization desired state from the host-projected Deploy owner structure. */
|
|
3
4
|
export declare function DeployMonetizationAuthoringCard(props: {
|
|
4
5
|
readonly projectId: string;
|
|
6
|
+
readonly authoring: ProjectDeployDashboardState['authoring'];
|
|
5
7
|
readonly monetization: ProjectDeployDashboardState['monetization'];
|
|
6
8
|
readonly onMutation: () => void;
|
|
7
9
|
}): React.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeployMonetizationAuthoringCard.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployMonetizationAuthoringCard.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"DeployMonetizationAuthoringCard.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployMonetizationAuthoringCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAMxC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAG1E,yFAAyF;AACzF,wBAAgB,+BAA+B,CAAC,KAAK,EAAE;IACrD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,2BAA2B,CAAC,WAAW,CAAC,CAAC;IAC7D,QAAQ,CAAC,YAAY,EAAE,2BAA2B,CAAC,cAAc,CAAC,CAAC;IACnE,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;CACjC,qBAuCA"}
|
|
@@ -1,37 +1,39 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { Button, Card, Text } from '@ankhorage/zora';
|
|
3
|
-
import React, {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import React, { useState } from 'react';
|
|
4
|
+
import { resolveContractsAuthoringStructure } from '../../../../features/authoring-engine/adapters/outbound/resolveContractsAuthoringStructure';
|
|
5
|
+
import { writeProjectDeployMonetizationAuthoring } from '../../../../projectDeployApi';
|
|
6
|
+
import { KeyValue } from '../../adminPagePrimitives';
|
|
7
|
+
import { DeployOwnerAuthoringEditor } from './DeployOwnerAuthoringEditor';
|
|
8
|
+
/*** Author Monetization desired state from the host-projected Deploy owner structure. */
|
|
6
9
|
export function DeployMonetizationAuthoringCard(props) {
|
|
7
|
-
const
|
|
10
|
+
const owner = props.authoring.status === 'ready'
|
|
11
|
+
? {
|
|
12
|
+
initial: props.authoring.data.monetization,
|
|
13
|
+
structure: resolveContractsAuthoringStructure(props.authoring.data.structure, 'monetization'),
|
|
14
|
+
}
|
|
15
|
+
: null;
|
|
16
|
+
return (_jsxs(Card, { title: "Monetization desired state", description: "Product identity, variants, pricing, localization and subscriptions are derived from Deploy's released owner metadata.", children: [props.monetization.status === 'ready' ? (_jsx(KeyValue, { label: "Monetization revision", value: props.monetization.data.revision })) : null, props.monetization.status === 'ready' && owner ? (_jsx(MonetizationDraftEditor, { projectId: props.projectId, initial: owner.initial, structure: owner.structure, onMutation: props.onMutation }, props.monetization.data.revision)) : null, props.authoring.status === 'loading' ? _jsx(Text, { children: "Loading authoring metadata\u2026" }) : null, props.authoring.status === 'error' ? (_jsx(Text, { color: "danger", children: props.authoring.message })) : null, props.monetization.status === 'loading' ? _jsx(Text, { children: "Loading monetization\u2026" }) : null, props.monetization.status === 'error' ? (_jsx(Text, { color: "danger", children: props.monetization.message })) : null] }));
|
|
17
|
+
}
|
|
18
|
+
/*** Edit one revision-scoped Monetization draft and persist it through the trusted host owner projection. */
|
|
19
|
+
function MonetizationDraftEditor(props) {
|
|
20
|
+
const [draft, setDraft] = useState(props.initial);
|
|
8
21
|
const [busy, setBusy] = useState(false);
|
|
9
22
|
const [error, setError] = useState(null);
|
|
10
|
-
useEffect(() => {
|
|
11
|
-
if (props.monetization.status !== 'ready')
|
|
12
|
-
return;
|
|
13
|
-
setSource(JSON.stringify(props.monetization.data.products, null, 2));
|
|
14
|
-
}, [props.monetization]);
|
|
15
23
|
const save = async () => {
|
|
16
24
|
setBusy(true);
|
|
17
25
|
setError(null);
|
|
18
26
|
try {
|
|
19
|
-
|
|
20
|
-
if (!Array.isArray(parsed))
|
|
21
|
-
throw new Error('Canonical Deploy products must be a JSON array.');
|
|
22
|
-
await writeProjectDeployMonetization(props.projectId, parsed);
|
|
27
|
+
await writeProjectDeployMonetizationAuthoring(props.projectId, draft);
|
|
23
28
|
props.onMutation();
|
|
24
29
|
}
|
|
25
30
|
catch (caught) {
|
|
26
|
-
setError(
|
|
31
|
+
setError(caught instanceof Error ? caught.message : String(caught));
|
|
27
32
|
}
|
|
28
33
|
finally {
|
|
29
34
|
setBusy(false);
|
|
30
35
|
}
|
|
31
36
|
};
|
|
32
|
-
return (_jsxs(
|
|
33
|
-
}
|
|
34
|
-
function readError(error) {
|
|
35
|
-
return error instanceof Error ? error.message : String(error);
|
|
37
|
+
return (_jsxs(_Fragment, { children: [_jsx(DeployOwnerAuthoringEditor, { structure: props.structure, value: draft, onChange: setDraft, onError: setError }), error ? _jsx(Text, { color: "danger", children: error }) : null, _jsx(Button, { disabled: busy, onPress: () => void save(), children: busy ? 'Saving…' : 'Save monetization desired state' })] }));
|
|
36
38
|
}
|
|
37
39
|
//# sourceMappingURL=DeployMonetizationAuthoringCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeployMonetizationAuthoringCard.js","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployMonetizationAuthoringCard.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"DeployMonetizationAuthoringCard.js","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployMonetizationAuthoringCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { AuthoringPresentationPolicy, AuthoringStructureResolution } from '../../../../types/authoring-engine';
|
|
3
|
+
export interface DeployOwnerAuthoringEditorProps<T> {
|
|
4
|
+
readonly structure: AuthoringStructureResolution;
|
|
5
|
+
readonly value: T;
|
|
6
|
+
readonly policy?: AuthoringPresentationPolicy;
|
|
7
|
+
readonly onChange: (value: T) => void;
|
|
8
|
+
readonly onError: (message: string | null) => void;
|
|
9
|
+
}
|
|
10
|
+
/*** Render one Deploy-owned structure through the neutral Authoring Engine and apply immutable typed mutations. */
|
|
11
|
+
export declare function DeployOwnerAuthoringEditor<T>(props: DeployOwnerAuthoringEditorProps<T>): React.JSX.Element;
|
|
12
|
+
//# sourceMappingURL=DeployOwnerAuthoringEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeployOwnerAuthoringEditor.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployOwnerAuthoringEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EACV,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,oCAAoC,CAAC;AAE5C,MAAM,WAAW,+BAA+B,CAAC,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,4BAA4B,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,MAAM,CAAC,EAAE,2BAA2B,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACpD;AAED,mHAAmH;AACnH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,KAAK,EAAE,+BAA+B,CAAC,CAAC,CAAC,qBAwBtF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Text } from '@ankhorage/zora';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { AuthoringEditor } from '../../../../features/authoring-engine/adapters/inbound/AuthoringEditor';
|
|
5
|
+
import { applyAuthoringMutationToStructure } from '../../../../features/authoring-engine/application/use-cases/applyAuthoringMutationToStructure';
|
|
6
|
+
import { deriveAuthoringModel } from '../../../../features/authoring-engine/application/use-cases/deriveAuthoringModel';
|
|
7
|
+
/*** Render one Deploy-owned structure through the neutral Authoring Engine and apply immutable typed mutations. */
|
|
8
|
+
export function DeployOwnerAuthoringEditor(props) {
|
|
9
|
+
if (!props.structure.ok) {
|
|
10
|
+
return _jsx(Text, { color: "danger", children: props.structure.diagnostic.message });
|
|
11
|
+
}
|
|
12
|
+
const { structure } = props.structure;
|
|
13
|
+
return (_jsx(AuthoringEditor, { model: deriveAuthoringModel({
|
|
14
|
+
structure,
|
|
15
|
+
value: props.value,
|
|
16
|
+
policy: props.policy,
|
|
17
|
+
}), onMutation: (mutation) => {
|
|
18
|
+
const result = applyAuthoringMutationToStructure(props.value, structure, mutation);
|
|
19
|
+
if (!result.ok) {
|
|
20
|
+
props.onError(result.diagnostic.message);
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
props.onError(null);
|
|
24
|
+
props.onChange(result.value);
|
|
25
|
+
} }));
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=DeployOwnerAuthoringEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeployOwnerAuthoringEditor.js","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployOwnerAuthoringEditor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,wEAAwE,CAAC;AACzG,OAAO,EAAE,iCAAiC,EAAE,MAAM,+FAA+F,CAAC;AAClJ,OAAO,EAAE,oBAAoB,EAAE,MAAM,kFAAkF,CAAC;AAcxH,mHAAmH;AACnH,MAAM,UAAU,0BAA0B,CAAI,KAAyC;IACrF,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QACxB,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,GAAQ,CAAC;IAC1E,CAAC;IACD,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;IAEtC,OAAO,CACL,KAAC,eAAe,IACd,KAAK,EAAE,oBAAoB,CAAC;YAC1B,SAAS;YACT,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,EACF,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;YACvB,MAAM,MAAM,GAAG,iCAAiC,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACnF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,GACD,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ProjectDeployDashboardState } from './deployDashboardTypes';
|
|
3
|
+
/*** Author prepared Release desired state from the host-projected Deploy owner structure. */
|
|
3
4
|
export declare function DeployPreparedReleaseAuthoringCard(props: {
|
|
4
5
|
readonly projectId: string;
|
|
6
|
+
readonly authoring: ProjectDeployDashboardState['authoring'];
|
|
5
7
|
readonly release: ProjectDeployDashboardState['release'];
|
|
6
8
|
readonly onMutation: () => void;
|
|
7
9
|
}): React.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeployPreparedReleaseAuthoringCard.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployPreparedReleaseAuthoringCard.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"DeployPreparedReleaseAuthoringCard.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployPreparedReleaseAuthoringCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAMxC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAG1E,6FAA6F;AAC7F,wBAAgB,kCAAkC,CAAC,KAAK,EAAE;IACxD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,2BAA2B,CAAC,WAAW,CAAC,CAAC;IAC7D,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;CACjC,qBAuCA"}
|
|
@@ -1,46 +1,39 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { Button, Card, Text } from '@ankhorage/zora';
|
|
3
|
-
import React, {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import React, { useState } from 'react';
|
|
4
|
+
import { resolveContractsAuthoringStructure } from '../../../../features/authoring-engine/adapters/outbound/resolveContractsAuthoringStructure';
|
|
5
|
+
import { writeProjectDeployReleaseAuthoring } from '../../../../projectDeployApi';
|
|
6
|
+
import { KeyValue } from '../../adminPagePrimitives';
|
|
7
|
+
import { DeployOwnerAuthoringEditor } from './DeployOwnerAuthoringEditor';
|
|
8
|
+
/*** Author prepared Release desired state from the host-projected Deploy owner structure. */
|
|
6
9
|
export function DeployPreparedReleaseAuthoringCard(props) {
|
|
7
|
-
const
|
|
10
|
+
const owner = props.authoring.status === 'ready'
|
|
11
|
+
? {
|
|
12
|
+
initial: props.authoring.data.release,
|
|
13
|
+
structure: resolveContractsAuthoringStructure(props.authoring.data.structure, 'prepared-release'),
|
|
14
|
+
}
|
|
15
|
+
: null;
|
|
16
|
+
return (_jsxs(Card, { title: "Prepared release desired state", description: "Version, target membership, localized notes and rollout variants are derived from Deploy owner metadata. Execution remains inspect \u2192 confirm \u2192 execute.", children: [props.release.status === 'ready' ? (_jsx(KeyValue, { label: "Prepared release revision", value: props.release.data.revision })) : null, props.release.status === 'ready' && owner ? (_jsx(ReleaseDraftEditor, { projectId: props.projectId, initial: owner.initial, structure: owner.structure, onMutation: props.onMutation }, props.release.data.revision)) : null, props.authoring.status === 'loading' ? _jsx(Text, { children: "Loading authoring metadata\u2026" }) : null, props.authoring.status === 'error' ? (_jsx(Text, { color: "danger", children: props.authoring.message })) : null, props.release.status === 'loading' ? _jsx(Text, { children: "Loading prepared release\u2026" }) : null, props.release.status === 'error' ? (_jsx(Text, { color: "danger", children: props.release.message })) : null] }));
|
|
17
|
+
}
|
|
18
|
+
/*** Edit one revision-scoped Release draft and persist it through the trusted host owner projection. */
|
|
19
|
+
function ReleaseDraftEditor(props) {
|
|
20
|
+
const [draft, setDraft] = useState(props.initial);
|
|
8
21
|
const [busy, setBusy] = useState(false);
|
|
9
22
|
const [error, setError] = useState(null);
|
|
10
|
-
useEffect(() => {
|
|
11
|
-
if (props.release.status !== 'ready')
|
|
12
|
-
return;
|
|
13
|
-
const release = {
|
|
14
|
-
version: props.release.data.version,
|
|
15
|
-
targets: props.release.data.targets,
|
|
16
|
-
notes: props.release.data.notes,
|
|
17
|
-
rollout: props.release.data.rollout,
|
|
18
|
-
};
|
|
19
|
-
setSource(JSON.stringify(release, null, 2));
|
|
20
|
-
}, [props.release]);
|
|
21
23
|
const save = async () => {
|
|
22
24
|
setBusy(true);
|
|
23
25
|
setError(null);
|
|
24
26
|
try {
|
|
25
|
-
|
|
26
|
-
if (!isRecord(parsed))
|
|
27
|
-
throw new Error('Canonical ProjectReleaseInput must be a JSON object.');
|
|
28
|
-
await writeProjectDeployRelease(props.projectId, parsed);
|
|
27
|
+
await writeProjectDeployReleaseAuthoring(props.projectId, draft);
|
|
29
28
|
props.onMutation();
|
|
30
29
|
}
|
|
31
30
|
catch (caught) {
|
|
32
|
-
setError(
|
|
31
|
+
setError(caught instanceof Error ? caught.message : String(caught));
|
|
33
32
|
}
|
|
34
33
|
finally {
|
|
35
34
|
setBusy(false);
|
|
36
35
|
}
|
|
37
36
|
};
|
|
38
|
-
return (_jsxs(
|
|
39
|
-
}
|
|
40
|
-
function isRecord(value) {
|
|
41
|
-
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
42
|
-
}
|
|
43
|
-
function readError(error) {
|
|
44
|
-
return error instanceof Error ? error.message : String(error);
|
|
37
|
+
return (_jsxs(_Fragment, { children: [_jsx(DeployOwnerAuthoringEditor, { structure: props.structure, value: draft, onChange: setDraft, onError: setError }), error ? _jsx(Text, { color: "danger", children: error }) : null, _jsx(Button, { disabled: busy, onPress: () => void save(), children: busy ? 'Saving…' : 'Save prepared release' })] }));
|
|
45
38
|
}
|
|
46
39
|
//# sourceMappingURL=DeployPreparedReleaseAuthoringCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeployPreparedReleaseAuthoringCard.js","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployPreparedReleaseAuthoringCard.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"DeployPreparedReleaseAuthoringCard.js","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployPreparedReleaseAuthoringCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ProjectDeployDashboardState } from './deployDashboardTypes';
|
|
3
|
+
/*** Author a semantic store-asset location from Deploy metadata while keeping image I/O as workflow UI. */
|
|
3
4
|
export declare function DeployStoreAssetAuthoringCard(props: {
|
|
4
5
|
readonly projectId: string;
|
|
6
|
+
readonly authoring: ProjectDeployDashboardState['authoring'];
|
|
5
7
|
readonly listing: ProjectDeployDashboardState['listing'];
|
|
6
8
|
readonly onMutation: () => void;
|
|
7
9
|
}): React.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeployStoreAssetAuthoringCard.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployStoreAssetAuthoringCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DeployStoreAssetAuthoringCard.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployStoreAssetAuthoringCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAUxC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAa1E,2GAA2G;AAC3G,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,2BAA2B,CAAC,WAAW,CAAC,CAAC;IAC7D,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;CACjC,qBAiJA"}
|
|
@@ -1,34 +1,30 @@
|
|
|
1
|
-
import { jsx as _jsx,
|
|
2
|
-
import { Button, Card, Dialog,
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button, Card, Dialog, Text, View as ZoraView } from '@ankhorage/zora';
|
|
3
3
|
import React, { useState } from 'react';
|
|
4
4
|
import { View } from 'react-native';
|
|
5
|
-
import {
|
|
5
|
+
import { resolveContractsAuthoringStructure } from '../../../../features/authoring-engine/adapters/outbound/resolveContractsAuthoringStructure';
|
|
6
6
|
import { removeProjectDeployListingAsset, writeProjectDeployListingAsset, } from '../../../../projectDeployApi';
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
{ value: 'feature', label: 'Feature graphic' },
|
|
19
|
-
];
|
|
7
|
+
import { pickProjectDeployImage } from '../../../../projectDeployAssetPicker';
|
|
8
|
+
import { adminPageStyles, KeyValue } from '../../adminPagePrimitives';
|
|
9
|
+
import { DeployOwnerAuthoringEditor } from './DeployOwnerAuthoringEditor';
|
|
10
|
+
const DEFAULT_ASSET_LOCATION = {
|
|
11
|
+
kind: 'screenshot',
|
|
12
|
+
target: 'android',
|
|
13
|
+
locale: 'en-US',
|
|
14
|
+
variant: 'phone',
|
|
15
|
+
filename: '',
|
|
16
|
+
};
|
|
17
|
+
/*** Author a semantic store-asset location from Deploy metadata while keeping image I/O as workflow UI. */
|
|
20
18
|
export function DeployStoreAssetAuthoringCard(props) {
|
|
21
|
-
const [
|
|
22
|
-
const [target, setTarget] = useState('android');
|
|
23
|
-
const [locale, setLocale] = useState('en-US');
|
|
24
|
-
const [variant, setVariant] = useState('phone');
|
|
25
|
-
const [sharedVariant, setSharedVariant] = useState('icon');
|
|
26
|
-
const [filename, setFilename] = useState('');
|
|
19
|
+
const [location, setLocation] = useState(DEFAULT_ASSET_LOCATION);
|
|
27
20
|
const [image, setImage] = useState(null);
|
|
28
21
|
const [busy, setBusy] = useState(false);
|
|
29
22
|
const [error, setError] = useState(null);
|
|
30
23
|
const [confirmRemove, setConfirmRemove] = useState(false);
|
|
31
|
-
const
|
|
24
|
+
const structure = props.authoring.status === 'ready'
|
|
25
|
+
? resolveContractsAuthoringStructure(props.authoring.data.structure, 'store-listing-asset-location')
|
|
26
|
+
: null;
|
|
27
|
+
/*** Pick one local image while leaving semantic asset-location authoring to the shared engine. */
|
|
32
28
|
const chooseImage = async () => {
|
|
33
29
|
setError(null);
|
|
34
30
|
try {
|
|
@@ -36,15 +32,17 @@ export function DeployStoreAssetAuthoringCard(props) {
|
|
|
36
32
|
if (!selected)
|
|
37
33
|
return;
|
|
38
34
|
setImage(selected);
|
|
39
|
-
if (kind === 'screenshot')
|
|
40
|
-
|
|
35
|
+
if (location.kind === 'screenshot') {
|
|
36
|
+
setLocation({ ...location, filename: selected.filename });
|
|
37
|
+
}
|
|
41
38
|
}
|
|
42
39
|
catch (caught) {
|
|
43
|
-
setError(
|
|
40
|
+
setError(caught instanceof Error ? caught.message : String(caught));
|
|
44
41
|
}
|
|
45
42
|
};
|
|
43
|
+
/*** Upload the selected bytes to the currently authored Deploy semantic asset location. */
|
|
46
44
|
const upload = async () => {
|
|
47
|
-
if (!
|
|
45
|
+
if (!image)
|
|
48
46
|
return;
|
|
49
47
|
setBusy(true);
|
|
50
48
|
setError(null);
|
|
@@ -53,15 +51,14 @@ export function DeployStoreAssetAuthoringCard(props) {
|
|
|
53
51
|
props.onMutation();
|
|
54
52
|
}
|
|
55
53
|
catch (caught) {
|
|
56
|
-
setError(
|
|
54
|
+
setError(caught instanceof Error ? caught.message : String(caught));
|
|
57
55
|
}
|
|
58
56
|
finally {
|
|
59
57
|
setBusy(false);
|
|
60
58
|
}
|
|
61
59
|
};
|
|
60
|
+
/*** Remove the currently authored semantic asset location through Deploy's owner API. */
|
|
62
61
|
const remove = async () => {
|
|
63
|
-
if (!location)
|
|
64
|
-
return;
|
|
65
62
|
setConfirmRemove(false);
|
|
66
63
|
setBusy(true);
|
|
67
64
|
setError(null);
|
|
@@ -70,32 +67,12 @@ export function DeployStoreAssetAuthoringCard(props) {
|
|
|
70
67
|
props.onMutation();
|
|
71
68
|
}
|
|
72
69
|
catch (caught) {
|
|
73
|
-
setError(
|
|
70
|
+
setError(caught instanceof Error ? caught.message : String(caught));
|
|
74
71
|
}
|
|
75
72
|
finally {
|
|
76
73
|
setBusy(false);
|
|
77
74
|
}
|
|
78
75
|
};
|
|
79
|
-
return (_jsxs(Card, { title: "Store assets", description: "
|
|
80
|
-
}
|
|
81
|
-
function createLocation(input) {
|
|
82
|
-
if (input.kind === 'android-shared') {
|
|
83
|
-
return { kind: 'android-shared', variant: input.sharedVariant };
|
|
84
|
-
}
|
|
85
|
-
const locale = input.locale.trim();
|
|
86
|
-
const variant = input.variant.trim();
|
|
87
|
-
const filename = input.filename.trim();
|
|
88
|
-
if (locale === '' || variant === '' || filename === '')
|
|
89
|
-
return null;
|
|
90
|
-
return {
|
|
91
|
-
kind: 'screenshot',
|
|
92
|
-
target: input.target,
|
|
93
|
-
locale,
|
|
94
|
-
variant,
|
|
95
|
-
filename,
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
function readError(error) {
|
|
99
|
-
return error instanceof Error ? error.message : String(error);
|
|
76
|
+
return (_jsxs(Card, { title: "Store assets", description: "Asset-location variants and finite choices come from Deploy owner metadata. Image picking, upload and removal remain workflow operations.", children: [structure ? (_jsx(DeployOwnerAuthoringEditor, { structure: structure, value: location, onChange: setLocation, onError: setError })) : null, props.authoring.status === 'loading' ? _jsx(Text, { children: "Loading authoring metadata\u2026" }) : null, props.authoring.status === 'error' ? (_jsx(Text, { color: "danger", children: props.authoring.message })) : null, _jsx(Button, { disabled: busy, variant: "outline", onPress: () => void chooseImage(), children: "Choose PNG/JPEG" }), image ? (_jsx(KeyValue, { label: "Selected image", value: `${image.filename} · ${image.data.byteLength} bytes` })) : null, error ? _jsx(Text, { color: "danger", children: error }) : null, _jsx(Button, { disabled: busy || image === null, onPress: () => void upload(), children: busy ? 'Working…' : 'Upload asset' }), _jsx(Button, { disabled: busy, variant: "outline", onPress: () => setConfirmRemove(true), children: "Remove semantic location" }), props.listing.status === 'ready' ? (_jsxs(View, { children: [_jsx(Text, { weight: "semiBold", children: "Current owner inventory" }), props.listing.data.assetSets.length === 0 ? (_jsx(Text, { color: "neutral", emphasis: "muted", children: "No store assets authored yet." })) : (props.listing.data.assetSets.map((set) => (_jsxs(View, { style: adminPageStyles.row, children: [_jsx(KeyValue, { label: `${set.target} · ${set.locale} · ${set.variant}`, value: `${set.assets.length} asset(s)` }), set.assets.map((asset) => (_jsxs(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: [asset.relativePath, " \u00B7 ", asset.mediaType, " \u00B7 ", asset.size, " bytes"] }, `${set.target}:${set.locale}:${set.variant}:${asset.relativePath}`)))] }, `${set.target}:${set.locale}:${set.variant}`))))] })) : null, _jsx(Dialog, { visible: confirmRemove, title: "Remove store asset?", description: "Remove the selected semantic asset location through the Deploy owner API?", onDismiss: () => setConfirmRemove(false), footer: _jsxs(ZoraView, { direction: { base: 'column', md: 'row' }, gap: "s", justify: "flex-end", children: [_jsx(Button, { color: "neutral", variant: "soft", disabled: busy, onPress: () => setConfirmRemove(false), children: "Cancel" }), _jsx(Button, { color: "danger", disabled: busy, onPress: () => void remove(), children: "Remove asset" })] }) })] }));
|
|
100
77
|
}
|
|
101
78
|
//# sourceMappingURL=DeployStoreAssetAuthoringCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeployStoreAssetAuthoringCard.js","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployStoreAssetAuthoringCard.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"DeployStoreAssetAuthoringCard.js","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/DeployStoreAssetAuthoringCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import type { AppDeployManifest } from '@ankhorage/contracts/deploy';
|
|
|
2
2
|
import type { MonetizationDesiredState, ReleaseDesiredState } from '@ankhorage/deploy';
|
|
3
3
|
import type { ProjectStoreListing } from '@ankhorage/deploy/project';
|
|
4
4
|
import type { ProjectDeployReleaseHistoryRecord } from '../../../../projectDeployReleaseHistoryRecord';
|
|
5
|
+
import type { ProjectDeployAuthoringSnapshot } from '../../../../types/project-deploy-authoring';
|
|
5
6
|
export type DeployLoadable<T> = {
|
|
6
7
|
readonly status: 'loading';
|
|
7
8
|
} | {
|
|
@@ -12,6 +13,7 @@ export type DeployLoadable<T> = {
|
|
|
12
13
|
readonly message: string;
|
|
13
14
|
};
|
|
14
15
|
export interface ProjectDeployDashboardState {
|
|
16
|
+
readonly authoring: DeployLoadable<ProjectDeployAuthoringSnapshot>;
|
|
15
17
|
readonly config: DeployLoadable<AppDeployManifest | null>;
|
|
16
18
|
readonly listing: DeployLoadable<ProjectStoreListing>;
|
|
17
19
|
readonly monetization: DeployLoadable<MonetizationDesiredState>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployDashboardTypes.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/deployDashboardTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;
|
|
1
|
+
{"version":3,"file":"deployDashboardTypes.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/deployDashboardTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AACvG,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAC;AAEjG,MAAM,MAAM,cAAc,CAAC,CAAC,IACxB;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,8BAA8B,CAAC,CAAC;IACnE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC1D,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACtD,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC;IAChE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,iCAAiC,EAAE,CAAC,CAAC;CAChF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProjectDeployDashboard.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/useProjectDeployDashboard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useProjectDeployDashboard.d.ts","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/useProjectDeployDashboard.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAkB,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAO1F;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM;;;EAsB1D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useCallback, useEffect, useState } from 'react';
|
|
2
|
-
import { listProjectDeployReleaseHistory, readProjectDeployConfig, readProjectDeployListing, readProjectDeployMonetization, readProjectDeployRelease, } from '../../../../projectDeployApi';
|
|
2
|
+
import { listProjectDeployReleaseHistory, readProjectDeployAuthoring, readProjectDeployConfig, readProjectDeployListing, readProjectDeployMonetization, readProjectDeployRelease, } from '../../../../projectDeployApi';
|
|
3
3
|
/***
|
|
4
4
|
* Load the five deploy-dashboard resources for one project, invalidate stale generations, and expose an explicit refresh trigger.
|
|
5
5
|
* @todo Keep this React adapter at the deploy admin UI edge while dashboard loading/orchestration moves into deploy application ownership.
|
|
@@ -26,6 +26,7 @@ export function useProjectDeployDashboard(projectId) {
|
|
|
26
26
|
return { state, refresh };
|
|
27
27
|
}
|
|
28
28
|
const loadingState = {
|
|
29
|
+
authoring: { status: 'loading' },
|
|
29
30
|
config: { status: 'loading' },
|
|
30
31
|
listing: { status: 'loading' },
|
|
31
32
|
monetization: { status: 'loading' },
|
|
@@ -34,14 +35,15 @@ const loadingState = {
|
|
|
34
35
|
};
|
|
35
36
|
/*** Load all deploy-dashboard resources concurrently while isolating each resource failure into its own loadable state. */
|
|
36
37
|
async function loadDashboard(projectId) {
|
|
37
|
-
const [config, listing, monetization, release, history] = await Promise.all([
|
|
38
|
+
const [authoring, config, listing, monetization, release, history] = await Promise.all([
|
|
39
|
+
capture(readProjectDeployAuthoring(projectId)),
|
|
38
40
|
capture(readProjectDeployConfig(projectId)),
|
|
39
41
|
capture(readProjectDeployListing(projectId)),
|
|
40
42
|
capture(readProjectDeployMonetization(projectId)),
|
|
41
43
|
capture(readProjectDeployRelease(projectId)),
|
|
42
44
|
capture(listProjectDeployReleaseHistory(projectId)),
|
|
43
45
|
]);
|
|
44
|
-
return { config, listing, monetization, release, history };
|
|
46
|
+
return { authoring, config, listing, monetization, release, history };
|
|
45
47
|
}
|
|
46
48
|
/***
|
|
47
49
|
* Convert a promise into a discriminated ready/error loadable result while normalizing unknown errors to messages.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProjectDeployDashboard.js","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/useProjectDeployDashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EACL,+BAA+B,EAC/B,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AAQtC;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAiB;IACzD,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA8B,IAAI,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,GAAG,SAAS,IAAI,iBAAiB,EAAE,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3C,IAAI,CAAC,SAAS;gBAAE,SAAS,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAE5B,qFAAqF;IACrF,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,oBAAoB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,MAAM,EAAE,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;IAC9E,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,YAAY,GAAgC;IAChD,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;IAC7B,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;IAC9B,YAAY,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;IACnC,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;IAC9B,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;CAC/B,CAAC;AAEF,2HAA2H;AAC3H,KAAK,UAAU,aAAa,CAAC,SAAiB;IAC5C,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"useProjectDeployDashboard.js","sourceRoot":"","sources":["../../../../../src/ui/admin/pages/deploy/useProjectDeployDashboard.ts"],"names":[],"mappings":"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"}
|