{"version":3,"file":"index.cjs","sources":["../../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.production.js","../../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.development.js","../../node_modules/.pnpm/react@19.2.3/node_modules/react/jsx-runtime.js","../../packages/react/src/token.ts","../../packages/react/src/util/signal-convert.ts","../../packages/react/src/component/wrapper.tsx","../../packages/react/src/component/field-template.tsx","../../packages/react/src/util/use-control-value-accessor.ts","../../packages/react/src/component/field-control-bind.tsx","../../packages/react/src/builder.ts","../../packages/react/src/schema-handle.ts","../../packages/react/src/util/convert-wrapper.ts","../../packages/react/src/util/use-effect-sync.ts","../../packages/react/src/component/group.tsx","../../packages/react/src/component/view.tsx","../../packages/react/src/use-model/use-text-model.ts","../../packages/react/src/use-model/use-checkbox-model.ts","../../packages/react/src/use-model/use-number-model.ts","../../packages/react/src/use-model/use-radio-model.ts","../../packages/react/src/use-model/use-range-model.ts","../../packages/react/src/use-model/use-select-model.ts"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n  REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n  var key = null;\n  void 0 !== maybeKey && (key = \"\" + maybeKey);\n  void 0 !== config.key && (key = \"\" + config.key);\n  if (\"key\" in config) {\n    maybeKey = {};\n    for (var propName in config)\n      \"key\" !== propName && (maybeKey[propName] = config[propName]);\n  } else maybeKey = config;\n  config = maybeKey.ref;\n  return {\n    $$typeof: REACT_ELEMENT_TYPE,\n    type: type,\n    key: key,\n    ref: void 0 !== config ? config : null,\n    props: maybeKey\n  };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n  (function () {\n    function getComponentNameFromType(type) {\n      if (null == type) return null;\n      if (\"function\" === typeof type)\n        return type.$$typeof === REACT_CLIENT_REFERENCE\n          ? null\n          : type.displayName || type.name || null;\n      if (\"string\" === typeof type) return type;\n      switch (type) {\n        case REACT_FRAGMENT_TYPE:\n          return \"Fragment\";\n        case REACT_PROFILER_TYPE:\n          return \"Profiler\";\n        case REACT_STRICT_MODE_TYPE:\n          return \"StrictMode\";\n        case REACT_SUSPENSE_TYPE:\n          return \"Suspense\";\n        case REACT_SUSPENSE_LIST_TYPE:\n          return \"SuspenseList\";\n        case REACT_ACTIVITY_TYPE:\n          return \"Activity\";\n      }\n      if (\"object\" === typeof type)\n        switch (\n          (\"number\" === typeof type.tag &&\n            console.error(\n              \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n            ),\n          type.$$typeof)\n        ) {\n          case REACT_PORTAL_TYPE:\n            return \"Portal\";\n          case REACT_CONTEXT_TYPE:\n            return type.displayName || \"Context\";\n          case REACT_CONSUMER_TYPE:\n            return (type._context.displayName || \"Context\") + \".Consumer\";\n          case REACT_FORWARD_REF_TYPE:\n            var innerType = type.render;\n            type = type.displayName;\n            type ||\n              ((type = innerType.displayName || innerType.name || \"\"),\n              (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n            return type;\n          case REACT_MEMO_TYPE:\n            return (\n              (innerType = type.displayName || null),\n              null !== innerType\n                ? innerType\n                : getComponentNameFromType(type.type) || \"Memo\"\n            );\n          case REACT_LAZY_TYPE:\n            innerType = type._payload;\n            type = type._init;\n            try {\n              return getComponentNameFromType(type(innerType));\n            } catch (x) {}\n        }\n      return null;\n    }\n    function testStringCoercion(value) {\n      return \"\" + value;\n    }\n    function checkKeyStringCoercion(value) {\n      try {\n        testStringCoercion(value);\n        var JSCompiler_inline_result = !1;\n      } catch (e) {\n        JSCompiler_inline_result = !0;\n      }\n      if (JSCompiler_inline_result) {\n        JSCompiler_inline_result = console;\n        var JSCompiler_temp_const = JSCompiler_inline_result.error;\n        var JSCompiler_inline_result$jscomp$0 =\n          (\"function\" === typeof Symbol &&\n            Symbol.toStringTag &&\n            value[Symbol.toStringTag]) ||\n          value.constructor.name ||\n          \"Object\";\n        JSCompiler_temp_const.call(\n          JSCompiler_inline_result,\n          \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n          JSCompiler_inline_result$jscomp$0\n        );\n        return testStringCoercion(value);\n      }\n    }\n    function getTaskName(type) {\n      if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n      if (\n        \"object\" === typeof type &&\n        null !== type &&\n        type.$$typeof === REACT_LAZY_TYPE\n      )\n        return \"<...>\";\n      try {\n        var name = getComponentNameFromType(type);\n        return name ? \"<\" + name + \">\" : \"<...>\";\n      } catch (x) {\n        return \"<...>\";\n      }\n    }\n    function getOwner() {\n      var dispatcher = ReactSharedInternals.A;\n      return null === dispatcher ? null : dispatcher.getOwner();\n    }\n    function UnknownOwner() {\n      return Error(\"react-stack-top-frame\");\n    }\n    function hasValidKey(config) {\n      if (hasOwnProperty.call(config, \"key\")) {\n        var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n        if (getter && getter.isReactWarning) return !1;\n      }\n      return void 0 !== config.key;\n    }\n    function defineKeyPropWarningGetter(props, displayName) {\n      function warnAboutAccessingKey() {\n        specialPropKeyWarningShown ||\n          ((specialPropKeyWarningShown = !0),\n          console.error(\n            \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n            displayName\n          ));\n      }\n      warnAboutAccessingKey.isReactWarning = !0;\n      Object.defineProperty(props, \"key\", {\n        get: warnAboutAccessingKey,\n        configurable: !0\n      });\n    }\n    function elementRefGetterWithDeprecationWarning() {\n      var componentName = getComponentNameFromType(this.type);\n      didWarnAboutElementRef[componentName] ||\n        ((didWarnAboutElementRef[componentName] = !0),\n        console.error(\n          \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n        ));\n      componentName = this.props.ref;\n      return void 0 !== componentName ? componentName : null;\n    }\n    function ReactElement(type, key, props, owner, debugStack, debugTask) {\n      var refProp = props.ref;\n      type = {\n        $$typeof: REACT_ELEMENT_TYPE,\n        type: type,\n        key: key,\n        props: props,\n        _owner: owner\n      };\n      null !== (void 0 !== refProp ? refProp : null)\n        ? Object.defineProperty(type, \"ref\", {\n            enumerable: !1,\n            get: elementRefGetterWithDeprecationWarning\n          })\n        : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n      type._store = {};\n      Object.defineProperty(type._store, \"validated\", {\n        configurable: !1,\n        enumerable: !1,\n        writable: !0,\n        value: 0\n      });\n      Object.defineProperty(type, \"_debugInfo\", {\n        configurable: !1,\n        enumerable: !1,\n        writable: !0,\n        value: null\n      });\n      Object.defineProperty(type, \"_debugStack\", {\n        configurable: !1,\n        enumerable: !1,\n        writable: !0,\n        value: debugStack\n      });\n      Object.defineProperty(type, \"_debugTask\", {\n        configurable: !1,\n        enumerable: !1,\n        writable: !0,\n        value: debugTask\n      });\n      Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n      return type;\n    }\n    function jsxDEVImpl(\n      type,\n      config,\n      maybeKey,\n      isStaticChildren,\n      debugStack,\n      debugTask\n    ) {\n      var children = config.children;\n      if (void 0 !== children)\n        if (isStaticChildren)\n          if (isArrayImpl(children)) {\n            for (\n              isStaticChildren = 0;\n              isStaticChildren < children.length;\n              isStaticChildren++\n            )\n              validateChildKeys(children[isStaticChildren]);\n            Object.freeze && Object.freeze(children);\n          } else\n            console.error(\n              \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n            );\n        else validateChildKeys(children);\n      if (hasOwnProperty.call(config, \"key\")) {\n        children = getComponentNameFromType(type);\n        var keys = Object.keys(config).filter(function (k) {\n          return \"key\" !== k;\n        });\n        isStaticChildren =\n          0 < keys.length\n            ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n            : \"{key: someKey}\";\n        didWarnAboutKeySpread[children + isStaticChildren] ||\n          ((keys =\n            0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n          console.error(\n            'A props object containing a \"key\" prop is being spread into JSX:\\n  let props = %s;\\n  <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n  let props = %s;\\n  <%s key={someKey} {...props} />',\n            isStaticChildren,\n            children,\n            keys,\n            children\n          ),\n          (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n      }\n      children = null;\n      void 0 !== maybeKey &&\n        (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n      hasValidKey(config) &&\n        (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n      if (\"key\" in config) {\n        maybeKey = {};\n        for (var propName in config)\n          \"key\" !== propName && (maybeKey[propName] = config[propName]);\n      } else maybeKey = config;\n      children &&\n        defineKeyPropWarningGetter(\n          maybeKey,\n          \"function\" === typeof type\n            ? type.displayName || type.name || \"Unknown\"\n            : type\n        );\n      return ReactElement(\n        type,\n        children,\n        maybeKey,\n        getOwner(),\n        debugStack,\n        debugTask\n      );\n    }\n    function validateChildKeys(node) {\n      isValidElement(node)\n        ? node._store && (node._store.validated = 1)\n        : \"object\" === typeof node &&\n          null !== node &&\n          node.$$typeof === REACT_LAZY_TYPE &&\n          (\"fulfilled\" === node._payload.status\n            ? isValidElement(node._payload.value) &&\n              node._payload.value._store &&\n              (node._payload.value._store.validated = 1)\n            : node._store && (node._store.validated = 1));\n    }\n    function isValidElement(object) {\n      return (\n        \"object\" === typeof object &&\n        null !== object &&\n        object.$$typeof === REACT_ELEMENT_TYPE\n      );\n    }\n    var React = require(\"react\"),\n      REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n      REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n      REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n      REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n      REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n      REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n      REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n      REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n      REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n      REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n      REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n      REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n      REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n      REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n      ReactSharedInternals =\n        React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n      hasOwnProperty = Object.prototype.hasOwnProperty,\n      isArrayImpl = Array.isArray,\n      createTask = console.createTask\n        ? console.createTask\n        : function () {\n            return null;\n          };\n    React = {\n      react_stack_bottom_frame: function (callStackForError) {\n        return callStackForError();\n      }\n    };\n    var specialPropKeyWarningShown;\n    var didWarnAboutElementRef = {};\n    var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n      React,\n      UnknownOwner\n    )();\n    var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n    var didWarnAboutKeySpread = {};\n    exports.Fragment = REACT_FRAGMENT_TYPE;\n    exports.jsx = function (type, config, maybeKey) {\n      var trackActualOwner =\n        1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n      return jsxDEVImpl(\n        type,\n        config,\n        maybeKey,\n        !1,\n        trackActualOwner\n          ? Error(\"react-stack-top-frame\")\n          : unknownOwnerDebugStack,\n        trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n      );\n    };\n    exports.jsxs = function (type, config, maybeKey) {\n      var trackActualOwner =\n        1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n      return jsxDEVImpl(\n        type,\n        config,\n        maybeKey,\n        !0,\n        trackActualOwner\n          ? Error(\"react-stack-top-frame\")\n          : unknownOwnerDebugStack,\n        trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n      );\n    };\n  })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n  module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import type { Injector } from 'static-injector';\nimport type { PiResolvedViewFieldConfig } from './type/group';\nimport { createContext } from 'react';\n\nexport const PI_VIEW_FIELD_TOKEN = createContext<\n  PiResolvedViewFieldConfig | undefined\n>(undefined);\nexport const InjectorToken = createContext<Injector | undefined>(undefined);\n\nexport const CVA = Symbol.for('ControlValueAccessor');\n","import { effect } from 'static-injector';\n\nimport { InjectorToken } from '../token';\nimport { useContext, useEffect, useMemo, useRef, useState } from 'react';\n\n// signal=>ref\nexport function useSignalToRef<I, R>(listen: I, value: (fn: I) => R) {\n  const injector = useContext(InjectorToken)!;\n  const [result, setResult] = useState(useMemo(() => value(listen), []));\n  const resultRef = useRef(result);\n  useEffect(() => {\n    const currentValue = value(listen);\n    if (!Object.is(resultRef.current, currentValue)) {\n      setResult(currentValue);\n      resultRef.current = currentValue;\n    }\n    const ref = effect(\n      () => {\n        const currentValue = value(listen);\n        if (!Object.is(resultRef.current, currentValue)) {\n          setResult(currentValue!);\n          resultRef.current = currentValue;\n        }\n      },\n      { injector: injector },\n    );\n    return () => {\n      ref.destroy();\n    };\n  }, [listen, useMemo(() => value, [])]);\n  return result;\n}\n","import type { CoreWrapperConfig } from '@piying/view-core';\nimport { useMemo } from 'react';\nimport { useSignalToRef } from '../util/signal-convert';\n\nexport interface PiyingWrapperProps {\n  wrappers: CoreWrapperConfig[];\n  children: any;\n}\n\nexport function PiyingWrapper(props: PiyingWrapperProps) {\n  const restWrappers = useMemo(\n    () => props.wrappers!.slice(1),\n    [props.wrappers],\n  );\n  const wrapper = props.wrappers[0];\n  const inputs = useSignalToRef(wrapper, () => ({\n    ...wrapper?.inputs(),\n    ...wrapper?.attributes(),\n    ...wrapper?.outputs?.(),\n  }));\n  return (\n    <>\n      {wrapper ? (\n        <wrapper.type {...inputs}>\n          <PiyingWrapper wrappers={restWrappers}>\n            {props.children}\n          </PiyingWrapper>\n        </wrapper.type>\n      ) : (\n        props.children\n      )}\n    </>\n  );\n}\n","import { useContext, useEffect, useMemo, useRef } from 'react';\nimport type {\n  _PiResolvedCommonViewFieldConfig,\n  KeyPath,\n} from '@piying/view-core';\nimport { CVA, InjectorToken, PI_VIEW_FIELD_TOKEN } from '../token';\nimport { useSignalToRef } from '../util/signal-convert';\nimport { PiyingWrapper } from './wrapper';\nimport {\n  createViewControlLink,\n  type ControlValueAccessor,\n} from '@piying/view-core';\nexport interface PiyingFieldTemplateProps {\n  field: _PiResolvedCommonViewFieldConfig;\n  path?: KeyPath;\n}\n\nexport function PiyingFieldTemplate(props: PiyingFieldTemplateProps) {\n  const keyPath = props.path;\n  const field = useMemo(() => {\n    return keyPath ? props.field.get(keyPath)! : props.field;\n  }, [props.field, keyPath]);\n\n  const fieldInputs = useSignalToRef(field, (field) => ({\n    ...field.attributes(),\n    ...field.inputs(),\n    ...field.outputs(),\n  }));\n  const renderConfig = useSignalToRef(field, (field) => field.renderConfig());\n  const wrappers = useSignalToRef(field, (field) => field.wrappers());\n  const control = field.form.control;\n  const define = useSignalToRef(field, (field) => field.define?.());\n  const ComponentType = define?.type;\n  const isHidden = useMemo(() => {\n    return !!renderConfig.hidden || !ComponentType;\n  }, [renderConfig.hidden, ComponentType]);\n  const injector = useContext(InjectorToken)!;\n\n  const controlRef = useRef<ControlValueAccessor>(undefined);\n  const fieldControlInput = useMemo(\n    () => ({ ...fieldInputs, [CVA]: controlRef }),\n    [fieldInputs, controlRef],\n  );\n\n  useEffect(() => {\n    let dispose: (() => any) | undefined;\n    if (controlRef.current) {\n      dispose = createViewControlLink(\n        (() => control) as any,\n        controlRef.current,\n        injector,\n      );\n    }\n    return () => {\n      dispose?.();\n      dispose = undefined;\n    };\n  }, [controlRef.current, control, injector]);\n  return (\n    <>\n      <PI_VIEW_FIELD_TOKEN value={field}>\n        {!isHidden ? (\n          <PiyingWrapper wrappers={wrappers}>\n            {field.form.control ? (\n              <ComponentType {...fieldControlInput}></ComponentType>\n            ) : (\n              <ComponentType {...fieldInputs}></ComponentType>\n            )}\n          </PiyingWrapper>\n        ) : undefined}\n      </PI_VIEW_FIELD_TOKEN>\n    </>\n  );\n}\n","import type { ControlValueAccessor } from '@piying/view-core';\nimport { useMemo, useRef, useState } from 'react';\n\nexport function useControlValueAccessor(optionalBind?: boolean) {\n  const [value, setValue] = useState(undefined);\n  const [disabled, setDisabled] = useState(false);\n  const onChange = useRef<((input: any) => void) | undefined>(undefined);\n  const touched = useRef<(() => void) | undefined>(undefined);\n  const cva: ControlValueAccessor = useMemo(() => {\n    return {\n      writeValue(obj) {\n        setValue(obj);\n      },\n      registerOnChange(fn) {\n        onChange.current = fn;\n      },\n      registerOnTouched(fn) {\n        touched.current = fn;\n      },\n      setDisabledState(value) {\n        setDisabled(value);\n      },\n    };\n  }, []);\n  const cvaa = useMemo(() => {\n    return {\n      value: value,\n      disabled: disabled,\n      valueChange: (value: any) => {\n        if (optionalBind) {\n          onChange.current?.(value);\n        } else {\n          onChange.current!(value);\n        }\n        setValue(value);\n      },\n      touchedChange: () => {\n        if (optionalBind) {\n          touched.current?.();\n        } else {\n          touched.current!();\n        }\n      },\n    } as ControlValueAccessorAdapter;\n  }, [value, disabled]);\n  return useMemo(() => {\n    return {\n      cva,\n      cvaa,\n    };\n  }, [cvaa]);\n}\n\nexport type ControlValueAccessorAdapter = {\n  value: any;\n  disabled: boolean;\n  touchedChange: () => void;\n  valueChange: (value: any) => void;\n};\n","import { useMemo, useEffect, useRef } from 'react';\nimport type { KeyPath } from '@piying/view-core';\nimport { createViewControlLink, isFieldControl } from '@piying/view-core';\nimport type { PiResolvedViewFieldConfig } from '../type';\nimport { useControlValueAccessor } from '../util/use-control-value-accessor';\n\nexport interface FieldControlBindProps {\n  field: PiResolvedViewFieldConfig;\n  path?: KeyPath;\n  children: (props: {\n    cvaa: any;\n    field: PiResolvedViewFieldConfig;\n  }) => React.ReactNode;\n}\n\nexport function Field(props: FieldControlBindProps) {\n  const { field, path, children } = props;\n  const disposeRef = useRef<((destroy?: boolean) => void) | undefined>(\n    undefined,\n  );\n\n  const resolvedField = useMemo(() => {\n    const keyPath = path;\n    return keyPath ? field.get(keyPath) : field;\n  }, [field, path]);\n\n  const { cva, cvaa } = useControlValueAccessor();\n\n  useEffect(() => {\n    disposeRef.current?.();\n    const control = resolvedField?.form.control;\n    if (!control) {\n      throw new Error(\n        `📍 fieldControlBind:[${field?.keyPath || ''}]->[${path || ''}]❗`,\n      );\n    }\n    if (!isFieldControl(control)) {\n      throw new Error(`🏷️ fieldControl❗`);\n    }\n    disposeRef.current = createViewControlLink(\n      () => control,\n      cva,\n      field.injector,\n    );\n  }, [resolvedField, field.injector, path]);\n\n  useEffect(() => {\n    return () => {\n      disposeRef.current?.(true);\n      disposeRef.current = undefined;\n    };\n  }, []);\n\n  return children({ cvaa, field: resolvedField! });\n}\n","import { FormBuilder } from '@piying/view-core';\nimport type { ReactSchemaHandle } from './schema-handle';\n\nexport class ReactFormBuilder extends FormBuilder<ReactSchemaHandle> {}\n","import { CoreSchemaHandle } from '@piying/view-core';\nimport type { PiResolvedViewFieldConfig } from './type/group';\n\nexport class ReactSchemaHandle extends CoreSchemaHandle<\n  ReactSchemaHandle,\n  () => PiResolvedViewFieldConfig\n> {\n  declare type: any;\n}\n","import { createConvertToField } from '@piying/view-core';\nimport { ReactFormBuilder } from '../builder';\nimport { ReactSchemaHandle } from '../schema-handle';\nimport {\n  ChangeDetectionScheduler,\n  ChangeDetectionSchedulerImpl,\n  createRootInjector,\n} from 'static-injector';\n\nconst DefaultConvertOptions = {\n  builder: ReactFormBuilder,\n  handle: ReactSchemaHandle,\n};\n\n/**\n * 转换 Valibot 定义为 Piying 字段\n */\nexport const convertToField = createConvertToField(\n  DefaultConvertOptions,\n  createRootInjector({\n    providers: [\n      {\n        provide: ChangeDetectionScheduler,\n        useClass: ChangeDetectionSchedulerImpl,\n      },\n    ],\n  }),\n);\n","import { useCallback, useEffect, useMemo, useRef } from 'react';\n\nexport function useEffectSync(fn: () => (() => void) | void, deps: any[]) {\n  const cb = useCallback(fn, deps);\n  const dispose = useRef<(() => void) | void>(undefined);\n  useMemo(() => {\n    dispose.current = cb();\n    return dispose.current;\n  }, deps);\n  useEffect(() => {\n    return () => {\n      dispose.current?.();\n      dispose.current = undefined;\n    };\n  }, []);\n}\n","import { useContext } from 'react';\nimport { PiyingFieldTemplate } from './field-template';\nimport { PI_VIEW_FIELD_TOKEN } from '../token';\nimport { useSignalToRef } from '../util';\n\nexport function PiyingGroup() {\n  const field = useContext(PI_VIEW_FIELD_TOKEN);\n  const children = useSignalToRef(field, (field) => field?.children!())!;\n  return (\n    <>\n      {children.map((field, index) => {\n        return (\n          <PiyingFieldTemplate field={field} key={index}></PiyingFieldTemplate>\n        );\n      })}\n    </>\n  );\n}\n","import { useContext, useEffect, useMemo, useRef } from 'react';\nimport {\n  ChangeDetectionScheduler,\n  ChangeDetectionSchedulerImpl,\n  createInjector,\n  createRootInjector,\n  Injector,\n  untracked,\n  type EffectRef,\n} from 'static-injector';\nimport * as v from 'valibot';\nimport { type FieldConvertViewOptions } from '@piying/view-core';\nimport { InjectorToken, PI_VIEW_FIELD_TOKEN } from '../token';\nimport { PiyingFieldTemplate } from './field-template';\nimport { initListen } from '@piying/view-core';\nimport { convertToField } from '../util/convert-wrapper';\nimport { useEffectSync } from '../util/use-effect-sync';\n\nexport interface PiyingViewProps {\n  schema: v.BaseSchema<any, any, any>;\n  model?: any;\n  modelChange?: (value: any) => void;\n  options: FieldConvertViewOptions;\n}\n\nexport function PiyingView(props: PiyingViewProps) {\n  const maybeParentField = useContext(PI_VIEW_FIELD_TOKEN);\n\n  const rootInjector = useMemo(\n    () =>\n      props.options.injector ??\n      maybeParentField?.injector ??\n      createRootInjector({\n        providers: [\n          {\n            provide: ChangeDetectionScheduler,\n            useClass: ChangeDetectionSchedulerImpl,\n          },\n        ],\n      }),\n    [props.options.injector, maybeParentField?.injector],\n  );\n  const injectorDispose = useRef<(() => void) | undefined>(undefined);\n\n  const [field, subInjector] = useMemo(() => {\n    injectorDispose.current?.();\n    const subInjector = createInjector({ providers: [], parent: rootInjector });\n    injectorDispose.current = () => {\n      subInjector.destroy();\n      injectorDispose.current = undefined;\n    };\n    const field = convertToField(\n      () => props.schema,\n      subInjector,\n      () => props.options,\n    );\n    return [field, subInjector];\n  }, [props.schema, props.options, rootInjector]);\n\n  useEffect(() => {\n    return () => {\n      injectorDispose.current?.();\n    };\n  }, []);\n\n  useEffectSync(() => {\n    let ref: EffectRef | undefined;\n    if (field.form.control) {\n      ref = initListen(\n        props.model,\n        field!.form.control!,\n        subInjector as Injector,\n        (value) => {\n          untracked(() => {\n            if (field!.form.control?.valueNoError$$()) {\n              props.modelChange?.(value);\n            }\n          });\n        },\n      );\n      field!.form.control.updateValue(props.model);\n    }\n    return () => {\n      ref?.destroy();\n    };\n  }, [field, props.model]);\n\n  return (\n    <>\n      <InjectorToken value={rootInjector}>\n        <PiyingFieldTemplate field={field}></PiyingFieldTemplate>\n      </InjectorToken>\n    </>\n  );\n}\n","import { useMemo, useRef } from 'react';\nimport type { ControlValueAccessorAdapter } from '../util/use-control-value-accessor';\n\nexport function useInputTextModel(\n  cvaa: ControlValueAccessorAdapter,\n  compositionMode: boolean,\n) {\n  const composing = useRef(false);\n  return useMemo(() => {\n    const obj = {\n      value: cvaa.value == null ? '' : cvaa.value,\n      disabled: cvaa.disabled,\n      onBlur: cvaa.touchedChange,\n      onInput: (event: any) => {\n        if (!compositionMode || (compositionMode && !composing.current)) {\n          cvaa.valueChange((event.target as any).value);\n        }\n      },\n    };\n    if (compositionMode) {\n      return {\n        ...obj,\n        onCompositionStart: () => {\n          composing.current = true;\n        },\n        onCompositionEnd: (event: any) => {\n          composing.current = false;\n          cvaa.valueChange((event.target as any).value);\n        },\n      };\n    }\n    return obj;\n  }, [cvaa, compositionMode, composing]);\n}\n","import { useMemo } from 'react';\nimport type { ControlValueAccessorAdapter } from '../util/use-control-value-accessor';\n\nexport function useInputCheckboxModel(cvaa: ControlValueAccessorAdapter) {\n  return useMemo(() => {\n    return {\n      checked: cvaa.value ?? false,\n      disabled: cvaa.disabled,\n      onBlur: cvaa.touchedChange,\n      onChange: (event: React.ChangeEvent<HTMLInputElement>) =>\n        cvaa.valueChange(event.target.checked),\n    };\n  }, [cvaa]);\n}\n","import { useMemo } from 'react';\nimport type { ControlValueAccessorAdapter } from '../util/use-control-value-accessor';\n\nexport function useInputNumberModel(cvaa: ControlValueAccessorAdapter) {\n  return useMemo(() => {\n    return {\n      value: cvaa.value == null ? '' : cvaa.value,\n      disabled: cvaa.disabled,\n      onBlur: cvaa.touchedChange,\n      onInput: (event: any) => {\n        const value = (event.target as any).value;\n        cvaa.valueChange(value == '' ? undefined : parseFloat(value));\n      },\n    };\n  }, [cvaa]);\n}\n","import { useMemo } from 'react';\nimport type { ControlValueAccessorAdapter } from '../util/use-control-value-accessor';\n\nexport function useInputRadioModel(\n  cvaa: ControlValueAccessorAdapter,\n  value: any,\n) {\n  return useMemo(() => {\n    return {\n      value,\n      checked: Object.is(cvaa.value, value),\n      disabled: cvaa.disabled,\n      onBlur: cvaa.touchedChange,\n      onChange: () => cvaa.valueChange(value),\n    };\n  }, [cvaa]);\n}\n","import { useMemo } from 'react';\nimport type { ControlValueAccessorAdapter } from '../util/use-control-value-accessor';\n\nexport function useInputRangeModel(cvaa: ControlValueAccessorAdapter) {\n  return useMemo(() => {\n    const onInput = (event: any) => {\n      const value = (event.target as any).value;\n      cvaa.valueChange(value == '' ? undefined : parseFloat(value));\n    };\n    return {\n      value: cvaa.value == null ? '' : cvaa.value,\n      disabled: cvaa.disabled,\n      onBlur: cvaa.touchedChange,\n      onInput: onInput,\n      onChange: onInput,\n    };\n  }, [cvaa]);\n}\n","import { useMemo } from 'react';\nimport type { ControlValueAccessorAdapter } from '../util/use-control-value-accessor';\n\nexport function useSelectModel(\n  cvaa: ControlValueAccessorAdapter,\n  multiple: boolean = false,\n) {\n  return useMemo(() => {\n    return {\n      value: cvaa.value,\n      disabled: cvaa.disabled,\n      onBlur: cvaa.touchedChange,\n      onChange: (event: React.ChangeEvent<HTMLSelectElement>) => {\n        const selected = [];\n        const el = event.target;\n        if (el.selectedOptions !== undefined) {\n          for (let index = 0; index < el.selectedOptions.length; index++) {\n            const item = el.selectedOptions[index];\n            selected.push(item.value);\n            if (!multiple) {\n              break;\n            }\n          }\n        } else {\n          for (let index = 0; index < el.options.length; index++) {\n            const option = el.options[index];\n            if (option.selected) {\n              selected.push(option.value);\n              if (!multiple) {\n                break;\n              }\n            }\n          }\n        }\n        cvaa.valueChange(multiple ? selected : selected[0]);\n      },\n    };\n  }, [cvaa]);\n}\n"],"names":["jsxRuntimeModule","require$$0","require$$1","createContext","useContext","useState","useMemo","useRef","useEffect","effect","currentValue","jsx","field","createViewControlLink","Fragment","value","isFieldControl","FormBuilder","CoreSchemaHandle","createConvertToField","createRootInjector","ChangeDetectionScheduler","ChangeDetectionSchedulerImpl","useCallback","subInjector","createInjector","initListen","untracked"],"mappings":"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","x_google_ignoreList":[0,1,2]}