@inseefr/lunatic 2.5.0-fix-last-reached-page → 2.5.1-suggesterCustomisationStyle

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.
Files changed (66) hide show
  1. package/lib/components/commons/components/combo-box/combo-box-container.js +15 -7
  2. package/lib/components/commons/components/combo-box/combo-box-container.spec.js +5 -5
  3. package/lib/components/commons/components/combo-box/combo-box-content-box.js +30 -0
  4. package/lib/components/commons/components/combo-box/combo-box-content.js +8 -9
  5. package/lib/components/commons/components/combo-box/combo-box.js +8 -9
  6. package/lib/components/commons/components/{default-option-renderer.js → combo-box/panel/combo-box-option.js} +3 -2
  7. package/lib/components/commons/components/{default-option-renderer.spec.js → combo-box/panel/combo-box-option.spec.js} +5 -5
  8. package/lib/components/commons/components/combo-box/panel/panel.js +4 -4
  9. package/lib/components/commons/components/combo-box/selection/LabelOrInput.js +51 -0
  10. package/lib/components/commons/components/combo-box/selection/LabelOrInput.spec.js +23 -0
  11. package/lib/components/commons/components/combo-box/selection/__snapshots__/selection.spec.tsx.snap +14 -12
  12. package/lib/components/commons/components/combo-box/selection/{delete.js → clear-button.js} +6 -3
  13. package/lib/components/commons/components/combo-box/selection/{delete.spec.js → clear-button.spec.js} +9 -9
  14. package/lib/components/commons/components/combo-box/selection/combo-box-label-selection.js +47 -0
  15. package/lib/components/commons/components/{default-label-renderer.spec.js → combo-box/selection/combo-box-label-selection.spec.js} +4 -4
  16. package/lib/components/commons/components/combo-box/selection/input.js +2 -2
  17. package/lib/components/commons/components/combo-box/selection/label-selection.js +8 -12
  18. package/lib/components/commons/components/combo-box/selection/label-selection.spec.js +3 -11
  19. package/lib/components/commons/components/combo-box/selection/selection-container.js +3 -2
  20. package/lib/components/commons/components/combo-box/selection/selection.js +8 -12
  21. package/lib/components/commons/components/combo-box/selection/selection.spec.js +5 -30
  22. package/lib/components/commons/index.js +1 -12
  23. package/lib/components/suggester/html/suggester.js +3 -5
  24. package/lib/components/suggester/lunatic-suggester.js +3 -1
  25. package/lib/src/components/commons/components/combo-box/combo-box-container.d.ts +4 -2
  26. package/lib/src/components/commons/components/combo-box/combo-box-content-box.d.ts +11 -0
  27. package/lib/src/components/commons/components/combo-box/combo-box-content.d.ts +2 -1
  28. package/lib/src/components/commons/components/combo-box/combo-box.d.ts +3 -3
  29. package/lib/src/components/commons/components/combo-box/combo-box.stories.d.ts +4 -3
  30. package/lib/src/components/commons/components/combo-box/combo-box.type.d.ts +1 -1
  31. package/lib/src/components/commons/components/combo-box/panel/combo-box-option.d.ts +8 -0
  32. package/lib/src/components/commons/components/combo-box/panel/panel.d.ts +7 -4
  33. package/lib/src/components/commons/components/combo-box/selection/LabelOrInput.d.ts +16 -0
  34. package/lib/src/components/commons/components/combo-box/selection/clear-button.d.ts +9 -0
  35. package/lib/src/components/commons/components/combo-box/selection/combo-box-label-selection.d.ts +10 -0
  36. package/lib/src/components/commons/components/combo-box/selection/input.d.ts +9 -4
  37. package/lib/src/components/commons/components/combo-box/selection/label-selection.d.ts +9 -9
  38. package/lib/src/components/commons/components/combo-box/selection/selection-container.d.ts +2 -1
  39. package/lib/src/components/commons/components/combo-box/selection/selection.d.ts +2 -1
  40. package/lib/src/components/commons/components/combo-box/state-management/actions.d.ts +5 -5
  41. package/lib/src/components/commons/index.d.ts +0 -3
  42. package/lib/src/components/dropdown/html/dropdown-simple/simple-label-renderer.d.ts +2 -2
  43. package/lib/src/components/dropdown/html/dropdown-simple/simple-option-renderer.d.ts +2 -2
  44. package/lib/src/components/dropdown/html/dropdown-writable/dropdown-writable.d.ts +2 -2
  45. package/lib/src/components/dropdown/html/dropdown-writable/writable-label-renderer.d.ts +2 -2
  46. package/lib/src/components/dropdown/html/dropdown-writable/writable-option-renderer.d.ts +2 -2
  47. package/lib/src/components/loop/block-for-loop/block-for-loop-ochestrator.d.ts +1 -1
  48. package/lib/src/components/loop/roster-for-loop/roster-for-loop-orchestrator.d.ts +1 -1
  49. package/lib/src/components/suggester/html/suggester.d.ts +2 -2
  50. package/lib/src/components/suggester/lunatic-suggester.d.ts +1 -1
  51. package/lib/src/components/suggester/searching/create-searching.d.ts +2 -2
  52. package/lib/src/i18n/index.d.ts +2 -2
  53. package/lib/src/i18n/inputNumberProps.d.ts +1 -1
  54. package/lib/stories/suggester/simple.json +15 -0
  55. package/package.json +1 -1
  56. package/lib/components/commons/components/combo-box/selection/displayLabelOrInput.js +0 -26
  57. package/lib/components/commons/components/combo-box/selection/displayLabelOrInput.spec.js +0 -56
  58. package/lib/components/commons/components/default-label-renderer.js +0 -37
  59. package/lib/src/components/commons/components/combo-box/selection/delete.d.ts +0 -8
  60. package/lib/src/components/commons/components/combo-box/selection/displayLabelOrInput.d.ts +0 -5
  61. package/lib/src/components/commons/components/default-label-renderer.d.ts +0 -8
  62. package/lib/src/components/commons/components/default-option-renderer.d.ts +0 -7
  63. /package/lib/src/components/commons/components/combo-box/{selection/delete.spec.d.ts → panel/combo-box-option.spec.d.ts} +0 -0
  64. /package/lib/src/components/commons/components/combo-box/selection/{displayLabelOrInput.spec.d.ts → LabelOrInput.spec.d.ts} +0 -0
  65. /package/lib/src/components/commons/components/{default-label-renderer.spec.d.ts → combo-box/selection/clear-button.spec.d.ts} +0 -0
  66. /package/lib/src/components/commons/components/{default-option-renderer.spec.d.ts → combo-box/selection/combo-box-label-selection.spec.d.ts} +0 -0
