@streamoid/settings 0.6.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +24 -1
- package/dist/index.d.ts +24 -1
- package/dist/index.js +272 -186
- package/dist/index.mjs +272 -187
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -803,6 +803,18 @@ interface SettingsNavigationAdapter {
|
|
|
803
803
|
getCheckoutReturnUrl?: (kind: "success" | "cancel") => string;
|
|
804
804
|
/** Imperative navigate to another settings tab. */
|
|
805
805
|
navigateToTab: (tab: SettingsTab) => void;
|
|
806
|
+
/**
|
|
807
|
+
* Go back to whatever the user was doing before they opened settings.
|
|
808
|
+
*
|
|
809
|
+
* Distinct from `close`: closing is "leave settings" and lands wherever the
|
|
810
|
+
* host decides settings' parent is; back is "the screen I came from", which
|
|
811
|
+
* only the history knows. Omit it and the shell calls
|
|
812
|
+
* `window.history.back()`, which is right in every host today — settings is
|
|
813
|
+
* a route, and the browser already knows where the user was. Supply it when
|
|
814
|
+
* your router keeps its own stack, or pass `onBack={null}` on
|
|
815
|
+
* `<SettingsContent>` to render no back control at all.
|
|
816
|
+
*/
|
|
817
|
+
back?: () => void;
|
|
806
818
|
/**
|
|
807
819
|
* Leave settings entirely. Supplying this makes the shell render a close (×)
|
|
808
820
|
* button and dismiss on Escape. Hosts that would rather pass a callback
|
|
@@ -928,8 +940,19 @@ interface SettingsContentProps {
|
|
|
928
940
|
* no close affordance is rendered — that is the pre-0.3.8 behaviour.
|
|
929
941
|
*/
|
|
930
942
|
onClose?: () => void;
|
|
943
|
+
/**
|
|
944
|
+
* Go back to the screen the user came from, rendered as a `← Back` control
|
|
945
|
+
* above the breadcrumb.
|
|
946
|
+
*
|
|
947
|
+
* Defaults to `adapters.navigation.back`, and to `window.history.back()`
|
|
948
|
+
* when neither is supplied — settings is a route in every host, so the
|
|
949
|
+
* browser already knows where the user was, and requiring a prop would mean
|
|
950
|
+
* the control appeared in whichever app remembered to pass one. Pass `null`
|
|
951
|
+
* to render no back control.
|
|
952
|
+
*/
|
|
953
|
+
onBack?: (() => void) | null;
|
|
931
954
|
}
|
|
932
|
-
declare function SettingsContent({ adapters, activeTab, onClose, hiddenApps, }: SettingsContentProps): react.JSX.Element;
|
|
955
|
+
declare function SettingsContent({ adapters, activeTab, onClose, onBack, hiddenApps, }: SettingsContentProps): react.JSX.Element;
|
|
933
956
|
|
|
934
957
|
interface WorkspaceData {
|
|
935
958
|
id: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -803,6 +803,18 @@ interface SettingsNavigationAdapter {
|
|
|
803
803
|
getCheckoutReturnUrl?: (kind: "success" | "cancel") => string;
|
|
804
804
|
/** Imperative navigate to another settings tab. */
|
|
805
805
|
navigateToTab: (tab: SettingsTab) => void;
|
|
806
|
+
/**
|
|
807
|
+
* Go back to whatever the user was doing before they opened settings.
|
|
808
|
+
*
|
|
809
|
+
* Distinct from `close`: closing is "leave settings" and lands wherever the
|
|
810
|
+
* host decides settings' parent is; back is "the screen I came from", which
|
|
811
|
+
* only the history knows. Omit it and the shell calls
|
|
812
|
+
* `window.history.back()`, which is right in every host today — settings is
|
|
813
|
+
* a route, and the browser already knows where the user was. Supply it when
|
|
814
|
+
* your router keeps its own stack, or pass `onBack={null}` on
|
|
815
|
+
* `<SettingsContent>` to render no back control at all.
|
|
816
|
+
*/
|
|
817
|
+
back?: () => void;
|
|
806
818
|
/**
|
|
807
819
|
* Leave settings entirely. Supplying this makes the shell render a close (×)
|
|
808
820
|
* button and dismiss on Escape. Hosts that would rather pass a callback
|
|
@@ -928,8 +940,19 @@ interface SettingsContentProps {
|
|
|
928
940
|
* no close affordance is rendered — that is the pre-0.3.8 behaviour.
|
|
929
941
|
*/
|
|
930
942
|
onClose?: () => void;
|
|
943
|
+
/**
|
|
944
|
+
* Go back to the screen the user came from, rendered as a `← Back` control
|
|
945
|
+
* above the breadcrumb.
|
|
946
|
+
*
|
|
947
|
+
* Defaults to `adapters.navigation.back`, and to `window.history.back()`
|
|
948
|
+
* when neither is supplied — settings is a route in every host, so the
|
|
949
|
+
* browser already knows where the user was, and requiring a prop would mean
|
|
950
|
+
* the control appeared in whichever app remembered to pass one. Pass `null`
|
|
951
|
+
* to render no back control.
|
|
952
|
+
*/
|
|
953
|
+
onBack?: (() => void) | null;
|
|
931
954
|
}
|
|
932
|
-
declare function SettingsContent({ adapters, activeTab, onClose, hiddenApps, }: SettingsContentProps): react.JSX.Element;
|
|
955
|
+
declare function SettingsContent({ adapters, activeTab, onClose, onBack, hiddenApps, }: SettingsContentProps): react.JSX.Element;
|
|
933
956
|
|
|
934
957
|
interface WorkspaceData {
|
|
935
958
|
id: string;
|
package/dist/index.js
CHANGED
|
@@ -1511,7 +1511,11 @@ var TAB_LABELS = {
|
|
|
1511
1511
|
organizationWorkspaces: "Workspaces",
|
|
1512
1512
|
organizationDomains: "Domains & requests",
|
|
1513
1513
|
referral: "Referral",
|
|
1514
|
-
|
|
1514
|
+
/* "Billing & usage", not "Billing". The tab has held usage history as well
|
|
1515
|
+
as the plan and invoices since the credits work, and hosts had started
|
|
1516
|
+
saying "Billing & usage" in their own rails while this said "Billing" —
|
|
1517
|
+
so the nav item and the thing it opened disagreed by a word. */
|
|
1518
|
+
billing: "Billing & usage",
|
|
1515
1519
|
apikey: "API Keys"
|
|
1516
1520
|
};
|
|
1517
1521
|
var TAB_DESCRIPTIONS = {
|
|
@@ -10968,194 +10972,202 @@ function ProfileTab() {
|
|
|
10968
10972
|
}
|
|
10969
10973
|
auth.clearAuth();
|
|
10970
10974
|
};
|
|
10971
|
-
return /* @__PURE__ */ (0, import_jsx_runtime20.
|
|
10975
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
10972
10976
|
"div",
|
|
10973
10977
|
{
|
|
10974
10978
|
className: "flex flex-col items-start flex-1 min-w-0",
|
|
10975
10979
|
style: { gap: "var(--spacing-3xl)" },
|
|
10976
|
-
children:
|
|
10977
|
-
|
|
10978
|
-
|
|
10979
|
-
|
|
10980
|
-
|
|
10981
|
-
|
|
10982
|
-
|
|
10983
|
-
|
|
10984
|
-
|
|
10985
|
-
|
|
10986
|
-
|
|
10987
|
-
|
|
10988
|
-
|
|
10989
|
-
|
|
10990
|
-
|
|
10991
|
-
|
|
10992
|
-
|
|
10993
|
-
|
|
10994
|
-
|
|
10995
|
-
|
|
10996
|
-
|
|
10997
|
-
|
|
10998
|
-
|
|
10999
|
-
|
|
11000
|
-
|
|
11001
|
-
|
|
11002
|
-
|
|
11003
|
-
|
|
11004
|
-
|
|
11005
|
-
|
|
11006
|
-
}
|
|
11007
|
-
) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11008
|
-
"div",
|
|
11009
|
-
{
|
|
11010
|
-
"aria-label": "Profile",
|
|
11011
|
-
className: "flex items-center justify-center",
|
|
11012
|
-
style: {
|
|
11013
|
-
width: 100,
|
|
11014
|
-
height: 100,
|
|
11015
|
-
borderRadius: "var(--radius-full)",
|
|
11016
|
-
backgroundColor: "var(--alias-surface-raised)",
|
|
11017
|
-
border: "1px solid var(--alias-border-subtle)",
|
|
11018
|
-
flexShrink: 0
|
|
11019
|
-
},
|
|
11020
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11021
|
-
"span",
|
|
11022
|
-
{
|
|
11023
|
-
style: {
|
|
11024
|
-
color: "var(--alias-text---icons-primary)",
|
|
11025
|
-
fontFamily: "var(--font-family-font-family-display)",
|
|
11026
|
-
fontSize: 34,
|
|
11027
|
-
fontWeight: 600,
|
|
11028
|
-
lineHeight: "34px"
|
|
11029
|
-
},
|
|
11030
|
-
children: profileInitial
|
|
10980
|
+
children: [
|
|
10981
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
10982
|
+
"div",
|
|
10983
|
+
{
|
|
10984
|
+
className: "flex items-start w-full",
|
|
10985
|
+
style: {
|
|
10986
|
+
backgroundColor: "var(--alias-surface-base)",
|
|
10987
|
+
borderRadius: "var(--radius-3xl)",
|
|
10988
|
+
border: "1px solid var(--alias-border-subtle)",
|
|
10989
|
+
padding: "var(--spacing-6xl)",
|
|
10990
|
+
gap: "var(--spacing-6xl)"
|
|
10991
|
+
},
|
|
10992
|
+
children: [
|
|
10993
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
10994
|
+
"div",
|
|
10995
|
+
{
|
|
10996
|
+
className: "flex flex-col items-center shrink-0",
|
|
10997
|
+
style: { gap: "var(--spacing-md)", width: 120 },
|
|
10998
|
+
children: [
|
|
10999
|
+
profileImage ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11000
|
+
"img",
|
|
11001
|
+
{
|
|
11002
|
+
src: profileImage,
|
|
11003
|
+
alt: "Profile",
|
|
11004
|
+
style: {
|
|
11005
|
+
width: 100,
|
|
11006
|
+
height: 100,
|
|
11007
|
+
borderRadius: "var(--radius-full)",
|
|
11008
|
+
objectFit: "cover",
|
|
11009
|
+
flexShrink: 0
|
|
11031
11010
|
}
|
|
11032
|
-
|
|
11033
|
-
|
|
11034
|
-
|
|
11035
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11036
|
-
"input",
|
|
11037
|
-
{
|
|
11038
|
-
ref: fileInputRef,
|
|
11039
|
-
type: "file",
|
|
11040
|
-
accept: "image/*",
|
|
11041
|
-
style: { display: "none" },
|
|
11042
|
-
onChange: handleImageChange
|
|
11043
|
-
}
|
|
11044
|
-
),
|
|
11045
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex items-center justify-center", style: { gap: 10 }, children: [
|
|
11046
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11047
|
-
import_ui13.ScButton,
|
|
11011
|
+
}
|
|
11012
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11013
|
+
"div",
|
|
11048
11014
|
{
|
|
11049
|
-
|
|
11050
|
-
|
|
11051
|
-
|
|
11052
|
-
|
|
11053
|
-
|
|
11054
|
-
|
|
11015
|
+
"aria-label": "Profile",
|
|
11016
|
+
className: "flex items-center justify-center",
|
|
11017
|
+
style: {
|
|
11018
|
+
width: 100,
|
|
11019
|
+
height: 100,
|
|
11020
|
+
borderRadius: "var(--radius-full)",
|
|
11021
|
+
backgroundColor: "var(--alias-surface-raised)",
|
|
11022
|
+
border: "1px solid var(--alias-border-subtle)",
|
|
11023
|
+
flexShrink: 0
|
|
11024
|
+
},
|
|
11025
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11026
|
+
"span",
|
|
11027
|
+
{
|
|
11028
|
+
style: {
|
|
11029
|
+
color: "var(--alias-text---icons-primary)",
|
|
11030
|
+
fontFamily: "var(--font-family-font-family-display)",
|
|
11031
|
+
fontSize: 34,
|
|
11032
|
+
fontWeight: 600,
|
|
11033
|
+
lineHeight: "34px"
|
|
11034
|
+
},
|
|
11035
|
+
children: profileInitial
|
|
11036
|
+
}
|
|
11037
|
+
)
|
|
11055
11038
|
}
|
|
11056
11039
|
),
|
|
11057
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_ui11.ScVDivider, {}),
|
|
11058
11040
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11059
|
-
|
|
11041
|
+
"input",
|
|
11060
11042
|
{
|
|
11061
|
-
|
|
11062
|
-
|
|
11063
|
-
|
|
11064
|
-
|
|
11065
|
-
|
|
11066
|
-
|
|
11067
|
-
|
|
11068
|
-
|
|
11069
|
-
|
|
11070
|
-
|
|
11071
|
-
|
|
11072
|
-
|
|
11043
|
+
ref: fileInputRef,
|
|
11044
|
+
type: "file",
|
|
11045
|
+
accept: "image/*",
|
|
11046
|
+
style: { display: "none" },
|
|
11047
|
+
onChange: handleImageChange
|
|
11048
|
+
}
|
|
11049
|
+
),
|
|
11050
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
11051
|
+
"div",
|
|
11052
|
+
{
|
|
11053
|
+
className: "flex flex-col items-stretch w-full",
|
|
11054
|
+
style: { gap: "var(--spacing-md)" },
|
|
11055
|
+
children: [
|
|
11056
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11057
|
+
import_ui13.ScButton,
|
|
11058
|
+
{
|
|
11059
|
+
text: "Upload photo",
|
|
11060
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_icons12.SiconUpload, { className: "w-5 h-5", color: PRIMARY_COLOR3 }),
|
|
11061
|
+
styleVariant: "icon-left",
|
|
11062
|
+
variant: "outline",
|
|
11063
|
+
size: "md",
|
|
11064
|
+
state: disableAllActions ? "disabled" : "default",
|
|
11065
|
+
onClick: handleUploadClick
|
|
11066
|
+
}
|
|
11067
|
+
),
|
|
11068
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11069
|
+
import_ui13.ScButton,
|
|
11070
|
+
{
|
|
11071
|
+
text: "Remove photo",
|
|
11072
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11073
|
+
import_icons12.SiconDelete,
|
|
11074
|
+
{
|
|
11075
|
+
className: "w-5 h-5",
|
|
11076
|
+
color: PRIMARY_COLOR3
|
|
11077
|
+
}
|
|
11078
|
+
),
|
|
11079
|
+
styleVariant: "icon-left",
|
|
11080
|
+
variant: "outline",
|
|
11081
|
+
size: "md",
|
|
11082
|
+
state: disableAllActions || !profileImage ? "disabled" : "default",
|
|
11083
|
+
onClick: handleDeleteImage
|
|
11084
|
+
}
|
|
11085
|
+
)
|
|
11086
|
+
]
|
|
11073
11087
|
}
|
|
11074
11088
|
)
|
|
11075
|
-
]
|
|
11076
|
-
]
|
|
11077
|
-
}
|
|
11078
|
-
),
|
|
11079
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11080
|
-
"div",
|
|
11081
|
-
{
|
|
11082
|
-
className: "shrink-0",
|
|
11083
|
-
style: {
|
|
11084
|
-
width: 0,
|
|
11085
|
-
alignSelf: "stretch",
|
|
11086
|
-
borderLeft: "0.5px solid var(--alias-border-divider)"
|
|
11089
|
+
]
|
|
11087
11090
|
}
|
|
11088
|
-
|
|
11089
|
-
|
|
11090
|
-
|
|
11091
|
-
|
|
11092
|
-
|
|
11093
|
-
|
|
11094
|
-
|
|
11095
|
-
|
|
11096
|
-
|
|
11097
|
-
|
|
11091
|
+
),
|
|
11092
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11093
|
+
"div",
|
|
11094
|
+
{
|
|
11095
|
+
className: "shrink-0",
|
|
11096
|
+
style: {
|
|
11097
|
+
width: 0,
|
|
11098
|
+
alignSelf: "stretch",
|
|
11099
|
+
borderLeft: "0.5px solid var(--alias-border-divider)"
|
|
11100
|
+
}
|
|
11101
|
+
}
|
|
11102
|
+
),
|
|
11103
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
11104
|
+
"div",
|
|
11105
|
+
{
|
|
11106
|
+
className: "flex flex-col flex-1 min-w-0",
|
|
11107
|
+
style: { gap: "var(--spacing-3xl)" },
|
|
11108
|
+
children: [
|
|
11109
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex items-start w-full", style: { gap: "var(--spacing-3xl)" }, children: [
|
|
11110
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex-1 min-w-0", style: { overflow: "hidden" }, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11111
|
+
import_ui12.ScTextField,
|
|
11112
|
+
{
|
|
11113
|
+
label: "Full Name",
|
|
11114
|
+
labelGroup: "label",
|
|
11115
|
+
state: "filled",
|
|
11116
|
+
placeholderFilled: "Enter your name",
|
|
11117
|
+
tfGroup: "none",
|
|
11118
|
+
className: "sc-text-field-full-width",
|
|
11119
|
+
style: { width: "100%" },
|
|
11120
|
+
value: fullName,
|
|
11121
|
+
onChange: (e) => setFullName(e.target.value)
|
|
11122
|
+
}
|
|
11123
|
+
) }),
|
|
11124
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11125
|
+
SpecializationDropdown,
|
|
11126
|
+
{
|
|
11127
|
+
value: selectedSpec,
|
|
11128
|
+
onChange: setSelectedSpec,
|
|
11129
|
+
disabled: disableAllActions
|
|
11130
|
+
}
|
|
11131
|
+
) })
|
|
11132
|
+
] }),
|
|
11133
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex items-start w-full", style: { gap: "var(--spacing-3xl)" }, children: [
|
|
11134
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11135
|
+
LanguageDropdown,
|
|
11136
|
+
{
|
|
11137
|
+
value: selectedLanguage,
|
|
11138
|
+
onChange: setSelectedLanguage,
|
|
11139
|
+
disabled: disableAllActions
|
|
11140
|
+
}
|
|
11141
|
+
) }),
|
|
11142
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex-1 min-w-0" })
|
|
11143
|
+
] }),
|
|
11144
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "w-full", style: { overflow: "hidden" }, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11098
11145
|
import_ui12.ScTextField,
|
|
11099
11146
|
{
|
|
11100
|
-
label: "
|
|
11147
|
+
label: "Email ID",
|
|
11101
11148
|
labelGroup: "label",
|
|
11102
|
-
state: "
|
|
11103
|
-
|
|
11104
|
-
|
|
11149
|
+
state: "default",
|
|
11150
|
+
value: user?.email ?? "",
|
|
11151
|
+
placeholderFilled: user?.email ?? "chris@kepler.com",
|
|
11152
|
+
tfGroup: "icon-right",
|
|
11153
|
+
tfRightIcon: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11154
|
+
import_icons12.SiconLock,
|
|
11155
|
+
{
|
|
11156
|
+
className: "w-6 h-6",
|
|
11157
|
+
color: "var(--alias-text---icons-primary)"
|
|
11158
|
+
}
|
|
11159
|
+
),
|
|
11105
11160
|
className: "sc-text-field-full-width",
|
|
11106
11161
|
style: { width: "100%" },
|
|
11107
|
-
|
|
11108
|
-
onChange: (e) => setFullName(e.target.value)
|
|
11162
|
+
readOnly: true
|
|
11109
11163
|
}
|
|
11110
11164
|
) }),
|
|
11111
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11112
|
-
|
|
11113
|
-
{
|
|
11114
|
-
value: selectedSpec,
|
|
11115
|
-
onChange: setSelectedSpec,
|
|
11116
|
-
disabled: disableAllActions
|
|
11117
|
-
}
|
|
11118
|
-
) })
|
|
11119
|
-
] }),
|
|
11120
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex items-start w-full", style: { gap: "var(--spacing-3xl)" }, children: [
|
|
11121
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11122
|
-
LanguageDropdown,
|
|
11165
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11166
|
+
"div",
|
|
11123
11167
|
{
|
|
11124
|
-
|
|
11125
|
-
|
|
11126
|
-
|
|
11127
|
-
}
|
|
11128
|
-
) }),
|
|
11129
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex-1 min-w-0" })
|
|
11130
|
-
] }),
|
|
11131
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "w-full", style: { overflow: "hidden" }, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11132
|
-
import_ui12.ScTextField,
|
|
11133
|
-
{
|
|
11134
|
-
label: "Email ID",
|
|
11135
|
-
labelGroup: "label",
|
|
11136
|
-
state: "default",
|
|
11137
|
-
value: user?.email ?? "",
|
|
11138
|
-
placeholderFilled: user?.email ?? "chris@kepler.com",
|
|
11139
|
-
tfGroup: "icon-right",
|
|
11140
|
-
tfRightIcon: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11141
|
-
import_icons12.SiconLock,
|
|
11142
|
-
{
|
|
11143
|
-
className: "w-6 h-6",
|
|
11144
|
-
color: "var(--alias-text---icons-primary)"
|
|
11145
|
-
}
|
|
11146
|
-
),
|
|
11147
|
-
className: "sc-text-field-full-width",
|
|
11148
|
-
style: { width: "100%" },
|
|
11149
|
-
readOnly: true
|
|
11150
|
-
}
|
|
11151
|
-
) }),
|
|
11152
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
11153
|
-
"div",
|
|
11154
|
-
{
|
|
11155
|
-
className: "flex items-center w-full",
|
|
11156
|
-
style: { gap: "var(--spacing-3xl)", justifyContent: "flex-end", paddingTop: "var(--spacing-md)" },
|
|
11157
|
-
children: [
|
|
11158
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11168
|
+
className: "flex items-center w-full",
|
|
11169
|
+
style: { justifyContent: "flex-end", paddingTop: "var(--spacing-md)" },
|
|
11170
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11159
11171
|
import_ui13.ScButton,
|
|
11160
11172
|
{
|
|
11161
11173
|
text: saving ? "Saving..." : "Save changes",
|
|
@@ -11164,25 +11176,69 @@ function ProfileTab() {
|
|
|
11164
11176
|
state: saving || !dirty ? "disabled" : "default",
|
|
11165
11177
|
onClick: handleSave
|
|
11166
11178
|
}
|
|
11167
|
-
),
|
|
11168
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11169
|
-
import_ui13.ScButton,
|
|
11170
|
-
{
|
|
11171
|
-
text: "Logout",
|
|
11172
|
-
variant: "error",
|
|
11173
|
-
size: "md",
|
|
11174
|
-
onClick: handleLogout
|
|
11175
|
-
}
|
|
11176
11179
|
)
|
|
11177
|
-
|
|
11178
|
-
|
|
11179
|
-
|
|
11180
|
-
|
|
11181
|
-
|
|
11182
|
-
|
|
11183
|
-
|
|
11184
|
-
|
|
11185
|
-
|
|
11180
|
+
}
|
|
11181
|
+
)
|
|
11182
|
+
]
|
|
11183
|
+
}
|
|
11184
|
+
)
|
|
11185
|
+
]
|
|
11186
|
+
}
|
|
11187
|
+
),
|
|
11188
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
11189
|
+
"div",
|
|
11190
|
+
{
|
|
11191
|
+
className: "flex items-center w-full",
|
|
11192
|
+
style: {
|
|
11193
|
+
backgroundColor: "var(--alias-surface-base)",
|
|
11194
|
+
borderRadius: "var(--radius-3xl)",
|
|
11195
|
+
border: "1px solid var(--alias-border-subtle)",
|
|
11196
|
+
padding: "var(--spacing-6xl)",
|
|
11197
|
+
gap: "var(--spacing-3xl)"
|
|
11198
|
+
},
|
|
11199
|
+
children: [
|
|
11200
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex flex-col min-w-0 flex-1", style: { gap: "var(--spacing-xs)" }, children: [
|
|
11201
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11202
|
+
"span",
|
|
11203
|
+
{
|
|
11204
|
+
style: {
|
|
11205
|
+
fontFamily: "var(--font-family-font-family-body)",
|
|
11206
|
+
fontSize: "var(--font-size-font-size-md)",
|
|
11207
|
+
fontWeight: 600,
|
|
11208
|
+
lineHeight: "var(--line-height-line-height-md)",
|
|
11209
|
+
color: "var(--alias-text---icons-primary)"
|
|
11210
|
+
},
|
|
11211
|
+
children: "Session"
|
|
11212
|
+
}
|
|
11213
|
+
),
|
|
11214
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11215
|
+
"span",
|
|
11216
|
+
{
|
|
11217
|
+
className: "truncate",
|
|
11218
|
+
style: {
|
|
11219
|
+
fontFamily: "var(--font-family-font-family-body)",
|
|
11220
|
+
fontSize: "var(--font-size-font-size-sm)",
|
|
11221
|
+
lineHeight: "var(--line-height-line-height-sm)",
|
|
11222
|
+
color: "var(--alias-text---icons-muted)"
|
|
11223
|
+
},
|
|
11224
|
+
title: user?.email ?? void 0,
|
|
11225
|
+
children: user?.email ? `Signed in as ${user.email}` : "Signed in"
|
|
11226
|
+
}
|
|
11227
|
+
)
|
|
11228
|
+
] }),
|
|
11229
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
11230
|
+
import_ui13.ScButton,
|
|
11231
|
+
{
|
|
11232
|
+
text: "Log out",
|
|
11233
|
+
variant: "outline",
|
|
11234
|
+
size: "md",
|
|
11235
|
+
onClick: handleLogout
|
|
11236
|
+
}
|
|
11237
|
+
)
|
|
11238
|
+
]
|
|
11239
|
+
}
|
|
11240
|
+
)
|
|
11241
|
+
]
|
|
11186
11242
|
}
|
|
11187
11243
|
);
|
|
11188
11244
|
}
|
|
@@ -11401,6 +11457,7 @@ function SettingsContent({
|
|
|
11401
11457
|
adapters,
|
|
11402
11458
|
activeTab = "profile",
|
|
11403
11459
|
onClose,
|
|
11460
|
+
onBack,
|
|
11404
11461
|
hiddenApps
|
|
11405
11462
|
}) {
|
|
11406
11463
|
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(SettingsAdaptersProvider, { adapters, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
@@ -11408,6 +11465,7 @@ function SettingsContent({
|
|
|
11408
11465
|
{
|
|
11409
11466
|
activeTab,
|
|
11410
11467
|
onClose: onClose ?? adapters.navigation.close,
|
|
11468
|
+
onBack: onBack === null ? null : onBack ?? adapters.navigation.back,
|
|
11411
11469
|
hiddenApps
|
|
11412
11470
|
}
|
|
11413
11471
|
) });
|
|
@@ -11415,6 +11473,7 @@ function SettingsContent({
|
|
|
11415
11473
|
function SettingsContentInner({
|
|
11416
11474
|
activeTab,
|
|
11417
11475
|
onClose,
|
|
11476
|
+
onBack,
|
|
11418
11477
|
hiddenApps
|
|
11419
11478
|
}) {
|
|
11420
11479
|
const {
|
|
@@ -11785,6 +11844,33 @@ function SettingsContentInner({
|
|
|
11785
11844
|
width: "100%"
|
|
11786
11845
|
},
|
|
11787
11846
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex flex-col w-full flex-1 min-h-0", style: { gap: 20, paddingTop: 16 }, children: [
|
|
11847
|
+
onBack !== null && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex items-center shrink-0", style: { paddingLeft: 20 }, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
11848
|
+
"button",
|
|
11849
|
+
{
|
|
11850
|
+
type: "button",
|
|
11851
|
+
"aria-label": "Back to previous screen",
|
|
11852
|
+
className: "flex items-center cursor-pointer",
|
|
11853
|
+
style: {
|
|
11854
|
+
gap: "var(--spacing-sm)",
|
|
11855
|
+
padding: "var(--spacing-xs) var(--spacing-md)",
|
|
11856
|
+
marginLeft: "calc(var(--spacing-md) * -1)",
|
|
11857
|
+
border: "1px solid transparent",
|
|
11858
|
+
borderRadius: "var(--radius-xl)",
|
|
11859
|
+
background: "transparent",
|
|
11860
|
+
height: 32,
|
|
11861
|
+
color: "var(--alias-text---icons-muted)",
|
|
11862
|
+
fontFamily: "var(--font-family-font-family-body)",
|
|
11863
|
+
fontSize: "var(--font-size-font-size-sm)",
|
|
11864
|
+
fontWeight: 500,
|
|
11865
|
+
lineHeight: "var(--line-height-line-height-sm)"
|
|
11866
|
+
},
|
|
11867
|
+
onClick: () => onBack ? onBack() : window.history.back(),
|
|
11868
|
+
children: [
|
|
11869
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_icons12.SiconLeft, { className: "w-4 h-4 shrink-0", color: "var(--alias-text---icons-muted)" }),
|
|
11870
|
+
"Back"
|
|
11871
|
+
]
|
|
11872
|
+
}
|
|
11873
|
+
) }),
|
|
11788
11874
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
11789
11875
|
"div",
|
|
11790
11876
|
{
|
package/dist/index.mjs
CHANGED
|
@@ -7,7 +7,6 @@ import {
|
|
|
7
7
|
} from "react";
|
|
8
8
|
import {
|
|
9
9
|
ScSidebarMenu,
|
|
10
|
-
ScVDivider,
|
|
11
10
|
ScHDivider,
|
|
12
11
|
ScMenuOptions
|
|
13
12
|
} from "@streamoid/ui";
|
|
@@ -1476,7 +1475,11 @@ var TAB_LABELS = {
|
|
|
1476
1475
|
organizationWorkspaces: "Workspaces",
|
|
1477
1476
|
organizationDomains: "Domains & requests",
|
|
1478
1477
|
referral: "Referral",
|
|
1479
|
-
|
|
1478
|
+
/* "Billing & usage", not "Billing". The tab has held usage history as well
|
|
1479
|
+
as the plan and invoices since the credits work, and hosts had started
|
|
1480
|
+
saying "Billing & usage" in their own rails while this said "Billing" —
|
|
1481
|
+
so the nav item and the thing it opened disagreed by a word. */
|
|
1482
|
+
billing: "Billing & usage",
|
|
1480
1483
|
apikey: "API Keys"
|
|
1481
1484
|
};
|
|
1482
1485
|
var TAB_DESCRIPTIONS = {
|
|
@@ -10977,194 +10980,202 @@ function ProfileTab() {
|
|
|
10977
10980
|
}
|
|
10978
10981
|
auth.clearAuth();
|
|
10979
10982
|
};
|
|
10980
|
-
return /* @__PURE__ */
|
|
10983
|
+
return /* @__PURE__ */ jsxs18(
|
|
10981
10984
|
"div",
|
|
10982
10985
|
{
|
|
10983
10986
|
className: "flex flex-col items-start flex-1 min-w-0",
|
|
10984
10987
|
style: { gap: "var(--spacing-3xl)" },
|
|
10985
|
-
children:
|
|
10986
|
-
|
|
10987
|
-
|
|
10988
|
-
|
|
10989
|
-
|
|
10990
|
-
|
|
10991
|
-
|
|
10992
|
-
|
|
10993
|
-
|
|
10994
|
-
|
|
10995
|
-
|
|
10996
|
-
|
|
10997
|
-
|
|
10998
|
-
|
|
10999
|
-
|
|
11000
|
-
|
|
11001
|
-
|
|
11002
|
-
|
|
11003
|
-
|
|
11004
|
-
|
|
11005
|
-
|
|
11006
|
-
|
|
11007
|
-
|
|
11008
|
-
|
|
11009
|
-
|
|
11010
|
-
|
|
11011
|
-
|
|
11012
|
-
|
|
11013
|
-
|
|
11014
|
-
|
|
11015
|
-
}
|
|
11016
|
-
) : /* @__PURE__ */ jsx20(
|
|
11017
|
-
"div",
|
|
11018
|
-
{
|
|
11019
|
-
"aria-label": "Profile",
|
|
11020
|
-
className: "flex items-center justify-center",
|
|
11021
|
-
style: {
|
|
11022
|
-
width: 100,
|
|
11023
|
-
height: 100,
|
|
11024
|
-
borderRadius: "var(--radius-full)",
|
|
11025
|
-
backgroundColor: "var(--alias-surface-raised)",
|
|
11026
|
-
border: "1px solid var(--alias-border-subtle)",
|
|
11027
|
-
flexShrink: 0
|
|
11028
|
-
},
|
|
11029
|
-
children: /* @__PURE__ */ jsx20(
|
|
11030
|
-
"span",
|
|
11031
|
-
{
|
|
11032
|
-
style: {
|
|
11033
|
-
color: "var(--alias-text---icons-primary)",
|
|
11034
|
-
fontFamily: "var(--font-family-font-family-display)",
|
|
11035
|
-
fontSize: 34,
|
|
11036
|
-
fontWeight: 600,
|
|
11037
|
-
lineHeight: "34px"
|
|
11038
|
-
},
|
|
11039
|
-
children: profileInitial
|
|
10988
|
+
children: [
|
|
10989
|
+
/* @__PURE__ */ jsxs18(
|
|
10990
|
+
"div",
|
|
10991
|
+
{
|
|
10992
|
+
className: "flex items-start w-full",
|
|
10993
|
+
style: {
|
|
10994
|
+
backgroundColor: "var(--alias-surface-base)",
|
|
10995
|
+
borderRadius: "var(--radius-3xl)",
|
|
10996
|
+
border: "1px solid var(--alias-border-subtle)",
|
|
10997
|
+
padding: "var(--spacing-6xl)",
|
|
10998
|
+
gap: "var(--spacing-6xl)"
|
|
10999
|
+
},
|
|
11000
|
+
children: [
|
|
11001
|
+
/* @__PURE__ */ jsxs18(
|
|
11002
|
+
"div",
|
|
11003
|
+
{
|
|
11004
|
+
className: "flex flex-col items-center shrink-0",
|
|
11005
|
+
style: { gap: "var(--spacing-md)", width: 120 },
|
|
11006
|
+
children: [
|
|
11007
|
+
profileImage ? /* @__PURE__ */ jsx20(
|
|
11008
|
+
"img",
|
|
11009
|
+
{
|
|
11010
|
+
src: profileImage,
|
|
11011
|
+
alt: "Profile",
|
|
11012
|
+
style: {
|
|
11013
|
+
width: 100,
|
|
11014
|
+
height: 100,
|
|
11015
|
+
borderRadius: "var(--radius-full)",
|
|
11016
|
+
objectFit: "cover",
|
|
11017
|
+
flexShrink: 0
|
|
11040
11018
|
}
|
|
11041
|
-
|
|
11042
|
-
|
|
11043
|
-
|
|
11044
|
-
/* @__PURE__ */ jsx20(
|
|
11045
|
-
"input",
|
|
11046
|
-
{
|
|
11047
|
-
ref: fileInputRef,
|
|
11048
|
-
type: "file",
|
|
11049
|
-
accept: "image/*",
|
|
11050
|
-
style: { display: "none" },
|
|
11051
|
-
onChange: handleImageChange
|
|
11052
|
-
}
|
|
11053
|
-
),
|
|
11054
|
-
/* @__PURE__ */ jsxs18("div", { className: "flex items-center justify-center", style: { gap: 10 }, children: [
|
|
11055
|
-
/* @__PURE__ */ jsx20(
|
|
11056
|
-
ScButton7,
|
|
11019
|
+
}
|
|
11020
|
+
) : /* @__PURE__ */ jsx20(
|
|
11021
|
+
"div",
|
|
11057
11022
|
{
|
|
11058
|
-
|
|
11059
|
-
|
|
11060
|
-
|
|
11061
|
-
|
|
11062
|
-
|
|
11063
|
-
|
|
11023
|
+
"aria-label": "Profile",
|
|
11024
|
+
className: "flex items-center justify-center",
|
|
11025
|
+
style: {
|
|
11026
|
+
width: 100,
|
|
11027
|
+
height: 100,
|
|
11028
|
+
borderRadius: "var(--radius-full)",
|
|
11029
|
+
backgroundColor: "var(--alias-surface-raised)",
|
|
11030
|
+
border: "1px solid var(--alias-border-subtle)",
|
|
11031
|
+
flexShrink: 0
|
|
11032
|
+
},
|
|
11033
|
+
children: /* @__PURE__ */ jsx20(
|
|
11034
|
+
"span",
|
|
11035
|
+
{
|
|
11036
|
+
style: {
|
|
11037
|
+
color: "var(--alias-text---icons-primary)",
|
|
11038
|
+
fontFamily: "var(--font-family-font-family-display)",
|
|
11039
|
+
fontSize: 34,
|
|
11040
|
+
fontWeight: 600,
|
|
11041
|
+
lineHeight: "34px"
|
|
11042
|
+
},
|
|
11043
|
+
children: profileInitial
|
|
11044
|
+
}
|
|
11045
|
+
)
|
|
11064
11046
|
}
|
|
11065
11047
|
),
|
|
11066
|
-
/* @__PURE__ */ jsx20(ScVDivider, {}),
|
|
11067
11048
|
/* @__PURE__ */ jsx20(
|
|
11068
|
-
|
|
11049
|
+
"input",
|
|
11069
11050
|
{
|
|
11070
|
-
|
|
11071
|
-
|
|
11072
|
-
|
|
11073
|
-
|
|
11074
|
-
|
|
11075
|
-
|
|
11076
|
-
|
|
11077
|
-
|
|
11078
|
-
|
|
11079
|
-
|
|
11080
|
-
|
|
11081
|
-
|
|
11051
|
+
ref: fileInputRef,
|
|
11052
|
+
type: "file",
|
|
11053
|
+
accept: "image/*",
|
|
11054
|
+
style: { display: "none" },
|
|
11055
|
+
onChange: handleImageChange
|
|
11056
|
+
}
|
|
11057
|
+
),
|
|
11058
|
+
/* @__PURE__ */ jsxs18(
|
|
11059
|
+
"div",
|
|
11060
|
+
{
|
|
11061
|
+
className: "flex flex-col items-stretch w-full",
|
|
11062
|
+
style: { gap: "var(--spacing-md)" },
|
|
11063
|
+
children: [
|
|
11064
|
+
/* @__PURE__ */ jsx20(
|
|
11065
|
+
ScButton7,
|
|
11066
|
+
{
|
|
11067
|
+
text: "Upload photo",
|
|
11068
|
+
icon: /* @__PURE__ */ jsx20(SiconUpload2, { className: "w-5 h-5", color: PRIMARY_COLOR3 }),
|
|
11069
|
+
styleVariant: "icon-left",
|
|
11070
|
+
variant: "outline",
|
|
11071
|
+
size: "md",
|
|
11072
|
+
state: disableAllActions ? "disabled" : "default",
|
|
11073
|
+
onClick: handleUploadClick
|
|
11074
|
+
}
|
|
11075
|
+
),
|
|
11076
|
+
/* @__PURE__ */ jsx20(
|
|
11077
|
+
ScButton7,
|
|
11078
|
+
{
|
|
11079
|
+
text: "Remove photo",
|
|
11080
|
+
icon: /* @__PURE__ */ jsx20(
|
|
11081
|
+
SiconDelete,
|
|
11082
|
+
{
|
|
11083
|
+
className: "w-5 h-5",
|
|
11084
|
+
color: PRIMARY_COLOR3
|
|
11085
|
+
}
|
|
11086
|
+
),
|
|
11087
|
+
styleVariant: "icon-left",
|
|
11088
|
+
variant: "outline",
|
|
11089
|
+
size: "md",
|
|
11090
|
+
state: disableAllActions || !profileImage ? "disabled" : "default",
|
|
11091
|
+
onClick: handleDeleteImage
|
|
11092
|
+
}
|
|
11093
|
+
)
|
|
11094
|
+
]
|
|
11082
11095
|
}
|
|
11083
11096
|
)
|
|
11084
|
-
]
|
|
11085
|
-
]
|
|
11086
|
-
}
|
|
11087
|
-
),
|
|
11088
|
-
/* @__PURE__ */ jsx20(
|
|
11089
|
-
"div",
|
|
11090
|
-
{
|
|
11091
|
-
className: "shrink-0",
|
|
11092
|
-
style: {
|
|
11093
|
-
width: 0,
|
|
11094
|
-
alignSelf: "stretch",
|
|
11095
|
-
borderLeft: "0.5px solid var(--alias-border-divider)"
|
|
11097
|
+
]
|
|
11096
11098
|
}
|
|
11097
|
-
|
|
11098
|
-
|
|
11099
|
-
|
|
11100
|
-
|
|
11101
|
-
|
|
11102
|
-
|
|
11103
|
-
|
|
11104
|
-
|
|
11105
|
-
|
|
11106
|
-
|
|
11099
|
+
),
|
|
11100
|
+
/* @__PURE__ */ jsx20(
|
|
11101
|
+
"div",
|
|
11102
|
+
{
|
|
11103
|
+
className: "shrink-0",
|
|
11104
|
+
style: {
|
|
11105
|
+
width: 0,
|
|
11106
|
+
alignSelf: "stretch",
|
|
11107
|
+
borderLeft: "0.5px solid var(--alias-border-divider)"
|
|
11108
|
+
}
|
|
11109
|
+
}
|
|
11110
|
+
),
|
|
11111
|
+
/* @__PURE__ */ jsxs18(
|
|
11112
|
+
"div",
|
|
11113
|
+
{
|
|
11114
|
+
className: "flex flex-col flex-1 min-w-0",
|
|
11115
|
+
style: { gap: "var(--spacing-3xl)" },
|
|
11116
|
+
children: [
|
|
11117
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex items-start w-full", style: { gap: "var(--spacing-3xl)" }, children: [
|
|
11118
|
+
/* @__PURE__ */ jsx20("div", { className: "flex-1 min-w-0", style: { overflow: "hidden" }, children: /* @__PURE__ */ jsx20(
|
|
11119
|
+
ScTextField,
|
|
11120
|
+
{
|
|
11121
|
+
label: "Full Name",
|
|
11122
|
+
labelGroup: "label",
|
|
11123
|
+
state: "filled",
|
|
11124
|
+
placeholderFilled: "Enter your name",
|
|
11125
|
+
tfGroup: "none",
|
|
11126
|
+
className: "sc-text-field-full-width",
|
|
11127
|
+
style: { width: "100%" },
|
|
11128
|
+
value: fullName,
|
|
11129
|
+
onChange: (e) => setFullName(e.target.value)
|
|
11130
|
+
}
|
|
11131
|
+
) }),
|
|
11132
|
+
/* @__PURE__ */ jsx20("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ jsx20(
|
|
11133
|
+
SpecializationDropdown,
|
|
11134
|
+
{
|
|
11135
|
+
value: selectedSpec,
|
|
11136
|
+
onChange: setSelectedSpec,
|
|
11137
|
+
disabled: disableAllActions
|
|
11138
|
+
}
|
|
11139
|
+
) })
|
|
11140
|
+
] }),
|
|
11141
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex items-start w-full", style: { gap: "var(--spacing-3xl)" }, children: [
|
|
11142
|
+
/* @__PURE__ */ jsx20("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ jsx20(
|
|
11143
|
+
LanguageDropdown,
|
|
11144
|
+
{
|
|
11145
|
+
value: selectedLanguage,
|
|
11146
|
+
onChange: setSelectedLanguage,
|
|
11147
|
+
disabled: disableAllActions
|
|
11148
|
+
}
|
|
11149
|
+
) }),
|
|
11150
|
+
/* @__PURE__ */ jsx20("div", { className: "flex-1 min-w-0" })
|
|
11151
|
+
] }),
|
|
11152
|
+
/* @__PURE__ */ jsx20("div", { className: "w-full", style: { overflow: "hidden" }, children: /* @__PURE__ */ jsx20(
|
|
11107
11153
|
ScTextField,
|
|
11108
11154
|
{
|
|
11109
|
-
label: "
|
|
11155
|
+
label: "Email ID",
|
|
11110
11156
|
labelGroup: "label",
|
|
11111
|
-
state: "
|
|
11112
|
-
|
|
11113
|
-
|
|
11157
|
+
state: "default",
|
|
11158
|
+
value: user?.email ?? "",
|
|
11159
|
+
placeholderFilled: user?.email ?? "chris@kepler.com",
|
|
11160
|
+
tfGroup: "icon-right",
|
|
11161
|
+
tfRightIcon: /* @__PURE__ */ jsx20(
|
|
11162
|
+
SiconLock,
|
|
11163
|
+
{
|
|
11164
|
+
className: "w-6 h-6",
|
|
11165
|
+
color: "var(--alias-text---icons-primary)"
|
|
11166
|
+
}
|
|
11167
|
+
),
|
|
11114
11168
|
className: "sc-text-field-full-width",
|
|
11115
11169
|
style: { width: "100%" },
|
|
11116
|
-
|
|
11117
|
-
onChange: (e) => setFullName(e.target.value)
|
|
11170
|
+
readOnly: true
|
|
11118
11171
|
}
|
|
11119
11172
|
) }),
|
|
11120
|
-
/* @__PURE__ */ jsx20(
|
|
11121
|
-
|
|
11122
|
-
{
|
|
11123
|
-
value: selectedSpec,
|
|
11124
|
-
onChange: setSelectedSpec,
|
|
11125
|
-
disabled: disableAllActions
|
|
11126
|
-
}
|
|
11127
|
-
) })
|
|
11128
|
-
] }),
|
|
11129
|
-
/* @__PURE__ */ jsxs18("div", { className: "flex items-start w-full", style: { gap: "var(--spacing-3xl)" }, children: [
|
|
11130
|
-
/* @__PURE__ */ jsx20("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ jsx20(
|
|
11131
|
-
LanguageDropdown,
|
|
11173
|
+
/* @__PURE__ */ jsx20(
|
|
11174
|
+
"div",
|
|
11132
11175
|
{
|
|
11133
|
-
|
|
11134
|
-
|
|
11135
|
-
|
|
11136
|
-
}
|
|
11137
|
-
) }),
|
|
11138
|
-
/* @__PURE__ */ jsx20("div", { className: "flex-1 min-w-0" })
|
|
11139
|
-
] }),
|
|
11140
|
-
/* @__PURE__ */ jsx20("div", { className: "w-full", style: { overflow: "hidden" }, children: /* @__PURE__ */ jsx20(
|
|
11141
|
-
ScTextField,
|
|
11142
|
-
{
|
|
11143
|
-
label: "Email ID",
|
|
11144
|
-
labelGroup: "label",
|
|
11145
|
-
state: "default",
|
|
11146
|
-
value: user?.email ?? "",
|
|
11147
|
-
placeholderFilled: user?.email ?? "chris@kepler.com",
|
|
11148
|
-
tfGroup: "icon-right",
|
|
11149
|
-
tfRightIcon: /* @__PURE__ */ jsx20(
|
|
11150
|
-
SiconLock,
|
|
11151
|
-
{
|
|
11152
|
-
className: "w-6 h-6",
|
|
11153
|
-
color: "var(--alias-text---icons-primary)"
|
|
11154
|
-
}
|
|
11155
|
-
),
|
|
11156
|
-
className: "sc-text-field-full-width",
|
|
11157
|
-
style: { width: "100%" },
|
|
11158
|
-
readOnly: true
|
|
11159
|
-
}
|
|
11160
|
-
) }),
|
|
11161
|
-
/* @__PURE__ */ jsxs18(
|
|
11162
|
-
"div",
|
|
11163
|
-
{
|
|
11164
|
-
className: "flex items-center w-full",
|
|
11165
|
-
style: { gap: "var(--spacing-3xl)", justifyContent: "flex-end", paddingTop: "var(--spacing-md)" },
|
|
11166
|
-
children: [
|
|
11167
|
-
/* @__PURE__ */ jsx20(
|
|
11176
|
+
className: "flex items-center w-full",
|
|
11177
|
+
style: { justifyContent: "flex-end", paddingTop: "var(--spacing-md)" },
|
|
11178
|
+
children: /* @__PURE__ */ jsx20(
|
|
11168
11179
|
ScButton7,
|
|
11169
11180
|
{
|
|
11170
11181
|
text: saving ? "Saving..." : "Save changes",
|
|
@@ -11173,25 +11184,69 @@ function ProfileTab() {
|
|
|
11173
11184
|
state: saving || !dirty ? "disabled" : "default",
|
|
11174
11185
|
onClick: handleSave
|
|
11175
11186
|
}
|
|
11176
|
-
),
|
|
11177
|
-
/* @__PURE__ */ jsx20(
|
|
11178
|
-
ScButton7,
|
|
11179
|
-
{
|
|
11180
|
-
text: "Logout",
|
|
11181
|
-
variant: "error",
|
|
11182
|
-
size: "md",
|
|
11183
|
-
onClick: handleLogout
|
|
11184
|
-
}
|
|
11185
11187
|
)
|
|
11186
|
-
|
|
11187
|
-
|
|
11188
|
-
|
|
11189
|
-
|
|
11190
|
-
|
|
11191
|
-
|
|
11192
|
-
|
|
11193
|
-
|
|
11194
|
-
|
|
11188
|
+
}
|
|
11189
|
+
)
|
|
11190
|
+
]
|
|
11191
|
+
}
|
|
11192
|
+
)
|
|
11193
|
+
]
|
|
11194
|
+
}
|
|
11195
|
+
),
|
|
11196
|
+
/* @__PURE__ */ jsxs18(
|
|
11197
|
+
"div",
|
|
11198
|
+
{
|
|
11199
|
+
className: "flex items-center w-full",
|
|
11200
|
+
style: {
|
|
11201
|
+
backgroundColor: "var(--alias-surface-base)",
|
|
11202
|
+
borderRadius: "var(--radius-3xl)",
|
|
11203
|
+
border: "1px solid var(--alias-border-subtle)",
|
|
11204
|
+
padding: "var(--spacing-6xl)",
|
|
11205
|
+
gap: "var(--spacing-3xl)"
|
|
11206
|
+
},
|
|
11207
|
+
children: [
|
|
11208
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex flex-col min-w-0 flex-1", style: { gap: "var(--spacing-xs)" }, children: [
|
|
11209
|
+
/* @__PURE__ */ jsx20(
|
|
11210
|
+
"span",
|
|
11211
|
+
{
|
|
11212
|
+
style: {
|
|
11213
|
+
fontFamily: "var(--font-family-font-family-body)",
|
|
11214
|
+
fontSize: "var(--font-size-font-size-md)",
|
|
11215
|
+
fontWeight: 600,
|
|
11216
|
+
lineHeight: "var(--line-height-line-height-md)",
|
|
11217
|
+
color: "var(--alias-text---icons-primary)"
|
|
11218
|
+
},
|
|
11219
|
+
children: "Session"
|
|
11220
|
+
}
|
|
11221
|
+
),
|
|
11222
|
+
/* @__PURE__ */ jsx20(
|
|
11223
|
+
"span",
|
|
11224
|
+
{
|
|
11225
|
+
className: "truncate",
|
|
11226
|
+
style: {
|
|
11227
|
+
fontFamily: "var(--font-family-font-family-body)",
|
|
11228
|
+
fontSize: "var(--font-size-font-size-sm)",
|
|
11229
|
+
lineHeight: "var(--line-height-line-height-sm)",
|
|
11230
|
+
color: "var(--alias-text---icons-muted)"
|
|
11231
|
+
},
|
|
11232
|
+
title: user?.email ?? void 0,
|
|
11233
|
+
children: user?.email ? `Signed in as ${user.email}` : "Signed in"
|
|
11234
|
+
}
|
|
11235
|
+
)
|
|
11236
|
+
] }),
|
|
11237
|
+
/* @__PURE__ */ jsx20(
|
|
11238
|
+
ScButton7,
|
|
11239
|
+
{
|
|
11240
|
+
text: "Log out",
|
|
11241
|
+
variant: "outline",
|
|
11242
|
+
size: "md",
|
|
11243
|
+
onClick: handleLogout
|
|
11244
|
+
}
|
|
11245
|
+
)
|
|
11246
|
+
]
|
|
11247
|
+
}
|
|
11248
|
+
)
|
|
11249
|
+
]
|
|
11195
11250
|
}
|
|
11196
11251
|
);
|
|
11197
11252
|
}
|
|
@@ -11410,6 +11465,7 @@ function SettingsContent({
|
|
|
11410
11465
|
adapters,
|
|
11411
11466
|
activeTab = "profile",
|
|
11412
11467
|
onClose,
|
|
11468
|
+
onBack,
|
|
11413
11469
|
hiddenApps
|
|
11414
11470
|
}) {
|
|
11415
11471
|
return /* @__PURE__ */ jsx20(SettingsAdaptersProvider, { adapters, children: /* @__PURE__ */ jsx20(
|
|
@@ -11417,6 +11473,7 @@ function SettingsContent({
|
|
|
11417
11473
|
{
|
|
11418
11474
|
activeTab,
|
|
11419
11475
|
onClose: onClose ?? adapters.navigation.close,
|
|
11476
|
+
onBack: onBack === null ? null : onBack ?? adapters.navigation.back,
|
|
11420
11477
|
hiddenApps
|
|
11421
11478
|
}
|
|
11422
11479
|
) });
|
|
@@ -11424,6 +11481,7 @@ function SettingsContent({
|
|
|
11424
11481
|
function SettingsContentInner({
|
|
11425
11482
|
activeTab,
|
|
11426
11483
|
onClose,
|
|
11484
|
+
onBack,
|
|
11427
11485
|
hiddenApps
|
|
11428
11486
|
}) {
|
|
11429
11487
|
const {
|
|
@@ -11794,6 +11852,33 @@ function SettingsContentInner({
|
|
|
11794
11852
|
width: "100%"
|
|
11795
11853
|
},
|
|
11796
11854
|
children: /* @__PURE__ */ jsxs18("div", { className: "flex flex-col w-full flex-1 min-h-0", style: { gap: 20, paddingTop: 16 }, children: [
|
|
11855
|
+
onBack !== null && /* @__PURE__ */ jsx20("div", { className: "flex items-center shrink-0", style: { paddingLeft: 20 }, children: /* @__PURE__ */ jsxs18(
|
|
11856
|
+
"button",
|
|
11857
|
+
{
|
|
11858
|
+
type: "button",
|
|
11859
|
+
"aria-label": "Back to previous screen",
|
|
11860
|
+
className: "flex items-center cursor-pointer",
|
|
11861
|
+
style: {
|
|
11862
|
+
gap: "var(--spacing-sm)",
|
|
11863
|
+
padding: "var(--spacing-xs) var(--spacing-md)",
|
|
11864
|
+
marginLeft: "calc(var(--spacing-md) * -1)",
|
|
11865
|
+
border: "1px solid transparent",
|
|
11866
|
+
borderRadius: "var(--radius-xl)",
|
|
11867
|
+
background: "transparent",
|
|
11868
|
+
height: 32,
|
|
11869
|
+
color: "var(--alias-text---icons-muted)",
|
|
11870
|
+
fontFamily: "var(--font-family-font-family-body)",
|
|
11871
|
+
fontSize: "var(--font-size-font-size-sm)",
|
|
11872
|
+
fontWeight: 500,
|
|
11873
|
+
lineHeight: "var(--line-height-line-height-sm)"
|
|
11874
|
+
},
|
|
11875
|
+
onClick: () => onBack ? onBack() : window.history.back(),
|
|
11876
|
+
children: [
|
|
11877
|
+
/* @__PURE__ */ jsx20(SiconLeft3, { className: "w-4 h-4 shrink-0", color: "var(--alias-text---icons-muted)" }),
|
|
11878
|
+
"Back"
|
|
11879
|
+
]
|
|
11880
|
+
}
|
|
11881
|
+
) }),
|
|
11797
11882
|
/* @__PURE__ */ jsxs18(
|
|
11798
11883
|
"div",
|
|
11799
11884
|
{
|