@package-broker/ui 2.0.0-rc.2 → 2.0.0-rc.3

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.
Files changed (125) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/api-types.d.ts +50 -5
  3. package/dist/api-types.d.ts.map +1 -1
  4. package/dist/app.d.ts +8 -14
  5. package/dist/app.d.ts.map +1 -1
  6. package/dist/app.js +22 -20
  7. package/dist/app.js.map +1 -1
  8. package/dist/assets/access.6859f43998ca.js +1 -0
  9. package/dist/assets/app.e8434f3343de.js +9 -0
  10. package/dist/assets/app.f15f8f21f88b.css +2 -0
  11. package/dist/assets/audit.576009342714.js +1 -0
  12. package/dist/assets/chunk.297a2d571f9c.js +4 -0
  13. package/dist/assets/chunk.3704953b4a66.js +1 -0
  14. package/dist/assets/chunk.6e23a75a1324.js +1 -0
  15. package/dist/assets/chunk.7cb6f6b4daaa.js +1 -0
  16. package/dist/assets/chunk.855a50f45830.js +1 -0
  17. package/dist/assets/chunk.862544cf5835.js +2 -0
  18. package/dist/assets/chunk.976a2ff4338e.js +1 -0
  19. package/dist/assets/chunk.bb25fc845269.js +1 -0
  20. package/dist/assets/chunk.bf48b04e6a00.js +1 -0
  21. package/dist/assets/chunk.ce96495b8b55.js +1 -0
  22. package/dist/assets/chunk.f922af39a279.js +1 -0
  23. package/dist/assets/import.e2a1e35fcb8d.js +1 -0
  24. package/dist/assets/index.html +6 -2
  25. package/dist/assets/manifest.json +80 -8
  26. package/dist/assets/packages.a8726e5144de.js +1 -0
  27. package/dist/assets/projects.711deb86b7c9.js +1 -0
  28. package/dist/assets/setup.dfed30ecfbad.js +1 -0
  29. package/dist/assets/setup.html +3 -3
  30. package/dist/assets/sources.d0ba0048bd96.js +1 -0
  31. package/dist/assets/tokens.f48d235e8d25.js +4 -0
  32. package/dist/auth.d.ts +4 -0
  33. package/dist/auth.d.ts.map +1 -1
  34. package/dist/auth.js +4 -0
  35. package/dist/auth.js.map +1 -1
  36. package/dist/components/product-footer-content.d.ts +21 -0
  37. package/dist/components/product-footer-content.d.ts.map +1 -0
  38. package/dist/components/product-footer-content.js +30 -0
  39. package/dist/components/product-footer-content.js.map +1 -0
  40. package/dist/components/product-footer.d.ts +3 -0
  41. package/dist/components/product-footer.d.ts.map +1 -0
  42. package/dist/components/product-footer.js +6 -0
  43. package/dist/components/product-footer.js.map +1 -0
  44. package/dist/manifest.d.ts +32 -0
  45. package/dist/manifest.d.ts.map +1 -1
  46. package/dist/manifest.js +41 -0
  47. package/dist/manifest.js.map +1 -1
  48. package/dist/page-loader.d.ts +5 -0
  49. package/dist/page-loader.d.ts.map +1 -0
  50. package/dist/page-loader.js +39 -0
  51. package/dist/page-loader.js.map +1 -0
  52. package/dist/pages/access/grant-form.d.ts +48 -0
  53. package/dist/pages/access/grant-form.d.ts.map +1 -0
  54. package/dist/pages/access/grant-form.js +153 -0
  55. package/dist/pages/access/grant-form.js.map +1 -0
  56. package/dist/pages/access/permission-descriptions.d.ts +2 -0
  57. package/dist/pages/access/permission-descriptions.d.ts.map +1 -0
  58. package/dist/pages/access/permission-descriptions.js +36 -0
  59. package/dist/pages/access/permission-descriptions.js.map +1 -0
  60. package/dist/pages/access/role-catalogue.d.ts +22 -0
  61. package/dist/pages/access/role-catalogue.d.ts.map +1 -0
  62. package/dist/pages/access/role-catalogue.js +40 -0
  63. package/dist/pages/access/role-catalogue.js.map +1 -0
  64. package/dist/pages/access.d.ts +6 -0
  65. package/dist/pages/access.d.ts.map +1 -1
  66. package/dist/pages/access.js +66 -31
  67. package/dist/pages/access.js.map +1 -1
  68. package/dist/pages/packages/source-actions.d.ts +48 -0
  69. package/dist/pages/packages/source-actions.d.ts.map +1 -0
  70. package/dist/pages/packages/source-actions.js +312 -0
  71. package/dist/pages/packages/source-actions.js.map +1 -0
  72. package/dist/pages/packages.d.ts.map +1 -1
  73. package/dist/pages/packages.js +3 -2
  74. package/dist/pages/packages.js.map +1 -1
  75. package/dist/pages/projects/project-form-model.d.ts +25 -0
  76. package/dist/pages/projects/project-form-model.d.ts.map +1 -0
  77. package/dist/pages/projects/project-form-model.js +69 -0
  78. package/dist/pages/projects/project-form-model.js.map +1 -0
  79. package/dist/pages/projects/project-form.d.ts +14 -0
  80. package/dist/pages/projects/project-form.d.ts.map +1 -0
  81. package/dist/pages/projects/project-form.js +91 -0
  82. package/dist/pages/projects/project-form.js.map +1 -0
  83. package/dist/pages/projects.d.ts +3 -2
  84. package/dist/pages/projects.d.ts.map +1 -1
  85. package/dist/pages/projects.js +28 -37
  86. package/dist/pages/projects.js.map +1 -1
  87. package/dist/pages/sources/source-form.d.ts +3 -1
  88. package/dist/pages/sources/source-form.d.ts.map +1 -1
  89. package/dist/pages/sources/source-form.js +18 -16
  90. package/dist/pages/sources/source-form.js.map +1 -1
  91. package/dist/pages/sources/sync-copy.d.ts +5 -0
  92. package/dist/pages/sources/sync-copy.d.ts.map +1 -0
  93. package/dist/pages/sources/sync-copy.js +11 -0
  94. package/dist/pages/sources/sync-copy.js.map +1 -0
  95. package/dist/pages/sources.d.ts +2 -0
  96. package/dist/pages/sources.d.ts.map +1 -1
  97. package/dist/pages/sources.js +49 -15
  98. package/dist/pages/sources.js.map +1 -1
  99. package/dist/pages/tokens/client-config.d.ts +3 -0
  100. package/dist/pages/tokens/client-config.d.ts.map +1 -1
  101. package/dist/pages/tokens/client-config.js +12 -2
  102. package/dist/pages/tokens/client-config.js.map +1 -1
  103. package/dist/pages/tokens/issue-token-form.d.ts +27 -0
  104. package/dist/pages/tokens/issue-token-form.d.ts.map +1 -0
  105. package/dist/pages/tokens/issue-token-form.js +270 -0
  106. package/dist/pages/tokens/issue-token-form.js.map +1 -0
  107. package/dist/pages/tokens/principal-form.d.ts +8 -0
  108. package/dist/pages/tokens/principal-form.d.ts.map +1 -0
  109. package/dist/pages/tokens/principal-form.js +151 -0
  110. package/dist/pages/tokens/principal-form.js.map +1 -0
  111. package/dist/pages/tokens.d.ts +47 -6
  112. package/dist/pages/tokens.d.ts.map +1 -1
  113. package/dist/pages/tokens.js +317 -86
  114. package/dist/pages/tokens.js.map +1 -1
  115. package/dist/setup.d.ts.map +1 -1
  116. package/dist/setup.js +4 -1
  117. package/dist/setup.js.map +1 -1
  118. package/dist/token-pending.d.ts +4 -0
  119. package/dist/token-pending.d.ts.map +1 -0
  120. package/dist/token-pending.js +12 -0
  121. package/dist/token-pending.js.map +1 -0
  122. package/package.json +3 -3
  123. package/dist/assets/app.b2abf3c46f6e.js +0 -15
  124. package/dist/assets/app.e8cea8b32d3a.css +0 -2
  125. package/dist/assets/setup.98343039898f.js +0 -1