@@ -47,5 +47,5 @@ declare const RosterForLoopOrchestrator: ({ id, components, nbRows, valueMap, ha
47
47
  label: import("react").ReactNode;
48
48
  }[] | undefined;
49
49
  paginatedLoop?: boolean | undefined;
50
- }, "id" | "preferences" | "missing" | "errors" | "shortcut" | "disabled">, "id" | "components" | "iteration" | "executeExpression" | "features" | "preferences" | "missing" | "errors" | "shortcut" | "valueMap">) => import("react/jsx-runtime").JSX.Element | null;
50
+ }, "missing" | "shortcut" | "id" | "preferences" | "errors" | "disabled">, "missing" | "shortcut" | "id" | "components" | "iteration" | "executeExpression" | "features" | "preferences" | "errors" | "valueMap">) => import("react/jsx-runtime").JSX.Element | null;
51
51
  export default RosterForLoopOrchestrator;
@@ -1,7 +1,7 @@
1
1
  import React, { ReactNode } from 'react';
2
2
  import './default-style.scss';
3
3
  import { LunaticError } from '../../../use-lunatic/type';
4
- import { ComboBoxOption } from '../../commons/components/combo-box/combo-box.type';
4
+ import { ComboBoxOptionType } from '../../commons/components/combo-box/combo-box.type';
5
5
  import { LunaticComponentProps } from '../../type';
