@ankhorage/studio 5.11.2 → 5.12.1
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/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/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/ExternalApiAdminPrimitives.d.ts +0 -9
- package/dist/ui/admin/pages/ExternalApiAdminPrimitives.d.ts.map +1 -1
- package/dist/ui/admin/pages/ExternalApiAdminPrimitives.js +1 -8
- package/dist/ui/admin/pages/ExternalApiAdminPrimitives.js.map +1 -1
- package/dist/ui/admin/pages/ExternalApiConnectCard.d.ts.map +1 -1
- package/dist/ui/admin/pages/ExternalApiConnectCard.js +3 -3
- package/dist/ui/admin/pages/ExternalApiConnectCard.js.map +1 -1
- package/dist/ui/admin/pages/ExternalApiEditCard.d.ts.map +1 -1
- package/dist/ui/admin/pages/ExternalApiEditCard.js +3 -3
- package/dist/ui/admin/pages/ExternalApiEditCard.js.map +1 -1
- package/dist/ui/admin/pages/ManualRestApiCard.d.ts.map +1 -1
- package/dist/ui/admin/pages/ManualRestApiCard.js +3 -3
- package/dist/ui/admin/pages/ManualRestApiCard.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,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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"}
|