@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.
- package/CHANGELOG.md +15 -0
- package/README.md +4 -0
- package/lib/assets/quby/application.css +0 -650
- package/lib/components/AnswerPage.d.ts.map +1 -1
- package/lib/components/AnswerPage.js +66 -13
- package/lib/components/AnswerPage.js.map +1 -1
- package/lib/components/Paginator.d.ts +3 -1
- package/lib/components/Paginator.d.ts.map +1 -1
- package/lib/components/Paginator.js +28 -9
- package/lib/components/Paginator.js.map +1 -1
- package/lib/components/PanelContent.d.ts +1 -0
- package/lib/components/PanelContent.d.ts.map +1 -1
- package/lib/components/PanelContent.js +2 -2
- package/lib/components/PanelContent.js.map +1 -1
- package/lib/components/PanelItem.d.ts +1 -0
- package/lib/components/PanelItem.d.ts.map +1 -1
- package/lib/components/PanelItem.js +1 -1
- package/lib/components/PanelItem.js.map +1 -1
- package/lib/components/QuestionDescription.d.ts +1 -1
- package/lib/components/QuestionDescription.d.ts.map +1 -1
- package/lib/components/QuestionDescription.js +2 -0
- package/lib/components/QuestionDescription.js.map +1 -1
- package/lib/components/QuestionWrapper.d.ts +3 -2
- package/lib/components/QuestionWrapper.d.ts.map +1 -1
- package/lib/components/QuestionWrapper.js +20 -3
- package/lib/components/QuestionWrapper.js.map +1 -1
- package/lib/components/ValidationErrors.d.ts +2 -2
- package/lib/components/ValidationErrors.d.ts.map +1 -1
- package/lib/components/ValidationErrors.js +15 -2
- package/lib/components/ValidationErrors.js.map +1 -1
- package/lib/components/items/QuestionItem.d.ts +1 -0
- package/lib/components/items/QuestionItem.d.ts.map +1 -1
- package/lib/components/items/QuestionItem.js +13 -13
- package/lib/components/items/QuestionItem.js.map +1 -1
- package/lib/components/questions/CheckBoxQuestion.d.ts +1 -0
- package/lib/components/questions/CheckBoxQuestion.d.ts.map +1 -1
- package/lib/components/questions/CheckBoxQuestion.js +9 -7
- package/lib/components/questions/CheckBoxQuestion.js.map +1 -1
- package/lib/components/questions/DatePartsQuestion.d.ts +10 -0
- package/lib/components/questions/DatePartsQuestion.d.ts.map +1 -0
- package/lib/components/questions/DatePartsQuestion.js +37 -0
- package/lib/components/questions/DatePartsQuestion.js.map +1 -0
- package/lib/components/questions/FloatQuestion.d.ts +2 -1
- package/lib/components/questions/FloatQuestion.d.ts.map +1 -1
- package/lib/components/questions/FloatQuestion.js +3 -3
- package/lib/components/questions/FloatQuestion.js.map +1 -1
- package/lib/components/questions/IntegerQuestion.d.ts +2 -1
- package/lib/components/questions/IntegerQuestion.d.ts.map +1 -1
- package/lib/components/questions/IntegerQuestion.js +6 -3
- package/lib/components/questions/IntegerQuestion.js.map +1 -1
- package/lib/components/questions/RadioQuestion.d.ts +1 -0
- package/lib/components/questions/RadioQuestion.d.ts.map +1 -1
- package/lib/components/questions/RadioQuestion.js +8 -6
- package/lib/components/questions/RadioQuestion.js.map +1 -1
- package/lib/components/questions/ScaleQuestion.d.ts +3 -2
- package/lib/components/questions/ScaleQuestion.d.ts.map +1 -1
- package/lib/components/questions/ScaleQuestion.js +7 -7
- package/lib/components/questions/ScaleQuestion.js.map +1 -1
- package/lib/components/questions/SelectQuestion.d.ts +1 -0
- package/lib/components/questions/SelectQuestion.d.ts.map +1 -1
- package/lib/components/questions/SelectQuestion.js +8 -4
- package/lib/components/questions/SelectQuestion.js.map +1 -1
- package/lib/components/questions/SliderQuestion.d.ts +1 -0
- package/lib/components/questions/SliderQuestion.d.ts.map +1 -1
- package/lib/components/questions/SliderQuestion.js +6 -6
- package/lib/components/questions/SliderQuestion.js.map +1 -1
- package/lib/components/questions/StringQuestion.d.ts +1 -0
- package/lib/components/questions/StringQuestion.d.ts.map +1 -1
- package/lib/components/questions/StringQuestion.js +4 -4
- package/lib/components/questions/StringQuestion.js.map +1 -1
- package/lib/components/questions/TextareaQuestion.d.ts +1 -0
- package/lib/components/questions/TextareaQuestion.d.ts.map +1 -1
- package/lib/components/questions/TextareaQuestion.js +3 -3
- package/lib/components/questions/TextareaQuestion.js.map +1 -1
- package/lib/core/mock_helpers.d.ts +4 -3
- package/lib/core/mock_helpers.d.ts.map +1 -1
- package/lib/core/mock_helpers.js +16 -2
- package/lib/core/mock_helpers.js.map +1 -1
- package/lib/core/questionnaire.d.ts +1 -0
- package/lib/core/questionnaire.d.ts.map +1 -1
- package/lib/core/questionnaire.js +1 -0
- package/lib/core/questionnaire.js.map +1 -1
- package/lib/core/questionnaire_json.d.ts +57 -21
- package/lib/core/questionnaire_json.d.ts.map +1 -1
- package/lib/core/response.d.ts +23 -9
- package/lib/core/response.d.ts.map +1 -1
- package/lib/core/response.js +65 -8
- package/lib/core/response.js.map +1 -1
- package/lib/core/validators.d.ts +11 -6
- package/lib/core/validators.d.ts.map +1 -1
- package/lib/core/validators.js +166 -27
- package/lib/core/validators.js.map +1 -1
- package/lib/core/visibility_rules.d.ts.map +1 -1
- package/lib/core/visibility_rules.js +3 -5
- package/lib/core/visibility_rules.js.map +1 -1
- package/lib/i18n.d.ts.map +1 -1
- package/lib/i18n.js +27 -18
- package/lib/i18n.js.map +1 -1
- package/package.json +3 -1
- package/lib/components/questions/DateQuestion.d.ts +0 -9
- package/lib/components/questions/DateQuestion.d.ts.map +0 -1
- package/lib/components/questions/DateQuestion.js +0 -31
- 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;
|
|
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,
|
|
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;
|
|
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
|
|
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;
|
|
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"}
|
package/lib/core/mock_helpers.js
CHANGED
|
@@ -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
|
-
|
|
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,
|
|
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;
|
|
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;
|
|
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
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
|
|
70
|
-
size
|
|
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
|
|
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
|
-
|
|
115
|
+
children: (ISelectOption)[];
|
|
107
116
|
deselectable: boolean;
|
|
117
|
+
placeholder: string;
|
|
108
118
|
}
|
|
109
119
|
export interface IRadioQuestion extends IBaseField {
|
|
110
|
-
type: "radio"
|
|
111
|
-
as: "radio"
|
|
112
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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":"AAAA,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC;AAED,oBAAY,WAAW,GACnB,yBAAyB,GACzB,uBAAuB,GACvB,qBAAqB,GACrB,oBAAoB,GACpB,kBAAkB,GAClB,kBAAkB,GAClB,iBAAiB,GACjB,6BAA6B,GAC7B,6BAA6B,GAC7B,gCAAgC,GAChC,iCAAiC,CAAC;AAEtC,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"questionnaire_json.d.ts","sourceRoot":"","sources":["../../src/core/questionnaire_json.ts"],"names":[],"mappings":"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"}
|
package/lib/core/response.d.ts
CHANGED
|
@@ -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]:
|
|
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
|
|
22
|
-
|
|
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
|
|
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
|
-
|
|
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;
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/core/response.ts"],"names":[],"mappings":"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"}
|
package/lib/core/response.js
CHANGED
|
@@ -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
|
-
|
|
28
|
-
valid: (this.errors
|
|
29
|
-
errors: this.errors
|
|
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
|
-
|
|
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.
|
|
43
|
-
|
|
44
|
-
|
|
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.
|
|
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();
|
package/lib/core/response.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/core/response.ts"],"names":[],"mappings":";;;AACA,2CAA8C;AAE9C,iCAA8B;
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/core/response.ts"],"names":[],"mappings":"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"}
|
package/lib/core/validators.d.ts
CHANGED
|
@@ -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, "
|
|
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(
|
|
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;
|
|
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"}
|