UNPKG

@chakra-ui/react

Version:

Responsive and accessible React UI components built with React and Emotion

47 lines (44 loc) 2.08 kB
"use strict"; "use client"; import { jsx } from 'react/jsx-runtime'; import { Editable, useEditableContext } from '@ark-ui/react/editable'; import { ark } from '@ark-ui/react/factory'; import { forwardRef } from 'react'; import { mergeProps } from '../../merge-props.js'; import { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js'; const { withProvider, withContext, useStyles: useEditableStyles, PropsProvider } = createSlotRecipeContext({ key: "editable" }); const EditableRootProvider = withProvider(Editable.RootProvider, "root", { forwardAsChild: true }); const EditableRoot = withProvider( Editable.Root, "root", { forwardAsChild: true } ); const EditablePropsProvider = PropsProvider; const EditablePreview = withContext(Editable.Preview, "preview", { forwardAsChild: true }); const EditableInput = withContext( Editable.Input, "input", { forwardAsChild: true } ); const ArkEditableTextarea = forwardRef(function EditableTextarea2(props, ref) { const editable = useEditableContext(); const mergedProps = mergeProps(editable.getInputProps(), props); return /* @__PURE__ */ jsx(ark.textarea, { ref, ...mergedProps }); }); const EditableTextarea = withContext(ArkEditableTextarea, "input", { forwardAsChild: true }); const EditableControl = withContext(Editable.Control, "control", { forwardAsChild: true }); const EditableArea = withContext( Editable.Area, "area", { forwardAsChild: true } ); const EditableEditTrigger = withContext(Editable.EditTrigger, "editTrigger", { forwardAsChild: true }); const EditableSubmitTrigger = withContext(Editable.SubmitTrigger, "submitTrigger", { forwardAsChild: true }); const EditableCancelTrigger = withContext(Editable.CancelTrigger, "cancelTrigger", { forwardAsChild: true }); const EditableContext = Editable.Context; export { EditableArea, EditableCancelTrigger, EditableContext, EditableControl, EditableEditTrigger, EditableInput, EditablePreview, EditablePropsProvider, EditableRoot, EditableRootProvider, EditableSubmitTrigger, EditableTextarea, useEditableStyles };