@fuf-stack/uniform 1.0.4 → 1.2.0
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/Input/index.cjs +2 -2
- package/dist/Input/index.d.cts +2 -2
- package/dist/Input/index.d.ts +2 -2
- package/dist/Input/index.js +1 -1
- package/dist/{Input-Com9bFxL.d.cts → Input-DeQoIu96.d.cts} +3 -1
- package/dist/{Input-BpsVvxwO.d.ts → Input-ymA_W82l.d.ts} +3 -1
- package/dist/SubmitButton/index.cjs +2 -2
- package/dist/SubmitButton/index.d.cts +2 -2
- package/dist/SubmitButton/index.d.ts +2 -2
- package/dist/SubmitButton/index.js +1 -1
- package/dist/{SubmitButton-C81VCkmx.d.cts → SubmitButton-dyil1SRk.d.cts} +5 -3
- package/dist/{SubmitButton-C81VCkmx.d.ts → SubmitButton-dyil1SRk.d.ts} +5 -3
- package/dist/{chunk-EP5CSMUM.cjs → chunk-52MVVBSU.cjs} +21 -11
- package/dist/chunk-52MVVBSU.cjs.map +1 -0
- package/dist/{chunk-SCFEHH2U.js → chunk-TIN5YJ4B.js} +3 -1
- package/dist/chunk-TIN5YJ4B.js.map +1 -0
- package/dist/{chunk-OEPBQXUN.js → chunk-XSGUQCFJ.js} +21 -11
- package/dist/chunk-XSGUQCFJ.js.map +1 -0
- package/dist/{chunk-CNSA2WD5.cjs → chunk-ZPCFZYUF.cjs} +3 -1
- package/dist/chunk-ZPCFZYUF.cjs.map +1 -0
- package/dist/index.cjs +3 -3
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/package.json +4 -4
- package/dist/chunk-CNSA2WD5.cjs.map +0 -1
- package/dist/chunk-EP5CSMUM.cjs.map +0 -1
- package/dist/chunk-OEPBQXUN.js.map +0 -1
- package/dist/chunk-SCFEHH2U.js.map +0 -1
package/dist/Input/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunk52MVVBSUcjs = require('../chunk-52MVVBSU.cjs');
|
|
5
5
|
require('../chunk-OE5BOGGX.cjs');
|
|
6
6
|
require('../chunk-Y3AB4GV6.cjs');
|
|
7
7
|
require('../chunk-MAABMY3P.cjs');
|
|
@@ -12,5 +12,5 @@ require('../chunk-555JRYCS.cjs');
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
exports.Input =
|
|
15
|
+
exports.Input = _chunk52MVVBSUcjs.Input_default; exports.default = _chunk52MVVBSUcjs.Input_default2;
|
|
16
16
|
//# sourceMappingURL=index.cjs.map
|
package/dist/Input/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { I as Input } from '../Input-
|
|
2
|
-
export { a as InputProps } from '../Input-
|
|
1
|
+
import { I as Input } from '../Input-DeQoIu96.cjs';
|
|
2
|
+
export { a as InputProps } from '../Input-DeQoIu96.cjs';
|
|
3
3
|
import 'react/jsx-runtime';
|
|
4
4
|
import 'react';
|
|
5
5
|
import '../hooks/useInputValueTransform/index.cjs';
|
package/dist/Input/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { I as Input } from '../Input-
|
|
2
|
-
export { a as InputProps } from '../Input-
|
|
1
|
+
import { I as Input } from '../Input-ymA_W82l.js';
|
|
2
|
+
export { a as InputProps } from '../Input-ymA_W82l.js';
|
|
3
3
|
import 'react/jsx-runtime';
|
|
4
4
|
import 'react';
|
|
5
5
|
import '../hooks/useInputValueTransform/index.js';
|
package/dist/Input/index.js
CHANGED
|
@@ -5,6 +5,8 @@ import { InputValueTransform } from './hooks/useInputValueTransform/index.cjs';
|
|
|
5
5
|
interface InputProps {
|
|
6
6
|
/** CSS class name */
|
|
7
7
|
className?: string;
|
|
8
|
+
/** shows clear button when input has value */
|
|
9
|
+
clearable?: boolean;
|
|
8
10
|
/** debounce delay in milliseconds for form state updates (default: 300ms) */
|
|
9
11
|
debounceDelay?: number;
|
|
10
12
|
/** input field is disabled */
|
|
@@ -31,6 +33,6 @@ interface InputProps {
|
|
|
31
33
|
/**
|
|
32
34
|
* Input component based on [HeroUI Input](https://www.heroui.com//docs/components/input)
|
|
33
35
|
*/
|
|
34
|
-
declare const Input: ({ className, debounceDelay, disabled, endContent, label, name, placeholder, size, startContent, testId: _testId, transform, type, }: InputProps) => react_jsx_runtime.JSX.Element;
|
|
36
|
+
declare const Input: ({ className, clearable, debounceDelay, disabled, endContent, label, name, placeholder, size, startContent, testId: _testId, transform, type, }: InputProps) => react_jsx_runtime.JSX.Element;
|
|
35
37
|
|
|
36
38
|
export { Input as I, type InputProps as a };
|
|
@@ -5,6 +5,8 @@ import { InputValueTransform } from './hooks/useInputValueTransform/index.js';
|
|
|
5
5
|
interface InputProps {
|
|
6
6
|
/** CSS class name */
|
|
7
7
|
className?: string;
|
|
8
|
+
/** shows clear button when input has value */
|
|
9
|
+
clearable?: boolean;
|
|
8
10
|
/** debounce delay in milliseconds for form state updates (default: 300ms) */
|
|
9
11
|
debounceDelay?: number;
|
|
10
12
|
/** input field is disabled */
|
|
@@ -31,6 +33,6 @@ interface InputProps {
|
|
|
31
33
|
/**
|
|
32
34
|
* Input component based on [HeroUI Input](https://www.heroui.com//docs/components/input)
|
|
33
35
|
*/
|
|
34
|
-
declare const Input: ({ className, debounceDelay, disabled, endContent, label, name, placeholder, size, startContent, testId: _testId, transform, type, }: InputProps) => react_jsx_runtime.JSX.Element;
|
|
36
|
+
declare const Input: ({ className, clearable, debounceDelay, disabled, endContent, label, name, placeholder, size, startContent, testId: _testId, transform, type, }: InputProps) => react_jsx_runtime.JSX.Element;
|
|
35
37
|
|
|
36
38
|
export { Input as I, type InputProps as a };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkZPCFZYUFcjs = require('../chunk-ZPCFZYUF.cjs');
|
|
5
5
|
require('../chunk-MAABMY3P.cjs');
|
|
6
6
|
require('../chunk-YGNY6CKU.cjs');
|
|
7
7
|
require('../chunk-FLK6OPFY.cjs');
|
|
@@ -10,5 +10,5 @@ require('../chunk-555JRYCS.cjs');
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
exports.SubmitButton =
|
|
13
|
+
exports.SubmitButton = _chunkZPCFZYUFcjs.SubmitButton_default; exports.default = _chunkZPCFZYUFcjs.SubmitButton_default2;
|
|
14
14
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as SubmitButton } from '../SubmitButton-
|
|
2
|
-
export { a as SubmitButtonProps } from '../SubmitButton-
|
|
1
|
+
import { S as SubmitButton } from '../SubmitButton-dyil1SRk.cjs';
|
|
2
|
+
export { a as SubmitButtonProps } from '../SubmitButton-dyil1SRk.cjs';
|
|
3
3
|
import 'react/jsx-runtime';
|
|
4
4
|
import '@fuf-stack/pixels';
|
|
5
5
|
import 'react';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as SubmitButton } from '../SubmitButton-
|
|
2
|
-
export { a as SubmitButtonProps } from '../SubmitButton-
|
|
1
|
+
import { S as SubmitButton } from '../SubmitButton-dyil1SRk.js';
|
|
2
|
+
export { a as SubmitButtonProps } from '../SubmitButton-dyil1SRk.js';
|
|
3
3
|
import 'react/jsx-runtime';
|
|
4
4
|
import '@fuf-stack/pixels';
|
|
5
5
|
import 'react';
|
|
@@ -7,11 +7,13 @@ interface SubmitButtonProps {
|
|
|
7
7
|
children?: ReactNode;
|
|
8
8
|
/** CSS class name */
|
|
9
9
|
className?: string;
|
|
10
|
-
/** color of the button */
|
|
10
|
+
/** color of the submit button */
|
|
11
11
|
color?: ButtonProps['color'];
|
|
12
|
+
/** icon of the submit button */
|
|
13
|
+
icon?: ButtonProps['icon'];
|
|
12
14
|
/** If set loading animation is shown */
|
|
13
15
|
loading?: boolean;
|
|
14
|
-
/** size of the button */
|
|
16
|
+
/** size of the submit button */
|
|
15
17
|
size?: ButtonProps['size'];
|
|
16
18
|
/** HTML data-testid attribute used in e2e tests */
|
|
17
19
|
testId?: string;
|
|
@@ -19,6 +21,6 @@ interface SubmitButtonProps {
|
|
|
19
21
|
/**
|
|
20
22
|
* From SubmitButton
|
|
21
23
|
*/
|
|
22
|
-
declare const SubmitButton: ({ children, className, color, loading, size, testId, }: SubmitButtonProps) => react_jsx_runtime.JSX.Element;
|
|
24
|
+
declare const SubmitButton: ({ children, className, color, icon, loading, size, testId, }: SubmitButtonProps) => react_jsx_runtime.JSX.Element;
|
|
23
25
|
|
|
24
26
|
export { SubmitButton as S, type SubmitButtonProps as a };
|
|
@@ -7,11 +7,13 @@ interface SubmitButtonProps {
|
|
|
7
7
|
children?: ReactNode;
|
|
8
8
|
/** CSS class name */
|
|
9
9
|
className?: string;
|
|
10
|
-
/** color of the button */
|
|
10
|
+
/** color of the submit button */
|
|
11
11
|
color?: ButtonProps['color'];
|
|
12
|
+
/** icon of the submit button */
|
|
13
|
+
icon?: ButtonProps['icon'];
|
|
12
14
|
/** If set loading animation is shown */
|
|
13
15
|
loading?: boolean;
|
|
14
|
-
/** size of the button */
|
|
16
|
+
/** size of the submit button */
|
|
15
17
|
size?: ButtonProps['size'];
|
|
16
18
|
/** HTML data-testid attribute used in e2e tests */
|
|
17
19
|
testId?: string;
|
|
@@ -19,6 +21,6 @@ interface SubmitButtonProps {
|
|
|
19
21
|
/**
|
|
20
22
|
* From SubmitButton
|
|
21
23
|
*/
|
|
22
|
-
declare const SubmitButton: ({ children, className, color, loading, size, testId, }: SubmitButtonProps) => react_jsx_runtime.JSX.Element;
|
|
24
|
+
declare const SubmitButton: ({ children, className, color, icon, loading, size, testId, }: SubmitButtonProps) => react_jsx_runtime.JSX.Element;
|
|
23
25
|
|
|
24
26
|
export { SubmitButton as S, type SubmitButtonProps as a };
|
|
@@ -12,12 +12,16 @@ var _chunkMAABMY3Pcjs = require('./chunk-MAABMY3P.cjs');
|
|
|
12
12
|
|
|
13
13
|
var _chunkFLK6OPFYcjs = require('./chunk-FLK6OPFY.cjs');
|
|
14
14
|
|
|
15
|
+
|
|
16
|
+
var _chunk555JRYCScjs = require('./chunk-555JRYCS.cjs');
|
|
17
|
+
|
|
15
18
|
// src/Input/Input.tsx
|
|
16
19
|
var _input = require('@heroui/input');
|
|
17
20
|
var _pixelutils = require('@fuf-stack/pixel-utils');
|
|
18
21
|
var _jsxruntime = require('react/jsx-runtime');
|
|
19
22
|
var Input = ({
|
|
20
23
|
className = void 0,
|
|
24
|
+
clearable = false,
|
|
21
25
|
debounceDelay = 300,
|
|
22
26
|
disabled = false,
|
|
23
27
|
endContent = void 0,
|
|
@@ -30,7 +34,7 @@ var Input = ({
|
|
|
30
34
|
transform = void 0,
|
|
31
35
|
type = void 0
|
|
32
36
|
}) => {
|
|
33
|
-
const { control, debugMode, getFieldState } = _chunkMAABMY3Pcjs.useFormContext.call(void 0, );
|
|
37
|
+
const { control, debugMode, getFieldState, resetField } = _chunkMAABMY3Pcjs.useFormContext.call(void 0, );
|
|
34
38
|
const { error, invalid, required, testId } = getFieldState(name, _testId);
|
|
35
39
|
const { field } = _chunkMAABMY3Pcjs.useController.call(void 0, {
|
|
36
40
|
control,
|
|
@@ -52,11 +56,17 @@ var Input = ({
|
|
|
52
56
|
type,
|
|
53
57
|
value: fieldValue
|
|
54
58
|
});
|
|
59
|
+
const clearableProps = clearable ? {
|
|
60
|
+
isClearable: true,
|
|
61
|
+
onClear: () => {
|
|
62
|
+
resetField(name);
|
|
63
|
+
}
|
|
64
|
+
} : {};
|
|
55
65
|
const showTestIdCopyButton = debugMode === "debug-testids";
|
|
56
|
-
const showLabel = label
|
|
66
|
+
const showLabel = label != null ? label : showTestIdCopyButton;
|
|
57
67
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
58
68
|
_input.Input,
|
|
59
|
-
{
|
|
69
|
+
_chunk555JRYCScjs.__spreadValues.call(void 0, {
|
|
60
70
|
ref,
|
|
61
71
|
className: _pixelutils.cn.call(void 0, className),
|
|
62
72
|
"data-testid": testId,
|
|
@@ -72,18 +82,18 @@ var Input = ({
|
|
|
72
82
|
radius: "sm",
|
|
73
83
|
size,
|
|
74
84
|
startContent,
|
|
85
|
+
type,
|
|
86
|
+
value,
|
|
75
87
|
variant: "bordered",
|
|
76
88
|
classNames: {
|
|
77
89
|
inputWrapper: "bg-content1 group-data-[focus=true]:border-focus"
|
|
78
90
|
},
|
|
79
|
-
errorMessage: error
|
|
80
|
-
label: showLabel
|
|
91
|
+
errorMessage: error ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3AB4GV6cjs.FieldValidationError_default, { error, testId }) : null,
|
|
92
|
+
label: showLabel ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
81
93
|
label,
|
|
82
|
-
showTestIdCopyButton
|
|
83
|
-
] })
|
|
84
|
-
|
|
85
|
-
value
|
|
86
|
-
}
|
|
94
|
+
showTestIdCopyButton != null ? showTestIdCopyButton : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOE5BOGGXcjs.FieldCopyTestIdButton_default, { testId })
|
|
95
|
+
] }) : null
|
|
96
|
+
}, clearableProps)
|
|
87
97
|
);
|
|
88
98
|
};
|
|
89
99
|
var Input_default = Input;
|
|
@@ -95,4 +105,4 @@ var Input_default2 = Input_default;
|
|
|
95
105
|
|
|
96
106
|
|
|
97
107
|
exports.Input_default = Input_default; exports.Input_default2 = Input_default2;
|
|
98
|
-
//# sourceMappingURL=chunk-
|
|
108
|
+
//# sourceMappingURL=chunk-52MVVBSU.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-52MVVBSU.cjs","../src/Input/Input.tsx","../src/Input/index.ts"],"names":["Input_default"],"mappings":"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","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-52MVVBSU.cjs","sourcesContent":[null,"import type { InputProps as HeroInputProps } from '@heroui/input';\nimport type { ReactNode } from 'react';\nimport type { InputValueTransform } from '../hooks';\n\nimport { Input as HeroInput } from '@heroui/input';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\nimport { useController, useFormContext, useInputValueDebounce } from '../hooks';\nimport { FieldCopyTestIdButton } from '../partials/FieldCopyTestIdButton';\nimport { FieldValidationError } from '../partials/FieldValidationError';\n\nexport interface InputProps {\n /** CSS class name */\n className?: string;\n /** shows clear button when input has value */\n clearable?: boolean;\n /** debounce delay in milliseconds for form state updates (default: 300ms) */\n debounceDelay?: number;\n /** input field is disabled */\n disabled?: boolean;\n /** added content to the end of the input Field. */\n endContent?: ReactNode;\n /** form field label (set to false to disable label) */\n label?: string | false;\n /** form field name */\n name: string;\n /** form field placeholder */\n placeholder?: string;\n /** size of the input */\n size?: 'sm' | 'md' | 'lg';\n /** content added to the start of the input field */\n startContent?: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** allows disentangled display and form values for a field */\n transform?: InputValueTransform;\n /** input type */\n type?: 'number' | 'password';\n}\n\n/**\n * Input component based on [HeroUI Input](https://www.heroui.com//docs/components/input)\n */\nconst Input = ({\n className = undefined,\n clearable = false,\n debounceDelay = 300,\n disabled = false,\n endContent = undefined,\n label = undefined,\n name,\n placeholder = ' ',\n size = undefined,\n startContent = undefined,\n testId: _testId = undefined,\n transform = undefined,\n type = undefined,\n}: InputProps) => {\n const { control, debugMode, getFieldState, resetField } = useFormContext();\n const { error, invalid, required, testId } = getFieldState(name, _testId);\n\n const { field } = useController({\n control,\n disabled,\n name,\n });\n\n const {\n disabled: isDisabled,\n onChange: fieldOnChange,\n onBlur: fieldOnBlur,\n value: fieldValue,\n ref,\n } = field;\n\n // Use hook that provides debounced onChange and enhanced blur handling\n const { onChange, onBlur, value } = useInputValueDebounce({\n debounceDelay,\n onBlur: fieldOnBlur,\n onChange: fieldOnChange,\n transform,\n type,\n value: fieldValue,\n });\n\n // If input is clearable add props for clearing input value\n const clearableProps: Pick<HeroInputProps, 'isClearable' | 'onClear'> =\n clearable\n ? {\n isClearable: true,\n onClear: () => {\n resetField(name);\n },\n }\n : {};\n\n const showTestIdCopyButton = debugMode === 'debug-testids';\n const showLabel = label ?? showTestIdCopyButton;\n\n return (\n <HeroInput\n ref={ref}\n className={cn(className)}\n data-testid={testId}\n endContent={endContent}\n isDisabled={isDisabled}\n isInvalid={invalid}\n isRequired={required}\n labelPlacement=\"outside\"\n name={name}\n onBlur={onBlur}\n onChange={onChange}\n placeholder={placeholder}\n radius=\"sm\"\n size={size}\n startContent={startContent}\n type={type}\n // @ts-expect-error can be number for input type number\n value={value}\n variant=\"bordered\"\n classNames={{\n inputWrapper: 'bg-content1 group-data-[focus=true]:border-focus',\n }}\n errorMessage={\n error ? <FieldValidationError error={error} testId={testId} /> : null\n }\n label={\n showLabel ? (\n <>\n {label}\n {showTestIdCopyButton ?? <FieldCopyTestIdButton testId={testId} />}\n </>\n ) : null\n }\n {...clearableProps}\n />\n );\n};\n\nexport default Input;\n","import Input from './Input';\n\nexport type { InputProps } from './Input';\n\nexport { Input };\n\nexport default Input;\n"]}
|
|
@@ -10,6 +10,7 @@ var SubmitButton = ({
|
|
|
10
10
|
children = "Submit",
|
|
11
11
|
className = void 0,
|
|
12
12
|
color = "success",
|
|
13
|
+
icon = void 0,
|
|
13
14
|
loading = false,
|
|
14
15
|
size = "md",
|
|
15
16
|
testId = "form_submit_button"
|
|
@@ -24,6 +25,7 @@ var SubmitButton = ({
|
|
|
24
25
|
className: cn(className),
|
|
25
26
|
color,
|
|
26
27
|
disabled: isSubmitting,
|
|
28
|
+
icon,
|
|
27
29
|
loading: loading || isSubmitting,
|
|
28
30
|
onClick: triggerSubmit,
|
|
29
31
|
size,
|
|
@@ -42,4 +44,4 @@ export {
|
|
|
42
44
|
SubmitButton_default,
|
|
43
45
|
SubmitButton_default2
|
|
44
46
|
};
|
|
45
|
-
//# sourceMappingURL=chunk-
|
|
47
|
+
//# sourceMappingURL=chunk-TIN5YJ4B.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/SubmitButton/SubmitButton.tsx","../src/SubmitButton/index.ts"],"sourcesContent":["import type { ButtonProps } from '@fuf-stack/pixels';\nimport type { ReactNode } from 'react';\n\nimport { cn, slugify } from '@fuf-stack/pixel-utils';\nimport { Button } from '@fuf-stack/pixels';\n\nimport { useFormContext } from '../hooks';\n\nexport interface SubmitButtonProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string;\n /** color of the submit button */\n color?: ButtonProps['color'];\n /** icon of the submit button */\n icon?: ButtonProps['icon'];\n /** If set loading animation is shown */\n loading?: boolean;\n /** size of the submit button */\n size?: ButtonProps['size'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * From SubmitButton\n */\nconst SubmitButton = ({\n children = 'Submit',\n className = undefined,\n color = 'success',\n icon = undefined,\n loading = false,\n size = 'md',\n testId = 'form_submit_button',\n}: SubmitButtonProps) => {\n const {\n formState: { isSubmitting },\n triggerSubmit,\n } = useFormContext();\n\n return (\n <Button\n className={cn(className)}\n color={color}\n disabled={isSubmitting}\n icon={icon}\n loading={loading || isSubmitting}\n // @ts-expect-error we use form context triggerSubmit\n // here so that submit button also works in special\n // scenarios (e.g. when used in modal)\n onClick={triggerSubmit}\n size={size}\n testId={slugify(testId, { replaceDots: true })}\n type=\"submit\"\n >\n {children}\n </Button>\n );\n};\n\nexport default SubmitButton;\n","import SubmitButton from './SubmitButton';\n\nexport type { SubmitButtonProps } from './SubmitButton';\n\nexport { SubmitButton };\n\nexport default SubmitButton;\n"],"mappings":";;;;;AAGA,SAAS,IAAI,eAAe;AAC5B,SAAS,cAAc;AAuCnB;AAfJ,IAAM,eAAe,CAAC;AAAA,EACpB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AACX,MAAyB;AACvB,QAAM;AAAA,IACJ,WAAW,EAAE,aAAa;AAAA,IAC1B;AAAA,EACF,IAAI,eAAe;AAEnB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,SAAS;AAAA,MACvB;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA,SAAS,WAAW;AAAA,MAIpB,SAAS;AAAA,MACT;AAAA,MACA,QAAQ,QAAQ,QAAQ,EAAE,aAAa,KAAK,CAAC;AAAA,MAC7C,MAAK;AAAA,MAEJ;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,uBAAQ;;;ACxDf,IAAOA,wBAAQ;","names":["SubmitButton_default"]}
|
|
@@ -11,6 +11,9 @@ import {
|
|
|
11
11
|
import {
|
|
12
12
|
useInputValueDebounce
|
|
13
13
|
} from "./chunk-6IU7IYYB.js";
|
|
14
|
+
import {
|
|
15
|
+
__spreadValues
|
|
16
|
+
} from "./chunk-K2V4ULA2.js";
|
|
14
17
|
|
|
15
18
|
// src/Input/Input.tsx
|
|
16
19
|
import { Input as HeroInput } from "@heroui/input";
|
|
@@ -18,6 +21,7 @@ import { cn } from "@fuf-stack/pixel-utils";
|
|
|
18
21
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
19
22
|
var Input = ({
|
|
20
23
|
className = void 0,
|
|
24
|
+
clearable = false,
|
|
21
25
|
debounceDelay = 300,
|
|
22
26
|
disabled = false,
|
|
23
27
|
endContent = void 0,
|
|
@@ -30,7 +34,7 @@ var Input = ({
|
|
|
30
34
|
transform = void 0,
|
|
31
35
|
type = void 0
|
|
32
36
|
}) => {
|
|
33
|
-
const { control, debugMode, getFieldState } = useFormContext();
|
|
37
|
+
const { control, debugMode, getFieldState, resetField } = useFormContext();
|
|
34
38
|
const { error, invalid, required, testId } = getFieldState(name, _testId);
|
|
35
39
|
const { field } = useController({
|
|
36
40
|
control,
|
|
@@ -52,11 +56,17 @@ var Input = ({
|
|
|
52
56
|
type,
|
|
53
57
|
value: fieldValue
|
|
54
58
|
});
|
|
59
|
+
const clearableProps = clearable ? {
|
|
60
|
+
isClearable: true,
|
|
61
|
+
onClear: () => {
|
|
62
|
+
resetField(name);
|
|
63
|
+
}
|
|
64
|
+
} : {};
|
|
55
65
|
const showTestIdCopyButton = debugMode === "debug-testids";
|
|
56
|
-
const showLabel = label
|
|
66
|
+
const showLabel = label != null ? label : showTestIdCopyButton;
|
|
57
67
|
return /* @__PURE__ */ jsx(
|
|
58
68
|
HeroInput,
|
|
59
|
-
{
|
|
69
|
+
__spreadValues({
|
|
60
70
|
ref,
|
|
61
71
|
className: cn(className),
|
|
62
72
|
"data-testid": testId,
|
|
@@ -72,18 +82,18 @@ var Input = ({
|
|
|
72
82
|
radius: "sm",
|
|
73
83
|
size,
|
|
74
84
|
startContent,
|
|
85
|
+
type,
|
|
86
|
+
value,
|
|
75
87
|
variant: "bordered",
|
|
76
88
|
classNames: {
|
|
77
89
|
inputWrapper: "bg-content1 group-data-[focus=true]:border-focus"
|
|
78
90
|
},
|
|
79
|
-
errorMessage: error
|
|
80
|
-
label: showLabel
|
|
91
|
+
errorMessage: error ? /* @__PURE__ */ jsx(FieldValidationError_default, { error, testId }) : null,
|
|
92
|
+
label: showLabel ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
81
93
|
label,
|
|
82
|
-
showTestIdCopyButton
|
|
83
|
-
] })
|
|
84
|
-
|
|
85
|
-
value
|
|
86
|
-
}
|
|
94
|
+
showTestIdCopyButton != null ? showTestIdCopyButton : /* @__PURE__ */ jsx(FieldCopyTestIdButton_default, { testId })
|
|
95
|
+
] }) : null
|
|
96
|
+
}, clearableProps)
|
|
87
97
|
);
|
|
88
98
|
};
|
|
89
99
|
var Input_default = Input;
|
|
@@ -95,4 +105,4 @@ export {
|
|
|
95
105
|
Input_default,
|
|
96
106
|
Input_default2
|
|
97
107
|
};
|
|
98
|
-
//# sourceMappingURL=chunk-
|
|
108
|
+
//# sourceMappingURL=chunk-XSGUQCFJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/Input/Input.tsx","../src/Input/index.ts"],"sourcesContent":["import type { InputProps as HeroInputProps } from '@heroui/input';\nimport type { ReactNode } from 'react';\nimport type { InputValueTransform } from '../hooks';\n\nimport { Input as HeroInput } from '@heroui/input';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\nimport { useController, useFormContext, useInputValueDebounce } from '../hooks';\nimport { FieldCopyTestIdButton } from '../partials/FieldCopyTestIdButton';\nimport { FieldValidationError } from '../partials/FieldValidationError';\n\nexport interface InputProps {\n /** CSS class name */\n className?: string;\n /** shows clear button when input has value */\n clearable?: boolean;\n /** debounce delay in milliseconds for form state updates (default: 300ms) */\n debounceDelay?: number;\n /** input field is disabled */\n disabled?: boolean;\n /** added content to the end of the input Field. */\n endContent?: ReactNode;\n /** form field label (set to false to disable label) */\n label?: string | false;\n /** form field name */\n name: string;\n /** form field placeholder */\n placeholder?: string;\n /** size of the input */\n size?: 'sm' | 'md' | 'lg';\n /** content added to the start of the input field */\n startContent?: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** allows disentangled display and form values for a field */\n transform?: InputValueTransform;\n /** input type */\n type?: 'number' | 'password';\n}\n\n/**\n * Input component based on [HeroUI Input](https://www.heroui.com//docs/components/input)\n */\nconst Input = ({\n className = undefined,\n clearable = false,\n debounceDelay = 300,\n disabled = false,\n endContent = undefined,\n label = undefined,\n name,\n placeholder = ' ',\n size = undefined,\n startContent = undefined,\n testId: _testId = undefined,\n transform = undefined,\n type = undefined,\n}: InputProps) => {\n const { control, debugMode, getFieldState, resetField } = useFormContext();\n const { error, invalid, required, testId } = getFieldState(name, _testId);\n\n const { field } = useController({\n control,\n disabled,\n name,\n });\n\n const {\n disabled: isDisabled,\n onChange: fieldOnChange,\n onBlur: fieldOnBlur,\n value: fieldValue,\n ref,\n } = field;\n\n // Use hook that provides debounced onChange and enhanced blur handling\n const { onChange, onBlur, value } = useInputValueDebounce({\n debounceDelay,\n onBlur: fieldOnBlur,\n onChange: fieldOnChange,\n transform,\n type,\n value: fieldValue,\n });\n\n // If input is clearable add props for clearing input value\n const clearableProps: Pick<HeroInputProps, 'isClearable' | 'onClear'> =\n clearable\n ? {\n isClearable: true,\n onClear: () => {\n resetField(name);\n },\n }\n : {};\n\n const showTestIdCopyButton = debugMode === 'debug-testids';\n const showLabel = label ?? showTestIdCopyButton;\n\n return (\n <HeroInput\n ref={ref}\n className={cn(className)}\n data-testid={testId}\n endContent={endContent}\n isDisabled={isDisabled}\n isInvalid={invalid}\n isRequired={required}\n labelPlacement=\"outside\"\n name={name}\n onBlur={onBlur}\n onChange={onChange}\n placeholder={placeholder}\n radius=\"sm\"\n size={size}\n startContent={startContent}\n type={type}\n // @ts-expect-error can be number for input type number\n value={value}\n variant=\"bordered\"\n classNames={{\n inputWrapper: 'bg-content1 group-data-[focus=true]:border-focus',\n }}\n errorMessage={\n error ? <FieldValidationError error={error} testId={testId} /> : null\n }\n label={\n showLabel ? (\n <>\n {label}\n {showTestIdCopyButton ?? <FieldCopyTestIdButton testId={testId} />}\n </>\n ) : null\n }\n {...clearableProps}\n />\n );\n};\n\nexport default Input;\n","import Input from './Input';\n\nexport type { InputProps } from './Input';\n\nexport { Input };\n\nexport default Input;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAIA,SAAS,SAAS,iBAAiB;AAEnC,SAAS,UAAU;AAuHH,SAIN,UAJM,KAIN,YAJM;AAjFhB,IAAM,QAAQ,CAAC;AAAA,EACb,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,aAAa;AAAA,EACb,QAAQ;AAAA,EACR;AAAA,EACA,cAAc;AAAA,EACd,OAAO;AAAA,EACP,eAAe;AAAA,EACf,QAAQ,UAAU;AAAA,EAClB,YAAY;AAAA,EACZ,OAAO;AACT,MAAkB;AAChB,QAAM,EAAE,SAAS,WAAW,eAAe,WAAW,IAAI,eAAe;AACzE,QAAM,EAAE,OAAO,SAAS,UAAU,OAAO,IAAI,cAAc,MAAM,OAAO;AAExE,QAAM,EAAE,MAAM,IAAI,cAAc;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,OAAO;AAAA,IACP;AAAA,EACF,IAAI;AAGJ,QAAM,EAAE,UAAU,QAAQ,MAAM,IAAI,sBAAsB;AAAA,IACxD;AAAA,IACA,QAAQ;AAAA,IACR,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,OAAO;AAAA,EACT,CAAC;AAGD,QAAM,iBACJ,YACI;AAAA,IACE,aAAa;AAAA,IACb,SAAS,MAAM;AACb,iBAAW,IAAI;AAAA,IACjB;AAAA,EACF,IACA,CAAC;AAEP,QAAM,uBAAuB,cAAc;AAC3C,QAAM,YAAY,wBAAS;AAE3B,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW,GAAG,SAAS;AAAA,MACvB,eAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,gBAAe;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,MACA,SAAQ;AAAA,MACR,YAAY;AAAA,QACV,cAAc;AAAA,MAChB;AAAA,MACA,cACE,QAAQ,oBAAC,gCAAqB,OAAc,QAAgB,IAAK;AAAA,MAEnE,OACE,YACE,iCACG;AAAA;AAAA,QACA,sDAAwB,oBAAC,iCAAsB,QAAgB;AAAA,SAClE,IACE;AAAA,OAEF;AAAA,EACN;AAEJ;AAEA,IAAO,gBAAQ;;;ACtIf,IAAOA,iBAAQ;","names":["Input_default"]}
|
|
@@ -10,6 +10,7 @@ var SubmitButton = ({
|
|
|
10
10
|
children = "Submit",
|
|
11
11
|
className = void 0,
|
|
12
12
|
color = "success",
|
|
13
|
+
icon = void 0,
|
|
13
14
|
loading = false,
|
|
14
15
|
size = "md",
|
|
15
16
|
testId = "form_submit_button"
|
|
@@ -24,6 +25,7 @@ var SubmitButton = ({
|
|
|
24
25
|
className: _pixelutils.cn.call(void 0, className),
|
|
25
26
|
color,
|
|
26
27
|
disabled: isSubmitting,
|
|
28
|
+
icon,
|
|
27
29
|
loading: loading || isSubmitting,
|
|
28
30
|
onClick: triggerSubmit,
|
|
29
31
|
size,
|
|
@@ -42,4 +44,4 @@ var SubmitButton_default2 = SubmitButton_default;
|
|
|
42
44
|
|
|
43
45
|
|
|
44
46
|
exports.SubmitButton_default = SubmitButton_default; exports.SubmitButton_default2 = SubmitButton_default2;
|
|
45
|
-
//# sourceMappingURL=chunk-
|
|
47
|
+
//# sourceMappingURL=chunk-ZPCFZYUF.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-ZPCFZYUF.cjs","../src/SubmitButton/SubmitButton.tsx","../src/SubmitButton/index.ts"],"names":["SubmitButton_default"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACDA,oDAA4B;AAC5B,2CAAuB;AAuCnB,+CAAA;AAfJ,IAAM,aAAA,EAAe,CAAC;AAAA,EACpB,SAAA,EAAW,QAAA;AAAA,EACX,UAAA,EAAY,KAAA,CAAA;AAAA,EACZ,MAAA,EAAQ,SAAA;AAAA,EACR,KAAA,EAAO,KAAA,CAAA;AAAA,EACP,QAAA,EAAU,KAAA;AAAA,EACV,KAAA,EAAO,IAAA;AAAA,EACP,OAAA,EAAS;AACX,CAAA,EAAA,GAAyB;AACvB,EAAA,MAAM;AAAA,IACJ,SAAA,EAAW,EAAE,aAAa,CAAA;AAAA,IAC1B;AAAA,EACF,EAAA,EAAI,8CAAA,CAAe;AAEnB,EAAA,uBACE,6BAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,4BAAA,SAAY,CAAA;AAAA,MACvB,KAAA;AAAA,MACA,QAAA,EAAU,YAAA;AAAA,MACV,IAAA;AAAA,MACA,OAAA,EAAS,QAAA,GAAW,YAAA;AAAA,MAIpB,OAAA,EAAS,aAAA;AAAA,MACT,IAAA;AAAA,MACA,MAAA,EAAQ,iCAAA,MAAQ,EAAQ,EAAE,WAAA,EAAa,KAAK,CAAC,CAAA;AAAA,MAC7C,IAAA,EAAK,QAAA;AAAA,MAEJ;AAAA,IAAA;AAAA,EACH,CAAA;AAEJ,CAAA;AAEA,IAAO,qBAAA,EAAQ,YAAA;ADxBf;AACA;AEjCA,IAAOA,sBAAAA,EAAQ,oBAAA;AFmCf;AACA;AACE;AACA;AACF,2GAAC","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-ZPCFZYUF.cjs","sourcesContent":[null,"import type { ButtonProps } from '@fuf-stack/pixels';\nimport type { ReactNode } from 'react';\n\nimport { cn, slugify } from '@fuf-stack/pixel-utils';\nimport { Button } from '@fuf-stack/pixels';\n\nimport { useFormContext } from '../hooks';\n\nexport interface SubmitButtonProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string;\n /** color of the submit button */\n color?: ButtonProps['color'];\n /** icon of the submit button */\n icon?: ButtonProps['icon'];\n /** If set loading animation is shown */\n loading?: boolean;\n /** size of the submit button */\n size?: ButtonProps['size'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * From SubmitButton\n */\nconst SubmitButton = ({\n children = 'Submit',\n className = undefined,\n color = 'success',\n icon = undefined,\n loading = false,\n size = 'md',\n testId = 'form_submit_button',\n}: SubmitButtonProps) => {\n const {\n formState: { isSubmitting },\n triggerSubmit,\n } = useFormContext();\n\n return (\n <Button\n className={cn(className)}\n color={color}\n disabled={isSubmitting}\n icon={icon}\n loading={loading || isSubmitting}\n // @ts-expect-error we use form context triggerSubmit\n // here so that submit button also works in special\n // scenarios (e.g. when used in modal)\n onClick={triggerSubmit}\n size={size}\n testId={slugify(testId, { replaceDots: true })}\n type=\"submit\"\n >\n {children}\n </Button>\n );\n};\n\nexport default SubmitButton;\n","import SubmitButton from './SubmitButton';\n\nexport type { SubmitButtonProps } from './SubmitButton';\n\nexport { SubmitButton };\n\nexport default SubmitButton;\n"]}
|
package/dist/index.cjs
CHANGED
|
@@ -6,7 +6,7 @@ var _chunkN7BZIGW7cjs = require('./chunk-N7BZIGW7.cjs');
|
|
|
6
6
|
var _chunkUQFNR2ZIcjs = require('./chunk-UQFNR2ZI.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkZPCFZYUFcjs = require('./chunk-ZPCFZYUF.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
var _chunkNSYD7L53cjs = require('./chunk-NSYD7L53.cjs');
|
|
@@ -27,7 +27,7 @@ var _chunkV64TRQMVcjs = require('./chunk-V64TRQMV.cjs');
|
|
|
27
27
|
var _chunkTTD3KL6Ecjs = require('./chunk-TTD3KL6E.cjs');
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _chunk52MVVBSUcjs = require('./chunk-52MVVBSU.cjs');
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
var _chunkXHWBXZO5cjs = require('./chunk-XHWBXZO5.cjs');
|
|
@@ -88,5 +88,5 @@ require('./chunk-555JRYCS.cjs');
|
|
|
88
88
|
|
|
89
89
|
|
|
90
90
|
|
|
91
|
-
exports.CheckboxGroup = _chunkX4O53MIJcjs.CheckboxGroup_default; exports.FieldArray = _chunkEO7TACW2cjs.FieldArray_default; exports.FieldCopyTestIdButton = _chunkOE5BOGGXcjs.FieldCopyTestIdButton_default; exports.FieldValidationError = _chunkY3AB4GV6cjs.FieldValidationError_default; exports.Form = _chunkV64TRQMVcjs.Form_default; exports.Grid = _chunkTTD3KL6Ecjs.Grid_default; exports.Input =
|
|
91
|
+
exports.CheckboxGroup = _chunkX4O53MIJcjs.CheckboxGroup_default; exports.FieldArray = _chunkEO7TACW2cjs.FieldArray_default; exports.FieldCopyTestIdButton = _chunkOE5BOGGXcjs.FieldCopyTestIdButton_default; exports.FieldValidationError = _chunkY3AB4GV6cjs.FieldValidationError_default; exports.Form = _chunkV64TRQMVcjs.Form_default; exports.Grid = _chunkTTD3KL6Ecjs.Grid_default; exports.Input = _chunk52MVVBSUcjs.Input_default; exports.RadioBoxes = _chunkXHWBXZO5cjs.RadioBoxes_default; exports.RadioGroup = _chunkKC26PALYcjs.RadioGroup_default; exports.RadioTabs = _chunkN7BZIGW7cjs.RadioTabs_default; exports.Select = _chunkUQFNR2ZIcjs.Select_default; exports.SubmitButton = _chunkZPCFZYUFcjs.SubmitButton_default; exports.Switch = _chunkNSYD7L53cjs.Switch_default; exports.TextArea = _chunkO3H3KD5Hcjs.TextArea_default; exports.checkFieldIsRequired = _chunkMAABMY3Pcjs.checkFieldIsRequired; exports.fromNullishString = _chunkYGNY6CKUcjs.fromNullishString; exports.toFormFormat = _chunkYGNY6CKUcjs.toFormFormat; exports.toNullishString = _chunkYGNY6CKUcjs.toNullishString; exports.toValidationFormat = _chunkYGNY6CKUcjs.toValidationFormat; exports.useClientValidation = _chunkMAABMY3Pcjs.useClientValidation; exports.useController = _chunkMAABMY3Pcjs.useController; exports.useFieldArray = _chunkMAABMY3Pcjs.useFieldArray; exports.useFormContext = _chunkMAABMY3Pcjs.useFormContext; exports.useInput = _chunkMAABMY3Pcjs.useInput; exports.useInputValueDebounce = _chunkFLK6OPFYcjs.useInputValueDebounce; exports.useInputValueTransform = _chunkP6HJOG7Dcjs.useInputValueTransform;
|
|
92
92
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.d.cts
CHANGED
|
@@ -8,14 +8,14 @@ export { useFieldArray } from 'react-hook-form';
|
|
|
8
8
|
export { useInput } from '@heroui/input';
|
|
9
9
|
export { UseInputValueDebounceOptions, UseInputValueDebounceReturn, useInputValueDebounce } from './hooks/useInputValueDebounce/index.cjs';
|
|
10
10
|
export { InputValueTransform, UseInputValueTransformOptions, UseInputValueTransformReturn, useInputValueTransform } from './hooks/useInputValueTransform/index.cjs';
|
|
11
|
-
export { I as Input, a as InputProps } from './Input-
|
|
11
|
+
export { I as Input, a as InputProps } from './Input-DeQoIu96.cjs';
|
|
12
12
|
export { F as FieldCopyTestIdButton, a as FieldCopyTestIdButtonProps } from './FieldCopyTestIdButton-_TDlmw0L.cjs';
|
|
13
13
|
export { F as FieldValidationError, a as FieldValidationErrorProps } from './FieldValidationError-CU_xw0BL.cjs';
|
|
14
14
|
export { R as RadioBoxes, a as RadioBoxesProps } from './RadioBoxes-CE3mYoFk.cjs';
|
|
15
15
|
export { R as RadioGroup, a as RadioGroupProps } from './RadioGroup-CAOX80Xx.cjs';
|
|
16
16
|
export { R as RadioTabs, a as RadioTabsProps } from './RadioTabs-8Gn71LRW.cjs';
|
|
17
17
|
export { S as Select, a as SelectProps } from './Select-CTRWinmO.cjs';
|
|
18
|
-
export { S as SubmitButton, a as SubmitButtonProps } from './SubmitButton-
|
|
18
|
+
export { S as SubmitButton, a as SubmitButtonProps } from './SubmitButton-dyil1SRk.cjs';
|
|
19
19
|
export { S as Switch, a as SwitchProps } from './Switch-Hr6PnK98.cjs';
|
|
20
20
|
export { T as TextArea, a as TextAreaProps } from './TextArea-DnFGyl4a.cjs';
|
|
21
21
|
import 'react/jsx-runtime';
|
package/dist/index.d.ts
CHANGED
|
@@ -8,14 +8,14 @@ export { useFieldArray } from 'react-hook-form';
|
|
|
8
8
|
export { useInput } from '@heroui/input';
|
|
9
9
|
export { UseInputValueDebounceOptions, UseInputValueDebounceReturn, useInputValueDebounce } from './hooks/useInputValueDebounce/index.js';
|
|
10
10
|
export { InputValueTransform, UseInputValueTransformOptions, UseInputValueTransformReturn, useInputValueTransform } from './hooks/useInputValueTransform/index.js';
|
|
11
|
-
export { I as Input, a as InputProps } from './Input-
|
|
11
|
+
export { I as Input, a as InputProps } from './Input-ymA_W82l.js';
|
|
12
12
|
export { F as FieldCopyTestIdButton, a as FieldCopyTestIdButtonProps } from './FieldCopyTestIdButton-_TDlmw0L.js';
|
|
13
13
|
export { F as FieldValidationError, a as FieldValidationErrorProps } from './FieldValidationError-CU_xw0BL.js';
|
|
14
14
|
export { R as RadioBoxes, a as RadioBoxesProps } from './RadioBoxes-CE3mYoFk.js';
|
|
15
15
|
export { R as RadioGroup, a as RadioGroupProps } from './RadioGroup-CAOX80Xx.js';
|
|
16
16
|
export { R as RadioTabs, a as RadioTabsProps } from './RadioTabs-8Gn71LRW.js';
|
|
17
17
|
export { S as Select, a as SelectProps } from './Select-CTRWinmO.js';
|
|
18
|
-
export { S as SubmitButton, a as SubmitButtonProps } from './SubmitButton-
|
|
18
|
+
export { S as SubmitButton, a as SubmitButtonProps } from './SubmitButton-dyil1SRk.js';
|
|
19
19
|
export { S as Switch, a as SwitchProps } from './Switch-Hr6PnK98.js';
|
|
20
20
|
export { T as TextArea, a as TextAreaProps } from './TextArea-DnFGyl4a.js';
|
|
21
21
|
import 'react/jsx-runtime';
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-C5E3263F.js";
|
|
7
7
|
import {
|
|
8
8
|
SubmitButton_default
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-TIN5YJ4B.js";
|
|
10
10
|
import {
|
|
11
11
|
Switch_default
|
|
12
12
|
} from "./chunk-GZKDPAUC.js";
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
} from "./chunk-B62HKKMS.js";
|
|
28
28
|
import {
|
|
29
29
|
Input_default
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-XSGUQCFJ.js";
|
|
31
31
|
import {
|
|
32
32
|
RadioBoxes_default
|
|
33
33
|
} from "./chunk-CVZSGNBJ.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fuf-stack/uniform",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "fuf react form library",
|
|
5
5
|
"author": "Fröhlich ∧ Frei",
|
|
6
6
|
"homepage": "https://github.com/fuf-stack/pixels#readme",
|
|
@@ -139,13 +139,13 @@
|
|
|
139
139
|
"@heroui/system": "2.4.20",
|
|
140
140
|
"@heroui/theme": "2.4.20",
|
|
141
141
|
"@react-aria/visually-hidden": "3.8.27",
|
|
142
|
-
"framer-motion": "12.23.
|
|
142
|
+
"framer-motion": "12.23.15",
|
|
143
143
|
"react-icons": "5.5.0",
|
|
144
144
|
"react-hook-form": "7.55.0",
|
|
145
145
|
"react-select": "5.10.2",
|
|
146
146
|
"@fuf-stack/pixel-utils": "1.0.5",
|
|
147
|
-
"@fuf-stack/
|
|
148
|
-
"@fuf-stack/
|
|
147
|
+
"@fuf-stack/pixels": "1.2.4",
|
|
148
|
+
"@fuf-stack/veto": "0.12.1"
|
|
149
149
|
},
|
|
150
150
|
"devDependencies": {
|
|
151
151
|
"@types/debug": "4.1.12",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-CNSA2WD5.cjs","../src/SubmitButton/SubmitButton.tsx","../src/SubmitButton/index.ts"],"names":["SubmitButton_default"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACDA,oDAA4B;AAC5B,2CAAuB;AAoCnB,+CAAA;AAdJ,IAAM,aAAA,EAAe,CAAC;AAAA,EACpB,SAAA,EAAW,QAAA;AAAA,EACX,UAAA,EAAY,KAAA,CAAA;AAAA,EACZ,MAAA,EAAQ,SAAA;AAAA,EACR,QAAA,EAAU,KAAA;AAAA,EACV,KAAA,EAAO,IAAA;AAAA,EACP,OAAA,EAAS;AACX,CAAA,EAAA,GAAyB;AACvB,EAAA,MAAM;AAAA,IACJ,SAAA,EAAW,EAAE,aAAa,CAAA;AAAA,IAC1B;AAAA,EACF,EAAA,EAAI,8CAAA,CAAe;AAEnB,EAAA,uBACE,6BAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,4BAAA,SAAY,CAAA;AAAA,MACvB,KAAA;AAAA,MACA,QAAA,EAAU,YAAA;AAAA,MACV,OAAA,EAAS,QAAA,GAAW,YAAA;AAAA,MAIpB,OAAA,EAAS,aAAA;AAAA,MACT,IAAA;AAAA,MACA,MAAA,EAAQ,iCAAA,MAAQ,EAAQ,EAAE,WAAA,EAAa,KAAK,CAAC,CAAA;AAAA,MAC7C,IAAA,EAAK,QAAA;AAAA,MAEJ;AAAA,IAAA;AAAA,EACH,CAAA;AAEJ,CAAA;AAEA,IAAO,qBAAA,EAAQ,YAAA;ADtBf;AACA;AE/BA,IAAOA,sBAAAA,EAAQ,oBAAA;AFiCf;AACA;AACE;AACA;AACF,2GAAC","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-CNSA2WD5.cjs","sourcesContent":[null,"import type { ButtonProps } from '@fuf-stack/pixels';\nimport type { ReactNode } from 'react';\n\nimport { cn, slugify } from '@fuf-stack/pixel-utils';\nimport { Button } from '@fuf-stack/pixels';\n\nimport { useFormContext } from '../hooks';\n\nexport interface SubmitButtonProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string;\n /** color of the button */\n color?: ButtonProps['color'];\n /** If set loading animation is shown */\n loading?: boolean;\n /** size of the button */\n size?: ButtonProps['size'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * From SubmitButton\n */\nconst SubmitButton = ({\n children = 'Submit',\n className = undefined,\n color = 'success',\n loading = false,\n size = 'md',\n testId = 'form_submit_button',\n}: SubmitButtonProps) => {\n const {\n formState: { isSubmitting },\n triggerSubmit,\n } = useFormContext();\n\n return (\n <Button\n className={cn(className)}\n color={color}\n disabled={isSubmitting}\n loading={loading || isSubmitting}\n // @ts-expect-error we use form context triggerSubmit\n // here so that submit button also works in special\n // scenarios (e.g. when used in modal)\n onClick={triggerSubmit}\n size={size}\n testId={slugify(testId, { replaceDots: true })}\n type=\"submit\"\n >\n {children}\n </Button>\n );\n};\n\nexport default SubmitButton;\n","import SubmitButton from './SubmitButton';\n\nexport type { SubmitButtonProps } from './SubmitButton';\n\nexport { SubmitButton };\n\nexport default SubmitButton;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-EP5CSMUM.cjs","../src/Input/Input.tsx","../src/Input/index.ts"],"names":["Input_default"],"mappings":"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","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-EP5CSMUM.cjs","sourcesContent":[null,"import type { ReactNode } from 'react';\nimport type { InputValueTransform } from '../hooks';\n\nimport { Input as HeroInput } from '@heroui/input';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\nimport { useController, useFormContext, useInputValueDebounce } from '../hooks';\nimport { FieldCopyTestIdButton } from '../partials/FieldCopyTestIdButton';\nimport { FieldValidationError } from '../partials/FieldValidationError';\n\nexport interface InputProps {\n /** CSS class name */\n className?: string;\n /** debounce delay in milliseconds for form state updates (default: 300ms) */\n debounceDelay?: number;\n /** input field is disabled */\n disabled?: boolean;\n /** added content to the end of the input Field. */\n endContent?: ReactNode;\n /** form field label (set to false to disable label) */\n label?: string | false;\n /** form field name */\n name: string;\n /** form field placeholder */\n placeholder?: string;\n /** size of the input */\n size?: 'sm' | 'md' | 'lg';\n /** content added to the start of the input field */\n startContent?: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** allows disentangled display and form values for a field */\n transform?: InputValueTransform;\n /** input type */\n type?: 'number' | 'password';\n}\n\n/**\n * Input component based on [HeroUI Input](https://www.heroui.com//docs/components/input)\n */\nconst Input = ({\n className = undefined,\n debounceDelay = 300,\n disabled = false,\n endContent = undefined,\n label = undefined,\n name,\n placeholder = ' ',\n size = undefined,\n startContent = undefined,\n testId: _testId = undefined,\n transform = undefined,\n type = undefined,\n}: InputProps) => {\n const { control, debugMode, getFieldState } = useFormContext();\n const { error, invalid, required, testId } = getFieldState(name, _testId);\n\n const { field } = useController({\n control,\n disabled,\n name,\n });\n\n const {\n disabled: isDisabled,\n onChange: fieldOnChange,\n onBlur: fieldOnBlur,\n value: fieldValue,\n ref,\n } = field;\n\n // Use hook that provides debounced onChange and enhanced blur handling\n const { onChange, onBlur, value } = useInputValueDebounce({\n debounceDelay,\n onBlur: fieldOnBlur,\n onChange: fieldOnChange,\n transform,\n type,\n value: fieldValue,\n });\n\n const showTestIdCopyButton = debugMode === 'debug-testids';\n const showLabel = label || showTestIdCopyButton;\n\n return (\n <HeroInput\n ref={ref}\n className={cn(className)}\n data-testid={testId}\n endContent={endContent}\n isDisabled={isDisabled}\n isInvalid={invalid}\n isRequired={required}\n labelPlacement=\"outside\"\n name={name}\n onBlur={onBlur}\n onChange={onChange}\n placeholder={placeholder}\n radius=\"sm\"\n size={size}\n startContent={startContent}\n variant=\"bordered\"\n classNames={{\n inputWrapper: 'bg-content1 group-data-[focus=true]:border-focus',\n }}\n errorMessage={\n error && <FieldValidationError error={error} testId={testId} />\n }\n label={\n showLabel && (\n <>\n {label}\n {showTestIdCopyButton && <FieldCopyTestIdButton testId={testId} />}\n </>\n )\n }\n type={type}\n // @ts-expect-error can be number for input type number\n value={value}\n />\n );\n};\n\nexport default Input;\n","import Input from './Input';\n\nexport type { InputProps } from './Input';\n\nexport { Input };\n\nexport default Input;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Input/Input.tsx","../src/Input/index.ts"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type { InputValueTransform } from '../hooks';\n\nimport { Input as HeroInput } from '@heroui/input';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\nimport { useController, useFormContext, useInputValueDebounce } from '../hooks';\nimport { FieldCopyTestIdButton } from '../partials/FieldCopyTestIdButton';\nimport { FieldValidationError } from '../partials/FieldValidationError';\n\nexport interface InputProps {\n /** CSS class name */\n className?: string;\n /** debounce delay in milliseconds for form state updates (default: 300ms) */\n debounceDelay?: number;\n /** input field is disabled */\n disabled?: boolean;\n /** added content to the end of the input Field. */\n endContent?: ReactNode;\n /** form field label (set to false to disable label) */\n label?: string | false;\n /** form field name */\n name: string;\n /** form field placeholder */\n placeholder?: string;\n /** size of the input */\n size?: 'sm' | 'md' | 'lg';\n /** content added to the start of the input field */\n startContent?: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** allows disentangled display and form values for a field */\n transform?: InputValueTransform;\n /** input type */\n type?: 'number' | 'password';\n}\n\n/**\n * Input component based on [HeroUI Input](https://www.heroui.com//docs/components/input)\n */\nconst Input = ({\n className = undefined,\n debounceDelay = 300,\n disabled = false,\n endContent = undefined,\n label = undefined,\n name,\n placeholder = ' ',\n size = undefined,\n startContent = undefined,\n testId: _testId = undefined,\n transform = undefined,\n type = undefined,\n}: InputProps) => {\n const { control, debugMode, getFieldState } = useFormContext();\n const { error, invalid, required, testId } = getFieldState(name, _testId);\n\n const { field } = useController({\n control,\n disabled,\n name,\n });\n\n const {\n disabled: isDisabled,\n onChange: fieldOnChange,\n onBlur: fieldOnBlur,\n value: fieldValue,\n ref,\n } = field;\n\n // Use hook that provides debounced onChange and enhanced blur handling\n const { onChange, onBlur, value } = useInputValueDebounce({\n debounceDelay,\n onBlur: fieldOnBlur,\n onChange: fieldOnChange,\n transform,\n type,\n value: fieldValue,\n });\n\n const showTestIdCopyButton = debugMode === 'debug-testids';\n const showLabel = label || showTestIdCopyButton;\n\n return (\n <HeroInput\n ref={ref}\n className={cn(className)}\n data-testid={testId}\n endContent={endContent}\n isDisabled={isDisabled}\n isInvalid={invalid}\n isRequired={required}\n labelPlacement=\"outside\"\n name={name}\n onBlur={onBlur}\n onChange={onChange}\n placeholder={placeholder}\n radius=\"sm\"\n size={size}\n startContent={startContent}\n variant=\"bordered\"\n classNames={{\n inputWrapper: 'bg-content1 group-data-[focus=true]:border-focus',\n }}\n errorMessage={\n error && <FieldValidationError error={error} testId={testId} />\n }\n label={\n showLabel && (\n <>\n {label}\n {showTestIdCopyButton && <FieldCopyTestIdButton testId={testId} />}\n </>\n )\n }\n type={type}\n // @ts-expect-error can be number for input type number\n value={value}\n />\n );\n};\n\nexport default Input;\n","import Input from './Input';\n\nexport type { InputProps } from './Input';\n\nexport { Input };\n\nexport default Input;\n"],"mappings":";;;;;;;;;;;;;;;AAGA,SAAS,SAAS,iBAAiB;AAEnC,SAAS,UAAU;AAsGF,SAIP,UAJO,KAIP,YAJO;AAlEjB,IAAM,QAAQ,CAAC;AAAA,EACb,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,aAAa;AAAA,EACb,QAAQ;AAAA,EACR;AAAA,EACA,cAAc;AAAA,EACd,OAAO;AAAA,EACP,eAAe;AAAA,EACf,QAAQ,UAAU;AAAA,EAClB,YAAY;AAAA,EACZ,OAAO;AACT,MAAkB;AAChB,QAAM,EAAE,SAAS,WAAW,cAAc,IAAI,eAAe;AAC7D,QAAM,EAAE,OAAO,SAAS,UAAU,OAAO,IAAI,cAAc,MAAM,OAAO;AAExE,QAAM,EAAE,MAAM,IAAI,cAAc;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,OAAO;AAAA,IACP;AAAA,EACF,IAAI;AAGJ,QAAM,EAAE,UAAU,QAAQ,MAAM,IAAI,sBAAsB;AAAA,IACxD;AAAA,IACA,QAAQ;AAAA,IACR,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,OAAO;AAAA,EACT,CAAC;AAED,QAAM,uBAAuB,cAAc;AAC3C,QAAM,YAAY,SAAS;AAE3B,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW,GAAG,SAAS;AAAA,MACvB,eAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,gBAAe;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,SAAQ;AAAA,MACR,YAAY;AAAA,QACV,cAAc;AAAA,MAChB;AAAA,MACA,cACE,SAAS,oBAAC,gCAAqB,OAAc,QAAgB;AAAA,MAE/D,OACE,aACE,iCACG;AAAA;AAAA,QACA,wBAAwB,oBAAC,iCAAsB,QAAgB;AAAA,SAClE;AAAA,MAGJ;AAAA,MAEA;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,gBAAQ;;;ACtHf,IAAOA,iBAAQ;","names":["Input_default"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/SubmitButton/SubmitButton.tsx","../src/SubmitButton/index.ts"],"sourcesContent":["import type { ButtonProps } from '@fuf-stack/pixels';\nimport type { ReactNode } from 'react';\n\nimport { cn, slugify } from '@fuf-stack/pixel-utils';\nimport { Button } from '@fuf-stack/pixels';\n\nimport { useFormContext } from '../hooks';\n\nexport interface SubmitButtonProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string;\n /** color of the button */\n color?: ButtonProps['color'];\n /** If set loading animation is shown */\n loading?: boolean;\n /** size of the button */\n size?: ButtonProps['size'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * From SubmitButton\n */\nconst SubmitButton = ({\n children = 'Submit',\n className = undefined,\n color = 'success',\n loading = false,\n size = 'md',\n testId = 'form_submit_button',\n}: SubmitButtonProps) => {\n const {\n formState: { isSubmitting },\n triggerSubmit,\n } = useFormContext();\n\n return (\n <Button\n className={cn(className)}\n color={color}\n disabled={isSubmitting}\n loading={loading || isSubmitting}\n // @ts-expect-error we use form context triggerSubmit\n // here so that submit button also works in special\n // scenarios (e.g. when used in modal)\n onClick={triggerSubmit}\n size={size}\n testId={slugify(testId, { replaceDots: true })}\n type=\"submit\"\n >\n {children}\n </Button>\n );\n};\n\nexport default SubmitButton;\n","import SubmitButton from './SubmitButton';\n\nexport type { SubmitButtonProps } from './SubmitButton';\n\nexport { SubmitButton };\n\nexport default SubmitButton;\n"],"mappings":";;;;;AAGA,SAAS,IAAI,eAAe;AAC5B,SAAS,cAAc;AAoCnB;AAdJ,IAAM,eAAe,CAAC;AAAA,EACpB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AACX,MAAyB;AACvB,QAAM;AAAA,IACJ,WAAW,EAAE,aAAa;AAAA,IAC1B;AAAA,EACF,IAAI,eAAe;AAEnB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,SAAS;AAAA,MACvB;AAAA,MACA,UAAU;AAAA,MACV,SAAS,WAAW;AAAA,MAIpB,SAAS;AAAA,MACT;AAAA,MACA,QAAQ,QAAQ,QAAQ,EAAE,aAAa,KAAK,CAAC;AAAA,MAC7C,MAAK;AAAA,MAEJ;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,uBAAQ;;;ACpDf,IAAOA,wBAAQ;","names":["SubmitButton_default"]}
|