trepur_components 0.3.0 → 0.3.3

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 (36) hide show
  1. package/dist/components/Accordion/index.js +1 -19
  2. package/dist/components/AlertBar/index.js +82 -56
  3. package/dist/components/Breadcrumbs/index.js +31 -11
  4. package/dist/components/BreadcrumbsBordered/index.js +13 -11
  5. package/dist/components/BreadcrumbsItem/index.css +3 -23
  6. package/dist/components/BreadcrumbsItem/index.js +110 -138
  7. package/dist/components/Button/index.js +123 -117
  8. package/dist/components/Card/index.js +73 -163
  9. package/dist/components/CardWithTopImage/index.js +21 -24
  10. package/dist/components/Carousel/index.js +8 -4
  11. package/dist/components/CarouselV2/index.js +12 -10
  12. package/dist/components/Collapsible/index.js +85 -74
  13. package/dist/components/Column/index.js +36 -18
  14. package/dist/components/FyreCard/index.js +4 -23
  15. package/dist/components/Icon/index.js +66 -26
  16. package/dist/components/Image/index.js +36 -14
  17. package/dist/components/ImageLink/index.js +15 -7
  18. package/dist/components/ImageLinkList/index.js +5 -1
  19. package/dist/components/InformationIcon/index.js +74 -82
  20. package/dist/components/Input/index.js +82 -61
  21. package/dist/components/Nav/index.js +96 -129
  22. package/dist/components/NavItem/index.js +82 -71
  23. package/dist/components/NewsCard/index.js +26 -42
  24. package/dist/components/Profile/index.js +35 -23
  25. package/dist/components/Row/index.js +31 -10
  26. package/dist/components/Search/index.js +19 -25
  27. package/dist/components/SocialBlock/index.js +108 -84
  28. package/dist/components/StarRating/index.js +61 -31
  29. package/dist/components/Testimonial/index.js +22 -18
  30. package/dist/components/TextAndTitle/index.js +121 -99
  31. package/dist/components/TextArea/index.js +68 -47
  32. package/dist/components/Timeline/index.js +81 -51
  33. package/dist/components/Tubestops/index.js +62 -30
  34. package/dist/components/UserIcon/index.js +14 -10
  35. package/dist/components/Video/index.js +45 -34
  36. package/package.json +1 -1
@@ -5,13 +5,13 @@ require("core-js/modules/es.object.assign.js");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = void 0;
8
+ exports.default = exports.buttonProps = void 0;
9
9
 
10
10
  require("core-js/modules/web.dom-collections.iterator.js");
11
11
 
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
 
14
- var _Icon = _interopRequireDefault(require("../Icon"));
14
+ var _Icon = _interopRequireWildcard(require("../Icon"));
15
15
 
16
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
 
@@ -25,170 +25,176 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
25
25
 
26
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
27
 
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
+
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
+
32
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
33
+
28
34
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
29
35
 
