@roqua/quby-frontend 0.2.0 → 0.4.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.
Files changed (103) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +4 -0
  3. package/lib/assets/quby/application.css +0 -650
  4. package/lib/components/AnswerPage.d.ts.map +1 -1
  5. package/lib/components/AnswerPage.js +66 -13
  6. package/lib/components/AnswerPage.js.map +1 -1
  7. package/lib/components/Paginator.d.ts +3 -1
  8. package/lib/components/Paginator.d.ts.map +1 -1
  9. package/lib/components/Paginator.js +28 -9
  10. package/lib/components/Paginator.js.map +1 -1
  11. package/lib/components/PanelContent.d.ts +1 -0
  12. package/lib/components/PanelContent.d.ts.map +1 -1
  13. package/lib/components/PanelContent.js +2 -2
  14. package/lib/components/PanelContent.js.map +1 -1
  15. package/lib/components/PanelItem.d.ts +1 -0
  16. package/lib/components/PanelItem.d.ts.map +1 -1
  17. package/lib/components/PanelItem.js +1 -1
  18. package/lib/components/PanelItem.js.map +1 -1
  19. package/lib/components/QuestionDescription.d.ts +1 -1
  20. package/lib/components/QuestionDescription.d.ts.map +1 -1
  21. package/lib/components/QuestionDescription.js +2 -0
  22. package/lib/components/QuestionDescription.js.map +1 -1
  23. package/lib/components/QuestionWrapper.d.ts +3 -2
  24. package/lib/components/QuestionWrapper.d.ts.map +1 -1
  25. package/lib/components/QuestionWrapper.js +20 -3
  26. package/lib/components/QuestionWrapper.js.map +1 -1
  27. package/lib/components/ValidationErrors.d.ts +2 -2
  28. package/lib/components/ValidationErrors.d.ts.map +1 -1
  29. package/lib/components/ValidationErrors.js +15 -2
  30. package/lib/components/ValidationErrors.js.map +1 -1
  31. package/lib/components/items/QuestionItem.d.ts +1 -0
  32. package/lib/components/items/QuestionItem.d.ts.map +1 -1
  33. package/lib/components/items/QuestionItem.js +13 -13
  34. package/lib/components/items/QuestionItem.js.map +1 -1
  35. package/lib/components/questions/CheckBoxQuestion.d.ts +1 -0
  36. package/lib/components/questions/CheckBoxQuestion.d.ts.map +1 -1
  37. package/lib/components/questions/CheckBoxQuestion.js +9 -7
  38. package/lib/components/questions/CheckBoxQuestion.js.map +1 -1
  39. package/lib/components/questions/DatePartsQuestion.d.ts +10 -0
  40. package/lib/components/questions/DatePartsQuestion.d.ts.map +1 -0
  41. package/lib/components/questions/DatePartsQuestion.js +37 -0
  42. package/lib/components/questions/DatePartsQuestion.js.map +1 -0
  43. package/lib/components/questions/FloatQuestion.d.ts +2 -1
  44. package/lib/components/questions/FloatQuestion.d.ts.map +1 -1
  45. package/lib/components/questions/FloatQuestion.js +3 -3
  46. package/lib/components/questions/FloatQuestion.js.map +1 -1
  47. package/lib/components/questions/IntegerQuestion.d.ts +2 -1
  48. package/lib/components/questions/IntegerQuestion.d.ts.map +1 -1
  49. package/lib/components/questions/IntegerQuestion.js +6 -3
  50. package/lib/components/questions/IntegerQuestion.js.map +1 -1
  51. package/lib/components/questions/RadioQuestion.d.ts +1 -0
  52. package/lib/components/questions/RadioQuestion.d.ts.map +1 -1
  53. package/lib/components/questions/RadioQuestion.js +8 -6
  54. package/lib/components/questions/RadioQuestion.js.map +1 -1
  55. package/lib/components/questions/ScaleQuestion.d.ts +3 -2
  56. package/lib/components/questions/ScaleQuestion.d.ts.map +1 -1
  57. package/lib/components/questions/ScaleQuestion.js +7 -7
  58. package/lib/components/questions/ScaleQuestion.js.map +1 -1
  59. package/lib/components/questions/SelectQuestion.d.ts +1 -0
  60. package/lib/components/questions/SelectQuestion.d.ts.map +1 -1
  61. package/lib/components/questions/SelectQuestion.js +8 -4
  62. package/lib/components/questions/SelectQuestion.js.map +1 -1
  63. package/lib/components/questions/SliderQuestion.d.ts +1 -0
  64. package/lib/components/questions/SliderQuestion.d.ts.map +1 -1
  65. package/lib/components/questions/SliderQuestion.js +6 -6
  66. package/lib/components/questions/SliderQuestion.js.map +1 -1
  67. package/lib/components/questions/StringQuestion.d.ts +1 -0
  68. package/lib/components/questions/StringQuestion.d.ts.map +1 -1
  69. package/lib/components/questions/StringQuestion.js +4 -4
  70. package/lib/components/questions/StringQuestion.js.map +1 -1
  71. package/lib/components/questions/TextareaQuestion.d.ts +1 -0
  72. package/lib/components/questions/TextareaQuestion.d.ts.map +1 -1
  73. package/lib/components/questions/TextareaQuestion.js +3 -3
  74. package/lib/components/questions/TextareaQuestion.js.map +1 -1
  75. package/lib/core/mock_helpers.d.ts +4 -3
  76. package/lib/core/mock_helpers.d.ts.map +1 -1
  77. package/lib/core/mock_helpers.js +16 -2
  78. package/lib/core/mock_helpers.js.map +1 -1
  79. package/lib/core/questionnaire.d.ts +1 -0
  80. package/lib/core/questionnaire.d.ts.map +1 -1
  81. package/lib/core/questionnaire.js +1 -0
  82. package/lib/core/questionnaire.js.map +1 -1
  83. package/lib/core/questionnaire_json.d.ts +57 -21
  84. package/lib/core/questionnaire_json.d.ts.map +1 -1
  85. package/lib/core/response.d.ts +23 -9
  86. package/lib/core/response.d.ts.map +1 -1
  87. package/lib/core/response.js +65 -8
  88. package/lib/core/response.js.map +1 -1
  89. package/lib/core/validators.d.ts +11 -6
  90. package/lib/core/validators.d.ts.map +1 -1
  91. package/lib/core/validators.js +166 -27
  92. package/lib/core/validators.js.map +1 -1
  93. package/lib/core/visibility_rules.d.ts.map +1 -1
  94. package/lib/core/visibility_rules.js +3 -5
  95. package/lib/core/visibility_rules.js.map +1 -1
  96. package/lib/i18n.d.ts.map +1 -1
  97. package/lib/i18n.js +27 -18
  98. package/lib/i18n.js.map +1 -1
  99. package/package.json +3 -1
  100. package/lib/components/questions/DateQuestion.d.ts +0 -9
  101. package/lib/components/questions/DateQuestion.d.ts.map +0 -1
  102. package/lib/components/questions/DateQuestion.js +0 -31
  103. package/lib/components/questions/DateQuestion.js.map +0 -1
