@clarify-labs/renderer 0.6.3 → 0.6.5
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/output/{OpenApiOperation-mhoi-s4N.cjs → OpenApiOperation-CsDX1s-6.cjs} +875 -81
- package/output/OpenApiOperation-CsDX1s-6.cjs.map +1 -0
- package/output/{OpenApiOperation-DYXG-6Rw.js → OpenApiOperation-WntXLbai.js} +778 -74
- package/output/OpenApiOperation-WntXLbai.js.map +1 -0
- package/output/ThemeRoot-DXoVzHSZ.cjs +1800 -0
- package/output/ThemeRoot-DXoVzHSZ.cjs.map +1 -0
- package/output/ThemeRoot-Dr8JC8Yc.js +1757 -0
- package/output/ThemeRoot-Dr8JC8Yc.js.map +1 -0
- package/output/app/ErrorBoundary.d.ts +29 -0
- package/output/client.cjs +5 -1
- package/output/client.d.ts +2 -0
- package/output/client.js +3 -2
- package/output/core/i18n.d.ts +1 -1
- package/output/core/types.d.ts +30 -9
- package/output/index.cjs +41 -31
- package/output/index.cjs.map +1 -1
- package/output/index.d.ts +3 -1
- package/output/index.js +18 -11
- package/output/index.js.map +1 -1
- package/output/openapi/entry.d.ts +1 -0
- package/output/preview.cjs +4 -3
- package/output/preview.cjs.map +1 -1
- package/output/preview.js +4 -3
- package/output/preview.js.map +1 -1
- package/output/{render-CjZt3edL.cjs → render-BfNmzJeJ.cjs} +12 -8
- package/output/render-BfNmzJeJ.cjs.map +1 -0
- package/output/{render-BpavVnAe.js → render-DS2wcTZJ.js} +12 -8
- package/output/render-DS2wcTZJ.js.map +1 -0
- package/output/renderer.css +450 -565
- package/output/server.cjs +11 -7
- package/output/server.cjs.map +1 -1
- package/output/server.js +11 -7
- package/output/server.js.map +1 -1
- package/output/{shell-_MyLsMUI.cjs → shell-D4tS8Jts.cjs} +112 -1016
- package/output/shell-D4tS8Jts.cjs.map +1 -0
- package/output/{shell-BlMMdTpZ.js → shell-DvTfFx6M.js} +107 -933
- package/output/shell-DvTfFx6M.js.map +1 -0
- package/output/theme/ThemeEditor.d.ts +67 -0
- package/output/theme/ThemeProvider.d.ts +1 -1
- package/output/theme/ThemeRoot.d.ts +9 -0
- package/output/theme/randomTheme.d.ts +2 -0
- package/output/theme/variables.d.ts +62 -0
- package/package.json +1 -1
- package/output/AppShell-D3FsVHQK.js +0 -390
- package/output/AppShell-D3FsVHQK.js.map +0 -1
- package/output/AppShell-DeaJ-rgo.cjs +0 -409
- package/output/AppShell-DeaJ-rgo.cjs.map +0 -1
- package/output/OpenApiOperation-DYXG-6Rw.js.map +0 -1
- package/output/OpenApiOperation-mhoi-s4N.cjs.map +0 -1
- package/output/render-BpavVnAe.js.map +0 -1
- package/output/render-CjZt3edL.cjs.map +0 -1
- package/output/shell-BlMMdTpZ.js.map +0 -1
- package/output/shell-_MyLsMUI.cjs.map +0 -1
|
@@ -43,6 +43,8 @@ var builtInText = {
|
|
|
43
43
|
"contentActions.copyLlms": "Copy llms.txt",
|
|
44
44
|
"contentActions.copyLlmsDescription": "Copy the llms.txt link for this site",
|
|
45
45
|
"contentActions.copiedLlms": "Copied llms.txt",
|
|
46
|
+
"contentActions.editPage": "Edit this page",
|
|
47
|
+
"contentActions.editPageDescription": "Open the source file for this page",
|
|
46
48
|
"contentActions.copyOptions": "Choose copy option",
|
|
47
49
|
"contentActions.copiedContent": "Copied page",
|
|
48
50
|
"contentActions.copiedLink": "Copied link",
|
|
@@ -62,6 +64,10 @@ var builtInText = {
|
|
|
62
64
|
"navbar.home": "Home",
|
|
63
65
|
"navbar.openLinks": "Open navigation links",
|
|
64
66
|
"navbar.sections": "Documentation sections",
|
|
67
|
+
"notFound.description": "The page may have moved, been renamed, or never existed. Check the address or return to the homepage.",
|
|
68
|
+
"notFound.home": "Back to homepage",
|
|
69
|
+
"notFound.label": "404",
|
|
70
|
+
"notFound.title": "Page not found",
|
|
65
71
|
"openapi.apiDocumentation": "API Documentation",
|
|
66
72
|
"openapi.bodyProperties": "Body properties",
|
|
67
73
|
"openapi.collapse": "Collapse",
|
|
@@ -95,6 +101,16 @@ var builtInText = {
|
|
|
95
101
|
"search.noResults": "Nothing found for {query}.",
|
|
96
102
|
"search.placeholder": "Find something...",
|
|
97
103
|
"search.shortcutCtrl": "Ctrl ",
|
|
104
|
+
"renderError.componentStack": "React component stack",
|
|
105
|
+
"renderError.description": "Clarify stopped rendering this route to keep the rest of the shell responsive. Review the diagnostics below, fix the page source, then reload the route.",
|
|
106
|
+
"renderError.details": "Runtime diagnostics",
|
|
107
|
+
"renderError.message": "Message",
|
|
108
|
+
"renderError.path": "Route",
|
|
109
|
+
"renderError.reload": "Reload route",
|
|
110
|
+
"renderError.stack": "JavaScript stack trace",
|
|
111
|
+
"renderError.timestamp": "Captured at",
|
|
112
|
+
"renderError.title": "Route render failed",
|
|
113
|
+
"renderError.type": "Error type",
|
|
98
114
|
"theme.switchToDark": "Switch to dark theme",
|
|
99
115
|
"theme.switchToLight": "Switch to light theme",
|
|
100
116
|
"language.switch": "Switch language"
|
|
@@ -118,6 +134,8 @@ var builtInText = {
|
|
|
118
134
|
"contentActions.copyLlms": "复制 llms.txt",
|
|
119
135
|
"contentActions.copyLlmsDescription": "复制此站点的 llms.txt 链接",
|
|
120
136
|
"contentActions.copiedLlms": "已复制 llms.txt",
|
|
137
|
+
"contentActions.editPage": "编辑此页面",
|
|
138
|
+
"contentActions.editPageDescription": "打开当前页面的源文件",
|
|
121
139
|
"contentActions.copyOptions": "选择复制选项",
|
|
122
140
|
"contentActions.copiedContent": "已复制页面",
|
|
123
141
|
"contentActions.copiedLink": "已复制链接",
|
|
@@ -137,6 +155,10 @@ var builtInText = {
|
|
|
137
155
|
"navbar.home": "首页",
|
|
138
156
|
"navbar.openLinks": "打开导航链接",
|
|
139
157
|
"navbar.sections": "文档栏目",
|
|
158
|
+
"notFound.description": "页面可能已移动、重命名或不存在。请检查地址,或返回首页继续浏览。",
|
|
159
|
+
"notFound.home": "返回首页",
|
|
160
|
+
"notFound.label": "404",
|
|
161
|
+
"notFound.title": "页面未找到",
|
|
140
162
|
"openapi.apiDocumentation": "API 文档",
|
|
141
163
|
"openapi.bodyProperties": "请求体属性",
|
|
142
164
|
"openapi.collapse": "收起",
|
|
@@ -170,6 +192,16 @@ var builtInText = {
|
|
|
170
192
|
"search.noResults": "没有找到与 {query} 相关的结果。",
|
|
171
193
|
"search.placeholder": "搜索内容...",
|
|
172
194
|
"search.shortcutCtrl": "Ctrl ",
|
|
195
|
+
"renderError.componentStack": "React 组件栈",
|
|
196
|
+
"renderError.description": "Clarify 已停止渲染此路由,以保证文档 Shell 仍可响应。请查看下方诊断信息,修复页面源码后重新加载路由。",
|
|
197
|
+
"renderError.details": "运行时诊断",
|
|
198
|
+
"renderError.message": "错误消息",
|
|
199
|
+
"renderError.path": "路由",
|
|
200
|
+
"renderError.reload": "重新加载路由",
|
|
201
|
+
"renderError.stack": "JavaScript 堆栈",
|
|
202
|
+
"renderError.timestamp": "捕获时间",
|
|
203
|
+
"renderError.title": "路由渲染失败",
|
|
204
|
+
"renderError.type": "错误类型",
|
|
173
205
|
"theme.switchToDark": "切换到深色主题",
|
|
174
206
|
"theme.switchToLight": "切换到浅色主题",
|
|
175
207
|
"language.switch": "切换语言"
|
|
@@ -250,8 +282,8 @@ function ContentActions(arg0) {
|
|
|
250
282
|
const { hasTabs = false, route, routePrefix } = arg0;
|
|
251
283
|
const t = useBuiltInText();
|
|
252
284
|
const [copied, setCopied] = (0, react.useState)("idle");
|
|
253
|
-
if (!route?.contentArtifactUrl) return null;
|
|
254
|
-
const contentArtifactUrl = resolveContentArtifactUrl(route.contentArtifactUrl, routePrefix);
|
|
285
|
+
if (!route?.contentArtifactUrl && !route?.sourceUrl) return null;
|
|
286
|
+
const contentArtifactUrl = route.contentArtifactUrl ? resolveContentArtifactUrl(route.contentArtifactUrl, routePrefix) : void 0;
|
|
255
287
|
const isOpenApi = route.kind === "openapi";
|
|
256
288
|
const replacements = { contentType: isOpenApi ? "OpenAPI" : "Markdown" };
|
|
257
289
|
const viewLabel = isOpenApi ? t("contentActions.viewOpenApi") : t("contentActions.viewMarkdown");
|
|
@@ -261,16 +293,18 @@ function ContentActions(arg0) {
|
|
|
261
293
|
window.setTimeout(() => setCopied("idle"), 1600);
|
|
262
294
|
}
|
|
263
295
|
async function handleCopyContent() {
|
|
296
|
+
if (!contentArtifactUrl) return;
|
|
264
297
|
if (await copyTextToClipboard(await (await fetch(contentArtifactUrl)).text())) markCopied("content");
|
|
265
298
|
}
|
|
266
299
|
const llmsArtifactUrl = resolveContentArtifactUrl("/llms.txt", routePrefix);
|
|
267
300
|
async function handleCopyLink() {
|
|
301
|
+
if (!contentArtifactUrl) return;
|
|
268
302
|
if (await copyTextToClipboard(getAbsoluteUrl(contentArtifactUrl))) markCopied("link");
|
|
269
303
|
}
|
|
270
304
|
async function handleCopyLlms() {
|
|
271
305
|
if (await copyTextToClipboard(getAbsoluteUrl(llmsArtifactUrl))) markCopied("llms");
|
|
272
306
|
}
|
|
273
|
-
const actions = [{
|
|
307
|
+
const actions = contentArtifactUrl ? [{
|
|
274
308
|
key: "content",
|
|
275
309
|
label: t("contentActions.copyContent"),
|
|
276
310
|
description: t("contentActions.copyContentDescription", replacements),
|
|
@@ -284,7 +318,7 @@ function ContentActions(arg0) {
|
|
|
284
318
|
icon: lucide_react.Link2,
|
|
285
319
|
run: handleCopyLink,
|
|
286
320
|
copiedLabel: t("contentActions.copiedLink")
|
|
287
|
-
}];
|
|
321
|
+
}] : [];
|
|
288
322
|
const llmsAction = {
|
|
289
323
|
key: "llms",
|
|
290
324
|
label: t("contentActions.copyLlms"),
|
|
@@ -294,28 +328,57 @@ function ContentActions(arg0) {
|
|
|
294
328
|
copiedLabel: t("contentActions.copiedLlms")
|
|
295
329
|
};
|
|
296
330
|
const primaryAction = actions[0];
|
|
297
|
-
const PrimaryIcon = copied === primaryAction.key ? lucide_react.Check : primaryAction.
|
|
331
|
+
const PrimaryIcon = primaryAction && copied === primaryAction.key ? lucide_react.Check : primaryAction?.icon ?? lucide_react.PencilLine;
|
|
298
332
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
299
333
|
className: `clarify-content-actions sticky z-20 flex justify-end py-4 ${hasTabs ? "top-16 lg:top-30" : "top-16"}`,
|
|
300
334
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_headlessui_react.Menu, {
|
|
301
335
|
as: "div",
|
|
302
336
|
className: "clarify-content-actions-menu relative inline-flex text-sm font-medium",
|
|
303
337
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
304
|
-
className: "clarify-content-actions-group inline-flex overflow-hidden rounded-full border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface)/90 shadow-sm shadow-zinc-900/5 backdrop-blur
|
|
305
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
338
|
+
className: "clarify-content-actions-group inline-flex overflow-hidden rounded-full border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface)/90 shadow-sm shadow-zinc-900/5 backdrop-blur",
|
|
339
|
+
children: [primaryAction ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
306
340
|
type: "button",
|
|
307
341
|
onClick: primaryAction.run,
|
|
308
342
|
className: "clarify-content-actions-primary clarify-ui-control inline-flex h-8 items-center gap-1.5 px-3 transition",
|
|
309
343
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrimaryIcon, { className: "h-3.5 w-3.5" }), copied === primaryAction.key ? t("actions.copied") : primaryAction.label]
|
|
344
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("a", {
|
|
345
|
+
href: route.sourceUrl,
|
|
346
|
+
target: "_blank",
|
|
347
|
+
rel: "noreferrer",
|
|
348
|
+
className: "clarify-content-actions-primary clarify-ui-control inline-flex h-8 items-center gap-1.5 px-3 no-underline transition",
|
|
349
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(PrimaryIcon, { className: "h-3.5 w-3.5" }), t("contentActions.editPage")]
|
|
310
350
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.MenuButton, {
|
|
311
|
-
className: "clarify-content-actions-trigger clarify-ui-control inline-flex h-8 w-8 items-center justify-center border-l border-(--clarify-theme-tokens-colors-border) transition
|
|
351
|
+
className: "clarify-content-actions-trigger clarify-ui-control inline-flex h-8 w-8 items-center justify-center border-l border-(--clarify-theme-tokens-colors-border) transition",
|
|
312
352
|
"aria-label": t("contentActions.copyOptions"),
|
|
313
353
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronDown, { className: "h-3.5 w-3.5" })
|
|
314
354
|
})]
|
|
315
355
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_headlessui_react.MenuItems, {
|
|
316
356
|
anchor: "bottom end",
|
|
317
|
-
className: "clarify-content-actions-list clarify-ui-menu z-30 mt-2 w-(--clarify-ui-action-menu-width) origin-top-right rounded-(--clarify-theme-tokens-radius-xl) border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface) p-1.5 shadow-xl shadow-zinc-900/5 transition [--anchor-gap:--spacing(2)] focus:outline-none data-closed:scale-95 data-closed:opacity-0
|
|
357
|
+
className: "clarify-content-actions-list clarify-ui-menu z-30 mt-2 w-(--clarify-ui-action-menu-width) origin-top-right rounded-(--clarify-theme-tokens-radius-xl) border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface) p-1.5 shadow-xl shadow-zinc-900/5 transition [--anchor-gap:--spacing(2)] focus:outline-none data-closed:scale-95 data-closed:opacity-0",
|
|
318
358
|
children: [
|
|
359
|
+
route.sourceUrl ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.MenuItem, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("a", {
|
|
360
|
+
href: route.sourceUrl,
|
|
361
|
+
target: "_blank",
|
|
362
|
+
rel: "noreferrer",
|
|
363
|
+
className: "clarify-content-actions-item clarify-ui-menu-item group flex w-full items-center gap-2 rounded-(--clarify-theme-tokens-radius-lg) px-1.5 py-1.5 text-left no-underline transition",
|
|
364
|
+
children: [
|
|
365
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
366
|
+
className: "clarify-ui-menu-icon flex shrink-0 rounded-(--clarify-theme-tokens-radius-md) border border-(--clarify-theme-tokens-colors-border) p-1.5",
|
|
367
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.PencilLine, { className: "h-4 w-4" })
|
|
368
|
+
}),
|
|
369
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
370
|
+
className: "flex min-w-0 flex-1 flex-col px-1",
|
|
371
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
372
|
+
className: "clarify-ui-menu-title flex items-center gap-1",
|
|
373
|
+
children: [t("contentActions.editPage"), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ExternalLink, { className: "clarify-ui-menu-icon h-3 w-3" })]
|
|
374
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
375
|
+
className: "clarify-ui-menu-description truncate",
|
|
376
|
+
children: t("contentActions.editPageDescription")
|
|
377
|
+
})]
|
|
378
|
+
}),
|
|
379
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Check, { className: "h-3.5 w-3.5 shrink-0 text-(--clarify-theme-tokens-colors-primary) opacity-0" })
|
|
380
|
+
]
|
|
381
|
+
}) }) : null,
|
|
319
382
|
actions.slice(0, 1).map((action) => {
|
|
320
383
|
const Icon = action.icon;
|
|
321
384
|
const isCopied = copied === action.key;
|
|
@@ -325,7 +388,7 @@ function ContentActions(arg0) {
|
|
|
325
388
|
className: "clarify-content-actions-item clarify-ui-menu-item group flex w-full items-center gap-2 rounded-(--clarify-theme-tokens-radius-lg) px-1.5 py-1.5 text-left transition",
|
|
326
389
|
children: [
|
|
327
390
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
328
|
-
className: "clarify-ui-menu-icon flex shrink-0 rounded-(--clarify-theme-tokens-radius-md) border border-(--clarify-theme-tokens-colors-border) p-1.5
|
|
391
|
+
className: "clarify-ui-menu-icon flex shrink-0 rounded-(--clarify-theme-tokens-radius-md) border border-(--clarify-theme-tokens-colors-border) p-1.5",
|
|
329
392
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Icon, { className: "h-4 w-4" })
|
|
330
393
|
}),
|
|
331
394
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
@@ -342,14 +405,14 @@ function ContentActions(arg0) {
|
|
|
342
405
|
]
|
|
343
406
|
}) }, action.key);
|
|
344
407
|
}),
|
|
345
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.MenuItem, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("a", {
|
|
408
|
+
contentArtifactUrl ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.MenuItem, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("a", {
|
|
346
409
|
href: contentArtifactUrl,
|
|
347
410
|
target: "_blank",
|
|
348
411
|
rel: "noreferrer",
|
|
349
412
|
className: "clarify-content-actions-item clarify-ui-menu-item group flex w-full items-center gap-2 rounded-(--clarify-theme-tokens-radius-lg) px-1.5 py-1.5 text-left no-underline transition",
|
|
350
413
|
children: [
|
|
351
414
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
352
|
-
className: "clarify-ui-menu-icon flex shrink-0 rounded-(--clarify-theme-tokens-radius-md) border border-(--clarify-theme-tokens-colors-border) p-1.5
|
|
415
|
+
className: "clarify-ui-menu-icon flex shrink-0 rounded-(--clarify-theme-tokens-radius-md) border border-(--clarify-theme-tokens-colors-border) p-1.5",
|
|
353
416
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.FileText, { className: "h-4 w-4" })
|
|
354
417
|
}),
|
|
355
418
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
@@ -364,7 +427,7 @@ function ContentActions(arg0) {
|
|
|
364
427
|
}),
|
|
365
428
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Check, { className: "h-3.5 w-3.5 shrink-0 text-(--clarify-theme-tokens-colors-primary) opacity-0" })
|
|
366
429
|
]
|
|
367
|
-
}) }),
|
|
430
|
+
}) }) : null,
|
|
368
431
|
actions.slice(1).map((action) => {
|
|
369
432
|
const Icon = action.icon;
|
|
370
433
|
const isCopied = copied === action.key;
|
|
@@ -374,7 +437,7 @@ function ContentActions(arg0) {
|
|
|
374
437
|
className: "clarify-content-actions-item clarify-ui-menu-item group flex w-full items-center gap-2 rounded-(--clarify-theme-tokens-radius-lg) px-1.5 py-1.5 text-left transition",
|
|
375
438
|
children: [
|
|
376
439
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
377
|
-
className: "clarify-ui-menu-icon flex shrink-0 rounded-(--clarify-theme-tokens-radius-md) border border-(--clarify-theme-tokens-colors-border) p-1.5
|
|
440
|
+
className: "clarify-ui-menu-icon flex shrink-0 rounded-(--clarify-theme-tokens-radius-md) border border-(--clarify-theme-tokens-colors-border) p-1.5",
|
|
378
441
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Icon, { className: "h-4 w-4" })
|
|
379
442
|
}),
|
|
380
443
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
@@ -397,7 +460,7 @@ function ContentActions(arg0) {
|
|
|
397
460
|
className: "clarify-content-actions-item clarify-ui-menu-item group flex w-full items-center gap-2 rounded-(--clarify-theme-tokens-radius-lg) px-1.5 py-1.5 text-left transition",
|
|
398
461
|
children: [
|
|
399
462
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
400
|
-
className: "clarify-ui-menu-icon flex shrink-0 rounded-(--clarify-theme-tokens-radius-md) border border-(--clarify-theme-tokens-colors-border) p-1.5
|
|
463
|
+
className: "clarify-ui-menu-icon flex shrink-0 rounded-(--clarify-theme-tokens-radius-md) border border-(--clarify-theme-tokens-colors-border) p-1.5",
|
|
401
464
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.FileText, { className: "h-4 w-4" })
|
|
402
465
|
}),
|
|
403
466
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
@@ -446,8 +509,8 @@ function applyTheme(resolvedTheme) {
|
|
|
446
509
|
document.documentElement.classList.toggle("dark", resolvedTheme === "dark");
|
|
447
510
|
document.documentElement.style.colorScheme = resolvedTheme;
|
|
448
511
|
}
|
|
449
|
-
function ThemeProvider(
|
|
450
|
-
const { children } =
|
|
512
|
+
function ThemeProvider(props) {
|
|
513
|
+
const { children } = props;
|
|
451
514
|
const [theme, setThemeState] = (0, react.useState)(() => getStoredTheme());
|
|
452
515
|
const [systemTheme, setSystemTheme] = (0, react.useState)(() => getSystemTheme());
|
|
453
516
|
const resolvedTheme = theme === "system" ? systemTheme : theme;
|
|
@@ -484,40 +547,19 @@ function useTheme() {
|
|
|
484
547
|
}
|
|
485
548
|
//#endregion
|
|
486
549
|
//#region source/theme/ThemeToggle.tsx
|
|
487
|
-
function SunIcon(props) {
|
|
488
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
489
|
-
viewBox: "0 0 20 20",
|
|
490
|
-
fill: "none",
|
|
491
|
-
"aria-hidden": "true",
|
|
492
|
-
...props,
|
|
493
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M12.5 10a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
494
|
-
strokeLinecap: "round",
|
|
495
|
-
d: "M10 5.5v-1M13.182 6.818l.707-.707M14.5 10h1M13.182 13.182l.707.707M10 15.5v-1M6.11 13.889l.708-.707M4.5 10h1M6.11 6.111l.708.707"
|
|
496
|
-
})]
|
|
497
|
-
});
|
|
498
|
-
}
|
|
499
|
-
function MoonIcon(props) {
|
|
500
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
501
|
-
viewBox: "0 0 20 20",
|
|
502
|
-
fill: "none",
|
|
503
|
-
"aria-hidden": "true",
|
|
504
|
-
...props,
|
|
505
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M15.224 11.724a5.5 5.5 0 0 1-6.949-6.949 5.5 5.5 0 1 0 6.949 6.949Z" })
|
|
506
|
-
});
|
|
507
|
-
}
|
|
508
550
|
function ThemeToggle() {
|
|
509
551
|
const { resolvedTheme, setTheme } = useTheme();
|
|
510
552
|
const t = useBuiltInText();
|
|
511
553
|
const otherTheme = resolvedTheme === "dark" ? "light" : "dark";
|
|
512
554
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
513
555
|
type: "button",
|
|
514
|
-
className: "clarify-theme-toggle relative flex size-8 items-center justify-center rounded-(--clarify-theme-tokens-radius-md) transition hover:bg-
|
|
556
|
+
className: "clarify-theme-toggle relative flex size-8 items-center justify-center rounded-(--clarify-theme-tokens-radius-md) transition hover:bg-(--clarify-ui-hover-background)",
|
|
515
557
|
"aria-label": otherTheme === "dark" ? t("theme.switchToDark") : t("theme.switchToLight"),
|
|
516
558
|
onClick: () => setTheme(otherTheme),
|
|
517
559
|
children: [
|
|
518
560
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "absolute size-12 pointer-fine:hidden" }),
|
|
519
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
520
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
561
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Sun, { className: "h-5 w-5 stroke-(--clarify-theme-tokens-colors-foreground) dark:hidden" }),
|
|
562
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Moon, { className: "hidden h-5 w-5 stroke-white dark:block" })
|
|
521
563
|
]
|
|
522
564
|
});
|
|
523
565
|
}
|
|
@@ -648,787 +690,6 @@ function useSectionStore(selector) {
|
|
|
648
690
|
return (0, zustand.useStore)(store, selector);
|
|
649
691
|
}
|
|
650
692
|
//#endregion
|
|
651
|
-
//#region source/components/Button.tsx
|
|
652
|
-
function ArrowIcon(props) {
|
|
653
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
654
|
-
viewBox: "0 0 20 20",
|
|
655
|
-
fill: "none",
|
|
656
|
-
"aria-hidden": "true",
|
|
657
|
-
...props,
|
|
658
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
659
|
-
stroke: "currentColor",
|
|
660
|
-
strokeLinecap: "round",
|
|
661
|
-
strokeLinejoin: "round",
|
|
662
|
-
d: "m11.5 6.5 3 3.5m0 0-3 3.5m3-3.5h-9"
|
|
663
|
-
})
|
|
664
|
-
});
|
|
665
|
-
}
|
|
666
|
-
var buttonVariantStyles = {
|
|
667
|
-
primary: "rounded-full bg-(--clarify-theme-tokens-colors-foreground) px-3 py-1 text-white hover:opacity-80 dark:bg-(--clarify-theme-tokens-colors-primary)/10 dark:text-(--clarify-theme-tokens-colors-primary) dark:ring-1 dark:ring-inset dark:ring-(--clarify-theme-tokens-colors-primary)/20 dark:hover:opacity-80",
|
|
668
|
-
secondary: "rounded-full bg-(--clarify-theme-tokens-colors-code-background) px-3 py-1 text-(--clarify-theme-tokens-colors-foreground) hover:opacity-80 dark:bg-zinc-800/40 dark:text-zinc-400 dark:ring-1 dark:ring-inset dark:ring-zinc-800 dark:hover:bg-zinc-800 dark:hover:text-zinc-300",
|
|
669
|
-
filled: "rounded-full bg-(--clarify-theme-tokens-colors-foreground) px-3 py-1 text-white hover:opacity-80 dark:bg-(--clarify-theme-tokens-colors-primary) dark:hover:opacity-80",
|
|
670
|
-
outline: "rounded-full px-3 py-1 text-(--clarify-theme-tokens-colors-muted) ring-1 ring-inset ring-(--clarify-theme-tokens-colors-border) hover:bg-[color-mix(in_srgb,var(--clarify-theme-tokens-colors-foreground)_2.5%,transparent)] hover:text-(--clarify-theme-tokens-colors-foreground) dark:text-zinc-400 dark:ring-white/10 dark:hover:bg-white/5 dark:hover:text-white",
|
|
671
|
-
text: "text-(--clarify-theme-tokens-colors-primary) hover:opacity-80 dark:text-(--clarify-theme-tokens-colors-primary) dark:hover:opacity-80"
|
|
672
|
-
};
|
|
673
|
-
function Button(arg0) {
|
|
674
|
-
const { variant = "primary", className, children, arrow, ...props } = arg0;
|
|
675
|
-
const classes = (0, clsx.default)("clarify-button inline-flex justify-center gap-0.5 overflow-hidden text-sm font-medium transition", buttonVariantStyles[variant], className);
|
|
676
|
-
const arrowIcon = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ArrowIcon, { className: (0, clsx.default)("mt-0.5 h-5 w-5", variant === "text" && "relative top-px", arrow === "left" && "-ml-1 rotate-180", arrow === "right" && "-mr-1") });
|
|
677
|
-
const inner = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
678
|
-
arrow === "left" ? arrowIcon : null,
|
|
679
|
-
children,
|
|
680
|
-
arrow === "right" ? arrowIcon : null
|
|
681
|
-
] });
|
|
682
|
-
if (typeof props.href === "undefined") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
683
|
-
className: classes,
|
|
684
|
-
...props,
|
|
685
|
-
children: inner
|
|
686
|
-
});
|
|
687
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
|
|
688
|
-
className: classes,
|
|
689
|
-
...props,
|
|
690
|
-
children: inner
|
|
691
|
-
});
|
|
692
|
-
}
|
|
693
|
-
//#endregion
|
|
694
|
-
//#region source/components/Callout.tsx
|
|
695
|
-
var calloutStyles = {
|
|
696
|
-
info: {
|
|
697
|
-
container: "border-sky-500/20 bg-sky-50/50 text-sky-950 dark:border-sky-400/30 dark:bg-sky-400/5 dark:text-sky-100",
|
|
698
|
-
icon: "text-sky-600 dark:text-sky-400",
|
|
699
|
-
title: "text-sky-900 dark:text-sky-100",
|
|
700
|
-
Icon: lucide_react.Info
|
|
701
|
-
},
|
|
702
|
-
note: {
|
|
703
|
-
container: "border-zinc-500/20 bg-zinc-50 text-zinc-900 dark:border-white/10 dark:bg-white/5 dark:text-zinc-200",
|
|
704
|
-
icon: "text-zinc-500 dark:text-zinc-400",
|
|
705
|
-
title: "text-zinc-900 dark:text-white",
|
|
706
|
-
Icon: lucide_react.Info
|
|
707
|
-
},
|
|
708
|
-
tip: {
|
|
709
|
-
container: "border-emerald-500/20 bg-emerald-50/50 text-emerald-950 dark:border-emerald-400/30 dark:bg-emerald-400/5 dark:text-emerald-100",
|
|
710
|
-
icon: "text-emerald-600 dark:text-emerald-400",
|
|
711
|
-
title: "text-emerald-900 dark:text-emerald-100",
|
|
712
|
-
Icon: lucide_react.Lightbulb
|
|
713
|
-
},
|
|
714
|
-
warning: {
|
|
715
|
-
container: "border-amber-500/20 bg-amber-50/70 text-amber-950 dark:border-amber-400/30 dark:bg-amber-400/5 dark:text-amber-100",
|
|
716
|
-
icon: "text-amber-600 dark:text-amber-400",
|
|
717
|
-
title: "text-amber-900 dark:text-amber-100",
|
|
718
|
-
Icon: lucide_react.AlertTriangle
|
|
719
|
-
},
|
|
720
|
-
danger: {
|
|
721
|
-
container: "border-rose-500/20 bg-rose-50/70 text-rose-950 dark:border-rose-400/30 dark:bg-rose-400/5 dark:text-rose-100",
|
|
722
|
-
icon: "text-rose-600 dark:text-rose-400",
|
|
723
|
-
title: "text-rose-900 dark:text-rose-100",
|
|
724
|
-
Icon: lucide_react.XCircle
|
|
725
|
-
},
|
|
726
|
-
success: {
|
|
727
|
-
container: "border-emerald-500/20 bg-emerald-50/50 text-emerald-950 dark:border-emerald-400/30 dark:bg-emerald-400/5 dark:text-emerald-100",
|
|
728
|
-
icon: "text-emerald-600 dark:text-emerald-400",
|
|
729
|
-
title: "text-emerald-900 dark:text-emerald-100",
|
|
730
|
-
Icon: lucide_react.CheckCircle2
|
|
731
|
-
}
|
|
732
|
-
};
|
|
733
|
-
var defaultTitleKeys = {
|
|
734
|
-
info: "callout.info",
|
|
735
|
-
note: "callout.note",
|
|
736
|
-
tip: "callout.tip",
|
|
737
|
-
warning: "callout.warning",
|
|
738
|
-
danger: "callout.danger",
|
|
739
|
-
success: "callout.success"
|
|
740
|
-
};
|
|
741
|
-
function Callout(arg0) {
|
|
742
|
-
const { children, type = "info", title, icon = true, className, ...props } = arg0;
|
|
743
|
-
const t = useBuiltInText();
|
|
744
|
-
const style = calloutStyles[type];
|
|
745
|
-
const Icon = style.Icon;
|
|
746
|
-
const resolvedTitle = title === void 0 ? t(defaultTitleKeys[type]) : title;
|
|
747
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
748
|
-
className: (0, clsx.default)("clarify-callout my-6 flex gap-3 rounded-(--clarify-theme-tokens-radius-xl) border p-4 text-sm/6", style.container, className),
|
|
749
|
-
...props,
|
|
750
|
-
children: [icon ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Icon, {
|
|
751
|
-
className: (0, clsx.default)("mt-1 size-4 flex-none", style.icon),
|
|
752
|
-
"aria-hidden": "true"
|
|
753
|
-
}) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
754
|
-
className: "min-w-0 flex-1 *:first:mt-0 *:last:mb-0",
|
|
755
|
-
children: [resolvedTitle ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
756
|
-
className: (0, clsx.default)("mb-1 font-semibold", style.title),
|
|
757
|
-
children: resolvedTitle
|
|
758
|
-
}) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
759
|
-
className: "*:first:mt-0 *:last:mb-0",
|
|
760
|
-
children
|
|
761
|
-
})]
|
|
762
|
-
})]
|
|
763
|
-
});
|
|
764
|
-
}
|
|
765
|
-
//#endregion
|
|
766
|
-
//#region source/components/Card.tsx
|
|
767
|
-
function CardIcon(arg0) {
|
|
768
|
-
const { name } = arg0;
|
|
769
|
-
if (!name) return null;
|
|
770
|
-
const iconName = resolveLucideIconName(name);
|
|
771
|
-
if (!iconName) return null;
|
|
772
|
-
const Icon = lucideIconRegistry[iconName];
|
|
773
|
-
if (!Icon) return null;
|
|
774
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
775
|
-
className: "flex size-9 flex-none items-center justify-center rounded-(--clarify-theme-tokens-radius-lg) bg-(--clarify-ui-accent-background) text-(--clarify-ui-accent-text) ring-1 ring-(--clarify-ui-accent-border)",
|
|
776
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Icon, {
|
|
777
|
-
className: "size-5",
|
|
778
|
-
"aria-hidden": "true"
|
|
779
|
-
})
|
|
780
|
-
});
|
|
781
|
-
}
|
|
782
|
-
var cardGroupColumnStyles = {
|
|
783
|
-
1: "grid-cols-1",
|
|
784
|
-
2: "grid-cols-1 sm:grid-cols-2",
|
|
785
|
-
3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
|
|
786
|
-
4: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"
|
|
787
|
-
};
|
|
788
|
-
function CardGroup(arg0) {
|
|
789
|
-
const { children, cols = 2, className } = arg0;
|
|
790
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
791
|
-
className: (0, clsx.default)("not-prose my-10 grid gap-4", cardGroupColumnStyles[cols], className),
|
|
792
|
-
children
|
|
793
|
-
});
|
|
794
|
-
}
|
|
795
|
-
function Card(arg0) {
|
|
796
|
-
const { title, icon, href, children, className, ...props } = arg0;
|
|
797
|
-
const content = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
798
|
-
className: "flex items-start gap-4",
|
|
799
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(CardIcon, { name: icon }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
800
|
-
className: "min-w-0 flex-1",
|
|
801
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h3", {
|
|
802
|
-
className: "m-0 text-base font-semibold text-(--clarify-theme-tokens-colors-foreground) dark:text-white",
|
|
803
|
-
children: title
|
|
804
|
-
}), children ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
805
|
-
className: "mt-2 text-sm/6 text-(--clarify-theme-tokens-colors-muted) dark:text-zinc-400 *:m-0",
|
|
806
|
-
children
|
|
807
|
-
}) : null]
|
|
808
|
-
})]
|
|
809
|
-
}), href ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
810
|
-
className: "absolute inset-0 rounded-(--clarify-theme-tokens-radius-xl)",
|
|
811
|
-
"aria-hidden": "true"
|
|
812
|
-
}) : null] });
|
|
813
|
-
const classes = (0, clsx.default)("group relative block rounded-(--clarify-theme-tokens-radius-xl) border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface) p-5 shadow-(--clarify-ui-accent-glow) transition hover:border-(--clarify-ui-accent-border) hover:shadow-md dark:bg-zinc-900/50", className);
|
|
814
|
-
if (!href) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
815
|
-
className: classes,
|
|
816
|
-
children: content
|
|
817
|
-
});
|
|
818
|
-
if (href.startsWith("/") && !href.startsWith("//")) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_router_dom.Link, {
|
|
819
|
-
to: href,
|
|
820
|
-
className: classes,
|
|
821
|
-
...props,
|
|
822
|
-
children: content
|
|
823
|
-
});
|
|
824
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
|
|
825
|
-
href,
|
|
826
|
-
className: classes,
|
|
827
|
-
...props,
|
|
828
|
-
children: content
|
|
829
|
-
});
|
|
830
|
-
}
|
|
831
|
-
//#endregion
|
|
832
|
-
//#region source/components/Code.tsx
|
|
833
|
-
var languageNames = {
|
|
834
|
-
js: "JavaScript",
|
|
835
|
-
ts: "TypeScript",
|
|
836
|
-
jsx: "React JSX",
|
|
837
|
-
tsx: "React TSX",
|
|
838
|
-
javascript: "JavaScript",
|
|
839
|
-
typescript: "TypeScript",
|
|
840
|
-
php: "PHP",
|
|
841
|
-
python: "Python",
|
|
842
|
-
ruby: "Ruby",
|
|
843
|
-
go: "Go",
|
|
844
|
-
bash: "Shell",
|
|
845
|
-
sh: "Shell",
|
|
846
|
-
shell: "Shell",
|
|
847
|
-
json: "JSON"
|
|
848
|
-
};
|
|
849
|
-
function getPanelTitle(arg0) {
|
|
850
|
-
const { title, language, fallbackTitle = "Code" } = arg0;
|
|
851
|
-
if (title) return title;
|
|
852
|
-
if (language && language in languageNames) return languageNames[language];
|
|
853
|
-
return fallbackTitle;
|
|
854
|
-
}
|
|
855
|
-
function getNodeText(node) {
|
|
856
|
-
if (typeof node === "string" || typeof node === "number") return String(node);
|
|
857
|
-
if (Array.isArray(node)) return node.map(getNodeText).join("");
|
|
858
|
-
if ((0, react.isValidElement)(node)) return getNodeText(node.props.children);
|
|
859
|
-
return "";
|
|
860
|
-
}
|
|
861
|
-
function ClipboardIcon(props) {
|
|
862
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
863
|
-
viewBox: "0 0 20 20",
|
|
864
|
-
"aria-hidden": "true",
|
|
865
|
-
...props,
|
|
866
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
867
|
-
strokeWidth: "0",
|
|
868
|
-
d: "M5.5 13.5v-5a2 2 0 0 1 2-2l.447-.894A2 2 0 0 1 9.737 4.5h.527a2 2 0 0 1 1.789 1.106l.447.894a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-5a2 2 0 0 1-2-2Z"
|
|
869
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
870
|
-
fill: "none",
|
|
871
|
-
strokeLinejoin: "round",
|
|
872
|
-
d: "M12.5 6.5a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-5a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2m5 0-.447-.894a2 2 0 0 0-1.79-1.106h-.527a2 2 0 0 0-1.789 1.106L7.5 6.5m5 0-1 1h-3l-1-1"
|
|
873
|
-
})]
|
|
874
|
-
});
|
|
875
|
-
}
|
|
876
|
-
function CopyButton(arg0) {
|
|
877
|
-
const { code } = arg0;
|
|
878
|
-
const t = useBuiltInText();
|
|
879
|
-
const [copyCount, setCopyCount] = (0, react.useState)(0);
|
|
880
|
-
const copied = copyCount > 0;
|
|
881
|
-
(0, react.useEffect)(() => {
|
|
882
|
-
if (copyCount === 0) return void 0;
|
|
883
|
-
const timeout = window.setTimeout(() => setCopyCount(0), 1e3);
|
|
884
|
-
return () => window.clearTimeout(timeout);
|
|
885
|
-
}, [copyCount]);
|
|
886
|
-
if (!code) return null;
|
|
887
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
888
|
-
type: "button",
|
|
889
|
-
className: (0, clsx.default)("clarify-code-copy group/button absolute top-3.5 right-4 overflow-hidden rounded-full py-1 pr-3 pl-2 text-2xs font-medium opacity-0 backdrop-blur-sm transition group-hover:opacity-100 focus:opacity-100", copied ? "bg-[color-mix(in_srgb,var(--clarify-theme-tokens-colors-primary)_12%,transparent)] ring-1 ring-[color-mix(in_srgb,var(--clarify-theme-tokens-colors-primary)_24%,transparent)] ring-inset" : "bg-white/5 hover:bg-white/7.5 dark:bg-white/2.5 dark:hover:bg-white/5"),
|
|
890
|
-
onClick: () => {
|
|
891
|
-
copyTextToClipboard(code).then((ok) => {
|
|
892
|
-
if (ok) setCopyCount((count) => count + 1);
|
|
893
|
-
});
|
|
894
|
-
},
|
|
895
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
896
|
-
"aria-hidden": copied,
|
|
897
|
-
className: (0, clsx.default)("pointer-events-none flex items-center gap-0.5 text-zinc-400 transition duration-300", copied && "-translate-y-1.5 opacity-0"),
|
|
898
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ClipboardIcon, { className: "h-5 w-5 fill-zinc-500/20 stroke-zinc-500 transition-colors group-hover/button:stroke-zinc-400" }), t("actions.copy")]
|
|
899
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
900
|
-
"aria-hidden": !copied,
|
|
901
|
-
className: (0, clsx.default)("pointer-events-none absolute inset-0 flex items-center justify-center text-(--clarify-theme-tokens-colors-primary) transition duration-300", !copied && "translate-y-1.5 opacity-0"),
|
|
902
|
-
children: t("actions.copied")
|
|
903
|
-
})]
|
|
904
|
-
});
|
|
905
|
-
}
|
|
906
|
-
function CodePanelHeader(arg0) {
|
|
907
|
-
const { tag, label } = arg0;
|
|
908
|
-
if (!tag && !label) return null;
|
|
909
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
910
|
-
className: "clarify-code-panel-header flex h-9 items-center gap-2 border-y border-t-transparent border-b-white/7.5 bg-zinc-900 px-4 dark:border-b-white/5 dark:bg-white/1",
|
|
911
|
-
children: [
|
|
912
|
-
tag ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
913
|
-
className: "clarify-code-panel-tag font-semibold text-(--clarify-theme-tokens-colors-primary)",
|
|
914
|
-
children: tag
|
|
915
|
-
}) : null,
|
|
916
|
-
tag && label ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "h-0.5 w-0.5 rounded-full bg-zinc-500" }) : null,
|
|
917
|
-
label ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
918
|
-
className: "text-xs text-zinc-400",
|
|
919
|
-
children: label
|
|
920
|
-
}) : null
|
|
921
|
-
]
|
|
922
|
-
});
|
|
923
|
-
}
|
|
924
|
-
function CodePanel(arg0) {
|
|
925
|
-
const { children } = arg0;
|
|
926
|
-
let { tag, label, code } = arg0;
|
|
927
|
-
const child = react.Children.only(children);
|
|
928
|
-
if ((0, react.isValidElement)(child)) {
|
|
929
|
-
const props = child.props;
|
|
930
|
-
tag = props.tag ?? tag;
|
|
931
|
-
label = props.label ?? label;
|
|
932
|
-
code = props.code ?? code ?? getNodeText(props.children);
|
|
933
|
-
}
|
|
934
|
-
const copyText = code ?? getNodeText(children);
|
|
935
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
936
|
-
className: "clarify-code-panel group dark:bg-white/2.5",
|
|
937
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(CodePanelHeader, {
|
|
938
|
-
tag,
|
|
939
|
-
label
|
|
940
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
941
|
-
className: "relative",
|
|
942
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", {
|
|
943
|
-
className: "clarify-code-pre overflow-x-auto p-4 text-xs text-white",
|
|
944
|
-
children
|
|
945
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CopyButton, { code: copyText })]
|
|
946
|
-
})]
|
|
947
|
-
});
|
|
948
|
-
}
|
|
949
|
-
function CodeGroupHeader(arg0) {
|
|
950
|
-
const { title, children, selectedIndex } = arg0;
|
|
951
|
-
const t = useBuiltInText();
|
|
952
|
-
const hasTabs = react.Children.count(children) > 1;
|
|
953
|
-
if (!title && !hasTabs) return null;
|
|
954
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
955
|
-
className: "clarify-code-group-header flex min-h-[calc(--spacing(12)+1px)] flex-wrap items-start gap-x-4 border-b border-zinc-700 bg-zinc-800 px-4 dark:border-zinc-800 dark:bg-transparent",
|
|
956
|
-
children: [title ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h3", {
|
|
957
|
-
className: "mr-auto pt-3 text-xs font-semibold text-white",
|
|
958
|
-
children: title
|
|
959
|
-
}) : null, hasTabs ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.TabList, {
|
|
960
|
-
className: "clarify-code-tabs -mb-px flex gap-4 text-xs font-medium",
|
|
961
|
-
children: react.Children.map(children, (child, childIndex) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.Tab, {
|
|
962
|
-
className: (0, clsx.default)("clarify-code-tab border-b py-3 transition data-selected:not-data-focus:outline-hidden", childIndex === selectedIndex ? "border-(--clarify-theme-tokens-colors-primary) text-(--clarify-theme-tokens-colors-primary)" : "border-transparent text-zinc-400 hover:text-zinc-300"),
|
|
963
|
-
children: getPanelTitle({
|
|
964
|
-
...(0, react.isValidElement)(child) ? child.props : {},
|
|
965
|
-
fallbackTitle: t("actions.code")
|
|
966
|
-
})
|
|
967
|
-
}))
|
|
968
|
-
}) : null]
|
|
969
|
-
});
|
|
970
|
-
}
|
|
971
|
-
function CodeGroupPanels(arg0) {
|
|
972
|
-
const { children, ...props } = arg0;
|
|
973
|
-
if (react.Children.count(children) > 1) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.TabPanels, { children: react.Children.map(children, (child) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.TabPanel, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CodePanel, {
|
|
974
|
-
...props,
|
|
975
|
-
children: child
|
|
976
|
-
}) })) });
|
|
977
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CodePanel, {
|
|
978
|
-
...props,
|
|
979
|
-
children
|
|
980
|
-
});
|
|
981
|
-
}
|
|
982
|
-
function usePreventLayoutShift() {
|
|
983
|
-
const positionRef = (0, react.useRef)(null);
|
|
984
|
-
const rafRef = (0, react.useRef)(void 0);
|
|
985
|
-
(0, react.useEffect)(() => {
|
|
986
|
-
return () => {
|
|
987
|
-
if (typeof rafRef.current !== "undefined") window.cancelAnimationFrame(rafRef.current);
|
|
988
|
-
};
|
|
989
|
-
}, []);
|
|
990
|
-
return {
|
|
991
|
-
positionRef,
|
|
992
|
-
preventLayoutShift(callback) {
|
|
993
|
-
if (!positionRef.current) return;
|
|
994
|
-
const initialTop = positionRef.current.getBoundingClientRect().top;
|
|
995
|
-
callback();
|
|
996
|
-
rafRef.current = window.requestAnimationFrame(() => {
|
|
997
|
-
const newTop = positionRef.current?.getBoundingClientRect().top ?? initialTop;
|
|
998
|
-
window.scrollBy(0, newTop - initialTop);
|
|
999
|
-
});
|
|
1000
|
-
}
|
|
1001
|
-
};
|
|
1002
|
-
}
|
|
1003
|
-
var usePreferredLanguageStore = (0, zustand.create)()((set) => ({
|
|
1004
|
-
preferredLanguages: [],
|
|
1005
|
-
addPreferredLanguage: (language) => set((state) => ({ preferredLanguages: [...state.preferredLanguages.filter((preferredLanguage) => preferredLanguage !== language), language] }))
|
|
1006
|
-
}));
|
|
1007
|
-
function useTabGroupProps(availableLanguages) {
|
|
1008
|
-
const { preferredLanguages, addPreferredLanguage } = usePreferredLanguageStore();
|
|
1009
|
-
const [selectedIndex, setSelectedIndex] = (0, react.useState)(0);
|
|
1010
|
-
if (new Set(availableLanguages).size === availableLanguages.length) {
|
|
1011
|
-
const activeLanguage = [...availableLanguages].sort((a, z) => preferredLanguages.indexOf(z) - preferredLanguages.indexOf(a))[0];
|
|
1012
|
-
const languageIndex = availableLanguages.indexOf(activeLanguage);
|
|
1013
|
-
const newSelectedIndex = languageIndex === -1 ? selectedIndex : languageIndex;
|
|
1014
|
-
if (newSelectedIndex !== selectedIndex) setSelectedIndex(newSelectedIndex);
|
|
1015
|
-
}
|
|
1016
|
-
const { positionRef, preventLayoutShift } = usePreventLayoutShift();
|
|
1017
|
-
return {
|
|
1018
|
-
as: "div",
|
|
1019
|
-
ref: positionRef,
|
|
1020
|
-
selectedIndex,
|
|
1021
|
-
onChange: (nextSelectedIndex) => {
|
|
1022
|
-
setSelectedIndex(nextSelectedIndex);
|
|
1023
|
-
preventLayoutShift(() => addPreferredLanguage(availableLanguages[nextSelectedIndex]));
|
|
1024
|
-
}
|
|
1025
|
-
};
|
|
1026
|
-
}
|
|
1027
|
-
var CodeGroupContext = (0, react.createContext)(false);
|
|
1028
|
-
function CodeGroup(arg0) {
|
|
1029
|
-
const { children, title, ...props } = arg0;
|
|
1030
|
-
const t = useBuiltInText();
|
|
1031
|
-
const tabGroupProps = useTabGroupProps(react.Children.map(children, (child) => getPanelTitle({
|
|
1032
|
-
...(0, react.isValidElement)(child) ? child.props : {},
|
|
1033
|
-
fallbackTitle: t("actions.code")
|
|
1034
|
-
})) ?? []);
|
|
1035
|
-
const hasTabs = react.Children.count(children) > 1;
|
|
1036
|
-
const containerClassName = "clarify-code-group my-6 overflow-hidden rounded-2xl bg-zinc-900 shadow-md dark:ring-1 dark:ring-white/10";
|
|
1037
|
-
const header = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CodeGroupHeader, {
|
|
1038
|
-
title,
|
|
1039
|
-
selectedIndex: tabGroupProps.selectedIndex,
|
|
1040
|
-
children
|
|
1041
|
-
});
|
|
1042
|
-
const panels = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CodeGroupPanels, {
|
|
1043
|
-
...props,
|
|
1044
|
-
children
|
|
1045
|
-
});
|
|
1046
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CodeGroupContext.Provider, {
|
|
1047
|
-
value: true,
|
|
1048
|
-
children: hasTabs ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.TabGroup, {
|
|
1049
|
-
...tabGroupProps,
|
|
1050
|
-
className: containerClassName,
|
|
1051
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1052
|
-
className: "not-prose",
|
|
1053
|
-
children: [header, panels]
|
|
1054
|
-
})
|
|
1055
|
-
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1056
|
-
className: containerClassName,
|
|
1057
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1058
|
-
className: "not-prose",
|
|
1059
|
-
children: [header, panels]
|
|
1060
|
-
})
|
|
1061
|
-
})
|
|
1062
|
-
});
|
|
1063
|
-
}
|
|
1064
|
-
function Code(arg0) {
|
|
1065
|
-
const { children, ...props } = arg0;
|
|
1066
|
-
if ((0, react.useContext)(CodeGroupContext) && typeof children === "string") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("code", {
|
|
1067
|
-
...props,
|
|
1068
|
-
dangerouslySetInnerHTML: { __html: children }
|
|
1069
|
-
});
|
|
1070
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("code", {
|
|
1071
|
-
...props,
|
|
1072
|
-
children
|
|
1073
|
-
});
|
|
1074
|
-
}
|
|
1075
|
-
function Pre(arg0) {
|
|
1076
|
-
const { children, ...props } = arg0;
|
|
1077
|
-
if ((0, react.useContext)(CodeGroupContext)) return children;
|
|
1078
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CodeGroup, {
|
|
1079
|
-
...props,
|
|
1080
|
-
children
|
|
1081
|
-
});
|
|
1082
|
-
}
|
|
1083
|
-
//#endregion
|
|
1084
|
-
//#region source/components/Collapse.tsx
|
|
1085
|
-
function Collapse(arg0) {
|
|
1086
|
-
const { children, title, summary, defaultOpen = false, className, ...props } = arg0;
|
|
1087
|
-
const [open, setOpen] = (0, react.useState)(defaultOpen);
|
|
1088
|
-
const contentRef = (0, react.useRef)(null);
|
|
1089
|
-
const [maxHeight, setMaxHeight] = (0, react.useState)("0px");
|
|
1090
|
-
const summaryLabel = title ?? summary ?? "Details";
|
|
1091
|
-
const contentId = (0, react.useId)();
|
|
1092
|
-
(0, react.useLayoutEffect)(() => {
|
|
1093
|
-
if (!contentRef.current) return;
|
|
1094
|
-
setMaxHeight(open ? `${contentRef.current.scrollHeight}px` : "0px");
|
|
1095
|
-
}, [open, children]);
|
|
1096
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1097
|
-
className: (0, clsx.default)("clarify-collapse my-6 overflow-hidden rounded-(--clarify-theme-tokens-radius-xl) border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface) shadow-sm dark:border-white/10 dark:bg-zinc-950", className),
|
|
1098
|
-
...props,
|
|
1099
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
1100
|
-
type: "button",
|
|
1101
|
-
className: "flex w-full cursor-pointer items-center justify-between gap-3 px-4 py-3 text-left text-sm font-semibold text-(--clarify-theme-tokens-colors-foreground) transition hover:bg-(--clarify-ui-hover-background) dark:text-white dark:hover:bg-white/5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-(--clarify-theme-tokens-colors-primary) focus-visible:ring-offset-2 focus-visible:ring-offset-(--clarify-theme-tokens-colors-background) dark:focus-visible:ring-offset-zinc-950",
|
|
1102
|
-
"aria-expanded": open,
|
|
1103
|
-
"aria-controls": contentId,
|
|
1104
|
-
onClick: () => setOpen((value) => !value),
|
|
1105
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: summaryLabel }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronDown, {
|
|
1106
|
-
className: (0, clsx.default)("h-4 w-4 text-(--clarify-theme-tokens-colors-muted) transition-transform duration-200", open && "rotate-180"),
|
|
1107
|
-
"aria-hidden": "true"
|
|
1108
|
-
})]
|
|
1109
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1110
|
-
id: contentId,
|
|
1111
|
-
className: "overflow-hidden border-t border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-background) transition-[max-height,opacity,transform] duration-200 ease-out dark:border-white/10 dark:bg-zinc-950/95",
|
|
1112
|
-
style: {
|
|
1113
|
-
maxHeight,
|
|
1114
|
-
willChange: "max-height, opacity, transform"
|
|
1115
|
-
},
|
|
1116
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1117
|
-
ref: contentRef,
|
|
1118
|
-
className: (0, clsx.default)("px-4 py-4 text-sm/6 text-(--clarify-theme-tokens-colors-foreground) transition-opacity duration-200 ease-out", open ? "opacity-100 translate-y-0" : "opacity-0 -translate-y-1"),
|
|
1119
|
-
children
|
|
1120
|
-
})
|
|
1121
|
-
})]
|
|
1122
|
-
});
|
|
1123
|
-
}
|
|
1124
|
-
//#endregion
|
|
1125
|
-
//#region source/components/Feedback.tsx
|
|
1126
|
-
function CheckIcon(props) {
|
|
1127
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
1128
|
-
viewBox: "0 0 20 20",
|
|
1129
|
-
"aria-hidden": "true",
|
|
1130
|
-
...props,
|
|
1131
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
|
|
1132
|
-
cx: "10",
|
|
1133
|
-
cy: "10",
|
|
1134
|
-
r: "10",
|
|
1135
|
-
strokeWidth: "0"
|
|
1136
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1137
|
-
fill: "none",
|
|
1138
|
-
strokeLinecap: "round",
|
|
1139
|
-
strokeLinejoin: "round",
|
|
1140
|
-
strokeWidth: "1.5",
|
|
1141
|
-
d: "m6.75 10.813 2.438 2.437c1.218-4.469 4.062-6.5 4.062-6.5"
|
|
1142
|
-
})]
|
|
1143
|
-
});
|
|
1144
|
-
}
|
|
1145
|
-
function FeedbackButton(props) {
|
|
1146
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
1147
|
-
type: "submit",
|
|
1148
|
-
className: "clarify-feedback-button px-3 text-sm font-medium text-zinc-600 transition hover:bg-zinc-900/2.5 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-white/5 dark:hover:text-white",
|
|
1149
|
-
...props
|
|
1150
|
-
});
|
|
1151
|
-
}
|
|
1152
|
-
var FeedbackForm = (0, react.forwardRef)(function FeedbackForm(arg0, ref) {
|
|
1153
|
-
const { onSubmit, className, ...props } = arg0;
|
|
1154
|
-
const t = useBuiltInText();
|
|
1155
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("form", {
|
|
1156
|
-
...props,
|
|
1157
|
-
ref,
|
|
1158
|
-
onSubmit,
|
|
1159
|
-
className: (0, clsx.default)(className, "clarify-feedback-form absolute inset-0 flex items-center justify-center gap-6 md:justify-start"),
|
|
1160
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
1161
|
-
className: "text-sm text-zinc-600 dark:text-zinc-400",
|
|
1162
|
-
children: t("feedback.prompt")
|
|
1163
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1164
|
-
className: "clarify-feedback-actions group grid h-8 grid-cols-[1fr_1px_1fr] overflow-hidden rounded-full border border-zinc-900/10 dark:border-white/10",
|
|
1165
|
-
children: [
|
|
1166
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(FeedbackButton, {
|
|
1167
|
-
"data-response": "yes",
|
|
1168
|
-
children: t("feedback.yes")
|
|
1169
|
-
}),
|
|
1170
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "bg-zinc-900/10 dark:bg-white/10" }),
|
|
1171
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(FeedbackButton, {
|
|
1172
|
-
"data-response": "no",
|
|
1173
|
-
children: t("feedback.no")
|
|
1174
|
-
})
|
|
1175
|
-
]
|
|
1176
|
-
})]
|
|
1177
|
-
});
|
|
1178
|
-
});
|
|
1179
|
-
var FeedbackThanks = (0, react.forwardRef)(function FeedbackThanks(arg0, ref) {
|
|
1180
|
-
const { className, ...props } = arg0;
|
|
1181
|
-
const t = useBuiltInText();
|
|
1182
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1183
|
-
...props,
|
|
1184
|
-
ref,
|
|
1185
|
-
className: (0, clsx.default)(className, "clarify-feedback-thanks absolute inset-0 flex justify-center md:justify-start"),
|
|
1186
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1187
|
-
className: "flex items-center gap-3 rounded-full bg-(--clarify-ui-accent-background) py-1 pr-3 pl-1.5 text-sm text-(--clarify-ui-accent-text) ring-1 ring-(--clarify-ui-accent-border) ring-inset",
|
|
1188
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(CheckIcon, { className: "h-5 w-5 flex-none fill-(--clarify-ui-accent-text) stroke-white dark:fill-(--clarify-ui-accent-background) dark:stroke-(--clarify-ui-accent-text)" }), t("feedback.thanks")]
|
|
1189
|
-
})
|
|
1190
|
-
});
|
|
1191
|
-
});
|
|
1192
|
-
function Feedback() {
|
|
1193
|
-
const [submitted, setSubmitted] = (0, react.useState)(false);
|
|
1194
|
-
function onSubmit(event) {
|
|
1195
|
-
event.preventDefault();
|
|
1196
|
-
setSubmitted(true);
|
|
1197
|
-
}
|
|
1198
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1199
|
-
className: "clarify-feedback relative h-8",
|
|
1200
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.Transition, {
|
|
1201
|
-
show: !submitted,
|
|
1202
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FeedbackForm, {
|
|
1203
|
-
className: "duration-300 data-closed:opacity-0 data-leave:pointer-events-none",
|
|
1204
|
-
onSubmit
|
|
1205
|
-
})
|
|
1206
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.Transition, {
|
|
1207
|
-
show: submitted,
|
|
1208
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FeedbackThanks, { className: "delay-150 duration-300 data-closed:opacity-0" })
|
|
1209
|
-
})]
|
|
1210
|
-
});
|
|
1211
|
-
}
|
|
1212
|
-
//#endregion
|
|
1213
|
-
//#region source/components/Tag.tsx
|
|
1214
|
-
var tagVariantStyles = {
|
|
1215
|
-
small: "",
|
|
1216
|
-
medium: "rounded-lg px-1.5 ring-1 ring-inset"
|
|
1217
|
-
};
|
|
1218
|
-
var tagColorStyles = {
|
|
1219
|
-
emerald: {
|
|
1220
|
-
small: "text-emerald-500 dark:text-emerald-400",
|
|
1221
|
-
medium: "bg-emerald-400/10 text-emerald-500 ring-emerald-300 dark:text-emerald-400 dark:ring-emerald-400/30"
|
|
1222
|
-
},
|
|
1223
|
-
sky: {
|
|
1224
|
-
small: "text-sky-500 dark:text-sky-400",
|
|
1225
|
-
medium: "bg-sky-400/10 text-sky-500 ring-sky-300 dark:text-sky-400 dark:ring-sky-400/30"
|
|
1226
|
-
},
|
|
1227
|
-
amber: {
|
|
1228
|
-
small: "text-amber-500 dark:text-amber-400",
|
|
1229
|
-
medium: "bg-amber-400/10 text-amber-500 ring-amber-300 dark:text-amber-400 dark:ring-amber-400/30"
|
|
1230
|
-
},
|
|
1231
|
-
rose: {
|
|
1232
|
-
small: "text-red-500 dark:text-rose-500",
|
|
1233
|
-
medium: "bg-rose-50 text-red-500 ring-rose-200 dark:bg-rose-400/10 dark:text-rose-400 dark:ring-rose-500/20"
|
|
1234
|
-
},
|
|
1235
|
-
zinc: {
|
|
1236
|
-
small: "text-(--clarify-theme-tokens-colors-muted) dark:text-zinc-500",
|
|
1237
|
-
medium: "bg-(--clarify-theme-tokens-colors-code-background) text-(--clarify-theme-tokens-colors-muted) ring-(--clarify-theme-tokens-colors-border) dark:bg-zinc-400/10 dark:text-zinc-400 dark:ring-zinc-500/20"
|
|
1238
|
-
}
|
|
1239
|
-
};
|
|
1240
|
-
var tagValueColorMap = {
|
|
1241
|
-
GET: "emerald",
|
|
1242
|
-
POST: "sky",
|
|
1243
|
-
PUT: "amber",
|
|
1244
|
-
PATCH: "amber",
|
|
1245
|
-
DELETE: "rose"
|
|
1246
|
-
};
|
|
1247
|
-
function Tag(arg0) {
|
|
1248
|
-
const { children, variant = "medium", color } = arg0;
|
|
1249
|
-
const value = typeof children === "string" ? children.toUpperCase() : "";
|
|
1250
|
-
const resolvedColor = color ?? tagValueColorMap[value] ?? "emerald";
|
|
1251
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
1252
|
-
className: (0, clsx.default)("clarify-tag font-bold", tagVariantStyles[variant], tagColorStyles[resolvedColor][variant]),
|
|
1253
|
-
children
|
|
1254
|
-
});
|
|
1255
|
-
}
|
|
1256
|
-
//#endregion
|
|
1257
|
-
//#region source/components/Heading.tsx
|
|
1258
|
-
function AnchorIcon(props) {
|
|
1259
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
1260
|
-
viewBox: "0 0 20 20",
|
|
1261
|
-
fill: "none",
|
|
1262
|
-
strokeLinecap: "round",
|
|
1263
|
-
"aria-hidden": "true",
|
|
1264
|
-
...props,
|
|
1265
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "m6.5 11.5-.964-.964a3.535 3.535 0 1 1 5-5l.964.964m2 2 .964.964a3.536 3.536 0 0 1-5 5L8.5 13.5m0-5 3 3" })
|
|
1266
|
-
});
|
|
1267
|
-
}
|
|
1268
|
-
function Eyebrow(arg0) {
|
|
1269
|
-
const { tag, label } = arg0;
|
|
1270
|
-
if (!tag && !label) return null;
|
|
1271
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1272
|
-
className: "flex items-center gap-x-3",
|
|
1273
|
-
children: [
|
|
1274
|
-
tag ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Tag, { children: tag }) : null,
|
|
1275
|
-
tag && label ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "h-0.5 w-0.5 rounded-full bg-zinc-300 dark:bg-zinc-600" }) : null,
|
|
1276
|
-
label ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
1277
|
-
className: "text-xs text-zinc-400",
|
|
1278
|
-
children: label
|
|
1279
|
-
}) : null
|
|
1280
|
-
]
|
|
1281
|
-
});
|
|
1282
|
-
}
|
|
1283
|
-
function Anchor(arg0) {
|
|
1284
|
-
const { id, inView, children } = arg0;
|
|
1285
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("a", {
|
|
1286
|
-
href: `#${id}`,
|
|
1287
|
-
className: "clarify-anchor group text-inherit no-underline hover:text-inherit",
|
|
1288
|
-
children: [inView ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1289
|
-
className: "absolute mt-1 -ml-(--width) hidden w-(--width) opacity-0 transition [--width:calc(2.625rem+0.5px+50%-min(50%,calc(var(--container-lg)+(--spacing(8)))))] group-hover:opacity-100 group-focus:opacity-100 md:block lg:z-50 2xl:[--width:--spacing(10)]",
|
|
1290
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1291
|
-
className: "group/anchor block h-5 w-5 rounded-lg bg-zinc-50 ring-1 ring-inset ring-zinc-300 transition hover:ring-zinc-500 dark:bg-zinc-800 dark:ring-zinc-700 dark:hover:bg-zinc-700 dark:hover:ring-zinc-600",
|
|
1292
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AnchorIcon, { className: "h-5 w-5 stroke-zinc-500 transition dark:stroke-zinc-400 dark:group-hover/anchor:stroke-white" })
|
|
1293
|
-
})
|
|
1294
|
-
}) : null, children]
|
|
1295
|
-
});
|
|
1296
|
-
}
|
|
1297
|
-
function Heading(arg0) {
|
|
1298
|
-
const { children, className, tag, label, level, anchor = true, ...props } = arg0;
|
|
1299
|
-
const resolvedLevel = level ?? 2;
|
|
1300
|
-
const Component = `h${resolvedLevel}`;
|
|
1301
|
-
const ref = (0, react.useRef)(null);
|
|
1302
|
-
const registerHeading = useSectionStore((state) => state.registerHeading);
|
|
1303
|
-
const inView = (0, framer_motion.useInView)(ref, {
|
|
1304
|
-
margin: `${remToPx(-3.5)}px 0px 0px 0px`,
|
|
1305
|
-
amount: "all"
|
|
1306
|
-
});
|
|
1307
|
-
(0, react.useEffect)(() => {
|
|
1308
|
-
if (resolvedLevel === 2) registerHeading({
|
|
1309
|
-
id: props.id,
|
|
1310
|
-
ref,
|
|
1311
|
-
offsetRem: tag || label ? 8 : 6
|
|
1312
|
-
});
|
|
1313
|
-
}, [
|
|
1314
|
-
label,
|
|
1315
|
-
props.id,
|
|
1316
|
-
registerHeading,
|
|
1317
|
-
resolvedLevel,
|
|
1318
|
-
tag
|
|
1319
|
-
]);
|
|
1320
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Eyebrow, {
|
|
1321
|
-
tag,
|
|
1322
|
-
label
|
|
1323
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Component, {
|
|
1324
|
-
ref,
|
|
1325
|
-
className: (0, clsx.default)("clarify-heading", tag || label ? "mt-2 scroll-mt-32" : "scroll-mt-24", className),
|
|
1326
|
-
...props,
|
|
1327
|
-
children: anchor ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Anchor, {
|
|
1328
|
-
id: props.id,
|
|
1329
|
-
inView,
|
|
1330
|
-
children
|
|
1331
|
-
}) : children
|
|
1332
|
-
})] });
|
|
1333
|
-
}
|
|
1334
|
-
//#endregion
|
|
1335
|
-
//#region source/components/Logo.tsx
|
|
1336
|
-
function Logo(props) {
|
|
1337
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
1338
|
-
viewBox: "0 0 99 24",
|
|
1339
|
-
"aria-hidden": "true",
|
|
1340
|
-
...props,
|
|
1341
|
-
className: (0, clsx.default)("clarify-logo", props.className),
|
|
1342
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1343
|
-
className: "fill-(--clarify-theme-tokens-colors-primary)",
|
|
1344
|
-
d: "M16 8a5 5 0 0 0-5-5H5a5 5 0 0 0-5 5v13.927a1 1 0 0 0 1.623.782l3.684-2.93a4 4 0 0 1 2.49-.87H11a5 5 0 0 0 5-5V8Z"
|
|
1345
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1346
|
-
className: "fill-(--clarify-theme-tokens-colors-foreground) dark:fill-white",
|
|
1347
|
-
d: "M26.538 18h2.654v-3.999h2.576c2.672 0 4.456-1.723 4.456-4.333V9.65c0-2.61-1.784-4.333-4.456-4.333h-5.23V18Zm4.58-10.582c1.52 0 2.416.8 2.416 2.241v.018c0 1.441-.896 2.25-2.417 2.25h-1.925V7.418h1.925ZM38.051 18h2.566v-5.414c0-1.371.923-2.206 2.382-2.206.396 0 .791.061 1.178.15V8.287a3.843 3.843 0 0 0-.958-.123c-1.257 0-2.136.615-2.443 1.661h-.159V8.323h-2.566V18Zm11.55.202c2.979 0 4.772-1.88 4.772-5.036v-.018c0-3.128-1.82-5.036-4.773-5.036-2.953 0-4.772 1.916-4.772 5.036v.018c0 3.146 1.793 5.036 4.772 5.036Zm0-2.013c-1.372 0-2.145-1.116-2.145-3.023v-.018c0-1.89.782-3.023 2.144-3.023 1.354 0 2.145 1.134 2.145 3.023v.018c0 1.907-.782 3.023-2.145 3.023Zm10.52 1.846c.492 0 .967-.053 1.283-.114v-1.907a6.057 6.057 0 0 1-.755.044c-.87 0-1.24-.387-1.24-1.257v-4.544h1.995V8.323H59.41V6.012h-2.592v2.311h-1.495v1.934h1.495v5.133c0 1.88.949 2.645 3.304 2.645Zm7.287.167c2.98 0 4.772-1.88 4.772-5.036v-.018c0-3.128-1.82-5.036-4.772-5.036-2.954 0-4.773 1.916-4.773 5.036v.018c0 3.146 1.793 5.036 4.773 5.036Zm0-2.013c-1.372 0-2.145-1.116-2.145-3.023v-.018c0-1.89.782-3.023 2.145-3.023 1.353 0 2.144 1.134 2.144 3.023v.018c0 1.907-.782 3.023-2.144 3.023Zm10.767 2.013c2.522 0 4.034-1.353 4.297-3.463l.01-.053h-2.374l-.017.036c-.229.966-.853 1.467-1.908 1.467-1.37 0-2.135-1.08-2.135-3.04v-.018c0-1.934.755-3.006 2.135-3.006 1.099 0 1.74.615 1.908 1.556l.008.017h2.391v-.026c-.228-2.162-1.749-3.56-4.315-3.56-3.033 0-4.738 1.837-4.738 5.019v.017c0 3.217 1.714 5.054 4.738 5.054Zm10.257 0c2.98 0 4.772-1.88 4.772-5.036v-.018c0-3.128-1.82-5.036-4.772-5.036-2.953 0-4.773 1.916-4.773 5.036v.018c0 3.146 1.793 5.036 4.773 5.036Zm0-2.013c-1.371 0-2.145-1.116-2.145-3.023v-.018c0-1.89.782-3.023 2.145-3.023 1.353 0 2.144 1.134 2.144 3.023v.018c0 1.907-.782 3.023-2.144 3.023ZM95.025 18h2.566V4.623h-2.566V18Z"
|
|
1348
|
-
})]
|
|
1349
|
-
});
|
|
1350
|
-
}
|
|
1351
|
-
//#endregion
|
|
1352
|
-
//#region source/components/patterns.tsx
|
|
1353
|
-
function GridPattern(arg0) {
|
|
1354
|
-
const { width, height, x, y, squares, ...props } = arg0;
|
|
1355
|
-
const patternId = (0, react.useId)();
|
|
1356
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
1357
|
-
"aria-hidden": "true",
|
|
1358
|
-
...props,
|
|
1359
|
-
children: [
|
|
1360
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("defs", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pattern", {
|
|
1361
|
-
id: patternId,
|
|
1362
|
-
width,
|
|
1363
|
-
height,
|
|
1364
|
-
patternUnits: "userSpaceOnUse",
|
|
1365
|
-
x,
|
|
1366
|
-
y,
|
|
1367
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1368
|
-
d: `M.5 ${height}V.5H${width}`,
|
|
1369
|
-
fill: "none"
|
|
1370
|
-
})
|
|
1371
|
-
}) }),
|
|
1372
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
|
|
1373
|
-
width: "100%",
|
|
1374
|
-
height: "100%",
|
|
1375
|
-
strokeWidth: 0,
|
|
1376
|
-
fill: `url(#${patternId})`
|
|
1377
|
-
}),
|
|
1378
|
-
squares ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
1379
|
-
x,
|
|
1380
|
-
y,
|
|
1381
|
-
className: "overflow-visible",
|
|
1382
|
-
children: squares.map(([squareX, squareY]) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
|
|
1383
|
-
width: width + 1,
|
|
1384
|
-
height: height + 1,
|
|
1385
|
-
x: squareX * width,
|
|
1386
|
-
y: squareY * height,
|
|
1387
|
-
strokeWidth: "0"
|
|
1388
|
-
}, `${squareX}-${squareY}`))
|
|
1389
|
-
}) : null
|
|
1390
|
-
]
|
|
1391
|
-
});
|
|
1392
|
-
}
|
|
1393
|
-
function HeroPattern() {
|
|
1394
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1395
|
-
className: "absolute inset-0 -z-10 mx-0 max-w-none overflow-hidden",
|
|
1396
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1397
|
-
className: "absolute top-0 left-1/2 -ml-152 h-100 w-325 dark:mask-[linear-gradient(white,transparent)]",
|
|
1398
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1399
|
-
className: "absolute inset-0 bg-[linear-gradient(to_right,var(--clarify-theme-tokens-colors-primary),var(--clarify-theme-tokens-colors-accent))] opacity-35 mask-[radial-gradient(farthest-side_at_top,white,transparent)] dark:opacity-55",
|
|
1400
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(GridPattern, {
|
|
1401
|
-
width: 72,
|
|
1402
|
-
height: 56,
|
|
1403
|
-
x: -12,
|
|
1404
|
-
y: 4,
|
|
1405
|
-
squares: [
|
|
1406
|
-
[4, 3],
|
|
1407
|
-
[2, 1],
|
|
1408
|
-
[7, 3],
|
|
1409
|
-
[10, 6]
|
|
1410
|
-
],
|
|
1411
|
-
className: "absolute inset-x-0 inset-y-[-50%] h-[200%] w-full -skew-y-18 fill-black/40 stroke-black/50 mix-blend-overlay dark:fill-white/2.5 dark:stroke-white/5"
|
|
1412
|
-
})
|
|
1413
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
1414
|
-
viewBox: "0 0 1113 440",
|
|
1415
|
-
"aria-hidden": "true",
|
|
1416
|
-
className: "absolute top-0 left-1/2 -ml-76 w-278.25 fill-white blur-[26px] dark:hidden",
|
|
1417
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M.016 439.5s-9.5-300 434-300S882.516 20 882.516 20V0h230.004v439.5H.016Z" })
|
|
1418
|
-
})]
|
|
1419
|
-
})
|
|
1420
|
-
});
|
|
1421
|
-
}
|
|
1422
|
-
//#endregion
|
|
1423
|
-
//#region source/components/Prose.tsx
|
|
1424
|
-
function Prose(arg0) {
|
|
1425
|
-
const { as, className, ...props } = arg0;
|
|
1426
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(as ?? "div", {
|
|
1427
|
-
className: (0, clsx.default)(className, "clarify-prose prose max-w-none dark:prose-invert", "[html_:where(&>*)]:w-full [html_:where(&>*)]:min-w-0 [html_:where(&>*)]:max-w-full"),
|
|
1428
|
-
...props
|
|
1429
|
-
});
|
|
1430
|
-
}
|
|
1431
|
-
//#endregion
|
|
1432
693
|
//#region source/utils/hash.ts
|
|
1433
694
|
function safeDecodeURIComponent(value) {
|
|
1434
695
|
try {
|
|
@@ -1478,7 +739,7 @@ function SectionBadge(arg0) {
|
|
|
1478
739
|
});
|
|
1479
740
|
}
|
|
1480
741
|
function NavLink(arg0) {
|
|
1481
|
-
const { href, children, badge, icon,
|
|
742
|
+
const { href, children, badge, icon, active = false, isAnchorLink = false } = arg0;
|
|
1482
743
|
function handleClick() {
|
|
1483
744
|
if (!isAnchorLink) return;
|
|
1484
745
|
const hashIndex = href.indexOf("#");
|
|
@@ -1491,13 +752,13 @@ function NavLink(arg0) {
|
|
|
1491
752
|
});
|
|
1492
753
|
});
|
|
1493
754
|
}
|
|
1494
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.
|
|
755
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.CloseButton, {
|
|
1495
756
|
as: react_router_dom.Link,
|
|
1496
757
|
to: href,
|
|
1497
758
|
"aria-current": active ? "page" : void 0,
|
|
1498
759
|
onClick: handleClick,
|
|
1499
760
|
className: (0, clsx.default)("clarify-navigation-link flex h-8 items-center justify-between gap-2 pr-3 transition", isAnchorLink ? "clarify-navigation-anchor-link pl-7" : "pl-4"),
|
|
1500
|
-
children:
|
|
761
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
1501
762
|
className: "flex min-w-0 flex-1 items-center gap-2",
|
|
1502
763
|
children: [
|
|
1503
764
|
icon ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(NavigationIcon, {
|
|
@@ -1510,14 +771,7 @@ function NavLink(arg0) {
|
|
|
1510
771
|
children
|
|
1511
772
|
})
|
|
1512
773
|
]
|
|
1513
|
-
})
|
|
1514
|
-
className: "flex shrink-0 gap-1",
|
|
1515
|
-
children: tags.map((tag) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Tag, {
|
|
1516
|
-
variant: "small",
|
|
1517
|
-
color: "zinc",
|
|
1518
|
-
children: tag
|
|
1519
|
-
}, tag))
|
|
1520
|
-
}) : null]
|
|
774
|
+
})
|
|
1521
775
|
});
|
|
1522
776
|
}
|
|
1523
777
|
function VisibleSectionHighlight(arg0) {
|
|
@@ -1675,26 +929,6 @@ function Navigation(arg0) {
|
|
|
1675
929
|
}
|
|
1676
930
|
//#endregion
|
|
1677
931
|
//#region source/shell/mobile.tsx
|
|
1678
|
-
function MenuIcon(props) {
|
|
1679
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
1680
|
-
viewBox: "0 0 10 9",
|
|
1681
|
-
fill: "none",
|
|
1682
|
-
strokeLinecap: "round",
|
|
1683
|
-
"aria-hidden": "true",
|
|
1684
|
-
...props,
|
|
1685
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M.5 1h9M.5 8h9M.5 4.5h9" })
|
|
1686
|
-
});
|
|
1687
|
-
}
|
|
1688
|
-
function XIcon(props) {
|
|
1689
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
1690
|
-
viewBox: "0 0 10 9",
|
|
1691
|
-
fill: "none",
|
|
1692
|
-
strokeLinecap: "round",
|
|
1693
|
-
"aria-hidden": "true",
|
|
1694
|
-
...props,
|
|
1695
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "m1.5 1 7 7M8.5 1l-7 7" })
|
|
1696
|
-
});
|
|
1697
|
-
}
|
|
1698
932
|
var IsInsideMobileNavigationContext = (0, react.createContext)(false);
|
|
1699
933
|
function hasPath$1(nodes, pathname) {
|
|
1700
934
|
return nodes.some((node) => isSameRoutePath(node.path, pathname) || hasPath$1(node.children ?? [], pathname));
|
|
@@ -1722,20 +956,7 @@ function MobileTabsSelect(arg0) {
|
|
|
1722
956
|
className: "truncate",
|
|
1723
957
|
children: activeTab.title
|
|
1724
958
|
})]
|
|
1725
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("
|
|
1726
|
-
width: "8",
|
|
1727
|
-
height: "24",
|
|
1728
|
-
viewBox: "0 -9 3 24",
|
|
1729
|
-
"aria-hidden": "true",
|
|
1730
|
-
className: "shrink-0 overflow-visible text-(--clarify-theme-tokens-colors-muted) transition-transform group-aria-expanded:rotate-180",
|
|
1731
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1732
|
-
d: "M0 0L3 3L0 6",
|
|
1733
|
-
fill: "none",
|
|
1734
|
-
stroke: "currentColor",
|
|
1735
|
-
strokeWidth: "1.5",
|
|
1736
|
-
strokeLinecap: "round"
|
|
1737
|
-
})
|
|
1738
|
-
})]
|
|
959
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronDown, { className: "h-4 w-4 shrink-0 text-(--clarify-theme-tokens-colors-muted) transition-transform group-aria-expanded:rotate-180" })]
|
|
1739
960
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.MenuItems, {
|
|
1740
961
|
className: "clarify-mobile-tabs-select-list clarify-ui-menu mt-2 flex flex-col gap-1 rounded-(--clarify-theme-tokens-radius-xl) border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface) p-1 shadow-lg shadow-zinc-900/5 focus:outline-none dark:border-white/10 dark:bg-zinc-900 dark:shadow-none",
|
|
1741
962
|
children: tabs.map((tab) => {
|
|
@@ -1754,19 +975,7 @@ function MobileTabsSelect(arg0) {
|
|
|
1754
975
|
className: "min-w-0 whitespace-normal wrap-anywhere font-medium leading-5",
|
|
1755
976
|
children: tab.title
|
|
1756
977
|
})]
|
|
1757
|
-
}), active ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("
|
|
1758
|
-
viewBox: "0 0 20 20",
|
|
1759
|
-
fill: "none",
|
|
1760
|
-
"aria-hidden": "true",
|
|
1761
|
-
className: "mt-0.5 h-4 w-4 shrink-0",
|
|
1762
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1763
|
-
d: "m5 10 3 3 7-7",
|
|
1764
|
-
stroke: "currentColor",
|
|
1765
|
-
strokeWidth: "1.8",
|
|
1766
|
-
strokeLinecap: "round",
|
|
1767
|
-
strokeLinejoin: "round"
|
|
1768
|
-
})
|
|
1769
|
-
}) : null]
|
|
978
|
+
}), active ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Check, { className: "mt-0.5 h-4 w-4 shrink-0" }) : null]
|
|
1770
979
|
}) }, `${tab.title}-${tab.path}`);
|
|
1771
980
|
})
|
|
1772
981
|
})]
|
|
@@ -1792,7 +1001,7 @@ function MobileNavigationDialog(arg0) {
|
|
|
1792
1001
|
className: "data-closed:opacity-0 data-enter:duration-300 data-enter:ease-out data-leave:duration-200 data-leave:ease-in"
|
|
1793
1002
|
}) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.TransitionChild, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(framer_motion.motion.div, {
|
|
1794
1003
|
layoutScroll: true,
|
|
1795
|
-
className: "clarify-mobile-navigation-panel fixed top-14 bottom-0 left-0 w-full overflow-y-auto bg-(--clarify-theme-tokens-colors-background) px-4 pt-6 pb-4 shadow-lg ring-1 shadow-zinc-900/10 ring-(--clarify-theme-tokens-colors-border) duration-500 ease-in-out data-closed:-translate-x-full
|
|
1004
|
+
className: "clarify-mobile-navigation-panel fixed top-14 bottom-0 left-0 w-full max-w-sm overflow-y-auto bg-(--clarify-theme-tokens-colors-background) px-4 pt-6 pb-4 shadow-lg ring-1 shadow-zinc-900/10 ring-(--clarify-theme-tokens-colors-border) duration-500 ease-in-out data-closed:-translate-x-full sm:px-6 sm:pb-10 dark:bg-zinc-950 dark:ring-zinc-800",
|
|
1796
1005
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(MobileTabsSelect, { tabs }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Navigation, { navigation })]
|
|
1797
1006
|
}) })] })]
|
|
1798
1007
|
});
|
|
@@ -1811,7 +1020,7 @@ function MobileNavigation(arg0) {
|
|
|
1811
1020
|
const isInsideMobileNavigation = useIsInsideMobileNavigation();
|
|
1812
1021
|
const { isOpen, toggle, close } = useMobileNavigationStore();
|
|
1813
1022
|
const t = useBuiltInText();
|
|
1814
|
-
const ToggleIcon = isOpen ?
|
|
1023
|
+
const ToggleIcon = isOpen ? lucide_react.X : lucide_react.Menu;
|
|
1815
1024
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(IsInsideMobileNavigationContext.Provider, {
|
|
1816
1025
|
value: true,
|
|
1817
1026
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
@@ -1819,7 +1028,7 @@ function MobileNavigation(arg0) {
|
|
|
1819
1028
|
className: "clarify-mobile-navigation-button clarify-ui-icon-button relative flex size-6 items-center justify-center rounded-(--clarify-theme-tokens-radius-md) transition",
|
|
1820
1029
|
"aria-label": t("navigation.toggle"),
|
|
1821
1030
|
onClick: toggle,
|
|
1822
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "absolute size-12 pointer-fine:hidden" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToggleIcon, { className: "w-
|
|
1031
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "absolute size-12 pointer-fine:hidden" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToggleIcon, { className: "h-4 w-4 stroke-(--clarify-theme-tokens-colors-foreground) dark:stroke-white" })]
|
|
1823
1032
|
}), !isInsideMobileNavigation ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.Suspense, {
|
|
1824
1033
|
fallback: null,
|
|
1825
1034
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MobileNavigationDialog, {
|
|
@@ -1837,32 +1046,6 @@ function MobileNavigation(arg0) {
|
|
|
1837
1046
|
}
|
|
1838
1047
|
//#endregion
|
|
1839
1048
|
//#region source/shell/Search.tsx
|
|
1840
|
-
function SearchIcon(props) {
|
|
1841
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
1842
|
-
viewBox: "0 0 20 20",
|
|
1843
|
-
fill: "none",
|
|
1844
|
-
"aria-hidden": "true",
|
|
1845
|
-
...props,
|
|
1846
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1847
|
-
strokeLinecap: "round",
|
|
1848
|
-
strokeLinejoin: "round",
|
|
1849
|
-
d: "M12.01 12a4.25 4.25 0 1 0-6.02-6 4.25 4.25 0 0 0 6.02 6Zm0 0 3.24 3.25"
|
|
1850
|
-
})
|
|
1851
|
-
});
|
|
1852
|
-
}
|
|
1853
|
-
function NoResultsIcon(props) {
|
|
1854
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
1855
|
-
viewBox: "0 0 20 20",
|
|
1856
|
-
fill: "none",
|
|
1857
|
-
"aria-hidden": "true",
|
|
1858
|
-
...props,
|
|
1859
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1860
|
-
strokeLinecap: "round",
|
|
1861
|
-
strokeLinejoin: "round",
|
|
1862
|
-
d: "M12.01 12a4.237 4.237 0 0 0 1.24-3c0-.62-.132-1.207-.37-1.738M12.01 12A4.237 4.237 0 0 1 9 13.25c-.635 0-1.237-.14-1.777-.388M12.01 12l3.24 3.25m-3.715-9.661a4.25 4.25 0 0 0-5.975 5.908M4.5 15.5l11-11"
|
|
1863
|
-
})
|
|
1864
|
-
});
|
|
1865
|
-
}
|
|
1866
1049
|
function routeGroupTitles(navigation) {
|
|
1867
1050
|
const titles = /* @__PURE__ */ new Map();
|
|
1868
1051
|
for (const node of navigation) if (node.children?.length) for (const child of node.children) titles.set(child.path, node.title);
|
|
@@ -1945,7 +1128,7 @@ var SearchInput = (0, react.forwardRef)(function SearchInput(arg0, inputRef) {
|
|
|
1945
1128
|
const t = useBuiltInText();
|
|
1946
1129
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1947
1130
|
className: "clarify-search-input group relative flex h-12",
|
|
1948
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
1131
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Search, { className: "pointer-events-none absolute top-0 left-3 h-full w-5 stroke-(--clarify-theme-tokens-colors-muted)" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
1949
1132
|
ref: inputRef,
|
|
1950
1133
|
"data-autofocus": true,
|
|
1951
1134
|
role: "combobox",
|
|
@@ -2022,7 +1205,7 @@ function SearchDialog(arg0) {
|
|
|
2022
1205
|
transition: true,
|
|
2023
1206
|
className: "clarify-search-backdrop clarify-ui-backdrop fixed inset-0 backdrop-blur-xs data-closed:opacity-0 data-enter:duration-300 data-enter:ease-out data-leave:duration-200 data-leave:ease-in"
|
|
2024
1207
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
2025
|
-
className: "fixed inset-0 overflow-y-auto px-4 py-4 sm:px-6 sm:py-20 md:py-32 lg:px-8 lg:py-
|
|
1208
|
+
className: "fixed inset-0 overflow-y-auto px-4 py-4 sm:px-6 sm:py-20 md:py-32 lg:px-8 lg:py-(--clarify-search-dialog-padding-block-lg)",
|
|
2026
1209
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_headlessui_react.DialogPanel, {
|
|
2027
1210
|
transition: true,
|
|
2028
1211
|
className: "clarify-search-panel mx-auto transform-gpu overflow-hidden rounded-(--clarify-theme-tokens-radius-lg) bg-(--clarify-theme-tokens-colors-surface) shadow-xl ring-1 ring-(--clarify-theme-tokens-colors-border) data-closed:scale-95 data-closed:opacity-0 data-enter:duration-300 data-enter:ease-out data-leave:duration-200 data-leave:ease-in sm:max-w-xl dark:bg-zinc-900 dark:ring-zinc-800",
|
|
@@ -2046,7 +1229,7 @@ function SearchDialog(arg0) {
|
|
|
2046
1229
|
className: "border-t border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-background) empty:hidden dark:border-zinc-100/5 dark:bg-white/2.5",
|
|
2047
1230
|
children: [query && results.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
2048
1231
|
className: "p-6 text-center",
|
|
2049
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
1232
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.SearchX, { className: "mx-auto h-5 w-5 stroke-(--clarify-theme-tokens-colors-foreground) dark:stroke-zinc-600" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
2050
1233
|
className: "mt-2 text-xs text-(--clarify-theme-tokens-colors-muted) dark:text-zinc-400",
|
|
2051
1234
|
children: t("search.noResults", { query })
|
|
2052
1235
|
})]
|
|
@@ -2092,13 +1275,13 @@ function Search(arg0) {
|
|
|
2092
1275
|
const modifierKey = getModifierKey();
|
|
2093
1276
|
const { buttonProps, dialogProps } = useSearchProps();
|
|
2094
1277
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
2095
|
-
className: "clarify-search hidden w-80 max-w-
|
|
1278
|
+
className: "clarify-search hidden w-80 max-w-(--clarify-search-max-width) lg:block",
|
|
2096
1279
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
2097
1280
|
type: "button",
|
|
2098
1281
|
className: "clarify-search-button hidden h-9 w-full items-center gap-2 rounded-(--clarify-theme-tokens-radius-lg) bg-(--clarify-theme-tokens-colors-surface) pr-3 pl-2.5 font-medium ring-1 ring-(--clarify-theme-tokens-colors-border) transition hover:bg-(--clarify-theme-tokens-colors-background) lg:flex dark:bg-white/5 dark:ring-white/10 dark:ring-inset dark:hover:bg-white/10",
|
|
2099
1282
|
...buttonProps,
|
|
2100
1283
|
children: [
|
|
2101
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
1284
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Search, { className: "h-5 w-5 stroke-current" }),
|
|
2102
1285
|
t("search.button"),
|
|
2103
1286
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("kbd", {
|
|
2104
1287
|
className: "clarify-search-shortcut ml-auto rounded-(--clarify-theme-tokens-radius-sm) bg-(--clarify-theme-tokens-colors-background) px-1.5 py-0.5 ring-1 ring-(--clarify-theme-tokens-colors-border) dark:bg-white/5 dark:ring-white/10",
|
|
@@ -2133,7 +1316,7 @@ function MobileSearch(arg0) {
|
|
|
2133
1316
|
className: "clarify-mobile-search-button clarify-ui-control relative flex size-6 items-center justify-center rounded-(--clarify-theme-tokens-radius-md) transition lg:hidden",
|
|
2134
1317
|
"aria-label": t("search.placeholder"),
|
|
2135
1318
|
...buttonProps,
|
|
2136
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "absolute size-12 pointer-fine:hidden" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
1319
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "absolute size-12 pointer-fine:hidden" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Search, { className: "h-5 w-5 stroke-(--clarify-theme-tokens-colors-foreground) dark:stroke-white" })]
|
|
2137
1320
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.Suspense, {
|
|
2138
1321
|
fallback: null,
|
|
2139
1322
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SearchDialog, {
|
|
@@ -2186,15 +1369,6 @@ function localizedRoutePath(config, locale, route) {
|
|
|
2186
1369
|
if (route?.alternates) return void 0;
|
|
2187
1370
|
return localizeHref(route?.basePath ?? route?.path ?? "/", config, locale);
|
|
2188
1371
|
}
|
|
2189
|
-
function LanguageIcon(props) {
|
|
2190
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
2191
|
-
viewBox: "0 0 20 20",
|
|
2192
|
-
fill: "none",
|
|
2193
|
-
"aria-hidden": "true",
|
|
2194
|
-
...props,
|
|
2195
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M10 17.5a7.5 7.5 0 1 0 0-15 7.5 7.5 0 0 0 0 15Z" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M2.5 10h15M10 2.5c2 2.05 3 4.55 3 7.5s-1 5.45-3 7.5c-2-2.05-3-4.55-3-7.5s1-5.45 3-7.5Z" })]
|
|
2196
|
-
});
|
|
2197
|
-
}
|
|
2198
1372
|
function LanguageSwitcher(arg0) {
|
|
2199
1373
|
const { config, currentLocale, currentRoute } = arg0;
|
|
2200
1374
|
const t = useBuiltInText();
|
|
@@ -2212,7 +1386,7 @@ function LanguageSwitcher(arg0) {
|
|
|
2212
1386
|
"aria-label": t("language.switch"),
|
|
2213
1387
|
children: [
|
|
2214
1388
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "absolute size-12 pointer-fine:hidden" }),
|
|
2215
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
1389
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Globe2, { className: "h-5 w-5 stroke-current" }),
|
|
2216
1390
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
2217
1391
|
className: "hidden sm:inline",
|
|
2218
1392
|
children: selectedLocaleConfig?.label ?? selectedLocale
|
|
@@ -2424,30 +1598,6 @@ var Header = (0, react.forwardRef)(function Header(arg0, ref) {
|
|
|
2424
1598
|
});
|
|
2425
1599
|
});
|
|
2426
1600
|
//#endregion
|
|
2427
|
-
Object.defineProperty(exports, "Button", {
|
|
2428
|
-
enumerable: true,
|
|
2429
|
-
get: function() {
|
|
2430
|
-
return Button;
|
|
2431
|
-
}
|
|
2432
|
-
});
|
|
2433
|
-
Object.defineProperty(exports, "Callout", {
|
|
2434
|
-
enumerable: true,
|
|
2435
|
-
get: function() {
|
|
2436
|
-
return Callout;
|
|
2437
|
-
}
|
|
2438
|
-
});
|
|
2439
|
-
Object.defineProperty(exports, "Card", {
|
|
2440
|
-
enumerable: true,
|
|
2441
|
-
get: function() {
|
|
2442
|
-
return Card;
|
|
2443
|
-
}
|
|
2444
|
-
});
|
|
2445
|
-
Object.defineProperty(exports, "CardGroup", {
|
|
2446
|
-
enumerable: true,
|
|
2447
|
-
get: function() {
|
|
2448
|
-
return CardGroup;
|
|
2449
|
-
}
|
|
2450
|
-
});
|
|
2451
1601
|
Object.defineProperty(exports, "ClarifyConfigContext", {
|
|
2452
1602
|
enumerable: true,
|
|
2453
1603
|
get: function() {
|
|
@@ -2460,66 +1610,18 @@ Object.defineProperty(exports, "ClarifyLocaleContext", {
|
|
|
2460
1610
|
return ClarifyLocaleContext;
|
|
2461
1611
|
}
|
|
2462
1612
|
});
|
|
2463
|
-
Object.defineProperty(exports, "Code", {
|
|
2464
|
-
enumerable: true,
|
|
2465
|
-
get: function() {
|
|
2466
|
-
return Code;
|
|
2467
|
-
}
|
|
2468
|
-
});
|
|
2469
|
-
Object.defineProperty(exports, "CodeGroup", {
|
|
2470
|
-
enumerable: true,
|
|
2471
|
-
get: function() {
|
|
2472
|
-
return CodeGroup;
|
|
2473
|
-
}
|
|
2474
|
-
});
|
|
2475
|
-
Object.defineProperty(exports, "Collapse", {
|
|
2476
|
-
enumerable: true,
|
|
2477
|
-
get: function() {
|
|
2478
|
-
return Collapse;
|
|
2479
|
-
}
|
|
2480
|
-
});
|
|
2481
1613
|
Object.defineProperty(exports, "ContentActions", {
|
|
2482
1614
|
enumerable: true,
|
|
2483
1615
|
get: function() {
|
|
2484
1616
|
return ContentActions;
|
|
2485
1617
|
}
|
|
2486
1618
|
});
|
|
2487
|
-
Object.defineProperty(exports, "Feedback", {
|
|
2488
|
-
enumerable: true,
|
|
2489
|
-
get: function() {
|
|
2490
|
-
return Feedback;
|
|
2491
|
-
}
|
|
2492
|
-
});
|
|
2493
|
-
Object.defineProperty(exports, "GridPattern", {
|
|
2494
|
-
enumerable: true,
|
|
2495
|
-
get: function() {
|
|
2496
|
-
return GridPattern;
|
|
2497
|
-
}
|
|
2498
|
-
});
|
|
2499
1619
|
Object.defineProperty(exports, "Header", {
|
|
2500
1620
|
enumerable: true,
|
|
2501
1621
|
get: function() {
|
|
2502
1622
|
return Header;
|
|
2503
1623
|
}
|
|
2504
1624
|
});
|
|
2505
|
-
Object.defineProperty(exports, "Heading", {
|
|
2506
|
-
enumerable: true,
|
|
2507
|
-
get: function() {
|
|
2508
|
-
return Heading;
|
|
2509
|
-
}
|
|
2510
|
-
});
|
|
2511
|
-
Object.defineProperty(exports, "HeroPattern", {
|
|
2512
|
-
enumerable: true,
|
|
2513
|
-
get: function() {
|
|
2514
|
-
return HeroPattern;
|
|
2515
|
-
}
|
|
2516
|
-
});
|
|
2517
|
-
Object.defineProperty(exports, "Logo", {
|
|
2518
|
-
enumerable: true,
|
|
2519
|
-
get: function() {
|
|
2520
|
-
return Logo;
|
|
2521
|
-
}
|
|
2522
|
-
});
|
|
2523
1625
|
Object.defineProperty(exports, "Navigation", {
|
|
2524
1626
|
enumerable: true,
|
|
2525
1627
|
get: function() {
|
|
@@ -2532,30 +1634,12 @@ Object.defineProperty(exports, "OpenApisContext", {
|
|
|
2532
1634
|
return OpenApisContext;
|
|
2533
1635
|
}
|
|
2534
1636
|
});
|
|
2535
|
-
Object.defineProperty(exports, "Pre", {
|
|
2536
|
-
enumerable: true,
|
|
2537
|
-
get: function() {
|
|
2538
|
-
return Pre;
|
|
2539
|
-
}
|
|
2540
|
-
});
|
|
2541
|
-
Object.defineProperty(exports, "Prose", {
|
|
2542
|
-
enumerable: true,
|
|
2543
|
-
get: function() {
|
|
2544
|
-
return Prose;
|
|
2545
|
-
}
|
|
2546
|
-
});
|
|
2547
1637
|
Object.defineProperty(exports, "SectionProvider", {
|
|
2548
1638
|
enumerable: true,
|
|
2549
1639
|
get: function() {
|
|
2550
1640
|
return SectionProvider;
|
|
2551
1641
|
}
|
|
2552
1642
|
});
|
|
2553
|
-
Object.defineProperty(exports, "Tag", {
|
|
2554
|
-
enumerable: true,
|
|
2555
|
-
get: function() {
|
|
2556
|
-
return Tag;
|
|
2557
|
-
}
|
|
2558
|
-
});
|
|
2559
1643
|
Object.defineProperty(exports, "ThemeProvider", {
|
|
2560
1644
|
enumerable: true,
|
|
2561
1645
|
get: function() {
|
|
@@ -2592,6 +1676,12 @@ Object.defineProperty(exports, "localizeHref", {
|
|
|
2592
1676
|
return localizeHref;
|
|
2593
1677
|
}
|
|
2594
1678
|
});
|
|
1679
|
+
Object.defineProperty(exports, "lucideIconRegistry", {
|
|
1680
|
+
enumerable: true,
|
|
1681
|
+
get: function() {
|
|
1682
|
+
return lucideIconRegistry;
|
|
1683
|
+
}
|
|
1684
|
+
});
|
|
2595
1685
|
Object.defineProperty(exports, "normalizeRoutePath", {
|
|
2596
1686
|
enumerable: true,
|
|
2597
1687
|
get: function() {
|
|
@@ -2610,6 +1700,12 @@ Object.defineProperty(exports, "remToPx", {
|
|
|
2610
1700
|
return remToPx;
|
|
2611
1701
|
}
|
|
2612
1702
|
});
|
|
1703
|
+
Object.defineProperty(exports, "resolveLucideIconName", {
|
|
1704
|
+
enumerable: true,
|
|
1705
|
+
get: function() {
|
|
1706
|
+
return resolveLucideIconName;
|
|
1707
|
+
}
|
|
1708
|
+
});
|
|
2613
1709
|
Object.defineProperty(exports, "safeDecodeURIComponent", {
|
|
2614
1710
|
enumerable: true,
|
|
2615
1711
|
get: function() {
|
|
@@ -2647,4 +1743,4 @@ Object.defineProperty(exports, "useTheme", {
|
|
|
2647
1743
|
}
|
|
2648
1744
|
});
|
|
2649
1745
|
|
|
2650
|
-
//# sourceMappingURL=shell-
|
|
1746
|
+
//# sourceMappingURL=shell-D4tS8Jts.cjs.map
|