@@ -0,0 +1,69 @@
1
+ export const PROJECT_SLUG_PATTERN = /^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$/;
2
+ export const SLUG_RULE = '1–64 lowercase letters, numbers or hyphens. Start and end with a letter or number.';
3
+ export function suggestedSlug(name) {
4
+ return name
5
+ .toLowerCase()
6
+ .replace(/[^a-z0-9]+/g, '-')
7
+ .replace(/^-+|-+$/g, '')
8
+ .slice(0, 64)
9
+ .replace(/-+$/g, '');
10
+ }
11
+ export function changeName(draft, name) {
12
+ return { ...draft, name, slug: draft.manualSlug ? draft.slug : suggestedSlug(name) };
13
+ }
14
+ export function changeSlug(draft, slug) {
15
+ return { ...draft, slug, manualSlug: true };
16
+ }
17
+ export function useSuggestedSlug(draft) {
18
+ return { ...draft, slug: suggestedSlug(draft.name), manualSlug: false };
19
+ }
20
+ export function validateDraft(draft, editing = false) {
21
+ const errors = {};
22
+ if (!draft.name.trim())
23
+ errors.name = 'Enter a project name.';
24
+ else if ([...draft.name].length > 100)
25
+ errors.name = 'Use 100 characters or fewer.';
26
+ else if (/[\p{Cc}\p{Cf}\p{Zl}\p{Zp}\p{Cs}]/u.test(draft.name))
27
+ errors.name = 'Use a name without control or formatting characters.';
28
+ if (!editing && !PROJECT_SLUG_PATTERN.test(draft.slug))
29
+ errors.slug =
30
+ !draft.slug && draft.name && !suggestedSlug(draft.name)
31
+ ? 'Enter a project slug using lowercase letters, numbers or hyphens.'
32
+ : SLUG_RULE;
33
+ return errors;
34
+ }
35
+ export function projectBody(draft, editing) {
36
+ return {
37
+ name: draft.name,
38
+ tokenMaxScope: draft.tokenMaxScope,
39
+ ...(editing ? {} : { slug: draft.slug }),
40
+ };
41
+ }
42
+ export function serverFieldErrors(result, editing) {
43
+ if (result.ok)
44
+ return {};
45
+ if (!editing && result.code === 'duplicate')
46
+ return { slug: 'This project slug is already in use. Choose another.' };
47
+ const errors = {};
48
+ for (const detail of result.details) {
49
+ if (detail.location && detail.location !== 'body')
50
+ continue;
51
+ if (detail.path === '/body/name')
52
+ errors.name = 'Check the entered values and try again.';
53
+ if (!editing && detail.path === '/body/slug')
54
+ errors.slug = SLUG_RULE;
55
+ if (detail.path === '/body/tokenMaxScope')
56
+ errors.tokenMaxScope = 'Check the entered values and try again.';
57
+ }
58
+ return errors;
59
+ }
60
+ export const LOWER_CAP_NOTICE = 'This change limits existing personal and service tokens on their next request. Downloads can continue, but access above this limit will stop. Check any CI jobs that use these tokens.';
61
+ export function capNotice(saved, draft) {
62
+ const scopes = ['read', 'write', 'full'];
63
+ return saved === draft
64
+ ? null
65
+ : scopes.indexOf(draft) < scopes.indexOf(saved)
66
+ ? LOWER_CAP_NOTICE
67
+ : 'Existing tokens may regain access if their scope and permissions allow it.';
68
+ }
69
+ //# sourceMappingURL=project-form-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-form-model.js","sourceRoot":"","sources":["../../../src/pages/projects/project-form-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { ApiResult } from '../../api.js';
2
+ import { projectBody, type TokenScope } from './project-form-model.js';
3
+ export interface SavedProject {
4
+ name: string;
5
+ slug: string;
6
+ tokenMaxScope: TokenScope;
7
+ requirePublishApproval: boolean;
8
+ }
9
+ export declare function ProjectForm(props: {
10
+ project?: SavedProject;
11
+ disabled: boolean;
12
+ submit: (body: ReturnType<typeof projectBody>) => Promise<ApiResult<unknown> | undefined>;
13
+ }): import("react").JSX.Element;
14
+ //# sourceMappingURL=project-form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-form.d.ts","sourceRoot":"","sources":["../../../src/pages/projects/project-form.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,OAAO,EAIL,WAAW,EAOX,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAwBjC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,UAAU,CAAC;IAC1B,sBAAsB,EAAE,OAAO,CAAC;CACjC;AACD,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,KAAK,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;CAC3F,+BA+OA"}
@@ -0,0 +1,91 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useId, useRef, useState } from 'react';
3
+ import { Button } from '../../components/ui/button.js';
4
+ import { Input } from '../../components/ui/input.js';
5
+ import { Label } from '../../components/ui/label.js';
6
+ import { failureNotice } from '../management.js';
7
+ import { capNotice, changeName, changeSlug, projectBody, PROJECT_SLUG_PATTERN, serverFieldErrors, SLUG_RULE, useSuggestedSlug, validateDraft, } from './project-form-model.js';
8
+ const policies = [
9
+ {
10
+ value: 'read',
11
+ label: 'Install and download',
12
+ summary: 'Install and download only',
13
+ description: 'Read project details and download packages.',
14
+ },
15
+ {
16
+ value: 'write',
17
+ label: 'Include publish permission',
18
+ summary: 'Publish permission included',
19
+ description: 'Also allow the package publishing permission. Publishing is not available in this version.',
20
+ },
21
+ {
22
+ value: 'full',
23
+ label: 'Include grants, sources and audit access',
24
+ summary: 'Grants, sources and audit access included',
25
+ description: 'Also allow reading project grants, sources and audit records, plus the publish permission.',
26
+ },
27
+ ];
28
+ export function ProjectForm(props) {
29
+ const id = useId();
30
+ const form = useRef(null);
31
+ const policy = useRef(null);
32
+ const status = useRef(null);
33
+ const editing = !!props.project;
34
+ const [draft, setDraft] = useState({
35
+ name: props.project?.name ?? '',
36
+ slug: props.project?.slug ?? '',
37
+ tokenMaxScope: props.project?.tokenMaxScope ?? 'read',
38
+ manualSlug: false,
39
+ });
40
+ const [errors, setErrors] = useState({});
41
+ const [busy, setBusy] = useState(false);
42
+ const [notice, setNotice] = useState('');
43
+ const focusError = (next) => {
44
+ setErrors(next);
45
+ const field = ['name', 'slug', 'tokenMaxScope'].find((key) => next[key]);
46
+ if (field === 'tokenMaxScope' && policy.current)
47
+ policy.current.open = true;
48
+ if (field)
49
+ form.current?.querySelector(`[name="${field}"]`)?.focus();
50
+ };
51
+ const previewSlug = PROJECT_SLUG_PATTERN.test(draft.slug) ? draft.slug : '{project-slug}';
52
+ const origin = typeof window === 'undefined' ? '' : window.location.origin;
53
+ const changeNotice = props.project
54
+ ? capNotice(props.project.tokenMaxScope, draft.tokenMaxScope)
55
+ : null;
56
+ return (_jsxs("form", { ref: form, noValidate: true, "aria-label": editing ? 'Project settings' : 'New project', className: "my-6 grid min-w-0 max-w-5xl items-start gap-x-6 gap-y-4 lg:grid-cols-2", onSubmit: async (event) => {
57
+ event.preventDefault();
58
+ if (props.disabled || busy)
59
+ return;
60
+ setNotice('');
61
+ const next = validateDraft(draft, editing);
62
+ focusError(next);
63
+ if (Object.keys(next).length)
64
+ return;
65
+ setBusy(true);
66
+ try {
67
+ const result = await props.submit(projectBody(draft, editing));
68
+ if (result && !result.ok) {
69
+ const fieldErrors = serverFieldErrors(result, editing);
70
+ focusError(fieldErrors);
71
+ if (!Object.keys(fieldErrors).length)
72
+ status.current?.focus();
73
+ setNotice(result.status === 412
74
+ ? 'This project changed while you were editing. Reload the latest settings before saving.'
75
+ : failureNotice(result));
76
+ }
77
+ else if (result?.ok)
78
+ setNotice(editing
79
+ ? 'Access policy saved. Existing tokens now use this limit.'
80
+ : 'Project created.');
81
+ }
82
+ finally {
83
+ setBusy(false);
84
+ }
85
+ }, children: [_jsxs("div", { className: "grid min-w-0 gap-1", children: [_jsx(Label, { htmlFor: `${id}-name`, children: "Project name" }), _jsx(Input, { id: `${id}-name`, name: "name", required: true, className: "h-11", placeholder: "e.g. Acme Company", value: draft.name, onChange: (event) => setDraft(changeName(draft, event.target.value)), "aria-describedby": `${id}-name-help ${id}-name-error`, "aria-invalid": !!errors.name }), _jsx("p", { id: `${id}-name-help`, className: "text-sm text-neutral-600", children: "A name your team will recognize. You can change it later." }), _jsx("p", { id: `${id}-name-error`, className: "text-sm text-red-700", children: errors.name })] }), _jsxs("div", { className: "grid min-w-0 gap-1", children: [editing ? (_jsxs(_Fragment, { children: [_jsx("p", { className: "text-sm font-medium", children: "Project slug" }), _jsx("p", { className: "break-all", children: draft.slug })] })) : (_jsxs(_Fragment, { children: [_jsx(Label, { htmlFor: `${id}-slug`, children: "Project slug" }), _jsx(Input, { id: `${id}-slug`, name: "slug", required: true, className: "h-11", placeholder: "e.g. acme-company", value: draft.slug, onChange: (event) => setDraft(changeSlug(draft, event.target.value)), "aria-describedby": `${id}-slug-help ${id}-slug-rule ${id}-slug-error`, "aria-invalid": !!errors.slug }), draft.manualSlug ? (_jsx(Button, { type: "button", variant: "ghost", className: "min-h-11 justify-self-start", onClick: () => setDraft(useSuggestedSlug(draft)), children: "Use suggested slug" })) : null] })), _jsx("p", { id: `${id}-slug-help`, className: "text-sm text-neutral-600", children: "Used in repository URLs and CLI commands. You cannot change it later." }), !editing ? (_jsxs(_Fragment, { children: [_jsx("p", { id: `${id}-slug-rule`, className: "text-sm text-neutral-600", children: SLUG_RULE }), _jsx("p", { id: `${id}-slug-error`, className: "text-sm text-red-700", children: errors.slug })] })) : null] }), _jsxs("div", { className: "grid min-w-0 gap-2 rounded-md border border-neutral-300 bg-neutral-50 p-4 lg:col-span-2", children: [_jsx("p", { className: "text-sm font-medium", children: "Repository URLs" }), _jsxs("dl", { className: "grid min-w-0 gap-2 text-sm", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("dt", { children: "Composer" }), _jsx("dd", { className: "overflow-x-auto whitespace-nowrap", tabIndex: 0, children: _jsx("code", { children: `${origin}/${previewSlug}` }) })] }), _jsxs("div", { className: "min-w-0", children: [_jsx("dt", { children: "npm" }), _jsx("dd", { className: "overflow-x-auto whitespace-nowrap", tabIndex: 0, children: _jsx("code", { children: `${origin}/${previewSlug}/npm/` }) })] })] })] }), _jsxs("details", { ref: policy, className: "min-w-0 rounded-md border border-neutral-300 lg:col-span-2", children: [_jsxs("summary", { className: "min-h-11 cursor-pointer p-4 font-medium focus-visible:ring-2 focus-visible:ring-blue-600", children: ["Access policy", _jsx("span", { className: "block text-sm font-normal text-neutral-600", children: policies.find((entry) => entry.value === draft.tokenMaxScope)?.summary })] }), _jsxs("fieldset", { className: "m-4 grid min-w-0 gap-3", "aria-describedby": `${id}-policy-help ${id}-policy-note ${id}-policy-error`, children: [_jsx("legend", { className: "font-medium", children: "What can tokens do on this project?" }), _jsx("p", { id: `${id}-policy-help`, className: "text-sm text-neutral-600", children: "Sets the maximum access for personal and service tokens, including tokens used by CI. Each token still needs its own permissions. Your access in the admin UI is unchanged." }), policies.map((entry) => (_jsxs(Label, { htmlFor: `${id}-${entry.value}`, className: "flex min-h-11 cursor-pointer items-start gap-3 rounded-md border border-neutral-300 p-3 has-checked:border-blue-700 has-checked:bg-blue-50", children: [_jsx("input", { id: `${id}-${entry.value}`, type: "radio", name: "tokenMaxScope", value: entry.value, checked: draft.tokenMaxScope === entry.value, onChange: () => setDraft({ ...draft, tokenMaxScope: entry.value }), className: "mt-1 accent-blue-700 focus-visible:ring-2 focus-visible:ring-blue-600", "aria-describedby": `${id}-${entry.value}-description ${id}-policy-error`, "aria-invalid": !!errors.tokenMaxScope }), _jsxs("span", { children: [entry.label, entry.value === 'read' ? (_jsx("span", { className: "ml-2 inline-block rounded bg-blue-100 px-1 text-xs text-blue-800", children: "Recommended" })) : null, _jsx("span", { id: `${id}-${entry.value}-description`, className: "mt-1 block text-sm font-normal text-neutral-600", children: entry.description })] })] }, entry.value))), _jsx("p", { id: `${id}-policy-note`, className: "text-sm text-neutral-600", children: "Tokens cannot change project settings or delete packages. Publishing is not available in this version." }), _jsx("p", { id: `${id}-policy-error`, className: "text-sm text-red-700", children: errors.tokenMaxScope })] })] }), props.project?.requirePublishApproval ? (_jsx("p", { className: "text-sm text-neutral-600 lg:col-span-2", children: "Publish approval is saved as required, but approval is not enforced in this version." })) : null, changeNotice ? (_jsx("p", { className: "text-sm text-neutral-600 lg:col-span-2", children: changeNotice })) : null, _jsx("div", { className: "lg:col-span-2", children: _jsx(Button, { type: "submit", className: "min-h-11 w-full sm:w-auto lg:w-auto", disabled: props.disabled || busy, children: busy ? (editing ? ('Saving settings…') : ('Creating project…')) : editing ? ('Save settings') : (_jsx(_Fragment, { children: "Create project" })) }) }), _jsx("p", { ref: status, role: "status", tabIndex: -1, className: "lg:col-span-2", children: busy
86
+ ? editing
87
+ ? 'Saving settings…'
88
+ : 'Creating project…'
89
+ : notice || (Object.keys(errors).length ? 'Check the entered values and try again.' : '') })] }));
90
+ }
91
+ //# sourceMappingURL=project-form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-form.js","sourceRoot":"","sources":["../../../src/pages/projects/project-form.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { operations } from '../api-types.js';
2
+ import type { ApiResult } from '../api.js';
2
3
  import { type ShellServices, type ReplayResult } from '../auth.js';