@@ -3,6 +3,7 @@ import { ITextareaQuestion, IFieldState } from "../../core";
3
3
  interface Props {
4
4
  question: ITextareaQuestion;
5
5
  fieldState: IFieldState<string>;
6
+ setQuestionRef: (key: string, ref: React.RefObject<HTMLElement>) => void;
6
7
  }
7
8
  export declare const TextareaQuestion: React.FunctionComponent<Props>;
8
9
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"TextareaQuestion.d.ts","sourceRoot":"","sources":["../../../src/components/questions/TextareaQuestion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAU,WAAW,EAAE,MAAM,YAAY,CAAC;AAKpE,UAAU,KAAK;IACb,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAqB3D,CAAC"}
1
+ {"version":3,"file":"TextareaQuestion.d.ts","sourceRoot":"","sources":["../../../src/components/questions/TextareaQuestion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAU,WAAW,EAAE,MAAM,YAAY,CAAC;AAKpE,UAAU,KAAK;IACb,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAC1E;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CA2B3D,CAAC"}
@@ -10,7 +10,7 @@ var MainLabel_1 = require("../MainLabel");
10
10
  var QuestionWrapper_1 = require("../QuestionWrapper");
11
11
  var QuestionDescription_1 = require("../QuestionDescription");
12
12
  var TextareaQuestion = function (_a) {
13
- var question = _a.question, fieldState = _a.fieldState;
13
+ var question = _a.question, fieldState = _a.fieldState, setQuestionRef = _a.setQuestionRef;
14
14
  var handleChange = function (event) {
15
15
  fieldState.setValue(event.target.value);
16
16
  };
@@ -18,12 +18,12 @@ var TextareaQuestion = function (_a) {
18
18
  // sized: !!question.size,
19
19
  subitem: false // TODO
20
20
  });
21
- return (react_1["default"].createElement(QuestionWrapper_1.QuestionWrapper, { question: question, fieldState: fieldState },
21
+ return (react_1["default"].createElement(QuestionWrapper_1.QuestionWrapper, { question: question, fieldState: fieldState, setQuestionRef: setQuestionRef },
22
22
  react_1["default"].createElement(MainLabel_1.MainLabel, { question: question }),
23
23
  react_1["default"].createElement("div", { className: "description-and-fields" },
24
24
  react_1["default"].createElement(QuestionDescription_1.QuestionDescription, { question: question }),
25
25
  react_1["default"].createElement("div", { className: "fields", id: htmlId(question) },
26
- react_1["default"].createElement("textarea", { className: className, value: fieldState.value || "", rows: question.lines, cols: question.cols, onChange: handleChange })))));
26
+ react_1["default"].createElement("textarea", { className: className, value: fieldState.value || "", rows: question.lines, onChange: handleChange, onFocus: fieldState.setAsActiveQuestion })))));
27
27
  };
28
28
  exports.TextareaQuestion = TextareaQuestion;