6
6
  type Props = {
7
7
  className?: string;
@@ -13,7 +13,7 @@ type Props = {
13
13
  disabled?: boolean;
14
14
  id?: string;
15
15
  searching?: (s: string | null) => Promise<{
16
- results: ComboBoxOption[];
16
+ results: ComboBoxOptionType[];
17
17
  }>;
18
18
  label?: ReactNode;
19
19
  description?: ReactNode;
@@ -1,3 +1,3 @@
1
1
  import { LunaticComponentProps } from '../type';
2
- declare function LunaticSuggester({ id, storeName, optionRenderer, labelRenderer, idbVersion, focused, value, handleChange, disabled, errors, label, description, preferences, declarations, missing, missingResponse, management, response, getSuggesterStatus, }: LunaticComponentProps<'Suggester'>): import("react/jsx-runtime").JSX.Element;
2
+ declare function LunaticSuggester({ id, storeName, optionRenderer, labelRenderer, idbVersion, focused, value, handleChange, disabled, errors, label, description, preferences, declarations, missing, missingResponse, management, response, className, getSuggesterStatus, }: LunaticComponentProps<'Suggester'>): import("react/jsx-runtime").JSX.Element;
3
3
  export default LunaticSuggester;
@@ -1,6 +1,6 @@
1
- import { ComboBoxOption } from '../../commons/components/combo-box/combo-box.type';
1
+ import { ComboBoxOptionType } from '../../commons/components/combo-box/combo-box.type';
2
2
  export declare function isWorkerCompatible(): boolean;
3
3
  declare function createSearching(name: string, version: string): (search: string | null) => Promise<{
4
- results: ComboBoxOption[];
4
+ results: ComboBoxOptionType[];
5
5
  }>;
6
6
  export default createSearching;
@@ -1,7 +1,7 @@
1
1
  export declare const inputNumberPropsI18N: {
2
- allDecimalSeparators: ("." | ",")[];
2
+ allDecimalSeparators: ("," | ".")[];
3
3
  thousandSeparator: string;
4
4
  decimalSeparator: string;
5
5
  };
6
- declare const _default: Record<"DK" | "RF" | "DEFAULT_BUTTON_ADD" | "DEFAULT_BUTTON_REMOVE" | "MODAL_IGNORE" | "MODAL_CORRECT" | "PLACEHOLDER", string>;
6
+ declare const _default: Record<"DEFAULT_BUTTON_ADD" | "DEFAULT_BUTTON_REMOVE" | "MODAL_IGNORE" | "MODAL_CORRECT" | "DK" | "RF" | "PLACEHOLDER", string>;
7
7
  export default _default;
@@ -8,6 +8,6 @@ declare const inputNumberProps: {
8
8
  readonly en: ".";
9
9
  };
10
10
  };
11
- export declare const allDecimalSeparators: ("." | ",")[];
11
+ export declare const allDecimalSeparators: ("," | ".")[];
12
12
  export type InputNumberPropsI18N = typeof inputNumberProps;
13
13
  export default inputNumberProps;
@@ -46,6 +46,21 @@
46
46
  "value": "true",
47
47
  "type": "VTL"
48
48
  },