36
+ const buttonProps = {
37
+ id: _propTypes.default.string,
38
+ classes: _propTypes.default.string,
39
+ text: _propTypes.default.string,
40
+ onClick: _propTypes.default.func,
41
+ bgColor: _propTypes.default.string,
42
+ textColor: _propTypes.default.string,
43
+ borderColor: _propTypes.default.string,
44
+ hoverBgColor: _propTypes.default.string,
45
+ hoverTextColor: _propTypes.default.string,
46
+ hoverBorderColor: _propTypes.default.string,
47
+ hoverText: _propTypes.default.string,
48
+ type: _propTypes.default.string,
49
+ url: _propTypes.default.string,
50
+ design: _propTypes.default.string,
51
+ bordered: _propTypes.default.bool,
52
+ rounded: _propTypes.default.bool,
53
+ disabled: _propTypes.default.bool,
54
+ isLoading: _propTypes.default.bool,
55
+ leftIcon: _propTypes.default.shape(_Icon.iconProps),
56
+ rightIcon: _propTypes.default.shape(_Icon.iconProps),
57
+ centerIcon: _propTypes.default.shape(_Icon.iconProps)
58
+ };
59
+ exports.buttonProps = buttonProps;
60
+
30
61
  const Button = _ref => {
31
62
  let {
32
63
  buttonProps
33
64
  } = _ref;
34
65
  const [hovering, setHovering] = (0, _react.useState)(false);
35
- const design = buttonProps.design ? buttonProps.design : 'standard';
66
+ if (buttonProps == undefined) return;
67
+ const design = (0, _classnames.default)({
68
+ [buttonProps.design]: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.design,
69
+ 'standard': !(buttonProps !== null && buttonProps !== void 0 && buttonProps.design)
70
+ });
36
71
  const padding = (0, _classnames.default)({
37
- 'px-1 py-1': buttonProps.type === 'social',
38
- 'px-3': buttonProps.type === 'icon',
39
- 'px-8': buttonProps.type !== 'social' && buttonProps.type !== 'icon'
72
+ 'px-1 py-1': (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.type) === 'social',
73
+ 'px-3': (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.type) === 'icon',
74
+ 'px-8': (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.type) !== 'social' && (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.type) !== 'icon'
40
75
  }, 'py-2');
41
76
  const borderClassList = (0, _classnames.default)({
42
- 'border-2': buttonProps.bordered
77
+ 'border-2': buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.bordered
43
78
  });
44
79
  const roundedClassList = (0, _classnames.default)({
45
- 'rounded-full': buttonProps.rounded,
46
- 'rounded-none': !buttonProps.rounded
80
+ 'rounded-full': buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.rounded,
81
+ 'rounded-none': !(buttonProps !== null && buttonProps !== void 0 && buttonProps.rounded)
47
82
  });
48
- const standardClasses = (0, _classnames.default)({
49
- [borderClassList]: borderClassList,
50
- [roundedClassList]: roundedClassList
51
- }, "rounded-lg transition-backgroundColor \n duration-500 transform");
52
- const slideClasses = (0, _classnames.default)("btn px-8 border-2 ");
53
83
  const loadingClasses = (0, _classnames.default)({
54
- 'invisible': !buttonProps.isLoading
84
+ 'invisible': !(buttonProps !== null && buttonProps !== void 0 && buttonProps.isLoading)
55
85
  }, 'absolute left-2/4 top-1/4 -ml-2');
56
86
  const colours = (0, _classnames.default)({
57
- [buttonProps.hoverBgColor]: buttonProps.hoverBgColor,
58
- [buttonProps.hoverTextColor]: buttonProps.hoverTextColor,
59
- [buttonProps.hoverBorderColor]: buttonProps.hoverBorderColor,
60
- [buttonProps.bgColor]: buttonProps.bgColor,
61
- [buttonProps.textColor]: buttonProps.textColor,
62
- [buttonProps.borderColor]: buttonProps.borderColor
87
+ [buttonProps.hoverBgColor]: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.hoverBgColor,
88
+ [buttonProps.hoverTextColor]: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.hoverTextColor,
89
+ [buttonProps.hoverBorderColor]: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.hoverBorderColor,
90
+ [buttonProps.bgColor]: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.bgColor,
91
+ [buttonProps.textColor]: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.textColor,
92
+ [buttonProps.borderColor]: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.borderColor
63
93
  });
64
94
  const classList = (0, _classnames.default)({
65
95
  [padding]: true,
66
96
  [colours]: true,
67
- [buttonProps.classes]: buttonProps.classes,
68
- [standardClasses]: design === 'standard',
69
- [slideClasses]: design === 'slide'
97
+ [buttonProps.classes]: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.classes,
98
+ [borderClassList]: borderClassList && design === 'standard',
99
+ [roundedClassList]: roundedClassList && design === 'standard',
100
+ 'rounded-lg transition-backgroundColor duration-500 transform': design === 'standard',
101
+ 'btn px-8 border-2': design === 'slide'
70
102
  });
71
- const iconClassList = (0, _classnames.default)({
72
- 'fa-brands': buttonProps.iconBrand
103
+ const buttonContentClasses = (0, _classnames.default)({
104
+ 'invisible': buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.isLoading
105
+ }, 'flex');
106
+
107
+ const iconLeft = (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.leftIcon) && /*#__PURE__*/_react.default.createElement(_Icon.default, {
108
+ iconProps: {
109
+ classes: (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.leftIcon.brand) && 'fa-brands',
110
+ size: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.leftIcon.size,
111
+ type: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.leftIcon.type,
112
+ hollow: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.leftIcon.hollow
113
+ }
114
+ });
115
+
116
+ const iconRight = (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.rightIcon) && /*#__PURE__*/_react.default.createElement(_Icon.default, {
117
+ iconProps: {
118
+ classes: buttonProps !== null && buttonProps !== void 0 && buttonProps.rightIcon.brand ? 'fa-brands' : '',
119
+ size: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.rightIcon.size,
120
+ type: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.rightIcon.type,
121
+ hollow: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.rightIcon.hollow
122
+ }
123
+ });
124
+
125
+ const iconCenter = (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.centerIcon) && /*#__PURE__*/_react.default.createElement(_Icon.default, {
126
+ iconProps: buttonProps.centerIcon
127
+ });
128
+
129
+ const loadingIcon = /*#__PURE__*/_react.default.createElement(_Icon.default, {
130
+ iconProps: {
131
+ size: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.size,
132
+ type: 'spinner',
133
+ animation: 'pulse'
134
+ }
73
135
  });
74
136
 
75
- let iconLeft = buttonProps.leftIcon && /*#__PURE__*/_react.default.createElement(_Icon.default, _extends({
76
- classes: "pr-2",
77
- type: buttonProps.leftIcon
78
- }, buttonProps.iconHollow && {
79
- hollow: buttonProps.iconHollow
80
- }));
81
-
82
- let iconRight = buttonProps.rightIcon && /*#__PURE__*/_react.default.createElement(_Icon.default, _extends({
83
- classes: "pl-2",
84
- type: buttonProps.rightIcon
85
- }, buttonProps.iconHollow && {
86
- hollow: buttonProps.iconHollow
87
- }));
88
-
89
- let iconCenter = buttonProps.centerIcon && /*#__PURE__*/_react.default.createElement(_Icon.default, _extends({
90
- size: buttonProps.iconSize,
91
- classes: iconClassList,
92
- type: buttonProps.centerIcon
93
- }, buttonProps.iconHollow && {
94
- hollow: buttonProps.iconHollow
95
- }));
96
-
97
- if (['internal', 'external'].includes(buttonProps.type)) {
98
- return /*#__PURE__*/_react.default.createElement("a", _extends({}, buttonProps.type === 'external' && {
137
+ if (['internal', 'external'].includes(buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.type)) {
138
+ return /*#__PURE__*/_react.default.createElement("a", _extends({}, (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.type) === 'external' && {
99
139
  target: '_blank'
100
140
  }, {
101
- href: buttonProps.url
102
- }), /*#__PURE__*/_react.default.createElement("button", _extends({}, buttonProps.id && {
103
- id: buttonProps.id
141
+ href: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.url
142
+ }), /*#__PURE__*/_react.default.createElement("button", _extends({}, (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.id) && {
143
+ id: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.id
104
144
  }, {
105
145
  className: classList,
106
146
  type: "button",
107
- "aria-busy": buttonProps.isLoading,
147
+ "aria-busy": buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.isLoading,
108
148
  onMouseOver: () => setHovering(true),
109
149
  onMouseOut: () => setHovering(false)
110
- }, buttonProps.onClick && {
111
- onClick: buttonProps.onClick
112
- }, buttonProps.disabled && {
113
- disabled: buttonProps.disabled
150
+ }, (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.onClick) && {
151
+ onClick: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.onClick
152
+ }, (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.disabled) && {
153
+ disabled: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.disabled
114
154
  }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
115
- className: buttonProps.isLoading && 'invisible'
116
- }, buttonProps.leftIcon && iconLeft, hovering ? buttonProps.hoverText ? buttonProps.hoverText : buttonProps.text : buttonProps.text, buttonProps.rightIcon && iconRight), /*#__PURE__*/_react.default.createElement("div", {
155
+ className: buttonContentClasses
156
+ }, (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.leftIcon) && iconLeft, /*#__PURE__*/_react.default.createElement("p", null, hovering ? buttonProps !== null && buttonProps !== void 0 && buttonProps.hoverText ? buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.hoverText : buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.text : buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.text), (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.rightIcon) && iconRight), /*#__PURE__*/_react.default.createElement("div", {
117
157
  className: loadingClasses
118
- }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
119
- type: "spinner",
120
- animation: "pulse"
121
- })))));
122
- } else if (['social', 'icon'].includes(buttonProps.type)) {
123
- return /*#__PURE__*/_react.default.createElement("button", _extends({}, buttonProps.id && {
124
- id: buttonProps.id
158
+ }, loadingIcon))));
159
+ } else if (['social', 'icon'].includes(buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.type)) {
160
+ return /*#__PURE__*/_react.default.createElement("button", _extends({}, (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.id) && {
161
+ id: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.id
125
162
  }, {
126
163
  className: classList,
127
164
  type: "button",
128
- "aria-busy": buttonProps.isLoading,
165
+ "aria-busy": buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.isLoading,
129
166
  onMouseOver: () => setHovering(true),
130
167
  onMouseOut: () => setHovering(false)
131
- }, buttonProps.onClick && {
132
- onClick: buttonProps.onClick
133
- }, buttonProps.disabled && {
134
- disabled: buttonProps.disabled
168
+ }, (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.onClick) && {
169
+ onClick: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.onClick
170
+ }, (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.disabled) && {
171
+ disabled: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.disabled
135
172
  }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
136
- className: buttonProps.isLoading && 'invisible'
137
- }, buttonProps.centerIcon && iconCenter), /*#__PURE__*/_react.default.createElement("div", {
173
+ className: buttonProps !== null && buttonProps !== void 0 && buttonProps.isLoading ? 'invisible' : ''
174
+ }, (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.centerIcon) && iconCenter), /*#__PURE__*/_react.default.createElement("div", {
138
175
  className: loadingClasses
139
- }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
140
- type: "spinner",
141
- animation: "pulse"
142
- }))));
143
- } else return /*#__PURE__*/_react.default.createElement("button", _extends({}, buttonProps.id && {
144
- id: buttonProps.id
176
+ }, loadingIcon)));
177
+ } else return /*#__PURE__*/_react.default.createElement("button", _extends({}, (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.id) && {
178
+ id: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.id
145
179
  }, {
146
180
  className: classList,
147
181
  type: "button",
148
- "aria-busy": buttonProps.isLoading,
182
+ "aria-busy": buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.isLoading,
149
183
  onMouseOver: () => setHovering(true),
150
184
  onMouseOut: () => setHovering(false)
151
- }, buttonProps.onClick && {
152
- onClick: buttonProps.onClick
153
- }, buttonProps.disabled && {
154
- disabled: buttonProps.disabled
185
+ }, (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.onClick) && {
186
+ onClick: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.onClick
187
+ }, (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.disabled) && {
188
+ disabled: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.disabled
155
189
  }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
156
- className: buttonProps.isLoading && 'invisible'
157
- }, buttonProps.leftIcon && iconLeft, hovering ? buttonProps.hoverText ? buttonProps.hoverText : buttonProps.text : buttonProps.text, buttonProps.rightIcon && iconRight), /*#__PURE__*/_react.default.createElement("div", {
190
+ className: buttonProps !== null && buttonProps !== void 0 && buttonProps.isLoading ? 'invisible' : ''
191
+ }, (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.leftIcon) && iconLeft, /*#__PURE__*/_react.default.createElement("p", null, hovering ? buttonProps !== null && buttonProps !== void 0 && buttonProps.hoverText ? buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.hoverText : buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.text : buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.text), (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.rightIcon) && iconRight), /*#__PURE__*/_react.default.createElement("div", {
158
192
  className: loadingClasses
159
- }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
160
- type: "spinner",
161
- animation: "pulse"
162
- }))));
193
+ }, loadingIcon)));
163
194
  };
