@yoobic/yobi 8.3.1-4 → 8.3.1-7
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/cjs/design-system.cjs.js +1 -1
- package/dist/cjs/{form-choice-helpers-310cd7b3.js → form-choice-helpers-3f5f2f44.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/yoo-action-sheet-controller.cjs.entry.js +1 -1
- package/dist/cjs/yoo-card-chat.cjs.entry.js +1 -1
- package/dist/cjs/yoo-form-choice-button.cjs.entry.js +1 -1
- package/dist/cjs/yoo-form-choice-card.cjs.entry.js +1 -1
- package/dist/cjs/yoo-form-choice-chat.cjs.entry.js +1 -1
- package/dist/cjs/yoo-form-choice-image.cjs.entry.js +1 -1
- package/dist/cjs/yoo-form-choice-radio.cjs.entry.js +1 -1
- package/dist/cjs/yoo-form-dynamic.cjs.entry.js +2 -1
- package/dist/cjs/yoo-form-feedback.cjs.entry.js +1 -1
- package/dist/cjs/yoo-form-input-container.cjs.entry.js +32 -43
- package/dist/cjs/yoo-form-input.cjs.entry.js +7 -7
- package/dist/cjs/yoo-form-text-area.cjs.entry.js +12 -3
- package/dist/cjs/yoo-ion-alert-controller.cjs.entry.js +1 -1
- package/dist/cjs/yoo-ion-modal-controller.cjs.entry.js +1 -1
- package/dist/cjs/yoo-ion-toast-controller.cjs.entry.js +1 -1
- package/dist/cjs/yoo-lesson-question-result.cjs.entry.js +1 -1
- package/dist/cjs/yoo-rating.cjs.entry.js +1 -1
- package/dist/cjs/yoo-reset-password.cjs.entry.js +8 -6
- package/dist/collection/components/2.molecules/action-sheet-controller/action-sheet-controller.js +4 -4
- package/dist/collection/components/2.molecules/alert-controller/alert-controller.js +4 -4
- package/dist/collection/components/2.molecules/modal-controller/modal-controller.js +4 -4
- package/dist/collection/components/2.molecules/rating/rating.js +1 -1
- package/dist/collection/components/2.molecules/toast-controller/toast-controller.js +4 -4
- package/dist/collection/components/form/form-choice/card/form-choice-card.css +0 -1
- package/dist/collection/components/form/form-dynamic/form-dynamic.js +2 -1
- package/dist/collection/components/form/form-feedback/form-feedback.css +5 -1
- package/dist/collection/components/form/form-input/form-input.css +9 -9
- package/dist/collection/components/form/form-input/form-input.js +30 -8
- package/dist/collection/components/form/form-input-container/form-input-container.js +60 -54
- package/dist/collection/components/form/form-text-area/form-text-area.js +12 -3
- package/dist/collection/feature-communicate/chat/card-chat/card-chat.css +3 -1
- package/dist/collection/feature-learn/learning/lesson-question-result/lesson-question-result.css +2 -3
- package/dist/collection/feature-platform/login/reset-password/reset-password.css +4 -1
- package/dist/collection/feature-platform/login/reset-password/reset-password.js +9 -7
- package/dist/design-system/design-system.esm.js +1 -1
- package/dist/design-system/{form-choice-helpers-1bf9332c.js → form-choice-helpers-30faba6f.js} +1 -1
- package/dist/design-system/yoo-action-sheet-controller.entry.js +1 -1
- package/dist/design-system/yoo-card-chat.entry.js +1 -1
- package/dist/design-system/yoo-form-choice-button.entry.js +1 -1
- package/dist/design-system/yoo-form-choice-card.entry.js +1 -1
- package/dist/design-system/yoo-form-choice-chat.entry.js +1 -1
- package/dist/design-system/yoo-form-choice-image.entry.js +1 -1
- package/dist/design-system/yoo-form-choice-radio.entry.js +1 -1
- package/dist/design-system/yoo-form-dynamic.entry.js +2 -1
- package/dist/design-system/yoo-form-feedback.entry.js +1 -1
- package/dist/design-system/yoo-form-input-container.entry.js +32 -43
- package/dist/design-system/yoo-form-input.entry.js +7 -7
- package/dist/design-system/yoo-form-text-area.entry.js +12 -3
- package/dist/design-system/yoo-ion-alert-controller.entry.js +1 -1
- package/dist/design-system/yoo-ion-modal-controller.entry.js +1 -1
- package/dist/design-system/yoo-ion-toast-controller.entry.js +1 -1
- package/dist/design-system/yoo-lesson-question-result.entry.js +1 -1
- package/dist/design-system/yoo-rating.entry.js +1 -1
- package/dist/design-system/yoo-reset-password.entry.js +8 -6
- package/dist/esm/design-system.js +1 -1
- package/dist/esm/{form-choice-helpers-1bf9332c.js → form-choice-helpers-30faba6f.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/yoo-action-sheet-controller.entry.js +1 -1
- package/dist/esm/yoo-card-chat.entry.js +1 -1
- package/dist/esm/yoo-form-choice-button.entry.js +1 -1
- package/dist/esm/yoo-form-choice-card.entry.js +1 -1
- package/dist/esm/yoo-form-choice-chat.entry.js +1 -1
- package/dist/esm/yoo-form-choice-image.entry.js +1 -1
- package/dist/esm/yoo-form-choice-radio.entry.js +1 -1
- package/dist/esm/yoo-form-dynamic.entry.js +2 -1
- package/dist/esm/yoo-form-feedback.entry.js +1 -1
- package/dist/esm/yoo-form-input-container.entry.js +32 -43
- package/dist/esm/yoo-form-input.entry.js +7 -7
- package/dist/esm/yoo-form-text-area.entry.js +12 -3
- package/dist/esm/yoo-ion-alert-controller.entry.js +1 -1
- package/dist/esm/yoo-ion-modal-controller.entry.js +1 -1
- package/dist/esm/yoo-ion-toast-controller.entry.js +1 -1
- package/dist/esm/yoo-lesson-question-result.entry.js +1 -1
- package/dist/esm/yoo-rating.entry.js +1 -1
- package/dist/esm/yoo-reset-password.entry.js +8 -6
- package/dist/types/components/2.molecules/action-sheet-controller/action-sheet-controller.d.ts +1 -1
- package/dist/types/components/2.molecules/alert-controller/alert-controller.d.ts +1 -1
- package/dist/types/components/2.molecules/modal-controller/modal-controller.d.ts +1 -1
- package/dist/types/components/2.molecules/toast-controller/toast-controller.d.ts +1 -1
- package/dist/types/components/form/form-input/form-input.d.ts +2 -1
- package/dist/types/components/form/form-input-container/form-input-container.d.ts +1 -0
- package/dist/types/components/form/form-text-area/form-text-area.d.ts +1 -0
- package/dist/types/components.d.ts +6 -2
- package/dist/types/home/runner/work/yoobic-ng-6/yoobic-ng-6/design-system/stencil/.stencil/shared/interfaces/src/entities/form-field/form-field.interface.d.ts +1 -0
- package/package.json +1 -1
|
@@ -85,7 +85,7 @@ const YooRatingComponent = class {
|
|
|
85
85
|
disabled: !this.isValidRating || !this.courseId,
|
|
86
86
|
handler: () => this.onSubmitClick()
|
|
87
87
|
}];
|
|
88
|
-
return (index.h("yoo-form-footer", { class: "rating", buttons: button }));
|
|
88
|
+
return (index.h("yoo-form-footer", { class: "rating relative", buttons: button }));
|
|
89
89
|
}
|
|
90
90
|
renderEditable() {
|
|
91
91
|
return [
|
|
@@ -9,7 +9,7 @@ require('./index-8eccfdfc.js');
|
|
|
9
9
|
require('./lodash-72d493b9.js');
|
|
10
10
|
require('./_commonjsHelpers-94df2ea7.js');
|
|
11
11
|
|
|
12
|
-
const resetPasswordCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host>*{width:100%}:host p{margin:0;font-size:var(--font-size-16, 1rem);text-align:center}:host yoo-button{max-width:18.75rem;margin:auto;margin-top:var(--spacing-16, 1rem)}:host yoo-form-dynamic.margin-top{margin-top:var(--spacing-48, 3rem)}:host yoo-empty-state{height:15rem;margin-top:var(--spacing-08, 0.5rem)}:host yoo-form-input{display:block;max-width:18.75rem;margin:auto}";
|
|
12
|
+
const resetPasswordCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host>*{width:100%}:host p{margin:0;font-size:var(--font-size-16, 1rem);text-align:center}:host yoo-button{max-width:18.75rem;margin:auto;margin-top:var(--spacing-16, 1rem)}:host yoo-form-dynamic.margin-top{margin-top:var(--spacing-48, 3rem)}:host yoo-empty-state{height:15rem;margin-top:var(--spacing-08, 0.5rem)}:host yoo-form-input-container{display:block;max-width:18.75rem;margin:auto}:host yoo-form-input-container.web{font-size:var(--font-size-12, 0.75rem)}";
|
|
13
13
|
|
|
14
14
|
const YooResetPasswordComponent = class {
|
|
15
15
|
constructor(hostRef) {
|
|
@@ -64,12 +64,12 @@ const YooResetPasswordComponent = class {
|
|
|
64
64
|
}
|
|
65
65
|
renderRequest() {
|
|
66
66
|
return [
|
|
67
|
-
!!this.instruction && index.h("p",
|
|
67
|
+
!!this.instruction && index.h("p", { style: { maxWidth: '350px', margin: '0 auto' } }, this.instruction),
|
|
68
68
|
index.h("yoo-empty-state", { ref: (el) => (this.emptyState = el), type: this.isMagicLink ? 'magic-link' : 'password' }),
|
|
69
|
-
index.h("yoo-form-input-container", { field: { title:
|
|
70
|
-
//! Do not set up onInputBlur without confirming on mobile device
|
|
69
|
+
index.h("yoo-form-input-container", { field: { title: 'YOOBICUSERNAME' }, hideOptional: true, useUppercaseLabel: true }, index.h("yoo-form-input", { ref: (el) => (this.emailInput = el), iconPrefixColor: 'app-color', validators: [{ name: 'required' }], type: "email", uiValidation: { valid: false, invalid: false }, onInputChanged: (event) => this.onInputChanged(event), placeholder: overlays.translate('YOOBICUSERNAMEENTER'),
|
|
70
|
+
//! Do not set up onInputBlur without confirming on mobile device. We don't want to have to press submit more than once
|
|
71
71
|
size: overlays.isWeb(this.host) ? 'medium' : 'large' })),
|
|
72
|
-
index.h("yoo-button", { ref: (el) => (this.submitButton = el), size: overlays.isWeb(this.host) ? 'medium' : 'large', color: "app-color", disabled: !this.validity, class: "expanded", onClick: () => this.onSubmit() }, overlays.translate('
|
|
72
|
+
index.h("yoo-button", { ref: (el) => (this.submitButton = el), size: overlays.isWeb(this.host) ? 'medium' : 'large', color: "app-color", disabled: !this.validity, class: "expanded", onClick: () => this.onSubmit() }, this.isMagicLink ? overlays.translate('YOOBICMAGICLINK') : overlays.translate('YOOBICRESETPASSWORD'))
|
|
73
73
|
];
|
|
74
74
|
}
|
|
75
75
|
renderResetForm() {
|
|
@@ -91,6 +91,7 @@ const YooResetPasswordComponent = class {
|
|
|
91
91
|
},
|
|
92
92
|
{
|
|
93
93
|
type: index$1.FormFieldType.password,
|
|
94
|
+
iconPrefixColor: 'app-color',
|
|
94
95
|
name: 'newpassword',
|
|
95
96
|
placeholder: 'NEWPASSWORD',
|
|
96
97
|
required: true,
|
|
@@ -99,6 +100,7 @@ const YooResetPasswordComponent = class {
|
|
|
99
100
|
},
|
|
100
101
|
{
|
|
101
102
|
type: index$1.FormFieldType.password,
|
|
103
|
+
iconPrefixColor: 'app-color',
|
|
102
104
|
name: 'verify',
|
|
103
105
|
placeholder: 'CONFIRMPASSWORD',
|
|
104
106
|
required: true,
|
|
@@ -108,7 +110,7 @@ const YooResetPasswordComponent = class {
|
|
|
108
110
|
]
|
|
109
111
|
}
|
|
110
112
|
];
|
|
111
|
-
return index.h("yoo-form-dynamic", { class: "margin-top", animated: false, slides: slides, showRecap: false, showSave: true, skipValidation: true, onDataChanged: (ev) => this.onDataChanged(ev), onFormValidityChanged: (ev) => this.onValidityChanged(ev), onSave: () => this.onSubmit() }, index.h("div", { slot: "footer" }, index.h("yoo-button", { size: overlays.isWeb(this.host) ? 'medium' : 'large', color: "app-color", disabled: !this.validity, onClick: () => this.onSubmit() }, overlays.translate('SUBMIT'))));
|
|
113
|
+
return (index.h("yoo-form-dynamic", { class: "margin-top", animated: false, slides: slides, showRecap: false, showSave: true, skipValidation: true, onDataChanged: (ev) => this.onDataChanged(ev), onFormValidityChanged: (ev) => this.onValidityChanged(ev), onSave: () => this.onSubmit() }, index.h("div", { slot: "footer" }, index.h("yoo-button", { size: overlays.isWeb(this.host) ? 'medium' : 'large', color: "app-color", disabled: !this.validity, onClick: () => this.onSubmit() }, overlays.translate('SUBMIT')))));
|
|
112
114
|
}
|
|
113
115
|
render() {
|
|
114
116
|
return index.h("div", null, this.token ? this.renderResetForm() : this.renderRequest());
|
package/dist/collection/components/2.molecules/action-sheet-controller/action-sheet-controller.js
CHANGED
|
@@ -12,7 +12,7 @@ export class YooIonActionSheetControllerComponent {
|
|
|
12
12
|
const index = this.devices.findIndex(device => device === ev.detail);
|
|
13
13
|
this.devices.splice(index, index + 1);
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
onPointerDown(ev) {
|
|
16
16
|
if (this.devices.length) {
|
|
17
17
|
this.device = ev.composedPath().find((el) => el.nodeName === 'YOO-DEVICE');
|
|
18
18
|
}
|
|
@@ -208,11 +208,11 @@ export class YooIonActionSheetControllerComponent {
|
|
|
208
208
|
"capture": false,
|
|
209
209
|
"passive": false
|
|
210
210
|
}, {
|
|
211
|
-
"name": "
|
|
212
|
-
"method": "
|
|
211
|
+
"name": "pointerdown",
|
|
212
|
+
"method": "onPointerDown",
|
|
213
213
|
"target": "body",
|
|
214
214
|
"capture": true,
|
|
215
|
-
"passive":
|
|
215
|
+
"passive": true
|
|
216
216
|
}, {
|
|
217
217
|
"name": "ionActionSheetWillPresent",
|
|
218
218
|
"method": "actionSheetWillPresent",
|
|
@@ -12,7 +12,7 @@ export class YooIonAlertControllerComponent {
|
|
|
12
12
|
const index = this.devices.findIndex(device => device === ev.detail);
|
|
13
13
|
this.devices.splice(index, index + 1);
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
onPointerDown(ev) {
|
|
16
16
|
if (this.devices.length) {
|
|
17
17
|
this.device = ev.composedPath().find((el) => el.nodeName === 'YOO-DEVICE');
|
|
18
18
|
}
|
|
@@ -182,11 +182,11 @@ export class YooIonAlertControllerComponent {
|
|
|
182
182
|
"capture": false,
|
|
183
183
|
"passive": false
|
|
184
184
|
}, {
|
|
185
|
-
"name": "
|
|
186
|
-
"method": "
|
|
185
|
+
"name": "pointerdown",
|
|
186
|
+
"method": "onPointerDown",
|
|
187
187
|
"target": "body",
|
|
188
188
|
"capture": true,
|
|
189
|
-
"passive":
|
|
189
|
+
"passive": true
|
|
190
190
|
}, {
|
|
191
191
|
"name": "ionAlertWillPresent",
|
|
192
192
|
"method": "alertWillPresent",
|
|
@@ -13,7 +13,7 @@ export class YooIonModalControllerComponent {
|
|
|
13
13
|
const index = this.devices.findIndex(device => device === ev.detail);
|
|
14
14
|
this.devices.splice(index, index + 1);
|
|
15
15
|
}
|
|
16
|
-
|
|
16
|
+
onPointerDown(ev) {
|
|
17
17
|
if (this.devices.length) {
|
|
18
18
|
this.device = ev.composedPath().find(el => el.nodeName === 'YOO-DEVICE');
|
|
19
19
|
}
|
|
@@ -220,11 +220,11 @@ export class YooIonModalControllerComponent {
|
|
|
220
220
|
"capture": false,
|
|
221
221
|
"passive": false
|
|
222
222
|
}, {
|
|
223
|
-
"name": "
|
|
224
|
-
"method": "
|
|
223
|
+
"name": "pointerdown",
|
|
224
|
+
"method": "onPointerDown",
|
|
225
225
|
"target": "body",
|
|
226
226
|
"capture": true,
|
|
227
|
-
"passive":
|
|
227
|
+
"passive": true
|
|
228
228
|
}, {
|
|
229
229
|
"name": "ionModalWillPresent",
|
|
230
230
|
"method": "modalWillPresent",
|
|
@@ -88,7 +88,7 @@ export class YooRatingComponent {
|
|
|
88
88
|
disabled: !this.isValidRating || !this.courseId,
|
|
89
89
|
handler: () => this.onSubmitClick()
|
|
90
90
|
}];
|
|
91
|
-
return (h("yoo-form-footer", { class: "rating", buttons: button }));
|
|
91
|
+
return (h("yoo-form-footer", { class: "rating relative", buttons: button }));
|
|
92
92
|
}
|
|
93
93
|
renderEditable() {
|
|
94
94
|
return [
|
|
@@ -12,7 +12,7 @@ export class YooIonToastControllerComponent {
|
|
|
12
12
|
const index = this.devices.findIndex(device => device === ev.detail);
|
|
13
13
|
this.devices.splice(index, index + 1);
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
onPointerDown(ev) {
|
|
16
16
|
if (this.devices.length) {
|
|
17
17
|
this.device = ev.composedPath().find((el) => el.nodeName === 'YOO-DEVICE');
|
|
18
18
|
}
|
|
@@ -182,11 +182,11 @@ export class YooIonToastControllerComponent {
|
|
|
182
182
|
"capture": false,
|
|
183
183
|
"passive": false
|
|
184
184
|
}, {
|
|
185
|
-
"name": "
|
|
186
|
-
"method": "
|
|
185
|
+
"name": "pointerdown",
|
|
186
|
+
"method": "onPointerDown",
|
|
187
187
|
"target": "body",
|
|
188
188
|
"capture": true,
|
|
189
|
-
"passive":
|
|
189
|
+
"passive": true
|
|
190
190
|
}, {
|
|
191
191
|
"name": "ionToastWillPresent",
|
|
192
192
|
"method": "toastWillPresent",
|
|
@@ -2665,7 +2665,7 @@ export class YooFormDynamicComponent {
|
|
|
2665
2665
|
'pdf': this.isPdf,
|
|
2666
2666
|
[field.type]: true,
|
|
2667
2667
|
[(field === null || field === void 0 ? void 0 : field.extraClass) || '']: true
|
|
2668
|
-
}, style: field.containerStyle, slotInputConfig: isPdfMultiplePhotos ? slotInputConfig : null, field: field, required: required, readonly: readonly, allowFieldValidation: this.allowFieldValidation, commentsUser: this.commentsUser, validationCommentsUser: this.validationCommentsUser, hideComplianceTags: this.hideComplianceTags, forceReadonly: this.forceReadonly, forceDescription: this.forceDescription, comments: comments, validationComments: validationComments, markAsInvalid: markAsInvalid, markAsModified: markAsModified, originalMarkAsInvalid: originalMarkAsInvalid, time: time, size: this.formInputSize, showDefaultInstructions: this.isLesson(), onCommented: (ev) => this.onFieldCommented(ev, field), onValidationCommented: (ev) => this.onFieldValidationCommented(ev, field), onValidationMarkAsInvalid: (ev) => this.onFieldValidationMarkAsInvalid(ev, field), hideOptional: this.hideOptional || field.hideOptional || isFieldWithNoValue(field), onCommentFocused: (ev) => this.onFieldFocused(null, ev.detail), onHeaderClicked: (ev) => {
|
|
2668
|
+
}, style: field.containerStyle, slotInputConfig: isPdfMultiplePhotos ? slotInputConfig : null, field: field, required: required, readonly: readonly, allowFieldValidation: this.allowFieldValidation, commentsUser: this.commentsUser, validationCommentsUser: this.validationCommentsUser, hideComplianceTags: this.hideComplianceTags, forceReadonly: this.forceReadonly, forceDescription: this.forceDescription, comments: comments, validationComments: validationComments, markAsInvalid: markAsInvalid, markAsModified: markAsModified, originalMarkAsInvalid: originalMarkAsInvalid, time: time, useUppercaseLabel: this.host.classList.contains('login-sso'), size: this.formInputSize, showDefaultInstructions: this.isLesson(), onCommented: (ev) => this.onFieldCommented(ev, field), onValidationCommented: (ev) => this.onFieldValidationCommented(ev, field), onValidationMarkAsInvalid: (ev) => this.onFieldValidationMarkAsInvalid(ev, field), hideOptional: this.hideOptional || field.hideOptional || isFieldWithNoValue(field), onCommentFocused: (ev) => this.onFieldFocused(null, ev.detail), onHeaderClicked: (ev) => {
|
|
2669
2669
|
ev.stopPropagation();
|
|
2670
2670
|
this.onFormContainerClicked(slideIndex, inputIndex);
|
|
2671
2671
|
}, onRemoved: (ev) => this.onFieldRemoved(ev), isLesson: this.isLesson(), isPreview: this.isLessonPreview(), animated: isAnimationsDisabled() ? false : this.animated, fullscreen: this.isFullscreenFieldType(field.type) }, !isPdfMultiplePhotos && inputFn())),
|
|
@@ -3162,6 +3162,7 @@ export class YooFormDynamicComponent {
|
|
|
3162
3162
|
inputmode: field.type === FormFieldType.number && isSamsung() ? 'numeric' : '',
|
|
3163
3163
|
step: field.step,
|
|
3164
3164
|
iconPrefix: icon,
|
|
3165
|
+
iconPrefixColor: field.iconPrefixColor,
|
|
3165
3166
|
iconSuffix: field.iconSuffix,
|
|
3166
3167
|
textSuffix: field.textSuffix,
|
|
3167
3168
|
regex: field.regex,
|
|
@@ -229,7 +229,7 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
|
|
|
229
229
|
flex-direction: column;
|
|
230
230
|
justify-content: center;
|
|
231
231
|
max-width: 25rem;
|
|
232
|
-
|
|
232
|
+
margin: var(--spacing-16, 1rem) auto;
|
|
233
233
|
}
|
|
234
234
|
:host([type=confidence]) .container .heading {
|
|
235
235
|
margin: 0 var(--spacing-16, 1rem);
|
|
@@ -276,4 +276,8 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
|
|
|
276
276
|
|
|
277
277
|
:host(.web) .container {
|
|
278
278
|
margin: 0 auto;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
:host([isLesson]) .container {
|
|
282
|
+
height: 100%;
|
|
279
283
|
}
|
|
@@ -295,7 +295,7 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
|
|
|
295
295
|
:host .input-container .icon-prefix {
|
|
296
296
|
color: inherit;
|
|
297
297
|
}
|
|
298
|
-
:host .input-container .icon-prefix yoo-icon {
|
|
298
|
+
:host .input-container .icon-prefix yoo-icon:not([color]) {
|
|
299
299
|
fill: var(--dark, #000000);
|
|
300
300
|
}
|
|
301
301
|
:host .input-container .inline-left {
|
|
@@ -810,23 +810,23 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
|
|
|
810
810
|
animation: none;
|
|
811
811
|
}
|
|
812
812
|
|
|
813
|
-
:host(.menu) input {
|
|
813
|
+
:host(.menu) .input-container {
|
|
814
|
+
background: var(--stable-light, #f1f1f1);
|
|
815
|
+
border: none;
|
|
816
|
+
}
|
|
817
|
+
:host(.menu) .input-container input {
|
|
814
818
|
padding-left: 0;
|
|
815
819
|
}
|
|
816
|
-
:host(.menu) input::placeholder {
|
|
820
|
+
:host(.menu) .input-container input::placeholder {
|
|
817
821
|
color: var(--stable, #adadad);
|
|
818
822
|
opacity: 1;
|
|
819
823
|
}
|
|
820
|
-
:host(.menu) input yoo-icon {
|
|
824
|
+
:host(.menu) .input-container input yoo-icon {
|
|
821
825
|
fill: var(--stable, #adadad);
|
|
822
826
|
}
|
|
823
|
-
:host(.menu) .icon-prefix yoo-icon {
|
|
827
|
+
:host(.menu) .input-container .icon-prefix yoo-icon {
|
|
824
828
|
fill: var(--stable, #adadad);
|
|
825
829
|
}
|
|
826
|
-
:host(.menu) .input-container {
|
|
827
|
-
background: var(--stable-light, #f1f1f1);
|
|
828
|
-
border: none;
|
|
829
|
-
}
|
|
830
830
|
|
|
831
831
|
:host(.side-menu.large) .input-container {
|
|
832
832
|
width: 100%;
|
|
@@ -200,7 +200,7 @@ export class YooFormInputComponent {
|
|
|
200
200
|
el.value = this.localValue + '.';
|
|
201
201
|
}
|
|
202
202
|
if (!isNumberInput || el.value || ev.data !== '-') {
|
|
203
|
-
if (!(isNumberInput &&
|
|
203
|
+
if (!(isNumberInput && el.value.length === 1 && el.value[0] === '-')) {
|
|
204
204
|
if (isNumberInput && ['e', '+'].includes(ev.data)) {
|
|
205
205
|
el.value = this.value;
|
|
206
206
|
}
|
|
@@ -384,8 +384,8 @@ export class YooFormInputComponent {
|
|
|
384
384
|
}
|
|
385
385
|
return [
|
|
386
386
|
this.copyToClipboard && h("yoo-icon", { onClick: () => this.onCopyToClipboard(copyText), class: "float-left", name: "duplicate", size: this.getIconSize() }),
|
|
387
|
-
this.type !== 'email' && h("p", { class: {
|
|
388
|
-
this.type === 'email' && h("a", { href: `mailto:${value}`, class: {
|
|
387
|
+
this.type !== 'email' && h("p", { class: { truncate: this.copyToClipboard }, innerHTML: innerHTML, onClick: () => this.copyToClipboard && this.onCopyToClipboard(copyText) }),
|
|
388
|
+
this.type === 'email' && (h("a", { href: `mailto:${value}`, class: { truncate: this.copyToClipboard }, innerHTML: innerHTML, onClick: () => this.copyToClipboard && this.onCopyToClipboard(copyText) }))
|
|
389
389
|
];
|
|
390
390
|
}
|
|
391
391
|
renderMaxCharacterCounter() {
|
|
@@ -406,8 +406,8 @@ export class YooFormInputComponent {
|
|
|
406
406
|
invalid: this.uiValidation.invalid && this.validity === false && !this.inputReloaded
|
|
407
407
|
} },
|
|
408
408
|
this.finalIconPrefix && this.hasIconPrefix && (h("div", { class: "icon-prefix", onClick: () => (this.inputElement && this.inputElement.focus ? this.inputElement.focus() : null) },
|
|
409
|
-
h("yoo-icon", { name: this.finalIconPrefix, size: this.getIconSize() }))),
|
|
410
|
-
h("input", { type: this.inputType, name: this.name, tabindex: this.inputTabIndex, ref: (el) => (this.inputElement = el), autocapitalize: this.autocapitalize, autocorrect: this.autocorrect, autoComplete: ['username', 'password'].includes(this.name) ? this.name : undefined, inputmode: this.inputmode ? this.inputmode : undefined, placeholder: !this.placeholdertolabel && this.internalPlaceholder ? translate(this.internalPlaceholder) : '', required: this.required, onBlur: (ev) => onInputBlurred(ev, this, '.input-container', this.type, this.uiValidation), onChange: (ev) => this.fireInputChangeEvent ? this.onInputChanged(ev) : ev === null || ev === void 0 ? void 0 : ev.stopPropagation(), onInput: (ev) => this.onInputChanged(ev), onFocus: () => onInputFocused(this, '.input-container'), onKeyDown: (ev) => this.onKeyPress(ev), onWheel: this.onWheel, min: this.min, max: this.max, pattern: this.getPattern(), step: this.step, class: {
|
|
409
|
+
h("yoo-icon", { name: this.finalIconPrefix, size: this.getIconSize(), color: this.iconPrefixColor }))),
|
|
410
|
+
h("input", { type: this.inputType, name: this.name, tabindex: this.inputTabIndex, ref: (el) => (this.inputElement = el), autocapitalize: this.autocapitalize, autocorrect: this.autocorrect, autoComplete: ['username', 'password'].includes(this.name) ? this.name : undefined, inputmode: this.inputmode ? this.inputmode : undefined, placeholder: !this.placeholdertolabel && this.internalPlaceholder ? translate(this.internalPlaceholder) : '', required: this.required, onBlur: (ev) => onInputBlurred(ev, this, '.input-container', this.type, this.uiValidation), onChange: (ev) => (this.fireInputChangeEvent ? this.onInputChanged(ev) : ev === null || ev === void 0 ? void 0 : ev.stopPropagation()), onInput: (ev) => this.onInputChanged(ev), onFocus: () => onInputFocused(this, '.input-container'), onKeyDown: (ev) => this.onKeyPress(ev), onWheel: this.onWheel, min: this.min, max: this.max, pattern: this.getPattern(), step: this.step, class: {
|
|
411
411
|
last: !((hasValue && this.clearable) || (this.type === 'password' && this.showPasswordToggle) || (this.uiValidation.invalid && this.validity === false)),
|
|
412
412
|
'hide-value': (_a = this.checkboxParams) === null || _a === void 0 ? void 0 : _a.value,
|
|
413
413
|
'has-icon-prefix': this.finalIconPrefix && this.hasIconPrefix
|
|
@@ -429,7 +429,7 @@ export class YooFormInputComponent {
|
|
|
429
429
|
this.tooltip && (h("div", { class: { 'icon-suffix-focus last icon-close': true } },
|
|
430
430
|
h("yoo-tooltip", { content: this.tooltip },
|
|
431
431
|
h("yoo-icon", { size: "medium", name: "help" })))),
|
|
432
|
-
this.uiValidation.invalid && h("div", { class: { 'invalid-message': true, invalid:
|
|
432
|
+
this.uiValidation.invalid && h("div", { class: { 'invalid-message': true, invalid: this.validity === false && !this.inputReloaded } }, translate(invalidMessageKey))
|
|
433
433
|
];
|
|
434
434
|
}
|
|
435
435
|
contentEditableInputBlurred(ev) {
|
|
@@ -487,9 +487,9 @@ export class YooFormInputComponent {
|
|
|
487
487
|
this.renderAction('confirm')));
|
|
488
488
|
}
|
|
489
489
|
renderAction(type) {
|
|
490
|
-
return h("div", { class: type },
|
|
490
|
+
return (h("div", { class: type },
|
|
491
491
|
h("yoo-button", { disabled: !this.modified || this.disabled, size: this.size, customColor: "stable-alt", onClick: () => this[type]() },
|
|
492
|
-
h("yoo-icon", { size: this.getIconSize(), name: type === 'cancel' ? 'close' : 'tick' })));
|
|
492
|
+
h("yoo-icon", { size: this.getIconSize(), name: type === 'cancel' ? 'close' : 'tick' }))));
|
|
493
493
|
}
|
|
494
494
|
render() {
|
|
495
495
|
return (h(Host, { class: {
|
|
@@ -776,6 +776,28 @@ export class YooFormInputComponent {
|
|
|
776
776
|
"attribute": "icon-prefix",
|
|
777
777
|
"reflect": false
|
|
778
778
|
},
|
|
779
|
+
"iconPrefixColor": {
|
|
780
|
+
"type": "string",
|
|
781
|
+
"mutable": false,
|
|
782
|
+
"complexType": {
|
|
783
|
+
"original": "TColor",
|
|
784
|
+
"resolved": "\"accent\" | \"anthracite\" | \"app-color\" | \"danger\" | \"dark\" | \"energized\" | \"info\" | \"light\" | \"stable\" | \"stable-alt\" | \"stable-light\" | \"stable-ultralight\" | \"success\" | \"text-color\" | \"warning\" | \"wood\" | \"accent-10\" | \"accent-20\" | \"accent-40\" | \"accent-60\" | \"accent-80\" | \"anthracite-10\" | \"anthracite-20\" | \"anthracite-40\" | \"anthracite-60\" | \"anthracite-80\" | \"app-color-10\" | \"app-color-20\" | \"app-color-40\" | \"app-color-60\" | \"app-color-80\" | \"danger-10\" | \"danger-20\" | \"danger-40\" | \"danger-60\" | \"danger-80\" | \"dark-10\" | \"dark-20\" | \"dark-40\" | \"dark-60\" | \"dark-80\" | \"energized-10\" | \"energized-20\" | \"energized-40\" | \"energized-60\" | \"energized-80\" | \"info-10\" | \"info-20\" | \"info-40\" | \"info-60\" | \"info-80\" | \"light-10\" | \"light-20\" | \"light-40\" | \"light-60\" | \"light-80\" | \"stable-10\" | \"stable-20\" | \"stable-40\" | \"stable-60\" | \"stable-80\" | \"stable-alt-10\" | \"stable-alt-20\" | \"stable-alt-40\" | \"stable-alt-60\" | \"stable-alt-80\" | \"stable-light-10\" | \"stable-light-20\" | \"stable-light-40\" | \"stable-light-60\" | \"stable-light-80\" | \"stable-ultralight-10\" | \"stable-ultralight-20\" | \"stable-ultralight-40\" | \"stable-ultralight-60\" | \"stable-ultralight-80\" | \"success-10\" | \"success-20\" | \"success-40\" | \"success-60\" | \"success-80\" | \"text-color-10\" | \"text-color-20\" | \"text-color-40\" | \"text-color-60\" | \"text-color-80\" | \"warning-10\" | \"warning-20\" | \"warning-40\" | \"warning-60\" | \"warning-80\" | \"wood-10\" | \"wood-20\" | \"wood-40\" | \"wood-60\" | \"wood-80\" | \"transparent\"",
|
|
785
|
+
"references": {
|
|
786
|
+
"TColor": {
|
|
787
|
+
"location": "import",
|
|
788
|
+
"path": "@shared/interfaces"
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
},
|
|
792
|
+
"required": false,
|
|
793
|
+
"optional": true,
|
|
794
|
+
"docs": {
|
|
795
|
+
"tags": [],
|
|
796
|
+
"text": ""
|
|
797
|
+
},
|
|
798
|
+
"attribute": "icon-prefix-color",
|
|
799
|
+
"reflect": false
|
|
800
|
+
},
|
|
779
801
|
"iconSuffix": {
|
|
780
802
|
"type": "string",
|
|
781
803
|
"mutable": false,
|
|
@@ -98,24 +98,18 @@ export class YooFormInputContainerComponent {
|
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
initShowDescription(showDescriptionAndTitle, field, readOnly, forceReadOnly, forceDescription) {
|
|
101
|
-
return (field === null || field === void 0 ? void 0 : field.description) &&
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
(field.type === FormFieldType.formula && forceReadOnly) ||
|
|
105
|
-
forceDescription ||
|
|
106
|
-
showDescriptionAndTitle);
|
|
101
|
+
return ((field === null || field === void 0 ? void 0 : field.description) &&
|
|
102
|
+
!field.hideLabel &&
|
|
103
|
+
(!readOnly || this.isCheckboxOrToggle(field.type) || (field.type === FormFieldType.formula && forceReadOnly) || forceDescription || showDescriptionAndTitle));
|
|
107
104
|
}
|
|
108
105
|
initShowLabel(showDescription, showDescriptionAndTitle, field, readOnly) {
|
|
109
106
|
const hasLabel = field.title || field.name;
|
|
110
|
-
return hasLabel &&
|
|
111
|
-
(!showDescription || showDescriptionAndTitle) &&
|
|
112
|
-
(!field.hideLabel || (readOnly && field.placeholder)) &&
|
|
113
|
-
!this.isCheckboxOrToggle(field.type);
|
|
107
|
+
return hasLabel && (!showDescription || showDescriptionAndTitle) && (!field.hideLabel || (readOnly && field.placeholder)) && !this.isCheckboxOrToggle(field.type);
|
|
114
108
|
}
|
|
115
109
|
initShouldShowDefaultInstructions(showDefaultInstructions, fieldType, readOnly) {
|
|
116
110
|
const NO_INSTRUCTIONS = [FormFieldType.selectmulti, FormFieldType.number, FormFieldType.feedback];
|
|
117
111
|
const ALWAYS_SHOW = [FormFieldType.plan];
|
|
118
|
-
return !readOnly && (ALWAYS_SHOW.includes(fieldType) || showDefaultInstructions && NO_INSTRUCTIONS.includes(fieldType));
|
|
112
|
+
return !readOnly && (ALWAYS_SHOW.includes(fieldType) || (showDefaultInstructions && NO_INSTRUCTIONS.includes(fieldType)));
|
|
119
113
|
}
|
|
120
114
|
shouldShowComments() {
|
|
121
115
|
return (this.showComments || (this.readonly && this.comments));
|
|
@@ -124,10 +118,11 @@ export class YooFormInputContainerComponent {
|
|
|
124
118
|
return fieldType === FormFieldType.toggle || fieldType === FormFieldType.checkbox;
|
|
125
119
|
}
|
|
126
120
|
isMedia(excludeVideo) {
|
|
127
|
-
return this.field &&
|
|
128
|
-
this.field.type === FormFieldType.
|
|
129
|
-
|
|
130
|
-
|
|
121
|
+
return (this.field &&
|
|
122
|
+
((excludeVideo ? false : this.field.type === FormFieldType.video) ||
|
|
123
|
+
this.field.type === FormFieldType.image ||
|
|
124
|
+
this.field.type === FormFieldType.document ||
|
|
125
|
+
this.field.type === FormFieldType.videoplayer));
|
|
131
126
|
}
|
|
132
127
|
getComponentDescriptionExtraClass() {
|
|
133
128
|
let extraClass = '';
|
|
@@ -147,7 +142,8 @@ export class YooFormInputContainerComponent {
|
|
|
147
142
|
return extraClass;
|
|
148
143
|
}
|
|
149
144
|
getFieldTitle() {
|
|
150
|
-
|
|
145
|
+
let fieldTitle = this.field.title || (this.field.name && !this.host.classList.contains('lesson-live-preview')) ? translateMulti(this.field.title || this.field.name.toUpperCase()) : '';
|
|
146
|
+
this.useUppercaseLabel && this.field.title && (fieldTitle = fieldTitle.toUpperCase());
|
|
151
147
|
return this.isLesson && this.readonly
|
|
152
148
|
? translateMulti(this.field.description) || (this.shouldShowDefaultInstructions && this.getFieldDefaultInstructions()) || fieldTitle
|
|
153
149
|
: fieldTitle;
|
|
@@ -219,8 +215,7 @@ export class YooFormInputContainerComponent {
|
|
|
219
215
|
}
|
|
220
216
|
animateContent() {
|
|
221
217
|
var _a, _b;
|
|
222
|
-
const isAnimatedField = this.animated && (((_a = this.field) === null || _a === void 0 ? void 0 : _a.type) === FormFieldType.number ||
|
|
223
|
-
((_b = this.field) === null || _b === void 0 ? void 0 : _b.type) === FormFieldType.selectimage);
|
|
218
|
+
const isAnimatedField = this.animated && (((_a = this.field) === null || _a === void 0 ? void 0 : _a.type) === FormFieldType.number || ((_b = this.field) === null || _b === void 0 ? void 0 : _b.type) === FormFieldType.selectimage);
|
|
224
219
|
if (this.isLesson && isAnimatedField) {
|
|
225
220
|
resizeObserve(this.host, this.onResize);
|
|
226
221
|
}
|
|
@@ -291,19 +286,22 @@ export class YooFormInputContainerComponent {
|
|
|
291
286
|
const hasRightSide = this.markAsInvalid || this.time || fieldhelp || !!this.host.querySelector('[slot="right-side"]');
|
|
292
287
|
return (hasRightSide && (h("div", { class: "right-side" },
|
|
293
288
|
h("slot", { name: "right-side" }),
|
|
294
|
-
this.markAsInvalid && h("yoo-tag", { size: "extra-small", class: "not-compliant", color: "danger" }, translate('NOTSATISFACTORY')),
|
|
289
|
+
this.markAsInvalid && (h("yoo-tag", { size: "extra-small", class: "not-compliant", color: "danger" }, translate('NOTSATISFACTORY'))),
|
|
295
290
|
this.time && (h("yoo-tooltip", { hoverable: isWeb(this.host), content: translate('LASTEDIT') + ': ' + pipes.dateFormat.transform(this.time, 'L LT'), placement: "top-end" },
|
|
296
291
|
h("yoo-icon", { size: isWeb(this.host) ? 'small' : 'medium', class: "recent", name: "recent" }))),
|
|
297
292
|
fieldhelp && !this.field.hideTooltip && !hideTooltip && (h("yoo-tooltip", { hoverable: isWeb(this.host), content: this.getHelpContent(fieldhelp), placement: "top-end" },
|
|
298
293
|
h("yoo-icon", { size: this.field.tooltipSize ? this.field.tooltipSize : isWeb(this.host) ? 'small' : 'medium', name: "help", color: this.field.tooltipColor ? this.field.tooltipColor : 'stable' }))))));
|
|
299
294
|
}
|
|
300
295
|
renderOriginalMarkAsInvalid() {
|
|
301
|
-
return !this.markAsInvalid &&
|
|
302
|
-
|
|
296
|
+
return (!this.markAsInvalid &&
|
|
297
|
+
!this.hideComplianceTags &&
|
|
298
|
+
this.originalMarkAsInvalid && (h("yoo-tag", { size: "extra-small", class: "original-invalid", color: "danger" }, translate('ORIGINALMARKASINVALID'))));
|
|
303
299
|
}
|
|
304
300
|
renderOriginalMarkAsModified() {
|
|
305
|
-
return !this.markAsInvalid &&
|
|
306
|
-
|
|
301
|
+
return (!this.markAsInvalid &&
|
|
302
|
+
!this.hideComplianceTags &&
|
|
303
|
+
!this.originalMarkAsInvalid &&
|
|
304
|
+
this.markAsModified && (h("yoo-tag", { size: "extra-small", class: "original-modified", color: "danger" }, translate('ORIGINALMARKASMODIFIED'))));
|
|
307
305
|
}
|
|
308
306
|
renderLabel() {
|
|
309
307
|
var _a, _b, _c;
|
|
@@ -329,11 +327,7 @@ export class YooFormInputContainerComponent {
|
|
|
329
327
|
}, onClick: () => this.headerClicked.emit(), ref: (el) => (this.instructionElement = el) }, this.getFieldDefaultInstructions()));
|
|
330
328
|
}
|
|
331
329
|
renderTopText() {
|
|
332
|
-
return [
|
|
333
|
-
this.showLabel && this.renderLabel(),
|
|
334
|
-
this.showDescription && this.renderDescription(),
|
|
335
|
-
this.shouldShowDefaultInstructions && this.renderDefaultInstructions()
|
|
336
|
-
];
|
|
330
|
+
return [this.showLabel && this.renderLabel(), this.showDescription && this.renderDescription(), this.shouldShowDefaultInstructions && this.renderDefaultInstructions()];
|
|
337
331
|
}
|
|
338
332
|
renderInnerContent() {
|
|
339
333
|
var _a, _b, _c;
|
|
@@ -344,11 +338,12 @@ export class YooFormInputContainerComponent {
|
|
|
344
338
|
'no-margin': this.field.allowTask,
|
|
345
339
|
'no-padding': ((_a = this.field) === null || _a === void 0 ? void 0 : _a.type) === FormFieldType.multiinput
|
|
346
340
|
} },
|
|
347
|
-
this.slotInputConfig &&
|
|
348
|
-
|
|
349
|
-
(
|
|
350
|
-
|
|
351
|
-
|
|
341
|
+
this.slotInputConfig &&
|
|
342
|
+
((_b = this.slotInputConfig) === null || _b === void 0 ? void 0 : _b.inputFn([
|
|
343
|
+
h("div", { class: "title-wrapper", slot: "image-title" },
|
|
344
|
+
((_c = this.slotInputConfig) === null || _c === void 0 ? void 0 : _c.slideTitle) && this.slotInputConfig.slideTitle(),
|
|
345
|
+
this.renderTopText())
|
|
346
|
+
])),
|
|
352
347
|
h("slot", null),
|
|
353
348
|
this.renderRemovable()));
|
|
354
349
|
}
|
|
@@ -363,18 +358,15 @@ export class YooFormInputContainerComponent {
|
|
|
363
358
|
this.renderInnerContent()));
|
|
364
359
|
}
|
|
365
360
|
renderRemovable() {
|
|
366
|
-
return (this.field.removable && (h("div", { class: "removable", onClick: () => this.onRemove() }, isWeb(this.host) ?
|
|
367
|
-
h("yoo-
|
|
368
|
-
h("yoo-icon", { size: this.size || 'medium', color: "danger", name: "cross" }))
|
|
369
|
-
: h("yoo-icon", { size: this.size || 'medium', color: "danger", name: "cross" }))));
|
|
361
|
+
return (this.field.removable && (h("div", { class: "removable", onClick: () => this.onRemove() }, isWeb(this.host) ? (h("yoo-tooltip", { content: translate('REMOVEFIELD'), placement: "top-end" },
|
|
362
|
+
h("yoo-icon", { size: this.size || 'medium', color: "danger", name: "cross" }))) : (h("yoo-icon", { size: this.size || 'medium', color: "danger", name: "cross" })))));
|
|
370
363
|
}
|
|
371
364
|
renderHint() {
|
|
372
365
|
return h("div", { class: "hint-container", innerHTML: this.field.hint });
|
|
373
366
|
}
|
|
374
367
|
renderFooter() {
|
|
375
368
|
return [
|
|
376
|
-
(
|
|
377
|
-
!this.readonly) && (h("div", { class: "footer-container" },
|
|
369
|
+
(this.field.allowComments || this.field.allowTask || this.field.shareToFeed) && !this.readonly && (h("div", { class: "footer-container" },
|
|
378
370
|
this.field.allowComments && (h("span", { class: "comment-container", onClick: () => this.onToggleComments() },
|
|
379
371
|
h("yoo-icon", { name: "comment", color: "text-color" }))),
|
|
380
372
|
this.field.shareToFeed && (h("span", { class: "feed-container" },
|
|
@@ -388,24 +380,21 @@ export class YooFormInputContainerComponent {
|
|
|
388
380
|
renderValidationFooter() {
|
|
389
381
|
const isMobile = !isWeb(this.host);
|
|
390
382
|
// the layout is not the same on web and mobile, so need to render the validations comments according to the platform
|
|
391
|
-
return (this.displayValidationFooter &&
|
|
392
|
-
h("
|
|
393
|
-
h("
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
h("
|
|
399
|
-
h("yoo-form-checkbox", { animated: this.animated, value: this.markAsInvalid, class: "danger web", size: "large", header: translate('MARKFIELDASINVALID'), onInputChanged: (ev) => this.onValidationMarkAsInvalid(ev.detail) }))));
|
|
383
|
+
return (this.displayValidationFooter && (h("div", { class: { 'footer-container': true, validation: true, mobile: isMobile } },
|
|
384
|
+
h("span", { class: "comment-container", onClick: () => this.onToggleValidationComments() },
|
|
385
|
+
h("yoo-icon", { name: "comment", size: "medium", color: "text-color" }),
|
|
386
|
+
" ",
|
|
387
|
+
translate(this.validationComments ? 'EDITCOMMENTS' : 'ADDCOMMENTS')),
|
|
388
|
+
isMobile && this.renderValidationComments(),
|
|
389
|
+
h("span", { class: "validation-container" },
|
|
390
|
+
h("yoo-form-checkbox", { animated: this.animated, value: this.markAsInvalid, class: "danger web", size: "large", header: translate('MARKFIELDASINVALID'), onInputChanged: (ev) => this.onValidationMarkAsInvalid(ev.detail) })))));
|
|
400
391
|
}
|
|
401
392
|
renderComments() {
|
|
402
|
-
return (this.shouldShowComments() &&
|
|
403
|
-
h("yoo-form-input-comments", { class: { 'with-border-bottom': this.displayValidationComments }, readonly: this.readonly, user: this.commentsUser, comments: this.comments, onInputChanged: (ev) => this.onCommentsChange(ev), onInputFocused: (ev) => this.onCommentFocused(ev) }));
|
|
393
|
+
return (this.shouldShowComments() && (h("yoo-form-input-comments", { class: { 'with-border-bottom': this.displayValidationComments }, readonly: this.readonly, user: this.commentsUser, comments: this.comments, onInputChanged: (ev) => this.onCommentsChange(ev), onInputFocused: (ev) => this.onCommentFocused(ev) })));
|
|
404
394
|
}
|
|
405
395
|
renderValidationComments() {
|
|
406
396
|
const readonly = !this.allowFieldValidation || !this.showValidationComments;
|
|
407
|
-
return (this.displayValidationComments &&
|
|
408
|
-
h("yoo-form-input-comments", { readonly: readonly, user: this.validationCommentsUser, comments: this.validationComments, onInputChanged: (ev) => this.onValidationCommentsChange(ev), onInputFocused: (ev) => this.onCommentFocused(ev), onCommentsToggled: () => this.onToggleValidationComments() }));
|
|
397
|
+
return (this.displayValidationComments && (h("yoo-form-input-comments", { readonly: readonly, user: this.validationCommentsUser, comments: this.validationComments, onInputChanged: (ev) => this.onValidationCommentsChange(ev), onInputFocused: (ev) => this.onCommentFocused(ev), onCommentsToggled: () => this.onToggleValidationComments() })));
|
|
409
398
|
}
|
|
410
399
|
render() {
|
|
411
400
|
var _a;
|
|
@@ -415,7 +404,7 @@ export class YooFormInputContainerComponent {
|
|
|
415
404
|
line: this.isCheckboxOrToggle((_a = this.field) === null || _a === void 0 ? void 0 : _a.type) && this.forceReadonly,
|
|
416
405
|
media: this.isMedia(),
|
|
417
406
|
invalid: this.markAsInvalid
|
|
418
|
-
}, ...getConfig().isE2E ? this.getE2EAttributes() : {} }, this.field && [
|
|
407
|
+
}, ...(getConfig().isE2E ? this.getE2EAttributes() : {}) }, this.field && [
|
|
419
408
|
this.renderContent(),
|
|
420
409
|
this.field.hint && this.renderHint(),
|
|
421
410
|
this.renderFooter(),
|
|
@@ -840,6 +829,23 @@ export class YooFormInputContainerComponent {
|
|
|
840
829
|
"attribute": "hide-compliance-tags",
|
|
841
830
|
"reflect": false
|
|
842
831
|
},
|
|
832
|
+
"useUppercaseLabel": {
|
|
833
|
+
"type": "boolean",
|
|
834
|
+
"mutable": false,
|
|
835
|
+
"complexType": {
|
|
836
|
+
"original": "boolean",
|
|
837
|
+
"resolved": "boolean",
|
|
838
|
+
"references": {}
|
|
839
|
+
},
|
|
840
|
+
"required": false,
|
|
841
|
+
"optional": true,
|
|
842
|
+
"docs": {
|
|
843
|
+
"tags": [],
|
|
844
|
+
"text": ""
|
|
845
|
+
},
|
|
846
|
+
"attribute": "use-uppercase-label",
|
|
847
|
+
"reflect": false
|
|
848
|
+
},
|
|
843
849
|
"fullscreen": {
|
|
844
850
|
"type": "boolean",
|
|
845
851
|
"mutable": false,
|
|
@@ -862,7 +868,7 @@ export class YooFormInputContainerComponent {
|
|
|
862
868
|
"type": "unknown",
|
|
863
869
|
"mutable": false,
|
|
864
870
|
"complexType": {
|
|
865
|
-
"original": "{ inputFn: (slots: HTMLElement[]) => any
|
|
871
|
+
"original": "{ inputFn: (slots: HTMLElement[]) => any; slideTitle: any }",
|
|
866
872
|
"resolved": "{ inputFn: (slots: HTMLElement[]) => any; slideTitle: any; }",
|
|
867
873
|
"references": {
|
|
868
874
|
"HTMLElement": {
|
|
@@ -24,12 +24,21 @@ export class YooFormTextAreaComponent {
|
|
|
24
24
|
this.updateSegmentsCountDebounce = debounce(() => this.updateSegmentsCount(), 2000);
|
|
25
25
|
this.scrollIntoViewOnFocus = false;
|
|
26
26
|
}
|
|
27
|
+
get isRichText() {
|
|
28
|
+
return this.allowMention || this.allowCustomInput;
|
|
29
|
+
}
|
|
27
30
|
onValueChanged(value) {
|
|
31
|
+
if (!this.inputEl) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
28
34
|
// clean input and sync mention ids when the value is cleared from outside
|
|
29
|
-
if (this.
|
|
35
|
+
if (this.isRichText && !value) {
|
|
30
36
|
this.inputEl.innerHTML = replaceAtTagToMentionTag(value, this.mentions);
|
|
31
37
|
this.syncMentionIds();
|
|
32
38
|
}
|
|
39
|
+
else if (!this.isRichText) {
|
|
40
|
+
this.inputEl.value = value;
|
|
41
|
+
}
|
|
33
42
|
}
|
|
34
43
|
allowMentionChanged() {
|
|
35
44
|
forceUpdate(this);
|
|
@@ -106,7 +115,7 @@ export class YooFormTextAreaComponent {
|
|
|
106
115
|
}
|
|
107
116
|
}
|
|
108
117
|
componentDidLoad() {
|
|
109
|
-
if (this.
|
|
118
|
+
if (this.isRichText) {
|
|
110
119
|
// block click event when editing the tag
|
|
111
120
|
if (this.inputEl) {
|
|
112
121
|
if (this.value) {
|
|
@@ -404,7 +413,7 @@ export class YooFormTextAreaComponent {
|
|
|
404
413
|
return [
|
|
405
414
|
h("div", { class: "outer-container" },
|
|
406
415
|
h("div", { class: "inner-container" },
|
|
407
|
-
this.
|
|
416
|
+
this.isRichText ? this.renderMentionContainer() : this.renderTextArea(),
|
|
408
417
|
h("slot", { name: "placeholder" })),
|
|
409
418
|
h("slot", { name: "right" }),
|
|
410
419
|
((_a = this.inlineActions) === null || _a === void 0 ? void 0 : _a.length) > 0 &&
|