@touchpoll/tp-survey 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +24 -0
  2. package/esm2022/lib/component/answer/answer.additional/answer.additional.component.mjs +49 -0
  3. package/esm2022/lib/component/answer/answer.additional/directive/additional.answer.caption.position/additional.answer.caption.position.directive.mjs +61 -0
  4. package/esm2022/lib/component/answer/answer.end/answer.end.component.mjs +30 -0
  5. package/esm2022/lib/component/answer/answer.info/answer.info.component.mjs +30 -0
  6. package/esm2022/lib/component/answer/answer.lang/answer.lang.component.mjs +22 -0
  7. package/esm2022/lib/component/answer/answer.master/answer.master.component.mjs +55 -0
  8. package/esm2022/lib/component/answer/answer.ms/answer.ms.component.mjs +106 -0
  9. package/esm2022/lib/component/answer/answer.od/answer.od.component.mjs +39 -0
  10. package/esm2022/lib/component/answer/answer.ol/answer.ol.component.mjs +39 -0
  11. package/esm2022/lib/component/answer/answer.sl/answer.sl.component.mjs +131 -0
  12. package/esm2022/lib/component/answer/answer.sl/pipe/as.form.array/as.form.array.pipe.mjs +17 -0
  13. package/esm2022/lib/component/answer/answer.sl/pipe/as.form.control/as.form.control.pipe.mjs +17 -0
  14. package/esm2022/lib/component/answer/answer.ss/answer.ss.component.mjs +51 -0
  15. package/esm2022/lib/component/answer/container.answer/container.answer.component.mjs +317 -0
  16. package/esm2022/lib/component/answer/container.answer/container.answer.validator.mjs +124 -0
  17. package/esm2022/lib/component/navigation.button/navigation.button.component.mjs +21 -0
  18. package/esm2022/lib/component/question.caption/question.caption.component.mjs +15 -0
  19. package/esm2022/lib/component/survey.play/survey.play.component.mjs +131 -0
  20. package/esm2022/lib/component/survey.question.preview/survey.question.preview.component.mjs +44 -0
  21. package/esm2022/lib/core/tp.servey.quota/tp.survey.quota.mjs +82 -0
  22. package/esm2022/lib/core/tp.survey.answer/tp.survey.answer.mjs +30 -0
  23. package/esm2022/lib/core/tp.survey.core/tp.survey.core.service.mjs +370 -0
  24. package/esm2022/lib/core/tp.survey.interview/tp.survey.interview.service.mjs +70 -0
  25. package/esm2022/lib/core/tp.survey.logic/tp.survey.logic.service.mjs +43 -0
  26. package/esm2022/lib/directive/alternatives.container/alternatives.container.directive.mjs +130 -0
  27. package/esm2022/lib/directive/focus.and.select/focus.and.select.directive.mjs +27 -0
  28. package/esm2022/lib/directive/survey.theme/survey.theme.directive.mjs +53 -0
  29. package/esm2022/lib/directive/update.font.size/update.font.size.directive.mjs +28 -0
  30. package/esm2022/lib/icons/default.icons/default.icons.mjs +15 -0
  31. package/esm2022/lib/icons/default.icons/default.icons.module.mjs +31 -0
  32. package/esm2022/lib/pipe/get.active.language/get.active.language.pipe.mjs +17 -0
  33. package/esm2022/lib/pipe/get.additional.value.by.value/get.additional.value.by.value.pipe.mjs +18 -0
  34. package/esm2022/lib/pipe/key.values/key.values.pipe.mjs +20 -0
  35. package/esm2022/lib/pipe/multi.lang.object.to.html/multi.lang.object.to.html.pipe.mjs +26 -0
  36. package/esm2022/lib/tp.survey.config.mjs +8 -0
  37. package/esm2022/lib/tp.survey.const.mjs +28 -0
  38. package/esm2022/lib/tp.survey.enum.mjs +59 -0
  39. package/esm2022/lib/tp.survey.interface.mjs +2 -0
  40. package/esm2022/lib/tp.survey.method.mjs +5 -0
  41. package/esm2022/lib/tp.survey.module.mjs +27 -0
  42. package/esm2022/lib/tp.survey.type.mjs +2 -0
  43. package/esm2022/public-api.mjs +14 -0
  44. package/esm2022/touchpoll-tp-survey.mjs +5 -0
  45. package/fesm2022/touchpoll-tp-survey.mjs +2210 -0
  46. package/fesm2022/touchpoll-tp-survey.mjs.map +1 -0
  47. package/index.d.ts +5 -0
  48. package/lib/component/answer/answer.additional/answer.additional.component.d.ts +17 -0
  49. package/lib/component/answer/answer.additional/directive/additional.answer.caption.position/additional.answer.caption.position.directive.d.ts +16 -0
  50. package/lib/component/answer/answer.end/answer.end.component.d.ts +6 -0
  51. package/lib/component/answer/answer.info/answer.info.component.d.ts +6 -0
  52. package/lib/component/answer/answer.lang/answer.lang.component.d.ts +9 -0
  53. package/lib/component/answer/answer.master/answer.master.component.d.ts +21 -0
  54. package/lib/component/answer/answer.ms/answer.ms.component.d.ts +21 -0
  55. package/lib/component/answer/answer.od/answer.od.component.d.ts +8 -0
  56. package/lib/component/answer/answer.ol/answer.ol.component.d.ts +7 -0
  57. package/lib/component/answer/answer.sl/answer.sl.component.d.ts +21 -0
  58. package/lib/component/answer/answer.sl/pipe/as.form.array/as.form.array.pipe.d.ts +8 -0
  59. package/lib/component/answer/answer.sl/pipe/as.form.control/as.form.control.pipe.d.ts +8 -0
  60. package/lib/component/answer/answer.ss/answer.ss.component.d.ts +10 -0
  61. package/lib/component/answer/container.answer/container.answer.component.d.ts +36 -0
  62. package/lib/component/answer/container.answer/container.answer.validator.d.ts +10 -0
  63. package/lib/component/navigation.button/navigation.button.component.d.ts +9 -0
  64. package/lib/component/question.caption/question.caption.component.d.ts +8 -0
  65. package/lib/component/survey.play/survey.play.component.d.ts +36 -0
  66. package/lib/component/survey.question.preview/survey.question.preview.component.d.ts +16 -0
  67. package/lib/core/tp.servey.quota/tp.survey.quota.d.ts +12 -0
  68. package/lib/core/tp.survey.answer/tp.survey.answer.d.ts +17 -0
  69. package/lib/core/tp.survey.core/tp.survey.core.service.d.ts +29 -0
  70. package/lib/core/tp.survey.interview/tp.survey.interview.service.d.ts +14 -0
  71. package/lib/core/tp.survey.logic/tp.survey.logic.service.d.ts +12 -0
  72. package/lib/directive/alternatives.container/alternatives.container.directive.d.ts +17 -0
  73. package/lib/directive/focus.and.select/focus.and.select.directive.d.ts +9 -0
  74. package/lib/directive/survey.theme/survey.theme.directive.d.ts +13 -0
  75. package/lib/directive/update.font.size/update.font.size.directive.d.ts +10 -0
  76. package/lib/icons/default.icons/default.icons.d.ts +5 -0
  77. package/lib/icons/default.icons/default.icons.module.d.ts +12 -0
  78. package/lib/pipe/get.active.language/get.active.language.pipe.d.ts +8 -0
  79. package/lib/pipe/get.additional.value.by.value/get.additional.value.by.value.pipe.d.ts +8 -0
  80. package/lib/pipe/key.values/key.values.pipe.d.ts +14 -0
  81. package/lib/pipe/multi.lang.object.to.html/multi.lang.object.to.html.pipe.d.ts +11 -0
  82. package/lib/tp.survey.config.d.ts +11 -0
  83. package/lib/tp.survey.const.d.ts +4 -0
  84. package/lib/tp.survey.enum.d.ts +51 -0
  85. package/lib/tp.survey.interface.d.ts +320 -0
  86. package/lib/tp.survey.method.d.ts +1 -0
  87. package/lib/tp.survey.module.d.ts +10 -0
  88. package/lib/tp.survey.type.d.ts +13 -0
  89. package/package.json +25 -0
  90. package/public-api.d.ts +9 -0
  91. package/styles/platform/component/survey.checkbox.scss +102 -0
  92. package/styles/platform/component/survey.radio.button.scss +34 -0
  93. package/styles/platform/survey.mixins.desktop.scss +146 -0
  94. package/styles/platform/survey.mixins.tablet.scss +132 -0
  95. package/styles/survey.mixins.scss +76 -0
  96. package/styles/survey.themes.scss +56 -0
  97. package/styles/theme/azure.blue.scss +54 -0
  98. package/styles/theme/cyan.orange.scss +54 -0
  99. package/styles/theme/rose.red.scss +54 -0