49
+ "controls": [
50
+ {
51
+ "id": "age-controls",
52
+ "criticality": "ERROR",
53
+ "typeOfControl": "FORMAT",
54
+ "control": {
55
+ "value": "not(isnull(HELLO))",
56
+ "type": "VTL"
57
+ },
58
+ "errorMessage": {
59
+ "value": "\"Veuillez selectionner quelquechose\"",
60
+ "type": "VTL"
61
+ }
62
+ }
63
+ ],
49
64
  "response": {
50
65
  "name": "HELLO"
51
66
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inseefr/lunatic",
3
- "version": "2.5.0-fix-last-reached-page",
3
+ "version": "2.5.1-suggesterCustomisationStyle",
4
4
  "workersVersion": "0.2.5-experimental",
5
5
  "description": "Library of questionnaire components",
6
6
  "repository": {
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.displayLabelOrInput = displayLabelOrInput;
7
- var _react = require("react");
8
- var _jsxRuntime = require("react/jsx-runtime");
9
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
10
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
15
- function displayLabelOrInput(Field, name) {
16
- var Memoized = /*#__PURE__*/(0, _react.memo)(Field);
17
- return function LabelOrInput(props) {
18
- var editable = props.editable,
19
- expanded = props.expanded;
20
- var displayLabel = !editable || !expanded;
21
- if (name === 'Input' && !displayLabel || name === 'LabelSelection' && displayLabel) {
22
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Memoized, _objectSpread({}, props));
23
- }
24
- return null;
25
- };
26
- }
@@ -1,56 +0,0 @@
1
- "use strict";
2
-
3
- var _react = _interopRequireDefault(require("react"));
4
- var _react2 = require("@testing-library/react");
5
- var _displayLabelOrInput = require("./displayLabelOrInput");
6
- var _vitest = require("vitest");
7
- var _jsxRuntime = require("react/jsx-runtime");
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
- (0, _vitest.describe)('displayLabelOrInput', function () {
10
- var MockComponent = function MockComponent(_ref) {
11
- var value = _ref.value;
12
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
13
- children: value
14
- });
15
- };
16
- (0, _vitest.it)('should render Memoized component when name is Input and displayLabel is false', function () {
17
- var WrappedComponent = (0, _displayLabelOrInput.displayLabelOrInput)(MockComponent, 'Input');
18
- var _render = (0, _react2.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {
19
- editable: true,
20
- value: "hello",
21
- expanded: true
22
- })),
23
- getByText = _render.getByText;
24
- (0, _vitest.expect)(getByText('hello')).toBeInTheDocument();
25
- });
26
- (0, _vitest.it)('should render nothing when name is Input and displayLabel is true', function () {
27
- var WrappedComponent = (0, _displayLabelOrInput.displayLabelOrInput)(MockComponent, 'Input');
28
- var _render2 = (0, _react2.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {
29
- editable: false,
30
- value: "hello",
31
- expanded: true
32
- })),
33
- container = _render2.container;
34
- (0, _vitest.expect)(container.firstChild).toBeNull();
35
- });
36
- (0, _vitest.it)('should render Memoized component when name is LabelSelection and displayLabel is true', function () {
37
- var WrappedComponent = (0, _displayLabelOrInput.displayLabelOrInput)(MockComponent, 'LabelSelection');
38
- var _render3 = (0, _react2.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {
39
- editable: false,
40
- value: "hello",
41
- expanded: true
42
- })),
43
- getByText = _render3.getByText;
44
- (0, _vitest.expect)(getByText('hello')).toBeInTheDocument();
45
- });
46
- (0, _vitest.it)('should render nothing when name is LabelSelection and displayLabel is false', function () {
47
- var WrappedComponent = (0, _displayLabelOrInput.displayLabelOrInput)(MockComponent, 'LabelSelection');
48
- var _render4 = (0, _react2.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {
49
- editable: true,
50
- value: "hello",
51
- expanded: true
52
- })),
53
- container = _render4.container;
54
- (0, _vitest.expect)(container.firstChild).toBeNull();
55
- });
56
- });
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _jsxRuntime = require("react/jsx-runtime");
8
- function getContent(option, search) {
9
- if (option) {
10
- var id = option.id,
11
- value = option.value,
12
- label = option.label;
13
- return label ? "".concat(id || value, " - ").concat(label) : id || value;
14
- }
15
- if (search && search.trim().length) {
16
- return search;
17
- }
18
- return null;
19
- }
20
- function DefaultLabelRenderer(_ref) {
21
- var option = _ref.option,
22
- placeholder = _ref.placeholder,
23
- search = _ref.search;
24
- var content = getContent(option, search);
25
- if (content) {
26
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
27
- className: "selection",
28
- children: content
29
- });
30
- }
31
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
32
- className: "placeholder",
33
- children: placeholder
34
- });
35
- }
36
- var _default = DefaultLabelRenderer;
37
- exports["default"] = _default;
@@ -1,8 +0,0 @@
1
- type Props = {
2
- className?: string;
3
- search?: string;
4
- onClick?: () => void;
5
- editable?: boolean;
6
- };
7
- export declare function Delete({ className, search, onClick, editable }: Props): import("react/jsx-runtime").JSX.Element | null;
8
- export {};
@@ -1,5 +0,0 @@
1
- import { FunctionComponent } from 'react';
2
- export declare function displayLabelOrInput<T extends Record<string, unknown>>(Field: FunctionComponent<T>, name: string): (props: T & {
3
- editable?: boolean;
4
- expanded?: boolean;
5
- }) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,8 +0,0 @@
1
- import { SuggesterOption } from '../../type';
2
- type Props = {
3
- option?: SuggesterOption | null;
4
- placeholder?: string;
5
- search?: string;
6
- };
7
- declare function DefaultLabelRenderer({ option, placeholder, search }: Props): import("react/jsx-runtime").JSX.Element;
8
- export default DefaultLabelRenderer;
@@ -1,7 +0,0 @@
1
- import { SuggesterOption } from '../../type';
2
- type Props = {
3
- option: SuggesterOption;
4
- selected?: boolean;
5
- };
6
- declare function DefaultOptionRenderer({ option, selected }: Props): import("react/jsx-runtime").JSX.Element;
7
- export default DefaultOptionRenderer;