@telus-uds/components-base 3.29.0 → 3.30.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 (105) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/jest.config.cjs +1 -0
  3. package/lib/cjs/ActionCard/ActionCard.js +4 -4
  4. package/lib/cjs/ActivityIndicator/Dots.native.js +1 -2
  5. package/lib/cjs/ActivityIndicator/Spinner.native.js +1 -2
  6. package/lib/cjs/Box/Box.js +1 -2
  7. package/lib/cjs/Button/Button.js +1 -2
  8. package/lib/cjs/Button/ButtonBase.js +8 -8
  9. package/lib/cjs/Button/ButtonDropdown.js +1 -2
  10. package/lib/cjs/Button/ButtonGroup.js +1 -2
  11. package/lib/cjs/Button/ButtonLink.js +1 -2
  12. package/lib/cjs/Card/Card.js +1 -2
  13. package/lib/cjs/Card/PressableCardBase.js +1 -2
  14. package/lib/cjs/Card/index.js +1 -2
  15. package/lib/cjs/CardGroup/CardGroup.js +1 -2
  16. package/lib/cjs/Carousel/Carousel.js +12 -7
  17. package/lib/cjs/Carousel/CarouselThumbnail.js +123 -31
  18. package/lib/cjs/Carousel/CarouselThumbnailNavigation.js +8 -1
  19. package/lib/cjs/CheckboxCard/CheckboxCard.js +1 -2
  20. package/lib/cjs/CheckboxCardGroup/CheckboxCardGroup.js +1 -2
  21. package/lib/cjs/Footnote/FootnoteLink.js +18 -17
  22. package/lib/cjs/HorizontalScroll/index.js +1 -2
  23. package/lib/cjs/Icon/IconText.js +1 -2
  24. package/lib/cjs/Icon/index.js +1 -2
  25. package/lib/cjs/InputSupports/InputSupports.js +1 -2
  26. package/lib/cjs/InputSupports/useInputSupports.js +1 -3
  27. package/lib/cjs/Link/MobileIconTextContent.js +1 -2
  28. package/lib/cjs/Listbox/Listbox.js +1 -2
  29. package/lib/cjs/Modal/Modal.js +1 -1
  30. package/lib/cjs/Pagination/PageButton.js +1 -2
  31. package/lib/cjs/Pagination/Pagination.js +1 -2
  32. package/lib/cjs/Progress/Progress.js +30 -5
  33. package/lib/cjs/QuickLinks/QuickLinks.js +7 -0
  34. package/lib/cjs/Radio/Radio.js +1 -2
  35. package/lib/cjs/RadioCard/RadioCard.js +1 -2
  36. package/lib/cjs/RadioCard/RadioCardGroup.js +1 -2
  37. package/lib/cjs/Scroll/Scroll.js +466 -0
  38. package/lib/cjs/Scroll/ScrollContext.js +55 -0
  39. package/lib/cjs/Scroll/ScrollItem.js +103 -0
  40. package/lib/cjs/Scroll/ScrollProgress.js +99 -0
  41. package/lib/cjs/Scroll/dictionary.js +18 -0
  42. package/lib/cjs/Scroll/index.js +29 -0
  43. package/lib/cjs/Shortcuts/Shortcuts.js +1 -2
  44. package/lib/cjs/SideNav/SideNav.js +1 -2
  45. package/lib/cjs/StackView/StackWrapBox.js +9 -1
  46. package/lib/cjs/StackView/StackWrapGap.js +3 -1
  47. package/lib/cjs/StackView/getStackedContent.js +21 -12
  48. package/lib/cjs/Tabs/Tabs.js +1 -2
  49. package/lib/cjs/Tooltip/Tooltip.native.js +2 -2
  50. package/lib/cjs/index.js +16 -2
  51. package/lib/cjs/utils/animation/index.js +7 -0
  52. package/lib/cjs/utils/animation/useAnimatedValue.js +46 -0
  53. package/lib/cjs/utils/children.js +2 -1
  54. package/lib/cjs/utils/index.js +1 -2
  55. package/lib/esm/ActionCard/ActionCard.js +4 -4
  56. package/lib/esm/Button/ButtonBase.js +8 -8
  57. package/lib/esm/Carousel/Carousel.js +12 -7
  58. package/lib/esm/Carousel/CarouselThumbnail.js +124 -32
  59. package/lib/esm/Carousel/CarouselThumbnailNavigation.js +8 -1
  60. package/lib/esm/Footnote/FootnoteLink.js +18 -17
  61. package/lib/esm/InputSupports/InputSupports.js +1 -2
  62. package/lib/esm/InputSupports/useInputSupports.js +1 -3
  63. package/lib/esm/Modal/Modal.js +1 -1
  64. package/lib/esm/Progress/Progress.js +30 -5
  65. package/lib/esm/QuickLinks/QuickLinks.js +7 -0
  66. package/lib/esm/Scroll/Scroll.js +459 -0
  67. package/lib/esm/Scroll/ScrollContext.js +47 -0
  68. package/lib/esm/Scroll/ScrollItem.js +96 -0
  69. package/lib/esm/Scroll/ScrollProgress.js +92 -0
  70. package/lib/esm/Scroll/dictionary.js +12 -0
  71. package/lib/esm/Scroll/index.js +4 -0
  72. package/lib/esm/StackView/StackWrapBox.js +9 -1
  73. package/lib/esm/StackView/StackWrapGap.js +3 -1
  74. package/lib/esm/StackView/getStackedContent.js +20 -10
  75. package/lib/esm/Tooltip/Tooltip.native.js +2 -2
  76. package/lib/esm/index.js +1 -0
  77. package/lib/esm/utils/animation/index.js +1 -1
  78. package/lib/esm/utils/animation/useAnimatedValue.js +39 -0
  79. package/lib/esm/utils/children.js +2 -1
  80. package/lib/package.json +2 -2
  81. package/package.json +2 -2
  82. package/src/Carousel/Carousel.jsx +6 -1
  83. package/src/Carousel/CarouselThumbnail.jsx +153 -64
  84. package/src/Carousel/CarouselThumbnailNavigation.jsx +8 -2
  85. package/src/Footnote/FootnoteLink.jsx +17 -12
  86. package/src/InputSupports/InputSupports.jsx +1 -6
  87. package/src/InputSupports/useInputSupports.js +1 -1
  88. package/src/Modal/Modal.jsx +1 -1
  89. package/src/Progress/Progress.jsx +22 -3
  90. package/src/QuickLinks/QuickLinks.jsx +8 -0
  91. package/src/Scroll/Scroll.jsx +488 -0
  92. package/src/Scroll/ScrollContext.jsx +41 -0
  93. package/src/Scroll/ScrollItem.jsx +89 -0
  94. package/src/Scroll/ScrollProgress.jsx +75 -0
  95. package/src/Scroll/dictionary.js +12 -0
  96. package/src/Scroll/index.js +5 -0
  97. package/src/StackView/StackWrapBox.jsx +13 -1
  98. package/src/StackView/StackWrapGap.jsx +2 -1
  99. package/src/StackView/getStackedContent.jsx +22 -8
  100. package/src/index.js +1 -0
  101. package/src/utils/animation/index.js +1 -1
  102. package/src/utils/animation/useAnimatedValue.js +37 -0
  103. package/src/utils/children.jsx +4 -1
  104. package/types/Scroll.d.ts +66 -0
  105. package/types/index.d.ts +9 -0