3
4
  import { type ManagementQuery } from './management.js';
4
5
  type Project = operations['getProject']['responses'][200]['content']['application/json'];
@@ -41,8 +42,8 @@ export declare function createProjectsController(services: ShellServices): {
41
42
  snapshot: () => ProjectsState;
42
43
  subscribe: (listener: () => void) => () => void;
43
44
  load: (query: ProjectsQuery, notice?: string | null) => Promise<void>;
44
- create(body: Create): Promise<void>;
45
- update(body: Changes): Promise<void>;
45
+ create(body: Create): Promise<ApiResult<unknown> | undefined>;
46
+ update(body: Changes): Promise<ApiResult<unknown> | undefined>;
46
47
  transition(): Promise<void>;
47
48
  transitionItem(id: string): Promise<void>;
48
49
  replayed(result: ReplayResult): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/pages/projects.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAe,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAUhF,OAAO,EAUL,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAC;AAEzB,KAAK,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACzF,KAAK,WAAW,GACd,UAAU,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/F,KAAK,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACxF,KAAK,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACzF,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG;IAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;CAAE,CAAC;AAGjF,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,aACK,CAAC;AACvD,eAAO,MAAM,iBAAiB,GAAI,OAAO,aAAa,WACsC,CAAC;AAqE7F,UAAU,aAAa;IACrB,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AACD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa;;;;;;;;;;;;EAcrD;AACD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,aAAa;;;kBAkBrD,aAAa,WACZ,MAAM,GAAG,IAAI,KAIpB,OAAO,CAAC,IAAI,CAAC;iBAwHK,MAAM;iBAMN,OAAO;;uBA8BD,MAAM;qBAoBR,YAAY;;EA2BtC;AACD,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;AA2BtE,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,UAAU,GACX,EAAE;IACD,KAAK,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,kBAAkB,CAAC;CAChC,+BA4LA;AACD,wBAAgB,YAAY,gCAiC3B"}
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/pages/projects.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAe,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAQhF,OAAO,EAQL,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAC;AAIzB,KAAK,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACzF,KAAK,WAAW,GACd,UAAU,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/F,KAAK,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACxF,KAAK,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACzF,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG;IAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;CAAE,CAAC;AAGjF,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,aACK,CAAC;AACvD,eAAO,MAAM,iBAAiB,GAAI,OAAO,aAAa,WACsC,CAAC;AAqE7F,UAAU,aAAa;IACrB,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AACD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa;;;;;;;;;;;;EAcrD;AACD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,aAAa;;;kBAkBrD,aAAa,WACZ,MAAM,GAAG,IAAI,KAIpB,OAAO,CAAC,IAAI,CAAC;iBAiIK,MAAM;iBASN,OAAO;;uBAkCD,MAAM;qBAoBR,YAAY;;EAwCtC;AACD,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;AACtE,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,UAAU,GACX,EAAE;IACD,KAAK,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,kBAAkB,CAAC;CAChC,+BA6JA;AACD,wBAAgB,YAAY,gCAiC3B"}
@@ -3,14 +3,13 @@ import { useEffect, useMemo, useSyncExternalStore } from 'react';
3
3
  import { useServices } from '../auth.js';
4
4
  import { buildListFilterHash } from '../page-hash.js';
5
5
  import { Button } from '../components/ui/button.js';
6
- import { Label } from '../components/ui/label.js';
7
- import { Select } from '../components/ui/select.js';
8
6
  import { DataTable } from '../components/ui/table.js';
9
7
  import { StatusBadge } from '../components/ui/status-badge.js';
10
8
  import { IdText } from '../components/ui/id-text.js';
11
9
  import { ListState } from '../components/ui/list-state.js';
12
10
  import { ConfirmAction } from '../components/ui/confirm-action.js';
13
- import { createManagementStore, failureNotice, Field, formValues, ManagementFilters, ManagementNotice, parseManagementHash, requireReauth, useManagementHash, } from './management.js';
11
+ import { createManagementStore, failureNotice, ManagementFilters, ManagementNotice, parseManagementHash, requireReauth, useManagementHash, } from './management.js';
12
+ import { ProjectForm } from './projects/project-form.js';
14
13
  const ARCHIVED_NOTICE = 'Project archived.';
15
14
  const STATUSES = ['active', 'archived'];
16
15
  export const parseProjectsHash = (hash) => parseManagementHash(hash, STATUSES);
@@ -194,7 +193,7 @@ export function createProjectsController(services) {
194
193
  : notice,
195
194
  });
