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

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 (194) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/api-types.d.ts +8148 -2725
  3. package/dist/api-types.d.ts.map +1 -1
  4. package/dist/api.d.ts +1 -1
  5. package/dist/api.d.ts.map +1 -1
  6. package/dist/api.js +10 -0
  7. package/dist/api.js.map +1 -1
  8. package/dist/app-path.d.ts +2 -0
  9. package/dist/app-path.d.ts.map +1 -0
  10. package/dist/app-path.js +2 -0
  11. package/dist/app-path.js.map +1 -0
  12. package/dist/app.d.ts +10 -14
  13. package/dist/app.d.ts.map +1 -1
  14. package/dist/app.js +37 -22
  15. package/dist/app.js.map +1 -1
  16. package/dist/assets/access.62e9484517a0.js +1 -0
  17. package/dist/assets/app.45b156168495.css +2 -0
  18. package/dist/assets/app.c064670cdc0d.js +9 -0
  19. package/dist/assets/audit.b7c40b9dc998.js +1 -0
  20. package/dist/assets/chunk.28a4d8aab337.js +1 -0
  21. package/dist/assets/chunk.3fcd6998795a.js +1 -0
  22. package/dist/assets/chunk.51497edc7697.js +4 -0
  23. package/dist/assets/chunk.56d473a1587d.js +1 -0
  24. package/dist/assets/chunk.675b635d9462.js +1 -0
  25. package/dist/assets/chunk.6ea6bdcaa465.js +1 -0
  26. package/dist/assets/chunk.741aec8d1ff9.js +1 -0
  27. package/dist/assets/chunk.815f9a91c741.js +1 -0
  28. package/dist/assets/chunk.8442124f6802.js +1 -0
  29. package/dist/assets/chunk.965b76812604.js +2 -0
  30. package/dist/assets/chunk.a6d755a9789f.js +1 -0
  31. package/dist/assets/chunk.d18497920e4d.js +1 -0
  32. package/dist/assets/chunk.d813fefb410d.js +1 -0
  33. package/dist/assets/chunk.e3b0c44298fc.js +0 -0
  34. package/dist/assets/chunk.f54ea1378c8c.js +1 -0
  35. package/dist/assets/chunk.fd375c54b526.js +1 -0
  36. package/dist/assets/import.e7a1e5834631.js +1 -0
  37. package/dist/assets/index.html +9 -2
  38. package/dist/assets/manifest.json +108 -8
  39. package/dist/assets/notifications.19225fe12044.js +1 -0
  40. package/dist/assets/npm-login.e059678af13d.js +1 -0
  41. package/dist/assets/packages.ab5ab25b1c75.js +2 -0
  42. package/dist/assets/projects.927fe18c785c.js +1 -0
  43. package/dist/assets/setup.8e977608d413.js +1 -0
  44. package/dist/assets/setup.html +3 -3
  45. package/dist/assets/sources.ae50f239f80f.js +1 -0
  46. package/dist/assets/tokens.6b86d8d97e07.js +4 -0
  47. package/dist/auth.d.ts +26 -3
  48. package/dist/auth.d.ts.map +1 -1
  49. package/dist/auth.js +133 -19
  50. package/dist/auth.js.map +1 -1
  51. package/dist/components/product-footer-content.d.ts +21 -0
  52. package/dist/components/product-footer-content.d.ts.map +1 -0
  53. package/dist/components/product-footer-content.js +30 -0
  54. package/dist/components/product-footer-content.js.map +1 -0
  55. package/dist/components/product-footer.d.ts +3 -0
  56. package/dist/components/product-footer.d.ts.map +1 -0
  57. package/dist/components/product-footer.js +6 -0
  58. package/dist/components/product-footer.js.map +1 -0
  59. package/dist/components/ui/status-badge.d.ts +5 -0
  60. package/dist/components/ui/status-badge.d.ts.map +1 -1
  61. package/dist/components/ui/status-badge.js +10 -0
  62. package/dist/components/ui/status-badge.js.map +1 -1
  63. package/dist/manifest.d.ts +32 -0
  64. package/dist/manifest.d.ts.map +1 -1
  65. package/dist/manifest.js +41 -0
  66. package/dist/manifest.js.map +1 -1
  67. package/dist/package-limits.d.ts +3 -0
  68. package/dist/package-limits.d.ts.map +1 -0
  69. package/dist/package-limits.js +3 -0
  70. package/dist/package-limits.js.map +1 -0
  71. package/dist/page-hash.d.ts +1 -1
  72. package/dist/page-hash.d.ts.map +1 -1
  73. package/dist/page-hash.js.map +1 -1
  74. package/dist/page-loader.d.ts +5 -0
  75. package/dist/page-loader.d.ts.map +1 -0
  76. package/dist/page-loader.js +39 -0
  77. package/dist/page-loader.js.map +1 -0
  78. package/dist/pages/access/grant-form.d.ts +48 -0
  79. package/dist/pages/access/grant-form.d.ts.map +1 -0
  80. package/dist/pages/access/grant-form.js +153 -0
  81. package/dist/pages/access/grant-form.js.map +1 -0
  82. package/dist/pages/access/permission-descriptions.d.ts +2 -0
  83. package/dist/pages/access/permission-descriptions.d.ts.map +1 -0
  84. package/dist/pages/access/permission-descriptions.js +36 -0
  85. package/dist/pages/access/permission-descriptions.js.map +1 -0
  86. package/dist/pages/access/role-catalogue.d.ts +22 -0
  87. package/dist/pages/access/role-catalogue.d.ts.map +1 -0
  88. package/dist/pages/access/role-catalogue.js +40 -0
  89. package/dist/pages/access/role-catalogue.js.map +1 -0
  90. package/dist/pages/access.d.ts +6 -0
  91. package/dist/pages/access.d.ts.map +1 -1
  92. package/dist/pages/access.js +66 -31
  93. package/dist/pages/access.js.map +1 -1
  94. package/dist/pages/audit.d.ts.map +1 -1
  95. package/dist/pages/notification-actions.d.ts +41 -0
  96. package/dist/pages/notification-actions.d.ts.map +1 -0
  97. package/dist/pages/notification-actions.js +187 -0
  98. package/dist/pages/notification-actions.js.map +1 -0
  99. package/dist/pages/notification-draft.d.ts +13 -0
  100. package/dist/pages/notification-draft.d.ts.map +1 -0
  101. package/dist/pages/notification-draft.js +75 -0
  102. package/dist/pages/notification-draft.js.map +1 -0
  103. package/dist/pages/notification-form.d.ts +35 -0
  104. package/dist/pages/notification-form.d.ts.map +1 -0
  105. package/dist/pages/notification-form.js +167 -0
  106. package/dist/pages/notification-form.js.map +1 -0
  107. package/dist/pages/notifications-controller.d.ts +41 -0
  108. package/dist/pages/notifications-controller.d.ts.map +1 -0
  109. package/dist/pages/notifications-controller.js +184 -0
  110. package/dist/pages/notifications-controller.js.map +1 -0
  111. package/dist/pages/notifications.d.ts +10 -0
  112. package/dist/pages/notifications.d.ts.map +1 -0
  113. package/dist/pages/notifications.js +301 -0
  114. package/dist/pages/notifications.js.map +1 -0
  115. package/dist/pages/npm-login.d.ts +2 -0
  116. package/dist/pages/npm-login.d.ts.map +1 -0
  117. package/dist/pages/npm-login.js +62 -0
  118. package/dist/pages/npm-login.js.map +1 -0
  119. package/dist/pages/packages/npm-workflow.d.ts +31 -0
  120. package/dist/pages/packages/npm-workflow.d.ts.map +1 -0
  121. package/dist/pages/packages/npm-workflow.js +381 -0
  122. package/dist/pages/packages/npm-workflow.js.map +1 -0
  123. package/dist/pages/packages/package-detail.d.ts +9 -0
  124. package/dist/pages/packages/package-detail.d.ts.map +1 -0
  125. package/dist/pages/packages/package-detail.js +242 -0
  126. package/dist/pages/packages/package-detail.js.map +1 -0
  127. package/dist/pages/packages/source-actions.d.ts +49 -0
  128. package/dist/pages/packages/source-actions.d.ts.map +1 -0
  129. package/dist/pages/packages/source-actions.js +319 -0
  130. package/dist/pages/packages/source-actions.js.map +1 -0
  131. package/dist/pages/packages.d.ts +15 -4
  132. package/dist/pages/packages.d.ts.map +1 -1
  133. package/dist/pages/packages.js +138 -20
  134. package/dist/pages/packages.js.map +1 -1
  135. package/dist/pages/projects/project-form-model.d.ts +25 -0
  136. package/dist/pages/projects/project-form-model.d.ts.map +1 -0
  137. package/dist/pages/projects/project-form-model.js +69 -0
  138. package/dist/pages/projects/project-form-model.js.map +1 -0
  139. package/dist/pages/projects/project-form.d.ts +14 -0
  140. package/dist/pages/projects/project-form.d.ts.map +1 -0
  141. package/dist/pages/projects/project-form.js +91 -0
  142. package/dist/pages/projects/project-form.js.map +1 -0
  143. package/dist/pages/projects.d.ts +3 -2
  144. package/dist/pages/projects.d.ts.map +1 -1
  145. package/dist/pages/projects.js +29 -38
  146. package/dist/pages/projects.js.map +1 -1
  147. package/dist/pages/sources/source-form.d.ts +5 -2
  148. package/dist/pages/sources/source-form.d.ts.map +1 -1
  149. package/dist/pages/sources/source-form.js +39 -27
  150. package/dist/pages/sources/source-form.js.map +1 -1
  151. package/dist/pages/sources/sync-copy.d.ts +5 -0
  152. package/dist/pages/sources/sync-copy.d.ts.map +1 -0
  153. package/dist/pages/sources/sync-copy.js +11 -0
  154. package/dist/pages/sources/sync-copy.js.map +1 -0
  155. package/dist/pages/sources.d.ts +11 -3
  156. package/dist/pages/sources.d.ts.map +1 -1
  157. package/dist/pages/sources.js +103 -25
  158. package/dist/pages/sources.js.map +1 -1
  159. package/dist/pages/tokens/client-config.d.ts +3 -0
  160. package/dist/pages/tokens/client-config.d.ts.map +1 -1
  161. package/dist/pages/tokens/client-config.js +12 -2
  162. package/dist/pages/tokens/client-config.js.map +1 -1
  163. package/dist/pages/tokens/issue-token-form.d.ts +27 -0
  164. package/dist/pages/tokens/issue-token-form.d.ts.map +1 -0
  165. package/dist/pages/tokens/issue-token-form.js +270 -0
  166. package/dist/pages/tokens/issue-token-form.js.map +1 -0
  167. package/dist/pages/tokens/principal-form.d.ts +8 -0
  168. package/dist/pages/tokens/principal-form.d.ts.map +1 -0
  169. package/dist/pages/tokens/principal-form.js +155 -0
  170. package/dist/pages/tokens/principal-form.js.map +1 -0
  171. package/dist/pages/tokens/trusted-publishers-controller.d.ts +42 -0
  172. package/dist/pages/tokens/trusted-publishers-controller.d.ts.map +1 -0
  173. package/dist/pages/tokens/trusted-publishers-controller.js +202 -0
  174. package/dist/pages/tokens/trusted-publishers-controller.js.map +1 -0
  175. package/dist/pages/tokens/trusted-publishers.d.ts +6 -0
  176. package/dist/pages/tokens/trusted-publishers.d.ts.map +1 -0
  177. package/dist/pages/tokens/trusted-publishers.js +116 -0
  178. package/dist/pages/tokens/trusted-publishers.js.map +1 -0
  179. package/dist/pages/tokens.d.ts +100 -6
  180. package/dist/pages/tokens.d.ts.map +1 -1
  181. package/dist/pages/tokens.js +324 -86
  182. package/dist/pages/tokens.js.map +1 -1
  183. package/dist/setup.d.ts +3 -2
  184. package/dist/setup.d.ts.map +1 -1
  185. package/dist/setup.js +70 -10
  186. package/dist/setup.js.map +1 -1
  187. package/dist/token-pending.d.ts +4 -0
  188. package/dist/token-pending.d.ts.map +1 -0
  189. package/dist/token-pending.js +12 -0
  190. package/dist/token-pending.js.map +1 -0
  191. package/package.json +3 -3
  192. package/dist/assets/app.b2abf3c46f6e.js +0 -15
  193. package/dist/assets/app.e8cea8b32d3a.css +0 -2
  194. package/dist/assets/setup.98343039898f.js +0 -1
