UNPKG

@ark-ui/solid

Version:

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

216 lines (197 loc) 6.38 kB
import { useFieldContext } from "./57XA73T6.jsx"; import { createSplitProps } from "./6WEDGJKQ.jsx"; import { ark } from "./UFYZ7HLU.jsx"; import { useLocaleContext } from "./YUC6JE7K.jsx"; import { useEnvironmentContext } from "./E2L62MKC.jsx"; import { createContext } from "./TVCIHLER.jsx"; import { runIfFn } from "./KGOB2IMX.jsx"; import { __export } from "./7IUG3E2V.jsx"; // src/components/editable/editable-area.tsx import { mergeProps } from "@zag-js/solid"; // src/components/editable/use-editable-context.ts var [EditableProvider, useEditableContext] = createContext({ hookName: "useEditableContext", providerName: "<EditableProvider />" }); // src/components/editable/editable-area.tsx var EditableArea = (props) => { const api = useEditableContext(); const mergedProps = mergeProps(() => api().getAreaProps(), props); return <ark.div {...mergedProps} />; }; // src/components/editable/editable-cancel-trigger.tsx import { mergeProps as mergeProps2 } from "@zag-js/solid"; var EditableCancelTrigger = (props) => { const api = useEditableContext(); const mergedProps = mergeProps2(() => api().getCancelTriggerProps(), props); return <ark.button {...mergedProps} />; }; // src/components/editable/editable-context.tsx var EditableContext = (props) => props.children(useEditableContext()); // src/components/editable/editable-control.tsx import { mergeProps as mergeProps3 } from "@zag-js/solid"; var EditableControl = (props) => { const api = useEditableContext(); const mergedProps = mergeProps3(() => api().getControlProps(), props); return <ark.div {...mergedProps} />; }; // src/components/editable/editable-edit-trigger.tsx import { mergeProps as mergeProps4 } from "@zag-js/solid"; var EditableEditTrigger = (props) => { const api = useEditableContext(); const mergedProps = mergeProps4(() => api().getEditTriggerProps(), props); return <ark.button {...mergedProps} />; }; // src/components/editable/editable-input.tsx import { mergeProps as mergeProps5 } from "@zag-js/solid"; var EditableInput = (props) => { const api = useEditableContext(); const mergedProps = mergeProps5(() => api().getInputProps(), props); const field = useFieldContext(); return <ark.input aria-describedby={field?.().ariaDescribedby} {...mergedProps} />; }; // src/components/editable/editable-label.tsx import { mergeProps as mergeProps6 } from "@zag-js/solid"; var EditableLabel = (props) => { const api = useEditableContext(); const mergedProps = mergeProps6(() => api().getLabelProps(), props); return <ark.label {...mergedProps} />; }; // src/components/editable/editable-preview.tsx import { mergeProps as mergeProps7 } from "@zag-js/solid"; var EditablePreview = (props) => { const api = useEditableContext(); const mergedProps = mergeProps7(() => api().getPreviewProps(), props); return <ark.span {...mergedProps} />; }; // src/components/editable/editable-root.tsx import { mergeProps as mergeProps8 } from "@zag-js/solid"; // src/components/editable/use-editable.ts import * as editable from "@zag-js/editable"; import { normalizeProps, useMachine } from "@zag-js/solid"; import { createMemo, createUniqueId } from "solid-js"; var useEditable = (props) => { const id = createUniqueId(); const locale = useLocaleContext(); const environment = useEnvironmentContext(); const field = useFieldContext(); const machineProps = createMemo(() => ({ id, ids: { label: field?.().ids.label, input: field?.().ids.control }, dir: locale().dir, disabled: field?.().disabled, invalid: field?.().invalid, readOnly: field?.().readOnly, required: field?.().required, getRootNode: environment().getRootNode, ...runIfFn(props) })); const service = useMachine(editable.machine, machineProps); return createMemo(() => editable.connect(service, normalizeProps)); }; // src/components/editable/editable-root.tsx var EditableRoot = (props) => { const [useEditableProps, localProps] = createSplitProps()(props, [ "activationMode", "autoResize", "defaultEdit", "defaultValue", "disabled", "edit", "finalFocusEl", "form", "id", "ids", "invalid", "maxLength", "name", "onEditChange", "onFocusOutside", "onInteractOutside", "onPointerDownOutside", "onValueChange", "onValueCommit", "onValueRevert", "placeholder", "readOnly", "required", "selectOnFocus", "submitMode", "translations", "value" ]); const api = useEditable(useEditableProps); const mergedProps = mergeProps8(() => api().getRootProps(), localProps); return <EditableProvider value={api}> <ark.div {...mergedProps} /> </EditableProvider>; }; // src/components/editable/editable-root-provider.tsx import { mergeProps as mergeProps9 } from "@zag-js/solid"; var EditableRootProvider = (props) => { const [{ value: editable2 }, localProps] = createSplitProps()(props, ["value"]); const mergedProps = mergeProps9(() => editable2().getRootProps(), localProps); return <EditableProvider value={editable2}> <ark.div {...mergedProps} /> </EditableProvider>; }; // src/components/editable/editable-submit-trigger.tsx import { mergeProps as mergeProps10 } from "@zag-js/solid"; var EditableSubmitTrigger = (props) => { const api = useEditableContext(); const mergedProps = mergeProps10(() => api().getSubmitTriggerProps(), props); return <ark.button {...mergedProps} />; }; // src/components/editable/editable.anatomy.ts import { anatomy } from "@zag-js/editable"; // src/components/editable/editable.ts var editable_exports = {}; __export(editable_exports, { Area: () => EditableArea, CancelTrigger: () => EditableCancelTrigger, Context: () => EditableContext, Control: () => EditableControl, EditTrigger: () => EditableEditTrigger, Input: () => EditableInput, Label: () => EditableLabel, Preview: () => EditablePreview, Root: () => EditableRoot, RootProvider: () => EditableRootProvider, SubmitTrigger: () => EditableSubmitTrigger }); export { useEditableContext, EditableArea, EditableCancelTrigger, EditableContext, EditableControl, EditableEditTrigger, EditableInput, EditableLabel, EditablePreview, useEditable, EditableRoot, EditableRootProvider, EditableSubmitTrigger, anatomy, editable_exports };