@4alldigital/foundation-ui--gamma 1.40.0 → 1.41.1

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 (28) hide show
  1. package/dist/foundation-ui.css +1 -1
  2. package/dist/index.esm.js +173 -72
  3. package/dist/index.js +172 -70
  4. package/dist/types/fui/components/Container/Container.d.ts +1 -1
  5. package/dist/types/fui/components/Container/Container.types.d.ts +1 -0
  6. package/dist/types/fui/components/Hero/Hero.types.d.ts +10 -0
  7. package/dist/types/fui/components/HtmlContent/HtmlContent.d.ts +8 -0
  8. package/dist/types/fui/components/HtmlContent/HtmlContent.types.d.ts +6 -0
  9. package/dist/types/fui/components/HtmlContent/index.d.ts +1 -0
  10. package/dist/types/fui/components/PanelCards/PanelCards.d.ts +1 -1
  11. package/dist/types/fui/components/PanelCards/PanelCards.types.d.ts +2 -0
  12. package/dist/types/fui/components/PanelFeature/PanelFeature.d.ts +1 -1
  13. package/dist/types/fui/components/PanelFeature/PanelFeature.types.d.ts +3 -1
  14. package/dist/types/fui/components/PanelHero/PanelHero.d.ts +1 -1
  15. package/dist/types/fui/components/PanelHero/PanelHero.types.d.ts +5 -1
  16. package/dist/types/fui/components/PanelProduct/PanelProduct.d.ts +1 -1
  17. package/dist/types/fui/components/PanelProduct/PanelProduct.types.d.ts +2 -0
  18. package/dist/types/fui/components/PanelVideo/PanelVideo.d.ts +1 -1
  19. package/dist/types/fui/components/PanelVideo/PanelVideo.types.d.ts +2 -0
  20. package/dist/types/fui/components/Video/Video.d.ts +1 -1
  21. package/dist/types/fui/components/Video/Video.types.d.ts +1 -0
  22. package/dist/types/fui/components/index.d.ts +2 -0
  23. package/dist/types/fui/utils/htmlParser/index.d.ts +3 -0
  24. package/dist/types/packages/alpha/theme/styles/settings/settings.themes.d.ts +10 -0
  25. package/dist/types/packages/beta/theme/styles/settings/settings.themes.d.ts +10 -0
  26. package/dist/types/packages/default/theme/styles/settings/settings.themes.d.ts +10 -0
  27. package/dist/types/packages/gamma/theme/styles/settings/settings.themes.d.ts +10 -0
  28. package/package.json +3 -2
package/dist/index.js CHANGED
@@ -12,6 +12,7 @@ var reactHookForm = require('react-hook-form');
12
12
  var HoverVideoPlayer = require('react-hover-video-player');
13
13
  var ReactPlayer = require('react-player/youtube');
14
14
  var videojs = require('video.js');
15
+ var parse = require('html-react-parser');
15
16
  var reactShare = require('react-share');
16
17
  var ROtpInput = require('react-otp-input');
17
18
  var ElasticSearchAPIConnector = require('@elastic/search-ui-elasticsearch-connector');
