@flamingo-stack/openframe-frontend-core 0.0.434 → 0.0.435
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/{chunk-AOWQU2KB.cjs → chunk-2QJNX32P.cjs} +5 -5
- package/dist/{chunk-AOWQU2KB.cjs.map → chunk-2QJNX32P.cjs.map} +1 -1
- package/dist/{chunk-AHXDYVAE.js → chunk-2WXQFYNC.js} +2 -2
- package/dist/{chunk-7E2DFRIK.js → chunk-32BSKGEI.js} +2 -2
- package/dist/{chunk-473VV632.cjs → chunk-32V2VHPE.cjs} +26 -26
- package/dist/{chunk-473VV632.cjs.map → chunk-32V2VHPE.cjs.map} +1 -1
- package/dist/{chunk-ZAJPJ2JD.js → chunk-3OPSNUPJ.js} +2 -2
- package/dist/{chunk-7R3PASHE.cjs → chunk-3V5UQ5TU.cjs} +518 -541
- package/dist/chunk-3V5UQ5TU.cjs.map +1 -0
- package/dist/{chunk-C476N6PJ.cjs → chunk-AUSUEKXY.cjs} +31 -31
- package/dist/{chunk-C476N6PJ.cjs.map → chunk-AUSUEKXY.cjs.map} +1 -1
- package/dist/{chunk-NBWZW22E.js → chunk-BMEA5NPX.js} +4 -4
- package/dist/{chunk-KFXA4ZG3.js → chunk-DVYA3BDU.js} +4 -4
- package/dist/{chunk-BSTVI23E.cjs → chunk-E6NRV33G.cjs} +11 -11
- package/dist/{chunk-BSTVI23E.cjs.map → chunk-E6NRV33G.cjs.map} +1 -1
- package/dist/{chunk-ZB57GGZX.js → chunk-E77Z2P3K.js} +4 -4
- package/dist/{chunk-6CFMFNIB.js → chunk-FSOKLOXF.js} +2 -2
- package/dist/{chunk-PAOY2AIG.js → chunk-GQHXJ37C.js} +2 -2
- package/dist/{chunk-F2VLV4PD.cjs → chunk-IWYRSGJU.cjs} +9 -9
- package/dist/{chunk-F2VLV4PD.cjs.map → chunk-IWYRSGJU.cjs.map} +1 -1
- package/dist/{chunk-FEOHPHJ5.cjs → chunk-KVXB3FOB.cjs} +62 -62
- package/dist/{chunk-FEOHPHJ5.cjs.map → chunk-KVXB3FOB.cjs.map} +1 -1
- package/dist/{chunk-XWEECWZD.js → chunk-LYK6D7GU.js} +2 -2
- package/dist/{chunk-A6KQMTJV.js → chunk-MWIYAVFT.js} +4 -4
- package/dist/{chunk-RZRQI55M.js → chunk-NFU37EP6.js} +2 -2
- package/dist/{chunk-P6VXTG5N.cjs → chunk-NGBO5Z5O.cjs} +15 -15
- package/dist/{chunk-P6VXTG5N.cjs.map → chunk-NGBO5Z5O.cjs.map} +1 -1
- package/dist/{chunk-SXVO2PXE.cjs → chunk-NRIJNBRG.cjs} +26 -26
- package/dist/{chunk-SXVO2PXE.cjs.map → chunk-NRIJNBRG.cjs.map} +1 -1
- package/dist/{chunk-WPMUNLCC.cjs → chunk-P5EN67AU.cjs} +59 -59
- package/dist/{chunk-WPMUNLCC.cjs.map → chunk-P5EN67AU.cjs.map} +1 -1
- package/dist/{chunk-B77THL7Y.cjs → chunk-PXTDEKAY.cjs} +7 -7
- package/dist/{chunk-B77THL7Y.cjs.map → chunk-PXTDEKAY.cjs.map} +1 -1
- package/dist/{chunk-CV3JHPLQ.cjs → chunk-WXNE2BF4.cjs} +37 -37
- package/dist/{chunk-CV3JHPLQ.cjs.map → chunk-WXNE2BF4.cjs.map} +1 -1
- package/dist/{chunk-6PTETC3Z.js → chunk-ZH2OEMQJ.js} +134 -157
- package/dist/{chunk-6PTETC3Z.js.map → chunk-ZH2OEMQJ.js.map} +1 -1
- package/dist/components/case-studies/index.cjs +8 -8
- package/dist/components/case-studies/index.js +2 -2
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.js +1 -1
- package/dist/components/contact/index.cjs +3 -3
- package/dist/components/contact/index.js +2 -2
- package/dist/components/docs/index.cjs +5 -5
- package/dist/components/docs/index.js +4 -4
- package/dist/components/embeds/index.cjs +3 -3
- package/dist/components/embeds/index.js +2 -2
- package/dist/components/faq/index.cjs +3 -3
- package/dist/components/faq/index.js +2 -2
- package/dist/components/features/auth/create-organization-form.d.ts +8 -4
- package/dist/components/features/auth/create-organization-form.d.ts.map +1 -1
- package/dist/components/features/auth/login-form.d.ts +18 -14
- package/dist/components/features/auth/login-form.d.ts.map +1 -1
- package/dist/components/features/auth/sso-providers.d.ts +7 -1
- package/dist/components/features/auth/sso-providers.d.ts.map +1 -1
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.js +1 -1
- package/dist/components/help-center-pages/index.cjs +20 -20
- package/dist/components/help-center-pages/index.js +11 -11
- package/dist/components/index.cjs +128 -128
- package/dist/components/index.js +9 -9
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/onboarding-guides/index.cjs +5 -5
- package/dist/components/onboarding-guides/index.js +4 -4
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/tickets/index.cjs +5 -5
- package/dist/components/tickets/index.js +4 -4
- package/dist/components/ui/index.cjs +2 -2
- package/dist/components/ui/index.js +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/src/components/features/auth/create-organization-form.tsx +37 -28
- package/src/components/features/auth/login-form.tsx +29 -60
- package/src/components/features/auth/sso-providers.tsx +8 -1
- package/dist/chunk-7R3PASHE.cjs.map +0 -1
- /package/dist/{chunk-AHXDYVAE.js.map → chunk-2WXQFYNC.js.map} +0 -0
- /package/dist/{chunk-7E2DFRIK.js.map → chunk-32BSKGEI.js.map} +0 -0
- /package/dist/{chunk-ZAJPJ2JD.js.map → chunk-3OPSNUPJ.js.map} +0 -0
- /package/dist/{chunk-NBWZW22E.js.map → chunk-BMEA5NPX.js.map} +0 -0
- /package/dist/{chunk-KFXA4ZG3.js.map → chunk-DVYA3BDU.js.map} +0 -0
- /package/dist/{chunk-ZB57GGZX.js.map → chunk-E77Z2P3K.js.map} +0 -0
- /package/dist/{chunk-6CFMFNIB.js.map → chunk-FSOKLOXF.js.map} +0 -0
- /package/dist/{chunk-PAOY2AIG.js.map → chunk-GQHXJ37C.js.map} +0 -0
- /package/dist/{chunk-XWEECWZD.js.map → chunk-LYK6D7GU.js.map} +0 -0
- /package/dist/{chunk-A6KQMTJV.js.map → chunk-MWIYAVFT.js.map} +0 -0
- /package/dist/{chunk-RZRQI55M.js.map → chunk-NFU37EP6.js.map} +0 -0
|
@@ -26014,7 +26014,8 @@ function SsoProviderButtons({
|
|
|
26014
26014
|
providers,
|
|
26015
26015
|
onSsoClick,
|
|
26016
26016
|
actionLabel = "Continue with",
|
|
26017
|
-
disabled = false
|
|
26017
|
+
disabled = false,
|
|
26018
|
+
enabledProviders
|
|
26018
26019
|
}) {
|
|
26019
26020
|
return /* @__PURE__ */ jsx194("div", { className: "flex flex-col gap-[var(--spacing-system-l)]", children: providers.map((provider) => {
|
|
26020
26021
|
const meta = PROVIDER_META[provider];
|
|
@@ -26025,7 +26026,7 @@ function SsoProviderButtons({
|
|
|
26025
26026
|
type: "button",
|
|
26026
26027
|
variant: "outline",
|
|
26027
26028
|
fullWidth: true,
|
|
26028
|
-
disabled,
|
|
26029
|
+
disabled: disabled || (enabledProviders ? !enabledProviders.includes(provider) : false),
|
|
26029
26030
|
className: "disabled:bg-ods-bg",
|
|
26030
26031
|
leftIcon: /* @__PURE__ */ jsx194(Icon2, { className: "h-5 w-5" }),
|
|
26031
26032
|
onClick: () => onSsoClick?.(provider),
|
|
@@ -26227,7 +26228,7 @@ function TermsAgreementLabel({ termsUrl = "#", privacyPolicyUrl = "#" }) {
|
|
|
26227
26228
|
}
|
|
26228
26229
|
|
|
26229
26230
|
// src/components/features/auth/create-organization-form.tsx
|
|
26230
|
-
import { jsx as jsx197, jsxs as jsxs151 } from "react/jsx-runtime";
|
|
26231
|
+
import { Fragment as Fragment41, jsx as jsx197, jsxs as jsxs151 } from "react/jsx-runtime";
|
|
26231
26232
|
function CreateOrganizationForm({
|
|
26232
26233
|
email,
|
|
26233
26234
|
organizationName,
|
|
@@ -26252,11 +26253,13 @@ function CreateOrganizationForm({
|
|
|
26252
26253
|
domainSlot,
|
|
26253
26254
|
ssoProviders,
|
|
26254
26255
|
onSsoClick,
|
|
26256
|
+
ssoDisabled = false,
|
|
26255
26257
|
ssoActionLabel = "Continue with",
|
|
26258
|
+
dividerLabel = "or continue with",
|
|
26256
26259
|
className
|
|
26257
26260
|
}) {
|
|
26258
|
-
const
|
|
26259
|
-
const fieldsDisabled = disabled || loading
|
|
26261
|
+
const hasSso = !!ssoProviders && ssoProviders.length > 0;
|
|
26262
|
+
const fieldsDisabled = disabled || loading;
|
|
26260
26263
|
const emailErr = useDeferredError(errors?.email, email);
|
|
26261
26264
|
const orgNameErr = useDeferredError(errors?.organizationName, organizationName);
|
|
26262
26265
|
const domainErr = useDeferredError(errors?.domain, domain);
|
|
@@ -26335,27 +26338,31 @@ function CreateOrganizationForm({
|
|
|
26335
26338
|
onCheckedChange: onAgreedToTermsChange
|
|
26336
26339
|
}
|
|
26337
26340
|
),
|
|
26338
|
-
|
|
26339
|
-
|
|
26341
|
+
/* @__PURE__ */ jsx197(
|
|
26342
|
+
Button,
|
|
26340
26343
|
{
|
|
26341
|
-
|
|
26342
|
-
|
|
26343
|
-
|
|
26344
|
-
|
|
26344
|
+
type: "button",
|
|
26345
|
+
variant: "accent",
|
|
26346
|
+
fullWidth: true,
|
|
26347
|
+
loading,
|
|
26348
|
+
disabled: disabled || submitDisabled,
|
|
26349
|
+
onClick: onSubmit,
|
|
26350
|
+
children: submitLabel
|
|
26345
26351
|
}
|
|
26346
|
-
)
|
|
26347
|
-
|
|
26352
|
+
),
|
|
26353
|
+
hasSso && /* @__PURE__ */ jsxs151(Fragment41, { children: [
|
|
26354
|
+
/* @__PURE__ */ jsxs151("div", { className: "flex items-center gap-[var(--spacing-system-s)]", children: [
|
|
26355
|
+
/* @__PURE__ */ jsx197("div", { className: "h-px flex-1 bg-ods-border" }),
|
|
26356
|
+
/* @__PURE__ */ jsx197("span", { className: "text-h6 text-ods-text-secondary", children: dividerLabel }),
|
|
26357
|
+
/* @__PURE__ */ jsx197("div", { className: "h-px flex-1 bg-ods-border" })
|
|
26358
|
+
] }),
|
|
26348
26359
|
/* @__PURE__ */ jsx197(
|
|
26349
|
-
|
|
26360
|
+
SsoProviderButtons,
|
|
26350
26361
|
{
|
|
26351
|
-
|
|
26352
|
-
|
|
26353
|
-
|
|
26354
|
-
|
|
26355
|
-
loading,
|
|
26356
|
-
disabled: disabled || submitDisabled,
|
|
26357
|
-
onClick: onSubmit,
|
|
26358
|
-
children: submitLabel
|
|
26362
|
+
providers: ssoProviders,
|
|
26363
|
+
onSsoClick,
|
|
26364
|
+
actionLabel: ssoActionLabel,
|
|
26365
|
+
disabled: disabled || loading || ssoDisabled
|
|
26359
26366
|
}
|
|
26360
26367
|
)
|
|
26361
26368
|
] })
|
|
@@ -26391,31 +26398,28 @@ function InviteLinkInvalidModal({
|
|
|
26391
26398
|
|
|
26392
26399
|
// src/components/features/auth/login-form.tsx
|
|
26393
26400
|
init_cn();
|
|
26394
|
-
init_button2();
|
|
26395
26401
|
import { jsx as jsx199, jsxs as jsxs153 } from "react/jsx-runtime";
|
|
26396
26402
|
function LoginForm({
|
|
26397
26403
|
email,
|
|
26398
26404
|
onEmailChange,
|
|
26399
26405
|
onSubmit,
|
|
26400
|
-
onForgotPassword,
|
|
26401
26406
|
emailPlaceholder = "username@mail.com",
|
|
26402
|
-
submitLabel = "Continue",
|
|
26403
|
-
forgotPasswordLabel = "Forgot Password?",
|
|
26404
|
-
submitDisabled = false,
|
|
26405
26407
|
loading = false,
|
|
26406
26408
|
disabled = false,
|
|
26407
26409
|
errors,
|
|
26410
|
+
emailStatus,
|
|
26408
26411
|
ssoProviders,
|
|
26409
26412
|
onSsoClick,
|
|
26413
|
+
ssoDisabled = false,
|
|
26414
|
+
ssoEnabledProviders,
|
|
26410
26415
|
ssoActionLabel = "Continue with",
|
|
26411
26416
|
className
|
|
26412
26417
|
}) {
|
|
26413
|
-
const
|
|
26414
|
-
const fieldDisabled = disabled || loading || isSsoMode;
|
|
26418
|
+
const fieldDisabled = disabled || loading;
|
|
26415
26419
|
const emailErr = useDeferredError(errors?.email, email);
|
|
26416
26420
|
const handleKeyDown = (event) => {
|
|
26417
26421
|
if (event.key === "Enter" && !fieldDisabled) {
|
|
26418
|
-
onSubmit();
|
|
26422
|
+
onSubmit?.();
|
|
26419
26423
|
}
|
|
26420
26424
|
};
|
|
26421
26425
|
return /* @__PURE__ */ jsxs153(
|
|
@@ -26437,51 +26441,24 @@ function LoginForm({
|
|
|
26437
26441
|
label: "Email",
|
|
26438
26442
|
placeholder: emailPlaceholder,
|
|
26439
26443
|
value: email,
|
|
26440
|
-
error: emailErr.error,
|
|
26444
|
+
error: emailErr.error ?? emailStatus?.message,
|
|
26445
|
+
errorVariant: emailErr.error ? "error" : emailStatus?.variant,
|
|
26441
26446
|
disabled: fieldDisabled,
|
|
26442
26447
|
onBlur: emailErr.onBlur,
|
|
26443
26448
|
onChange: (event) => onEmailChange(event.target.value),
|
|
26444
26449
|
onKeyDown: handleKeyDown
|
|
26445
26450
|
}
|
|
26446
26451
|
),
|
|
26447
|
-
|
|
26452
|
+
/* @__PURE__ */ jsx199(
|
|
26448
26453
|
SsoProviderButtons,
|
|
26449
26454
|
{
|
|
26450
26455
|
providers: ssoProviders,
|
|
26451
26456
|
onSsoClick,
|
|
26452
26457
|
actionLabel: ssoActionLabel,
|
|
26453
|
-
disabled: disabled || loading
|
|
26458
|
+
disabled: disabled || loading || ssoDisabled,
|
|
26459
|
+
enabledProviders: ssoEnabledProviders
|
|
26454
26460
|
}
|
|
26455
|
-
)
|
|
26456
|
-
onForgotPassword ? /* @__PURE__ */ jsx199(
|
|
26457
|
-
Button,
|
|
26458
|
-
{
|
|
26459
|
-
type: "button",
|
|
26460
|
-
variant: "transparent",
|
|
26461
|
-
fullWidth: true,
|
|
26462
|
-
className: "flex-1",
|
|
26463
|
-
disabled: disabled || loading,
|
|
26464
|
-
onClick: onForgotPassword,
|
|
26465
|
-
children: forgotPasswordLabel
|
|
26466
|
-
}
|
|
26467
|
-
) : (
|
|
26468
|
-
// Spacer keeps the button on the right half, matching the design
|
|
26469
|
-
/* @__PURE__ */ jsx199("div", { className: "hidden flex-1 md:block" })
|
|
26470
|
-
),
|
|
26471
|
-
/* @__PURE__ */ jsx199(
|
|
26472
|
-
Button,
|
|
26473
|
-
{
|
|
26474
|
-
type: "button",
|
|
26475
|
-
variant: "accent",
|
|
26476
|
-
fullWidth: true,
|
|
26477
|
-
className: onForgotPassword ? "flex-1" : "md:flex-1",
|
|
26478
|
-
loading,
|
|
26479
|
-
disabled: disabled || submitDisabled,
|
|
26480
|
-
onClick: onSubmit,
|
|
26481
|
-
children: submitLabel
|
|
26482
|
-
}
|
|
26483
|
-
)
|
|
26484
|
-
] })
|
|
26461
|
+
)
|
|
26485
26462
|
]
|
|
26486
26463
|
}
|
|
26487
26464
|
);
|
|
@@ -29501,7 +29478,7 @@ SelectButton.displayName = "SelectButton";
|
|
|
29501
29478
|
// src/components/features/seo-editor-preview.tsx
|
|
29502
29479
|
import { useState as useState66 } from "react";
|
|
29503
29480
|
import { Globe as Globe3, ExternalLink as ExternalLink6, Upload as Upload3, X as X6, Loader2 as Loader25 } from "lucide-react";
|
|
29504
|
-
import { Fragment as
|
|
29481
|
+
import { Fragment as Fragment42, jsx as jsx226, jsxs as jsxs175 } from "react/jsx-runtime";
|
|
29505
29482
|
function SEOEditorPreview({
|
|
29506
29483
|
seoTitle,
|
|
29507
29484
|
seoDescription,
|
|
@@ -29554,7 +29531,7 @@ function SEOEditorPreview({
|
|
|
29554
29531
|
/* @__PURE__ */ jsxs175("div", { className: "space-y-2", children: [
|
|
29555
29532
|
/* @__PURE__ */ jsxs175("div", { className: "flex items-center gap-2", children: [
|
|
29556
29533
|
/* @__PURE__ */ jsx226(Label, { className: "font-['DM_Sans'] text-[14px] font-medium text-ods-text-primary", children: "SEO Title" }),
|
|
29557
|
-
aiConfidenceSeoTitle !== void 0 && /* @__PURE__ */ jsxs175(
|
|
29534
|
+
aiConfidenceSeoTitle !== void 0 && /* @__PURE__ */ jsxs175(Fragment42, { children: [
|
|
29558
29535
|
/* @__PURE__ */ jsx226(AIGeneratedBadge, {}),
|
|
29559
29536
|
/* @__PURE__ */ jsx226(
|
|
29560
29537
|
ConfidenceBadge,
|
|
@@ -29601,7 +29578,7 @@ function SEOEditorPreview({
|
|
|
29601
29578
|
/* @__PURE__ */ jsxs175("div", { className: "space-y-2", children: [
|
|
29602
29579
|
/* @__PURE__ */ jsxs175("div", { className: "flex items-center gap-2", children: [
|
|
29603
29580
|
/* @__PURE__ */ jsx226(Label, { className: "font-['DM_Sans'] text-[14px] font-medium text-ods-text-primary", children: "SEO Keywords" }),
|
|
29604
|
-
aiConfidenceSeoKeywords !== void 0 && /* @__PURE__ */ jsxs175(
|
|
29581
|
+
aiConfidenceSeoKeywords !== void 0 && /* @__PURE__ */ jsxs175(Fragment42, { children: [
|
|
29605
29582
|
/* @__PURE__ */ jsx226(AIGeneratedBadge, {}),
|
|
29606
29583
|
/* @__PURE__ */ jsx226(
|
|
29607
29584
|
ConfidenceBadge,
|
|
@@ -29630,7 +29607,7 @@ function SEOEditorPreview({
|
|
|
29630
29607
|
/* @__PURE__ */ jsxs175("div", { className: "space-y-2 flex flex-col h-full", children: [
|
|
29631
29608
|
/* @__PURE__ */ jsxs175("div", { className: "flex items-center gap-2", children: [
|
|
29632
29609
|
/* @__PURE__ */ jsx226(Label, { className: "font-['DM_Sans'] text-[14px] font-medium text-ods-text-primary", children: "SEO Description" }),
|
|
29633
|
-
aiConfidenceSeoDescription !== void 0 && /* @__PURE__ */ jsxs175(
|
|
29610
|
+
aiConfidenceSeoDescription !== void 0 && /* @__PURE__ */ jsxs175(Fragment42, { children: [
|
|
29634
29611
|
/* @__PURE__ */ jsx226(AIGeneratedBadge, {}),
|
|
29635
29612
|
/* @__PURE__ */ jsx226(
|
|
29636
29613
|
ConfidenceBadge,
|
|
@@ -29720,7 +29697,7 @@ function SEOEditorPreview({
|
|
|
29720
29697
|
{
|
|
29721
29698
|
className: "h-full min-h-[280px] border-2 border-dashed border-ods-border rounded-lg flex flex-col items-center justify-center cursor-pointer hover:border-ods-accent transition-colors bg-ods-bg-hover",
|
|
29722
29699
|
onClick: () => onOgImageUpload && fileInputRef?.click(),
|
|
29723
|
-
children: isUploading ? /* @__PURE__ */ jsx226(Loader25, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs175(
|
|
29700
|
+
children: isUploading ? /* @__PURE__ */ jsx226(Loader25, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs175(Fragment42, { children: [
|
|
29724
29701
|
/* @__PURE__ */ jsx226(Upload3, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
|
|
29725
29702
|
/* @__PURE__ */ jsx226("span", { className: "text-sm text-ods-text-secondary font-['DM_Sans']", children: onOgImageUpload ? "Click to upload OG image" : "No image" })
|
|
29726
29703
|
] })
|
|
@@ -31917,7 +31894,7 @@ var DropdownMenuShortcut = ({
|
|
|
31917
31894
|
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
31918
31895
|
|
|
31919
31896
|
// src/components/features/policy-configuration-panel.tsx
|
|
31920
|
-
import { Fragment as
|
|
31897
|
+
import { Fragment as Fragment43, jsx as jsx252, jsxs as jsxs195 } from "react/jsx-runtime";
|
|
31921
31898
|
var approvalLevelOptions = [
|
|
31922
31899
|
{ value: "ALLOW", label: "Allow" },
|
|
31923
31900
|
{ value: "ASK_USER", label: "Ask User" },
|
|
@@ -31979,7 +31956,7 @@ var CategorySection = ({
|
|
|
31979
31956
|
onPolicyPermissionChange
|
|
31980
31957
|
}) => {
|
|
31981
31958
|
const { contentRef, height } = useAnimatedHeight(category.isExpanded);
|
|
31982
|
-
return /* @__PURE__ */ jsxs195(
|
|
31959
|
+
return /* @__PURE__ */ jsxs195(Fragment43, { children: [
|
|
31983
31960
|
/* @__PURE__ */ jsxs195(
|
|
31984
31961
|
"div",
|
|
31985
31962
|
{
|
|
@@ -32222,7 +32199,7 @@ function CountryOption({ country }) {
|
|
|
32222
32199
|
init_cn();
|
|
32223
32200
|
import { getCountries as getCountries2 } from "libphonenumber-js";
|
|
32224
32201
|
import { useEffect as useEffect53, useState as useState72 } from "react";
|
|
32225
|
-
import { Fragment as
|
|
32202
|
+
import { Fragment as Fragment44, jsx as jsx254, jsxs as jsxs197 } from "react/jsx-runtime";
|
|
32226
32203
|
function WaitlistForm({
|
|
32227
32204
|
id = "waitlist-form",
|
|
32228
32205
|
className,
|
|
@@ -32367,7 +32344,7 @@ function WaitlistForm({
|
|
|
32367
32344
|
error: showConsentError ? "Please agree to SMS notifications to continue." : void 0,
|
|
32368
32345
|
disabled: isSubmitting,
|
|
32369
32346
|
label: smsCheckboxLabel,
|
|
32370
|
-
description: /* @__PURE__ */ jsxs197(
|
|
32347
|
+
description: /* @__PURE__ */ jsxs197(Fragment44, { children: [
|
|
32371
32348
|
consentText,
|
|
32372
32349
|
" View our ",
|
|
32373
32350
|
/* @__PURE__ */ jsx254(
|
|
@@ -33293,7 +33270,7 @@ function NotificationTile({
|
|
|
33293
33270
|
}
|
|
33294
33271
|
|
|
33295
33272
|
// src/components/features/notifications/notification-drawer.tsx
|
|
33296
|
-
import { Fragment as
|
|
33273
|
+
import { Fragment as Fragment45, jsx as jsx258, jsxs as jsxs200 } from "react/jsx-runtime";
|
|
33297
33274
|
function NotificationDrawer({
|
|
33298
33275
|
className,
|
|
33299
33276
|
liveDurationMs,
|
|
@@ -33326,7 +33303,7 @@ function NotificationDrawer({
|
|
|
33326
33303
|
} = ctx;
|
|
33327
33304
|
const renderTile = renderTileProp ?? ctxRenderTile;
|
|
33328
33305
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
33329
|
-
const content = /* @__PURE__ */ jsxs200(
|
|
33306
|
+
const content = /* @__PURE__ */ jsxs200(Fragment45, { children: [
|
|
33330
33307
|
/* @__PURE__ */ jsx258("div", { className: "px-[var(--spacing-system-m)] pt-[var(--spacing-system-m)]", children: /* @__PURE__ */ jsx258(
|
|
33331
33308
|
DrawerTitle,
|
|
33332
33309
|
{
|
|
@@ -33436,7 +33413,7 @@ function DrawerScrollList({
|
|
|
33436
33413
|
{
|
|
33437
33414
|
ref: scrollRef,
|
|
33438
33415
|
className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
|
|
33439
|
-
children: isEmpty && !isLoadingMore ? /* @__PURE__ */ jsx258(EmptyState, {}) : /* @__PURE__ */ jsxs200(
|
|
33416
|
+
children: isEmpty && !isLoadingMore ? /* @__PURE__ */ jsx258(EmptyState, {}) : /* @__PURE__ */ jsxs200(Fragment45, { children: [
|
|
33440
33417
|
unreadNotifications.map((n) => {
|
|
33441
33418
|
const custom = renderTile?.(n, { onComplete, onSettle, liveDurationMs });
|
|
33442
33419
|
if (custom) return /* @__PURE__ */ jsx258("div", { children: custom }, n.id);
|
|
@@ -33458,7 +33435,7 @@ function DrawerScrollList({
|
|
|
33458
33435
|
);
|
|
33459
33436
|
}
|
|
33460
33437
|
function DrawerLoadingTiles() {
|
|
33461
|
-
return /* @__PURE__ */ jsxs200(
|
|
33438
|
+
return /* @__PURE__ */ jsxs200(Fragment45, { children: [
|
|
33462
33439
|
/* @__PURE__ */ jsx258(
|
|
33463
33440
|
"div",
|
|
33464
33441
|
{
|
|
@@ -33841,7 +33818,7 @@ function approvalMetaToBatchData(approval) {
|
|
|
33841
33818
|
}
|
|
33842
33819
|
|
|
33843
33820
|
// src/components/features/notifications/approval-request-notification-tile.tsx
|
|
33844
|
-
import { Fragment as
|
|
33821
|
+
import { Fragment as Fragment46, jsx as jsx260, jsxs as jsxs201 } from "react/jsx-runtime";
|
|
33845
33822
|
function ApprovalRequestNotificationTile({
|
|
33846
33823
|
notification,
|
|
33847
33824
|
onApprove,
|
|
@@ -33891,7 +33868,7 @@ function ApprovalRequestNotificationTile({
|
|
|
33891
33868
|
className,
|
|
33892
33869
|
paused: pinned || processing,
|
|
33893
33870
|
actions: /* @__PURE__ */ jsxs201("div", { className: "flex w-full items-center gap-[var(--spacing-system-xs)]", children: [
|
|
33894
|
-
status === "pending" ? /* @__PURE__ */ jsxs201(
|
|
33871
|
+
status === "pending" ? /* @__PURE__ */ jsxs201(Fragment46, { children: [
|
|
33895
33872
|
/* @__PURE__ */ jsx260(Button, { variant: "accent", size: "small", onClick: () => resolve("approved", onApprove), disabled: processing, children: "Approve" }),
|
|
33896
33873
|
/* @__PURE__ */ jsx260(Button, { variant: "outline", size: "small", onClick: () => resolve("rejected", onReject), disabled: processing, children: "Reject" })
|
|
33897
33874
|
] }) : /* @__PURE__ */ jsxs201("span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
@@ -34311,7 +34288,7 @@ function HeaderButton({
|
|
|
34311
34288
|
}
|
|
34312
34289
|
|
|
34313
34290
|
// src/components/features/time-tracker/time-tracker-header-button.tsx
|
|
34314
|
-
import { Fragment as
|
|
34291
|
+
import { Fragment as Fragment47, jsx as jsx264, jsxs as jsxs203 } from "react/jsx-runtime";
|
|
34315
34292
|
function TimeTrackerHeaderButton({ className, disabled }) {
|
|
34316
34293
|
const ctx = useOptionalTimeTracker();
|
|
34317
34294
|
const elapsedLabel = useTrackerClock({
|
|
@@ -34357,7 +34334,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
34357
34334
|
isActive && "w-auto gap-[var(--spacing-system-xsf)] px-[var(--spacing-system-sf)] md:w-auto",
|
|
34358
34335
|
className
|
|
34359
34336
|
),
|
|
34360
|
-
icon: /* @__PURE__ */ jsxs203(
|
|
34337
|
+
icon: /* @__PURE__ */ jsxs203(Fragment47, { children: [
|
|
34361
34338
|
/* @__PURE__ */ jsx264(
|
|
34362
34339
|
ClockHistoryIcon,
|
|
34363
34340
|
{
|
|
@@ -34599,7 +34576,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
|
34599
34576
|
}
|
|
34600
34577
|
|
|
34601
34578
|
// src/components/features/board/ticket-card.tsx
|
|
34602
|
-
import { Fragment as
|
|
34579
|
+
import { Fragment as Fragment48, jsx as jsx267, jsxs as jsxs206 } from "react/jsx-runtime";
|
|
34603
34580
|
var PRIORITY_COLOR_CLASS = {
|
|
34604
34581
|
low: "text-ods-text-secondary",
|
|
34605
34582
|
medium: "text-ods-info",
|
|
@@ -34643,7 +34620,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
|
|
|
34643
34620
|
] }) : null;
|
|
34644
34621
|
const timestampLabel = ticket.createdAt ? formatTicketRelativeTime(ticket.createdAt) : null;
|
|
34645
34622
|
const tooltipLabel = ticket.createdAt ? formatTicketFullTimestamp(ticket.createdAt) : null;
|
|
34646
|
-
return /* @__PURE__ */ jsxs206(
|
|
34623
|
+
return /* @__PURE__ */ jsxs206(Fragment48, { children: [
|
|
34647
34624
|
/* @__PURE__ */ jsxs206("div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
|
|
34648
34625
|
/* @__PURE__ */ jsxs206("div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-zero)]", title: ticket.title, children: [
|
|
34649
34626
|
/* @__PURE__ */ jsx267("p", { className: "text-h3 truncate text-ods-text-primary", children: ticket.title }),
|
|
@@ -34809,7 +34786,7 @@ var TicketCardSkeleton = React104.forwardRef(
|
|
|
34809
34786
|
TicketCardSkeleton.displayName = "TicketCardSkeleton";
|
|
34810
34787
|
|
|
34811
34788
|
// src/components/features/board/board-column.tsx
|
|
34812
|
-
import { Fragment as
|
|
34789
|
+
import { Fragment as Fragment49, jsx as jsx269, jsxs as jsxs208 } from "react/jsx-runtime";
|
|
34813
34790
|
function BoardColumn({
|
|
34814
34791
|
column,
|
|
34815
34792
|
collapsed = false,
|
|
@@ -34848,7 +34825,7 @@ function BoardColumn({
|
|
|
34848
34825
|
onArchive: !collapsed && column.archivable && onArchive ? () => onArchive(column.id) : void 0
|
|
34849
34826
|
}
|
|
34850
34827
|
),
|
|
34851
|
-
!collapsed && /* @__PURE__ */ jsxs208(
|
|
34828
|
+
!collapsed && /* @__PURE__ */ jsxs208(Fragment49, { children: [
|
|
34852
34829
|
/* @__PURE__ */ jsx269("div", { "aria-hidden": true, className: "-mx-[var(--spacing-system-sf)] h-px shrink-0 bg-ods-border" }),
|
|
34853
34830
|
/* @__PURE__ */ jsx269(
|
|
34854
34831
|
ColumnBody,
|
|
@@ -34941,7 +34918,7 @@ function SkeletonStack({ count = 4 }) {
|
|
|
34941
34918
|
() => Array.from({ length: count }, () => Math.random().toString(36).slice(2)),
|
|
34942
34919
|
[count]
|
|
34943
34920
|
);
|
|
34944
|
-
return /* @__PURE__ */ jsx269(
|
|
34921
|
+
return /* @__PURE__ */ jsx269(Fragment49, { children: keys.map((k) => /* @__PURE__ */ jsx269(TicketCardSkeleton, {}, k)) });
|
|
34945
34922
|
}
|
|
34946
34923
|
function EmptyState2() {
|
|
34947
34924
|
return /* @__PURE__ */ jsxs208("div", { className: "flex flex-1 flex-col items-center justify-center gap-[var(--spacing-system-lf)] p-[var(--spacing-system-lf)] text-center text-ods-text-secondary", children: [
|
|
@@ -35359,7 +35336,7 @@ import { useRef as useRef44 } from "react";
|
|
|
35359
35336
|
import { usePreventScroll as usePreventScroll3 } from "@react-aria/overlays";
|
|
35360
35337
|
init_button2();
|
|
35361
35338
|
import { X as X10 } from "lucide-react";
|
|
35362
|
-
import { Fragment as
|
|
35339
|
+
import { Fragment as Fragment51, jsx as jsx272, jsxs as jsxs210 } from "react/jsx-runtime";
|
|
35363
35340
|
var MOBILE_NAV_PANEL_ID = "mobile-nav-panel";
|
|
35364
35341
|
function MobileNavPanel({ isOpen, config }) {
|
|
35365
35342
|
const panelRef = useRef44(null);
|
|
@@ -35415,7 +35392,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
35415
35392
|
item.id
|
|
35416
35393
|
);
|
|
35417
35394
|
};
|
|
35418
|
-
return /* @__PURE__ */ jsxs210(
|
|
35395
|
+
return /* @__PURE__ */ jsxs210(Fragment51, { children: [
|
|
35419
35396
|
/* @__PURE__ */ jsx272(
|
|
35420
35397
|
"div",
|
|
35421
35398
|
{
|
|
@@ -35518,7 +35495,7 @@ function MingoAiButton({ source, icon, label = "Mingo AI", className, onClick, .
|
|
|
35518
35495
|
}
|
|
35519
35496
|
|
|
35520
35497
|
// src/components/navigation/header.tsx
|
|
35521
|
-
import { Fragment as
|
|
35498
|
+
import { Fragment as Fragment52, jsx as jsx274, jsxs as jsxs212 } from "react/jsx-runtime";
|
|
35522
35499
|
function Header2({ config, platform }) {
|
|
35523
35500
|
const [show, setShow] = useState83(true);
|
|
35524
35501
|
const [lastScrollY, setLastScrollY] = useState83(0);
|
|
@@ -35663,7 +35640,7 @@ function Header2({ config, platform }) {
|
|
|
35663
35640
|
},
|
|
35664
35641
|
child.id
|
|
35665
35642
|
)) }),
|
|
35666
|
-
item.dropdownContent && /* @__PURE__ */ jsxs212(
|
|
35643
|
+
item.dropdownContent && /* @__PURE__ */ jsxs212(Fragment52, { children: [
|
|
35667
35644
|
item.showDropdownDivider !== false && /* @__PURE__ */ jsx274("div", { className: "h-px my-2 mx-2 bg-ods-border" }),
|
|
35668
35645
|
/* @__PURE__ */ jsx274("div", { className: "px-2 pb-2", children: item.dropdownContent })
|
|
35669
35646
|
] })
|
|
@@ -35854,7 +35831,7 @@ import { useState as useState85, useEffect as useEffect65, useRef as useRef46 }
|
|
|
35854
35831
|
import { motion as motion2, AnimatePresence, useReducedMotion } from "framer-motion";
|
|
35855
35832
|
import { usePreventScroll as usePreventScroll4 } from "@react-aria/overlays";
|
|
35856
35833
|
init_button2();
|
|
35857
|
-
import { Fragment as
|
|
35834
|
+
import { Fragment as Fragment53, jsx as jsx277, jsxs as jsxs214 } from "react/jsx-runtime";
|
|
35858
35835
|
function SlidingSidebar({ config }) {
|
|
35859
35836
|
const [expandedItems, setExpandedItems] = useState85(/* @__PURE__ */ new Set());
|
|
35860
35837
|
const [mounted, setMounted] = useState85(false);
|
|
@@ -35980,7 +35957,7 @@ function SlidingSidebar({ config }) {
|
|
|
35980
35957
|
if (!mounted) {
|
|
35981
35958
|
return null;
|
|
35982
35959
|
}
|
|
35983
|
-
return /* @__PURE__ */ jsxs214(
|
|
35960
|
+
return /* @__PURE__ */ jsxs214(Fragment53, { children: [
|
|
35984
35961
|
/* @__PURE__ */ jsx277(AnimatePresence, { children: config.isOpen && /* @__PURE__ */ jsx277(
|
|
35985
35962
|
motion2.div,
|
|
35986
35963
|
{
|
|
@@ -36281,7 +36258,7 @@ function NavigationSidebarToggle({
|
|
|
36281
36258
|
}
|
|
36282
36259
|
|
|
36283
36260
|
// src/components/navigation/navigation-sidebar.tsx
|
|
36284
|
-
import { Fragment as
|
|
36261
|
+
import { Fragment as Fragment54, jsx as jsx282, jsxs as jsxs219 } from "react/jsx-runtime";
|
|
36285
36262
|
var MINIMIZED_WIDTH = 56;
|
|
36286
36263
|
var EXPANDED_WIDTH = 224;
|
|
36287
36264
|
var STORAGE_KEY = "of.navigationSidebar.minimized";
|
|
@@ -36346,7 +36323,7 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
36346
36323
|
return () => cancelAnimationFrame(id);
|
|
36347
36324
|
}
|
|
36348
36325
|
}, [isHydrated, transitionsEnabled]);
|
|
36349
|
-
return /* @__PURE__ */ jsxs219(
|
|
36326
|
+
return /* @__PURE__ */ jsxs219(Fragment54, { children: [
|
|
36350
36327
|
/* @__PURE__ */ jsx282(
|
|
36351
36328
|
"div",
|
|
36352
36329
|
{
|
|
@@ -36385,7 +36362,7 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
36385
36362
|
),
|
|
36386
36363
|
style: { width: sidebarWidth },
|
|
36387
36364
|
"aria-label": "Main navigation sidebar",
|
|
36388
|
-
children: isHydrated && /* @__PURE__ */ jsxs219(
|
|
36365
|
+
children: isHydrated && /* @__PURE__ */ jsxs219(Fragment54, { children: [
|
|
36389
36366
|
/* @__PURE__ */ jsx282(NavigationSidebarHeader, { minimized }),
|
|
36390
36367
|
/* @__PURE__ */ jsxs219("div", { className: "flex-1 flex flex-col justify-between py-4 overflow-y-auto", children: [
|
|
36391
36368
|
/* @__PURE__ */ jsx282("nav", { className: "flex flex-col", "aria-label": "Primary navigation", children: primaryItems.map((item) => /* @__PURE__ */ jsx282(
|
|
@@ -36798,7 +36775,7 @@ import { Suspense as Suspense2, useCallback as useCallback37, useMemo as useMemo
|
|
|
36798
36775
|
// src/components/navigation/mobile-burger-menu.tsx
|
|
36799
36776
|
import React114, { useCallback as useCallback36, useRef as useRef48 } from "react";
|
|
36800
36777
|
import { usePreventScroll as usePreventScroll5 } from "@react-aria/overlays";
|
|
36801
|
-
import { Fragment as
|
|
36778
|
+
import { Fragment as Fragment55, jsx as jsx287, jsxs as jsxs224 } from "react/jsx-runtime";
|
|
36802
36779
|
var HEADER_HEIGHT = 48;
|
|
36803
36780
|
var MobileBurgerMenu = React114.memo(function MobileBurgerMenu2({
|
|
36804
36781
|
isOpen,
|
|
@@ -36866,7 +36843,7 @@ var MobileBurgerMenu = React114.memo(function MobileBurgerMenu2({
|
|
|
36866
36843
|
row.length === 1 && /* @__PURE__ */ jsx287("div", { className: "flex-1" })
|
|
36867
36844
|
] }, rowIndex)) });
|
|
36868
36845
|
};
|
|
36869
|
-
return /* @__PURE__ */ jsxs224(
|
|
36846
|
+
return /* @__PURE__ */ jsxs224(Fragment55, { children: [
|
|
36870
36847
|
/* @__PURE__ */ jsx287(
|
|
36871
36848
|
"div",
|
|
36872
36849
|
{
|
|
@@ -37630,7 +37607,7 @@ import React116, { useRef as useRef50, useCallback as useCallback38 } from "reac
|
|
|
37630
37607
|
import React115 from "react";
|
|
37631
37608
|
init_button2();
|
|
37632
37609
|
init_cn();
|
|
37633
|
-
import { Fragment as
|
|
37610
|
+
import { Fragment as Fragment56, jsx as jsx297, jsxs as jsxs234 } from "react/jsx-runtime";
|
|
37634
37611
|
function OnboardingStepCard({
|
|
37635
37612
|
step,
|
|
37636
37613
|
isCompleted,
|
|
@@ -37672,10 +37649,10 @@ function OnboardingStepCard({
|
|
|
37672
37649
|
/* @__PURE__ */ jsx297("h3", { className: "text-h4 text-ods-text-primary truncate", title: step.title, children: step.title }),
|
|
37673
37650
|
/* @__PURE__ */ jsx297("p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate h-[20px]", title: step.description, children: step.description })
|
|
37674
37651
|
] }),
|
|
37675
|
-
/* @__PURE__ */ jsx297("div", { className: "flex items-center gap-2 w-full md:w-auto justify-start md:justify-end shrink-0", onClick: (e) => e.stopPropagation(), children: isCheckingCompletion ? /* @__PURE__ */ jsxs234(
|
|
37652
|
+
/* @__PURE__ */ jsx297("div", { className: "flex items-center gap-2 w-full md:w-auto justify-start md:justify-end shrink-0", onClick: (e) => e.stopPropagation(), children: isCheckingCompletion ? /* @__PURE__ */ jsxs234(Fragment56, { children: [
|
|
37676
37653
|
/* @__PURE__ */ jsx297("div", { className: "h-[32px] w-[100px] bg-ods-border rounded-[6px] animate-pulse" }),
|
|
37677
37654
|
/* @__PURE__ */ jsx297("div", { className: "h-[32px] w-[120px] bg-ods-border rounded-[6px] animate-pulse" })
|
|
37678
|
-
] }) : isCompleted ? /* @__PURE__ */ jsxs234(
|
|
37655
|
+
] }) : isCompleted ? /* @__PURE__ */ jsxs234(Fragment56, { children: [
|
|
37679
37656
|
/* @__PURE__ */ jsx297(
|
|
37680
37657
|
StatusBadge,
|
|
37681
37658
|
{
|
|
@@ -37694,14 +37671,14 @@ function OnboardingStepCard({
|
|
|
37694
37671
|
children: step.completedText
|
|
37695
37672
|
}
|
|
37696
37673
|
)
|
|
37697
|
-
] }) : isSkipped ? /* @__PURE__ */ jsx297(
|
|
37674
|
+
] }) : isSkipped ? /* @__PURE__ */ jsx297(Fragment56, { children: /* @__PURE__ */ jsx297(
|
|
37698
37675
|
StatusBadge,
|
|
37699
37676
|
{
|
|
37700
37677
|
text: "SKIPPED",
|
|
37701
37678
|
variant: "card",
|
|
37702
37679
|
colorScheme: "default"
|
|
37703
37680
|
}
|
|
37704
|
-
) }) : /* @__PURE__ */ jsxs234(
|
|
37681
|
+
) }) : /* @__PURE__ */ jsxs234(Fragment56, { children: [
|
|
37705
37682
|
/* @__PURE__ */ jsx297(
|
|
37706
37683
|
Button,
|
|
37707
37684
|
{
|
|
@@ -38708,7 +38685,7 @@ function getHideClasses(hideAt) {
|
|
|
38708
38685
|
}
|
|
38709
38686
|
|
|
38710
38687
|
// src/components/ui/table/table-header.tsx
|
|
38711
|
-
import { Fragment as
|
|
38688
|
+
import { Fragment as Fragment57, jsx as jsx311, jsxs as jsxs245 } from "react/jsx-runtime";
|
|
38712
38689
|
function TableHeader({
|
|
38713
38690
|
columns,
|
|
38714
38691
|
className,
|
|
@@ -38819,10 +38796,10 @@ function TableHeader({
|
|
|
38819
38796
|
column.sortable && "cursor-pointer hover:text-ods-text-primary transition-colors"
|
|
38820
38797
|
),
|
|
38821
38798
|
onClick: () => handleSort(column),
|
|
38822
|
-
children: column.renderHeader ? /* @__PURE__ */ jsxs245(
|
|
38799
|
+
children: column.renderHeader ? /* @__PURE__ */ jsxs245(Fragment57, { children: [
|
|
38823
38800
|
column.renderHeader(),
|
|
38824
38801
|
getSortIcon(column)
|
|
38825
|
-
] }) : /* @__PURE__ */ jsxs245(
|
|
38802
|
+
] }) : /* @__PURE__ */ jsxs245(Fragment57, { children: [
|
|
38826
38803
|
/* @__PURE__ */ jsx311("span", { className: "text-h5 text-ods-text-secondary uppercase whitespace-nowrap", children: column.label }),
|
|
38827
38804
|
getSortIcon(column)
|
|
38828
38805
|
] })
|
|
@@ -38877,7 +38854,7 @@ function TableCell({
|
|
|
38877
38854
|
|
|
38878
38855
|
// src/components/ui/table/table-skeleton.tsx
|
|
38879
38856
|
init_cn();
|
|
38880
|
-
import { Fragment as
|
|
38857
|
+
import { Fragment as Fragment58, jsx as jsx313, jsxs as jsxs246 } from "react/jsx-runtime";
|
|
38881
38858
|
var ROW_HEIGHT_DESKTOP = "h-[68px] md:h-[80px]";
|
|
38882
38859
|
var ROW_HEIGHT_MOBILE = "h-[68px]";
|
|
38883
38860
|
function TableCardSkeleton({
|
|
@@ -38889,7 +38866,7 @@ function TableCardSkeleton({
|
|
|
38889
38866
|
rowClassName
|
|
38890
38867
|
}) {
|
|
38891
38868
|
const primaryKey = (columns.find((c) => /flex-(1|\[)/.test(c.width || "")) ?? columns[0])?.key;
|
|
38892
|
-
return /* @__PURE__ */ jsx313(
|
|
38869
|
+
return /* @__PURE__ */ jsx313(Fragment58, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ jsxs246(
|
|
38893
38870
|
"div",
|
|
38894
38871
|
{
|
|
38895
38872
|
className: cn(
|
|
@@ -39068,7 +39045,7 @@ function useTableMotion(enabled) {
|
|
|
39068
39045
|
}
|
|
39069
39046
|
|
|
39070
39047
|
// src/components/ui/table/table.tsx
|
|
39071
|
-
import { Fragment as
|
|
39048
|
+
import { Fragment as Fragment59, jsx as jsx315, jsxs as jsxs248 } from "react/jsx-runtime";
|
|
39072
39049
|
function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
|
|
39073
39050
|
const hasActions = Boolean(rowActions?.length) || Boolean(renderRowActions);
|
|
39074
39051
|
const result = [...columns];
|
|
@@ -39270,7 +39247,7 @@ function Table({
|
|
|
39270
39247
|
hasActions: Boolean(rowActions) && rowActions.length > 0,
|
|
39271
39248
|
hasChevron: Boolean(rowHref)
|
|
39272
39249
|
}
|
|
39273
|
-
) : data.length === 0 ? /* @__PURE__ */ jsx315(TableEmptyState, { message: emptyMessage }) : /* @__PURE__ */ jsxs248(
|
|
39250
|
+
) : data.length === 0 ? /* @__PURE__ */ jsx315(TableEmptyState, { message: emptyMessage }) : /* @__PURE__ */ jsxs248(Fragment59, { children: [
|
|
39274
39251
|
(() => {
|
|
39275
39252
|
const rows = data.map((item, index) => /* @__PURE__ */ jsx315(
|
|
39276
39253
|
TableRow,
|
|
@@ -39897,7 +39874,7 @@ function DataTableColumnFilter({
|
|
|
39897
39874
|
}
|
|
39898
39875
|
|
|
39899
39876
|
// src/components/ui/data-table/data-table-header.tsx
|
|
39900
|
-
import { Fragment as
|
|
39877
|
+
import { Fragment as Fragment60, jsx as jsx324, jsxs as jsxs255 } from "react/jsx-runtime";
|
|
39901
39878
|
function DataTableHeader({
|
|
39902
39879
|
className,
|
|
39903
39880
|
stickyHeader,
|
|
@@ -39993,7 +39970,7 @@ function HeaderLabel({ header }) {
|
|
|
39993
39970
|
if (typeof headerDef === "string") {
|
|
39994
39971
|
return /* @__PURE__ */ jsx324("span", { className: "text-h5 text-ods-text-secondary uppercase whitespace-nowrap transition-colors duration-200 group-hover:text-ods-text-primary", children: headerDef });
|
|
39995
39972
|
}
|
|
39996
|
-
return /* @__PURE__ */ jsx324(
|
|
39973
|
+
return /* @__PURE__ */ jsx324(Fragment60, { children: flexRender(headerDef, header.getContext()) });
|
|
39997
39974
|
}
|
|
39998
39975
|
function SortIcon({ sorted }) {
|
|
39999
39976
|
if (sorted === "asc") return /* @__PURE__ */ jsx324(Arrow01UpIcon, { className: "w-4 h-4 text-ods-accent" });
|
|
@@ -40032,7 +40009,7 @@ import { flexRender as flexRender2 } from "@tanstack/react-table";
|
|
|
40032
40009
|
|
|
40033
40010
|
// src/components/ui/data-table/data-table-skeleton.tsx
|
|
40034
40011
|
init_cn();
|
|
40035
|
-
import { Fragment as
|
|
40012
|
+
import { Fragment as Fragment61, jsx as jsx326, jsxs as jsxs256 } from "react/jsx-runtime";
|
|
40036
40013
|
var ROW_HEIGHT_DESKTOP2 = "h-[68px] md:h-[80px]";
|
|
40037
40014
|
var ROW_HEIGHT_MOBILE2 = "h-[68px]";
|
|
40038
40015
|
function DataTableSkeleton({
|
|
@@ -40043,7 +40020,7 @@ function DataTableSkeleton({
|
|
|
40043
40020
|
const table = useDataTableContext();
|
|
40044
40021
|
const columns = table.getVisibleFlatColumns();
|
|
40045
40022
|
const firstColumnId = columns[0]?.id;
|
|
40046
|
-
return /* @__PURE__ */ jsx326(
|
|
40023
|
+
return /* @__PURE__ */ jsx326(Fragment61, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ jsxs256(
|
|
40047
40024
|
"div",
|
|
40048
40025
|
{
|
|
40049
40026
|
className: cn(
|
|
@@ -40099,7 +40076,7 @@ function DataTableSkeleton({
|
|
|
40099
40076
|
}
|
|
40100
40077
|
|
|
40101
40078
|
// src/components/ui/data-table/data-table-row.tsx
|
|
40102
|
-
import { Fragment as
|
|
40079
|
+
import { Fragment as Fragment62, jsx as jsx327, jsxs as jsxs257 } from "react/jsx-runtime";
|
|
40103
40080
|
function DataTableRowImpl({
|
|
40104
40081
|
row,
|
|
40105
40082
|
onClick,
|
|
@@ -40201,7 +40178,7 @@ function CellContent({ children }) {
|
|
|
40201
40178
|
if (typeof children === "string" || typeof children === "number") {
|
|
40202
40179
|
return /* @__PURE__ */ jsx327("span", { className: "text-h4 text-ods-text-primary truncate", title: String(children), children });
|
|
40203
40180
|
}
|
|
40204
|
-
return /* @__PURE__ */ jsx327(
|
|
40181
|
+
return /* @__PURE__ */ jsx327(Fragment62, { children });
|
|
40205
40182
|
}
|
|
40206
40183
|
|
|
40207
40184
|
// src/components/ui/data-table/data-table-body.tsx
|
|
@@ -40281,7 +40258,7 @@ function DataTableBody({
|
|
|
40281
40258
|
|
|
40282
40259
|
// src/components/ui/data-table/data-table-infinite-footer.tsx
|
|
40283
40260
|
import { useEffect as useEffect70, useRef as useRef56 } from "react";
|
|
40284
|
-
import { Fragment as
|
|
40261
|
+
import { Fragment as Fragment63, jsx as jsx329, jsxs as jsxs259 } from "react/jsx-runtime";
|
|
40285
40262
|
function DataTableInfiniteFooter({
|
|
40286
40263
|
hasNextPage,
|
|
40287
40264
|
isFetchingNextPage,
|
|
@@ -40305,7 +40282,7 @@ function DataTableInfiniteFooter({
|
|
|
40305
40282
|
observer.observe(sentinel);
|
|
40306
40283
|
return () => observer.disconnect();
|
|
40307
40284
|
}, [hasNextPage, isFetchingNextPage, rootMargin]);
|
|
40308
|
-
return /* @__PURE__ */ jsxs259(
|
|
40285
|
+
return /* @__PURE__ */ jsxs259(Fragment63, { children: [
|
|
40309
40286
|
isFetchingNextPage && /* @__PURE__ */ jsx329(DataTableSkeleton, { rows: skeletonRows }),
|
|
40310
40287
|
hasNextPage && /* @__PURE__ */ jsx329("div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" })
|
|
40311
40288
|
] });
|
|
@@ -41715,7 +41692,7 @@ function FileUpload({
|
|
|
41715
41692
|
import * as React127 from "react";
|
|
41716
41693
|
import { Loader2 as Loader211 } from "lucide-react";
|
|
41717
41694
|
init_cn();
|
|
41718
|
-
import { Fragment as
|
|
41695
|
+
import { Fragment as Fragment65, jsx as jsx336, jsxs as jsxs266 } from "react/jsx-runtime";
|
|
41719
41696
|
var DEFAULT_MAX_SIZE = 25 * 1024 * 1024;
|
|
41720
41697
|
function formatSize(bytes) {
|
|
41721
41698
|
const mb = bytes / (1024 * 1024);
|
|
@@ -41843,7 +41820,7 @@ function ImageUploader({
|
|
|
41843
41820
|
!hasImage && !interactive && "cursor-not-allowed",
|
|
41844
41821
|
dropzoneClassName
|
|
41845
41822
|
),
|
|
41846
|
-
children: hasImage ? /* @__PURE__ */ jsxs266(
|
|
41823
|
+
children: hasImage ? /* @__PURE__ */ jsxs266(Fragment65, { children: [
|
|
41847
41824
|
/* @__PURE__ */ jsx336("div", { className: "relative min-h-0 w-full flex-1 overflow-hidden rounded-md", children: /* @__PURE__ */ jsx336(
|
|
41848
41825
|
"img",
|
|
41849
41826
|
{
|
|
@@ -41880,7 +41857,7 @@ function ImageUploader({
|
|
|
41880
41857
|
)
|
|
41881
41858
|
] }),
|
|
41882
41859
|
loading && /* @__PURE__ */ jsx336("div", { className: "absolute inset-0 flex items-center justify-center rounded-md bg-ods-overlay", children: /* @__PURE__ */ jsx336(Loader211, { className: "size-8 animate-spin text-ods-text-on-dark" }) })
|
|
41883
|
-
] }) : loading ? /* @__PURE__ */ jsx336(Loader211, { className: "size-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs266(
|
|
41860
|
+
] }) : loading ? /* @__PURE__ */ jsx336(Loader211, { className: "size-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs266(Fragment65, { children: [
|
|
41884
41861
|
/* @__PURE__ */ jsx336("div", { className: "flex shrink-0 items-center justify-center rounded-full border border-ods-border bg-ods-card p-[var(--spacing-system-s)]", children: /* @__PURE__ */ jsx336(ImagePlusIcon, { className: "size-6 text-ods-text-primary" }) }),
|
|
41885
41862
|
/* @__PURE__ */ jsxs266("div", { className: "flex w-full flex-col items-center text-center", children: [
|
|
41886
41863
|
/* @__PURE__ */ jsx336("p", { className: "text-h4 text-ods-text-primary", children: label }),
|
|
@@ -41950,7 +41927,7 @@ PopoverContent.displayName = PopoverPrimitive7.Content.displayName;
|
|
|
41950
41927
|
|
|
41951
41928
|
// src/components/ui/color-preset-select.tsx
|
|
41952
41929
|
init_cn();
|
|
41953
|
-
import { Fragment as
|
|
41930
|
+
import { Fragment as Fragment66, jsx as jsx338, jsxs as jsxs267 } from "react/jsx-runtime";
|
|
41954
41931
|
var TICKET_STATUS_COLOR_PRESETS = [
|
|
41955
41932
|
{ key: "green", label: "Green", color: "#5ea62e" },
|
|
41956
41933
|
{ key: "lime", label: "Lime", color: "#8bc34a" },
|
|
@@ -42101,7 +42078,7 @@ function RgbInputs({ value, onChange }) {
|
|
|
42101
42078
|
const b = next.b ?? rgb.b;
|
|
42102
42079
|
onChange(rgbToHex(r, g, b));
|
|
42103
42080
|
};
|
|
42104
|
-
return /* @__PURE__ */ jsxs267(
|
|
42081
|
+
return /* @__PURE__ */ jsxs267(Fragment66, { children: [
|
|
42105
42082
|
/* @__PURE__ */ jsx338(ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
|
|
42106
42083
|
/* @__PURE__ */ jsx338(ChannelInput, { value: rgb.g, min: 0, max: 255, ariaLabel: "Green", onCommit: (g) => update({ g }) }),
|
|
42107
42084
|
/* @__PURE__ */ jsx338(ChannelInput, { value: rgb.b, min: 0, max: 255, ariaLabel: "Blue", onCommit: (b) => update({ b }) })
|
|
@@ -42117,7 +42094,7 @@ function HslInputs({ value, onChange }) {
|
|
|
42117
42094
|
const out = hslToRgb(h, s, l);
|
|
42118
42095
|
onChange(rgbToHex(out.r, out.g, out.b));
|
|
42119
42096
|
};
|
|
42120
|
-
return /* @__PURE__ */ jsxs267(
|
|
42097
|
+
return /* @__PURE__ */ jsxs267(Fragment66, { children: [
|
|
42121
42098
|
/* @__PURE__ */ jsx338(ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
|
|
42122
42099
|
/* @__PURE__ */ jsx338(ChannelInput, { value: hsl.s, min: 0, max: 100, ariaLabel: "Saturation", onCommit: (s) => update({ s }) }),
|
|
42123
42100
|
/* @__PURE__ */ jsx338(ChannelInput, { value: hsl.l, min: 0, max: 100, ariaLabel: "Lightness", onCommit: (l) => update({ l }) })
|
|
@@ -42414,7 +42391,7 @@ init_cn();
|
|
|
42414
42391
|
// src/components/ui/ticket-note-card.tsx
|
|
42415
42392
|
import * as React131 from "react";
|
|
42416
42393
|
init_cn();
|
|
42417
|
-
import { Fragment as
|
|
42394
|
+
import { Fragment as Fragment67, jsx as jsx342, jsxs as jsxs271 } from "react/jsx-runtime";
|
|
42418
42395
|
function TicketNoteCard({ note, onEdit, onDelete, className }) {
|
|
42419
42396
|
const [isEditing, setIsEditing] = React131.useState(false);
|
|
42420
42397
|
const [editText, setEditText] = React131.useState(note.text);
|
|
@@ -42488,7 +42465,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
|
|
|
42488
42465
|
children: /* @__PURE__ */ jsx342(XmarkIcon, { className: "size-5" })
|
|
42489
42466
|
}
|
|
42490
42467
|
)
|
|
42491
|
-
] }) : /* @__PURE__ */ jsxs271(
|
|
42468
|
+
] }) : /* @__PURE__ */ jsxs271(Fragment67, { children: [
|
|
42492
42469
|
/* @__PURE__ */ jsx342("p", { className: "text-h4 text-ods-text-primary", children: note.text }),
|
|
42493
42470
|
/* @__PURE__ */ jsxs271(
|
|
42494
42471
|
"p",
|
|
@@ -42595,7 +42572,7 @@ function TicketNotesSection({
|
|
|
42595
42572
|
}
|
|
42596
42573
|
|
|
42597
42574
|
// src/components/ui/ticket-info-section.tsx
|
|
42598
|
-
import { Fragment as
|
|
42575
|
+
import { Fragment as Fragment68, jsx as jsx344, jsxs as jsxs273 } from "react/jsx-runtime";
|
|
42599
42576
|
function InfoCell2({ value, label, icon, onClick }) {
|
|
42600
42577
|
return /* @__PURE__ */ jsx344("div", { className: "flex-1 min-w-0 overflow-hidden", children: /* @__PURE__ */ jsxs273("div", { className: "flex flex-col justify-center", children: [
|
|
42601
42578
|
/* @__PURE__ */ jsxs273("div", { className: "flex items-center gap-1 w-full min-w-0", children: [
|
|
@@ -42720,7 +42697,7 @@ function TicketInfoSection({
|
|
|
42720
42697
|
)
|
|
42721
42698
|
] })
|
|
42722
42699
|
] }),
|
|
42723
|
-
expanded && /* @__PURE__ */ jsxs273(
|
|
42700
|
+
expanded && /* @__PURE__ */ jsxs273(Fragment68, { children: [
|
|
42724
42701
|
createdAt && /* @__PURE__ */ jsx344("div", { className: "grid grid-cols-2 gap-4 px-4 py-3 bg-ods-bg border-b border-ods-border items-center", children: /* @__PURE__ */ jsx344(InfoCell2, { value: createdAt, label: "Created" }) }),
|
|
42725
42702
|
/* @__PURE__ */ jsxs273("div", { className: "flex flex-col gap-4 p-4 bg-ods-bg border-b border-ods-border", children: [
|
|
42726
42703
|
description && /* @__PURE__ */ jsx344(SimpleMarkdownRenderer, { content: description }),
|
|
@@ -42778,7 +42755,7 @@ function FilterPillRow({
|
|
|
42778
42755
|
|
|
42779
42756
|
// src/components/ui/image-gallery-modal.tsx
|
|
42780
42757
|
import { ChevronLeft as ChevronLeft4, ChevronRight as ChevronRight10 } from "lucide-react";
|
|
42781
|
-
import { Fragment as
|
|
42758
|
+
import { Fragment as Fragment69, jsx as jsx346, jsxs as jsxs275 } from "react/jsx-runtime";
|
|
42782
42759
|
function ImageGalleryModal({
|
|
42783
42760
|
images,
|
|
42784
42761
|
isOpen,
|
|
@@ -42834,7 +42811,7 @@ function ImageGalleryModal({
|
|
|
42834
42811
|
onClose,
|
|
42835
42812
|
className: "max-w-[95vw]",
|
|
42836
42813
|
children: /* @__PURE__ */ jsxs275("div", { className: "relative flex items-center justify-center bg-black rounded-lg", children: [
|
|
42837
|
-
images.length > 1 && /* @__PURE__ */ jsxs275(
|
|
42814
|
+
images.length > 1 && /* @__PURE__ */ jsxs275(Fragment69, { children: [
|
|
42838
42815
|
selectedImageIndex > 0 && /* @__PURE__ */ jsx346("div", { className: "absolute left-4 top-1/2 -translate-y-1/2 z-[10000]", children: /* @__PURE__ */ jsx346(
|
|
42839
42816
|
Button,
|
|
42840
42817
|
{
|
|
@@ -42952,7 +42929,7 @@ function TaskTypeIcon({ customItemId, className = "h-5 w-5" }) {
|
|
|
42952
42929
|
}
|
|
42953
42930
|
|
|
42954
42931
|
// src/components/chat/entity-cards/roadmap-card.tsx
|
|
42955
|
-
import { Fragment as
|
|
42932
|
+
import { Fragment as Fragment70, jsx as jsx348, jsxs as jsxs276 } from "react/jsx-runtime";
|
|
42956
42933
|
function RoadmapCardSkeleton({ size: size2 = "default" }) {
|
|
42957
42934
|
if (size2 === "sm") {
|
|
42958
42935
|
return /* @__PURE__ */ jsxs276("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
|
|
@@ -43014,7 +42991,7 @@ function RoadmapCard({
|
|
|
43014
42991
|
const hasScreenshots = (item.screenshots?.length ?? 0) > 0;
|
|
43015
42992
|
const typeLabel = getTaskTypeLabel(item.customItemId);
|
|
43016
42993
|
const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
|
|
43017
|
-
const body = /* @__PURE__ */ jsxs276(
|
|
42994
|
+
const body = /* @__PURE__ */ jsxs276(Fragment70, { children: [
|
|
43018
42995
|
/* @__PURE__ */ jsx348(
|
|
43019
42996
|
"span",
|
|
43020
42997
|
{
|
|
@@ -43206,7 +43183,7 @@ function RoadmapCard({
|
|
|
43206
43183
|
// src/components/chat/entity-cards/github-activity-card.tsx
|
|
43207
43184
|
import React134 from "react";
|
|
43208
43185
|
import { GitPullRequest, Eye as Eye4, ExternalLink as ExternalLink8 } from "lucide-react";
|
|
43209
|
-
import { Fragment as
|
|
43186
|
+
import { Fragment as Fragment71, jsx as jsx349, jsxs as jsxs277 } from "react/jsx-runtime";
|
|
43210
43187
|
function parseRepoFromUrl(url) {
|
|
43211
43188
|
if (!url) return null;
|
|
43212
43189
|
try {
|
|
@@ -43338,7 +43315,7 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
|
|
|
43338
43315
|
if (repo) metaParts.push(/* @__PURE__ */ jsx349("span", { className: "font-mono truncate", children: repo }, "repo"));
|
|
43339
43316
|
if (dateText) metaParts.push(/* @__PURE__ */ jsx349("span", { className: "whitespace-nowrap", children: dateText }, "date"));
|
|
43340
43317
|
const href = safeHref(item.url);
|
|
43341
|
-
const body = /* @__PURE__ */ jsxs277(
|
|
43318
|
+
const body = /* @__PURE__ */ jsxs277(Fragment71, { children: [
|
|
43342
43319
|
/* @__PURE__ */ jsx349("span", { className: COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
|
|
43343
43320
|
/* @__PURE__ */ jsxs277("span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
43344
43321
|
/* @__PURE__ */ jsxs277("span", { className: `${COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
|
|
@@ -43393,7 +43370,7 @@ function GitHubActivityCardSkeleton({ variant = "compact", className }) {
|
|
|
43393
43370
|
// src/components/chat/entity-cards/slack-message-card.tsx
|
|
43394
43371
|
import React135 from "react";
|
|
43395
43372
|
import { ExternalLink as ExternalLink9, Hash } from "lucide-react";
|
|
43396
|
-
import { Fragment as
|
|
43373
|
+
import { Fragment as Fragment72, jsx as jsx350, jsxs as jsxs278 } from "react/jsx-runtime";
|
|
43397
43374
|
function parseChannelFromUrl(url) {
|
|
43398
43375
|
if (!url) return null;
|
|
43399
43376
|
try {
|
|
@@ -43432,7 +43409,7 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
|
|
|
43432
43409
|
}
|
|
43433
43410
|
if (dateText) metaParts.push(/* @__PURE__ */ jsx350("span", { className: "whitespace-nowrap", children: dateText }, "date"));
|
|
43434
43411
|
const href = safeHref(item.url);
|
|
43435
|
-
const body = /* @__PURE__ */ jsxs278(
|
|
43412
|
+
const body = /* @__PURE__ */ jsxs278(Fragment72, { children: [
|
|
43436
43413
|
/* @__PURE__ */ jsx350("span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx350(SlackIcon, { className: "h-5 w-5" }) }),
|
|
43437
43414
|
/* @__PURE__ */ jsxs278("span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
43438
43415
|
/* @__PURE__ */ jsx350("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx350("span", { className: COMPACT_CARD_TITLE, children: item.title }) }),
|
|
@@ -43482,7 +43459,7 @@ function SlackMessageCardSkeleton({ variant = "compact", className }) {
|
|
|
43482
43459
|
// src/components/chat/entity-cards/hubspot-ticket-card.tsx
|
|
43483
43460
|
import React136 from "react";
|
|
43484
43461
|
import { ExternalLink as ExternalLink10 } from "lucide-react";
|
|
43485
|
-
import { Fragment as
|
|
43462
|
+
import { Fragment as Fragment73, jsx as jsx351, jsxs as jsxs279 } from "react/jsx-runtime";
|
|
43486
43463
|
function formatToken(token) {
|
|
43487
43464
|
if (!token) return null;
|
|
43488
43465
|
const lower = token.toLowerCase().replace(/_/g, " ");
|
|
@@ -43521,7 +43498,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
43521
43498
|
}
|
|
43522
43499
|
if (dateText) metaParts.push(/* @__PURE__ */ jsx351("span", { className: "whitespace-nowrap", children: dateText }, "date"));
|
|
43523
43500
|
const href = safeHref(item.url);
|
|
43524
|
-
const body = /* @__PURE__ */ jsxs279(
|
|
43501
|
+
const body = /* @__PURE__ */ jsxs279(Fragment73, { children: [
|
|
43525
43502
|
/* @__PURE__ */ jsxs279("span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
43526
43503
|
/* @__PURE__ */ jsxs279("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
|
|
43527
43504
|
/* @__PURE__ */ jsx351("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
|
|
@@ -43601,9 +43578,9 @@ function HubspotTicketCardSkeleton({ variant = "compact", className }) {
|
|
|
43601
43578
|
|
|
43602
43579
|
// src/components/chat/entity-cards/data-room-doc-card.tsx
|
|
43603
43580
|
import { ExternalLink as ExternalLink11 } from "lucide-react";
|
|
43604
|
-
import { Fragment as
|
|
43581
|
+
import { Fragment as Fragment74, jsx as jsx352, jsxs as jsxs280 } from "react/jsx-runtime";
|
|
43605
43582
|
function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
43606
|
-
const body = /* @__PURE__ */ jsxs280(
|
|
43583
|
+
const body = /* @__PURE__ */ jsxs280(Fragment74, { children: [
|
|
43607
43584
|
/* @__PURE__ */ jsxs280("span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
43608
43585
|
/* @__PURE__ */ jsxs280("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
|
|
43609
43586
|
/* @__PURE__ */ jsx352("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
|
|
@@ -45213,7 +45190,7 @@ function cleanEscapedString(input) {
|
|
|
45213
45190
|
init_button();
|
|
45214
45191
|
import { ExternalLink as ExternalLink12, Clock as Clock2, Play as Play4, Video as Video8 } from "lucide-react";
|
|
45215
45192
|
init_cn();
|
|
45216
|
-
import { Fragment as
|
|
45193
|
+
import { Fragment as Fragment75, jsx as jsx353, jsxs as jsxs281 } from "react/jsx-runtime";
|
|
45217
45194
|
function formatUtc(date, fmt) {
|
|
45218
45195
|
return format2(new Date(date.getTime() + date.getTimezoneOffset() * 6e4), fmt);
|
|
45219
45196
|
}
|
|
@@ -45288,7 +45265,7 @@ function MediaGallery({ images, title }) {
|
|
|
45288
45265
|
setIsModalOpen(false);
|
|
45289
45266
|
setSelectedImageIndex(null);
|
|
45290
45267
|
};
|
|
45291
|
-
return /* @__PURE__ */ jsxs281(
|
|
45268
|
+
return /* @__PURE__ */ jsxs281(Fragment75, { children: [
|
|
45292
45269
|
/* @__PURE__ */ jsx353("div", { className: "p-6 pt-4", children: /* @__PURE__ */ jsx353("div", { className: "overflow-x-auto mb-4", children: /* @__PURE__ */ jsx353("div", { className: "flex gap-3 pb-2", style: { width: "max-content" }, children: images.map((mediaItem, index) => /* @__PURE__ */ jsxs281(
|
|
45293
45270
|
"div",
|
|
45294
45271
|
{
|
|
@@ -45430,7 +45407,7 @@ function ProgramCard({
|
|
|
45430
45407
|
const dateFormat = formatUtc(itemDate, "EEEE d MMMM");
|
|
45431
45408
|
const defaultRenderMeta = () => {
|
|
45432
45409
|
if (config.type === "podcast" && "duration_seconds" in item && !isScheduled) {
|
|
45433
|
-
return /* @__PURE__ */ jsxs281(
|
|
45410
|
+
return /* @__PURE__ */ jsxs281(Fragment75, { children: [
|
|
45434
45411
|
/* @__PURE__ */ jsx353(Clock2, { className: "w-4 h-4 text-ods-text-secondary" }),
|
|
45435
45412
|
/* @__PURE__ */ jsx353("span", { className: "font-['DM_Sans'] text-ods-text-secondary", children: formatDurationCompact(item.duration_seconds) })
|
|
45436
45413
|
] });
|
|
@@ -45441,7 +45418,7 @@ function ProgramCard({
|
|
|
45441
45418
|
if (config.type === "webinar" && "start_at" in item) {
|
|
45442
45419
|
const webinarItem = item;
|
|
45443
45420
|
const duration = formatDurationFromRange(webinarItem.start_at, webinarItem.end_at);
|
|
45444
|
-
return /* @__PURE__ */ jsxs281(
|
|
45421
|
+
return /* @__PURE__ */ jsxs281(Fragment75, { children: [
|
|
45445
45422
|
/* @__PURE__ */ jsx353(Video8, { className: "w-4 h-4 text-ods-text-secondary" }),
|
|
45446
45423
|
/* @__PURE__ */ jsxs281("span", { className: "font-['DM_Sans'] text-ods-text-secondary", children: [
|
|
45447
45424
|
formatTimeWithTimezone(webinarItem.start_at, webinarItem.timezone ?? null),
|
|
@@ -45475,10 +45452,10 @@ function ProgramCard({
|
|
|
45475
45452
|
/* @__PURE__ */ jsx353("h3", { className: "font-['Azeret_Mono'] font-semibold text-xl md:text-2xl text-ods-text-primary leading-tight mb-3 min-h-[3rem] md:min-h-[3.5rem] line-clamp-2 flex items-center", children: item.title }),
|
|
45476
45453
|
/* @__PURE__ */ jsxs281("div", { className: "flex flex-col md:flex-row md:items-center gap-2 md:gap-4 mb-4", children: [
|
|
45477
45454
|
/* @__PURE__ */ jsx353("span", { className: "font-['DM_Sans'] font-medium", style: { color: accentColor }, children: dateFormat }),
|
|
45478
|
-
renderMeta ? /* @__PURE__ */ jsxs281(
|
|
45455
|
+
renderMeta ? /* @__PURE__ */ jsxs281(Fragment75, { children: [
|
|
45479
45456
|
/* @__PURE__ */ jsx353("span", { className: "hidden md:inline text-ods-text-secondary", children: "\u2022" }),
|
|
45480
45457
|
renderMeta(item)
|
|
45481
|
-
] }) : defaultRenderMeta() && /* @__PURE__ */ jsxs281(
|
|
45458
|
+
] }) : defaultRenderMeta() && /* @__PURE__ */ jsxs281(Fragment75, { children: [
|
|
45482
45459
|
/* @__PURE__ */ jsx353("span", { className: "hidden md:inline text-ods-text-secondary", children: "\u2022" }),
|
|
45483
45460
|
/* @__PURE__ */ jsx353("div", { className: "flex items-center gap-2", children: defaultRenderMeta() })
|
|
45484
45461
|
] })
|
|
@@ -45555,10 +45532,10 @@ function ProgramCard({
|
|
|
45555
45532
|
|
|
45556
45533
|
// src/components/chat/entity-cards/campaign-card-admin.tsx
|
|
45557
45534
|
import { Megaphone as Megaphone3 } from "lucide-react";
|
|
45558
|
-
import { Fragment as
|
|
45535
|
+
import { Fragment as Fragment76, jsx as jsx354, jsxs as jsxs282 } from "react/jsx-runtime";
|
|
45559
45536
|
function CampaignCardAdmin({ campaign, className, anchorProps }) {
|
|
45560
45537
|
const goalsCount = campaign.goals?.length || 0;
|
|
45561
|
-
const innerChildren = /* @__PURE__ */ jsxs282(
|
|
45538
|
+
const innerChildren = /* @__PURE__ */ jsxs282(Fragment76, { children: [
|
|
45562
45539
|
/* @__PURE__ */ jsx354("span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx354(Megaphone3, { className: "h-5 w-5" }) }),
|
|
45563
45540
|
/* @__PURE__ */ jsxs282("span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
45564
45541
|
/* @__PURE__ */ jsx354("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx354("span", { className: COMPACT_CARD_TITLE, children: campaign.name }) }),
|
|
@@ -45588,11 +45565,11 @@ function CampaignCardAdminSkeleton({ className }) {
|
|
|
45588
45565
|
|
|
45589
45566
|
// src/components/chat/entity-cards/generic-entity-card.tsx
|
|
45590
45567
|
import { ExternalLink as ExternalLink13 } from "lucide-react";
|
|
45591
|
-
import { Fragment as
|
|
45568
|
+
import { Fragment as Fragment77, jsx as jsx355, jsxs as jsxs283 } from "react/jsx-runtime";
|
|
45592
45569
|
function GenericEntityCard({ item, className, anchorProps }) {
|
|
45593
45570
|
const href = safeHref(item.url);
|
|
45594
45571
|
const dateText = formatDateUTC(item.dateUpdated, { fallback: "", timezone: "local" });
|
|
45595
|
-
const body = /* @__PURE__ */ jsxs283(
|
|
45572
|
+
const body = /* @__PURE__ */ jsxs283(Fragment77, { children: [
|
|
45596
45573
|
/* @__PURE__ */ jsxs283("span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
45597
45574
|
/* @__PURE__ */ jsxs283("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
|
|
45598
45575
|
/* @__PURE__ */ jsx355("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
|
|
@@ -45777,7 +45754,7 @@ function resolveSourceIcon(input, ctx = {}) {
|
|
|
45777
45754
|
|
|
45778
45755
|
// src/components/chat/mingo-info-card.tsx
|
|
45779
45756
|
init_cn();
|
|
45780
|
-
import { Fragment as
|
|
45757
|
+
import { Fragment as Fragment78, jsx as jsx356, jsxs as jsxs284 } from "react/jsx-runtime";
|
|
45781
45758
|
function CardMedia({
|
|
45782
45759
|
imageSrc,
|
|
45783
45760
|
imageAlt,
|
|
@@ -45821,7 +45798,7 @@ function MingoInfoCard({
|
|
|
45821
45798
|
const hasMenu = !!menuGroups && menuGroups.length > 0;
|
|
45822
45799
|
const isAnchor = !!anchorProps;
|
|
45823
45800
|
const isInteractive = isAnchor || !!onClick;
|
|
45824
|
-
const content = /* @__PURE__ */ jsxs284(
|
|
45801
|
+
const content = /* @__PURE__ */ jsxs284(Fragment78, { children: [
|
|
45825
45802
|
hasMedia && /* @__PURE__ */ jsx356(CardMedia, { imageSrc, imageAlt, icon }),
|
|
45826
45803
|
/* @__PURE__ */ jsxs284("span", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
45827
45804
|
/* @__PURE__ */ jsx356("span", { className: "truncate text-h4 font-medium text-ods-text-primary", children: title }),
|
|
@@ -45870,7 +45847,7 @@ function MingoInfoCard({
|
|
|
45870
45847
|
}
|
|
45871
45848
|
|
|
45872
45849
|
// src/components/chat/entity-cards/dispatch.tsx
|
|
45873
|
-
import { Fragment as
|
|
45850
|
+
import { Fragment as Fragment79, jsx as jsx357, jsxs as jsxs285 } from "react/jsx-runtime";
|
|
45874
45851
|
function githubKindIcon(kind) {
|
|
45875
45852
|
switch (kind) {
|
|
45876
45853
|
case "pull_request":
|
|
@@ -46838,10 +46815,10 @@ function ChatCardLoader({
|
|
|
46838
46815
|
}
|
|
46839
46816
|
);
|
|
46840
46817
|
}
|
|
46841
|
-
if (isLoading) return /* @__PURE__ */ jsx357(
|
|
46818
|
+
if (isLoading) return /* @__PURE__ */ jsx357(Fragment79, { children: entry.skeleton() });
|
|
46842
46819
|
if (!item) return null;
|
|
46843
46820
|
if (entry.bareInline) {
|
|
46844
|
-
return /* @__PURE__ */ jsx357(
|
|
46821
|
+
return /* @__PURE__ */ jsx357(Fragment79, { children: navWrap(entry.render(item, finalChatRef, renderOpts)) });
|
|
46845
46822
|
}
|
|
46846
46823
|
return /* @__PURE__ */ jsx357(
|
|
46847
46824
|
ChatCardWithDiscuss,
|
|
@@ -51675,7 +51652,7 @@ function useChatDialogManager({
|
|
|
51675
51652
|
|
|
51676
51653
|
// src/components/chat/embeddable-chat.tsx
|
|
51677
51654
|
init_next_navigation();
|
|
51678
|
-
import { Fragment as
|
|
51655
|
+
import { Fragment as Fragment80, jsx as jsx361, jsxs as jsxs286 } from "react/jsx-runtime";
|
|
51679
51656
|
var formatRelativePath = (p) => p.replace(/^\/+/, "").replace(/\/+$/, "");
|
|
51680
51657
|
var mentionTokenOf = (key, markerByType) => {
|
|
51681
51658
|
const ci = key.indexOf(":");
|
|
@@ -51795,7 +51772,7 @@ function SourceChip({
|
|
|
51795
51772
|
);
|
|
51796
51773
|
}
|
|
51797
51774
|
const displayName = src.name || formatRelativePath(src.path);
|
|
51798
|
-
const chipBody = (label) => /* @__PURE__ */ jsxs286(
|
|
51775
|
+
const chipBody = (label) => /* @__PURE__ */ jsxs286(Fragment80, { children: [
|
|
51799
51776
|
icon,
|
|
51800
51777
|
/* @__PURE__ */ jsxs286("span", { className: "truncate max-w-[160px]", children: [
|
|
51801
51778
|
"[",
|
|
@@ -52759,7 +52736,7 @@ function EmbeddableChatInner({
|
|
|
52759
52736
|
]
|
|
52760
52737
|
}
|
|
52761
52738
|
) }) });
|
|
52762
|
-
return /* @__PURE__ */ jsxs286(
|
|
52739
|
+
return /* @__PURE__ */ jsxs286(Fragment80, { children: [
|
|
52763
52740
|
showInternalTrigger && !shellLess && /* @__PURE__ */ jsx361(
|
|
52764
52741
|
"div",
|
|
52765
52742
|
{
|
|
@@ -53761,4 +53738,4 @@ export {
|
|
|
53761
53738
|
LogsList,
|
|
53762
53739
|
assets
|
|
53763
53740
|
};
|
|
53764
|
-
//# sourceMappingURL=chunk-
|
|
53741
|
+
//# sourceMappingURL=chunk-ZH2OEMQJ.js.map
|