@wener/console
Version:
Base console UI toolkit
165 lines (164 loc) • 6.89 kB
JavaScript
function _define_property(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
}
else {
obj[key] = value;
}
return obj;
}
function _object_spread(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i] != null ? arguments[i] : {};
var ownKeys = Object.keys(source);
if (typeof Object.getOwnPropertySymbols === "function") {
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
}));
}
ownKeys.forEach(function (key) {
_define_property(target, key, source[key]);
});
}
return target;
}
function _object_without_properties(source, excluded) {
if (source == null)
return {};
var target = {}, sourceKeys, key, i;
if (typeof Reflect !== "undefined" && Reflect.ownKeys) {
sourceKeys = Reflect.ownKeys(source);
for (i = 0; i < sourceKeys.length; i++) {
key = sourceKeys[i];
if (excluded.indexOf(key) >= 0)
continue;
if (!Object.prototype.propertyIsEnumerable.call(source, key))
continue;
target[key] = source[key];
}
return target;
}
target = _object_without_properties_loose(source, excluded);
if (Object.getOwnPropertySymbols) {
sourceKeys = Object.getOwnPropertySymbols(source);
for (i = 0; i < sourceKeys.length; i++) {
key = sourceKeys[i];
if (excluded.indexOf(key) >= 0)
continue;
if (!Object.prototype.propertyIsEnumerable.call(source, key))
continue;
target[key] = source[key];
}
}
return target;
}
function _object_without_properties_loose(source, excluded) {
if (source == null)
return {};
var target = {}, sourceKeys = Object.getOwnPropertyNames(source), key, i;
for (i = 0; i < sourceKeys.length; i++) {
key = sourceKeys[i];
if (excluded.indexOf(key) >= 0)
continue;
if (!Object.prototype.propertyIsEnumerable.call(source, key))
continue;
target[key] = source[key];
}
return target;
}
import React from "react";
import { useForm } from "react-hook-form";
import { CiLock, CiUser } from "react-icons/ci";
import { PiBuildingsThin } from "react-icons/pi";
import { ReactHookForm } from "../../react-hook-form/index.js";
export var LoginPageForm = function (_0) {
var _0_onSubmit = _0.onSubmit, onSubmit = _0_onSubmit === void 0 ? function () {
return undefined;
} : _0_onSubmit, defaultValues = _0.defaultValues, showOrg = _0.showOrg, orgValue = _0.orgValue, onForgetPassword = _0.onForgetPassword, onRegister = _0.onRegister, className = _0.className, props = _object_without_properties(_0, [
"onSubmit",
"defaultValues",
"showOrg",
"orgValue",
"onForgetPassword",
"onRegister",
"className"
]);
var methods = useForm({
defaultValues: defaultValues
});
var register = methods.register, handleSubmit = methods.handleSubmit, _methods_formState = methods.formState, isValid = _methods_formState.isValid, isSubmitting = _methods_formState.isSubmitting;
return /*#__PURE__*/ React.createElement("form", _object_spread({
onSubmit: handleSubmit(onSubmit, ReactHookForm.handleInvalid),
method: "POST",
className: "space-y-6 ".concat(className || "")
}, props), /*#__PURE__*/ React.createElement("div", {
className: "flex flex-col gap-2"
}, showOrg && /*#__PURE__*/ React.createElement("div", {
className: "join w-full"
}, /*#__PURE__*/ React.createElement("span", {
className: "btn join-item"
}, /*#__PURE__*/ React.createElement(PiBuildingsThin, {
className: "h-6 w-6"
})), /*#__PURE__*/ React.createElement("input", _object_spread({
className: "input join-item flex-1",
placeholder: "\u4F01\u4E1A",
value: orgValue || undefined,
readOnly: Boolean(orgValue),
required: true
}, register("org", {
required: true
})))), /*#__PURE__*/ React.createElement("div", {
className: "join w-full"
}, /*#__PURE__*/ React.createElement("span", {
className: "btn join-item"
}, /*#__PURE__*/ React.createElement(CiUser, {
className: "h-6 w-6"
})), /*#__PURE__*/ React.createElement("input", _object_spread({
autoComplete: "username",
className: "input join-item flex-1",
placeholder: "\u7528\u6237",
required: true
}, register("username", {
required: true
})))), /*#__PURE__*/ React.createElement("div", {
className: "join w-full"
}, /*#__PURE__*/ React.createElement("span", {
className: "btn join-item"
}, /*#__PURE__*/ React.createElement(CiLock, {
className: "h-6 w-6"
})), /*#__PURE__*/ React.createElement("input", _object_spread({
type: "password",
autoComplete: "current-password",
className: "input join-item flex-1",
placeholder: "\u5BC6\u7801",
required: true
}, register("password", {
required: true
}))))), /*#__PURE__*/ React.createElement("div", {
className: "flex items-center justify-between"
}, /*#__PURE__*/ React.createElement("label", {
className: "flex items-center"
}, /*#__PURE__*/ React.createElement("input", _object_spread({
type: "checkbox",
className: "checkbox h-4 w-4"
}, register("remember"))), /*#__PURE__*/ React.createElement("div", {
className: "ml-3 block text-sm leading-6 opacity-75 select-none"
}, "\u8BB0\u4F4F\u767B\u5F55")), onForgetPassword && /*#__PURE__*/ React.createElement("div", {
className: "text-sm leading-6"
}, /*#__PURE__*/ React.createElement("button", {
type: "button",
onClick: onForgetPassword,
className: "font-semibold text-indigo-600 hover:text-indigo-500"
}, "\u5FD8\u4E86\u5BC6\u7801\uFF1F"))), /*#__PURE__*/ React.createElement("div", null, /*#__PURE__*/ React.createElement("button", {
type: "submit",
className: "flex w-full items-center justify-center rounded-md bg-indigo-600 px-3 py-1.5 text-sm leading-6 font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600",
disabled: !isValid || isSubmitting
}, isSubmitting && /*#__PURE__*/ React.createElement("span", {
className: "loading loading-spinner loading-xs"
}), "\u767B\u5F55")));
};