@@ -234,6 +235,11 @@ Checkbox.displayName = 'Checkbox';
234
235
  var Link = function (_a) {
235
236
  var href = _a.href, children = _a.children, _b = _a.onClick, onClick = _b === void 0 ? function () { return console.log('Link clicked'); } : _b, history = _a.history, target = _a.target, id = _a.id, testID = _a.testID, className = _a.className, prefetch = _a.prefetch;
236
237
  var linkClasses = cx('link cursor-pointer no-underline text-body-text dark:text-dark-body-text', className);
238
+ // Check if link is external
239
+ var isExternal = href && href.startsWith('http');
240
+ if (isExternal) {
241
+ return (jsxRuntime.jsxs("span", { children: [jsxRuntime.jsx("a", { "data-testid": testID || id || 'Link', className: cx(linkClasses), href: href, target: "_blank", rel: "noopener noreferrer", children: children }), jsxRuntime.jsx(Icon, { name: "mdi:external-link", className: "inline-block w-4 h-4 ml-1 mb-0" })] }));
242
+ }
237
243
  // Allow for non-next.js Application usage.
238
244
  try {
239
245
  // eslint-disable-next-line @typescript-eslint/no-var-requires
@@ -320,7 +326,7 @@ exports.COPY_TAG = void 0;
320
326
 
321
327
  var Copy = function (_a) {
322
328
  var _b;
323
- var children = _a.children, _c = _a.as, Tag = _c === void 0 ? exports.COPY_TAG.P : _c, size = _a.size, _d = _a.align, align = _d === void 0 ? exports.COPY_ALIGN.LEFT : _d, transform = _a.transform, id = _a.id, className = _a.className, testID = _a.testID;
329
+ var children = _a.children, _c = _a.as, Tag = _c === void 0 ? exports.COPY_TAG.P : _c, size = _a.size, align = _a.align, transform = _a.transform, id = _a.id, className = _a.className, testID = _a.testID;
324
330
  var classes = cx((_b = {}, _b["text-".concat(align)] = align, _b), { 'text-sm': size === 'small' }, { 'text-lg': size === 'large' }, { 'text-2xl': size === 'intro' }, { 'mb-3 leading-5 mt-0': Tag === 'p' }, { 'text-sm': Tag === 'small' },
325
331
  //'body-text',
326
332
  transform, className);
@@ -749,7 +755,6 @@ var Form = function (_a) {
749
755
  React.useEffect(function () {
750
756
  if (onChange && typeof onChange === 'function') {
751
757
  var subscription_1 = methods.watch(function (value, event) {
752
- console.info('methods', methods.formState);
753
758
  onChange(value, event);
754
759
  });
755
760
  return function () { return subscription_1.unsubscribe(); };
@@ -853,7 +858,6 @@ var FormField = function (_a) {
853
858
  // TODO: HELPER CLASSES : data-[invalid=true]:bg-error data-[valid]:bg-success
854
859
  var showLabel = label && type !== exports.FIELD_TYPES.CHECKBOX;
855
860
  var labelWithAsterisk = required || Boolean(validations.required) ? "".concat(label, " *") : label;
856
- console.log('description', description);
857
861
  return (jsxRuntime.jsx("div", { className: "relative", children: jsxRuntime.jsxs("div", { "data-testid": "FormField", className: "mb-4", children: [showLabel && (jsxRuntime.jsx("div", { className: "flex items-baseline justify-between", children: jsxRuntime.jsx(Label, { id: name, children: labelWithAsterisk }) })), jsxRuntime.jsx("div", { className: "mb-1", children: jsxRuntime.jsx(reactHookForm.Controller
858
862
  // https://stackoverflow.com/questions/47012169/a-component-is-changing-an-uncontrolled-input-of-type-text-to-be-controlled-erro
859
863
  , {
@@ -934,7 +938,7 @@ var Authenticator = function (_a) {
934
938
  }
935
939
  fetchToken();
936
940
  }, []);
937
- return (jsxRuntime.jsxs("div", { "data-testid": "Authenticator", className: 'w-full', children: [!showForgotPassword && (jsxRuntime.jsx(Tabs, { data: [
941
+ return (jsxRuntime.jsxs("div", { "data-testid": "Authenticator", className: "w-full", children: [!showForgotPassword && (jsxRuntime.jsx(Tabs, { data: [
938
942
  {
939
943
  title: 'Login',
940
944
  content: (jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [jsxRuntime.jsx(LoginForm, { handleSubmit: loginSubmit, showSocialButtons: showSocialLogin }), jsxRuntime.jsx("div", { className: "mt-4", children: jsxRuntime.jsx(Button, { variant: exports.BTN_VARIANTS.LINK, onClick: function () { return setShowForgotPassword(!showForgotPassword); }, children: showForgotPassword ? 'Back to Login' : 'Forgot Password?' }) })] })),
@@ -1241,24 +1245,36 @@ var DisplayHeading = function (_a) {
1241
1245
  return (jsxRuntime.jsx("div", { "data-testid": "DisplayHeading", className: "relative", children: jsxRuntime.jsx(Heading, { tag: exports.HEADING_TAGS.H1, className: "", children: arrayOfWords.map(function (word, index) {
1242
1246
  // if last word.
1243
1247
  var isLastWord = index === arrayOfWords.length - 1;
1244
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("span", { className: cx({ 'display-heading relative font-heading': !isLastWord }, { 'inline-block relative font-heading': isLastWord }), children: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [isLastWord && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: "display-heading--emphasis" }), jsxRuntime.jsx("span", { className: "display-heading--lastword", children: word })] })), !isLastWord && jsxRuntime.jsx("span", { children: word })] }) }, "".concat(word, "-").concat(index)), !isLastWord && ' '] }));
1248
+ var dhKey = "".concat(word, "-").concat(index);
1249
+ return (jsxRuntime.jsxs("span", { children: [jsxRuntime.jsx("span", { className: cx({ 'display-heading relative font-heading': !isLastWord }, { 'inline-block relative font-heading': isLastWord }), children: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [isLastWord && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: "display-heading--emphasis" }), jsxRuntime.jsx("span", { className: "display-heading--lastword", children: word })] })), !isLastWord && jsxRuntime.jsx("span", { children: word })] }) }), !isLastWord && ' '] }, dhKey));
1245
1250
  }) }) }));
1246
1251
  };
1247
1252
  DisplayHeading.displayName = 'DisplayHeading';
1248
1253
 
1249
1254
  var Container = function (_a) {
1250
- var children = _a.children, className = _a.className, spacing = _a.spacing, padded = _a.padded, isNarrow = _a.isNarrow, isCentered = _a.isCentered;
1251
- var classes = cx('container mx-auto my-0', { 'px-4': padded }, { 'py-40': spacing === 'feature' }, { 'py-24': spacing === 'component' }, { 'py-16': spacing === 'module' }, { 'py-10': spacing === 'element' }, { 'py-4': spacing === 'atom' }, { 'py-0': spacing === 'none' }, { 'max-w-3xl': isNarrow }, { 'flex items-center justify-center flex-col': isCentered });
1255
+ var children = _a.children, className = _a.className, spacing = _a.spacing, padded = _a.padded, isNarrow = _a.isNarrow, isCentered = _a.isCentered, isFlush = _a.isFlush;
1256
+ var classes = tailwindMerge.twMerge(cx('container mx-auto my-0', { 'px-4': padded }, { 'py-40': spacing === 'feature' }, { 'py-24': spacing === 'component' }, { 'py-16': spacing === 'module' }, { 'py-10': spacing === 'element' }, { 'py-4': spacing === 'atom' }, { 'py-0': spacing === 'none' }, { 'max-w-3xl': isNarrow }, { 'flex items-center justify-center flex-col': isCentered }, { 'px-0 max-w-full mx-0': isFlush }));
1252
1257
  var contentClasses = cx('mx-4 md:mx-0 w-full', className);
1253
1258
  return (jsxRuntime.jsx("div", { "data-testid": "Container", className: classes, children: jsxRuntime.jsx("div", { className: contentClasses, children: children }) }));
1254
1259
  };
1255
1260
  Container.displayName = 'Container';
1256
1261
 
1262
+ var SPACING;
1263
+ (function (SPACING) {
1264
+ SPACING["NONE"] = "py-0";
1265
+ SPACING["ATOM"] = "py-8";
1266
+ SPACING["DEFAULT"] = "py-16";
1267
+ SPACING["ELEMENT"] = "py-24";
1268
+ SPACING["COMPONENT"] = "py-32";
1269
+ SPACING["MODULE"] = "py-40";
1270
+ SPACING["FEATURE"] = "py-64";
1271
+ })(SPACING || (SPACING = {}));
1272
+
1257
1273
  var PanelCards = function (_a) {
1258
- var testID = _a.testID, cardData = _a.cardData, title = _a.title, description = _a.description, withSeparators = _a.withSeparators;
1274
+ var testID = _a.testID, cardData = _a.cardData, title = _a.title, description = _a.description, withSeparators = _a.withSeparators, _b = _a.spacing, spacing = _b === void 0 ? SPACING.COMPONENT : _b;
1259
1275
  var ref = React.useRef(null);
1260
1276
  var isInView = framerMotion.useInView(ref, { once: true });
1261
- return (jsxRuntime.jsx("div", { "data-testid": testID || 'PanelFeature', children: jsxRuntime.jsxs(Container, { children: [jsxRuntime.jsxs("div", { className: "relative text-center py-8", children: [title && jsxRuntime.jsx(DisplayHeading, { text: title }), description && jsxRuntime.jsx(Copy, { align: exports.COPY_ALIGN.CENTER, children: description })] }), jsxRuntime.jsx("div", { ref: ref, "data-testid": "PanelCards", className: "flex gap-8 justify-between", children: cardData === null || cardData === void 0 ? void 0 : cardData.map(function (card, index) { return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: cx('relative flex flex-1 items-center justify-center', { '': withSeparators }), style: {
1277
+ return (jsxRuntime.jsx("div", { "data-testid": testID || 'PanelCards', className: spacing, children: jsxRuntime.jsxs(Container, { children: [jsxRuntime.jsxs("div", { className: "relative text-center py-8", children: [title && jsxRuntime.jsx(DisplayHeading, { text: title }), description && jsxRuntime.jsx(Copy, { align: exports.COPY_ALIGN.CENTER, children: description })] }), jsxRuntime.jsx("div", { ref: ref, "data-testid": "PanelCards", className: "flex gap-8 justify-between", children: cardData === null || cardData === void 0 ? void 0 : cardData.map(function (card, index) { return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: cx('relative flex flex-1 items-center justify-center', { '': withSeparators }), style: {
1262
1278
  transform: isInView ? 'none' : 'translateY(200px)',
1263
1279
  opacity: isInView ? 1 : 0,
1264
1280
  transition: "all 0.9s cubic-bezier(0.17, 0.55, 0.55, 1) ".concat(0.1 * index, "s"),
@@ -1267,77 +1283,65 @@ var PanelCards = function (_a) {
1267
1283
  PanelCards.displayName = 'PanelCards';
1268
1284
 
1269
1285
  var PanelFeature = function (_a) {
1270
- var testID = _a.testID, title = _a.title, description = _a.description, inversed = _a.inversed, assets = _a.assets, buttonData = _a.buttonData, _b = _a.withBg, withBg = _b === void 0 ? true : _b;
1271
- var ref = React.useRef(null);
1272
- var isInView = framerMotion.useInView(ref, { once: true });
1273
- console.log('isInView', isInView);
1274
- return (jsxRuntime.jsxs("div", { "data-testid": testID || 'PanelFeature', className: "relative py-8 m-auto w-full flex flex-none flex-nowrap", children: [withBg && (jsxRuntime.jsx("div", { className: "rounded-full blur-[250px] flex flex-none aspect-1 absolute -top-24 -left-48 w-[500px] opacity-20 bg-gradient-to-r from-primary-darker to-primary-lighter" })), jsxRuntime.jsx(Container, { children: jsxRuntime.jsxs("div", { className: cx('relative flex sm:flex-col md:flex-row flex-nowrap w-full h-min justify-between overflow-visible p-0 items-center gap-16', {
1286
+ var testID = _a.testID, title = _a.title, description = _a.description, inversed = _a.inversed, assets = _a.assets, buttonData = _a.buttonData, _b = _a.withBg, withBg = _b === void 0 ? true : _b, _c = _a.spacing, spacing = _c === void 0 ? SPACING.DEFAULT : _c;
1287
+ return (jsxRuntime.jsxs("div", { "data-testid": testID || 'PanelFeature', className: cx("relative m-auto w-full flex flex-none flex-nowrap", spacing), children: [withBg && (jsxRuntime.jsx("div", { className: "rounded-full blur-[250px] flex flex-none aspect-1 absolute -top-24 -left-48 w-[500px] opacity-20 bg-gradient-to-r from-primary-darker to-primary-lighter" })), jsxRuntime.jsx(Container, { children: jsxRuntime.jsxs("div", { className: cx('relative flex sm:flex-col md:flex-row flex-nowrap w-full h-min justify-between overflow-visible p-0 items-center gap-16', {
1275
1288
  'flex-row-reverse': inversed,
1276
1289
  }), children: [jsxRuntime.jsxs("div", { className: "w-1/2 flex flex-col items-start justify-center", children: [jsxRuntime.jsxs("div", { className: "relative text-left", children: [jsxRuntime.jsx(DisplayHeading, { text: title }), jsxRuntime.jsx(Copy, { className: "mb-0", children: description })] }), jsxRuntime.jsxs("div", { className: "grid grid-cols-3 gap-2 my-8", children: [jsxRuntime.jsx(Chip, { rounded: true, text: "New", variant: "info" }), jsxRuntime.jsx(Chip, { rounded: true, text: "Trending", variant: "info" }), jsxRuntime.jsx(Chip, { rounded: true, text: "Popular", variant: "info" })] }), jsxRuntime.jsx("div", { className: "", children: jsxRuntime.jsx(Button, __assign({}, buttonData)) })] }), jsxRuntime.jsx("div", { className: "w-1/2 flex items-center justify-center", children: jsxRuntime.jsx("div", { className: "w-full aspect-[1/1] flex items-center justify-center", children: jsxRuntime.jsx(AnimationSet1, { bgAsset: assets.bgAsset, focalAsset1: assets.focalAsset1, focalAsset2: assets.focalAsset2, focalAsset3: assets.focalAsset3 }) }) })] }) })] }));
1277
1290
  };
1278
1291
  PanelFeature.displayName = 'PanelFeature';
1279
1292
 
1280
- var PanelHero = function (_a) {
1281
- var testID = _a.testID, title = _a.title, description = _a.description, image = _a.image, _b = _a.buttonData, buttonData = _b === void 0 ? {
1282
- variant: exports.BTN_VARIANTS.PRIMARY,
1283
- size: exports.BTN_SIZES.LARGE,
1284
- } : _b, _c = _a.inversed, inversed = _c === void 0 ? false : _c, _d = _a.withBg, withBg = _d === void 0 ? true : _d;
1285
- var ref = React.useRef(null);
1286
- var translateX = inversed ? 'translateX(100px)' : 'translateX(-100px)';
1287
- return (jsxRuntime.jsxs("div", { "data-testid": testID || 'PanelHero', className: "relative py-8 m-auto w-full flex flex-none flex-nowrap", children: [withBg && (jsxRuntime.jsx("div", { className: cx("rounded-full blur-[200px] flex flex-none aspect-1 absolute w-[700px] opacity-20 bg-gradient-to-r from-primary-darker to-primary-lighter z-0", {
1288
- '-bottom-24 right-0': !inversed,
1289
- '-top-24 left-0': inversed,
1290
- }) })), jsxRuntime.jsx(Container, { children: jsxRuntime.jsxs("div", { className: cx('relative flex sm:flex-col md:flex-row flex-nowrap w-full h-min justify-between overflow-visible p-0 items-center gap-16', {
1291
- 'md:flex-row-reverse': inversed,
1292
- }), children: [jsxRuntime.jsx("div", { ref: ref, className: "w-1/2 flex flex-col items-start justify-center z-10", children: jsxRuntime.jsxs("div", { className: cx('relative flex flex-col gap-4', {
1293
- 'text-right': !inversed,
1294
- }, {
1295
- 'text-left': inversed,
1296
- }), children: [jsxRuntime.jsx(framerMotion.motion.div, { initial: {
1297
- transform: translateX,
1298
- }, animate: {
1299
- transform: 'none',
1300
- transition: { damping: 60, delay: 0, mass: 1.2, stiffness: 300, type: 'spring' },
1301
- }, transition: { duration: 0.5 }, children: jsxRuntime.jsx(DisplayHeading, { text: title }) }), jsxRuntime.jsx(framerMotion.motion.div, { initial: {
1302
- transform: translateX,
1303
- }, animate: {
1304
- transform: 'none',
1305
- transition: { damping: 60, delay: 0.3, mass: 1.2, stiffness: 300, type: 'spring' },
1306
- }, transition: { duration: 0.5 }, children: jsxRuntime.jsx(Copy, { className: "mb-0", align: inversed ? exports.COPY_ALIGN.LEFT : exports.COPY_ALIGN.RIGHT, children: description }) }), jsxRuntime.jsx(framerMotion.motion.div, { initial: {
1307
- transform: translateX,
1308
- }, animate: {
1309
- transform: 'none',
1310
- transition: { damping: 60, delay: 0.6, mass: 1.2, stiffness: 300, type: 'spring' },
1311
- }, transition: { duration: 0.5 }, children: jsxRuntime.jsx("div", { className: cx('flex items-center', {
1312
- 'justify-end': !inversed,
1313
- 'justify-start': inversed,
1314
- }), children: jsxRuntime.jsx(Button, __assign({}, buttonData)) }) })] }) }), jsxRuntime.jsx("div", { className: "relative w-1/2 z-0", children: jsxRuntime.jsx("div", { className: "relative aspect-[16/9] scale-[1.35] rounded overflow-hidden shadow", children: jsxRuntime.jsx(Image, { src: image, alt: title, fill: true }) }) })] }) })] }));
1315
- };
1316
- PanelHero.displayName = 'PanelHero';
1317
-
1318
- var PanelProduct = function (_a) {
1319
- var testID = _a.testID, title = _a.title, description = _a.description, image1 = _a.image1, image2 = _a.image2, _b = _a.iosLink, iosLink = _b === void 0 ? '#' : _b, _c = _a.androidLink, androidLink = _c === void 0 ? '#' : _c, _d = _a.inversed, inversed = _d === void 0 ? false : _d, _e = _a.withBg, withBg = _e === void 0 ? true : _e;
1320
- return (jsxRuntime.jsxs("div", { "data-testid": testID || 'PanelFeature', className: "relative py-8 m-auto w-full flex flex-none flex-nowrap", children: [withBg && (jsxRuntime.jsx("div", { className: "rounded-full blur-[250px] flex flex-none aspect-1 absolute -bottom-24 -right-48 w-[500px] opacity-20 bg-gradient-to-r from-primary-darker to-primary-lighter" })), jsxRuntime.jsx(Container, { children: jsxRuntime.jsxs("div", { className: cx('relative flex flex-col md:flex-row flex-nowrap w-full h-full overflow-visible gap-16 border border-solid border-primary bg-primary bg-opacity-10 backdrop-blur-lg rounded border-opacityDark20 p-8', {
1321
- 'flex-row-reverse': inversed,
1322
- }), children: [jsxRuntime.jsxs("div", { className: "w-full md:w-1/2 top-0 relative", children: [jsxRuntime.jsx("div", { className: "absolute aspect-[8/17] -rotate-12 w-[135px] left-1/3 top-4 md:w-[180px] md:left-1/3 md:top-4 lg:w-[210px] lg:left-1/2 lg:-top-1/3", children: jsxRuntime.jsx(Image, { src: image2, alt: title }) }), jsxRuntime.jsx("div", { className: "relative md:absolute aspect-[8/17] -rotate-0 w-[150px] left-0 top-0 md:w-[220px] md:left-0 md:-top-6 lg:w-[250px] lg:left-1/4 lg:-top-1/2", children: jsxRuntime.jsx(Image, { src: image1, alt: title }) })] }), jsxRuntime.jsxs("div", { className: "w-full md:w-1/2", children: [jsxRuntime.jsx("div", { children: jsxRuntime.jsx(DisplayHeading, { text: title }) }), jsxRuntime.jsx("div", { children: jsxRuntime.jsx(Copy, { children: description }) }), jsxRuntime.jsxs("div", { className: "flex items-center justify-start gap-4", children: [jsxRuntime.jsx("div", { className: "relative w-[150px] h-[50px]", children: jsxRuntime.jsx(Link, { href: iosLink, target: "_blank", children: jsxRuntime.jsx(Image, { src: "https://tools.applemediaservices.com/api/badges/download-on-the-app-store/black/en-us", alt: "App Store" }) }) }), jsxRuntime.jsx("div", { className: "relative w-[190px] h-[75px]", children: jsxRuntime.jsx(Link, { href: androidLink, target: "_blank", children: jsxRuntime.jsx(Image, { src: "https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png", alt: "Google Play" }) }) })] })] })] }) })] }));
1323
- };
1324
- PanelProduct.displayName = 'PanelProduct';
1325
-
1326
1293
  // VideoJS CSS.
1327
1294
  // import 'video.js/dist/video-js.css';
1328
1295
  var Video = function (_a) {
1329
- var url = _a.url, sources = _a.sources, onReady = _a.onReady, className = _a.className, _b = _a.options, options = _b === void 0 ? {} : _b, _c = _a.isYoutube, isYoutube = _c === void 0 ? false : _c, _d = _a.defaultAudioTrack, defaultAudioTrack = _d === void 0 ? 'No Music' : _d, _e = _a.rounded, rounded = _e === void 0 ? true : _e;
1296
+ var url = _a.url, sources = _a.sources, onReady = _a.onReady, className = _a.className, _b = _a.options, options = _b === void 0 ? {} : _b, _c = _a.isYoutube, isYoutube = _c === void 0 ? false : _c, _d = _a.defaultAudioTrack, defaultAudioTrack = _d === void 0 ? 'No Music' : _d, _e = _a.rounded, rounded = _e === void 0 ? true : _e, aspectRatioValue = _a.aspectRatioValue;
1330
1297
  var reactPlayerRef = React.useRef(null);
1331
1298
  var videoRef = React.useRef(null);
1332
1299
  var playerRef = React.useRef(null);
1300
+ var aspectRatioConfig = React.useMemo(function () {
1301
+ switch (aspectRatioValue) {
1302
+ case '4/3':
1303
+ return {
1304
+ aspectRatio: '4:3',
1305
+ className: 'aspect-[4/3]',
1306
+ };
1307
+ case '1/1':
1308
+ return {
1309
+ aspectRatio: '1:1',
1310
+ className: 'aspect-[1/1]',
1311
+ };
1312
+ case '3/4':
1313
+ return {
1314
+ aspectRatio: '3:4',
1315
+ className: 'aspect-[3/4]',
1316
+ };
1317
+ case '9/16':
1318
+ return {
1319
+ aspectRatio: '9:16',
1320
+ className: 'aspect-[9/16]',
1321
+ };
1322
+ case '16/7':
1323
+ return {
1324
+ aspectRatio: '16:7',
1325
+ className: 'aspect-[16/7]',
1326
+ };
1327
+ case '16/5':
1328
+ return {
1329
+ aspectRatio: '16:5',
1330
+ className: 'aspect-[16/5]',
1331
+ };
1332
+ default:
1333
+ return {
1334
+ aspectRatio: '16:9',
1335
+ className: 'aspect-[16/9]',
1336
+ };
1337
+ }
1338
+ }, [aspectRatioValue]);
1333
1339
  React.useEffect(function () {
1334
1340
  var _a;
1335
1341
  // Do not initialize Video.js player if it's a YouTube video
1336
1342
  if (isYoutube)
1337
1343
  return;
1338
- var videoOptions = __assign(__assign({ autoplay: true, controls: true, muted: false, responsive: true, fill: true, fluid: true,
1339
- // aspectRatio: '16:9',
1340
- controlBar: {
1344
+ var videoOptions = __assign(__assign({ autoplay: true, controls: true, muted: false, responsive: true, fill: true, fluid: true, aspectRatio: aspectRatioConfig.aspectRatio || '16:9', controlBar: {
1341
1345
  skipButtons: {
1342
1346
  forward: 30,
1343
1347
  backward: 30,
@@ -1350,7 +1354,6 @@ var Video = function (_a) {
1350
1354
  enableLowInitialPlaylist: true, // Optional configuration for better HLS performance
1351
1355
  },
1352
1356
  } }, options), { sources: sources });
1353
- console.log('videoOptions', videoOptions);
1354
1357
  // Make sure Video.js player is only initialized once
1355
1358
  if (!playerRef.current) {
1356
1359
  // The Video.js player needs to be _inside_ the component el for React 18 Strict Mode.
@@ -1391,15 +1394,113 @@ var Video = function (_a) {
1391
1394
  if (isYoutube && url) {
1392
1395
  return (jsxRuntime.jsx("div", { "data-testid": "Video", className: cx('relative w-full h-full aspect-[16/9]', className), children: jsxRuntime.jsx(ReactPlayer, { ref: reactPlayerRef, className: "react-player", url: url, width: "100%", height: "100%", controls: true, onReady: onReady }) }));
1393
1396
  }
1394
- return (jsxRuntime.jsx("div", { className: cx('relative w-full overflow-hidden h-full bg-[blue]', {
1397
+ return (jsxRuntime.jsx("div", { className: tailwindMerge.twMerge(cx('relative w-full overflow-hidden h-full aspect-[16/9] bg-black object-cover', {
1395
1398
  rouded: rounded,
1396
- }, className), children: jsxRuntime.jsx("div", { "data-vjs-player": true, children: jsxRuntime.jsx("div", { ref: videoRef }) }) }));
1399
+ }, aspectRatioConfig.className, className)), children: jsxRuntime.jsx("div", { "data-vjs-player": true, children: jsxRuntime.jsx("div", { ref: videoRef, className: "object-cover" }) }) }));
1397
1400
  };
1398
1401
  Video.displayName = 'Video';
1399
1402
 
1403
+ var options = {
1404
+ replace: function (domNode) {
1405
+ // Handle a tag links.
1406
+ if (domNode.name === 'a') {
1407
+ var props = parse.attributesToProps(domNode.attribs);
1408
+ return jsxRuntime.jsx(Link, __assign({}, props, { children: parse.domToReact(domNode.children, options) }));
1409
+ }
1410
+ // Handle p tag copy.
1411
+ if (domNode.attribs && domNode.name === 'p') {
1412
+ var props = parse.attributesToProps(domNode.attribs);
1413
+ return jsxRuntime.jsx(Copy, __assign({}, props, { children: parse.domToReact(domNode.children, options) }));
1414
+ }
1415
+ // Handle default.
1416
+ return domNode;
1417
+ },
1418
+ };
1419
+
1420
+ var HtmlContent = function (_a) {
1421
+ var testID = _a.testID, data = _a.data, align = _a.align, className = _a.className;
1422
+ return (jsxRuntime.jsx("span", { "data-testid": testID || '"HtmlContent"', className: cx('relative', {
1423
+ 'text-right': align === 'right',
1424
+ }, {
1425
+ 'text-center': align === 'center',
1426
+ }, {
1427
+ 'text-left': align === 'left',
1428
+ }, className), children: parse(data, options) }));
1429
+ };
1430
+ HtmlContent.displayName = 'HtmlContent';
1431
+
1432
+ var PanelHero = function (_a) {
1433
+ var testID = _a.testID, title = _a.title, description = _a.description, image = _a.image, _b = _a.buttonData, buttonData = _b === void 0 ? {
1434
+ variant: exports.BTN_VARIANTS.PRIMARY,
1435
+ size: exports.BTN_SIZES.LARGE,
1436
+ } : _b, _c = _a.inversed, inversed = _c === void 0 ? false : _c, _d = _a.withBg, withBg = _d === void 0 ? true : _d, _e = _a.spacing, spacing = _e === void 0 ? SPACING.ELEMENT : _e, video = _a.video;
1437
+ var ref = React.useRef(null);
1438
+ var aspectRatioClass = React.useMemo(function () {
1439
+ switch (video === null || video === void 0 ? void 0 : video.aspectRatioValue) {
1440
+ case '4/3':
1441
+ return 'aspect-[4/3]';
1442
+ case '1/1':
1443
+ return 'aspect-[1/1]';
1444
+ case '3/4':
1445
+ return 'aspect-[3/4]';
1446
+ case '9/16':
1447
+ return 'aspect-[9/16]';
1448
+ case '16/7':
1449
+ return 'aspect-[16/7]';
1450
+ case '16/5':
1451
+ return 'aspect-[16/5]';
1452
+ default:
1453
+ return 'aspect-[16/9]';
1454
+ }
1455
+ }, [video]);
1456
+ var translateX = inversed ? 'translateX(100px)' : 'translateX(-100px)';
1457
+ var defaultAnimation = { damping: 30, delay: 0, mass: 1.2, stiffness: 200, type: 'spring' };
1458
+ return (jsxRuntime.jsxs("div", { "data-testid": testID || 'PanelHero', className: cx('relative m-auto w-full flex flex-none flex-nowrap', spacing), children: [withBg && (jsxRuntime.jsx("div", { className: cx('rounded-full blur-[200px] flex flex-none aspect-1 absolute w-[700px] opacity-20 bg-gradient-to-r from-primary-darker to-primary-lighter z-0', {
1459
+ '-bottom-24 right-0': !inversed,
1460
+ '-top-24 left-0': inversed,
1461
+ }) })), jsxRuntime.jsx(Container, { children: jsxRuntime.jsxs("div", { className: cx('relative flex sm:flex-col md:flex-row flex-nowrap w-full h-min justify-between overflow-visible p-0 items-center gap-16', {
1462
+ 'md:flex-row-reverse': inversed,
1463
+ }), children: [jsxRuntime.jsx("div", { ref: ref, className: "w-1/2 flex flex-col items-start justify-center z-10", children: jsxRuntime.jsxs("div", { className: cx('relative flex flex-col gap-4 from-body-background p-4 rounded', {
1464
+ 'text-right bg-gradient-to-l': !inversed,
1465
+ }, {
1466
+ 'text-left bg-gradient-to-r': inversed,
1467
+ }), children: [jsxRuntime.jsx(framerMotion.motion.div, { initial: {
1468
+ transform: translateX,
1469
+ }, animate: {
1470
+ transform: 'none',
1471
+ transition: __assign({}, defaultAnimation),
1472
+ }, transition: { duration: 0.5 }, children: jsxRuntime.jsx(DisplayHeading, { text: title }) }), jsxRuntime.jsx(framerMotion.motion.div, { initial: {
1473
+ transform: translateX,
1474
+ }, animate: {
1475
+ transform: 'none',
1476
+ transition: __assign(__assign({}, defaultAnimation), { delay: 0.1 }),
1477
+ }, transition: { duration: 0.5 }, children: jsxRuntime.jsx(HtmlContent, { className: "mb-0", align: inversed ? exports.COPY_ALIGN.LEFT : exports.COPY_ALIGN.RIGHT, data: description }) }), jsxRuntime.jsx(framerMotion.motion.div, { initial: {
1478
+ transform: translateX,
1479
+ }, animate: {
1480
+ transform: 'none',
1481
+ transition: __assign(__assign({}, defaultAnimation), { delay: 0.2 }),
1482
+ }, transition: { duration: 0.5 }, children: jsxRuntime.jsx("div", { className: cx('flex items-center', {
1483
+ 'justify-end': !inversed,
1484
+ 'justify-start': inversed,
1485
+ }), children: jsxRuntime.jsx(Button, __assign({}, buttonData)) }) })] }) }), jsxRuntime.jsx("div", { className: "relative w-1/2 z-0", children: jsxRuntime.jsxs("div", { className: cx('relative scale-[1.35] rounded overflow-hidden shadow', aspectRatioClass), children: [image && jsxRuntime.jsx(Image, { src: image, alt: title, fill: true }), video && (jsxRuntime.jsx(Video, { sources: video.sources, options: {
1486
+ autoplay: true,
1487
+ muted: true,
1488
+ controls: false,
1489
+ }, aspectRatioValue: video.aspectRatioValue }))] }) })] }) })] }));
1490
+ };
1491
+ PanelHero.displayName = 'PanelHero';
1492
+
1493
+ var PanelProduct = function (_a) {
1494
+ var testID = _a.testID, title = _a.title, description = _a.description, image1 = _a.image1, image2 = _a.image2, _b = _a.iosLink, iosLink = _b === void 0 ? '#' : _b, _c = _a.androidLink, androidLink = _c === void 0 ? '#' : _c, _d = _a.inversed, inversed = _d === void 0 ? false : _d, _e = _a.withBg, withBg = _e === void 0 ? true : _e, _f = _a.spacing, spacing = _f === void 0 ? SPACING.DEFAULT : _f;
1495
+ return (jsxRuntime.jsxs("div", { "data-testid": testID || 'PanelFeature', className: cx('relative py-8 m-auto w-full flex flex-none flex-nowrap', spacing), children: [withBg && (jsxRuntime.jsx("div", { className: "rounded-full blur-[250px] flex flex-none aspect-1 absolute -bottom-24 -right-48 w-[500px] opacity-20 bg-gradient-to-r from-primary-darker to-primary-lighter" })), jsxRuntime.jsx(Container, { children: jsxRuntime.jsxs("div", { className: cx('relative flex flex-col md:flex-row flex-nowrap w-full h-full overflow-visible gap-16 border border-solid border-primary bg-primary bg-opacity-10 backdrop-blur-lg rounded border-opacityDark20 p-8', {
1496
+ 'flex-row-reverse': inversed,
1497
+ }), children: [jsxRuntime.jsxs("div", { className: "w-full md:w-1/2 top-0 relative", children: [jsxRuntime.jsx("div", { className: "absolute aspect-[8/17] -rotate-12 w-[135px] left-1/3 top-4 md:w-[180px] md:left-1/3 md:top-4 lg:w-[210px] lg:left-1/2 lg:-top-1/3", children: jsxRuntime.jsx(Image, { src: image2, alt: title }) }), jsxRuntime.jsx("div", { className: "relative md:absolute aspect-[8/17] -rotate-0 w-[150px] left-0 top-0 md:w-[220px] md:left-0 md:-top-6 lg:w-[250px] lg:left-1/4 lg:-top-1/2", children: jsxRuntime.jsx(Image, { src: image1, alt: title }) })] }), jsxRuntime.jsxs("div", { className: "w-full md:w-1/2", children: [jsxRuntime.jsx("div", { children: jsxRuntime.jsx(DisplayHeading, { text: title }) }), jsxRuntime.jsx("div", { children: jsxRuntime.jsx(Copy, { children: description }) }), jsxRuntime.jsxs("div", { className: "flex items-center justify-start gap-4", children: [jsxRuntime.jsx("div", { className: "relative w-[150px] h-[50px]", children: jsxRuntime.jsx(Link, { href: iosLink, target: "_blank", children: jsxRuntime.jsx(Image, { src: "https://tools.applemediaservices.com/api/badges/download-on-the-app-store/black/en-us", alt: "App Store" }) }) }), jsxRuntime.jsx("div", { className: "relative w-[190px] h-[75px]", children: jsxRuntime.jsx(Link, { href: androidLink, target: "_blank", children: jsxRuntime.jsx(Image, { src: "https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png", alt: "Google Play" }) }) })] })] })] }) })] }));
1498
+ };
1499
+ PanelProduct.displayName = 'PanelProduct';
1500
+
1400
1501
  var PanelVideo = function (_a) {
1401
- var testID = _a.testID, sources = _a.sources, className = _a.className, title = _a.title, description = _a.description;
1402
- return (jsxRuntime.jsxs("div", { "data-testid": testID || '"PanelVideo"', className: cx('relative m-auto w-full flex flex-none flex-nowrap aspect-[16/6.6]', className), children: [jsxRuntime.jsx(Video, { rounded: false, sources: sources, options: {
1502
+ var testID = _a.testID, sources = _a.sources, className = _a.className, title = _a.title, description = _a.description, _b = _a.spacing, spacing = _b === void 0 ? SPACING.NONE : _b;
1503
+ return (jsxRuntime.jsxs("div", { "data-testid": testID || '"PanelVideo"', className: cx('relative m-auto w-full flex flex-none flex-nowrap aspect-[16/6.6]', spacing, className), children: [jsxRuntime.jsx(Video, { rounded: false, sources: sources, options: {
1403
1504
  autoplay: true,
1404
1505
  muted: true,
1405
1506
  controls: false,
@@ -1513,7 +1614,7 @@ var Footer = function (_a) {
1513
1614
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
1514
1615
  var testID = _a.testID, className = _a.className, _q = _a.logoAspectRatio, logoAspectRatio = _q === void 0 ? 'aspect-[16/9]' : _q;
1515
1616
  var context = React.useContext(AppContext);
1516
- return (jsxRuntime.jsxs("footer", { className: cx('w-full md:max-w-screen-lg lg:max-w-screen-xl m-auto', className), children: [jsxRuntime.jsxs("div", { "data-testid": testID || '"Footer"', className: "footer flex flex-col md:flex-row py-8 gap-8", children: [jsxRuntime.jsxs("div", { className: "relative w-full md:w-1/3 flex flex-col gap-4 items-center md:items-start", children: [((_b = context === null || context === void 0 ? void 0 : context.brand) === null || _b === void 0 ? void 0 : _b.logo) && (jsxRuntime.jsx("div", { className: "relative w-24", children: jsxRuntime.jsx(Logo, { logo: (_c = context === null || context === void 0 ? void 0 : context.brand) === null || _c === void 0 ? void 0 : _c.logo, aspectRatioClass: logoAspectRatio }) })), ((_d = context.footer) === null || _d === void 0 ? void 0 : _d.about) && (jsxRuntime.jsx("div", { children: jsxRuntime.jsx(Copy, { children: context.footer.about }) })), jsxRuntime.jsx("div", { children: jsxRuntime.jsx(VisitUs, { facebook: (_f = (_e = context.footer) === null || _e === void 0 ? void 0 : _e.visitUs) === null || _f === void 0 ? void 0 : _f.facebook, twitter: (_h = (_g = context.footer) === null || _g === void 0 ? void 0 : _g.visitUs) === null || _h === void 0 ? void 0 : _h.twitter, instagram: (_k = (_j = context.footer) === null || _j === void 0 ? void 0 : _j.visitUs) === null || _k === void 0 ? void 0 : _k.instagram, linkedin: (_m = (_l = context.footer) === null || _l === void 0 ? void 0 : _l.visitUs) === null || _m === void 0 ? void 0 : _m.linkedin }) })] }), ((_o = context.footer) === null || _o === void 0 ? void 0 : _o.menus) && (jsxRuntime.jsx("div", { className: "flex gap-4 flex-1 flex-col md:flex-row items-center md:items-start", children: context.footer.menus.map(function (menu, index) { return (jsxRuntime.jsx("div", { className: "flex flex-1", children: jsxRuntime.jsx(Menu, { title: menu.title, links: menu.links, inline: false }) }, "".concat(menu.title, "--").concat(index))); }) }))] }), jsxRuntime.jsxs("div", { className: "flex items-center justify-center flex-col", children: [jsxRuntime.jsxs(Copy, { align: exports.COPY_ALIGN.CENTER, as: exports.COPY_TAG.SMALL, children: ["\u00A9 ", new Date().getFullYear(), " ", en.UI.COPYRIGHT, " ", (_p = context.brand) === null || _p === void 0 ? void 0 : _p.name] }), jsxRuntime.jsx(Copy, { align: exports.COPY_ALIGN.CENTER, as: exports.COPY_TAG.SMALL, children: en.UI.ALL_RIGHTS_RESERVED })] })] }));
1617
+ return (jsxRuntime.jsxs("footer", { className: cx('w-full md:max-w-screen-lg lg:max-w-screen-xl m-auto pt-16 pb-8', className), children: [jsxRuntime.jsxs("div", { "data-testid": testID || '"Footer"', className: "footer flex flex-col md:flex-row py-8 gap-8", children: [jsxRuntime.jsxs("div", { className: "relative w-full md:w-1/3 flex flex-col gap-4 items-center md:items-start", children: [((_b = context === null || context === void 0 ? void 0 : context.brand) === null || _b === void 0 ? void 0 : _b.logo) && (jsxRuntime.jsx("div", { className: "relative w-24", children: jsxRuntime.jsx(Logo, { logo: (_c = context === null || context === void 0 ? void 0 : context.brand) === null || _c === void 0 ? void 0 : _c.logo, aspectRatioClass: logoAspectRatio }) })), ((_d = context.footer) === null || _d === void 0 ? void 0 : _d.about) && (jsxRuntime.jsx("div", { children: jsxRuntime.jsx(Copy, { children: context.footer.about }) })), jsxRuntime.jsx("div", { children: jsxRuntime.jsx(VisitUs, { facebook: (_f = (_e = context.footer) === null || _e === void 0 ? void 0 : _e.visitUs) === null || _f === void 0 ? void 0 : _f.facebook, twitter: (_h = (_g = context.footer) === null || _g === void 0 ? void 0 : _g.visitUs) === null || _h === void 0 ? void 0 : _h.twitter, instagram: (_k = (_j = context.footer) === null || _j === void 0 ? void 0 : _j.visitUs) === null || _k === void 0 ? void 0 : _k.instagram, linkedin: (_m = (_l = context.footer) === null || _l === void 0 ? void 0 : _l.visitUs) === null || _m === void 0 ? void 0 : _m.linkedin }) })] }), ((_o = context.footer) === null || _o === void 0 ? void 0 : _o.menus) && (jsxRuntime.jsx("div", { className: "flex gap-4 flex-1 flex-col md:flex-row items-center md:items-start", children: context.footer.menus.map(function (menu, index) { return (jsxRuntime.jsx("div", { className: "flex flex-1", children: jsxRuntime.jsx(Menu, { title: menu.title, links: menu.links, inline: false }) }, "".concat(menu.title, "--").concat(index))); }) }))] }), jsxRuntime.jsxs("div", { className: "flex items-center justify-center flex-col", children: [jsxRuntime.jsxs(Copy, { align: exports.COPY_ALIGN.CENTER, as: exports.COPY_TAG.SMALL, children: ["\u00A9 ", new Date().getFullYear(), " ", en.UI.COPYRIGHT, " ", (_p = context.brand) === null || _p === void 0 ? void 0 : _p.name] }), jsxRuntime.jsx(Copy, { align: exports.COPY_ALIGN.CENTER, as: exports.COPY_TAG.SMALL, children: en.UI.ALL_RIGHTS_RESERVED })] })] }));
1517
1618
  };
1518
1619
  Footer.displayName = 'Footer';
1519
1620
 
@@ -1914,6 +2015,7 @@ exports.Header = Header;
1914
2015
  exports.Heading = Heading;
1915
2016
  exports.Hero = Hero;
1916
2017
  exports.Hr = Hr;
2018
+ exports.HtmlContent = HtmlContent;
1917
2019
  exports.Icon = Icon;
1918
2020
  exports.Image = Image;
1919
2021
  exports.Label = Label;
@@ -1,6 +1,6 @@
1
1
  import { Props } from './Container.types';
2
2
  declare const Container: {
3
- ({ children, className, spacing, padded, isNarrow, isCentered }: Props): React.ReactElement;
3
+ ({ children, className, spacing, padded, isNarrow, isCentered, isFlush, }: Props): React.ReactElement;
4
4
  displayName: string;
5
5
  };
6
6
  export default Container;
@@ -6,4 +6,5 @@ export interface Props {
6
6
  padded?: boolean;
7
7
  isNarrow?: boolean;
8
8
  isCentered?: boolean;
9
+ isFlush?: boolean;
9
10
  }
@@ -1,7 +1,17 @@
1
1
  /// <reference types="react" />
2
+ export declare enum SPACING {
3
+ NONE = "py-0",
4
+ ATOM = "py-8",
5
+ DEFAULT = "py-16",
6
+ ELEMENT = "py-24",
7
+ COMPONENT = "py-32",
8
+ MODULE = "py-40",
9
+ FEATURE = "py-64"
10
+ }
2
11
  export interface Props {
3
12
  testID?: string;
4
13
  children: React.ReactNode;
5
14
  withBg?: boolean;
6
15
  inversed?: boolean;
16
+ spacing: SPACING;
7
17
  }
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { Props } from './HtmlContent.types';
3
+ declare const HtmlContent: {
4
+ ({ testID, data, align, className }: Props): React.ReactElement;
5
+ displayName: string;
6
+ };
7
+ export default HtmlContent;
8
+ export type { Props };
@@ -0,0 +1,6 @@
1
+ export interface Props {
2
+ testID?: string;
3
+ data: string;
4
+ align?: 'left' | 'center' | 'right';
5
+ className?: string;
6
+ }
@@ -0,0 +1 @@
1
+ export { default } from './HtmlContent';
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Props } from './PanelCards.types';
3
3
  declare const PanelCards: {
4
- ({ testID, cardData, title, description, withSeparators }: Props): React.ReactElement;
4
+ ({ testID, cardData, title, description, withSeparators, spacing, }: Props): React.ReactElement;
5
5
  displayName: string;
6
6
  };
7
7
  export default PanelCards;
@@ -1,8 +1,10 @@
1
1
  import { Props as CardProps } from '../Card/Card.types';
2
+ import { SPACING } from '../Hero/Hero.types';
2
3
  export interface Props {
3
4
  testID?: string;
4
5
  cardData: CardProps[];
5
6
  title: string;
6
7
  description: string;
7
8
  withSeparators?: boolean;
9
+ spacing?: SPACING;
8
10
  }
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Props } from './PanelFeature.types';
3
3
  declare const PanelFeature: {
4
- ({ testID, title, description, inversed, assets, buttonData, withBg, }: Props): React.ReactElement;
4
+ ({ testID, title, description, inversed, assets, buttonData, withBg, spacing, }: Props): React.ReactElement;
5
5
  displayName: string;
6
6
  };
7
7
  export default PanelFeature;
@@ -1,11 +1,12 @@
1
1
  import { Props as ButtonProps } from '../Button/Button.types';
2
2
  import { Asset } from '../AnimationSet1/AnimationSet1.types';
3
+ import { SPACING } from '../Hero/Hero.types';
3
4
  export interface Props {
4
5
  testID?: string;
5
6
  inversed?: boolean;
6
7
  title: string;
7
8
  description: string;
8
- meta: any[];
9
+ meta?: any[];
9
10
  buttonData: ButtonProps;
10
11
  assets: {
11
12
  bgAsset?: Asset;
@@ -14,4 +15,5 @@ export interface Props {
14
15
  focalAsset3?: Asset;
15
16
  };
16
17
  withBg?: boolean;
18
+ spacing?: SPACING;
17
19
  }
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Props } from './PanelHero.types';
3
3
  declare const PanelHero: {
4
- ({ testID, title, description, image, buttonData, inversed, withBg, }: Props): React.ReactElement;
4
+ ({ testID, title, description, image, buttonData, inversed, withBg, spacing, video, }: Props): React.ReactElement;
5
5
  displayName: string;
6
6
  };
7
7
  export default PanelHero;
@@ -1,10 +1,14 @@
1
1
  import { Props as ButtonProps } from '../Button/Button.types';
2
+ import { Props as VideoProps } from '../Video/Video.types';
3
+ import { SPACING } from '../Hero/Hero.types';
2
4
  export interface Props {
3
5
  testID?: string;
4
6
  inversed?: boolean;
5
7
  title: string;
6
8
  description: string;
7
9
  buttonData: ButtonProps;
8
- image: string;
10
+ image?: string;
11
+ video?: VideoProps;
9
12
  withBg?: boolean;
13
+ spacing?: SPACING;
10
14
  }
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Props } from './PanelProduct.types';
3
3
  declare const PanelProduct: {
4
- ({ testID, title, description, image1, image2, iosLink, androidLink, inversed, withBg, }: Props): React.ReactElement;
4
+ ({ testID, title, description, image1, image2, iosLink, androidLink, inversed, withBg, spacing, }: Props): React.ReactElement;
5
5
  displayName: string;
6
6
  };
7
7
  export default PanelProduct;
@@ -1,3 +1,4 @@
1
+ import { SPACING } from "../Hero/Hero.types";
1
2
  export interface Props {
2
3
  testID?: string;
3
4
  title: string;
@@ -8,4 +9,5 @@ export interface Props {
8
9
  androidLink: string;
9
10
  inversed?: boolean;
10
11
  withBg?: boolean;
12
+ spacing?: SPACING;
11
13
  }
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Props } from './PanelVideo.types';
3
3
  declare const PanelVideo: {
4
- ({ testID, sources, className, title, description }: Props): React.ReactElement;
4
+ ({ testID, sources, className, title, description, spacing, }: Props): React.ReactElement;
5
5
  displayName: string;
6
6
  };
7
7
  export default PanelVideo;
@@ -1,3 +1,4 @@
1
+ import { SPACING } from "../Hero/Hero.types";
1
2
  export interface Props {
2
3
  testID?: string;
3
4
  sources: {
@@ -7,4 +8,5 @@ export interface Props {
7
8
  className?: string;
8
9
  title?: string;
9
10
  description?: string;
11
+ spacing?: SPACING;
10
12
  }
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Props } from './Video.types';
3
3
  declare const Video: {
4
- ({ url, sources, onReady, className, options, isYoutube, defaultAudioTrack, rounded, }: Props): React.ReactElement;
4
+ ({ url, sources, onReady, className, options, isYoutube, defaultAudioTrack, rounded, aspectRatioValue, }: Props): React.ReactElement;
5
5
  displayName: string;
6
6
  };
7
7
  export default Video;
@@ -14,4 +14,5 @@ export interface Props {
14
14
  onReady?: (player: any) => void;
15
15
  defaultAudioTrack?: string;
16
16
  rounded?: boolean;
17
+ aspectRatioValue?: '16/9' | '4/3' | '1/1' | '3/4' | '9/16' | '16/7' | '16/5';
17
18
  }
@@ -36,6 +36,7 @@ export { default as Tabs } from './Tabs';
36
36
  export { default as VisitUs } from './VisitUs';
37
37
  export { default as Menu } from './Menu';
38
38
  export { default as Hero } from './Hero';
39
+ export { default as HtmlContent } from './HtmlContent';
39
40
  export { default as Container } from './Container';
40
41
  export { default as ContentPageLayout } from './ContentPageLayout';
41
42
  export { default as ContentRowsLayout } from './ContentRowsLayout';
@@ -97,3 +98,4 @@ export type { Props as ChipProps } from './Chip/Chip.types';
97
98
  export type { Props as AvatarProps } from './Avatar/Avatar.types';
98
99
  export type { Props as OTPInputProps } from './OTPInput/OTPInput.types';
99
100
  export type { Props as HeroProps } from './Hero/Hero.types';
101
+ export type { Props as HtmlContentProps } from './HtmlContent/HtmlContent.types';
@@ -0,0 +1,3 @@
1
+ export declare const options: {
2
+ replace(domNode: any): any;
3
+ };
@@ -140,6 +140,16 @@ declare const settings: {
140
140
  grey700: string;
141
141
  grey800: string;
142
142
  grey900: string;
143
+ purple50: string;
144
+ purple100: string;
145
+ purple200: string;
146
+ purple300: string;
147
+ purple400: string;
148
+ purple500: string;
149
+ purple600: string;
150
+ purple700: string;
151
+ purple800: string;
152
+ purple900: string;
143
153
  };
144
154
  screens: {
145
155
  sm: string;