@telefonica/mistica 12.0.0 → 12.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/README.md +2 -2
  2. package/dist/button-group.d.ts +2 -1
  3. package/dist/button-group.js +36 -5
  4. package/dist/button-group.js.flow +2 -1
  5. package/dist/button-layout.d.ts +2 -1
  6. package/dist/button-layout.js +22 -4
  7. package/dist/button-layout.js.flow +2 -1
  8. package/dist/button.js +114 -35
  9. package/dist/card.d.ts +4 -0
  10. package/dist/card.js +7 -2
  11. package/dist/card.js.flow +4 -0
  12. package/dist/carousel.d.ts +4 -0
  13. package/dist/carousel.js +6 -3
  14. package/dist/carousel.js.flow +6 -0
  15. package/dist/checkbox.js +2 -1
  16. package/dist/dialog.d.ts +21 -4
  17. package/dist/dialog.js +51 -26
  18. package/dist/dialog.js.flow +17 -4
  19. package/dist/generated/mistica-icons/icon-gift-light.js +1 -1
  20. package/dist/generated/mistica-icons/icon-hand-snap-filled.js +1 -1
  21. package/dist/generated/mistica-icons/icon-intranet-light.js +1 -1
  22. package/dist/generated/mistica-icons/icon-photo-camera-filled.js +38 -18
  23. package/dist/generated/mistica-icons/icon-photo-camera-light.js +30 -16
  24. package/dist/generated/mistica-icons/icon-process-loading-filled.js +1 -1
  25. package/dist/generated/mistica-icons/icon-shield-cross-light.js +1 -1
  26. package/dist/generated/mistica-icons/icon-shop-light.js +1 -1
  27. package/dist/generated/mistica-icons/icon-support-agent-premium-regular.js +1 -1
  28. package/dist/generated/mistica-icons/icon-support-agent-regular.js +1 -1
  29. package/dist/generated/mistica-icons/icon-tag-discount-euro-regular.js +1 -1
  30. package/dist/generated/mistica-icons/icon-talk-filled.js +1 -1
  31. package/dist/generated/mistica-icons/icon-tips-and-tricks-regular.js +2 -2
  32. package/dist/generated/mistica-icons/icon-tongue-light.js +1 -1
  33. package/dist/generated/mistica-icons/icon-trash-can-filled.js +1 -1
  34. package/dist/generated/mistica-icons/icon-umbrella-filled.js +1 -1
  35. package/dist/generated/mistica-icons/icon-web-filled.js +1 -1
  36. package/dist/generated/mistica-icons/icon-world-device-filled.d.ts +4 -0
  37. package/dist/generated/mistica-icons/icon-world-device-filled.js +109 -0
  38. package/dist/generated/mistica-icons/icon-world-device-filled.js.flow +6 -0
  39. package/dist/generated/mistica-icons/icon-world-device-light.d.ts +4 -0
  40. package/dist/generated/mistica-icons/icon-world-device-light.js +115 -0
  41. package/dist/generated/mistica-icons/icon-world-device-light.js.flow +6 -0
  42. package/dist/generated/mistica-icons/icon-world-device-regular.d.ts +4 -0
  43. package/dist/generated/mistica-icons/icon-world-device-regular.js +109 -0
  44. package/dist/generated/mistica-icons/icon-world-device-regular.js.flow +6 -0
  45. package/dist/grid-layout.d.ts +16 -0
  46. package/dist/grid-layout.js +96 -35
  47. package/dist/grid-layout.js.flow +33 -1
  48. package/dist/header.d.ts +3 -1
  49. package/dist/header.js +4 -2
  50. package/dist/header.js.flow +7 -1
  51. package/dist/index.d.ts +5 -1
  52. package/dist/index.js +58 -0
  53. package/dist/index.js.flow +11 -1
  54. package/dist/navigation-bar.js +121 -96
  55. package/dist/overscroll-color-context.d.ts +1 -1
  56. package/dist/overscroll-color-context.js +12 -14
  57. package/dist/overscroll-color-context.js.flow +1 -1
  58. package/dist/package-version.js +1 -1
  59. package/dist/popover.d.ts +2 -1
  60. package/dist/popover.js +58 -63
  61. package/dist/popover.js.flow +2 -1
  62. package/dist/skeleton-base.d.ts +9 -0
  63. package/dist/skeleton-base.js +75 -0
  64. package/dist/skeleton-base.js.flow +11 -0
  65. package/dist/skeletons.d.ts +21 -0
  66. package/dist/skeletons.js +232 -0
  67. package/dist/skeletons.js.flow +29 -0
  68. package/dist/skins/blau.js +2 -2
  69. package/dist/skins/movistar.js +1 -1
  70. package/dist/skins/o2-classic.js +1 -1
  71. package/dist/skins/o2.js +1 -1
  72. package/dist/skins/telefonica.js +2 -2
  73. package/dist/skins/utils.d.ts +2 -0
  74. package/dist/skins/utils.js +34 -1
  75. package/dist/skins/utils.js.flow +2 -0
  76. package/dist/skins/vivo.js +1 -1
  77. package/dist/spinner.js +0 -1
  78. package/dist/tabs.d.ts +2 -1
  79. package/dist/tabs.js +22 -4
  80. package/dist/tabs.js.flow +2 -1
  81. package/dist/text-link.js +16 -8
  82. package/dist-es/button-group.js +35 -5
  83. package/dist-es/button-layout.js +21 -4
  84. package/dist-es/button.js +114 -35
  85. package/dist-es/card.js +7 -2
  86. package/dist-es/carousel.js +6 -3
  87. package/dist-es/checkbox.js +2 -1
  88. package/dist-es/dialog.js +51 -25
  89. package/dist-es/generated/mistica-icons/icon-gift-light.js +1 -1
  90. package/dist-es/generated/mistica-icons/icon-hand-snap-filled.js +1 -1
  91. package/dist-es/generated/mistica-icons/icon-intranet-light.js +1 -1
  92. package/dist-es/generated/mistica-icons/icon-photo-camera-filled.js +38 -18
  93. package/dist-es/generated/mistica-icons/icon-photo-camera-light.js +30 -16
  94. package/dist-es/generated/mistica-icons/icon-process-loading-filled.js +1 -1
  95. package/dist-es/generated/mistica-icons/icon-shield-cross-light.js +1 -1
  96. package/dist-es/generated/mistica-icons/icon-shop-light.js +1 -1
  97. package/dist-es/generated/mistica-icons/icon-support-agent-premium-regular.js +1 -1
  98. package/dist-es/generated/mistica-icons/icon-support-agent-regular.js +1 -1
  99. package/dist-es/generated/mistica-icons/icon-tag-discount-euro-regular.js +1 -1
  100. package/dist-es/generated/mistica-icons/icon-talk-filled.js +1 -1
  101. package/dist-es/generated/mistica-icons/icon-tips-and-tricks-regular.js +2 -2
  102. package/dist-es/generated/mistica-icons/icon-tongue-light.js +1 -1
  103. package/dist-es/generated/mistica-icons/icon-trash-can-filled.js +1 -1
  104. package/dist-es/generated/mistica-icons/icon-umbrella-filled.js +1 -1
  105. package/dist-es/generated/mistica-icons/icon-web-filled.js +1 -1
  106. package/dist-es/generated/mistica-icons/icon-world-device-filled.js +85 -0
  107. package/dist-es/generated/mistica-icons/icon-world-device-light.js +91 -0
  108. package/dist-es/generated/mistica-icons/icon-world-device-regular.js +85 -0
  109. package/dist-es/grid-layout.js +95 -35
  110. package/dist-es/header.js +4 -2
  111. package/dist-es/index.js +5 -1
  112. package/dist-es/navigation-bar.js +121 -96
  113. package/dist-es/overscroll-color-context.js +12 -14
  114. package/dist-es/package-version.js +1 -1
  115. package/dist-es/popover.js +59 -64
  116. package/dist-es/skeleton-base.js +43 -0
  117. package/dist-es/skeletons.js +196 -0
  118. package/dist-es/skins/blau.js +2 -2
  119. package/dist-es/skins/movistar.js +1 -1
  120. package/dist-es/skins/o2-classic.js +1 -1
  121. package/dist-es/skins/o2.js +1 -1
  122. package/dist-es/skins/telefonica.js +2 -2
  123. package/dist-es/skins/utils.js +12 -0
  124. package/dist-es/skins/vivo.js +1 -1
  125. package/dist-es/spinner.js +0 -1
  126. package/dist-es/tabs.js +21 -4
  127. package/dist-es/text-link.js +16 -8
  128. package/package.json +2 -2
