UNPKG

@undermuz/react-json-form

Version:
42 lines (41 loc) 1.1 kB
// src/flat-form/form-input/input-select.tsx import { useMemo } from "react"; import { useJsonFormUi } from "../../contexts/ui.mjs"; import { useJsonFormApi } from "../../contexts/api.mjs"; import { jsx } from "react/jsx-runtime"; var InputAsyncSelect = (props) => { const Ui = useJsonFormUi(); if (!Ui?.Controls?.Select) { console.error("No Ui.Controls.Select provided"); return null; } const api = useJsonFormApi(props.apiName); const settings = useMemo(() => { const _s = props.settings; return { ..._s, options: api }; }, [props.settings, api]); return /* @__PURE__ */ jsx(Ui.Controls.Select, { ...props, settings }); }; var InputSelect = (props) => { const Ui = useJsonFormUi(); if (!Ui?.Controls?.Select) { console.error("No Ui.Controls.Select provided"); return null; } if (props?.settings?.useApi) { return /* @__PURE__ */ jsx( InputAsyncSelect, { ...props, apiName: props.settings.useApi } ); } return /* @__PURE__ */ jsx(Ui.Controls.Select, { ...props }); }; export { InputSelect };