@ilo-org/react 0.3.0 → 0.4.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 (83) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +1 -1
  3. package/lib/cjs/{DailyMotion-2aa7f048.js → DailyMotion-5654fa6e.js} +1 -1
  4. package/lib/cjs/{Facebook-87e24af8.js → Facebook-1924e510.js} +1 -1
  5. package/lib/cjs/{FilePlayer-e1216cc8.js → FilePlayer-9c697e42.js} +1 -1
  6. package/lib/cjs/{Kaltura-a673a8e9.js → Kaltura-177bb003.js} +1 -1
  7. package/lib/cjs/{Mixcloud-f9575c31.js → Mixcloud-91a772a6.js} +1 -1
  8. package/lib/cjs/{Preview-468c3a7f.js → Preview-8e2afb6a.js} +1 -1
  9. package/lib/cjs/{SoundCloud-7c59f293.js → SoundCloud-089e0f30.js} +1 -1
  10. package/lib/cjs/{Streamable-83e516e5.js → Streamable-4ca5b9c7.js} +1 -1
  11. package/lib/cjs/{Twitch-fdfa1c77.js → Twitch-dbc5c387.js} +1 -1
  12. package/lib/cjs/{VideoPlayer-9ce35136.js → VideoPlayer-874a52b0.js} +21 -16
  13. package/lib/cjs/{Vidyard-096bba3c.js → Vidyard-371acdcb.js} +1 -1
  14. package/lib/cjs/{Vimeo-2cb7476f.js → Vimeo-4d2029a8.js} +1 -1
  15. package/lib/cjs/{Wistia-5e830ac8.js → Wistia-cd0799ad.js} +1 -1
  16. package/lib/cjs/{YouTube-25a1d9a0.js → YouTube-23b7ec9e.js} +1 -1
  17. package/lib/cjs/components/Card/Card.js +43 -0
  18. package/lib/cjs/components/Card/CardGroup.js +25 -0
  19. package/lib/cjs/components/Card/index.js +21 -0
  20. package/lib/cjs/components/LocalNav/LocalNav.js +5 -3
  21. package/lib/cjs/components/LocalNav/index.js +1 -0
  22. package/lib/cjs/components/Logo/Logo.js +153 -0
  23. package/lib/cjs/components/Logo/index.js +13 -0
  24. package/lib/cjs/components/Video/Video.js +1 -1
  25. package/lib/cjs/components/Video/VideoPlayer.js +1 -1
  26. package/lib/cjs/components/Video/index.js +1 -1
  27. package/lib/cjs/components/index.js +7 -1
  28. package/lib/cjs/index.js +7 -1
  29. package/lib/esm/{DailyMotion-66b6eff2.js → DailyMotion-88f6c379.js} +1 -1
  30. package/lib/esm/{Facebook-dbd1003d.js → Facebook-3a284039.js} +1 -1
  31. package/lib/esm/{FilePlayer-617ed2ce.js → FilePlayer-dee1f94b.js} +1 -1
  32. package/lib/esm/{Kaltura-bbcec33d.js → Kaltura-c5d42c88.js} +1 -1
  33. package/lib/esm/{Mixcloud-a681ec69.js → Mixcloud-430ab42a.js} +1 -1
  34. package/lib/esm/{Preview-407cc648.js → Preview-7f57e055.js} +1 -1
  35. package/lib/esm/{SoundCloud-16e78ee5.js → SoundCloud-d1ab591e.js} +1 -1
  36. package/lib/esm/{Streamable-ecb225c1.js → Streamable-042d61d5.js} +1 -1
  37. package/lib/esm/{Twitch-8d1b6769.js → Twitch-2f45534f.js} +1 -1
  38. package/lib/esm/{VideoPlayer-62e0ce79.js → VideoPlayer-719076c4.js} +21 -16
  39. package/lib/esm/{Vidyard-57e2834a.js → Vidyard-4625527b.js} +1 -1
  40. package/lib/esm/{Vimeo-faa058a2.js → Vimeo-03b960e6.js} +1 -1
  41. package/lib/esm/{Wistia-24fb5120.js → Wistia-48f9c303.js} +1 -1
  42. package/lib/esm/{YouTube-01b3e51f.js → YouTube-5b29a3d9.js} +1 -1
  43. package/lib/esm/components/Card/Card.js +41 -0
  44. package/lib/esm/components/Card/CardGroup.js +23 -0
  45. package/lib/esm/components/Card/index.js +14 -0
  46. package/lib/esm/components/LocalNav/LocalNav.js +5 -3
  47. package/lib/esm/components/LocalNav/index.js +1 -0
  48. package/lib/esm/components/Logo/Logo.js +151 -0
  49. package/lib/esm/components/Logo/index.js +7 -0
  50. package/lib/esm/components/Video/Video.js +1 -1
  51. package/lib/esm/components/Video/VideoPlayer.js +1 -1
  52. package/lib/esm/components/Video/index.js +1 -1
  53. package/lib/esm/components/index.js +5 -1
  54. package/lib/esm/index.js +5 -1
  55. package/lib/types/react/src/components/Card/Card.d.ts +4 -0
  56. package/lib/types/react/src/components/Card/Card.props.d.ts +110 -0
  57. package/lib/types/react/src/components/Card/CardGroup.d.ts +4 -0
  58. package/lib/types/react/src/components/Card/CardGroup.props.d.ts +16 -0
  59. package/lib/types/react/src/components/Card/index.d.ts +2 -0
  60. package/lib/types/react/src/components/LocalNav/LocalNav.props.d.ts +4 -7
  61. package/lib/types/react/src/components/Logo/Logo.d.ts +4 -0
  62. package/lib/types/react/src/components/Logo/Logo.props.d.ts +55 -0
  63. package/lib/types/react/src/components/Logo/index.d.ts +1 -0
  64. package/lib/types/react/src/components/index.d.ts +1 -0
  65. package/lib/types/react/src/types/index.d.ts +6 -0
  66. package/package.json +17 -17
  67. package/src/components/Accordion/Accordion.args.ts +1 -4
  68. package/src/components/Card/Card.args.ts +215 -0
  69. package/src/components/Card/Card.props.ts +142 -0
  70. package/src/components/Card/Card.tsx +183 -0
  71. package/src/components/Card/CardGroup.args.ts +945 -0
  72. package/src/components/Card/CardGroup.props.ts +19 -0
  73. package/src/components/Card/CardGroup.tsx +55 -0
  74. package/src/components/Card/index.ts +2 -0
  75. package/src/components/LocalNav/LocalNav.args.ts +6 -6
  76. package/src/components/LocalNav/LocalNav.props.ts +4 -8
  77. package/src/components/LocalNav/LocalNav.tsx +21 -15
  78. package/src/components/Logo/Logo.args.ts +45 -0
  79. package/src/components/Logo/Logo.props.ts +67 -0
  80. package/src/components/Logo/Logo.tsx +247 -0
  81. package/src/components/Logo/index.ts +1 -0
  82. package/src/components/index.ts +1 -0
  83. package/src/types/index.ts +14 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @ilo-org/react
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 2aa1f1cc6: feat/react: Implementation of Card and CardGroup components
8
+ - c24a5f721: Adds responsive logo component and styles
9
+ - 77a4f5b75: LocalNav uses Logo component so that it can have sub-brands
10
+
11
+ ### Patch Changes
12
+
13
+ - 2aa1f1cc6: enable profile to be themeable and address a few minor style issues
14
+ - Updated dependencies [2aa1f1cc6]
15
+ - Updated dependencies [2aa1f1cc6]
16
+ - Updated dependencies [c24a5f721]
17
+ - @ilo-org/styles@0.2.0
18
+
3
19
  ## 0.3.0
