@pallasoft/ps-input-components 1.19.2 → 1.20.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/components/ps-date-preset-field.d.ts +13 -0
- package/dist/components/ps-date-preset-field.js +10 -0
- package/dist/components/ps-select-with-create.d.ts +14 -0
- package/dist/components/ps-select-with-create.js +18 -0
- package/dist/constants/ps-select-with-create-config.d.ts +3 -0
- package/dist/constants/ps-select-with-create-config.js +6 -0
- package/dist/esm/components/ps-date-preset-field.js +6 -0
- package/dist/esm/components/ps-select-with-create.js +14 -0
- package/dist/esm/constants/ps-select-with-create-config.js +3 -0
- package/dist/esm/form/components/ps-form-cascader-field.js +6 -0
- package/dist/esm/form/components/ps-form-date-field.js +6 -0
- package/dist/esm/form/components/ps-form-money-field.js +9 -0
- package/dist/esm/form/components/ps-form-phone-field.js +6 -0
- package/dist/esm/form/components/ps-form-select-field.js +10 -0
- package/dist/esm/form/components/ps-form-text-area-field.js +6 -0
- package/dist/esm/form/components/ps-form-text-field.js +28 -0
- package/dist/esm/form/components/ps-form-year-field.js +6 -0
- package/dist/esm/form/constants/ps-form-text-kind.js +9 -0
- package/dist/esm/form/index.js +11 -0
- package/dist/esm/form/models/ps-form-field-rules.js +1 -0
- package/dist/esm/form/services/ps-form-field-service.js +19 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/interfaces/ps-date-preset-data.js +1 -0
- package/dist/form/components/ps-form-cascader-field.d.ts +13 -0
- package/dist/form/components/ps-form-cascader-field.js +10 -0
- package/dist/form/components/ps-form-date-field.d.ts +10 -0
- package/dist/form/components/ps-form-date-field.js +10 -0
- package/dist/form/components/ps-form-money-field.d.ts +11 -0
- package/dist/form/components/ps-form-money-field.js +13 -0
- package/dist/form/components/ps-form-phone-field.d.ts +10 -0
- package/dist/form/components/ps-form-phone-field.js +10 -0
- package/dist/form/components/ps-form-select-field.d.ts +14 -0
- package/dist/form/components/ps-form-select-field.js +14 -0
- package/dist/form/components/ps-form-text-area-field.d.ts +14 -0
- package/dist/form/components/ps-form-text-area-field.js +10 -0
- package/dist/form/components/ps-form-text-field.d.ts +22 -0
- package/dist/form/components/ps-form-text-field.js +32 -0
- package/dist/form/components/ps-form-year-field.d.ts +12 -0
- package/dist/form/components/ps-form-year-field.js +10 -0
- package/dist/form/constants/ps-form-text-kind.d.ts +8 -0
- package/dist/form/constants/ps-form-text-kind.js +12 -0
- package/dist/form/index.d.ts +11 -0
- package/dist/form/index.js +27 -0
- package/dist/form/models/ps-form-field-rules.d.ts +2 -0
- package/dist/form/models/ps-form-field-rules.js +2 -0
- package/dist/form/services/ps-form-field-service.d.ts +8 -0
- package/dist/form/services/ps-form-field-service.js +23 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/interfaces/ps-date-preset-data.d.ts +4 -0
- package/dist/interfaces/ps-date-preset-data.js +2 -0
- package/package.json +22 -2
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { PsDatePresetData } from '../interfaces/ps-date-preset-data';
|
|
2
|
+
export interface PsDatePresetFieldProps {
|
|
3
|
+
errorText?: string;
|
|
4
|
+
hideLabel?: boolean;
|
|
5
|
+
label: string;
|
|
6
|
+
onChange: (date: string) => void;
|
|
7
|
+
presets: PsDatePresetData[];
|
|
8
|
+
presetsDisabled?: boolean;
|
|
9
|
+
presetsLabel: string;
|
|
10
|
+
required?: boolean;
|
|
11
|
+
value: string;
|
|
12
|
+
}
|
|
13
|
+
export declare const PsDatePresetField: ({ errorText, hideLabel, label, onChange, presets, presetsDisabled, presetsLabel, required, value, }: PsDatePresetFieldProps) => import("react").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PsDatePresetField = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const ps_date_input_1 = require("./ps-date-input");
|
|
6
|
+
const ps_form_control_1 = require("./ps-form-control");
|
|
7
|
+
const PsDatePresetField = ({ errorText, hideLabel, label, onChange, presets, presetsDisabled = false, presetsLabel, required, value, }) => ((0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col gap-2', children: [(0, jsx_runtime_1.jsx)(ps_form_control_1.PsFormControl, { errorText: errorText, children: (0, jsx_runtime_1.jsx)(ps_date_input_1.PsDateInput, { hideLabel: hideLabel, label: label, onChange: onChange, required: required, value: value }) }), (0, jsx_runtime_1.jsx)("div", { "aria-label": presetsLabel, className: 'flex flex-wrap gap-1.5', role: 'group', children: presets.map((preset) => ((0, jsx_runtime_1.jsx)("button", { "aria-pressed": preset.date === value, className: preset.date === value
|
|
8
|
+
? 'ps-focus-ring rounded-full bg-primary px-2.5 py-1 text-xs font-semibold text-white'
|
|
9
|
+
: 'ps-focus-ring rounded-full border border-line px-2.5 py-1 text-xs font-medium text-ink/70 hover:border-primary/40 hover:text-ink disabled:opacity-40', disabled: presetsDisabled, onClick: () => onChange(preset.date), type: 'button', children: preset.label }, preset.label))) })] }));
|
|
10
|
+
exports.PsDatePresetField = PsDatePresetField;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type PsSelectOption } from './ps-select-input';
|
|
2
|
+
export interface PsSelectWithCreateProps {
|
|
3
|
+
createHref: string;
|
|
4
|
+
createOptionLabel: string;
|
|
5
|
+
errorText?: string;
|
|
6
|
+
hideLabel?: boolean;
|
|
7
|
+
label: string;
|
|
8
|
+
onChange: (value: string) => void;
|
|
9
|
+
options: PsSelectOption[];
|
|
10
|
+
placeholder: string;
|
|
11
|
+
required?: boolean;
|
|
12
|
+
value: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const PsSelectWithCreate: ({ createHref, createOptionLabel, errorText, hideLabel, label, onChange, options, placeholder, required, value, }: PsSelectWithCreateProps) => import("react").JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PsSelectWithCreate = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const ps_select_with_create_config_1 = require("../constants/ps-select-with-create-config");
|
|
6
|
+
const ps_form_control_1 = require("./ps-form-control");
|
|
7
|
+
const ps_select_input_1 = require("./ps-select-input");
|
|
8
|
+
const PsSelectWithCreate = ({ createHref, createOptionLabel, errorText, hideLabel, label, onChange, options, placeholder, required, value, }) => ((0, jsx_runtime_1.jsx)(ps_form_control_1.PsFormControl, { errorText: errorText, children: (0, jsx_runtime_1.jsx)(ps_select_input_1.PsSelectInput, { hideLabel: hideLabel, label: label, onChange: (next) => {
|
|
9
|
+
if (next !== ps_select_with_create_config_1.PsSelectWithCreateConfig.createValue) {
|
|
10
|
+
onChange(next);
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
window.open(createHref, '_blank', 'noopener,noreferrer');
|
|
14
|
+
}, options: [
|
|
15
|
+
...options,
|
|
16
|
+
{ label: createOptionLabel, value: ps_select_with_create_config_1.PsSelectWithCreateConfig.createValue },
|
|
17
|
+
], placeholder: placeholder, required: required, value: value }) }));
|
|
18
|
+
exports.PsSelectWithCreate = PsSelectWithCreate;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { PsDateInput } from './ps-date-input';
|
|
3
|
+
import { PsFormControl } from './ps-form-control';
|
|
4
|
+
export const PsDatePresetField = ({ errorText, hideLabel, label, onChange, presets, presetsDisabled = false, presetsLabel, required, value, }) => (_jsxs("div", { className: 'flex flex-col gap-2', children: [_jsx(PsFormControl, { errorText: errorText, children: _jsx(PsDateInput, { hideLabel: hideLabel, label: label, onChange: onChange, required: required, value: value }) }), _jsx("div", { "aria-label": presetsLabel, className: 'flex flex-wrap gap-1.5', role: 'group', children: presets.map((preset) => (_jsx("button", { "aria-pressed": preset.date === value, className: preset.date === value
|
|
5
|
+
? 'ps-focus-ring rounded-full bg-primary px-2.5 py-1 text-xs font-semibold text-white'
|
|
6
|
+
: 'ps-focus-ring rounded-full border border-line px-2.5 py-1 text-xs font-medium text-ink/70 hover:border-primary/40 hover:text-ink disabled:opacity-40', disabled: presetsDisabled, onClick: () => onChange(preset.date), type: 'button', children: preset.label }, preset.label))) })] }));
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { PsSelectWithCreateConfig } from '../constants/ps-select-with-create-config';
|
|
3
|
+
import { PsFormControl } from './ps-form-control';
|
|
4
|
+
import { PsSelectInput } from './ps-select-input';
|
|
5
|
+
export const PsSelectWithCreate = ({ createHref, createOptionLabel, errorText, hideLabel, label, onChange, options, placeholder, required, value, }) => (_jsx(PsFormControl, { errorText: errorText, children: _jsx(PsSelectInput, { hideLabel: hideLabel, label: label, onChange: (next) => {
|
|
6
|
+
if (next !== PsSelectWithCreateConfig.createValue) {
|
|
7
|
+
onChange(next);
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
window.open(createHref, '_blank', 'noopener,noreferrer');
|
|
11
|
+
}, options: [
|
|
12
|
+
...options,
|
|
13
|
+
{ label: createOptionLabel, value: PsSelectWithCreateConfig.createValue },
|
|
14
|
+
], placeholder: placeholder, required: required, value: value }) }));
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Controller } from 'react-hook-form';
|
|
3
|
+
import { PsCascaderInput } from '../../components/ps-cascader-input';
|
|
4
|
+
import { PsFormControl } from '../../components/ps-form-control';
|
|
5
|
+
import { PsFormFieldService } from '../services/ps-form-field-service';
|
|
6
|
+
export const PsFormCascaderField = ({ control, disabled, groups, label, name, placeholder, rules, }) => (_jsx(Controller, { control: control, name: name, render: ({ field, fieldState }) => (_jsx(PsFormControl, { errorText: PsFormFieldService.error(fieldState.error), children: _jsx(PsCascaderInput, { disabled: disabled, groups: groups, label: label, onChange: field.onChange, placeholder: placeholder, value: PsFormFieldService.text(field.value) }) })), rules: rules }));
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Controller } from 'react-hook-form';
|
|
3
|
+
import { PsDateInput } from '../../components/ps-date-input';
|
|
4
|
+
import { PsFormControl } from '../../components/ps-form-control';
|
|
5
|
+
import { PsFormFieldService } from '../services/ps-form-field-service';
|
|
6
|
+
export const PsFormDateField = ({ control, helperText, label, name, rules, }) => (_jsx(Controller, { control: control, name: name, render: ({ field, fieldState }) => (_jsx(PsFormControl, { errorText: PsFormFieldService.error(fieldState.error), children: _jsx(PsDateInput, { helperText: helperText, label: label, name: field.name, onChange: field.onChange, required: PsFormFieldService.isRequired(rules), value: PsFormFieldService.text(field.value) }) })), rules: rules }));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Controller } from 'react-hook-form';
|
|
3
|
+
import { PsAmountInput } from '../../components/ps-amount-input';
|
|
4
|
+
import { PsFormControl } from '../../components/ps-form-control';
|
|
5
|
+
import { PsFormFieldService } from '../services/ps-form-field-service';
|
|
6
|
+
export const PsFormMoneyField = ({ control, label, name, normalize, placeholder, rules, }) => (_jsx(Controller, { control: control, name: name, render: ({ field, fieldState }) => (_jsx(PsFormControl, { errorText: PsFormFieldService.error(fieldState.error), children: _jsx(PsAmountInput, { className: 'text-right tabular-nums', label: label, name: field.name, onBlur: () => {
|
|
7
|
+
if (normalize)
|
|
8
|
+
field.onChange(normalize(PsFormFieldService.text(field.value)));
|
|
9
|
+
}, onChange: field.onChange, placeholder: placeholder, required: PsFormFieldService.isRequired(rules), value: field.value }) })), rules: rules }));
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Controller } from 'react-hook-form';
|
|
3
|
+
import { PsFormControl } from '../../components/ps-form-control';
|
|
4
|
+
import { PsPhoneInput } from '../../components/ps-phone-input';
|
|
5
|
+
import { PsFormFieldService } from '../services/ps-form-field-service';
|
|
6
|
+
export const PsFormPhoneField = ({ control, country, label, name, rules, }) => (_jsx(Controller, { control: control, name: name, render: ({ field, fieldState }) => (_jsx(PsFormControl, { errorText: PsFormFieldService.error(fieldState.error), children: _jsx(PsPhoneInput, { defaultCountry: country !== undefined && country !== '' ? country : undefined, label: label, name: field.name, onBlur: field.onBlur, onChange: field.onChange, required: PsFormFieldService.isRequired(rules), value: PsFormFieldService.text(field.value) }) })), rules: rules }));
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Controller } from 'react-hook-form';
|
|
3
|
+
import { PsFormControl } from '../../components/ps-form-control';
|
|
4
|
+
import { PsSelectInput } from '../../components/ps-select-input';
|
|
5
|
+
import { PsFormFieldService } from '../services/ps-form-field-service';
|
|
6
|
+
export const PsFormSelectField = ({ control, helperText, label, name, onValueChange, options, placeholder, rules, }) => (_jsx(Controller, { control: control, name: name, render: ({ field, fieldState }) => (_jsx(PsFormControl, { errorText: PsFormFieldService.error(fieldState.error), children: _jsx(PsSelectInput, { helperText: helperText, label: label, name: field.name, onChange: (value) => {
|
|
7
|
+
field.onChange(value);
|
|
8
|
+
if (onValueChange)
|
|
9
|
+
onValueChange(value);
|
|
10
|
+
}, options: options, placeholder: placeholder, required: PsFormFieldService.isRequired(rules), value: PsFormFieldService.text(field.value) }) })), rules: rules }));
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Controller } from 'react-hook-form';
|
|
3
|
+
import { PsFormControl } from '../../components/ps-form-control';
|
|
4
|
+
import { PsTextAreaInput } from '../../components/ps-text-area-input';
|
|
5
|
+
import { PsFormFieldService } from '../services/ps-form-field-service';
|
|
6
|
+
export const PsFormTextAreaField = ({ control, helperText, hideLabel, label, maxLength, name, placeholder, rows, rules, }) => (_jsx(Controller, { control: control, name: name, render: ({ field, fieldState }) => (_jsx(PsFormControl, { errorText: PsFormFieldService.error(fieldState.error), children: _jsx(PsTextAreaInput, { helperText: helperText, hideLabel: hideLabel, label: label, maxLength: maxLength, name: field.name, onBlur: field.onBlur, onChange: field.onChange, placeholder: placeholder, required: PsFormFieldService.isRequired(rules), rows: rows, value: PsFormFieldService.text(field.value) }) })), rules: rules }));
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Controller } from 'react-hook-form';
|
|
3
|
+
import { PsAmountInput } from '../../components/ps-amount-input';
|
|
4
|
+
import { PsEmailInput } from '../../components/ps-email-input';
|
|
5
|
+
import { PsFormControl } from '../../components/ps-form-control';
|
|
6
|
+
import { PsPercentInput } from '../../components/ps-percent-input';
|
|
7
|
+
import { PsPostalCodeInput } from '../../components/ps-postal-code-input';
|
|
8
|
+
import { PsTextInput } from '../../components/ps-text-input';
|
|
9
|
+
import { PsUrlInput } from '../../components/ps-url-input';
|
|
10
|
+
import { PsFormTextKind } from '../constants/ps-form-text-kind';
|
|
11
|
+
import { PsFormFieldService } from '../services/ps-form-field-service';
|
|
12
|
+
export const PsFormTextField = ({ asNumber = false, autoComplete, className, control, country = '', disabled, helperText, inputMode, kind = PsFormTextKind.Text, label, maxLength, name, placeholder, rules, type, }) => (_jsx(Controller, { control: control, name: name, render: ({ field, fieldState }) => {
|
|
13
|
+
const shared = {
|
|
14
|
+
autoComplete,
|
|
15
|
+
className,
|
|
16
|
+
disabled,
|
|
17
|
+
helperText,
|
|
18
|
+
label,
|
|
19
|
+
maxLength,
|
|
20
|
+
name: field.name,
|
|
21
|
+
onBlur: field.onBlur,
|
|
22
|
+
onChange: (event) => field.onChange(asNumber ? PsFormFieldService.number(event.target.value) : event),
|
|
23
|
+
placeholder,
|
|
24
|
+
required: PsFormFieldService.isRequired(rules),
|
|
25
|
+
value: PsFormFieldService.text(field.value),
|
|
26
|
+
};
|
|
27
|
+
return (_jsxs(PsFormControl, { errorText: PsFormFieldService.error(fieldState.error), children: [kind === PsFormTextKind.Email ? _jsx(PsEmailInput, { ...shared }) : null, kind === PsFormTextKind.Url ? _jsx(PsUrlInput, { ...shared }) : null, kind === PsFormTextKind.Amount ? _jsx(PsAmountInput, { ...shared }) : null, kind === PsFormTextKind.Percent ? _jsx(PsPercentInput, { ...shared }) : null, kind === PsFormTextKind.PostalCode ? (_jsx(PsPostalCodeInput, { ...shared, country: country })) : null, kind === PsFormTextKind.Text ? (_jsx(PsTextInput, { ...shared, inputMode: inputMode, type: type })) : null] }));
|
|
28
|
+
}, rules: rules }));
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Controller } from 'react-hook-form';
|
|
3
|
+
import { PsFormControl } from '../../components/ps-form-control';
|
|
4
|
+
import { PsYearInput } from '../../components/ps-year-input';
|
|
5
|
+
import { PsFormFieldService } from '../services/ps-form-field-service';
|
|
6
|
+
export const PsFormYearField = ({ control, helperText, label, maxYear, name, placeholder, rules, }) => (_jsx(Controller, { control: control, name: name, render: ({ field, fieldState }) => (_jsx(PsFormControl, { errorText: PsFormFieldService.error(fieldState.error), children: _jsx(PsYearInput, { helperText: helperText, label: label, maxYear: maxYear, name: field.name, onChange: field.onChange, placeholder: placeholder, required: PsFormFieldService.isRequired(rules), value: PsFormFieldService.text(field.value) }) })), rules: rules }));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export var PsFormTextKind;
|
|
2
|
+
(function (PsFormTextKind) {
|
|
3
|
+
PsFormTextKind["Amount"] = "amount";
|
|
4
|
+
PsFormTextKind["Email"] = "email";
|
|
5
|
+
PsFormTextKind["Percent"] = "percent";
|
|
6
|
+
PsFormTextKind["PostalCode"] = "postal-code";
|
|
7
|
+
PsFormTextKind["Text"] = "text";
|
|
8
|
+
PsFormTextKind["Url"] = "url";
|
|
9
|
+
})(PsFormTextKind || (PsFormTextKind = {}));
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './components/ps-form-cascader-field';
|
|
2
|
+
export * from './components/ps-form-date-field';
|
|
3
|
+
export * from './components/ps-form-money-field';
|
|
4
|
+
export * from './components/ps-form-phone-field';
|
|
5
|
+
export * from './components/ps-form-select-field';
|
|
6
|
+
export * from './components/ps-form-text-area-field';
|
|
7
|
+
export * from './components/ps-form-text-field';
|
|
8
|
+
export * from './components/ps-form-year-field';
|
|
9
|
+
export * from './constants/ps-form-text-kind';
|
|
10
|
+
export * from './models/ps-form-field-rules';
|
|
11
|
+
export * from './services/ps-form-field-service';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export class PsFormFieldService {
|
|
2
|
+
static isRequired(rules) {
|
|
3
|
+
return rules !== undefined && rules.required !== undefined && rules.required !== false;
|
|
4
|
+
}
|
|
5
|
+
static text(value) {
|
|
6
|
+
if (typeof value === 'string')
|
|
7
|
+
return value;
|
|
8
|
+
if (typeof value === 'number')
|
|
9
|
+
return String(value);
|
|
10
|
+
return '';
|
|
11
|
+
}
|
|
12
|
+
static error(error) {
|
|
13
|
+
return error !== undefined && typeof error.message === 'string' ? error.message : undefined;
|
|
14
|
+
}
|
|
15
|
+
static number(value) {
|
|
16
|
+
const parsed = Number(value);
|
|
17
|
+
return value.trim() === '' || !Number.isFinite(parsed) ? value : parsed;
|
|
18
|
+
}
|
|
19
|
+
}
|
package/dist/esm/index.js
CHANGED
|
@@ -40,3 +40,7 @@ export * from './constants/ps-cascader-config';
|
|
|
40
40
|
export * from './components/ps-currency-input';
|
|
41
41
|
export * from './constants/ps-currency-input-config';
|
|
42
42
|
export * from './services/ps-currency-input-service';
|
|
43
|
+
export * from './components/ps-date-preset-field';
|
|
44
|
+
export * from './components/ps-select-with-create';
|
|
45
|
+
export * from './constants/ps-select-with-create-config';
|
|
46
|
+
export * from './interfaces/ps-date-preset-data';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type Control, type FieldValues, type Path } from 'react-hook-form';
|
|
2
|
+
import { type PsCascaderGroup } from '../../components/ps-cascader-input';
|
|
3
|
+
import type { PsFormFieldRules } from '../models/ps-form-field-rules';
|
|
4
|
+
export interface PsFormCascaderFieldProps<T extends FieldValues> {
|
|
5
|
+
control: Control<T>;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
groups: PsCascaderGroup[];
|
|
8
|
+
label: string;
|
|
9
|
+
name: Path<T>;
|
|
10
|
+
placeholder?: string;
|
|
11
|
+
rules?: PsFormFieldRules<T>;
|
|
12
|
+
}
|
|
13
|
+
export declare const PsFormCascaderField: <T extends FieldValues>({ control, disabled, groups, label, name, placeholder, rules, }: PsFormCascaderFieldProps<T>) => import("react").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PsFormCascaderField = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_hook_form_1 = require("react-hook-form");
|
|
6
|
+
const ps_cascader_input_1 = require("../../components/ps-cascader-input");
|
|
7
|
+
const ps_form_control_1 = require("../../components/ps-form-control");
|
|
8
|
+
const ps_form_field_service_1 = require("../services/ps-form-field-service");
|
|
9
|
+
const PsFormCascaderField = ({ control, disabled, groups, label, name, placeholder, rules, }) => ((0, jsx_runtime_1.jsx)(react_hook_form_1.Controller, { control: control, name: name, render: ({ field, fieldState }) => ((0, jsx_runtime_1.jsx)(ps_form_control_1.PsFormControl, { errorText: ps_form_field_service_1.PsFormFieldService.error(fieldState.error), children: (0, jsx_runtime_1.jsx)(ps_cascader_input_1.PsCascaderInput, { disabled: disabled, groups: groups, label: label, onChange: field.onChange, placeholder: placeholder, value: ps_form_field_service_1.PsFormFieldService.text(field.value) }) })), rules: rules }));
|
|
10
|
+
exports.PsFormCascaderField = PsFormCascaderField;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type Control, type FieldValues, type Path } from 'react-hook-form';
|
|
2
|
+
import type { PsFormFieldRules } from '../models/ps-form-field-rules';
|
|
3
|
+
export interface PsFormDateFieldProps<T extends FieldValues> {
|
|
4
|
+
control: Control<T>;
|
|
5
|
+
helperText?: string;
|
|
6
|
+
label: string;
|
|
7
|
+
name: Path<T>;
|
|
8
|
+
rules?: PsFormFieldRules<T>;
|
|
9
|
+
}
|
|
10
|
+
export declare const PsFormDateField: <T extends FieldValues>({ control, helperText, label, name, rules, }: PsFormDateFieldProps<T>) => import("react").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PsFormDateField = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_hook_form_1 = require("react-hook-form");
|
|
6
|
+
const ps_date_input_1 = require("../../components/ps-date-input");
|
|
7
|
+
const ps_form_control_1 = require("../../components/ps-form-control");
|
|
8
|
+
const ps_form_field_service_1 = require("../services/ps-form-field-service");
|
|
9
|
+
const PsFormDateField = ({ control, helperText, label, name, rules, }) => ((0, jsx_runtime_1.jsx)(react_hook_form_1.Controller, { control: control, name: name, render: ({ field, fieldState }) => ((0, jsx_runtime_1.jsx)(ps_form_control_1.PsFormControl, { errorText: ps_form_field_service_1.PsFormFieldService.error(fieldState.error), children: (0, jsx_runtime_1.jsx)(ps_date_input_1.PsDateInput, { helperText: helperText, label: label, name: field.name, onChange: field.onChange, required: ps_form_field_service_1.PsFormFieldService.isRequired(rules), value: ps_form_field_service_1.PsFormFieldService.text(field.value) }) })), rules: rules }));
|
|
10
|
+
exports.PsFormDateField = PsFormDateField;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Control, type FieldValues, type Path } from 'react-hook-form';
|
|
2
|
+
import type { PsFormFieldRules } from '../models/ps-form-field-rules';
|
|
3
|
+
export interface PsFormMoneyFieldProps<T extends FieldValues> {
|
|
4
|
+
control: Control<T>;
|
|
5
|
+
label: string;
|
|
6
|
+
name: Path<T>;
|
|
7
|
+
normalize?: (value: string) => string;
|
|
8
|
+
placeholder?: string;
|
|
9
|
+
rules?: PsFormFieldRules<T>;
|
|
10
|
+
}
|
|
11
|
+
export declare const PsFormMoneyField: <T extends FieldValues>({ control, label, name, normalize, placeholder, rules, }: PsFormMoneyFieldProps<T>) => import("react").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PsFormMoneyField = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_hook_form_1 = require("react-hook-form");
|
|
6
|
+
const ps_amount_input_1 = require("../../components/ps-amount-input");
|
|
7
|
+
const ps_form_control_1 = require("../../components/ps-form-control");
|
|
8
|
+
const ps_form_field_service_1 = require("../services/ps-form-field-service");
|
|
9
|
+
const PsFormMoneyField = ({ control, label, name, normalize, placeholder, rules, }) => ((0, jsx_runtime_1.jsx)(react_hook_form_1.Controller, { control: control, name: name, render: ({ field, fieldState }) => ((0, jsx_runtime_1.jsx)(ps_form_control_1.PsFormControl, { errorText: ps_form_field_service_1.PsFormFieldService.error(fieldState.error), children: (0, jsx_runtime_1.jsx)(ps_amount_input_1.PsAmountInput, { className: 'text-right tabular-nums', label: label, name: field.name, onBlur: () => {
|
|
10
|
+
if (normalize)
|
|
11
|
+
field.onChange(normalize(ps_form_field_service_1.PsFormFieldService.text(field.value)));
|
|
12
|
+
}, onChange: field.onChange, placeholder: placeholder, required: ps_form_field_service_1.PsFormFieldService.isRequired(rules), value: field.value }) })), rules: rules }));
|
|
13
|
+
exports.PsFormMoneyField = PsFormMoneyField;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type Control, type FieldValues, type Path } from 'react-hook-form';
|
|
2
|
+
import type { PsFormFieldRules } from '../models/ps-form-field-rules';
|
|
3
|
+
export interface PsFormPhoneFieldProps<T extends FieldValues> {
|
|
4
|
+
control: Control<T>;
|
|
5
|
+
country?: string;
|
|
6
|
+
label: string;
|
|
7
|
+
name: Path<T>;
|
|
8
|
+
rules?: PsFormFieldRules<T>;
|
|
9
|
+
}
|
|
10
|
+
export declare const PsFormPhoneField: <T extends FieldValues>({ control, country, label, name, rules, }: PsFormPhoneFieldProps<T>) => import("react").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PsFormPhoneField = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_hook_form_1 = require("react-hook-form");
|
|
6
|
+
const ps_form_control_1 = require("../../components/ps-form-control");
|
|
7
|
+
const ps_phone_input_1 = require("../../components/ps-phone-input");
|
|
8
|
+
const ps_form_field_service_1 = require("../services/ps-form-field-service");
|
|
9
|
+
const PsFormPhoneField = ({ control, country, label, name, rules, }) => ((0, jsx_runtime_1.jsx)(react_hook_form_1.Controller, { control: control, name: name, render: ({ field, fieldState }) => ((0, jsx_runtime_1.jsx)(ps_form_control_1.PsFormControl, { errorText: ps_form_field_service_1.PsFormFieldService.error(fieldState.error), children: (0, jsx_runtime_1.jsx)(ps_phone_input_1.PsPhoneInput, { defaultCountry: country !== undefined && country !== '' ? country : undefined, label: label, name: field.name, onBlur: field.onBlur, onChange: field.onChange, required: ps_form_field_service_1.PsFormFieldService.isRequired(rules), value: ps_form_field_service_1.PsFormFieldService.text(field.value) }) })), rules: rules }));
|
|
10
|
+
exports.PsFormPhoneField = PsFormPhoneField;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Control, type FieldValues, type Path } from 'react-hook-form';
|
|
2
|
+
import { type PsSelectOption } from '../../components/ps-select-input';
|
|
3
|
+
import type { PsFormFieldRules } from '../models/ps-form-field-rules';
|
|
4
|
+
export interface PsFormSelectFieldProps<T extends FieldValues> {
|
|
5
|
+
control: Control<T>;
|
|
6
|
+
helperText?: string;
|
|
7
|
+
label: string;
|
|
8
|
+
name: Path<T>;
|
|
9
|
+
onValueChange?: (value: string) => void;
|
|
10
|
+
options: PsSelectOption[];
|
|
11
|
+
placeholder?: string;
|
|
12
|
+
rules?: PsFormFieldRules<T>;
|
|
13
|
+
}
|
|
14
|
+
export declare const PsFormSelectField: <T extends FieldValues>({ control, helperText, label, name, onValueChange, options, placeholder, rules, }: PsFormSelectFieldProps<T>) => import("react").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PsFormSelectField = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_hook_form_1 = require("react-hook-form");
|
|
6
|
+
const ps_form_control_1 = require("../../components/ps-form-control");
|
|
7
|
+
const ps_select_input_1 = require("../../components/ps-select-input");
|
|
8
|
+
const ps_form_field_service_1 = require("../services/ps-form-field-service");
|
|
9
|
+
const PsFormSelectField = ({ control, helperText, label, name, onValueChange, options, placeholder, rules, }) => ((0, jsx_runtime_1.jsx)(react_hook_form_1.Controller, { control: control, name: name, render: ({ field, fieldState }) => ((0, jsx_runtime_1.jsx)(ps_form_control_1.PsFormControl, { errorText: ps_form_field_service_1.PsFormFieldService.error(fieldState.error), children: (0, jsx_runtime_1.jsx)(ps_select_input_1.PsSelectInput, { helperText: helperText, label: label, name: field.name, onChange: (value) => {
|
|
10
|
+
field.onChange(value);
|
|
11
|
+
if (onValueChange)
|
|
12
|
+
onValueChange(value);
|
|
13
|
+
}, options: options, placeholder: placeholder, required: ps_form_field_service_1.PsFormFieldService.isRequired(rules), value: ps_form_field_service_1.PsFormFieldService.text(field.value) }) })), rules: rules }));
|
|
14
|
+
exports.PsFormSelectField = PsFormSelectField;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Control, type FieldValues, type Path } from 'react-hook-form';
|
|
2
|
+
import type { PsFormFieldRules } from '../models/ps-form-field-rules';
|
|
3
|
+
export interface PsFormTextAreaFieldProps<T extends FieldValues> {
|
|
4
|
+
control: Control<T>;
|
|
5
|
+
helperText?: string;
|
|
6
|
+
hideLabel?: boolean;
|
|
7
|
+
label: string;
|
|
8
|
+
maxLength?: number;
|
|
9
|
+
name: Path<T>;
|
|
10
|
+
placeholder?: string;
|
|
11
|
+
rows?: number;
|
|
12
|
+
rules?: PsFormFieldRules<T>;
|
|
13
|
+
}
|
|
14
|
+
export declare const PsFormTextAreaField: <T extends FieldValues>({ control, helperText, hideLabel, label, maxLength, name, placeholder, rows, rules, }: PsFormTextAreaFieldProps<T>) => import("react").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PsFormTextAreaField = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_hook_form_1 = require("react-hook-form");
|
|
6
|
+
const ps_form_control_1 = require("../../components/ps-form-control");
|
|
7
|
+
const ps_text_area_input_1 = require("../../components/ps-text-area-input");
|
|
8
|
+
const ps_form_field_service_1 = require("../services/ps-form-field-service");
|
|
9
|
+
const PsFormTextAreaField = ({ control, helperText, hideLabel, label, maxLength, name, placeholder, rows, rules, }) => ((0, jsx_runtime_1.jsx)(react_hook_form_1.Controller, { control: control, name: name, render: ({ field, fieldState }) => ((0, jsx_runtime_1.jsx)(ps_form_control_1.PsFormControl, { errorText: ps_form_field_service_1.PsFormFieldService.error(fieldState.error), children: (0, jsx_runtime_1.jsx)(ps_text_area_input_1.PsTextAreaInput, { helperText: helperText, hideLabel: hideLabel, label: label, maxLength: maxLength, name: field.name, onBlur: field.onBlur, onChange: field.onChange, placeholder: placeholder, required: ps_form_field_service_1.PsFormFieldService.isRequired(rules), rows: rows, value: ps_form_field_service_1.PsFormFieldService.text(field.value) }) })), rules: rules }));
|
|
10
|
+
exports.PsFormTextAreaField = PsFormTextAreaField;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { HTMLAttributes } from 'react';
|
|
2
|
+
import { type Control, type FieldValues, type Path } from 'react-hook-form';
|
|
3
|
+
import { PsFormTextKind } from '../constants/ps-form-text-kind';
|
|
4
|
+
import type { PsFormFieldRules } from '../models/ps-form-field-rules';
|
|
5
|
+
export interface PsFormTextFieldProps<T extends FieldValues> {
|
|
6
|
+
asNumber?: boolean;
|
|
7
|
+
autoComplete?: string;
|
|
8
|
+
className?: string;
|
|
9
|
+
control: Control<T>;
|
|
10
|
+
country?: string;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
helperText?: string;
|
|
13
|
+
inputMode?: HTMLAttributes<HTMLInputElement>['inputMode'];
|
|
14
|
+
kind?: PsFormTextKind;
|
|
15
|
+
label: string;
|
|
16
|
+
maxLength?: number;
|
|
17
|
+
name: Path<T>;
|
|
18
|
+
placeholder?: string;
|
|
19
|
+
rules?: PsFormFieldRules<T>;
|
|
20
|
+
type?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare const PsFormTextField: <T extends FieldValues>({ asNumber, autoComplete, className, control, country, disabled, helperText, inputMode, kind, label, maxLength, name, placeholder, rules, type, }: PsFormTextFieldProps<T>) => import("react").JSX.Element;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PsFormTextField = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_hook_form_1 = require("react-hook-form");
|
|
6
|
+
const ps_amount_input_1 = require("../../components/ps-amount-input");
|
|
7
|
+
const ps_email_input_1 = require("../../components/ps-email-input");
|
|
8
|
+
const ps_form_control_1 = require("../../components/ps-form-control");
|
|
9
|
+
const ps_percent_input_1 = require("../../components/ps-percent-input");
|
|
10
|
+
const ps_postal_code_input_1 = require("../../components/ps-postal-code-input");
|
|
11
|
+
const ps_text_input_1 = require("../../components/ps-text-input");
|
|
12
|
+
const ps_url_input_1 = require("../../components/ps-url-input");
|
|
13
|
+
const ps_form_text_kind_1 = require("../constants/ps-form-text-kind");
|
|
14
|
+
const ps_form_field_service_1 = require("../services/ps-form-field-service");
|
|
15
|
+
const PsFormTextField = ({ asNumber = false, autoComplete, className, control, country = '', disabled, helperText, inputMode, kind = ps_form_text_kind_1.PsFormTextKind.Text, label, maxLength, name, placeholder, rules, type, }) => ((0, jsx_runtime_1.jsx)(react_hook_form_1.Controller, { control: control, name: name, render: ({ field, fieldState }) => {
|
|
16
|
+
const shared = {
|
|
17
|
+
autoComplete,
|
|
18
|
+
className,
|
|
19
|
+
disabled,
|
|
20
|
+
helperText,
|
|
21
|
+
label,
|
|
22
|
+
maxLength,
|
|
23
|
+
name: field.name,
|
|
24
|
+
onBlur: field.onBlur,
|
|
25
|
+
onChange: (event) => field.onChange(asNumber ? ps_form_field_service_1.PsFormFieldService.number(event.target.value) : event),
|
|
26
|
+
placeholder,
|
|
27
|
+
required: ps_form_field_service_1.PsFormFieldService.isRequired(rules),
|
|
28
|
+
value: ps_form_field_service_1.PsFormFieldService.text(field.value),
|
|
29
|
+
};
|
|
30
|
+
return ((0, jsx_runtime_1.jsxs)(ps_form_control_1.PsFormControl, { errorText: ps_form_field_service_1.PsFormFieldService.error(fieldState.error), children: [kind === ps_form_text_kind_1.PsFormTextKind.Email ? (0, jsx_runtime_1.jsx)(ps_email_input_1.PsEmailInput, { ...shared }) : null, kind === ps_form_text_kind_1.PsFormTextKind.Url ? (0, jsx_runtime_1.jsx)(ps_url_input_1.PsUrlInput, { ...shared }) : null, kind === ps_form_text_kind_1.PsFormTextKind.Amount ? (0, jsx_runtime_1.jsx)(ps_amount_input_1.PsAmountInput, { ...shared }) : null, kind === ps_form_text_kind_1.PsFormTextKind.Percent ? (0, jsx_runtime_1.jsx)(ps_percent_input_1.PsPercentInput, { ...shared }) : null, kind === ps_form_text_kind_1.PsFormTextKind.PostalCode ? ((0, jsx_runtime_1.jsx)(ps_postal_code_input_1.PsPostalCodeInput, { ...shared, country: country })) : null, kind === ps_form_text_kind_1.PsFormTextKind.Text ? ((0, jsx_runtime_1.jsx)(ps_text_input_1.PsTextInput, { ...shared, inputMode: inputMode, type: type })) : null] }));
|
|
31
|
+
}, rules: rules }));
|
|
32
|
+
exports.PsFormTextField = PsFormTextField;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type Control, type FieldValues, type Path } from 'react-hook-form';
|
|
2
|
+
import type { PsFormFieldRules } from '../models/ps-form-field-rules';
|
|
3
|
+
export interface PsFormYearFieldProps<T extends FieldValues> {
|
|
4
|
+
control: Control<T>;
|
|
5
|
+
helperText?: string;
|
|
6
|
+
label: string;
|
|
7
|
+
maxYear?: number;
|
|
8
|
+
name: Path<T>;
|
|
9
|
+
placeholder?: string;
|
|
10
|
+
rules?: PsFormFieldRules<T>;
|
|
11
|
+
}
|
|
12
|
+
export declare const PsFormYearField: <T extends FieldValues>({ control, helperText, label, maxYear, name, placeholder, rules, }: PsFormYearFieldProps<T>) => import("react").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PsFormYearField = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_hook_form_1 = require("react-hook-form");
|
|
6
|
+
const ps_form_control_1 = require("../../components/ps-form-control");
|
|
7
|
+
const ps_year_input_1 = require("../../components/ps-year-input");
|
|
8
|
+
const ps_form_field_service_1 = require("../services/ps-form-field-service");
|
|
9
|
+
const PsFormYearField = ({ control, helperText, label, maxYear, name, placeholder, rules, }) => ((0, jsx_runtime_1.jsx)(react_hook_form_1.Controller, { control: control, name: name, render: ({ field, fieldState }) => ((0, jsx_runtime_1.jsx)(ps_form_control_1.PsFormControl, { errorText: ps_form_field_service_1.PsFormFieldService.error(fieldState.error), children: (0, jsx_runtime_1.jsx)(ps_year_input_1.PsYearInput, { helperText: helperText, label: label, maxYear: maxYear, name: field.name, onChange: field.onChange, placeholder: placeholder, required: ps_form_field_service_1.PsFormFieldService.isRequired(rules), value: ps_form_field_service_1.PsFormFieldService.text(field.value) }) })), rules: rules }));
|
|
10
|
+
exports.PsFormYearField = PsFormYearField;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PsFormTextKind = void 0;
|
|
4
|
+
var PsFormTextKind;
|
|
5
|
+
(function (PsFormTextKind) {
|
|
6
|
+
PsFormTextKind["Amount"] = "amount";
|
|
7
|
+
PsFormTextKind["Email"] = "email";
|
|
8
|
+
PsFormTextKind["Percent"] = "percent";
|
|
9
|
+
PsFormTextKind["PostalCode"] = "postal-code";
|
|
10
|
+
PsFormTextKind["Text"] = "text";
|
|
11
|
+
PsFormTextKind["Url"] = "url";
|
|
12
|
+
})(PsFormTextKind || (exports.PsFormTextKind = PsFormTextKind = {}));
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './components/ps-form-cascader-field';
|
|
2
|
+
export * from './components/ps-form-date-field';
|
|
3
|
+
export * from './components/ps-form-money-field';
|
|
4
|
+
export * from './components/ps-form-phone-field';
|
|
5
|
+
export * from './components/ps-form-select-field';
|
|
6
|
+
export * from './components/ps-form-text-area-field';
|
|
7
|
+
export * from './components/ps-form-text-field';
|
|
8
|
+
export * from './components/ps-form-year-field';
|
|
9
|
+
export * from './constants/ps-form-text-kind';
|
|
10
|
+
export * from './models/ps-form-field-rules';
|
|
11
|
+
export * from './services/ps-form-field-service';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./components/ps-form-cascader-field"), exports);
|
|
18
|
+
__exportStar(require("./components/ps-form-date-field"), exports);
|
|
19
|
+
__exportStar(require("./components/ps-form-money-field"), exports);
|
|
20
|
+
__exportStar(require("./components/ps-form-phone-field"), exports);
|
|
21
|
+
__exportStar(require("./components/ps-form-select-field"), exports);
|
|
22
|
+
__exportStar(require("./components/ps-form-text-area-field"), exports);
|
|
23
|
+
__exportStar(require("./components/ps-form-text-field"), exports);
|
|
24
|
+
__exportStar(require("./components/ps-form-year-field"), exports);
|
|
25
|
+
__exportStar(require("./constants/ps-form-text-kind"), exports);
|
|
26
|
+
__exportStar(require("./models/ps-form-field-rules"), exports);
|
|
27
|
+
__exportStar(require("./services/ps-form-field-service"), exports);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { FieldError, FieldValues } from 'react-hook-form';
|
|
2
|
+
import type { PsFormFieldRules } from '../models/ps-form-field-rules';
|
|
3
|
+
export declare class PsFormFieldService {
|
|
4
|
+
static isRequired<T extends FieldValues>(rules: PsFormFieldRules<T> | undefined): boolean;
|
|
5
|
+
static text(value: unknown): string;
|
|
6
|
+
static error(error: FieldError | undefined): string | undefined;
|
|
7
|
+
static number(value: string): number | string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PsFormFieldService = void 0;
|
|
4
|
+
class PsFormFieldService {
|
|
5
|
+
static isRequired(rules) {
|
|
6
|
+
return rules !== undefined && rules.required !== undefined && rules.required !== false;
|
|
7
|
+
}
|
|
8
|
+
static text(value) {
|
|
9
|
+
if (typeof value === 'string')
|
|
10
|
+
return value;
|
|
11
|
+
if (typeof value === 'number')
|
|
12
|
+
return String(value);
|
|
13
|
+
return '';
|
|
14
|
+
}
|
|
15
|
+
static error(error) {
|
|
16
|
+
return error !== undefined && typeof error.message === 'string' ? error.message : undefined;
|
|
17
|
+
}
|
|
18
|
+
static number(value) {
|
|
19
|
+
const parsed = Number(value);
|
|
20
|
+
return value.trim() === '' || !Number.isFinite(parsed) ? value : parsed;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.PsFormFieldService = PsFormFieldService;
|
package/dist/index.d.ts
CHANGED
|
@@ -40,3 +40,7 @@ export * from './constants/ps-cascader-config';
|
|
|
40
40
|
export * from './components/ps-currency-input';
|
|
41
41
|
export * from './constants/ps-currency-input-config';
|
|
42
42
|
export * from './services/ps-currency-input-service';
|
|
43
|
+
export * from './components/ps-date-preset-field';
|
|
44
|
+
export * from './components/ps-select-with-create';
|
|
45
|
+
export * from './constants/ps-select-with-create-config';
|
|
46
|
+
export * from './interfaces/ps-date-preset-data';
|
package/dist/index.js
CHANGED
|
@@ -56,3 +56,7 @@ __exportStar(require("./constants/ps-cascader-config"), exports);
|
|
|
56
56
|
__exportStar(require("./components/ps-currency-input"), exports);
|
|
57
57
|
__exportStar(require("./constants/ps-currency-input-config"), exports);
|
|
58
58
|
__exportStar(require("./services/ps-currency-input-service"), exports);
|
|
59
|
+
__exportStar(require("./components/ps-date-preset-field"), exports);
|
|
60
|
+
__exportStar(require("./components/ps-select-with-create"), exports);
|
|
61
|
+
__exportStar(require("./constants/ps-select-with-create-config"), exports);
|
|
62
|
+
__exportStar(require("./interfaces/ps-date-preset-data"), exports);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pallasoft/ps-input-components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.20.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
@@ -12,6 +12,12 @@
|
|
|
12
12
|
"module": "./dist/esm/index.js",
|
|
13
13
|
"require": "./dist/index.js",
|
|
14
14
|
"default": "./dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"./form": {
|
|
17
|
+
"types": "./dist/form/index.d.ts",
|
|
18
|
+
"module": "./dist/esm/form/index.js",
|
|
19
|
+
"require": "./dist/form/index.js",
|
|
20
|
+
"default": "./dist/form/index.js"
|
|
15
21
|
}
|
|
16
22
|
},
|
|
17
23
|
"files": [
|
|
@@ -42,7 +48,8 @@
|
|
|
42
48
|
},
|
|
43
49
|
"peerDependencies": {
|
|
44
50
|
"react": "^18 || ^19",
|
|
45
|
-
"react-dom": "^18 || ^19"
|
|
51
|
+
"react-dom": "^18 || ^19",
|
|
52
|
+
"react-hook-form": "^7"
|
|
46
53
|
},
|
|
47
54
|
"devDependencies": {
|
|
48
55
|
"@commitlint/cli": "^20.1.0",
|
|
@@ -70,6 +77,7 @@
|
|
|
70
77
|
"prettier": "^3.6.2",
|
|
71
78
|
"react": "^19.3.0",
|
|
72
79
|
"react-dom": "^19.3.0",
|
|
80
|
+
"react-hook-form": "^7.89.0",
|
|
73
81
|
"semantic-release": "^24.2.0",
|
|
74
82
|
"ts-node": "^10.9.2",
|
|
75
83
|
"typescript": "^5.9.3"
|
|
@@ -81,5 +89,17 @@
|
|
|
81
89
|
"repository": {
|
|
82
90
|
"type": "git",
|
|
83
91
|
"url": "git+https://github.com/pallasoft/ps-input-components.git"
|
|
92
|
+
},
|
|
93
|
+
"typesVersions": {
|
|
94
|
+
"*": {
|
|
95
|
+
"form": [
|
|
96
|
+
"./dist/form/index.d.ts"
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"peerDependenciesMeta": {
|
|
101
|
+
"react-hook-form": {
|
|
102
|
+
"optional": true
|
|
103
|
+
}
|
|
84
104
|
}
|
|
85
105
|
}
|