@flamingo-stack/openframe-frontend-core 0.0.704 → 0.0.705

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.
Files changed (90) hide show
  1. package/dist/{chunk-MGGGBHYD.cjs → chunk-2QEUFXNS.cjs} +10 -10
  2. package/dist/{chunk-LDPEQGKT.cjs → chunk-3MX5S4CF.cjs} +132 -80
  3. package/dist/{chunk-UK62YTH6.cjs → chunk-4I45Y3DN.cjs} +2 -2
  4. package/dist/{chunk-AMYY3PNL.cjs → chunk-4KX6OED2.cjs} +42 -42
  5. package/dist/{chunk-4DQMTBMK.cjs → chunk-6NJKKO73.cjs} +11 -11
  6. package/dist/{chunk-JEYRXT5L.js → chunk-6SEANMOU.js} +7 -7
  7. package/dist/{chunk-C7XGRLT5.cjs → chunk-7LS22BZU.cjs} +6 -6
  8. package/dist/{chunk-2JDVL7UV.js → chunk-7VVFKJY5.js} +70 -18
  9. package/dist/{chunk-7JIL3WOH.cjs → chunk-A75QY6CD.cjs} +14 -14
  10. package/dist/{chunk-VTASHWER.js → chunk-AQWZNP6A.js} +3 -3
  11. package/dist/{chunk-ZQFZSFQI.js → chunk-DENB2XJC.js} +2 -2
  12. package/dist/{chunk-FXENTYE5.js → chunk-DW7G4KG3.js} +1 -1
  13. package/dist/{chunk-I7DFUQMN.js → chunk-F6AFPNDF.js} +5 -6
  14. package/dist/{chunk-5QJDM6UV.js → chunk-F6I6XZMN.js} +3 -3
  15. package/dist/{chunk-4KGXLVCF.js → chunk-FCGC42TS.js} +3 -3
  16. package/dist/{chunk-2G546OND.js → chunk-G5A3PSPV.js} +19 -7
  17. package/dist/{chunk-N3TO7JV3.cjs → chunk-HPWWNJE7.cjs} +49 -49
  18. package/dist/{chunk-MI3JUJ75.cjs → chunk-IHERL5V4.cjs} +21 -21
  19. package/dist/{chunk-XIFOBQRQ.cjs → chunk-IKTQ3ZAG.cjs} +4 -4
  20. package/dist/{chunk-262YQFOS.cjs → chunk-JEZKGCZI.cjs} +24 -24
  21. package/dist/{chunk-L3IC42IF.cjs → chunk-KOWVJD4V.cjs} +17 -18
  22. package/dist/{chunk-IHU5ANUY.js → chunk-MKXO4Q5P.js} +1 -1
  23. package/dist/{chunk-IZGDG5X6.cjs → chunk-OUY3HHW6.cjs} +57 -45
  24. package/dist/{chunk-WUJNYGO2.js → chunk-PDWVPI3S.js} +0 -4
  25. package/dist/{chunk-ERCV6HHJ.js → chunk-PN2RKPDF.js} +4 -4
  26. package/dist/{chunk-7LFIKJX2.js → chunk-QFXRPRFT.js} +2 -2
  27. package/dist/{chunk-NRLJUBCS.js → chunk-RBDP4WDE.js} +2 -2
  28. package/dist/{chunk-C3BWIU7R.cjs → chunk-TYWLNCNH.cjs} +1 -5
  29. package/dist/{chunk-XATTBO5X.js → chunk-VA5T32XA.js} +1 -1
  30. package/dist/{chunk-LTSTC3N5.cjs → chunk-VESKITRQ.cjs} +379 -379
  31. package/dist/{chunk-HFJW24JJ.cjs → chunk-WA6GUYQ4.cjs} +79 -79
  32. package/dist/{chunk-QVSFBSWV.js → chunk-X5MQ7JRP.js} +4 -4
  33. package/dist/{chunk-XJKZ4IKT.cjs → chunk-YFBM2K6X.cjs} +4 -4
  34. package/dist/{chunk-6WQIUQUC.js → chunk-YHM5AWTT.js} +5 -5
  35. package/dist/{chunk-SYXQLETR.cjs → chunk-ZSAGLQOD.cjs} +9 -9
  36. package/dist/{chunk-HJAYVKWQ.js → chunk-ZSAO2HBW.js} +6 -6
  37. package/dist/components/case-studies/index.cjs +17 -17
  38. package/dist/components/case-studies/index.js +5 -5
  39. package/dist/components/chat/chat-input.d.ts.map +1 -1
  40. package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
  41. package/dist/components/chat/embeddable-chat.d.ts +8 -0
  42. package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
  43. package/dist/components/chat/index.cjs +5 -3
  44. package/dist/components/chat/index.d.ts +1 -1
  45. package/dist/components/chat/index.d.ts.map +1 -1
  46. package/dist/components/chat/index.js +4 -2
  47. package/dist/components/chat/mingo-chat-rail.d.ts +3 -1
  48. package/dist/components/chat/mingo-chat-rail.d.ts.map +1 -1
  49. package/dist/components/contact/index.cjs +6 -6
  50. package/dist/components/contact/index.js +5 -5
  51. package/dist/components/docs/index.cjs +9 -9
  52. package/dist/components/docs/index.js +8 -8
  53. package/dist/components/embeds/index.cjs +6 -6
  54. package/dist/components/embeds/index.js +5 -5
  55. package/dist/components/faq/index.cjs +6 -6
  56. package/dist/components/faq/index.js +5 -5
  57. package/dist/components/features/index.cjs +5 -5
  58. package/dist/components/features/index.js +4 -4
  59. package/dist/components/help-center-pages/index.cjs +81 -81
  60. package/dist/components/help-center-pages/index.js +16 -16
  61. package/dist/components/index.cjs +51 -47
  62. package/dist/components/index.js +19 -15
  63. package/dist/components/meeting-scheduler/index.cjs +32 -32
  64. package/dist/components/meeting-scheduler/index.js +4 -4
  65. package/dist/components/navigation/app-layout-side-panel.d.ts +18 -1
  66. package/dist/components/navigation/app-layout-side-panel.d.ts.map +1 -1
  67. package/dist/components/navigation/index.cjs +10 -8
  68. package/dist/components/navigation/index.d.ts +1 -0
  69. package/dist/components/navigation/index.d.ts.map +1 -1
  70. package/dist/components/navigation/index.js +9 -7
  71. package/dist/components/onboarding-guides/index.cjs +8 -8
  72. package/dist/components/onboarding-guides/index.js +7 -7
  73. package/dist/components/tickets/index.cjs +9 -9
  74. package/dist/components/tickets/index.js +8 -8
  75. package/dist/components/ui/index.cjs +7 -5
  76. package/dist/components/ui/index.js +6 -4
  77. package/dist/hooks/index.cjs +3 -3
  78. package/dist/hooks/index.js +2 -2
  79. package/dist/index.cjs +14 -10
  80. package/dist/index.js +12 -8
  81. package/package.json +1 -1
  82. package/src/components/chat/chat-input.tsx +5 -1
  83. package/src/components/chat/chat-message-enhanced.tsx +4 -3
  84. package/src/components/chat/embeddable-chat.tsx +64 -6
  85. package/src/components/chat/index.ts +1 -0
  86. package/src/components/chat/mingo-chat-rail.tsx +24 -7
  87. package/src/components/navigation/app-layout-side-panel.tsx +30 -2
  88. package/src/components/navigation/index.ts +1 -0
  89. package/src/components/platform/SoftwareSourceBadge.tsx +1 -1
  90. package/src/styles/app-globals.css +13 -0