@@ -0,0 +1,242 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from 'react';
3
+ import { PackageVersions } from '../packages.js';
4
+ import { SOURCE_TYPE_LABELS } from '../sources/source-form.js';
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
+ import { ListState } from '../../components/ui/list-state.js';
9
+ import { Time } from '../../components/ui/time.js';
10
+ import { accessSetting, canEditAccess, decisionAllowed, } from './npm-workflow.js';
11
+ export function installSnippet(ecosystem, name, origin, project) {
12
+ const repository = `${origin}/${encodeURIComponent(project)}`;
13
+ return ecosystem === 'npm'
14
+ ? `registry=${repository}/npm/`
15
+ : `composer config repositories.${project} composer ${repository}\ncomposer require ${name}`;
16
+ }
17
+ export function PackageDetail({ services, id, project, back = '#/packages', }) {
18
+ const [item, setItem] = useState(null);
19
+ const [settings, setSettings] = useState(null);
20
+ const [projects, setProjects] = useState([]);
21
+ const [selected, setSelected] = useState(project ?? '');
22
+ const [projectName, setProjectName] = useState('');
23
+ const [organization, setOrganization] = useState([]);
24
+ const [permissions, setPermissions] = useState([]);
25
+ const [projectId, setProjectId] = useState(null);
26
+ const [versions, setVersions] = useState([]);
27
+ const [after, setAfter] = useState();
28
+ const [next, setNext] = useState(null);
29
+ const [versionError, setVersionError] = useState(false);
30
+ const [readme, setReadme] = useState(null);
31
+ const [readmeAttempt, setReadmeAttempt] = useState(0);
32
+ const readmeStatus = useRef(null);
33
+ const [readmeRetry, setReadmeRetry] = useState(false);
34
+ const [readmeState, setReadmeState] = useState('');
35
+ const [loading, setLoading] = useState(true);
36
+ const [failed, setFailed] = useState(false);
37
+ const [choice, setChoice] = useState('unavailable');
38
+ const [busy, setBusy] = useState(false);
39
+ const [stale, setStale] = useState(false);
40
+ const [notice, setNotice] = useState('');
41
+ const [refresh, setRefresh] = useState(0);
42
+ const generation = useRef(0);
43
+ const lock = useRef(false);
44
+ useEffect(() => {
45
+ let active = true;
46
+ ++generation.current;
47
+ setLoading(true);
48
+ setFailed(false);
49
+ setItem(null);
50
+ setSettings(null);
51
+ setOrganization([]);
52
+ setPermissions([]);
53
+ setBusy(false);
54
+ lock.current = false;
55
+ void (async () => {
56
+ const [org, proj, info] = await Promise.all([
57
+ services.client.request('get', '/_pb/me/permissions'),
58
+ project
59
+ ? services.client.request('get', '/_pb/projects/{project}/permissions', {
60
+ params: { project },
61
+ })
62
+ : null,
63
+ project
64
+ ? services.client.request('get', '/_pb/projects/{project}', { params: { project } })
65
+ : null,
66
+ ]);
67
+ const result = project
68
+ ? await services.client.request('get', '/_pb/projects/{project}/packages/{package}', {
69
+ params: { project, package: id },
70
+ })
71
+ : await services.client.request('get', '/_pb/packages/{package}', {
72
+ params: { package: id },
73
+ });
74
+ const found = result.ok ? result.data : null;
75
+ const orgItem = found;
76
+ if (!active)
77
+ return;
78
+ if (!result.ok)
79
+ setFailed(true);
80
+ setItem(found);
81
+ setSettings(orgItem);
82
+ setChoice(orgItem?.visibleToNewProjects
83
+ ? 'available'
84
+ : orgItem?.newProjectAccessMode === 'request'
85
+ ? 'request'
86
+ : 'unavailable');
87
+ setStale(false);
88
+ setOrganization(org.ok ? org.data.organization : []);
89
+ setPermissions(proj?.ok ? proj.data.project : []);
90
+ setProjectId(info?.ok ? info.data.id : null);
91
+ setProjectName(info?.ok ? info.data.name : '');
92
+ if (!project && org.ok && org.data.organization.includes('org:projects:read')) {
93
+ const all = [];
94
+ let projectCursor;
95
+ do {
96
+ const list = await services.client.request('get', '/_pb/projects', {
97
+ query: { after: projectCursor },
98
+ });
99
+ if (!active)
100
+ return;
101
+ if (!list.ok)
102
+ break;
103
+ all.push(...list.data.items);
104
+ projectCursor = list.data.next ?? undefined;
105
+ } while (projectCursor);
106
+ setProjects(all);
107
+ if (found?.source.projectId) {
108
+ const owner = all.find((entry) => entry.id === found.source.projectId);
109
+ if (owner) {
110
+ const authority = await services.client.request('get', '/_pb/projects/{project}/permissions', { params: { project: owner.slug } });
111
+ if (!active)
112
+ return;
113
+ setPermissions(authority.ok ? authority.data.project : []);
114
+ setProjectId(owner.id);
115
+ }
116
+ }
117
+ }
118
+ setLoading(false);
119
+ })();
120
+ return () => {
121
+ active = false;
122
+ ++generation.current;
123
+ };
124
+ }, [services, id, project, refresh]);
125
+ useEffect(() => {
126
+ if (!item)
127
+ return;
128
+ let active = true;
129
+ setVersions([]);
130
+ setVersionError(false);
131
+ void (async () => {
132
+ const result = project
133
+ ? await services.client.request('get', '/_pb/projects/{project}/packages/{package}/versions', { params: { project, package: id }, query: { after } })
134
+ : await services.client.request('get', '/_pb/packages/{package}/versions', {
135
+ params: { package: id },
136
+ query: { after },
137
+ });
138
+ if (!active)
139
+ return;
140
+ setVersions(result.ok ? result.data.items : []);
141
+ setNext(result.ok ? result.data.next : null);
142
+ setVersionError(!result.ok);
143
+ })();
144
+ return () => {
145
+ active = false;
146
+ };
147
+ }, [services, item, id, project, after, refresh]);
148
+ useEffect(() => {
149
+ let active = true;
150
+ setReadme(null);
151
+ setReadmeRetry(false);
152
+ if (!selected) {
153
+ setReadmeState('Choose a project to read the README within its package access.');
154
+ return;
155
+ }
156
+ setReadmeState('Loading README…');
157
+ void services.client
158
+ .request('get', '/_pb/projects/{project}/packages/{package}/readme', {
159
+ params: { project: selected, package: id },
160
+ })
161
+ .then((result) => {
162
+ if (!active)
163
+ return;
164
+ setReadme(result.ok ? result.data : null);
165
+ setReadmeRetry(!result.ok && (result.status === 0 || result.status >= 500));
166
+ setReadmeState(result.ok
167
+ ? 'README loaded.'
168
+ : result.status === 403
169
+ ? 'This project cannot read this package.'
170
+ : result.status === 404
171
+ ? 'No README is available for the active latest version in this project.'
172
+ : result.status === 0 || result.status >= 500
173
+ ? 'README could not be loaded. Try again.'
174
+ : 'README is unavailable.');
175
+ });
176
+ return () => {
177
+ active = false;
178
+ };
179
+ }, [services, id, selected, refresh, readmeAttempt]);
180
+ useEffect(() => services.subscribeReplay?.((result) => {
181
+ if (result.path !== `/_pb/packages/${encodeURIComponent(id)}/access`)
182
+ return;
183
+ if (result.ok) {
184
+ setNotice('Access policy saved. Existing project access is unchanged.');
185
+ setRefresh((value) => value + 1);
186
+ }
187
+ else {
188
+ setStale(true);
189
+ setNotice('The policy could not be saved. Reload the latest settings before saving.');
190
+ }
191
+ }), [services, id]);
192
+ const editable = item && canEditAccess(item.source.projectId, organization, permissions, projectId);
193
+ async function save() {
194
+ if (!settings || lock.current || !decisionAllowed(!!editable, busy, stale, 'pending'))
195
+ return;
196
+ lock.current = true;
197
+ setBusy(true);
198
+ setNotice('');
199
+ const current = generation.current;
200
+ const result = await services.client.request('patch', '/_pb/packages/{package}/access', {
201
+ params: { package: id },
202
+ body: { ...accessSetting(choice), revision: settings.revision },
203
+ });
204
+ if (current !== generation.current)
205
+ return;
206
+ lock.current = false;
207
+ setBusy(false);
208
+ if (!result.ok) {
209
+ if (result.code === 'reauth_required')
210
+ services.requireReauth(result.request, {
211
+ credential: false,
212
+ secretFields: [],
213
+ display: {
214
+ version: '',
215
+ packageName: settings.name,
216
+ scope: project ? `Project ${projectName}` : 'Organization',
217
+ },
218
+ });
219
+ if (result.status === 409) {
220
+ setStale(true);
221
+ setNotice('This package changed while you were editing. Reload the latest settings before saving. Your selection is retained for comparison.');
222
+ }
223
+ else
224
+ setNotice(result.code === 'reauth_required'
225
+ ? 'Sign in again, then reload and review the access policy before saving.'
226
+ : 'Access policy could not be saved. Try again.');
227
+ return;
228
+ }
229
+ setSettings({ ...settings, ...result.data });
230
+ setNotice('Access policy saved. Existing project access is unchanged.');
231
+ }
232
+ return (_jsxs("section", { "aria-labelledby": "package-detail-heading", className: "min-w-0 space-y-6 break-words", children: [_jsx("a", { href: back, className: "inline-flex min-h-11 items-center text-blue-700 underline", children: "Back to packages" }), _jsxs("div", { className: "flex flex-wrap items-center gap-4", children: [_jsx("h1", { id: "package-detail-heading", tabIndex: -1, className: "text-2xl font-semibold", children: item?.name ?? 'Package details' }), _jsx(Button, { type: "button", className: "min-h-11", variant: "outline", onClick: () => setRefresh((value) => value + 1), children: "Reload package" })] }), loading ? (_jsx(ListState, { kind: "loading", title: "Loading package\u2026" })) : failed ? (_jsx(ListState, { kind: "error", title: "Package could not be loaded.", children: _jsx(Button, { type: "button", className: "min-h-11", onClick: () => setRefresh((value) => value + 1), children: "Try again" }) })) : !item ? (_jsx("p", { children: "Package unavailable in this scope." })) : (_jsxs(_Fragment, { children: [_jsxs("p", { children: [project ? `Project ${projectName}` : 'Organization', " \u00B7 Source: ", item.source.name, " \u00B7", ' ', SOURCE_TYPE_LABELS[item.source.type]] }), _jsx("p", { role: "status", children: notice }), _jsx("a", { className: "inline-flex min-h-11 items-center text-blue-700 underline", href: `${back}${back.includes('?') ? '&' : '?'}package=${id}`, children: "Manage version status" }), settings && editable && (_jsxs("form", { className: "max-w-5xl space-y-4", onSubmit: (event) => {
233
+ event.preventDefault();
234
+ void save();
235
+ }, children: [_jsx(Label, { htmlFor: "package-new-access", children: "Access for new projects" }), _jsxs(Select, { className: "min-h-11", id: "package-new-access", value: choice, onChange: (event) => setChoice(event.target.value), disabled: busy, "aria-describedby": "package-access-help", children: [_jsx("option", { value: "available", children: "Available" }), _jsx("option", { value: "request", children: "Require approval" }), _jsx("option", { value: "unavailable", children: "Not available" })] }), _jsxs("p", { id: "package-access-help", children: [item.source.projectId
236
+ ? `Project ${projectName || projects.find((entry) => entry.id === item.source.projectId)?.name || 'Name unavailable'}`
237
+ : 'Organization', ' ', "\u00B7 ", item.name, ". Available allows new projects to use this package. Require approval lets project managers request access. Not available prevents new project access. Existing project access is unchanged."] }), _jsx(Button, { className: "min-h-11", type: "submit", disabled: busy || stale, children: busy ? 'Saving access policy…' : 'Save access policy' }), stale && (_jsx(Button, { type: "button", className: "min-h-11", variant: "outline", onClick: () => setRefresh((value) => value + 1), children: "Reload latest settings" }))] })), _jsx("div", { children: !project && (_jsxs(_Fragment, { children: [_jsx(Label, { htmlFor: "readme-project", children: "Project for README and install instructions" }), _jsxs(Select, { className: "min-h-11", id: "readme-project", value: selected, onChange: (event) => setSelected(event.target.value), children: [_jsx("option", { value: "", children: "Choose a project" }), projects.map((entry) => (_jsx("option", { value: entry.slug, children: entry.name }, entry.id)))] })] })) }), _jsxs("section", { children: [_jsx("h2", { className: "text-lg font-semibold", children: "Install" }), item.ecosystem === 'npm' && selected && (_jsxs("p", { children: ["Add this line to .npmrc, then run npm install ", item.name, "."] })), selected ? (_jsx("pre", { className: "whitespace-pre-wrap break-all rounded border p-4", children: installSnippet(item.ecosystem, item.name, window.location.origin, selected) })) : (_jsx("p", { children: "Choose a project to see its registry address. Configure project credentials in your package manager." }))] }), _jsxs("section", { children: [_jsx("h2", { className: "text-lg font-semibold", children: "README" }), _jsx("p", { ref: readmeStatus, tabIndex: -1, role: "status", children: readmeState }), readme && (_jsxs(_Fragment, { children: [_jsxs("p", { children: [readme.filename, " \u00B7 ", readme.sizeBytes, " bytes"] }), _jsx("pre", { className: "max-w-full whitespace-pre-wrap break-all rounded border p-4 font-mono text-sm", children: readme.body })] })), readmeRetry && (_jsx(Button, { type: "button", className: "min-h-11", variant: "outline", onClick: () => {
238
+ readmeStatus.current?.focus();
239
+ setReadmeAttempt((value) => value + 1);
240
+ }, children: "Try again" }))] }), _jsxs("section", { children: [_jsx("h2", { className: "text-lg font-semibold", children: "Versions" }), versionError ? (_jsx("p", { role: "alert", children: "Versions could not be loaded. Reload the package to try again." })) : (_jsxs(_Fragment, { children: [_jsx(PackageVersions, { item: item, versions: versions, access: { organization: [], project: [], projectId: null, projectSlug: project }, busy: false, onAction: () => { } }), versions.map((version) => (_jsxs("details", { className: "my-4 rounded border p-4", children: [_jsxs("summary", { className: "min-h-11 cursor-pointer", children: ["Publication details for ", version.version] }), _jsxs("dl", { children: [_jsx("dt", { children: "Integrity" }), _jsx("dd", { className: "break-all font-mono", children: version.integrity ?? 'Unavailable' }), _jsx("dt", { children: "Distribution tags" }), _jsx("dd", { children: version.distTags.join(', ') || 'No tags' }), _jsx("dt", { children: "Published through the broker" }), _jsx("dd", { children: version.publishedBy?.displayName ?? 'Attribution unavailable' }), _jsx("dt", { children: "Approved by" }), _jsx("dd", { children: version.approvedBy ? (_jsxs(_Fragment, { children: [version.approvedBy.displayName, " \u00B7", ' ', _jsx(Time, { value: version.approvedBy.decidedAt })] })) : ('Not approved') })] })] }, version.id))), next && (_jsx(Button, { type: "button", className: "min-h-11", onClick: () => setAfter(next), children: "Next versions" }))] }))] })] }))] }));
241
+ }
242
+ //# sourceMappingURL=package-detail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-detail.js","sourceRoot":"","sources":["../../../src/pages/packages/package-detail.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { ShellServices } from '../../auth.js';
2
+ import type { Source } from '../sources.js';
3
+ export declare function sourceHealth(source: Source): "Paused · Enable this source to sync." | "Last check failed" | "Last check succeeded" | "Not checked yet";
4
+ export declare function mirrorSource(source: Source): boolean;
5
+ export declare function canSync(source: Source, organization: readonly string[], project: readonly string[], projectId: string | null): boolean;
6
+ export declare function syncScope(source: Source): "Checks packages already held from this source when their metadata is due for refresh. This does not download the whole registry." | "Syncs the Composer package from this configured Git repository." | "Syncs packages selected in this source's settings.";
7
+ type Project = {
8
+ id: string;
9
+ name: string;
10
+ slug: string;
11
+ };
12
+ export declare function createSourceActions(services: ShellServices, scope: string | null): {
13
+ snapshot: () => {
14
+ loading: boolean;
15
+ busy: boolean;
16
+ organization: string[];
17
+ permissions: string[];
18
+ projects: Project[];
19
+ project: Project | null;
20
+ sources: Source[];
21
+ error: string | null;
22
+ notice: string | null;
23
+ requested: string[];
24
+ available: {
25
+ name: string;
26
+ source: string;
27
+ } | null;
28
+ };
29
+ subscribe: (fn: () => void) => () => void;
30
+ selectProject: (slug: string | null) => Promise<void>;
31
+ clearFeedback(): void;
32
+ load(): Promise<void>;
33
+ submit(mode: "mirror" | "sync", sourceId: string, name: string): Promise<void>;
34
+ };
35
+ export declare function AddChoices({ ecosystem, mirror, setup, imported, onMirror, sourceLink, }: {
36
+ ecosystem: string;
37
+ mirror: boolean;
38
+ setup: boolean;
39
+ imported: boolean;
40
+ onMirror: () => void;
41
+ sourceLink: string;
42
+ }): import("react").JSX.Element;
43
+ export declare function PackageSourceControls({ services, project, onSourcesChanged, }: {
44
+ services: ShellServices;
45
+ project: string | null;
46
+ onSourcesChanged?: (scope: string | null, signature: string) => void;
47
+ }): import("react").JSX.Element;
48
+ export {};
49
+ //# sourceMappingURL=source-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-actions.d.ts","sourceRoot":"","sources":["../../../src/pages/packages/source-actions.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAe5C,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,6GAI1C;AACD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,WAM1C;AACD,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,WAKzB;AACD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,iQAMvC;AACD,KAAK,OAAO,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1D,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;;;;sBAKzD,MAAM,EAAE;qBACT,MAAM,EAAE;kBACX,OAAO,EAAE;iBACR,OAAO,GAAG,IAAI;iBAChB,MAAM,EAAE;eACR,MAAM,GAAG,IAAI;gBACZ,MAAM,GAAG,IAAI;mBACZ,MAAM,EAAE;mBACN;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI;;oBAqE1C,MAAM,IAAI;0BA7DO,MAAM,GAAG,IAAI;;;iBAqG3B,QAAQ,GAAG,MAAM,YAAY,MAAM,QAAQ,MAAM;EA+DvE;AAED,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,MAAM,EACN,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,UAAU,GACX,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,+BAmEA;AAED,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,OAAO,EACP,gBAAgB,GACjB,EAAE;IACD,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACtE,+BA0VA"}