package/CHANGELOG.md CHANGED
@@ -1,9 +1,34 @@
1
1
  # Change Log - @telus-uds/components-base
2
2
 
3
- This log was last generated on Fri, 13 Mar 2026 20:33:41 GMT and should not be manually modified.
3
+ This log was last generated on Thu, 16 Apr 2026 21:04:33 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 3.30.0
8
+
9
+ Thu, 16 Apr 2026 21:04:33 GMT
10
+
11
+ ### Minor changes
12
+
13
+ - `Carousel`: Add `isVideo` prop to thumbnail navigation to display a play icon overlay on video thumbnails (josue.higueros@telus.com)
14
+ - `Scroll`: add component (guillermo.peitzner@telus.com)
15
+ - Bump @telus-uds/system-theme-tokens to v4.21.0
16
+
17
+ ### Patches
18
+
19
+ - `FootnoteLink`: fixed superscript text positioning on native to correctly align with surrounding text (josue.higueroscalderon@telus.com)
20
+
21
+ ## 3.29.1
22
+
23
+ Mon, 06 Apr 2026 21:25:55 GMT
24
+
25
+ ### Patches
26
+
27
+ - `ExpandCollapse`: columnwrap example fixed in mobile (josue.higueroscalderon@telus.com)
28
+ - `Modal`: Fix onPress error when backgroundDismissible is false (david.melara1@telus.com)
29
+ - `QuickLinks`: Add `listitem` role to item wrappers on web in button mode for proper ARIA semantics. (sergio.ramirez@telus.com)
30
+ - `TextInput`: Include hint and feedback in the describedBy prop (david.melara1@telus.com)
31
+
7
32
  ## 3.29.0