196
195
  }
197
- async function write(run, archivedSlug) {
196
+ async function write(run, archivedSlug, successNotice = 'Project updated.', conflictNotice = 'Changed elsewhere. Reload before trying again.') {
198
197
  const state = store.snapshot();
199
198
  if (state.busy || state.loading || state.stale)
200
199
  return;
@@ -213,10 +212,14 @@ export function createProjectsController(services) {
213
212
  });
214
213
  }
215
214
  else if (!result.ok) {
216
- store.set({ stale: result.status === 412, notice: failureNotice(result) });
215
+ store.set({
216
+ stale: result.status === 412,
217
+ notice: result.status === 412 ? conflictNotice : failureNotice(result),
218
+ });
217
219
  }
218
220
  else
219
- await load(archivedSlug ? { ...state.query, project: archivedSlug } : state.query, archivedSlug ? ARCHIVED_NOTICE : 'Project updated.');
221
+ await load(archivedSlug ? { ...state.query, project: archivedSlug } : state.query, archivedSlug ? ARCHIVED_NOTICE : successNotice);
222
+ return result;
220
223
  }
221
224
  return {
222
225
  snapshot: store.snapshot,
@@ -224,16 +227,16 @@ export function createProjectsController(services) {
224
227
  load,
225
228
  async create(body) {
226
229
  if (projectsViewModel(store.snapshot()).create)
227
- await write(() => client.request('post', '/_pb/projects', { body, idempotencyKey: crypto.randomUUID() }));
230
+ return write(() => client.request('post', '/_pb/projects', { body, idempotencyKey: crypto.randomUUID() }), undefined, 'Project created.');
228
231
  },
229
232
  async update(body) {
230
233
  const state = store.snapshot();
231
234
  if (projectsViewModel(state).settings)
232
- await write(() => client.request('patch', '/_pb/projects/{project}', {
235
+ return write(() => client.request('patch', '/_pb/projects/{project}', {
233
236
  params: { project: state.selected.slug },
234
237
  headers: { 'If-Match': state.etag },
235
238
  body,
236
- }));
239
+ }), undefined, 'Access policy saved. Existing tokens now use this limit.', 'This project changed while you were editing. Reload the latest settings before saving.');
237
240
  },
238
241
  async transition() {
239
242
  const state = store.snapshot();
@@ -273,22 +276,30 @@ export function createProjectsController(services) {
273
276
  : null;
274
277
  await load(archivedSlug
275
278
  ? { ...store.snapshot().query, project: archivedSlug }
276
- : store.snapshot().query, archivedSlug ? ARCHIVED_NOTICE : 'Project updated.');
279
+ : store.snapshot().query, archivedSlug
280
+ ? ARCHIVED_NOTICE
281
+ : result.path === '/_pb/projects'
282
+ ? 'Project created.'
283
+ : result.path === path
284
+ ? 'Access policy saved. Existing tokens now use this limit.'
285
+ : 'Project updated.');
277
286
  }
278
287
  else
279
- store.set({ stale: true, notice: failureNotice(result) });
288
+ store.set({
289
+ stale: true,
290
+ notice: result.path === path && result.status === 412
291
+ ? 'This project changed while you were editing. Reload the latest settings before saving.'
292
+ : failureNotice(result),
293
+ });
280
294
  },
281
295
  dispose() {
282
296
  ++generation;
283
297
  },
284
298
  };
285
299
  }
