@arbidocs/blocks 0.4.153 → 0.4.155
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/{ConnectedNativeDocxComparison-OFPIXNJB.js → ConnectedNativeDocxComparison-OLWRQSRS.js} +11 -11
- package/dist/{ConnectedNativeDocxComparison-OFPIXNJB.js.map → ConnectedNativeDocxComparison-OLWRQSRS.js.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-Y5BNLNH6.cjs → ConnectedNativeDocxComparison-YORMOPPN.cjs} +12 -12
- package/dist/{ConnectedNativeDocxComparison-Y5BNLNH6.cjs.map → ConnectedNativeDocxComparison-YORMOPPN.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-LRYU5HPA.js → ConnectedNativeDocxEditor-34EBIIFS.js} +10 -10
- package/dist/{ConnectedNativeDocxEditor-LRYU5HPA.js.map → ConnectedNativeDocxEditor-34EBIIFS.js.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-HTEW5JAH.cjs → ConnectedNativeDocxEditor-EHTWGGX3.cjs} +12 -12
- package/dist/{ConnectedNativeDocxEditor-HTEW5JAH.cjs.map → ConnectedNativeDocxEditor-EHTWGGX3.cjs.map} +1 -1
- package/dist/{ConnectedStreamedWordArtifact-QW74LKHN.cjs → ConnectedStreamedWordArtifact-5DK6QGYN.cjs} +12 -12
- package/dist/ConnectedStreamedWordArtifact-5DK6QGYN.cjs.map +1 -0
- package/dist/{ConnectedStreamedWordArtifact-QAUVUCSX.js → ConnectedStreamedWordArtifact-GLIDLSAS.js} +11 -11
- package/dist/{ConnectedStreamedWordArtifact-QAUVUCSX.js.map → ConnectedStreamedWordArtifact-GLIDLSAS.js.map} +1 -1
- package/dist/WorkspaceTableView-5OWX53R5.js +376 -0
- package/dist/WorkspaceTableView-5OWX53R5.js.map +1 -0
- package/dist/WorkspaceTableView-ZFMAYHUD.cjs +378 -0
- package/dist/WorkspaceTableView-ZFMAYHUD.cjs.map +1 -0
- package/dist/agents/index.cjs +282 -282
- package/dist/agents/index.js +7 -7
- package/dist/{chunk-RQ2Y7USX.cjs → chunk-2VHYOTWW.cjs} +3 -3
- package/dist/chunk-2VHYOTWW.cjs.map +1 -0
- package/dist/{chunk-DTROMMDX.cjs → chunk-3VULDTNL.cjs} +4 -4
- package/dist/{chunk-DTROMMDX.cjs.map → chunk-3VULDTNL.cjs.map} +1 -1
- package/dist/{chunk-UTTTJSQU.cjs → chunk-4RPBUMHB.cjs} +4 -4
- package/dist/{chunk-UTTTJSQU.cjs.map → chunk-4RPBUMHB.cjs.map} +1 -1
- package/dist/chunk-53RCZPMR.cjs +496 -0
- package/dist/chunk-53RCZPMR.cjs.map +1 -0
- package/dist/chunk-5TDGVOR5.js +142 -0
- package/dist/chunk-5TDGVOR5.js.map +1 -0
- package/dist/chunk-6HMCF4AJ.js +1720 -0
- package/dist/chunk-6HMCF4AJ.js.map +1 -0
- package/dist/{chunk-CU2O32Z4.cjs → chunk-6QAAIDQQ.cjs} +62 -99
- package/dist/chunk-6QAAIDQQ.cjs.map +1 -0
- package/dist/chunk-7HHYMDPE.js +431 -0
- package/dist/chunk-7HHYMDPE.js.map +1 -0
- package/dist/{chunk-SMN32BQ3.cjs → chunk-7NL6WJER.cjs} +3 -160
- package/dist/chunk-7NL6WJER.cjs.map +1 -0
- package/dist/{chunk-IXWJGOM2.js → chunk-BQ77KSXU.js} +3 -3
- package/dist/{chunk-IXWJGOM2.js.map → chunk-BQ77KSXU.js.map} +1 -1
- package/dist/chunk-BTF4AZMG.js +148 -0
- package/dist/chunk-BTF4AZMG.js.map +1 -0
- package/dist/{chunk-HALD6ZB5.cjs → chunk-C3SMTA3C.cjs} +4 -4
- package/dist/{chunk-HALD6ZB5.cjs.map → chunk-C3SMTA3C.cjs.map} +1 -1
- package/dist/{chunk-GAYMJWTC.cjs → chunk-CB4TIDEX.cjs} +6 -6
- package/dist/{chunk-GAYMJWTC.cjs.map → chunk-CB4TIDEX.cjs.map} +1 -1
- package/dist/{chunk-KPZZ5FHE.cjs → chunk-CNHUJRQ4.cjs} +10 -6
- package/dist/chunk-CNHUJRQ4.cjs.map +1 -0
- package/dist/{chunk-Q4BY2CQQ.cjs → chunk-CQCNU5KT.cjs} +28 -28
- package/dist/{chunk-Q4BY2CQQ.cjs.map → chunk-CQCNU5KT.cjs.map} +1 -1
- package/dist/{chunk-GRGS5M6O.cjs → chunk-CROGFB46.cjs} +160 -3
- package/dist/chunk-CROGFB46.cjs.map +1 -0
- package/dist/{chunk-QN47Q4N7.js → chunk-CU6LDQ57.js} +3 -3
- package/dist/{chunk-QN47Q4N7.js.map → chunk-CU6LDQ57.js.map} +1 -1
- package/dist/{chunk-EF4ZLKRM.js → chunk-DEPF5LQI.js} +3 -3
- package/dist/{chunk-EF4ZLKRM.js.map → chunk-DEPF5LQI.js.map} +1 -1
- package/dist/{chunk-JAANWQGB.js → chunk-ETZ5A3GU.js} +3 -3
- package/dist/{chunk-JAANWQGB.js.map → chunk-ETZ5A3GU.js.map} +1 -1
- package/dist/{chunk-TBEVGWY3.js → chunk-F57LNUSZ.js} +10 -6
- package/dist/chunk-F57LNUSZ.js.map +1 -0
- package/dist/{chunk-GFNELPDP.cjs → chunk-FM3IRQJW.cjs} +10 -5
- package/dist/chunk-FM3IRQJW.cjs.map +1 -0
- package/dist/chunk-FPHTSNOE.js +465 -0
- package/dist/chunk-FPHTSNOE.js.map +1 -0
- package/dist/{chunk-OVR3XMYL.js → chunk-FYZXDZM7.js} +3 -3
- package/dist/{chunk-OVR3XMYL.js.map → chunk-FYZXDZM7.js.map} +1 -1
- package/dist/{chunk-2FLWPM3B.cjs → chunk-GC2FSPSQ.cjs} +7 -7
- package/dist/{chunk-2FLWPM3B.cjs.map → chunk-GC2FSPSQ.cjs.map} +1 -1
- package/dist/{chunk-DB2OXRQC.js → chunk-GO3BN76C.js} +7 -7
- package/dist/{chunk-DB2OXRQC.js.map → chunk-GO3BN76C.js.map} +1 -1
- package/dist/{chunk-XZIYRKLW.cjs → chunk-H32DV7XS.cjs} +5 -139
- package/dist/chunk-H32DV7XS.cjs.map +1 -0
- package/dist/{chunk-4236BRZK.js → chunk-HP2C4MD3.js} +29 -3
- package/dist/chunk-HP2C4MD3.js.map +1 -0
- package/dist/{chunk-ZP6Q3KXU.cjs → chunk-HUATKA3M.cjs} +4 -4
- package/dist/{chunk-ZP6Q3KXU.cjs.map → chunk-HUATKA3M.cjs.map} +1 -1
- package/dist/chunk-ISHFVKVU.js +304 -0
- package/dist/chunk-ISHFVKVU.js.map +1 -0
- package/dist/chunk-JUUOJP7I.cjs +164 -0
- package/dist/chunk-JUUOJP7I.cjs.map +1 -0
- package/dist/{chunk-4KMLM3GY.cjs → chunk-KBO75NLM.cjs} +7 -7
- package/dist/{chunk-4KMLM3GY.cjs.map → chunk-KBO75NLM.cjs.map} +1 -1
- package/dist/{chunk-Z4NQ3TED.js → chunk-KCSIX7CY.js} +3 -3
- package/dist/{chunk-Z4NQ3TED.js.map → chunk-KCSIX7CY.js.map} +1 -1
- package/dist/{chunk-DN2KI4BU.js → chunk-KDLX5AA7.js} +3 -3
- package/dist/{chunk-DN2KI4BU.js.map → chunk-KDLX5AA7.js.map} +1 -1
- package/dist/{chunk-WFA2GVZJ.js → chunk-MF5KQ4PS.js} +3 -3
- package/dist/{chunk-WFA2GVZJ.js.map → chunk-MF5KQ4PS.js.map} +1 -1
- package/dist/{chunk-YXNNNP57.js → chunk-MNG7N6M2.js} +4 -4
- package/dist/{chunk-YXNNNP57.js.map → chunk-MNG7N6M2.js.map} +1 -1
- package/dist/chunk-MSFQDELO.cjs +482 -0
- package/dist/chunk-MSFQDELO.cjs.map +1 -0
- package/dist/{chunk-T74Q3MCZ.cjs → chunk-MUDEL7UL.cjs} +25 -884
- package/dist/chunk-MUDEL7UL.cjs.map +1 -0
- package/dist/{chunk-KSHKTOY2.js → chunk-NUSBINUM.js} +3 -3
- package/dist/chunk-NUSBINUM.js.map +1 -0
- package/dist/{chunk-EYKISBDO.cjs → chunk-OALEDG67.cjs} +5 -5
- package/dist/{chunk-EYKISBDO.cjs.map → chunk-OALEDG67.cjs.map} +1 -1
- package/dist/{chunk-COCGRJLA.cjs → chunk-OFV3PRF2.cjs} +7 -7
- package/dist/{chunk-COCGRJLA.cjs.map → chunk-OFV3PRF2.cjs.map} +1 -1
- package/dist/chunk-OOU4QLRK.cjs +319 -0
- package/dist/chunk-OOU4QLRK.cjs.map +1 -0
- package/dist/chunk-OU3RGQFX.cjs +136 -0
- package/dist/chunk-OU3RGQFX.cjs.map +1 -0
- package/dist/{chunk-3PCBYOIZ.js → chunk-P6RIBIVN.js} +38 -7
- package/dist/chunk-P6RIBIVN.js.map +1 -0
- package/dist/{chunk-LXTOOUEN.cjs → chunk-Q7CQYYZW.cjs} +5 -5
- package/dist/{chunk-LXTOOUEN.cjs.map → chunk-Q7CQYYZW.cjs.map} +1 -1
- package/dist/{chunk-CROTH2BS.js → chunk-QKR5LWDO.js} +9 -40
- package/dist/{chunk-CROTH2BS.js.map → chunk-QKR5LWDO.js.map} +1 -1
- package/dist/chunk-REH7PX3N.cjs +145 -0
- package/dist/chunk-REH7PX3N.cjs.map +1 -0
- package/dist/chunk-RQKWYKZY.js +127 -0
- package/dist/chunk-RQKWYKZY.js.map +1 -0
- package/dist/{chunk-U6JQ4KMX.cjs → chunk-SN2GZ4ZM.cjs} +29 -2
- package/dist/chunk-SN2GZ4ZM.cjs.map +1 -0
- package/dist/{chunk-R6VCPDPF.js → chunk-SZSJGZSO.js} +156 -6
- package/dist/chunk-SZSJGZSO.js.map +1 -0
- package/dist/{chunk-US3S4DCB.js → chunk-TF7HN5EU.js} +10 -5
- package/dist/chunk-TF7HN5EU.js.map +1 -0
- package/dist/{chunk-YKQ2DPIP.js → chunk-VF5EUAIV.js} +3 -3
- package/dist/{chunk-YKQ2DPIP.js.map → chunk-VF5EUAIV.js.map} +1 -1
- package/dist/{chunk-KMZWKSKO.cjs → chunk-VZPFYZZU.cjs} +4 -4
- package/dist/{chunk-KMZWKSKO.cjs.map → chunk-VZPFYZZU.cjs.map} +1 -1
- package/dist/{chunk-HUJF2XM2.js → chunk-W7CWGURO.js} +28 -873
- package/dist/chunk-W7CWGURO.js.map +1 -0
- package/dist/{chunk-ZLEYLCE4.js → chunk-WK6FVIF7.js} +6 -156
- package/dist/chunk-WK6FVIF7.js.map +1 -0
- package/dist/chunk-WV4TD2HZ.cjs +1785 -0
- package/dist/chunk-WV4TD2HZ.cjs.map +1 -0
- package/dist/{chunk-COA3S3CZ.js → chunk-XI37A7HH.js} +4 -4
- package/dist/{chunk-COA3S3CZ.js.map → chunk-XI37A7HH.js.map} +1 -1
- package/dist/{chunk-LGBAZD37.js → chunk-XRL4R2TT.js} +7 -139
- package/dist/chunk-XRL4R2TT.js.map +1 -0
- package/dist/{chunk-4JNKXOFZ.cjs → chunk-YBJ4QGNH.cjs} +11 -11
- package/dist/{chunk-4JNKXOFZ.cjs.map → chunk-YBJ4QGNH.cjs.map} +1 -1
- package/dist/{chunk-GFOEWPAP.cjs → chunk-YF3QUHKN.cjs} +49 -12
- package/dist/chunk-YF3QUHKN.cjs.map +1 -0
- package/dist/{chunk-H4D7WKDY.js → chunk-YNMO3DSR.js} +3 -3
- package/dist/{chunk-H4D7WKDY.js.map → chunk-YNMO3DSR.js.map} +1 -1
- package/dist/citations/index.cjs +10 -10
- package/dist/citations/index.js +2 -2
- package/dist/collaboration/index.cjs +77 -77
- package/dist/collaboration/index.js +2 -2
- package/dist/connect/docx.cjs +14 -14
- package/dist/connect/docx.js +10 -10
- package/dist/connect/index.cjs +2820 -1043
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.d.ts +4 -0
- package/dist/connect/index.js +2216 -504
- package/dist/connect/index.js.map +1 -1
- package/dist/connect/viewer.cjs +68 -72
- package/dist/connect/viewer.cjs.map +1 -1
- package/dist/connect/viewer.js +11 -15
- package/dist/connect/viewer.js.map +1 -1
- package/dist/connection/ConnectionProvider.d.ts +7 -0
- package/dist/connection/files/DocumentSyncGlyph.d.ts +28 -0
- package/dist/connection/files/explorer/ConnectedFilesExplorer.d.ts +56 -0
- package/dist/connection/files/explorer/FileTiles.d.ts +87 -0
- package/dist/connection/files/index.d.ts +5 -0
- package/dist/connection/files/store.d.ts +27 -0
- package/dist/connection/files/support.d.ts +38 -0
- package/dist/connection/projects/ConnectedProjectsPanel.d.ts +34 -0
- package/dist/connection/projects/index.d.ts +1 -0
- package/dist/connection/workspace-dashboard/ConnectedWorkspaceDashboard.d.ts +37 -0
- package/dist/connection/workspace-dashboard/dashboard-rows.d.ts +42 -0
- package/dist/connection/workspace-dashboard/index.d.ts +1 -0
- package/dist/connection/workspace-list/ConnectedWorkspaceList.d.ts +37 -0
- package/dist/connection/workspace-list/WorkspaceCardsView.d.ts +15 -0
- package/dist/connection/workspace-list/WorkspaceFilterMenu.d.ts +4 -0
- package/dist/connection/workspace-list/WorkspaceTableView.d.ts +13 -0
- package/dist/connection/workspace-list/index.d.ts +5 -0
- package/dist/connection/workspace-list/projectBilling.d.ts +21 -0
- package/dist/connection/workspace-list/useConnectedWorkspaceList.d.ts +251 -0
- package/dist/connection/workspace-list/workspaceTable.d.ts +58 -0
- package/dist/connection/workspace-settings/ConnectedWorkspaceMembers.d.ts +26 -0
- package/dist/connection/workspace-settings/ConnectedWorkspaceSettings.d.ts +7 -9
- package/dist/connection/workspace-settings/index.d.ts +2 -1
- package/dist/connection/workspace-settings/useConnectedWorkspaceSettings.d.ts +0 -1
- package/dist/facts/index.cjs +3 -3
- package/dist/facts/index.js +2 -2
- package/dist/files/DocStatusIcon.d.ts +5 -4
- package/dist/files/FailedStageIcon.d.ts +26 -0
- package/dist/files/folders/FolderProviderIcon.d.ts +29 -0
- package/dist/files/folders/folderPaths.d.ts +86 -0
- package/dist/files/folders/index.d.ts +2 -0
- package/dist/files/index.cjs +328 -240
- package/dist/files/index.d.ts +5 -0
- package/dist/files/index.js +4 -4
- package/dist/files/permissions.d.ts +28 -0
- package/dist/files/recently-deleted.d.ts +7 -0
- package/dist/files/visibility.d.ts +31 -0
- package/dist/home/index.cjs +119 -459
- package/dist/home/index.cjs.map +1 -1
- package/dist/home/index.js +13 -419
- package/dist/home/index.js.map +1 -1
- package/dist/index.cjs +480 -480
- package/dist/index.js +16 -16
- package/dist/provider/BlocksProvider.d.ts +9 -1
- package/dist/retrieval/index.cjs +4 -4
- package/dist/retrieval/index.js +2 -2
- package/dist/settings/index.cjs +169 -165
- package/dist/settings/index.d.ts +1 -0
- package/dist/settings/index.js +2 -2
- package/dist/settings/tri-state-filters.d.ts +13 -0
- package/dist/shell/index.cjs +44 -44
- package/dist/shell/index.js +3 -3
- package/dist/site/index.cjs +5 -5
- package/dist/site/index.js +1 -1
- package/dist/studio/index.cjs +14 -14
- package/dist/studio/index.js +6 -6
- package/dist/workflow-canvas/index.cjs +27 -27
- package/dist/workflow-canvas/index.js +9 -9
- package/dist/workspaces/index.cjs +110 -369
- package/dist/workspaces/index.cjs.map +1 -1
- package/dist/workspaces/index.d.ts +2 -0
- package/dist/workspaces/index.js +12 -350
- package/dist/workspaces/index.js.map +1 -1
- package/dist/workspaces/workspace-groups.d.ts +90 -0
- package/dist/workspaces/workspace-roles.d.ts +11 -0
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +6 -5
- package/dist/ConnectedStreamedWordArtifact-QW74LKHN.cjs.map +0 -1
- package/dist/chunk-3PCBYOIZ.js.map +0 -1
- package/dist/chunk-4236BRZK.js.map +0 -1
- package/dist/chunk-CU2O32Z4.cjs.map +0 -1
- package/dist/chunk-EV7W64B6.js +0 -134
- package/dist/chunk-EV7W64B6.js.map +0 -1
- package/dist/chunk-GFNELPDP.cjs.map +0 -1
- package/dist/chunk-GFOEWPAP.cjs.map +0 -1
- package/dist/chunk-GRGS5M6O.cjs.map +0 -1
- package/dist/chunk-HUJF2XM2.js.map +0 -1
- package/dist/chunk-JGOST4IL.js +0 -648
- package/dist/chunk-JGOST4IL.js.map +0 -1
- package/dist/chunk-KPZZ5FHE.cjs.map +0 -1
- package/dist/chunk-KSHKTOY2.js.map +0 -1
- package/dist/chunk-LGBAZD37.js.map +0 -1
- package/dist/chunk-R6VCPDPF.js.map +0 -1
- package/dist/chunk-RQ2Y7USX.cjs.map +0 -1
- package/dist/chunk-RXK3XP62.cjs +0 -144
- package/dist/chunk-RXK3XP62.cjs.map +0 -1
- package/dist/chunk-SMN32BQ3.cjs.map +0 -1
- package/dist/chunk-T74Q3MCZ.cjs.map +0 -1
- package/dist/chunk-TBEVGWY3.js.map +0 -1
- package/dist/chunk-U6JQ4KMX.cjs.map +0 -1
- package/dist/chunk-US3S4DCB.js.map +0 -1
- package/dist/chunk-XZIYRKLW.cjs.map +0 -1
- package/dist/chunk-YAEXSCUW.cjs +0 -677
- package/dist/chunk-YAEXSCUW.cjs.map +0 -1
- package/dist/chunk-ZLEYLCE4.js.map +0 -1
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { ChevronRight } from 'lucide-react';
|
|
3
|
+
import { cn } from '@arbidocs/react/ui';
|
|
4
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
// src/home/CollapsibleSection.tsx
|
|
7
|
+
var DEFAULT_COLLAPSIBLE_SECTION_LABELS = {
|
|
8
|
+
collapseSection: "Collapse section",
|
|
9
|
+
expandSection: "Expand section"
|
|
10
|
+
};
|
|
11
|
+
function CollapsibleSection({
|
|
12
|
+
title,
|
|
13
|
+
icon,
|
|
14
|
+
isExpanded,
|
|
15
|
+
onToggle,
|
|
16
|
+
children,
|
|
17
|
+
count,
|
|
18
|
+
hasActiveFilters = false,
|
|
19
|
+
expandWhenEmpty = false,
|
|
20
|
+
childrenClassName,
|
|
21
|
+
headerClassName,
|
|
22
|
+
className,
|
|
23
|
+
rightContent,
|
|
24
|
+
collapsible = true,
|
|
25
|
+
onHeaderClick,
|
|
26
|
+
labels
|
|
27
|
+
}) {
|
|
28
|
+
const l = { ...DEFAULT_COLLAPSIBLE_SECTION_LABELS, ...labels };
|
|
29
|
+
const hasCount = count !== void 0;
|
|
30
|
+
const shouldBeExpanded = !collapsible ? true : hasCount ? count > 0 ? isExpanded : expandWhenEmpty && isExpanded : isExpanded;
|
|
31
|
+
const hasContent = hasCount ? count > 0 || expandWhenEmpty : true;
|
|
32
|
+
const chevron = /* @__PURE__ */ jsx(
|
|
33
|
+
ChevronRight,
|
|
34
|
+
{
|
|
35
|
+
className: cn("size-4 shrink-0 transition-transform", shouldBeExpanded && "rotate-90")
|
|
36
|
+
}
|
|
37
|
+
);
|
|
38
|
+
const titleBlock = /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
39
|
+
icon,
|
|
40
|
+
typeof title === "string" ? title && /* @__PURE__ */ jsx("span", { className: "whitespace-nowrap", children: title }) : title,
|
|
41
|
+
hasCount && /* @__PURE__ */ jsx(
|
|
42
|
+
"span",
|
|
43
|
+
{
|
|
44
|
+
className: cn(
|
|
45
|
+
"ml-1 text-xs tabular-nums",
|
|
46
|
+
hasActiveFilters ? "rounded-full bg-primary px-1.5 font-medium text-primary-foreground" : "font-normal text-muted-foreground"
|
|
47
|
+
),
|
|
48
|
+
children: count
|
|
49
|
+
}
|
|
50
|
+
)
|
|
51
|
+
] });
|
|
52
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("w-full", className), "data-slot": "collapsible-section", children: [
|
|
53
|
+
onHeaderClick ? /* @__PURE__ */ jsxs(
|
|
54
|
+
"div",
|
|
55
|
+
{
|
|
56
|
+
role: "button",
|
|
57
|
+
tabIndex: 0,
|
|
58
|
+
onClick: onHeaderClick,
|
|
59
|
+
onKeyDown: (e) => {
|
|
60
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
61
|
+
e.preventDefault();
|
|
62
|
+
onHeaderClick();
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
className: cn(
|
|
66
|
+
"mb-4 flex cursor-pointer items-center justify-between gap-2 font-semibold pointer-coarse:min-h-11 transition-colors hover:bg-muted/60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
67
|
+
headerClassName
|
|
68
|
+
),
|
|
69
|
+
"data-slot": "collapsible-section-header",
|
|
70
|
+
children: [
|
|
71
|
+
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-2 text-left", children: [
|
|
72
|
+
/* @__PURE__ */ jsx(
|
|
73
|
+
"button",
|
|
74
|
+
{
|
|
75
|
+
type: "button",
|
|
76
|
+
"aria-expanded": shouldBeExpanded,
|
|
77
|
+
"aria-label": shouldBeExpanded ? l.collapseSection : l.expandSection,
|
|
78
|
+
disabled: !hasContent,
|
|
79
|
+
onClick: (e) => {
|
|
80
|
+
e.stopPropagation();
|
|
81
|
+
if (hasContent) onToggle();
|
|
82
|
+
},
|
|
83
|
+
className: "-ml-0.5 shrink-0 rounded-md p-0.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:opacity-40 pointer-coarse:p-3.5",
|
|
84
|
+
children: chevron
|
|
85
|
+
}
|
|
86
|
+
),
|
|
87
|
+
titleBlock
|
|
88
|
+
] }),
|
|
89
|
+
rightContent && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center", children: rightContent })
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
) : !collapsible ? /* @__PURE__ */ jsxs(
|
|
93
|
+
"div",
|
|
94
|
+
{
|
|
95
|
+
className: cn("mb-4 flex items-center justify-between", headerClassName),
|
|
96
|
+
"data-slot": "collapsible-section-header",
|
|
97
|
+
children: [
|
|
98
|
+
/* @__PURE__ */ jsx("div", { className: "flex min-w-0 items-center gap-2 text-left font-medium", children: titleBlock }),
|
|
99
|
+
rightContent && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center", children: rightContent })
|
|
100
|
+
]
|
|
101
|
+
}
|
|
102
|
+
) : /* @__PURE__ */ jsxs(
|
|
103
|
+
"div",
|
|
104
|
+
{
|
|
105
|
+
className: cn("mb-4 flex items-center justify-between", headerClassName),
|
|
106
|
+
"data-slot": "collapsible-section-header",
|
|
107
|
+
children: [
|
|
108
|
+
/* @__PURE__ */ jsxs(
|
|
109
|
+
"div",
|
|
110
|
+
{
|
|
111
|
+
role: "button",
|
|
112
|
+
tabIndex: hasContent ? 0 : -1,
|
|
113
|
+
"aria-expanded": shouldBeExpanded,
|
|
114
|
+
"aria-disabled": !hasContent,
|
|
115
|
+
onClick: hasContent ? onToggle : void 0,
|
|
116
|
+
onKeyDown: hasContent ? (e) => {
|
|
117
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
118
|
+
e.preventDefault();
|
|
119
|
+
onToggle();
|
|
120
|
+
}
|
|
121
|
+
} : void 0,
|
|
122
|
+
className: cn(
|
|
123
|
+
"touch-hit flex min-w-0 items-center gap-2 rounded-md text-left font-semibold transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
124
|
+
hasContent ? "cursor-pointer hover:text-muted-foreground" : "cursor-default opacity-60"
|
|
125
|
+
),
|
|
126
|
+
children: [
|
|
127
|
+
chevron,
|
|
128
|
+
titleBlock
|
|
129
|
+
]
|
|
130
|
+
}
|
|
131
|
+
),
|
|
132
|
+
rightContent && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center", children: rightContent })
|
|
133
|
+
]
|
|
134
|
+
}
|
|
135
|
+
),
|
|
136
|
+
shouldBeExpanded && /* @__PURE__ */ jsx("div", { className: childrenClassName ?? "mb-8 flex flex-wrap justify-start gap-6", children })
|
|
137
|
+
] });
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export { CollapsibleSection, DEFAULT_COLLAPSIBLE_SECTION_LABELS };
|
|
141
|
+
//# sourceMappingURL=chunk-5TDGVOR5.js.map
|
|
142
|
+
//# sourceMappingURL=chunk-5TDGVOR5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/home/CollapsibleSection.tsx"],"names":[],"mappings":"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","file":"chunk-5TDGVOR5.js","sourcesContent":["import type { ReactNode } from 'react'\nimport { ChevronRight } from 'lucide-react'\nimport { cn } from '@arbidocs/react/ui'\n\n/** Fixed strings of the section header. */\nexport interface CollapsibleSectionLabels {\n /** The chevron button's name (only with `onHeaderClick`). */\n collapseSection: string\n expandSection: string\n}\n\nexport const DEFAULT_COLLAPSIBLE_SECTION_LABELS: CollapsibleSectionLabels = {\n collapseSection: 'Collapse section',\n expandSection: 'Expand section',\n}\n\nexport interface CollapsibleSectionProps {\n /** The section's heading. A node, so callers can add badges or tooltips. */\n title: ReactNode\n /** Leading glyph before the title. */\n icon?: ReactNode\n isExpanded: boolean\n onToggle: () => void\n children: ReactNode\n /** Count badge beside the title. When 0 the section cannot expand (unless `expandWhenEmpty`). */\n count?: number\n /** The count badge is filled (a filter is active). */\n hasActiveFilters?: boolean\n expandWhenEmpty?: boolean\n /** Class for the body wrapper. */\n childrenClassName?: string\n headerClassName?: string\n className?: string\n /** Trailing header content. */\n rightContent?: ReactNode\n /** When false the section is always open: no chevron, a plain header. */\n collapsible?: boolean\n /**\n * When set, the whole header is one click target firing this (e.g. open a\n * detail panel) and the chevron becomes its own separate toggle.\n */\n onHeaderClick?: () => void\n labels?: Partial<CollapsibleSectionLabels>\n}\n\n/**\n * A section with a chevron toggle, title, optional count and body. The header\n * is a `role=\"button\"` div (not a native button) because `title`/`rightContent`\n * may hold interactive nodes such as tooltip triggers; a button inside a button\n * is invalid HTML.\n */\nexport function CollapsibleSection({\n title,\n icon,\n isExpanded,\n onToggle,\n children,\n count,\n hasActiveFilters = false,\n expandWhenEmpty = false,\n childrenClassName,\n headerClassName,\n className,\n rightContent,\n collapsible = true,\n onHeaderClick,\n labels,\n}: CollapsibleSectionProps) {\n const l = { ...DEFAULT_COLLAPSIBLE_SECTION_LABELS, ...labels }\n const hasCount = count !== undefined\n const shouldBeExpanded = !collapsible\n ? true\n : hasCount\n ? count > 0\n ? isExpanded\n : expandWhenEmpty && isExpanded\n : isExpanded\n const hasContent = hasCount ? count > 0 || expandWhenEmpty : true\n\n const chevron = (\n <ChevronRight\n className={cn('size-4 shrink-0 transition-transform', shouldBeExpanded && 'rotate-90')}\n />\n )\n const titleBlock = (\n <div className=\"flex min-w-0 items-center gap-2\">\n {icon}\n {typeof title === 'string'\n ? title && <span className=\"whitespace-nowrap\">{title}</span>\n : title}\n {hasCount && (\n <span\n className={cn(\n 'ml-1 text-xs tabular-nums',\n hasActiveFilters\n ? 'rounded-full bg-primary px-1.5 font-medium text-primary-foreground'\n : 'font-normal text-muted-foreground'\n )}\n >\n {count}\n </span>\n )}\n </div>\n )\n\n return (\n <div className={cn('w-full', className)} data-slot=\"collapsible-section\">\n {onHeaderClick ? (\n <div\n role=\"button\"\n tabIndex={0}\n onClick={onHeaderClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onHeaderClick()\n }\n }}\n className={cn(\n 'mb-4 flex cursor-pointer items-center justify-between gap-2 font-semibold pointer-coarse:min-h-11 transition-colors hover:bg-muted/60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n headerClassName\n )}\n data-slot=\"collapsible-section-header\"\n >\n <div className=\"flex min-w-0 items-center gap-2 text-left\">\n <button\n type=\"button\"\n aria-expanded={shouldBeExpanded}\n aria-label={shouldBeExpanded ? l.collapseSection : l.expandSection}\n disabled={!hasContent}\n onClick={(e) => {\n e.stopPropagation()\n if (hasContent) onToggle()\n }}\n className=\"-ml-0.5 shrink-0 rounded-md p-0.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:opacity-40 pointer-coarse:p-3.5\"\n >\n {chevron}\n </button>\n {titleBlock}\n </div>\n {rightContent && <div className=\"flex shrink-0 items-center\">{rightContent}</div>}\n </div>\n ) : !collapsible ? (\n <div\n className={cn('mb-4 flex items-center justify-between', headerClassName)}\n data-slot=\"collapsible-section-header\"\n >\n <div className=\"flex min-w-0 items-center gap-2 text-left font-medium\">{titleBlock}</div>\n {rightContent && <div className=\"flex shrink-0 items-center\">{rightContent}</div>}\n </div>\n ) : (\n <div\n className={cn('mb-4 flex items-center justify-between', headerClassName)}\n data-slot=\"collapsible-section-header\"\n >\n <div\n role=\"button\"\n tabIndex={hasContent ? 0 : -1}\n aria-expanded={shouldBeExpanded}\n aria-disabled={!hasContent}\n onClick={hasContent ? onToggle : undefined}\n onKeyDown={\n hasContent\n ? (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onToggle()\n }\n }\n : undefined\n }\n className={cn(\n 'touch-hit flex min-w-0 items-center gap-2 rounded-md text-left font-semibold transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n hasContent\n ? 'cursor-pointer hover:text-muted-foreground'\n : 'cursor-default opacity-60'\n )}\n >\n {chevron}\n {titleBlock}\n </div>\n {rightContent && <div className=\"flex shrink-0 items-center\">{rightContent}</div>}\n </div>\n )}\n {shouldBeExpanded && (\n <div className={childrenClassName ?? 'mb-8 flex flex-wrap justify-start gap-6'}>\n {children}\n </div>\n )}\n </div>\n )\n}\n"]}
|