@@ -8,17 +8,17 @@
8
8
 
9
9
 
10
10
 
11
- var _chunkLTSTC3N5cjs = require('./chunk-LTSTC3N5.cjs');
11
+ var _chunkVESKITRQcjs = require('./chunk-VESKITRQ.cjs');
12
12
 
13
13
 
14
14
 
15
15
 
16
- var _chunkMGGGBHYDcjs = require('./chunk-MGGGBHYD.cjs');
16
+ var _chunk2QEUFXNScjs = require('./chunk-2QEUFXNS.cjs');
17
17
 
18
18
 
19
19
 
20
20
 
21
- var _chunkLDPEQGKTcjs = require('./chunk-LDPEQGKT.cjs');
21
+ var _chunk3MX5S4CFcjs = require('./chunk-3MX5S4CF.cjs');
22
22
 
23
23
 
24
24
 
@@ -113,14 +113,14 @@ function ContactForm({
113
113
  successToastMessage = "Redirecting you to join our community...",
114
114
  rescue: rescueForm = null
115
115
  } = {}) {
116
- const attachments = _chunkLDPEQGKTcjs.useChatAttachments.call(void 0, );
117
- const builtInSubmission = _chunkMGGGBHYDcjs.useContactSubmission.call(void 0, {
116
+ const attachments = _chunk3MX5S4CFcjs.useChatAttachments.call(void 0, );
117
+ const builtInSubmission = _chunk2QEUFXNScjs.useContactSubmission.call(void 0, {
118
118
  userId,
119
119
  successRedirectUrl,
120
120
  successToastMessage
121
121
  });
122
122
  const [customSubmitting, setCustomSubmitting] = _react.useState.call(void 0, false);
123
- const { honeypotInputProps, getSignals, resetSignals } = _chunkMGGGBHYDcjs.useHumanitySignals.call(void 0, );
123
+ const { honeypotInputProps, getSignals, resetSignals } = _chunk2QEUFXNScjs.useHumanitySignals.call(void 0, );
124
124
  const isSubmitting = onCustomSubmit ? customSubmitting : builtInSubmission.isSubmitting;
125
125
  const isSuccess = onCustomSubmit ? false : builtInSubmission.isSuccess;
126
126
  const form = _reacthookform.useForm.call(void 0, {
@@ -146,7 +146,7 @@ function ContactForm({
146
146
  ),
147
147
  [hideFields]
148
148
  );
149
- const rescue = _chunkMGGGBHYDcjs.useRescuedForm.call(void 0, form, { rescue: rescueForm, fields: rescueFieldNames, getSignals });
149
+ const rescue = _chunk2QEUFXNScjs.useRescuedForm.call(void 0, form, { rescue: rescueForm, fields: rescueFieldNames, getSignals });
150
150
  const handleFormSubmit = async (data) => {
151
151
  if (isSubmitting) return;
152
152
  if (attachmentsEnabled && attachments.hasInflightUploads) return;
@@ -197,13 +197,13 @@ function ContactForm({
197
197
  );
198
198
  }),
199
199
  className: "flex flex-grow flex-col space-y-4 content-md:space-y-6",
200
- ..._chunkLTSTC3N5cjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
200
+ ..._chunkVESKITRQcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
201
201
  children: [
202
202
  !showName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { type: "hidden", ...register("name") }),
203
203
  !showEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { type: "hidden", ...register("email") }),
204
204
  !showHelpCategory && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { type: "hidden", ...register("helpCategory") }),
205
205
  !showMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { type: "hidden", ...register("message") }),
206
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTSTC3N5cjs.HoneypotField, { ...honeypotInputProps }),
206
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.HoneypotField, { ...honeypotInputProps }),
207
207
  extraTopField,
208
208
  showNameEmailRow && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-md:grid-cols-2 content-md:gap-6", children: [
209
209
  showName && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
@@ -255,17 +255,17 @@ function ContactForm({
255
255
  {
256
256
  control,
257
257
  name: "companySize",
258
- render: ({ field }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkLTSTC3N5cjs.Select, { onValueChange: field.onChange, value: _nullishCoalesce(field.value, () => ( "")), children: [
258
+ render: ({ field }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVESKITRQcjs.Select, { onValueChange: field.onChange, value: _nullishCoalesce(field.value, () => ( "")), children: [
259
259
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
260
- _chunkLTSTC3N5cjs.SelectTrigger,
260
+ _chunkVESKITRQcjs.SelectTrigger,
261
261
  {
262
262
  id: "companySize",
263
263
  "aria-label": "Company Size",
264
264
  className: "h-12 border-ods-border bg-ods-card px-3 text-ods-text-primary",
265
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTSTC3N5cjs.SelectValue, { placeholder: "Select company size" })
265
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.SelectValue, { placeholder: "Select company size" })
266
266
  }
267
267
  ),
268
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTSTC3N5cjs.SelectContent, { children: companySizeOptions.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTSTC3N5cjs.SelectItem, { value: opt, children: opt }, opt)) })
268
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.SelectContent, { children: companySizeOptions.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.SelectItem, { value: opt, children: opt }, opt)) })
269
269
  ] })
270
270
  }
271
271
  ),
