UNPKG

@ark-ui/solid

Version:

A collection of unstyled, accessible UI components for Solid, utilizing state machines for seamless interaction.

159 lines (144 loc) 5.01 kB
import { createSplitProps } from "./6WEDGJKQ.jsx"; import { ark } from "./UFYZ7HLU.jsx"; import { useEnvironmentContext } from "./CGW54HAQ.jsx"; import { runIfFn } from "./KGOB2IMX.jsx"; import { createContext } from "./UZJJWJQM.jsx"; import { __export } from "./7IUG3E2V.jsx"; // src/components/clipboard/use-clipboard-context.ts var [ClipboardProvider, useClipboardContext] = createContext({ hookName: "useClipboardContext", providerName: "<ClipboardProvider />" }); // src/components/clipboard/clipboard-context.tsx var ClipboardContext = (props) => props.children(useClipboardContext()); // src/components/clipboard/clipboard-control.tsx import { mergeProps } from "@zag-js/solid"; var ClipboardControl = (props) => { const api = useClipboardContext(); const mergedProps = mergeProps(() => api().getControlProps(), props); return <ark.div {...mergedProps} />; }; // src/components/clipboard/clipboard-indicator.tsx import { mergeProps as mergeProps2 } from "@zag-js/solid"; import { Show, children } from "solid-js"; var ClipboardIndicator = (props) => { const [indicatorProps, localProps] = createSplitProps()(props, ["copied"]); const api = useClipboardContext(); const mergedProps = mergeProps2(api().getIndicatorProps({ copied: api().copied }), localProps); const getChildren = children(() => localProps.children); return <ark.div {...mergedProps}> <Show when={api().copied} fallback={getChildren()}> {indicatorProps.copied} </Show> </ark.div>; }; // src/components/clipboard/clipboard-input.tsx import { mergeProps as mergeProps3 } from "@zag-js/solid"; var ClipboardInput = (props) => { const api = useClipboardContext(); const mergedProps = mergeProps3(() => api().getInputProps(), props); return <ark.input {...mergedProps} />; }; // src/components/clipboard/clipboard-label.tsx import { mergeProps as mergeProps4 } from "@zag-js/solid"; var ClipboardLabel = (props) => { const api = useClipboardContext(); const mergedProps = mergeProps4(() => api().getLabelProps(), props); return <ark.label {...mergedProps} />; }; // src/components/clipboard/clipboard-root.tsx import { mergeProps as mergeProps5 } from "@zag-js/solid"; // src/components/clipboard/use-clipboard.ts import * as clipboard from "@zag-js/clipboard"; import { normalizeProps, useMachine } from "@zag-js/solid"; import { createMemo, createUniqueId } from "solid-js"; var useClipboard = (props) => { const id = createUniqueId(); const environment = useEnvironmentContext(); const machineProps = createMemo(() => ({ id, getRootNode: environment().getRootNode, ...runIfFn(props) })); const service = useMachine(clipboard.machine, machineProps); return createMemo(() => clipboard.connect(service, normalizeProps)); }; // src/components/clipboard/clipboard-root.tsx var ClipboardRoot = (props) => { const [useClipboardProps, localProps] = createSplitProps()(props, [ "defaultValue", "id", "ids", "onStatusChange", "onValueChange", "timeout", "value" ]); const api = useClipboard(useClipboardProps); const mergedProps = mergeProps5(() => api().getRootProps(), localProps); return <ClipboardProvider value={api}> <ark.div {...mergedProps} /> </ClipboardProvider>; }; // src/components/clipboard/clipboard-root-provider.tsx import { mergeProps as mergeProps6 } from "@zag-js/solid"; var ClipboardRootProvider = (props) => { const [{ value: clipboard2 }, localProps] = createSplitProps()(props, ["value"]); const mergedProps = mergeProps6(() => clipboard2().getRootProps(), localProps); return <ClipboardProvider value={clipboard2}> <ark.div {...mergedProps} /> </ClipboardProvider>; }; // src/components/clipboard/clipboard-trigger.tsx import { mergeProps as mergeProps7 } from "@zag-js/solid"; var ClipboardTrigger = (props) => { const api = useClipboardContext(); const mergedProps = mergeProps7(() => api().getTriggerProps(), props); return <ark.button {...mergedProps} />; }; // src/components/clipboard/clipboard-value-text.tsx import { mergeProps as mergeProps8 } from "@zag-js/solid"; var ClipboardValueText = (props) => { const api = useClipboardContext(); const mergedProps = mergeProps8(props); return <ark.span {...mergedProps}>{props.children || api().value}</ark.span>; }; // src/components/clipboard/clipboard.ts var clipboard_exports = {}; __export(clipboard_exports, { Context: () => ClipboardContext, Control: () => ClipboardControl, Indicator: () => ClipboardIndicator, Input: () => ClipboardInput, Label: () => ClipboardLabel, Root: () => ClipboardRoot, RootProvider: () => ClipboardRootProvider, Trigger: () => ClipboardTrigger, ValueText: () => ClipboardValueText }); export { useClipboardContext, ClipboardContext, ClipboardControl, ClipboardIndicator, ClipboardInput, ClipboardLabel, useClipboard, ClipboardRoot, ClipboardRootProvider, ClipboardTrigger, ClipboardValueText, clipboard_exports };