286
- function TokenPolicy(props) {
287
- return (_jsxs(_Fragment, { children: [_jsxs(Label, { className: "grid gap-1", children: ["Maximum token scope", _jsx(Select, { name: "tokenMaxScope", defaultValue: props.project?.tokenMaxScope ?? 'read', children: ['read', 'write', 'full'].map((scope) => (_jsx("option", { value: scope, children: scope }, scope))) })] }), _jsxs(Label, { className: "grid gap-1", children: ["Publish approval", _jsxs(Select, { name: "requirePublishApproval", defaultValue: String(props.project?.requirePublishApproval ?? false), children: [_jsx("option", { value: "false", children: "Not required" }), _jsx("option", { value: "true", children: "Required" })] })] })] }));
288
- }
289
300
  export function ProjectsView({ state, controller, }) {
290
301
  const model = projectsViewModel(state);
291
- return (_jsxs(_Fragment, { children: [_jsx(ManagementNotice, { ...state, reload: () => void controller.load(state.query) }), state.query.q ? _jsx("p", { children: "Filtering loaded projects on this page." }) : null, !state.loading && !state.listError ? (model.items.length ? (_jsxs(_Fragment, { children: [_jsxs("p", { className: "my-3 text-sm text-neutral-600", children: [model.items.length, " projects on this page"] }), _jsx(DataTable, { label: "Projects", items: model.items, selectedId: state.selected?.id ?? '', columns: [
302
+ return (_jsxs(_Fragment, { children: [_jsx("p", { role: "status", className: "sr-only", children: state.notice }), _jsx(ManagementNotice, { ...state, reload: () => void controller.load(state.query) }), state.query.q ? _jsx("p", { children: "Filtering loaded projects on this page." }) : null, !state.loading && !state.listError ? (model.items.length ? (_jsxs(_Fragment, { children: [_jsxs("p", { className: "my-3 text-sm text-neutral-600", children: [model.items.length, " projects on this page"] }), _jsx(DataTable, { label: "Projects", items: model.items, selectedId: state.selected?.id ?? '', columns: [
292
303
  {
293
304
  key: 'name',
294
305
  label: 'Name',
@@ -315,28 +326,8 @@ export function ProjectsView({ state, controller, }) {
315
326
  sortable: false,
316
327
  render: (item) => (_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx("a", { className: "underline", href: buildProjectsHash({ ...state.query, project: item.slug }), children: "Open settings" }), model.transitionItems && item.etag ? (item.status === 'active' ? (_jsx(ConfirmAction, { action: "Archive", target: `${item.name} (${item.id})`, scope: `Project: ${item.slug}`, description: "Archiving keeps project history and blocks new publishes. You can restore this project later.", disabled: state.busy, onConfirm: () => void controller.transitionItem(item.id) }, `${item.id}:${item.etag}`)) : (_jsx(Button, { type: "button", size: "sm", variant: "outline", disabled: state.busy, onClick: () => void controller.transitionItem(item.id), children: "Restore" }))) : null] })),
317
328
  },
318
- ] })] })) : (_jsx(ListState, { kind: state.query.q || state.query.status ? 'filtered-empty' : 'empty', title: "No projects found on this page." }))) : null, state.next ? (_jsx("a", { className: "my-4 inline-block underline", href: buildProjectsHash({ ...state.query, after: state.next }), children: "Next projects" })) : null, model.create ? (_jsxs("details", { className: "detail-group my-6", children: [_jsx("summary", { className: "cursor-pointer font-semibold", children: "New project" }), _jsx("p", { className: "mt-3 text-neutral-600", children: "The slug is the API and CLI name; it cannot change after creation." }), _jsxs("form", { className: "my-6 grid gap-3", onSubmit: (event) => {
319
- event.preventDefault();
320
- if (state.busy)
321
- return;
322
- const values = formValues(event);
323
- void controller.create({
324
- name: values['name'] ?? '',
325
- slug: values['slug'] ?? '',
326
- tokenMaxScope: values['tokenMaxScope'],
327
- requirePublishApproval: values['requirePublishApproval'] === 'true',
328
- });
329
- }, children: [_jsx("h2", { className: "text-lg font-semibold", children: "New project" }), _jsx(Field, { name: "name", label: "Project name" }), _jsx(Field, { name: "slug", label: "Slug" }), _jsx(TokenPolicy, {}), _jsx(Button, { type: "submit", disabled: state.busy, children: "Create project" })] })] })) : null, state.selected ? (_jsxs("section", { className: "detail-group my-6 grid gap-3", "aria-label": "Project settings", children: [_jsxs("h2", { className: "text-lg font-semibold", children: ["Settings: ", state.selected.name] }), _jsxs("p", { children: ["Maximum token scope: ", state.selected.tokenMaxScope, ". Publish approval:", ' ', state.selected.requirePublishApproval ? 'required' : 'not required', "."] }), model.settings ? (_jsxs("form", { className: "grid gap-3", onSubmit: (event) => {
330
- event.preventDefault();
331
- if (state.busy)
332
- return;
333
- const values = formValues(event);
334
- void controller.update({
335
- name: values['name'] ?? '',
336
- tokenMaxScope: values['tokenMaxScope'],
337
- requirePublishApproval: values['requirePublishApproval'] === 'true',
338
- });
339
- }, children: [_jsx(Field, { name: "name", label: "Project name", value: state.selected.name }), _jsx(TokenPolicy, { project: state.selected }), _jsx(Button, { type: "submit", disabled: state.busy, children: "Save settings" })] }, `${state.selected.id}-${state.etag}`)) : null, model.transition ? (state.selected.status === 'active' ? (_jsx(ConfirmAction, { action: "Archive", target: state.selected.name, scope: `Project: ${state.selected.slug}`, description: "Archiving keeps project history and blocks new publishes. You can restore this project later.", disabled: state.busy, onConfirm: () => void controller.transition() }, `${state.selected.id}:${state.etag}`)) : (_jsx(Button, { type: "button", variant: "outline", disabled: state.busy, onClick: () => void controller.transition(), children: "Restore" }))) : null] })) : null] }));
329
+ ] })] })) : (_jsx(ListState, { kind: state.query.q || state.query.status ? 'filtered-empty' : 'empty', title: "No projects found on this page." }))) : null, state.next ? (_jsx("a", { className: "my-4 inline-block underline", href: buildProjectsHash({ ...state.query, after: state.next }), children: "Next projects" })) : null, state.organization.includes('org:projects:create') && !state.loading ? (_jsxs("details", { className: "detail-group my-6", children: [_jsx("summary", { className: "cursor-pointer font-semibold", children: "New project" }), _jsx(ProjectForm, { disabled: !model.create || state.busy, submit: (body) => controller.create({ ...body, slug: body.slug ?? '' }) })] })) : null, state.selected ? (_jsxs("section", { className: "detail-group my-6 grid gap-3", "aria-label": "Project settings", children: [_jsxs("h2", { className: "text-lg font-semibold", children: ["Settings: ", state.selected.name] }), state.permissions.includes('project:settings:write') &&
330
+ state.selected.status === 'active' ? (_jsx(ProjectForm, { project: state.selected, disabled: !model.settings || state.busy, submit: controller.update }, `${state.selected.id}-${state.etag}`)) : state.selected.requirePublishApproval ? (_jsx("p", { className: "text-sm text-neutral-600", children: "Publish approval is saved as required, but approval is not enforced in this version." })) : null, model.transition ? (state.selected.status === 'active' ? (_jsx(ConfirmAction, { action: "Archive", target: state.selected.name, scope: `Project: ${state.selected.slug}`, description: "Archiving keeps project history and blocks new publishes. You can restore this project later.", disabled: state.busy, onConfirm: () => void controller.transition() }, `${state.selected.id}:${state.etag}`)) : (_jsx(Button, { type: "button", variant: "outline", disabled: state.busy, onClick: () => void controller.transition(), children: "Restore" }))) : null] })) : null] }));
340
331
  }