164
195
 
165
196
  Button.propTypes = {
166
- buttonProps: _propTypes.default.shape({
167
- id: _propTypes.default.string,
168
- classes: _propTypes.default.string,
169
- text: _propTypes.default.string,
170
- onClick: _propTypes.default.func,
171
- leftIcon: _propTypes.default.string,
172
- rightIcon: _propTypes.default.string,
173
- centerIcon: _propTypes.default.string,
174
- iconHollow: _propTypes.default.bool,
175
- bgColor: _propTypes.default.string,
176
- textColor: _propTypes.default.string,
177
- borderColor: _propTypes.default.string,
178
- hoverBgColor: _propTypes.default.string,
179
- hoverTextColor: _propTypes.default.string,
180
- hoverBorderColor: _propTypes.default.string,
181
- hoverText: _propTypes.default.string,
182
- type: _propTypes.default.string,
183
- url: _propTypes.default.string,
184
- design: _propTypes.default.string,
185
- bordered: _propTypes.default.bool,
186
- rounded: _propTypes.default.bool,
187
- iconBrand: _propTypes.default.string,
188
- disabled: _propTypes.default.bool,
189
- iconSize: _propTypes.default.string,
190
- isLoading: _propTypes.default.bool
191
- })
197
+ buttonProps: _propTypes.default.shape(_objectSpread({}, buttonProps))
192
198
  };
