@akinon/akiform-builder 1.3.3 → 1.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/__tests__/akiform-builder.test.js +354 -345
- package/dist/cjs/akiform-builder.d.ts.map +1 -1
- package/dist/cjs/akiform-builder.js +18 -17
- package/dist/cjs/constants.d.ts +15 -0
- package/dist/cjs/constants.d.ts.map +1 -0
- package/dist/cjs/constants.js +18 -0
- package/dist/cjs/field-builder.d.ts +3 -2
- package/dist/cjs/field-builder.d.ts.map +1 -1
- package/dist/cjs/field-builder.js +7 -4
- package/dist/cjs/i18n/translations/en.d.ts +3 -0
- package/dist/cjs/i18n/translations/en.d.ts.map +1 -1
- package/dist/cjs/i18n/translations/en.js +4 -1
- package/dist/cjs/i18n/translations/tr.d.ts +3 -0
- package/dist/cjs/i18n/translations/tr.d.ts.map +1 -1
- package/dist/cjs/i18n/translations/tr.js +4 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/src/akiform-builder.d.ts +1 -1
- package/dist/cjs/src/akiform-builder.d.ts.map +1 -1
- package/dist/cjs/src/akiform-builder.js +1 -1
- package/dist/cjs/src/field-builder.d.ts +3 -3
- package/dist/cjs/src/field-builder.d.ts.map +1 -1
- package/dist/cjs/src/i18n/index.d.ts +4 -1
- package/dist/cjs/src/i18n/index.d.ts.map +1 -1
- package/dist/cjs/src/types.d.ts +4 -4
- package/dist/cjs/src/types.d.ts.map +1 -1
- package/dist/cjs/types.d.ts +12 -12
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/__tests__/akiform-builder.test.js +354 -345
- package/dist/esm/akiform-builder.d.ts.map +1 -1
- package/dist/esm/akiform-builder.js +18 -17
- package/dist/esm/constants.d.ts +15 -0
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/esm/constants.js +15 -0
- package/dist/esm/field-builder.d.ts +3 -2
- package/dist/esm/field-builder.d.ts.map +1 -1
- package/dist/esm/field-builder.js +7 -4
- package/dist/esm/i18n/translations/en.d.ts +3 -0
- package/dist/esm/i18n/translations/en.d.ts.map +1 -1
- package/dist/esm/i18n/translations/en.js +4 -1
- package/dist/esm/i18n/translations/tr.d.ts +3 -0
- package/dist/esm/i18n/translations/tr.d.ts.map +1 -1
- package/dist/esm/i18n/translations/tr.js +4 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/src/akiform-builder.d.ts +1 -1
- package/dist/esm/src/akiform-builder.d.ts.map +1 -1
- package/dist/esm/src/akiform-builder.js +1 -1
- package/dist/esm/src/field-builder.d.ts +3 -3
- package/dist/esm/src/field-builder.d.ts.map +1 -1
- package/dist/esm/src/i18n/index.d.ts +4 -1
- package/dist/esm/src/i18n/index.d.ts.map +1 -1
- package/dist/esm/src/types.d.ts +4 -4
- package/dist/esm/src/types.d.ts.map +1 -1
- package/dist/esm/types.d.ts +12 -12
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +20 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"akiform-builder.d.ts","sourceRoot":"","sources":["../../src/akiform-builder.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAGrB,OAAO,EAOL,WAAW,EAMZ,MAAM,iBAAiB,CAAC;AAczB,OAAO,KAWN,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"akiform-builder.d.ts","sourceRoot":"","sources":["../../src/akiform-builder.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAGrB,OAAO,EAOL,WAAW,EAMZ,MAAM,iBAAiB,CAAC;AAczB,OAAO,KAWN,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EASlB,MAAM,SAAS,CAAC;AAWjB,eAAO,MAAM,cAAc,MAAM,CAAC;AA6YlC,eAAO,MAAM,cAAc,yHAsW1B,CAAC"}
|
|
@@ -29,6 +29,7 @@ const ui_select_1 = require("@akinon/ui-select");
|
|
|
29
29
|
const ui_typography_1 = require("@akinon/ui-typography");
|
|
30
30
|
const clsx_1 = require("clsx");
|
|
31
31
|
const react_1 = require("react");
|
|
32
|
+
const constants_1 = require("./constants");
|
|
32
33
|
const i18n_1 = require("./i18n");
|
|
33
34
|
// Helper function to get API field error for a specific field
|
|
34
35
|
const getApiFieldError = (fieldKey, apiErrors) => {
|
|
@@ -125,7 +126,7 @@ const ColumnComponent = ({ field, control, formValues, formState, layout, layout
|
|
|
125
126
|
});
|
|
126
127
|
if (!isVisible)
|
|
127
128
|
return null;
|
|
128
|
-
const isRowField = rowField.type ===
|
|
129
|
+
const isRowField = rowField.type === constants_1.FieldType.ROW;
|
|
129
130
|
return isRowField
|
|
130
131
|
? renderField(rowField, control, formValues, formState, layout, layoutOptions, fieldErrors)
|
|
131
132
|
: renderFormItem({
|
|
@@ -148,33 +149,33 @@ formState, layout, layoutOptions, fieldErrors = []) => {
|
|
|
148
149
|
'aria-invalid': formState.errors[field.key] ? true : false
|
|
149
150
|
};
|
|
150
151
|
switch (field.type) {
|
|
151
|
-
case
|
|
152
|
+
case constants_1.FieldType.TEXT:
|
|
152
153
|
return (react_1.default.createElement(ui_input_1.Input, Object.assign({ placeholder: field.placeholder, size: "large" }, commonProps)));
|
|
153
|
-
case
|
|
154
|
+
case constants_1.FieldType.NUMBER:
|
|
154
155
|
return (react_1.default.createElement(ui_input_number_1.InputNumber, Object.assign({ placeholder: field.placeholder, size: "large" }, commonProps)));
|
|
155
|
-
case
|
|
156
|
+
case constants_1.FieldType.SELECT:
|
|
156
157
|
return (react_1.default.createElement(ui_select_1.Select, Object.assign({ placeholder: field.placeholder, options: field.options }, commonProps)));
|
|
157
|
-
case
|
|
158
|
+
case constants_1.FieldType.CHECKBOX:
|
|
158
159
|
return (react_1.default.createElement(ui_checkbox_1.Checkbox, Object.assign({ checked: formValues[field.key] }, commonProps), field.label));
|
|
159
|
-
case
|
|
160
|
+
case constants_1.FieldType.DATE:
|
|
160
161
|
return (react_1.default.createElement(ui_date_picker_1.DatePicker, Object.assign({ placeholder: field.placeholder, showTime: field.showTime, suffixIcon: "calendar", suffixIconColor: "var(--color-azure-500)", suffixIconSize: "16", value: formValues[field.key]
|
|
161
162
|
? akidate_1.akidate.parse(formValues[field.key])
|
|
162
163
|
: undefined }, commonProps)));
|
|
163
|
-
case
|
|
164
|
+
case constants_1.FieldType.TEXTAREA:
|
|
164
165
|
return react_1.default.createElement(ui_input_1.InputTextArea, Object.assign({ placeholder: field.placeholder }, commonProps));
|
|
165
|
-
case
|
|
166
|
+
case constants_1.FieldType.FIELD_ARRAY:
|
|
166
167
|
return (react_1.default.createElement(FieldArrayComponent, { field: field, control: control, formValues: formValues, formState: formState, layout: layout, layoutOptions: layoutOptions }));
|
|
167
|
-
case
|
|
168
|
+
case constants_1.FieldType.CUSTOM:
|
|
168
169
|
if (typeof field.render === 'function') {
|
|
169
170
|
return field.render({ field, formValues, control, formState });
|
|
170
171
|
}
|
|
171
|
-
console.warn(
|
|
172
|
+
console.warn(i18n_1.i18n.t('custom_field_no_render', { fieldKey: field.key }));
|
|
172
173
|
return react_1.default.createElement(react_1.Fragment, null);
|
|
173
|
-
case
|
|
174
|
+
case constants_1.FieldType.SECTION:
|
|
174
175
|
return (react_1.default.createElement(SectionComponent, { field: field, control: control, formValues: formValues, formState: formState, layout: layout, layoutOptions: layoutOptions }));
|
|
175
|
-
case
|
|
176
|
+
case constants_1.FieldType.ROW:
|
|
176
177
|
return (react_1.default.createElement(RowComponent, { field: field, control: control, formValues: formValues, formState: formState, layout: layout, layoutOptions: layoutOptions, fieldErrors: fieldErrors }));
|
|
177
|
-
case
|
|
178
|
+
case constants_1.FieldType.COLUMN:
|
|
178
179
|
return (react_1.default.createElement(ColumnComponent, { field: field, control: control, formValues: formValues, formState: formState, layout: layout, layoutOptions: layoutOptions }));
|
|
179
180
|
default:
|
|
180
181
|
return react_1.default.createElement(react_1.Fragment, null);
|
|
@@ -209,7 +210,7 @@ exports.AkiformBuilder = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
209
210
|
if (field.validation) {
|
|
210
211
|
schema[field.key] = field.validation;
|
|
211
212
|
}
|
|
212
|
-
if (field.type ===
|
|
213
|
+
if (field.type === constants_1.FieldType.FIELD_ARRAY) {
|
|
213
214
|
schema[field.key] = akival_1.akival.array().of(akival_1.akival.object().shape(field.fields.reduce((acc, nestedField) => {
|
|
214
215
|
if (nestedField.validation) {
|
|
215
216
|
acc[nestedField.key] = nestedField.validation;
|
|
@@ -382,14 +383,14 @@ exports.AkiformBuilder = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
382
383
|
return null;
|
|
383
384
|
}
|
|
384
385
|
switch (field.type) {
|
|
385
|
-
case
|
|
386
|
+
case constants_1.FieldType.SECTION:
|
|
386
387
|
return (react_1.default.createElement(SectionComponent, { key: field.key, field: field, control: control, formValues: formValues, formState: formState, layout: layout, layoutOptions: layoutOptions }));
|
|
387
|
-
case
|
|
388
|
+
case constants_1.FieldType.FIELD_ARRAY:
|
|
388
389
|
return (react_1.default.createElement("div", { className: "akiform-builder-field-array", key: field.key },
|
|
389
390
|
react_1.default.createElement(ui_divider_1.Divider, { orientation: "left", plain: true, plainOffset: 40 },
|
|
390
391
|
react_1.default.createElement("span", { id: `${field.key}-label` }, field.label)),
|
|
391
392
|
renderField(field, control, formValues, formState, layout, layoutOptions)));
|
|
392
|
-
case
|
|
393
|
+
case constants_1.FieldType.ROW:
|
|
393
394
|
return renderField(field, control, formValues, formState, layout, layoutOptions);
|
|
394
395
|
default:
|
|
395
396
|
return renderFormItem({
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare enum FieldType {
|
|
2
|
+
TEXT = "text",
|
|
3
|
+
NUMBER = "number",
|
|
4
|
+
SELECT = "select",
|
|
5
|
+
CHECKBOX = "checkbox",
|
|
6
|
+
DATE = "date",
|
|
7
|
+
FIELD_ARRAY = "fieldArray",
|
|
8
|
+
TEXTAREA = "textarea",
|
|
9
|
+
CUSTOM = "custom",
|
|
10
|
+
SECTION = "section",
|
|
11
|
+
ROW = "row",
|
|
12
|
+
COLUMN = "column"
|
|
13
|
+
}
|
|
14
|
+
export declare const FIELD_TYPES: FieldType[];
|
|
15
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,WAAW,eAAe;IAC1B,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,MAAM,WAAW;CAClB;AAED,eAAO,MAAM,WAAW,EAA+B,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FIELD_TYPES = exports.FieldType = void 0;
|
|
4
|
+
var FieldType;
|
|
5
|
+
(function (FieldType) {
|
|
6
|
+
FieldType["TEXT"] = "text";
|
|
7
|
+
FieldType["NUMBER"] = "number";
|
|
8
|
+
FieldType["SELECT"] = "select";
|
|
9
|
+
FieldType["CHECKBOX"] = "checkbox";
|
|
10
|
+
FieldType["DATE"] = "date";
|
|
11
|
+
FieldType["FIELD_ARRAY"] = "fieldArray";
|
|
12
|
+
FieldType["TEXTAREA"] = "textarea";
|
|
13
|
+
FieldType["CUSTOM"] = "custom";
|
|
14
|
+
FieldType["SECTION"] = "section";
|
|
15
|
+
FieldType["ROW"] = "row";
|
|
16
|
+
FieldType["COLUMN"] = "column";
|
|
17
|
+
})(FieldType || (exports.FieldType = FieldType = {}));
|
|
18
|
+
exports.FIELD_TYPES = Object.values(FieldType);
|
|
@@ -2,8 +2,9 @@ import { FieldPath, FieldValues } from '@akinon/akiform';
|
|
|
2
2
|
import { AnySchema } from '@akinon/akival';
|
|
3
3
|
import type { ColProps, RowProps } from '@akinon/ui-layout';
|
|
4
4
|
import type { TooltipProps } from '@akinon/ui-tooltip';
|
|
5
|
-
import
|
|
6
|
-
type
|
|
5
|
+
import { FieldType } from './constants';
|
|
6
|
+
import type { FieldConfig, FormField } from './types';
|
|
7
|
+
type FieldTypeToBuilder<T extends FieldType, TFieldValues extends FieldValues = FieldValues> = T extends FieldType.SELECT ? SelectFieldBuilder<TFieldValues> : T extends FieldType.DATE ? DateFieldBuilder<TFieldValues> : T extends FieldType.CUSTOM ? CustomFieldBuilder<TFieldValues> : T extends FieldType.SECTION ? SectionFieldBuilder<TFieldValues> : T extends FieldType.FIELD_ARRAY ? FieldArrayOrSectionFieldBuilder<TFieldValues> : T extends FieldType.ROW ? RowFieldBuilder<TFieldValues> : T extends FieldType.COLUMN ? ColumnFieldBuilder<TFieldValues> : BaseFieldBuilder<TFieldValues>;
|
|
7
8
|
declare class BaseFieldBuilder<TFieldValues extends FieldValues = FieldValues> {
|
|
8
9
|
field: Partial<FormField<TFieldValues>>;
|
|
9
10
|
key(key: FieldPath<TFieldValues>): this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-builder.d.ts","sourceRoot":"","sources":["../../src/field-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAGV,WAAW,EACX,SAAS,
|
|
1
|
+
{"version":3,"file":"field-builder.d.ts","sourceRoot":"","sources":["../../src/field-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.field = field;
|
|
4
|
+
const constants_1 = require("./constants");
|
|
5
|
+
const i18n_1 = require("./i18n");
|
|
4
6
|
class BaseFieldBuilder {
|
|
5
7
|
constructor() {
|
|
6
8
|
this.field = {};
|
|
@@ -49,7 +51,7 @@ class BaseFieldBuilder {
|
|
|
49
51
|
}
|
|
50
52
|
build() {
|
|
51
53
|
if (!this.field.key || !this.field.type) {
|
|
52
|
-
throw new Error('
|
|
54
|
+
throw new Error(i18n_1.i18n.t('field_missing_key_type'));
|
|
53
55
|
}
|
|
54
56
|
const builtField = this.field;
|
|
55
57
|
return builtField;
|
|
@@ -82,11 +84,12 @@ class FieldArrayOrSectionFieldBuilder extends BaseFieldBuilder {
|
|
|
82
84
|
return this;
|
|
83
85
|
}
|
|
84
86
|
fields(fields) {
|
|
85
|
-
if (this.field.type ===
|
|
87
|
+
if (this.field.type === constants_1.FieldType.FIELD_ARRAY ||
|
|
88
|
+
this.field.type === constants_1.FieldType.SECTION) {
|
|
86
89
|
this.field.fields = fields;
|
|
87
90
|
}
|
|
88
91
|
else {
|
|
89
|
-
console.warn(
|
|
92
|
+
console.warn(i18n_1.i18n.t('fields_only_for_array_section', { fieldType: this.field.type }));
|
|
90
93
|
}
|
|
91
94
|
return this;
|
|
92
95
|
}
|
|
@@ -132,7 +135,7 @@ function field() {
|
|
|
132
135
|
return FieldArrayOrSectionFieldBuilder.prototype.defaultExpanded;
|
|
133
136
|
case 'fields': {
|
|
134
137
|
const fieldType = target.field.type;
|
|
135
|
-
if (fieldType ===
|
|
138
|
+
if (fieldType === constants_1.FieldType.COLUMN) {
|
|
136
139
|
return ColumnFieldBuilder.prototype.fields;
|
|
137
140
|
}
|
|
138
141
|
return FieldArrayOrSectionFieldBuilder.prototype.fields;
|
|
@@ -9,6 +9,9 @@ declare const translations: {
|
|
|
9
9
|
readonly itemof_ordinal_few: "{{count}}rd Item of {{label}}";
|
|
10
10
|
readonly itemof_ordinal_other: "{{count}}th Item of {{label}}";
|
|
11
11
|
readonly an_error_occurred: "An error occurred in here";
|
|
12
|
+
readonly custom_field_no_render: "Custom field \"{{fieldKey}}\" has no render function";
|
|
13
|
+
readonly field_missing_key_type: "Field must have at least a key and type";
|
|
14
|
+
readonly fields_only_for_array_section: "Fields can only be set for 'fieldArray' or 'section' types. Current type: {{fieldType}}";
|
|
12
15
|
};
|
|
13
16
|
export default translations;
|
|
14
17
|
//# sourceMappingURL=en.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../src/i18n/translations/en.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../src/i18n/translations/en.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,YAAY;;;;;;;;;;;;;;CAeR,CAAC;AAEX,eAAe,YAAY,CAAC"}
|
|
@@ -10,6 +10,9 @@ const translations = {
|
|
|
10
10
|
itemof_ordinal_two: '{{count}}nd Item of {{label}}',
|
|
11
11
|
itemof_ordinal_few: '{{count}}rd Item of {{label}}',
|
|
12
12
|
itemof_ordinal_other: '{{count}}th Item of {{label}}',
|
|
13
|
-
an_error_occurred: 'An error occurred in here'
|
|
13
|
+
an_error_occurred: 'An error occurred in here',
|
|
14
|
+
custom_field_no_render: 'Custom field "{{fieldKey}}" has no render function',
|
|
15
|
+
field_missing_key_type: 'Field must have at least a key and type',
|
|
16
|
+
fields_only_for_array_section: "Fields can only be set for 'fieldArray' or 'section' types. Current type: {{fieldType}}"
|
|
14
17
|
};
|
|
15
18
|
exports.default = translations;
|
|
@@ -9,6 +9,9 @@ declare const translations: {
|
|
|
9
9
|
readonly itemof_ordinal_few: "{{label}} için {{count}}. Öğe";
|
|
10
10
|
readonly itemof_ordinal_other: "{{label}} için {{count}}. Öğe";
|
|
11
11
|
readonly an_error_occurred: "Burada bir hata oluştu";
|
|
12
|
+
readonly custom_field_no_render: "\"{{fieldKey}}\" özel alanının render fonksiyonu bulunamadı";
|
|
13
|
+
readonly field_missing_key_type: "Alan en azından key ve type özelliklerine sahip olmalıdır";
|
|
14
|
+
readonly fields_only_for_array_section: "Fields sadece 'fieldArray' veya 'section' tipleri için ayarlanabilir. Mevcut tip: {{fieldType}}";
|
|
12
15
|
};
|
|
13
16
|
export default translations;
|
|
14
17
|
//# sourceMappingURL=tr.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["../../../../src/i18n/translations/tr.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["../../../../src/i18n/translations/tr.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,YAAY;;;;;;;;;;;;;;CAiBR,CAAC;AAEX,eAAe,YAAY,CAAC"}
|
|
@@ -10,6 +10,9 @@ const translations = {
|
|
|
10
10
|
itemof_ordinal_two: '{{label}} için {{count}}. Öğe',
|
|
11
11
|
itemof_ordinal_few: '{{label}} için {{count}}. Öğe',
|
|
12
12
|
itemof_ordinal_other: '{{label}} için {{count}}. Öğe',
|
|
13
|
-
an_error_occurred: 'Burada bir hata oluştu'
|
|
13
|
+
an_error_occurred: 'Burada bir hata oluştu',
|
|
14
|
+
custom_field_no_render: '"{{fieldKey}}" özel alanının render fonksiyonu bulunamadı',
|
|
15
|
+
field_missing_key_type: 'Alan en azından key ve type özelliklerine sahip olmalıdır',
|
|
16
|
+
fields_only_for_array_section: "Fields sadece 'fieldArray' veya 'section' tipleri için ayarlanabilir. Mevcut tip: {{fieldType}}"
|
|
14
17
|
};
|
|
15
18
|
exports.default = translations;
|
package/dist/cjs/index.d.ts
CHANGED
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,cAAc,SAAS,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.field = void 0;
|
|
18
18
|
__exportStar(require("./akiform-builder"), exports);
|
|
19
|
+
__exportStar(require("./constants"), exports);
|
|
19
20
|
var field_builder_1 = require("./field-builder");
|
|
20
21
|
Object.defineProperty(exports, "field", { enumerable: true, get: function () { return field_builder_1.field; } });
|
|
21
22
|
__exportStar(require("./types"), exports);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import './index.css';
|
|
2
2
|
import { FieldValues } from '@akinon/akiform';
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import
|
|
4
|
+
import { AkiformBuilderProps, AkiformBuilderRef } from './types';
|
|
5
5
|
export declare const THROTTLE_DELAY = 300;
|
|
6
6
|
export declare const AkiformBuilder: React.ForwardRefExoticComponent<AkiformBuilderProps<FieldValues> & React.RefAttributes<AkiformBuilderRef<FieldValues>>>;
|
|
7
7
|
//# sourceMappingURL=akiform-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"akiform-builder.d.ts","sourceRoot":"","sources":["../../../src/akiform-builder.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB,OAAO,EAML,WAAW,EAMZ,MAAM,iBAAiB,CAAC;AAczB,OAAO,KAWN,MAAM,OAAO,CAAC;AAGf,OAAO,
|
|
1
|
+
{"version":3,"file":"akiform-builder.d.ts","sourceRoot":"","sources":["../../../src/akiform-builder.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB,OAAO,EAML,WAAW,EAMZ,MAAM,iBAAiB,CAAC;AAczB,OAAO,KAWN,MAAM,OAAO,CAAC;AAGf,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAQlB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,cAAc,MAAM,CAAC;AA6WlC,eAAO,MAAM,cAAc,yHA+V1B,CAAC"}
|
|
@@ -148,7 +148,7 @@ formState, layout, layoutOptions) => {
|
|
|
148
148
|
case 'checkbox':
|
|
149
149
|
return (react_1.default.createElement(ui_checkbox_1.Checkbox, Object.assign({ checked: formValues[field.key] }, commonProps), field.label));
|
|
150
150
|
case 'date':
|
|
151
|
-
return (react_1.default.createElement(ui_date_picker_1.DatePicker, Object.assign({ placeholder: field.placeholder, showTime: field.showTime
|
|
151
|
+
return (react_1.default.createElement(ui_date_picker_1.DatePicker, Object.assign({ placeholder: field.placeholder, showTime: field.showTime }, commonProps)));
|
|
152
152
|
case 'textarea':
|
|
153
153
|
return react_1.default.createElement(ui_input_1.InputTextArea, Object.assign({ placeholder: field.placeholder }, commonProps));
|
|
154
154
|
case 'fieldArray':
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { FieldPath, FieldValues } from '@akinon/akiform';
|
|
2
2
|
import { AnySchema } from '@akinon/akival';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
3
|
+
import { ColProps, RowProps } from '@akinon/ui-layout';
|
|
4
|
+
import { TooltipProps } from '@akinon/ui-tooltip';
|
|
5
|
+
import { FieldConfig, FieldType, FormField } from './types';
|
|
6
6
|
type FieldTypeToBuilder<T extends FieldType, TFieldValues extends FieldValues = FieldValues> = T extends 'select' ? SelectFieldBuilder<TFieldValues> : T extends 'date' ? DateFieldBuilder<TFieldValues> : T extends 'custom' ? CustomFieldBuilder<TFieldValues> : T extends 'section' ? SectionFieldBuilder<TFieldValues> : T extends 'fieldArray' ? FieldArrayOrSectionFieldBuilder<TFieldValues> : T extends 'row' ? RowFieldBuilder<TFieldValues> : T extends 'column' ? ColumnFieldBuilder<TFieldValues> : BaseFieldBuilder<TFieldValues>;
|
|
7
7
|
declare class BaseFieldBuilder<TFieldValues extends FieldValues = FieldValues> {
|
|
8
8
|
field: Partial<FormField<TFieldValues>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-builder.d.ts","sourceRoot":"","sources":["../../../src/field-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"field-builder.d.ts","sourceRoot":"","sources":["../../../src/field-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/i18n/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/i18n/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,IAAI;4BAQszB,CAAC;;CADt0B,CAAC"}
|
package/dist/cjs/src/types.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { AkiformProps, Control, FieldPath, FieldValues } from '@akinon/akiform';
|
|
2
2
|
import { AnySchema } from '@akinon/akival';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
3
|
+
import { IButtonProps } from '@akinon/ui-button';
|
|
4
|
+
import { ColProps, RowProps } from '@akinon/ui-layout';
|
|
5
|
+
import { TooltipProps } from '@akinon/ui-tooltip';
|
|
6
|
+
import { FormEventHandler, ReactElement } from 'react';
|
|
7
7
|
export type FieldType = 'text' | 'number' | 'select' | 'checkbox' | 'date' | 'fieldArray' | 'textarea' | 'custom' | 'section' | 'row' | 'column';
|
|
8
8
|
export interface BaseField<TFieldValues extends FieldValues = FieldValues> {
|
|
9
9
|
key: FieldPath<TFieldValues>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import type { IButtonProps } from '@akinon/ui-button';
|
|
|
4
4
|
import type { ColProps, RowProps } from '@akinon/ui-layout';
|
|
5
5
|
import type { TooltipProps } from '@akinon/ui-tooltip';
|
|
6
6
|
import type { FormEventHandler, ReactElement } from 'react';
|
|
7
|
-
|
|
7
|
+
import { FieldType } from './constants';
|
|
8
8
|
export interface FieldConfig<TFieldValues extends FieldValues = FieldValues> {
|
|
9
9
|
disabled?: boolean | ((formValues: TFieldValues) => boolean);
|
|
10
10
|
visible?: boolean | ((formValues: TFieldValues) => boolean);
|
|
@@ -22,35 +22,35 @@ export interface BaseField<TFieldValues extends FieldValues = FieldValues> {
|
|
|
22
22
|
labelDescription?: string;
|
|
23
23
|
}
|
|
24
24
|
export interface TextField<TFieldValues extends FieldValues = FieldValues> extends BaseField<TFieldValues> {
|
|
25
|
-
type:
|
|
25
|
+
type: FieldType.TEXT;
|
|
26
26
|
}
|
|
27
27
|
export interface NumberField<TFieldValues extends FieldValues = FieldValues> extends BaseField<TFieldValues> {
|
|
28
|
-
type:
|
|
28
|
+
type: FieldType.NUMBER;
|
|
29
29
|
}
|
|
30
30
|
export interface SelectField<TFieldValues extends FieldValues = FieldValues> extends BaseField<TFieldValues> {
|
|
31
|
-
type:
|
|
31
|
+
type: FieldType.SELECT;
|
|
32
32
|
options: Array<{
|
|
33
33
|
value: string | number;
|
|
34
34
|
label: string;
|
|
35
35
|
}>;
|
|
36
36
|
}
|
|
37
37
|
export interface CheckboxField<TFieldValues extends FieldValues = FieldValues> extends BaseField<TFieldValues> {
|
|
38
|
-
type:
|
|
38
|
+
type: FieldType.CHECKBOX;
|
|
39
39
|
}
|
|
40
40
|
export interface DateField<TFieldValues extends FieldValues = FieldValues> extends BaseField<TFieldValues> {
|
|
41
|
-
type:
|
|
41
|
+
type: FieldType.DATE;
|
|
42
42
|
showTime?: boolean;
|
|
43
43
|
}
|
|
44
44
|
export interface FieldArrayField<TFieldValues extends FieldValues = FieldValues> extends BaseField<TFieldValues> {
|
|
45
|
-
type:
|
|
45
|
+
type: FieldType.FIELD_ARRAY;
|
|
46
46
|
fields: FormField<TFieldValues>[];
|
|
47
47
|
defaultExpanded?: boolean;
|
|
48
48
|
}
|
|
49
49
|
export interface TextareaField<TFieldValues extends FieldValues = FieldValues> extends BaseField<TFieldValues> {
|
|
50
|
-
type:
|
|
50
|
+
type: FieldType.TEXTAREA;
|
|
51
51
|
}
|
|
52
52
|
export interface CustomField<TFieldValues extends FieldValues = FieldValues> extends BaseField<TFieldValues> {
|
|
53
|
-
type:
|
|
53
|
+
type: FieldType.CUSTOM;
|
|
54
54
|
render: (props: {
|
|
55
55
|
field: BaseField<TFieldValues>;
|
|
56
56
|
formValues: TFieldValues;
|
|
@@ -59,18 +59,18 @@ export interface CustomField<TFieldValues extends FieldValues = FieldValues> ext
|
|
|
59
59
|
}) => ReactElement;
|
|
60
60
|
}
|
|
61
61
|
export interface SectionField<TFieldValues extends FieldValues = FieldValues> extends BaseField<TFieldValues> {
|
|
62
|
-
type:
|
|
62
|
+
type: FieldType.SECTION;
|
|
63
63
|
fields: FormField<TFieldValues>[];
|
|
64
64
|
defaultExpanded?: boolean;
|
|
65
65
|
collapsible?: boolean;
|
|
66
66
|
}
|
|
67
67
|
export interface RowField<TFieldValues extends FieldValues = FieldValues> extends BaseField<TFieldValues> {
|
|
68
|
-
type:
|
|
68
|
+
type: FieldType.ROW;
|
|
69
69
|
columnFields: ColumnField<TFieldValues>[];
|
|
70
70
|
rowProps?: RowProps;
|
|
71
71
|
}
|
|
72
72
|
export interface ColumnField<TFieldValues extends FieldValues = FieldValues> extends BaseField<TFieldValues> {
|
|
73
|
-
type:
|
|
73
|
+
type: FieldType.COLUMN;
|
|
74
74
|
fields: FormField<TFieldValues>[];
|
|
75
75
|
columnProps?: ColProps;
|
|
76
76
|
}
|
package/dist/cjs/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE5D,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|