@arbidocs/blocks 0.5.65 → 0.5.67
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/README.md +5 -0
- package/dist/{ConnectedCallDock-GJAGY75U.cjs → ConnectedCallDock-FFIDDYGH.cjs} +6 -6
- package/dist/{ConnectedCallDock-GJAGY75U.cjs.map → ConnectedCallDock-FFIDDYGH.cjs.map} +1 -1
- package/dist/{ConnectedCallDock-DEAEFUUD.js → ConnectedCallDock-VMEBH4LG.js} +6 -6
- package/dist/{ConnectedCallDock-DEAEFUUD.js.map → ConnectedCallDock-VMEBH4LG.js.map} +1 -1
- package/dist/{ConnectedCallRoom-DI7UYRHE.js → ConnectedCallRoom-2FNSX2VG.js} +6 -6
- package/dist/{ConnectedCallRoom-DI7UYRHE.js.map → ConnectedCallRoom-2FNSX2VG.js.map} +1 -1
- package/dist/{ConnectedCallRoom-KLE2PCMQ.cjs → ConnectedCallRoom-HYRLJUIV.cjs} +6 -6
- package/dist/{ConnectedCallRoom-KLE2PCMQ.cjs.map → ConnectedCallRoom-HYRLJUIV.cjs.map} +1 -1
- package/dist/{ConnectedDocumentViewer-YSZWOVGN.cjs → ConnectedDocumentViewer-IQHDCAZ5.cjs} +12 -12
- package/dist/{ConnectedDocumentViewer-YSZWOVGN.cjs.map → ConnectedDocumentViewer-IQHDCAZ5.cjs.map} +1 -1
- package/dist/{ConnectedDocumentViewer-HKIBNGGG.js → ConnectedDocumentViewer-NIZBKBJN.js} +11 -11
- package/dist/{ConnectedDocumentViewer-HKIBNGGG.js.map → ConnectedDocumentViewer-NIZBKBJN.js.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-PSAP3Q7D.js → ConnectedNativeDocxComparison-FPW3BNBN.js} +6 -6
- package/dist/ConnectedNativeDocxComparison-FPW3BNBN.js.map +1 -0
- package/dist/{ConnectedNativeDocxComparison-L3R3ROPZ.cjs → ConnectedNativeDocxComparison-HJ4FTVH6.cjs} +7 -7
- package/dist/ConnectedNativeDocxComparison-HJ4FTVH6.cjs.map +1 -0
- package/dist/{ConnectedNativeDocxEditor-VDBC4XRT.cjs → ConnectedNativeDocxEditor-PF46MU5H.cjs} +7 -7
- package/dist/ConnectedNativeDocxEditor-PF46MU5H.cjs.map +1 -0
- package/dist/{ConnectedNativeDocxEditor-PI6QTPXZ.js → ConnectedNativeDocxEditor-S7NJMDSU.js} +5 -5
- package/dist/ConnectedNativeDocxEditor-S7NJMDSU.js.map +1 -0
- package/dist/{ConnectedStreamedWordArtifact-V4MTKVNE.js → ConnectedStreamedWordArtifact-5MHLV24V.js} +6 -6
- package/dist/ConnectedStreamedWordArtifact-5MHLV24V.js.map +1 -0
- package/dist/{ConnectedStreamedWordArtifact-YSW6D7AG.cjs → ConnectedStreamedWordArtifact-LNGW7YGV.cjs} +7 -7
- package/dist/ConnectedStreamedWordArtifact-LNGW7YGV.cjs.map +1 -0
- package/dist/{DocumentReviewCard-TQQADJ36.js → DocumentReviewCard-5U3TGJZA.js} +6 -6
- package/dist/{DocumentReviewCard-TQQADJ36.js.map → DocumentReviewCard-5U3TGJZA.js.map} +1 -1
- package/dist/{DocumentReviewCard-BQ6ZD5MD.cjs → DocumentReviewCard-VFNMJSK7.cjs} +6 -6
- package/dist/{DocumentReviewCard-BQ6ZD5MD.cjs.map → DocumentReviewCard-VFNMJSK7.cjs.map} +1 -1
- package/dist/{WorkspaceTableView-GKMVTECZ.cjs → WorkspaceTableView-DHMCJRC6.cjs} +6 -6
- package/dist/{WorkspaceTableView-GKMVTECZ.cjs.map → WorkspaceTableView-DHMCJRC6.cjs.map} +1 -1
- package/dist/{WorkspaceTableView-YFLVFRJL.js → WorkspaceTableView-EH5CEB44.js} +4 -4
- package/dist/{WorkspaceTableView-YFLVFRJL.js.map → WorkspaceTableView-EH5CEB44.js.map} +1 -1
- package/dist/agents/index.cjs +283 -283
- package/dist/agents/index.js +5 -5
- package/dist/calls/index.cjs +2 -2
- package/dist/calls/index.js +2 -2
- package/dist/chat/index.cjs +57 -57
- package/dist/chat/index.js +4 -4
- package/dist/{chunk-D27BBGUF.cjs → chunk-23ACBETH.cjs} +4 -4
- package/dist/{chunk-D27BBGUF.cjs.map → chunk-23ACBETH.cjs.map} +1 -1
- package/dist/{chunk-4CI42DCG.js → chunk-323R76RZ.js} +50 -5
- package/dist/chunk-323R76RZ.js.map +1 -0
- package/dist/{chunk-DJE2E7YH.cjs → chunk-3VFQYKB5.cjs} +3 -3
- package/dist/{chunk-DJE2E7YH.cjs.map → chunk-3VFQYKB5.cjs.map} +1 -1
- package/dist/{chunk-JSHBC47B.cjs → chunk-45Y7ASBC.cjs} +53 -47
- package/dist/chunk-45Y7ASBC.cjs.map +1 -0
- package/dist/{chunk-TVHTXO6V.cjs → chunk-56WWEK6I.cjs} +4 -4
- package/dist/{chunk-TVHTXO6V.cjs.map → chunk-56WWEK6I.cjs.map} +1 -1
- package/dist/{chunk-CGCTODPC.cjs → chunk-6PGTH2HD.cjs} +4 -4
- package/dist/{chunk-CGCTODPC.cjs.map → chunk-6PGTH2HD.cjs.map} +1 -1
- package/dist/{chunk-PBIFISDD.js → chunk-7P24MJQN.js} +3 -3
- package/dist/{chunk-PBIFISDD.js.map → chunk-7P24MJQN.js.map} +1 -1
- package/dist/{chunk-6QZ35CTZ.js → chunk-AD76WTGR.js} +3 -3
- package/dist/{chunk-6QZ35CTZ.js.map → chunk-AD76WTGR.js.map} +1 -1
- package/dist/{chunk-ROWJU4SK.cjs → chunk-AKGV6JUC.cjs} +12 -128
- package/dist/chunk-AKGV6JUC.cjs.map +1 -0
- package/dist/{chunk-UIUWCTIZ.js → chunk-APXW5XGA.js} +165 -4
- package/dist/chunk-APXW5XGA.js.map +1 -0
- package/dist/{chunk-SEVFIBF3.cjs → chunk-BFIHXDO6.cjs} +4 -4
- package/dist/{chunk-SEVFIBF3.cjs.map → chunk-BFIHXDO6.cjs.map} +1 -1
- package/dist/{chunk-6OMIIF76.js → chunk-BWWND4Y7.js} +3 -3
- package/dist/{chunk-6OMIIF76.js.map → chunk-BWWND4Y7.js.map} +1 -1
- package/dist/{chunk-EG3BB32W.cjs → chunk-CCSF7RI4.cjs} +3 -3
- package/dist/{chunk-EG3BB32W.cjs.map → chunk-CCSF7RI4.cjs.map} +1 -1
- package/dist/{chunk-QK546T4C.cjs → chunk-CKNUL4LM.cjs} +3 -3
- package/dist/{chunk-QK546T4C.cjs.map → chunk-CKNUL4LM.cjs.map} +1 -1
- package/dist/{chunk-TJ7QEGVP.cjs → chunk-COZDIUG7.cjs} +18 -18
- package/dist/{chunk-TJ7QEGVP.cjs.map → chunk-COZDIUG7.cjs.map} +1 -1
- package/dist/{chunk-YQEXBJVO.js → chunk-DF5X27QX.js} +42 -5
- package/dist/chunk-DF5X27QX.js.map +1 -0
- package/dist/{chunk-B3CRSCLK.cjs → chunk-EOIJ5JYP.cjs} +4 -4
- package/dist/{chunk-B3CRSCLK.cjs.map → chunk-EOIJ5JYP.cjs.map} +1 -1
- package/dist/{chunk-GPYLXEZO.js → chunk-FCOK73I3.js} +6 -120
- package/dist/chunk-FCOK73I3.js.map +1 -0
- package/dist/{chunk-CJF7B5A7.cjs → chunk-FHXXDPNU.cjs} +12 -12
- package/dist/{chunk-CJF7B5A7.cjs.map → chunk-FHXXDPNU.cjs.map} +1 -1
- package/dist/{chunk-ITRI47DF.cjs → chunk-GMGEAWFX.cjs} +41 -4
- package/dist/chunk-GMGEAWFX.cjs.map +1 -0
- package/dist/{chunk-LNH6NYG4.js → chunk-I3VBVP6R.js} +121 -6
- package/dist/chunk-I3VBVP6R.js.map +1 -0
- package/dist/{chunk-ZZHMJXM5.cjs → chunk-IXZCXK6Q.cjs} +122 -5
- package/dist/chunk-IXZCXK6Q.cjs.map +1 -0
- package/dist/{chunk-SBAM3UZX.js → chunk-JWRTUYLC.js} +3 -3
- package/dist/{chunk-SBAM3UZX.js.map → chunk-JWRTUYLC.js.map} +1 -1
- package/dist/{chunk-PLEMVK2W.js → chunk-KQLUMK56.js} +3 -3
- package/dist/{chunk-PLEMVK2W.js.map → chunk-KQLUMK56.js.map} +1 -1
- package/dist/{chunk-PNZVUH46.cjs → chunk-LAQ3Y5JP.cjs} +6 -6
- package/dist/{chunk-PNZVUH46.cjs.map → chunk-LAQ3Y5JP.cjs.map} +1 -1
- package/dist/{chunk-AESJLGMC.cjs → chunk-LEW4GUFW.cjs} +7 -7
- package/dist/{chunk-AESJLGMC.cjs.map → chunk-LEW4GUFW.cjs.map} +1 -1
- package/dist/{chunk-2LUA7UDE.js → chunk-NDVLCOWS.js} +7 -7
- package/dist/{chunk-2LUA7UDE.js.map → chunk-NDVLCOWS.js.map} +1 -1
- package/dist/{chunk-43IVRSFX.js → chunk-NVXNTHL4.js} +3 -3
- package/dist/{chunk-43IVRSFX.js.map → chunk-NVXNTHL4.js.map} +1 -1
- package/dist/{chunk-IRXPUQFP.js → chunk-OZL5ABLF.js} +3 -3
- package/dist/{chunk-IRXPUQFP.js.map → chunk-OZL5ABLF.js.map} +1 -1
- package/dist/{chunk-5EGTGHBW.js → chunk-PGKZBAJB.js} +12 -6
- package/dist/chunk-PGKZBAJB.js.map +1 -0
- package/dist/{chunk-KNOSLLTC.js → chunk-PKDPQS6Z.js} +3 -3
- package/dist/{chunk-KNOSLLTC.js.map → chunk-PKDPQS6Z.js.map} +1 -1
- package/dist/{chunk-VWM3J6ES.js → chunk-PVPGD6QR.js} +3 -3
- package/dist/{chunk-VWM3J6ES.js.map → chunk-PVPGD6QR.js.map} +1 -1
- package/dist/{chunk-C2S246BV.js → chunk-RAGITH2N.js} +4 -4
- package/dist/{chunk-C2S246BV.js.map → chunk-RAGITH2N.js.map} +1 -1
- package/dist/{chunk-4Q7ON335.js → chunk-RFKAE6WS.js} +5 -5
- package/dist/{chunk-4Q7ON335.js.map → chunk-RFKAE6WS.js.map} +1 -1
- package/dist/{chunk-2C4YUIVX.js → chunk-T2VGD4X6.js} +3 -3
- package/dist/{chunk-2C4YUIVX.js.map → chunk-T2VGD4X6.js.map} +1 -1
- package/dist/{chunk-CEKOZAGO.js → chunk-TAI23FCY.js} +3 -3
- package/dist/{chunk-CEKOZAGO.js.map → chunk-TAI23FCY.js.map} +1 -1
- package/dist/{chunk-WBLCPCWR.cjs → chunk-UDMII47W.cjs} +7 -7
- package/dist/{chunk-WBLCPCWR.cjs.map → chunk-UDMII47W.cjs.map} +1 -1
- package/dist/{chunk-SFTQO3TU.js → chunk-UO3FS6ZF.js} +3 -3
- package/dist/{chunk-SFTQO3TU.js.map → chunk-UO3FS6ZF.js.map} +1 -1
- package/dist/{chunk-BELZ2WD2.js → chunk-W5D5GFP2.js} +3 -3
- package/dist/{chunk-BELZ2WD2.js.map → chunk-W5D5GFP2.js.map} +1 -1
- package/dist/{chunk-LFS6UWSJ.cjs → chunk-XWUGPV7H.cjs} +5 -5
- package/dist/{chunk-LFS6UWSJ.cjs.map → chunk-XWUGPV7H.cjs.map} +1 -1
- package/dist/{chunk-K26RLK2Y.cjs → chunk-Y6ZNWC7E.cjs} +3 -3
- package/dist/{chunk-K26RLK2Y.cjs.map → chunk-Y6ZNWC7E.cjs.map} +1 -1
- package/dist/{chunk-F777MGVA.cjs → chunk-YBVBDVQX.cjs} +18 -18
- package/dist/{chunk-F777MGVA.cjs.map → chunk-YBVBDVQX.cjs.map} +1 -1
- package/dist/{chunk-OM5IVNEW.cjs → chunk-Z4KXF7WS.cjs} +165 -2
- package/dist/chunk-Z4KXF7WS.cjs.map +1 -0
- package/dist/{chunk-7MOQO6NO.cjs → chunk-ZIQGSFHG.cjs} +53 -5
- package/dist/chunk-ZIQGSFHG.cjs.map +1 -0
- package/dist/connect/docx.cjs +11 -11
- package/dist/connect/docx.js +7 -7
- package/dist/connect/index.cjs +1723 -1149
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.d.ts +3 -0
- package/dist/connect/index.js +1191 -633
- package/dist/connect/index.js.map +1 -1
- package/dist/connect/viewer.cjs +10 -10
- package/dist/connect/viewer.js +9 -9
- package/dist/connection/billing/index.d.ts +1 -0
- package/dist/connection/billing/payment-required.d.ts +45 -0
- package/dist/connection/runtime/ConnectedAppRuntime.d.ts +1 -1
- package/dist/connection/runtime/index.d.ts +1 -1
- package/dist/connection/runtime/requests.d.ts +8 -0
- package/dist/connection/runtime/useWelcomeDialog.d.ts +3 -0
- package/dist/connection/settings-page/ConnectedModelConnectionsSettings.d.ts +1 -0
- package/dist/connection/settings-page/ConnectedSettingsPage.d.ts +3 -0
- package/dist/connection/settings-page/index.d.ts +2 -1
- package/dist/connection/tips/ConnectedGettingStarted.d.ts +20 -0
- package/dist/connection/tips/ConnectedTipBar.d.ts +49 -0
- package/dist/connection/tips/useGettingStarted.d.ts +51 -0
- package/dist/connection/workflows/useWorkflowsPageState.d.ts +1 -1
- package/dist/dashboards/index.cjs +1 -1
- package/dist/dashboards/index.js +1 -1
- package/dist/document-tools/index.cjs +17 -17
- package/dist/document-tools/index.js +2 -2
- package/dist/embed/index.cjs +9 -9
- package/dist/embed/index.js +6 -6
- package/dist/facts/index.cjs +1 -1
- package/dist/facts/index.js +1 -1
- package/dist/files/index.cjs +1 -1
- package/dist/files/index.js +1 -1
- package/dist/home/index.cjs +23 -178
- package/dist/home/index.cjs.map +1 -1
- package/dist/home/index.js +3 -164
- package/dist/home/index.js.map +1 -1
- package/dist/index.cjs +606 -634
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +23 -62
- package/dist/index.js.map +1 -1
- package/dist/shell/index.cjs +73 -73
- package/dist/shell/index.js +4 -4
- package/dist/site/index.cjs +17 -17
- package/dist/site/index.js +1 -1
- package/dist/studio/index.cjs +10 -10
- package/dist/studio/index.js +7 -7
- package/dist/tips/index.d.ts +1 -1
- package/dist/tips/visibility.d.ts +7 -0
- package/dist/workflow-canvas/index.cjs +27 -27
- package/dist/workflow-canvas/index.cjs.map +1 -1
- package/dist/workflow-canvas/index.js +12 -12
- package/dist/workflow-canvas/index.js.map +1 -1
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +5 -5
- package/dist/ConnectedNativeDocxComparison-L3R3ROPZ.cjs.map +0 -1
- package/dist/ConnectedNativeDocxComparison-PSAP3Q7D.js.map +0 -1
- package/dist/ConnectedNativeDocxEditor-PI6QTPXZ.js.map +0 -1
- package/dist/ConnectedNativeDocxEditor-VDBC4XRT.cjs.map +0 -1
- package/dist/ConnectedStreamedWordArtifact-V4MTKVNE.js.map +0 -1
- package/dist/ConnectedStreamedWordArtifact-YSW6D7AG.cjs.map +0 -1
- package/dist/chunk-4CI42DCG.js.map +0 -1
- package/dist/chunk-5EGTGHBW.js.map +0 -1
- package/dist/chunk-7MOQO6NO.cjs.map +0 -1
- package/dist/chunk-GPYLXEZO.js.map +0 -1
- package/dist/chunk-ITRI47DF.cjs.map +0 -1
- package/dist/chunk-JSHBC47B.cjs.map +0 -1
- package/dist/chunk-LNH6NYG4.js.map +0 -1
- package/dist/chunk-OM5IVNEW.cjs.map +0 -1
- package/dist/chunk-ROWJU4SK.cjs.map +0 -1
- package/dist/chunk-UIUWCTIZ.js.map +0 -1
- package/dist/chunk-YQEXBJVO.js.map +0 -1
- package/dist/chunk-ZZHMJXM5.cjs.map +0 -1
package/dist/home/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkZ4KXF7WS_cjs = require('../chunk-Z4KXF7WS.cjs');
|
|
5
5
|
var chunkOU3RGQFX_cjs = require('../chunk-OU3RGQFX.cjs');
|
|
6
6
|
var chunkREH7PX3N_cjs = require('../chunk-REH7PX3N.cjs');
|
|
7
7
|
var chunkH32DV7XS_cjs = require('../chunk-H32DV7XS.cjs');
|
|
@@ -17,7 +17,6 @@ var chunkMHVNT4J3_cjs = require('../chunk-MHVNT4J3.cjs');
|
|
|
17
17
|
require('../chunk-DES3K4SD.cjs');
|
|
18
18
|
var ui = require('@arbidocs/react/ui');
|
|
19
19
|
var jsxRuntime = require('react/jsx-runtime');
|
|
20
|
-
var lucideReact = require('lucide-react');
|
|
21
20
|
|
|
22
21
|
function Greeting({
|
|
23
22
|
eyebrow,
|
|
@@ -54,166 +53,6 @@ function Greeting({
|
|
|
54
53
|
}
|
|
55
54
|
) });
|
|
56
55
|
}
|
|
57
|
-
var DEFAULT_GETTING_STARTED_STRIP_LABELS = {
|
|
58
|
-
allSet: (firstName) => `You\u2019re all set${firstName ? `, ${firstName}` : ""}!`,
|
|
59
|
-
finished: (stepCount) => `You\u2019ve finished the ${stepCount} getting-started steps \u2014 explore away.`,
|
|
60
|
-
done: "Done",
|
|
61
|
-
welcome: (firstName) => `Welcome, ${firstName}`,
|
|
62
|
-
getStarted: "Get started with ARBI",
|
|
63
|
-
replayDone: "Nicely done \u2014 that\u2019s the tour again",
|
|
64
|
-
almostThere: "Almost there",
|
|
65
|
-
dismiss: "Dismiss getting started"
|
|
66
|
-
};
|
|
67
|
-
function circleClasses(done, isCurrent) {
|
|
68
|
-
if (done) return "border-primary bg-primary text-primary-foreground";
|
|
69
|
-
if (isCurrent) return "border-primary bg-accent text-accent-foreground";
|
|
70
|
-
return "border-border text-muted-foreground";
|
|
71
|
-
}
|
|
72
|
-
function Journey({
|
|
73
|
-
steps,
|
|
74
|
-
currentStepId,
|
|
75
|
-
testId
|
|
76
|
-
}) {
|
|
77
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
78
|
-
"ol",
|
|
79
|
-
{
|
|
80
|
-
className: "hidden min-w-0 shrink items-center overflow-x-auto sm:flex",
|
|
81
|
-
"data-slot": "journey",
|
|
82
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "getting-started-stepper" }),
|
|
83
|
-
children: steps.map((step, i) => {
|
|
84
|
-
const isCurrent = step.id === currentStepId;
|
|
85
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
86
|
-
"li",
|
|
87
|
-
{
|
|
88
|
-
className: "flex shrink-0 items-center",
|
|
89
|
-
"data-testid": chunkMHVNT4J3_cjs.prefixedTestId(testId, step.id, {
|
|
90
|
-
testId: `getting-started-stepper-${step.id}`
|
|
91
|
-
}),
|
|
92
|
-
"data-done": step.done,
|
|
93
|
-
"data-current": isCurrent,
|
|
94
|
-
children: [
|
|
95
|
-
i > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
96
|
-
"span",
|
|
97
|
-
{
|
|
98
|
-
className: ui.cn(
|
|
99
|
-
"h-0 w-3 shrink-0 border-t-2 border-solid transition-colors duration-500",
|
|
100
|
-
steps[i - 1].done ? "border-primary" : "border-border"
|
|
101
|
-
)
|
|
102
|
-
}
|
|
103
|
-
),
|
|
104
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1.5", children: [
|
|
105
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
106
|
-
"span",
|
|
107
|
-
{
|
|
108
|
-
className: ui.cn(
|
|
109
|
-
"flex size-6 shrink-0 items-center justify-center rounded-full border-2 text-xs font-semibold tabular-nums transition-colors",
|
|
110
|
-
circleClasses(step.done, isCurrent)
|
|
111
|
-
),
|
|
112
|
-
children: i + 1
|
|
113
|
-
}
|
|
114
|
-
),
|
|
115
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
116
|
-
"span",
|
|
117
|
-
{
|
|
118
|
-
className: ui.cn(
|
|
119
|
-
"text-sm font-medium",
|
|
120
|
-
step.done ? "text-muted-foreground line-through" : isCurrent ? "text-foreground" : "text-muted-foreground"
|
|
121
|
-
),
|
|
122
|
-
children: step.title
|
|
123
|
-
}
|
|
124
|
-
),
|
|
125
|
-
isCurrent && !step.done && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground", children: [
|
|
126
|
-
"\u2014 ",
|
|
127
|
-
step.description
|
|
128
|
-
] })
|
|
129
|
-
] })
|
|
130
|
-
]
|
|
131
|
-
},
|
|
132
|
-
step.id
|
|
133
|
-
);
|
|
134
|
-
})
|
|
135
|
-
}
|
|
136
|
-
);
|
|
137
|
-
}
|
|
138
|
-
function GettingStartedStrip({
|
|
139
|
-
steps,
|
|
140
|
-
currentStepId,
|
|
141
|
-
firstName,
|
|
142
|
-
isReplay = false,
|
|
143
|
-
isComplete = false,
|
|
144
|
-
onDismiss,
|
|
145
|
-
logo,
|
|
146
|
-
labels,
|
|
147
|
-
className,
|
|
148
|
-
testId,
|
|
149
|
-
testIds
|
|
150
|
-
}) {
|
|
151
|
-
const l = { ...DEFAULT_GETTING_STARTED_STRIP_LABELS, ...labels };
|
|
152
|
-
if (isComplete && !isReplay) {
|
|
153
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
154
|
-
"div",
|
|
155
|
-
{
|
|
156
|
-
className: ui.cn("flex min-w-0 items-center gap-3", className),
|
|
157
|
-
"data-slot": "getting-started-strip",
|
|
158
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "getting-started" }),
|
|
159
|
-
children: [
|
|
160
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.PartyPopper, { className: "size-5 shrink-0 text-primary", "aria-hidden": "true" }),
|
|
161
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
162
|
-
"p",
|
|
163
|
-
{
|
|
164
|
-
className: "min-w-0 shrink truncate text-base",
|
|
165
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.complete, { testId: "getting-started-complete" }),
|
|
166
|
-
children: [
|
|
167
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold text-foreground", children: l.allSet(firstName) }),
|
|
168
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "mx-1.5 text-muted-foreground", children: "\xB7" }),
|
|
169
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: l.finished(steps.length) })
|
|
170
|
-
]
|
|
171
|
-
}
|
|
172
|
-
),
|
|
173
|
-
/* @__PURE__ */ jsxRuntime.jsx(Journey, { steps, currentStepId, testId: testIds?.stepper }),
|
|
174
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1" }),
|
|
175
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
176
|
-
"button",
|
|
177
|
-
{
|
|
178
|
-
type: "button",
|
|
179
|
-
onClick: onDismiss,
|
|
180
|
-
className: "shrink-0 rounded-md bg-muted px-3 py-1.5 text-sm font-medium text-foreground transition-colors hover:bg-accent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring pointer-coarse:min-h-11",
|
|
181
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.done, { testId: "getting-started-done" }),
|
|
182
|
-
children: l.done
|
|
183
|
-
}
|
|
184
|
-
)
|
|
185
|
-
]
|
|
186
|
-
}
|
|
187
|
-
);
|
|
188
|
-
}
|
|
189
|
-
const greeting = firstName ? l.welcome(firstName) : l.getStarted;
|
|
190
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
191
|
-
"div",
|
|
192
|
-
{
|
|
193
|
-
className: ui.cn("flex min-w-0 items-center gap-3", className),
|
|
194
|
-
"data-slot": "getting-started-strip",
|
|
195
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "getting-started" }),
|
|
196
|
-
children: [
|
|
197
|
-
logo,
|
|
198
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-base font-semibold text-foreground", children: greeting }),
|
|
199
|
-
/* @__PURE__ */ jsxRuntime.jsx(Journey, { steps, currentStepId, testId: testIds?.stepper }),
|
|
200
|
-
!currentStepId && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 flex-1 truncate text-sm text-muted-foreground", children: isReplay ? l.replayDone : l.almostThere }),
|
|
201
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1" }),
|
|
202
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
203
|
-
"button",
|
|
204
|
-
{
|
|
205
|
-
type: "button",
|
|
206
|
-
onClick: onDismiss,
|
|
207
|
-
className: "shrink-0 rounded-md p-1 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring pointer-coarse:p-3",
|
|
208
|
-
"aria-label": l.dismiss,
|
|
209
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.dismiss, { testId: "getting-started-dismiss" }),
|
|
210
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "size-4" })
|
|
211
|
-
}
|
|
212
|
-
)
|
|
213
|
-
]
|
|
214
|
-
}
|
|
215
|
-
);
|
|
216
|
-
}
|
|
217
56
|
function ActionMenuDialog({
|
|
218
57
|
open,
|
|
219
58
|
onOpenChange,
|
|
@@ -372,59 +211,67 @@ function CardHeaderBar({
|
|
|
372
211
|
|
|
373
212
|
Object.defineProperty(exports, "CreateTile", {
|
|
374
213
|
enumerable: true,
|
|
375
|
-
get: function () { return
|
|
214
|
+
get: function () { return chunkZ4KXF7WS_cjs.CreateTile; }
|
|
376
215
|
});
|
|
377
216
|
Object.defineProperty(exports, "DASHBOARD_QUIET_ACTION_CLASS", {
|
|
378
217
|
enumerable: true,
|
|
379
|
-
get: function () { return
|
|
218
|
+
get: function () { return chunkZ4KXF7WS_cjs.DASHBOARD_QUIET_ACTION_CLASS; }
|
|
219
|
+
});
|
|
220
|
+
Object.defineProperty(exports, "DEFAULT_GETTING_STARTED_STRIP_LABELS", {
|
|
221
|
+
enumerable: true,
|
|
222
|
+
get: function () { return chunkZ4KXF7WS_cjs.DEFAULT_GETTING_STARTED_STRIP_LABELS; }
|
|
380
223
|
});
|
|
381
224
|
Object.defineProperty(exports, "DashboardAction", {
|
|
382
225
|
enumerable: true,
|
|
383
|
-
get: function () { return
|
|
226
|
+
get: function () { return chunkZ4KXF7WS_cjs.DashboardAction; }
|
|
384
227
|
});
|
|
385
228
|
Object.defineProperty(exports, "DashboardBand", {
|
|
386
229
|
enumerable: true,
|
|
387
|
-
get: function () { return
|
|
230
|
+
get: function () { return chunkZ4KXF7WS_cjs.DashboardBand; }
|
|
388
231
|
});
|
|
389
232
|
Object.defineProperty(exports, "DashboardColumns", {
|
|
390
233
|
enumerable: true,
|
|
391
|
-
get: function () { return
|
|
234
|
+
get: function () { return chunkZ4KXF7WS_cjs.DashboardColumns; }
|
|
392
235
|
});
|
|
393
236
|
Object.defineProperty(exports, "DashboardRoot", {
|
|
394
237
|
enumerable: true,
|
|
395
|
-
get: function () { return
|
|
238
|
+
get: function () { return chunkZ4KXF7WS_cjs.DashboardRoot; }
|
|
396
239
|
});
|
|
397
240
|
Object.defineProperty(exports, "FactMark", {
|
|
398
241
|
enumerable: true,
|
|
399
|
-
get: function () { return
|
|
242
|
+
get: function () { return chunkZ4KXF7WS_cjs.FactMark; }
|
|
400
243
|
});
|
|
401
244
|
Object.defineProperty(exports, "FactsStrip", {
|
|
402
245
|
enumerable: true,
|
|
403
|
-
get: function () { return
|
|
246
|
+
get: function () { return chunkZ4KXF7WS_cjs.FactsStrip; }
|
|
247
|
+
});
|
|
248
|
+
Object.defineProperty(exports, "GettingStartedStrip", {
|
|
249
|
+
enumerable: true,
|
|
250
|
+
get: function () { return chunkZ4KXF7WS_cjs.GettingStartedStrip; }
|
|
404
251
|
});
|
|
405
252
|
Object.defineProperty(exports, "HomeCenteredColumn", {
|
|
406
253
|
enumerable: true,
|
|
407
|
-
get: function () { return
|
|
254
|
+
get: function () { return chunkZ4KXF7WS_cjs.HomeCenteredColumn; }
|
|
408
255
|
});
|
|
409
256
|
Object.defineProperty(exports, "HomeCenteredScroll", {
|
|
410
257
|
enumerable: true,
|
|
411
|
-
get: function () { return
|
|
258
|
+
get: function () { return chunkZ4KXF7WS_cjs.HomeCenteredScroll; }
|
|
412
259
|
});
|
|
413
260
|
Object.defineProperty(exports, "HomeFrame", {
|
|
414
261
|
enumerable: true,
|
|
415
|
-
get: function () { return
|
|
262
|
+
get: function () { return chunkZ4KXF7WS_cjs.HomeFrame; }
|
|
416
263
|
});
|
|
417
264
|
Object.defineProperty(exports, "HomeLoadError", {
|
|
418
265
|
enumerable: true,
|
|
419
|
-
get: function () { return
|
|
266
|
+
get: function () { return chunkZ4KXF7WS_cjs.HomeLoadError; }
|
|
420
267
|
});
|
|
421
268
|
Object.defineProperty(exports, "HomeMain", {
|
|
422
269
|
enumerable: true,
|
|
423
|
-
get: function () { return
|
|
270
|
+
get: function () { return chunkZ4KXF7WS_cjs.HomeMain; }
|
|
424
271
|
});
|
|
425
272
|
Object.defineProperty(exports, "RecentList", {
|
|
426
273
|
enumerable: true,
|
|
427
|
-
get: function () { return
|
|
274
|
+
get: function () { return chunkZ4KXF7WS_cjs.RecentList; }
|
|
428
275
|
});
|
|
429
276
|
Object.defineProperty(exports, "BulkDeleteButton", {
|
|
430
277
|
enumerable: true,
|
|
@@ -524,8 +371,6 @@ Object.defineProperty(exports, "useScopeSelection", {
|
|
|
524
371
|
});
|
|
525
372
|
exports.ActionMenuDialog = ActionMenuDialog;
|
|
526
373
|
exports.CardHeaderBar = CardHeaderBar;
|
|
527
|
-
exports.DEFAULT_GETTING_STARTED_STRIP_LABELS = DEFAULT_GETTING_STARTED_STRIP_LABELS;
|
|
528
|
-
exports.GettingStartedStrip = GettingStartedStrip;
|
|
529
374
|
exports.Greeting = Greeting;
|
|
530
375
|
//# sourceMappingURL=index.cjs.map
|
|
531
376
|
//# sourceMappingURL=index.cjs.map
|
package/dist/home/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/home/Greeting.tsx","../../src/home/GettingStartedStrip.tsx","../../src/home/ActionMenuDialog.tsx","../../src/home/CardHeaderBar.tsx"],"names":["jsxs","cn","jsx","testIdOr","prefixedTestId","PartyPopper","X","Dialog","DialogContent","QuickActionDialogHeader"],"mappings":"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","file":"index.cjs","sourcesContent":["import type { ReactNode } from 'react'\nimport { cn } from '@arbidocs/react/ui'\n\nexport interface GreetingProps {\n /** Small line above the title, e.g. today's date. */\n eyebrow?: string\n title: string\n description?: string\n /** Trailing controls (view toggle, primary action). */\n actions?: ReactNode\n className?: string\n testId?: string\n eyebrowTestId?: string\n titleTestId?: string\n}\n\n/**\n * The home page header: eyebrow, greeting, one muted line and trailing\n * actions, centred in the same column as the content below it.\n */\nexport function Greeting({\n eyebrow,\n title,\n description,\n actions,\n className,\n testId,\n eyebrowTestId,\n titleTestId,\n}: GreetingProps) {\n return (\n <div className=\"bg-background\" data-slot=\"greeting\" data-testid={testId}>\n <div\n className={cn(\n 'mx-auto flex max-w-6xl flex-wrap items-end justify-between gap-x-4 gap-y-3 px-4 pb-4 pt-8 sm:px-8',\n className\n )}\n >\n <div className=\"min-w-0\">\n {eyebrow && (\n <p className=\"text-xs text-muted-foreground\" data-testid={eyebrowTestId}>\n {eyebrow}\n </p>\n )}\n <h1\n className=\"mt-1 break-words text-xl font-semibold tracking-tight text-foreground sm:text-2xl\"\n data-testid={titleTestId}\n >\n {title}\n </h1>\n {description && <p className=\"mt-1 text-sm text-muted-foreground\">{description}</p>}\n </div>\n {actions}\n </div>\n </div>\n )\n}\n","import type { ReactNode } from 'react'\nimport { PartyPopper, X } from 'lucide-react'\nimport { cn } from '@arbidocs/react/ui'\nimport { prefixedTestId, testIdOr } from '../chat/test-id'\n\n/** Fixed strings of the strip. */\nexport interface GettingStartedStripLabels {\n /** The close banner's headline. */\n allSet: (firstName?: string) => string\n /** The close banner's second line. */\n finished: (stepCount: number) => string\n done: string\n welcome: (firstName: string) => string\n getStarted: string\n replayDone: string\n almostThere: string\n dismiss: string\n}\n\nexport const DEFAULT_GETTING_STARTED_STRIP_LABELS: GettingStartedStripLabels = {\n allSet: (firstName) => `You’re all set${firstName ? `, ${firstName}` : ''}!`,\n finished: (stepCount) => `You’ve finished the ${stepCount} getting-started steps — explore away.`,\n done: 'Done',\n welcome: (firstName) => `Welcome, ${firstName}`,\n getStarted: 'Get started with ARBI',\n replayDone: 'Nicely done — that’s the tour again',\n almostThere: 'Almost there',\n dismiss: 'Dismiss getting started',\n}\n\nexport interface JourneyStep {\n id: string\n title: string\n /** The instruction shown beside the CURRENT step. */\n description: string\n done: boolean\n}\n\nexport interface GettingStartedStripProps {\n /** The core steps, in order. Numbers are their position. */\n steps: JourneyStep[]\n /** The first step not yet done; undefined when all are. */\n currentStepId?: string\n firstName?: string\n /** Replaying the tour: the finished banner is skipped and copy says so. */\n isReplay?: boolean\n /** Every core step is done (and this is not a replay): show the close banner. */\n isComplete?: boolean\n onDismiss: () => void\n /** Brand mark before the greeting. */\n logo?: ReactNode\n labels?: Partial<GettingStartedStripLabels>\n className?: string\n /** Root test id (default `getting-started`). */\n testId?: string\n /** Sub-element ids; defaults are the current ids. The per-step id is `<stepper>-<step id>`. */\n testIds?: Partial<Record<'stepper' | 'complete' | 'done' | 'dismiss', string>>\n}\n\n// Full literal class strings per state so Tailwind's scanner sees every class.\n// Navy = progress/selection; cyan is reserved for \"this is ARBI/AI\".\nfunction circleClasses(done: boolean, isCurrent: boolean): string {\n if (done) return 'border-primary bg-primary text-primary-foreground'\n if (isCurrent) return 'border-primary bg-accent text-accent-foreground'\n return 'border-border text-muted-foreground'\n}\n\n/**\n * The numbered journey. A step's number never turns into a check: a filled\n * circle plus a struck-through title says \"done\", so status and identity both\n * stay legible without a second glyph. The current step also carries its\n * instruction, the one thing this row tells you to go do.\n */\nfunction Journey({\n steps,\n currentStepId,\n testId,\n}: {\n steps: JourneyStep[]\n currentStepId?: string\n testId?: string\n}) {\n return (\n <ol\n className=\"hidden min-w-0 shrink items-center overflow-x-auto sm:flex\"\n data-slot=\"journey\"\n data-testid={testIdOr(testId, { testId: 'getting-started-stepper' })}\n >\n {steps.map((step, i) => {\n const isCurrent = step.id === currentStepId\n return (\n <li\n key={step.id}\n className=\"flex shrink-0 items-center\"\n data-testid={prefixedTestId(testId, step.id, {\n testId: `getting-started-stepper-${step.id}`,\n })}\n data-done={step.done}\n data-current={isCurrent}\n >\n {i > 0 && (\n <span\n className={cn(\n 'h-0 w-3 shrink-0 border-t-2 border-solid transition-colors duration-500',\n steps[i - 1].done ? 'border-primary' : 'border-border'\n )}\n />\n )}\n <span className=\"flex items-center gap-1.5\">\n <span\n className={cn(\n 'flex size-6 shrink-0 items-center justify-center rounded-full border-2 text-xs font-semibold tabular-nums transition-colors',\n circleClasses(step.done, isCurrent)\n )}\n >\n {i + 1}\n </span>\n <span\n className={cn(\n 'text-sm font-medium',\n step.done\n ? 'text-muted-foreground line-through'\n : isCurrent\n ? 'text-foreground'\n : 'text-muted-foreground'\n )}\n >\n {step.title}\n </span>\n {isCurrent && !step.done && (\n <span className=\"text-muted-foreground\">— {step.description}</span>\n )}\n </span>\n </li>\n )\n })}\n </ol>\n )\n}\n\n/**\n * First-run activation row: greeting, the numbered journey and the current\n * step's instruction, all in ONE bare row (no container, no border), so it can\n * live in a topbar slot. A guide, not a shortcut: it says WHERE to go and the\n * host detects completion itself.\n */\nexport function GettingStartedStrip({\n steps,\n currentStepId,\n firstName,\n isReplay = false,\n isComplete = false,\n onDismiss,\n logo,\n labels,\n className,\n testId,\n testIds,\n}: GettingStartedStripProps) {\n const l = { ...DEFAULT_GETTING_STARTED_STRIP_LABELS, ...labels }\n if (isComplete && !isReplay) {\n return (\n <div\n className={cn('flex min-w-0 items-center gap-3', className)}\n data-slot=\"getting-started-strip\"\n data-testid={testIdOr(testId, { testId: 'getting-started' })}\n >\n <PartyPopper className=\"size-5 shrink-0 text-primary\" aria-hidden=\"true\" />\n <p\n className=\"min-w-0 shrink truncate text-base\"\n data-testid={testIdOr(testIds?.complete, { testId: 'getting-started-complete' })}\n >\n <span className=\"font-semibold text-foreground\">{l.allSet(firstName)}</span>\n <span className=\"mx-1.5 text-muted-foreground\">·</span>\n <span className=\"text-muted-foreground\">{l.finished(steps.length)}</span>\n </p>\n <Journey steps={steps} currentStepId={currentStepId} testId={testIds?.stepper} />\n <div className=\"flex-1\" />\n <button\n type=\"button\"\n onClick={onDismiss}\n className=\"shrink-0 rounded-md bg-muted px-3 py-1.5 text-sm font-medium text-foreground transition-colors hover:bg-accent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring pointer-coarse:min-h-11\"\n data-testid={testIdOr(testIds?.done, { testId: 'getting-started-done' })}\n >\n {l.done}\n </button>\n </div>\n )\n }\n\n const greeting = firstName ? l.welcome(firstName) : l.getStarted\n\n return (\n <div\n className={cn('flex min-w-0 items-center gap-3', className)}\n data-slot=\"getting-started-strip\"\n data-testid={testIdOr(testId, { testId: 'getting-started' })}\n >\n {logo}\n <span className=\"shrink-0 text-base font-semibold text-foreground\">{greeting}</span>\n\n <Journey steps={steps} currentStepId={currentStepId} testId={testIds?.stepper} />\n\n {/* Reachable two ways: everything is done but not yet acknowledged (a\n brief instant before the banner takes over), or during a replay you\n have redone all the steps again. */}\n {!currentStepId && (\n <span className=\"min-w-0 flex-1 truncate text-sm text-muted-foreground\">\n {isReplay ? l.replayDone : l.almostThere}\n </span>\n )}\n <div className=\"flex-1\" />\n\n <button\n type=\"button\"\n onClick={onDismiss}\n className=\"shrink-0 rounded-md p-1 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring pointer-coarse:p-3\"\n aria-label={l.dismiss}\n data-testid={testIdOr(testIds?.dismiss, { testId: 'getting-started-dismiss' })}\n >\n <X className=\"size-4\" />\n </button>\n </div>\n )\n}\n","import type { ReactNode } from 'react'\nimport { Dialog, DialogContent, cn } from '@arbidocs/react/ui'\nimport { prefixedTestId, testIdOr } from '../chat/test-id'\nimport { QuickActionDialogHeader } from './QuickActionDialogHeader'\n\nexport interface ActionMenuItem {\n id: string\n label: string\n description?: string\n icon?: ReactNode\n}\n\nexport interface ActionMenuDialogProps {\n open: boolean\n onOpenChange: (open: boolean) => void\n /** Header mark, sized by the caller at `size-5`. */\n icon?: ReactNode\n title: string\n description: string\n items: ActionMenuItem[]\n /** A choice was made; the host performs it (the dialog does not close itself). */\n onPick: (id: string) => void\n /** Dialog id; items are `<prefix>-<item id>` (default `action-menu-item-<id>`). */\n testId?: string\n itemTestId?: string\n}\n\n/**\n * A plain menu of one-click actions in a dialog: no form, no schema, nothing generative. Use it\n * for \"create new\" style choices; anything that asks questions belongs to a workflow or operation.\n */\nexport function ActionMenuDialog({\n open,\n onOpenChange,\n icon,\n title,\n description,\n items,\n onPick,\n testId,\n itemTestId,\n}: ActionMenuDialogProps) {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent\n presentation=\"sheet\"\n className=\"sm:max-w-lg\"\n data-testid={testIdOr(testId, { testId: 'action-menu-dialog' })}\n >\n <QuickActionDialogHeader icon={icon} title={title} description={description} />\n <div className=\"grid grid-cols-2 gap-3 pt-1\" role=\"menu\" aria-label={title}>\n {items.map((item) => (\n <button\n key={item.id}\n type=\"button\"\n role=\"menuitem\"\n onClick={() => onPick(item.id)}\n data-testid={prefixedTestId(itemTestId, item.id, {\n testId: `action-menu-item-${item.id}`,\n })}\n className={cn(\n 'flex min-h-32 flex-col items-center justify-center gap-2 rounded-lg border border-border bg-card p-3 text-center transition-colors',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring [&:hover]:border-primary [&:hover]:bg-muted'\n )}\n >\n {item.icon && <span className=\"text-muted-foreground\">{item.icon}</span>}\n <span className=\"text-sm font-medium text-foreground\">{item.label}</span>\n {item.description && (\n <span className=\"text-xs text-muted-foreground\">{item.description}</span>\n )}\n </button>\n ))}\n </div>\n </DialogContent>\n </Dialog>\n )\n}\n","import type { MouseEvent, ReactNode } from 'react'\nimport { cn } from '@arbidocs/react/ui'\nimport { testIdOr } from '../chat/test-id'\n\nexport interface CardHeaderBarAction {\n icon: ReactNode\n onClick: (e: MouseEvent) => void\n ariaLabel?: string\n}\n\nexport interface CardHeaderBarProps {\n icon: ReactNode\n title: string\n subtitle?: string\n /** Filled variant only: background class (default: the primary token). */\n bgColor?: string\n /** Rendered under the title. */\n badge?: ReactNode\n /** Wrap the title in a pill. */\n titleBadge?: boolean\n titleBadgeColor?: string\n actionButton?: CardHeaderBarAction\n /**\n * `filled` (default): solid fill with on-primary text.\n * `plain`: tonal fill, foreground text and an optional coloured bottom\n * divider (`accentClass`), so the header reads as part of the card.\n */\n variant?: 'filled' | 'plain'\n /** Plain variant only: border colour class for the bottom divider. */\n accentClass?: string\n /** Inline element right after the title text. */\n titleTrailing?: ReactNode\n className?: string\n /** Root test id (default `card-header`). */\n testId?: string\n /** Sub-element ids; defaults are the current ids. */\n testIds?: Partial<Record<'title' | 'subtitle' | 'actionButton', string>>\n}\n\n/**\n * Header bar for card-like tiles: icon, title, optional subtitle and one\n * action button (44px on touch). Named `CardHeaderBar` to stay clear of the\n * kit's structural `CardHeader`.\n */\nexport function CardHeaderBar({\n icon,\n title,\n subtitle,\n bgColor = 'bg-primary',\n badge,\n titleBadge = false,\n titleBadgeColor,\n actionButton,\n variant = 'filled',\n accentClass,\n titleTrailing,\n className,\n testId,\n testIds,\n}: CardHeaderBarProps) {\n const plain = variant === 'plain'\n const titleTestId = testIdOr(testIds?.title, { testId: 'card-header-title' })\n const containerBg = plain\n ? cn('border border-border bg-card shadow-xs', accentClass && ['border-b', accentClass])\n : bgColor\n const titleColor = plain ? 'text-foreground' : 'text-primary-foreground'\n const subtitleColor = plain ? 'text-muted-foreground' : 'text-primary-foreground opacity-80'\n const iconColor = plain ? 'text-foreground' : 'text-primary-foreground'\n // No subtitle: a single title line, so the header stays compact.\n const heightClass = subtitle ? 'h-14' : 'h-12'\n\n return (\n <div\n className={cn('relative w-full', heightClass, containerBg, className)}\n data-slot=\"card-header-bar\"\n data-testid={testIdOr(testId, { testId: 'card-header' })}\n >\n <div\n className={cn(\n 'absolute left-4 top-1/2 flex -translate-y-1/2 items-center gap-2',\n actionButton ? 'right-16' : 'right-4'\n )}\n >\n <div className={cn('-ml-1 flex shrink-0 items-center [&>svg]:size-8', iconColor)}>\n {icon}\n </div>\n <div className=\"flex min-w-0 flex-1 flex-col justify-center\">\n {titleBadge ? (\n <div\n className={cn(\n 'inline-flex items-center self-start rounded-md border px-2 py-0.5',\n plain ? 'border-transparent bg-background' : 'border-primary-foreground/30'\n )}\n style={titleBadgeColor ? { backgroundColor: titleBadgeColor } : undefined}\n >\n <div\n className={cn(\n 'truncate text-base font-semibold capitalize leading-none',\n titleColor\n )}\n data-testid={titleTestId}\n title={title}\n >\n {title}\n </div>\n </div>\n ) : (\n <div className=\"flex min-w-0 items-center gap-1.5\">\n <span\n className={cn(\n 'truncate text-base font-semibold capitalize leading-none',\n titleColor\n )}\n data-testid={titleTestId}\n title={title}\n >\n {title}\n </span>\n {titleTrailing && (\n <span className=\"flex shrink-0 items-center gap-1\">{titleTrailing}</span>\n )}\n </div>\n )}\n {badge && <div className=\"shrink-0\">{badge}</div>}\n {subtitle && (\n <div\n className={cn('truncate text-sm', subtitleColor)}\n data-testid={testIdOr(testIds?.subtitle, { testId: 'card-header-subtitle' })}\n title={subtitle}\n >\n <span className=\"opacity-60\"># </span>\n {subtitle}\n </div>\n )}\n </div>\n </div>\n {actionButton && (\n <div className={cn('absolute top-1/2 -translate-y-1/2', plain ? 'right-2.5' : 'right-4')}>\n <button\n type=\"button\"\n className={cn(\n 'flex cursor-pointer items-center justify-center rounded-md transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring pointer-coarse:size-11',\n plain ? 'p-1.5 hover:bg-foreground/5' : 'size-8 bg-card hover:bg-card/90'\n )}\n onClick={actionButton.onClick}\n aria-label={actionButton.ariaLabel}\n data-testid={testIdOr(testIds?.actionButton, { testId: 'card-header-action-button' })}\n >\n <div className={cn('[&>svg]:size-5', !plain && 'text-foreground')}>\n {actionButton.icon}\n </div>\n </button>\n </div>\n )}\n </div>\n )\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/home/Greeting.tsx","../../src/home/ActionMenuDialog.tsx","../../src/home/CardHeaderBar.tsx"],"names":["jsxs","cn","jsx","Dialog","DialogContent","testIdOr","QuickActionDialogHeader","prefixedTestId"],"mappings":";;;;;;;;;;;;;;;;;;;AAoBO,SAAS,QAAA,CAAS;AAAA,EACvB,OAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAAA,EAAkB;AAChB,EAAA,sCACG,KAAA,EAAA,EAAI,SAAA,EAAU,iBAAgB,WAAA,EAAU,UAAA,EAAW,eAAa,MAAA,EAC/D,QAAA,kBAAAA,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,KAAA;AAAA,QACT,mGAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAAD,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,SAAA,EACZ,QAAA,EAAA;AAAA,UAAA,OAAA,mCACE,GAAA,EAAA,EAAE,SAAA,EAAU,+BAAA,EAAgC,aAAA,EAAa,eACvD,QAAA,EAAA,OAAA,EACH,CAAA;AAAA,0BAEFE,cAAA;AAAA,YAAC,IAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAU,mFAAA;AAAA,cACV,aAAA,EAAa,WAAA;AAAA,cAEZ,QAAA,EAAA;AAAA;AAAA,WACH;AAAA,UACC,WAAA,oBAAeA,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,sCAAsC,QAAA,EAAA,WAAA,EAAY;AAAA,SAAA,EACjF,CAAA;AAAA,QACC;AAAA;AAAA;AAAA,GACH,EACF,CAAA;AAEJ;ACzBO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,IAAA;AAAA,EACA,YAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,EAA0B;AACxB,EAAA,uBACEA,cAAAA,CAACC,SAAA,EAAA,EAAO,IAAA,EAAY,cAClB,QAAA,kBAAAH,eAAAA;AAAA,IAACI,gBAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAa,OAAA;AAAA,MACb,SAAA,EAAU,aAAA;AAAA,MACV,eAAaC,0BAAA,CAAS,MAAA,EAAQ,EAAE,MAAA,EAAQ,sBAAsB,CAAA;AAAA,MAE9D,QAAA,EAAA;AAAA,wBAAAH,cAAAA,CAACI,yCAAA,EAAA,EAAwB,IAAA,EAAY,KAAA,EAAc,WAAA,EAA0B,CAAA;AAAA,wBAC7EJ,cAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,6BAAA,EAA8B,IAAA,EAAK,MAAA,EAAO,YAAA,EAAY,KAAA,EAClE,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,yBACVF,eAAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YAEC,IAAA,EAAK,QAAA;AAAA,YACL,IAAA,EAAK,UAAA;AAAA,YACL,OAAA,EAAS,MAAM,MAAA,CAAO,IAAA,CAAK,EAAE,CAAA;AAAA,YAC7B,aAAA,EAAaO,gCAAA,CAAe,UAAA,EAAY,IAAA,CAAK,EAAA,EAAI;AAAA,cAC/C,MAAA,EAAQ,CAAA,iBAAA,EAAoB,IAAA,CAAK,EAAE,CAAA;AAAA,aACpC,CAAA;AAAA,YACD,SAAA,EAAWN,KAAAA;AAAA,cACT,oIAAA;AAAA,cACA;AAAA,aACF;AAAA,YAEC,QAAA,EAAA;AAAA,cAAA,IAAA,CAAK,wBAAQC,cAAAA,CAAC,UAAK,SAAA,EAAU,uBAAA,EAAyB,eAAK,IAAA,EAAK,CAAA;AAAA,8BACjEA,cAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,qCAAA,EAAuC,eAAK,KAAA,EAAM,CAAA;AAAA,cACjE,IAAA,CAAK,+BACJA,cAAAA,CAAC,UAAK,SAAA,EAAU,+BAAA,EAAiC,eAAK,WAAA,EAAY;AAAA;AAAA,WAAA;AAAA,UAf/D,IAAA,CAAK;AAAA,SAkBb,CAAA,EACH;AAAA;AAAA;AAAA,GACF,EACF,CAAA;AAEJ;AChCO,SAAS,aAAA,CAAc;AAAA,EAC5B,IAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA,GAAU,YAAA;AAAA,EACV,KAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,eAAA;AAAA,EACA,YAAA;AAAA,EACA,OAAA,GAAU,QAAA;AAAA,EACV,WAAA;AAAA,EACA,aAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,EAAuB;AACrB,EAAA,MAAM,QAAQ,OAAA,KAAY,OAAA;AAC1B,EAAA,MAAM,cAAcG,0BAAA,CAAS,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,qBAAqB,CAAA;AAC5E,EAAA,MAAM,WAAA,GAAc,QAChBJ,KAAAA,CAAG,wCAAA,EAA0C,eAAe,CAAC,UAAA,EAAY,WAAW,CAAC,CAAA,GACrF,OAAA;AACJ,EAAA,MAAM,UAAA,GAAa,QAAQ,iBAAA,GAAoB,yBAAA;AAC/C,EAAA,MAAM,aAAA,GAAgB,QAAQ,uBAAA,GAA0B,oCAAA;AACxD,EAAA,MAAM,SAAA,GAAY,QAAQ,iBAAA,GAAoB,yBAAA;AAE9C,EAAA,MAAM,WAAA,GAAc,WAAW,MAAA,GAAS,MAAA;AAExC,EAAA,uBACED,eAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,KAAAA,CAAG,iBAAA,EAAmB,WAAA,EAAa,aAAa,SAAS,CAAA;AAAA,MACpE,WAAA,EAAU,iBAAA;AAAA,MACV,eAAaI,0BAAA,CAAS,MAAA,EAAQ,EAAE,MAAA,EAAQ,eAAe,CAAA;AAAA,MAEvD,QAAA,EAAA;AAAA,wBAAAL,eAAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAWC,KAAAA;AAAA,cACT,kEAAA;AAAA,cACA,eAAe,UAAA,GAAa;AAAA,aAC9B;AAAA,YAEA,QAAA,EAAA;AAAA,8BAAAC,eAAC,KAAA,EAAA,EAAI,SAAA,EAAWD,MAAG,iDAAA,EAAmD,SAAS,GAC5E,QAAA,EAAA,IAAA,EACH,CAAA;AAAA,8BACAD,eAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,6CAAA,EACZ,QAAA,EAAA;AAAA,gBAAA,UAAA,mBACCE,cAAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACC,SAAA,EAAWD,KAAAA;AAAA,sBACT,mEAAA;AAAA,sBACA,QAAQ,kCAAA,GAAqC;AAAA,qBAC/C;AAAA,oBACA,KAAA,EAAO,eAAA,GAAkB,EAAE,eAAA,EAAiB,iBAAgB,GAAI,MAAA;AAAA,oBAEhE,QAAA,kBAAAC,cAAAA;AAAA,sBAAC,KAAA;AAAA,sBAAA;AAAA,wBACC,SAAA,EAAWD,KAAAA;AAAA,0BACT,0DAAA;AAAA,0BACA;AAAA,yBACF;AAAA,wBACA,aAAA,EAAa,WAAA;AAAA,wBACb,KAAA;AAAA,wBAEC,QAAA,EAAA;AAAA;AAAA;AACH;AAAA,iBACF,mBAEAD,eAAAA,CAAC,KAAA,EAAA,EAAI,WAAU,mCAAA,EACb,QAAA,EAAA;AAAA,kCAAAE,cAAAA;AAAA,oBAAC,MAAA;AAAA,oBAAA;AAAA,sBACC,SAAA,EAAWD,KAAAA;AAAA,wBACT,0DAAA;AAAA,wBACA;AAAA,uBACF;AAAA,sBACA,aAAA,EAAa,WAAA;AAAA,sBACb,KAAA;AAAA,sBAEC,QAAA,EAAA;AAAA;AAAA,mBACH;AAAA,kBACC,iCACCC,cAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,oCAAoC,QAAA,EAAA,aAAA,EAAc;AAAA,iBAAA,EAEtE,CAAA;AAAA,gBAED,yBAASA,cAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,YAAY,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,gBAC1C,4BACCF,eAAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACC,SAAA,EAAWC,KAAAA,CAAG,kBAAA,EAAoB,aAAa,CAAA;AAAA,oBAC/C,eAAaI,0BAAA,CAAS,OAAA,EAAS,UAAU,EAAE,MAAA,EAAQ,wBAAwB,CAAA;AAAA,oBAC3E,KAAA,EAAO,QAAA;AAAA,oBAEP,QAAA,EAAA;AAAA,sCAAAH,cAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,YAAA,EAAa,QAAA,EAAA,IAAA,EAAE,CAAA;AAAA,sBAC9B;AAAA;AAAA;AAAA;AACH,eAAA,EAEJ;AAAA;AAAA;AAAA,SACF;AAAA,QACC,YAAA,oBACCA,cAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAWD,KAAAA,CAAG,mCAAA,EAAqC,KAAA,GAAQ,WAAA,GAAc,SAAS,CAAA,EACrF,QAAA,kBAAAC,cAAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,QAAA;AAAA,YACL,SAAA,EAAWD,KAAAA;AAAA,cACT,6KAAA;AAAA,cACA,QAAQ,6BAAA,GAAgC;AAAA,aAC1C;AAAA,YACA,SAAS,YAAA,CAAa,OAAA;AAAA,YACtB,cAAY,YAAA,CAAa,SAAA;AAAA,YACzB,eAAaI,0BAAA,CAAS,OAAA,EAAS,cAAc,EAAE,MAAA,EAAQ,6BAA6B,CAAA;AAAA,YAEpF,QAAA,kBAAAH,cAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAWD,KAAAA,CAAG,gBAAA,EAAkB,CAAC,KAAA,IAAS,iBAAiB,CAAA,EAC7D,QAAA,EAAA,YAAA,CAAa,IAAA,EAChB;AAAA;AAAA,SACF,EACF;AAAA;AAAA;AAAA,GAEJ;AAEJ","file":"index.cjs","sourcesContent":["import type { ReactNode } from 'react'\nimport { cn } from '@arbidocs/react/ui'\n\nexport interface GreetingProps {\n /** Small line above the title, e.g. today's date. */\n eyebrow?: string\n title: string\n description?: string\n /** Trailing controls (view toggle, primary action). */\n actions?: ReactNode\n className?: string\n testId?: string\n eyebrowTestId?: string\n titleTestId?: string\n}\n\n/**\n * The home page header: eyebrow, greeting, one muted line and trailing\n * actions, centred in the same column as the content below it.\n */\nexport function Greeting({\n eyebrow,\n title,\n description,\n actions,\n className,\n testId,\n eyebrowTestId,\n titleTestId,\n}: GreetingProps) {\n return (\n <div className=\"bg-background\" data-slot=\"greeting\" data-testid={testId}>\n <div\n className={cn(\n 'mx-auto flex max-w-6xl flex-wrap items-end justify-between gap-x-4 gap-y-3 px-4 pb-4 pt-8 sm:px-8',\n className\n )}\n >\n <div className=\"min-w-0\">\n {eyebrow && (\n <p className=\"text-xs text-muted-foreground\" data-testid={eyebrowTestId}>\n {eyebrow}\n </p>\n )}\n <h1\n className=\"mt-1 break-words text-xl font-semibold tracking-tight text-foreground sm:text-2xl\"\n data-testid={titleTestId}\n >\n {title}\n </h1>\n {description && <p className=\"mt-1 text-sm text-muted-foreground\">{description}</p>}\n </div>\n {actions}\n </div>\n </div>\n )\n}\n","import type { ReactNode } from 'react'\nimport { Dialog, DialogContent, cn } from '@arbidocs/react/ui'\nimport { prefixedTestId, testIdOr } from '../chat/test-id'\nimport { QuickActionDialogHeader } from './QuickActionDialogHeader'\n\nexport interface ActionMenuItem {\n id: string\n label: string\n description?: string\n icon?: ReactNode\n}\n\nexport interface ActionMenuDialogProps {\n open: boolean\n onOpenChange: (open: boolean) => void\n /** Header mark, sized by the caller at `size-5`. */\n icon?: ReactNode\n title: string\n description: string\n items: ActionMenuItem[]\n /** A choice was made; the host performs it (the dialog does not close itself). */\n onPick: (id: string) => void\n /** Dialog id; items are `<prefix>-<item id>` (default `action-menu-item-<id>`). */\n testId?: string\n itemTestId?: string\n}\n\n/**\n * A plain menu of one-click actions in a dialog: no form, no schema, nothing generative. Use it\n * for \"create new\" style choices; anything that asks questions belongs to a workflow or operation.\n */\nexport function ActionMenuDialog({\n open,\n onOpenChange,\n icon,\n title,\n description,\n items,\n onPick,\n testId,\n itemTestId,\n}: ActionMenuDialogProps) {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent\n presentation=\"sheet\"\n className=\"sm:max-w-lg\"\n data-testid={testIdOr(testId, { testId: 'action-menu-dialog' })}\n >\n <QuickActionDialogHeader icon={icon} title={title} description={description} />\n <div className=\"grid grid-cols-2 gap-3 pt-1\" role=\"menu\" aria-label={title}>\n {items.map((item) => (\n <button\n key={item.id}\n type=\"button\"\n role=\"menuitem\"\n onClick={() => onPick(item.id)}\n data-testid={prefixedTestId(itemTestId, item.id, {\n testId: `action-menu-item-${item.id}`,\n })}\n className={cn(\n 'flex min-h-32 flex-col items-center justify-center gap-2 rounded-lg border border-border bg-card p-3 text-center transition-colors',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring [&:hover]:border-primary [&:hover]:bg-muted'\n )}\n >\n {item.icon && <span className=\"text-muted-foreground\">{item.icon}</span>}\n <span className=\"text-sm font-medium text-foreground\">{item.label}</span>\n {item.description && (\n <span className=\"text-xs text-muted-foreground\">{item.description}</span>\n )}\n </button>\n ))}\n </div>\n </DialogContent>\n </Dialog>\n )\n}\n","import type { MouseEvent, ReactNode } from 'react'\nimport { cn } from '@arbidocs/react/ui'\nimport { testIdOr } from '../chat/test-id'\n\nexport interface CardHeaderBarAction {\n icon: ReactNode\n onClick: (e: MouseEvent) => void\n ariaLabel?: string\n}\n\nexport interface CardHeaderBarProps {\n icon: ReactNode\n title: string\n subtitle?: string\n /** Filled variant only: background class (default: the primary token). */\n bgColor?: string\n /** Rendered under the title. */\n badge?: ReactNode\n /** Wrap the title in a pill. */\n titleBadge?: boolean\n titleBadgeColor?: string\n actionButton?: CardHeaderBarAction\n /**\n * `filled` (default): solid fill with on-primary text.\n * `plain`: tonal fill, foreground text and an optional coloured bottom\n * divider (`accentClass`), so the header reads as part of the card.\n */\n variant?: 'filled' | 'plain'\n /** Plain variant only: border colour class for the bottom divider. */\n accentClass?: string\n /** Inline element right after the title text. */\n titleTrailing?: ReactNode\n className?: string\n /** Root test id (default `card-header`). */\n testId?: string\n /** Sub-element ids; defaults are the current ids. */\n testIds?: Partial<Record<'title' | 'subtitle' | 'actionButton', string>>\n}\n\n/**\n * Header bar for card-like tiles: icon, title, optional subtitle and one\n * action button (44px on touch). Named `CardHeaderBar` to stay clear of the\n * kit's structural `CardHeader`.\n */\nexport function CardHeaderBar({\n icon,\n title,\n subtitle,\n bgColor = 'bg-primary',\n badge,\n titleBadge = false,\n titleBadgeColor,\n actionButton,\n variant = 'filled',\n accentClass,\n titleTrailing,\n className,\n testId,\n testIds,\n}: CardHeaderBarProps) {\n const plain = variant === 'plain'\n const titleTestId = testIdOr(testIds?.title, { testId: 'card-header-title' })\n const containerBg = plain\n ? cn('border border-border bg-card shadow-xs', accentClass && ['border-b', accentClass])\n : bgColor\n const titleColor = plain ? 'text-foreground' : 'text-primary-foreground'\n const subtitleColor = plain ? 'text-muted-foreground' : 'text-primary-foreground opacity-80'\n const iconColor = plain ? 'text-foreground' : 'text-primary-foreground'\n // No subtitle: a single title line, so the header stays compact.\n const heightClass = subtitle ? 'h-14' : 'h-12'\n\n return (\n <div\n className={cn('relative w-full', heightClass, containerBg, className)}\n data-slot=\"card-header-bar\"\n data-testid={testIdOr(testId, { testId: 'card-header' })}\n >\n <div\n className={cn(\n 'absolute left-4 top-1/2 flex -translate-y-1/2 items-center gap-2',\n actionButton ? 'right-16' : 'right-4'\n )}\n >\n <div className={cn('-ml-1 flex shrink-0 items-center [&>svg]:size-8', iconColor)}>\n {icon}\n </div>\n <div className=\"flex min-w-0 flex-1 flex-col justify-center\">\n {titleBadge ? (\n <div\n className={cn(\n 'inline-flex items-center self-start rounded-md border px-2 py-0.5',\n plain ? 'border-transparent bg-background' : 'border-primary-foreground/30'\n )}\n style={titleBadgeColor ? { backgroundColor: titleBadgeColor } : undefined}\n >\n <div\n className={cn(\n 'truncate text-base font-semibold capitalize leading-none',\n titleColor\n )}\n data-testid={titleTestId}\n title={title}\n >\n {title}\n </div>\n </div>\n ) : (\n <div className=\"flex min-w-0 items-center gap-1.5\">\n <span\n className={cn(\n 'truncate text-base font-semibold capitalize leading-none',\n titleColor\n )}\n data-testid={titleTestId}\n title={title}\n >\n {title}\n </span>\n {titleTrailing && (\n <span className=\"flex shrink-0 items-center gap-1\">{titleTrailing}</span>\n )}\n </div>\n )}\n {badge && <div className=\"shrink-0\">{badge}</div>}\n {subtitle && (\n <div\n className={cn('truncate text-sm', subtitleColor)}\n data-testid={testIdOr(testIds?.subtitle, { testId: 'card-header-subtitle' })}\n title={subtitle}\n >\n <span className=\"opacity-60\"># </span>\n {subtitle}\n </div>\n )}\n </div>\n </div>\n {actionButton && (\n <div className={cn('absolute top-1/2 -translate-y-1/2', plain ? 'right-2.5' : 'right-4')}>\n <button\n type=\"button\"\n className={cn(\n 'flex cursor-pointer items-center justify-center rounded-md transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring pointer-coarse:size-11',\n plain ? 'p-1.5 hover:bg-foreground/5' : 'size-8 bg-card hover:bg-card/90'\n )}\n onClick={actionButton.onClick}\n aria-label={actionButton.ariaLabel}\n data-testid={testIdOr(testIds?.actionButton, { testId: 'card-header-action-button' })}\n >\n <div className={cn('[&>svg]:size-5', !plain && 'text-foreground')}>\n {actionButton.icon}\n </div>\n </button>\n </div>\n )}\n </div>\n )\n}\n"]}
|
package/dist/home/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export { CreateTile, DASHBOARD_QUIET_ACTION_CLASS, DashboardAction, DashboardBand, DashboardColumns, DashboardRoot, FactMark, FactsStrip, HomeCenteredColumn, HomeCenteredScroll, HomeFrame, HomeLoadError, HomeMain, RecentList } from '../chunk-
|
|
2
|
+
export { CreateTile, DASHBOARD_QUIET_ACTION_CLASS, DEFAULT_GETTING_STARTED_STRIP_LABELS, DashboardAction, DashboardBand, DashboardColumns, DashboardRoot, FactMark, FactsStrip, GettingStartedStrip, HomeCenteredColumn, HomeCenteredScroll, HomeFrame, HomeLoadError, HomeMain, RecentList } from '../chunk-APXW5XGA.js';
|
|
3
3
|
export { BulkDeleteButton, EmptyCellDash, GridCellRow, GridWithSelectionBar, PlainBandTitle, ProjectBandTitle, ProjectBreakdown, ProjectReadout } from '../chunk-RQKWYKZY.js';
|
|
4
4
|
export { CollapsibleSection, DEFAULT_COLLAPSIBLE_SECTION_LABELS } from '../chunk-5TDGVOR5.js';
|
|
5
5
|
export { DEFAULT_KEY_VALUE_ROW_LABELS, KeyValueContainer, KeyValueRow } from '../chunk-XRL4R2TT.js';
|
|
@@ -12,11 +12,10 @@ import '../chunk-NPLYHR2E.js';
|
|
|
12
12
|
import '../chunk-TJQSL4XV.js';
|
|
13
13
|
import '../chunk-3VCTVCAX.js';
|
|
14
14
|
import '../chunk-TX2ZICS7.js';
|
|
15
|
-
import {
|
|
15
|
+
import { prefixedTestId, testIdOr } from '../chunk-7F6CBP3Z.js';
|
|
16
16
|
import '../chunk-VUNV25KB.js';
|
|
17
17
|
import { cn, Dialog, DialogContent } from '@arbidocs/react/ui';
|
|
18
18
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
19
|
-
import { PartyPopper, X } from 'lucide-react';
|
|
20
19
|
|
|
21
20
|
function Greeting({
|
|
22
21
|
eyebrow,
|
|
@@ -53,166 +52,6 @@ function Greeting({
|
|
|
53
52
|
}
|
|
54
53
|
) });
|
|
55
54
|
}
|
|
56
|
-
var DEFAULT_GETTING_STARTED_STRIP_LABELS = {
|
|
57
|
-
allSet: (firstName) => `You\u2019re all set${firstName ? `, ${firstName}` : ""}!`,
|
|
58
|
-
finished: (stepCount) => `You\u2019ve finished the ${stepCount} getting-started steps \u2014 explore away.`,
|
|
59
|
-
done: "Done",
|
|
60
|
-
welcome: (firstName) => `Welcome, ${firstName}`,
|
|
61
|
-
getStarted: "Get started with ARBI",
|
|
62
|
-
replayDone: "Nicely done \u2014 that\u2019s the tour again",
|
|
63
|
-
almostThere: "Almost there",
|
|
64
|
-
dismiss: "Dismiss getting started"
|
|
65
|
-
};
|
|
66
|
-
function circleClasses(done, isCurrent) {
|
|
67
|
-
if (done) return "border-primary bg-primary text-primary-foreground";
|
|
68
|
-
if (isCurrent) return "border-primary bg-accent text-accent-foreground";
|
|
69
|
-
return "border-border text-muted-foreground";
|
|
70
|
-
}
|
|
71
|
-
function Journey({
|
|
72
|
-
steps,
|
|
73
|
-
currentStepId,
|
|
74
|
-
testId
|
|
75
|
-
}) {
|
|
76
|
-
return /* @__PURE__ */ jsx(
|
|
77
|
-
"ol",
|
|
78
|
-
{
|
|
79
|
-
className: "hidden min-w-0 shrink items-center overflow-x-auto sm:flex",
|
|
80
|
-
"data-slot": "journey",
|
|
81
|
-
"data-testid": testIdOr(testId, { testId: "getting-started-stepper" }),
|
|
82
|
-
children: steps.map((step, i) => {
|
|
83
|
-
const isCurrent = step.id === currentStepId;
|
|
84
|
-
return /* @__PURE__ */ jsxs(
|
|
85
|
-
"li",
|
|
86
|
-
{
|
|
87
|
-
className: "flex shrink-0 items-center",
|
|
88
|
-
"data-testid": prefixedTestId(testId, step.id, {
|
|
89
|
-
testId: `getting-started-stepper-${step.id}`
|
|
90
|
-
}),
|
|
91
|
-
"data-done": step.done,
|
|
92
|
-
"data-current": isCurrent,
|
|
93
|
-
children: [
|
|
94
|
-
i > 0 && /* @__PURE__ */ jsx(
|
|
95
|
-
"span",
|
|
96
|
-
{
|
|
97
|
-
className: cn(
|
|
98
|
-
"h-0 w-3 shrink-0 border-t-2 border-solid transition-colors duration-500",
|
|
99
|
-
steps[i - 1].done ? "border-primary" : "border-border"
|
|
100
|
-
)
|
|
101
|
-
}
|
|
102
|
-
),
|
|
103
|
-
/* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1.5", children: [
|
|
104
|
-
/* @__PURE__ */ jsx(
|
|
105
|
-
"span",
|
|
106
|
-
{
|
|
107
|
-
className: cn(
|
|
108
|
-
"flex size-6 shrink-0 items-center justify-center rounded-full border-2 text-xs font-semibold tabular-nums transition-colors",
|
|
109
|
-
circleClasses(step.done, isCurrent)
|
|
110
|
-
),
|
|
111
|
-
children: i + 1
|
|
112
|
-
}
|
|
113
|
-
),
|
|
114
|
-
/* @__PURE__ */ jsx(
|
|
115
|
-
"span",
|
|
116
|
-
{
|
|
117
|
-
className: cn(
|
|
118
|
-
"text-sm font-medium",
|
|
119
|
-
step.done ? "text-muted-foreground line-through" : isCurrent ? "text-foreground" : "text-muted-foreground"
|
|
120
|
-
),
|
|
121
|
-
children: step.title
|
|
122
|
-
}
|
|
123
|
-
),
|
|
124
|
-
isCurrent && !step.done && /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground", children: [
|
|
125
|
-
"\u2014 ",
|
|
126
|
-
step.description
|
|
127
|
-
] })
|
|
128
|
-
] })
|
|
129
|
-
]
|
|
130
|
-
},
|
|
131
|
-
step.id
|
|
132
|
-
);
|
|
133
|
-
})
|
|
134
|
-
}
|
|
135
|
-
);
|
|
136
|
-
}
|
|
137
|
-
function GettingStartedStrip({
|
|
138
|
-
steps,
|
|
139
|
-
currentStepId,
|
|
140
|
-
firstName,
|
|
141
|
-
isReplay = false,
|
|
142
|
-
isComplete = false,
|
|
143
|
-
onDismiss,
|
|
144
|
-
logo,
|
|
145
|
-
labels,
|
|
146
|
-
className,
|
|
147
|
-
testId,
|
|
148
|
-
testIds
|
|
149
|
-
}) {
|
|
150
|
-
const l = { ...DEFAULT_GETTING_STARTED_STRIP_LABELS, ...labels };
|
|
151
|
-
if (isComplete && !isReplay) {
|
|
152
|
-
return /* @__PURE__ */ jsxs(
|
|
153
|
-
"div",
|
|
154
|
-
{
|
|
155
|
-
className: cn("flex min-w-0 items-center gap-3", className),
|
|
156
|
-
"data-slot": "getting-started-strip",
|
|
157
|
-
"data-testid": testIdOr(testId, { testId: "getting-started" }),
|
|
158
|
-
children: [
|
|
159
|
-
/* @__PURE__ */ jsx(PartyPopper, { className: "size-5 shrink-0 text-primary", "aria-hidden": "true" }),
|
|
160
|
-
/* @__PURE__ */ jsxs(
|
|
161
|
-
"p",
|
|
162
|
-
{
|
|
163
|
-
className: "min-w-0 shrink truncate text-base",
|
|
164
|
-
"data-testid": testIdOr(testIds?.complete, { testId: "getting-started-complete" }),
|
|
165
|
-
children: [
|
|
166
|
-
/* @__PURE__ */ jsx("span", { className: "font-semibold text-foreground", children: l.allSet(firstName) }),
|
|
167
|
-
/* @__PURE__ */ jsx("span", { className: "mx-1.5 text-muted-foreground", children: "\xB7" }),
|
|
168
|
-
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: l.finished(steps.length) })
|
|
169
|
-
]
|
|
170
|
-
}
|
|
171
|
-
),
|
|
172
|
-
/* @__PURE__ */ jsx(Journey, { steps, currentStepId, testId: testIds?.stepper }),
|
|
173
|
-
/* @__PURE__ */ jsx("div", { className: "flex-1" }),
|
|
174
|
-
/* @__PURE__ */ jsx(
|
|
175
|
-
"button",
|
|
176
|
-
{
|
|
177
|
-
type: "button",
|
|
178
|
-
onClick: onDismiss,
|
|
179
|
-
className: "shrink-0 rounded-md bg-muted px-3 py-1.5 text-sm font-medium text-foreground transition-colors hover:bg-accent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring pointer-coarse:min-h-11",
|
|
180
|
-
"data-testid": testIdOr(testIds?.done, { testId: "getting-started-done" }),
|
|
181
|
-
children: l.done
|
|
182
|
-
}
|
|
183
|
-
)
|
|
184
|
-
]
|
|
185
|
-
}
|
|
186
|
-
);
|
|
187
|
-
}
|
|
188
|
-
const greeting = firstName ? l.welcome(firstName) : l.getStarted;
|
|
189
|
-
return /* @__PURE__ */ jsxs(
|
|
190
|
-
"div",
|
|
191
|
-
{
|
|
192
|
-
className: cn("flex min-w-0 items-center gap-3", className),
|
|
193
|
-
"data-slot": "getting-started-strip",
|
|
194
|
-
"data-testid": testIdOr(testId, { testId: "getting-started" }),
|
|
195
|
-
children: [
|
|
196
|
-
logo,
|
|
197
|
-
/* @__PURE__ */ jsx("span", { className: "shrink-0 text-base font-semibold text-foreground", children: greeting }),
|
|
198
|
-
/* @__PURE__ */ jsx(Journey, { steps, currentStepId, testId: testIds?.stepper }),
|
|
199
|
-
!currentStepId && /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate text-sm text-muted-foreground", children: isReplay ? l.replayDone : l.almostThere }),
|
|
200
|
-
/* @__PURE__ */ jsx("div", { className: "flex-1" }),
|
|
201
|
-
/* @__PURE__ */ jsx(
|
|
202
|
-
"button",
|
|
203
|
-
{
|
|
204
|
-
type: "button",
|
|
205
|
-
onClick: onDismiss,
|
|
206
|
-
className: "shrink-0 rounded-md p-1 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring pointer-coarse:p-3",
|
|
207
|
-
"aria-label": l.dismiss,
|
|
208
|
-
"data-testid": testIdOr(testIds?.dismiss, { testId: "getting-started-dismiss" }),
|
|
209
|
-
children: /* @__PURE__ */ jsx(X, { className: "size-4" })
|
|
210
|
-
}
|
|
211
|
-
)
|
|
212
|
-
]
|
|
213
|
-
}
|
|
214
|
-
);
|
|
215
|
-
}
|
|
216
55
|
function ActionMenuDialog({
|
|
217
56
|
open,
|
|
218
57
|
onOpenChange,
|
|
@@ -369,6 +208,6 @@ function CardHeaderBar({
|
|
|
369
208
|
);
|
|
370
209
|
}
|
|
371
210
|
|
|
372
|
-
export { ActionMenuDialog, CardHeaderBar,
|
|
211
|
+
export { ActionMenuDialog, CardHeaderBar, Greeting };
|
|
373
212
|
//# sourceMappingURL=index.js.map
|
|
374
213
|
//# sourceMappingURL=index.js.map
|