package/dist-es/button.js CHANGED
@@ -86,14 +86,19 @@ import Box from "./box";
86
86
  import { getTextFromChildren } from "./utils/common";
87
87
  import { eventActions, eventCategories, eventNames, useTrackingConfig } from "./utils/analytics";
88
88
  import { useTheme } from "./hooks";
89
+ import { flattenChildren } from "./skins/utils";
89
90
  export var BUTTON_MIN_WIDTH = 136;
90
91
  var transitionTiming = "0.3s cubic-bezier(0.77, 0, 0.175, 1)";
91
92
  var BORDER_PX = 1.5;
92
- var SPINNER_MARGIN_PX = 8;
93
+ var ICON_MARGIN_PX = 8;
93
94
  var X_PADDING_PX = 16 - BORDER_PX;
94
95
  var Y_PADDING_PX = 12 - BORDER_PX;
95
96
  var X_SMALL_PADDING_PX = 12 - BORDER_PX;
96
97
  var Y_SMALL_PADDING_PX = 6 - BORDER_PX;
98
+ var ICON_SIZE = 24;
99
+ var SMALL_ICON_SIZE = 20;
100
+ var SPINNER_SIZE = 20;
101
+ var SMALL_SPINNER_SIZE = 16;
97
102
  var commonClasses = function() {
98
103
  return {
99
104
  button: {
@@ -101,7 +106,6 @@ var commonClasses = function() {
101
106
  position: "relative",
102
107
  width: "auto",
103
108
  minWidth: BUTTON_MIN_WIDTH,
104
- textAlign: "center",
105
109
  border: "".concat(BORDER_PX, "px solid transparent"),
106
110
  borderRadius: 4,
107
111
  overflow: "hidden",
@@ -136,6 +140,9 @@ var commonClasses = function() {
136
140
  }
137
141
  },
138
142
  textContent: {
143
+ display: "flex",
144
+ alignItems: "center",
145
+ justifyContent: "center",
139
146
  padding: "".concat(Y_PADDING_PX, "px ").concat(X_PADDING_PX, "px"),
140
147
  opacity: 1,
141
148
  transition: "opacity ".concat(transitionTiming, ", transform ").concat(transitionTiming),
@@ -143,9 +150,7 @@ var commonClasses = function() {
143
150
  padding: "".concat(Y_SMALL_PADDING_PX, "px ").concat(X_SMALL_PADDING_PX, "px")
144
151
  },
145
152
  "& svg": {
146
- marginRight: SPINNER_MARGIN_PX,
147
- verticalAlign: "bottom",
148
- height: "100%"
153
+ display: "block"
149
154
  }
150
155
  },
151
156
  isLoading: {
@@ -266,6 +271,48 @@ var useDangerButtonStyles = createUseStyles(function(theme) {
266
271
  inverse: dangerButtonStyles(theme)
267
272
  });
268
273
  });
274
+ var renderButtonContent = function(param) {
275
+ var content = param.content, defaultIconSize = param.defaultIconSize, renderText = param.renderText;
276
+ var childrenArr = flattenChildren(content);
277
+ var length = childrenArr.length;
278
+ var resultChildrenArr = [];
279
+ var accText = [];
280
+ var flushAccText = function() {
281
+ resultChildrenArr.push(/*#__PURE__*/ _jsx(React.Fragment, {
282
+ children: renderText(accText)
283
+ }, resultChildrenArr.length));
284
+ accText = [];
285
+ };
286
+ childrenArr.forEach(function(element, idx) {
287
+ var isFirstChild = idx === 0;
288
+ var isLastChild = idx === length - 1;
289
+ var isIconElement = /*#__PURE__*/ React.isValidElement(element);
290
+ if (isIconElement) {
291
+ if (accText.length) {
292
+ flushAccText();
293
+ }
294
+ var _size;
295
+ var sizeInPx = (_size = element.props.size) !== null && _size !== void 0 ? _size : defaultIconSize;
296
+ resultChildrenArr.push(/*#__PURE__*/ _jsx("div", {
297
+ style: {
298
+ display: "flex",
299
+ alignItems: "center",
300
+ marginLeft: isFirstChild ? 0 : ICON_MARGIN_PX,
301
+ marginRight: isLastChild ? 0 : ICON_MARGIN_PX
302
+ },
303
+ children: /*#__PURE__*/ React.cloneElement(element, {
304
+ size: pxToRem(sizeInPx)
305
+ })
306
+ }, resultChildrenArr.length));
307
+ } else {
308
+ accText.push(element);
309
+ if (isLastChild) {
310
+ flushAccText();
311
+ }
312
+ }
313
+ });
314
+ return resultChildrenArr;
315
+ };
269
316
  var Button = function(props) {
270
317
  var eventFormat = useTrackingConfig().eventFormat;
271
318
  var ref = useForm(), formStatus = ref.formStatus, formId = ref.formId;
@@ -288,24 +335,6 @@ var Button = function(props) {
288
335
  shouldRenderSpinner,
289
336
  formStatus
290
337
  ]);
291
- var spinnerSizeRem = pxToRem(props.small ? 16 : 24);
292
- var renderText = function(text) {
293
- return props.small ? /*#__PURE__*/ _jsx(Text, {
294
- size: 14,
295
- lineHeight: 20,
296
- weight: "medium",
297
- truncate: 1,
298
- color: "inherit",
299
- as: "div",
300
- children: text
301
- }) : /*#__PURE__*/ _jsx(Text3, {
302
- medium: true,
303
- truncate: 1,
304
- color: "inherit",
305
- as: "div",
306
- children: text
307
- });
308
- };
309
338
  var createDefaultTrackingEvent = function() {
310
339
  if (eventFormat === "google-analytics-4") {
311
340
  return {
@@ -321,6 +350,25 @@ var Button = function(props) {
321
350
  };
322
351
  }
323
352
  };
353
+ var defaultIconSize = props.small ? SMALL_ICON_SIZE : ICON_SIZE;
354
+ var spinnerSizeRem = pxToRem(props.small ? SMALL_SPINNER_SIZE : SPINNER_SIZE);
355
+ var renderText = function(element) {
356
+ return props.small ? /*#__PURE__*/ _jsx(Text, {
357
+ size: 14,
358
+ lineHeight: 20,
359
+ weight: "medium",
360
+ truncate: 1,
361
+ color: "inherit",
362
+ as: "div",
363
+ children: element
364
+ }) : /*#__PURE__*/ _jsx(Text3, {
365
+ medium: true,
366
+ truncate: 1,
367
+ color: "inherit",
368
+ as: "div",
369
+ children: element
370
+ });
371
+ };
324
372
  var _trackingEvent;
325
373
  var _obj;
326
374
  var commonProps = {
@@ -338,16 +386,24 @@ var Button = function(props) {
338
386
  /*#__PURE__*/ _jsx("div", {
339
387
  "aria-hidden": showSpinner ? true : undefined,
340
388
  className: classes.textContent,
341
- children: renderText(props.children)
389
+ children: renderButtonContent({
390
+ content: props.children,
391
+ defaultIconSize: defaultIconSize,
392
+ renderText: renderText
393
+ })
342
394
  }),
343
395
  /*#__PURE__*/ _jsx("div", {
344
396
  className: classes.loadingFiller,
345
397
  "aria-hidden": true,
346
398
  style: {
347
399
  paddingLeft: spinnerSizeRem,
348
- paddingRight: SPINNER_MARGIN_PX + 2 * (props.small ? X_SMALL_PADDING_PX : X_PADDING_PX)
400
+ paddingRight: ICON_MARGIN_PX + 2 * (props.small ? X_SMALL_PADDING_PX : X_PADDING_PX)
349
401
  },
350
- children: renderText(loadingText)
402
+ children: renderButtonContent({
403
+ content: loadingText,
404
+ defaultIconSize: defaultIconSize,
405
+ renderText: renderText
406
+ })
351
407
  }),
352
408
  /*#__PURE__*/ _jsxs("div", {
353
409
  "aria-hidden": showSpinner ? undefined : true,
@@ -372,7 +428,11 @@ var Button = function(props) {
372
428
  }),
373
429
  loadingText ? /*#__PURE__*/ _jsx(Box, {
374
430
  paddingLeft: 8,
375
- children: renderText(loadingText)
431
+ children: renderButtonContent({
432
+ content: loadingText,
433
+ defaultIconSize: defaultIconSize,
434
+ renderText: renderText
435
+ })
376
436
  }) : null
377
437
  ]
378
438
  })
@@ -427,12 +487,13 @@ var Button = function(props) {
427
487
  return null;
428
488
  };
429
489
  var useButtonLinkStyles = createUseStyles(function(theme) {
430
- var padding = 6;
490
+ var paddingY = 6;
491
+ var paddingX = 12;
431
492
  return {
432
493
  link: {
433
494
  display: "inline-block",
434
495
  width: "auto",
435
- padding: padding,
496
+ padding: "".concat(paddingY, "px ").concat(paddingX, "px"),
436
497
  fontWeight: 500,
437
498
  borderRadius: 4,
438
499
  overflow: "hidden",
@@ -448,6 +509,14 @@ var useButtonLinkStyles = createUseStyles(function(theme) {
448
509
  }),
449
510
  "&[disabled]": disabledStyle
450
511
  },
512
+ textContent: {
513
+ display: "flex",
514
+ alignItems: "center",
515
+ justifyContent: "center",
516
+ "& svg": {
517
+ display: "block"
518
+ }
519
+ },
451
520
  inverse: {
452
521
  color: theme.colors.textLinkInverse,
453
522
  "&:enabled:active": {
@@ -460,7 +529,7 @@ var useButtonLinkStyles = createUseStyles(function(theme) {
460
529
  })
461
530
  },
462
531
  aligned: {
463
- marginLeft: -padding
532
+ marginLeft: -paddingX
464
533
  }
465
534
  };
466
535
  });
@@ -484,17 +553,27 @@ export var ButtonLink = /*#__PURE__*/ React.forwardRef(function(props, ref) {
484
553
  };
485
554
  }
486
555
  };
556
+ var renderText = function(element) {
557
+ return /*#__PURE__*/ _jsx(Text2, {
558
+ medium: true,
559
+ truncate: 1,
560
+ color: "inherit",
561
+ children: element
562
+ });
563
+ };
487
564
  var _trackingEvent;
488
565
  var _obj;
489
566
  var commonProps = {
490
567
  className: classnames(classes.link, (_obj = {}, _defineProperty(_obj, classes.inverse, isInverse), _defineProperty(_obj, classes.aligned, props.aligned), _obj)),
491
568
  trackingEvent: (_trackingEvent = props.trackingEvent) !== null && _trackingEvent !== void 0 ? _trackingEvent : props.trackEvent ? createDefaultTrackingEvent() : undefined,
492
569
  dataAttributes: props.dataAttributes,
493
- children: /*#__PURE__*/ _jsx(Text2, {
494
- medium: true,
495
- truncate: 1,
496
- color: "inherit",
497
- children: props.children
570
+ children: /*#__PURE__*/ _jsx("div", {
571
+ className: classes.textContent,
572
+ children: renderButtonContent({
573
+ content: props.children,
574
+ defaultIconSize: SMALL_ICON_SIZE,
575
+ renderText: renderText
576
+ })
498
577
  }),
499
578
  disabled: props.disabled || formStatus === "sending"
500
579
  };
package/dist-es/card.js CHANGED
@@ -196,7 +196,7 @@ var useMediaCardStyles = createUseStyles(function(param) {
196
196
  };
197
197
  });
198
198
  export var MediaCard = /*#__PURE__*/ React.forwardRef(function(param, ref) {
199
- var media = param.media, headline = param.headline, pretitle = param.pretitle, pretitleLinesMax = param.pretitleLinesMax, title = param.title, titleLinesMax = param.titleLinesMax, description = param.description, descriptionLinesMax = param.descriptionLinesMax, extra = param.extra, button = param.button, buttonLink = param.buttonLink, dataAttributes = param.dataAttributes, ariaLabel = param["aria-label"], onClose = param.onClose;
199
+ var media = param.media, headline = param.headline, pretitle = param.pretitle, pretitleLinesMax = param.pretitleLinesMax, subtitle = param.subtitle, subtitleLinesMax = param.subtitleLinesMax, title = param.title, titleLinesMax = param.titleLinesMax, description = param.description, descriptionLinesMax = param.descriptionLinesMax, extra = param.extra, button = param.button, buttonLink = param.buttonLink, dataAttributes = param.dataAttributes, ariaLabel = param["aria-label"], onClose = param.onClose;
200
200
  var classes = useMediaCardStyles({
201
201
  media: media
202
202
  });
@@ -222,6 +222,8 @@ export var MediaCard = /*#__PURE__*/ React.forwardRef(function(param, ref) {
222
222
  pretitleLinesMax: pretitleLinesMax,
223
223
  title: title,
224
224
  titleLinesMax: titleLinesMax,
225
+ subtitle: subtitle,
226
+ subtitleLinesMax: subtitleLinesMax,
225
227
  description: description,
226
228
  descriptionLinesMax: descriptionLinesMax,
227
229
  extra: extra,
@@ -252,7 +254,7 @@ var useDataCardStyles = createUseStyles(function(param) {
252
254
  };
253
255
  });
254
256
  export var DataCard = /*#__PURE__*/ React.forwardRef(function(param, ref) {
255
- var icon = param.icon, headline = param.headline, title = param.title, titleLinesMax = param.titleLinesMax, subtitle = param.subtitle, subtitleLinesMax = param.subtitleLinesMax, description = param.description, descriptionLinesMax = param.descriptionLinesMax, extra = param.extra, button = param.button, buttonLink = param.buttonLink, dataAttributes = param.dataAttributes, ariaLabel = param["aria-label"], onClose = param.onClose;
257
+ var icon = param.icon, headline = param.headline, pretitle = param.pretitle, pretitleLinesMax = param.pretitleLinesMax, title = param.title, titleLinesMax = param.titleLinesMax, subtitle = param.subtitle, subtitleLinesMax = param.subtitleLinesMax, description = param.description, descriptionLinesMax = param.descriptionLinesMax, extra = param.extra, button = param.button, buttonLink = param.buttonLink, dataAttributes = param.dataAttributes, ariaLabel = param["aria-label"], onClose = param.onClose;
256
258
  var classes = useDataCardStyles();
257
259
  return /*#__PURE__*/ _jsx(MaybeDismissable, {
258
260
  "aria-label": ariaLabel,
@@ -271,6 +273,8 @@ export var DataCard = /*#__PURE__*/ React.forwardRef(function(param, ref) {
271
273
  }),
272
274
  /*#__PURE__*/ _jsx(CardContent, {
273
275
  headline: headline,
276
+ pretitle: pretitle,
277
+ pretitleLinesMax: pretitleLinesMax,
274
278
  title: title,
275
279
  titleLinesMax: titleLinesMax,
276
280
  subtitle: subtitle,
@@ -310,6 +314,7 @@ var useSnapCardStyles = createUseStyles(function(theme) {
310
314
  justifyContent: "space-between",
311
315
  padding: 16,
312
316
  minHeight: 80,
317
+ flex: 1,
313
318
  minWidth: 104
314
319
  }, theme.mq.desktopOrBigger, {
315
320
  padding: 24
@@ -388,7 +388,7 @@ var calcCurrentPageIndex = function(scrollPosition, pagesScrollPositions) {
388
388
  };
389
389
  var DEFAULT_AUTOPLAY_TIME = 5000;
390
390
  var BaseCarousel = function(param) {
391
- var items = param.items, withBullets = param.withBullets, renderBullets = param.renderBullets, itemsPerPage = param.itemsPerPage, itemsToScroll = param.itemsToScroll, _mobilePageOffset = param.mobilePageOffset, mobilePageOffset = _mobilePageOffset === void 0 ? 16 : _mobilePageOffset, gapProp = param.gap, free = param.free, centered = param.centered, autoplay = param.autoplay, onPageChange = param.onPageChange, dataAttributes = param.dataAttributes;
391
+ var items = param.items, itemStyle = param.itemStyle, itemClassName = param.itemClassName, withBullets = param.withBullets, renderBullets = param.renderBullets, itemsPerPage = param.itemsPerPage, itemsToScroll = param.itemsToScroll, _mobilePageOffset = param.mobilePageOffset, mobilePageOffset = _mobilePageOffset === void 0 ? 16 : _mobilePageOffset, gapProp = param.gap, free = param.free, centered = param.centered, autoplay = param.autoplay, onPageChange = param.onPageChange, dataAttributes = param.dataAttributes;
392
392
  var texts = useTheme().texts;
393
393
  var itemsPerPageConfig = normalizeItemsPerPage(itemsPerPage);
394
394
  var mobilePageOffsetConfig = normalizeMobilePageOffset(mobilePageOffset);
@@ -602,7 +602,8 @@ var BaseCarousel = function(param) {
602
602
  ref: carouselRef,
603
603
  children: items.map(function(item, index) {
604
604
  return /*#__PURE__*/ _jsx("div", {
605
- className: classes.item,
605
+ className: classNames(classes.item, itemClassName),
606
+ style: itemStyle,
606
607
  "data-item": true,
607
608
  children: item
608
609
  }, index);
@@ -631,9 +632,11 @@ export var Carousel = function(props) {
631
632
  return /*#__PURE__*/ _jsx(BaseCarousel, _objectSpread({}, props));
632
633
  };
633
634
  export var CenteredCarousel = function(param) {
634
- var items = param.items, withBullets = param.withBullets, renderBullets = param.renderBullets, onPageChange = param.onPageChange, dataAttributes = param.dataAttributes;
635
+ var items = param.items, itemStyle = param.itemStyle, itemClassName = param.itemClassName, withBullets = param.withBullets, renderBullets = param.renderBullets, onPageChange = param.onPageChange, dataAttributes = param.dataAttributes;
635
636
  return /*#__PURE__*/ _jsx(BaseCarousel, {
636
637
  items: items,
638
+ itemStyle: itemStyle,
639
+ itemClassName: itemClassName,
637
640
  itemsPerPage: {
638
641
  mobile: 1,
639
642
  desktop: 3
@@ -93,6 +93,7 @@ var useIconCheckboxStyles = createUseStyles(function(param) {
93
93
  justifyContent: "center",
94
94
  alignItems: "center",
95
95
  userSelect: "none",
96
+ outline: "1px solid transparent",
96
97
  borderRadius: 2,
97
98
  verticalAlign: "middle",
98
99
  background: colors.background,
@@ -100,7 +101,7 @@ var useIconCheckboxStyles = createUseStyles(function(param) {
100
101
  transition: "box-shadow 0.3s"
101
102
  },
102
103
  boxChecked: {
103
- boxShadow: "inset 0 0 0 9px ".concat(colors.controlActivated)
104
+ boxShadow: "inset 0 0 0 12px ".concat(colors.controlActivated)
104
105
  },
105
106
  check: {
106
107
  display: "block",
package/dist-es/dialog.js CHANGED
@@ -142,6 +142,7 @@ import { ESC } from "./utils/key-codes";
142
142
  import Box from "./box";
143
143
  import { isOldChrome, isRunningAcceptanceTest } from "./utils/platform";
144
144
  import { useSetModalState } from "./modal-context-provider";
145
+ import Stack from "./stack";
145
146
  var animationsSupported = function(platformOverrides) {
146
147
  return !isOldChrome(platformOverrides) && process.env.NODE_ENV !== "test" && !isRunningAcceptanceTest(platformOverrides);
147
148
  };
@@ -238,7 +239,7 @@ var useDialogStyles = createUseStyles(function(theme) {
238
239
  });
239
240
  var Dialog = function(props) {
240
241
  var ref = useTheme(), texts = ref.texts, colors = ref.colors;
241
- var className = props.className, title = props.title, message = props.message, icon = props.icon, _cancelText = props.cancelText, cancelText = _cancelText === void 0 ? texts.dialogCancelButton : _cancelText, _acceptText = props.acceptText, acceptText = _acceptText === void 0 ? texts.dialogAcceptButton : _acceptText, handleCancel = props.onCancel, handleAccept = props.onAccept, _showCancel = props.showCancel, showCancel = _showCancel === void 0 ? false : _showCancel, _destructive = props.destructive, destructive = _destructive === void 0 ? false : _destructive;
242
+ var className = props.className, title = props.title, message = props.message, icon = props.icon, extra = props.extra, _cancelText = props.cancelText, cancelText = _cancelText === void 0 ? texts.dialogCancelButton : _cancelText, _acceptText = props.acceptText, acceptText = _acceptText === void 0 ? texts.dialogAcceptButton : _acceptText, handleCancel = props.onCancel, handleAccept = props.onAccept, _showCancel = props.showCancel, showCancel = _showCancel === void 0 ? false : _showCancel, _destructive = props.destructive, destructive = _destructive === void 0 ? false : _destructive;
242
243
  var isTabletOrSmaller = useScreenSize().isTabletOrSmaller;
243
244
  var withSecondaryButton = showCancel && !!handleCancel;
244
245
  var classes = useDialogStyles({
@@ -267,10 +268,16 @@ var Dialog = function(props) {
267
268
  }),
268
269
  /*#__PURE__*/ _jsx("div", {
269
270
  className: classes.dialogContent,
270
- children: /*#__PURE__*/ _jsx(Text3, {
271
- color: colors.textSecondary,
272
- light: true,
273
- children: message
271
+ children: /*#__PURE__*/ _jsxs(Stack, {
272
+ space: 16,
273
+ children: [
274
+ /*#__PURE__*/ _jsx(Text3, {
275
+ color: colors.textSecondary,
276
+ light: true,
277
+ children: message
278
+ }),
279
+ extra
280
+ ]
274
281
  })
275
282
  }),
276
283
  /*#__PURE__*/ _jsx(Box, {
@@ -340,6 +347,19 @@ var useNativeDialog = function(param) {
340
347
  renderNative
341
348
  ]);
342
349
  };
350
+ var NativeModalDialog = function(props) {
351
+ useNativeDialog({
352
+ renderNative: true,
353
+ acceptText: props.acceptText || props.dialogAcceptButton,
354
+ cancelText: props.cancelText || props.dialogCancelButton,
355
+ showCancel: props.showCancel,
356
+ message: props.message,
357
+ title: props.title,
358
+ onAccept: props.onAccept,
359
+ onCancel: props.onCancel
360
+ });
361
+ return null;
362
+ };
343
363
  var ModalDialog = function(props) {
344
364
  var platformOverrides = useTheme().platformOverrides;
345
365
  var context = React.useContext(ThemeContext);
@@ -351,7 +371,7 @@ var ModalDialog = function(props) {
351
371
  if (!context) {
352
372
  throw Error("To use @telefonica/mistica components you must instantiate <ThemeContextProvider> as their parent.");
353
373
  }
354
- var renderNative = isWebViewBridgeAvailable();
374
+ var renderNative = !props.forceWeb && isWebViewBridgeAvailable();
355
375
  var onAccept = props.onAccept, isClosing = props.isClosing, onCancel = props.onCancel, onCloseTransitionEnd = props.onCloseTransitionEnd, dialogProps = _objectWithoutProperties(props, [
356
376
  "onAccept",
357
377
  "isClosing",
@@ -395,16 +415,6 @@ var ModalDialog = function(props) {
395
415
  }, [
396
416
  handleKeyDown
397
417
  ]);
398
- useNativeDialog({
399
- renderNative: renderNative,
400
- acceptText: props.acceptText || context.texts.dialogAcceptButton,
401
- cancelText: props.cancelText || context.texts.dialogCancelButton,
402
- showCancel: props.showCancel,
403
- message: props.message,
404
- title: props.title,
405
- onAccept: props.onAccept,
406
- onCancel: props.onCancel
407
- });
408
418
  React.useEffect(function() {
409
419
  if (!animationsSupported(platformOverrides)) {
410
420
  addKeyDownListener();
@@ -436,7 +446,10 @@ var ModalDialog = function(props) {
436
446
  setModalState
437
447
  ]);
438
448
  var _modalClose;
439
- /* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/no-static-element-interactions */ return renderNative ? null : /*#__PURE__*/ _jsx(Portal, {
449
+ /* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/no-static-element-interactions */ return renderNative ? /*#__PURE__*/ _jsx(NativeModalDialog, _objectSpread({}, props, {
450
+ dialogAcceptButton: context.texts.dialogAcceptButton,
451
+ dialogCancelButton: context.texts.dialogCancelButton
452
+ })) : /*#__PURE__*/ _jsx(Portal, {
440
453
  children: /*#__PURE__*/ _jsx("div", {
441
454
  className: classes.wrapper,
442
455
  children: /*#__PURE__*/ _jsx(FocusTrap, {
@@ -574,13 +587,13 @@ var DialogRoot = /*#__PURE__*/ function(_Component) {
574
587
  };
575
588
  _proto.render = function render() {
576
589
  var _state = this.state, isClosing = _state.isClosing, dialogProps = _state.dialogProps;
577
- var dialog = null;
590
+ var dialog1 = null;
578
591
  if (dialogProps && this.state.instanceNumber === 1) {
579
592
  var onCancel = dialogProps.onCancel, onAccept = dialogProps.onAccept, rest = _objectWithoutProperties(dialogProps, [
580
593
  "onCancel",
581
594
  "onAccept"
582
595
  ]);
583
- dialog = /*#__PURE__*/ _jsx(ModalDialog, _objectSpread({
596
+ dialog1 = /*#__PURE__*/ _jsx(ModalDialog, _objectSpread({
584
597
  onCancel: this.createCancelHandler(onCancel),
585
598
  onAccept: this.createAcceptHandler(onAccept),
586
599
  isClosing: isClosing,
@@ -590,27 +603,40 @@ var DialogRoot = /*#__PURE__*/ function(_Component) {
590
603
  return /*#__PURE__*/ _jsxs(_Fragment, {
591
604
  children: [
592
605
  this.props.children,
593
- dialog
606
+ dialog1
594
607
  ]
595
608
  });
596
609
  };
597
610
  return DialogRoot;
598
611
  }(React.Component);
599
612
  export { DialogRoot as default };
600
- var showDialog = function() {
601
- var showCancel = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false;
613
+ var showDialog = function(param) {
614
+ var showCancel = param.showCancel, forceWeb = param.forceWeb;
602
615
  return function(props) {
603
616
  if (!dialogInstance) {
604
617
  throw Error("Tried to show a dialog but the DialogRoot component was not mounted (mount <ThemeContextProvider>)");
605
618
  }
606
619
  dialogInstance.show(_objectSpread({
607
- showCancel: showCancel
620
+ showCancel: showCancel,
621
+ forceWeb: forceWeb
608
622
  }, props));
609
623
  };
610
624
  };
611
625
  /**
612
626
  * Shows alert dialog with supplied props
613
- */ export var alert = showDialog(false);
627
+ */ export var alert = showDialog({
628
+ showCancel: false,
629
+ forceWeb: false
630
+ });
614
631
  /**
615
632
  * Shows confirm dialog with supplied props
616
- */ export var confirm = showDialog(true);
633
+ */ export var confirm = showDialog({
634
+ showCancel: true,
635
+ forceWeb: false
636
+ });
637
+ /**
638
+ * Shows dialog with supplied props
639
+ */ export var dialog = showDialog({
640
+ showCancel: false,
641
+ forceWeb: true
642
+ });
@@ -78,7 +78,7 @@ var IconGiftLight = function(_param) {
78
78
  role: "presentation"
79
79
  }, rest, {
80
80
  children: /*#__PURE__*/ _jsx("path", {
81
- d: "M19.675 21.242H12.19v-8.677h7.107v4.53c0 .207.167.376.373.376a.376.376 0 00.374-.377V10.3a1.883 1.883 0 00-1.872-1.888h-1.006a3.589 3.589 0 001.379-2.83C18.545 3.609 16.95 2 14.992 2c-1.686 0-3.099 1.193-3.463 2.786a2.599 2.599 0 00-1.963-.898 2.632 2.632 0 00-2.62 2.641c0 .739.302 1.405.79 1.888H5.453c-1.03 0-1.872.845-1.872 1.888v11.318c0 .208.168.377.374.377h15.712a.376.376 0 00.373-.377.372.372 0 00-.364-.381zM12.19 5.588c0-1.56 1.26-2.83 2.806-2.83 1.547 0 2.807 1.27 2.807 2.83s-1.26 2.83-2.807 2.83H12.19v-2.83zm5.986 3.582c.618 0 1.12.507 1.12 1.13v1.507H12.19V9.17h5.986zm-6.733 12.072H4.337v-8.677h7.106v8.677zm-7.106-9.43v-1.507c0-.623.503-1.13 1.12-1.13h5.986v2.637H4.337zm7.106-3.395H9.571A1.883 1.883 0 017.698 6.53a1.88 1.88 0 011.873-1.888 1.88 1.88 0 011.872 1.888v1.888zm8.232 11.69a.751.751 0 00.747-.753.751.751 0 00-.747-.753.751.751 0 00-.747.753.75.75 0 00.747.753z",
81
+ d: "M19.675 21.242H12.19v-8.677h7.107v4.53c0 .207.167.376.373.376a.376.376 0 00.374-.377V10.3a1.883 1.883 0 00-1.873-1.888h-1.005a3.589 3.589 0 001.379-2.83C18.545 3.609 16.95 2 14.992 2c-1.686 0-3.099 1.193-3.463 2.786a2.599 2.599 0 00-1.963-.898 2.632 2.632 0 00-2.62 2.641c0 .739.302 1.405.79 1.888H5.453c-1.03 0-1.872.845-1.872 1.888v11.318c0 .208.168.377.374.377h15.712a.376.376 0 00.373-.377.372.372 0 00-.364-.381zM12.19 5.588c0-1.56 1.26-2.83 2.806-2.83 1.547 0 2.807 1.27 2.807 2.83s-1.26 2.83-2.807 2.83H12.19v-2.83zm5.986 3.582c.618 0 1.12.507 1.12 1.13v1.507H12.19V9.17h5.986zm-6.733 12.072H4.337v-8.677h7.106v8.677zm-7.106-9.43v-1.507c0-.623.502-1.13 1.12-1.13h5.986v2.637H4.337zm7.106-3.395H9.571A1.883 1.883 0 017.698 6.53a1.88 1.88 0 011.873-1.888 1.88 1.88 0 011.872 1.888v1.888zm8.232 11.69a.751.751 0 00.747-.753.751.751 0 00-.747-.753.751.751 0 00-.747.753.75.75 0 00.747.753z",
82
82
  fill: fillColor
83
83
  })
84
84
  }));
@@ -77,7 +77,7 @@ var IconHandSnapFilled = function(_param) {
77
77
  role: "presentation"
78
78
  }, rest, {
79
79
  children: /*#__PURE__*/ _jsx("path", {
80
- d: "M9.222 2.716v3.587a.707.707 0 01-.695.717.707.707 0 01-.694-.717V2.716c0-.395.312-.716.694-.716.383 0 .695.321.695.716zm10.972 14.751c.325-.34.507-.79.507-1.267 0-.482-.182-.933-.516-1.277-.28-.29-.641-.46-1.029-.505a1.833 1.833 0 00-.2-2.283 1.698 1.698 0 00-1.029-.505 1.834 1.834 0 00-.2-2.282 1.703 1.703 0 00-.989-.5l2.467-2.545a1.836 1.836 0 000-2.535 1.704 1.704 0 00-2.458 0L9.13 11.63 6.403 8.82a1.672 1.672 0 00-2.422 0 1.77 1.77 0 00-.503 1.249c0 .473.178.914.503 1.249l1.79 1.846a5.5 5.5 0 011.434 2.723l.254 1.236a6.21 6.21 0 001.62 3.081 5.882 5.882 0 003.901 1.791h.008l.02.001c.039.001.111.004.213.004.69 0 2.694-.12 3.922-1.428a3.225 3.225 0 01.235-.217c.055-.049.111-.098.162-.15l2.654-2.738zM6.929 6.157a.734.734 0 010 1.014.685.685 0 01-.49.211.667.667 0 01-.49-.21L3.514 4.658a.734.734 0 010-1.015.681.681 0 01.984 0l2.43 2.512zm4.177 1.014L13.54 4.66a.734.734 0 000-1.015.681.681 0 00-.984 0L10.12 6.157a.734.734 0 000 1.015.667.667 0 00.49.211.703.703 0 00.495-.21z",
80
+ d: "M9.222 2.716v3.587a.707.707 0 01-.695.717.707.707 0 01-.694-.717V2.716c0-.395.311-.716.694-.716.383 0 .695.321.695.716zm10.972 14.751c.325-.34.507-.79.507-1.267 0-.482-.182-.933-.516-1.277a1.69 1.69 0 00-1.029-.505 1.834 1.834 0 00-.2-2.283 1.7 1.7 0 00-1.029-.505 1.834 1.834 0 00-.2-2.282 1.703 1.703 0 00-.989-.5l2.467-2.545a1.836 1.836 0 000-2.535 1.704 1.704 0 00-2.458 0L9.128 11.63 6.403 8.82a1.672 1.672 0 00-2.422 0 1.77 1.77 0 00-.503 1.249c0 .473.178.914.503 1.249l1.79 1.846a5.5 5.5 0 011.434 2.723l.254 1.236a6.21 6.21 0 001.62 3.081 5.882 5.882 0 003.901 1.791h.008l.02.001c.038.001.111.004.213.004.69 0 2.693-.12 3.922-1.428a8.106 8.106 0 01.235-.216c.055-.05.11-.1.162-.152l2.654-2.737zM6.928 6.157a.734.734 0 010 1.014.685.685 0 01-.49.211.667.667 0 01-.49-.21L3.514 4.658a.734.734 0 010-1.015.681.681 0 01.984 0l2.43 2.512zm4.176 1.014l2.436-2.512a.734.734 0 000-1.015.681.681 0 00-.984 0L10.12 6.156a.734.734 0 000 1.015.667.667 0 00.49.211.703.703 0 00.494-.21z",
81
81
  fill: fillColor
82
82
  })
83
83
  }));
@@ -79,7 +79,7 @@ var IconIntranetLight = function(_param) {
79
79
  }, rest, {
80
80
  children: [
81
81
  /*#__PURE__*/ _jsx("path", {
82
- d: "M2 12C2 6.5 6.5 2 12 2s10 4.5 10 10a9.871 9.871 0 01-1.572 5.356c-.104.18-.32.216-.5.108-.18-.104-.216-.32-.108-.5a9.588 9.588 0 001.428-4.608H17.32c-.036 3.824-1.216 7.036-2.928 8.608.892-.252 1.752-.608 2.536-1.108.176-.108.392-.072.5.108.108.176.072.392-.108.5A9.925 9.925 0 0112 22C6.5 22 2 17.5 2 12zm5.464-5.356c.5-1.536 1.248-2.784 2.144-3.608C5.752 4.072 2.856 7.5 2.716 11.644h3.928c0-.536.036-1.036.108-1.536a1.823 1.823 0 01-1.18-1.68c0-1 .784-1.784 1.784-1.784h.108zm.964 1.784c0 .608-.464 1.072-1.072 1.072a1.055 1.055 0 01-1.072-1.072c0-.608.464-1.072 1.072-1.072a1.057 1.057 0 011.072 1.072zM6.64 12.356H2.716c.14 4.144 3.036 7.572 6.888 8.608-1.712-1.572-2.892-4.788-2.964-8.608zm5.004 8.928v-8.928H7.36c.104 4.716 1.96 8.572 4.284 8.928zm-4.284-9.64h4.284l.004-8.924c-1.428.212-2.712 1.856-3.464 4.14.568.288.964.892.964 1.572 0 .96-.752 1.748-1.68 1.784a9.186 9.186 0 00-.108 1.428zm4.996 9.64c2.32-.356 4.18-4.216 4.284-8.928h-4.284v8.928zm0-18.568v8.928h4.284c-.104-4.716-1.96-8.572-4.284-8.928zm5 8.928h3.928c-.144-4.144-3.036-7.572-6.892-8.608 1.712 1.572 2.892 4.788 2.964 8.608z",
82
+ d: "M2 12C2 6.5 6.5 2 12 2s10 4.5 10 10a9.871 9.871 0 01-1.572 5.356c-.104.18-.32.216-.5.108-.18-.104-.216-.32-.108-.5a9.588 9.588 0 001.428-4.608H17.32c-.036 3.824-1.216 7.036-2.928 8.608.892-.252 1.752-.608 2.536-1.108.176-.108.392-.072.5.108.108.176.072.392-.108.5A9.925 9.925 0 0112 22C6.5 22 2 17.5 2 12zm5.464-5.356c.5-1.536 1.248-2.784 2.144-3.608C5.752 4.072 2.856 7.5 2.716 11.644h3.928c0-.536.036-1.036.108-1.536a1.823 1.823 0 01-1.18-1.68c0-1 .784-1.784 1.784-1.784h.108zm.964 1.784c0-.608-.468-1.068-1.072-1.072-.608 0-1.072.464-1.072 1.072 0 .608.468 1.072 1.072 1.072.608 0 1.072-.464 1.072-1.072zM6.64 12.356H2.716c.14 4.144 3.036 7.572 6.888 8.608-1.712-1.572-2.892-4.788-2.964-8.608zm5.004 8.928v-8.928H7.36c.104 4.716 1.96 8.572 4.284 8.928zm-4.284-9.64h4.284l.004-8.924c-1.428.212-2.712 1.856-3.464 4.14.568.288.964.892.964 1.572 0 .96-.752 1.748-1.68 1.784a9.186 9.186 0 00-.108 1.428zm4.996 9.64c2.32-.356 4.18-4.216 4.284-8.928h-4.284v8.928zm0-18.568v8.928h4.284c-.104-4.716-1.96-8.572-4.284-8.928zm5 8.928h3.928c-.144-4.144-3.036-7.572-6.892-8.608 1.712 1.572 2.892 4.788 2.964 8.608z",
83
83
  fill: fillColor
84
84
  }),
85
85
  /*#__PURE__*/ _jsx("path", {
@@ -67,25 +67,45 @@ var IconPhotoCameraFilled = function(_param) {
67
67
  "size",
68
68
  "children"
69
69
  ]);
70
- var colors = useTheme().colors;
70
+ var ref = useTheme(), skinName = ref.skinName, colors = ref.colors;
71
71
  var isInverse = useIsInverseVariant();
72
72
  var fillColor = color !== null && color !== void 0 ? color : isInverse ? colors.inverse : colors.neutralHigh;
73
- return /*#__PURE__*/ _jsxs("svg", _objectSpread({
74
- width: size,
75
- height: size,
76
- viewBox: "0 0 24 24",
77
- role: "presentation"
78
- }, rest, {
79
- children: [
80
- /*#__PURE__*/ _jsx("path", {
81
- d: "M8.248 12.712a3.753 3.753 0 013.748-3.748 3.753 3.753 0 013.748 3.748 3.75 3.75 0 01-3.748 3.748 3.75 3.75 0 01-3.748-3.748z",
82
- fill: fillColor
83
- }),
84
- /*#__PURE__*/ _jsx("path", {
85
- d: "M17.648 6.288h2.204c1.18 0 2.144.96 2.144 2.144v10c0 1.184-.96 2.144-2.144 2.144H4.14a2.144 2.144 0 01-2.144-2.144v-10c0-1.184.96-2.144 2.144-2.144h2.2L8.992 3.64a.69.69 0 01.504-.212h5c.188 0 .372.076.508.212l2.644 2.648zM7.176 12.716c0 2.66 2.164 4.82 4.82 4.82s4.82-2.16 4.82-4.82-2.164-4.82-4.82-4.82a4.825 4.825 0 00-4.82 4.82z",
86
- fill: fillColor
87
- })
88
- ]
89
- }));
73
+ if (skinName.match(/^o2/i)) {
74
+ return /*#__PURE__*/ _jsxs("svg", _objectSpread({
75
+ width: size,
76
+ height: size,
77
+ viewBox: "0 0 24 24",
78
+ role: "presentation"
79
+ }, rest, {
80
+ children: [
81
+ /*#__PURE__*/ _jsx("path", {
82
+ d: "M8.248 12.712a3.753 3.753 0 013.748-3.748 3.753 3.753 0 013.748 3.748 3.75 3.75 0 01-3.748 3.748 3.75 3.75 0 01-3.748-3.748z",
83
+ fill: fillColor
84
+ }),
85
+ /*#__PURE__*/ _jsx("path", {
86
+ d: "M17.648 6.288h2.204c1.18 0 2.144.96 2.144 2.144v10c0 1.184-.96 2.144-2.144 2.144H4.14a2.144 2.144 0 01-2.144-2.144v-10c0-1.184.96-2.144 2.144-2.144h2.2L8.992 3.64a.69.69 0 01.504-.212h5c.188 0 .372.076.508.212l2.644 2.648zM7.176 12.716c0 2.66 2.164 4.82 4.82 4.82s4.82-2.16 4.82-4.82-2.164-4.82-4.82-4.82a4.825 4.825 0 00-4.82 4.82z",
87
+ fill: fillColor
88
+ })
89
+ ]
90
+ }));
91
+ } else {
92
+ return /*#__PURE__*/ _jsxs("svg", _objectSpread({
93
+ width: size,
94
+ height: size,
95
+ viewBox: "0 0 24 24",
96
+ role: "presentation"
97
+ }, rest, {
98
+ children: [
99
+ /*#__PURE__*/ _jsx("path", {
100
+ d: "M11.597 11.36h.806a1.327 1.327 0 011.329 1.33v.805a1.33 1.33 0 01-1.33 1.33h-.805a1.327 1.327 0 01-1.33-1.33v-.806a1.33 1.33 0 011.33-1.329z",
101
+ fill: fillColor
102
+ }),
103
+ /*#__PURE__*/ _jsx("path", {
104
+ d: "M9.603 5.36a1.636 1.636 0 011.468-.913h1.69c.597 0 1.146.324 1.434.847l.722 1.313h5.345c.96 0 1.738.779 1.738 1.739v9.461c0 .96-.778 1.739-1.738 1.739H3.331A1.331 1.331 0 012 18.214V8.346c0-.96.778-1.739 1.738-1.739h5.25l.615-1.247zm1.994 4.773a2.556 2.556 0 00-2.556 2.556v.806a2.556 2.556 0 002.556 2.556h.806a2.556 2.556 0 002.556-2.556v-.806a2.556 2.556 0 00-2.556-2.556h-.806z",
105
+ fill: fillColor
106
+ })
107
+ ]
108
+ }));
109
+ }
90
110
  };
91
111
  export default IconPhotoCameraFilled;