qt-ui-kit 1.0.113 → 1.0.115
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 +85 -21
- package/dist/index.d.ts +85 -21
- package/dist/index.js +358 -143
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +350 -143
- package/dist/index.mjs.map +1 -1
- package/dist/style.css +221 -0
- package/package.json +2 -1
package/dist/index.mjs
CHANGED
|
@@ -11172,17 +11172,28 @@ var require_lib7 = __commonJS({
|
|
|
11172
11172
|
import { useState as useState2 } from "react";
|
|
11173
11173
|
|
|
11174
11174
|
// src/types/global.ts
|
|
11175
|
-
var
|
|
11176
|
-
|
|
11177
|
-
|
|
11178
|
-
|
|
11179
|
-
|
|
11180
|
-
|
|
11181
|
-
|
|
11182
|
-
|
|
11183
|
-
|
|
11184
|
-
|
|
11185
|
-
|
|
11175
|
+
var FilterCategory = /* @__PURE__ */ ((FilterCategory2) => {
|
|
11176
|
+
FilterCategory2["FIRES"] = "fires";
|
|
11177
|
+
FilterCategory2["INSIGHTS"] = "insights";
|
|
11178
|
+
FilterCategory2["NEW"] = "new";
|
|
11179
|
+
FilterCategory2["DONE"] = "done";
|
|
11180
|
+
return FilterCategory2;
|
|
11181
|
+
})(FilterCategory || {});
|
|
11182
|
+
var MoreFilter = /* @__PURE__ */ ((MoreFilter3) => {
|
|
11183
|
+
MoreFilter3["MORE"] = "more";
|
|
11184
|
+
return MoreFilter3;
|
|
11185
|
+
})(MoreFilter || {});
|
|
11186
|
+
var IntegrationService = /* @__PURE__ */ ((IntegrationService4) => {
|
|
11187
|
+
IntegrationService4["SLACK"] = "slack";
|
|
11188
|
+
IntegrationService4["GMAIL"] = "google_mail";
|
|
11189
|
+
IntegrationService4["GCAL"] = "google_calendar";
|
|
11190
|
+
IntegrationService4["MSTEAMS"] = "microsoft_teams";
|
|
11191
|
+
IntegrationService4["MSMAIL"] = "microsoft_mail";
|
|
11192
|
+
IntegrationService4["MSCAL"] = "microsoft_calendar";
|
|
11193
|
+
IntegrationService4["AJIRA"] = "atlassian_jira";
|
|
11194
|
+
IntegrationService4["CLKUP"] = "clickup";
|
|
11195
|
+
IntegrationService4["ASANA"] = "asana";
|
|
11196
|
+
return IntegrationService4;
|
|
11186
11197
|
})(IntegrationService || {});
|
|
11187
11198
|
var BaseIconName = /* @__PURE__ */ ((BaseIconName2) => {
|
|
11188
11199
|
BaseIconName2["SEARCH"] = "search";
|
|
@@ -17277,162 +17288,350 @@ function FilterNavButton({ icon, label, active, onClick, totalItems }) {
|
|
|
17277
17288
|
|
|
17278
17289
|
// src/components/organisms/filter_bar/filter_bar.tsx
|
|
17279
17290
|
import { jsx as jsx45, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
17291
|
+
var CATEGORY_FILTERS = [
|
|
17292
|
+
{
|
|
17293
|
+
filter: "fires" /* FIRES */,
|
|
17294
|
+
label: "Fires",
|
|
17295
|
+
icon: (active) => /* @__PURE__ */ jsx45(FireIcon, { variant: active ? void 0 : "none" /* OUTLINED */ })
|
|
17296
|
+
},
|
|
17297
|
+
{
|
|
17298
|
+
filter: "insights" /* INSIGHTS */,
|
|
17299
|
+
label: "Q Insights",
|
|
17300
|
+
icon: (active) => /* @__PURE__ */ jsx45(InsightsIcon, { variant: active ? void 0 : "none" /* OUTLINED */ })
|
|
17301
|
+
},
|
|
17302
|
+
{
|
|
17303
|
+
filter: "new" /* NEW */,
|
|
17304
|
+
label: "Unread",
|
|
17305
|
+
icon: (active) => /* @__PURE__ */ jsx45(Mail, { size: 36, fillColor: active ? "#BFF4F6" : void 0 })
|
|
17306
|
+
},
|
|
17307
|
+
{
|
|
17308
|
+
filter: "done" /* DONE */,
|
|
17309
|
+
label: "Done",
|
|
17310
|
+
icon: (active) => /* @__PURE__ */ jsx45(
|
|
17311
|
+
CheckBox,
|
|
17312
|
+
{
|
|
17313
|
+
size: 36,
|
|
17314
|
+
color: "#000000",
|
|
17315
|
+
fillColor: active ? "#E8FE99" : void 0
|
|
17316
|
+
}
|
|
17317
|
+
)
|
|
17318
|
+
}
|
|
17319
|
+
];
|
|
17320
|
+
var INTEGRATION_FILTERS = [
|
|
17321
|
+
{ services: ["slack" /* SLACK */], label: "Slack", icon: /* @__PURE__ */ jsx45(SlackIcon, {}) },
|
|
17322
|
+
{
|
|
17323
|
+
services: ["google_mail" /* GMAIL */],
|
|
17324
|
+
label: "Gmail",
|
|
17325
|
+
icon: /* @__PURE__ */ jsx45(GoogleMailIcon, {})
|
|
17326
|
+
},
|
|
17327
|
+
{
|
|
17328
|
+
services: ["google_calendar" /* GCAL */],
|
|
17329
|
+
label: "Gcal",
|
|
17330
|
+
icon: /* @__PURE__ */ jsx45(GoogleCalendarIcon, {})
|
|
17331
|
+
},
|
|
17332
|
+
{
|
|
17333
|
+
services: ["atlassian_jira" /* AJIRA */],
|
|
17334
|
+
label: "Jira",
|
|
17335
|
+
icon: /* @__PURE__ */ jsx45(AtlassianIcon, {})
|
|
17336
|
+
},
|
|
17337
|
+
{
|
|
17338
|
+
services: ["microsoft_teams" /* MSTEAMS */],
|
|
17339
|
+
label: "Teams",
|
|
17340
|
+
icon: /* @__PURE__ */ jsx45(MicrosoftTeamsIcon, {})
|
|
17341
|
+
},
|
|
17342
|
+
{
|
|
17343
|
+
services: ["microsoft_mail" /* MSMAIL */, "microsoft_calendar" /* MSCAL */],
|
|
17344
|
+
label: "Outlook",
|
|
17345
|
+
icon: /* @__PURE__ */ jsx45(MicrosoftOutlookMailIcon, {})
|
|
17346
|
+
},
|
|
17347
|
+
{
|
|
17348
|
+
services: ["clickup" /* CLKUP */],
|
|
17349
|
+
label: "ClickUp",
|
|
17350
|
+
icon: /* @__PURE__ */ jsx45(ClickupIcon, {})
|
|
17351
|
+
},
|
|
17352
|
+
{ services: ["asana" /* ASANA */], label: "Asana", icon: /* @__PURE__ */ jsx45(AsanaIcon, {}) }
|
|
17353
|
+
];
|
|
17280
17354
|
function FilterBar({ buttons }) {
|
|
17281
|
-
|
|
17282
|
-
|
|
17355
|
+
const renderCategoryButton = ({ filter, label, icon }) => {
|
|
17356
|
+
const config = buttons?.[filter];
|
|
17357
|
+
if (config?.disabled) return null;
|
|
17358
|
+
return /* @__PURE__ */ jsx45(
|
|
17283
17359
|
FilterNavButton,
|
|
17284
17360
|
{
|
|
17285
|
-
icon:
|
|
17286
|
-
|
|
17287
|
-
|
|
17288
|
-
|
|
17289
|
-
|
|
17290
|
-
|
|
17291
|
-
|
|
17292
|
-
|
|
17293
|
-
|
|
17294
|
-
|
|
17295
|
-
|
|
17296
|
-
|
|
17361
|
+
icon: icon(config?.active),
|
|
17362
|
+
label,
|
|
17363
|
+
onClick: config?.onClick,
|
|
17364
|
+
totalItems: config?.count
|
|
17365
|
+
},
|
|
17366
|
+
filter
|
|
17367
|
+
);
|
|
17368
|
+
};
|
|
17369
|
+
const renderIntegrationButton = ({
|
|
17370
|
+
services,
|
|
17371
|
+
label,
|
|
17372
|
+
icon
|
|
17373
|
+
}) => {
|
|
17374
|
+
const configs = services.map((service) => buttons?.[service]);
|
|
17375
|
+
const allDisabled = configs.every((c) => c?.disabled);
|
|
17376
|
+
if (allDisabled) return null;
|
|
17377
|
+
const anyActive = configs.some((c) => c?.active);
|
|
17378
|
+
const onClick = configs.find((c) => c?.onClick)?.onClick;
|
|
17379
|
+
return /* @__PURE__ */ jsx45(
|
|
17297
17380
|
FilterNavButton,
|
|
17298
17381
|
{
|
|
17299
|
-
icon: /* @__PURE__ */ jsx45(
|
|
17300
|
-
|
|
17301
|
-
|
|
17302
|
-
|
|
17303
|
-
|
|
17304
|
-
|
|
17305
|
-
|
|
17306
|
-
|
|
17307
|
-
|
|
17308
|
-
|
|
17309
|
-
),
|
|
17310
|
-
|
|
17382
|
+
icon: /* @__PURE__ */ jsx45("div", { className: anyActive ? "" : "grayscale", children: icon }),
|
|
17383
|
+
label,
|
|
17384
|
+
onClick
|
|
17385
|
+
},
|
|
17386
|
+
services.join("-")
|
|
17387
|
+
);
|
|
17388
|
+
};
|
|
17389
|
+
return /* @__PURE__ */ jsxs32("div", { className: "flex h-full w-[54px] min-h-0 flex-col items-center gap-4", children: [
|
|
17390
|
+
CATEGORY_FILTERS.map(renderCategoryButton),
|
|
17391
|
+
/* @__PURE__ */ jsx45("hr", { className: "w-full border-0.5 text-qtneutral-700" }),
|
|
17392
|
+
/* @__PURE__ */ jsx45("div", { className: "flex-1 w-full min-h-0 min-w-[58px] overflow-y-auto flex flex-col items-center gap-4 overscroll-contain", children: INTEGRATION_FILTERS.map(renderIntegrationButton) }),
|
|
17393
|
+
/* @__PURE__ */ jsx45("hr", { className: "w-full border-0.5 text-qtneutral-700" }),
|
|
17394
|
+
/* @__PURE__ */ jsx45(
|
|
17311
17395
|
FilterNavButton,
|
|
17312
17396
|
{
|
|
17313
|
-
icon: /* @__PURE__ */ jsx45(
|
|
17314
|
-
|
|
17315
|
-
{
|
|
17316
|
-
size: 36,
|
|
17317
|
-
fillColor: buttons?.unread?.active ? "#BFF4F6" : void 0
|
|
17318
|
-
}
|
|
17319
|
-
),
|
|
17320
|
-
label: "Unread",
|
|
17321
|
-
onClick: buttons?.unread?.onClick,
|
|
17322
|
-
totalItems: buttons?.unread?.count
|
|
17397
|
+
icon: /* @__PURE__ */ jsx45(PlusLarge, { size: 36 }),
|
|
17398
|
+
onClick: buttons?.more?.onClick
|
|
17323
17399
|
}
|
|
17324
|
-
)
|
|
17325
|
-
|
|
17326
|
-
|
|
17400
|
+
)
|
|
17401
|
+
] });
|
|
17402
|
+
}
|
|
17403
|
+
|
|
17404
|
+
// src/components/molecules/modal/modal.tsx
|
|
17405
|
+
import { useEffect as useEffect4, useRef as useRef2 } from "react";
|
|
17406
|
+
import { createPortal } from "react-dom";
|
|
17407
|
+
import clsx12 from "clsx";
|
|
17408
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
17409
|
+
function Modal({
|
|
17410
|
+
isOpen,
|
|
17411
|
+
onClose,
|
|
17412
|
+
children,
|
|
17413
|
+
className,
|
|
17414
|
+
disableBackdropClick = false,
|
|
17415
|
+
disableEscapeKey = false
|
|
17416
|
+
}) {
|
|
17417
|
+
const modalRef = useRef2(null);
|
|
17418
|
+
const previousActiveElement = useRef2(null);
|
|
17419
|
+
useEffect4(() => {
|
|
17420
|
+
if (!isOpen || disableEscapeKey) return;
|
|
17421
|
+
const handleKeyDown = (e) => {
|
|
17422
|
+
if (e.key === "Escape") onClose();
|
|
17423
|
+
};
|
|
17424
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
17425
|
+
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
17426
|
+
}, [isOpen, onClose, disableEscapeKey]);
|
|
17427
|
+
useEffect4(() => {
|
|
17428
|
+
if (!isOpen) return;
|
|
17429
|
+
const originalOverflow = document.body.style.overflow;
|
|
17430
|
+
document.body.style.overflow = "hidden";
|
|
17431
|
+
previousActiveElement.current = document.activeElement;
|
|
17432
|
+
setTimeout(() => {
|
|
17433
|
+
const focusable = modalRef.current?.querySelectorAll(
|
|
17434
|
+
'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
|
|
17435
|
+
);
|
|
17436
|
+
if (focusable && focusable.length > 0) {
|
|
17437
|
+
focusable[0].focus();
|
|
17438
|
+
}
|
|
17439
|
+
}, 0);
|
|
17440
|
+
return () => {
|
|
17441
|
+
document.body.style.overflow = originalOverflow;
|
|
17442
|
+
previousActiveElement.current?.focus();
|
|
17443
|
+
};
|
|
17444
|
+
}, [isOpen]);
|
|
17445
|
+
if (!isOpen) return null;
|
|
17446
|
+
const handleBackdropClick = () => {
|
|
17447
|
+
if (!disableBackdropClick) onClose();
|
|
17448
|
+
};
|
|
17449
|
+
return createPortal(
|
|
17450
|
+
/* @__PURE__ */ jsx46(
|
|
17451
|
+
"div",
|
|
17327
17452
|
{
|
|
17328
|
-
|
|
17329
|
-
|
|
17453
|
+
className: "fixed inset-0 z-50 flex items-center justify-center bg-qtneutral-900/50 animate-fade-in",
|
|
17454
|
+
onClick: handleBackdropClick,
|
|
17455
|
+
"aria-modal": "true",
|
|
17456
|
+
role: "dialog",
|
|
17457
|
+
children: /* @__PURE__ */ jsx46(
|
|
17458
|
+
"div",
|
|
17330
17459
|
{
|
|
17331
|
-
|
|
17332
|
-
|
|
17333
|
-
|
|
17460
|
+
ref: modalRef,
|
|
17461
|
+
className: clsx12(
|
|
17462
|
+
"bg-white rounded-2xl p-6 max-w-[480px] w-full mx-4 modal-shadow animate-modal-scale",
|
|
17463
|
+
className
|
|
17464
|
+
),
|
|
17465
|
+
onClick: (e) => e.stopPropagation(),
|
|
17466
|
+
role: "document",
|
|
17467
|
+
children
|
|
17334
17468
|
}
|
|
17335
|
-
)
|
|
17336
|
-
label: "Done",
|
|
17337
|
-
onClick: buttons?.done?.onClick,
|
|
17338
|
-
totalItems: buttons?.done?.count
|
|
17469
|
+
)
|
|
17339
17470
|
}
|
|
17340
17471
|
),
|
|
17341
|
-
|
|
17342
|
-
|
|
17343
|
-
|
|
17344
|
-
|
|
17345
|
-
|
|
17346
|
-
|
|
17347
|
-
|
|
17348
|
-
|
|
17349
|
-
|
|
17350
|
-
|
|
17351
|
-
|
|
17352
|
-
|
|
17353
|
-
|
|
17354
|
-
|
|
17355
|
-
|
|
17356
|
-
|
|
17357
|
-
|
|
17358
|
-
|
|
17359
|
-
|
|
17360
|
-
|
|
17472
|
+
document.body
|
|
17473
|
+
);
|
|
17474
|
+
}
|
|
17475
|
+
|
|
17476
|
+
// src/components/molecules/modal/confirmation_modal.tsx
|
|
17477
|
+
import clsx13 from "clsx";
|
|
17478
|
+
import { jsx as jsx47, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
17479
|
+
var variantStyles = {
|
|
17480
|
+
danger: {
|
|
17481
|
+
confirm: "bg-qtred-500 text-white hover:bg-qtred-400",
|
|
17482
|
+
cancel: "bg-white text-qtpurple-500 border-2 border-qtpurple-500 hover:bg-qtpurple-200"
|
|
17483
|
+
},
|
|
17484
|
+
primary: {
|
|
17485
|
+
confirm: "bg-qtpurple-500 text-white hover:bg-qtpurple-600",
|
|
17486
|
+
cancel: "bg-white text-qtpurple-500 border-2 border-qtpurple-500 hover:bg-qtpurple-200"
|
|
17487
|
+
},
|
|
17488
|
+
warning: {
|
|
17489
|
+
confirm: "bg-qtorange-400 text-qtneutral-900 hover:bg-qtorange-300",
|
|
17490
|
+
cancel: "bg-white text-qtpurple-500 border-2 border-qtpurple-500 hover:bg-qtpurple-200"
|
|
17491
|
+
}
|
|
17492
|
+
};
|
|
17493
|
+
function ConfirmationModal({
|
|
17494
|
+
isOpen,
|
|
17495
|
+
onClose,
|
|
17496
|
+
onConfirm,
|
|
17497
|
+
title,
|
|
17498
|
+
message: message2,
|
|
17499
|
+
confirmLabel = "Confirm",
|
|
17500
|
+
cancelLabel = "Cancel",
|
|
17501
|
+
variant = "primary",
|
|
17502
|
+
children
|
|
17503
|
+
}) {
|
|
17504
|
+
const buttonBase = "px-4 py-2.5 rounded-lg label-1-bold transition-colors";
|
|
17505
|
+
const styles = variantStyles[variant];
|
|
17506
|
+
return /* @__PURE__ */ jsx47(Modal, { isOpen, onClose, children: /* @__PURE__ */ jsxs33("div", { className: "flex flex-col gap-6", children: [
|
|
17507
|
+
/* @__PURE__ */ jsx47("h2", { className: "label-1-bold text-qtneutral-900", children: title }),
|
|
17508
|
+
message2 && /* @__PURE__ */ jsx47("div", { className: "body-small text-qtneutral-800 whitespace-pre-line", children: typeof message2 === "string" ? /* @__PURE__ */ jsx47("p", { children: message2 }) : message2 }),
|
|
17509
|
+
children,
|
|
17510
|
+
/* @__PURE__ */ jsxs33("div", { className: "flex gap-4 justify-end", children: [
|
|
17511
|
+
/* @__PURE__ */ jsx47(
|
|
17512
|
+
"button",
|
|
17361
17513
|
{
|
|
17362
|
-
|
|
17363
|
-
|
|
17364
|
-
|
|
17365
|
-
className: buttons?.google_calendar?.active ? "" : "grayscale",
|
|
17366
|
-
children: /* @__PURE__ */ jsx45(GoogleCalendarIcon, {})
|
|
17367
|
-
}
|
|
17368
|
-
),
|
|
17369
|
-
label: "Gcal",
|
|
17370
|
-
onClick: buttons?.google_calendar?.onClick
|
|
17514
|
+
onClick: onConfirm,
|
|
17515
|
+
className: clsx13(buttonBase, styles.confirm),
|
|
17516
|
+
children: confirmLabel
|
|
17371
17517
|
}
|
|
17372
17518
|
),
|
|
17373
|
-
|
|
17374
|
-
|
|
17519
|
+
/* @__PURE__ */ jsx47(
|
|
17520
|
+
"button",
|
|
17375
17521
|
{
|
|
17376
|
-
|
|
17377
|
-
|
|
17378
|
-
|
|
17379
|
-
className: buttons?.atlassian_jira?.active ? "" : "grayscale",
|
|
17380
|
-
children: /* @__PURE__ */ jsx45(AtlassianIcon, {})
|
|
17381
|
-
}
|
|
17382
|
-
),
|
|
17383
|
-
label: "Jira",
|
|
17384
|
-
onClick: buttons?.atlassian_jira?.onClick
|
|
17522
|
+
onClick: onClose,
|
|
17523
|
+
className: clsx13(buttonBase, styles.cancel, "px-8"),
|
|
17524
|
+
children: cancelLabel
|
|
17385
17525
|
}
|
|
17386
|
-
)
|
|
17387
|
-
|
|
17388
|
-
|
|
17389
|
-
|
|
17390
|
-
|
|
17391
|
-
|
|
17392
|
-
|
|
17393
|
-
|
|
17394
|
-
|
|
17395
|
-
|
|
17396
|
-
|
|
17397
|
-
|
|
17398
|
-
|
|
17399
|
-
|
|
17400
|
-
|
|
17401
|
-
|
|
17402
|
-
|
|
17526
|
+
)
|
|
17527
|
+
] })
|
|
17528
|
+
] }) });
|
|
17529
|
+
}
|
|
17530
|
+
|
|
17531
|
+
// src/components/organisms/account/info/account_info_field.tsx
|
|
17532
|
+
import { jsx as jsx48, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
17533
|
+
function AccountInfoField({
|
|
17534
|
+
label,
|
|
17535
|
+
value,
|
|
17536
|
+
className = ""
|
|
17537
|
+
}) {
|
|
17538
|
+
return /* @__PURE__ */ jsxs34("div", { className: `flex-1 flex flex-col flex-wrap gap-2 ${className}`, children: [
|
|
17539
|
+
/* @__PURE__ */ jsx48("label", { className: "body-bold text-qtneutral-900", children: label }),
|
|
17540
|
+
/* @__PURE__ */ jsx48("p", { className: "body text-qtneutral-900", children: value || "-" })
|
|
17541
|
+
] });
|
|
17542
|
+
}
|
|
17543
|
+
|
|
17544
|
+
// src/components/organisms/account/info/account_info_section.tsx
|
|
17545
|
+
import { jsx as jsx49, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
17546
|
+
function AccountInfoSection({
|
|
17547
|
+
title,
|
|
17548
|
+
children
|
|
17549
|
+
}) {
|
|
17550
|
+
return /* @__PURE__ */ jsxs35("div", { className: "flex flex-col flex-wrap gap-4 pt-6 pb-6", children: [
|
|
17551
|
+
title && /* @__PURE__ */ jsx49("div", { className: "body-bold text-qtneutral-900", children: title }),
|
|
17552
|
+
/* @__PURE__ */ jsx49("div", { className: "user-data-row", children })
|
|
17553
|
+
] });
|
|
17554
|
+
}
|
|
17555
|
+
|
|
17556
|
+
// src/components/organisms/account/integrations/account_integration_card.tsx
|
|
17557
|
+
import React2 from "react";
|
|
17558
|
+
import clsx14 from "clsx";
|
|
17559
|
+
import { jsx as jsx50, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
17560
|
+
var AccountIntegrationCard = React2.memo(function AccountIntegrationCard2({
|
|
17561
|
+
integrationName,
|
|
17562
|
+
children,
|
|
17563
|
+
onConnect,
|
|
17564
|
+
disabled,
|
|
17565
|
+
ready,
|
|
17566
|
+
icon,
|
|
17567
|
+
limit
|
|
17568
|
+
}) {
|
|
17569
|
+
const count = Array.isArray(children) ? children.length : children ? 1 : 0;
|
|
17570
|
+
const isLimitReached = count >= limit;
|
|
17571
|
+
return /* @__PURE__ */ jsxs36("div", { className: "card-your-apps flex flex-col items-center gap-4 rounded-lg border-2 border-qtneutral-400 bg-white p-4", children: [
|
|
17572
|
+
/* @__PURE__ */ jsxs36("div", { className: "flex w-full items-center justify-between", children: [
|
|
17573
|
+
/* @__PURE__ */ jsxs36("div", { className: "flex items-center gap-3", children: [
|
|
17574
|
+
/* @__PURE__ */ jsx50(
|
|
17575
|
+
"div",
|
|
17576
|
+
{
|
|
17577
|
+
className: clsx14(
|
|
17578
|
+
"w-[44px] h-[44px] flex items-center justify-center transition-opacity border-none bg-transparent p-0",
|
|
17579
|
+
!ready && "opacity-50 cursor-not-allowed",
|
|
17580
|
+
disabled && "grayscale border-2 border-green-700 bg-green-100"
|
|
17581
|
+
),
|
|
17582
|
+
"aria-label": `Integrate with ${integrationName}`,
|
|
17583
|
+
children: icon
|
|
17584
|
+
}
|
|
17585
|
+
),
|
|
17586
|
+
/* @__PURE__ */ jsxs36("div", { className: "flex flex-col gap-1.5", children: [
|
|
17587
|
+
/* @__PURE__ */ jsx50("span", { className: "text-sm font-bold", children: integrationName }),
|
|
17588
|
+
/* @__PURE__ */ jsx50("span", { className: "body-small text-qtneutral-800", children: count > 0 ? `${count} of ${limit} connected` : "No accounts connected" })
|
|
17589
|
+
] })
|
|
17590
|
+
] }),
|
|
17591
|
+
!isLimitReached && ready && /* @__PURE__ */ jsx50(
|
|
17592
|
+
"button",
|
|
17403
17593
|
{
|
|
17404
|
-
|
|
17405
|
-
|
|
17406
|
-
|
|
17407
|
-
|
|
17408
|
-
|
|
17409
|
-
}
|
|
17594
|
+
onClick: onConnect,
|
|
17595
|
+
disabled: disabled || !ready,
|
|
17596
|
+
className: clsx14(
|
|
17597
|
+
"label-1-bold text-qtpurple-600 bg-transparent border-none p-0 cursor-pointer hover:text-qtpurple-500",
|
|
17598
|
+
(disabled || !ready) && "opacity-50 cursor-not-allowed pointer-events-none"
|
|
17410
17599
|
),
|
|
17411
|
-
|
|
17412
|
-
onClick: buttons?.microsoft_mail?.onClick || buttons?.microsoft_calendar?.onClick
|
|
17413
|
-
}
|
|
17414
|
-
),
|
|
17415
|
-
!buttons?.clickup?.disabled && /* @__PURE__ */ jsx45(
|
|
17416
|
-
FilterNavButton,
|
|
17417
|
-
{
|
|
17418
|
-
icon: /* @__PURE__ */ jsx45("div", { className: buttons?.clickup?.active ? "" : "grayscale", children: /* @__PURE__ */ jsx45(ClickupIcon, {}) }),
|
|
17419
|
-
label: "ClickUp",
|
|
17420
|
-
onClick: buttons?.clickup?.onClick
|
|
17421
|
-
}
|
|
17422
|
-
),
|
|
17423
|
-
!buttons?.asana?.disabled && /* @__PURE__ */ jsx45(
|
|
17424
|
-
FilterNavButton,
|
|
17425
|
-
{
|
|
17426
|
-
icon: /* @__PURE__ */ jsx45("div", { className: buttons?.asana?.active ? "" : "grayscale", children: /* @__PURE__ */ jsx45(AsanaIcon, {}) }),
|
|
17427
|
-
label: "Asana",
|
|
17428
|
-
onClick: buttons?.asana?.onClick
|
|
17600
|
+
children: count > 0 ? `+ Connect Another` : `+ Connect`
|
|
17429
17601
|
}
|
|
17430
17602
|
)
|
|
17431
17603
|
] }),
|
|
17432
|
-
/* @__PURE__ */
|
|
17433
|
-
/* @__PURE__ */ jsx45("div", { onClick: buttons?.more?.onClick, children: /* @__PURE__ */ jsx45(FilterNavButton, { icon: /* @__PURE__ */ jsx45(PlusLarge, { size: 36 }) }) })
|
|
17604
|
+
count > 0 && /* @__PURE__ */ jsx50("div", { className: "flex w-full flex-col gap-2.5", children })
|
|
17434
17605
|
] });
|
|
17435
|
-
}
|
|
17606
|
+
});
|
|
17607
|
+
var account_integration_card_default = AccountIntegrationCard;
|
|
17608
|
+
|
|
17609
|
+
// src/components/organisms/account/integrations/account_integration_card_item.tsx
|
|
17610
|
+
import React3 from "react";
|
|
17611
|
+
import { jsx as jsx51, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
17612
|
+
var AccountIntegrationCardItem = React3.memo(
|
|
17613
|
+
function AccountIntegrationCardItem2({
|
|
17614
|
+
name,
|
|
17615
|
+
onDisconnect
|
|
17616
|
+
}) {
|
|
17617
|
+
return /* @__PURE__ */ jsxs37("div", { className: "flex flex-row flex-nowrap justify-between items-center bg-qtneutral-100 p-4 border border-qtpurple-500 rounded-lg", children: [
|
|
17618
|
+
/* @__PURE__ */ jsx51("div", { className: "label-1-bold text-qtneutral-900", children: name }),
|
|
17619
|
+
/* @__PURE__ */ jsx51(
|
|
17620
|
+
"button",
|
|
17621
|
+
{
|
|
17622
|
+
type: "button",
|
|
17623
|
+
className: "label-2 text-qtred-500 underline bg-transparent border-none p-0 cursor-pointer hover:text-qtred-400",
|
|
17624
|
+
onClick: (e) => {
|
|
17625
|
+
e.stopPropagation();
|
|
17626
|
+
onDisconnect();
|
|
17627
|
+
},
|
|
17628
|
+
children: "Disconnect"
|
|
17629
|
+
}
|
|
17630
|
+
)
|
|
17631
|
+
] });
|
|
17632
|
+
}
|
|
17633
|
+
);
|
|
17634
|
+
var account_integration_card_item_default = AccountIntegrationCardItem;
|
|
17436
17635
|
|
|
17437
17636
|
// src/types/events.ts
|
|
17438
17637
|
var EventState = /* @__PURE__ */ ((EventState2) => {
|
|
@@ -17543,16 +17742,24 @@ This is a *markdown* **example**.
|
|
|
17543
17742
|
}
|
|
17544
17743
|
];
|
|
17545
17744
|
export {
|
|
17745
|
+
AccountInfoField,
|
|
17746
|
+
AccountInfoSection,
|
|
17747
|
+
account_integration_card_default as AccountIntegrationCard,
|
|
17748
|
+
account_integration_card_item_default as AccountIntegrationCardItem,
|
|
17546
17749
|
BaseIconName,
|
|
17547
17750
|
BrandIcon,
|
|
17548
17751
|
ChatBody,
|
|
17549
17752
|
ColorVariants,
|
|
17753
|
+
ConfirmationModal,
|
|
17550
17754
|
EmailBody,
|
|
17551
17755
|
EventCard,
|
|
17552
17756
|
EventState,
|
|
17553
17757
|
EventType,
|
|
17554
17758
|
FilterBar,
|
|
17759
|
+
FilterCategory,
|
|
17555
17760
|
IntegrationService,
|
|
17761
|
+
Modal,
|
|
17762
|
+
MoreFilter,
|
|
17556
17763
|
NavBar,
|
|
17557
17764
|
PreviewCard,
|
|
17558
17765
|
SearchBar,
|