@inseefr/lunatic 2.7.0-rc.5 → 2.7.2
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/README.md +45 -11
- package/lib/components/checkbox/checkbox-boolean/html/checkbox-boolean.js +3 -3
- package/lib/components/checkbox/checkbox-boolean/lunatic-checkbox-boolean.js +2 -1
- package/lib/components/checkbox/checkbox-group/checkbox-group-content.js +0 -2
- package/lib/components/checkbox/checkbox-group/html/checkbox-group-content.js +4 -2
- package/lib/components/checkbox/checkbox-group/html/checkbox-group.js +3 -3
- package/lib/components/checkbox/checkbox-group/lunatic-checkbox-group.js +2 -2
- package/lib/components/checkbox/checkbox-one/lunatic-checkbox-one.js +2 -1
- package/lib/components/checkbox/commons/checkbox-option.js +3 -1
- package/lib/components/commons/components/combo-box/combo-box-container.js +1 -2
- package/lib/components/commons/components/combo-box/combo-box.js +2 -2
- package/lib/components/commons/components/combo-box/selection/LabelOrInput.js +3 -1
- package/lib/components/commons/components/combo-box/selection/input.js +3 -1
- package/lib/components/commons/components/combo-box/selection/selection.js +3 -1
- package/lib/components/commons/components/errors/errors.js +12 -10
- package/lib/components/commons/components/errors/errors.spec.js +6 -6
- package/lib/components/component-set/html/__snapshots__/component-set.spec.tsx.snap +2 -0
- package/lib/components/component-set/html/component-set.js +2 -2
- package/lib/components/datepicker/html/DatepickerField.js +47 -0
- package/lib/components/datepicker/html/__snapshots__/datepicker.spec.tsx.snap +209 -17
- package/lib/components/datepicker/html/datepicker.js +104 -21
- package/lib/components/datepicker/html/datepicker.scss +19 -1
- package/lib/components/datepicker/html/datepicker.spec.js +71 -23
- package/lib/components/datepicker/lunatic-datepicker.js +5 -2
- package/lib/components/dropdown/lunatic-dropdown.js +2 -1
- package/lib/components/duration/duration.js +6 -7
- package/lib/components/duration/duration.scss +6 -14
- package/lib/components/duration/durationInput.js +14 -8
- package/lib/components/duration/durationUtils.js +38 -8
- package/lib/components/input/html/__snapshots__/input.spec.tsx.snap +2 -0
- package/lib/components/input/html/input.js +3 -3
- package/lib/components/input/lunatic-input.js +2 -1
- package/lib/components/input-number/html/__snapshots__/input-number.spec.tsx.snap +2 -2
- package/lib/components/input-number/html/input-number-thousand.js +4 -17
- package/lib/components/input-number/html/input-number.js +3 -5
- package/lib/components/input-number/lunatic-input-number.js +2 -3
- package/lib/components/loop/roster-for-loop/__snapshots__/roster-for-loop.spec.tsx.snap +88 -0
- package/lib/components/loop/roster-for-loop/roster-for-loop.js +7 -3
- package/lib/components/loop/roster-for-loop/roster-for-loop.spec.js +46 -0
- package/lib/components/lunatic-components.js +2 -11
- package/lib/components/radio/html/radio-group-content.js +4 -2
- package/lib/components/radio/html/radio-group.js +3 -3
- package/lib/components/radio/html/radio-option.js +3 -1
- package/lib/components/radio/lunatic-radio-group.js +2 -1
- package/lib/components/suggester/find-best-label/find-best-label.js +5 -5
- package/lib/components/suggester/idb-suggester/check-store.js +6 -3
- package/lib/components/suggester/idb-suggester/idb-suggester.js +8 -7
- package/lib/components/suggester/idb-suggester/suggester-status.js +1 -4
- package/lib/components/suggester/lunatic-suggester.js +7 -4
- package/lib/components/suggester/searching/create-searching.js +5 -5
- package/lib/components/switch/html/switch.js +2 -2
- package/lib/components/switch/lunatic-switch.js +2 -1
- package/lib/components/table/lunatic-table.js +2 -2
- package/lib/components/textarea/html/__snapshots__/textarea.spec.tsx.snap +2 -0
- package/lib/components/textarea/html/textarea.js +6 -4
- package/lib/components/textarea/lunatic-textarea.js +6 -3
- package/lib/hooks/use-auto-focus.js +26 -0
- package/lib/src/components/checkbox/checkbox-boolean/html/checkbox-boolean.d.ts +1 -1
- package/lib/src/components/checkbox/checkbox-group/html/checkbox-group-content.d.ts +2 -1
- package/lib/src/components/checkbox/checkbox-group/html/checkbox-group.d.ts +1 -1
- package/lib/src/components/checkbox/commons/checkbox-option.d.ts +1 -0
- package/lib/src/components/commons/components/combo-box/combo-box-container.d.ts +2 -2
- package/lib/src/components/commons/components/combo-box/combo-box.d.ts +2 -2
- package/lib/src/components/commons/components/combo-box/selection/LabelOrInput.d.ts +1 -0
- package/lib/src/components/commons/components/combo-box/selection/input.d.ts +1 -0
- package/lib/src/components/commons/components/combo-box/selection/selection.d.ts +2 -1
- package/lib/src/components/commons/components/errors/errors.d.ts +6 -3
- package/lib/src/components/datepicker/html/DatepickerField.d.ts +12 -0
- package/lib/src/components/datepicker/html/datepicker.d.ts +4 -3
- package/lib/src/components/datepicker/lunatic-datepicker.d.ts +1 -0
- package/lib/src/components/dropdown/html/dropdown-writable/dropdown-writable.d.ts +1 -1
- package/lib/src/components/dropdown/html/dropdown.d.ts +3 -1
- package/lib/src/components/duration/durationInput.d.ts +6 -2
- package/lib/src/components/duration/durationUtils.d.ts +24 -7
- package/lib/src/components/input/html/input.d.ts +2 -2
- package/lib/src/components/input-number/html/input-number-thousand.d.ts +2 -2
- package/lib/src/components/input-number/html/input-number.d.ts +2 -3
- package/lib/src/components/radio/html/radio-group-content.d.ts +2 -1
- package/lib/src/components/radio/html/radio-group.d.ts +1 -1
- package/lib/src/components/radio/html/radio-option.d.ts +1 -0
- package/lib/src/components/suggester/find-best-label/find-best-label.d.ts +1 -1
- package/lib/src/components/suggester/html/suggester.d.ts +1 -1
- package/lib/src/components/suggester/idb-suggester/check-store.d.ts +5 -2
- package/lib/src/components/suggester/idb-suggester/idb-suggester.d.ts +5 -2
- package/lib/src/components/suggester/idb-suggester/suggester-status.d.ts +1 -4
- package/lib/src/components/suggester/lunatic-suggester.d.ts +1 -1
- package/lib/src/components/suggester/searching/create-searching.d.ts +1 -1
- package/lib/src/components/switch/html/switch.d.ts +1 -1
- package/lib/src/components/textarea/html/textarea.d.ts +3 -2
- package/lib/src/components/type.d.ts +5 -3
- package/lib/src/hooks/use-auto-focus.d.ts +6 -0
- package/lib/src/use-lunatic/actions.d.ts +2 -0
- package/lib/src/use-lunatic/commons/fill-components/fill-component-required.d.ts +383 -0
- package/lib/src/use-lunatic/commons/fill-components/fill-component-value.d.ts +1 -1
- package/lib/src/use-lunatic/commons/fill-components/fill-component-value.spec.d.ts +1 -0
- package/lib/src/use-lunatic/commons/fill-components/fill-from-state.d.ts +20 -0
- package/lib/src/use-lunatic/commons/variables/lunatic-variables-store.d.ts +4 -0
- package/lib/src/use-lunatic/reducer/overview/overview-on-init.d.ts +1 -0
- package/lib/src/use-lunatic/type.d.ts +1 -0
- package/lib/src/use-lunatic/use-lunatic.d.ts +9 -5
- package/lib/src/use-lunatic/use-suggesters.d.ts +2 -1
- package/lib/src/utils/suggester-workers/append-to-index/create-append-task.d.ts +2 -2
- package/lib/src/utils/suggester-workers/worker-path.d.ts +1 -1
- package/lib/stories/behaviour/cleaning/source.json +151 -0
- package/lib/stories/behaviour/cleaning/test.stories.js +82 -0
- package/lib/stories/{questionnaires-test → behaviour}/controls/controls.stories.js +5 -5
- package/lib/stories/{questionnaires-test → behaviour/others}/test.stories.js +7 -7
- package/lib/stories/{paste-questionnaire → behaviour/paste}/test.stories.js +3 -3
- package/lib/stories/{resizing-questionnaire → behaviour/resizing}/test.stories.js +3 -3
- package/lib/stories/date-picker/datepicker.stories.js +32 -29
- package/lib/stories/duration/duration.stories.js +4 -4
- package/lib/stories/duration/{source.json → mois.json} +1 -1
- package/lib/stories/duration/{source1.json → time.json} +1 -1
- package/lib/use-lunatic/commons/fill-components/fill-component-required.js +23 -0
- package/lib/use-lunatic/commons/fill-components/fill-component-value.js +1 -1
- package/lib/use-lunatic/commons/fill-components/fill-component-value.spec.js +67 -0
- package/lib/use-lunatic/commons/fill-components/fill-components.js +2 -1
- package/lib/use-lunatic/commons/fill-components/fill-from-state.js +2 -0
- package/lib/use-lunatic/commons/variables/lunatic-variables-store.js +20 -0
- package/lib/use-lunatic/commons/variables/lunatic-variables-store.spec.js +15 -1
- package/lib/use-lunatic/initial-state.js +2 -1
- package/lib/use-lunatic/reducer/reduce-on-init.js +4 -2
- package/lib/use-lunatic/use-lunatic.js +12 -10
- package/lib/use-lunatic/use-suggesters.js +54 -37
- package/lib/utils/env.js +9 -1
- package/lib/utils/suggester-workers/append-to-index/create-append-task.js +4 -3
- package/lib/utils/suggester-workers/{create-worker-ts.js → create-worker.js} +10 -1
- package/lib/utils/suggester-workers/worker-path.js +5 -4
- package/package.json +20 -10
- package/scripts/build/add-workers-to-public.js +31 -31
- package/scripts/build/workers-paths.js +18 -7
- package/workers-release/{lunatic-append-worker-0.3.0-experimental.js → lunatic-append-worker-0.3.0.js} +1 -1
- package/workers-release/{lunatic-label-worker-0.3.0-experimental.js → lunatic-label-worker-0.3.0.js} +1 -1
- package/workers-release/{lunatic-searching-worker-0.3.0-experimental.js → lunatic-search-worker-0.3.0.js} +1 -1
- package/lib/components/datepicker/html/datepicker-container.js +0 -17
- package/lib/components/datepicker/html/datepicker-input.js +0 -35
- package/lib/env.d.js +0 -1
- package/lib/src/components/datepicker/html/datepicker-container.d.ts +0 -3
- package/lib/src/components/datepicker/html/datepicker-input.d.ts +0 -13
- package/lib/src/utils/get-component-value.d.ts +0 -5
- package/lib/utils/get-component-value.js +0 -34
- package/lib/utils/get-component-value.test.js +0 -57
- /package/lib/src/{utils/get-component-value.test.d.ts → components/loop/roster-for-loop/roster-for-loop.spec.d.ts} +0 -0
- /package/lib/src/utils/suggester-workers/{create-worker-ts.d.ts → create-worker.d.ts} +0 -0
- /package/lib/stories/{questionnaires-test → behaviour}/controls/V2_ControlesNonNum_horsBoucle_PasPageFin.json +0 -0
- /package/lib/stories/{questionnaires-test → behaviour}/controls/V2_ControlesNum_horsBoucle_PasPageFin.json +0 -0
- /package/lib/stories/{questionnaires-test → behaviour}/controls/V2_Controles_BouclesLiees2_PasPageFin.json +0 -0
- /package/lib/stories/{questionnaires-test → behaviour}/controls/V2_Controles_BouclesLiees_PasPageFin.json +0 -0
- /package/lib/stories/{questionnaires-test → behaviour}/controls/boucles-n.json +0 -0
- /package/lib/stories/{questionnaires-test → behaviour}/controls/controls-externes.json +0 -0
- /package/lib/stories/{questionnaires-test → behaviour}/controls/controls-externes.stories.js +0 -0
- /package/lib/stories/{questionnaires-test → behaviour/others}/V2_DeclarationsSimples.json +0 -0
- /package/lib/stories/{questionnaires-test → behaviour/others}/V2_MinMaxSum_Boucles.json +0 -0
- /package/lib/stories/{questionnaires-test → behaviour/others}/V2_QuestSimple_Boucles.json +0 -0
- /package/lib/stories/{questionnaires-test → behaviour/others}/V2_TCMRallyeGames.json +0 -0
- /package/lib/stories/{questionnaires-test → behaviour/others}/test-dylan.json +0 -0
- /package/lib/stories/{paste-questionnaire → behaviour/paste}/source.json +0 -0
- /package/lib/stories/{resizing-questionnaire → behaviour/resizing}/source.json +0 -0
- /package/workers-release/{lunatic-append-worker-0.3.0-experimental.js.LICENSE.txt → lunatic-append-worker-0.3.0.js.LICENSE.txt} +0 -0
- /package/workers-release/{lunatic-label-worker-0.3.0-experimental.js.LICENSE.txt → lunatic-label-worker-0.3.0.js.LICENSE.txt} +0 -0
- /package/workers-release/{lunatic-searching-worker-0.3.0-experimental.js.LICENSE.txt → lunatic-search-worker-0.3.0.js.LICENSE.txt} +0 -0
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inseefr/lunatic",
|
|
3
|
-
"version": "2.7.
|
|
4
|
-
"workersVersion": "0.3.0
|
|
3
|
+
"version": "2.7.2",
|
|
4
|
+
"workersVersion": "0.3.0",
|
|
5
5
|
"description": "Library of questionnaire components",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -9,9 +9,17 @@
|
|
|
9
9
|
},
|
|
10
10
|
"author": "INSEE (http://www.insee.fr)",
|
|
11
11
|
"contributor": [
|
|
12
|
+
{
|
|
13
|
+
"name": "Jonathan Boyer",
|
|
14
|
+
"email": "contact@grafikart.fr"
|
|
15
|
+
},
|
|
12
16
|
{
|
|
13
17
|
"name": "Laurent Caouissin",
|
|
14
|
-
"email": "laurent.caouissin@
|
|
18
|
+
"email": "laurent.caouissin@insee.fr"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "Dylan Decrulle",
|
|
22
|
+
"email": "dylan.decrulle@insee.fr"
|
|
15
23
|
},
|
|
16
24
|
{
|
|
17
25
|
"name": "Renaud Genevois",
|
|
@@ -28,14 +36,15 @@
|
|
|
28
36
|
"files": [
|
|
29
37
|
"lib",
|
|
30
38
|
"workers-release",
|
|
31
|
-
"scripts/build/workers-paths.js"
|
|
39
|
+
"scripts/build/workers-paths.js",
|
|
40
|
+
"scripts/build/add-workers-to-public.js"
|
|
32
41
|
],
|
|
33
42
|
"scripts": {
|
|
34
|
-
"test": "
|
|
35
|
-
"test:e2e": "
|
|
36
|
-
"test:e2e:visual": "
|
|
37
|
-
"test:e2e:codegen": "
|
|
38
|
-
"test:storybook": "
|
|
43
|
+
"test": "vitest run",
|
|
44
|
+
"test:e2e": "playwright test",
|
|
45
|
+
"test:e2e:visual": "playwright test --headed --debug e2e/pairwise.spec.ts",
|
|
46
|
+
"test:e2e:codegen": "playwright codegen http://localhost:9999/iframe.html?viewMode=story&id=",
|
|
47
|
+
"test:storybook": "test-storybook --url http://localhost:9999 --maxWorkers=4 --no-cache",
|
|
39
48
|
"test-watch": "vitest",
|
|
40
49
|
"check": "tsc",
|
|
41
50
|
"lint": "eslint ./src",
|
|
@@ -46,12 +55,13 @@
|
|
|
46
55
|
"test-coverage": "vitest run --coverage",
|
|
47
56
|
"build-workers": "node ./scripts/build/build-workers.js",
|
|
48
57
|
"prepare-workers": "npm run build-workers && node ./scripts/build/add-workers-to-public.js",
|
|
58
|
+
"postinstall": "node ./scripts/build/add-workers-to-public.js",
|
|
49
59
|
"build": "babel src --out-dir lib --extensions \".ts,.js,.tsx,.jsx\" --copy-files && tsc --project tsconfig.prod.json && npm run build-workers",
|
|
50
60
|
"storybook": "npm run prepare-workers && storybook dev -p 9999 --no-open",
|
|
51
61
|
"build-storybook": "npm run prepare-workers && storybook build"
|
|
52
62
|
},
|
|
53
63
|
"bin": {
|
|
54
|
-
"
|
|
64
|
+
"workers": "./scripts/build/add-workers-to-public.js"
|
|
55
65
|
},
|
|
56
66
|
"keywords": [
|
|
57
67
|
"react",
|
|
@@ -1,44 +1,44 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
const fs = require('fs');
|
|
3
|
+
const path = require('path');
|
|
3
4
|
const { currentPublicFolder, workersPath } = require('./workers-paths');
|
|
4
5
|
|
|
6
|
+
const currentPackageJson = require(path.resolve(
|
|
7
|
+
`${process.cwd()}/package.json`
|
|
8
|
+
));
|
|
9
|
+
const lunaticPackageJson = require('../../package.json');
|
|
10
|
+
|
|
5
11
|
/**
|
|
6
12
|
* Copy worker only if not exists
|
|
7
13
|
*/
|
|
8
14
|
const copyWorkerToPublicFolder = () => {
|
|
15
|
+
console.log('Running add-workers-to-public....');
|
|
16
|
+
|
|
9
17
|
if (!fs.existsSync(currentPublicFolder)) {
|
|
10
18
|
fs.mkdirSync(currentPublicFolder, { recursive: true });
|
|
11
19
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
`${
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if (!isSearchingWorkerExists) {
|
|
33
|
-
console.log(
|
|
34
|
-
`Copy : ${workersPath.searching.name} to ${currentPublicFolder}`
|
|
35
|
-
);
|
|
36
|
-
fs.copyFileSync(workersPath.searching.source, workersPath.searching.dest);
|
|
37
|
-
} else {
|
|
38
|
-
console.log(
|
|
39
|
-
`${workersPath.searching.name} is already in ${currentPublicFolder} -> Skipped`
|
|
40
|
-
);
|
|
41
|
-
}
|
|
20
|
+
|
|
21
|
+
Object.keys(workersPath).forEach((worker) => {
|
|
22
|
+
const { name, source, dest } = workersPath[worker];
|
|
23
|
+
const isWorkerExists = fs.existsSync(dest);
|
|
24
|
+
|
|
25
|
+
if (!isWorkerExists) {
|
|
26
|
+
console.log(`Copy : ${name} to ${currentPublicFolder}`);
|
|
27
|
+
fs.copyFileSync(source, dest);
|
|
28
|
+
} else {
|
|
29
|
+
console.log(`${name} is already in ${currentPublicFolder} -> Skipped`);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const isLunaticPostInstall = () => {
|
|
35
|
+
const lunaticName = lunaticPackageJson.name;
|
|
36
|
+
const currentName = currentPackageJson.name;
|
|
37
|
+
|
|
38
|
+
const currentNpmLiveCycle = process.env.npm_lifecycle_event;
|
|
39
|
+
return lunaticName === currentName && currentNpmLiveCycle === 'postinstall';
|
|
42
40
|
};
|
|
43
41
|
|
|
44
|
-
|
|
42
|
+
if (isLunaticPostInstall()) {
|
|
43
|
+
console.log('PostInstall skipped !');
|
|
44
|
+
} else copyWorkerToPublicFolder();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
const lunaticPackageJson = require('../../package.json');
|
|
2
2
|
const path = require('path');
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
const version = lunaticPackageJson.workersVersion;
|
|
5
5
|
|
|
6
6
|
const currentPublicFolder = path.resolve(`${process.cwd()}/public/workers`);
|
|
7
7
|
const workersReleaseFolder = path.resolve(__dirname, '../../workers-release');
|
|
@@ -11,19 +11,30 @@ const workersPath = {
|
|
|
11
11
|
name: 'Append worker',
|
|
12
12
|
source: `${workersReleaseFolder}/lunatic-append-worker-${version}.js`,
|
|
13
13
|
dest: `${currentPublicFolder}/lunatic-append-worker-${version}.js`,
|
|
14
|
-
webpack:
|
|
14
|
+
webpack: {
|
|
15
|
+
entry: './src/utils/suggester-workers/append-to-index/append.worker.js',
|
|
16
|
+
filename: `lunatic-append-worker-${version}.js`,
|
|
17
|
+
},
|
|
15
18
|
},
|
|
19
|
+
// Label worker is not currently used
|
|
16
20
|
label: {
|
|
17
21
|
name: 'Label worker',
|
|
18
22
|
source: `${workersReleaseFolder}/lunatic-label-worker-${version}.js`,
|
|
19
23
|
dest: `${currentPublicFolder}/lunatic-label-worker-${version}.js`,
|
|
20
|
-
webpack:
|
|
24
|
+
webpack: {
|
|
25
|
+
entry:
|
|
26
|
+
'./src/utils/suggester-workers/find-best-label/find-best-label.worker.js',
|
|
27
|
+
filename: `lunatic-label-worker-${version}.js`,
|
|
28
|
+
},
|
|
21
29
|
},
|
|
22
30
|
searching: {
|
|
23
31
|
name: 'Searching worker',
|
|
24
|
-
source: `${workersReleaseFolder}/lunatic-
|
|
25
|
-
dest: `${currentPublicFolder}/lunatic-
|
|
26
|
-
webpack:
|
|
32
|
+
source: `${workersReleaseFolder}/lunatic-search-worker-${version}.js`,
|
|
33
|
+
dest: `${currentPublicFolder}/lunatic-search-worker-${version}.js`,
|
|
34
|
+
webpack: {
|
|
35
|
+
entry: './src/utils/suggester-workers/searching/searching.worker.js',
|
|
36
|
+
filename: `lunatic-search-worker-${version}.js`,
|
|
37
|
+
},
|
|
27
38
|
},
|
|
28
39
|
};
|
|
29
40
|
|