8
33
 
9
34
  Fri, 13 Mar 2026 20:33:41 GMT
package/jest.config.cjs CHANGED
@@ -34,6 +34,7 @@ module.exports = {
34
34
  '^@telus-uds/system-theme-tokens$': '<rootDir>/../system-theme-tokens/src'
35
35
  },
36
36
  testMatch: [`<rootDir>/__tests__/**/*.test.js?(x)`],
37
+ testPathIgnorePatterns: ['\\.web\\.test\\.'],
37
38
  transformIgnorePatterns: [
38
39
  'node_modules/(?!(jest-)?react-native|@react-native|@react-native-community|react-native-web|@react-native-picker)'
39
40
  ],
@@ -160,11 +160,11 @@ const selectActionIconStyles = _ref9 => {
160
160
  marginTop: actionIconMarginTop
161
161
  };
162
162
  };
163
- const selectActionIconProps = _ref10 => {
163
+ const selectActionIconProps = _ref0 => {
164
164
  let {
165
165
  actionIcon,
166
166
  actionIconColor
167
- } = _ref10;
167
+ } = _ref0;
168
168
  return {
169
169
  icon: actionIcon,
170
170
  tokens: {
@@ -193,7 +193,7 @@ const ACTION_ICON_ANIMATION_DURATION = 100;
193
193
  * </ActionCard>
194
194
  * )
195
195
  */
196
- const ActionCard = /*#__PURE__*/_react.default.forwardRef((_ref11, ref) => {
196
+ const ActionCard = /*#__PURE__*/_react.default.forwardRef((_ref1, ref) => {
197
197
  let {
198
198
  icon,
199
199
  title,
@@ -204,7 +204,7 @@ const ActionCard = /*#__PURE__*/_react.default.forwardRef((_ref11, ref) => {
204
204
  tokens,
205
205
  variant,
206
206
  ...rest
207
- } = _ref11;
207
+ } = _ref1;
208
208
  const themeTokens = (0, _ThemeProvider.useThemeTokens)('ActionCard', tokens, variant);
209
209
  const actionIconAnimation = _react.default.useRef(new _Animated.default.Value(0)).current;
210
210
  const {
@@ -13,8 +13,7 @@ var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
13
13
  var _shared = require("./shared");
14
14
  var _A11yInfoProvider = require("../A11yInfoProvider");
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
18
17
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
18
  const AnimatedCircle = _Animated.default.createAnimatedComponent(_reactNativeSvg.Circle);
20
19
  const Dots = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
@@ -12,8 +12,7 @@ var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
12
12
  var _shared = require("./shared");
13
13
  var _A11yInfoProvider = require("../A11yInfoProvider");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
17
  const Spinner = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
19
18
  let {
@@ -17,8 +17,7 @@ var _utils = require("../utils");
17
17
  var _backgroundImageStylesMap = _interopRequireWildcard(require("./backgroundImageStylesMap"));
18
18
  var _ViewportProvider = require("../ViewportProvider");
19
19
  var _jsxRuntime = require("react/jsx-runtime");
20
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
22
21
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
23
22
  const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
24
23
 
@@ -11,8 +11,7 @@ var _ThemeProvider = require("../ThemeProvider");
11
11
  var _props = require("../utils/props");
12
12
  var _ViewportProvider = require("../ViewportProvider");
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
16
  const Button = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
18
17
  let {
@@ -225,27 +225,27 @@ const selectWebOnlyStyles = (inactive, themeTokens, _ref9) => {
225
225
  default: {}
226
226
  });
227
227
  };
228
- const selectButtonStyles = _ref10 => {
228
+ const selectButtonStyles = _ref0 => {
229
229
  let {
230
230
  textAlign
231
- } = _ref10;
231
+ } = _ref0;
232
232
  return {
233
233
  flexDirection: 'row',
234
234
  justifyContent: textAlign
235
235
  };
236
236
  };
237
- const selectItemIconTokens = _ref11 => {
237
+ const selectItemIconTokens = _ref1 => {
238
238
  let {
239
239
  color,
240
240
  iconColor,
241
241
  iconSize
242
- } = _ref11;
242
+ } = _ref1;
243
243
  return {
244
244
  size: iconSize,
245
245
  color: iconColor || color
246
246
  };
247
247
  };
248
- const ButtonBase = /*#__PURE__*/_react.default.forwardRef((_ref12, ref) => {
248
+ const ButtonBase = /*#__PURE__*/_react.default.forwardRef((_ref10, ref) => {
249
249
  let {
250
250
  id,
251
251
  href,
@@ -261,7 +261,7 @@ const ButtonBase = /*#__PURE__*/_react.default.forwardRef((_ref12, ref) => {
261
261
  iconProps,
262
262
  heightFull = true,
263
263
  ...rawRest
264
- } = _ref12;
264
+ } = _ref10;
265
265
  const {
266
266
  themeOptions
267
267
  } = (0, _ThemeProvider.useTheme)();
@@ -289,8 +289,8 @@ const ButtonBase = /*#__PURE__*/_react.default.forwardRef((_ref12, ref) => {
289
289
  focused: false
290
290
  };
291
291
  const defaultTokensByViewport = resolveButtonTokens(defaultPressableState);
292
- const layoutTokensByViewport = Object.entries(defaultTokensByViewport).reduce((acc, _ref13) => {
293
- let [vp, viewportTokens] = _ref13;
292
+ const layoutTokensByViewport = Object.entries(defaultTokensByViewport).reduce((acc, _ref11) => {
293
+ let [vp, viewportTokens] = _ref11;
294
294
  const flexAndWidthStyles = viewportTokens.width === '100%' && viewportTokens.flex === 1 ? selectFlexAndWidthStyles(viewportTokens) : {};
295
295
  acc[vp] = {
296
296
  ...staticStyles.row,
@@ -17,8 +17,7 @@ var _utils = require("../utils");
17
17
  var _Icon = _interopRequireDefault(require("../Icon"));
18
18
  var _pressability = require("../utils/pressability");
19
19
  var _jsxRuntime = require("react/jsx-runtime");
20
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
22
21
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
23
22
  const FULL_WIDTH_STYLE = 'full';
24
23
  const selectIconTokens = _ref => {
@@ -18,8 +18,7 @@ var _utils = require("../utils");
18
18
  var _pressability = require("../utils/pressability");
19
19
  var _jsxRuntime = require("react/jsx-runtime");
20
20
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
21
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
22
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
23
22
  const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
24
23
  const [selectItemProps, selectedItemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.focusHandlerProps, _utils.pressProps, _utils.viewProps]);
25
24
  const ButtonGroup = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
@@ -12,8 +12,7 @@ var _props = require("../utils/props");
12
12
  var _ThemeProvider = require("../ThemeProvider");
13
13
  var _ViewportProvider = require("../ViewportProvider");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
17
  /**
19
18
  * `ButtonLink` is a component with the semantics and behaviour of a link, but with the visual appearance of a button.
@@ -16,8 +16,7 @@ var _PressableCardBase = _interopRequireDefault(require("./PressableCardBase"));
16
16
  var _CheckboxButton = _interopRequireDefault(require("../Checkbox/CheckboxButton"));
17
17
  var _RadioButton = _interopRequireDefault(require("../Radio/RadioButton"));
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
20
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
21
20
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
21
  const [selectProps, selectedSystemPropTypes] = (0, _props.selectSystemProps)([_props.a11yProps, _props.viewProps, _props.linkProps]);
23
22
  const SelectionType = {
@@ -15,8 +15,7 @@ var _ThemeProvider = require("../ThemeProvider");
15
15
  var _utils = require("../utils");
16
16
  var _CardBase = _interopRequireWildcard(require("./CardBase"));
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
20
19
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
21
20
  const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.focusHandlerProps, _utils.viewProps]);
22
21
  const selectFocusOverlayContainerStyles = tokens => {
@@ -26,7 +26,6 @@ Object.keys(_PressableCardBase).forEach(function (key) {
26
26
  }
27
27
  });
28
28
  });
29
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
30
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
29
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
31
30
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
32
31
  var _default = exports.default = _Card.default;
@@ -14,8 +14,7 @@ var _StackView = _interopRequireWildcard(require("../StackView"));
14
14
  var _Card = _interopRequireDefault(require("../Card"));
15
15
  var _Fieldset = _interopRequireDefault(require("../Fieldset"));
16
16
  var _jsxRuntime = require("react/jsx-runtime");
17
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
19
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
19
  const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
21
20
  const [selectItemProps, selectedItemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.focusHandlerProps, _utils.viewProps]);
@@ -768,7 +768,7 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref3, ref) => {
768
768
  height
769
769
  }));
770
770
  };
771
- const onHeroContainerLayout = _ref10 => {
771
+ const onHeroContainerLayout = _ref0 => {
772
772
  let {
773
773
  nativeEvent: {
774
774
  layout: {
@@ -778,7 +778,7 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref3, ref) => {
778
778
  height
779
779
  }
780
780
  }
781
- } = _ref10;
781
+ } = _ref0;
782
782
  return setHeroContainerLayout(prevState => ({
783
783
  ...prevState,
784
784
  x,
@@ -787,17 +787,17 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref3, ref) => {
787
787
  height
788
788
  }));
789
789
  };
790
- const onPreviousNextNavigationButtonLayout = _ref11 => {
790
+ const onPreviousNextNavigationButtonLayout = _ref1 => {
791
791
  let {
792
792
  nativeEvent: {
793
793
  layout: {
794
794
  width
795
795
  }
796
796
  }
797
- } = _ref11;
797
+ } = _ref1;
798
798
  return setPreviousNextNavigationButtonWidth(width);
799
799
  };
800
- const onRootContainerLayout = _ref12 => {
800
+ const onRootContainerLayout = _ref10 => {
801
801
  let {
802
802
  nativeEvent: {
803
803
  layout: {
@@ -807,7 +807,7 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref3, ref) => {
807
807
  height
808
808
  }
809
809
  }
810
- } = _ref12;
810
+ } = _ref10;
811
811
  return setRootContainerLayout(prevState => ({
812
812
  ...prevState,
813
813
  x,
@@ -1177,9 +1177,14 @@ Carousel.propTypes = {
1177
1177
  * An array of objects containing information on the thumbnails to be rendered as navigation panel
1178
1178
  */
1179
1179
  thumbnails: _propTypes.default.arrayOf(_propTypes.default.shape({
1180
+ /** Accessibility label for the thumbnail image, used by assistive technologies. */
1180
1181
  accessibilityLabel: _propTypes.default.string,
1182
+ /** Alternative text for the thumbnail image, displayed when the image cannot be rendered. */
1181
1183
  alt: _propTypes.default.string,
1182
- src: _propTypes.default.string
1184
+ /** When true, renders a play icon overlay on the thumbnail to indicate that the slide contains a video. */
1185
+ isVideo: _propTypes.default.bool,
1186
+ /** URL or path of the thumbnail image. When used with `isVideo`, this should be the video's poster/preview image. */
1187
+ src: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
1183
1188
  })),
1184
1189
  /**
1185
1190
  * Minimal part of slide width must be swiped for changing index.
@@ -6,11 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
9
10
  var _Pressable = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Pressable"));
10
11
  var _Image = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Image"));
12
+ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
11
13
  var _CarouselContext = require("./CarouselContext");
12
14
  var _ThemeProvider = require("../ThemeProvider");
13
15
  var _ViewportProvider = require("../ViewportProvider");
16
+ var _Icon = _interopRequireDefault(require("../Icon"));
14
17
  var _jsxRuntime = require("react/jsx-runtime");
15
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
19
  const selectPressableTokens = _ref => {
@@ -30,17 +33,64 @@ const selectPressableTokens = _ref => {
30
33
  };
31
34
  };
32
35
 
36
+ // Play icon overlay appearance is consistent across all brands and is not theme-configurable.
37
+ // The circle occupies 55% of the thumbnail size, and the icon occupies 55% of the circle diameter.
38
+ const PLAY_ICON_RATIO = 0.55;
39
+ const PLAY_ICON_BORDER_RADIUS_DIVISOR = 2;
40
+ const selectImageStyles = size => ({
41
+ width: size,
42
+ height: size
43
+ });
44
+ const selectSelectedStyles = _ref2 => {
45
+ let {
46
+ selectedBorderColor,
47
+ selectedBorderWidth,
48
+ padding,
49
+ margin
50
+ } = _ref2;
51
+ return {
52
+ borderColor: selectedBorderColor,
53
+ borderWidth: selectedBorderWidth,
54
+ padding: padding - selectedBorderWidth,
55
+ marginBottom: margin + selectedBorderWidth
56
+ };
57
+ };
58
+ const selectNonSelectedStyles = _ref3 => {
59
+ let {
60
+ borderWidth,
61
+ padding,
62
+ margin,
63
+ selectedBorderWidth
64
+ } = _ref3;
65
+ return {
66
+ padding: padding - borderWidth,
67
+ marginBottom: margin + selectedBorderWidth
68
+ };
69
+ };
70
+ const selectPlayIconCircleStyles = thumbnailSize => {
71
+ const diameter = thumbnailSize * PLAY_ICON_RATIO;
72
+ return {
73
+ width: diameter,
74
+ height: diameter,
75
+ borderRadius: diameter / PLAY_ICON_BORDER_RADIUS_DIVISOR
76
+ };
77
+ };
78
+ const selectPlayIconTokens = thumbnailSize => ({
79
+ size: thumbnailSize * PLAY_ICON_RATIO * PLAY_ICON_RATIO
80
+ });
81
+
33
82
  /**
34
83
  * `Carousel.Thumbnail` is used to wrap the content of an individual slide and is suppsoed to be the
35
84
  * only top-level component passed to the `Carousel`
36
85
  */
37
- const CarouselThumbnail = /*#__PURE__*/_react.default.forwardRef((_ref2, ref) => {
86
+ const CarouselThumbnail = /*#__PURE__*/_react.default.forwardRef((_ref4, ref) => {
38
87
  let {
39
88
  accessibilityLabel,
40
89
  alt,
41
90
  index,
91
+ isVideo,
42
92
  src
43
- } = _ref2;
93
+ } = _ref4;
44
94
  const {
45
95
  activeIndex,
46
96
  itemLabel,
@@ -62,59 +112,101 @@ const CarouselThumbnail = /*#__PURE__*/_react.default.forwardRef((_ref2, ref) =>
62
112
  selectedBorderColor,
63
113
  selectedBorderWidth,
64
114
  size,
65
- margin
115
+ margin,
116
+ playIcon
66
117
  } = getThumbnailTokens({
67
118
  viewport
68
119
  });
69
- const styles = {
70
- image: {
71
- height: size,
72
- width: size
73
- },
74
- selected: {
75
- borderColor: selectedBorderColor,
76
- borderWidth: selectedBorderWidth,
77
- padding: padding - selectedBorderWidth,
78
- marginBottom: margin + selectedBorderWidth
79
- },
80
- nonSelected: {
81
- padding: padding - borderWidth,
82
- marginBottom: margin + selectedBorderWidth
83
- }
84
- };
85
120
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default, {
86
121
  onKeyDown: handleKeyDown,
87
122
  onPress: handlePress,
88
- style: _ref3 => {
123
+ style: _ref5 => {
89
124
  let {
90
125
  hovered,
91
126
  pressed,
92
127
  focused
93
- } = _ref3;
128
+ } = _ref5;
94
129
  const pressableStyles = selectPressableTokens(getThumbnailTokens({
95
130
  hover: hovered,
96
131
  pressed,
97
132
  focus: focused
98
133
  }));
99
- return [pressableStyles, index === activeIndex ? [styles.selected, {
100
- outline: 'none'
101
- }] : styles.nonSelected];
134
+ return [pressableStyles, index === activeIndex ? [selectSelectedStyles({
135
+ selectedBorderColor,
136
+ selectedBorderWidth,
137
+ padding,
138
+ margin
139
+ }), staticStyles.selectedPressableOutline] : selectNonSelectedStyles({
140
+ borderWidth,
141
+ padding,
142
+ margin,
143
+ selectedBorderWidth
144
+ })];
102
145
  },
103
146
  ref: ref,
104
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Image.default, {
105
- accessibilityIgnoresInvertColors: true,
106
- accessibilityLabel: accessibilityLabel ?? alt,
107
- source: src,
108
- style: styles.image,
109
- title: thumbnailTitle
147
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
148
+ style: [staticStyles.imageContainer, selectImageStyles(size)],
149
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Image.default, {
150
+ accessibilityIgnoresInvertColors: true,
151
+ accessibilityLabel: accessibilityLabel ?? alt,
152
+ source: src,
153
+ style: selectImageStyles(size),
154
+ title: thumbnailTitle
155
+ }), isVideo && playIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
156
+ style: staticStyles.playIconOverlayContainer,
157
+ testID: `play-icon-overlay-${index}`,
158
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
159
+ style: [selectPlayIconCircleStyles(size), staticStyles.playIconCircleBackground],
160
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.default, {
161
+ icon: playIcon,
162
+ tokens: {
163
+ ...selectPlayIconTokens(size),
164
+ color: staticStyles.playIconSymbol.color
165
+ }
166
+ })
167
+ })
168
+ })]
110
169
  })
111
170
  }, src);
112
171
  });
113
172
  CarouselThumbnail.displayName = 'CarouselThumbnail';
114
173
  CarouselThumbnail.propTypes = {
174
+ /** Accessibility label for screen readers, overrides the alt text */
115
175
  accessibilityLabel: _propTypes.default.string,
176
+ /** Alt text for the thumbnail image */
116
177
  alt: _propTypes.default.string,
178
+ /** Zero-based index of this thumbnail within the carousel */
117
179
  index: _propTypes.default.number,
118
- src: _propTypes.default.string
180
+ /**
181
+ * When true, renders a play icon overlay on the thumbnail to indicate that the slide contains a video.
182
+ */
183
+ isVideo: _propTypes.default.bool,
184
+ /** Image source URI (web) or local asset require() (native) */
185
+ src: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
119
186
  };
187
+ const staticStyles = _StyleSheet.default.create({
188
+ imageContainer: {
189
+ position: 'relative'
190
+ },
191
+ playIconOverlayContainer: {
192
+ position: 'absolute',
193
+ top: 0,
194
+ left: 0,
195
+ right: 0,
196
+ bottom: 0,
197
+ justifyContent: 'center',
198
+ alignItems: 'center'
199
+ },
200
+ selectedPressableOutline: {
201
+ outlineStyle: 'none'
202
+ },
203
+ playIconCircleBackground: {
204
+ backgroundColor: 'rgba(0, 0, 0, 0.6)',
205
+ justifyContent: 'center',
206
+ alignItems: 'center'
207
+ },
208
+ playIconSymbol: {
209
+ color: 'rgb(255, 255, 255)'
210
+ }
211
+ });
120
212
  var _default = exports.default = CarouselThumbnail;
@@ -52,12 +52,14 @@ const CarouselThumbnailNavigation = /*#__PURE__*/_react.default.forwardRef((_ref
52
52
  let {
53
53
  accessibilityLabel,
54
54
  alt,
55
+ isVideo,
55
56
  src
56
57
  } = _ref2;
57
58
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_CarouselThumbnail.default, {
58
59
  accessibilityLabel: accessibilityLabel,
59
60
  alt: alt,
60
61
  index: index,
62
+ isVideo: isVideo,
61
63
  src: src
62
64
  }, src);
63
65
  })
@@ -70,9 +72,14 @@ CarouselThumbnailNavigation.propTypes = {
70
72
  * An array of objects containing information on the thumbnail images.
71
73
  */
72
74
  thumbnails: _propTypes.default.arrayOf(_propTypes.default.shape({
75
+ /** Accessibility label for the thumbnail image, used by assistive technologies. */
73
76
  accessibilityLabel: _propTypes.default.string,
77
+ /** Alternative text for the thumbnail image, displayed when the image cannot be rendered. */
74
78
  alt: _propTypes.default.string,
75
- src: _propTypes.default.string
79
+ /** When true, renders a play icon overlay on the thumbnail to indicate that the slide contains a video. */
80
+ isVideo: _propTypes.default.bool,
81
+ /** URL or path of the thumbnail image. When used with `isVideo`, this should be the video's poster/preview image. */
82
+ src: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
76
83
  })).isRequired
77
84
  };
78
85
  var _default = exports.default = CarouselThumbnailNavigation;
@@ -15,8 +15,7 @@ var _Card = require("../Card");
15
15
  var _StackView = _interopRequireDefault(require("../StackView"));
16
16
  var _CheckboxButton = _interopRequireWildcard(require("../Checkbox/CheckboxButton"));
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
20
19
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
21
20
  const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.focusHandlerProps, _utils.viewProps]);
22
21
  const CheckboxCard = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
@@ -13,8 +13,7 @@ var _StackView = _interopRequireWildcard(require("../StackView"));
13
13
  var _CheckboxCard = _interopRequireDefault(require("../CheckboxCard"));
14
14
  var _Fieldset = _interopRequireDefault(require("../Fieldset"));
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
18
17
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
18
  const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
20
19
  const [selectItemProps, selectedItemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.focusHandlerProps, _utils.viewProps]);