193
199
  var _default = Button;
194
200
  exports.default = _default;
@@ -7,18 +7,20 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ require("core-js/modules/es.symbol.description.js");
11
+
10
12
  require("core-js/modules/web.dom-collections.iterator.js");
11
13
 
12
14
  var _react = _interopRequireWildcard(require("react"));
13
15
 
14
16
  var _Button = _interopRequireDefault(require("../Button"));
15
17
 
16
- require("../index.css");
17
-
18
18
  var _Video = _interopRequireDefault(require("../Video"));
19
19
 
20
20
  var _classnames = _interopRequireDefault(require("classnames"));
21
21
 
22
+ require("../index.css");
23
+
22
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
25
 
24
26
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -29,214 +31,122 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
29
31
 
30
32
  const Card = _ref => {
31
33
  let {
32
- cardId,
33
- cardClasses,
34
- cardTitle,
35
- cardImage,
36
- cardSubTitle,
37
- cardDescription,
38
- cardExtraText,
39
- cardHasCta,
40
- cardImageBelowTitle,
41
- cardTitleLeft,
42
- cardTitleRight,
43
- cardTitleBold,
44
- cardImageClass,
45
- cardSubTitleClass,
46
- cardExtraTextClass,
47
- cardDescriptionClass,
48
- cardAltText,
49
- cardRounded,
50
- cardBordered,
51
- videoId,
52
- videoClasses,
53
- autoPlay,
54
- muted,
55
- poster,
56
- mp4File,
57
- webmFile,
58
- ogvFile,
59
- videoHeight,
60
- videoWidth,
61
- withControls,
62
- withPoster,
63
- buttonId,
64
- buttonClasses,
65
- buttonText,
66
- buttonOnClick,
67
- buttonLeftIcon,
68
- buttonRightIcon,
69
- buttonCenterIcon,
70
- buttonBgColor,
71
- buttonTextColor,
72
- buttonBorderColor,
73
- buttonHoverBgColor,
74
- buttonHoverTextColor,
75
- buttonHoverBorderColor,
76
- buttonHoverText,
77
- buttonType,
78
- buttonUrl,
79
- buttonDesign,
80
- buttonBordered,
81
- buttonRounded,
82
- buttonIconBrand,
83
- buttonDisabled,
84
- onHover
34
+ id,
35
+ classes,
36
+ title,
37
+ image,
38
+ subTitle,
39
+ description,
40
+ extraText,
41
+ hasCta,
42
+ imageBelowTitle,
43
+ titleLeft,
44
+ titleRight,
45
+ titleBold,
46
+ imageClass,
47
+ subTitleClass,
48
+ extraTextClass,
49
+ descriptionClass,
50
+ altText,
51
+ rounded,
52
+ bordered,
53
+ videoProps,
54
+ onHover,
55
+ iconButtonProps,
56
+ cardButtonProps,
57
+ button2Props
85
58
  } = _ref;
86
59
  const [showHoverButtons, setShowHoverButtons] = (0, _react.useState)(false);
87
- let orderClass = cardImageBelowTitle ? ' order-first ' : '';
60
+ let orderClass = imageBelowTitle ? ' order-first ' : '';
88
61
  let btnClass = 'w-full p-3 ';
89
- let border = cardBordered ? 'border border-grey border-opacity-100 ' : '';
90
- let cardTitleFont = cardTitleBold ? 'font-bold' : '';
91
- let cardTitlePosition = cardTitleLeft ? 'text-left ' : cardTitleRight ? 'text-right ' : 'text-center ';
92
- let roundedImage = cardRounded ? 'rounded-t-2xl ' : '';
93
- let roundedCard = cardRounded ? 'rounded-2xl ' : '';
62
+ let border = bordered ? 'border border-grey border-opacity-100 ' : '';
63
+ let cardTitleFont = titleBold ? 'font-bold' : '';
64
+ let cardTitlePosition = titleLeft ? 'text-left ' : titleRight ? 'text-right ' : 'text-center ';
65
+ let roundedImage = rounded ? 'rounded-t-2xl ' : '';
66
+ let roundedCard = rounded ? 'rounded-2xl ' : '';
94
67
  let contentWrapperClass = 'px-3 order-3';
95
68
  const titleWrapperClass = (0, _classnames.default)({
96
69
  [orderClass]: orderClass
97
70
  }, 'pt-3');
98
71
  const cardTitleClasses = (0, _classnames.default)({
99
- [cardTitleFont]: cardTitleFont
100
- }, cardTitlePosition, 'font-medium text-md text-grey');
72
+ [cardTitleFont]: cardTitleFont,
73
+ [cardTitlePosition]: true
74
+ }, 'font-medium text-md text-grey');
101
75
  const cardSubTitleClassList = (0, _classnames.default)({
102
- [cardSubTitleClass]: cardSubTitleClass
76
+ [subTitleClass]: subTitleClass
103
77
  }, 'font-light text-sm text-grey');
