@memberjunction/ng-conversations 3.4.0 → 4.0.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/dist/lib/components/active-tasks/active-tasks-panel.component.d.ts.map +1 -1
- package/dist/lib/components/active-tasks/active-tasks-panel.component.js +46 -41
- package/dist/lib/components/active-tasks/active-tasks-panel.component.js.map +1 -1
- package/dist/lib/components/agent/active-agent-indicator.component.d.ts.map +1 -1
- package/dist/lib/components/agent/active-agent-indicator.component.js +70 -68
- package/dist/lib/components/agent/active-agent-indicator.component.js.map +1 -1
- package/dist/lib/components/agent/agent-process-panel.component.d.ts.map +1 -1
- package/dist/lib/components/agent/agent-process-panel.component.js +13 -12
- package/dist/lib/components/agent/agent-process-panel.component.js.map +1 -1
- package/dist/lib/components/artifact/artifact-share-modal.component.js +17 -15
- package/dist/lib/components/artifact/artifact-share-modal.component.js.map +1 -1
- package/dist/lib/components/artifact/artifact-viewer-panel.component.d.ts +48 -0
- package/dist/lib/components/artifact/artifact-viewer-panel.component.d.ts.map +1 -0
- package/dist/lib/components/artifact/artifact-viewer-panel.component.js +457 -0
- package/dist/lib/components/artifact/artifact-viewer-panel.component.js.map +1 -0
- package/dist/lib/components/attachment/image-viewer.component.d.ts.map +1 -1
- package/dist/lib/components/attachment/image-viewer.component.js +20 -21
- package/dist/lib/components/attachment/image-viewer.component.js.map +1 -1
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.d.ts.map +1 -1
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.js +230 -233
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.js.map +1 -1
- package/dist/lib/components/collection/artifact-create-modal.component.d.ts.map +1 -1
- package/dist/lib/components/collection/artifact-create-modal.component.js +100 -103
- package/dist/lib/components/collection/artifact-create-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-artifact-card.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-artifact-card.component.js +41 -33
- package/dist/lib/components/collection/collection-artifact-card.component.js.map +1 -1
- package/dist/lib/components/collection/collection-form-modal.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-form-modal.component.js +85 -84
- package/dist/lib/components/collection/collection-form-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-share-modal.component.js +20 -15
- package/dist/lib/components/collection/collection-share-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-tree.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-tree.component.js +13 -11
- package/dist/lib/components/collection/collection-tree.component.js.map +1 -1
- package/dist/lib/components/collection/collection-view.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-view.component.js +67 -60
- package/dist/lib/components/collection/collection-view.component.js.map +1 -1
- package/dist/lib/components/collection/collections-full-view.component.d.ts +4 -3
- package/dist/lib/components/collection/collections-full-view.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collections-full-view.component.js +619 -549
- package/dist/lib/components/collection/collections-full-view.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +3 -3
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.js +145 -143
- package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-empty-state.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-empty-state.component.js +44 -44
- package/dist/lib/components/conversation/conversation-empty-state.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-list.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-list.component.js +18 -18
- package/dist/lib/components/conversation/conversation-list.component.js.map +1 -1
- package/dist/lib/components/delete-confirm/delete-confirm-modal.component.d.ts +52 -0
- package/dist/lib/components/delete-confirm/delete-confirm-modal.component.d.ts.map +1 -0
- package/dist/lib/components/delete-confirm/delete-confirm-modal.component.js +276 -0
- package/dist/lib/components/delete-confirm/delete-confirm-modal.component.js.map +1 -0
- package/dist/lib/components/dialogs/input-dialog.component.d.ts.map +1 -1
- package/dist/lib/components/dialogs/input-dialog.component.js +65 -57
- package/dist/lib/components/dialogs/input-dialog.component.js.map +1 -1
- package/dist/lib/components/export/export-modal.component.d.ts.map +1 -1
- package/dist/lib/components/export/export-modal.component.js +126 -134
- package/dist/lib/components/export/export-modal.component.js.map +1 -1
- package/dist/lib/components/global-tasks/global-tasks-panel.component.d.ts.map +1 -1
- package/dist/lib/components/global-tasks/global-tasks-panel.component.js +86 -79
- package/dist/lib/components/global-tasks/global-tasks-panel.component.js.map +1 -1
- package/dist/lib/components/library/library-full-view.component.d.ts.map +1 -1
- package/dist/lib/components/library/library-full-view.component.js +99 -87
- package/dist/lib/components/library/library-full-view.component.js.map +1 -1
- package/dist/lib/components/members/members-modal.component.d.ts.map +1 -1
- package/dist/lib/components/members/members-modal.component.js +124 -119
- package/dist/lib/components/members/members-modal.component.js.map +1 -1
- package/dist/lib/components/mention/mention-dropdown.component.d.ts.map +1 -1
- package/dist/lib/components/mention/mention-dropdown.component.js +50 -46
- package/dist/lib/components/mention/mention-dropdown.component.js.map +1 -1
- package/dist/lib/components/mention/mention-editor.component.d.ts.map +1 -1
- package/dist/lib/components/mention/mention-editor.component.js +39 -38
- package/dist/lib/components/mention/mention-editor.component.js.map +1 -1
- package/dist/lib/components/message/actionable-commands.component.d.ts.map +1 -1
- package/dist/lib/components/message/actionable-commands.component.js +20 -21
- package/dist/lib/components/message/actionable-commands.component.js.map +1 -1
- package/dist/lib/components/message/agent-response-form.component.d.ts.map +1 -1
- package/dist/lib/components/message/agent-response-form.component.js +79 -77
- package/dist/lib/components/message/agent-response-form.component.js.map +1 -1
- package/dist/lib/components/message/conversation-message-rating.component.d.ts.map +1 -1
- package/dist/lib/components/message/conversation-message-rating.component.js +40 -39
- package/dist/lib/components/message/conversation-message-rating.component.js.map +1 -1
- package/dist/lib/components/message/form-question.component.d.ts.map +1 -1
- package/dist/lib/components/message/form-question.component.js +142 -125
- package/dist/lib/components/message/form-question.component.js.map +1 -1
- package/dist/lib/components/message/message-input-box.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-input-box.component.js +10 -11
- package/dist/lib/components/message/message-input-box.component.js.map +1 -1
- package/dist/lib/components/message/message-input.component.d.ts +2 -2
- package/dist/lib/components/message/message-input.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-input.component.js +10 -11
- package/dist/lib/components/message/message-input.component.js.map +1 -1
- package/dist/lib/components/message/message-item.component.d.ts +2 -2
- package/dist/lib/components/message/message-item.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-item.component.js +121 -107
- package/dist/lib/components/message/message-item.component.js.map +1 -1
- package/dist/lib/components/message/message-list.component.d.ts +2 -2
- package/dist/lib/components/message/message-list.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-list.component.js +25 -27
- package/dist/lib/components/message/message-list.component.js.map +1 -1
- package/dist/lib/components/message/suggested-responses.component.d.ts +1 -1
- package/dist/lib/components/message/suggested-responses.component.d.ts.map +1 -1
- package/dist/lib/components/message/suggested-responses.component.js +34 -34
- package/dist/lib/components/message/suggested-responses.component.js.map +1 -1
- package/dist/lib/components/navigation/conversation-navigation.component.d.ts.map +1 -1
- package/dist/lib/components/navigation/conversation-navigation.component.js +3 -3
- package/dist/lib/components/navigation/conversation-navigation.component.js.map +1 -1
- package/dist/lib/components/notification/activity-indicator.component.d.ts.map +1 -1
- package/dist/lib/components/notification/activity-indicator.component.js +5 -5
- package/dist/lib/components/notification/activity-indicator.component.js.map +1 -1
- package/dist/lib/components/notification/notification-badge.component.d.ts.map +1 -1
- package/dist/lib/components/notification/notification-badge.component.js +9 -6
- package/dist/lib/components/notification/notification-badge.component.js.map +1 -1
- package/dist/lib/components/project/project-form-modal.component.d.ts.map +1 -1
- package/dist/lib/components/project/project-form-modal.component.js +7 -7
- package/dist/lib/components/project/project-form-modal.component.js.map +1 -1
- package/dist/lib/components/project/project-selector.component.d.ts.map +1 -1
- package/dist/lib/components/project/project-selector.component.js +8 -8
- package/dist/lib/components/project/project-selector.component.js.map +1 -1
- package/dist/lib/components/search/search-panel.component.d.ts.map +1 -1
- package/dist/lib/components/search/search-panel.component.js +32 -27
- package/dist/lib/components/search/search-panel.component.js.map +1 -1
- package/dist/lib/components/share/share-modal.component.d.ts.map +1 -1
- package/dist/lib/components/share/share-modal.component.js +129 -131
- package/dist/lib/components/share/share-modal.component.js.map +1 -1
- package/dist/lib/components/shared/user-picker.component.js +6 -6
- package/dist/lib/components/shared/user-picker.component.js.map +1 -1
- package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts.map +1 -1
- package/dist/lib/components/sidebar/conversation-sidebar.component.js +41 -37
- package/dist/lib/components/sidebar/conversation-sidebar.component.js.map +1 -1
- package/dist/lib/components/task/tasks-full-view.component.js +4 -5
- package/dist/lib/components/task/tasks-full-view.component.js.map +1 -1
- package/dist/lib/components/tasks/task-widget.component.d.ts.map +1 -1
- package/dist/lib/components/tasks/task-widget.component.js +144 -118
- package/dist/lib/components/tasks/task-widget.component.js.map +1 -1
- package/dist/lib/components/tasks/tasks-dropdown.component.d.ts.map +1 -1
- package/dist/lib/components/tasks/tasks-dropdown.component.js +176 -149
- package/dist/lib/components/tasks/tasks-dropdown.component.js.map +1 -1
- package/dist/lib/components/thread/thread-panel.component.d.ts.map +1 -1
- package/dist/lib/components/thread/thread-panel.component.js +7 -5
- package/dist/lib/components/thread/thread-panel.component.js.map +1 -1
- package/dist/lib/components/toast/toast.component.d.ts.map +1 -1
- package/dist/lib/components/toast/toast.component.js +10 -11
- package/dist/lib/components/toast/toast.component.js.map +1 -1
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts +5 -5
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts.map +1 -1
- package/dist/lib/components/workspace/conversation-workspace.component.js +54 -49
- package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -1
- package/dist/lib/directives/search-shortcut.directive.d.ts.map +1 -1
- package/dist/lib/directives/search-shortcut.directive.js +3 -2
- package/dist/lib/directives/search-shortcut.directive.js.map +1 -1
- package/dist/lib/services/conversation-state.service.d.ts +160 -0
- package/dist/lib/services/conversation-state.service.d.ts.map +1 -0
- package/dist/lib/services/conversation-state.service.js +334 -0
- package/dist/lib/services/conversation-state.service.js.map +1 -0
- package/dist/lib/services/mention-autocomplete.service.d.ts +6 -0
- package/dist/lib/services/mention-autocomplete.service.d.ts.map +1 -1
- package/dist/lib/services/mention-autocomplete.service.js +25 -2
- package/dist/lib/services/mention-autocomplete.service.js.map +1 -1
- package/package.json +38 -38
|
@@ -6,25 +6,25 @@ import * as i2 from "@angular/forms";
|
|
|
6
6
|
import * as i3 from "@progress/kendo-angular-buttons";
|
|
7
7
|
import * as i4 from "@progress/kendo-angular-inputs";
|
|
8
8
|
import * as i5 from "@progress/kendo-angular-dateinputs";
|
|
9
|
-
function
|
|
10
|
-
i0.ɵɵelementStart(0, "span",
|
|
9
|
+
function FormQuestionComponent_Conditional_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
10
|
+
i0.ɵɵelementStart(0, "span", 18);
|
|
11
11
|
i0.ɵɵtext(1, "*");
|
|
12
12
|
i0.ɵɵelementEnd();
|
|
13
13
|
} }
|
|
14
|
-
function
|
|
15
|
-
i0.ɵɵelementStart(0, "label",
|
|
14
|
+
function FormQuestionComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
15
|
+
i0.ɵɵelementStart(0, "label", 1);
|
|
16
16
|
i0.ɵɵtext(1);
|
|
17
|
-
i0.ɵɵ
|
|
17
|
+
i0.ɵɵconditionalCreate(2, FormQuestionComponent_Conditional_1_Conditional_2_Template, 2, 0, "span", 18);
|
|
18
18
|
i0.ɵɵelementEnd();
|
|
19
19
|
} if (rf & 2) {
|
|
20
20
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
21
21
|
i0.ɵɵadvance();
|
|
22
22
|
i0.ɵɵtextInterpolate1(" ", ctx_r0.question.label, " ");
|
|
23
23
|
i0.ɵɵadvance();
|
|
24
|
-
i0.ɵɵ
|
|
24
|
+
i0.ɵɵconditional(ctx_r0.question.required ? 2 : -1);
|
|
25
25
|
} }
|
|
26
|
-
function
|
|
27
|
-
i0.ɵɵelementStart(0, "div",
|
|
26
|
+
function FormQuestionComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
27
|
+
i0.ɵɵelementStart(0, "div", 2);
|
|
28
28
|
i0.ɵɵtext(1);
|
|
29
29
|
i0.ɵɵelementEnd();
|
|
30
30
|
} if (rf & 2) {
|
|
@@ -32,80 +32,80 @@ function FormQuestionComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
32
32
|
i0.ɵɵadvance();
|
|
33
33
|
i0.ɵɵtextInterpolate1(" ", ctx_r0.question.helpText, " ");
|
|
34
34
|
} }
|
|
35
|
-
function
|
|
35
|
+
function FormQuestionComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
36
36
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
37
|
-
i0.ɵɵelementStart(0, "input",
|
|
38
|
-
i0.ɵɵlistener("input", function
|
|
37
|
+
i0.ɵɵelementStart(0, "input", 19);
|
|
38
|
+
i0.ɵɵlistener("input", function FormQuestionComponent_Conditional_4_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onValueChange($event.target.value)); });
|
|
39
39
|
i0.ɵɵelementEnd();
|
|
40
40
|
} if (rf & 2) {
|
|
41
41
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
42
42
|
i0.ɵɵproperty("value", ctx_r0.value || "")("placeholder", ctx_r0.placeholder)("disabled", ctx_r0.disabled);
|
|
43
43
|
} }
|
|
44
|
-
function
|
|
44
|
+
function FormQuestionComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
45
45
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
46
|
-
i0.ɵɵelementStart(0, "input",
|
|
47
|
-
i0.ɵɵlistener("input", function
|
|
46
|
+
i0.ɵɵelementStart(0, "input", 20);
|
|
47
|
+
i0.ɵɵlistener("input", function FormQuestionComponent_Conditional_5_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onValueChange($event.target.value)); });
|
|
48
48
|
i0.ɵɵelementEnd();
|
|
49
49
|
} if (rf & 2) {
|
|
50
50
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
51
51
|
i0.ɵɵproperty("value", ctx_r0.value || "")("placeholder", ctx_r0.placeholder)("disabled", ctx_r0.disabled);
|
|
52
52
|
} }
|
|
53
|
-
function
|
|
53
|
+
function FormQuestionComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
54
54
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
55
|
-
i0.ɵɵelementStart(0, "textarea",
|
|
56
|
-
i0.ɵɵlistener("input", function
|
|
55
|
+
i0.ɵɵelementStart(0, "textarea", 21);
|
|
56
|
+
i0.ɵɵlistener("input", function FormQuestionComponent_Conditional_6_Template_textarea_input_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onValueChange($event.target.value)); });
|
|
57
57
|
i0.ɵɵelementEnd();
|
|
58
58
|
} if (rf & 2) {
|
|
59
59
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
60
60
|
i0.ɵɵproperty("value", ctx_r0.value || "")("placeholder", ctx_r0.placeholder)("disabled", ctx_r0.disabled);
|
|
61
61
|
} }
|
|
62
|
-
function
|
|
62
|
+
function FormQuestionComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
63
63
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
64
|
-
i0.ɵɵelementStart(0, "kendo-numerictextbox",
|
|
65
|
-
i0.ɵɵlistener("valueChange", function
|
|
64
|
+
i0.ɵɵelementStart(0, "kendo-numerictextbox", 22);
|
|
65
|
+
i0.ɵɵlistener("valueChange", function FormQuestionComponent_Conditional_7_Template_kendo_numerictextbox_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onValueChange($event)); });
|
|
66
66
|
i0.ɵɵelementEnd();
|
|
67
67
|
} if (rf & 2) {
|
|
68
68
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
69
69
|
i0.ɵɵproperty("value", ctx_r0.value)("min", ctx_r0.min || 0)("max", ctx_r0.max || 999999999)("step", ctx_r0.step || 1)("disabled", ctx_r0.disabled);
|
|
70
70
|
} }
|
|
71
|
-
function
|
|
71
|
+
function FormQuestionComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
72
72
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
73
|
-
i0.ɵɵelementStart(0, "kendo-numerictextbox",
|
|
74
|
-
i0.ɵɵlistener("valueChange", function
|
|
73
|
+
i0.ɵɵelementStart(0, "kendo-numerictextbox", 23);
|
|
74
|
+
i0.ɵɵlistener("valueChange", function FormQuestionComponent_Conditional_8_Template_kendo_numerictextbox_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onValueChange($event)); });
|
|
75
75
|
i0.ɵɵelementEnd();
|
|
76
76
|
} if (rf & 2) {
|
|
77
77
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
78
78
|
i0.ɵɵproperty("value", ctx_r0.value)("min", ctx_r0.min || 0)("max", ctx_r0.max || 999999999)("step", ctx_r0.step || 0.01)("format", "c2")("disabled", ctx_r0.disabled);
|
|
79
79
|
} }
|
|
80
|
-
function
|
|
80
|
+
function FormQuestionComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
81
81
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
82
|
-
i0.ɵɵelementStart(0, "kendo-datepicker",
|
|
83
|
-
i0.ɵɵlistener("valueChange", function
|
|
82
|
+
i0.ɵɵelementStart(0, "kendo-datepicker", 24);
|
|
83
|
+
i0.ɵɵlistener("valueChange", function FormQuestionComponent_Conditional_9_Template_kendo_datepicker_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onValueChange($event)); });
|
|
84
84
|
i0.ɵɵelementEnd();
|
|
85
85
|
} if (rf & 2) {
|
|
86
86
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
87
87
|
i0.ɵɵproperty("value", ctx_r0.value)("disabled", ctx_r0.disabled);
|
|
88
88
|
} }
|
|
89
|
-
function
|
|
89
|
+
function FormQuestionComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
90
90
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
91
|
-
i0.ɵɵelementStart(0, "kendo-datetimepicker",
|
|
92
|
-
i0.ɵɵlistener("valueChange", function
|
|
91
|
+
i0.ɵɵelementStart(0, "kendo-datetimepicker", 24);
|
|
92
|
+
i0.ɵɵlistener("valueChange", function FormQuestionComponent_Conditional_10_Template_kendo_datetimepicker_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onValueChange($event)); });
|
|
93
93
|
i0.ɵɵelementEnd();
|
|
94
94
|
} if (rf & 2) {
|
|
95
95
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
96
96
|
i0.ɵɵproperty("value", ctx_r0.value)("disabled", ctx_r0.disabled);
|
|
97
97
|
} }
|
|
98
|
-
function
|
|
99
|
-
i0.ɵɵelement(0, "i",
|
|
98
|
+
function FormQuestionComponent_Conditional_11_For_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
99
|
+
i0.ɵɵelement(0, "i", 28);
|
|
100
100
|
} if (rf & 2) {
|
|
101
101
|
const option_r10 = i0.ɵɵnextContext().$implicit;
|
|
102
|
-
i0.ɵɵ
|
|
102
|
+
i0.ɵɵclassMap(i0.ɵɵinterpolate1("fa ", option_r10.icon));
|
|
103
103
|
} }
|
|
104
|
-
function
|
|
104
|
+
function FormQuestionComponent_Conditional_11_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
105
105
|
const _r9 = i0.ɵɵgetCurrentView();
|
|
106
|
-
i0.ɵɵelementStart(0, "button",
|
|
107
|
-
i0.ɵɵlistener("click", function
|
|
108
|
-
i0.ɵɵ
|
|
106
|
+
i0.ɵɵelementStart(0, "button", 26);
|
|
107
|
+
i0.ɵɵlistener("click", function FormQuestionComponent_Conditional_11_For_2_Template_button_click_0_listener() { const option_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.onValueChange(option_r10.value)); });
|
|
108
|
+
i0.ɵɵconditionalCreate(1, FormQuestionComponent_Conditional_11_For_2_Conditional_1_Template, 1, 3, "i", 27);
|
|
109
109
|
i0.ɵɵtext(2);
|
|
110
110
|
i0.ɵɵelementEnd();
|
|
111
111
|
} if (rf & 2) {
|
|
@@ -113,33 +113,33 @@ function FormQuestionComponent_kendo_buttongroup_11_button_1_Template(rf, ctx) {
|
|
|
113
113
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
114
114
|
i0.ɵɵproperty("toggleable", true)("selected", ctx_r0.value === option_r10.value)("disabled", ctx_r0.disabled);
|
|
115
115
|
i0.ɵɵadvance();
|
|
116
|
-
i0.ɵɵ
|
|
116
|
+
i0.ɵɵconditional(option_r10.icon ? 1 : -1);
|
|
117
117
|
i0.ɵɵadvance();
|
|
118
118
|
i0.ɵɵtextInterpolate1(" ", option_r10.label, " ");
|
|
119
119
|
} }
|
|
120
|
-
function
|
|
121
|
-
i0.ɵɵelementStart(0, "kendo-buttongroup",
|
|
122
|
-
i0.ɵɵ
|
|
120
|
+
function FormQuestionComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
121
|
+
i0.ɵɵelementStart(0, "kendo-buttongroup", 10);
|
|
122
|
+
i0.ɵɵrepeaterCreate(1, FormQuestionComponent_Conditional_11_For_2_Template, 3, 5, "button", 25, i0.ɵɵcomponentInstance().trackByValue, true);
|
|
123
123
|
i0.ɵɵelementEnd();
|
|
124
124
|
} if (rf & 2) {
|
|
125
125
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
126
126
|
i0.ɵɵproperty("selection", "single");
|
|
127
127
|
i0.ɵɵadvance();
|
|
128
|
-
i0.ɵɵ
|
|
128
|
+
i0.ɵɵrepeater(ctx_r0.options);
|
|
129
129
|
} }
|
|
130
|
-
function
|
|
131
|
-
i0.ɵɵelement(0, "i",
|
|
130
|
+
function FormQuestionComponent_Conditional_12_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
131
|
+
i0.ɵɵelement(0, "i", 28);
|
|
132
132
|
} if (rf & 2) {
|
|
133
133
|
const option_r12 = i0.ɵɵnextContext().$implicit;
|
|
134
|
-
i0.ɵɵ
|
|
134
|
+
i0.ɵɵclassMap(i0.ɵɵinterpolate1("fa ", option_r12.icon));
|
|
135
135
|
} }
|
|
136
|
-
function
|
|
136
|
+
function FormQuestionComponent_Conditional_12_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
137
137
|
const _r11 = i0.ɵɵgetCurrentView();
|
|
138
|
-
i0.ɵɵelementStart(0, "div",
|
|
139
|
-
i0.ɵɵlistener("change", function
|
|
138
|
+
i0.ɵɵelementStart(0, "div", 29)(1, "input", 30);
|
|
139
|
+
i0.ɵɵlistener("change", function FormQuestionComponent_Conditional_12_For_2_Template_input_change_1_listener() { const option_r12 = i0.ɵɵrestoreView(_r11).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.onValueChange(option_r12.value)); });
|
|
140
140
|
i0.ɵɵelementEnd();
|
|
141
|
-
i0.ɵɵelementStart(2, "label",
|
|
142
|
-
i0.ɵɵ
|
|
141
|
+
i0.ɵɵelementStart(2, "label", 31);
|
|
142
|
+
i0.ɵɵconditionalCreate(3, FormQuestionComponent_Conditional_12_For_2_Conditional_3_Template, 1, 3, "i", 27);
|
|
143
143
|
i0.ɵɵtext(4);
|
|
144
144
|
i0.ɵɵelementEnd()();
|
|
145
145
|
} if (rf & 2) {
|
|
@@ -150,21 +150,21 @@ function FormQuestionComponent_div_12_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
150
150
|
i0.ɵɵadvance();
|
|
151
151
|
i0.ɵɵproperty("for", ctx_r0.question.id + "_" + option_r12.value);
|
|
152
152
|
i0.ɵɵadvance();
|
|
153
|
-
i0.ɵɵ
|
|
153
|
+
i0.ɵɵconditional(option_r12.icon ? 3 : -1);
|
|
154
154
|
i0.ɵɵadvance();
|
|
155
155
|
i0.ɵɵtextInterpolate1(" ", option_r12.label, " ");
|
|
156
156
|
} }
|
|
157
|
-
function
|
|
158
|
-
i0.ɵɵelementStart(0, "div",
|
|
159
|
-
i0.ɵɵ
|
|
157
|
+
function FormQuestionComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
158
|
+
i0.ɵɵelementStart(0, "div", 11);
|
|
159
|
+
i0.ɵɵrepeaterCreate(1, FormQuestionComponent_Conditional_12_For_2_Template, 5, 8, "div", 29, i0.ɵɵcomponentInstance().trackByValue, true);
|
|
160
160
|
i0.ɵɵelementEnd();
|
|
161
161
|
} if (rf & 2) {
|
|
162
162
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
163
163
|
i0.ɵɵadvance();
|
|
164
|
-
i0.ɵɵ
|
|
164
|
+
i0.ɵɵrepeater(ctx_r0.options);
|
|
165
165
|
} }
|
|
166
|
-
function
|
|
167
|
-
i0.ɵɵelementStart(0, "option",
|
|
166
|
+
function FormQuestionComponent_Conditional_13_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
167
|
+
i0.ɵɵelementStart(0, "option", 33);
|
|
168
168
|
i0.ɵɵtext(1);
|
|
169
169
|
i0.ɵɵelementEnd();
|
|
170
170
|
} if (rf & 2) {
|
|
@@ -173,24 +173,24 @@ function FormQuestionComponent_select_13_option_3_Template(rf, ctx) { if (rf & 1
|
|
|
173
173
|
i0.ɵɵadvance();
|
|
174
174
|
i0.ɵɵtextInterpolate1(" ", option_r13.label, " ");
|
|
175
175
|
} }
|
|
176
|
-
function
|
|
177
|
-
i0.ɵɵelementStart(0, "select",
|
|
176
|
+
function FormQuestionComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
177
|
+
i0.ɵɵelementStart(0, "select", 12)(1, "option", 32);
|
|
178
178
|
i0.ɵɵtext(2, "Select an option...");
|
|
179
179
|
i0.ɵɵelementEnd();
|
|
180
|
-
i0.ɵɵ
|
|
180
|
+
i0.ɵɵrepeaterCreate(3, FormQuestionComponent_Conditional_13_For_4_Template, 2, 2, "option", 33, i0.ɵɵcomponentInstance().trackByValue, true);
|
|
181
181
|
i0.ɵɵelementEnd();
|
|
182
182
|
} if (rf & 2) {
|
|
183
183
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
184
184
|
i0.ɵɵproperty("formControl", ctx_r0.control)("disabled", ctx_r0.disabled);
|
|
185
185
|
i0.ɵɵadvance(3);
|
|
186
|
-
i0.ɵɵ
|
|
186
|
+
i0.ɵɵrepeater(ctx_r0.options);
|
|
187
187
|
} }
|
|
188
|
-
function
|
|
188
|
+
function FormQuestionComponent_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
189
189
|
const _r14 = i0.ɵɵgetCurrentView();
|
|
190
|
-
i0.ɵɵelementStart(0, "div",
|
|
191
|
-
i0.ɵɵlistener("valueChange", function
|
|
190
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "kendo-slider", 34);
|
|
191
|
+
i0.ɵɵlistener("valueChange", function FormQuestionComponent_Conditional_14_Template_kendo_slider_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onValueChange($event)); });
|
|
192
192
|
i0.ɵɵelementEnd();
|
|
193
|
-
i0.ɵɵelementStart(2, "div",
|
|
193
|
+
i0.ɵɵelementStart(2, "div", 35);
|
|
194
194
|
i0.ɵɵtext(3);
|
|
195
195
|
i0.ɵɵelementEnd()();
|
|
196
196
|
} if (rf & 2) {
|
|
@@ -200,16 +200,16 @@ function FormQuestionComponent_div_14_Template(rf, ctx) { if (rf & 1) {
|
|
|
200
200
|
i0.ɵɵadvance(2);
|
|
201
201
|
i0.ɵɵtextInterpolate2(" ", ctx_r0.value || ctx_r0.getSliderConfig().min, "", ctx_r0.getSliderConfig().suffix || "", " ");
|
|
202
202
|
} }
|
|
203
|
-
function
|
|
203
|
+
function FormQuestionComponent_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
204
204
|
const _r15 = i0.ɵɵgetCurrentView();
|
|
205
|
-
i0.ɵɵelementStart(0, "div",
|
|
206
|
-
i0.ɵɵlistener("valueChange", function
|
|
205
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "kendo-datepicker", 36);
|
|
206
|
+
i0.ɵɵlistener("valueChange", function FormQuestionComponent_Conditional_15_Template_kendo_datepicker_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r15); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onDateRangeStartChange($event)); });
|
|
207
207
|
i0.ɵɵelementEnd();
|
|
208
|
-
i0.ɵɵelementStart(2, "span",
|
|
208
|
+
i0.ɵɵelementStart(2, "span", 37);
|
|
209
209
|
i0.ɵɵtext(3, "to");
|
|
210
210
|
i0.ɵɵelementEnd();
|
|
211
|
-
i0.ɵɵelementStart(4, "kendo-datepicker",
|
|
212
|
-
i0.ɵɵlistener("valueChange", function
|
|
211
|
+
i0.ɵɵelementStart(4, "kendo-datepicker", 38);
|
|
212
|
+
i0.ɵɵlistener("valueChange", function FormQuestionComponent_Conditional_15_Template_kendo_datepicker_valueChange_4_listener($event) { i0.ɵɵrestoreView(_r15); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onDateRangeEndChange($event)); });
|
|
213
213
|
i0.ɵɵelementEnd()();
|
|
214
214
|
} if (rf & 2) {
|
|
215
215
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -218,28 +218,28 @@ function FormQuestionComponent_div_15_Template(rf, ctx) { if (rf & 1) {
|
|
|
218
218
|
i0.ɵɵadvance(3);
|
|
219
219
|
i0.ɵɵproperty("value", ctx_r0.value == null ? null : ctx_r0.value.end)("disabled", ctx_r0.disabled);
|
|
220
220
|
} }
|
|
221
|
-
function
|
|
221
|
+
function FormQuestionComponent_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
222
222
|
const _r16 = i0.ɵɵgetCurrentView();
|
|
223
|
-
i0.ɵɵelementStart(0, "kendo-timepicker",
|
|
224
|
-
i0.ɵɵlistener("valueChange", function
|
|
223
|
+
i0.ɵɵelementStart(0, "kendo-timepicker", 39);
|
|
224
|
+
i0.ɵɵlistener("valueChange", function FormQuestionComponent_Conditional_16_Template_kendo_timepicker_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onValueChange($event)); });
|
|
225
225
|
i0.ɵɵelementEnd();
|
|
226
226
|
} if (rf & 2) {
|
|
227
227
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
228
228
|
i0.ɵɵproperty("value", ctx_r0.value)("disabled", ctx_r0.disabled)("format", "h:mm a");
|
|
229
229
|
} }
|
|
230
|
-
function
|
|
231
|
-
i0.ɵɵelement(0, "i",
|
|
230
|
+
function FormQuestionComponent_Conditional_17_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
231
|
+
i0.ɵɵelement(0, "i", 28);
|
|
232
232
|
} if (rf & 2) {
|
|
233
233
|
const option_r18 = i0.ɵɵnextContext().$implicit;
|
|
234
|
-
i0.ɵɵ
|
|
234
|
+
i0.ɵɵclassMap(i0.ɵɵinterpolate1("fa ", option_r18.icon));
|
|
235
235
|
} }
|
|
236
|
-
function
|
|
236
|
+
function FormQuestionComponent_Conditional_17_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
237
237
|
const _r17 = i0.ɵɵgetCurrentView();
|
|
238
|
-
i0.ɵɵelementStart(0, "div",
|
|
239
|
-
i0.ɵɵlistener("change", function
|
|
238
|
+
i0.ɵɵelementStart(0, "div", 40)(1, "input", 41);
|
|
239
|
+
i0.ɵɵlistener("change", function FormQuestionComponent_Conditional_17_For_2_Template_input_change_1_listener() { const option_r18 = i0.ɵɵrestoreView(_r17).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.toggleCheckbox(option_r18)); });
|
|
240
240
|
i0.ɵɵelementEnd();
|
|
241
|
-
i0.ɵɵelementStart(2, "label",
|
|
242
|
-
i0.ɵɵ
|
|
241
|
+
i0.ɵɵelementStart(2, "label", 42);
|
|
242
|
+
i0.ɵɵconditionalCreate(3, FormQuestionComponent_Conditional_17_For_2_Conditional_3_Template, 1, 3, "i", 27);
|
|
243
243
|
i0.ɵɵtext(4);
|
|
244
244
|
i0.ɵɵelementEnd()();
|
|
245
245
|
} if (rf & 2) {
|
|
@@ -250,61 +250,64 @@ function FormQuestionComponent_div_17_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
250
250
|
i0.ɵɵadvance();
|
|
251
251
|
i0.ɵɵproperty("for", ctx_r0.question.id + "_" + option_r18.value);
|
|
252
252
|
i0.ɵɵadvance();
|
|
253
|
-
i0.ɵɵ
|
|
253
|
+
i0.ɵɵconditional(option_r18.icon ? 3 : -1);
|
|
254
254
|
i0.ɵɵadvance();
|
|
255
255
|
i0.ɵɵtextInterpolate1(" ", option_r18.label, " ");
|
|
256
256
|
} }
|
|
257
|
-
function
|
|
258
|
-
i0.ɵɵelementStart(0, "div",
|
|
259
|
-
i0.ɵɵ
|
|
257
|
+
function FormQuestionComponent_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
258
|
+
i0.ɵɵelementStart(0, "div", 16);
|
|
259
|
+
i0.ɵɵrepeaterCreate(1, FormQuestionComponent_Conditional_17_For_2_Template, 5, 6, "div", 40, i0.ɵɵcomponentInstance().trackByValue, true);
|
|
260
260
|
i0.ɵɵelementEnd();
|
|
261
261
|
} if (rf & 2) {
|
|
262
262
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
263
263
|
i0.ɵɵadvance();
|
|
264
|
-
i0.ɵɵ
|
|
264
|
+
i0.ɵɵrepeater(ctx_r0.options);
|
|
265
265
|
} }
|
|
266
|
-
function
|
|
266
|
+
function FormQuestionComponent_Conditional_18_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
267
267
|
i0.ɵɵelementStart(0, "span");
|
|
268
268
|
i0.ɵɵtext(1, "This field is required");
|
|
269
269
|
i0.ɵɵelementEnd();
|
|
270
270
|
} }
|
|
271
|
-
function
|
|
271
|
+
function FormQuestionComponent_Conditional_18_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
272
272
|
i0.ɵɵelementStart(0, "span");
|
|
273
273
|
i0.ɵɵtext(1, "Please enter a valid email address");
|
|
274
274
|
i0.ɵɵelementEnd();
|
|
275
275
|
} }
|
|
276
|
-
function
|
|
276
|
+
function FormQuestionComponent_Conditional_18_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
277
277
|
i0.ɵɵelementStart(0, "span");
|
|
278
278
|
i0.ɵɵtext(1);
|
|
279
279
|
i0.ɵɵelementEnd();
|
|
280
280
|
} if (rf & 2) {
|
|
281
281
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
282
282
|
i0.ɵɵadvance();
|
|
283
|
-
i0.ɵɵtextInterpolate1("Value must be at least ", ctx_r0.min
|
|
283
|
+
i0.ɵɵtextInterpolate1("Value must be at least ", ctx_r0.min);
|
|
284
284
|
} }
|
|
285
|
-
function
|
|
285
|
+
function FormQuestionComponent_Conditional_18_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
286
286
|
i0.ɵɵelementStart(0, "span");
|
|
287
287
|
i0.ɵɵtext(1);
|
|
288
288
|
i0.ɵɵelementEnd();
|
|
289
289
|
} if (rf & 2) {
|
|
290
290
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
291
291
|
i0.ɵɵadvance();
|
|
292
|
-
i0.ɵɵtextInterpolate1("Value must be at most ", ctx_r0.max
|
|
292
|
+
i0.ɵɵtextInterpolate1("Value must be at most ", ctx_r0.max);
|
|
293
293
|
} }
|
|
294
|
-
function
|
|
295
|
-
i0.ɵɵelementStart(0, "div",
|
|
296
|
-
i0.ɵɵ
|
|
294
|
+
function FormQuestionComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
295
|
+
i0.ɵɵelementStart(0, "div", 17);
|
|
296
|
+
i0.ɵɵconditionalCreate(1, FormQuestionComponent_Conditional_18_Conditional_1_Template, 2, 0, "span");
|
|
297
|
+
i0.ɵɵconditionalCreate(2, FormQuestionComponent_Conditional_18_Conditional_2_Template, 2, 0, "span");
|
|
298
|
+
i0.ɵɵconditionalCreate(3, FormQuestionComponent_Conditional_18_Conditional_3_Template, 2, 1, "span");
|
|
299
|
+
i0.ɵɵconditionalCreate(4, FormQuestionComponent_Conditional_18_Conditional_4_Template, 2, 1, "span");
|
|
297
300
|
i0.ɵɵelementEnd();
|
|
298
301
|
} if (rf & 2) {
|
|
299
302
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
300
303
|
i0.ɵɵadvance();
|
|
301
|
-
i0.ɵɵ
|
|
304
|
+
i0.ɵɵconditional((ctx_r0.control.errors == null ? null : ctx_r0.control.errors["required"]) ? 1 : -1);
|
|
302
305
|
i0.ɵɵadvance();
|
|
303
|
-
i0.ɵɵ
|
|
306
|
+
i0.ɵɵconditional((ctx_r0.control.errors == null ? null : ctx_r0.control.errors["email"]) ? 2 : -1);
|
|
304
307
|
i0.ɵɵadvance();
|
|
305
|
-
i0.ɵɵ
|
|
308
|
+
i0.ɵɵconditional((ctx_r0.control.errors == null ? null : ctx_r0.control.errors["min"]) ? 3 : -1);
|
|
306
309
|
i0.ɵɵadvance();
|
|
307
|
-
i0.ɵɵ
|
|
310
|
+
i0.ɵɵconditional((ctx_r0.control.errors == null ? null : ctx_r0.control.errors["max"]) ? 4 : -1);
|
|
308
311
|
} }
|
|
309
312
|
/**
|
|
310
313
|
* Component for rendering individual form questions with various input types
|
|
@@ -549,73 +552,87 @@ export class FormQuestionComponent {
|
|
|
549
552
|
return option.value;
|
|
550
553
|
}
|
|
551
554
|
static ɵfac = function FormQuestionComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FormQuestionComponent)(); };
|
|
552
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormQuestionComponent, selectors: [["mj-form-question"]], inputs: { question: "question", control: "control" }, features: [i0.ɵɵProvidersFeature([
|
|
555
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormQuestionComponent, selectors: [["mj-form-question"]], inputs: { question: "question", control: "control" }, standalone: false, features: [i0.ɵɵProvidersFeature([
|
|
553
556
|
{
|
|
554
557
|
provide: NG_VALUE_ACCESSOR,
|
|
555
558
|
useExisting: forwardRef(() => FormQuestionComponent),
|
|
556
559
|
multi: true
|
|
557
560
|
}
|
|
558
|
-
])], decls: 19, vars: 20, consts: [[1, "form-question"], [
|
|
561
|
+
])], decls: 19, vars: 20, consts: [[1, "form-question"], [1, "question-label"], [1, "help-text"], [1, "input-container", 3, "ngClass"], ["type", "text", "kendoTextBox", "", 1, "question-input", 3, "value", "placeholder", "disabled"], ["type", "email", "kendoTextBox", "", 1, "question-input", 3, "value", "placeholder", "disabled"], ["kendoTextArea", "", "rows", "5", 1, "question-textarea", 3, "value", "placeholder", "disabled"], [1, "question-input", 3, "value", "min", "max", "step", "disabled"], [1, "question-input", 3, "value", "min", "max", "step", "format", "disabled"], [1, "question-input", 3, "value", "disabled"], [1, "question-buttongroup", 3, "selection"], [1, "question-radio-group"], [1, "question-dropdown", 3, "formControl", "disabled"], [1, "question-slider-container"], [1, "question-daterange"], [1, "question-input", 3, "value", "disabled", "format"], [1, "question-checkbox-group"], [1, "validation-error"], [1, "required-indicator"], ["type", "text", "kendoTextBox", "", 1, "question-input", 3, "input", "value", "placeholder", "disabled"], ["type", "email", "kendoTextBox", "", 1, "question-input", 3, "input", "value", "placeholder", "disabled"], ["kendoTextArea", "", "rows", "5", 1, "question-textarea", 3, "input", "value", "placeholder", "disabled"], [1, "question-input", 3, "valueChange", "value", "min", "max", "step", "disabled"], [1, "question-input", 3, "valueChange", "value", "min", "max", "step", "format", "disabled"], [1, "question-input", 3, "valueChange", "value", "disabled"], ["kendoButton", "", 1, "buttongroup-option", 3, "toggleable", "selected", "disabled"], ["kendoButton", "", 1, "buttongroup-option", 3, "click", "toggleable", "selected", "disabled"], ["aria-hidden", "true", 3, "class"], ["aria-hidden", "true"], [1, "radio-option"], ["type", "radio", "kendoRadioButton", "", 3, "change", "name", "value", "checked", "disabled", "id"], [1, "radio-label", 3, "for"], ["value", ""], [3, "value"], [1, "question-slider", 3, "valueChange", "min", "max", "smallStep", "value", "disabled"], [1, "slider-value"], ["placeholder", "Start Date", 1, "daterange-start", 3, "valueChange", "value", "disabled"], [1, "daterange-separator"], ["placeholder", "End Date", 1, "daterange-end", 3, "valueChange", "value", "disabled"], [1, "question-input", 3, "valueChange", "value", "disabled", "format"], [1, "checkbox-option"], ["type", "checkbox", "kendoCheckBox", "", 3, "change", "checked", "disabled", "id"], [1, "checkbox-label", 3, "for"]], template: function FormQuestionComponent_Template(rf, ctx) { if (rf & 1) {
|
|
559
562
|
i0.ɵɵelementStart(0, "div", 0);
|
|
560
|
-
i0.ɵɵ
|
|
563
|
+
i0.ɵɵconditionalCreate(1, FormQuestionComponent_Conditional_1_Template, 3, 2, "label", 1);
|
|
564
|
+
i0.ɵɵconditionalCreate(2, FormQuestionComponent_Conditional_2_Template, 2, 1, "div", 2);
|
|
561
565
|
i0.ɵɵelementStart(3, "div", 3);
|
|
562
|
-
i0.ɵɵ
|
|
566
|
+
i0.ɵɵconditionalCreate(4, FormQuestionComponent_Conditional_4_Template, 1, 3, "input", 4);
|
|
567
|
+
i0.ɵɵconditionalCreate(5, FormQuestionComponent_Conditional_5_Template, 1, 3, "input", 5);
|
|
568
|
+
i0.ɵɵconditionalCreate(6, FormQuestionComponent_Conditional_6_Template, 1, 3, "textarea", 6);
|
|
569
|
+
i0.ɵɵconditionalCreate(7, FormQuestionComponent_Conditional_7_Template, 1, 5, "kendo-numerictextbox", 7);
|
|
570
|
+
i0.ɵɵconditionalCreate(8, FormQuestionComponent_Conditional_8_Template, 1, 6, "kendo-numerictextbox", 8);
|
|
571
|
+
i0.ɵɵconditionalCreate(9, FormQuestionComponent_Conditional_9_Template, 1, 2, "kendo-datepicker", 9);
|
|
572
|
+
i0.ɵɵconditionalCreate(10, FormQuestionComponent_Conditional_10_Template, 1, 2, "kendo-datetimepicker", 9);
|
|
573
|
+
i0.ɵɵconditionalCreate(11, FormQuestionComponent_Conditional_11_Template, 3, 1, "kendo-buttongroup", 10);
|
|
574
|
+
i0.ɵɵconditionalCreate(12, FormQuestionComponent_Conditional_12_Template, 3, 0, "div", 11);
|
|
575
|
+
i0.ɵɵconditionalCreate(13, FormQuestionComponent_Conditional_13_Template, 5, 2, "select", 12);
|
|
576
|
+
i0.ɵɵconditionalCreate(14, FormQuestionComponent_Conditional_14_Template, 4, 7, "div", 13);
|
|
577
|
+
i0.ɵɵconditionalCreate(15, FormQuestionComponent_Conditional_15_Template, 5, 4, "div", 14);
|
|
578
|
+
i0.ɵɵconditionalCreate(16, FormQuestionComponent_Conditional_16_Template, 1, 3, "kendo-timepicker", 15);
|
|
579
|
+
i0.ɵɵconditionalCreate(17, FormQuestionComponent_Conditional_17_Template, 3, 0, "div", 16);
|
|
563
580
|
i0.ɵɵelementEnd();
|
|
564
|
-
i0.ɵɵ
|
|
581
|
+
i0.ɵɵconditionalCreate(18, FormQuestionComponent_Conditional_18_Template, 5, 4, "div", 17);
|
|
565
582
|
i0.ɵɵelementEnd();
|
|
566
583
|
} if (rf & 2) {
|
|
567
584
|
i0.ɵɵclassProp("required", ctx.question.required);
|
|
568
585
|
i0.ɵɵadvance();
|
|
569
|
-
i0.ɵɵ
|
|
586
|
+
i0.ɵɵconditional(ctx.question.label ? 1 : -1);
|
|
570
587
|
i0.ɵɵadvance();
|
|
571
|
-
i0.ɵɵ
|
|
588
|
+
i0.ɵɵconditional(ctx.question.helpText ? 2 : -1);
|
|
572
589
|
i0.ɵɵadvance();
|
|
573
590
|
i0.ɵɵproperty("ngClass", ctx.widthClass);
|
|
574
591
|
i0.ɵɵadvance();
|
|
575
|
-
i0.ɵɵ
|
|
592
|
+
i0.ɵɵconditional(ctx.questionType === "text" ? 4 : -1);
|
|
576
593
|
i0.ɵɵadvance();
|
|
577
|
-
i0.ɵɵ
|
|
594
|
+
i0.ɵɵconditional(ctx.questionType === "email" ? 5 : -1);
|
|
578
595
|
i0.ɵɵadvance();
|
|
579
|
-
i0.ɵɵ
|
|
596
|
+
i0.ɵɵconditional(ctx.questionType === "textarea" ? 6 : -1);
|
|
580
597
|
i0.ɵɵadvance();
|
|
581
|
-
i0.ɵɵ
|
|
598
|
+
i0.ɵɵconditional(ctx.questionType === "number" ? 7 : -1);
|
|
582
599
|
i0.ɵɵadvance();
|
|
583
|
-
i0.ɵɵ
|
|
600
|
+
i0.ɵɵconditional(ctx.questionType === "currency" ? 8 : -1);
|
|
584
601
|
i0.ɵɵadvance();
|
|
585
|
-
i0.ɵɵ
|
|
602
|
+
i0.ɵɵconditional(ctx.questionType === "date" ? 9 : -1);
|
|
586
603
|
i0.ɵɵadvance();
|
|
587
|
-
i0.ɵɵ
|
|
604
|
+
i0.ɵɵconditional(ctx.questionType === "datetime" ? 10 : -1);
|
|
588
605
|
i0.ɵɵadvance();
|
|
589
|
-
i0.ɵɵ
|
|
606
|
+
i0.ɵɵconditional(ctx.questionType === "buttongroup" ? 11 : -1);
|
|
590
607
|
i0.ɵɵadvance();
|
|
591
|
-
i0.ɵɵ
|
|
608
|
+
i0.ɵɵconditional(ctx.questionType === "radio" ? 12 : -1);
|
|
592
609
|
i0.ɵɵadvance();
|
|
593
|
-
i0.ɵɵ
|
|
610
|
+
i0.ɵɵconditional(ctx.questionType === "dropdown" ? 13 : -1);
|
|
594
611
|
i0.ɵɵadvance();
|
|
595
|
-
i0.ɵɵ
|
|
612
|
+
i0.ɵɵconditional(ctx.questionType === "slider" ? 14 : -1);
|
|
596
613
|
i0.ɵɵadvance();
|
|
597
|
-
i0.ɵɵ
|
|
614
|
+
i0.ɵɵconditional(ctx.questionType === "daterange" ? 15 : -1);
|
|
598
615
|
i0.ɵɵadvance();
|
|
599
|
-
i0.ɵɵ
|
|
616
|
+
i0.ɵɵconditional(ctx.questionType === "time" ? 16 : -1);
|
|
600
617
|
i0.ɵɵadvance();
|
|
601
|
-
i0.ɵɵ
|
|
618
|
+
i0.ɵɵconditional(ctx.questionType === "checkbox" ? 17 : -1);
|
|
602
619
|
i0.ɵɵadvance();
|
|
603
|
-
i0.ɵɵ
|
|
604
|
-
} }, dependencies: [i1.NgClass,
|
|
620
|
+
i0.ɵɵconditional(ctx.control.invalid && ctx.control.touched ? 18 : -1);
|
|
621
|
+
} }, dependencies: [i1.NgClass, i2.NgSelectOption, i2.ɵNgSelectMultipleOption, i2.SelectControlValueAccessor, i2.NgControlStatus, i2.FormControlDirective, i3.ButtonComponent, i3.ButtonGroupComponent, i4.TextBoxDirective, i4.NumericTextBoxComponent, i4.TextAreaDirective, i4.CheckBoxDirective, i4.RadioButtonDirective, i4.SliderComponent, i5.DatePickerComponent, i5.DateTimePickerComponent, i5.TimePickerComponent], styles: [".form-question[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n}\n\n.question-label[_ngcontent-%COMP%] {\n display: block;\n font-weight: 500;\n margin-bottom: 6px;\n color: #333;\n font-size: 14px;\n}\n\n.required-indicator[_ngcontent-%COMP%] {\n color: #d9534f;\n margin-left: 2px;\n}\n\n.help-text[_ngcontent-%COMP%] {\n font-size: 12px;\n color: #666;\n margin-bottom: 8px;\n font-style: italic;\n}\n\n\n\n.question-input[_ngcontent-%COMP%], \n.question-textarea[_ngcontent-%COMP%], \n.question-dropdown[_ngcontent-%COMP%] {\n width: 100%;\n max-width: 100%;\n}\n\n.question-dropdown[_ngcontent-%COMP%] {\n padding: 8px 12px;\n border: 1px solid #d1d5db;\n border-radius: 4px;\n font-size: 14px;\n font-family: inherit;\n background-color: white;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: right 8px center;\n background-size: 12px;\n padding-right: 32px;\n cursor: pointer;\n transition: border-color 0.2s ease, box-shadow 0.2s ease;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n.question-dropdown[_ngcontent-%COMP%]:hover {\n border-color: #9ca3af;\n}\n\n.question-dropdown[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: #667eea;\n box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.question-dropdown[_ngcontent-%COMP%]:disabled {\n background-color: #f3f4f6;\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n.question-textarea[_ngcontent-%COMP%] {\n resize: vertical;\n min-height: 100px;\n}\n\n.question-buttongroup[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: nowrap;\n gap: 8px;\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: thin;\n scrollbar-color: rgba(16, 185, 129, 0.3) transparent;\n}\n\n.question-buttongroup[_ngcontent-%COMP%]::-webkit-scrollbar {\n height: 6px;\n}\n\n.question-buttongroup[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.question-buttongroup[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: rgba(16, 185, 129, 0.3);\n border-radius: 3px;\n}\n\n.question-buttongroup[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover {\n background: rgba(16, 185, 129, 0.5);\n}\n\n.buttongroup-option[_ngcontent-%COMP%] {\n flex: 0 0 auto;\n white-space: nowrap;\n}\n\n.buttongroup-option[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 6px;\n}\n\n.question-radio-group[_ngcontent-%COMP%], \n.question-checkbox-group[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 12px 16px;\n}\n\n.radio-option[_ngcontent-%COMP%], \n.checkbox-option[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 120px;\n flex: 0 0 auto;\n}\n\n.radio-label[_ngcontent-%COMP%], \n.checkbox-label[_ngcontent-%COMP%] {\n cursor: pointer;\n user-select: none;\n margin: 0;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.radio-label[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.checkbox-label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #666;\n}\n\n.validation-error[_ngcontent-%COMP%] {\n color: #d9534f;\n font-size: 12px;\n margin-top: 4px;\n}\n\n\n\n.form-question.required[_ngcontent-%COMP%] .question-label[_ngcontent-%COMP%] {\n font-weight: 600;\n}\n\n\n\n.question-slider-container[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n.question-slider[_ngcontent-%COMP%] {\n width: 100%;\n margin-bottom: 8px;\n}\n\n.slider-value[_ngcontent-%COMP%] {\n text-align: center;\n font-size: 16px;\n font-weight: 600;\n color: #10b981;\n padding: 4px 0;\n}\n\n\n\n.question-daterange[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n}\n\n.daterange-start[_ngcontent-%COMP%], \n.daterange-end[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 150px;\n}\n\n.daterange-separator[_ngcontent-%COMP%] {\n font-weight: 500;\n color: #666;\n white-space: nowrap;\n}\n\n\n\n@media (max-width: 480px) {\n .question-daterange[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n }\n\n .daterange-separator[_ngcontent-%COMP%] {\n text-align: center;\n padding: 4px 0;\n }\n}\n\n\n\n\n\n\n.input-container[_ngcontent-%COMP%] {\n display: block;\n}\n\n\n\n.input-container.width-narrow[_ngcontent-%COMP%] {\n max-width: 200px;\n}\n\n.input-container.width-narrow[_ngcontent-%COMP%] .question-input[_ngcontent-%COMP%], \n.input-container.width-narrow[_ngcontent-%COMP%] .question-dropdown[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n\n\n.input-container.width-medium[_ngcontent-%COMP%] {\n max-width: 450px;\n}\n\n.input-container.width-medium[_ngcontent-%COMP%] .question-input[_ngcontent-%COMP%], \n.input-container.width-medium[_ngcontent-%COMP%] .question-dropdown[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n\n\n.input-container.width-wide[_ngcontent-%COMP%] {\n max-width: 100%;\n}\n\n.input-container.width-wide[_ngcontent-%COMP%] .question-input[_ngcontent-%COMP%], \n.input-container.width-wide[_ngcontent-%COMP%] .question-dropdown[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n\n\n.input-container.width-full[_ngcontent-%COMP%] {\n max-width: 100%;\n}\n\n.input-container.width-full[_ngcontent-%COMP%] .question-input[_ngcontent-%COMP%], \n.input-container.width-full[_ngcontent-%COMP%] .question-textarea[_ngcontent-%COMP%], \n.input-container.width-full[_ngcontent-%COMP%] .question-dropdown[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n\n\n.input-container.width-auto[_ngcontent-%COMP%] {\n max-width: 350px;\n min-width: 150px;\n width: auto;\n}\n\n.input-container.width-auto[_ngcontent-%COMP%] .question-dropdown[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n\n\n@media (max-width: 600px) {\n .input-container.width-narrow[_ngcontent-%COMP%], \n .input-container.width-medium[_ngcontent-%COMP%], \n .input-container.width-wide[_ngcontent-%COMP%], \n .input-container.width-auto[_ngcontent-%COMP%] {\n max-width: 100%;\n }\n}"] });
|
|
605
622
|
}
|
|
606
623
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormQuestionComponent, [{
|
|
607
624
|
type: Component,
|
|
608
|
-
args: [{ selector: 'mj-form-question', providers: [
|
|
625
|
+
args: [{ standalone: false, selector: 'mj-form-question', providers: [
|
|
609
626
|
{
|
|
610
627
|
provide: NG_VALUE_ACCESSOR,
|
|
611
628
|
useExisting: forwardRef(() => FormQuestionComponent),
|
|
612
629
|
multi: true
|
|
613
630
|
}
|
|
614
|
-
], template: "<div class=\"form-question\" [class.required]=\"question.required\">\n <!-- Label -->\n <label *ngIf=\"question.label\" class=\"question-label\">\n {{ question.label }}\n <span *ngIf=\"question.required\" class=\"required-indicator\">*</span>\n </label>\n\n <!-- Help Text -->\n <div *ngIf=\"question.helpText\" class=\"help-text\">\n {{ question.helpText }}\n </div>\n\n <!-- Input Container with width class -->\n <div class=\"input-container\" [ngClass]=\"widthClass\">\n\n <!-- Text Input -->\n <input\n *ngIf=\"questionType === 'text'\"\n type=\"text\"\n kendoTextBox\n [value]=\"value || ''\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange($any($event.target).value)\"\n class=\"question-input\"\n />\n\n <!-- Email Input -->\n <input\n *ngIf=\"questionType === 'email'\"\n type=\"email\"\n kendoTextBox\n [value]=\"value || ''\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange($any($event.target).value)\"\n class=\"question-input\"\n />\n\n <!-- Textarea -->\n <textarea\n *ngIf=\"questionType === 'textarea'\"\n kendoTextArea\n [value]=\"value || ''\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange($any($event.target).value)\"\n class=\"question-textarea\"\n rows=\"5\"\n ></textarea>\n\n <!-- Number Input -->\n <kendo-numerictextbox\n *ngIf=\"questionType === 'number'\"\n [value]=\"value\"\n [min]=\"min || 0\"\n [max]=\"max || 999999999\"\n [step]=\"step || 1\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-input\"\n ></kendo-numerictextbox>\n\n <!-- Currency Input -->\n <kendo-numerictextbox\n *ngIf=\"questionType === 'currency'\"\n [value]=\"value\"\n [min]=\"min || 0\"\n [max]=\"max || 999999999\"\n [step]=\"step || 0.01\"\n [format]=\"'c2'\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-input\"\n ></kendo-numerictextbox>\n\n <!-- Date Picker -->\n <kendo-datepicker\n *ngIf=\"questionType === 'date'\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-input\"\n ></kendo-datepicker>\n\n <!-- DateTime Picker -->\n <kendo-datetimepicker\n *ngIf=\"questionType === 'datetime'\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-input\"\n ></kendo-datetimepicker>\n\n <!-- Button Group -->\n <kendo-buttongroup\n *ngIf=\"questionType === 'buttongroup'\"\n [selection]=\"'single'\"\n class=\"question-buttongroup\"\n >\n <button\n *ngFor=\"let option of options; trackBy: trackByValue\"\n kendoButton\n [toggleable]=\"true\"\n [selected]=\"value === option.value\"\n [disabled]=\"disabled\"\n (click)=\"onValueChange(option.value)\"\n class=\"buttongroup-option\"\n >\n <i *ngIf=\"option.icon\" class=\"fa {{ option.icon }}\" aria-hidden=\"true\"></i>\n {{ option.label }}\n </button>\n </kendo-buttongroup>\n\n <!-- Radio Buttons -->\n <div *ngIf=\"questionType === 'radio'\" class=\"question-radio-group\">\n <div *ngFor=\"let option of options; trackBy: trackByValue\" class=\"radio-option\">\n <input\n type=\"radio\"\n kendoRadioButton\n [name]=\"question.id\"\n [value]=\"option.value\"\n [checked]=\"value === option.value\"\n [disabled]=\"disabled\"\n (change)=\"onValueChange(option.value)\"\n [id]=\"question.id + '_' + option.value\"\n />\n <label [for]=\"question.id + '_' + option.value\" class=\"radio-label\">\n <i *ngIf=\"option.icon\" class=\"fa {{ option.icon }}\" aria-hidden=\"true\"></i>\n {{ option.label }}\n </label>\n </div>\n </div>\n\n <!-- Dropdown -->\n <select\n *ngIf=\"questionType === 'dropdown'\"\n [formControl]=\"control\"\n [disabled]=\"disabled\"\n class=\"question-dropdown\"\n >\n <option value=\"\">Select an option...</option>\n <option *ngFor=\"let option of options; trackBy: trackByValue\" [value]=\"option.value\">\n {{ option.label }}\n </option>\n </select>\n\n <!-- Slider -->\n <div *ngIf=\"questionType === 'slider'\" class=\"question-slider-container\">\n <kendo-slider\n [min]=\"getSliderConfig().min\"\n [max]=\"getSliderConfig().max\"\n [smallStep]=\"getSliderConfig().step || 1\"\n [value]=\"value || getSliderConfig().min\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-slider\"\n ></kendo-slider>\n <div class=\"slider-value\">\n {{ value || getSliderConfig().min }}{{ getSliderConfig().suffix || '' }}\n </div>\n </div>\n\n <!-- Date Range -->\n <div *ngIf=\"questionType === 'daterange'\" class=\"question-daterange\">\n <kendo-datepicker\n [value]=\"value?.start\"\n [disabled]=\"disabled\"\n (valueChange)=\"onDateRangeStartChange($event)\"\n placeholder=\"Start Date\"\n class=\"daterange-start\"\n ></kendo-datepicker>\n <span class=\"daterange-separator\">to</span>\n <kendo-datepicker\n [value]=\"value?.end\"\n [disabled]=\"disabled\"\n (valueChange)=\"onDateRangeEndChange($event)\"\n placeholder=\"End Date\"\n class=\"daterange-end\"\n ></kendo-datepicker>\n </div>\n\n <!-- Time Picker -->\n <kendo-timepicker\n *ngIf=\"questionType === 'time'\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n [format]=\"'h:mm a'\"\n class=\"question-input\"\n ></kendo-timepicker>\n\n <!-- Checkboxes -->\n <div *ngIf=\"questionType === 'checkbox'\" class=\"question-checkbox-group\">\n <div *ngFor=\"let option of options; trackBy: trackByValue\" class=\"checkbox-option\">\n <input\n type=\"checkbox\"\n kendoCheckBox\n [checked]=\"isChecked(option)\"\n [disabled]=\"disabled\"\n (change)=\"toggleCheckbox(option)\"\n [id]=\"question.id + '_' + option.value\"\n />\n <label [for]=\"question.id + '_' + option.value\" class=\"checkbox-label\">\n <i *ngIf=\"option.icon\" class=\"fa {{ option.icon }}\" aria-hidden=\"true\"></i>\n {{ option.label }}\n </label>\n </div>\n </div>\n </div><!-- end input-container -->\n\n <!-- Validation Error -->\n <div *ngIf=\"control?.invalid && control?.touched\" class=\"validation-error\">\n <span *ngIf=\"control?.errors?.['required']\">This field is required</span>\n <span *ngIf=\"control?.errors?.['email']\">Please enter a valid email address</span>\n <span *ngIf=\"control?.errors?.['min']\">Value must be at least {{ min }}</span>\n <span *ngIf=\"control?.errors?.['max']\">Value must be at most {{ max }}</span>\n </div>\n</div>\n", styles: [".form-question {\n margin-bottom: 16px;\n}\n\n.question-label {\n display: block;\n font-weight: 500;\n margin-bottom: 6px;\n color: #333;\n font-size: 14px;\n}\n\n.required-indicator {\n color: #d9534f;\n margin-left: 2px;\n}\n\n.help-text {\n font-size: 12px;\n color: #666;\n margin-bottom: 8px;\n font-style: italic;\n}\n\n/* Default widths - controlled by input-container width classes */\n.question-input,\n.question-textarea,\n.question-dropdown {\n width: 100%;\n max-width: 100%;\n}\n\n.question-dropdown {\n padding: 8px 12px;\n border: 1px solid #d1d5db;\n border-radius: 4px;\n font-size: 14px;\n font-family: inherit;\n background-color: white;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: right 8px center;\n background-size: 12px;\n padding-right: 32px;\n cursor: pointer;\n transition: border-color 0.2s ease, box-shadow 0.2s ease;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n.question-dropdown:hover {\n border-color: #9ca3af;\n}\n\n.question-dropdown:focus {\n outline: none;\n border-color: #667eea;\n box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.question-dropdown:disabled {\n background-color: #f3f4f6;\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n.question-textarea {\n resize: vertical;\n min-height: 100px;\n}\n\n.question-buttongroup {\n display: flex;\n flex-wrap: nowrap;\n gap: 8px;\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: thin;\n scrollbar-color: rgba(16, 185, 129, 0.3) transparent;\n}\n\n.question-buttongroup::-webkit-scrollbar {\n height: 6px;\n}\n\n.question-buttongroup::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.question-buttongroup::-webkit-scrollbar-thumb {\n background: rgba(16, 185, 129, 0.3);\n border-radius: 3px;\n}\n\n.question-buttongroup::-webkit-scrollbar-thumb:hover {\n background: rgba(16, 185, 129, 0.5);\n}\n\n.buttongroup-option {\n flex: 0 0 auto;\n white-space: nowrap;\n}\n\n.buttongroup-option i {\n margin-right: 6px;\n}\n\n.question-radio-group,\n.question-checkbox-group {\n display: flex;\n flex-wrap: wrap;\n gap: 12px 16px;\n}\n\n.radio-option,\n.checkbox-option {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 120px;\n flex: 0 0 auto;\n}\n\n.radio-label,\n.checkbox-label {\n cursor: pointer;\n user-select: none;\n margin: 0;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.radio-label i,\n.checkbox-label i {\n color: #666;\n}\n\n.validation-error {\n color: #d9534f;\n font-size: 12px;\n margin-top: 4px;\n}\n\n/* Required field styling */\n.form-question.required .question-label {\n font-weight: 600;\n}\n\n/* Slider styling */\n.question-slider-container {\n width: 100%;\n}\n\n.question-slider {\n width: 100%;\n margin-bottom: 8px;\n}\n\n.slider-value {\n text-align: center;\n font-size: 16px;\n font-weight: 600;\n color: #10b981;\n padding: 4px 0;\n}\n\n/* Date range styling */\n.question-daterange {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n}\n\n.daterange-start,\n.daterange-end {\n flex: 1;\n min-width: 150px;\n}\n\n.daterange-separator {\n font-weight: 500;\n color: #666;\n white-space: nowrap;\n}\n\n/* Mobile adjustments for date range */\n@media (max-width: 480px) {\n .question-daterange {\n flex-direction: column;\n align-items: stretch;\n }\n\n .daterange-separator {\n text-align: center;\n padding: 4px 0;\n }\n}\n\n/* ===== Semantic Width Classes ===== */\n/* Controls field width based on expected content length */\n\n.input-container {\n display: block;\n}\n\n/* Narrow fields - for numbers, dates, times, short codes */\n.input-container.width-narrow {\n max-width: 200px;\n}\n\n.input-container.width-narrow .question-input,\n.input-container.width-narrow .question-dropdown {\n width: 100%;\n}\n\n/* Medium fields - for names, cities, phone numbers (DEFAULT) */\n.input-container.width-medium {\n max-width: 450px;\n}\n\n.input-container.width-medium .question-input,\n.input-container.width-medium .question-dropdown {\n width: 100%;\n}\n\n/* Wide fields - for emails, URLs, long text */\n.input-container.width-wide {\n max-width: 100%;\n}\n\n.input-container.width-wide .question-input,\n.input-container.width-wide .question-dropdown {\n width: 100%;\n}\n\n/* Full width - for textarea, search fields */\n.input-container.width-full {\n max-width: 100%;\n}\n\n.input-container.width-full .question-input,\n.input-container.width-full .question-textarea,\n.input-container.width-full .question-dropdown {\n width: 100%;\n}\n\n/* Auto-width - for dropdowns, radio, checkbox (sizes to content) */\n.input-container.width-auto {\n max-width: 350px;\n min-width: 150px;\n width: auto;\n}\n\n.input-container.width-auto .question-dropdown {\n width: 100%;\n}\n\n/* Responsive adjustments for smaller screens */\n@media (max-width: 600px) {\n .input-container.width-narrow,\n .input-container.width-medium,\n .input-container.width-wide,\n .input-container.width-auto {\n max-width: 100%;\n }\n}\n"] }]
|
|
631
|
+
], template: "<div class=\"form-question\" [class.required]=\"question.required\">\n <!-- Label -->\n @if (question.label) {\n <label class=\"question-label\">\n {{ question.label }}\n @if (question.required) {\n <span class=\"required-indicator\">*</span>\n }\n </label>\n }\n\n <!-- Help Text -->\n @if (question.helpText) {\n <div class=\"help-text\">\n {{ question.helpText }}\n </div>\n }\n\n <!-- Input Container with width class -->\n <div class=\"input-container\" [ngClass]=\"widthClass\">\n\n <!-- Text Input -->\n @if (questionType === 'text') {\n <input\n type=\"text\"\n kendoTextBox\n [value]=\"value || ''\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange($any($event.target).value)\"\n class=\"question-input\"\n />\n }\n\n <!-- Email Input -->\n @if (questionType === 'email') {\n <input\n type=\"email\"\n kendoTextBox\n [value]=\"value || ''\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange($any($event.target).value)\"\n class=\"question-input\"\n />\n }\n\n <!-- Textarea -->\n @if (questionType === 'textarea') {\n <textarea\n kendoTextArea\n [value]=\"value || ''\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange($any($event.target).value)\"\n class=\"question-textarea\"\n rows=\"5\"\n ></textarea>\n }\n\n <!-- Number Input -->\n @if (questionType === 'number') {\n <kendo-numerictextbox\n [value]=\"value\"\n [min]=\"min || 0\"\n [max]=\"max || 999999999\"\n [step]=\"step || 1\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-input\"\n ></kendo-numerictextbox>\n }\n\n <!-- Currency Input -->\n @if (questionType === 'currency') {\n <kendo-numerictextbox\n [value]=\"value\"\n [min]=\"min || 0\"\n [max]=\"max || 999999999\"\n [step]=\"step || 0.01\"\n [format]=\"'c2'\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-input\"\n ></kendo-numerictextbox>\n }\n\n <!-- Date Picker -->\n @if (questionType === 'date') {\n <kendo-datepicker\n [value]=\"value\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-input\"\n ></kendo-datepicker>\n }\n\n <!-- DateTime Picker -->\n @if (questionType === 'datetime') {\n <kendo-datetimepicker\n [value]=\"value\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-input\"\n ></kendo-datetimepicker>\n }\n\n <!-- Button Group -->\n @if (questionType === 'buttongroup') {\n <kendo-buttongroup\n [selection]=\"'single'\"\n class=\"question-buttongroup\"\n >\n @for (option of options; track trackByValue($index, option)) {\n <button\n kendoButton\n [toggleable]=\"true\"\n [selected]=\"value === option.value\"\n [disabled]=\"disabled\"\n (click)=\"onValueChange(option.value)\"\n class=\"buttongroup-option\"\n >\n @if (option.icon) {\n <i class=\"fa {{ option.icon }}\" aria-hidden=\"true\"></i>\n }\n {{ option.label }}\n </button>\n }\n </kendo-buttongroup>\n }\n\n <!-- Radio Buttons -->\n @if (questionType === 'radio') {\n <div class=\"question-radio-group\">\n @for (option of options; track trackByValue($index, option)) {\n <div class=\"radio-option\">\n <input\n type=\"radio\"\n kendoRadioButton\n [name]=\"question.id\"\n [value]=\"option.value\"\n [checked]=\"value === option.value\"\n [disabled]=\"disabled\"\n (change)=\"onValueChange(option.value)\"\n [id]=\"question.id + '_' + option.value\"\n />\n <label [for]=\"question.id + '_' + option.value\" class=\"radio-label\">\n @if (option.icon) {\n <i class=\"fa {{ option.icon }}\" aria-hidden=\"true\"></i>\n }\n {{ option.label }}\n </label>\n </div>\n }\n </div>\n }\n\n <!-- Dropdown -->\n @if (questionType === 'dropdown') {\n <select\n [formControl]=\"control\"\n [disabled]=\"disabled\"\n class=\"question-dropdown\"\n >\n <option value=\"\">Select an option...</option>\n @for (option of options; track trackByValue($index, option)) {\n <option [value]=\"option.value\">\n {{ option.label }}\n </option>\n }\n </select>\n }\n\n <!-- Slider -->\n @if (questionType === 'slider') {\n <div class=\"question-slider-container\">\n <kendo-slider\n [min]=\"getSliderConfig().min\"\n [max]=\"getSliderConfig().max\"\n [smallStep]=\"getSliderConfig().step || 1\"\n [value]=\"value || getSliderConfig().min\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-slider\"\n ></kendo-slider>\n <div class=\"slider-value\">\n {{ value || getSliderConfig().min }}{{ getSliderConfig().suffix || '' }}\n </div>\n </div>\n }\n\n <!-- Date Range -->\n @if (questionType === 'daterange') {\n <div class=\"question-daterange\">\n <kendo-datepicker\n [value]=\"value?.start\"\n [disabled]=\"disabled\"\n (valueChange)=\"onDateRangeStartChange($event)\"\n placeholder=\"Start Date\"\n class=\"daterange-start\"\n ></kendo-datepicker>\n <span class=\"daterange-separator\">to</span>\n <kendo-datepicker\n [value]=\"value?.end\"\n [disabled]=\"disabled\"\n (valueChange)=\"onDateRangeEndChange($event)\"\n placeholder=\"End Date\"\n class=\"daterange-end\"\n ></kendo-datepicker>\n </div>\n }\n\n <!-- Time Picker -->\n @if (questionType === 'time') {\n <kendo-timepicker\n [value]=\"value\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n [format]=\"'h:mm a'\"\n class=\"question-input\"\n ></kendo-timepicker>\n }\n\n <!-- Checkboxes -->\n @if (questionType === 'checkbox') {\n <div class=\"question-checkbox-group\">\n @for (option of options; track trackByValue($index, option)) {\n <div class=\"checkbox-option\">\n <input\n type=\"checkbox\"\n kendoCheckBox\n [checked]=\"isChecked(option)\"\n [disabled]=\"disabled\"\n (change)=\"toggleCheckbox(option)\"\n [id]=\"question.id + '_' + option.value\"\n />\n <label [for]=\"question.id + '_' + option.value\" class=\"checkbox-label\">\n @if (option.icon) {\n <i class=\"fa {{ option.icon }}\" aria-hidden=\"true\"></i>\n }\n {{ option.label }}\n </label>\n </div>\n }\n </div>\n }\n </div><!-- end input-container -->\n\n <!-- Validation Error -->\n @if (control.invalid && control.touched) {\n <div class=\"validation-error\">\n @if (control.errors?.['required']) {\n <span>This field is required</span>\n }\n @if (control.errors?.['email']) {\n <span>Please enter a valid email address</span>\n }\n @if (control.errors?.['min']) {\n <span>Value must be at least {{ min }}</span>\n }\n @if (control.errors?.['max']) {\n <span>Value must be at most {{ max }}</span>\n }\n </div>\n }\n</div>\n", styles: [".form-question {\n margin-bottom: 16px;\n}\n\n.question-label {\n display: block;\n font-weight: 500;\n margin-bottom: 6px;\n color: #333;\n font-size: 14px;\n}\n\n.required-indicator {\n color: #d9534f;\n margin-left: 2px;\n}\n\n.help-text {\n font-size: 12px;\n color: #666;\n margin-bottom: 8px;\n font-style: italic;\n}\n\n/* Default widths - controlled by input-container width classes */\n.question-input,\n.question-textarea,\n.question-dropdown {\n width: 100%;\n max-width: 100%;\n}\n\n.question-dropdown {\n padding: 8px 12px;\n border: 1px solid #d1d5db;\n border-radius: 4px;\n font-size: 14px;\n font-family: inherit;\n background-color: white;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: right 8px center;\n background-size: 12px;\n padding-right: 32px;\n cursor: pointer;\n transition: border-color 0.2s ease, box-shadow 0.2s ease;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n.question-dropdown:hover {\n border-color: #9ca3af;\n}\n\n.question-dropdown:focus {\n outline: none;\n border-color: #667eea;\n box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.question-dropdown:disabled {\n background-color: #f3f4f6;\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n.question-textarea {\n resize: vertical;\n min-height: 100px;\n}\n\n.question-buttongroup {\n display: flex;\n flex-wrap: nowrap;\n gap: 8px;\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: thin;\n scrollbar-color: rgba(16, 185, 129, 0.3) transparent;\n}\n\n.question-buttongroup::-webkit-scrollbar {\n height: 6px;\n}\n\n.question-buttongroup::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.question-buttongroup::-webkit-scrollbar-thumb {\n background: rgba(16, 185, 129, 0.3);\n border-radius: 3px;\n}\n\n.question-buttongroup::-webkit-scrollbar-thumb:hover {\n background: rgba(16, 185, 129, 0.5);\n}\n\n.buttongroup-option {\n flex: 0 0 auto;\n white-space: nowrap;\n}\n\n.buttongroup-option i {\n margin-right: 6px;\n}\n\n.question-radio-group,\n.question-checkbox-group {\n display: flex;\n flex-wrap: wrap;\n gap: 12px 16px;\n}\n\n.radio-option,\n.checkbox-option {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 120px;\n flex: 0 0 auto;\n}\n\n.radio-label,\n.checkbox-label {\n cursor: pointer;\n user-select: none;\n margin: 0;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.radio-label i,\n.checkbox-label i {\n color: #666;\n}\n\n.validation-error {\n color: #d9534f;\n font-size: 12px;\n margin-top: 4px;\n}\n\n/* Required field styling */\n.form-question.required .question-label {\n font-weight: 600;\n}\n\n/* Slider styling */\n.question-slider-container {\n width: 100%;\n}\n\n.question-slider {\n width: 100%;\n margin-bottom: 8px;\n}\n\n.slider-value {\n text-align: center;\n font-size: 16px;\n font-weight: 600;\n color: #10b981;\n padding: 4px 0;\n}\n\n/* Date range styling */\n.question-daterange {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n}\n\n.daterange-start,\n.daterange-end {\n flex: 1;\n min-width: 150px;\n}\n\n.daterange-separator {\n font-weight: 500;\n color: #666;\n white-space: nowrap;\n}\n\n/* Mobile adjustments for date range */\n@media (max-width: 480px) {\n .question-daterange {\n flex-direction: column;\n align-items: stretch;\n }\n\n .daterange-separator {\n text-align: center;\n padding: 4px 0;\n }\n}\n\n/* ===== Semantic Width Classes ===== */\n/* Controls field width based on expected content length */\n\n.input-container {\n display: block;\n}\n\n/* Narrow fields - for numbers, dates, times, short codes */\n.input-container.width-narrow {\n max-width: 200px;\n}\n\n.input-container.width-narrow .question-input,\n.input-container.width-narrow .question-dropdown {\n width: 100%;\n}\n\n/* Medium fields - for names, cities, phone numbers (DEFAULT) */\n.input-container.width-medium {\n max-width: 450px;\n}\n\n.input-container.width-medium .question-input,\n.input-container.width-medium .question-dropdown {\n width: 100%;\n}\n\n/* Wide fields - for emails, URLs, long text */\n.input-container.width-wide {\n max-width: 100%;\n}\n\n.input-container.width-wide .question-input,\n.input-container.width-wide .question-dropdown {\n width: 100%;\n}\n\n/* Full width - for textarea, search fields */\n.input-container.width-full {\n max-width: 100%;\n}\n\n.input-container.width-full .question-input,\n.input-container.width-full .question-textarea,\n.input-container.width-full .question-dropdown {\n width: 100%;\n}\n\n/* Auto-width - for dropdowns, radio, checkbox (sizes to content) */\n.input-container.width-auto {\n max-width: 350px;\n min-width: 150px;\n width: auto;\n}\n\n.input-container.width-auto .question-dropdown {\n width: 100%;\n}\n\n/* Responsive adjustments for smaller screens */\n@media (max-width: 600px) {\n .input-container.width-narrow,\n .input-container.width-medium,\n .input-container.width-wide,\n .input-container.width-auto {\n max-width: 100%;\n }\n}\n"] }]
|
|
615
632
|
}], null, { question: [{
|
|
616
633
|
type: Input
|
|
617
634
|
}], control: [{
|
|
618
635
|
type: Input
|
|
619
636
|
}] }); })();
|
|
620
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FormQuestionComponent, { className: "FormQuestionComponent", filePath: "src/lib/components/message/form-question.component.ts", lineNumber:
|
|
637
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FormQuestionComponent, { className: "FormQuestionComponent", filePath: "src/lib/components/message/form-question.component.ts", lineNumber: 22 }); })();
|
|
621
638
|
//# sourceMappingURL=form-question.component.js.map
|