@premieroctet/next-admin
Version:
Next-Admin provides a customizable and turnkey admin dashboard for applications built with Next.js and powered by the Prisma ORM. It aims to simplify the development process by providing a turnkey admin system that can be easily integrated into your proje
85 lines (84 loc) • 3.58 kB
JavaScript
"use client";
;
var __webpack_require__ = {};
(()=>{
__webpack_require__.d = (exports1, definition)=>{
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
enumerable: true,
get: definition[key]
});
};
})();
(()=>{
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
})();
(()=>{
__webpack_require__.r = (exports1)=>{
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
value: 'Module'
});
Object.defineProperty(exports1, '__esModule', {
value: true
});
};
})();
var __webpack_exports__ = {};
__webpack_require__.r(__webpack_exports__);
__webpack_require__.d(__webpack_exports__, {
default: ()=>inputs_JsonField
});
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
const react_namespaceObject = require("@monaco-editor/react");
const external_react_namespaceObject = require("react");
const ColorSchemeContext_js_namespaceObject = require("../../context/ColorSchemeContext.js");
const JsonField = ({ value, onChange, name, disabled, required })=>{
const { colorScheme } = (0, ColorSchemeContext_js_namespaceObject.useColorScheme)();
const defaultValue = (0, external_react_namespaceObject.useMemo)(()=>{
try {
return JSON.stringify(JSON.parse(value), null, 2);
} catch {
return "";
}
}, [
value
]);
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
className: "relative",
children: [
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("input", {
name: name,
defaultValue: value ?? "",
className: "absolute inset-0 -z-10 h-full w-full opacity-0",
required: required
}),
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.Editor, {
height: "20vh",
defaultLanguage: "json",
defaultValue: defaultValue,
onChange: (val, evt)=>{
onChange?.({
target: {
value: val ?? ""
}
});
},
options: {
minimap: {
enabled: false
},
readOnly: disabled
},
theme: "light" === colorScheme ? "light" : "vs-dark",
className: "dark:bg-dark-nextadmin-background-subtle dark:ring-dark-nextadmin-border-strong text-nextadmin-content-inverted dark:text-dark-nextadmin-content-inverted ring-nextadmin-border-default focus:ring-nextadmin-brand-default dark:focus:ring-dark-nextadmin-brand-default block w-full rounded-md border-0 px-2 py-1.5 text-sm shadow-sm ring-1 ring-inset transition-all duration-300 placeholder:text-gray-400 focus:ring-1 focus:ring-inset disabled:cursor-not-allowed disabled:opacity-50 sm:leading-6 [&>div]:border-none"
})
]
});
};
const inputs_JsonField = JsonField;
exports["default"] = __webpack_exports__["default"];
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
"default"
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
Object.defineProperty(exports, '__esModule', {
value: true
});