104
78
  const cardDescriptionClassList = (0, _classnames.default)({
105
- [cardDescriptionClass]: cardDescriptionClass
79
+ [descriptionClass]: descriptionClass
106
80
  }, 'font-extraLight text-xs text-light-grey');
107
81
  const classList = (0, _classnames.default)({
108
82
  [border]: border,
109
83
  [roundedCard]: roundedCard,
110
- [cardClasses]: cardClasses
111
- }, 'flex flex-col ');
84
+ [classes]: classes
85
+ }, 'flex flex-col');
112
86
  const imageClassList = (0, _classnames.default)({
113
- [roundedImage]: !cardImageBelowTitle,
114
- [cardImageClass]: cardImageClass
115
- }, ' w-full object-cover h-full ');
87
+ [roundedImage]: !imageBelowTitle,
88
+ [imageClass]: imageClass
89
+ }, 'w-full object-cover h-full');
116
90
  const videoClassList = (0, _classnames.default)({
117
- [roundedImage]: !cardImageBelowTitle,
118
- [videoClasses]: videoClasses
119
- }, ' w-full object-cover h-full ');
91
+ [roundedImage]: !imageBelowTitle,
92
+ [videoProps === null || videoProps === void 0 ? void 0 : videoProps.videoClasses]: videoProps === null || videoProps === void 0 ? void 0 : videoProps.videoClasses
93
+ }, 'w-full object-cover h-full');
120
94
  const cardExtraTextClassList = (0, _classnames.default)({
121
- [cardExtraTextClass]: cardExtraTextClass,
122
- ['pb-4']: !cardHasCta
95
+ [extraTextClass]: extraTextClass,
96
+ 'pb-4': !hasCta
123
97
  }, 'w-full object-cover h-full font-extraLight text-xs text-light-grey');
