@streamoid/ui 0.6.50 → 0.6.52

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.mjs CHANGED
@@ -135,6 +135,8 @@ function ScAppCardForCopilot({
135
135
  import { useState } from "react";
136
136
  import { SiconExternalLink, SiconRight as SiconRight2 } from "@streamoid/icons";
137
137
  import { Fragment, jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
138
+ var SC_APP_SWITCH_PANEL_WIDTH = 240;
139
+ var SC_WORKSPACE_MENU_WIDTH = 336;
138
140
  var STREAMOID_CHANGELOG_URLS = {
139
141
  tactix: "https://streamoid.com/tactix/changelog",
140
142
  artifax: "https://streamoid.com/artifax/changelog",
@@ -4609,10 +4611,49 @@ function ScSidebarResizeHandle({
4609
4611
  );
4610
4612
  }
4611
4613
 
4614
+ // src/SC-SidebarShell/ScPopoverArrow.tsx
4615
+ import { jsx as jsx51 } from "react/jsx-runtime";
4616
+ function ScPopoverArrow({
4617
+ arrow,
4618
+ background = "var(--alias-surface-base, #101010)",
4619
+ borderColor = "var(--alias-border-default, #3e3e3e)",
4620
+ size = 12,
4621
+ style
4622
+ }) {
4623
+ if (!arrow) return null;
4624
+ const half = size / 2;
4625
+ const onLeftEdge = arrow.side === "left";
4626
+ return /* @__PURE__ */ jsx51(
4627
+ "span",
4628
+ {
4629
+ "aria-hidden": true,
4630
+ "data-streamoid-popover-arrow": arrow.side,
4631
+ style: {
4632
+ position: "absolute",
4633
+ top: arrow.top - half,
4634
+ [onLeftEdge ? "left" : "right"]: -half,
4635
+ width: size,
4636
+ height: size,
4637
+ background,
4638
+ /* Only the two edges that face away from the card. The other two sit
4639
+ under it, where a border would draw a line across the card's own
4640
+ edge. */
4641
+ borderTop: onLeftEdge ? "none" : `1px solid ${borderColor}`,
4642
+ borderRight: onLeftEdge ? "none" : `1px solid ${borderColor}`,
4643
+ borderBottom: onLeftEdge ? `1px solid ${borderColor}` : "none",
4644
+ borderLeft: onLeftEdge ? `1px solid ${borderColor}` : "none",
4645
+ transform: "rotate(45deg)",
4646
+ pointerEvents: "none",
4647
+ ...style
4648
+ }
4649
+ }
4650
+ );
4651
+ }
4652
+
4612
4653
  // src/SC-Sidebar-new/streamoid-sidebar.tsx
4613
- import { Fragment as Fragment15, jsx as jsx51, jsxs as jsxs41 } from "react/jsx-runtime";
4654
+ import { Fragment as Fragment15, jsx as jsx52, jsxs as jsxs41 } from "react/jsx-runtime";
4614
4655
  function SectionHeader({ label }) {
4615
- return /* @__PURE__ */ jsx51("div", { className: "opacity-50 shrink-0 w-full", children: /* @__PURE__ */ jsx51("div", { className: "flex flex-row items-center size-full", children: /* @__PURE__ */ jsx51(
4656
+ return /* @__PURE__ */ jsx52("div", { className: "opacity-50 shrink-0 w-full", children: /* @__PURE__ */ jsx52("div", { className: "flex flex-row items-center size-full", children: /* @__PURE__ */ jsx52(
4616
4657
  "div",
4617
4658
  {
4618
4659
  className: "flex items-center w-full text-text-xs-regular",
@@ -4620,12 +4661,12 @@ function SectionHeader({ label }) {
4620
4661
  padding: "var(--spacing-xs) var(--spacing-3xl)",
4621
4662
  color: "var(--alias-text---icons-tertiary)"
4622
4663
  },
4623
- children: /* @__PURE__ */ jsx51("span", { children: label })
4664
+ children: /* @__PURE__ */ jsx52("span", { children: label })
4624
4665
  }
4625
4666
  ) }) });
4626
4667
  }
4627
4668
  function HDivider({ edgeToEdge = false }) {
4628
- return /* @__PURE__ */ jsx51(
4669
+ return /* @__PURE__ */ jsx52(
4629
4670
  "div",
4630
4671
  {
4631
4672
  className: "shrink-0",
@@ -4670,7 +4711,7 @@ function renderMenuItem({
4670
4711
  const derivedState = active ? "active" : highlighted ? "default-highlight" : "default";
4671
4712
  const state = stateOverride ?? derivedState;
4672
4713
  const iconActive = state === "active" || state === "default-active" || state === "default-highlight";
4673
- return /* @__PURE__ */ jsx51(
4714
+ return /* @__PURE__ */ jsx52(
4674
4715
  ScSidebarMenu,
4675
4716
  {
4676
4717
  icon: resolveIcon(iconMap, item, iconActive, expanded),
@@ -4729,8 +4770,8 @@ function StreamoidSidebar({
4729
4770
  };
4730
4771
  if (expanded) {
4731
4772
  const logoRow = /* @__PURE__ */ jsxs41("div", { className: "flex items-center justify-between w-full shrink-0", children: [
4732
- /* @__PURE__ */ jsx51("div", { className: "min-w-0 flex-1", children: expandedLogo }),
4733
- isMobile ? /* @__PURE__ */ jsx51(
4773
+ /* @__PURE__ */ jsx52("div", { className: "min-w-0 flex-1", children: expandedLogo }),
4774
+ isMobile ? /* @__PURE__ */ jsx52(
4734
4775
  "div",
4735
4776
  {
4736
4777
  className: "flex items-center cursor-pointer shrink-0",
@@ -4749,7 +4790,7 @@ function StreamoidSidebar({
4749
4790
  className: `relative flex h-full items-center shrink-0 ${className ?? ""}`.trim(),
4750
4791
  style: { padding: "var(--spacing-3xl)", ...style },
4751
4792
  children: [
4752
- resizable && !isMobile ? /* @__PURE__ */ jsx51(
4793
+ resizable && !isMobile ? /* @__PURE__ */ jsx52(
4753
4794
  ScSidebarResizeHandle,
4754
4795
  {
4755
4796
  expanded,
@@ -4773,7 +4814,7 @@ function StreamoidSidebar({
4773
4814
  gap: "var(--spacing-xxs)"
4774
4815
  },
4775
4816
  children: [
4776
- /* @__PURE__ */ jsx51(
4817
+ /* @__PURE__ */ jsx52(
4777
4818
  "div",
4778
4819
  {
4779
4820
  "aria-hidden": "true",
@@ -4802,7 +4843,7 @@ function StreamoidSidebar({
4802
4843
  transition: "background-color 200ms ease, box-shadow 200ms ease"
4803
4844
  },
4804
4845
  children: [
4805
- /* @__PURE__ */ jsx51(
4846
+ /* @__PURE__ */ jsx52(
4806
4847
  "div",
4807
4848
  {
4808
4849
  style: {
@@ -4814,7 +4855,7 @@ function StreamoidSidebar({
4814
4855
  children: logoRow
4815
4856
  }
4816
4857
  ),
4817
- /* @__PURE__ */ jsx51(
4858
+ /* @__PURE__ */ jsx52(
4818
4859
  "div",
4819
4860
  {
4820
4861
  className: "absolute left-0 right-0",
@@ -4830,7 +4871,7 @@ function StreamoidSidebar({
4830
4871
  overflow: "hidden",
4831
4872
  transition: "opacity 200ms ease, background-color 200ms ease, box-shadow 200ms ease"
4832
4873
  },
4833
- children: /* @__PURE__ */ jsx51(
4874
+ children: /* @__PURE__ */ jsx52(
4834
4875
  "div",
4835
4876
  {
4836
4877
  style: {
@@ -4838,7 +4879,7 @@ function StreamoidSidebar({
4838
4879
  gridTemplateRows: panelOpen ? "1fr" : "0fr",
4839
4880
  transition: "grid-template-rows 220ms ease"
4840
4881
  },
4841
- children: /* @__PURE__ */ jsx51("div", { style: { overflow: "hidden", minHeight: 0 }, children: switchPanel })
4882
+ children: /* @__PURE__ */ jsx52("div", { style: { overflow: "hidden", minHeight: 0 }, children: switchPanel })
4842
4883
  }
4843
4884
  )
4844
4885
  }
@@ -4846,7 +4887,7 @@ function StreamoidSidebar({
4846
4887
  ]
4847
4888
  }
4848
4889
  ) : null,
4849
- hasSwitchCard ? /* @__PURE__ */ jsx51(
4890
+ hasSwitchCard ? /* @__PURE__ */ jsx52(
4850
4891
  "div",
4851
4892
  {
4852
4893
  "aria-hidden": "true",
@@ -4881,8 +4922,8 @@ function StreamoidSidebar({
4881
4922
  children: [
4882
4923
  !hasSwitchCard ? logoRow : null,
4883
4924
  !!(topItems?.length || config.topItem) && /* @__PURE__ */ jsxs41(Fragment15, { children: [
4884
- /* @__PURE__ */ jsx51(HDivider, { edgeToEdge: true }),
4885
- /* @__PURE__ */ jsx51(
4925
+ /* @__PURE__ */ jsx52(HDivider, { edgeToEdge: true }),
4926
+ /* @__PURE__ */ jsx52(
4886
4927
  "div",
4887
4928
  {
4888
4929
  className: "flex flex-col items-stretch shrink-0 w-full",
@@ -4903,10 +4944,10 @@ function StreamoidSidebar({
4903
4944
  )
4904
4945
  }
4905
4946
  ),
4906
- /* @__PURE__ */ jsx51(HDivider, {})
4947
+ /* @__PURE__ */ jsx52(HDivider, {})
4907
4948
  ] }),
4908
- showBody && bodyContent ? /* @__PURE__ */ jsx51("div", { className: "flex flex-col flex-1 min-h-0 w-full overflow-hidden", children: bodyContent }) : /* @__PURE__ */ jsxs41(Fragment15, { children: [
4909
- !(topItems?.length || config.topItem) && /* @__PURE__ */ jsx51(HDivider, { edgeToEdge: true }),
4949
+ showBody && bodyContent ? /* @__PURE__ */ jsx52("div", { className: "flex flex-col flex-1 min-h-0 w-full overflow-hidden", children: bodyContent }) : /* @__PURE__ */ jsxs41(Fragment15, { children: [
4950
+ !(topItems?.length || config.topItem) && /* @__PURE__ */ jsx52(HDivider, { edgeToEdge: true }),
4910
4951
  config.sections.map((section) => /* @__PURE__ */ jsxs41(
4911
4952
  "div",
4912
4953
  {
@@ -4916,7 +4957,7 @@ function StreamoidSidebar({
4916
4957
  gap: "var(--spacing-xxs)"
4917
4958
  },
4918
4959
  children: [
4919
- section.label ? /* @__PURE__ */ jsx51(SectionHeader, { label: section.label }) : null,
4960
+ section.label ? /* @__PURE__ */ jsx52(SectionHeader, { label: section.label }) : null,
4920
4961
  section.items.map(
4921
4962
  (item) => renderMenuItem({
4922
4963
  item,
@@ -4935,9 +4976,9 @@ function StreamoidSidebar({
4935
4976
  ]
4936
4977
  }
4937
4978
  ),
4938
- assistantCta ? /* @__PURE__ */ jsx51(ScAskAgentSlot, { cta: assistantCta }) : null,
4979
+ assistantCta ? /* @__PURE__ */ jsx52(ScAskAgentSlot, { cta: assistantCta }) : null,
4939
4980
  preFooterContent,
4940
- config.bottomItems?.length ? /* @__PURE__ */ jsx51(
4981
+ config.bottomItems?.length ? /* @__PURE__ */ jsx52(
4941
4982
  "div",
4942
4983
  {
4943
4984
  className: "flex flex-col items-start shrink-0 w-full",
@@ -4954,8 +4995,8 @@ function StreamoidSidebar({
4954
4995
  )
4955
4996
  }
4956
4997
  ) : null,
4957
- /* @__PURE__ */ jsx51(HDivider, { edgeToEdge: true }),
4958
- appIdentity ? /* @__PURE__ */ jsx51(
4998
+ /* @__PURE__ */ jsx52(HDivider, { edgeToEdge: true }),
4999
+ appIdentity ? /* @__PURE__ */ jsx52(
4959
5000
  "button",
4960
5001
  {
4961
5002
  type: "button",
@@ -5003,7 +5044,7 @@ function StreamoidSidebar({
5003
5044
  children: [
5004
5045
  profile.avatar,
5005
5046
  /* @__PURE__ */ jsxs41("div", { className: "flex flex-col flex-1 min-w-0", children: [
5006
- /* @__PURE__ */ jsx51(
5047
+ /* @__PURE__ */ jsx52(
5007
5048
  "span",
5008
5049
  {
5009
5050
  className: "text-text-sm-medium truncate",
@@ -5011,7 +5052,7 @@ function StreamoidSidebar({
5011
5052
  children: profile.name
5012
5053
  }
5013
5054
  ),
5014
- profile.subtitle ? /* @__PURE__ */ jsx51(
5055
+ profile.subtitle ? /* @__PURE__ */ jsx52(
5015
5056
  "span",
5016
5057
  {
5017
5058
  className: "text-text-xs-regular truncate",
@@ -5023,7 +5064,7 @@ function StreamoidSidebar({
5023
5064
  ]
5024
5065
  }
5025
5066
  ),
5026
- /* @__PURE__ */ jsx51(
5067
+ /* @__PURE__ */ jsx52(
5027
5068
  "div",
5028
5069
  {
5029
5070
  className: "flex items-center cursor-pointer shrink-0",
@@ -5065,7 +5106,7 @@ function StreamoidSidebar({
5065
5106
  children: [
5066
5107
  profile.avatar,
5067
5108
  /* @__PURE__ */ jsxs41("div", { className: "flex flex-col flex-1 min-w-0", children: [
5068
- /* @__PURE__ */ jsx51(
5109
+ /* @__PURE__ */ jsx52(
5069
5110
  "span",
5070
5111
  {
5071
5112
  className: "text-text-sm-medium truncate",
@@ -5073,7 +5114,7 @@ function StreamoidSidebar({
5073
5114
  children: profile.name
5074
5115
  }
5075
5116
  ),
5076
- profile.subtitle ? /* @__PURE__ */ jsx51(
5117
+ profile.subtitle ? /* @__PURE__ */ jsx52(
5077
5118
  "span",
5078
5119
  {
5079
5120
  className: "text-text-xs-regular truncate",
@@ -5085,9 +5126,9 @@ function StreamoidSidebar({
5085
5126
  ]
5086
5127
  }
5087
5128
  ),
5088
- !effectiveHideFooter && /* @__PURE__ */ jsx51(Fragment15, { children: /* @__PURE__ */ jsx51(HDivider, {}) })
5129
+ !effectiveHideFooter && /* @__PURE__ */ jsx52(Fragment15, { children: /* @__PURE__ */ jsx52(HDivider, {}) })
5089
5130
  ] }) : null,
5090
- !effectiveHideFooter && !toggleInProfile && /* @__PURE__ */ jsx51("div", { className: "shrink-0 w-full", children: /* @__PURE__ */ jsx51("div", { className: "flex flex-row items-center size-full", children: /* @__PURE__ */ jsxs41(
5131
+ !effectiveHideFooter && !toggleInProfile && /* @__PURE__ */ jsx52("div", { className: "shrink-0 w-full", children: /* @__PURE__ */ jsx52("div", { className: "flex flex-row items-center size-full", children: /* @__PURE__ */ jsxs41(
5091
5132
  "div",
5092
5133
  {
5093
5134
  className: "flex items-center w-full",
@@ -5096,7 +5137,7 @@ function StreamoidSidebar({
5096
5137
  padding: "var(--spacing-xs) var(--spacing-xs) var(--spacing-xs) var(--spacing-xl)"
5097
5138
  },
5098
5139
  children: [
5099
- /* @__PURE__ */ jsx51(
5140
+ /* @__PURE__ */ jsx52(
5100
5141
  "p",
5101
5142
  {
5102
5143
  className: "flex-1 text-text-sm-regular truncate",
@@ -5104,7 +5145,7 @@ function StreamoidSidebar({
5104
5145
  children: versionText
5105
5146
  }
5106
5147
  ),
5107
- /* @__PURE__ */ jsx51(
5148
+ /* @__PURE__ */ jsx52(
5108
5149
  "div",
5109
5150
  {
5110
5151
  className: "flex items-center cursor-pointer",
@@ -5132,7 +5173,7 @@ function StreamoidSidebar({
5132
5173
  className: `relative flex h-full items-center justify-center shrink-0 ${className ?? ""}`.trim(),
5133
5174
  style: { padding: "var(--spacing-3xl)", ...style },
5134
5175
  children: [
5135
- resizable && !isMobile ? /* @__PURE__ */ jsx51(
5176
+ resizable && !isMobile ? /* @__PURE__ */ jsx52(
5136
5177
  ScSidebarResizeHandle,
5137
5178
  {
5138
5179
  expanded,
@@ -5155,7 +5196,7 @@ function StreamoidSidebar({
5155
5196
  gap: "var(--spacing-xxs)"
5156
5197
  },
5157
5198
  children: [
5158
- /* @__PURE__ */ jsx51(
5199
+ /* @__PURE__ */ jsx52(
5159
5200
  "div",
5160
5201
  {
5161
5202
  "aria-hidden": "true",
@@ -5168,7 +5209,7 @@ function StreamoidSidebar({
5168
5209
  }
5169
5210
  ),
5170
5211
  hasSwitchCard ? /* @__PURE__ */ jsxs41(Fragment15, { children: [
5171
- /* @__PURE__ */ jsx51(
5212
+ /* @__PURE__ */ jsx52(
5172
5213
  "div",
5173
5214
  {
5174
5215
  "aria-hidden": "true",
@@ -5183,7 +5224,7 @@ function StreamoidSidebar({
5183
5224
  }
5184
5225
  }
5185
5226
  ),
5186
- /* @__PURE__ */ jsx51(
5227
+ /* @__PURE__ */ jsxs41(
5187
5228
  "div",
5188
5229
  {
5189
5230
  style: {
@@ -5195,14 +5236,29 @@ function StreamoidSidebar({
5195
5236
  backgroundColor: "var(--alias-surface-base)",
5196
5237
  border: "1px solid var(--alias-border-default)",
5197
5238
  borderRadius: "var(--radius-3xl)",
5198
- overflow: "hidden",
5199
- paddingBottom: "var(--spacing-md)",
5239
+ /* NOT `overflow: hidden`. The caret below hangs half outside
5240
+ this card by design, and clipping here cuts it off. The
5241
+ inner box clips instead — which is also what keeps a
5242
+ child's opaque background off the rounded corners. */
5200
5243
  opacity: panelOpen ? 1 : 0,
5201
5244
  transform: panelOpen ? "translateX(0)" : "translateX(-4px)",
5202
5245
  pointerEvents: panelOpen ? "auto" : "none",
5203
5246
  transition: "opacity 180ms ease, transform 180ms ease"
5204
5247
  },
5205
- children: switchPanel
5248
+ children: [
5249
+ /* @__PURE__ */ jsx52(ScPopoverArrow, { arrow: { side: "left", top: 24 } }),
5250
+ /* @__PURE__ */ jsx52(
5251
+ "div",
5252
+ {
5253
+ style: {
5254
+ borderRadius: "var(--radius-3xl)",
5255
+ overflow: "hidden",
5256
+ paddingBottom: "var(--spacing-md)"
5257
+ },
5258
+ children: switchPanel
5259
+ }
5260
+ )
5261
+ ]
5206
5262
  }
5207
5263
  )
5208
5264
  ] }) : null,
@@ -5221,8 +5277,8 @@ function StreamoidSidebar({
5221
5277
  children: [
5222
5278
  collapsedLogo,
5223
5279
  !!(topItems?.length || config.topItem) ? /* @__PURE__ */ jsxs41(Fragment15, { children: [
5224
- /* @__PURE__ */ jsx51(HDivider, { edgeToEdge: true }),
5225
- /* @__PURE__ */ jsx51(
5280
+ /* @__PURE__ */ jsx52(HDivider, { edgeToEdge: true }),
5281
+ /* @__PURE__ */ jsx52(
5226
5282
  "div",
5227
5283
  {
5228
5284
  className: "flex flex-col items-center shrink-0",
@@ -5243,10 +5299,10 @@ function StreamoidSidebar({
5243
5299
  )
5244
5300
  }
5245
5301
  ),
5246
- /* @__PURE__ */ jsx51(HDivider, {})
5302
+ /* @__PURE__ */ jsx52(HDivider, {})
5247
5303
  ] }) : null,
5248
- showBody && bodyContent ? /* @__PURE__ */ jsx51("div", { className: "flex flex-col items-center w-full", children: bodyContent }) : config.sections.map((section, sectionIndex) => /* @__PURE__ */ jsxs41("div", { className: "flex flex-col items-center w-full", children: [
5249
- /* @__PURE__ */ jsx51(
5304
+ showBody && bodyContent ? /* @__PURE__ */ jsx52("div", { className: "flex flex-col items-center w-full", children: bodyContent }) : config.sections.map((section, sectionIndex) => /* @__PURE__ */ jsxs41("div", { className: "flex flex-col items-center w-full", children: [
5305
+ /* @__PURE__ */ jsx52(
5250
5306
  "div",
5251
5307
  {
5252
5308
  className: "flex flex-col items-start shrink-0",
@@ -5269,14 +5325,14 @@ function StreamoidSidebar({
5269
5325
  )
5270
5326
  }
5271
5327
  ),
5272
- sectionIndex < config.sections.length - 1 ? /* @__PURE__ */ jsx51(HDivider, {}) : null
5328
+ sectionIndex < config.sections.length - 1 ? /* @__PURE__ */ jsx52(HDivider, {}) : null
5273
5329
  ] }, section.id))
5274
5330
  ]
5275
5331
  }
5276
5332
  ),
5277
- assistantCta ? /* @__PURE__ */ jsx51(ScAskAgentSlot, { cta: assistantCta, collapsed: true }) : null,
5333
+ assistantCta ? /* @__PURE__ */ jsx52(ScAskAgentSlot, { cta: assistantCta, collapsed: true }) : null,
5278
5334
  preFooterContent,
5279
- config.bottomItems?.length ? /* @__PURE__ */ jsx51(
5335
+ config.bottomItems?.length ? /* @__PURE__ */ jsx52(
5280
5336
  "div",
5281
5337
  {
5282
5338
  className: "flex flex-col items-center justify-center shrink-0 w-full",
@@ -5296,8 +5352,8 @@ function StreamoidSidebar({
5296
5352
  )
5297
5353
  }
5298
5354
  ) : null,
5299
- /* @__PURE__ */ jsx51(HDivider, { edgeToEdge: true }),
5300
- appIdentity ? /* @__PURE__ */ jsx51(
5355
+ /* @__PURE__ */ jsx52(HDivider, { edgeToEdge: true }),
5356
+ appIdentity ? /* @__PURE__ */ jsx52(
5301
5357
  "button",
5302
5358
  {
5303
5359
  type: "button",
@@ -5316,7 +5372,7 @@ function StreamoidSidebar({
5316
5372
  "aria-label": appIdentity.ariaLabel ?? "Switch apps",
5317
5373
  children: appIdentity.content
5318
5374
  }
5319
- ) : profile ? /* @__PURE__ */ jsx51(
5375
+ ) : profile ? /* @__PURE__ */ jsx52(
5320
5376
  "div",
5321
5377
  {
5322
5378
  className: "flex items-center justify-center shrink-0 cursor-pointer",
@@ -5345,7 +5401,7 @@ function StreamoidSidebar({
5345
5401
  width: 56
5346
5402
  },
5347
5403
  children: [
5348
- /* @__PURE__ */ jsx51(
5404
+ /* @__PURE__ */ jsx52(
5349
5405
  "div",
5350
5406
  {
5351
5407
  className: "flex items-center cursor-pointer",
@@ -5357,7 +5413,7 @@ function StreamoidSidebar({
5357
5413
  children: resolveToggleIcon(toggleIcon, false)
5358
5414
  }
5359
5415
  ),
5360
- versionText ? /* @__PURE__ */ jsx51(
5416
+ versionText ? /* @__PURE__ */ jsx52(
5361
5417
  "p",
5362
5418
  {
5363
5419
  className: "text-text-xs-regular text-center truncate",
@@ -5426,7 +5482,7 @@ var ScSidebarShell_default = {
5426
5482
  };
5427
5483
 
5428
5484
  // src/SC-SidebarShell/ScSidebarShell.tsx
5429
- import { Fragment as Fragment16, jsx as jsx52, jsxs as jsxs42 } from "react/jsx-runtime";
5485
+ import { Fragment as Fragment16, jsx as jsx53, jsxs as jsxs42 } from "react/jsx-runtime";
5430
5486
  function ScSidebarWorkspaceTrigger({
5431
5487
  workspaceName,
5432
5488
  workspaceImage,
@@ -5447,7 +5503,7 @@ function ScSidebarWorkspaceTrigger({
5447
5503
  className: `${ScSidebarShell_default.workspaceTrigger} ${expanded ? ScSidebarShell_default.workspaceTriggerExpanded : ScSidebarShell_default.workspaceTriggerCollapsed}${className ? ` ${className}` : ""}`,
5448
5504
  style,
5449
5505
  children: [
5450
- /* @__PURE__ */ jsx52(
5506
+ /* @__PURE__ */ jsx53(
5451
5507
  ScDp,
5452
5508
  {
5453
5509
  type: workspaceImage ? "image" : "initial",
@@ -5458,8 +5514,8 @@ function ScSidebarWorkspaceTrigger({
5458
5514
  }
5459
5515
  ),
5460
5516
  expanded ? /* @__PURE__ */ jsxs42(Fragment16, { children: [
5461
- /* @__PURE__ */ jsx52("span", { className: ScSidebarShell_default.workspaceName, children: workspaceName }),
5462
- /* @__PURE__ */ jsx52(
5517
+ /* @__PURE__ */ jsx53("span", { className: ScSidebarShell_default.workspaceName, children: workspaceName }),
5518
+ /* @__PURE__ */ jsx53(
5463
5519
  SiconDoubleArrow,
5464
5520
  {
5465
5521
  size: 16,
@@ -5487,7 +5543,7 @@ function ScSidebarSearchTrigger({
5487
5543
  onClick,
5488
5544
  className: `${ScSidebarShell_default.searchTrigger} ${expanded ? ScSidebarShell_default.searchTriggerExpanded : ScSidebarShell_default.searchTriggerCollapsed}${className ? ` ${className}` : ""}`,
5489
5545
  children: [
5490
- /* @__PURE__ */ jsx52(
5546
+ /* @__PURE__ */ jsx53(
5491
5547
  SiconSearch,
5492
5548
  {
5493
5549
  size: expanded ? 16 : 18,
@@ -5495,15 +5551,15 @@ function ScSidebarSearchTrigger({
5495
5551
  }
5496
5552
  ),
5497
5553
  expanded ? /* @__PURE__ */ jsxs42(Fragment16, { children: [
5498
- /* @__PURE__ */ jsx52("span", { className: ScSidebarShell_default.searchLabel, children: label }),
5499
- shortcut ? /* @__PURE__ */ jsx52("kbd", { className: ScSidebarShell_default.shortcut, children: shortcut }) : null
5554
+ /* @__PURE__ */ jsx53("span", { className: ScSidebarShell_default.searchLabel, children: label }),
5555
+ shortcut ? /* @__PURE__ */ jsx53("kbd", { className: ScSidebarShell_default.shortcut, children: shortcut }) : null
5500
5556
  ] }) : null
5501
5557
  ]
5502
5558
  }
5503
5559
  );
5504
5560
  }
5505
5561
  function AppGridIcon() {
5506
- return /* @__PURE__ */ jsx52("span", { "aria-hidden": true, className: ScSidebarShell_default.appGridIcon, children: Array.from({ length: 9 }, (_, index) => /* @__PURE__ */ jsx52("span", {}, index)) });
5562
+ return /* @__PURE__ */ jsx53("span", { "aria-hidden": true, className: ScSidebarShell_default.appGridIcon, children: Array.from({ length: 9 }, (_, index) => /* @__PURE__ */ jsx53("span", {}, index)) });
5507
5563
  }
5508
5564
  var COMPACT_APP_LABELS = {
5509
5565
  // `cxo` is the product; `"streamoid"` (the company) is handled separately
@@ -5523,22 +5579,22 @@ function ScSidebarAppIdentity({
5523
5579
  className
5524
5580
  }) {
5525
5581
  const appLabel = label ?? (product === "streamoid" ? "Streamoid" : product);
5526
- return /* @__PURE__ */ jsx52(
5582
+ return /* @__PURE__ */ jsx53(
5527
5583
  "span",
5528
5584
  {
5529
5585
  "aria-label": `Switch Apps. Current app: ${appLabel}`,
5530
5586
  title: "Switch Apps",
5531
5587
  className: `${ScSidebarShell_default.appIdentity} ${expanded ? ScSidebarShell_default.appIdentityExpanded : ScSidebarShell_default.appIdentityCollapsed}${className ? ` ${className}` : ""}`,
5532
5588
  children: expanded ? /* @__PURE__ */ jsxs42(Fragment16, { children: [
5533
- /* @__PURE__ */ jsx52("span", { className: ScSidebarShell_default.appWordmark, children: product === "streamoid" ? /* @__PURE__ */ jsx52(ScStreamoidWordmark, { width: 110, height: 16 }) : /* @__PURE__ */ jsx52(
5589
+ /* @__PURE__ */ jsx53("span", { className: ScSidebarShell_default.appWordmark, children: product === "streamoid" ? /* @__PURE__ */ jsx53(ScStreamoidWordmark, { width: 110, height: 16 }) : /* @__PURE__ */ jsx53(
5534
5590
  ScAppcardLogos,
5535
5591
  {
5536
5592
  product,
5537
5593
  style: { height: 16 }
5538
5594
  }
5539
5595
  ) }),
5540
- /* @__PURE__ */ jsx52(AppGridIcon, {})
5541
- ] }) : collapsedMark ?? (product === "streamoid" ? /* @__PURE__ */ jsx52(ScStreamoidMascot, { size: 40 }) : /* @__PURE__ */ jsx52("span", { "aria-hidden": true, className: ScSidebarShell_default.collapsedProductMark, children: collapsedLabel ?? COMPACT_APP_LABELS[product] }))
5596
+ /* @__PURE__ */ jsx53(AppGridIcon, {})
5597
+ ] }) : collapsedMark ?? (product === "streamoid" ? /* @__PURE__ */ jsx53(ScStreamoidMascot, { size: 40 }) : /* @__PURE__ */ jsx53("span", { "aria-hidden": true, className: ScSidebarShell_default.collapsedProductMark, children: collapsedLabel ?? COMPACT_APP_LABELS[product] }))
5542
5598
  }
5543
5599
  );
5544
5600
  }
@@ -5551,12 +5607,12 @@ function MenuActionRow({
5551
5607
  ariaLabel
5552
5608
  }) {
5553
5609
  const content = /* @__PURE__ */ jsxs42(Fragment16, { children: [
5554
- /* @__PURE__ */ jsx52("span", { className: ScSidebarShell_default.rowIcon, children: icon }),
5555
- /* @__PURE__ */ jsx52("span", { className: ScSidebarShell_default.rowLabel, children: label }),
5556
- value != null ? /* @__PURE__ */ jsx52("span", { className: ScSidebarShell_default.rowValue, children: value }) : null,
5557
- trailing ? /* @__PURE__ */ jsx52("span", { className: ScSidebarShell_default.rowTrailing, children: trailing }) : null
5610
+ /* @__PURE__ */ jsx53("span", { className: ScSidebarShell_default.rowIcon, children: icon }),
5611
+ /* @__PURE__ */ jsx53("span", { className: ScSidebarShell_default.rowLabel, children: label }),
5612
+ value != null ? /* @__PURE__ */ jsx53("span", { className: ScSidebarShell_default.rowValue, children: value }) : null,
5613
+ trailing ? /* @__PURE__ */ jsx53("span", { className: ScSidebarShell_default.rowTrailing, children: trailing }) : null
5558
5614
  ] });
5559
- return onClick ? /* @__PURE__ */ jsx52(
5615
+ return onClick ? /* @__PURE__ */ jsx53(
5560
5616
  "button",
5561
5617
  {
5562
5618
  type: "button",
@@ -5565,13 +5621,13 @@ function MenuActionRow({
5565
5621
  className: ScSidebarShell_default.actionRow,
5566
5622
  children: content
5567
5623
  }
5568
- ) : /* @__PURE__ */ jsx52("div", { className: `${ScSidebarShell_default.actionRow} ${ScSidebarShell_default.actionRowStatic}`, children: content });
5624
+ ) : /* @__PURE__ */ jsx53("div", { className: `${ScSidebarShell_default.actionRow} ${ScSidebarShell_default.actionRowStatic}`, children: content });
5569
5625
  }
5570
5626
  function SectionTitle({ children }) {
5571
- return /* @__PURE__ */ jsx52("h2", { className: ScSidebarShell_default.sectionTitle, children });
5627
+ return /* @__PURE__ */ jsx53("h2", { className: ScSidebarShell_default.sectionTitle, children });
5572
5628
  }
5573
5629
  function ChevronRight() {
5574
- return /* @__PURE__ */ jsx52("span", { "aria-hidden": true, className: ScSidebarShell_default.chevronRight, children: "\u203A" });
5630
+ return /* @__PURE__ */ jsx53("span", { "aria-hidden": true, className: ScSidebarShell_default.chevronRight, children: "\u203A" });
5575
5631
  }
5576
5632
  function ScWorkspaceAccountMenu({
5577
5633
  workspaceName,
@@ -5611,7 +5667,7 @@ function ScWorkspaceAccountMenu({
5611
5667
  ...props,
5612
5668
  children: [
5613
5669
  /* @__PURE__ */ jsxs42("section", { className: ScSidebarShell_default.section, children: [
5614
- /* @__PURE__ */ jsx52(SectionTitle, { children: "Workspace" }),
5670
+ /* @__PURE__ */ jsx53(SectionTitle, { children: "Workspace" }),
5615
5671
  /* @__PURE__ */ jsxs42(
5616
5672
  "button",
5617
5673
  {
@@ -5620,7 +5676,7 @@ function ScWorkspaceAccountMenu({
5620
5676
  onClick: onSwitchWorkspace,
5621
5677
  className: ScSidebarShell_default.identityRow,
5622
5678
  children: [
5623
- /* @__PURE__ */ jsx52(
5679
+ /* @__PURE__ */ jsx53(
5624
5680
  ScDp,
5625
5681
  {
5626
5682
  type: workspaceImage ? "image" : "initial",
@@ -5631,52 +5687,52 @@ function ScWorkspaceAccountMenu({
5631
5687
  }
5632
5688
  ),
5633
5689
  /* @__PURE__ */ jsxs42("span", { className: ScSidebarShell_default.identityText, children: [
5634
- /* @__PURE__ */ jsx52("span", { className: ScSidebarShell_default.identityName, children: workspaceName }),
5690
+ /* @__PURE__ */ jsx53("span", { className: ScSidebarShell_default.identityName, children: workspaceName }),
5635
5691
  /* @__PURE__ */ jsxs42("span", { className: ScSidebarShell_default.identitySubtitle, children: [
5636
5692
  normalizedRole,
5637
5693
  " \xB7 Switch or create"
5638
5694
  ] })
5639
5695
  ] }),
5640
- /* @__PURE__ */ jsx52(ChevronRight, {})
5696
+ /* @__PURE__ */ jsx53(ChevronRight, {})
5641
5697
  ]
5642
5698
  }
5643
5699
  ),
5644
- /* @__PURE__ */ jsx52(
5700
+ /* @__PURE__ */ jsx53(
5645
5701
  MenuActionRow,
5646
5702
  {
5647
- icon: /* @__PURE__ */ jsx52(SiconTeam4, { size: 20, color: primaryIcon }),
5703
+ icon: /* @__PURE__ */ jsx53(SiconTeam4, { size: 20, color: primaryIcon }),
5648
5704
  label: "Invite Members",
5649
5705
  onClick: onInviteMembers
5650
5706
  }
5651
5707
  ),
5652
- /* @__PURE__ */ jsx52(
5708
+ /* @__PURE__ */ jsx53(
5653
5709
  MenuActionRow,
5654
5710
  {
5655
- icon: /* @__PURE__ */ jsx52(SiconBilling4, { size: 20, color: primaryIcon }),
5711
+ icon: /* @__PURE__ */ jsx53(SiconBilling4, { size: 20, color: primaryIcon }),
5656
5712
  label: "Billing & Usage",
5657
5713
  value: creditsLabel,
5658
5714
  onClick: onBilling
5659
5715
  }
5660
5716
  )
5661
5717
  ] }),
5662
- /* @__PURE__ */ jsx52("div", { "aria-hidden": true, className: ScSidebarShell_default.divider }),
5718
+ /* @__PURE__ */ jsx53("div", { "aria-hidden": true, className: ScSidebarShell_default.divider }),
5663
5719
  /* @__PURE__ */ jsxs42("section", { className: ScSidebarShell_default.section, children: [
5664
- /* @__PURE__ */ jsx52(SectionTitle, { children: "Organization" }),
5665
- /* @__PURE__ */ jsx52(
5720
+ /* @__PURE__ */ jsx53(SectionTitle, { children: "Organization" }),
5721
+ /* @__PURE__ */ jsx53(
5666
5722
  MenuActionRow,
5667
5723
  {
5668
- icon: /* @__PURE__ */ jsx52(SiconWorkspace, { size: 20, color: primaryIcon }),
5724
+ icon: /* @__PURE__ */ jsx53(SiconWorkspace, { size: 20, color: primaryIcon }),
5669
5725
  label: organizationName || "No organization",
5670
5726
  value: organizationName && organizationRole ? organizationRole : void 0,
5671
5727
  ariaLabel: organizationName ? `Open ${organizationName} organization settings` : void 0,
5672
- trailing: organizationName ? /* @__PURE__ */ jsx52(ChevronRight, {}) : void 0,
5728
+ trailing: organizationName ? /* @__PURE__ */ jsx53(ChevronRight, {}) : void 0,
5673
5729
  onClick: organizationName ? onOrganizationClick : void 0
5674
5730
  }
5675
5731
  )
5676
5732
  ] }),
5677
- /* @__PURE__ */ jsx52("div", { "aria-hidden": true, className: ScSidebarShell_default.divider }),
5733
+ /* @__PURE__ */ jsx53("div", { "aria-hidden": true, className: ScSidebarShell_default.divider }),
5678
5734
  /* @__PURE__ */ jsxs42("section", { className: ScSidebarShell_default.section, children: [
5679
- /* @__PURE__ */ jsx52(SectionTitle, { children: "Account" }),
5735
+ /* @__PURE__ */ jsx53(SectionTitle, { children: "Account" }),
5680
5736
  /* @__PURE__ */ jsxs42(
5681
5737
  "button",
5682
5738
  {
@@ -5685,7 +5741,7 @@ function ScWorkspaceAccountMenu({
5685
5741
  onClick: onAccountClick,
5686
5742
  className: ScSidebarShell_default.identityRow,
5687
5743
  children: [
5688
- /* @__PURE__ */ jsx52(
5744
+ /* @__PURE__ */ jsx53(
5689
5745
  ScDp,
5690
5746
  {
5691
5747
  type: accountImage ? "image" : "initial",
@@ -5696,16 +5752,16 @@ function ScWorkspaceAccountMenu({
5696
5752
  }
5697
5753
  ),
5698
5754
  /* @__PURE__ */ jsxs42("span", { className: ScSidebarShell_default.identityText, children: [
5699
- /* @__PURE__ */ jsx52("span", { className: ScSidebarShell_default.identityName, children: accountName }),
5700
- accountEmail ? /* @__PURE__ */ jsx52("span", { className: ScSidebarShell_default.identitySubtitle, children: accountEmail }) : null
5755
+ /* @__PURE__ */ jsx53("span", { className: ScSidebarShell_default.identityName, children: accountName }),
5756
+ accountEmail ? /* @__PURE__ */ jsx53("span", { className: ScSidebarShell_default.identitySubtitle, children: accountEmail }) : null
5701
5757
  ] }),
5702
- /* @__PURE__ */ jsx52(ChevronRight, {})
5758
+ /* @__PURE__ */ jsx53(ChevronRight, {})
5703
5759
  ]
5704
5760
  }
5705
5761
  ),
5706
- /* @__PURE__ */ jsx52("div", { role: "radiogroup", "aria-label": "Theme", className: ScSidebarShell_default.themePicker, children: themes.map(({ value, label, icon: Icon }) => {
5762
+ /* @__PURE__ */ jsx53("div", { role: "radiogroup", "aria-label": "Theme", className: ScSidebarShell_default.themePicker, children: themes.map(({ value, label, icon: Icon }) => {
5707
5763
  const selected = themeMode === value;
5708
- return /* @__PURE__ */ jsx52(
5764
+ return /* @__PURE__ */ jsx53(
5709
5765
  "button",
5710
5766
  {
5711
5767
  type: "button",
@@ -5715,7 +5771,7 @@ function ScWorkspaceAccountMenu({
5715
5771
  title: label,
5716
5772
  onClick: () => onThemeModeChange?.(value),
5717
5773
  className: `${ScSidebarShell_default.themeButton}${selected ? ` ${ScSidebarShell_default.themeButtonSelected}` : ""}`,
5718
- children: /* @__PURE__ */ jsx52(
5774
+ children: /* @__PURE__ */ jsx53(
5719
5775
  Icon,
5720
5776
  {
5721
5777
  size: 20,
@@ -6102,45 +6158,6 @@ function useStreamoidAnchoredPopoverPosition(anchorRef, panelRef, { width, gap =
6102
6158
  return position;
6103
6159
  }
6104
6160
 
6105
- // src/SC-SidebarShell/ScPopoverArrow.tsx
6106
- import { jsx as jsx53 } from "react/jsx-runtime";
6107
- function ScPopoverArrow({
6108
- arrow,
6109
- background = "var(--alias-surface-base, #101010)",
6110
- borderColor = "var(--alias-border-default, #3e3e3e)",
6111
- size = 12,
6112
- style
6113
- }) {
6114
- if (!arrow) return null;
6115
- const half = size / 2;
6116
- const onLeftEdge = arrow.side === "left";
6117
- return /* @__PURE__ */ jsx53(
6118
- "span",
6119
- {
6120
- "aria-hidden": true,
6121
- "data-streamoid-popover-arrow": arrow.side,
6122
- style: {
6123
- position: "absolute",
6124
- top: arrow.top - half,
6125
- [onLeftEdge ? "left" : "right"]: -half,
6126
- width: size,
6127
- height: size,
6128
- background,
6129
- /* Only the two edges that face away from the card. The other two sit
6130
- under it, where a border would draw a line across the card's own
6131
- edge. */
6132
- borderTop: onLeftEdge ? "none" : `1px solid ${borderColor}`,
6133
- borderRight: onLeftEdge ? "none" : `1px solid ${borderColor}`,
6134
- borderBottom: onLeftEdge ? `1px solid ${borderColor}` : "none",
6135
- borderLeft: onLeftEdge ? `1px solid ${borderColor}` : "none",
6136
- transform: "rotate(45deg)",
6137
- pointerEvents: "none",
6138
- ...style
6139
- }
6140
- }
6141
- );
6142
- }
6143
-
6144
6161
  // src/SC-SidebarShell/useStreamoidSidebarPopoverPosition.ts
6145
6162
  import {
6146
6163
  useLayoutEffect as useLayoutEffect2,
@@ -12734,6 +12751,8 @@ export {
12734
12751
  PANEL_RESIZE_STEP_PX,
12735
12752
  ProductCollapsedMark,
12736
12753
  ProductWordmark,
12754
+ SC_APP_SWITCH_PANEL_WIDTH,
12755
+ SC_WORKSPACE_MENU_WIDTH,
12737
12756
  SIDEBAR_RESIZE_THRESHOLD_PX,
12738
12757
  STREAMOID_CHANGELOG_URL,
12739
12758
  STREAMOID_CHANGELOG_URLS,