@anvia/studio 1.0.1 → 1.0.4
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 +45 -3
- package/dist/index.d.ts +56 -5
- package/dist/index.js +349 -41
- package/dist/index.js.map +1 -1
- package/dist/ui/assets/Check.es-DgvuCllR.js +2 -0
- package/dist/ui/assets/Check.es-DgvuCllR.js.map +1 -0
- package/dist/ui/assets/Copy.es-DV7tb_eC.js +2 -0
- package/dist/ui/assets/Copy.es-DV7tb_eC.js.map +1 -0
- package/dist/ui/assets/MagnifyingGlass.es-yzEp9c89.js +2 -0
- package/dist/ui/assets/MagnifyingGlass.es-yzEp9c89.js.map +1 -0
- package/dist/ui/assets/Wrench.es-rRuP3Mrh.js +2 -0
- package/dist/ui/assets/Wrench.es-rRuP3Mrh.js.map +1 -0
- package/dist/ui/assets/agents-page-ByhvVYOx.js +2 -0
- package/dist/ui/assets/agents-page-ByhvVYOx.js.map +1 -0
- package/dist/ui/assets/badge-C3fkxijh.js +2 -0
- package/dist/ui/assets/badge-C3fkxijh.js.map +1 -0
- package/dist/ui/assets/button-B_AoswCu.js +2 -0
- package/dist/ui/assets/button-B_AoswCu.js.map +1 -0
- package/dist/ui/assets/{dialog-DN8F1Aaq.js → dialog-BfKpnby4.js} +2 -2
- package/dist/ui/assets/{dialog-DN8F1Aaq.js.map → dialog-BfKpnby4.js.map} +1 -1
- package/dist/ui/assets/{dist-PrGeYMiK.js → dist-Dr6EWOhl.js} +2 -2
- package/dist/ui/assets/{dist-PrGeYMiK.js.map → dist-Dr6EWOhl.js.map} +1 -1
- package/dist/ui/assets/{es2015-Ck1KeeEx.js → es2015-DGcxtKLK.js} +2 -2
- package/dist/ui/assets/{es2015-Ck1KeeEx.js.map → es2015-DGcxtKLK.js.map} +1 -1
- package/dist/ui/assets/favicon-dark.svg +7 -0
- package/dist/ui/assets/favicon-light.svg +7 -0
- package/dist/ui/assets/favicon.svg +1 -1
- package/dist/ui/assets/graphs-page-ne3dJIrx.js +2 -0
- package/dist/ui/assets/graphs-page-ne3dJIrx.js.map +1 -0
- package/dist/ui/assets/index-BGl7eOVR.css +2 -0
- package/dist/ui/assets/index-DF9Ysm8q.js +75 -0
- package/dist/ui/assets/index-DF9Ysm8q.js.map +1 -0
- package/dist/ui/assets/{input-DHvac9Uq.js → input-DuERdYTl.js} +2 -2
- package/dist/ui/assets/{input-DHvac9Uq.js.map → input-DuERdYTl.js.map} +1 -1
- package/dist/ui/assets/knowledge-page-1WgvGV4f.js +2 -0
- package/dist/ui/assets/knowledge-page-1WgvGV4f.js.map +1 -0
- package/dist/ui/assets/{mcps-page-MSz67ifn.js → mcps-page-BV96jSfG.js} +2 -2
- package/dist/ui/assets/mcps-page-BV96jSfG.js.map +1 -0
- package/dist/ui/assets/memory-page-DxClkjRl.js +4 -0
- package/dist/ui/assets/{memory-page-2qr2eMrI.js.map → memory-page-DxClkjRl.js.map} +1 -1
- package/dist/ui/assets/pipelines-page-ClO_uXn1.js +2 -0
- package/dist/ui/assets/pipelines-page-ClO_uXn1.js.map +1 -0
- package/dist/ui/assets/{renderers-BIw5yJkg.js → renderers-Cf55u6J4.js} +3 -3
- package/dist/ui/assets/{renderers-BIw5yJkg.js.map → renderers-Cf55u6J4.js.map} +1 -1
- package/dist/ui/assets/{request-CnFL8L6p.js → request-DbgMKweq.js} +2 -2
- package/dist/ui/assets/{request-CnFL8L6p.js.map → request-DbgMKweq.js.map} +1 -1
- package/dist/ui/assets/{sandboxes-page-DWMtrKYJ.js → sandboxes-page-Bo4S4ILL.js} +2 -2
- package/dist/ui/assets/sandboxes-page-Bo4S4ILL.js.map +1 -0
- package/dist/ui/assets/select-BdCBnmXx.js +2 -0
- package/dist/ui/assets/{select-C1_9fsRu.js.map → select-BdCBnmXx.js.map} +1 -1
- package/dist/ui/assets/sessions-page-BMnR-r_F.js +2 -0
- package/dist/ui/assets/sessions-page-BMnR-r_F.js.map +1 -0
- package/dist/ui/assets/status-page-Ys5dQyMG.js +2 -0
- package/dist/ui/assets/status-page-Ys5dQyMG.js.map +1 -0
- package/dist/ui/assets/studio-DzEdCFsX.js +2 -0
- package/dist/ui/assets/studio-DzEdCFsX.js.map +1 -0
- package/dist/ui/assets/style-BstB0PNS.js +8 -0
- package/dist/ui/assets/style-BstB0PNS.js.map +1 -0
- package/dist/ui/assets/{textarea-CZvhTJxB.js → textarea-fAtCF2cf.js} +2 -2
- package/dist/ui/assets/{textarea-CZvhTJxB.js.map → textarea-fAtCF2cf.js.map} +1 -1
- package/dist/ui/assets/tool-runner-Cwfc3yY8.js +2 -0
- package/dist/ui/assets/tool-runner-Cwfc3yY8.js.map +1 -0
- package/dist/ui/assets/{tools-page-D1ewvG0D.js → tools-page-BSgFqVi2.js} +2 -2
- package/dist/ui/assets/tools-page-BSgFqVi2.js.map +1 -0
- package/dist/ui/assets/trace-browser-Co9iS9HR.js +4 -0
- package/dist/ui/assets/trace-browser-Co9iS9HR.js.map +1 -0
- package/dist/ui/assets/transcript-item-ChVGempt.js +3 -0
- package/dist/ui/assets/transcript-item-ChVGempt.js.map +1 -0
- package/dist/ui/index.html +28 -20
- package/package.json +12 -8
- package/dist/ui/assets/CaretDown.es-CXu4Fvbf.js +0 -2
- package/dist/ui/assets/CaretDown.es-CXu4Fvbf.js.map +0 -1
- package/dist/ui/assets/Check.es-DSXK9-8c.js +0 -2
- package/dist/ui/assets/Check.es-DSXK9-8c.js.map +0 -1
- package/dist/ui/assets/Wrench.es-Cl38Pi3C.js +0 -4
- package/dist/ui/assets/Wrench.es-Cl38Pi3C.js.map +0 -1
- package/dist/ui/assets/agents-page-h-83w9EN.js +0 -2
- package/dist/ui/assets/agents-page-h-83w9EN.js.map +0 -1
- package/dist/ui/assets/badge-O3YyUN3G.js +0 -2
- package/dist/ui/assets/badge-O3YyUN3G.js.map +0 -1
- package/dist/ui/assets/button-Dsqwey2_.js +0 -2
- package/dist/ui/assets/button-Dsqwey2_.js.map +0 -1
- package/dist/ui/assets/index-Dggzi3lZ.js +0 -75
- package/dist/ui/assets/index-Dggzi3lZ.js.map +0 -1
- package/dist/ui/assets/index-VCdJ2Rb4.css +0 -2
- package/dist/ui/assets/knowledge-page-DKnPrmhK.js +0 -2
- package/dist/ui/assets/knowledge-page-DKnPrmhK.js.map +0 -1
- package/dist/ui/assets/mcps-page-MSz67ifn.js.map +0 -1
- package/dist/ui/assets/memory-page-2qr2eMrI.js +0 -4
- package/dist/ui/assets/pipelines-page-D1IB1tw-.js +0 -8
- package/dist/ui/assets/pipelines-page-D1IB1tw-.js.map +0 -1
- package/dist/ui/assets/sandboxes-page-DWMtrKYJ.js.map +0 -1
- package/dist/ui/assets/select-C1_9fsRu.js +0 -2
- package/dist/ui/assets/sessions-page-BIk4q-L8.js +0 -2
- package/dist/ui/assets/sessions-page-BIk4q-L8.js.map +0 -1
- package/dist/ui/assets/status-page-jKTghmnz.js +0 -2
- package/dist/ui/assets/status-page-jKTghmnz.js.map +0 -1
- package/dist/ui/assets/studio-Bh00wIF1.js +0 -2
- package/dist/ui/assets/studio-Bh00wIF1.js.map +0 -1
- package/dist/ui/assets/tool-runner-BtaZqE3R.js +0 -2
- package/dist/ui/assets/tool-runner-BtaZqE3R.js.map +0 -1
- package/dist/ui/assets/tools-page-D1ewvG0D.js.map +0 -1
- package/dist/ui/assets/trace-browser-CwRUyCO6.js +0 -10
- package/dist/ui/assets/trace-browser-CwRUyCO6.js.map +0 -1
- package/dist/ui/assets/transcript-item-ChtaJvPe.js +0 -3
- package/dist/ui/assets/transcript-item-ChtaJvPe.js.map +0 -1
- /package/dist/ui/assets/{pipelines-page-DLioOiRN.css → style-DLioOiRN.css} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button-Dsqwey2_.js","names":["__defProp","__name","React"],"sources":["../../../src/ui/app/modules/shared/object.ts","../../../src/ui/app/modules/shared/format.ts","../../../../../node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.5_@types+react@19.2.14_react@19.2.8/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../../../../node_modules/.pnpm/@radix-ui+react-slot@1.3.3_@types+react@19.2.14_react@19.2.8/node_modules/@radix-ui/react-slot/dist/index.mjs","../../../src/ui/app/components/ui/button.tsx"],"sourcesContent":["export function isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n","import type { StudioConfig, StudioTrace } from \"../../../../types\";\nimport { isRecord } from \"./object\";\nimport type { ActivePage, ToolApproval, TraceStatusFilter } from \"./types\";\n\nexport function formatRelativeTime(value: string): string {\n const date = new Date(value);\n if (Number.isNaN(date.getTime())) {\n return \"\";\n }\n\n const seconds = Math.max(0, Math.floor((Date.now() - date.getTime()) / 1000));\n if (seconds < 60) {\n return \"now\";\n }\n const minutes = Math.floor(seconds / 60);\n if (minutes < 60) {\n return `${minutes}m`;\n }\n const hours = Math.floor(minutes / 60);\n if (hours < 24) {\n return `${hours}h`;\n }\n const days = Math.floor(hours / 24);\n if (days < 7) {\n return `${days}d`;\n }\n const weeks = Math.floor(days / 7);\n if (weeks < 5) {\n return `${weeks}w`;\n }\n return `${Math.floor(days / 30)}mo`;\n}\n\nexport function formatTraceTime(value: string): string {\n const date = new Date(value);\n if (Number.isNaN(date.getTime())) {\n return \"\";\n }\n return date.toLocaleTimeString([], { hour: \"2-digit\", minute: \"2-digit\" });\n}\n\nexport function formatTraceDate(value: string): string {\n const date = new Date(value);\n if (Number.isNaN(date.getTime())) {\n return \"\";\n }\n return date.toLocaleString([], {\n month: \"short\",\n day: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n });\n}\n\nexport function formatDuration(value: number | undefined): string {\n if (value === undefined) {\n return \"\";\n }\n if (value < 1000) {\n return `${value}ms`;\n }\n return `${(value / 1000).toFixed(1)}s`;\n}\n\nexport function formatUsage(usage: StudioTrace[\"usage\"]): string {\n if (usage === undefined) {\n return \"-\";\n }\n return `${usage.totalTokens} tok`;\n}\n\nexport function pageTitle(page: ActivePage, agentName: string | undefined): string {\n switch (page) {\n case \"agents\":\n return \"Agents\";\n case \"sessions\":\n return \"Sessions\";\n case \"tracing\":\n return \"Traces\";\n case \"tools\":\n return \"Tools\";\n case \"sandboxes\":\n return \"Sandboxes\";\n case \"mcps\":\n return \"MCPs\";\n case \"pipelines\":\n return \"Pipelines\";\n case \"knowledge\":\n return \"Knowledge\";\n case \"memory\":\n return \"Memory\";\n case \"status\":\n return \"Status\";\n case \"playground\":\n return agentName ?? \"AI Assistant\";\n }\n}\n\nexport function agentLabel(agents: StudioConfig[\"agents\"], agentId: string): string {\n const agent = agents.find((item) => item.id === agentId);\n return agent?.name ?? agentId;\n}\n\nexport function traceAgentLabel(agents: StudioConfig[\"agents\"], trace: StudioTrace): string {\n if (isRecord(trace.metadata) && typeof trace.metadata.agentName === \"string\") {\n return trace.metadata.agentName;\n }\n\n const agentId = traceAgentId(trace);\n return agentId === undefined ? \"-\" : agentLabel(agents, agentId);\n}\n\nexport function traceAgentId(trace: StudioTrace): string | undefined {\n if (!isRecord(trace.metadata)) {\n return undefined;\n }\n if (typeof trace.metadata.agentId === \"string\") {\n return trace.metadata.agentId;\n }\n if (isRecord(trace.metadata.metadata) && typeof trace.metadata.metadata.agentId === \"string\") {\n return trace.metadata.metadata.agentId;\n }\n return undefined;\n}\n\nexport function emptyFallback(value: string): string {\n return value.length === 0 ? \"-\" : value;\n}\n\nexport function toTraceStatusFilter(value: string): TraceStatusFilter {\n return value === \"running\" || value === \"success\" || value === \"error\" ? value : \"all\";\n}\n\nexport function approvalLabel(approval: ToolApproval): string {\n switch (approval.status) {\n case \"pending\":\n return \"Waiting for your decision\";\n case \"approved\":\n return \"Approved\";\n case \"rejected\":\n return \"Rejected\";\n case \"timed_out\":\n return \"Timed out\";\n case \"cancelled\":\n return \"Cancelled\";\n default:\n return approval.status;\n }\n}\n\nexport function formatToolValue(value: unknown): string {\n if (value === undefined) {\n return \"\";\n }\n try {\n return JSON.stringify(value, null, 2);\n } catch {\n return String(value);\n }\n}\n\nexport function parseToolDisplayValue(\n value: string,\n): { kind: \"json\"; value: unknown } | { kind: \"text\"; value: string } {\n const trimmed = value.trim();\n if (trimmed.length === 0) {\n return { kind: \"text\", value };\n }\n try {\n return { kind: \"json\", value: JSON.parse(trimmed) };\n } catch {\n return { kind: \"text\", value };\n }\n}\n\nexport function titleFromText(text: string): string {\n const normalized = text.replace(/\\s+/g, \" \").trim();\n return normalized.length > 72 ? `${normalized.slice(0, 69)}...` : normalized;\n}\n\nexport function errorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n","var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\n__name(setRef, \"setRef\");\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\n__name(composeRefs, \"composeRefs\");\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\n__name(useComposedRefs, \"useComposedRefs\");\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/slot.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n let { children, ...slotProps } = props;\n let slottableElement = null;\n let hasSlottable = false;\n const newChildren = [];\n if (isLazyComponent(children) && typeof use === \"function\") {\n children = use(children._payload);\n }\n React.Children.forEach(children, (maybeSlottable) => {\n if (isSlottable(maybeSlottable)) {\n hasSlottable = true;\n const slottable = maybeSlottable;\n let child = \"child\" in slottable.props ? slottable.props.child : slottable.props.children;\n if (isLazyComponent(child) && typeof use === \"function\") {\n child = use(child._payload);\n }\n slottableElement = getSlottableElementFromSlottable(slottable, child);\n newChildren.push(slottableElement?.props?.children);\n } else {\n newChildren.push(maybeSlottable);\n }\n });\n if (slottableElement) {\n slottableElement = React.cloneElement(slottableElement, void 0, newChildren);\n } else if (\n // A `Slottable` was found but it didn't resolve to a single element (e.g.\n // it wrapped multiple elements, text, or a render-prop `child` that\n // wasn't an element). Don't fall back to treating the `Slottable` wrapper\n // itself as the slot target — throw a descriptive error below instead.\n !hasSlottable && React.Children.count(children) === 1 && React.isValidElement(children)\n ) {\n slottableElement = children;\n }\n const slottableElementRef = slottableElement ? getElementRef(slottableElement) : void 0;\n const composedRef = useComposedRefs(forwardedRef, slottableElementRef);\n if (!slottableElement) {\n if (children || children === 0) {\n throw new Error(\n hasSlottable ? createSlottableError(ownerName) : createSlotError(ownerName)\n );\n }\n return children;\n }\n const mergedProps = mergeProps(slotProps, slottableElement.props ?? {});\n if (slottableElement.type !== React.Fragment) {\n mergedProps.ref = forwardedRef ? composedRef : slottableElementRef;\n }\n return React.cloneElement(slottableElement, mergedProps);\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\n__name(createSlot, \"createSlot\");\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\nvar SLOTTABLE_IDENTIFIER = Symbol.for(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = /* @__PURE__ */ __name((props) => \"child\" in props ? props.children(props.child) : props.children, \"Slottable\");\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\n__name(createSlottable, \"createSlottable\");\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nvar getSlottableElementFromSlottable = /* @__PURE__ */ __name((slottable, child) => {\n if (\"child\" in slottable.props) {\n const child2 = slottable.props.child;\n if (!React.isValidElement(child2)) return null;\n return React.cloneElement(child2, void 0, slottable.props.children(child2.props.children));\n }\n return React.isValidElement(child) ? child : null;\n}, \"getSlottableElementFromSlottable\");\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\n__name(mergeProps, \"mergeProps\");\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\n__name(getElementRef, \"getElementRef\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\n__name(isSlottable, \"isSlottable\");\nvar REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nfunction isLazyComponent(element) {\n return element != null && typeof element === \"object\" && \"$$typeof\" in element && element.$$typeof === REACT_LAZY_TYPE && \"_payload\" in element && isPromiseLike(element._payload);\n}\n__name(isLazyComponent, \"isLazyComponent\");\nfunction isPromiseLike(value) {\n return typeof value === \"object\" && value !== null && \"then\" in value;\n}\n__name(isPromiseLike, \"isPromiseLike\");\nvar createSlotError = /* @__PURE__ */ __name((ownerName) => {\n return `${ownerName} failed to slot onto its children. Expected a single React element child or \\`Slottable\\`.`;\n}, \"createSlotError\");\nvar createSlottableError = /* @__PURE__ */ __name((ownerName) => {\n return `${ownerName} failed to slot onto its \\`Slottable\\`. Expected \\`Slottable\\` to receive a single React element child.`;\n}, \"createSlottableError\");\nvar use = React[\" use \".trim().toString()];\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport type * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nconst buttonVariants = cva(\n \"inline-flex shrink-0 cursor-pointer items-center justify-center whitespace-nowrap rounded-lg border border-transparent bg-clip-padding text-base font-medium outline-none transition-all select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:translate-y-px disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/80\",\n ghost: \"text-muted-foreground hover:bg-muted hover:text-foreground dark:hover:bg-muted/50\",\n destructive:\n \"bg-destructive/10 text-destructive hover:bg-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)]\",\n },\n size: {\n default: \"h-8 gap-1.5 px-2.5\",\n icon: \"size-8 p-0\",\n sm: \"h-7 gap-1 px-2.5 text-sm\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nexport type ButtonProps = React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n };\n\nexport function Button({ className, variant, size, asChild = false, ...props }: ButtonProps) {\n const Comp = asChild ? Slot : \"button\";\n return <Comp className={cn(buttonVariants({ variant, size, className }))} {...props} />;\n}\n\nexport { buttonVariants };\n"],"x_google_ignoreList":[2,3],"mappings":"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"}
|