4
20
 
5
21
  ### Minor Changes
package/README.md CHANGED
@@ -9,7 +9,7 @@ This package provides the implementation of the Design System using [React](http
9
9
  - [@ilo-org/icons](./packages/icons)
10
10
  - [@ilo-org/icons-react](./packages/icons-react)
11
11
 
12
- ## Installation and PNPM Commands
12
+ ## Installation
13
13
 
14
14
  To install
15
15
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var components_Video_VideoPlayer = require('./VideoPlayer-9ce35136.js');
3
+ var components_Video_VideoPlayer = require('./VideoPlayer-874a52b0.js');
4
4
  var require$$0 = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var components_Video_VideoPlayer = require('./VideoPlayer-9ce35136.js');
3
+ var components_Video_VideoPlayer = require('./VideoPlayer-874a52b0.js');
4
4
  var require$$0 = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var components_Video_VideoPlayer = require('./VideoPlayer-9ce35136.js');
3
+ var components_Video_VideoPlayer = require('./VideoPlayer-874a52b0.js');
4
4
  var require$$0 = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var components_Video_VideoPlayer = require('./VideoPlayer-9ce35136.js');
3
+ var components_Video_VideoPlayer = require('./VideoPlayer-874a52b0.js');
4
4
  var require$$0 = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var components_Video_VideoPlayer = require('./VideoPlayer-9ce35136.js');
3
+ var components_Video_VideoPlayer = require('./VideoPlayer-874a52b0.js');
4
4
  var require$$0 = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var components_Video_VideoPlayer = require('./VideoPlayer-9ce35136.js');
3
+ var components_Video_VideoPlayer = require('./VideoPlayer-874a52b0.js');
4
4
  var require$$0 = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var components_Video_VideoPlayer = require('./VideoPlayer-9ce35136.js');
3
+ var components_Video_VideoPlayer = require('./VideoPlayer-874a52b0.js');
4
4
  var require$$0 = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var components_Video_VideoPlayer = require('./VideoPlayer-9ce35136.js');
3
+ var components_Video_VideoPlayer = require('./VideoPlayer-874a52b0.js');
4
4
  var require$$0 = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var components_Video_VideoPlayer = require('./VideoPlayer-9ce35136.js');
3
+ var components_Video_VideoPlayer = require('./VideoPlayer-874a52b0.js');
4
4
  var require$$0 = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -641,7 +641,7 @@ patterns.canPlay = canPlay;
641
641
  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {
642
642
  return Promise.resolve().then(function () { return require(
643
643
  /* webpackChunkName: 'reactPlayerYouTube' */
644
- './YouTube-25a1d9a0.js'); }).then(function (n) { return n.YouTube; });
644
+ './YouTube-23b7ec9e.js'); }).then(function (n) { return n.YouTube; });
645
645
  })
646
646
  }, {
647
647
  key: 'soundcloud',
@@ -650,7 +650,7 @@ patterns.canPlay = canPlay;
650
650
  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {
651
651
  return Promise.resolve().then(function () { return require(
652
652
  /* webpackChunkName: 'reactPlayerSoundCloud' */
653
- './SoundCloud-7c59f293.js'); }).then(function (n) { return n.SoundCloud; });
653
+ './SoundCloud-089e0f30.js'); }).then(function (n) { return n.SoundCloud; });
654
654
  })
655
655
  }, {
656
656
  key: 'vimeo',
@@ -659,7 +659,7 @@ patterns.canPlay = canPlay;
659
659
  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {
660
660
  return Promise.resolve().then(function () { return require(
661
661
  /* webpackChunkName: 'reactPlayerVimeo' */
662
- './Vimeo-2cb7476f.js'); }).then(function (n) { return n.Vimeo; });
662
+ './Vimeo-4d2029a8.js'); }).then(function (n) { return n.Vimeo; });
663
663
  })
