qt-ui-kit 1.0.112 → 1.0.114
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +76 -20
- package/dist/index.d.ts +76 -20
- package/dist/index.js +285 -20
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +279 -20
- package/dist/index.mjs.map +1 -1
- package/dist/style.css +271 -5
- package/package.json +8 -4
package/dist/index.js
CHANGED
|
@@ -11177,16 +11177,22 @@ var require_lib7 = __commonJS({
|
|
|
11177
11177
|
// src/index.ts
|
|
11178
11178
|
var index_exports = {};
|
|
11179
11179
|
__export(index_exports, {
|
|
11180
|
+
AccountInfoField: () => AccountInfoField,
|
|
11181
|
+
AccountInfoSection: () => AccountInfoSection,
|
|
11182
|
+
AccountIntegrationCard: () => account_integration_card_default,
|
|
11183
|
+
AccountIntegrationCardItem: () => account_integration_card_item_default,
|
|
11180
11184
|
BaseIconName: () => BaseIconName,
|
|
11181
11185
|
BrandIcon: () => BrandIcon,
|
|
11182
11186
|
ChatBody: () => ChatBody,
|
|
11183
11187
|
ColorVariants: () => ColorVariants,
|
|
11188
|
+
ConfirmationModal: () => ConfirmationModal,
|
|
11184
11189
|
EmailBody: () => EmailBody,
|
|
11185
11190
|
EventCard: () => EventCard,
|
|
11186
11191
|
EventState: () => EventState,
|
|
11187
11192
|
EventType: () => EventType,
|
|
11188
11193
|
FilterBar: () => FilterBar,
|
|
11189
11194
|
IntegrationService: () => IntegrationService,
|
|
11195
|
+
Modal: () => Modal,
|
|
11190
11196
|
NavBar: () => NavBar,
|
|
11191
11197
|
PreviewCard: () => PreviewCard,
|
|
11192
11198
|
SearchBar: () => SearchBar,
|
|
@@ -15513,27 +15519,27 @@ function InsightsIcon2({
|
|
|
15513
15519
|
return {
|
|
15514
15520
|
viewBox: "0 0 16 16",
|
|
15515
15521
|
path: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
|
|
15516
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M7.57056 8.23242C8.09352 9.12376 8.86065 9.86065 9.78247 10.3662C8.86107 10.8715 8.09453 11.6084 7.57153 12.499C7.04828 11.608 6.28062 10.8715 5.35864 10.3662C6.28064 9.86068 7.04747 9.12371 7.57056 8.23242Z", fill: "#4F3ED0", stroke: "#4F3ED0",
|
|
15517
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M10.1426 4.60156C10.3709 4.92296 10.6514 5.20403 10.9727 5.43262C10.6514 5.66102 10.371 5.94244 10.1426 6.26367C9.91394 5.94224 9.63309 5.66111 9.31152 5.43262C9.63308 5.20398 9.91402 4.92318 10.1426 4.60156Z", fill: "#4F3ED0", stroke: "#4F3ED0",
|
|
15518
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M6.28516 3.18848C6.43792 3.38705 6.61599 3.56487 6.81445 3.71777C6.61598 3.87054 6.438 4.04864 6.28516 4.24707C6.13225 4.04861 5.95444 3.87053 5.75586 3.71777C5.95443 3.56487 6.1323 3.38705 6.28516 3.18848Z", fill: "#4F3ED0", stroke: "#4F3ED0",
|
|
15522
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M7.57056 8.23242C8.09352 9.12376 8.86065 9.86065 9.78247 10.3662C8.86107 10.8715 8.09453 11.6084 7.57153 12.499C7.04828 11.608 6.28062 10.8715 5.35864 10.3662C6.28064 9.86068 7.04747 9.12371 7.57056 8.23242Z", fill: "#4F3ED0", stroke: "#4F3ED0", strokeWidth: "1.5" }),
|
|
15523
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M10.1426 4.60156C10.3709 4.92296 10.6514 5.20403 10.9727 5.43262C10.6514 5.66102 10.371 5.94244 10.1426 6.26367C9.91394 5.94224 9.63309 5.66111 9.31152 5.43262C9.63308 5.20398 9.91402 4.92318 10.1426 4.60156Z", fill: "#4F3ED0", stroke: "#4F3ED0", strokeWidth: "1.3" }),
|
|
15524
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M6.28516 3.18848C6.43792 3.38705 6.61599 3.56487 6.81445 3.71777C6.61598 3.87054 6.438 4.04864 6.28516 4.24707C6.13225 4.04861 5.95444 3.87053 5.75586 3.71777C5.95443 3.56487 6.1323 3.38705 6.28516 3.18848Z", fill: "#4F3ED0", stroke: "#4F3ED0", strokeWidth: "1.2" })
|
|
15519
15525
|
] })
|
|
15520
15526
|
};
|
|
15521
15527
|
case 20:
|
|
15522
15528
|
return {
|
|
15523
15529
|
viewBox: "0 0 20 20",
|
|
15524
15530
|
path: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
|
|
15525
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M14.999 14.248C16.2754 17.6222 19.0787 20.2871 22.6006 21.5205C19.0788 22.7541 16.2762 25.4195 15 28.793C13.7231 25.4191 10.9201 22.7539 7.39746 21.5205C10.9195 20.2871 13.7226 17.6216 14.999 14.248Z", fill: "#4F3ED0", stroke: "#4F3ED0",
|
|
15531
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M14.999 14.248C16.2754 17.6222 19.0787 20.2871 22.6006 21.5205C19.0788 22.7541 16.2762 25.4195 15 28.793C13.7231 25.4191 10.9201 22.7539 7.39746 21.5205C10.9195 20.2871 13.7226 17.6216 14.999 14.248Z", fill: "#4F3ED0", stroke: "#4F3ED0", strokeWidth: "1.5" }),
|
|
15526
15532
|
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M21 6.3418C21.7345 7.96846 23.0424 9.27714 24.6689 10.0117C23.0433 10.7457 21.7336 12.0531 20.999 13.6787C20.2642 12.0536 18.9559 10.7456 17.3301 10.0117C18.9568 9.27716 20.2657 7.96871 21 6.3418Z", fill: "#4F3ED0", stroke: "#4F3ED0", "stroke-width": "1.3" }),
|
|
15527
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M12 3.25977C12.5821 4.45668 13.5524 5.42629 14.749 6.00879C13.5529 6.59057 12.5825 7.5608 12 8.75684C11.4177 7.56091 10.4473 6.59157 9.25098 6.00977C10.4479 5.42726 11.4177 4.45653 12 3.25977Z", fill: "#4F3ED0", stroke: "#4F3ED0",
|
|
15533
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M12 3.25977C12.5821 4.45668 13.5524 5.42629 14.749 6.00879C13.5529 6.59057 12.5825 7.5608 12 8.75684C11.4177 7.56091 10.4473 6.59157 9.25098 6.00977C10.4479 5.42726 11.4177 4.45653 12 3.25977Z", fill: "#4F3ED0", stroke: "#4F3ED0", strokeWidth: "1.2" })
|
|
15528
15534
|
] })
|
|
15529
15535
|
};
|
|
15530
15536
|
case 24:
|
|
15531
15537
|
return {
|
|
15532
15538
|
viewBox: "0 0 24 24",
|
|
15533
15539
|
path: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
|
|
15534
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M14.999 14.248C16.2754 17.6222 19.0787 20.2871 22.6006 21.5205C19.0788 22.7541 16.2762 25.4195 15 28.793C13.7231 25.4191 10.9201 22.7539 7.39746 21.5205C10.9195 20.2871 13.7226 17.6216 14.999 14.248Z", fill: "#4F3ED0", stroke: "#4F3ED0",
|
|
15535
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M21 6.3418C21.7345 7.96846 23.0424 9.27714 24.6689 10.0117C23.0433 10.7457 21.7336 12.0531 20.999 13.6787C20.2642 12.0536 18.9559 10.7456 17.3301 10.0117C18.9568 9.27716 20.2657 7.96871 21 6.3418Z", fill: "#4F3ED0", stroke: "#4F3ED0",
|
|
15536
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M12 3.25977C12.5821 4.45668 13.5524 5.42629 14.749 6.00879C13.5529 6.59057 12.5825 7.5608 12 8.75684C11.4177 7.56091 10.4473 6.59157 9.25098 6.00977C10.4479 5.42726 11.4177 4.45653 12 3.25977Z", fill: "#4F3ED0", stroke: "#4F3ED0",
|
|
15540
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M14.999 14.248C16.2754 17.6222 19.0787 20.2871 22.6006 21.5205C19.0788 22.7541 16.2762 25.4195 15 28.793C13.7231 25.4191 10.9201 22.7539 7.39746 21.5205C10.9195 20.2871 13.7226 17.6216 14.999 14.248Z", fill: "#4F3ED0", stroke: "#4F3ED0", strokeWidth: "1.5" }),
|
|
15541
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M21 6.3418C21.7345 7.96846 23.0424 9.27714 24.6689 10.0117C23.0433 10.7457 21.7336 12.0531 20.999 13.6787C20.2642 12.0536 18.9559 10.7456 17.3301 10.0117C18.9568 9.27716 20.2657 7.96871 21 6.3418Z", fill: "#4F3ED0", stroke: "#4F3ED0", strokeWidth: "1.3" }),
|
|
15542
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M12 3.25977C12.5821 4.45668 13.5524 5.42629 14.749 6.00879C13.5529 6.59057 12.5825 7.5608 12 8.75684C11.4177 7.56091 10.4473 6.59157 9.25098 6.00977C10.4479 5.42726 11.4177 4.45653 12 3.25977Z", fill: "#4F3ED0", stroke: "#4F3ED0", strokeWidth: "1.2" })
|
|
15537
15543
|
] })
|
|
15538
15544
|
};
|
|
15539
15545
|
case 36:
|
|
@@ -16432,7 +16438,7 @@ function EmailBody({
|
|
|
16432
16438
|
}
|
|
16433
16439
|
const isHtmlContent = body && isHtml(body);
|
|
16434
16440
|
const safeText = isHtmlContent ? import_dompurify.default.sanitize(body) : import_dompurify.default.sanitize(body?.replace(/\n/g, "<br>") || "");
|
|
16435
|
-
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-col gap-4 bg-white p-4 rounded-b-2xl overflow-auto", children: [
|
|
16441
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-col gap-4 bg-white p-4 rounded-b-2xl overflow-y-auto overflow-x-hidden", children: [
|
|
16436
16442
|
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-col gap-0.5", children: [
|
|
16437
16443
|
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(MetadataRow, { metadata: [`Subject: ${subjectLine}`] }),
|
|
16438
16444
|
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(MetadataRow, { metadata: [`To: ${to}`] }),
|
|
@@ -16443,27 +16449,35 @@ function EmailBody({
|
|
|
16443
16449
|
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(MetadataRow, { metadata: [`Attachments: ${attachments}`] })
|
|
16444
16450
|
] }),
|
|
16445
16451
|
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("hr", { className: "text-qtneutral-500" }),
|
|
16446
|
-
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "body-small break-
|
|
16452
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "body-small break-words whitespace-pre-line w-full overflow-x-hidden", children: body && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
16447
16453
|
"iframe",
|
|
16448
16454
|
{
|
|
16449
16455
|
srcDoc: `<!DOCTYPE html>
|
|
16450
16456
|
<html>
|
|
16451
16457
|
<head>
|
|
16458
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
16452
16459
|
<link href="https://fonts.googleapis.com/css2?family=Inter&display=swap" rel="stylesheet">
|
|
16453
16460
|
<style>
|
|
16461
|
+
html, body { max-width: 100%; overflow-x: hidden; }
|
|
16454
16462
|
body {
|
|
16455
16463
|
font-family: 'Inter', sans-serif;
|
|
16456
16464
|
padding: 0;
|
|
16457
16465
|
margin: 0;
|
|
16458
16466
|
font-size: 14px;
|
|
16459
|
-
|
|
16467
|
+
line-height: 1.5;
|
|
16468
|
+
word-break: break-word;
|
|
16460
16469
|
}
|
|
16470
|
+
img, svg, video, canvas { max-width: 100%; height: auto; }
|
|
16471
|
+
table { width: 100% !important; table-layout: fixed; border-collapse: collapse; }
|
|
16472
|
+
td, th { word-break: break-word; }
|
|
16473
|
+
pre, code { white-space: pre-wrap; word-break: break-word; overflow-wrap: anywhere; max-width: 100%; overflow-x: auto; }
|
|
16474
|
+
a { word-break: break-all; }
|
|
16461
16475
|
</style>
|
|
16462
16476
|
</head>
|
|
16463
16477
|
<body>${safeText}</body>
|
|
16464
16478
|
</html>`,
|
|
16465
16479
|
sandbox: "allow-popups",
|
|
16466
|
-
style: { border: 0, width: "100%", height: "500px" },
|
|
16480
|
+
style: { border: 0, width: "100%", height: "500px", display: "block" },
|
|
16467
16481
|
title: "Email Content"
|
|
16468
16482
|
}
|
|
16469
16483
|
) })
|
|
@@ -17257,18 +17271,27 @@ function PlusLarge({
|
|
|
17257
17271
|
// src/components/molecules/buttons/nav_button/filter_nav_button/filter_nav_button.tsx
|
|
17258
17272
|
var import_clsx11 = __toESM(require("clsx"));
|
|
17259
17273
|
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
17260
|
-
function FilterNavButton({ icon, label, active, onClick }) {
|
|
17274
|
+
function FilterNavButton({ icon, label, active, onClick, totalItems }) {
|
|
17275
|
+
const formatTotalItems = (count) => {
|
|
17276
|
+
if (typeof count === "number" && count > 99) {
|
|
17277
|
+
return "99+";
|
|
17278
|
+
}
|
|
17279
|
+
return count;
|
|
17280
|
+
};
|
|
17281
|
+
const displayCount = formatTotalItems(totalItems);
|
|
17282
|
+
const shouldShowBadge = !!(displayCount && (typeof displayCount === "number" ? displayCount !== 0 : displayCount !== "0"));
|
|
17261
17283
|
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
|
|
17262
17284
|
"div",
|
|
17263
17285
|
{
|
|
17264
|
-
className: "w-min h-min flex flex-none flex-col place-items-center gap-
|
|
17286
|
+
className: "w-min h-min flex flex-none flex-col place-items-center gap-0 relative pt-[15px]",
|
|
17265
17287
|
onClick,
|
|
17266
17288
|
children: [
|
|
17289
|
+
shouldShowBadge && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "w-[24px] h-[24px] rounded-full flex items-center justify-center bg-[#545454] text-white text-[8px] leading-none absolute right-[-7px] top-[2px] z-999 border-2 border-white", children: displayCount }),
|
|
17267
17290
|
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
17268
17291
|
"div",
|
|
17269
17292
|
{
|
|
17270
17293
|
className: (0, import_clsx11.default)(
|
|
17271
|
-
"w-[44px] h-[44px] flex flex-none flex-col place-items-center place-content-center rounded-xl hover:bg-qtneutral-200 hover:border-2 hover:border-qtneutral-500"
|
|
17294
|
+
"w-[44px] h-[44px] flex flex-none flex-col place-items-center place-content-center rounded-xl hover:bg-qtneutral-200 hover:border-2 hover:border-qtneutral-500 p-[0]"
|
|
17272
17295
|
),
|
|
17273
17296
|
children: icon
|
|
17274
17297
|
}
|
|
@@ -17293,7 +17316,8 @@ function FilterBar({ buttons }) {
|
|
|
17293
17316
|
}
|
|
17294
17317
|
),
|
|
17295
17318
|
label: "Fires",
|
|
17296
|
-
onClick: buttons?.fires?.onClick
|
|
17319
|
+
onClick: buttons?.fires?.onClick,
|
|
17320
|
+
totalItems: buttons?.fires?.count
|
|
17297
17321
|
}
|
|
17298
17322
|
),
|
|
17299
17323
|
!buttons?.insights?.disabled && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
@@ -17306,7 +17330,8 @@ function FilterBar({ buttons }) {
|
|
|
17306
17330
|
}
|
|
17307
17331
|
),
|
|
17308
17332
|
label: "Q Insights",
|
|
17309
|
-
onClick: buttons?.insights?.onClick
|
|
17333
|
+
onClick: buttons?.insights?.onClick,
|
|
17334
|
+
totalItems: buttons?.insights?.count
|
|
17310
17335
|
}
|
|
17311
17336
|
),
|
|
17312
17337
|
!buttons?.unread?.disabled && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
@@ -17320,7 +17345,8 @@ function FilterBar({ buttons }) {
|
|
|
17320
17345
|
}
|
|
17321
17346
|
),
|
|
17322
17347
|
label: "Unread",
|
|
17323
|
-
onClick: buttons?.unread?.onClick
|
|
17348
|
+
onClick: buttons?.unread?.onClick,
|
|
17349
|
+
totalItems: buttons?.unread?.count
|
|
17324
17350
|
}
|
|
17325
17351
|
),
|
|
17326
17352
|
!buttons?.done?.disabled && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
@@ -17335,11 +17361,12 @@ function FilterBar({ buttons }) {
|
|
|
17335
17361
|
}
|
|
17336
17362
|
),
|
|
17337
17363
|
label: "Done",
|
|
17338
|
-
onClick: buttons?.done?.onClick
|
|
17364
|
+
onClick: buttons?.done?.onClick,
|
|
17365
|
+
totalItems: buttons?.done?.count
|
|
17339
17366
|
}
|
|
17340
17367
|
),
|
|
17341
17368
|
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("hr", { className: "w-full border-0.5 text-qtneutral-700" }),
|
|
17342
|
-
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex-1 min-h-0 w-full overflow-y-auto flex flex-col gap-4 overscroll-contain
|
|
17369
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex-1 min-h-0 w-full overflow-y-auto flex flex-col gap-4 overscroll-contain items-center min-w-[58px]", children: [
|
|
17343
17370
|
!buttons?.slack?.disabled && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
17344
17371
|
FilterNavButton,
|
|
17345
17372
|
{
|
|
@@ -17434,6 +17461,238 @@ function FilterBar({ buttons }) {
|
|
|
17434
17461
|
] });
|
|
17435
17462
|
}
|
|
17436
17463
|
|
|
17464
|
+
// src/components/molecules/modal/modal.tsx
|
|
17465
|
+
var import_react6 = require("react");
|
|
17466
|
+
var import_react_dom = require("react-dom");
|
|
17467
|
+
var import_clsx12 = __toESM(require("clsx"));
|
|
17468
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
17469
|
+
function Modal({
|
|
17470
|
+
isOpen,
|
|
17471
|
+
onClose,
|
|
17472
|
+
children,
|
|
17473
|
+
className,
|
|
17474
|
+
disableBackdropClick = false,
|
|
17475
|
+
disableEscapeKey = false
|
|
17476
|
+
}) {
|
|
17477
|
+
const modalRef = (0, import_react6.useRef)(null);
|
|
17478
|
+
const previousActiveElement = (0, import_react6.useRef)(null);
|
|
17479
|
+
(0, import_react6.useEffect)(() => {
|
|
17480
|
+
if (!isOpen || disableEscapeKey) return;
|
|
17481
|
+
const handleKeyDown = (e) => {
|
|
17482
|
+
if (e.key === "Escape") onClose();
|
|
17483
|
+
};
|
|
17484
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
17485
|
+
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
17486
|
+
}, [isOpen, onClose, disableEscapeKey]);
|
|
17487
|
+
(0, import_react6.useEffect)(() => {
|
|
17488
|
+
if (!isOpen) return;
|
|
17489
|
+
const originalOverflow = document.body.style.overflow;
|
|
17490
|
+
document.body.style.overflow = "hidden";
|
|
17491
|
+
previousActiveElement.current = document.activeElement;
|
|
17492
|
+
setTimeout(() => {
|
|
17493
|
+
const focusable = modalRef.current?.querySelectorAll(
|
|
17494
|
+
'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
|
|
17495
|
+
);
|
|
17496
|
+
if (focusable && focusable.length > 0) {
|
|
17497
|
+
focusable[0].focus();
|
|
17498
|
+
}
|
|
17499
|
+
}, 0);
|
|
17500
|
+
return () => {
|
|
17501
|
+
document.body.style.overflow = originalOverflow;
|
|
17502
|
+
previousActiveElement.current?.focus();
|
|
17503
|
+
};
|
|
17504
|
+
}, [isOpen]);
|
|
17505
|
+
if (!isOpen) return null;
|
|
17506
|
+
const handleBackdropClick = () => {
|
|
17507
|
+
if (!disableBackdropClick) onClose();
|
|
17508
|
+
};
|
|
17509
|
+
return (0, import_react_dom.createPortal)(
|
|
17510
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
17511
|
+
"div",
|
|
17512
|
+
{
|
|
17513
|
+
className: "fixed inset-0 z-50 flex items-center justify-center bg-qtneutral-900/50 animate-fade-in",
|
|
17514
|
+
onClick: handleBackdropClick,
|
|
17515
|
+
"aria-modal": "true",
|
|
17516
|
+
role: "dialog",
|
|
17517
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
17518
|
+
"div",
|
|
17519
|
+
{
|
|
17520
|
+
ref: modalRef,
|
|
17521
|
+
className: (0, import_clsx12.default)(
|
|
17522
|
+
"bg-white rounded-2xl p-6 max-w-[480px] w-full mx-4 modal-shadow animate-modal-scale",
|
|
17523
|
+
className
|
|
17524
|
+
),
|
|
17525
|
+
onClick: (e) => e.stopPropagation(),
|
|
17526
|
+
role: "document",
|
|
17527
|
+
children
|
|
17528
|
+
}
|
|
17529
|
+
)
|
|
17530
|
+
}
|
|
17531
|
+
),
|
|
17532
|
+
document.body
|
|
17533
|
+
);
|
|
17534
|
+
}
|
|
17535
|
+
|
|
17536
|
+
// src/components/molecules/modal/confirmation_modal.tsx
|
|
17537
|
+
var import_clsx13 = __toESM(require("clsx"));
|
|
17538
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
17539
|
+
var variantStyles = {
|
|
17540
|
+
danger: {
|
|
17541
|
+
confirm: "bg-qtred-500 text-white hover:bg-qtred-400",
|
|
17542
|
+
cancel: "bg-white text-qtpurple-500 border-2 border-qtpurple-500 hover:bg-qtpurple-200"
|
|
17543
|
+
},
|
|
17544
|
+
primary: {
|
|
17545
|
+
confirm: "bg-qtpurple-500 text-white hover:bg-qtpurple-600",
|
|
17546
|
+
cancel: "bg-white text-qtpurple-500 border-2 border-qtpurple-500 hover:bg-qtpurple-200"
|
|
17547
|
+
},
|
|
17548
|
+
warning: {
|
|
17549
|
+
confirm: "bg-qtorange-400 text-qtneutral-900 hover:bg-qtorange-300",
|
|
17550
|
+
cancel: "bg-white text-qtpurple-500 border-2 border-qtpurple-500 hover:bg-qtpurple-200"
|
|
17551
|
+
}
|
|
17552
|
+
};
|
|
17553
|
+
function ConfirmationModal({
|
|
17554
|
+
isOpen,
|
|
17555
|
+
onClose,
|
|
17556
|
+
onConfirm,
|
|
17557
|
+
title,
|
|
17558
|
+
message: message2,
|
|
17559
|
+
confirmLabel = "Confirm",
|
|
17560
|
+
cancelLabel = "Cancel",
|
|
17561
|
+
variant = "primary",
|
|
17562
|
+
children
|
|
17563
|
+
}) {
|
|
17564
|
+
const buttonBase = "px-4 py-2.5 rounded-lg label-1-bold transition-colors";
|
|
17565
|
+
const styles = variantStyles[variant];
|
|
17566
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Modal, { isOpen, onClose, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex flex-col gap-6", children: [
|
|
17567
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("h2", { className: "label-1-bold text-qtneutral-900", children: title }),
|
|
17568
|
+
message2 && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "body-small text-qtneutral-800 whitespace-pre-line", children: typeof message2 === "string" ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { children: message2 }) : message2 }),
|
|
17569
|
+
children,
|
|
17570
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex gap-4 justify-end", children: [
|
|
17571
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
17572
|
+
"button",
|
|
17573
|
+
{
|
|
17574
|
+
onClick: onConfirm,
|
|
17575
|
+
className: (0, import_clsx13.default)(buttonBase, styles.confirm),
|
|
17576
|
+
children: confirmLabel
|
|
17577
|
+
}
|
|
17578
|
+
),
|
|
17579
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
17580
|
+
"button",
|
|
17581
|
+
{
|
|
17582
|
+
onClick: onClose,
|
|
17583
|
+
className: (0, import_clsx13.default)(buttonBase, styles.cancel, "px-8"),
|
|
17584
|
+
children: cancelLabel
|
|
17585
|
+
}
|
|
17586
|
+
)
|
|
17587
|
+
] })
|
|
17588
|
+
] }) });
|
|
17589
|
+
}
|
|
17590
|
+
|
|
17591
|
+
// src/components/organisms/account/info/account_info_field.tsx
|
|
17592
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
17593
|
+
function AccountInfoField({
|
|
17594
|
+
label,
|
|
17595
|
+
value,
|
|
17596
|
+
className = ""
|
|
17597
|
+
}) {
|
|
17598
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: `flex-1 flex flex-col flex-wrap gap-2 ${className}`, children: [
|
|
17599
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("label", { className: "body-bold text-qtneutral-900", children: label }),
|
|
17600
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { className: "body text-qtneutral-900", children: value || "-" })
|
|
17601
|
+
] });
|
|
17602
|
+
}
|
|
17603
|
+
|
|
17604
|
+
// src/components/organisms/account/info/account_info_section.tsx
|
|
17605
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
17606
|
+
function AccountInfoSection({
|
|
17607
|
+
title,
|
|
17608
|
+
children
|
|
17609
|
+
}) {
|
|
17610
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex flex-col flex-wrap gap-4 pt-6 pb-6", children: [
|
|
17611
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "body-bold text-qtneutral-900", children: title }),
|
|
17612
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "user-data-row", children })
|
|
17613
|
+
] });
|
|
17614
|
+
}
|
|
17615
|
+
|
|
17616
|
+
// src/components/organisms/account/integrations/account_integration_card.tsx
|
|
17617
|
+
var import_react7 = __toESM(require("react"));
|
|
17618
|
+
var import_clsx14 = __toESM(require("clsx"));
|
|
17619
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
17620
|
+
var AccountIntegrationCard = import_react7.default.memo(function AccountIntegrationCard2({
|
|
17621
|
+
integrationName,
|
|
17622
|
+
children,
|
|
17623
|
+
onConnect,
|
|
17624
|
+
disabled,
|
|
17625
|
+
ready,
|
|
17626
|
+
icon,
|
|
17627
|
+
limit
|
|
17628
|
+
}) {
|
|
17629
|
+
const count = Array.isArray(children) ? children.length : children ? 1 : 0;
|
|
17630
|
+
const isLimitReached = count >= limit;
|
|
17631
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "card-your-apps flex flex-col items-center gap-4 rounded-lg border-2 border-qtneutral-400 bg-white p-4", children: [
|
|
17632
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex w-full items-center justify-between", children: [
|
|
17633
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex items-center gap-3", children: [
|
|
17634
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
17635
|
+
"div",
|
|
17636
|
+
{
|
|
17637
|
+
className: (0, import_clsx14.default)(
|
|
17638
|
+
"w-[44px] h-[44px] flex items-center justify-center transition-opacity border-none bg-transparent p-0",
|
|
17639
|
+
!ready && "opacity-50 cursor-not-allowed",
|
|
17640
|
+
disabled && "grayscale border-2 border-green-700 bg-green-100"
|
|
17641
|
+
),
|
|
17642
|
+
"aria-label": `Integrate with ${integrationName}`,
|
|
17643
|
+
children: icon
|
|
17644
|
+
}
|
|
17645
|
+
),
|
|
17646
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex flex-col gap-1.5", children: [
|
|
17647
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "text-sm font-bold", children: integrationName }),
|
|
17648
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "body-small text-qtneutral-800", children: count > 0 ? `${count} of ${limit} connected` : "No accounts connected" })
|
|
17649
|
+
] })
|
|
17650
|
+
] }),
|
|
17651
|
+
!isLimitReached && ready && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
17652
|
+
"button",
|
|
17653
|
+
{
|
|
17654
|
+
onClick: onConnect,
|
|
17655
|
+
disabled: disabled || !ready,
|
|
17656
|
+
className: (0, import_clsx14.default)(
|
|
17657
|
+
"label-1-bold text-qtpurple-600 bg-transparent border-none p-0 cursor-pointer hover:text-qtpurple-500",
|
|
17658
|
+
(disabled || !ready) && "opacity-50 cursor-not-allowed pointer-events-none"
|
|
17659
|
+
),
|
|
17660
|
+
children: count > 0 ? `+ Connect Another` : `+ Connect`
|
|
17661
|
+
}
|
|
17662
|
+
)
|
|
17663
|
+
] }),
|
|
17664
|
+
count > 0 && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "flex w-full flex-col gap-2.5", children })
|
|
17665
|
+
] });
|
|
17666
|
+
});
|
|
17667
|
+
var account_integration_card_default = AccountIntegrationCard;
|
|
17668
|
+
|
|
17669
|
+
// src/components/organisms/account/integrations/account_integration_card_item.tsx
|
|
17670
|
+
var import_react8 = __toESM(require("react"));
|
|
17671
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
17672
|
+
var AccountIntegrationCardItem = import_react8.default.memo(
|
|
17673
|
+
function AccountIntegrationCardItem2({
|
|
17674
|
+
name,
|
|
17675
|
+
onDisconnect
|
|
17676
|
+
}) {
|
|
17677
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex flex-row flex-nowrap justify-between items-center bg-qtneutral-100 p-4 border border-qtpurple-500 rounded-lg", children: [
|
|
17678
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "label-1-bold text-qtneutral-900", children: name }),
|
|
17679
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
17680
|
+
"button",
|
|
17681
|
+
{
|
|
17682
|
+
type: "button",
|
|
17683
|
+
className: "label-2 text-qtred-500 underline bg-transparent border-none p-0 cursor-pointer hover:text-qtred-400",
|
|
17684
|
+
onClick: (e) => {
|
|
17685
|
+
e.stopPropagation();
|
|
17686
|
+
onDisconnect();
|
|
17687
|
+
},
|
|
17688
|
+
children: "Disconnect"
|
|
17689
|
+
}
|
|
17690
|
+
)
|
|
17691
|
+
] });
|
|
17692
|
+
}
|
|
17693
|
+
);
|
|
17694
|
+
var account_integration_card_item_default = AccountIntegrationCardItem;
|
|
17695
|
+
|
|
17437
17696
|
// src/types/events.ts
|
|
17438
17697
|
var EventState = /* @__PURE__ */ ((EventState2) => {
|
|
17439
17698
|
EventState2["NEW"] = "new";
|
|
@@ -17544,16 +17803,22 @@ This is a *markdown* **example**.
|
|
|
17544
17803
|
];
|
|
17545
17804
|
// Annotate the CommonJS export names for ESM import in node:
|
|
17546
17805
|
0 && (module.exports = {
|
|
17806
|
+
AccountInfoField,
|
|
17807
|
+
AccountInfoSection,
|
|
17808
|
+
AccountIntegrationCard,
|
|
17809
|
+
AccountIntegrationCardItem,
|
|
17547
17810
|
BaseIconName,
|
|
17548
17811
|
BrandIcon,
|
|
17549
17812
|
ChatBody,
|
|
17550
17813
|
ColorVariants,
|
|
17814
|
+
ConfirmationModal,
|
|
17551
17815
|
EmailBody,
|
|
17552
17816
|
EventCard,
|
|
17553
17817
|
EventState,
|
|
17554
17818
|
EventType,
|
|
17555
17819
|
FilterBar,
|
|
17556
17820
|
IntegrationService,
|
|
17821
|
+
Modal,
|
|
17557
17822
|
NavBar,
|
|
17558
17823
|
PreviewCard,
|
|
17559
17824
|
SearchBar,
|