@@ -278,17 +278,17 @@ function ContactForm({
278
278
  {
279
279
  control,
280
280
  name: "referralSource",
281
- render: ({ field }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkLTSTC3N5cjs.Select, { onValueChange: field.onChange, value: _nullishCoalesce(field.value, () => ( "")), children: [
281
+ render: ({ field }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVESKITRQcjs.Select, { onValueChange: field.onChange, value: _nullishCoalesce(field.value, () => ( "")), children: [
282
282
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
283
- _chunkLTSTC3N5cjs.SelectTrigger,
283
+ _chunkVESKITRQcjs.SelectTrigger,
284
284
  {
285
285
  id: "referralSource",
286
286
  "aria-label": "Referral Source",
287
287
  className: "h-12 border-ods-border bg-ods-card px-3 text-ods-text-primary",
288
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTSTC3N5cjs.SelectValue, { placeholder: "Select an option" })
288
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.SelectValue, { placeholder: "Select an option" })
289
289
  }
290
290
  ),
291
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTSTC3N5cjs.SelectContent, { children: referralSourceOptions.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTSTC3N5cjs.SelectItem, { value: opt, children: opt }, opt)) })
291
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.SelectContent, { children: referralSourceOptions.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.SelectItem, { value: opt, children: opt }, opt)) })
292
292
  ] })
293
293
  }
294
294
  ),
@@ -305,18 +305,18 @@ function ContactForm({
305
305
  {
306
306
  control,
307
307
  name: "helpCategory",
308
- render: ({ field }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkLTSTC3N5cjs.Select, { onValueChange: field.onChange, value: _nullishCoalesce(field.value, () => ( "")), children: [
308
+ render: ({ field }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVESKITRQcjs.Select, { onValueChange: field.onChange, value: _nullishCoalesce(field.value, () => ( "")), children: [
309
309
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
310
- _chunkLTSTC3N5cjs.SelectTrigger,
310
+ _chunkVESKITRQcjs.SelectTrigger,
311
311
  {
312
312
  id: "helpCategory",
313
313
  "aria-label": "Help Category",
314
314
  "aria-required": true,
315
315
  className: "h-12 border-ods-border bg-ods-card px-3 text-ods-text-primary",
316
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTSTC3N5cjs.SelectValue, { placeholder: "Choose your main interest" })
316
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.SelectValue, { placeholder: "Choose your main interest" })
317
317
  }
318
318
  ),
319
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTSTC3N5cjs.SelectContent, { children: helpCategoryOptions.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTSTC3N5cjs.SelectItem, { value: opt, children: opt }, opt)) })
319
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.SelectContent, { children: helpCategoryOptions.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.SelectItem, { value: opt, children: opt }, opt)) })
320
320
  ] })
321
321
  }
322
322
  ),
@@ -328,7 +328,7 @@ function ContactForm({
328
328
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBM5MVGH3cjs.RequiredMark, {})
329
329
  ] }),
330
330
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
331
- _chunkLTSTC3N5cjs.Textarea,
331
+ _chunkVESKITRQcjs.Textarea,
332
332
  {
333
333
  id: "message",
334
334
  ...register("message"),
@@ -343,7 +343,7 @@ function ContactForm({
343
343
  ] }),
344
344
  attachmentsEnabled && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
345
345
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
346
- _chunkLDPEQGKTcjs.ChatAttachmentChipStrip,
346
+ _chunk3MX5S4CFcjs.ChatAttachmentChipStrip,
347
347
  {
348
348
  attachments: attachments.attachments,
349
349
  onRemove: attachments.removeAttachment,
@@ -352,7 +352,7 @@ function ContactForm({
352
352
  ),
353
353
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
354
354
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
355
- _chunkLDPEQGKTcjs.ChatAttachmentAddButton,
355
+ _chunk3MX5S4CFcjs.ChatAttachmentAddButton,
356
356
  {
357
357
  attachmentsEnabled: true,
358
358
  attachmentsCount: attachments.attachments.length,
@@ -4,14 +4,13 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkLTSTC3N5cjs = require('./chunk-LTSTC3N5.cjs');
7
+ var _chunkVESKITRQcjs = require('./chunk-VESKITRQ.cjs');
8
8
 
9
9
 
10
- var _chunkMGGGBHYDcjs = require('./chunk-MGGGBHYD.cjs');
10
+ var _chunk2QEUFXNScjs = require('./chunk-2QEUFXNS.cjs');
11
11
 
12
12
 
13
-
14
- var _chunkC3BWIU7Rcjs = require('./chunk-C3BWIU7R.cjs');
13
+ var _chunkTYWLNCNHcjs = require('./chunk-TYWLNCNH.cjs');
15
14
 
16
15
 
17
16
 
@@ -88,7 +87,7 @@ var sourceConfig = {
88
87
  };
89
88
  var SoftwareSourceBadge = ({ source, className }) => {
90
89
  const config = sourceConfig[source] || { label: source, icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkX72J4ACLcjs.PackageIcon, { className: "h-4 w-4" }) };
91
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkC3BWIU7Rcjs.cn.call(void 0, "inline-flex items-center gap-2 text-ods-text-primary", className), children: [
90
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk3ATAYP36cjs.cn.call(void 0, "inline-flex items-center gap-2 text-ods-text-primary", className), children: [
92
91
  config.icon,
93
92
  config.label
94
93
  ] });
@@ -129,8 +128,8 @@ var ToolBadge = ({
129
128
  className,
130
129
  iconClassName
131
130
  }) => {
132
- const text = _nullishCoalesce(label, () => ( (toolType ? _chunkLTSTC3N5cjs.getToolLabel.call(void 0, toolType) : "")));
133
- const mark = _nullishCoalesce(icon, () => ( (toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC3BWIU7Rcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }) : null)));
131
+ const text = _nullishCoalesce(label, () => ( (toolType ? _chunkVESKITRQcjs.getToolLabel.call(void 0, toolType) : "")));
132
+ const mark = _nullishCoalesce(icon, () => ( (toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTYWLNCNHcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }) : null)));
134
133
  const linked = (node, linkClassName) => href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", title: text || void 0, className: linkClassName, children: node }) : node;
