@replicated/portal-components 0.0.11 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/metadata/registry.json +2 -2
- package/components/metadata/registry.md +2 -2
- package/datadog/tracer.d.ts +3 -0
- package/datadog/tracer.js +82 -0
- package/datadog/tracer.ts +101 -0
- package/dist/actions/index.d.mts +26 -4
- package/dist/actions/index.d.ts +26 -4
- package/dist/actions/index.js +171 -124
- package/dist/actions/index.js.map +1 -1
- package/dist/airgap-instances.js.map +1 -1
- package/dist/esm/actions/index.js +170 -124
- package/dist/esm/actions/index.js.map +1 -1
- package/dist/esm/airgap-instances.js.map +1 -1
- package/dist/esm/helm-install-wizard.js +15 -9
- package/dist/esm/helm-install-wizard.js.map +1 -1
- package/dist/esm/index.js +204 -158
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/install-actions.js +42 -47
- package/dist/esm/install-actions.js.map +1 -1
- package/dist/esm/install-card.js +8 -21
- package/dist/esm/install-card.js.map +1 -1
- package/dist/esm/instance-card.js.map +1 -1
- package/dist/esm/license-card.js +8 -12
- package/dist/esm/license-card.js.map +1 -1
- package/dist/esm/license-details.js +21 -11
- package/dist/esm/license-details.js.map +1 -1
- package/dist/esm/linux-install-wizard.js +26 -47
- package/dist/esm/linux-install-wizard.js.map +1 -1
- package/dist/esm/online-instance-list.js.map +1 -1
- package/dist/esm/support-card.js +22 -55
- package/dist/esm/support-card.js.map +1 -1
- package/dist/esm/team-settings-card.js +8 -13
- package/dist/esm/team-settings-card.js.map +1 -1
- package/dist/esm/top-nav.js +69 -47
- package/dist/esm/top-nav.js.map +1 -1
- package/dist/esm/update-layout.js +69 -47
- package/dist/esm/update-layout.js.map +1 -1
- package/dist/esm/updates-card.js +8 -14
- package/dist/esm/updates-card.js.map +1 -1
- package/dist/esm/utils/index.js +14 -10
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/observability/index.js +193 -0
- package/dist/esm/utils/observability/index.js.map +1 -0
- package/dist/helm-install-wizard.js +15 -9
- package/dist/helm-install-wizard.js.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +203 -156
- package/dist/index.js.map +1 -1
- package/dist/install-actions.js +43 -48
- package/dist/install-actions.js.map +1 -1
- package/dist/install-card.js +8 -21
- package/dist/install-card.js.map +1 -1
- package/dist/instance-card.js.map +1 -1
- package/dist/license-card.js +8 -12
- package/dist/license-card.js.map +1 -1
- package/dist/license-details.js +21 -11
- package/dist/license-details.js.map +1 -1
- package/dist/linux-install-wizard.js +26 -47
- package/dist/linux-install-wizard.js.map +1 -1
- package/dist/online-instance-list.js.map +1 -1
- package/dist/styles.css +2 -2
- package/dist/support-card.js +22 -55
- package/dist/support-card.js.map +1 -1
- package/dist/team-settings-card.js +8 -13
- package/dist/team-settings-card.js.map +1 -1
- package/dist/top-nav.js +69 -47
- package/dist/top-nav.js.map +1 -1
- package/dist/update-layout.js +69 -47
- package/dist/update-layout.js.map +1 -1
- package/dist/updates-card.js +8 -14
- package/dist/updates-card.js.map +1 -1
- package/dist/utils/index.js +14 -10
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/observability/index.d.mts +13 -0
- package/dist/utils/observability/index.d.ts +13 -0
- package/dist/utils/observability/index.js +198 -0
- package/dist/utils/observability/index.js.map +1 -0
- package/instrumentation.d.ts +8 -0
- package/instrumentation.js +22 -0
- package/package.json +16 -3
package/dist/updates-card.js
CHANGED
|
@@ -12,7 +12,7 @@ var Link__default = /*#__PURE__*/_interopDefault(Link);
|
|
|
12
12
|
* This file is generated by tsup. Do not edit manually.
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
var GlobeIcon = (props) => /* @__PURE__ */ jsxRuntime.
|
|
15
|
+
var GlobeIcon = (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
16
16
|
"svg",
|
|
17
17
|
{
|
|
18
18
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -20,16 +20,14 @@ var GlobeIcon = (props) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
|
20
20
|
fill: "none",
|
|
21
21
|
stroke: "currentColor",
|
|
22
22
|
strokeWidth: 1.5,
|
|
23
|
+
strokeLinecap: "round",
|
|
24
|
+
strokeLinejoin: "round",
|
|
23
25
|
"aria-hidden": "true",
|
|
24
26
|
...props,
|
|
25
|
-
children:
|
|
26
|
-
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: 12, cy: 12, r: 10 }),
|
|
27
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M2 12h20" }),
|
|
28
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10Z" })
|
|
29
|
-
]
|
|
27
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 21a9.004 9.004 0 008.716-6.747M12 21a9.004 9.004 0 01-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a8.997 8.997 0 017.843 4.582M12 3a8.997 8.997 0 00-7.843 4.582m15.686 0A11.953 11.953 0 0112 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.959 8.959 0 0121 12c0 .778-.099 1.533-.284 2.253m0 0A17.919 17.919 0 0112 16.5c-3.162 0-6.133-.815-8.716-2.247m0 0A9.015 9.015 0 013 12c0-1.605.42-3.113 1.157-4.418" })
|
|
30
28
|
}
|
|
31
29
|
);
|
|
32
|
-
var AirGapIcon = (props) => /* @__PURE__ */ jsxRuntime.
|
|
30
|
+
var AirGapIcon = (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
33
31
|
"svg",
|
|
34
32
|
{
|
|
35
33
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -37,15 +35,11 @@ var AirGapIcon = (props) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
|
37
35
|
fill: "none",
|
|
38
36
|
stroke: "currentColor",
|
|
39
37
|
strokeWidth: 1.5,
|
|
38
|
+
strokeLinecap: "round",
|
|
39
|
+
strokeLinejoin: "round",
|
|
40
40
|
"aria-hidden": "true",
|
|
41
41
|
...props,
|
|
42
|
-
children:
|
|
43
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "m4 4 16 16" }),
|
|
44
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7.5 4.5a8 8 0 0 1 9 0" }),
|
|
45
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4.5 7.5a8 8 0 0 0 0 9" }),
|
|
46
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16.5 19.5a8 8 0 0 0 0-9" }),
|
|
47
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7 12a5 5 0 0 0 5 5" })
|
|
48
|
-
]
|
|
42
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M13.181 8.68a4.503 4.503 0 0 1 1.903 6.405m-9.768-2.782L3.56 14.06a4.5 4.5 0 0 0 6.364 6.365l3.129-3.129m5.614-5.615 1.757-1.757a4.5 4.5 0 0 0-6.364-6.365l-4.5 4.5c-.258.26-.479.541-.661.84m1.903 6.405a4.495 4.495 0 0 1-1.242-.88 4.483 4.483 0 0 1-1.062-1.683m6.587 2.345 5.907 5.907m-5.907-5.907L8.898 8.898M2.991 2.99 8.898 8.9" })
|
|
49
43
|
}
|
|
50
44
|
);
|
|
51
45
|
var baseCardClass = "flex h-full flex-col rounded-xl border border-gray-200 bg-white p-6 shadow-[0_16px_32px_rgba(15,23,42,0.05)]";
|
package/dist/updates-card.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/updates-card.tsx"],"names":["
|
|
1
|
+
{"version":3,"sources":["../src/components/updates-card.tsx"],"names":["jsx","jsxs","Link"],"mappings":"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","file":"updates-card.js","sourcesContent":["import type { SVGProps } from \"react\";\nimport Link from \"next/link\";\n\nconst GlobeIcon = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n {...props}\n >\n <path d=\"M12 21a9.004 9.004 0 008.716-6.747M12 21a9.004 9.004 0 01-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a8.997 8.997 0 017.843 4.582M12 3a8.997 8.997 0 00-7.843 4.582m15.686 0A11.953 11.953 0 0112 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.959 8.959 0 0121 12c0 .778-.099 1.533-.284 2.253m0 0A17.919 17.919 0 0112 16.5c-3.162 0-6.133-.815-8.716-2.247m0 0A9.015 9.015 0 013 12c0-1.605.42-3.113 1.157-4.418\" />\n </svg>\n);\n\nconst AirGapIcon = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n {...props}\n >\n <path d=\"M13.181 8.68a4.503 4.503 0 0 1 1.903 6.405m-9.768-2.782L3.56 14.06a4.5 4.5 0 0 0 6.364 6.365l3.129-3.129m5.614-5.615 1.757-1.757a4.5 4.5 0 0 0-6.364-6.365l-4.5 4.5c-.258.26-.479.541-.661.84m1.903 6.405a4.495 4.495 0 0 1-1.242-.88 4.483 4.483 0 0 1-1.062-1.683m6.587 2.345 5.907 5.907m-5.907-5.907L8.898 8.898M2.991 2.99 8.898 8.9\" />\n </svg>\n);\n\nconst baseCardClass =\n \"flex h-full flex-col rounded-xl border border-gray-200 bg-white p-6 shadow-[0_16px_32px_rgba(15,23,42,0.05)]\";\nconst headingClass = \"text-lg font-semibold text-gray-900\";\nconst contentClass = \"mt-4 flex-1 space-y-3\";\nconst itemClass = \"flex items-center gap-3 text-sm text-gray-600\";\nconst iconClass = \"h-5 w-5 text-gray-500\";\nconst footerClass =\n \"mt-6 flex justify-end text-sm font-semibold text-primary hover:text-primary/80\";\nconst badgeClass =\n \"ml-2 inline-flex h-5 min-w-[20px] items-center justify-center rounded-full bg-blue-500 px-1.5 text-xs font-medium text-white\";\n\nexport interface UpdatesCardProps {\n /** Number of active online instances (checked in within 24 hours) */\n onlineActiveCount?: number;\n /** Number of air gap instances */\n airgapCount?: number;\n /** Number of updates available for online instances */\n onlineUpdates?: number;\n /** Number of updates available for airgap instances */\n airgapUpdates?: number;\n}\n\nconst Badge = ({ count }: { count: number }) => (\n <span className={badgeClass} aria-label={`${count} updates available`}>\n {count}\n </span>\n);\n\nexport const UpdatesCard = ({\n onlineActiveCount = 0,\n airgapCount = 0,\n onlineUpdates = 0,\n airgapUpdates = 0\n}: UpdatesCardProps) => (\n <section className={baseCardClass} aria-labelledby=\"updates-card-heading\">\n <header>\n <h2 id=\"updates-card-heading\" className={headingClass}>\n Updates\n </h2>\n </header>\n <div className={contentClass}>\n <div className={itemClass}>\n <GlobeIcon className={iconClass} />\n <span>\n {onlineActiveCount} Active Online {onlineActiveCount === 1 ? \"instance\" : \"instances\"}\n </span>\n {onlineUpdates > 0 && <Badge count={onlineUpdates} />}\n </div>\n <div className={itemClass}>\n <AirGapIcon className={iconClass} />\n <span>\n {airgapCount} Air gap {airgapCount === 1 ? \"instance\" : \"instances\"}\n </span>\n {airgapUpdates > 0 && <Badge count={airgapUpdates} />}\n </div>\n </div>\n <footer className={footerClass}>\n <Link href=\"/update\">View updates →</Link>\n </footer>\n </section>\n);\n\nUpdatesCard.displayName = \"UpdatesCard\";\n"]}
|
package/dist/utils/index.js
CHANGED
|
@@ -105,12 +105,12 @@ var fetchCustomBrandingImpl = async () => {
|
|
|
105
105
|
if (!appSlug) {
|
|
106
106
|
throw new Error("PORTAL_APP_SLUG is not configured");
|
|
107
107
|
}
|
|
108
|
-
const url = `${getApiOrigin()}/
|
|
108
|
+
const url = `${getApiOrigin()}/enterprise-portal/public/branding?app_slug=${encodeURIComponent(
|
|
109
109
|
appSlug
|
|
110
110
|
)}`;
|
|
111
111
|
if (process.env.NODE_ENV !== "production") {
|
|
112
112
|
console.debug(
|
|
113
|
-
"[portal-components] fetching custom branding via %s",
|
|
113
|
+
"[portal-components] fetching custom branding via %s (Enterprise Portal API)",
|
|
114
114
|
url
|
|
115
115
|
);
|
|
116
116
|
}
|
|
@@ -125,13 +125,18 @@ var fetchCustomBrandingImpl = async () => {
|
|
|
125
125
|
);
|
|
126
126
|
}
|
|
127
127
|
const payload = await response.json();
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
128
|
+
const brandingObject = {
|
|
129
|
+
logo: payload.logoUrl,
|
|
130
|
+
title: payload.appName,
|
|
131
|
+
customColor1: payload.primaryColor,
|
|
132
|
+
customColor2: payload.secondaryColor,
|
|
133
|
+
favicon: payload.faviconUrl
|
|
134
|
+
};
|
|
135
|
+
const brandingData = buffer.Buffer.from(JSON.stringify(brandingObject)).toString("base64");
|
|
132
136
|
return {
|
|
133
137
|
brandingData,
|
|
134
|
-
documentation:
|
|
138
|
+
documentation: null
|
|
139
|
+
// Documentation not included in new API's public endpoint
|
|
135
140
|
};
|
|
136
141
|
};
|
|
137
142
|
react.cache(fetchCustomBrandingImpl);
|
|
@@ -142,10 +147,9 @@ async function validateSession(token) {
|
|
|
142
147
|
return false;
|
|
143
148
|
}
|
|
144
149
|
try {
|
|
145
|
-
const endpoint = `${getApiOrigin()}/
|
|
150
|
+
const endpoint = `${getApiOrigin()}/enterprise-portal/user`;
|
|
146
151
|
const response = await fetch(endpoint, {
|
|
147
|
-
method: "
|
|
148
|
-
// Use HEAD to avoid downloading response body
|
|
152
|
+
method: "GET",
|
|
149
153
|
headers: {
|
|
150
154
|
authorization: `Bearer ${token}`
|
|
151
155
|
},
|