124
98
  const imageWrapperClassList = (0, _classnames.default)({
125
- [' order-2']: cardImageBelowTitle,
126
- ["".concat(roundedImage, " order-1")]: !cardImageBelowTitle
127
- }, ' h-64 overflow-hidden object-cover ');
99
+ 'order-2': imageBelowTitle,
100
+ ["".concat(roundedImage, " order-1")]: !imageBelowTitle
101
+ }, 'h-64 overflow-hidden object-cover');
128
102
 
129
103
  const toggleHover = isHovering => {
130
104
  onHover && isHovering ? setShowHoverButtons(true) : setShowHoverButtons(false);
131
105
  };
132
106
 
133
- return /*#__PURE__*/_react.default.createElement("div", _extends({
134
- key: cardId
135
- }, cardId && {
136
- id: cardId
107
+ return /*#__PURE__*/_react.default.createElement("div", _extends({}, id && {
108
+ id: id
137
109
  }, {
138
110
  className: classList,
139
111
  onMouseEnter: () => toggleHover(true),
140
112
  onMouseLeave: () => toggleHover(false)
141
113
  }), /*#__PURE__*/_react.default.createElement("div", {
142
114
  className: "card-content flex flex-1 flex-col"
143
- }, mp4File || webmFile || ogvFile ? /*#__PURE__*/_react.default.createElement("div", {
115
+ }, videoProps !== null && videoProps !== void 0 && videoProps.mp4File || videoProps !== null && videoProps !== void 0 && videoProps.webmFile || videoProps !== null && videoProps !== void 0 && videoProps.ogvFile ? /*#__PURE__*/_react.default.createElement("div", {
144
116
  className: imageWrapperClassList
145
- }, /*#__PURE__*/_react.default.createElement(_Video.default, _extends({
146
- id: videoId,
147
- classes: videoClassList,
148
- autoPlay: autoPlay,
149
- muted: muted
150
- }, poster && {
151
- poster: poster
152
- }, mp4File && {
153
- mp4File: mp4File
154
- }, webmFile && {
155
- webmFile: webmFile
156
- }, ogvFile && {
157
- ogvFile: ogvFile
158
- }, {
159
- height: videoHeight,
160
- width: videoWidth,
161
- withControls: withControls,
162
- withPoster: withPoster
163
- }))) : cardImage && /*#__PURE__*/_react.default.createElement("div", {
117
+ }, /*#__PURE__*/_react.default.createElement(_Video.default, {
118
+ videoProps: videoProps
119
+ })) : image && /*#__PURE__*/_react.default.createElement("div", {
164
120
  className: imageWrapperClassList
165
121
  }, /*#__PURE__*/_react.default.createElement("img", {
166
122
  className: imageClassList,
167
- src: cardImage,
168
- alt: cardAltText
123
+ src: image,
124
+ alt: altText
169
125
  })), !showHoverButtons ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
170
- className: cardImageBelowTitle ? 'order-1' : 'order-3'
171
- }, cardTitle && /*#__PURE__*/_react.default.createElement("div", {
126
+ className: imageBelowTitle ? 'order-1' : 'order-3'
127
+ }, title && /*#__PURE__*/_react.default.createElement("div", {
172
128
  className: titleWrapperClass
173
129
  }, /*#__PURE__*/_react.default.createElement("h3", {
174
130
  className: cardTitleClasses
175
- }, cardTitle))), /*#__PURE__*/_react.default.createElement("div", {
131
+ }, title))), /*#__PURE__*/_react.default.createElement("div", {
176
132
  className: contentWrapperClass
177
- }, cardSubTitle && /*#__PURE__*/_react.default.createElement("h4", {
133
+ }, subTitle && /*#__PURE__*/_react.default.createElement("h4", {
178
134
  className: cardSubTitleClassList
179
- }, cardSubTitle), cardDescription && /*#__PURE__*/_react.default.createElement("p", {
135
+ }, subTitle), description && /*#__PURE__*/_react.default.createElement("p", {
180
136
  className: cardDescriptionClassList
181
- }, cardDescription), cardExtraText && /*#__PURE__*/_react.default.createElement("p", {
137
+ }, description), extraText && /*#__PURE__*/_react.default.createElement("p", {
182
138
  className: cardExtraTextClassList
183
- }, cardExtraText))) : /*#__PURE__*/_react.default.createElement("div", {
139
+ }, extraText))) : /*#__PURE__*/_react.default.createElement("div", {
184
140
  className: "flex p-2 order-last h-24"
185
141
  }, /*#__PURE__*/_react.default.createElement(_Button.default, {
186
- buttonType: "icon",
187
- buttonUrl: "/",
188
- buttonCenterIcon: "heart",
189
- buttonBgColor: "white",
190
- buttonTextColor: "black",
191
- buttonBorderColor: "black",
192
- buttonHoverBgColor: "black",
193
- buttonHoverTextColor: "white",
194
- buttonHoverBorderColor: "black",
195
- buttonBordered: true,
196
- buttonClasses: "mt-8",
197
- iconSize: 1,
198
- iconHollow: true
142
+ buttonProps: iconButtonProps
199
143
  }), /*#__PURE__*/_react.default.createElement(_Button.default, {
200
- buttonClasses: "ml-2 w-full mt-8",
201
- buttonText: "Add to basket",
202
- buttonBordered: true,
203
- buttonRounded: false,
204
- buttonDisabled: false,
205
- buttonBgColor: "#2f4848",
206
- buttonBorderColor: "#2f4848",
207
- buttonTextColor: "white"
208
- }))), cardHasCta && /*#__PURE__*/_react.default.createElement("div", {
144
+ buttonProps: button2Props
145
+ }))), hasCta && /*#__PURE__*/_react.default.createElement("div", {
209
146
  className: btnClass
210
- }, /*#__PURE__*/_react.default.createElement(_Button.default, _extends({
211
- buttonId: buttonId,
212
- buttonClasses: buttonClasses + ' w-full',
213
- buttonText: buttonText,
214
- buttonType: buttonType,
215
- buttonUrl: buttonUrl,
216
- buttonBordered: buttonBordered,
217
- buttonBgColor: buttonBgColor,
218
- buttonTextColor: buttonTextColor,
219
- buttonBorderColor: buttonBorderColor,
220
- buttonHoverBgColor: buttonHoverBgColor,
221
- buttonHoverTextColor: buttonHoverTextColor,
222
- buttonHoverBorderColor: buttonHoverBorderColor
223
- }, buttonDesign && {
224
- buttonDesign: buttonDesign
225
- }, buttonDisabled && {
226
- buttonDisabled
227
- }, {
228
- buttonOnClick: buttonOnClick,
229
- buttonLeftIcon: buttonLeftIcon,
230
- buttonRightIcon: buttonRightIcon,
231
- buttonCenterIcon: buttonCenterIcon,
232
- buttonHoverBgColor: buttonHoverBgColor,
233
- buttonHoverTextColor: buttonHoverTextColor,
234
- buttonHoverBorderColor: buttonHoverBorderColor,
235
- buttonHoverText: buttonHoverText,
236
- buttonUrl: buttonUrl,
237
- buttonRounded: buttonRounded,
238
- buttonIconBrand: buttonIconBrand
239
- }))));
147
+ }, /*#__PURE__*/_react.default.createElement(_Button.default, {
148
+ buttonProps: cardButtonProps
149
+ })));
240
150
  };
241
151
 
242
152
  var _default = Card;