29
29
  function htmlId(question) {
@@ -1 +1 @@
1
- {"version":3,"file":"TextareaQuestion.js","sourceRoot":"","sources":["../../../src/components/questions/TextareaQuestion.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAC1B,0DAAoC;AAEpC,0CAAyC;AACzC,sDAAqD;AACrD,8DAA6D;AAOtD,IAAM,gBAAgB,GAAmC,UAAC,EAAwB;QAAtB,QAAQ,cAAA,EAAE,UAAU,gBAAA;IACrF,IAAM,YAAY,GAAG,UAAA,KAAK;QACxB,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC;IACF,IAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,QAAQ,CAAC,IAAI,EAAE;QAC1C,0BAA0B;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;IAEH,OAAO,CACL,iCAAC,iCAAe,IAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU;QACzD,iCAAC,qBAAS,IAAC,QAAQ,EAAE,QAAQ,GAAI;QACjC,0CAAK,SAAS,EAAC,wBAAwB;YACrC,iCAAC,yCAAmB,IAAC,QAAQ,EAAE,QAAQ,GAAI;YAC3C,0CAAK,SAAS,EAAC,QAAQ,EAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAE1C,+CAAU,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,GAAI,CAChI,CACF,CACU,CACnB,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,gBAAgB,oBAqB3B;AAEF,SAAS,MAAM,CAAC,QAAgB;IAC9B,OAAO,iBAAU,QAAQ,CAAC,GAAG,WAAQ,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"TextareaQuestion.js","sourceRoot":"","sources":["../../../src/components/questions/TextareaQuestion.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAC1B,0DAAoC;AAEpC,0CAAyC;AACzC,sDAAqD;AACrD,8DAA6D;AAQtD,IAAM,gBAAgB,GAAmC,UAAC,EAAwC;QAAtC,QAAQ,cAAA,EAAE,UAAU,gBAAA,EAAE,cAAc,oBAAA;IACrG,IAAM,YAAY,GAAG,UAAC,KAA6C;QACjE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC;IACF,IAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,QAAQ,CAAC,IAAI,EAAE;QAC1C,0BAA0B;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;IAEH,OAAO,CACL,iCAAC,iCAAe,IAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc;QACzF,iCAAC,qBAAS,IAAC,QAAQ,EAAE,QAAQ,GAAI;QACjC,0CAAK,SAAS,EAAC,wBAAwB;YACrC,iCAAC,yCAAmB,IAAC,QAAQ,EAAE,QAAQ,GAAI;YAC3C,0CAAK,SAAS,EAAC,QAAQ,EAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAE1C,+CACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,EAAE,EAC7B,IAAI,EAAE,QAAQ,CAAC,KAAK,EACpB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,UAAU,CAAC,mBAAmB,GACvC,CACE,CACF,CACU,CACnB,CAAC;AACJ,CAAC,CAAC;AA3BW,QAAA,gBAAgB,oBA2B3B;AAEF,SAAS,MAAM,CAAC,QAAgB;IAC9B,OAAO,iBAAU,QAAQ,CAAC,GAAG,WAAQ,CAAC;AACxC,CAAC"}
@@ -1,5 +1,6 @@
1
- import { IFieldState } from "./response";
1
+ import { IValue, IValues, IFieldState, IValidationFieldState } from "./response";
2
2
  import { ValidatableResponse } from "./validators";
3
- export declare function mockFieldState<T>(key: string, value: T): IFieldState<T>;
4
- export declare function mockResponse<T>(values: object): ValidatableResponse;
3
+ export declare function mockFieldState<T extends IValue>(key: string, value: T): IFieldState<T>;
4
+ export declare function mockValidationFieldState<T extends IValue>(key: string, value: T): IValidationFieldState<T>;
5
+ export declare function mockResponse<T>(values: IValues): ValidatableResponse;
5
6
  //# sourceMappingURL=mock_helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mock_helpers.d.ts","sourceRoot":"","sources":["../../src/core/mock_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,kBAWtD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,uBAa7C"}
1
+ {"version":3,"file":"mock_helpers.d.ts","sourceRoot":"","sources":["../../src/core/mock_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,kBAarE;AAED,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,4BAK/E;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,uBAkB9C"}
@@ -1,28 +1,42 @@
1
1
  "use strict";
2
2
  exports.__esModule = true;
3
- exports.mockResponse = exports.mockFieldState = void 0;
3
+ exports.mockResponse = exports.mockValidationFieldState = exports.mockFieldState = void 0;
4
4
  function mockFieldState(key, value) {
5
5
  return {
6
6
  key: "",
7
7
  hidden: false,
8
8
  value: value,
9
+ beenActive: true,
9
10
  valid: true,
10
11
  touched: false,
11
12
  errors: [],
12
13
  setValue: function (value) { },
13
- addError: jest.fn()
14
+ isActiveQuestion: false,
15
+ setAsActiveQuestion: function () { }
14
16
  };
15
17
  }
16
18
  exports.mockFieldState = mockFieldState;
19
+ function mockValidationFieldState(key, value) {
20
+ return {
21
+ value: value,
22
+ addError: jest.fn()
23
+ };
24
+ }
25
+ exports.mockValidationFieldState = mockValidationFieldState;
17
26
  function mockResponse(values) {
18
27
  var fieldStates = {};
28
+ var validationFieldStates = {};
19
29
  for (var key in values) {
20
30
  var value = values[key];
21
31
  fieldStates[key] = mockFieldState(key, values[key]);
32
+ validationFieldStates[key] = mockValidationFieldState(key, values[key]);
22
33
  }
23
34
  return {
24
35
  getFieldState: function (key) {
25
36
  return fieldStates[key];
37
+ },
38
+ getValidationFieldState: function (key) {
39
+ return validationFieldStates[key];
26
40
  }
27
41
  };
28
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mock_helpers.js","sourceRoot":"","sources":["../../src/core/mock_helpers.ts"],"names":[],"mappings":";;;AAGA,SAAgB,cAAc,CAAI,GAAW,EAAE,KAAQ;IACrD,OAAO;QACL,GAAG,EAAE,EAAE;QACP,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,UAAC,KAAQ,IAAO,CAAC;QAC3B,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;KACF,CAAC;AACtB,CAAC;AAXD,wCAWC;AAED,SAAgB,YAAY,CAAI,MAAc;IAC5C,IAAM,WAAW,GAAG,EAAE,CAAC;IAEvB,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;QACtB,IAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,WAAW,CAAC,GAAG,CAAC,GAAG,cAAc,CAAe,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;KACnE;IAED,OAAO;QACL,aAAa,EAAE,UAAC,GAAG;YACjB,OAAO,WAAW,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC;KACqB,CAAC;AAC3B,CAAC;AAbD,oCAaC"}
1
+ {"version":3,"file":"mock_helpers.js","sourceRoot":"","sources":["../../src/core/mock_helpers.ts"],"names":[],"mappings":";;;AAGA,SAAgB,cAAc,CAAmB,GAAW,EAAE,KAAQ;IACpE,OAAO;QACL,GAAG,EAAE,EAAE;QACP,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,UAAC,KAAQ,IAAO,CAAC;QAC3B,gBAAgB,EAAE,KAAK;QACvB,mBAAmB,EAAE,cAAO,CAAC;KACZ,CAAC;AACtB,CAAC;AAbD,wCAaC;AAED,SAAgB,wBAAwB,CAAmB,GAAW,EAAE,KAAQ;IAC9E,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;KACQ,CAAC;AAChC,CAAC;AALD,4DAKC;AAED,SAAgB,YAAY,CAAI,MAAe;IAC7C,IAAM,WAAW,GAAsC,EAAE,CAAC;IAC1D,IAAM,qBAAqB,GAAgD,EAAE,CAAC;IAE9E,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;QACtB,IAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,WAAW,CAAC,GAAG,CAAC,GAAG,cAAc,CAAe,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,qBAAqB,CAAC,GAAG,CAAC,GAAG,wBAAwB,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;KACzE;IAED,OAAO;QACL,aAAa,EAAE,UAAC,GAAW;YACzB,OAAO,WAAW,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC;QACD,uBAAuB,EAAE,UAAC,GAAW;YACnC,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;KACqB,CAAC;AAC3B,CAAC;AAlBD,oCAkBC"}
@@ -1,6 +1,7 @@
1
1
  import { IQuestionnaire, IField, IPanel, IValidation, IFields } from "./questionnaire_json";
2
2
  import { VisibilityRule } from "./visibility_rules";
3
3
  export declare class Questionnaire {
4
+ key: string;
4
5
  panels: IPanel[];
5
6
  fields: IFields;
6
7
  validations: IValidation[];
@@ -1 +1 @@
1
- {"version":3,"file":"questionnaire.d.ts","sourceRoot":"","sources":["../../src/core/questionnaire.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAuB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzE,qBAAa,aAAa;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,eAAe,EAAE,cAAc,EAAE,CAAC;gBAEtB,IAAI,EAAE,cAAc;IAOhC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAG9B"}
1
+ {"version":3,"file":"questionnaire.d.ts","sourceRoot":"","sources":["../../src/core/questionnaire.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAuB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzE,qBAAa,aAAa;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,eAAe,EAAE,cAAc,EAAE,CAAC;gBAEtB,IAAI,EAAE,cAAc;IAQhC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAG9B"}
@@ -4,6 +4,7 @@ exports.Questionnaire = void 0;
4
4
  var visibility_rules_1 = require("./visibility_rules");
5
5
  var Questionnaire = /** @class */ (function () {
6
6
  function Questionnaire(data) {
7
+ this.key = data.key;
7
8
  this.fields = data.fields;
8
9
  this.panels = data.panels;
9
10
  this.validations = data.validations;
@@ -1 +1 @@
1
- {"version":3,"file":"questionnaire.js","sourceRoot":"","sources":["../../src/core/questionnaire.ts"],"names":[],"mappings":";;;AACA,uDAAyE;AAEzE;IAME,uBAAY,IAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAA,sCAAmB,EAAC,IAAI,CAAC,EAAzB,CAAyB,CAAC,CAAC;IACrF,CAAC;IAED,gCAAQ,GAAR,UAAS,GAAW;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACH,oBAAC;AAAD,CAAC,AAhBD,IAgBC;AAhBY,sCAAa"}
1
+ {"version":3,"file":"questionnaire.js","sourceRoot":"","sources":["../../src/core/questionnaire.ts"],"names":[],"mappings":";;;AACA,uDAAyE;AAEzE;IAOE,uBAAY,IAAoB;QAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAA,sCAAmB,EAAC,IAAI,CAAC,EAAzB,CAAyB,CAAC,CAAC;IACrF,CAAC;IAED,gCAAQ,GAAR,UAAS,GAAW;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACH,oBAAC;AAAD,CAAC,AAlBD,IAkBC;AAlBY,sCAAa"}
@@ -2,6 +2,7 @@ export interface ITranslatable {
2
2
  t: string;
3
3
  [interpolationKey: string]: string;
4
4
  }
5
+ export declare type DatePartsComponent = "day" | "month" | "year" | "hour" | "minute";
5
6
  export declare type IValidation = IRequiresAnswerValidation | IValidIntegerValidation | IValidFloatValidation | IValidDateValidation | IMinimumValidation | IMaximumValidation | IRegexpValidation | IAnswerGroupMinimumValidation | IAnswerGroupMaximumValidation | IMaximumCheckedAllowedValidation | IMinimumCheckedRequiredValidation;
6
7
  export interface IRequiresAnswerValidation {
7
8
  type: "requires_answer";
@@ -17,6 +18,9 @@ export interface IValidFloatValidation {
17
18
  }
18
19
  export interface IValidDateValidation {
19
20
  type: "valid_date";
21
+ subtype: string;
22
+ fieldKey: string;
23
+ requiredParts: DatePartsComponent[];
20
24
  }
21
25
  export interface IMinimumValidation {
22
26
  type: "minimum";
@@ -52,28 +56,31 @@ export interface IMinimumCheckedRequiredValidation {
52
56
  interface IBaseField {
53
57
  key: string;
54
58
  defaultInvisible: boolean;
55
- title: string;
59
+ title: string | null;
56
60
  description: string | null;
57
61
  presentation: "horizontal" | "vertical";
58
62
  questionGroup?: string | null;
59
63
  as?: string | null;
60
64
  }
61
- export interface IDateQuestion extends IBaseField {
62
- type: "date";
63
- as: "date";
64
- components: any;
65
+ interface DatePart {
66
+ part: DatePartsComponent;
67
+ key: string;
68
+ }
69
+ export interface IDatePartsQuestion extends IBaseField {
70
+ type: "date_parts";
71
+ as: "date_parts";
72
+ dateParts: DatePart[];
65
73
  }
66
74
  export interface IStringQuestion extends IBaseField {
67
75
  type: "string";
68
76
  as: "string";
69
- unit: string | null;
70
- size: number | null;
77
+ unit?: string | null;
78
+ size?: number | null;
71
79
  }
72
80
  export interface ITextareaQuestion extends IBaseField {
73
81
  type: "textarea";
74
82
  as: "textarea";
75
83
  lines: number;
76
- cols: number;
77
84
  }
78
85
  interface INumberQuestion {
79
86
  minimum?: number | null;
@@ -91,7 +98,7 @@ export interface IFloatQuestion extends IBaseField, INumberQuestion {
91
98
  size: number;
92
99
  unit: string | null;
93
100
  }
94
- export interface ISliderQuestion extends IBaseField, INumberQuestion {
101
+ export interface ISliderQuestion extends IBaseField {
95
102
  type: "float" | "integer";
96
103
  as: "slider";
97
104
  step: number;
@@ -99,38 +106,64 @@ export interface ISliderQuestion extends IBaseField, INumberQuestion {
99
106
  labels: string[];
100
107
  startThumbHidden: boolean;
101
108
  valueTooltip: boolean;
109
+ minimum: number;
110
+ maximum: number;
102
111
  }
103
112
  export interface ISelectQuestion extends IBaseField {
104
113
  type: "select";
105
114
  as: "select";
106
- options: IOption[];
115
+ children: (ISelectOption)[];
107
116
  deselectable: boolean;
117
+ placeholder: string;
108
118
  }
109
119
  export interface IRadioQuestion extends IBaseField {
110
- type: "radio" | "scale";
111
- as: "radio" | "scale";
112
- options: IOption[];
120
+ type: "radio";
121
+ as: "radio";
122
+ children: (IRadioOption | IHtmlOption)[];
123
+ deselectable: boolean;
124
+ }
125
+ export interface IScaleQuestion extends IBaseField {
126
+ type: "scale";
127
+ as: "scale";
128
+ children: (IRadioOption)[];
113
129
  deselectable: boolean;
114
130
  }
115
131
  export interface ICheckBoxQuestion extends IBaseField {
116
132
  type: "check_box";
117
133
  as: "check_box";
118
- options: IOption[];
134
+ children: (ICheckBoxOption | IHtmlOption)[];
119
135
  deselectable: boolean;
120
136
  }
121
137
  export interface IOption {
138
+ type: "option";
122
139
  key: string;
123
- value: number;
124
140
  description: string;
125
141
  hidden: boolean;
126
142
  showsQuestions: string[];
127
143
  hidesQuestions: string[];
128
- innerTitle: string | null;
129
- placeholder: boolean;
130
- questions: IField[];
131
144
  viewId: string;
132
145
  }
133
- export declare type IField = IDateQuestion | IStringQuestion | ITextareaQuestion | IIntegerQuestion | IFloatQuestion | ISliderQuestion | IRadioQuestion | ISelectQuestion | ICheckBoxQuestion;
146
+ export interface ICheckBoxOption extends IOption {
147
+ questions: IField[];
148
+ }
149
+ export interface IRadioOption extends IOption {
150
+ value: string;
151
+ questions: IField[];
152
+ }
153
+ export interface ISelectOption extends IOption {
154
+ value: string;
155
+ }
156
+ export interface IHtmlOption {
157
+ type: "html";
158
+ key: string;
159
+ html: string;
160
+ }
161
+ export interface IPlaceholderOption {
162
+ type: "placeholder";
163
+ key: string;
164
+ description: string;
165
+ }
166
+ export declare type IField = IDatePartsQuestion | IStringQuestion | ITextareaQuestion | IIntegerQuestion | IFloatQuestion | ISliderQuestion | IRadioQuestion | IScaleQuestion | ISelectQuestion | ICheckBoxQuestion;
134
167
  export interface IFields {
135
168
  [key: string]: IField;
136
169
  }
@@ -142,9 +175,12 @@ export interface IQuestionItem {
142
175
  type: "question";
143
176
  key: string;
144
177
  }
145
- export declare type IPanelItem = IHtmlItem | IQuestionItem;
178
+ export interface ITableItem {
179
+ type: "table";
180
+ }
181
+ export declare type IPanelItem = IHtmlItem | IQuestionItem | ITableItem;
146
182
  export interface IPanel {
147
- title: string;
183
+ title: string | null;
148
184
  items: IPanelItem[];
149
185
  }
150
186
  export interface IVisibilityIfEqual {
@@ -1 +1 @@
1
- {"version":3,"file":"questionnaire_json.d.ts","sourceRoot":"","sources":["../../src/core/questionnaire_json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"questionnaire_json.d.ts","sourceRoot":"","sources":["../../src/core/questionnaire_json.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import { Questionnaire } from "./questionnaire";
2
- import { ITranslatable, IValidation } from "./questionnaire_json";
2
+ import { DatePartsComponent, IPanel, ITranslatable, IValidation } from "./questionnaire_json";
3
3
  export interface IAnswerFromServer {
4
4
  value: IValues;
5
5
  flags: IFlags;
6
6
  }
7
+ export declare type IValue = string | number | Date | Set<string> | Map<DatePartsComponent, string> | null | undefined;
7
8
  export interface IValues {
8
- [key: string]: any;
9
+ [key: string]: IValue;
9
10
  }
10
11
  export interface IFlags {
11
12
  [key: string]: boolean;
@@ -18,33 +19,46 @@ export interface IVisibility {
18
19
  shown: boolean;
19
20
  hidden: boolean;
20
21
  }
21
- export interface IValidatable {
22
- touched: boolean;
22
+ export interface IValidated {
23
+ beenActive: boolean;
23
24
  valid: boolean;
24
25
  errors: IError[];
25
- addError: (error: IError) => void;
26
26
  }
27
- export interface IFieldState<T> extends IValidatable {
27
+ export interface IFieldState<T extends IValue> extends IValidated {
28
28
  key: string;
29
- value: T | null;
29
+ value: T | null | undefined;
30
30
  hidden: boolean;
31
+ isActiveQuestion: boolean;
32
+ setAsActiveQuestion: () => void;
31
33
  setValue: (newValue: T | null) => void;
32
34
  }
35
+ export interface IValidationFieldState<T extends IValue> {
36
+ value: T;
37
+ addError: (error: IError) => void;
38
+ }
33
39
  declare type IChangeCallback = (response: Response) => void;
34
40
  export declare class Response {
35
41
  questionnaire: Questionnaire;
36
42
  values: IValues;
43
+ beenActives: Set<String>;
37
44
  errors: Map<string, IError[]>;
38
45
  visibility: Map<string, IVisibility>;
39
46
  changeHandlers: IChangeCallback[];
40
47
  flags: IFlags;
48
+ activeQuestionKey: string | null;
41
49
  constructor(questionnaire: Questionnaire, answer: IAnswerFromServer);
42
50
  onChange(callback: IChangeCallback): void;
43
51
  offChange(callback: IChangeCallback): void;
44
- getFieldState<T>(key: string): IFieldState<T>;
45
- setValue<T>(key: string, value: T): void;
52
+ getFieldState<T extends IValue>(key: string): IFieldState<T>;
53
+ getValidationFieldState<T extends IValue>(key: string): IValidationFieldState<T>;
54
+ setValue<T extends IValue>(key: string, value: T | null): void;
55
+ setActiveQuestion(key: string | null): void;
46
56
  addError(key: string, error: IError): void;
57
+ touchAllFields(): void;
58
+ touchPanelFields(panel: IPanel): void;
47
59
  touchField(key: string): void;
60
+ firstNotValidQuestionInPanel(panel: IPanel): string | null;
61
+ firstNotValidQuestion(): string | null;
48
62
  validate(): void;
49
63
  calculateVisibility(): void;
50
64
  markShown(fieldKey: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/core/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAmB,MAAM,sBAAsB,CAAC;AAGnF,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,EAAE,aAAa,CAAA;CACvB;AACD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,CAAE,SAAQ,YAAY;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;CACxC;AAED,aAAK,eAAe,GAAG,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;AAEpD,qBAAa,QAAQ;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,cAAc,EAAE,eAAe,EAAE,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;gBAEF,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB;IAUnE,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAIlC,SAAS,CAAC,QAAQ,EAAE,eAAe;IAInC,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;IAa7C,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAOjC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAQnC,UAAU,CAAC,GAAG,EAAE,MAAM;IAMtB,QAAQ;IAWR,mBAAmB;IAQnB,SAAS,CAAC,QAAQ,EAAE,MAAM;IAM1B,UAAU,CAAC,QAAQ,EAAE,MAAM;IAM3B,SAAS,CAAC,QAAQ,EAAE,MAAM;CAK3B"}
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/core/response.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,13 @@ var Response = /** @class */ (function () {
7
7
  function Response(questionnaire, answer) {
8
8
  this.questionnaire = questionnaire;
9
9
  this.values = answer.value;
10
+ this.beenActives = new Set(); // TODO: initialize on questions with answers or just all on edit.
10
11
  this.errors = new Map();
11
12
  this.visibility = new Map();
12
13
  this.changeHandlers = [];
13
14
  this.flags = answer.flags;
15
+ this.activeQuestionKey = null;
16
+ this.validate(); // Have required errors on hand, in case the user starts tabbing through immediately
14
17
  this.calculateVisibility();
15
18
  }
16
19
  Response.prototype.onChange = function (callback) {
@@ -24,11 +27,19 @@ var Response = /** @class */ (function () {
24
27
  return {
25
28
  key: key,
26
29
  value: this.values[key],
27
- touched: this.values[key] !== undefined,
28
- valid: (this.errors[key] || []).length === 0,
29
- errors: this.errors[key] || [],
30
+ beenActive: this.beenActives.has(key),
31
+ valid: (this.errors.get(key) || []).length === 0,
32
+ errors: this.errors.get(key) || [],
30
33
  hidden: !this.isVisible(key),
31
- setValue: function (newValue) { return _this.setValue(key, newValue); },
34
+ isActiveQuestion: this.activeQuestionKey === key,
35
+ setAsActiveQuestion: function () { return _this.setActiveQuestion(key); },
36
+ setValue: function (newValue) { return _this.setValue(key, newValue); }
37
+ };
38
+ };
39
+ Response.prototype.getValidationFieldState = function (key) {
40
+ var _this = this;
41
+ return {
42
+ value: this.values[key],
32
43
  addError: function (error) { return _this.addError(key, error); }
33
44
  };
34
45
  };
@@ -39,17 +50,63 @@ var Response = /** @class */ (function () {
39
50
  this.calculateVisibility();
40
51
  this.changeHandlers.forEach(function (handler) { return handler(_this); });
41
52
  };
42
- Response.prototype.addError = function (key, error) {
43
- if (!this.errors[key]) {
44
- this.errors[key] = [];
53
+ Response.prototype.setActiveQuestion = function (key) {
54
+ var _this = this;
55
+ if (this.activeQuestionKey === key)
56
+ return;
57
+ if (this.activeQuestionKey) { // we set when made inactive
58
+ this.beenActives.add(this.activeQuestionKey);
45
59
  }
46
- this.errors[key].push(error);
60
+ this.activeQuestionKey = key;
61
+ this.changeHandlers.forEach(function (handler) { return handler(_this); });
62
+ };
63
+ Response.prototype.addError = function (key, error) {
64
+ var questionErrors = this.errors.get(key) || [];
65
+ questionErrors.push(error);
66
+ this.errors.set(key, questionErrors); // for if it did not exist yet.
67
+ };
68
+ // Use to show errors for skipped answers
69
+ Response.prototype.touchAllFields = function () {
70
+ var _this = this;
71
+ Object.values(this.questionnaire.fields).forEach(function (field) {
72
+ _this.touchField(field.key);
73
+ });
74
+ };
75
+ Response.prototype.touchPanelFields = function (panel) {
76
+ var _this = this;
77
+ panel.items.forEach(function (item) {
78
+ if (item.type !== "question")
79
+ return;
80
+ _this.touchField(item.key);
81
+ });
47
82
  };
48
83
  Response.prototype.touchField = function (key) {
84
+ this.beenActives.add(key);
49
85
  if (this.values[key] === undefined) {
50
86
  this.setValue(key, null);
51
87
  }
52
88
  };
89
+ // Returns null or the key of first visible question with an error.
90
+ Response.prototype.firstNotValidQuestionInPanel = function (panel) {
91
+ var _this = this;
92
+ var firstError = panel.items.find(function (item) {
93
+ if (item.type !== "question")
94
+ return false;
95
+ if (!_this.isVisible(item.key))
96
+ return false;
97
+ if ((_this.errors.get(item.key) || []).length > 0)
98
+ return true;
99
+ });
100
+ return (firstError === null || firstError === void 0 ? void 0 : firstError.key) || null;
101
+ };
102
+ Response.prototype.firstNotValidQuestion = function () {
103
+ var _this = this;
104
+ var errPanel = this.questionnaire.panels.find(function (panel) { return _this.firstNotValidQuestionInPanel(panel); });
105
+ if (errPanel == null)
106
+ return null;
107
+ return this.firstNotValidQuestionInPanel(errPanel);
108
+ };
109
+ // We validate each question independent of visibility.
53
110
  Response.prototype.validate = function () {
54
111
  var _this = this;
55
112
  this.errors = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/core/response.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/core/response.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,21 @@
1
- import { IRequiresAnswerValidation, IValidation, IMinimumValidation, IMaximumValidation, IValidIntegerValidation, IValidFloatValidation, IRegexpValidation } from "./questionnaire_json";
1
+ import { DatePartsComponent, IRequiresAnswerValidation, IValidation, IMinimumValidation, IMaximumValidation, IValidDateValidation, IValidIntegerValidation, IValidFloatValidation, IRegexpValidation } from "./questionnaire_json";
2
2
  import { Response } from "./response";
3
- export declare type ValidatableResponse = Pick<Response, "getFieldState">;
4
- export declare function buildValidator(data: IValidation): RequiresAnswerValidator | ValidIntegerValidator | ValidFloatValidator | MinimumValidator | MaximumValidator | RegexpValidator;
5
- declare abstract class BaseValidator<T> {
3
+ export declare type ValidatableResponse = Pick<Response, "getValidationFieldState">;
4
+ export declare function buildValidator(data: IValidation): RequiresAnswerValidator | ValidIntegerValidator | ValidFloatValidator | ValidDateValidator | MinimumValidator | MaximumValidator | RegexpValidator | undefined;
5
+ export declare abstract class BaseValidator<T> {
6
6
  config: T;
7
7
  constructor(config: T);
8
- abstract validate(fieldState: ValidatableResponse): void;
8
+ abstract validate(response: ValidatableResponse): void;
9
9
  }
10
10
  export declare class RequiresAnswerValidator extends BaseValidator<IRequiresAnswerValidation> {
11
11
  validate(response: ValidatableResponse): void;
12
12
  }
13
+ export declare class ValidDateValidator extends BaseValidator<IValidDateValidation> {
14
+ validate(response: ValidatableResponse): void;
15
+ dateValuesWithDefaults(dateParts: Map<DatePartsComponent, string>): {
16
+ [Property in DatePartsComponent]-?: number;
17
+ } | null;
18
+ }
13
19
  export declare class ValidIntegerValidator extends BaseValidator<IValidIntegerValidation> {
14
20
  validate(response: ValidatableResponse): void;
15
21
  }
@@ -25,5 +31,4 @@ export declare class MaximumValidator extends BaseValidator<IMaximumValidation>
25
31
  export declare class RegexpValidator extends BaseValidator<IRegexpValidation> {
26
32
  validate(response: ValidatableResponse): void;
27
33
  }
28
- export {};
29
34
  //# sourceMappingURL=validators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/core/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzL,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,oBAAY,mBAAmB,GAAG,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;AAElE,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,iIAS/C;AAED,uBAAe,aAAa,CAAC,CAAC;IAC5B,MAAM,EAAE,CAAC,CAAC;gBAEE,MAAM,EAAE,CAAC;IAIrB,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI;CACzD;AAED,qBAAa,uBAAwB,SAAQ,aAAa,CAAC,yBAAyB,CAAC;IACnF,QAAQ,CAAC,QAAQ,EAAE,mBAAmB;CAUvC;AAWD,qBAAa,qBAAsB,SAAQ,aAAa,CAAC,uBAAuB,CAAC;IAC/E,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;CAW9C;AAED,qBAAa,mBAAoB,SAAQ,aAAa,CAAC,qBAAqB,CAAC;IAC3E,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;CAY9C;AAED,qBAAa,gBAAiB,SAAQ,aAAa,CAAC,kBAAkB,CAAC;IACrE,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;CAS9C;AAED,qBAAa,gBAAiB,SAAQ,aAAa,CAAC,kBAAkB,CAAC;IACrE,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;CAS9C;AAED,qBAAa,eAAgB,SAAQ,aAAa,CAAC,iBAAiB,CAAC;IACnE,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;CA2B9C"}
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/core/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACnO,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAOtC,oBAAY,mBAAmB,GAAG,IAAI,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;AAE5E,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,kKAU/C;AAED,8BAAsB,aAAa,CAAC,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC;gBAEE,MAAM,EAAE,CAAC;IAIrB,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;CACvD;AAED,qBAAa,uBAAwB,SAAQ,aAAa,CAAC,yBAAyB,CAAC;IACnF,QAAQ,CAAC,QAAQ,EAAE,mBAAmB;CAUvC;AA0CD,qBAAa,kBAAmB,SAAQ,aAAa,CAAC,oBAAoB,CAAC;IACzE,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAsB7C,sBAAsB,CAAC,SAAS,EAAE,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG;SAAE,QAAQ,IAAI,kBAAkB,CAAC,CAAC,GAAG,MAAM;KAAE,GAAG,IAAI;CAsBzH;AAED,qBAAa,qBAAsB,SAAQ,aAAa,CAAC,uBAAuB,CAAC;IAC/E,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;CAW9C;AAED,qBAAa,mBAAoB,SAAQ,aAAa,CAAC,qBAAqB,CAAC;IAC3E,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;CAY9C;AAED,qBAAa,gBAAiB,SAAQ,aAAa,CAAC,kBAAkB,CAAC;IACrE,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;CAS9C;AAED,qBAAa,gBAAiB,SAAQ,aAAa,CAAC,kBAAkB,CAAC;IACrE,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;CAS9C;AAED,qBAAa,eAAgB,SAAQ,aAAa,CAAC,iBAAiB,CAAC;IACnE,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;CA2B9C"}