@remoteoss/json-schema-form 0.2.0-beta.0 → 0.3.0-beta.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/CHANGELOG.md +10 -0
- package/dist/index.cjs +13 -3
- package/dist/index.js +13 -3
- package/dist/standalone.js +796 -358
- package/package.json +3 -2
- package/src/tests/createHeadlessForm.test.js +18 -14
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remoteoss/json-schema-form",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0-beta.0",
|
|
4
4
|
"description": "Headless UI form powered by JSON Schemas",
|
|
5
5
|
"author": "Remote.com <engineering@remote.com> (https://remote.com/)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"scripts": {
|
|
25
25
|
"build": "node scripts/build.js",
|
|
26
26
|
"test": "jest",
|
|
27
|
+
"test:watch": "jest --watchAll",
|
|
27
28
|
"lint": "eslint \"src/**/*.{js,ts}\"",
|
|
28
29
|
"format": "npm run format:prettier && npm run format:eslint",
|
|
29
30
|
"prepare": "husky install",
|
|
@@ -48,7 +49,7 @@
|
|
|
48
49
|
"dependencies": {
|
|
49
50
|
"lodash": "^4.17.21",
|
|
50
51
|
"randexp": "^0.5.3",
|
|
51
|
-
"yup": "^0.
|
|
52
|
+
"yup": "^0.30.0"
|
|
52
53
|
},
|
|
53
54
|
"devDependencies": {
|
|
54
55
|
"@babel/core": "^7.21.5",
|
|
@@ -420,7 +420,7 @@ describe('createHeadlessForm', () => {
|
|
|
420
420
|
|
|
421
421
|
describe('field support', () => {
|
|
422
422
|
it('support "text" field type', () => {
|
|
423
|
-
const { fields } = createHeadlessForm(schemaInputTypeText);
|
|
423
|
+
const { fields, handleValidation } = createHeadlessForm(schemaInputTypeText);
|
|
424
424
|
|
|
425
425
|
expect(fields[0]).toMatchObject({
|
|
426
426
|
description: 'The number of your national identification (max 10 digits)',
|
|
@@ -437,9 +437,13 @@ describe('createHeadlessForm', () => {
|
|
|
437
437
|
|
|
438
438
|
const fieldValidator = fields[0].schema;
|
|
439
439
|
expect(fieldValidator.isValidSync('CI007')).toBe(true);
|
|
440
|
-
expect(fieldValidator.isValidSync(true)).toBe(
|
|
441
|
-
expect(fieldValidator.isValidSync(1)).toBe(
|
|
442
|
-
expect(fieldValidator.isValidSync(0)).toBe(
|
|
440
|
+
expect(fieldValidator.isValidSync(true)).toBe(false);
|
|
441
|
+
expect(fieldValidator.isValidSync(1)).toBe(false);
|
|
442
|
+
expect(fieldValidator.isValidSync(0)).toBe(false);
|
|
443
|
+
|
|
444
|
+
expect(handleValidation({ id_number: 1 }).formErrors).toEqual({
|
|
445
|
+
id_number: 'id_number must be a `string` type, but the final value was: `1`.',
|
|
446
|
+
});
|
|
443
447
|
|
|
444
448
|
expect(() => fieldValidator.validateSync('')).toThrowError('Required field');
|
|
445
449
|
});
|
|
@@ -2327,7 +2331,7 @@ describe('createHeadlessForm', () => {
|
|
|
2327
2331
|
validateForm({
|
|
2328
2332
|
validate_tabs: 'no',
|
|
2329
2333
|
a_fieldset: {
|
|
2330
|
-
id_number: 123,
|
|
2334
|
+
id_number: '123',
|
|
2331
2335
|
},
|
|
2332
2336
|
mandatory_group_array: 'no',
|
|
2333
2337
|
})
|
|
@@ -2342,7 +2346,7 @@ describe('createHeadlessForm', () => {
|
|
|
2342
2346
|
validateForm({
|
|
2343
2347
|
validate_tabs: 'yes',
|
|
2344
2348
|
a_fieldset: {
|
|
2345
|
-
id_number: 123,
|
|
2349
|
+
id_number: '123',
|
|
2346
2350
|
},
|
|
2347
2351
|
mandatory_group_array: 'no',
|
|
2348
2352
|
})
|
|
@@ -2358,7 +2362,7 @@ describe('createHeadlessForm', () => {
|
|
|
2358
2362
|
validateForm({
|
|
2359
2363
|
validate_tabs: 'yes',
|
|
2360
2364
|
a_fieldset: {
|
|
2361
|
-
id_number: 123,
|
|
2365
|
+
id_number: '123',
|
|
2362
2366
|
},
|
|
2363
2367
|
mandatory_group_array: 'yes',
|
|
2364
2368
|
a_group_array: [{ full_name: 'adfs' }],
|
|
@@ -2369,7 +2373,7 @@ describe('createHeadlessForm', () => {
|
|
|
2369
2373
|
validateForm({
|
|
2370
2374
|
validate_tabs: 'yes',
|
|
2371
2375
|
a_fieldset: {
|
|
2372
|
-
id_number: 123,
|
|
2376
|
+
id_number: '123',
|
|
2373
2377
|
tabs: 2,
|
|
2374
2378
|
},
|
|
2375
2379
|
mandatory_group_array: 'no',
|
|
@@ -2460,7 +2464,7 @@ describe('createHeadlessForm', () => {
|
|
|
2460
2464
|
validateForm({
|
|
2461
2465
|
validate_fieldset: ['id_number'],
|
|
2462
2466
|
a_fieldset: {
|
|
2463
|
-
id_number: 123,
|
|
2467
|
+
id_number: '123',
|
|
2464
2468
|
},
|
|
2465
2469
|
})
|
|
2466
2470
|
).toBeUndefined();
|
|
@@ -2469,7 +2473,7 @@ describe('createHeadlessForm', () => {
|
|
|
2469
2473
|
validateForm({
|
|
2470
2474
|
validate_fieldset: ['id_number', 'all'],
|
|
2471
2475
|
a_fieldset: {
|
|
2472
|
-
id_number: 123,
|
|
2476
|
+
id_number: '123',
|
|
2473
2477
|
},
|
|
2474
2478
|
})
|
|
2475
2479
|
).toEqual({
|
|
@@ -2482,7 +2486,7 @@ describe('createHeadlessForm', () => {
|
|
|
2482
2486
|
validateForm({
|
|
2483
2487
|
validate_fieldset: ['id_number', 'all'],
|
|
2484
2488
|
a_fieldset: {
|
|
2485
|
-
id_number: 123,
|
|
2489
|
+
id_number: '123',
|
|
2486
2490
|
tabs: 2,
|
|
2487
2491
|
},
|
|
2488
2492
|
})
|
|
@@ -2497,7 +2501,7 @@ describe('createHeadlessForm', () => {
|
|
|
2497
2501
|
validateForm({
|
|
2498
2502
|
validate_fieldset: ['id_number'],
|
|
2499
2503
|
a_fieldset: {
|
|
2500
|
-
id_number: 123,
|
|
2504
|
+
id_number: '123',
|
|
2501
2505
|
},
|
|
2502
2506
|
})
|
|
2503
2507
|
).toBeUndefined();
|
|
@@ -2506,7 +2510,7 @@ describe('createHeadlessForm', () => {
|
|
|
2506
2510
|
validateForm({
|
|
2507
2511
|
validate_fieldset: ['id_number', 'all'],
|
|
2508
2512
|
a_fieldset: {
|
|
2509
|
-
id_number: 123,
|
|
2513
|
+
id_number: '123',
|
|
2510
2514
|
},
|
|
2511
2515
|
})
|
|
2512
2516
|
).toEqual({
|
|
@@ -2519,7 +2523,7 @@ describe('createHeadlessForm', () => {
|
|
|
2519
2523
|
validateForm({
|
|
2520
2524
|
validate_fieldset: ['id_number', 'all'],
|
|
2521
2525
|
a_fieldset: {
|
|
2522
|
-
id_number: 123,
|
|
2526
|
+
id_number: '123',
|
|
2523
2527
|
tabs: 2,
|
|
2524
2528
|
},
|
|
2525
2529
|
})
|