@yoobic/yobi 8.3.0-17 → 8.3.0-18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/cjs/design-system.cjs.js +1 -1
  2. package/dist/cjs/{form-choice-helpers-1003243c.js → form-choice-helpers-5a83f5c9.js} +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/{swiper-fedb543f.js → swiper-bbba57e0.js} +1 -1
  5. package/dist/cjs/yoo-form-choice-button.cjs.entry.js +2 -2
  6. package/dist/cjs/yoo-form-choice-card.cjs.entry.js +1 -1
  7. package/dist/cjs/yoo-form-choice-chat.cjs.entry.js +2 -2
  8. package/dist/cjs/yoo-form-choice-image.cjs.entry.js +2 -2
  9. package/dist/cjs/yoo-form-choice-radio.cjs.entry.js +2 -2
  10. package/dist/cjs/yoo-form-creator-block-expandable.cjs.entry.js +3 -3
  11. package/dist/cjs/yoo-form-creator.cjs.entry.js +8 -3
  12. package/dist/cjs/yoo-form-dynamic.cjs.entry.js +2 -0
  13. package/dist/cjs/yoo-form-swipe-cards.cjs.entry.js +60 -63
  14. package/dist/cjs/{yoo-ion-slides-ddaabe00.js → yoo-ion-slides-272e7ebb.js} +8 -2
  15. package/dist/cjs/yoo-ion-slides.cjs.entry.js +1 -1
  16. package/dist/cjs/yoo-lesson-question-result.cjs.entry.js +4 -3
  17. package/dist/cjs/yoo-lottie.cjs.entry.js +32 -6
  18. package/dist/cjs/yoo-points-recap.cjs.entry.js +5 -4
  19. package/dist/collection/components/2.molecules/points-recap/points-recap.js +23 -4
  20. package/dist/collection/components/2.molecules/slides/slides.js +7 -1
  21. package/dist/collection/components/form/form-choice/button/form-choice-button.css +0 -1
  22. package/dist/collection/components/form/form-choice/card/form-choice-card.css +0 -1
  23. package/dist/collection/components/form/form-choice/chat/form-choice-chat.css +0 -1
  24. package/dist/collection/components/form/form-choice/image/form-choice-image.css +0 -1
  25. package/dist/collection/components/form/form-choice/radio/form-choice-radio.css +0 -1
  26. package/dist/collection/components/form/form-dynamic/form-dynamic.js +2 -0
  27. package/dist/collection/components/form/form-swipe-cards/form-swipe-cards.css +80 -58
  28. package/dist/collection/components/form/form-swipe-cards/form-swipe-cards.js +63 -66
  29. package/dist/collection/components/form-creator/form-creator/form-creator.js +8 -3
  30. package/dist/collection/components/form-creator/form-creator-block-expandable/form-creator-block-expandable.js +3 -3
  31. package/dist/collection/feature-learn/learning/lesson-question-result/lesson-question-result.js +4 -3
  32. package/dist/design-system/design-system.esm.js +1 -1
  33. package/dist/{esm/form-choice-helpers-ac31afd4.js → design-system/form-choice-helpers-82020d4b.js} +1 -1
  34. package/dist/design-system/{swiper-28bd92bd.js → swiper-80225cb6.js} +2 -2
  35. package/dist/design-system/yoo-form-choice-button.entry.js +2 -2
  36. package/dist/design-system/yoo-form-choice-card.entry.js +1 -1
  37. package/dist/design-system/yoo-form-choice-chat.entry.js +2 -2
  38. package/dist/design-system/yoo-form-choice-image.entry.js +2 -2
  39. package/dist/design-system/yoo-form-choice-radio.entry.js +2 -2
  40. package/dist/design-system/yoo-form-creator-block-expandable.entry.js +3 -3
  41. package/dist/design-system/yoo-form-creator.entry.js +8 -3
  42. package/dist/design-system/yoo-form-dynamic.entry.js +2 -0
  43. package/dist/design-system/yoo-form-swipe-cards.entry.js +62 -65
  44. package/dist/design-system/{yoo-ion-slides-ddda50eb.js → yoo-ion-slides-f06207d9.js} +8 -2
  45. package/dist/design-system/yoo-ion-slides.entry.js +1 -1
  46. package/dist/design-system/yoo-lesson-question-result.entry.js +4 -3
  47. package/dist/design-system/yoo-lottie.entry.js +32 -6
  48. package/dist/design-system/yoo-points-recap.entry.js +5 -4
  49. package/dist/esm/design-system.js +1 -1
  50. package/dist/{design-system/form-choice-helpers-ac31afd4.js → esm/form-choice-helpers-82020d4b.js} +1 -1
  51. package/dist/esm/loader.js +1 -1
  52. package/dist/esm/{swiper-28bd92bd.js → swiper-80225cb6.js} +2 -2
  53. package/dist/esm/yoo-form-choice-button.entry.js +2 -2
  54. package/dist/esm/yoo-form-choice-card.entry.js +1 -1
  55. package/dist/esm/yoo-form-choice-chat.entry.js +2 -2
  56. package/dist/esm/yoo-form-choice-image.entry.js +2 -2
  57. package/dist/esm/yoo-form-choice-radio.entry.js +2 -2
  58. package/dist/esm/yoo-form-creator-block-expandable.entry.js +3 -3
  59. package/dist/esm/yoo-form-creator.entry.js +8 -3
  60. package/dist/esm/yoo-form-dynamic.entry.js +2 -0
  61. package/dist/esm/yoo-form-swipe-cards.entry.js +62 -65
  62. package/dist/esm/{yoo-ion-slides-ddda50eb.js → yoo-ion-slides-f06207d9.js} +8 -2
  63. package/dist/esm/yoo-ion-slides.entry.js +1 -1
  64. package/dist/esm/yoo-lesson-question-result.entry.js +4 -3
  65. package/dist/esm/yoo-lottie.entry.js +32 -6
  66. package/dist/esm/yoo-points-recap.entry.js +5 -4
  67. package/dist/types/components/2.molecules/points-recap/points-recap.d.ts +2 -1
  68. package/dist/types/components/form/form-swipe-cards/form-swipe-cards.d.ts +12 -17
  69. package/dist/types/components.d.ts +2 -0
  70. 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 +11 -3
  71. package/dist/types/home/runner/work/yoobic-ng-6/yoobic-ng-6/design-system/stencil/.stencil/shared/interfaces/src/ui/points-recap/points-recap.interface.d.ts +1 -0
  72. package/package.json +1 -1