341
332
  export function ProjectsPage() {
342
333
  const services = useServices();
@@ -1 +1 @@
1
- {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/pages/projects.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/pages/projects.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAGjE,OAAO,EAAE,WAAW,EAAyC,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,GAElB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAQzD,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAC5C,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAU,CAAC;AACjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAiB,EAAE,CAC/D,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAkB,CAAC;AACvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAoB,EAAE,EAAE,CACxD,mBAAmB,CAAC,UAAU,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAE7F,KAAK,UAAU,eAAe,CAC5B,MAA+B,EAC/B,KAAoB,EACpB,eAAe,GAAG,IAAI;IAEtB,IAAI,KAAK,CAAC,MAAM;QACd,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE;YAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;SACjE,CAAC,CAAC;IACL,IAAI,OAAO,GAAkC,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBACtB,MAAM,CAAC,MAAM,KAAK,CAAC;gBACnB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;gBAErE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACpC,OAAO,GAAG,MAAM,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE;aAClD,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,CAAC,eAAe,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;QACzC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;IACpE,IAAI,CAAC,eAAe;QAClB,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE;YAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;SACzE,CAAC,CAAC;IACL,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAC7B,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI;QACrB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE;YACrC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;SACnE,CAAC,CACP,CACF,CAAC;IACF,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,MAAM,IAAI,GAAsB,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACrB,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC1D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,EAAE,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE;YACJ,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;SACpF;KACF,CAAC;AACJ,CAAC;AAeD,MAAM,UAAU,iBAAiB,CAAC,KAAoB;IACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC3E,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CACvB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAC5F;QACD,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO;QAC5F,QAAQ,EACN,KAAK,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAC/F,UAAU,EAAE,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACxE,eAAe,EACb,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KACxF,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,wBAAwB,CAAC,QAAuB;IAC9D,MAAM,KAAK,GAAG,qBAAqB,CAAgB;QACjD,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QACxB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;QACV,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IACH,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAC5B,KAAK,UAAU,IAAI,CACjB,KAAoB,EACpB,SAAwB,iBAAiB,CAAC,KAAK,CAAC;QAC9C,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,eAAe;QACxF,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,IAAI;QAER,MAAM,OAAO,GAAG,EAAE,UAAU,CAAC;QAC7B,KAAK,CAAC,GAAG,CAAC;YACR,KAAK;YACL,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK;YACZ,MAAM;SACP,CAAC,CAAC;QACH,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;QACzE,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACzF,mBAAmB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAClC,eAAe,CACb,MAAM,EACN,KAAK,EACL,MAAM,CAAC,EAAE;gBACP,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC;gBACzD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CACpD,CACF;YACD,mBAAmB;YACnB,KAAK,CAAC,OAAO,KAAK,IAAI;gBACpB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,yBAAyB,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5F,KAAK,CAAC,OAAO,KAAK,IAAI;gBACpB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,qCAAqC,EAAE;oBAC3D,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;iBACnC,CAAC;SACP,CAAC,CAAC;QACH,IAAI,OAAO,KAAK,UAAU;YAAE,OAAO;QACnC,IAAI,IAAI,GAAG,WAAW,CAAC;QACvB,IAAI,QAAQ,GAAG,eAAe,CAAC;QAC/B,IAAI,WAAW,GAAG,kBAAkB,CAAC;QACrC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACxD,IAAI,KAAyB,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;YAClC,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,aAAa,GAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;gBAClF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBAC9D,IAAI,OAAO,KAAK,UAAU;oBAAE,OAAO;gBACnC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAAE,MAAM;gBACxB,IACE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CACtB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,CACpE,EACD,CAAC;oBACD,KAAK,GAAG,aAAa,CAAC;oBACtB,IAAI,GAAG,QAAQ,CAAC;oBAChB,QAAQ,GAAG,IAAI,CAAC;oBAChB,WAAW,GAAG,IAAI,CAAC;oBACnB,MAAM,GAAG,eAAe,CAAC;oBACzB,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,MAAM;gBACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClB,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;QACH,CAAC;QACD,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;YAC/B,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACpC,QAAQ,GAAG,IAAI,CAAC;YAChB,WAAW,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACb,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBACzD,IAAI,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC5C,IAAI,OAAO,KAAK,UAAU;oBAAE,OAAO;YACrC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,GAAG,CAAC;YACR,KAAK;YACL,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE;YACnB,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACrC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YACrC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;YACnE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAC7C,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YAC5D,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC5D,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;gBACd,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;gBACrB,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE;oBACxB,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC;oBACzB,CAAC,CAAC,MAAM;SACb,CAAC,CAAC;IACL,CAAC;IACD,KAAK,UAAU,KAAK,CAClB,GAAsC,EACtC,YAAqB,EACrB,aAAa,GAAG,kBAAkB,EAClC,cAAc,GAAG,gDAAgD;QAEjE,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK;YAAE,OAAO;QACvD,MAAM,OAAO,GAAG,UAAU,CAAC;QAC3B,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,EAAE;YAAE,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC9C,IAAI,OAAO,KAAK,UAAU;YAAE,OAAO;QACnC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3B,IAAI,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YACpC,KAAK,CAAC,GAAG,CAAC;gBACR,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,2DAA2D;aACpE,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACtB,KAAK,CAAC,GAAG,CAAC;gBACR,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,GAAG;gBAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;aACvE,CAAC,CAAC;QACL,CAAC;;YACC,MAAM,IAAI,CACR,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EACtE,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAC/C,CAAC;QACJ,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,IAAI;QACJ,KAAK,CAAC,MAAM,CAAC,IAAY;YACvB,IAAI,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM;gBAC5C,OAAO,KAAK,CACV,GAAG,EAAE,CACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,EACxF,SAAS,EACT,kBAAkB,CACnB,CAAC;QACN,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,IAAa;YACxB,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/B,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC,QAAQ;gBACnC,OAAO,KAAK,CACV,GAAG,EAAE,CACH,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,yBAAyB,EAAE;oBACjD,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,QAAS,CAAC,IAAI,EAAE;oBACzC,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,IAAK,EAAE;oBACpC,IAAI;iBACL,CAAC,EACJ,SAAS,EACT,0DAA0D,EAC1D,wFAAwF,CACzF,CAAC;QACN,CAAC;QACD,KAAK,CAAC,UAAU;YACd,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/B,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC,UAAU;gBACrC,MAAM,KAAK,CACT,GAAG,EAAE,CACH,MAAM,CAAC,OAAO,CACZ,MAAM,EACN,KAAK,CAAC,QAAS,CAAC,MAAM,KAAK,QAAQ;oBACjC,CAAC,CAAC,iCAAiC;oBACnC,CAAC,CAAC,iCAAiC,EACrC;oBACE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,QAAS,CAAC,IAAI,EAAE;oBACzC,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,IAAK,EAAE;oBACpC,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE;iBACpC,CACF,EACH,KAAK,CAAC,QAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CACvE,CAAC;QACN,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,EAAU;YAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,eAAe;gBAAE,OAAO;YACrE,MAAM,KAAK,CACT,GAAG,EAAE,CACH,MAAM,CAAC,OAAO,CACZ,MAAM,EACN,IAAI,CAAC,MAAM,KAAK,QAAQ;gBACtB,CAAC,CAAC,iCAAiC;gBACnC,CAAC,CAAC,iCAAiC,EACrC;gBACE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE;gBAC9B,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE;gBAClC,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE;aACpC,CACF,EACH,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CACjD,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,MAAoB;YACjC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;YAC/C,MAAM,IAAI,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;YACtF,MAAM,cAAc,GAAG,+CAA+C,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzF,IACE,CAAC,cAAc;gBACf,MAAM,CAAC,IAAI,KAAK,eAAe;gBAC/B,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,UAAU,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAEtF,OAAO;YACT,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,YAAY,GAChB,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;oBAChD,CAAC,CAAC,IAAI,CAAC;gBACX,MAAM,IAAI,CACR,YAAY;oBACV,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE;oBACtD,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,EAC1B,YAAY;oBACV,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,eAAe;wBAC/B,CAAC,CAAC,kBAAkB;wBACpB,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI;4BACpB,CAAC,CAAC,0DAA0D;4BAC5D,CAAC,CAAC,kBAAkB,CAC3B,CAAC;YACJ,CAAC;;gBACC,KAAK,CAAC,GAAG,CAAC;oBACR,KAAK,EAAE,IAAI;oBACX,MAAM,EACJ,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;wBAC3C,CAAC,CAAC,wFAAwF;wBAC1F,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;iBAC5B,CAAC,CAAC;QACP,CAAC;QACD,OAAO;YACL,EAAE,UAAU,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EACL,UAAU,GAIX;IACC,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO,CACL,8BACE,YAAG,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,YACjC,KAAK,CAAC,MAAM,GACX,EACJ,KAAC,gBAAgB,OAAK,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAI,EAC/E,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,kEAA8C,CAAC,CAAC,CAAC,IAAI,EACrE,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CACpC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CACnB,8BACE,aAAG,SAAS,EAAC,+BAA+B,aACzC,KAAK,CAAC,KAAK,CAAC,MAAM,8BACjB,EACJ,KAAC,SAAS,IACR,KAAK,EAAC,UAAU,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,EACpC,OAAO,EAAE;4BACP;gCACE,GAAG,EAAE,MAAM;gCACX,KAAK,EAAE,MAAM;gCACb,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI;gCAC1B,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAChB,eAAK,SAAS,EAAC,YAAY,aACzB,YACE,SAAS,EAAC,uBAAuB,EACjC,IAAI,EAAE,iBAAiB,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,YAE9D,IAAI,CAAC,IAAI,GACR,EACJ,eAAM,SAAS,EAAC,0BAA0B,YAAE,IAAI,CAAC,IAAI,GAAQ,IACzD,CACP;6BACF;4BACD;gCACE,GAAG,EAAE,QAAQ;gCACb,KAAK,EAAE,QAAQ;gCACf,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM;gCAC5B,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAC,WAAW,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAI;6BACvD;4BACD;gCACE,GAAG,EAAE,IAAI;gCACT,KAAK,EAAE,YAAY;gCACnB,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE;gCACxB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAC,MAAM,IAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAC,YAAY,GAAG;gCAC/D,QAAQ,EAAE,CAAC;6BACZ;4BACD;gCACE,GAAG,EAAE,SAAS;gCACd,KAAK,EAAE,SAAS;gCAChB,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE;gCACf,QAAQ,EAAE,KAAK;gCACf,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAChB,eAAK,SAAS,EAAC,mCAAmC,aAChD,YACE,SAAS,EAAC,WAAW,EACrB,IAAI,EAAE,iBAAiB,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,8BAG7D,EACH,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACpC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CACzB,KAAC,aAAa,IAEZ,MAAM,EAAC,SAAS,EAChB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG,EACnC,KAAK,EAAE,YAAY,IAAI,CAAC,IAAI,EAAE,EAC9B,WAAW,EAAC,+FAA+F,EAC3G,QAAQ,EAAE,KAAK,CAAC,IAAI,EACpB,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,IANnD,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAO9B,CACH,CAAC,CAAC,CAAC,CACF,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,SAAS,EACjB,QAAQ,EAAE,KAAK,CAAC,IAAI,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,wBAG/C,CACV,CACF,CAAC,CAAC,CAAC,IAAI,IACJ,CACP;6BACF;yBACF,GACD,IACD,CACJ,CAAC,CAAC,CAAC,CACF,KAAC,SAAS,IACR,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,EACtE,KAAK,EAAC,iCAAiC,GACvC,CACH,CACF,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CACZ,YACE,SAAS,EAAC,6BAA6B,EACvC,IAAI,EAAE,iBAAiB,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,8BAG5D,CACL,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CACtE,mBAAS,SAAS,EAAC,mBAAmB,aACpC,kBAAS,SAAS,EAAC,8BAA8B,4BAAsB,EACvE,KAAC,WAAW,IACV,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,EACrC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,GACvE,IACM,CACX,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAChB,mBAAS,SAAS,EAAC,8BAA8B,gBAAY,kBAAkB,aAC7E,cAAI,SAAS,EAAC,uBAAuB,2BAAY,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAM,EACzE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC;wBACrD,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CACnC,KAAC,WAAW,IAEV,OAAO,EAAE,KAAK,CAAC,QAAQ,EACvB,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,EACvC,MAAM,EAAE,UAAU,CAAC,MAAM,IAHpB,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,CAIzC,CACH,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAC1C,YAAG,SAAS,EAAC,0BAA0B,qGAEnC,CACL,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAClB,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CACnC,KAAC,aAAa,IAEZ,MAAM,EAAC,SAAS,EAChB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,EAC3B,KAAK,EAAE,YAAY,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EACxC,WAAW,EAAC,+FAA+F,EAC3G,QAAQ,EAAE,KAAK,CAAC,IAAI,EACpB,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,UAAU,CAAC,UAAU,EAAE,IANxC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,CAOzC,CACH,CAAC,CAAC,CAAC,CACF,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,SAAS,EACjB,QAAQ,EAAE,KAAK,CAAC,IAAI,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,UAAU,CAAC,UAAU,EAAE,wBAGpC,CACV,CACF,CAAC,CAAC,CAAC,IAAI,IACA,CACX,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,YAAY;IAC1B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,oBAAoB,CAChC,UAAU,CAAC,SAAS,EACpB,UAAU,CAAC,QAAQ,EACnB,UAAU,CAAC,QAAQ,CACpB,CAAC;IACF,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IACpF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,eAAe,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO;QAC9F,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO;QAC1C,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,OAAO,CACL,sCAAyB,cAAc,aACrC,aAAI,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,EAAC,cAAc,EAAC,SAAS,EAAC,uBAAuB,yBAEhE,EACL,YAAG,SAAS,EAAC,uBAAuB,2GAEhC,EACJ,KAAC,iBAAiB,IAEhB,KAAK,EAAC,UAAU,EAChB,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAC9B,QAAQ,EAAE,QAAQ,IAHb,IAAI,CAIT,EACF,KAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,GAAI,IAC9C,CACX,CAAC;AACJ,CAAC"}
@@ -17,8 +17,10 @@ export declare function sourceSubmission(data: FormData, ecosystem: CreateSource
17
17
  export declare function sourceFormData(source: Source): FormData;
18
18
  export declare function scopeNamePatterns(scopes: string): string[];
19
19
  export declare function focusSourceError(form: HTMLFormElement | null, errors: Record<string, string>): void;
20
- export declare function SourceForm({ source, busy, errors: serverErrors, alert, onSubmit, onClose, vcsProviders, }: {
20
+ export declare function SourceForm({ source, busy, errors: serverErrors, alert, onSubmit, onClose, vcsProviders, initialType, initialProvider, }: {
21
21
  source: Source | null;
22
+ initialType?: CreateSource['type'] | undefined;
23
+ initialProvider?: VcsProvider | undefined;
22
24
  busy: boolean;
23
25
  errors: Record<string, string>;
24
26
  alert: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"source-form.d.ts","sourceRoot":"","sources":["../../../src/pages/sources/source-form.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAanD,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAGxD,MAAM,MAAM,YAAY,GACtB,UAAU,CAAC,0BAA0B,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACvF,MAAM,MAAM,aAAa,GACvB,UAAU,CAAC,0BAA0B,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACvF,MAAM,MAAM,WAAW,GACrB,UAAU,CAAC,yBAAyB,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAQjH,4FAA4F;AAC5F,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,EAAE,CAI7C;AACD,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAKX,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,CAOnE,CAAC;AAyFF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUnF;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAC1B,OAAO,EAAE,OAAO,EAChB,QAAQ,GAAE,MAAM,GAAG,IAAW,EAC9B,QAAQ,GAAE,QAAQ,GAAG,IAAiD,GACrE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkDxB;AAuFD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,EACpC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,WAAW,GAAE,QAAQ,GAAG,IAAiD,GACxE,YAAY,GAAG,aAAa,CAoB9B;AAWD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAoBvD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAS1D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAS5F;AAED,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,IAAI,EACJ,MAAM,EAAE,YAAY,EACpB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,YAAoC,GACrC,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,KAAK,IAAI,CAAC;IACvD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,CAAC;CACnD,+BAqiBA"}
1
+ {"version":3,"file":"source-form.d.ts","sourceRoot":"","sources":["../../../src/pages/sources/source-form.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAanD,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAGxD,MAAM,MAAM,YAAY,GACtB,UAAU,CAAC,0BAA0B,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACvF,MAAM,MAAM,aAAa,GACvB,UAAU,CAAC,0BAA0B,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACvF,MAAM,MAAM,WAAW,GACrB,UAAU,CAAC,yBAAyB,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAQjH,4FAA4F;AAC5F,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,EAAE,CAI7C;AACD,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAKX,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,CAOnE,CAAC;AAyFF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUnF;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAC1B,OAAO,EAAE,OAAO,EAChB,QAAQ,GAAE,MAAM,GAAG,IAAW,EAC9B,QAAQ,GAAE,QAAQ,GAAG,IAAiD,GACrE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkDxB;AAuFD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,EACpC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,WAAW,GAAE,QAAQ,GAAG,IAAiD,GACxE,YAAY,GAAG,aAAa,CAoB9B;AAWD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAoBvD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAS1D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAS5F;AAED,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,IAAI,EACJ,MAAM,EAAE,YAAY,EACpB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,YAAoC,EACpC,WAAW,EACX,eAAe,GAChB,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAC/C,eAAe,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC1C,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,KAAK,IAAI,CAAC;IACvD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,CAAC;CACnD,+BA8iBA"}
@@ -295,12 +295,14 @@ export function focusSourceError(form, errors) {
295
295
  details.open = true;
296
296
  control.focus();
297
297
  }
298
- export function SourceForm({ source, busy, errors: serverErrors, alert, onSubmit, onClose, vcsProviders = DEFAULT_VCS_PROVIDERS, }) {
298
+ export function SourceForm({ source, busy, errors: serverErrors, alert, onSubmit, onClose, vcsProviders = DEFAULT_VCS_PROVIDERS, initialType, initialProvider, }) {
299
299
  const [ecosystem, setEcosystem] = useState(source?.ecosystem ?? 'composer');
300
- const [type, setType] = useState(source?.type ?? 'packagist_proxy');
300
+ const [type, setType] = useState(source?.type ?? initialType ?? 'packagist_proxy');
301
301
  const providerOptions = vcsProviderOptions(vcsProviders);
302
302
  const firstProvider = providerOptions[0]?.[0] ?? 'github';
303
- const [provider, setProvider] = useState(sourceConfigValue(source, 'provider') ?? firstProvider);
303
+ const [provider, setProvider] = useState(sourceConfigValue(source, 'provider') ??
304
+ initialProvider ??
305
+ firstProvider);
304
306
  const providerOffered = providerOptions.some(([value]) => value === provider);
305
307
  const vcsUnserved = type === 'vcs' && (providerOptions.length === 0 || !providerOffered);
306
308
  useEffect(() => {
@@ -411,19 +413,19 @@ export function SourceForm({ source, busy, errors: serverErrors, alert, onSubmit
411
413
  placeholder: type === 'npm_registry'
412
414
  ? 'https://npm.example.com'
413
415
  : 'https://composer.example.com',
414
- }) }, `network:${type}`)) : null, incompleteConfig && !vcsUnserved ? (_jsxs("div", { className: "grid gap-1", children: [_jsx("p", { className: "text-sm text-neutral-600", children: "Some saved settings cannot be displayed. Replace the configuration only if you intend to overwrite all saved type-specific settings." }), check('replaceConfig', 'Replace type-specific configuration', setReplaceConfig)] })) : null, configEnabled ? (_jsxs("div", { className: "grid gap-4", children: [type === 'vcs' ? (_jsxs(_Fragment, { children: [field('config/provider', _jsx(Select, { id: "source-config/provider", name: "config/provider", value: provider, className: "h-11 text-base sm:text-sm", "aria-invalid": !!errors['config/provider'], "aria-describedby": describedBy('config/provider'), onChange: (event) => setProvider(event.currentTarget.value), children: providerOptions.map(([value, label]) => (_jsx("option", { value: value, children: label }, value))) })), _jsx("div", { children: input('config/repository', {
415
- required: true,
416
- label: provider === 'github'
417
- ? 'GitHub repository'
418
- : provider === 'git'
419
- ? 'Git repository URL'
420
- : 'SSH repository',
421
- placeholder: provider === 'github'
422
- ? 'acme/payments'
423
- : provider === 'git'
424
- ? 'https://git.example.com/acme/payments.git'
425
- : 'git@git.example.com:acme/payments.git',
426
- }) }, provider), provider === 'github' ? (_jsxs(_Fragment, { children: [editing ? (_jsxs(_Fragment, { children: [field('githubAuthentication', _jsx(Input, { id: "source-githubAuthentication", name: "githubAuthenticationDisplay", className: "h-11 text-base sm:text-sm", value: githubAuthentication === 'app'
416
+ }) }, `network:${type}`)) : null, incompleteConfig && !vcsUnserved ? (_jsxs("div", { className: "grid gap-1", children: [_jsx("p", { className: "text-sm text-neutral-600", children: "Some saved settings cannot be displayed. Replace the configuration only if you intend to overwrite all saved type-specific settings." }), check('replaceConfig', 'Replace type-specific configuration', setReplaceConfig)] })) : null, configEnabled ? (_jsxs("div", { className: "grid gap-4", children: [type === 'vcs' ? (_jsxs(_Fragment, { children: [field('config/provider', _jsx(Select, { id: "source-config/provider", name: "config/provider", value: provider, className: "h-11 text-base sm:text-sm", "aria-invalid": !!errors['config/provider'], "aria-describedby": describedBy('config/provider'), onChange: (event) => setProvider(event.currentTarget.value), children: providerOptions.map(([value, label]) => (_jsx("option", { value: value, children: label }, value))) })), _jsxs("div", { children: [input('config/repository', {
417
+ required: true,
418
+ label: provider === 'github'
419
+ ? 'GitHub repository'
420
+ : provider === 'git'
421
+ ? 'Git repository URL'
422
+ : 'SSH repository',
423
+ placeholder: provider === 'github'
424
+ ? 'acme/payments'
425
+ : provider === 'git'
426
+ ? 'https://git.example.com/acme/payments.git'
427
+ : 'git@git.example.com:acme/payments.git',
428
+ }), provider === 'github' ? (_jsx("p", { className: "mt-1 text-sm text-neutral-600", children: "Use owner/repository for GitHub, such as acme/payments." })) : null] }, provider), provider === 'github' ? (_jsxs(_Fragment, { children: [editing ? (_jsxs(_Fragment, { children: [field('githubAuthentication', _jsx(Input, { id: "source-githubAuthentication", name: "githubAuthenticationDisplay", className: "h-11 text-base sm:text-sm", value: githubAuthentication === 'app'
427
429
  ? 'GitHub App'
428
430
  : 'Personal access token', readOnly: true })), _jsx("input", { type: "hidden", name: "githubAuthentication", value: githubAuthentication })] })) : (radios('githubAuthentication', githubAuthentication, [
429
431
  [