@@ -0,0 +1,132 @@
1
+ @use "sass:map";
2
+ @use "component/survey.checkbox" as mixinCheckbox;
3
+ @use "component/survey.radio.button" as mixinRadioButton;
4
+ @use '@angular/material' as mat;
5
+
6
+ @mixin link-tablet($theme) {
7
+ //@include mixinCheckbox.link-survey-checkbox($theme);
8
+ //@include mixinRadioButton.link-survey-radio-button($theme);
9
+ //surface-container secondary-container secondary primary-container
10
+ $custom-colors: map-get($theme, custom-colors);
11
+ $background-color: mat.get-theme-color($theme, secondary-container);
12
+ $checked-background-color: mat.get-theme-color($theme, tertiary-container);
13
+ $color: mat.get-theme-color($theme, on-secondary-container);
14
+ $checked-color: mat.get-theme-color($theme, on-tertiary-container);
15
+
16
+
17
+ .alternative-sl{
18
+ .mdc-label{
19
+ display: none;
20
+ }
21
+ }
22
+
23
+ .container-ms-ss-alternatives{
24
+ width: 100%;
25
+ height: 100%;
26
+ box-sizing: border-box;
27
+ overflow: hidden;
28
+ position: relative;
29
+ display: block;
30
+ }
31
+
32
+ .alternative-ss-ms{
33
+
34
+ &.mdc-checkbox--disabled{
35
+ background-color: var(--mdc-checkbox-disabled-unselected-icon-color);
36
+ opacity: 0.5;
37
+ }
38
+
39
+ &.mat-mdc-checkbox-checked:not(.mdc-checkbox--disabled){
40
+ background-color: $checked-background-color;
41
+ .alternative-ss-ms-caption{
42
+ color: $checked-color;
43
+ }
44
+ }
45
+
46
+ &.mat-mdc-radio-checked{
47
+ background-color: $checked-background-color;
48
+ .alternative-ss-ms-caption{
49
+ color: $checked-color;
50
+ }
51
+ }
52
+ }
53
+
54
+
55
+
56
+ .alternative-ss-ms{
57
+ position: absolute;
58
+ display: inline-flex;
59
+ justify-content: center;
60
+ align-items: center;
61
+ min-height: 2.5em; /* ~ 40 px if font size 16px */
62
+ background-color: $background-color;
63
+ -webkit-border-radius: .50em;
64
+ -moz-border-radius: .5em;
65
+ border-radius: .5em;
66
+ -webkit-box-shadow: 0 10px 2px rgba(0,0,0,.2);
67
+ -moz-box-shadow: 0 10px 2px rgba(0,0,0,.2);
68
+ box-shadow: 0 2px 2px rgba(0,0,0,.2);
69
+ border: solid 2px #000;
70
+ overflow: hidden;
71
+ box-sizing: border-box;
72
+ -moz-box-sizing:border-box;
73
+ word-break: break-word;
74
+ cursor: pointer;
75
+
76
+ .mdc-radio{
77
+ width: 0;
78
+ height: 0;
79
+ padding: 0;
80
+ }
81
+
82
+ .mdc-label{
83
+ width: 100%;
84
+ height: 100%;
85
+ justify-content: center;
86
+ padding: 0;
87
+ box-sizing: border-box;
88
+ }
89
+
90
+ .mdc-form-field{
91
+ width: 100%;
92
+ height: 100%;
93
+ }
94
+
95
+ .mdc-radio__background{
96
+ display: none;
97
+ }
98
+
99
+ .mdc-form-field{
100
+ font-size: 100%;
101
+ align-items: unset;
102
+ }
103
+
104
+ .mdc-checkbox{
105
+ display: none;
106
+ }
107
+
108
+
109
+ .alternative-ss-ms-caption{
110
+ display: flex;
111
+ justify-content: center;
112
+ align-items: center;
113
+ color: map-get($custom-colors, survey-font);
114
+ text-align: center;
115
+ font-size: 1.1em;
116
+ width: 100%;
117
+ height: 100%;
118
+ box-sizing: border-box;
119
+ padding: 0.5em;
120
+ line-height: 1.1;
121
+ }
122
+
123
+
124
+
125
+ //&.mat-mdc-radio-checked, &.mat-mdc-checkbox-checked{
126
+ // background-color: #e6382f;
127
+ // .alternative-ss-ms-caption{
128
+ // //color: map-get($custom-colors, survey-tablet-font-active-color);
129
+ // }
130
+ //}
131
+ }
132
+ }
@@ -0,0 +1,76 @@
1
+ @use "platform/survey.mixins.desktop" as mixinDesktop;
2
+ @use "platform/survey.mixins.tablet" as mixinTablet;
3
+ @use "@angular/material" as mat;
4
+ @use "sass:map";
5
+
6
+ @mixin survey-theme($theme) {
7
+ $custom-colors: map-get($theme, custom-colors);
8
+
9
+ &.survey-container-main{
10
+ background-color: map-get($custom-colors, survey-background);
11
+ color: var(--mat-app-text-color);
12
+ }
13
+
14
+ ::ng-deep {
15
+ .question-caption-helper-font {
16
+ color: map-get($custom-colors, survey-caption-helper);
17
+ }
18
+ }
19
+
20
+ &.tp-view-desktop {
21
+ width: 100%;
22
+ height: 100%;
23
+ overflow: auto;
24
+ ::ng-deep {
25
+ @include mixinDesktop.link-desktop($theme);
26
+ }
27
+ }
28
+
29
+ &.tp-view-tablet {
30
+ ::ng-deep {
31
+ @include mixinTablet.link-tablet($theme);
32
+ }
33
+ }
34
+
35
+
36
+ &.survey-theme-cyan-orange-dark {
37
+ ::ng-deep {
38
+ .question-caption-font {
39
+ background-image: linear-gradient(to right, rgb(237, 34, 36), rgb(243, 91, 34), rgb(249, 150, 33), rgb(245, 193, 30), rgb(241, 235, 27) 27%, rgb(241, 235, 27), rgb(241, 235, 27) 33%, rgb(99, 199, 32), rgb(12, 155, 73), rgb(33, 135, 141), rgb(57, 84, 165), rgb(97, 55, 155), rgb(147, 40, 142));
40
+ background-size: 100%;
41
+ background-repeat: repeat;
42
+
43
+ /* Use the text as a mask for the background. */
44
+ /* This will show the gradient as a text color rather than element bg. */
45
+ -webkit-background-clip: text;
46
+ -webkit-text-fill-color: transparent;
47
+ -moz-background-clip: text;
48
+ -moz-text-fill-color: transparent;
49
+ }
50
+ }
51
+ }
52
+
53
+ //::-webkit-scrollbar-thumb {
54
+ // //background-color: map.get($custom-colors, ms-select-background);
55
+ // background-color: red;
56
+ // border-radius: 10px;
57
+ //}
58
+ //::-webkit-scrollbar {
59
+ // width: 10px;
60
+ //}
61
+ //::-webkit-scrollbar-track {
62
+ // background-color: transparent;
63
+ // border-radius: 10px;
64
+ //}
65
+ //::-webkit-scrollbar-corner {
66
+ // background-color:transparent;
67
+ //}
68
+
69
+ }
70
+
71
+
72
+
73
+
74
+
75
+
76
+
@@ -0,0 +1,56 @@
1
+ @use '@angular/material' as mat;
2
+ @use "survey.mixins" as mixin;
3
+ @use "theme/cyan.orange" as cyanOrange;
4
+ @use "theme/rose.red" as roseRed;
5
+ @use "theme/azure.blue" as azureBlue;
6
+
7
+ @include mat.core();
8
+
9
+ .survey-container-main{
10
+ @include mat.all-component-themes(azureBlue.$theme-azure-blue-light);
11
+
12
+ font-family: Roboto, "Helvetica Neue", sans-serif;
13
+
14
+ p{
15
+ margin: 0;
16
+ }
17
+ }
18
+
19
+ .survey-theme-azure-blue-light{
20
+ @include mat.typography-hierarchy(azureBlue.$theme-azure-blue-light);
21
+ @include mixin.survey-theme(azureBlue.$theme-azure-blue-light);
22
+ }
23
+
24
+ .survey-theme-azure-blue-dark {
25
+ @include mat.all-component-colors(azureBlue.$theme-azure-blue-dark);
26
+ @include mat.typography-hierarchy(azureBlue.$theme-azure-blue-dark);
27
+ @include mixin.survey-theme(azureBlue.$theme-azure-blue-dark);
28
+ }
29
+
30
+ .survey-theme-cyan-orange-light{
31
+ @include mat.all-component-colors(cyanOrange.$theme-cyan-orange-light);
32
+ @include mat.typography-hierarchy(cyanOrange.$theme-cyan-orange-light);
33
+ @include mixin.survey-theme(cyanOrange.$theme-cyan-orange-light);
34
+ }
35
+
36
+ .survey-theme-cyan-orange-dark {
37
+ @include mat.all-component-colors(cyanOrange.$theme-cyan-orange-dark);
38
+ @include mat.typography-hierarchy(cyanOrange.$theme-cyan-orange-dark);
39
+ @include mixin.survey-theme(cyanOrange.$theme-cyan-orange-dark);
40
+ }
41
+
42
+ .survey-theme-rose-red-light {
43
+ @include mat.all-component-colors(roseRed.$theme-rose-red-light);
44
+ @include mat.typography-hierarchy(roseRed.$theme-rose-red-light);
45
+ @include mixin.survey-theme(roseRed.$theme-rose-red-light);
46
+ }
47
+
48
+ .survey-theme-rose-red-dark {
49
+ @include mat.all-component-colors(roseRed.$theme-rose-red-dark);
50
+ @include mat.typography-hierarchy(roseRed.$theme-rose-red-dark);
51
+ @include mixin.survey-theme(roseRed.$theme-rose-red-dark);
52
+ }
53
+
54
+
55
+
56
+
@@ -0,0 +1,54 @@
1
+ @use "@angular/material" as mat;
2
+
3
+ $theme-density: (scale:-1);
4
+ $theme-typography: (
5
+ brand-family: 'Roboto',
6
+ bold-weight: 900
7
+ );
8
+
9
+ $theme-azure-blue-light: map-merge(
10
+ mat.define-theme(
11
+ (
12
+ color: (
13
+ theme-type: light,
14
+ primary: mat.$azure-palette,
15
+ tertiary: mat.$blue-palette,
16
+ ),
17
+ typography: $theme-typography,
18
+ density: $theme-density
19
+ )
20
+ ),
21
+ (
22
+ custom-colors: (
23
+ survey-background: var(--mat-app-background-color),
24
+ survey-font: var(--mat-app-text-color),
25
+ survey-caption-helper: #f26030,
26
+ survey-caption-delimiter: #26292936,
27
+ survey-red: #a71f2a,
28
+ )
29
+ )
30
+ );
31
+
32
+ $theme-azure-blue-dark: map-merge(
33
+ mat.define-theme(
34
+ (
35
+ color: (
36
+ theme-type: dark,
37
+ primary: mat.$azure-palette,
38
+ tertiary: mat.$blue-palette,
39
+ ),
40
+ typography: $theme-typography,
41
+ density: $theme-density
42
+ )
43
+ ),
44
+ (
45
+ custom-colors: (
46
+ survey-background: var(--mat-app-background-color),
47
+ survey-font: var(--mat-app-text-color),
48
+ survey-caption-helper: #f26030,
49
+ survey-desktop-input-color: #9a9a9a,
50
+ survey-caption-delimiter: #26292936,
51
+ survey-red: #a71f2a,
52
+ )
53
+ )
54
+ );
@@ -0,0 +1,54 @@
1
+ @use "@angular/material" as mat;
2
+
3
+ $theme-density: (scale:-1);
4
+ $theme-typography: (
5
+ brand-family: 'Roboto',
6
+ bold-weight: 900
7
+ );
8
+
9
+ $theme-cyan-orange-light: map-merge(
10
+ mat.define-theme(
11
+ (
12
+ color: (
13
+ theme-type: light,
14
+ primary: mat.$cyan-palette,
15
+ tertiary: mat.$orange-palette,
16
+ ),
17
+ typography: $theme-typography,
18
+ density: $theme-density
19
+ )
20
+ ),
21
+ (
22
+ custom-colors: (
23
+ survey-background: var(--mat-app-background-color),
24
+ survey-font: var(--mat-app-text-color),
25
+ survey-caption-helper: #f26030,
26
+ survey-caption-delimiter: #26292936,
27
+ survey-red: #a71f2a,
28
+ )
29
+ )
30
+ );
31
+
32
+ $theme-cyan-orange-dark: map-merge(
33
+ mat.define-theme(
34
+ (
35
+ color: (
36
+ theme-type: dark,
37
+ primary: mat.$cyan-palette,
38
+ tertiary: mat.$orange-palette,
39
+ ),
40
+ typography: $theme-typography,
41
+ density: $theme-density
42
+ )
43
+ ),
44
+ (
45
+ custom-colors: (
46
+ survey-background: var(--mat-app-background-color),
47
+ survey-font: var(--mat-app-text-color),
48
+ survey-caption-helper: #f26030,
49
+ survey-desktop-input-color: #9a9a9a,
50
+ survey-caption-delimiter: #26292936,
51
+ survey-red: #a71f2a,
52
+ )
53
+ )
54
+ );
@@ -0,0 +1,54 @@
1
+ @use "@angular/material" as mat;
2
+
3
+ $theme-density: (scale:-1);
4
+ $theme-typography: (
5
+ brand-family: 'Roboto',
6
+ bold-weight: 900
7
+ );
8
+
9
+ $theme-rose-red-light: map-merge(
10
+ mat.define-theme(
11
+ (
12
+ color: (
13
+ theme-type: light,
14
+ primary: mat.$rose-palette,
15
+ tertiary: mat.$red-palette,
16
+ ),
17
+ typography: $theme-typography,
18
+ density: $theme-density
19
+ )
20
+ ),
21
+ (
22
+ custom-colors: (
23
+ survey-background: var(--mat-app-background-color),
24
+ survey-font: var(--mat-app-text-color),
25
+ survey-caption-helper: #f26030,
26
+ survey-caption-delimiter: #26292936,
27
+ survey-red: #a71f2a,
28
+ )
29
+ )
30
+ );
31
+
32
+ $theme-rose-red-dark: map-merge(
33
+ mat.define-theme(
34
+ (
35
+ color: (
36
+ theme-type: dark,
37
+ primary: mat.$rose-palette,
38
+ tertiary: mat.$red-palette,
39
+ ),
40
+ typography: $theme-typography,
41
+ density: $theme-density
42
+ )
43
+ ),
44
+ (
45
+ custom-colors: (
46
+ survey-background: var(--mat-app-background-color),
47
+ survey-font: var(--mat-app-text-color),
48
+ survey-caption-helper: #f26030,
49
+ survey-desktop-input-color: #9a9a9a,
50
+ survey-caption-delimiter: #26292936,
51
+ survey-red: #a71f2a,
52
+ )
53
+ )
54
+ );