@replicated/portal-components 0.0.19 → 0.0.21
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/dist/actions/change-team.js +66 -7
- package/dist/actions/change-team.js.map +1 -1
- package/dist/actions/index.d.mts +3 -1
- package/dist/actions/index.d.ts +3 -1
- package/dist/actions/index.js +182 -465
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/install-actions.d.mts +3 -1
- package/dist/actions/install-actions.d.ts +3 -1
- package/dist/actions/install-actions.js +58 -5
- package/dist/actions/install-actions.js.map +1 -1
- package/dist/actions/service-account.d.mts +3 -1
- package/dist/actions/service-account.d.ts +3 -1
- package/dist/actions/service-account.js +58 -5
- package/dist/actions/service-account.js.map +1 -1
- package/dist/actions/support-bundles.d.mts +3 -1
- package/dist/actions/support-bundles.d.ts +3 -1
- package/dist/actions/support-bundles.js +58 -5
- package/dist/actions/support-bundles.js.map +1 -1
- package/dist/actions/team-settings.d.mts +3 -1
- package/dist/actions/team-settings.d.ts +3 -1
- package/dist/actions/team-settings.js +91 -27
- package/dist/actions/team-settings.js.map +1 -1
- package/dist/actions/trial-signup.d.mts +24 -0
- package/dist/actions/trial-signup.d.ts +24 -0
- package/dist/actions/trial-signup.js +482 -0
- package/dist/actions/trial-signup.js.map +1 -0
- package/dist/actions/user-settings.d.mts +3 -1
- package/dist/actions/user-settings.d.ts +3 -1
- package/dist/actions/user-settings.js +58 -5
- package/dist/actions/user-settings.js.map +1 -1
- package/dist/airgap-instances.d.mts +3 -1
- package/dist/airgap-instances.d.ts +3 -1
- package/dist/airgap-instances.js +41 -112
- package/dist/airgap-instances.js.map +1 -1
- package/dist/branding-BsMSywts.d.mts +36 -0
- package/dist/branding-BsMSywts.d.ts +36 -0
- package/dist/error-page.js +10 -2
- package/dist/error-page.js.map +1 -1
- package/dist/error.js +10 -2
- package/dist/error.js.map +1 -1
- package/dist/esm/actions/change-team.js +66 -7
- package/dist/esm/actions/change-team.js.map +1 -1
- package/dist/esm/actions/index.js +181 -462
- package/dist/esm/actions/index.js.map +1 -1
- package/dist/esm/actions/install-actions.js +58 -5
- package/dist/esm/actions/install-actions.js.map +1 -1
- package/dist/esm/actions/service-account.js +58 -5
- package/dist/esm/actions/service-account.js.map +1 -1
- package/dist/esm/actions/support-bundles.js +58 -5
- package/dist/esm/actions/support-bundles.js.map +1 -1
- package/dist/esm/actions/team-settings.js +91 -27
- package/dist/esm/actions/team-settings.js.map +1 -1
- package/dist/esm/actions/trial-signup.js +478 -0
- package/dist/esm/actions/trial-signup.js.map +1 -0
- package/dist/esm/actions/user-settings.js +58 -5
- package/dist/esm/actions/user-settings.js.map +1 -1
- package/dist/esm/airgap-instances.js +40 -112
- package/dist/esm/airgap-instances.js.map +1 -1
- package/dist/esm/error-page.js +10 -2
- package/dist/esm/error-page.js.map +1 -1
- package/dist/esm/error.js +10 -2
- package/dist/esm/error.js.map +1 -1
- package/dist/esm/helm-install-wizard.js +118 -79
- package/dist/esm/helm-install-wizard.js.map +1 -1
- package/dist/esm/index.js +706 -438
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/install-actions.js +40 -5
- package/dist/esm/install-actions.js.map +1 -1
- package/dist/esm/install-card.js +9 -6
- package/dist/esm/install-card.js.map +1 -1
- package/dist/esm/install-targets.js +9 -2
- package/dist/esm/install-targets.js.map +1 -1
- package/dist/esm/instance-card.js +39 -111
- package/dist/esm/instance-card.js.map +1 -1
- package/dist/esm/join-team.js +9 -3
- package/dist/esm/join-team.js.map +1 -1
- package/dist/esm/license-card.js +24 -22
- package/dist/esm/license-card.js.map +1 -1
- package/dist/esm/license-details.js +128 -334
- package/dist/esm/license-details.js.map +1 -1
- package/dist/esm/linux-install-wizard.js +95 -41
- package/dist/esm/linux-install-wizard.js.map +1 -1
- package/dist/esm/login.js +20 -4
- package/dist/esm/login.js.map +1 -1
- package/dist/esm/middleware.js +33 -0
- package/dist/esm/middleware.js.map +1 -0
- package/dist/esm/online-instance-list.js +40 -112
- package/dist/esm/online-instance-list.js.map +1 -1
- package/dist/esm/release-history-panel.js +27 -14
- package/dist/esm/release-history-panel.js.map +1 -1
- package/dist/esm/saml-callback-client.js +82 -0
- package/dist/esm/saml-callback-client.js.map +1 -0
- package/dist/esm/saml-handlers.js +138 -0
- package/dist/esm/saml-handlers.js.map +1 -0
- package/dist/esm/security-card.js +53 -38
- package/dist/esm/security-card.js.map +1 -1
- package/dist/esm/service-accounts-tab.js +800 -0
- package/dist/esm/service-accounts-tab.js.map +1 -0
- package/dist/esm/support-bundle-collection-card.js +48 -24
- package/dist/esm/support-bundle-collection-card.js.map +1 -1
- package/dist/esm/support-bundles-card.js +10 -5
- package/dist/esm/support-bundles-card.js.map +1 -1
- package/dist/esm/support-card.js +37 -5
- package/dist/esm/support-card.js.map +1 -1
- package/dist/esm/team-selection.js +5 -1
- package/dist/esm/team-selection.js.map +1 -1
- package/dist/esm/team-settings-card.js +5 -2
- package/dist/esm/team-settings-card.js.map +1 -1
- package/dist/esm/team-settings.js +7 -2
- package/dist/esm/team-settings.js.map +1 -1
- package/dist/esm/top-nav-user-menu.js +5 -1
- package/dist/esm/top-nav-user-menu.js.map +1 -1
- package/dist/esm/top-nav.js +175 -62
- package/dist/esm/top-nav.js.map +1 -1
- package/dist/esm/trial-signup.js +256 -0
- package/dist/esm/trial-signup.js.map +1 -0
- package/dist/esm/update-layout.js +175 -62
- package/dist/esm/update-layout.js.map +1 -1
- package/dist/esm/updates-card.js +15 -4
- package/dist/esm/updates-card.js.map +1 -1
- package/dist/esm/upload-support-bundle-modal.js +9 -4
- package/dist/esm/upload-support-bundle-modal.js.map +1 -1
- package/dist/esm/user-settings-card.js +5 -2
- package/dist/esm/user-settings-card.js.map +1 -1
- package/dist/esm/user-settings.js +12 -6
- package/dist/esm/user-settings.js.map +1 -1
- package/dist/esm/utils/index.js +204 -13
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/fetch-license-iTyF7_GY.d.mts +81 -0
- package/dist/fetch-license-iTyF7_GY.d.ts +81 -0
- package/dist/helm-install-wizard.d.mts +11 -3
- package/dist/helm-install-wizard.d.ts +11 -3
- package/dist/helm-install-wizard.js +118 -79
- package/dist/helm-install-wizard.js.map +1 -1
- package/dist/{index-BAiVrSSR.d.mts → index-DyzJ0yKD.d.mts} +48 -50
- package/dist/{index-DWt-N5od.d.ts → index-sMbq94M7.d.ts} +48 -50
- package/dist/index.d.mts +8 -2
- package/dist/index.d.ts +8 -2
- package/dist/index.js +726 -438
- package/dist/index.js.map +1 -1
- package/dist/install-actions.d.mts +4 -2
- package/dist/install-actions.d.ts +4 -2
- package/dist/install-actions.js +40 -5
- package/dist/install-actions.js.map +1 -1
- package/dist/install-card.d.mts +2 -3
- package/dist/install-card.d.ts +2 -3
- package/dist/install-card.js +9 -6
- package/dist/install-card.js.map +1 -1
- package/dist/install-targets.js +9 -2
- package/dist/install-targets.js.map +1 -1
- package/dist/instance-card.d.mts +3 -1
- package/dist/instance-card.d.ts +3 -1
- package/dist/instance-card.js +40 -111
- package/dist/instance-card.js.map +1 -1
- package/dist/join-team.js +9 -3
- package/dist/join-team.js.map +1 -1
- package/dist/license-card.d.mts +2 -3
- package/dist/license-card.d.ts +2 -3
- package/dist/license-card.js +24 -22
- package/dist/license-card.js.map +1 -1
- package/dist/license-details.js +128 -334
- package/dist/license-details.js.map +1 -1
- package/dist/linux-install-wizard.d.mts +9 -3
- package/dist/linux-install-wizard.d.ts +9 -3
- package/dist/linux-install-wizard.js +95 -41
- package/dist/linux-install-wizard.js.map +1 -1
- package/dist/login.d.mts +4 -0
- package/dist/login.d.ts +4 -0
- package/dist/login.js +20 -4
- package/dist/login.js.map +1 -1
- package/dist/middleware.d.mts +13 -0
- package/dist/middleware.d.ts +13 -0
- package/dist/middleware.js +35 -0
- package/dist/middleware.js.map +1 -0
- package/dist/online-instance-list.d.mts +3 -1
- package/dist/online-instance-list.d.ts +3 -1
- package/dist/online-instance-list.js +41 -112
- package/dist/online-instance-list.js.map +1 -1
- package/dist/pending-installations.d.mts +3 -1
- package/dist/pending-installations.d.ts +3 -1
- package/dist/release-history-panel.js +27 -14
- package/dist/release-history-panel.js.map +1 -1
- package/dist/saml-callback-client.d.mts +36 -0
- package/dist/saml-callback-client.d.ts +36 -0
- package/dist/saml-callback-client.js +88 -0
- package/dist/saml-callback-client.js.map +1 -0
- package/dist/saml-handlers.d.mts +50 -0
- package/dist/saml-handlers.d.ts +50 -0
- package/dist/saml-handlers.js +141 -0
- package/dist/saml-handlers.js.map +1 -0
- package/dist/security-card.d.mts +3 -1
- package/dist/security-card.d.ts +3 -1
- package/dist/security-card.js +53 -38
- package/dist/security-card.js.map +1 -1
- package/dist/service-accounts-tab.d.mts +51 -0
- package/dist/service-accounts-tab.d.ts +51 -0
- package/dist/service-accounts-tab.js +802 -0
- package/dist/service-accounts-tab.js.map +1 -0
- package/dist/styles.css +375 -127
- package/dist/support-bundle-collection-card.d.mts +1 -1
- package/dist/support-bundle-collection-card.d.ts +1 -1
- package/dist/support-bundle-collection-card.js +47 -23
- package/dist/support-bundle-collection-card.js.map +1 -1
- package/dist/support-bundles-card.d.mts +4 -2
- package/dist/support-bundles-card.d.ts +4 -2
- package/dist/support-bundles-card.js +10 -5
- package/dist/support-bundles-card.js.map +1 -1
- package/dist/support-card.js +37 -5
- package/dist/support-card.js.map +1 -1
- package/dist/team-selection.js +5 -1
- package/dist/team-selection.js.map +1 -1
- package/dist/team-settings-card.js +5 -2
- package/dist/team-settings-card.js.map +1 -1
- package/dist/team-settings.js +7 -2
- package/dist/team-settings.js.map +1 -1
- package/dist/{top-nav-IRIn66wS.d.ts → top-nav-BUQAGoG1.d.mts} +14 -2
- package/dist/{top-nav-IRIn66wS.d.mts → top-nav-CEqw0KpO.d.ts} +14 -2
- package/dist/top-nav-user-menu.js +5 -1
- package/dist/top-nav-user-menu.js.map +1 -1
- package/dist/top-nav.d.mts +2 -1
- package/dist/top-nav.d.ts +2 -1
- package/dist/top-nav.js +175 -62
- package/dist/top-nav.js.map +1 -1
- package/dist/trial-signup.d.mts +31 -0
- package/dist/trial-signup.d.ts +31 -0
- package/dist/trial-signup.js +258 -0
- package/dist/trial-signup.js.map +1 -0
- package/dist/update-layout.js +175 -62
- package/dist/update-layout.js.map +1 -1
- package/dist/updates-card.js +15 -4
- package/dist/updates-card.js.map +1 -1
- package/dist/upload-support-bundle-modal.js +9 -4
- package/dist/upload-support-bundle-modal.js.map +1 -1
- package/dist/user-settings-card.js +5 -2
- package/dist/user-settings-card.js.map +1 -1
- package/dist/user-settings.js +12 -6
- package/dist/user-settings.js.map +1 -1
- package/dist/utils/index.d.mts +74 -16
- package/dist/utils/index.d.ts +74 -16
- package/dist/utils/index.js +215 -12
- package/dist/utils/index.js.map +1 -1
- package/package.json +37 -2
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { a as CreateServiceAccountResult, F as FetchChannelReleasesResult, N as NetworkAvailability, c as CreateInstallOptionsResult, e as GetInstallOptionsResult, f as UpdateInstallOptionsResult, C as ChannelRelease } from './index-
|
|
3
|
-
export { h as CreateServiceAccountInput,
|
|
2
|
+
import { a as CreateServiceAccountResult, F as FetchChannelReleasesResult, N as NetworkAvailability, c as CreateInstallOptionsResult, e as GetInstallOptionsResult, f as UpdateInstallOptionsResult, C as ChannelRelease } from './index-DyzJ0yKD.mjs';
|
|
3
|
+
export { h as CreateServiceAccountInput, n as InstallInstructions, I as InstallOptions, o as InstallStep, i as ServiceAccountData, k as createInstallOptions, g as createServiceAccount, j as fetchChannelReleases, m as filterEmbeddedClusterReleases, l as getInstallOptions, u as updateInstallOptions } from './index-DyzJ0yKD.mjs';
|
|
4
|
+
import './fetch-license-iTyF7_GY.mjs';
|
|
4
5
|
import './actions/change-team.mjs';
|
|
6
|
+
import './actions/trial-signup.mjs';
|
|
5
7
|
|
|
6
8
|
declare const LINUX_INSTALL_SERVICE_ACCOUNT_KEY = "linux_install_service_account";
|
|
7
9
|
declare const LINUX_INSTALL_OPTIONS_KEY = "linux_install_options";
|
|
8
10
|
interface LinuxInstallWizardProps {
|
|
9
11
|
/** JWT token for authentication */
|
|
10
12
|
token: string;
|
|
13
|
+
/** Primary branding color for buttons (default: DEFAULT_SECONDARY_COLOR) */
|
|
14
|
+
primaryColor?: string;
|
|
15
|
+
/** Secondary branding color for links (default: DEFAULT_SECONDARY_COLOR) */
|
|
16
|
+
secondaryColor?: string;
|
|
11
17
|
/** Server action to create service account - REQUIRED */
|
|
12
18
|
createServiceAccountAction: (name: string, token: string) => Promise<CreateServiceAccountResult>;
|
|
13
19
|
/** Server action to fetch channel releases - REQUIRED for version dropdown */
|
|
@@ -59,7 +65,7 @@ interface LinuxInstallWizardProps {
|
|
|
59
65
|
supportPortalLink?: string;
|
|
60
66
|
}
|
|
61
67
|
declare const LinuxInstallWizard: {
|
|
62
|
-
({ token, createServiceAccountAction, fetchChannelReleasesAction, createInstallOptionsAction, getInstallOptionsAction, updateInstallOptionsAction, onStepChange, onInstallOptionsIdChange, initialStep, initialNetwork, initialInstallOptionsId, initialInstallOptionsData, initialChannelReleases, supportPortalLink }: LinuxInstallWizardProps): react_jsx_runtime.JSX.Element;
|
|
68
|
+
({ token, primaryColor, secondaryColor, createServiceAccountAction, fetchChannelReleasesAction, createInstallOptionsAction, getInstallOptionsAction, updateInstallOptionsAction, onStepChange, onInstallOptionsIdChange, initialStep, initialNetwork, initialInstallOptionsId, initialInstallOptionsData, initialChannelReleases, supportPortalLink }: LinuxInstallWizardProps): react_jsx_runtime.JSX.Element;
|
|
63
69
|
displayName: string;
|
|
64
70
|
};
|
|
65
71
|
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { a as CreateServiceAccountResult, F as FetchChannelReleasesResult, N as NetworkAvailability, c as CreateInstallOptionsResult, e as GetInstallOptionsResult, f as UpdateInstallOptionsResult, C as ChannelRelease } from './index-
|
|
3
|
-
export { h as CreateServiceAccountInput,
|
|
2
|
+
import { a as CreateServiceAccountResult, F as FetchChannelReleasesResult, N as NetworkAvailability, c as CreateInstallOptionsResult, e as GetInstallOptionsResult, f as UpdateInstallOptionsResult, C as ChannelRelease } from './index-sMbq94M7.js';
|
|
3
|
+
export { h as CreateServiceAccountInput, n as InstallInstructions, I as InstallOptions, o as InstallStep, i as ServiceAccountData, k as createInstallOptions, g as createServiceAccount, j as fetchChannelReleases, m as filterEmbeddedClusterReleases, l as getInstallOptions, u as updateInstallOptions } from './index-sMbq94M7.js';
|
|
4
|
+
import './fetch-license-iTyF7_GY.js';
|
|
4
5
|
import './actions/change-team.js';
|
|
6
|
+
import './actions/trial-signup.js';
|
|
5
7
|
|
|
6
8
|
declare const LINUX_INSTALL_SERVICE_ACCOUNT_KEY = "linux_install_service_account";
|
|
7
9
|
declare const LINUX_INSTALL_OPTIONS_KEY = "linux_install_options";
|
|
8
10
|
interface LinuxInstallWizardProps {
|
|
9
11
|
/** JWT token for authentication */
|
|
10
12
|
token: string;
|
|
13
|
+
/** Primary branding color for buttons (default: DEFAULT_SECONDARY_COLOR) */
|
|
14
|
+
primaryColor?: string;
|
|
15
|
+
/** Secondary branding color for links (default: DEFAULT_SECONDARY_COLOR) */
|
|
16
|
+
secondaryColor?: string;
|
|
11
17
|
/** Server action to create service account - REQUIRED */
|
|
12
18
|
createServiceAccountAction: (name: string, token: string) => Promise<CreateServiceAccountResult>;
|
|
13
19
|
/** Server action to fetch channel releases - REQUIRED for version dropdown */
|
|
@@ -59,7 +65,7 @@ interface LinuxInstallWizardProps {
|
|
|
59
65
|
supportPortalLink?: string;
|
|
60
66
|
}
|
|
61
67
|
declare const LinuxInstallWizard: {
|
|
62
|
-
({ token, createServiceAccountAction, fetchChannelReleasesAction, createInstallOptionsAction, getInstallOptionsAction, updateInstallOptionsAction, onStepChange, onInstallOptionsIdChange, initialStep, initialNetwork, initialInstallOptionsId, initialInstallOptionsData, initialChannelReleases, supportPortalLink }: LinuxInstallWizardProps): react_jsx_runtime.JSX.Element;
|
|
68
|
+
({ token, primaryColor, secondaryColor, createServiceAccountAction, fetchChannelReleasesAction, createInstallOptionsAction, getInstallOptionsAction, updateInstallOptionsAction, onStepChange, onInstallOptionsIdChange, initialStep, initialNetwork, initialInstallOptionsId, initialInstallOptionsData, initialChannelReleases, supportPortalLink }: LinuxInstallWizardProps): react_jsx_runtime.JSX.Element;
|
|
63
69
|
displayName: string;
|
|
64
70
|
};
|
|
65
71
|
|
|
@@ -8,7 +8,40 @@ var buffer = require('buffer');
|
|
|
8
8
|
* Enterprise Portal Components
|
|
9
9
|
* This file is generated by tsup. Do not edit manually.
|
|
10
10
|
*/
|
|
11
|
+
var __defProp = Object.defineProperty;
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
// datadog/tracer.ts
|
|
18
|
+
var tracer_exports = {};
|
|
19
|
+
__export(tracer_exports, {
|
|
20
|
+
default: () => tracer_default
|
|
21
|
+
});
|
|
22
|
+
var tracer_default;
|
|
11
23
|
|
|
24
|
+
// src/utils/constants.ts
|
|
25
|
+
var DEFAULT_SECONDARY_COLOR = "#6366f1";
|
|
26
|
+
function useCopyToClipboard(resetDelay = 2e3) {
|
|
27
|
+
const [copied, setCopied] = react.useState(false);
|
|
28
|
+
const copy = react.useCallback(async (text) => {
|
|
29
|
+
if (!navigator.clipboard) {
|
|
30
|
+
console.warn("[useCopyToClipboard] Clipboard API not available");
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
await navigator.clipboard.writeText(text);
|
|
35
|
+
setCopied(true);
|
|
36
|
+
setTimeout(() => setCopied(false), resetDelay);
|
|
37
|
+
return true;
|
|
38
|
+
} catch (error) {
|
|
39
|
+
console.error("[useCopyToClipboard] Failed to copy:", error);
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
}, [resetDelay]);
|
|
43
|
+
return { copy, copied };
|
|
44
|
+
}
|
|
12
45
|
var LINUX_INSTALL_SERVICE_ACCOUNT_KEY = "linux_install_service_account";
|
|
13
46
|
var LINUX_INSTALL_OPTIONS_KEY = "linux_install_options";
|
|
14
47
|
var navigateTo = (href) => {
|
|
@@ -21,19 +54,12 @@ var navigateTo = (href) => {
|
|
|
21
54
|
console.error("[linux-install-wizard] navigation failed", error);
|
|
22
55
|
}
|
|
23
56
|
};
|
|
24
|
-
var
|
|
25
|
-
try {
|
|
26
|
-
await navigator.clipboard.writeText(text);
|
|
27
|
-
return true;
|
|
28
|
-
} catch {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
var StepIndicator = ({ step }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-3", children: [
|
|
57
|
+
var StepIndicator = ({ step, primaryColor = DEFAULT_SECONDARY_COLOR }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-3", children: [
|
|
33
58
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34
59
|
"div",
|
|
35
60
|
{
|
|
36
|
-
className: `flex h-10 w-10 items-center justify-center rounded-full border-2 ${step > 1 ? "border-gray-900 bg-gray-900 text-white" : "
|
|
61
|
+
className: `flex h-10 w-10 items-center justify-center rounded-full border-2 ${step > 1 ? "border-gray-900 bg-gray-900 text-white" : ""}`,
|
|
62
|
+
style: step === 1 ? { borderColor: primaryColor } : void 0,
|
|
37
63
|
children: step > 1 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
38
64
|
"svg",
|
|
39
65
|
{
|
|
@@ -45,7 +71,7 @@ var StepIndicator = ({ step }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { class
|
|
|
45
71
|
strokeWidth: "2",
|
|
46
72
|
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m3.5 8 3 3 6-6" })
|
|
47
73
|
}
|
|
48
|
-
) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "h-2.5 w-2.5 rounded-full
|
|
74
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "h-2.5 w-2.5 rounded-full", style: { backgroundColor: primaryColor } })
|
|
49
75
|
}
|
|
50
76
|
),
|
|
51
77
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: `h-0.5 w-12 ${step > 1 ? "bg-gray-900" : "bg-gray-200"}` }),
|
|
@@ -61,13 +87,11 @@ var CodeBlock = ({
|
|
|
61
87
|
command,
|
|
62
88
|
onCopy
|
|
63
89
|
}) => {
|
|
64
|
-
const
|
|
90
|
+
const { copy, copied } = useCopyToClipboard();
|
|
65
91
|
const handleCopy = async () => {
|
|
66
|
-
const success = await
|
|
92
|
+
const success = await copy(command);
|
|
67
93
|
if (success) {
|
|
68
|
-
setCopied(true);
|
|
69
94
|
onCopy?.();
|
|
70
|
-
setTimeout(() => setCopied(false), 2e3);
|
|
71
95
|
}
|
|
72
96
|
};
|
|
73
97
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "group relative ml-8 mt-2 min-w-0", children: [
|
|
@@ -89,11 +113,12 @@ var VersionDropdown = ({
|
|
|
89
113
|
selectedRelease,
|
|
90
114
|
onSelect,
|
|
91
115
|
isLoading,
|
|
92
|
-
error
|
|
116
|
+
error,
|
|
117
|
+
primaryColor = DEFAULT_SECONDARY_COLOR
|
|
93
118
|
}) => {
|
|
94
119
|
if (isLoading) {
|
|
95
120
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ml-8 flex items-center gap-2 text-sm text-gray-500", children: [
|
|
96
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 w-4 animate-spin rounded-full border-2 border-gray-300
|
|
121
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 w-4 animate-spin rounded-full border-2 border-gray-300", style: { borderTopColor: primaryColor } }),
|
|
97
122
|
"Loading versions..."
|
|
98
123
|
] });
|
|
99
124
|
}
|
|
@@ -133,13 +158,14 @@ var InstallationInstructions = ({
|
|
|
133
158
|
instructions,
|
|
134
159
|
isLoading,
|
|
135
160
|
completedSteps = {},
|
|
136
|
-
isProxy = false
|
|
161
|
+
isProxy = false,
|
|
162
|
+
primaryColor = DEFAULT_SECONDARY_COLOR
|
|
137
163
|
}) => {
|
|
138
164
|
if (isLoading && !instructions?.steps?.length) {
|
|
139
165
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
140
166
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-semibold text-gray-900", children: "Installation Instructions" }),
|
|
141
167
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-sm text-gray-500", children: [
|
|
142
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 w-4 animate-spin rounded-full border-2 border-gray-300
|
|
168
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 w-4 animate-spin rounded-full border-2 border-gray-300", style: { borderTopColor: primaryColor } }),
|
|
143
169
|
"Loading instructions..."
|
|
144
170
|
] })
|
|
145
171
|
] });
|
|
@@ -149,10 +175,10 @@ var InstallationInstructions = ({
|
|
|
149
175
|
}
|
|
150
176
|
const stepOffset = isProxy ? 3 : 2;
|
|
151
177
|
console.debug("[InstallationInstructions] Rendering with stepOffset", { isProxy, stepOffset, stepsCount: instructions?.steps?.length });
|
|
152
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `min-w-0 space-y-4 transition-opacity duration-
|
|
178
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `min-w-0 space-y-4 transition-opacity duration-200 ${isLoading ? "opacity-60" : ""}`, children: [
|
|
153
179
|
/* @__PURE__ */ jsxRuntime.jsxs("h3", { className: "text-lg font-semibold text-gray-900", children: [
|
|
154
180
|
"Installation Instructions",
|
|
155
|
-
isLoading && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-2 inline-block h-4 w-4 animate-spin rounded-full border-2 border-gray-300
|
|
181
|
+
isLoading && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-2 inline-block h-4 w-4 animate-spin rounded-full border-2 border-gray-300", style: { borderTopColor: primaryColor } })
|
|
156
182
|
] }),
|
|
157
183
|
/* @__PURE__ */ jsxRuntime.jsx("ol", { className: "min-w-0 space-y-6 text-sm text-gray-700", children: instructions.steps.map((step, index) => {
|
|
158
184
|
const completableStepNames = ["download_assets", "install"];
|
|
@@ -160,7 +186,7 @@ var InstallationInstructions = ({
|
|
|
160
186
|
const isCompleted = canComplete && completedSteps[step.step_name];
|
|
161
187
|
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "space-y-2", children: [
|
|
162
188
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
163
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-6 w-6 items-center justify-center rounded-full
|
|
189
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-6 w-6 items-center justify-center rounded-full font-semibold", style: { backgroundColor: `${primaryColor}20`, color: primaryColor }, children: index + stepOffset }),
|
|
164
190
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-gray-900", children: step.title }),
|
|
165
191
|
canComplete && /* @__PURE__ */ jsxRuntime.jsx(
|
|
166
192
|
"span",
|
|
@@ -179,6 +205,8 @@ var InstallationInstructions = ({
|
|
|
179
205
|
};
|
|
180
206
|
var LinuxInstallWizard = ({
|
|
181
207
|
token,
|
|
208
|
+
primaryColor = DEFAULT_SECONDARY_COLOR,
|
|
209
|
+
secondaryColor = DEFAULT_SECONDARY_COLOR,
|
|
182
210
|
createServiceAccountAction,
|
|
183
211
|
fetchChannelReleasesAction,
|
|
184
212
|
createInstallOptionsAction,
|
|
@@ -610,7 +638,7 @@ var LinuxInstallWizard = ({
|
|
|
610
638
|
console.error("[linux-install-wizard] Failed to save admin console URL", error);
|
|
611
639
|
}
|
|
612
640
|
}
|
|
613
|
-
navigateTo("/
|
|
641
|
+
navigateTo("/updates/checking");
|
|
614
642
|
}, [installOptionsId, updateInstallOptionsAction, adminConsoleUrl, token]);
|
|
615
643
|
const handleReleaseSelect = react.useCallback((release) => {
|
|
616
644
|
setSelectedRelease(release);
|
|
@@ -618,14 +646,14 @@ var LinuxInstallWizard = ({
|
|
|
618
646
|
const isProxy = networkAvailability === "proxy";
|
|
619
647
|
if (step === 2) {
|
|
620
648
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
621
|
-
/* @__PURE__ */ jsxRuntime.jsx(StepIndicator, { step: 2 }),
|
|
649
|
+
/* @__PURE__ */ jsxRuntime.jsx(StepIndicator, { step: 2, primaryColor }),
|
|
622
650
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-hidden rounded-2xl border border-gray-100 bg-gray-50 p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 space-y-6", children: [
|
|
623
651
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
|
|
624
652
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-semibold text-gray-900", children: isProxy ? "Linux Single Node Proxy Install" : "Linux Single Node Online Install" }),
|
|
625
653
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-6 space-y-6", children: [
|
|
626
654
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
627
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2
|
|
628
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-6 w-6 items-center justify-center rounded-full
|
|
655
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", style: { color: primaryColor }, children: [
|
|
656
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-6 w-6 items-center justify-center rounded-full font-semibold", style: { backgroundColor: `${primaryColor}20` }, children: "1" }),
|
|
629
657
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-gray-900", children: "Select a version" })
|
|
630
658
|
] }),
|
|
631
659
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -635,13 +663,14 @@ var LinuxInstallWizard = ({
|
|
|
635
663
|
selectedRelease,
|
|
636
664
|
onSelect: handleReleaseSelect,
|
|
637
665
|
isLoading: isLoadingReleases,
|
|
638
|
-
error: releasesError
|
|
666
|
+
error: releasesError,
|
|
667
|
+
primaryColor
|
|
639
668
|
}
|
|
640
669
|
)
|
|
641
670
|
] }),
|
|
642
671
|
isProxy && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
643
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2
|
|
644
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-6 w-6 items-center justify-center rounded-full
|
|
672
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", style: { color: primaryColor }, children: [
|
|
673
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-6 w-6 items-center justify-center rounded-full font-semibold", style: { backgroundColor: `${primaryColor}20` }, children: "2" }),
|
|
645
674
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-gray-900", children: "Configure proxy URL" })
|
|
646
675
|
] }),
|
|
647
676
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -660,12 +689,13 @@ var LinuxInstallWizard = ({
|
|
|
660
689
|
instructions,
|
|
661
690
|
isLoading: isLoadingInstructions,
|
|
662
691
|
completedSteps,
|
|
663
|
-
isProxy
|
|
692
|
+
isProxy,
|
|
693
|
+
primaryColor
|
|
664
694
|
}
|
|
665
695
|
),
|
|
666
696
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
667
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2
|
|
668
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-6 w-6 items-center justify-center rounded-full
|
|
697
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", style: { color: primaryColor }, children: [
|
|
698
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-6 w-6 items-center justify-center rounded-full font-semibold", style: { backgroundColor: `${primaryColor}20` }, children: (instructions?.steps?.length ?? 0) + (isProxy ? 3 : 2) }),
|
|
669
699
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-gray-900", children: "(Optional) Add the Admin Console URL" })
|
|
670
700
|
] }),
|
|
671
701
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -697,7 +727,8 @@ var LinuxInstallWizard = ({
|
|
|
697
727
|
{
|
|
698
728
|
type: "button",
|
|
699
729
|
onClick: handleFinish,
|
|
700
|
-
className: "rounded-xl
|
|
730
|
+
className: "rounded-xl px-4 py-2 font-medium text-white transition hover:brightness-90",
|
|
731
|
+
style: { backgroundColor: primaryColor },
|
|
701
732
|
children: "Finish"
|
|
702
733
|
}
|
|
703
734
|
)
|
|
@@ -708,7 +739,8 @@ var LinuxInstallWizard = ({
|
|
|
708
739
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
709
740
|
"a",
|
|
710
741
|
{
|
|
711
|
-
className: "
|
|
742
|
+
className: "hover:opacity-80",
|
|
743
|
+
style: { color: secondaryColor },
|
|
712
744
|
href: supportPortalLink,
|
|
713
745
|
target: "_blank",
|
|
714
746
|
rel: "noopener noreferrer",
|
|
@@ -720,7 +752,7 @@ var LinuxInstallWizard = ({
|
|
|
720
752
|
] });
|
|
721
753
|
}
|
|
722
754
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
723
|
-
/* @__PURE__ */ jsxRuntime.jsx(StepIndicator, { step: 1 }),
|
|
755
|
+
/* @__PURE__ */ jsxRuntime.jsx(StepIndicator, { step: 1, primaryColor }),
|
|
724
756
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-2xl border border-gray-100 bg-gray-50 p-6", children: [
|
|
725
757
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
726
758
|
/* @__PURE__ */ jsxRuntime.jsxs("label", { className: "block text-sm font-medium text-gray-700", children: [
|
|
@@ -789,7 +821,8 @@ var LinuxInstallWizard = ({
|
|
|
789
821
|
type: "button",
|
|
790
822
|
onClick: handleContinue,
|
|
791
823
|
disabled: isCreatingServiceAccount,
|
|
792
|
-
className: "rounded-xl
|
|
824
|
+
className: "rounded-xl px-4 py-2 font-medium text-white transition-opacity duration-200 hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-50",
|
|
825
|
+
style: { backgroundColor: primaryColor },
|
|
793
826
|
children: isCreatingServiceAccount ? "Creating..." : "Continue"
|
|
794
827
|
}
|
|
795
828
|
)
|
|
@@ -822,8 +855,17 @@ async function handle401() {
|
|
|
822
855
|
const { redirect } = await import('next/navigation');
|
|
823
856
|
return redirect("/?expired=1");
|
|
824
857
|
}
|
|
858
|
+
function isErrorPage(url) {
|
|
859
|
+
try {
|
|
860
|
+
const urlObj = new URL(url);
|
|
861
|
+
return urlObj.pathname === "/error";
|
|
862
|
+
} catch {
|
|
863
|
+
return url === "/error" || url.startsWith("/error?");
|
|
864
|
+
}
|
|
865
|
+
}
|
|
825
866
|
async function handleServerError(statusCode) {
|
|
826
867
|
const { redirect } = await import('next/navigation');
|
|
868
|
+
const { cookies } = await import('next/headers');
|
|
827
869
|
let sourceUrl;
|
|
828
870
|
try {
|
|
829
871
|
const { headers } = await import('next/headers');
|
|
@@ -831,12 +873,20 @@ async function handleServerError(statusCode) {
|
|
|
831
873
|
const referer = headersList.get("referer");
|
|
832
874
|
const host = headersList.get("host");
|
|
833
875
|
const pathname = headersList.get("x-invoke-path") || headersList.get("x-forwarded-path");
|
|
834
|
-
if (referer) {
|
|
876
|
+
if (referer && !isErrorPage(referer)) {
|
|
835
877
|
sourceUrl = referer;
|
|
836
878
|
} else if (host && pathname) {
|
|
837
879
|
const protocol = headersList.get("x-forwarded-proto") || "https";
|
|
838
880
|
sourceUrl = `${protocol}://${host}${pathname}`;
|
|
839
881
|
}
|
|
882
|
+
if (!sourceUrl || isErrorPage(sourceUrl)) {
|
|
883
|
+
const cookieStore = await cookies();
|
|
884
|
+
const preservedSource = cookieStore.get("portal_error_source");
|
|
885
|
+
if (preservedSource?.value) {
|
|
886
|
+
sourceUrl = decodeURIComponent(preservedSource.value);
|
|
887
|
+
cookieStore.delete("portal_error_source");
|
|
888
|
+
}
|
|
889
|
+
}
|
|
840
890
|
} catch (error) {
|
|
841
891
|
console.debug("[portal-components] Could not determine source URL", error);
|
|
842
892
|
}
|
|
@@ -1152,11 +1202,15 @@ var fetchCustomBrandingImpl = async () => {
|
|
|
1152
1202
|
const payload = await response.json();
|
|
1153
1203
|
const brandingObject = {
|
|
1154
1204
|
logo: payload.logoUrl,
|
|
1155
|
-
title: payload.
|
|
1156
|
-
|
|
1157
|
-
|
|
1205
|
+
title: payload.title,
|
|
1206
|
+
primaryColor: payload.primaryColor,
|
|
1207
|
+
secondaryColor: payload.secondaryColor,
|
|
1158
1208
|
favicon: payload.faviconUrl,
|
|
1159
|
-
supportPortalLink: payload.supportPortalLink || ""
|
|
1209
|
+
supportPortalLink: payload.supportPortalLink || "",
|
|
1210
|
+
background: payload.background,
|
|
1211
|
+
backgroundImage: payload.backgroundImage,
|
|
1212
|
+
customColor1: payload.customColor1,
|
|
1213
|
+
customColor2: payload.customColor2
|
|
1160
1214
|
};
|
|
1161
1215
|
const brandingData = buffer.Buffer.from(JSON.stringify(brandingObject)).toString("base64");
|
|
1162
1216
|
return {
|