@yoobic/yobi 8.3.0-44 → 8.3.0-45
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/{form-choice-helpers-b2ec494b.js → form-choice-helpers-e28efa04.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-connect.cjs.entry.js +2 -1
- package/dist/cjs/yoo-form-swipe-cards.cjs.entry.js +1 -1
- package/dist/cjs/yoo-form-text-editor.cjs.entry.js +63 -45
- package/dist/cjs/yoo-input-bar.cjs.entry.js +12948 -12743
- package/dist/cjs/yoo-login.cjs.entry.js +1 -1
- package/dist/cjs/yoo-scratch-card-creator.cjs.entry.js +1 -3
- package/dist/cjs/yoo-videoplayer-videojs.cjs.entry.js +3 -3
- package/dist/collection/components/form/form-choice/form-choice-helpers.js +1 -1
- package/dist/collection/components/form/form-connect/form-connect.js +2 -1
- package/dist/collection/components/form/form-swipe-cards/form-swipe-cards.css +1 -1
- package/dist/collection/components/form-creator/scratch-card-creator/scratch-card-creator.js +1 -3
- package/dist/collection/feature-platform/login/login/login.css +1 -2
- package/dist/design-system/{form-choice-helpers-800a6124.js → form-choice-helpers-b6936c42.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-connect.entry.js +2 -1
- package/dist/design-system/yoo-form-swipe-cards.entry.js +1 -1
- package/dist/design-system/yoo-form-text-editor.entry.js +63 -45
- package/dist/design-system/yoo-input-bar.entry.js +12948 -12743
- package/dist/design-system/yoo-login.entry.js +1 -1
- package/dist/design-system/yoo-scratch-card-creator.entry.js +1 -3
- package/dist/design-system/yoo-videoplayer-videojs.entry.js +3 -3
- package/dist/esm/{form-choice-helpers-800a6124.js → form-choice-helpers-b6936c42.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-connect.entry.js +2 -1
- package/dist/esm/yoo-form-swipe-cards.entry.js +1 -1
- package/dist/esm/yoo-form-text-editor.entry.js +63 -45
- package/dist/esm/yoo-input-bar.entry.js +12948 -12743
- package/dist/esm/yoo-login.entry.js +1 -1
- package/dist/esm/yoo-scratch-card-creator.entry.js +1 -3
- package/dist/esm/yoo-videoplayer-videojs.entry.js +3 -3
- package/dist/types/home/runner/work/yoobic-ng-6/yoobic-ng-6/design-system/stencil/.stencil/shared/interfaces/src/entities/custom-app/custom-app.interface.d.ts +10 -3
- package/package.json +1 -1
|
@@ -160,7 +160,7 @@ function prepareChoice(choiceElement) {
|
|
|
160
160
|
}
|
|
161
161
|
function hasWarnings(values, choiceElement, warningMsgs) {
|
|
162
162
|
const duplicateMessage = 'NODUPLICATEVALUES';
|
|
163
|
-
const hasDuplicatedValues = draggableTagsHelpers.hasDuplicates(values);
|
|
163
|
+
const hasDuplicatedValues = draggableTagsHelpers.hasDuplicates(values === null || values === void 0 ? void 0 : values.map(v => (v === null || v === void 0 ? void 0 : v.text) || v));
|
|
164
164
|
draggableTagsHelpers.showWarningAlert(choiceElement.host, hasDuplicatedValues || !!(warningMsgs === null || warningMsgs === void 0 ? void 0 : warningMsgs.length), hasDuplicatedValues ? duplicateMessage : warningMsgs === null || warningMsgs === void 0 ? void 0 : warningMsgs[0]);
|
|
165
165
|
return hasDuplicatedValues && (warningMsgs === null || warningMsgs === void 0 ? void 0 : warningMsgs.length) > 0;
|
|
166
166
|
}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const index = require('./index-2e1afd31.js');
|
|
6
6
|
require('./index-9dd76b79.js');
|
|
7
7
|
const highcharts = require('./highcharts-874d9bd2.js');
|
|
8
|
-
const formChoiceHelpers = require('./form-choice-helpers-
|
|
8
|
+
const formChoiceHelpers = require('./form-choice-helpers-e28efa04.js');
|
|
9
9
|
const overlays = require('./overlays-046b4f60.js');
|
|
10
10
|
require('./lodash-72d493b9.js');
|
|
11
11
|
require('./_commonjsHelpers-94df2ea7.js');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const formChoiceHelpers = require('./form-choice-helpers-
|
|
5
|
+
const formChoiceHelpers = require('./form-choice-helpers-e28efa04.js');
|
|
6
6
|
require('./index-9dd76b79.js');
|
|
7
7
|
require('./overlays-046b4f60.js');
|
|
8
8
|
require('./lodash-72d493b9.js');
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const index = require('./index-2e1afd31.js');
|
|
6
6
|
const index$1 = require('./index-f6133645.js');
|
|
7
7
|
require('./index-9dd76b79.js');
|
|
8
|
-
const formChoiceHelpers = require('./form-choice-helpers-
|
|
8
|
+
const formChoiceHelpers = require('./form-choice-helpers-e28efa04.js');
|
|
9
9
|
const overlays = require('./overlays-046b4f60.js');
|
|
10
10
|
require('./lodash-72d493b9.js');
|
|
11
11
|
require('./draggable-tags-helpers-078374f4.js');
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const index = require('./index-2e1afd31.js');
|
|
6
6
|
require('./index-9dd76b79.js');
|
|
7
7
|
const commonHelpers = require('./common-helpers-bfdca115.js');
|
|
8
|
-
const formChoiceHelpers = require('./form-choice-helpers-
|
|
8
|
+
const formChoiceHelpers = require('./form-choice-helpers-e28efa04.js');
|
|
9
9
|
const overlays = require('./overlays-046b4f60.js');
|
|
10
10
|
require('./lodash-72d493b9.js');
|
|
11
11
|
require('./draggable-tags-helpers-078374f4.js');
|
|
@@ -6,7 +6,7 @@ const index = require('./index-2e1afd31.js');
|
|
|
6
6
|
require('./index-9dd76b79.js');
|
|
7
7
|
const lodash = require('./lodash-72d493b9.js');
|
|
8
8
|
const formInputHelpers = require('./form-input-helpers-651487c0.js');
|
|
9
|
-
const formChoiceHelpers = require('./form-choice-helpers-
|
|
9
|
+
const formChoiceHelpers = require('./form-choice-helpers-e28efa04.js');
|
|
10
10
|
const overlays = require('./overlays-046b4f60.js');
|
|
11
11
|
require('./index-f6133645.js');
|
|
12
12
|
require('./common-helpers-bfdca115.js');
|
|
@@ -101,9 +101,10 @@ const YooFormConnectComponent = class {
|
|
|
101
101
|
(_a = this.draggableElements) === null || _a === void 0 ? void 0 : _a.forEach(e => this.initDraggableActions(e));
|
|
102
102
|
}
|
|
103
103
|
async scrollToRevealGame() {
|
|
104
|
+
var _a;
|
|
104
105
|
const GAP_PADDING = 8;
|
|
105
106
|
const scrollElement = this.host.closest('yoo-ion-scroll');
|
|
106
|
-
if (scrollElement && this.values.length === 2) {
|
|
107
|
+
if (scrollElement && ((_a = this.values) === null || _a === void 0 ? void 0 : _a.length) === 2) {
|
|
107
108
|
const setScrollableHeight = () => {
|
|
108
109
|
const getHeight = (el) => { var _a; return (_a = el === null || el === void 0 ? void 0 : el.getBoundingClientRect()) === null || _a === void 0 ? void 0 : _a.height; };
|
|
109
110
|
const formHeight = getHeight(this.host.closest('yoo-form-input-container'));
|
|
@@ -12,7 +12,7 @@ const formInputHelpers = require('./form-input-helpers-651487c0.js');
|
|
|
12
12
|
const overlays = require('./overlays-046b4f60.js');
|
|
13
13
|
require('./_commonjsHelpers-94df2ea7.js');
|
|
14
14
|
|
|
15
|
-
const formSwipeCardsCss = ".accent{color:var(--accent, #276ef1);fill:var(--accent, #276ef1)}.app-color{color:var(--app-color, #5a30f4);fill:var(--app-color, #5a30f4)}.danger{color:var(--danger, #d44333);fill:var(--danger, #d44333)}.dark{color:var(--dark, #000000);fill:var(--dark, #000000)}.energized{color:var(--energized, #ffc043);fill:var(--energized, #ffc043)}.info{color:var(--info, #d84c96);fill:var(--info, #d84c96)}.light{color:var(--light, #ffffff);fill:var(--light, #ffffff)}.stable{color:var(--stable, #adadad);fill:var(--stable, #adadad)}.stable-alt{color:var(--stable-alt, #d0d0d0);fill:var(--stable-alt, #d0d0d0)}.stable-light{color:var(--stable-light, #f1f1f1);fill:var(--stable-light, #f1f1f1)}.stable-ultralight{color:var(--stable-ultralight, #fafafa);fill:var(--stable-ultralight, #fafafa)}.success{color:var(--success, #3aa76d);fill:var(--success, #3aa76d)}.text-color{color:var(--text-color, #807f83);fill:var(--text-color, #807f83)}.warning{color:var(--warning, #ed6e33);fill:var(--warning, #ed6e33)}.wood{color:var(--wood, #99644c);fill:var(--wood, #99644c)}@-webkit-keyframes fade-out{from{opacity:1}to{opacity:0}}@keyframes fade-out{from{opacity:1}to{opacity:0}}.hidden{display:none !important}.flex{display:-ms-flexbox !important;display:flex !important}.block{display:block !important}:host{position:relative;display:block;height:100%}:host yoo-banner{height:0}:host #instructions{height:100%;-webkit-transition:opacity 1s ease-in-out;transition:opacity 1s ease-in-out}:host #instructions #header{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host #instructions #header #title{font-weight:bold}:host #instructions #categories{display:inline-grid;grid-template-columns:1fr 0.5fr 1fr;width:100%;margin:var(--spacing-24, 1.5rem) 0;text-align:center}:host #instructions #categories .category{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:100%;padding:0;color:var(--stable, #adadad)}:host #instructions #categories .category p{max-width:75%;margin:auto;padding:var(--spacing-16, 1rem) 0;font-weight:bold}:host #instructions #categories .category yoo-tag{margin:0 auto}:host #instructions yoo-button{position:absolute;right:0;bottom:0;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box}:host #instructions #document{background-color:var(--light, #ffffff)}:host #instructions #document .document-title{padding:0 var(--spacing-16, 1rem);font-size:var(--font-size-16, 1rem)}:host #instructions #document yoo-form-document{--outer-container-padding:cssvar(spacing-16) cssvar(spacing-16);width:calc(100% - var(--spacing-16, 1rem))}:host [direction].card{z-index:5;-webkit-transition:-webkit-transform 0.35s !important;transition:-webkit-transform 0.35s !important;transition:transform 0.35s !important;transition:transform 0.35s, -webkit-transform 0.35s !important;-webkit-transform:translate(0%, 9%) scale(1);transform:translate(0%, 9%) scale(1);opacity:1}:host [direction].card.current .content-category{color:var(--light, #ffffff);opacity:1 !important;-webkit-transition:opacity 0.35s linear;transition:opacity 0.35s linear}:host [direction].card.current.card+.card{-webkit-transform:translate(0%, 9%) scale(1);transform:translate(0%, 9%) scale(1);opacity:1}:host [direction].card.current.card+.card .content-image,:host [direction].card.current.card+.card .content-text{opacity:1 !important}:host [direction].card.current.card+.card+.card{-webkit-transform:translate(0%, 3.5%) scale(0.95);transform:translate(0%, 3.5%) scale(0.95);opacity:1}:host [direction].card.current.card+.card+.card+.card{-webkit-transform:translate(0%, -2%) scale(0.9);transform:translate(0%, -2%) scale(0.9);opacity:1}:host [direction=left]#game,:host [direction=left].current>.content-category{background-color:var(--app-color, #5a30f4) !important}:host [direction=left].current{-webkit-transform:translate(0%, 9%) scale(1) rotate(-3.5deg) !important;transform:translate(0%, 9%) scale(1) rotate(-3.5deg) !important}:host [direction=right]#game,:host [direction=right].current>.content-category{background-color:var(--warning, #ed6e33) !important}:host [direction=right].current{-webkit-transform:translate(0%, 9%) scale(1) rotate(3.5deg) !important;transform:translate(0%, 9%) scale(1) rotate(3.5deg) !important}:host #game{position:relative;width:100%;background-color:var(--dark, #000000);-webkit-transition:background-color 0.25s ease-in-out;transition:background-color 0.25s ease-in-out}:host #game #end-message{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:calc(100% - 4rem);max-width:25rem;color:var(--light, #ffffff);font-size:var(--font-size-18, 1.125rem);text-align:center;visibility:hidden;opacity:0;-webkit-transition:opacity 0.5s ease-in-out;transition:opacity 0.5s ease-in-out}:host #game #end-message.rtl{top:50%;right:50%;-webkit-transform:translate(50%, -50%);transform:translate(50%, -50%)}:host #game #end-message yoo-lottie{width:30%;margin:0 auto}:host #game #end-message div{padding:var(--spacing-16, 1rem) 0;font-weight:bold;font-size:var(--font-size-24, 1.5rem)}:host #game #end-message.active{visibility:visible;opacity:1}:host #game:after{display:block;height:0;padding-top:85%;content:\"\"}:host #cards{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:100%;width:65%;max-width:16rem;height:100%;margin-top:var(--spacing-16, 1rem)}:host #cards.rtl{top:50%;right:50%;-webkit-transform:translate(50%, -50%);transform:translate(50%, -50%)}:host #cards .card{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;max-width:16rem;height:100%;max-height:21.3333333333rem;margin:0 auto;overflow:hidden;color:var(--dark, #000000);font-size:var(--font-size-28, 1.75rem);text-align:center;background-color:var(--stable-light, #f1f1f1);border-radius:var(--border-radius-08, 0.5rem);-webkit-box-shadow:var(--shadow-05, -0.375rem -0.375rem 0.5rem 0 rgba(0, 0, 0, 0.1));box-shadow:var(--shadow-05, -0.375rem -0.375rem 0.5rem 0 rgba(0, 0, 0, 0.1));-webkit-transition:opacity 0.25s, background-color 0.25s, -webkit-transform 0.25s;transition:opacity 0.25s, background-color 0.25s, -webkit-transform 0.25s;transition:transform 0.25s, opacity 0.25s, background-color 0.25s;transition:transform 0.25s, opacity 0.25s, background-color 0.25s, -webkit-transform 0.25s;will-change:transform, opacity}:host #cards .card:not([direction]){-webkit-transform:translate(0, -5%) scale(0.85);transform:translate(0, -5%) scale(0.85);opacity:0}:host #cards .card.current{z-index:3}:host #cards .card.current:not(.revealing){-webkit-transform:translate(0%, 9%) scale(1);transform:translate(0%, 9%) scale(1);opacity:1;-webkit-transition-delay:200ms;transition-delay:200ms}:host #cards .card.current.revealing{-webkit-animation:\"current\" 0.25s ease-in-out;animation:\"current\" 0.25s ease-in-out;-webkit-animation-delay:150ms;animation-delay:150ms;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes current{to{-webkit-transform:translate(0%, 9%) scale(1);transform:translate(0%, 9%) scale(1);opacity:1}}@keyframes current{to{-webkit-transform:translate(0%, 9%) scale(1);transform:translate(0%, 9%) scale(1);opacity:1}}:host #cards .card.second{z-index:2}:host #cards .card.second:not(.revealing){-webkit-transform:translate(0%, 3.5%) scale(0.95);transform:translate(0%, 3.5%) scale(0.95);opacity:1;-webkit-transition-delay:400ms;transition-delay:400ms}:host #cards .card.second.revealing{-webkit-animation:\"second\" 0.25s ease-in-out;animation:\"second\" 0.25s ease-in-out;-webkit-animation-delay:300ms;animation-delay:300ms;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes second{to{-webkit-transform:translate(0%, 3.5%) scale(0.95);transform:translate(0%, 3.5%) scale(0.95);opacity:1}}@keyframes second{to{-webkit-transform:translate(0%, 3.5%) scale(0.95);transform:translate(0%, 3.5%) scale(0.95);opacity:1}}:host #cards .card.third{z-index:1}:host #cards .card.third:not(.revealing){-webkit-transform:translate(0%, -2%) scale(0.9);transform:translate(0%, -2%) scale(0.9);opacity:1;-webkit-transition-delay:600ms;transition-delay:600ms}:host #cards .card.third.revealing{-webkit-animation:\"third\" 0.25s ease-in-out;animation:\"third\" 0.25s ease-in-out;-webkit-animation-delay:450ms;animation-delay:450ms;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes third{to{-webkit-transform:translate(0%, -2%) scale(0.9);transform:translate(0%, -2%) scale(0.9);opacity:1}}@keyframes third{to{-webkit-transform:translate(0%, -2%) scale(0.9);transform:translate(0%, -2%) scale(0.9);opacity:1}}:host #cards .card.current .content-image,:host #cards .card.current .content-text,:host #cards .card[direction] .content-image,:host #cards .card[direction] .content-text{opacity:1 !important}:host #cards .card[swiped]{-webkit-animation:fade-out 1s ease-out;animation:fade-out 1s ease-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}:host #cards .card[swiped=left]{-webkit-transform:translate(-100%, 15%) rotate(-15deg);transform:translate(-100%, 15%) rotate(-15deg)}:host #cards .card[swiped=right]{-webkit-transform:translate(100%, 15%) rotate(15deg);transform:translate(100%, 15%) rotate(15deg)}:host #cards .card [class^=content]{position:absolute;width:100%;height:100%;word-break:break-word;opacity:0}:host #cards .card .content-category,:host #cards .card .content-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:var(--spacing-16, 1rem)}:host #cards .card .content-image{-webkit-transition:opacity 0.25s linear;transition:opacity 0.25s linear}:host #cards .card[type=image] yoo-img{height:100%}:host #cards .card[type=textimage] .content-image{top:0;bottom:3.5rem}:host #cards .card[type=textimage] .content-image yoo-img{height:calc(100% - 3.5rem)}:host #cards .card[type=textimage] .content-text,:host #cards .card[type=textimage] .content-category{bottom:0;height:3.5rem}:host #actions{position:absolute;left:50%;z-index:1;display:inline-grid;grid-template-columns:1fr 1fr 1fr;width:100%;max-width:85%;line-height:2.5;-webkit-transform:translate(-50%, 80%);transform:translate(-50%, 80%)}:host #actions .action{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:start;justify-content:flex-start;text-align:center}:host([readonly]){display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}:host([readonly]) .category-title{margin-bottom:var(--spacing-08, 0.5rem)}:host([readonly]) ul{display:grid;grid-gap:var(--spacing-16, 1rem);grid-template-columns:repeat(auto-fill, 6rem);margin:0;padding-left:0;list-style:none}:host([readonly]) ul+.category-title{margin-top:var(--spacing-16, 1rem)}:host([readonly]) ul li{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;height:8rem;overflow:hidden;border-style:solid;border-width:var(--border-width-01, 0.0625rem);border-radius:var(--border-radius-08, 0.5rem)}:host([readonly]) ul li.invalid{border-color:var(--danger, #d44333)}:host([readonly]) ul li.invalid yoo-img::before{position:absolute;width:100%;height:100%;background:var(--danger-20, rgba(212, 67, 51, 0.2));content:\"\"}:host([readonly]) ul li.invalid yoo-truncate{background:var(--danger, #d44333)}:host([readonly]) ul li.valid{border-color:var(--success, #3aa76d)}:host([readonly]) ul li.valid yoo-img::before{position:absolute;width:100%;height:100%;background:var(--success-20, rgba(58, 167, 109, 0.2));content:\"\"}:host([readonly]) ul li.valid yoo-truncate{background:var(--success, #3aa76d)}:host([readonly]) ul li yoo-img{position:relative;-ms-flex-positive:1;flex-grow:1}:host([readonly]) ul li yoo-truncate{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:var(--light, #ffffff);font-size:var(--font-size-14, 0.875rem)}:host([readonly]) ul li yoo-truncate:only-child{--max-lines:4;height:100%;padding:0 var(--spacing-08, 0.5rem)}:host([readonly]) ul li yoo-truncate:not(:only-child){--max-lines:1;height:2.125rem;padding:0 var(--spacing-04, 0.25rem)}:host([animated]) #game{-webkit-animation:show 0.5s ease-in-out forwards;animation:show 0.5s ease-in-out forwards}@-webkit-keyframes show{from{-webkit-transform:scale(0.85);transform:scale(0.85);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes show{from{-webkit-transform:scale(0.85);transform:scale(0.85);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}:host([animated]) .action.hide>*{-webkit-animation:fadeOut 0.75s ease-in-out forwards;animation:fadeOut 0.75s ease-in-out forwards}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}:host([animated]) .action:not(.hide)>*{-webkit-animation:fadeIn 0.75s ease-in-out forwards;animation:fadeIn 0.75s ease-in-out forwards}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}:host([animated]) .action yoo-button{-webkit-transition:-webkit-transform 0.8s linear;transition:-webkit-transform 0.8s linear;transition:transform 0.8s linear;transition:transform 0.8s linear, -webkit-transform 0.8s linear}:host([live-preview]),:host(.mobile){min-height:70vh}:host([live-preview]) #instructions #header,:host(.mobile) #instructions #header{padding:var(--spacing-16, 1rem);background:var(--dark, #000000);border-radius:var(--border-radius-04, 0.25rem)}:host([live-preview]) #instructions #header #title,:host(.mobile) #instructions #header #title{color:var(--light, #ffffff);font-weight:bold;font-size:var(--font-size-28, 1.75rem)}:host([live-preview]) #instructions yoo-button,:host(.mobile) #instructions yoo-button{position:absolute;bottom:0;width:-webkit-fill-available;width:-moz-available;width:stretch}:host(.web:not([live-preview])) #instructions{position:relative}:host(.web:not([live-preview])) #instructions yoo-icon[name=swipe-explanation]{width:5rem;height:5rem;margin:auto;--inner-width:5rem;--inner-height:5rem}:host(.web:not([live-preview])) #instructions yoo-button{position:fixed;right:var(--spacing-32, 2rem);bottom:var(--spacing-16, 1rem);z-index:1;-webkit-transform:translateY(-50%);transform:translateY(-50%)}:host(.web:not([live-preview])) #game{height:60%;max-height:21rem}:host(.web:not([live-preview])) #game #cards{top:5%;margin-top:unset;-webkit-transform:translate(-50%, 0);transform:translate(-50%, 0)}:host(.web:not([live-preview])) #actions{-ms-flex-align:start;align-items:start;max-width:unset;margin-top:2.5%;-webkit-transform:translate(-50%, 0);transform:translate(-50%, 0)}:host(.web:not([live-preview])) #actions .action:nth-child(2){-ms-flex-item-align:end;align-self:end}:host(.web:not([live-preview])) #header{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding:var(--spacing-08, 0.5rem) var(--spacing-16, 1rem);line-height:1.75;text-align:center;background-color:var(--stable-ultralight, #fafafa)}:host(.web:not([live-preview])) #header #title{color:var(--dark, #000000) !important;font-weight:bold;font-size:var(--font-size-28, 1.75rem)}";
|
|
15
|
+
const formSwipeCardsCss = ".accent{color:var(--accent, #276ef1);fill:var(--accent, #276ef1)}.app-color{color:var(--app-color, #5a30f4);fill:var(--app-color, #5a30f4)}.danger{color:var(--danger, #d44333);fill:var(--danger, #d44333)}.dark{color:var(--dark, #000000);fill:var(--dark, #000000)}.energized{color:var(--energized, #ffc043);fill:var(--energized, #ffc043)}.info{color:var(--info, #d84c96);fill:var(--info, #d84c96)}.light{color:var(--light, #ffffff);fill:var(--light, #ffffff)}.stable{color:var(--stable, #adadad);fill:var(--stable, #adadad)}.stable-alt{color:var(--stable-alt, #d0d0d0);fill:var(--stable-alt, #d0d0d0)}.stable-light{color:var(--stable-light, #f1f1f1);fill:var(--stable-light, #f1f1f1)}.stable-ultralight{color:var(--stable-ultralight, #fafafa);fill:var(--stable-ultralight, #fafafa)}.success{color:var(--success, #3aa76d);fill:var(--success, #3aa76d)}.text-color{color:var(--text-color, #807f83);fill:var(--text-color, #807f83)}.warning{color:var(--warning, #ed6e33);fill:var(--warning, #ed6e33)}.wood{color:var(--wood, #99644c);fill:var(--wood, #99644c)}@-webkit-keyframes fade-out{from{opacity:1}to{opacity:0}}@keyframes fade-out{from{opacity:1}to{opacity:0}}.hidden{display:none !important}.flex{display:-ms-flexbox !important;display:flex !important}.block{display:block !important}:host{position:relative;display:block;height:100%}:host yoo-banner{height:0}:host #instructions{height:100%;-webkit-transition:opacity 1s ease-in-out;transition:opacity 1s ease-in-out}:host #instructions #header{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host #instructions #header #title{font-weight:bold}:host #instructions #categories{display:inline-grid;grid-template-columns:1fr 0.5fr 1fr;width:100%;margin:var(--spacing-24, 1.5rem) 0;text-align:center}:host #instructions #categories .category{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:100%;padding:0;color:var(--stable, #adadad)}:host #instructions #categories .category p{max-width:75%;margin:auto;padding:var(--spacing-16, 1rem) 0;font-weight:bold}:host #instructions #categories .category yoo-tag{margin:0 auto}:host #instructions yoo-button{position:absolute;right:0;bottom:0;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box}:host #instructions #document{background-color:var(--light, #ffffff)}:host #instructions #document .document-title{padding:0 var(--spacing-16, 1rem);font-size:var(--font-size-16, 1rem)}:host #instructions #document yoo-form-document{--outer-container-padding:cssvar(spacing-16) cssvar(spacing-16);width:calc(100% - var(--spacing-16, 1rem))}:host [direction].card{z-index:5;-webkit-transition:-webkit-transform 0.35s !important;transition:-webkit-transform 0.35s !important;transition:transform 0.35s !important;transition:transform 0.35s, -webkit-transform 0.35s !important;-webkit-transform:translate(0%, 9%) scale(1);transform:translate(0%, 9%) scale(1);opacity:1}:host [direction].card.current .content-category{color:var(--light, #ffffff);opacity:1 !important;-webkit-transition:opacity 0.35s linear;transition:opacity 0.35s linear}:host [direction].card.current.card+.card{-webkit-transform:translate(0%, 9%) scale(1);transform:translate(0%, 9%) scale(1);opacity:1}:host [direction].card.current.card+.card .content-image,:host [direction].card.current.card+.card .content-text{opacity:1 !important}:host [direction].card.current.card+.card+.card{-webkit-transform:translate(0%, 3.5%) scale(0.95);transform:translate(0%, 3.5%) scale(0.95);opacity:1}:host [direction].card.current.card+.card+.card+.card{-webkit-transform:translate(0%, -2%) scale(0.9);transform:translate(0%, -2%) scale(0.9);opacity:1}:host [direction=left]#game,:host [direction=left].current>.content-category{background-color:var(--app-color, #5a30f4) !important}:host [direction=left].current{-webkit-transform:translate(0%, 9%) scale(1) rotate(-3.5deg) !important;transform:translate(0%, 9%) scale(1) rotate(-3.5deg) !important}:host [direction=right]#game,:host [direction=right].current>.content-category{background-color:var(--warning, #ed6e33) !important}:host [direction=right].current{-webkit-transform:translate(0%, 9%) scale(1) rotate(3.5deg) !important;transform:translate(0%, 9%) scale(1) rotate(3.5deg) !important}:host #game{position:relative;width:100%;background-color:var(--dark, #000000);-webkit-transition:background-color 0.25s ease-in-out;transition:background-color 0.25s ease-in-out}:host #game #end-message{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:calc(100% - 4rem);max-width:25rem;color:var(--light, #ffffff);font-size:var(--font-size-18, 1.125rem);text-align:center;visibility:hidden;opacity:0;-webkit-transition:opacity 0.5s ease-in-out;transition:opacity 0.5s ease-in-out}:host #game #end-message.rtl{top:50%;right:50%;-webkit-transform:translate(50%, -50%);transform:translate(50%, -50%)}:host #game #end-message yoo-lottie{width:30%;margin:0 auto}:host #game #end-message div{padding:var(--spacing-16, 1rem) 0;font-weight:bold;font-size:var(--font-size-24, 1.5rem)}:host #game #end-message.active{visibility:visible;opacity:1}:host #game:after{display:block;height:0;padding-top:85%;content:\"\"}:host #cards{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:100%;width:65%;max-width:16rem;height:100%;margin-top:var(--spacing-16, 1rem)}:host #cards.rtl{top:50%;right:50%;-webkit-transform:translate(50%, -50%);transform:translate(50%, -50%)}:host #cards .card{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;max-width:16rem;height:100%;max-height:21.3333333333rem;margin:0 auto;overflow:hidden;color:var(--dark, #000000);font-size:var(--font-size-28, 1.75rem);text-align:center;background-color:var(--stable-light, #f1f1f1);border-radius:var(--border-radius-08, 0.5rem);-webkit-box-shadow:var(--shadow-05, -0.375rem -0.375rem 0.5rem 0 rgba(0, 0, 0, 0.1));box-shadow:var(--shadow-05, -0.375rem -0.375rem 0.5rem 0 rgba(0, 0, 0, 0.1));-webkit-transition:opacity 0.25s, background-color 0.25s, -webkit-transform 0.25s;transition:opacity 0.25s, background-color 0.25s, -webkit-transform 0.25s;transition:transform 0.25s, opacity 0.25s, background-color 0.25s;transition:transform 0.25s, opacity 0.25s, background-color 0.25s, -webkit-transform 0.25s;will-change:transform, opacity}:host #cards .card:not([direction]){-webkit-transform:translate(0, -5%) scale(0.85);transform:translate(0, -5%) scale(0.85);opacity:0}:host #cards .card.current{z-index:3}:host #cards .card.current:not(.revealing){-webkit-transform:translate(0%, 9%) scale(1);transform:translate(0%, 9%) scale(1);opacity:1;-webkit-transition-delay:200ms;transition-delay:200ms}:host #cards .card.current.revealing{-webkit-animation:\"current\" 0.25s ease-in-out;animation:\"current\" 0.25s ease-in-out;-webkit-animation-delay:150ms;animation-delay:150ms;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes current{to{-webkit-transform:translate(0%, 9%) scale(1);transform:translate(0%, 9%) scale(1);opacity:1}}@keyframes current{to{-webkit-transform:translate(0%, 9%) scale(1);transform:translate(0%, 9%) scale(1);opacity:1}}:host #cards .card.second{z-index:2}:host #cards .card.second:not(.revealing){-webkit-transform:translate(0%, 3.5%) scale(0.95);transform:translate(0%, 3.5%) scale(0.95);opacity:1;-webkit-transition-delay:400ms;transition-delay:400ms}:host #cards .card.second.revealing{-webkit-animation:\"second\" 0.25s ease-in-out;animation:\"second\" 0.25s ease-in-out;-webkit-animation-delay:300ms;animation-delay:300ms;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes second{to{-webkit-transform:translate(0%, 3.5%) scale(0.95);transform:translate(0%, 3.5%) scale(0.95);opacity:1}}@keyframes second{to{-webkit-transform:translate(0%, 3.5%) scale(0.95);transform:translate(0%, 3.5%) scale(0.95);opacity:1}}:host #cards .card.third{z-index:1}:host #cards .card.third:not(.revealing){-webkit-transform:translate(0%, -2%) scale(0.9);transform:translate(0%, -2%) scale(0.9);opacity:1;-webkit-transition-delay:600ms;transition-delay:600ms}:host #cards .card.third.revealing{-webkit-animation:\"third\" 0.25s ease-in-out;animation:\"third\" 0.25s ease-in-out;-webkit-animation-delay:450ms;animation-delay:450ms;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes third{to{-webkit-transform:translate(0%, -2%) scale(0.9);transform:translate(0%, -2%) scale(0.9);opacity:1}}@keyframes third{to{-webkit-transform:translate(0%, -2%) scale(0.9);transform:translate(0%, -2%) scale(0.9);opacity:1}}:host #cards .card.current .content-image,:host #cards .card.current .content-text,:host #cards .card[direction] .content-image,:host #cards .card[direction] .content-text{opacity:1 !important}:host #cards .card[swiped]{-webkit-animation:fade-out 1s ease-out;animation:fade-out 1s ease-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}:host #cards .card[swiped=left]{-webkit-transform:translate(-100%, 15%) rotate(-15deg);transform:translate(-100%, 15%) rotate(-15deg)}:host #cards .card[swiped=right]{-webkit-transform:translate(100%, 15%) rotate(15deg);transform:translate(100%, 15%) rotate(15deg)}:host #cards .card [class^=content]{position:absolute;width:100%;height:100%;word-break:break-word;opacity:0}:host #cards .card .content-category,:host #cards .card .content-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:var(--spacing-16, 1rem)}:host #cards .card .content-image{-webkit-transition:opacity 0.25s linear;transition:opacity 0.25s linear}:host #cards .card[type=image] yoo-img{height:100%}:host #cards .card[type=textimage] .content-image{top:0;bottom:3.5rem}:host #cards .card[type=textimage] .content-image yoo-img{height:calc(100% - 3.5rem)}:host #cards .card[type=textimage] .content-text,:host #cards .card[type=textimage] .content-category{bottom:0;height:3.5rem}:host #actions{position:absolute;left:50%;z-index:1;display:inline-grid;grid-template-columns:1fr 1fr 1fr;width:100%;max-width:85%;line-height:2.5;-webkit-transform:translate(-50%, 80%);transform:translate(-50%, 80%)}:host #actions .action{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:start;justify-content:flex-start;text-align:center}:host([readonly]){display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}:host([readonly]) .category-title{margin-bottom:var(--spacing-08, 0.5rem)}:host([readonly]) ul{display:grid;grid-gap:var(--spacing-16, 1rem);grid-template-columns:repeat(auto-fill, 6rem);margin:0;padding-left:0;list-style:none}:host([readonly]) ul+.category-title{margin-top:var(--spacing-16, 1rem)}:host([readonly]) ul li{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;height:8rem;overflow:hidden;border-style:solid;border-width:var(--border-width-01, 0.0625rem);border-radius:var(--border-radius-08, 0.5rem)}:host([readonly]) ul li.invalid{border-color:var(--danger, #d44333)}:host([readonly]) ul li.invalid yoo-img::before{position:absolute;width:100%;height:100%;background:var(--danger-20, rgba(212, 67, 51, 0.2));content:\"\"}:host([readonly]) ul li.invalid yoo-truncate{background:var(--danger, #d44333)}:host([readonly]) ul li.valid{border-color:var(--success, #3aa76d)}:host([readonly]) ul li.valid yoo-img::before{position:absolute;width:100%;height:100%;background:var(--success-20, rgba(58, 167, 109, 0.2));content:\"\"}:host([readonly]) ul li.valid yoo-truncate{background:var(--success, #3aa76d)}:host([readonly]) ul li yoo-img{position:relative;-ms-flex-positive:1;flex-grow:1}:host([readonly]) ul li yoo-truncate{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:var(--light, #ffffff);font-size:var(--font-size-14, 0.875rem)}:host([readonly]) ul li yoo-truncate:only-child{--max-lines:4;height:100%;padding:0 var(--spacing-08, 0.5rem)}:host([readonly]) ul li yoo-truncate:not(:only-child){--max-lines:1;height:2.125rem;padding:0 var(--spacing-04, 0.25rem)}:host([animated]) #game{-webkit-animation:show 0.5s ease-in-out forwards;animation:show 0.5s ease-in-out forwards}@-webkit-keyframes show{from{-webkit-transform:scale(0.85);transform:scale(0.85);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes show{from{-webkit-transform:scale(0.85);transform:scale(0.85);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}:host([animated]) .action.hide>*{-webkit-animation:fadeOut 0.75s ease-in-out forwards;animation:fadeOut 0.75s ease-in-out forwards}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}:host([animated]) .action:not(.hide)>*{-webkit-animation:fadeIn 0.75s ease-in-out forwards;animation:fadeIn 0.75s ease-in-out forwards}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}:host([animated]) .action yoo-button{-webkit-transition:-webkit-transform 0.8s linear;transition:-webkit-transform 0.8s linear;transition:transform 0.8s linear;transition:transform 0.8s linear, -webkit-transform 0.8s linear}:host([live-preview]),:host(.mobile){min-height:60vh}:host([live-preview]) #instructions #header,:host(.mobile) #instructions #header{padding:var(--spacing-16, 1rem);background:var(--dark, #000000);border-radius:var(--border-radius-04, 0.25rem)}:host([live-preview]) #instructions #header #title,:host(.mobile) #instructions #header #title{color:var(--light, #ffffff);font-weight:bold;font-size:var(--font-size-28, 1.75rem)}:host([live-preview]) #instructions yoo-button,:host(.mobile) #instructions yoo-button{position:absolute;bottom:0;width:-webkit-fill-available;width:-moz-available;width:stretch}:host(.web:not([live-preview])) #instructions{position:relative}:host(.web:not([live-preview])) #instructions yoo-icon[name=swipe-explanation]{width:5rem;height:5rem;margin:auto;--inner-width:5rem;--inner-height:5rem}:host(.web:not([live-preview])) #instructions yoo-button{position:fixed;right:var(--spacing-32, 2rem);bottom:var(--spacing-16, 1rem);z-index:1;-webkit-transform:translateY(-50%);transform:translateY(-50%)}:host(.web:not([live-preview])) #game{height:60%;max-height:21rem}:host(.web:not([live-preview])) #game #cards{top:5%;margin-top:unset;-webkit-transform:translate(-50%, 0);transform:translate(-50%, 0)}:host(.web:not([live-preview])) #actions{-ms-flex-align:start;align-items:start;max-width:unset;margin-top:2.5%;-webkit-transform:translate(-50%, 0);transform:translate(-50%, 0)}:host(.web:not([live-preview])) #actions .action:nth-child(2){-ms-flex-item-align:end;align-self:end}:host(.web:not([live-preview])) #header{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding:var(--spacing-08, 0.5rem) var(--spacing-16, 1rem);line-height:1.75;text-align:center;background-color:var(--stable-ultralight, #fafafa)}:host(.web:not([live-preview])) #header #title{color:var(--dark, #000000) !important;font-weight:bold;font-size:var(--font-size-28, 1.75rem)}";
|
|
16
16
|
|
|
17
17
|
const YooFormSwipeCardsComponent = class {
|
|
18
18
|
constructor(hostRef) {
|
|
@@ -20372,7 +20372,7 @@ NoWorkResult.default = NoWorkResult;
|
|
|
20372
20372
|
|
|
20373
20373
|
class Processor {
|
|
20374
20374
|
constructor(plugins = []) {
|
|
20375
|
-
this.version = '8.4.
|
|
20375
|
+
this.version = '8.4.14';
|
|
20376
20376
|
this.plugins = this.normalize(plugins);
|
|
20377
20377
|
}
|
|
20378
20378
|
|
|
@@ -20515,25 +20515,27 @@ function postcss(...plugins) {
|
|
|
20515
20515
|
}
|
|
20516
20516
|
|
|
20517
20517
|
postcss.plugin = function plugin(name, initializer) {
|
|
20518
|
-
|
|
20519
|
-
|
|
20518
|
+
let warningPrinted = false;
|
|
20519
|
+
function creator(...args) {
|
|
20520
20520
|
// eslint-disable-next-line no-console
|
|
20521
|
-
console.warn
|
|
20522
|
-
|
|
20523
|
-
': postcss.plugin was deprecated. Migration guide:\n' +
|
|
20524
|
-
'https://evilmartians.com/chronicles/postcss-8-plugin-migration'
|
|
20525
|
-
);
|
|
20526
|
-
if (overlays.process_1.env.LANG && overlays.process_1.env.LANG.startsWith('cn')) {
|
|
20527
|
-
/* c8 ignore next 7 */
|
|
20521
|
+
if (console && console.warn && !warningPrinted) {
|
|
20522
|
+
warningPrinted = true;
|
|
20528
20523
|
// eslint-disable-next-line no-console
|
|
20529
20524
|
console.warn(
|
|
20530
20525
|
name +
|
|
20531
|
-
':
|
|
20532
|
-
'https://
|
|
20526
|
+
': postcss.plugin was deprecated. Migration guide:\n' +
|
|
20527
|
+
'https://evilmartians.com/chronicles/postcss-8-plugin-migration'
|
|
20533
20528
|
);
|
|
20529
|
+
if (overlays.process_1.env.LANG && overlays.process_1.env.LANG.startsWith('cn')) {
|
|
20530
|
+
/* c8 ignore next 7 */
|
|
20531
|
+
// eslint-disable-next-line no-console
|
|
20532
|
+
console.warn(
|
|
20533
|
+
name +
|
|
20534
|
+
': 里面 postcss.plugin 被弃用. 迁移指南:\n' +
|
|
20535
|
+
'https://www.w3ctech.com/topic/2226'
|
|
20536
|
+
);
|
|
20537
|
+
}
|
|
20534
20538
|
}
|
|
20535
|
-
}
|
|
20536
|
-
function creator(...args) {
|
|
20537
20539
|
let transformer = initializer(...args);
|
|
20538
20540
|
transformer.postcssPlugin = name;
|
|
20539
20541
|
transformer.postcssVersion = new processor().version;
|
|
@@ -20875,7 +20877,6 @@ function sanitizeHtml(html, options, _recursing) {
|
|
|
20875
20877
|
delete frame.attribs[a];
|
|
20876
20878
|
return;
|
|
20877
20879
|
}
|
|
20878
|
-
let parsed;
|
|
20879
20880
|
// check allowedAttributesMap for the element and attribute and modify the value
|
|
20880
20881
|
// as necessary if there are specific values defined.
|
|
20881
20882
|
let passedAllowedAttributesMapCheck = false;
|
|
@@ -20923,14 +20924,14 @@ function sanitizeHtml(html, options, _recursing) {
|
|
|
20923
20924
|
let allowed = true;
|
|
20924
20925
|
|
|
20925
20926
|
try {
|
|
20926
|
-
const parsed =
|
|
20927
|
+
const parsed = parseUrl(value);
|
|
20927
20928
|
|
|
20928
20929
|
if (options.allowedScriptHostnames || options.allowedScriptDomains) {
|
|
20929
20930
|
const allowedHostname = (options.allowedScriptHostnames || []).find(function (hostname) {
|
|
20930
|
-
return hostname === parsed.hostname;
|
|
20931
|
+
return hostname === parsed.url.hostname;
|
|
20931
20932
|
});
|
|
20932
20933
|
const allowedDomain = (options.allowedScriptDomains || []).find(function(domain) {
|
|
20933
|
-
return parsed.hostname === domain || parsed.hostname.endsWith(`.${domain}`);
|
|
20934
|
+
return parsed.url.hostname === domain || parsed.url.hostname.endsWith(`.${domain}`);
|
|
20934
20935
|
});
|
|
20935
20936
|
allowed = allowedHostname || allowedDomain;
|
|
20936
20937
|
}
|
|
@@ -20947,29 +20948,9 @@ function sanitizeHtml(html, options, _recursing) {
|
|
|
20947
20948
|
if (name === 'iframe' && a === 'src') {
|
|
20948
20949
|
let allowed = true;
|
|
20949
20950
|
try {
|
|
20950
|
-
|
|
20951
|
-
|
|
20952
|
-
|
|
20953
|
-
value = value.replace(/^(\w+:)?\s*[\\/]\s*[\\/]/, '$1//');
|
|
20954
|
-
if (value.startsWith('relative:')) {
|
|
20955
|
-
// An attempt to exploit our workaround for base URLs being
|
|
20956
|
-
// mandatory for relative URL validation in the WHATWG
|
|
20957
|
-
// URL parser, reject it
|
|
20958
|
-
throw new Error('relative: exploit attempt');
|
|
20959
|
-
}
|
|
20960
|
-
// naughtyHref is in charge of whether protocol relative URLs
|
|
20961
|
-
// are cool. Here we are concerned just with allowed hostnames and
|
|
20962
|
-
// whether to allow relative URLs.
|
|
20963
|
-
//
|
|
20964
|
-
// Build a placeholder "base URL" against which any reasonable
|
|
20965
|
-
// relative URL may be parsed successfully
|
|
20966
|
-
let base = 'relative://relative-site';
|
|
20967
|
-
for (let i = 0; (i < 100); i++) {
|
|
20968
|
-
base += `/${i}`;
|
|
20969
|
-
}
|
|
20970
|
-
const parsed = new URL(value, base);
|
|
20971
|
-
const isRelativeUrl = parsed && parsed.hostname === 'relative-site' && parsed.protocol === 'relative:';
|
|
20972
|
-
if (isRelativeUrl) {
|
|
20951
|
+
const parsed = parseUrl(value);
|
|
20952
|
+
|
|
20953
|
+
if (parsed.isRelativeUrl) {
|
|
20973
20954
|
// default value of allowIframeRelativeUrls is true
|
|
20974
20955
|
// unless allowedIframeHostnames or allowedIframeDomains specified
|
|
20975
20956
|
allowed = has(options, 'allowIframeRelativeUrls')
|
|
@@ -20977,10 +20958,10 @@ function sanitizeHtml(html, options, _recursing) {
|
|
|
20977
20958
|
: (!options.allowedIframeHostnames && !options.allowedIframeDomains);
|
|
20978
20959
|
} else if (options.allowedIframeHostnames || options.allowedIframeDomains) {
|
|
20979
20960
|
const allowedHostname = (options.allowedIframeHostnames || []).find(function (hostname) {
|
|
20980
|
-
return hostname === parsed.hostname;
|
|
20961
|
+
return hostname === parsed.url.hostname;
|
|
20981
20962
|
});
|
|
20982
20963
|
const allowedDomain = (options.allowedIframeDomains || []).find(function(domain) {
|
|
20983
|
-
return parsed.hostname === domain || parsed.hostname.endsWith(`.${domain}`);
|
|
20964
|
+
return parsed.url.hostname === domain || parsed.url.hostname.endsWith(`.${domain}`);
|
|
20984
20965
|
});
|
|
20985
20966
|
allowed = allowedHostname || allowedDomain;
|
|
20986
20967
|
}
|
|
@@ -20995,7 +20976,7 @@ function sanitizeHtml(html, options, _recursing) {
|
|
|
20995
20976
|
}
|
|
20996
20977
|
if (a === 'srcset') {
|
|
20997
20978
|
try {
|
|
20998
|
-
parsed = parseSrcset(value);
|
|
20979
|
+
let parsed = parseSrcset(value);
|
|
20999
20980
|
parsed.forEach(function(value) {
|
|
21000
20981
|
if (naughtyHref('srcset', value.url)) {
|
|
21001
20982
|
value.evil = true;
|
|
@@ -21221,7 +21202,17 @@ function sanitizeHtml(html, options, _recursing) {
|
|
|
21221
21202
|
// Clobber any comments in URLs, which the browser might
|
|
21222
21203
|
// interpret inside an XML data island, allowing
|
|
21223
21204
|
// a javascript: URL to be snuck through
|
|
21224
|
-
|
|
21205
|
+
while (true) {
|
|
21206
|
+
const firstIndex = href.indexOf('<!--');
|
|
21207
|
+
if (firstIndex === -1) {
|
|
21208
|
+
break;
|
|
21209
|
+
}
|
|
21210
|
+
const lastIndex = href.indexOf('-->', firstIndex + 4);
|
|
21211
|
+
if (lastIndex === -1) {
|
|
21212
|
+
break;
|
|
21213
|
+
}
|
|
21214
|
+
href = href.substring(0, firstIndex) + href.substring(lastIndex + 3);
|
|
21215
|
+
}
|
|
21225
21216
|
// Case insensitive so we don't get faked out by JAVASCRIPT #1
|
|
21226
21217
|
// Allow more characters after the first so we don't get faked
|
|
21227
21218
|
// out by certain schemes browsers accept
|
|
@@ -21244,6 +21235,33 @@ function sanitizeHtml(html, options, _recursing) {
|
|
|
21244
21235
|
return !options.allowedSchemes || options.allowedSchemes.indexOf(scheme) === -1;
|
|
21245
21236
|
}
|
|
21246
21237
|
|
|
21238
|
+
function parseUrl(value) {
|
|
21239
|
+
value = value.replace(/^(\w+:)?\s*[\\/]\s*[\\/]/, '$1//');
|
|
21240
|
+
if (value.startsWith('relative:')) {
|
|
21241
|
+
// An attempt to exploit our workaround for base URLs being
|
|
21242
|
+
// mandatory for relative URL validation in the WHATWG
|
|
21243
|
+
// URL parser, reject it
|
|
21244
|
+
throw new Error('relative: exploit attempt');
|
|
21245
|
+
}
|
|
21246
|
+
// naughtyHref is in charge of whether protocol relative URLs
|
|
21247
|
+
// are cool. Here we are concerned just with allowed hostnames and
|
|
21248
|
+
// whether to allow relative URLs.
|
|
21249
|
+
//
|
|
21250
|
+
// Build a placeholder "base URL" against which any reasonable
|
|
21251
|
+
// relative URL may be parsed successfully
|
|
21252
|
+
let base = 'relative://relative-site';
|
|
21253
|
+
for (let i = 0; (i < 100); i++) {
|
|
21254
|
+
base += `/${i}`;
|
|
21255
|
+
}
|
|
21256
|
+
|
|
21257
|
+
const parsed = new URL(value, base);
|
|
21258
|
+
|
|
21259
|
+
const isRelativeUrl = parsed && parsed.hostname === 'relative-site' && parsed.protocol === 'relative:';
|
|
21260
|
+
return {
|
|
21261
|
+
isRelativeUrl,
|
|
21262
|
+
url: parsed
|
|
21263
|
+
};
|
|
21264
|
+
}
|
|
21247
21265
|
/**
|
|
21248
21266
|
* Filters user input css properties by allowlisted regex attributes.
|
|
21249
21267
|
* Modifies the abstractSyntaxTree object.
|