664
664
  }, {
665
665
  key: 'facebook',
@@ -668,7 +668,7 @@ patterns.canPlay = canPlay;
668
668
  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {
669
669
  return Promise.resolve().then(function () { return require(
670
670
  /* webpackChunkName: 'reactPlayerFacebook' */
671
- './Facebook-87e24af8.js'); }).then(function (n) { return n.Facebook; });
671
+ './Facebook-1924e510.js'); }).then(function (n) { return n.Facebook; });
672
672
  })
673
673
  }, {
674
674
  key: 'streamable',
@@ -677,7 +677,7 @@ patterns.canPlay = canPlay;
677
677
  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {
678
678
  return Promise.resolve().then(function () { return require(
679
679
  /* webpackChunkName: 'reactPlayerStreamable' */
680
- './Streamable-83e516e5.js'); }).then(function (n) { return n.Streamable; });
680
+ './Streamable-4ca5b9c7.js'); }).then(function (n) { return n.Streamable; });
681
681
  })
682
682
  }, {
683
683
  key: 'wistia',
@@ -686,7 +686,7 @@ patterns.canPlay = canPlay;
686
686
  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {
687
687
  return Promise.resolve().then(function () { return require(
688
688
  /* webpackChunkName: 'reactPlayerWistia' */
689
- './Wistia-5e830ac8.js'); }).then(function (n) { return n.Wistia; });
689
+ './Wistia-cd0799ad.js'); }).then(function (n) { return n.Wistia; });
690
690
  })
691
691
  }, {
692
692
  key: 'twitch',
@@ -695,7 +695,7 @@ patterns.canPlay = canPlay;
695
695
  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {
696
696
  return Promise.resolve().then(function () { return require(
697
697
  /* webpackChunkName: 'reactPlayerTwitch' */
698
- './Twitch-fdfa1c77.js'); }).then(function (n) { return n.Twitch; });
698
+ './Twitch-dbc5c387.js'); }).then(function (n) { return n.Twitch; });
699
699
  })
700
700
  }, {
701
701
  key: 'dailymotion',
@@ -704,7 +704,7 @@ patterns.canPlay = canPlay;
704
704
  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {
705
705
  return Promise.resolve().then(function () { return require(
706
706
  /* webpackChunkName: 'reactPlayerDailyMotion' */
707
- './DailyMotion-2aa7f048.js'); }).then(function (n) { return n.DailyMotion; });
707
+ './DailyMotion-5654fa6e.js'); }).then(function (n) { return n.DailyMotion; });
708
708
  })
709
709
  }, {
710
710
  key: 'mixcloud',
@@ -713,7 +713,7 @@ patterns.canPlay = canPlay;
713
713
  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {
714
714
  return Promise.resolve().then(function () { return require(
715
715
  /* webpackChunkName: 'reactPlayerMixcloud' */
716
- './Mixcloud-f9575c31.js'); }).then(function (n) { return n.Mixcloud; });
716
+ './Mixcloud-91a772a6.js'); }).then(function (n) { return n.Mixcloud; });
717
717
  })
718
718
  }, {
719
719
  key: 'vidyard',
@@ -722,7 +722,7 @@ patterns.canPlay = canPlay;
722
722
  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {
723
723
  return Promise.resolve().then(function () { return require(
724
724
  /* webpackChunkName: 'reactPlayerVidyard' */
725
- './Vidyard-096bba3c.js'); }).then(function (n) { return n.Vidyard; });
725
+ './Vidyard-371acdcb.js'); }).then(function (n) { return n.Vidyard; });
726
726
  })
727
727
  }, {
728
728
  key: 'kaltura',
@@ -731,7 +731,7 @@ patterns.canPlay = canPlay;
731
731
  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {
732
732
  return Promise.resolve().then(function () { return require(
733
733
  /* webpackChunkName: 'reactPlayerKaltura' */
734
- './Kaltura-a673a8e9.js'); }).then(function (n) { return n.Kaltura; });
734
+ './Kaltura-177bb003.js'); }).then(function (n) { return n.Kaltura; });
735
735
  })
736
736
  }, {
737
737
  key: 'file',
@@ -743,7 +743,7 @@ patterns.canPlay = canPlay;
743
743
  lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {
744
744
  return Promise.resolve().then(function () { return require(
745
745
  /* webpackChunkName: 'reactPlayerFilePlayer' */
746
- './FilePlayer-e1216cc8.js'); }).then(function (n) { return n.FilePlayer; });
746
+ './FilePlayer-9c697e42.js'); }).then(function (n) { return n.FilePlayer; });
747
747
  })
748
748
  }];
749
749
  exports["default"] = _default;
@@ -816,7 +816,7 @@ var hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;
816
816
  // Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js
817
817
 
818
818
  function equal(a, b) {
819
- // START: fast-deep-equal es6/index.js 3.1.1
819
+ // START: fast-deep-equal es6/index.js 3.1.3
820
820
  if (a === b) return true;
821
821
 
822
822
  if (a && b && typeof a == 'object' && typeof b == 'object') {
@@ -881,8 +881,13 @@ function equal(a, b) {
881
881
  }
882
882
 
883
883
  if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
884
- if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
885
- if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
884
+ // START: Modifications:
885
+ // Apply guards for `Object.create(null)` handling. See:
886
+ // - https://github.com/FormidableLabs/react-fast-compare/issues/64
887
+ // - https://github.com/epoberezkin/fast-deep-equal/issues/49
888
+ if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();
889
+ if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();
890
+ // END: Modifications
886
891
 
887
892
  keys = Object.keys(a);
888
893
  length = keys.length;
@@ -1663,7 +1668,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
1663
1668
  var Preview = /*#__PURE__*/(0, _react.lazy)(function () {
1664
1669
  return Promise.resolve().then(function () { return require(
1665
1670
  /* webpackChunkName: 'reactPlayerPreview' */
1666
- './Preview-468c3a7f.js'); }).then(function (n) { return n.Preview; });
1671
+ './Preview-8e2afb6a.js'); }).then(function (n) { return n.Preview; });
1667
1672
  });
1668
1673
  var IS_BROWSER = typeof window !== 'undefined' && window.document;
