@streamoid/settings 0.4.4 → 0.4.6
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 +7 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +57 -46
- package/dist/index.mjs +60 -49
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1102,6 +1102,13 @@ declare function MemberListFrame({ header, emptyText, isEmpty, grow, maxHeight,
|
|
|
1102
1102
|
* Derived by intersecting this workspace's members with the organization's, so
|
|
1103
1103
|
* it states a fact both APIs already report — it is not a guess at an
|
|
1104
1104
|
* "inherited permission" flag, which no endpoint exposes.
|
|
1105
|
+
*
|
|
1106
|
+
* ONLY ADMINS GET A CHIP NOW. The other state read "in org", which told you
|
|
1107
|
+
* that someone in the workspace list is also in the organization -- true of
|
|
1108
|
+
* nearly everyone, actionable for no one, and one more thing to read on every
|
|
1109
|
+
* row. An org admin is different: they keep access to this workspace whatever
|
|
1110
|
+
* is set here, and they are who you ask for permissions. That is worth a chip;
|
|
1111
|
+
* "also in the org" is not.
|
|
1105
1112
|
*/
|
|
1106
1113
|
declare function OrgMembershipTag({ organizationName, isOrgAdmin, }: {
|
|
1107
1114
|
organizationName?: string | null;
|
package/dist/index.d.ts
CHANGED
|
@@ -1102,6 +1102,13 @@ declare function MemberListFrame({ header, emptyText, isEmpty, grow, maxHeight,
|
|
|
1102
1102
|
* Derived by intersecting this workspace's members with the organization's, so
|
|
1103
1103
|
* it states a fact both APIs already report — it is not a guess at an
|
|
1104
1104
|
* "inherited permission" flag, which no endpoint exposes.
|
|
1105
|
+
*
|
|
1106
|
+
* ONLY ADMINS GET A CHIP NOW. The other state read "in org", which told you
|
|
1107
|
+
* that someone in the workspace list is also in the organization -- true of
|
|
1108
|
+
* nearly everyone, actionable for no one, and one more thing to read on every
|
|
1109
|
+
* row. An org admin is different: they keep access to this workspace whatever
|
|
1110
|
+
* is set here, and they are who you ask for permissions. That is worth a chip;
|
|
1111
|
+
* "also in the org" is not.
|
|
1105
1112
|
*/
|
|
1106
1113
|
declare function OrgMembershipTag({ organizationName, isOrgAdmin, }: {
|
|
1107
1114
|
organizationName?: string | null;
|
package/dist/index.js
CHANGED
|
@@ -2175,7 +2175,7 @@ function OrganizationAffiliationCard({
|
|
|
2175
2175
|
"Failed to change visibility"
|
|
2176
2176
|
);
|
|
2177
2177
|
},
|
|
2178
|
-
children: opt === "private" ? "Only
|
|
2178
|
+
children: opt === "private" ? "Only workspace members" : "Everyone in the organization"
|
|
2179
2179
|
},
|
|
2180
2180
|
opt
|
|
2181
2181
|
);
|
|
@@ -3835,8 +3835,22 @@ function OrgMembershipTag({
|
|
|
3835
3835
|
border: `1px solid ${isOrgAdmin ? T7.primary : T7.borderSubtle}`,
|
|
3836
3836
|
backgroundColor: "transparent"
|
|
3837
3837
|
},
|
|
3838
|
-
title:
|
|
3839
|
-
children:
|
|
3838
|
+
title: `Admin of ${org} \u2014 keeps access to this workspace regardless of what is set here. Manage under Organization \u203A People.`,
|
|
3839
|
+
children: "Org admin"
|
|
3840
|
+
}
|
|
3841
|
+
);
|
|
3842
|
+
}
|
|
3843
|
+
function RoleChip({
|
|
3844
|
+
role,
|
|
3845
|
+
label
|
|
3846
|
+
}) {
|
|
3847
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
3848
|
+
import_ui4.ScRole,
|
|
3849
|
+
{
|
|
3850
|
+
type: role,
|
|
3851
|
+
label,
|
|
3852
|
+
className: "shrink-0",
|
|
3853
|
+
style: { width: "auto", minWidth: "5rem" }
|
|
3840
3854
|
}
|
|
3841
3855
|
);
|
|
3842
3856
|
}
|
|
@@ -4313,11 +4327,10 @@ function TeamRow({
|
|
|
4313
4327
|
),
|
|
4314
4328
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center shrink-0", style: { gap: 6 }, children: [
|
|
4315
4329
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
4316
|
-
|
|
4330
|
+
RoleChip,
|
|
4317
4331
|
{
|
|
4318
|
-
|
|
4319
|
-
label: member.permissions.role === "admin" ? "
|
|
4320
|
-
className: "shrink-0"
|
|
4332
|
+
role: member.permissions.role === "admin" ? "admin" : "member",
|
|
4333
|
+
label: member.permissions.role === "admin" ? "Workspace admin" : "Member"
|
|
4321
4334
|
}
|
|
4322
4335
|
),
|
|
4323
4336
|
orgMembership && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
@@ -5987,11 +6000,10 @@ function MemberRow({
|
|
|
5987
6000
|
}
|
|
5988
6001
|
),
|
|
5989
6002
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
5990
|
-
|
|
6003
|
+
RoleChip,
|
|
5991
6004
|
{
|
|
5992
|
-
|
|
5993
|
-
label: member.role === "admin" ? "
|
|
5994
|
-
className: "shrink-0"
|
|
6005
|
+
role: member.role === "admin" ? "admin" : "member",
|
|
6006
|
+
label: member.role === "admin" ? "Org admin" : "Member"
|
|
5995
6007
|
}
|
|
5996
6008
|
),
|
|
5997
6009
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
@@ -6096,11 +6108,10 @@ function InviteRow({
|
|
|
6096
6108
|
] })
|
|
6097
6109
|
] }),
|
|
6098
6110
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
6099
|
-
|
|
6111
|
+
RoleChip,
|
|
6100
6112
|
{
|
|
6101
|
-
|
|
6102
|
-
label: role === "admin" ? "
|
|
6103
|
-
className: "shrink-0"
|
|
6113
|
+
role: role === "admin" ? "admin" : "member",
|
|
6114
|
+
label: role === "admin" ? "Org admin" : "Member"
|
|
6104
6115
|
}
|
|
6105
6116
|
),
|
|
6106
6117
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
@@ -10335,25 +10346,25 @@ function SettingsNavGroupHeader({
|
|
|
10335
10346
|
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
10336
10347
|
"div",
|
|
10337
10348
|
{
|
|
10338
|
-
className: "flex
|
|
10339
|
-
style: { gap:
|
|
10349
|
+
className: "flex flex-col w-full min-w-0",
|
|
10350
|
+
style: { gap: 2, padding: "2px var(--spacing-xl) var(--spacing-sm)" },
|
|
10340
10351
|
children: [
|
|
10341
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
10342
|
-
|
|
10343
|
-
|
|
10344
|
-
|
|
10345
|
-
|
|
10346
|
-
|
|
10347
|
-
|
|
10348
|
-
|
|
10349
|
-
|
|
10350
|
-
|
|
10351
|
-
|
|
10352
|
-
|
|
10353
|
-
|
|
10354
|
-
|
|
10355
|
-
|
|
10356
|
-
),
|
|
10352
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
10353
|
+
"span",
|
|
10354
|
+
{
|
|
10355
|
+
style: {
|
|
10356
|
+
fontFamily: "var(--font-family-font-family-body)",
|
|
10357
|
+
fontSize: "var(--font-size-font-size-xxs, 10px)",
|
|
10358
|
+
fontWeight: 500,
|
|
10359
|
+
letterSpacing: "0.08em",
|
|
10360
|
+
textTransform: "uppercase",
|
|
10361
|
+
color: MUTED_COLOR2
|
|
10362
|
+
},
|
|
10363
|
+
children: eyebrow
|
|
10364
|
+
}
|
|
10365
|
+
),
|
|
10366
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex items-center min-w-0", style: { gap: "var(--spacing-md)" }, children: [
|
|
10367
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "shrink-0 flex items-center", children: icon }),
|
|
10357
10368
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
10358
10369
|
"span",
|
|
10359
10370
|
{
|
|
@@ -10395,26 +10406,26 @@ function SettingsNav({
|
|
|
10395
10406
|
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
10396
10407
|
"div",
|
|
10397
10408
|
{
|
|
10398
|
-
className: "flex flex-col items-start shrink-0 relative",
|
|
10409
|
+
className: "flex flex-col items-start shrink-0 relative overflow-y-auto",
|
|
10399
10410
|
style: {
|
|
10400
10411
|
backgroundColor: "var(--alias-surface-base)",
|
|
10401
10412
|
borderRadius: "var(--radius-3xl)",
|
|
10402
10413
|
padding: "var(--spacing-md)",
|
|
10403
10414
|
width: 216,
|
|
10404
|
-
|
|
10415
|
+
maxHeight: "100%",
|
|
10416
|
+
/* A REAL BORDER, not the absolutely-positioned overlay that used to
|
|
10417
|
+
* sit inside this box. Now that the nav scrolls, an `absolute inset-0`
|
|
10418
|
+
* child is positioned against the scrolled CONTENT, so the outline
|
|
10419
|
+
* would slide up out of view and leave the card unbounded. `border`
|
|
10420
|
+
* belongs to the box itself and cannot drift; `box-sizing: border-box`
|
|
10421
|
+
* keeps the 216px width. */
|
|
10422
|
+
border: "1px solid var(--alias-border-subtle)",
|
|
10423
|
+
/* Was `--spacing-xl` (12). The groups and the rules between them sat
|
|
10424
|
+
* closer to each other than the rows inside a group did to their own
|
|
10425
|
+
* heading, so the divisions read as weaker than what they divided. */
|
|
10426
|
+
gap: "var(--spacing-5xl)"
|
|
10405
10427
|
},
|
|
10406
10428
|
children: [
|
|
10407
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
10408
|
-
"div",
|
|
10409
|
-
{
|
|
10410
|
-
"aria-hidden": "true",
|
|
10411
|
-
className: "absolute inset-0 pointer-events-none",
|
|
10412
|
-
style: {
|
|
10413
|
-
border: "1px solid var(--alias-border-subtle)",
|
|
10414
|
-
borderRadius: "var(--radius-3xl)"
|
|
10415
|
-
}
|
|
10416
|
-
}
|
|
10417
|
-
),
|
|
10418
10429
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex flex-col w-full", style: { gap: "var(--spacing-md)" }, children: item("profile", (color) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_icons12.SiconUser, { className: "w-6 h-6", color })) }),
|
|
10419
10430
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_ui11.ScHDivider, {}),
|
|
10420
10431
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex flex-col w-full", style: { gap: "var(--spacing-md)" }, children: [
|
package/dist/index.mjs
CHANGED
|
@@ -2139,7 +2139,7 @@ function OrganizationAffiliationCard({
|
|
|
2139
2139
|
"Failed to change visibility"
|
|
2140
2140
|
);
|
|
2141
2141
|
},
|
|
2142
|
-
children: opt === "private" ? "Only
|
|
2142
|
+
children: opt === "private" ? "Only workspace members" : "Everyone in the organization"
|
|
2143
2143
|
},
|
|
2144
2144
|
opt
|
|
2145
2145
|
);
|
|
@@ -2398,7 +2398,7 @@ function SettingsTooltip({
|
|
|
2398
2398
|
|
|
2399
2399
|
// src/teams-content.tsx
|
|
2400
2400
|
import { useState as useState6, useEffect as useEffect6, useCallback as useCallback2 } from "react";
|
|
2401
|
-
import { ScTableHeader,
|
|
2401
|
+
import { ScTableHeader, ScPendingAction } from "@streamoid/ui";
|
|
2402
2402
|
import { ScButton as ScButton3 } from "@streamoid/ui";
|
|
2403
2403
|
import {
|
|
2404
2404
|
SiconUserAdd,
|
|
@@ -3642,7 +3642,7 @@ function InviteUpdateModal({
|
|
|
3642
3642
|
}
|
|
3643
3643
|
|
|
3644
3644
|
// src/member-list.tsx
|
|
3645
|
-
import { ScTabSwitcher, ScTabComp, ScOnlyField } from "@streamoid/ui";
|
|
3645
|
+
import { ScTabSwitcher, ScTabComp, ScOnlyField, ScRole } from "@streamoid/ui";
|
|
3646
3646
|
import { SiconSearch as SiconSearch2 } from "@streamoid/icons";
|
|
3647
3647
|
import { jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
3648
3648
|
var T7 = {
|
|
@@ -3817,8 +3817,22 @@ function OrgMembershipTag({
|
|
|
3817
3817
|
border: `1px solid ${isOrgAdmin ? T7.primary : T7.borderSubtle}`,
|
|
3818
3818
|
backgroundColor: "transparent"
|
|
3819
3819
|
},
|
|
3820
|
-
title:
|
|
3821
|
-
children:
|
|
3820
|
+
title: `Admin of ${org} \u2014 keeps access to this workspace regardless of what is set here. Manage under Organization \u203A People.`,
|
|
3821
|
+
children: "Org admin"
|
|
3822
|
+
}
|
|
3823
|
+
);
|
|
3824
|
+
}
|
|
3825
|
+
function RoleChip({
|
|
3826
|
+
role,
|
|
3827
|
+
label
|
|
3828
|
+
}) {
|
|
3829
|
+
return /* @__PURE__ */ jsx11(
|
|
3830
|
+
ScRole,
|
|
3831
|
+
{
|
|
3832
|
+
type: role,
|
|
3833
|
+
label,
|
|
3834
|
+
className: "shrink-0",
|
|
3835
|
+
style: { width: "auto", minWidth: "5rem" }
|
|
3822
3836
|
}
|
|
3823
3837
|
);
|
|
3824
3838
|
}
|
|
@@ -4295,11 +4309,10 @@ function TeamRow({
|
|
|
4295
4309
|
),
|
|
4296
4310
|
/* @__PURE__ */ jsxs10("div", { className: "flex items-center shrink-0", style: { gap: 6 }, children: [
|
|
4297
4311
|
/* @__PURE__ */ jsx12(
|
|
4298
|
-
|
|
4312
|
+
RoleChip,
|
|
4299
4313
|
{
|
|
4300
|
-
|
|
4301
|
-
label: member.permissions.role === "admin" ? "
|
|
4302
|
-
className: "shrink-0"
|
|
4314
|
+
role: member.permissions.role === "admin" ? "admin" : "member",
|
|
4315
|
+
label: member.permissions.role === "admin" ? "Workspace admin" : "Member"
|
|
4303
4316
|
}
|
|
4304
4317
|
),
|
|
4305
4318
|
orgMembership && /* @__PURE__ */ jsx12(
|
|
@@ -4923,7 +4936,7 @@ function TeamsContent({
|
|
|
4923
4936
|
|
|
4924
4937
|
// src/organization-content.tsx
|
|
4925
4938
|
import { useCallback as useCallback3, useEffect as useEffect9, useState as useState9 } from "react";
|
|
4926
|
-
import {
|
|
4939
|
+
import { ScButton as ScButton5 } from "@streamoid/ui";
|
|
4927
4940
|
import { SiconUserAdd as SiconUserAdd2, SiconGlobe as SiconGlobe2 } from "@streamoid/icons";
|
|
4928
4941
|
|
|
4929
4942
|
// src/organization-invite-modal.tsx
|
|
@@ -5969,11 +5982,10 @@ function MemberRow({
|
|
|
5969
5982
|
}
|
|
5970
5983
|
),
|
|
5971
5984
|
/* @__PURE__ */ jsx15(
|
|
5972
|
-
|
|
5985
|
+
RoleChip,
|
|
5973
5986
|
{
|
|
5974
|
-
|
|
5975
|
-
label: member.role === "admin" ? "
|
|
5976
|
-
className: "shrink-0"
|
|
5987
|
+
role: member.role === "admin" ? "admin" : "member",
|
|
5988
|
+
label: member.role === "admin" ? "Org admin" : "Member"
|
|
5977
5989
|
}
|
|
5978
5990
|
),
|
|
5979
5991
|
/* @__PURE__ */ jsx15(
|
|
@@ -6078,11 +6090,10 @@ function InviteRow({
|
|
|
6078
6090
|
] })
|
|
6079
6091
|
] }),
|
|
6080
6092
|
/* @__PURE__ */ jsx15(
|
|
6081
|
-
|
|
6093
|
+
RoleChip,
|
|
6082
6094
|
{
|
|
6083
|
-
|
|
6084
|
-
label: role === "admin" ? "
|
|
6085
|
-
className: "shrink-0"
|
|
6095
|
+
role: role === "admin" ? "admin" : "member",
|
|
6096
|
+
label: role === "admin" ? "Org admin" : "Member"
|
|
6086
6097
|
}
|
|
6087
6098
|
),
|
|
6088
6099
|
/* @__PURE__ */ jsx15(
|
|
@@ -10343,25 +10354,25 @@ function SettingsNavGroupHeader({
|
|
|
10343
10354
|
return /* @__PURE__ */ jsxs18(
|
|
10344
10355
|
"div",
|
|
10345
10356
|
{
|
|
10346
|
-
className: "flex
|
|
10347
|
-
style: { gap:
|
|
10357
|
+
className: "flex flex-col w-full min-w-0",
|
|
10358
|
+
style: { gap: 2, padding: "2px var(--spacing-xl) var(--spacing-sm)" },
|
|
10348
10359
|
children: [
|
|
10349
|
-
/* @__PURE__ */ jsx20(
|
|
10350
|
-
|
|
10351
|
-
|
|
10352
|
-
|
|
10353
|
-
|
|
10354
|
-
|
|
10355
|
-
|
|
10356
|
-
|
|
10357
|
-
|
|
10358
|
-
|
|
10359
|
-
|
|
10360
|
-
|
|
10361
|
-
|
|
10362
|
-
|
|
10363
|
-
|
|
10364
|
-
),
|
|
10360
|
+
/* @__PURE__ */ jsx20(
|
|
10361
|
+
"span",
|
|
10362
|
+
{
|
|
10363
|
+
style: {
|
|
10364
|
+
fontFamily: "var(--font-family-font-family-body)",
|
|
10365
|
+
fontSize: "var(--font-size-font-size-xxs, 10px)",
|
|
10366
|
+
fontWeight: 500,
|
|
10367
|
+
letterSpacing: "0.08em",
|
|
10368
|
+
textTransform: "uppercase",
|
|
10369
|
+
color: MUTED_COLOR2
|
|
10370
|
+
},
|
|
10371
|
+
children: eyebrow
|
|
10372
|
+
}
|
|
10373
|
+
),
|
|
10374
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex items-center min-w-0", style: { gap: "var(--spacing-md)" }, children: [
|
|
10375
|
+
/* @__PURE__ */ jsx20("span", { className: "shrink-0 flex items-center", children: icon }),
|
|
10365
10376
|
/* @__PURE__ */ jsx20(
|
|
10366
10377
|
"span",
|
|
10367
10378
|
{
|
|
@@ -10403,26 +10414,26 @@ function SettingsNav({
|
|
|
10403
10414
|
return /* @__PURE__ */ jsxs18(
|
|
10404
10415
|
"div",
|
|
10405
10416
|
{
|
|
10406
|
-
className: "flex flex-col items-start shrink-0 relative",
|
|
10417
|
+
className: "flex flex-col items-start shrink-0 relative overflow-y-auto",
|
|
10407
10418
|
style: {
|
|
10408
10419
|
backgroundColor: "var(--alias-surface-base)",
|
|
10409
10420
|
borderRadius: "var(--radius-3xl)",
|
|
10410
10421
|
padding: "var(--spacing-md)",
|
|
10411
10422
|
width: 216,
|
|
10412
|
-
|
|
10423
|
+
maxHeight: "100%",
|
|
10424
|
+
/* A REAL BORDER, not the absolutely-positioned overlay that used to
|
|
10425
|
+
* sit inside this box. Now that the nav scrolls, an `absolute inset-0`
|
|
10426
|
+
* child is positioned against the scrolled CONTENT, so the outline
|
|
10427
|
+
* would slide up out of view and leave the card unbounded. `border`
|
|
10428
|
+
* belongs to the box itself and cannot drift; `box-sizing: border-box`
|
|
10429
|
+
* keeps the 216px width. */
|
|
10430
|
+
border: "1px solid var(--alias-border-subtle)",
|
|
10431
|
+
/* Was `--spacing-xl` (12). The groups and the rules between them sat
|
|
10432
|
+
* closer to each other than the rows inside a group did to their own
|
|
10433
|
+
* heading, so the divisions read as weaker than what they divided. */
|
|
10434
|
+
gap: "var(--spacing-5xl)"
|
|
10413
10435
|
},
|
|
10414
10436
|
children: [
|
|
10415
|
-
/* @__PURE__ */ jsx20(
|
|
10416
|
-
"div",
|
|
10417
|
-
{
|
|
10418
|
-
"aria-hidden": "true",
|
|
10419
|
-
className: "absolute inset-0 pointer-events-none",
|
|
10420
|
-
style: {
|
|
10421
|
-
border: "1px solid var(--alias-border-subtle)",
|
|
10422
|
-
borderRadius: "var(--radius-3xl)"
|
|
10423
|
-
}
|
|
10424
|
-
}
|
|
10425
|
-
),
|
|
10426
10437
|
/* @__PURE__ */ jsx20("div", { className: "flex flex-col w-full", style: { gap: "var(--spacing-md)" }, children: item("profile", (color) => /* @__PURE__ */ jsx20(SiconUser, { className: "w-6 h-6", color })) }),
|
|
10427
10438
|
/* @__PURE__ */ jsx20(ScHDivider, {}),
|
|
10428
10439
|
/* @__PURE__ */ jsxs18("div", { className: "flex flex-col w-full", style: { gap: "var(--spacing-md)" }, children: [
|