@@ -11378,8 +11378,14 @@ const YooIonSlidesComponent = class {
11378
11378
  * Transition to the specified slide.
11379
11379
  */
11380
11380
  async slideTo(index, speed, runCallbacks) {
11381
+ var _a;
11381
11382
  const swiper = await this.getSwiper();
11382
- swiper.slideTo(index, speed, runCallbacks);
11383
+ if (index >= ((_a = swiper.slides) === null || _a === void 0 ? void 0 : _a.length)) {
11384
+ swiper.once('slidesLengthChange', () => swiper.slideTo(index, speed, runCallbacks));
11385
+ }
11386
+ else {
11387
+ swiper.slideTo(index, speed, runCallbacks);
11388
+ }
11383
11389
  }
11384
11390
  /**
11385
11391
  * Transition to the next slide.
@@ -11575,7 +11581,7 @@ const YooIonSlidesComponent = class {
11575
11581
  async initSwiper() {
11576
11582
  const finalOptions = this.normalizeOptions();
11577
11583
  // init swiper core
11578
- const { Swiper } = await Promise.resolve().then(function () { return require('./swiper-fedb543f.js'); });
11584
+ const { Swiper } = await Promise.resolve().then(function () { return require('./swiper-bbba57e0.js'); });
11579
11585
  await waitForSlides(this.el);
11580
11586
  const swiper = new Swiper(this.el, finalOptions);
11581
11587
  this.swiperReady = true;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const yooIonSlides_entry = require('./yoo-ion-slides-ddaabe00.js');
5
+ const yooIonSlides_entry = require('./yoo-ion-slides-272e7ebb.js');
6
6
  require('./index-6482c595.js');
7
7
  require('./index-cdada3c1.js');
8
8
  require('./overlays-e40de213.js');
@@ -220,7 +220,7 @@ const YooLessonQuestionResultComponent = class {
220
220
  }
221
221
  else if (!overlays.isContentOnly(this.lessonType)) {
222
222
  items = (_b = this.fields) === null || _b === void 0 ? void 0 : _b.map((field, i) => {
223
- var _a, _b, _c, _d, _e, _f;
223
+ var _a, _b, _c, _d, _e, _f, _g;
224
224
  return ({
225
225
  name: `${overlays.translate('QUESTION')} ${i + 1}`,
226
226
  description: overlays.translateMulti(field.sentence || field.description || field.title),
@@ -232,11 +232,12 @@ const YooLessonQuestionResultComponent = class {
232
232
  ? ((_d = this.lessonData[field.name]) === null || _d === void 0 ? void 0 : _d.earnedConfidencePoints) + ((_e = this.lessonData[field.name]) === null || _e === void 0 ? void 0 : _e.earnedQuestionPoints)
233
233
  : ((_f = this.lessonData[field.name]) === null || _f === void 0 ? void 0 : _f.fieldValidity)
234
234
  ? Math.round(this.points)
235
- : 0
235
+ : 0,
236
+ isCorrect: (_g = this.lessonData[field.name]) === null || _g === void 0 ? void 0 : _g.fieldValidity
236
237
  });
237
238
  });
238
239
  }
239
- return index.h("yoo-points-recap", { heading: overlays.translate('TOTALPOINTSEARNED'), totalPoints: Math.round(this.earnedPoints), items: items, showItemIcon: showItemIcon });
240
+ return index.h("yoo-points-recap", { heading: overlays.translate('TOTALPOINTSEARNED'), totalPoints: Math.round(this.earnedPoints), items: items, showItemIcon: showItemIcon, forceTotalPoints: true });
240
241
  }
241
242
  renderProgressBarLessonRecap() {
242
243
  var _a;
@@ -5230,7 +5230,7 @@ var lottie = _commonjsHelpers.createCommonjsModule(function (module, exports) {
5230
5230
  lottie.useWebWorker = setWebWorker;
5231
5231
  lottie.setIDPrefix = setPrefix;
5232
5232
  lottie.__getFactory = getFactory;
5233
- lottie.version = '5.9.4';
5233
+ lottie.version = '5.9.5';
5234
5234
 
5235
5235
  function checkReady() {
5236
5236
  if (document.readyState === 'complete') {
@@ -15241,10 +15241,35 @@ var lottie = _commonjsHelpers.createCommonjsModule(function (module, exports) {
15241
15241
  this.calculateShapeBoundingBox(itemsData[i], boundingBox);
15242
15242
  } else if (itemsData[i] && itemsData[i].it) {
15243
15243
  this.calculateBoundingBox(itemsData[i].it, boundingBox);
15244
+ } else if (itemsData[i] && itemsData[i].style && itemsData[i].w) {
15245
+ this.expandStrokeBoundingBox(itemsData[i].w, boundingBox);
15244
15246
  }
15245
15247
  }
15246
15248
  };
15247
15249
 
15250
+ HShapeElement.prototype.expandStrokeBoundingBox = function (widthProperty, boundingBox) {
15251
+ var width = 0;
15252
+
15253
+ if (widthProperty.keyframes) {
15254
+ for (var i = 0; i < widthProperty.keyframes.length; i += 1) {
15255
+ var kfw = widthProperty.keyframes[i].s;
15256
+
15257
+ if (kfw > width) {
15258
+ width = kfw;
15259
+ }
15260
+ }
15261
+
15262
+ width *= widthProperty.mult;
15263
+ } else {
15264
+ width = widthProperty.v * widthProperty.mult;
15265
+ }
15266
+
15267
+ boundingBox.x -= width;
15268
+ boundingBox.xMax += width;
15269
+ boundingBox.y -= width;
15270
+ boundingBox.yMax += width;
15271
+ };
15272
+
15248
15273
  HShapeElement.prototype.currentBoxContains = function (box) {
15249
15274
  return this.currentBBox.x <= box.x && this.currentBBox.y <= box.y && this.currentBBox.width + this.currentBBox.x >= box.x + box.width && this.currentBBox.height + this.currentBBox.y >= box.y + box.height;
15250
15275
  };
@@ -18421,11 +18446,12 @@ var lottie = _commonjsHelpers.createCommonjsModule(function (module, exports) {
18421
18446
  };
18422
18447
 
18423
18448
  function SVGDropShadowEffect(filter, filterManager, elem, id, source) {
18424
- var filterSize = filterManager.container.globalData.renderConfig.filterSize;
18425
- filter.setAttribute('x', filterSize.x);
18426
- filter.setAttribute('y', filterSize.y);
18427
- filter.setAttribute('width', filterSize.width);
18428
- filter.setAttribute('height', filterSize.height);
18449
+ var globalFilterSize = filterManager.container.globalData.renderConfig.filterSize;
18450
+ var filterSize = filterManager.data.fs || globalFilterSize;
18451
+ filter.setAttribute('x', filterSize.x || globalFilterSize.x);
18452
+ filter.setAttribute('y', filterSize.y || globalFilterSize.y);
18453
+ filter.setAttribute('width', filterSize.width || globalFilterSize.width);
18454
+ filter.setAttribute('height', filterSize.height || globalFilterSize.height);
18429
18455
  this.filterManager = filterManager;
18430
18456
  var feGaussianBlur = createNS('feGaussianBlur');
18431
18457
  feGaussianBlur.setAttribute('in', 'SourceAlpha');
@@ -10,6 +10,7 @@ const YooPointsRecap = class {
10
10
  constructor(hostRef) {
11
11
  index.registerInstance(this, hostRef);
12
12
  this.showItemIcon = true;
13
+ this.forceTotalPoints = false;
13
14
  }
14
15
  onItemsUpdated() {
15
16
  this.updatePoints();
@@ -35,8 +36,8 @@ const YooPointsRecap = class {
35
36
  return 'success';
36
37
  }
37
38
  }
38
- getItemIconAttr(points) {
39
- if (points <= 0) {
39
+ getItemIconAttr(isCorrect) {
40
+ if (!isCorrect) {
40
41
  return { name: 'close', color: 'danger' };
41
42
  }
42
43
  else {
@@ -46,7 +47,7 @@ const YooPointsRecap = class {
46
47
  renderTitle(title) {
47
48
  var _a, _b;
48
49
  const titleClass = `item ${((_a = this.items) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.heading ? 'heading' : this.footer && 'footer' : 'content'}`;
49
- const points = (this.footer || !((_b = this.items) === null || _b === void 0 ? void 0 : _b.length)) ? this.totalPoints : this.totalItemsPoints;
50
+ const points = (this.footer || !((_b = this.items) === null || _b === void 0 ? void 0 : _b.length) || this.forceTotalPoints) ? this.totalPoints : this.totalItemsPoints;
50
51
  const tagColor = this.getTagColor(points);
51
52
  return (index.h("div", { class: "row" }, this.footer && this.renderSeparator(), index.h("div", { class: titleClass }, index.h("div", null, index.h("b", null, title)), index.h("div", null, index.h("yoo-tag", { size: "medium", color: `${tagColor}-10` }, index.h("yoo-icon", { slot: "start", name: "star", size: "small", color: tagColor }), index.h("div", null, points)))), this.heading && this.renderSeparator()));
52
53
  }
@@ -57,7 +58,7 @@ const YooPointsRecap = class {
57
58
  renderItem(item, index$1) {
58
59
  var _a;
59
60
  const tagColor = this.getTagColor(item.points);
60
- const itemIcon = this.getItemIconAttr(item.points);
61
+ const itemIcon = this.getItemIconAttr(item.isCorrect);
61
62
  return (index.h("div", { class: "row" }, index.h("div", { class: "item content" }, index.h("div", { class: "sub-item" }, this.showItemIcon && index.h("yoo-icon", { slot: "start", name: itemIcon.name, size: "medium", color: itemIcon.color }), item.subItem ? this.renderSubItem(item) :
62
63
  index.h("yoo-tooltip", { placement: "top", content: item.description }, index.h("div", { class: "name" }, item.name))), index.h("div", null, index.h("yoo-tag", { size: "medium", color: `${tagColor}-10` }, index.h("yoo-icon", { slot: "start", name: "star", size: "small", color: tagColor }), index.h("div", null, item.points)))), (((_a = this.items) === null || _a === void 0 ? void 0 : _a.length) - 1) !== index$1 && index.h("div", { class: "separator" })));
63
64
  }
@@ -2,6 +2,7 @@ import { Component, h, Host, Prop, State, Watch } from '@stencil/core';
2
2
  export class YooPointsRecap {
3
3
  constructor() {
4
4
  this.showItemIcon = true;
5
+ this.forceTotalPoints = false;
5
6
  }
6
7
  onItemsUpdated() {
7
8
  this.updatePoints();
@@ -27,8 +28,8 @@ export class YooPointsRecap {
27
28
  return 'success';
28
29
  }
29
30
  }
30
- getItemIconAttr(points) {
31
- if (points <= 0) {
31
+ getItemIconAttr(isCorrect) {
32
+ if (!isCorrect) {
32
33
  return { name: 'close', color: 'danger' };
33
34
  }
34
35
  else {
@@ -38,7 +39,7 @@ export class YooPointsRecap {
38
39
  renderTitle(title) {
39
40
  var _a, _b;
40
41
  const titleClass = `item ${((_a = this.items) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.heading ? 'heading' : this.footer && 'footer' : 'content'}`;
41
- const points = (this.footer || !((_b = this.items) === null || _b === void 0 ? void 0 : _b.length)) ? this.totalPoints : this.totalItemsPoints;
42
+ const points = (this.footer || !((_b = this.items) === null || _b === void 0 ? void 0 : _b.length) || this.forceTotalPoints) ? this.totalPoints : this.totalItemsPoints;
42
43
  const tagColor = this.getTagColor(points);
43
44
  return (h("div", { class: "row" },
44
45
  this.footer && this.renderSeparator(),
@@ -58,7 +59,7 @@ export class YooPointsRecap {
58
59
  renderItem(item, index) {
59
60
  var _a;
60
61
  const tagColor = this.getTagColor(item.points);
61
- const itemIcon = this.getItemIconAttr(item.points);
62
+ const itemIcon = this.getItemIconAttr(item.isCorrect);
62
63
  return (h("div", { class: "row" },
63
64
  h("div", { class: "item content" },
64
65
  h("div", { class: "sub-item" },
@@ -182,6 +183,24 @@ export class YooPointsRecap {
182
183
  "attribute": "show-item-icon",
183
184
  "reflect": false,
184
185
  "defaultValue": "true"
186
+ },
187
+ "forceTotalPoints": {
188
+ "type": "boolean",
189
+ "mutable": false,
190
+ "complexType": {
191
+ "original": "boolean",
192
+ "resolved": "boolean",
193
+ "references": {}
194
+ },
195
+ "required": false,
196
+ "optional": true,
197
+ "docs": {
198
+ "tags": [],
199
+ "text": ""
200
+ },
201
+ "attribute": "force-total-points",
202
+ "reflect": false,
203
+ "defaultValue": "false"
185
204
  }
186
205
  }; }
187
206
  static get states() { return {
@@ -101,8 +101,14 @@ export class YooIonSlidesComponent {
101
101
  * Transition to the specified slide.
102
102
  */
103
103
  async slideTo(index, speed, runCallbacks) {
104
+ var _a;
104
105
  const swiper = await this.getSwiper();
105
- swiper.slideTo(index, speed, runCallbacks);
106
+ if (index >= ((_a = swiper.slides) === null || _a === void 0 ? void 0 : _a.length)) {
107
+ swiper.once('slidesLengthChange', () => swiper.slideTo(index, speed, runCallbacks));
108
+ }
109
+ else {
110
+ swiper.slideTo(index, speed, runCallbacks);
111
+ }
106
112
  }
107
113
  /**
108
114
  * Transition to the next slide.
@@ -217,7 +217,6 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
217
217
  position: relative;
218
218
  width: var(--spacing-80, 5rem);
219
219
  height: var(--spacing-80, 5rem);
220
- overflow: hidden;
221
220
  border-radius: var(--border-radius-08, 0.5rem);
222
221
  }
223
222
  :host([readonly]) .image-container .content::before {
@@ -217,7 +217,6 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
217
217
  position: relative;
218
218
  width: var(--spacing-80, 5rem);
219
219
  height: var(--spacing-80, 5rem);
220
- overflow: hidden;
221
220
  border-radius: var(--border-radius-08, 0.5rem);
222
221
  }
223
222
  :host([readonly]) .image-container .content::before {
@@ -217,7 +217,6 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
217
217
  position: relative;
218
218
  width: var(--spacing-80, 5rem);
219
219
  height: var(--spacing-80, 5rem);
220
- overflow: hidden;
221
220
  border-radius: var(--border-radius-08, 0.5rem);
222
221
  }
223
222
  :host([readonly]) .image-container .content::before {
@@ -217,7 +217,6 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
217
217
  position: relative;
218
218
  width: var(--spacing-80, 5rem);
219
219
  height: var(--spacing-80, 5rem);
220
- overflow: hidden;
221
220
  border-radius: var(--border-radius-08, 0.5rem);
222
221
  }
223
222
  :host([readonly]) .image-container .content::before {
@@ -217,7 +217,6 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
217
217
  position: relative;
218
218
  width: var(--spacing-80, 5rem);
219
219
  height: var(--spacing-80, 5rem);
220
- overflow: hidden;
221
220
  border-radius: var(--border-radius-08, 0.5rem);
222
221
  }
223
222
  :host([readonly]) .image-container .content::before {
@@ -531,6 +531,7 @@ export class YooFormDynamicComponent {
531
531
  lockSwipes(this.ionSlides, false);
532
532
  if (!this.slidesState || (this.slidesState[index] && !this.getSlideState(index).locked) || (this.isLivePreview() && this.slides[index])) {
533
533
  if (this.ionSlides) {
534
+ forceUpdate(this);
534
535
  await this.ionSlides.slideTo(this.showRecap !== false ? index + 1 : index, animated ? 200 : 0);
535
536
  }
536
537
  else if (this.isWeb) {
@@ -3154,6 +3155,7 @@ export class YooFormDynamicComponent {
3154
3155
  extraAttrs = {
3155
3156
  min: field.min,
3156
3157
  max: field.max,
3158
+ allowDecimals: field.allowDecimals,
3157
3159
  maxCharacters: field.maxCharacters,
3158
3160
  type: field.type === FormFieldType.number && isSamsung() ? FormFieldType.text : getInputType(field),
3159
3161
  inputmode: field.type === FormFieldType.number && isSamsung() ? 'numeric' : '',
@@ -300,7 +300,6 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
300
300
  position: relative;
301
301
  display: block;
302
302
  height: 100%;
303
- overflow: hidden;
304
303
  }
305
304
  :host yoo-banner {
306
305
  height: 0;
@@ -310,13 +309,11 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
310
309
  transition: opacity 1s ease-in-out;
311
310
  }
312
311
  :host #instructions #header {
313
- padding: var(--spacing-08, 0.5rem) var(--spacing-16, 1rem);
314
- background: var(--dark, #000000);
315
- border-radius: var(--border-radius-04, 0.25rem);
312
+ display: flex;
313
+ flex-direction: column;
316
314
  }
317
- :host #instructions #header h1 {
318
- margin: 0;
319
- color: var(--light, #ffffff);
315
+ :host #instructions #header #title {
316
+ font-weight: bold;
320
317
  }
321
318
  :host #instructions #categories {
322
319
  display: inline-grid;
@@ -325,9 +322,6 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
325
322
  margin: var(--spacing-24, 1.5rem) 0;
326
323
  text-align: center;
327
324
  }
328
- :host #instructions #categories yoo-icon {
329
- margin: 0 auto;
330
- }
331
325
  :host #instructions #categories .category {
332
326
  display: flex;
333
327
  flex-direction: column;
@@ -339,12 +333,17 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
339
333
  max-width: 75%;
340
334
  margin: auto;
341
335
  padding: var(--spacing-16, 1rem) 0;
336
+ font-weight: bold;
342
337
  }
343
338
  :host #instructions #categories .category yoo-tag {
344
339
  margin: 0 auto;
345
340
  }
346
341
  :host #instructions yoo-button {
347
- padding: var(--spacing-16, 1rem);
342
+ position: absolute;
343
+ right: 0;
344
+ bottom: 0;
345
+ z-index: 1;
346
+ box-sizing: border-box;
348
347
  }
349
348
  :host #instructions #document {
350
349
  background-color: var(--light, #ffffff);
@@ -382,7 +381,7 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
382
381
  }
383
382
  :host [direction].card.current.card + .card + .card + .card {
384
383
  transform: translate(0%, -2%) scale(0.9);
385
- opacity: 0.7;
384
+ opacity: 1;
386
385
  }
387
386
  :host [direction=left]#game, :host [direction=left].current > .content-category {
388
387
  background-color: var(--app-color, #5a30f4) !important;
@@ -440,23 +439,23 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
440
439
  padding-top: 85%;
441
440
  content: "";
442
441
  }
443
- :host #stack {
442
+ :host #cards {
444
443
  position: absolute;
445
444
  top: 50%;
446
445
  left: 50%;
447
446
  transform: translate(-50%, -50%);
448
447
  width: 100%;
449
448
  width: 65%;
450
- max-width: 25rem;
449
+ max-width: 16rem;
451
450
  height: 100%;
452
451
  margin-top: var(--spacing-16, 1rem);
453
452
  }
454
- :host #stack.rtl {
453
+ :host #cards.rtl {
455
454
  top: 50%;
456
455
  right: 50%;
457
456
  transform: translate(50%, -50%);
458
457
  }
459
- :host #stack .card {
458
+ :host #cards .card {
460
459
  position: absolute;
461
460
  top: 0;
462
461
  right: 0;
@@ -475,20 +474,21 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
475
474
  border-radius: var(--border-radius-08, 0.5rem);
476
475
  box-shadow: var(--shadow-05, -0.375rem -0.375rem 0.5rem 0 rgba(0, 0, 0, 0.1));
477
476
  transition: transform 0.25s, opacity 0.25s, background-color 0.25s;
477
+ will-change: transform, opacity;
478
478
  }
479
- :host #stack .card:not([direction]) {
479
+ :host #cards .card:not([direction]) {
480
480
  transform: translate(0, -5%) scale(0.85);
481
481
  opacity: 0;
482
482
  }
483
- :host #stack .card.current {
483
+ :host #cards .card.current {
484
484
  z-index: 3;
485
485
  }
486
- :host #stack .card.current:not(.revealing) {
486
+ :host #cards .card.current:not(.revealing) {
487
487
  transform: translate(0%, 9%) scale(1);
488
488
  opacity: 1;
489
489
  transition-delay: 200ms;
490
490
  }
491
- :host #stack .card.current.revealing {
491
+ :host #cards .card.current.revealing {
492
492
  animation: "current" 0.25s ease-in-out;
493
493
  animation-delay: 150ms;
494
494
  animation-fill-mode: forwards;
@@ -499,15 +499,15 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
499
499
  opacity: 1;
500
500
  }
501
501
  }
502
- :host #stack .card.second {
502
+ :host #cards .card.second {
503
503
  z-index: 2;
504
504
  }
505
- :host #stack .card.second:not(.revealing) {
505
+ :host #cards .card.second:not(.revealing) {
506
506
  transform: translate(0%, 3.5%) scale(0.95);
507
507
  opacity: 1;
508
508
  transition-delay: 400ms;
509
509
  }
510
- :host #stack .card.second.revealing {
510
+ :host #cards .card.second.revealing {
511
511
  animation: "second" 0.25s ease-in-out;
512
512
  animation-delay: 300ms;
513
513
  animation-fill-mode: forwards;
@@ -518,15 +518,15 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
518
518
  opacity: 1;
519
519
  }
520
520
  }
521
- :host #stack .card.third {
521
+ :host #cards .card.third {
522
522
  z-index: 1;
523
523
  }
524
- :host #stack .card.third:not(.revealing) {
524
+ :host #cards .card.third:not(.revealing) {
525
525
  transform: translate(0%, -2%) scale(0.9);
526
- opacity: 0.7;
526
+ opacity: 1;
527
527
  transition-delay: 600ms;
528
528
  }
529
- :host #stack .card.third.revealing {
529
+ :host #cards .card.third.revealing {
530
530
  animation: "third" 0.25s ease-in-out;
531
531
  animation-delay: 450ms;
532
532
  animation-fill-mode: forwards;
@@ -534,60 +534,54 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
534
534
  @keyframes third {
535
535
  to {
536
536
  transform: translate(0%, -2%) scale(0.9);
537
- opacity: 0.7;
537
+ opacity: 1;
538
538
  }
539
539
  }
540
- :host #stack .card:after {
541
- display: block;
542
- height: 0;
543
- padding-top: 133%;
544
- content: "";
545
- }
546
- :host #stack .card.current .content-image,
547
- :host #stack .card.current .content-text, :host #stack .card[direction] .content-image,
548
- :host #stack .card[direction] .content-text {
540
+ :host #cards .card.current .content-image,
541
+ :host #cards .card.current .content-text, :host #cards .card[direction] .content-image,
542
+ :host #cards .card[direction] .content-text {
549
543
  opacity: 1 !important;
550
544
  }
551
- :host #stack .card[swiped] {
545
+ :host #cards .card[swiped] {
552
546
  animation: fade-out 1s ease-out;
553
547
  animation-fill-mode: forwards;
554
548
  }
555
- :host #stack .card[swiped=left] {
549
+ :host #cards .card[swiped=left] {
556
550
  transform: translate(-100%, 15%) rotate(-15deg);
557
551
  }
558
- :host #stack .card[swiped=right] {
552
+ :host #cards .card[swiped=right] {
559
553
  transform: translate(100%, 15%) rotate(15deg);
560
554
  }
561
- :host #stack .card .content-category,
562
- :host #stack .card .content-image,
563
- :host #stack .card .content-text {
555
+ :host #cards .card [class^=content] {
564
556
  position: absolute;
565
557
  width: 100%;
566
558
  height: 100%;
567
559
  word-break: break-word;
568
560
  opacity: 0;
569
561
  }
570
- :host #stack .card .content-category,
571
- :host #stack .card .content-text {
562
+ :host #cards .card .content-category,
563
+ :host #cards .card .content-text {
572
564
  display: flex;
573
565
  align-items: center;
574
566
  justify-content: center;
567
+ box-sizing: border-box;
568
+ padding: var(--spacing-16, 1rem);
575
569
  }
576
- :host #stack .card .content-image {
570
+ :host #cards .card .content-image {
577
571
  transition: opacity 0.25s linear;
578
572
  }
579
- :host #stack .card[type=image] yoo-img {
573
+ :host #cards .card[type=image] yoo-img {
580
574
  height: 100%;
581
575
  }
582
- :host #stack .card[type=textimage] .content-image {
576
+ :host #cards .card[type=textimage] .content-image {
583
577
  top: 0;
584
578
  bottom: 3.5rem;
585
579
  }
586
- :host #stack .card[type=textimage] .content-image yoo-img {
580
+ :host #cards .card[type=textimage] .content-image yoo-img {
587
581
  height: calc(100% - 3.5rem);
588
582
  }
589
- :host #stack .card[type=textimage] .content-text,
590
- :host #stack .card[type=textimage] .content-category {
583
+ :host #cards .card[type=textimage] .content-text,
584
+ :host #cards .card[type=textimage] .content-category {
591
585
  bottom: 0;
592
586
  height: 3.5rem;
593
587
  }
@@ -726,6 +720,22 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
726
720
  transition: transform 0.8s linear;
727
721
  }
728
722
 
723
+ :host([live-preview]),
724
+ :host(.mobile) {
725
+ min-height: 70vh;
726
+ }
727
+ :host([live-preview]) #instructions #header,
728
+ :host(.mobile) #instructions #header {
729
+ padding: var(--spacing-16, 1rem);
730
+ background: var(--dark, #000000);
731
+ border-radius: var(--border-radius-04, 0.25rem);
732
+ }
733
+ :host([live-preview]) #instructions #header #title,
734
+ :host(.mobile) #instructions #header #title {
735
+ color: var(--light, #ffffff);
736
+ font-weight: bold;
737
+ font-size: var(--font-size-28, 1.75rem);
738
+ }
729
739
  :host([live-preview]) #instructions yoo-button,
730
740
  :host(.mobile) #instructions yoo-button {
731
741
  position: absolute;
@@ -733,20 +743,28 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
733
743
  width: stretch;
734
744
  }
735
745
 
736
- :host(.web:not([live-preview])) #instructions #header {
737
- background: unset;
746
+ :host(.web:not([live-preview])) #instructions {
747
+ position: relative;
748
+ }
749
+ :host(.web:not([live-preview])) #instructions yoo-icon[name=swipe-explanation] {
750
+ width: 5rem;
751
+ height: 5rem;
752
+ margin: auto;
753
+ --inner-width: 5rem;
754
+ --inner-height: 5rem;
738
755
  }
739
756
  :host(.web:not([live-preview])) #instructions yoo-button {
740
757
  position: fixed;
741
- right: var(--spacing-16, 1rem);
758
+ right: var(--spacing-32, 2rem);
742
759
  bottom: var(--spacing-16, 1rem);
743
760
  z-index: 1;
744
761
  transform: translateY(-50%);
745
762
  }
746
763
  :host(.web:not([live-preview])) #game {
764
+ height: 60%;
747
765
  max-height: 21rem;
748
766
  }
749
- :host(.web:not([live-preview])) #game #stack {
767
+ :host(.web:not([live-preview])) #game #cards {
750
768
  top: 5%;
751
769
  margin-top: unset;
752
770
  transform: translate(-50%, 0);
@@ -761,11 +779,15 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
761
779
  align-self: end;
762
780
  }
763
781
  :host(.web:not([live-preview])) #header {
764
- margin-bottom: var(--spacing-24, 1.5rem);
782
+ display: flex;
783
+ flex-direction: column;
784
+ padding: var(--spacing-08, 0.5rem) var(--spacing-16, 1rem);
765
785
  line-height: 1.75;
766
786
  text-align: center;
787
+ background-color: var(--stable-ultralight, #fafafa);
767
788
  }
768
- :host(.web:not([live-preview])) #header h1 {
769
- margin: var(--spacing-08, 0.5rem) 0 !important;
789
+ :host(.web:not([live-preview])) #header #title {
770
790
  color: var(--dark, #000000) !important;
791
+ font-weight: bold;
792
+ font-size: var(--font-size-28, 1.75rem);
771
793
  }