1669
1674
  var IS_GLOBAL = typeof commonjsGlobal !== 'undefined' && commonjsGlobal.window && commonjsGlobal.window.document;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var components_Video_VideoPlayer = require('./VideoPlayer-9ce35136.js');
3
+ var components_Video_VideoPlayer = require('./VideoPlayer-874a52b0.js');
4
4
  var require$$0 = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var components_Video_VideoPlayer = require('./VideoPlayer-9ce35136.js');
3
+ var components_Video_VideoPlayer = require('./VideoPlayer-874a52b0.js');
4
4
  var require$$0 = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var components_Video_VideoPlayer = require('./VideoPlayer-9ce35136.js');
3
+ var components_Video_VideoPlayer = require('./VideoPlayer-874a52b0.js');
4
4
  var require$$0 = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var components_Video_VideoPlayer = require('./VideoPlayer-9ce35136.js');
3
+ var components_Video_VideoPlayer = require('./VideoPlayer-874a52b0.js');
4
4
  var require$$0 = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -0,0 +1,43 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var classNames = require('classnames');
5
+ var hooks_useGlobalSettings = require('../../hooks/useGlobalSettings.js');
6
+ var components_Link_Link = require('../Link/Link.js');
7
+ var components_List_List = require('../List/List.js');
8
+ var components_List_ListItem = require('../List/ListItem.js');
9
+ var components_LinkList_LinkList = require('../LinkList/LinkList.js');
10
+ var components_Profile_Profile = require('../Profile/Profile.js');
11
+ require('tslib');
12
+ require('react');
13
+ require('../../GlobalCtx-97e4b433.js');
14
+ require('../../ListCtx-7db7fe04.js');
15
+
16
+ const Card = ({ isvideo, eyebrow, title, color, theme, variant, size, cornercut, alignment, intro, date, eventdetails, profile, listitems, link, linklist, cta, image, source, dataset, }) => {
17
+ const { prefix } = hooks_useGlobalSettings();
18
+ const baseClass = `${prefix}--card`;
19
+ const cardClasses = classNames(baseClass, `${baseClass}--${variant}`, `${baseClass}--${color}`, {
20
+ [`${baseClass}--${cornercut}`]: cornercut,
21
+ [`${baseClass}--${alignment}`]: alignment,
22
+ [`${baseClass}--action`]: link,
23
+ [`${baseClass}--${size}`]: size,
24
+ [`${baseClass}--isvideo`]: isvideo,
25
+ [`${baseClass}--linklist`]: linklist,
26
+ [`${baseClass}--${theme}`]: theme,
27
+ });
28
+ return (jsxRuntime.jsxs("div", Object.assign({ className: cardClasses }, { children: [link &&
29
+ variant != "data" &&
30
+ variant != "factlist" &&
31
+ variant != "stat" && (jsxRuntime.jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsxRuntime.jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--wrap` }, { children: [image && (jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsxRuntime.jsx("picture", { children: jsxRuntime.jsx("img", { className: `${baseClass}--image`, src: image, alt: title }) }) }))), jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && jsxRuntime.jsx("h5", Object.assign({ className: `${baseClass}--title` }, { children: title })), (variant == "multilink" || (variant == "data" && image)) && (jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsxRuntime.jsx("picture", { children: jsxRuntime.jsx("img", { className: `${baseClass}--image`, src: image, alt: title }) }) }))), intro && jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--intro` }, { children: intro })), date &&
32
+ variant != "stat" &&
33
+ variant != "data" &&
34
+ variant != "graphicpromo" &&
35
+ variant != "factlist" && (jsxRuntime.jsx("time", Object.assign({ className: `${baseClass}--date`, dateTime: date.unix }, { children: date.human }))), eventdetails && (jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--event-date` }, { children: eventdetails }))), profile && profile.avatar && (jsxRuntime.jsx(components_Profile_Profile, { avatar: profile.avatar, description: profile.description, link: profile.link, name: profile.name, role: profile.role, className: `${prefix}--profile--contents--${theme}` })), listitems && (jsxRuntime.jsx(components_List_List, Object.assign({ alignment: "default", ordered: "unordered" }, { children: listitems.map((item, index) => (jsxRuntime.jsx(components_List_ListItem, Object.assign({ id: `list${index}` }, { children: jsxRuntime.jsx("p", { children: item }) })))) }))), cta && cta.label && (jsxRuntime.jsx("a", Object.assign({ className: `${baseClass}--cta ${prefix}--button ${prefix}--button--medium ${prefix}--button--primary`, href: cta.url }, { children: jsxRuntime.jsx("span", Object.assign({ className: "link__label" }, { children: cta.label })) }))), source && (jsxRuntime.jsx(components_Link_Link, Object.assign({ theme: theme, url: source.url }, { children: source.label }))), linklist && (jsxRuntime.jsx(components_LinkList_LinkList, { headline: linklist.headline, linkgroup: linklist.linkgroup })), dataset &&
36
+ dataset.content &&
37
+ dataset.content.items &&
38
+ dataset.content.items.map((item) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--data--content-label` }, { children: item.label })), jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--data--content-copy` }, { children: item.copy }))] }))), dataset && dataset.files && (jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--data--content-files` }, { children: [jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--data--content-label` }, { children: dataset.files.headline })), dataset.files.items &&
39
+ dataset.files.items.map((item) => (jsxRuntime.jsx("a", Object.assign({ className: `${baseClass}--data--file ${prefix}--button ${prefix}--button--primary ${prefix}--button--small`, href: item.url, download: true }, { children: jsxRuntime.jsx("span", Object.assign({ className: "button__label" }, { children: item.label })) }))))] }))), dataset && dataset.links && (jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--data--content-links` }, { children: [jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--data--content-label` }, { children: dataset.links.headline })), dataset.links.items &&
40
+ dataset.links.items.map((item) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(components_Link_Link, Object.assign({ url: item.url }, { children: item.label })), jsxRuntime.jsx("span", { children: "\u00A0\u00A0" })] })))] })))] }))] }))] })));
41
+ };
42
+
43
+ module.exports = Card;
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var classNames = require('classnames');
5
+ var hooks_useGlobalSettings = require('../../hooks/useGlobalSettings.js');
6
+ var components_Card_Card = require('./Card.js');
7
+ require('tslib');
8
+ require('react');
9
+ require('../../GlobalCtx-97e4b433.js');
10
+ require('../Link/Link.js');
11
+ require('../List/List.js');
12
+ require('../../ListCtx-7db7fe04.js');
13
+ require('../List/ListItem.js');
14
+ require('../LinkList/LinkList.js');
15
+ require('../Profile/Profile.js');
16
+
17
+ const CardGroup = ({ cards, cardcount, cta }) => {
18
+ const { prefix } = hooks_useGlobalSettings();
19
+ const baseClass = `${prefix}--cardgroup`;
20
+ const cardGroupClasses = classNames(baseClass, `${baseClass}--${cardcount}`);
21
+ return (jsxRuntime.jsx("div", Object.assign({ className: cardGroupClasses }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--inner` }, { children: [cards &&
22
+ cards.map((card) => (jsxRuntime.jsx(components_Card_Card, { title: card.title, image: card.image, intro: card.intro, eyebrow: card.eyebrow, date: card.date, dataset: card.dataset, link: card.link, profile: card.profile, cta: card.cta, source: card.source, listitems: card.listitems, linklist: card.linklist, color: card.color, theme: card.theme, cornercut: card.cornercut, alignment: card.alignment, variant: card.variant, size: card.size }))), cta && (jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--button-wrap` }, { children: jsxRuntime.jsx("a", Object.assign({ className: `${prefix}--button ${prefix}--button--medium ${prefix}--button--secondary`, href: cta.url }, { children: jsxRuntime.jsx("span", Object.assign({ className: "button__label" }, { children: cta.label })) })) })))] })) })));
23
+ };
24
+
25
+ module.exports = CardGroup;
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ var components_Card_Card = require('./Card.js');
4
+ var components_Card_CardGroup = require('./CardGroup.js');
5
+ require('react/jsx-runtime');
6
+ require('classnames');
7
+ require('../../hooks/useGlobalSettings.js');
8
+ require('tslib');
9
+ require('react');
10
+ require('../../GlobalCtx-97e4b433.js');
11
+ require('../Link/Link.js');
12
+ require('../List/List.js');
13
+ require('../../ListCtx-7db7fe04.js');
14
+ require('../List/ListItem.js');
15
+ require('../LinkList/LinkList.js');
16
+ require('../Profile/Profile.js');
17
+
18
+
19
+
20
+ exports.Card = components_Card_Card;
21
+ exports.CardGroup = components_Card_CardGroup;
@@ -5,6 +5,7 @@ var require$$0 = require('react');
5
5
  var hooks_useGlobalSettings = require('../../hooks/useGlobalSettings.js');
6
6
  var components_ContextMenu_ContextMenu = require('../ContextMenu/ContextMenu.js');
7
7
  var classNames = require('classnames');
8
+ var components_Logo_Logo = require('../Logo/Logo.js');
8
9
  require('tslib');
9
10
  require('../../GlobalCtx-97e4b433.js');
10
11
 
@@ -77,7 +78,8 @@ var brand = {
77
78
  }
78
79
  };
79
80
 
80
- const LocalNav = ({ background, logo, siteurl, primarynav, mainlink, menucloselabel, languagelabel, languagecontextmenu, }) => {
81
+ const DEFAULT_LOGO_SIZE = 280;
82
+ const LocalNav = ({ background, logo, primarynav, mainlink, menucloselabel, languagelabel, languagecontextmenu, }) => {
81
83
  const { prefix } = hooks_useGlobalSettings();
82
84
  const [toggleMenuOpen, setMenuToggleOpen] = require$$0.useState(false);
83
85
  const [toggleLanguageOpen, setLanguageToggleOpen] = require$$0.useState(false);
@@ -93,8 +95,8 @@ const LocalNav = ({ background, logo, siteurl, primarynav, mainlink, menuclosela
93
95
  const handleLanguageToggle = () => {
94
96
  setLanguageToggleOpen(!toggleLanguageOpen);
95
97
  };
96
- return (jsxRuntime.jsx("header", Object.assign({ className: localNavClasses }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--utility-bar ${baseClass}--utility-bar--local`, style: { background: bg } }, { children: [jsxRuntime.jsxs("nav", Object.assign({ className: `${prefix}--nav--local` }, { children: [jsxRuntime.jsx("div", Object.assign({ className: `${prefix}--nav--local--logo-wrapper` }, { children: jsxRuntime.jsx("a", Object.assign({ href: siteurl, className: `${prefix}--nav--local--logo-link` }, { children: jsxRuntime.jsx("img", { src: logo, alt: "ILO Logo", className: `${prefix}--nav--local--logo` }) })) })), jsxRuntime.jsx("ul", Object.assign({ className: `${prefix}--nav--local--set` }, { children: (primarynav === null || primarynav === void 0 ? void 0 : primarynav.items) &&
97
- primarynav.items.map((item, index) => (jsxRuntime.jsx("li", Object.assign({ className: `${prefix}--nav--local--item` }, { children: jsxRuntime.jsx("a", Object.assign({ href: item.url, className: `${prefix}--nav--local--link` }, { children: jsxRuntime.jsx("span", { children: item.label }) })) }), index))) }))] })), jsxRuntime.jsx("div", Object.assign({ className: `${prefix}--language-switcher` }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${prefix}--language-switcher--wrap` }, { children: [mainlink && (jsxRuntime.jsx("span", Object.assign({ className: `${prefix}--language-switcher--link--wrap` }, { children: jsxRuntime.jsx("a", Object.assign({ href: mainlink.url, className: `${prefix}--language-switcher--link` }, { children: mainlink.label })) }))), jsxRuntime.jsx("button", Object.assign({ className: `${prefix}--language-switcher--button`, type: "button" }, { children: languagelabel })), jsxRuntime.jsx(components_ContextMenu_ContextMenu, { links: languagecontextmenu === null || languagecontextmenu === void 0 ? void 0 : languagecontextmenu.links })] })) })), jsxRuntime.jsx("button", Object.assign({ className: `${baseClass}--menu`, onClick: handleMenuToggle }, { children: "Menu" })), jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--navigation` }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--inner` }, { children: [jsxRuntime.jsxs("div", Object.assign({ className: `${prefix}--mobile--nav` }, { children: [jsxRuntime.jsxs("div", Object.assign({ className: `${prefix}--mobile--nav--logo` }, { children: [jsxRuntime.jsx("a", Object.assign({ href: siteurl, className: `${baseClass}--logo-link` }, { children: jsxRuntime.jsx("img", { className: `${baseClass}--logo`, src: logo, alt: "ILO Logo" }) })), jsxRuntime.jsx("button", Object.assign({ className: `${baseClass}--menu--close`, onClick: handleMenuToggle }, { children: menucloselabel }))] })), jsxRuntime.jsx("div", Object.assign({ className: `${prefix}--mobile--nav--language--switcher` }, { children: jsxRuntime.jsx("button", Object.assign({ className: `${prefix}--mobile--nav--language--switcher--button`, onClick: handleLanguageToggle, type: "button" }, { children: languagelabel })) })), jsxRuntime.jsx("div", Object.assign({ className: `${prefix}--mobile--nav--language--select` }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--inner` }, { children: [jsxRuntime.jsxs("div", Object.assign({ className: `${prefix}--mobile--subnav--menu` }, { children: [jsxRuntime.jsx("button", { className: `${prefix}--mobile--subnav--back`, onClick: handleLanguageToggle, type: "button" }), jsxRuntime.jsx("button", Object.assign({ className: `${baseClass}--menu--close`, onClick: handleMenuToggle }, { children: "Close" })), jsxRuntime.jsx("h6", Object.assign({ className: `${prefix}--mobile--subnav--label` }, { children: languagelabel }))] })), jsxRuntime.jsx("ul", Object.assign({ className: `${prefix}--nav--set` }, { children: (languagecontextmenu === null || languagecontextmenu === void 0 ? void 0 : languagecontextmenu.links) &&
98
+ return (jsxRuntime.jsx("header", Object.assign({ className: localNavClasses }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--utility-bar ${baseClass}--utility-bar--local`, style: { background: bg } }, { children: [jsxRuntime.jsxs("nav", Object.assign({ className: `${prefix}--nav--local` }, { children: [jsxRuntime.jsx("div", Object.assign({ className: `${prefix}--nav--local--logo-wrapper` }, { children: jsxRuntime.jsx(components_Logo_Logo, { url: logo.url, src: logo.src, alt: logo.alt, className: `${prefix}--nav--local--logo`, subbrand: logo.subbrand, theme: logo.theme, size: logo.size || DEFAULT_LOGO_SIZE }) })), jsxRuntime.jsx("ul", Object.assign({ className: `${prefix}--nav--local--set` }, { children: (primarynav === null || primarynav === void 0 ? void 0 : primarynav.items) &&
99
+ primarynav.items.map((item, index) => (jsxRuntime.jsx("li", Object.assign({ className: `${prefix}--nav--local--item` }, { children: jsxRuntime.jsx("a", Object.assign({ href: item.url, className: `${prefix}--nav--local--link` }, { children: jsxRuntime.jsx("span", { children: item.label }) })) }), index))) }))] })), jsxRuntime.jsx("div", Object.assign({ className: `${prefix}--language-switcher` }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${prefix}--language-switcher--wrap` }, { children: [mainlink && (jsxRuntime.jsx("span", Object.assign({ className: `${prefix}--language-switcher--link--wrap` }, { children: jsxRuntime.jsx("a", Object.assign({ href: mainlink.url, className: `${prefix}--language-switcher--link` }, { children: mainlink.label })) }))), jsxRuntime.jsx("button", Object.assign({ className: `${prefix}--language-switcher--button`, type: "button" }, { children: languagelabel })), jsxRuntime.jsx(components_ContextMenu_ContextMenu, { links: languagecontextmenu === null || languagecontextmenu === void 0 ? void 0 : languagecontextmenu.links })] })) })), jsxRuntime.jsx("button", Object.assign({ className: `${baseClass}--menu`, onClick: handleMenuToggle }, { children: "Menu" })), jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--navigation` }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--inner` }, { children: [jsxRuntime.jsxs("div", Object.assign({ className: `${prefix}--mobile--nav` }, { children: [jsxRuntime.jsxs("div", Object.assign({ className: `${prefix}--mobile--nav--logo` }, { children: [jsxRuntime.jsx(components_Logo_Logo, { url: logo.url, src: logo.src, alt: logo.alt, className: `${prefix}--nav--local--logo`, subbrand: logo.subbrand, theme: logo.theme, size: logo.size || DEFAULT_LOGO_SIZE }), jsxRuntime.jsx("button", Object.assign({ className: `${baseClass}--menu--close`, onClick: handleMenuToggle }, { children: menucloselabel }))] })), jsxRuntime.jsx("div", Object.assign({ className: `${prefix}--mobile--nav--language--switcher` }, { children: jsxRuntime.jsx("button", Object.assign({ className: `${prefix}--mobile--nav--language--switcher--button`, onClick: handleLanguageToggle, type: "button" }, { children: languagelabel })) })), jsxRuntime.jsx("div", Object.assign({ className: `${prefix}--mobile--nav--language--select` }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--inner` }, { children: [jsxRuntime.jsxs("div", Object.assign({ className: `${prefix}--mobile--subnav--menu` }, { children: [jsxRuntime.jsx("button", { className: `${prefix}--mobile--subnav--back`, onClick: handleLanguageToggle, type: "button" }), jsxRuntime.jsx("button", Object.assign({ className: `${baseClass}--menu--close`, onClick: handleMenuToggle }, { children: "Close" })), jsxRuntime.jsx("h6", Object.assign({ className: `${prefix}--mobile--subnav--label` }, { children: languagelabel }))] })), jsxRuntime.jsx("ul", Object.assign({ className: `${prefix}--nav--set` }, { children: (languagecontextmenu === null || languagecontextmenu === void 0 ? void 0 : languagecontextmenu.links) &&
98
100
  languagecontextmenu.links.map((item, index) => (jsxRuntime.jsx("li", Object.assign({ className: `${prefix}--nav--items` }, { children: jsxRuntime.jsx("a", Object.assign({ href: item.url, className: `${prefix}--nav--link ${prefix}--nav--language` }, { children: item.label })) }), index))) }))] })) }))] })), jsxRuntime.jsxs("nav", Object.assign({ className: `${prefix}--nav`, "aria-labelledby": "primary-navigation" }, { children: [jsxRuntime.jsx("h2", Object.assign({ className: `${prefix}--nav--label`, id: "primary-navigation" }, { children: primarynav === null || primarynav === void 0 ? void 0 : primarynav.navlabel })), jsxRuntime.jsx("ul", Object.assign({ className: `${prefix}--nav--set` }, { children: (primarynav === null || primarynav === void 0 ? void 0 : primarynav.items) &&
99
101
  primarynav.items.map((item, index) => (jsxRuntime.jsx("li", Object.assign({ className: `${prefix}--nav--items` }, { children: jsxRuntime.jsx("a", Object.assign({ href: item.url, className: `${prefix}--nav--link` }, { children: item.label })) }), index))) }))] }))] })) }))] })) })));
100
102
  };
@@ -8,6 +8,7 @@ require('tslib');
8
8
  require('../../GlobalCtx-97e4b433.js');
9
9
  require('../ContextMenu/ContextMenu.js');
10
10
  require('classnames');
11
+ require('../Logo/Logo.js');
11
12
 
12
13
 
13
14
 
@@ -0,0 +1,153 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var require$$0 = require('react');
6
+ var hooks_useGlobalSettings = require('../../hooks/useGlobalSettings.js');
7
+ var classNames = require('classnames');
8
+ require('../../GlobalCtx-97e4b433.js');
9
+
10
+ const isOverflown = ({ clientHeight, clientWidth, scrollHeight, scrollWidth, }) => scrollHeight > clientHeight || scrollWidth > clientWidth;
11
+ const getFullFontSize = (container, { maxSize = 600, startingHeight = 9, step = 0.5 }) => {
12
+ let i = startingHeight;
13
+ let overflow = false;
14
+ while (!overflow && i < maxSize) {
15
+ container.style.fontSize = `${i}px`;
16
+ container.style.lineHeight = `${i}px`;
17
+ overflow = isOverflown(container);
18
+ if (!overflow) {
19
+ i = i + step;
20
+ }
21
+ }
22
+ // Reset styles to the way they were
23
+ container.style.fontSize = "";
24
+ container.style.lineHeight = "";
25
+ // Return the ideal font size
26
+ return i - step;
27
+ };
28
+ const BaseLogo = (_a) => {
29
+ var { baseClass, className, subbrand, alt, src, style: userStyles, size = "fluid", theme = "light" } = _a, props = tslib.__rest(_a, ["baseClass", "className", "subbrand", "alt", "src", "style", "size", "theme"]);
30
+ // The logo image element
31
+ const imageRef = require$$0.useRef(null);
32
+ // The lockup container
33
+ const lockupRef = require$$0.useRef(null);
34
+ // The lockup text
35
+ const lockupTextRef = require$$0.useRef(null);
36
+ // Has the image loaded or not
37
+ const [imageLoaded, setImageLoaded] = require$$0.useState(false);
38
+ // Dynamic height of the image
39
+ const [imageHeight, setImageHeight] = require$$0.useState(0);
40
+ // Ratio of the font size to the height of the logo image
41
+ const [fontSizeRatio, setfontSizeRatio] = require$$0.useState(0);
42
+ // Is the logo visible? Default to true if not a subbrand
43
+ const [isLogoVisible, setIsLogoVisible] = require$$0.useState(!subbrand);
44
+ // Initial height of the image when it's loaded
45
+ const initialImageHeight = require$$0.useRef(null);
46
+ // Resize observer gets the initial height of the image when
47
+ // it loads and updates the height when it changes in state
48
+ const observer = require$$0.useRef(new ResizeObserver((entries) => {
49
+ const { height } = entries[0].contentRect;
50
+ if (!initialImageHeight.current) {
51
+ initialImageHeight.current = height;
52
+ }
53
+ setImageHeight(height);
54
+ }));
55
+ // Make the logo visible for subrand when everything is ready
56
+ require$$0.useEffect(() => {
57
+ if (subbrand && imageLoaded && fontSizeRatio) {
58
+ setIsLogoVisible(true);
59
+ }
60
+ }, [imageLoaded, fontSizeRatio, subbrand]);
61
+ // Set up the Resize observer to watch the image
62
+ require$$0.useEffect(() => {
63
+ if (imageLoaded && lockupRef.current && imageRef.current) {
64
+ const imageEl = imageRef.current;
65
+ observer.current.observe(imageEl);
66
+ return () => observer.current.unobserve(imageEl);
67
+ }
68
+ }, [imageLoaded]);
69
+ // Gets the font size necessary for the lockup text to fill the
70
+ // the lockup container as much as possible without overflowing.
71
+ // Then gets the ratio of full font size to image height which will
72
+ // be used to calculate the font size if the image gets resized
73
+ require$$0.useEffect(() => {
74
+ setFontSize();
75
+ }, [imageLoaded, initialImageHeight.current]);
76
+ // Adjust the font size if for some weird reason the subbrand changes
77
+ // This is mostly just to illustrate how the component works on Storybook
78
+ require$$0.useEffect(() => {
79
+ setFontSize();
80
+ }, [subbrand]);
81
+ function setFontSize() {
82
+ if (lockupRef.current &&
83
+ lockupTextRef.current &&
84
+ initialImageHeight.current) {
85
+ const fullFontSize = getFullFontSize(lockupRef.current, {
86
+ maxSize: initialImageHeight.current,
87
+ });
88
+ const ratio = fullFontSize / initialImageHeight.current;
89
+ setfontSizeRatio(ratio);
90
+ }
91
+ }
92
+ // Has the image loaded or not
93
+ function handleImageLoaded() {
94
+ setImageLoaded(true);
95
+ }
96
+ // Conditions for different CSS classes
97
+ const hasSubbrand = !!subbrand;
98
+ const hasFluidWidth = size === "fluid";
99
+ const hasFixedWidth = !hasFluidWidth && typeof size === "number";
100
+ // Classes for the outer figure container
101
+ const subBrandClass = `${baseClass}--sub-brand`;
102
+ const fluidWidthClass = `${baseClass}--size--fluid`;
103
+ const visibilityHidden = `${baseClass}--visibility--hidden`;
104
+ // Outer figure classes
105
+ const classNames$1 = classNames(baseClass, className, `${baseClass}--theme--${theme}`, {
106
+ [visibilityHidden]: !isLogoVisible,
107
+ [fluidWidthClass]: hasFluidWidth,
108
+ [subBrandClass]: hasSubbrand,
109
+ });
110
+ // Classes for the image element
111
+ const noSubBrandImageClass = `${baseClass}--image`;
112
+ const subBrandImageClass = `${subBrandClass}--image`;
113
+ // Set inline CSS including variables on the outer figure element
114
+ const getStyle = () => {
115
+ const conditionalStyles = {};
116
+ // Add CSS vars if this is a sub-brand
117
+ if (hasSubbrand) {
118
+ conditionalStyles["--logo-image-height"] = `${imageHeight}px`;
119
+ conditionalStyles["--logo-font-size"] = `${fontSizeRatio * imageHeight}px`;
120
+ }
121
+ // Add fixed width if it has fixed width
122
+ if (hasFixedWidth) {
123
+ conditionalStyles.width = `${size}px`;
124
+ }
125
+ // User styles may be overriden
126
+ return Object.assign({ userStyles }, conditionalStyles);
127
+ };
128
+ const getImageSrc = () => {
129
+ if (typeof src === "string") {
130
+ return src;
131
+ }
132
+ return src[theme];
133
+ };
134
+ return (jsxRuntime.jsxs("figure", Object.assign({ className: classNames$1, style: getStyle() }, { children: [jsxRuntime.jsx("img", Object.assign({ ref: imageRef, alt: alt, src: getImageSrc(), className: classNames({
135
+ [subBrandImageClass]: hasSubbrand,
136
+ [noSubBrandImageClass]: !hasSubbrand,
137
+ }), onLoad: handleImageLoaded }, props)), hasSubbrand && (jsxRuntime.jsxs("div", Object.assign({ ref: lockupRef, className: `${subBrandClass}--lock-up` }, { children: [jsxRuntime.jsx("span", { className: `${subBrandClass}--lock-up--separator` }), jsxRuntime.jsx("span", Object.assign({ ref: lockupTextRef }, { children: subbrand }))] })))] })));
138
+ };
139
+ const Logo = (_a) => {
140
+ var { className, url, target, style, size } = _a, props = tslib.__rest(_a, ["className", "url", "target", "style", "size"]);
141
+ const { prefix } = hooks_useGlobalSettings();
142
+ const baseClass = `${prefix}--logo`;
143
+ const linkClass = `${baseClass}--link`;
144
+ const fluidClass = `${baseClass}--size--fluid`;
145
+ if (url) {
146
+ return (jsxRuntime.jsx("a", Object.assign({ href: url, target: target, className: classNames(linkClass, className, {
147
+ [fluidClass]: size === "fluid",
148
+ }), style: style }, { children: jsxRuntime.jsx(BaseLogo, Object.assign({}, props, { baseClass: baseClass, size: size })) })));
149
+ }
150
+ return (jsxRuntime.jsx(BaseLogo, Object.assign({ baseClass: baseClass, className: className, style: style, size: size }, props)));
151
+ };
152
+
153
+ module.exports = Logo;
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var components_Logo_Logo = require('./Logo.js');
4
+ require('tslib');
5
+ require('react/jsx-runtime');
6
+ require('react');
7
+ require('../../hooks/useGlobalSettings.js');
8
+ require('../../GlobalCtx-97e4b433.js');
9
+ require('classnames');
10
+
11
+
12
+
13
+ exports.Logo = components_Logo_Logo;
@@ -3,7 +3,7 @@
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var classNames = require('classnames');
5
5
  var hooks_useGlobalSettings = require('../../hooks/useGlobalSettings.js');
6
- var components_Video_VideoPlayer = require('../../VideoPlayer-9ce35136.js');
6
+ var components_Video_VideoPlayer = require('../../VideoPlayer-874a52b0.js');
7
7
  require('tslib');
8
8
  require('react');
9
9
  require('../../GlobalCtx-97e4b433.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('react/jsx-runtime');
4
4
  require('react');
5
- var components_Video_VideoPlayer = require('../../VideoPlayer-9ce35136.js');
5
+ var components_Video_VideoPlayer = require('../../VideoPlayer-874a52b0.js');
6
6
  require('react-dom');
7
7
  require('classnames');
8
8
  require('../../hooks/useGlobalSettings.js');