@a-type/ui 0.6.10 → 0.6.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/forms/TextField.d.ts +2 -1
- package/dist/cjs/components/forms/TextField.js +10 -2
- package/dist/cjs/components/forms/TextField.js.map +1 -1
- package/dist/cjs/components/forms/hooks.d.ts +1 -0
- package/dist/cjs/components/forms/hooks.js +12 -0
- package/dist/cjs/components/forms/hooks.js.map +1 -0
- package/dist/cjs/components/forms/index.d.ts +1 -0
- package/dist/cjs/components/forms/index.js +1 -0
- package/dist/cjs/components/forms/index.js.map +1 -1
- package/dist/esm/components/forms/TextField.d.ts +2 -1
- package/dist/esm/components/forms/TextField.js +12 -4
- package/dist/esm/components/forms/TextField.js.map +1 -1
- package/dist/esm/components/forms/hooks.d.ts +1 -0
- package/dist/esm/components/forms/hooks.js +8 -0
- package/dist/esm/components/forms/hooks.js.map +1 -0
- package/dist/esm/components/forms/index.d.ts +1 -0
- package/dist/esm/components/forms/index.js +1 -0
- package/dist/esm/components/forms/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/forms/TextField.tsx +23 -2
- package/src/components/forms/hooks.ts +9 -0
- package/src/components/forms/index.tsx +1 -0
|
@@ -22,5 +22,6 @@ export type TextAreaFieldProps = {
|
|
|
22
22
|
disabled?: boolean;
|
|
23
23
|
className?: string;
|
|
24
24
|
inputRef?: Ref<HTMLTextAreaElement>;
|
|
25
|
+
submitOnEnter?: boolean;
|
|
25
26
|
} & TextAreaProps;
|
|
26
|
-
export declare function TextAreaField({ name, label, className, inputRef, ...rest }: TextAreaFieldProps): JSX.Element;
|
|
27
|
+
export declare function TextAreaField({ name, label, className, inputRef, onKeyDown, submitOnEnter, ...rest }: TextAreaFieldProps): JSX.Element;
|
|
@@ -45,9 +45,17 @@ exports.TextField = (0, react_1.forwardRef)(function TextField(_a, ref) {
|
|
|
45
45
|
return ((0, jsx_runtime_1.jsxs)(FieldRoot, Object.assign({ className: className, ref: ref }, { children: [label && (0, jsx_runtime_1.jsx)(FieldLabel, { children: label }), (0, jsx_runtime_1.jsx)(Input_js_1.Input, Object.assign({}, props, rest, { autoFocus: autoFocus, ref: (0, useMergedRef_js_1.default)(innerInputRef, inputRef || emptyRef) }))] })));
|
|
46
46
|
});
|
|
47
47
|
function TextAreaField(_a) {
|
|
48
|
-
var { name, label, className, inputRef } = _a, rest = __rest(_a, ["name", "label", "className", "inputRef"]);
|
|
48
|
+
var { name, label, className, inputRef, onKeyDown, submitOnEnter } = _a, rest = __rest(_a, ["name", "label", "className", "inputRef", "onKeyDown", "submitOnEnter"]);
|
|
49
49
|
const [props] = (0, formik_1.useField)(name);
|
|
50
|
-
|
|
50
|
+
const { submitForm } = (0, formik_1.useFormikContext)();
|
|
51
|
+
const onKeyDownInner = (0, react_1.useCallback)((e) => {
|
|
52
|
+
if (submitOnEnter && e.key === 'Enter' && !e.shiftKey) {
|
|
53
|
+
e.preventDefault();
|
|
54
|
+
submitForm();
|
|
55
|
+
}
|
|
56
|
+
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);
|
|
57
|
+
}, [submitOnEnter, onKeyDown, submitForm]);
|
|
58
|
+
return ((0, jsx_runtime_1.jsxs)(FieldRoot, Object.assign({ className: className }, { children: [label && (0, jsx_runtime_1.jsx)(FieldLabel, { children: label }), (0, jsx_runtime_1.jsx)(TextArea_js_1.TextArea, Object.assign({ ref: inputRef }, props, rest, { onKeyDown: onKeyDownInner }))] })));
|
|
51
59
|
}
|
|
52
60
|
exports.TextAreaField = TextAreaField;
|
|
53
61
|
const FieldRoot = (0, hooks_js_1.withClassName)('div', 'flex flex-col items-stretch gap-1 self-stretch');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../../../src/components/forms/TextField.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;AAEb,
|
|
1
|
+
{"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../../../src/components/forms/TextField.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;AAEb,mCAAoD;AACpD,iCASe;AACf,kFAAuD;AAEvD,gDAA0C;AAC1C,yDAAkE;AAClE,6CAA+C;AAe/C,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAE,CAAC,CAAQ,CAAC;AAEtB,QAAA,SAAS,GAAG,IAAA,kBAAU,EAClC,SAAS,SAAS,CACjB,EAWC,EACD,GAAG;QAZH,EACC,IAAI,EACJ,KAAK,EACL,SAAS,EACT,cAAc,EACd,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,OAEN,EADG,IAAI,cAVR,0GAWC,CADO;IAIR,MAAM,CAAC,KAAK,CAAC,GAAG,IAAA,iBAAQ,EAAC;QACxB,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,MAAM;KACN,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,IAAA,cAAM,EAAmB,IAAI,CAAC,CAAC;IAErD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,IAAI,cAAc,EAAE;YACnB,UAAU,CAAC,GAAG,EAAE;gBACf,IAAI,aAAa,CAAC,OAAO;oBAAE,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC1D,CAAC,EAAE,cAAc,CAAC,CAAC;SACnB;IACF,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,OAAO,CACN,wBAAC,SAAS,kBAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,iBACvC,KAAK,IAAI,uBAAC,UAAU,cAAE,KAAK,GAAc,EAC1C,uBAAC,gBAAK,oBACD,KAAK,EACL,IAAI,IACR,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,IAAA,yBAAY,EAAC,aAAa,EAAE,QAAQ,IAAI,QAAQ,CAAC,IACrD,KACS,CACZ,CAAC;AACH,CAAC,CACD,CAAC;AAaF,SAAgB,aAAa,CAAC,EAQT;QARS,EAC7B,IAAI,EACJ,KAAK,EACL,SAAS,EACT,QAAQ,EACR,SAAS,EACT,aAAa,OAEO,EADjB,IAAI,cAPsB,wEAQ7B,CADO;IAEP,MAAM,CAAC,KAAK,CAAC,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,yBAAgB,GAAE,CAAC;IAC1C,MAAM,cAAc,GAAG,IAAA,mBAAW,EACjC,CAAC,CAAqC,EAAE,EAAE;QACzC,IAAI,aAAa,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;YACtD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,UAAU,EAAE,CAAC;SACb;QACD,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,CAAC,CAAC,CAAC;IAChB,CAAC,EACD,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,CACtC,CAAC;IACF,OAAO,CACN,wBAAC,SAAS,kBAAC,SAAS,EAAE,SAAS,iBAC7B,KAAK,IAAI,uBAAC,UAAU,cAAE,KAAK,GAAc,EAC1C,uBAAC,sBAAQ,kBACR,GAAG,EAAE,QAAQ,IACT,KAAK,EACL,IAAI,IACR,SAAS,EAAE,cAAc,IACxB,KACS,CACZ,CAAC;AACH,CAAC;AAhCD,sCAgCC;AAED,MAAM,SAAS,GAAG,IAAA,wBAAa,EAC9B,KAAK,EACL,gDAAgD,CAChD,CAAC;AACF,MAAM,UAAU,GAAG,IAAA,wBAAa,EAC/B,OAAO,EACP,mEAAmE,CACnE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useField } from 'formik';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// @unocss-include
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.useField = void 0;
|
|
5
|
+
const formik_1 = require("formik");
|
|
6
|
+
var formik_2 = require("formik");
|
|
7
|
+
Object.defineProperty(exports, "useField", { enumerable: true, get: function () { return formik_2.useField; } });
|
|
8
|
+
function useSubmit() {
|
|
9
|
+
const { submitForm, isSubmitting } = (0, formik_1.useFormikContext)();
|
|
10
|
+
return [submitForm, isSubmitting];
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../src/components/forms/hooks.ts"],"names":[],"mappings":";;;AAAA,mCAA0C;AAE1C,iCAAkC;AAAzB,kGAAA,QAAQ,OAAA;AAEjB,SAAS,SAAS;IACjB,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAA,yBAAgB,GAAE,CAAC;IAExD,OAAO,CAAC,UAAU,EAAE,YAAY,CAAU,CAAC;AAC5C,CAAC"}
|
|
@@ -19,4 +19,5 @@ __exportStar(require("./Form.js"), exports);
|
|
|
19
19
|
__exportStar(require("./SubmitButton.js"), exports);
|
|
20
20
|
__exportStar(require("./TextField.js"), exports);
|
|
21
21
|
__exportStar(require("./FormikForm.js"), exports);
|
|
22
|
+
__exportStar(require("./hooks.js"), exports);
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/forms/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,oDAAkC;AAClC,iDAA+B;AAC/B,kDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/forms/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,oDAAkC;AAClC,iDAA+B;AAC/B,kDAAgC;AAChC,6CAA2B"}
|
|
@@ -22,5 +22,6 @@ export type TextAreaFieldProps = {
|
|
|
22
22
|
disabled?: boolean;
|
|
23
23
|
className?: string;
|
|
24
24
|
inputRef?: Ref<HTMLTextAreaElement>;
|
|
25
|
+
submitOnEnter?: boolean;
|
|
25
26
|
} & TextAreaProps;
|
|
26
|
-
export declare function TextAreaField({ name, label, className, inputRef, ...rest }: TextAreaFieldProps): JSX.Element;
|
|
27
|
+
export declare function TextAreaField({ name, label, className, inputRef, onKeyDown, submitOnEnter, ...rest }: TextAreaFieldProps): JSX.Element;
|
|
@@ -12,8 +12,8 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
12
12
|
return t;
|
|
13
13
|
};
|
|
14
14
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
-
import { useField } from 'formik';
|
|
16
|
-
import { useEffect, useRef, forwardRef, } from 'react';
|
|
15
|
+
import { useField, useFormikContext } from 'formik';
|
|
16
|
+
import { useEffect, useRef, forwardRef, useCallback, } from 'react';
|
|
17
17
|
import useMergedRef from '../../hooks/useMergedRef.js';
|
|
18
18
|
import { Input } from '../input/Input.js';
|
|
19
19
|
import { TextArea } from '../textArea/TextArea.js';
|
|
@@ -39,9 +39,17 @@ export const TextField = forwardRef(function TextField(_a, ref) {
|
|
|
39
39
|
return (_jsxs(FieldRoot, Object.assign({ className: className, ref: ref }, { children: [label && _jsx(FieldLabel, { children: label }), _jsx(Input, Object.assign({}, props, rest, { autoFocus: autoFocus, ref: useMergedRef(innerInputRef, inputRef || emptyRef) }))] })));
|
|
40
40
|
});
|
|
41
41
|
export function TextAreaField(_a) {
|
|
42
|
-
var { name, label, className, inputRef } = _a, rest = __rest(_a, ["name", "label", "className", "inputRef"]);
|
|
42
|
+
var { name, label, className, inputRef, onKeyDown, submitOnEnter } = _a, rest = __rest(_a, ["name", "label", "className", "inputRef", "onKeyDown", "submitOnEnter"]);
|
|
43
43
|
const [props] = useField(name);
|
|
44
|
-
|
|
44
|
+
const { submitForm } = useFormikContext();
|
|
45
|
+
const onKeyDownInner = useCallback((e) => {
|
|
46
|
+
if (submitOnEnter && e.key === 'Enter' && !e.shiftKey) {
|
|
47
|
+
e.preventDefault();
|
|
48
|
+
submitForm();
|
|
49
|
+
}
|
|
50
|
+
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);
|
|
51
|
+
}, [submitOnEnter, onKeyDown, submitForm]);
|
|
52
|
+
return (_jsxs(FieldRoot, Object.assign({ className: className }, { children: [label && _jsx(FieldLabel, { children: label }), _jsx(TextArea, Object.assign({ ref: inputRef }, props, rest, { onKeyDown: onKeyDownInner }))] })));
|
|
45
53
|
}
|
|
46
54
|
const FieldRoot = withClassName('div', 'flex flex-col items-stretch gap-1 self-stretch');
|
|
47
55
|
const FieldLabel = withClassName('label', 'inline-flex flex-col gap-1 text-sm font-bold text-dark-blend mb-1');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../../../src/components/forms/TextField.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../../../src/components/forms/TextField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useField } from 'formik';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../src/components/forms/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,SAAS,SAAS;IACjB,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAExD,OAAO,CAAC,UAAU,EAAE,YAAY,CAAU,CAAC;AAC5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/forms/index.tsx"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/forms/index.tsx"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { useField } from 'formik';
|
|
3
|
+
import { useField, useFormikContext } from 'formik';
|
|
4
4
|
import {
|
|
5
5
|
ComponentProps,
|
|
6
6
|
InputHTMLAttributes,
|
|
@@ -8,6 +8,8 @@ import {
|
|
|
8
8
|
useRef,
|
|
9
9
|
Ref,
|
|
10
10
|
forwardRef,
|
|
11
|
+
KeyboardEvent,
|
|
12
|
+
useCallback,
|
|
11
13
|
} from 'react';
|
|
12
14
|
import useMergedRef from '../../hooks/useMergedRef.js';
|
|
13
15
|
import classNames from 'clsx';
|
|
@@ -84,6 +86,7 @@ export type TextAreaFieldProps = {
|
|
|
84
86
|
disabled?: boolean;
|
|
85
87
|
className?: string;
|
|
86
88
|
inputRef?: Ref<HTMLTextAreaElement>;
|
|
89
|
+
submitOnEnter?: boolean;
|
|
87
90
|
} & TextAreaProps;
|
|
88
91
|
|
|
89
92
|
export function TextAreaField({
|
|
@@ -91,13 +94,31 @@ export function TextAreaField({
|
|
|
91
94
|
label,
|
|
92
95
|
className,
|
|
93
96
|
inputRef,
|
|
97
|
+
onKeyDown,
|
|
98
|
+
submitOnEnter,
|
|
94
99
|
...rest
|
|
95
100
|
}: TextAreaFieldProps) {
|
|
96
101
|
const [props] = useField(name);
|
|
102
|
+
const { submitForm } = useFormikContext();
|
|
103
|
+
const onKeyDownInner = useCallback(
|
|
104
|
+
(e: KeyboardEvent<HTMLTextAreaElement>) => {
|
|
105
|
+
if (submitOnEnter && e.key === 'Enter' && !e.shiftKey) {
|
|
106
|
+
e.preventDefault();
|
|
107
|
+
submitForm();
|
|
108
|
+
}
|
|
109
|
+
onKeyDown?.(e);
|
|
110
|
+
},
|
|
111
|
+
[submitOnEnter, onKeyDown, submitForm],
|
|
112
|
+
);
|
|
97
113
|
return (
|
|
98
114
|
<FieldRoot className={className}>
|
|
99
115
|
{label && <FieldLabel>{label}</FieldLabel>}
|
|
100
|
-
<TextArea
|
|
116
|
+
<TextArea
|
|
117
|
+
ref={inputRef}
|
|
118
|
+
{...props}
|
|
119
|
+
{...rest}
|
|
120
|
+
onKeyDown={onKeyDownInner}
|
|
121
|
+
/>
|
|
101
122
|
</FieldRoot>
|
|
102
123
|
);
|
|
103
124
|
}
|