135
134
  if (variant === "chip") {
136
135
  return linked(
@@ -163,31 +162,31 @@ var ToolBadge = ({
163
162
  // src/components/platform/ShellTypeBadge.tsx
164
163
 
165
164
  var shellIconMap = {
166
- [_chunkLTSTC3N5cjs.ShellTypeValues.POWERSHELL]: {
165
+ [_chunkVESKITRQcjs.ShellTypeValues.POWERSHELL]: {
167
166
  icon: _chunkN3COXDBHcjs.PowershellLogoGreyIcon,
168
167
  props: { size: 16, className: "text-ods-text-secondary" }
169
168
  },
170
- [_chunkLTSTC3N5cjs.ShellTypeValues.CMD]: {
169
+ [_chunkVESKITRQcjs.ShellTypeValues.CMD]: {
171
170
  icon: _chunkX72J4ACLcjs.CmdIcon,
172
171
  props: { size: 16, color: "var(--color-text-secondary)" }
173
172
  },
174
- [_chunkLTSTC3N5cjs.ShellTypeValues.BASH]: {
173
+ [_chunkVESKITRQcjs.ShellTypeValues.BASH]: {
175
174
  icon: _chunkX72J4ACLcjs.BashIcon,
176
175
  props: { size: 16, color: "var(--color-text-secondary)" }
177
176
  },
178
- [_chunkLTSTC3N5cjs.ShellTypeValues.PYTHON]: {
177
+ [_chunkVESKITRQcjs.ShellTypeValues.PYTHON]: {
179
178
  icon: _chunkN3COXDBHcjs.PythonLogoIcon,
180
179
  props: { size: 16, className: "text-ods-text-secondary" }
181
180
  },
182
- [_chunkLTSTC3N5cjs.ShellTypeValues.NUSHELL]: {
181
+ [_chunkVESKITRQcjs.ShellTypeValues.NUSHELL]: {
183
182
  icon: _chunkX72J4ACLcjs.NushellIcon,
184
183
  props: { size: 16, color: "var(--color-text-secondary)" }
185
184
  },
186
- [_chunkLTSTC3N5cjs.ShellTypeValues.DENO]: {
185
+ [_chunkVESKITRQcjs.ShellTypeValues.DENO]: {
187
186
  icon: _chunkX72J4ACLcjs.DenoIcon,
188
187
  props: { size: 16, color: "var(--color-text-secondary)" }
189
188
  },
190
- [_chunkLTSTC3N5cjs.ShellTypeValues.SHELL]: {
189
+ [_chunkVESKITRQcjs.ShellTypeValues.SHELL]: {
191
190
  icon: _chunkX72J4ACLcjs.ShellIcon,
192
191
  props: { size: 16, color: "var(--color-text-secondary)" }
193
192
  }
@@ -198,7 +197,7 @@ var defaultIconConfig = {
198
197
  };
199
198
  var ShellTypeBadge = ({ shellType, className, iconClassName }) => {
200
199
  const normalizedType = _optionalChain([shellType, 'optionalAccess', _ => _.toUpperCase, 'call', _2 => _2()]);
201
- const label = _chunkLTSTC3N5cjs.getShellLabel.call(void 0, normalizedType);
200
+ const label = _chunkVESKITRQcjs.getShellLabel.call(void 0, normalizedType);
202
201
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
203
202
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
204
203
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex items-center gap-1", className), children: [
@@ -214,7 +213,7 @@ function formatSupportedPlatforms(platforms) {
214
213
  if (!platforms || platforms.length === 0) {
215
214
  return "All Platforms";
216
215
  }
217
- return platforms.map((platform) => _chunkLTSTC3N5cjs.getOSLabel.call(void 0, platform)).join(", ");
216
+ return platforms.map((platform) => _chunkVESKITRQcjs.getOSLabel.call(void 0, platform)).join(", ");
218
217
  }
219
218
  function InfoCell({ label, value, avatar, className }) {
220
219
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex min-w-0 items-center gap-2", className), children: [
@@ -234,7 +233,7 @@ var ScriptInfoSection = ({
234
233
  author,
235
234
  className
236
235
  }) => {
237
- const shellLabel = _chunkLTSTC3N5cjs.getShellLabel.call(void 0, shellType);
236
+ const shellLabel = _chunkVESKITRQcjs.getShellLabel.call(void 0, shellType);
238
237
  const platformsLabel = formatSupportedPlatforms(supportedPlatforms);
239
238
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "overflow-hidden rounded-[6px] border border-ods-border bg-ods-card", className), children: [
240
239
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-b border-ods-border p-4", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-1", children: [
@@ -481,7 +480,7 @@ function OnboardingWalkthrough({
481
480
  isStepSkipped,
482
481
  allStepsComplete,
483
482
  markMultipleComplete
484
- } = _chunkMGGGBHYDcjs.useOnboardingState.call(void 0, storageKey);
483
+ } = _chunk2QEUFXNScjs.useOnboardingState.call(void 0, storageKey);
485
484
  const hasAutoMarkedRef = _react.useRef.call(void 0, false);
486
485
  const autoMarkingInProgressRef = _react.useRef.call(void 0, false);
487
486
  const lastCompletionStatusRef = _react.useRef.call(void 0, null);
@@ -18,7 +18,7 @@ import {
18
18
  scrollElementIntoView,
19
19
  useAutoplay,
20
20
  useDebounce
21
- } from "./chunk-WUJNYGO2.js";
21
+ } from "./chunk-PDWVPI3S.js";
22
22
  import {
23
23
  useRouter,
24
24
  useSearchParams
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
2
 
3
3
 
4
- var _chunkXIFOBQRQcjs = require('./chunk-XIFOBQRQ.cjs');
4
+ var _chunkIKTQ3ZAGcjs = require('./chunk-IKTQ3ZAG.cjs');
5
5
 
6
6
 
7
7
 
@@ -13,18 +13,18 @@ var _chunkXIFOBQRQcjs = require('./chunk-XIFOBQRQ.cjs');
13
13
 
14
14
 
15
15
 
16
- var _chunkLTSTC3N5cjs = require('./chunk-LTSTC3N5.cjs');
16
+ var _chunkVESKITRQcjs = require('./chunk-VESKITRQ.cjs');
17
17
 
18
18
 
19
19
 
20
- var _chunkMGGGBHYDcjs = require('./chunk-MGGGBHYD.cjs');
20
+ var _chunk2QEUFXNScjs = require('./chunk-2QEUFXNS.cjs');
21
21
 
22
22
 
23
23
 
24
- var _chunkLDPEQGKTcjs = require('./chunk-LDPEQGKT.cjs');
24
+ var _chunk3MX5S4CFcjs = require('./chunk-3MX5S4CF.cjs');
25
25
 
26
26
 
27
- var _chunkC3BWIU7Rcjs = require('./chunk-C3BWIU7R.cjs');
27
+ var _chunkTYWLNCNHcjs = require('./chunk-TYWLNCNH.cjs');
28
28
 
29
29
 
30
30
 
@@ -138,8 +138,8 @@ var MOBILE_NAV_PANEL_ID = "mobile-nav-panel";
138
138
  function MobileNavPanel({ isOpen, config }) {
139
139
  const panelRef = _react.useRef.call(void 0, null);
140
140
  _overlays.usePreventScroll.call(void 0, { isDisabled: !isOpen });
141
- _chunkMGGGBHYDcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: config.onClose });
142
- const headerHeight = _chunkC3BWIU7Rcjs.useHeaderHeight.call(void 0, 64, { enabled: isOpen });
141
+ _chunk2QEUFXNScjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: config.onClose });
142
+ const headerHeight = _chunkTYWLNCNHcjs.useHeaderHeight.call(void 0, 64, { enabled: isOpen });
143
143
  if (!isOpen) return null;
144
144
  const renderNavigationItem = (item) => {
145
145
  if (item.element) {
@@ -190,7 +190,7 @@ function MobileNavPanel({ isOpen, config }) {
190
190
  );
191
191
  };
192
192
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
193
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "fixed inset-0 z-[9998]", _chunkLDPEQGKTcjs.OVERLAY_BACKDROP_CLASS), onClick: config.onClose }),
193
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "fixed inset-0 z-[9998]", _chunk3MX5S4CFcjs.OVERLAY_BACKDROP_CLASS), onClick: config.onClose }),
194
194
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
195
195
  "div",
196
196
  {
@@ -245,16 +245,16 @@ function MobileNavPanel({ isOpen, config }) {
245
245
  // src/components/navigation/ticket-alerts-button.tsx
246
246
 
247
247
  function TicketAlertsButton({ href, onNavigate, disabled, className }) {
248
- const live = _chunkXIFOBQRQcjs.useOptionalTicketLive.call(void 0, );
248
+ const live = _chunkIKTQ3ZAGcjs.useOptionalTicketLive.call(void 0, );
249
249
  if (!live || !live.authed || live.unreadTotal === 0) return null;
250
250
  const targetId = live.nextUnreadTicketId;
251
- const target = targetId ? _chunkLTSTC3N5cjs.buildTicketOpenHref.call(void 0, href, targetId) : href;
251
+ const target = targetId ? _chunkVESKITRQcjs.buildTicketOpenHref.call(void 0, href, targetId) : href;
252
252
  const handleClick = () => {
253
253
  if (onNavigate) onNavigate(target);
254
254
  else window.location.assign(target);
255
255
  };
256
256
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
257
- _chunkLTSTC3N5cjs.HeaderButton,
257
+ _chunkVESKITRQcjs.HeaderButton,
258
258
  {
259
259
  icon: (
260
260
  // Glyph inherits HeaderButton's standard cell coloring (secondary at
@@ -264,7 +264,7 @@ function TicketAlertsButton({ href, onNavigate, disabled, className }) {
264
264
  // existing while updates are unread — never by tinting the glyph.
265
265
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative inline-flex", children: [
266
266
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.LifeBuoyIcon, { className: "h-6 w-6" }),
267
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTSTC3N5cjs.UnreadCountBadge, { count: live.unreadTotal })
267
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.UnreadCountBadge, { count: live.unreadTotal })
268
268
  ] })
269
269
  ),
270
270
  "aria-label": `Support tickets \u2014 ${live.unreadTotal} unread ${live.unreadTotal === 1 ? "update" : "updates"}`,
@@ -582,7 +582,7 @@ function Header({ config }) {
582
582
  leading: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
583
583
  !!_optionalChain([config, 'access', _12 => _12.actions, 'optionalAccess', _13 => _13.left, 'optionalAccess', _14 => _14.length]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-full items-center border-r border-ods-border", children: config.actions.left }),
584
584
  _optionalChain([config, 'access', _15 => _15.mobile, 'optionalAccess', _16 => _16.enabled]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
585
- _chunkLTSTC3N5cjs.HeaderButton,
585
+ _chunkVESKITRQcjs.HeaderButton,
586
586
  {
587
587
  className: "border-r border-ods-border lg:hidden",
588
588
  onClick: () => {
@@ -683,7 +683,7 @@ function HeaderSkeleton({ config }) {
683
683
  // src/components/navigation/client-only-header.tsx
684
684
 
685
685
  function ClientOnlyHeader({ config, skeleton }) {
686
- const isClient = _chunkLDPEQGKTcjs.useIsHydrated.call(void 0, );
686
+ const isClient = _chunk3MX5S4CFcjs.useIsHydrated.call(void 0, );
687
687
  if (!isClient) {
688
688
  return skeleton || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderSkeleton, { config });
689
689
  }
@@ -697,12 +697,12 @@ var _framermotion = require('framer-motion');
697
697
 
698
698
  function SlidingSidebar({ config }) {
699
699
  const [expandedItems, setExpandedItems] = _react.useState.call(void 0, /* @__PURE__ */ new Set());
700
- const mounted = _chunkLDPEQGKTcjs.useIsHydrated.call(void 0, );
701
- const headerHeight = _chunkC3BWIU7Rcjs.useHeaderHeight.call(void 0, );
700
+ const mounted = _chunk3MX5S4CFcjs.useIsHydrated.call(void 0, );
701
+ const headerHeight = _chunkTYWLNCNHcjs.useHeaderHeight.call(void 0, );
702
702
  const asideRef = _react.useRef.call(void 0, null);
703
703
  const prefersReducedMotion = _framermotion.useReducedMotion.call(void 0, );
704
704
  _overlays.usePreventScroll.call(void 0, { isDisabled: !config.isOpen });
705
- _chunkMGGGBHYDcjs.useFocusTrap.call(void 0, asideRef, config.isOpen, { onEscape: config.onClose, contain: false });
705
+ _chunk2QEUFXNScjs.useFocusTrap.call(void 0, asideRef, config.isOpen, { onEscape: config.onClose, contain: false });
706
706
  const toggleExpanded = (itemId) => {
707
707
  const newExpanded = new Set(expandedItems);
708
708
  if (newExpanded.has(itemId)) {
@@ -829,7 +829,7 @@ function SlidingSidebar({ config }) {
829
829
  duration: 0.3,
830
830
  ease: [0.4, 0, 0.2, 1]
831
831
  },
832
- className: _chunk3ATAYP36cjs.cn.call(void 0, "fixed inset-0 z-[45]", _chunkLDPEQGKTcjs.OVERLAY_BACKDROP_CLASS),
832
+ className: _chunk3ATAYP36cjs.cn.call(void 0, "fixed inset-0 z-[45]", _chunk3MX5S4CFcjs.OVERLAY_BACKDROP_CLASS),
833
833
  onClick: () => config.onClose()
834
834
  }
835
835
  ) }),
@@ -970,7 +970,7 @@ var NavigationSidebarItemButton = _react.memo.call(void 0, function NavigationSi
970
970
  _react.cloneElement.call(void 0, item.icon, {
971
971
  color: isActive && !disabled ? "text-ods-accent" : "text-ods-text-secondary"
972
972
  }),
973
- hasUnread && !showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTSTC3N5cjs.UnreadDot, { size: "fixed" })
973
+ hasUnread && !showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.UnreadDot, { size: "fixed" })
974
974
  ] }),
975
975
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
976
976
  "span",
@@ -1064,14 +1064,14 @@ function NavigationSidebar({ config, disabled = false, pushOnTablet = false }) {
1064
1064
  const isMdUp = _nullishCoalesce(_chunkRKV5B7EUcjs.useMdUp.call(void 0, ), () => ( false));
1065
1065
  const isLgUp = _nullishCoalesce(_chunkRKV5B7EUcjs.useLgUp.call(void 0, ), () => ( false));
1066
1066
  const isTablet = isMdUp && !isLgUp;
1067
- const [desktopMinimized, setDesktopMinimized] = _chunkMGGGBHYDcjs.useLocalStorage.call(void 0, STORAGE_KEY, _nullishCoalesce(config.minimized, () => ( false)));
1067
+ const [desktopMinimized, setDesktopMinimized] = _chunk2QEUFXNScjs.useLocalStorage.call(void 0, STORAGE_KEY, _nullishCoalesce(config.minimized, () => ( false)));
1068
1068
  const [tabletMinimized, setTabletMinimized] = _react.useState.call(void 0, true);
1069
1069
  const [tabletFor, setTabletFor] = _react.useState.call(void 0, isTablet);
1070
1070
  if (tabletFor !== isTablet) {
1071
1071
  setTabletFor(isTablet);
1072
1072
  if (isTablet) setTabletMinimized(true);
1073
1073
  }
1074
- const hydrated = _chunkLDPEQGKTcjs.useIsHydrated.call(void 0, );
1074
+ const hydrated = _chunk3MX5S4CFcjs.useIsHydrated.call(void 0, );
1075
1075
  const minimized = hydrated ? isTablet ? tabletMinimized : desktopMinimized : _nullishCoalesce(config.minimized, () => ( false));
1076
1076
  const [transitionsEnabled, setTransitionsEnabled] = _react.useState.call(void 0, false);
1077
1077
  const isOverlayOpen = isTablet && !minimized;
@@ -1263,7 +1263,7 @@ function HeaderGlobalSearch({
1263
1263
  "form",
1264
1264
  {
1265
1265
  onSubmit: handleSubmit,
1266
- ..._chunkLTSTC3N5cjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
1266
+ ..._chunkVESKITRQcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
1267
1267
  className: _chunk3ATAYP36cjs.cn.call(void 0,
1268
1268
  "flex h-full flex-1 items-center gap-2 px-3",
1269
1269
  // Transparent so the cell inherits the bar's background
@@ -1458,7 +1458,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1458
1458
  leading: (
1459
1459
  // Mobile: Burger Menu Button
1460
1460
  !isMdUp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1461
- _chunkLTSTC3N5cjs.HeaderButton,
1461
+ _chunkVESKITRQcjs.HeaderButton,
1462
1462
  {
1463
1463
  onClick: onToggleMobileMenu,
1464
1464
  isActive: isMobileMenuOpen,
@@ -1484,7 +1484,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1484
1484
  center: showSearch ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderGlobalSearch, { onSubmit: onSearch, className: _chunk3ATAYP36cjs.cn.call(void 0, "w-full", dimmedClass) }) : void 0,
1485
1485
  sideActions: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1486
1486
  showSearch && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1487
- _chunkLTSTC3N5cjs.HeaderButton,
1487
+ _chunkVESKITRQcjs.HeaderButton,
1488
1488
  {
1489
1489
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4GFNWALLcjs.SearchIcon, { className: "h-6 w-6" }),
1490
1490
  "aria-label": "Search",
@@ -1501,7 +1501,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1501
1501
  className: _chunk3ATAYP36cjs.cn.call(void 0, "hidden lg:flex", dimmedClass)
1502
1502
  }
1503
1503
  ),
1504
- showTimeTracker && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTSTC3N5cjs.TimeTrackerHeaderButton, { disabled, className: _chunk3ATAYP36cjs.cn.call(void 0, cellDivider, dimmedClass) }),
1504
+ showTimeTracker && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.TimeTrackerHeaderButton, { disabled, className: _chunk3ATAYP36cjs.cn.call(void 0, cellDivider, dimmedClass) }),
1505
1505
  showNotifications && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1506
1506
  NotificationsHeaderButton,
1507
1507
  {
@@ -1521,7 +1521,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1521
1521
  ),
1522
1522
  isMdUp && showUser && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBM5MVGH3cjs.DropdownMenu, { children: [
1523
1523
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBM5MVGH3cjs.DropdownMenuTrigger, { asChild: true, disabled, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1524
- _chunkLTSTC3N5cjs.HeaderButton,
1524
+ _chunkVESKITRQcjs.HeaderButton,
1525
1525
  {
1526
1526
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1527
1527
  _chunkMMOODW57cjs.SquareAvatar,
@@ -1606,12 +1606,12 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1606
1606
  );
1607
1607
  });
1608
1608
  function NotificationsHeaderButton({ fallbackUnreadCount, disabled, dimmedClass }) {
1609
- const ctx = _chunkLTSTC3N5cjs.useOptionalNotifications.call(void 0, );
1609
+ const ctx = _chunkVESKITRQcjs.useOptionalNotifications.call(void 0, );
1610
1610
  const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _94 => _94.unreadCount]), () => ( fallbackUnreadCount))) > 0;
1611
1611
  const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _95 => _95.isOpen]), () => ( false));
1612
1612
  const onClick = _optionalChain([ctx, 'optionalAccess', _96 => _96.toggle]);
1613
1613
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1614
- _chunkLTSTC3N5cjs.HeaderButton,
1614
+ _chunkVESKITRQcjs.HeaderButton,
1615
1615
  {
1616
1616
  icon: isActive ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.XmarkIcon, { className: "h-6 w-6" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.BellIcon, { className: "h-6 w-6" }),
1617
1617
  showUnreadDot: !isActive && hasUnread,
@@ -1682,6 +1682,7 @@ function AppHeaderSkeleton({
1682
1682
 
1683
1683
 
1684
1684
  var SIDE_PANEL_INSET = 16;
1685
+ var SIDE_PANEL_FRAME_WIDTH = 2;
1685
1686
  var MOBILE_QUERY = `not all and ${_chunkRKV5B7EUcjs.breakpoints.md}`;
1686
1687
  var REDUCED_MOTION_QUERY = "(prefers-reduced-motion: reduce)";
1687
1688
  var MORPH_MS = 300;
@@ -1762,6 +1763,7 @@ function useAppLayoutSidePanel(config, row) {
1762
1763
  const minContentWidth = _nullishCoalesce(_optionalChain([config, 'optionalAccess', _98 => _98.minContentWidth]), () => ( 400));
1763
1764
  const collapsed = _nullishCoalesce(_optionalChain([config, 'optionalAccess', _99 => _99.collapsed]), () => ( false));
1764
1765
  const minimum = { width: minWidth, expanded: false };
1766
+ const defaultWidth = Math.max(minWidth, _nullishCoalesce(_optionalChain([config, 'optionalAccess', _100 => _100.defaultWidth]), () => ( minWidth)));
1765
1767
  const [rowWidth, setRowWidth] = _react.useState.call(void 0, 0);
1766
1768
  _chunkRKV5B7EUcjs.useIsomorphicLayoutEffect.call(void 0, () => {
1767
1769
  if (!enabled || !row) return void 0;
@@ -1775,13 +1777,13 @@ function useAppLayoutSidePanel(config, row) {
1775
1777
  const reduceMotion = _chunkRKV5B7EUcjs.useMediaQuery.call(void 0, REDUCED_MOTION_QUERY) === true;
1776
1778
  const [morph, setMorph] = _react.useState.call(void 0, null);
1777
1779
  const [liveWidth, setLiveWidth] = _react.useState.call(void 0, null);
1778
- const [storedSize, setStoredSize] = useStoredSize(_optionalChain([config, 'optionalAccess', _100 => _100.storageKey]), minimum);
1780
+ const [storedSize, setStoredSize] = useStoredSize(_optionalChain([config, 'optionalAccess', _101 => _101.storageKey]), { width: defaultWidth, expanded: false });
1779
1781
  const [ownIsOpen, setOwnIsOpen] = _react.useState.call(void 0, false);
1780
- const isOpen = _nullishCoalesce(_optionalChain([config, 'optionalAccess', _101 => _101.open]), () => ( ownIsOpen));
1781
- const onOpenChange = _optionalChain([config, 'optionalAccess', _102 => _102.onOpenChange]);
1782
+ const isOpen = _nullishCoalesce(_optionalChain([config, 'optionalAccess', _102 => _102.open]), () => ( ownIsOpen));
1783
+ const onOpenChange = _optionalChain([config, 'optionalAccess', _103 => _103.onOpenChange]);
1782
1784
  const setIsOpen = (next) => {
1783
- if (_optionalChain([config, 'optionalAccess', _103 => _103.open]) === void 0) setOwnIsOpen(next);
1784
- _optionalChain([onOpenChange, 'optionalCall', _104 => _104(next)]);
1785
+ if (_optionalChain([config, 'optionalAccess', _104 => _104.open]) === void 0) setOwnIsOpen(next);
1786
+ _optionalChain([onOpenChange, 'optionalCall', _105 => _105(next)]);
1785
1787
  };
1786
1788
  const [collapsedSize, setCollapsedSize] = _react.useState.call(void 0, null);
1787
1789
  const [prevCollapsed, setPrevCollapsed] = _react.useState.call(void 0, collapsed);
@@ -1801,8 +1803,8 @@ function useAppLayoutSidePanel(config, row) {
1801
1803
  _react.useEffect.call(void 0, () => {
1802
1804
  const couldDock = prevCanDockRef.current;
1803
1805
  prevCanDockRef.current = layout.canDock;
1804
- if (!couldDock && layout.canDock && _optionalChain([config, 'optionalAccess', _105 => _105.open])) _optionalChain([onOpenChange, 'optionalCall', _106 => _106(false)]);
1805
- }, [layout.canDock, _optionalChain([config, 'optionalAccess', _107 => _107.open]), onOpenChange]);
1806
+ if (!couldDock && layout.canDock && _optionalChain([config, 'optionalAccess', _106 => _106.open])) _optionalChain([onOpenChange, 'optionalCall', _107 => _107(false)]);
1807
+ }, [layout.canDock, _optionalChain([config, 'optionalAccess', _108 => _108.open]), onOpenChange]);
1806
1808
  if (!enabled) return null;
1807
1809
  const animate = (next) => {
1808
1810
  if (!reduceMotion) setMorph(next);
@@ -1822,6 +1824,7 @@ function useAppLayoutSidePanel(config, row) {
1822
1824
  let collapsesTo = null;
1823
1825
  if (layout.mode === "full" && layout.canDock) collapsesTo = layout.dockedWidth > minWidth ? "column" : "minimum";
1824
1826
  else if (layout.mode === "docked" && layout.width > minWidth) collapsesTo = "minimum";
1827
+ const canExpand = layout.mode === "docked" && layout.width <= minWidth && defaultWidth > minWidth && layout.maxDockedWidth > minWidth;
1825
1828
  return {
1826
1829
  ...layout,
1827
1830
  minWidth,
@@ -1842,6 +1845,12 @@ function useAppLayoutSidePanel(config, row) {
1842
1845
  setSize({ width: minWidth, expanded: false });
1843
1846
  }
1844
1847
  },
1848
+ canExpand,
1849
+ expand: () => {
1850
+ if (!canExpand) return;
1851
+ animate("narrow");
1852
+ dock(defaultWidth);
1853
+ },
1845
1854
  toggle: () => setIsOpen(!isOpen),
1846
1855
  close: () => setIsOpen(false),
1847
1856
  resize,
@@ -2024,7 +2033,9 @@ function AppLayoutSidePanel({ config, state }) {
2024
2033
  canClose: mode === "overlay" || mode === "full" && !canDock,
2025
2034
  close,
2026
2035
  collapsesTo: state.collapsesTo,
2027
- collapse: state.collapse
2036
+ collapse: state.collapse,
2037
+ canExpand: state.canExpand,
2038
+ expand: state.expand
2028
2039
  })
2029
2040
  }
2030
2041
  )
@@ -2052,13 +2063,13 @@ var MobileBurgerMenu = _react2.default.memo(function MobileBurgerMenuImpl({
2052
2063
  }) {
2053
2064
  const panelRef = _react.useRef.call(void 0, null);
2054
2065
  _overlays.usePreventScroll.call(void 0, { isDisabled: !isOpen });
2055
- _chunkMGGGBHYDcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: onClose });
2066
+ _chunk2QEUFXNScjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: onClose });
2056
2067
  const handleItemClick = _react.useCallback.call(void 0,
2057
2068
  (item) => {
2058
2069
  if (item.onClick) {
2059
2070
  item.onClick();
2060
2071
  } else if (item.path) {
2061
- _optionalChain([config, 'access', _108 => _108.onNavigate, 'optionalCall', _109 => _109(item.path)]);
2072
+ _optionalChain([config, 'access', _109 => _109.onNavigate, 'optionalCall', _110 => _110(item.path)]);
2062
2073
  }
2063
2074
  onClose();
2064
2075
  },
@@ -2117,7 +2128,7 @@ var MobileBurgerMenu = _react2.default.memo(function MobileBurgerMenuImpl({
2117
2128
  {
2118
2129
  className: _chunk3ATAYP36cjs.cn.call(void 0,
2119
2130
  "absolute inset-0 z-[100] md:hidden",
2120
- _chunkLDPEQGKTcjs.OVERLAY_BACKDROP_CLASS,
2131
+ _chunk3MX5S4CFcjs.OVERLAY_BACKDROP_CLASS,
2121
2132
  "transition-all duration-300 motion-reduce:transition-none",
2122
2133
  isOpen ? "opacity-100" : "pointer-events-none opacity-0"
2123
2134
  ),
@@ -2182,7 +2193,7 @@ var MobileBurgerMenu = _react2.default.memo(function MobileBurgerMenuImpl({
2182
2193
  ]
2183
2194
  }
2184
2195
  ),
2185
- _optionalChain([config, 'access', _110 => _110.topSlot, 'optionalCall', _111 => _111({ minimized: false })]),
2196
+ _optionalChain([config, 'access', _111 => _111.topSlot, 'optionalCall', _112 => _112({ minimized: false })]),
2186
2197
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "nav", { "aria-label": "Primary navigation", children: renderNavigationGrid(primaryItems) }),
2187
2198
  secondaryItems.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "nav", { "aria-label": "Secondary navigation", className: "flex flex-col gap-3", children: secondaryItems.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderNavigationItem(item, false) }, item.id)) }),
2188
2199
  onLogout && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -2242,7 +2253,7 @@ function AppLayout({
2242
2253
  isMingoAIActive: sidePanelState.isOpen,
2243
2254
  mingoAICloseWhenActive: true
2244
2255
  };
2245
- const contentCovered = _optionalChain([sidePanelState, 'optionalAccess', _112 => _112.coversContent]) === true;
2256
+ const contentCovered = _optionalChain([sidePanelState, 'optionalAccess', _113 => _113.coversContent]) === true;
2246
2257
  const mobileMenuOpenRef = _react.useRef.call(void 0, mobileMenuOpen);
2247
2258
  _react.useEffect.call(void 0, () => {
2248
2259
  mobileMenuOpenRef.current = mobileMenuOpen;
@@ -2273,7 +2284,7 @@ function AppLayout({
2273
2284
  }),
2274
2285
  []
2275
2286
  );
2276
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTSTC3N5cjs.AppLayoutDrawerContainerContext.Provider, { value: drawerContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTSTC3N5cjs.AppLayoutDrawerCoordinationContext.Provider, { value: drawerCoordination, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex h-screen flex-col bg-ods-bg", className), children: [
2287
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.AppLayoutDrawerContainerContext.Provider, { value: drawerContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.AppLayoutDrawerCoordinationContext.Provider, { value: drawerCoordination, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex h-screen flex-col bg-ods-bg", className), children: [
2277
2288
  topBar,
2278
2289
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex min-h-0 flex-1", children: [
2279
2290
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NavigationSidebar, { config: sidebarConfig, disabled, pushOnTablet: hasSidePanel }),
@@ -2297,7 +2308,7 @@ function AppLayout({
2297
2308
  disabled
2298
2309
  }
2299
2310
  ),
2300
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTSTC3N5cjs.NotificationDrawer, {}),
2311
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.NotificationDrawer, {}),
2301
2312
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2302
2313
  "div",
2303
2314
  {
@@ -2316,7 +2327,7 @@ function AppLayout({
2316
2327
  contentCovered && "hidden",
2317
2328
  // While the panel is drawn over the page, keep the page's own
2318
2329
  // z-indexed layers (sticky headers, fixed bars) under it.
2319
- _optionalChain([sidePanelState, 'optionalAccess', _113 => _113.overlapsContent]) && "isolate",
2330
+ _optionalChain([sidePanelState, 'optionalAccess', _114 => _114.overlapsContent]) && "isolate",
2320
2331
  mainClassName
2321
2332
  ),
2322
2333
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRKV5B7EUcjs.ContentAreaWidthContext.Provider, { value: contentWidth, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "ods-content-scope", children }) })
@@ -2352,4 +2363,5 @@ function AppLayout({
2352
2363
 
2353
2364
 
2354
2365
 
2355
- exports.MingoAiButton = MingoAiButton; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.TicketAlertsButton = TicketAlertsButton; exports.TopNavigation = TopNavigation; exports.Header = Header; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.SlidingSidebar = SlidingSidebar; exports.NavigationItemBadge = NavigationItemBadge; exports.NAVIGATION_SIDEBAR_WIDTH_VAR = NAVIGATION_SIDEBAR_WIDTH_VAR; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout;
2366
+
2367
+ exports.MingoAiButton = MingoAiButton; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.TicketAlertsButton = TicketAlertsButton; exports.TopNavigation = TopNavigation; exports.Header = Header; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.SlidingSidebar = SlidingSidebar; exports.NavigationItemBadge = NavigationItemBadge; exports.NAVIGATION_SIDEBAR_WIDTH_VAR = NAVIGATION_SIDEBAR_WIDTH_VAR; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.SIDE_PANEL_FRAME_WIDTH = SIDE_PANEL_FRAME_WIDTH; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout;