@blerp/design 1.3.17 → 1.4.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 (128) hide show
  1. package/dist/cjs/Blerp/BlerpImageRow.js +176 -57
  2. package/dist/cjs/Blerp/BlerpSavePopup.js +44 -40
  3. package/dist/cjs/Blerp/BlerpTitleRow.js +36 -19
  4. package/dist/cjs/Blerp/BlerpTopRow.js +110 -44
  5. package/dist/cjs/Blerp.js +9 -16
  6. package/dist/cjs/BlerpAudioContextProvider.js +2 -2
  7. package/dist/cjs/BlerpListView.js +318 -168
  8. package/dist/cjs/BlerpListViewPremium.js +155 -130
  9. package/dist/cjs/BlerpListViewSkeleton.js +60 -13
  10. package/dist/cjs/BlerpSkeleton.js +32 -9
  11. package/dist/cjs/CollectionCard.js +139 -60
  12. package/dist/cjs/CollectionListViewPremium.js +368 -297
  13. package/dist/cjs/CollectionSkeleton.js +74 -13
  14. package/dist/cjs/Dropdown.js +272 -172
  15. package/dist/cjs/EllipsisLoader.js +66 -21
  16. package/dist/cjs/GroupCard.js +64 -57
  17. package/dist/cjs/Icons/Icons.js +288 -426
  18. package/dist/cjs/ImageEditor.js +247 -0
  19. package/dist/cjs/ImageUpload.js +226 -0
  20. package/dist/cjs/NewBlerp.js +354 -160
  21. package/dist/cjs/NewBlerpTest.js +10 -792
  22. package/dist/cjs/NewCollectionModal.js +294 -310
  23. package/dist/cjs/PremiumCollectionCard.js +191 -454
  24. package/dist/cjs/PurchaseModals/CheckoutModal.js +1 -1
  25. package/dist/cjs/PurchaseModals/PremiumBlerpCheckoutModal.js +1 -1
  26. package/dist/cjs/PurchaseModals/PremiumCollectionCheckoutModal.js +1 -1
  27. package/dist/cjs/PurchaseModals/PremiumSubscriptionCheckoutModal.js +1 -1
  28. package/dist/cjs/ReactionButtons.js +26 -13
  29. package/dist/cjs/SnackbarContextProvider.js +200 -116
  30. package/dist/cjs/Theme.js +217 -90
  31. package/dist/cjs/Toggle.js +86 -32
  32. package/dist/cjs/UserCard.js +13 -32
  33. package/dist/cjs/UserPage/LibraryControls.js +180 -93
  34. package/dist/cjs/UserPage/UserLibraryHeader.js +23 -14
  35. package/dist/cjs/UserPage/UserProfileHeader.js +120 -105
  36. package/dist/cjs/UsernameWithPopout.js +12 -8
  37. package/dist/cjs/colors.js +15 -8
  38. package/dist/cjs/helpers.js +131 -0
  39. package/dist/cjs/index.js +92 -58
  40. package/dist/cjs/neo-components/Autocomplete.js +280 -0
  41. package/dist/cjs/neo-components/BottomNavigation.js +120 -0
  42. package/dist/cjs/neo-components/Box.js +48 -0
  43. package/dist/cjs/neo-components/Button.js +206 -0
  44. package/dist/cjs/neo-components/CircularProgress.js +92 -0
  45. package/dist/cjs/neo-components/Container.js +75 -0
  46. package/dist/cjs/neo-components/Dialog.js +441 -0
  47. package/dist/cjs/neo-components/Fab.js +237 -0
  48. package/dist/cjs/neo-components/FormControls.js +1057 -0
  49. package/dist/cjs/neo-components/Grid.js +256 -0
  50. package/dist/cjs/neo-components/IconButton.js +111 -0
  51. package/dist/cjs/neo-components/Input.js +493 -0
  52. package/dist/cjs/neo-components/Layout.js +1213 -0
  53. package/dist/cjs/neo-components/Misc.js +858 -0
  54. package/dist/cjs/neo-components/Navigation.js +1578 -0
  55. package/dist/cjs/neo-components/Paper.js +256 -0
  56. package/dist/cjs/neo-components/Stack.js +194 -0
  57. package/dist/cjs/neo-components/Stepper.js +291 -0
  58. package/dist/cjs/neo-components/Text.js +290 -0
  59. package/dist/cjs/neo-components/ThemeProvider.js +731 -0
  60. package/dist/cjs/neo-components/ToggleButton.js +223 -0
  61. package/dist/cjs/neo-components/createTheme.js +306 -0
  62. package/dist/cjs/neo-components/withSx.js +164 -0
  63. package/dist/cjs/neo-utils/sxToStyle.js +508 -0
  64. package/dist/esm/Blerp/BlerpImageRow.js +166 -46
  65. package/dist/esm/Blerp/BlerpSavePopup.js +35 -27
  66. package/dist/esm/Blerp/BlerpTitleRow.js +32 -13
  67. package/dist/esm/Blerp/BlerpTopRow.js +85 -16
  68. package/dist/esm/Blerp.js +4 -12
  69. package/dist/esm/BlerpAudioContextProvider.js +1 -2
  70. package/dist/esm/BlerpListView.js +313 -160
  71. package/dist/esm/BlerpListViewPremium.js +135 -109
  72. package/dist/esm/BlerpListViewSkeleton.js +60 -11
  73. package/dist/esm/BlerpSkeleton.js +32 -7
  74. package/dist/esm/CollectionCard.js +118 -38
  75. package/dist/esm/CollectionListViewPremium.js +367 -294
  76. package/dist/esm/CollectionSkeleton.js +73 -11
  77. package/dist/esm/Dropdown.js +260 -161
  78. package/dist/esm/EllipsisLoader.js +63 -18
  79. package/dist/esm/GroupCard.js +54 -46
  80. package/dist/esm/Icons/Icons.js +226 -367
  81. package/dist/esm/ImageEditor.js +240 -0
  82. package/dist/esm/ImageUpload.js +217 -0
  83. package/dist/esm/NewBlerp.js +282 -79
  84. package/dist/esm/NewBlerpTest.js +11 -781
  85. package/dist/esm/NewCollectionModal.js +289 -304
  86. package/dist/esm/PremiumCollectionCard.js +192 -451
  87. package/dist/esm/PurchaseModals/CheckoutModal.js +1 -1
  88. package/dist/esm/PurchaseModals/PremiumBlerpCheckoutModal.js +1 -1
  89. package/dist/esm/PurchaseModals/PremiumCollectionCheckoutModal.js +1 -1
  90. package/dist/esm/PurchaseModals/PremiumSubscriptionCheckoutModal.js +1 -1
  91. package/dist/esm/ReactionButtons.js +23 -8
  92. package/dist/esm/SnackbarContextProvider.js +196 -110
  93. package/dist/esm/Theme.js +187 -66
  94. package/dist/esm/Toggle.js +84 -29
  95. package/dist/esm/UserCard.js +1 -20
  96. package/dist/esm/UserPage/LibraryControls.js +159 -65
  97. package/dist/esm/UserPage/UserLibraryHeader.js +18 -10
  98. package/dist/esm/UserPage/UserProfileHeader.js +100 -79
  99. package/dist/esm/UsernameWithPopout.js +7 -4
  100. package/dist/esm/colors.js +11 -9
  101. package/dist/esm/helpers.js +122 -0
  102. package/dist/esm/icons.js +1 -1
  103. package/dist/esm/index.js +32 -2
  104. package/dist/esm/neo-components/Autocomplete.js +269 -0
  105. package/dist/esm/neo-components/BottomNavigation.js +109 -0
  106. package/dist/esm/neo-components/Box.js +36 -0
  107. package/dist/esm/neo-components/Button.js +194 -0
  108. package/dist/esm/neo-components/CircularProgress.js +81 -0
  109. package/dist/esm/neo-components/Container.js +63 -0
  110. package/dist/esm/neo-components/Dialog.js +423 -0
  111. package/dist/esm/neo-components/Fab.js +225 -0
  112. package/dist/esm/neo-components/FormControls.js +1041 -0
  113. package/dist/esm/neo-components/Grid.js +244 -0
  114. package/dist/esm/neo-components/IconButton.js +99 -0
  115. package/dist/esm/neo-components/Input.js +478 -0
  116. package/dist/esm/neo-components/Layout.js +1179 -0
  117. package/dist/esm/neo-components/Misc.js +840 -0
  118. package/dist/esm/neo-components/Navigation.js +1556 -0
  119. package/dist/esm/neo-components/Paper.js +243 -0
  120. package/dist/esm/neo-components/Stack.js +182 -0
  121. package/dist/esm/neo-components/Stepper.js +278 -0
  122. package/dist/esm/neo-components/Text.js +277 -0
  123. package/dist/esm/neo-components/ThemeProvider.js +718 -0
  124. package/dist/esm/neo-components/ToggleButton.js +214 -0
  125. package/dist/esm/neo-components/createTheme.js +297 -0
  126. package/dist/esm/neo-components/withSx.js +153 -0
  127. package/dist/esm/neo-utils/sxToStyle.js +502 -0
  128. package/package.json +19 -15
package/dist/esm/Blerp.js CHANGED
@@ -1,13 +1,11 @@
1
- import 'prop-types';
2
- import React, { useContext, useState, useRef } from 'react';
3
- import { ColorExtractor } from 'react-color-extractor';
4
- import { ThemeContext } from 'styled-components';
1
+ import React, { useState, useRef } from 'react';
5
2
  import BlerpImageRow from './Blerp/BlerpImageRow.js';
6
3
  import BlerpSavePopup from './Blerp/BlerpSavePopup.js';
7
4
  import BlerpTitleRow from './Blerp/BlerpTitleRow.js';
8
5
  import BlerpTopRow from './Blerp/BlerpTopRow.js';
9
6
  import { Box, Stack } from './index.js';
10
7
  import { useWindowSize } from './ScreenSizeHook.js';
8
+ import { useBlerpTheme } from './Theme.js';
11
9
 
12
10
  const reactionIconUrls = {
13
11
  FUNNY: "https://cdn.blerp.com/blerp_products/Icons/Funny%403x.svg",
@@ -22,8 +20,6 @@ const reactionIconUrls = {
22
20
  LOVE: "https://cdn.blerp.com/blerp_products/Icons/Heart%403x.svg"
23
21
  };
24
22
  const Blerp = _ref => {
25
- var _bite$image, _bite$image$original;
26
-
27
23
  let {
28
24
  bite,
29
25
  title,
@@ -52,7 +48,7 @@ const Blerp = _ref => {
52
48
  handleClickLock,
53
49
  backgroundColor
54
50
  } = _ref;
55
- const theme = useContext(ThemeContext);
51
+ const theme = useBlerpTheme();
56
52
  const [openSave, setOpenSave] = useState(false);
57
53
  const size = useWindowSize();
58
54
  const [profileColors, setProfileColors] = useState(null);
@@ -174,9 +170,6 @@ const Blerp = _ref => {
174
170
  background: profileColors ? "linear-gradient(180deg, ".concat(profileColors[0]).concat(isPremium ? isLocked ? isBlerpHovered ? "C4" : "78" : isBlerpHovered ? "" : "C4" : "0", ", ").concat(theme.colors.grey5Override).concat(isPremium ? isLocked ? isBlerpHovered ? "C4" : "78" : isBlerpHovered ? "" : "C4" : "0", ")") : "",
175
171
  backgroundColor: isPremium && !profileColors && "grey5.override"
176
172
  }
177
- }), /*#__PURE__*/React.createElement(ColorExtractor, {
178
- src: bite === null || bite === void 0 ? void 0 : (_bite$image = bite.image) === null || _bite$image === void 0 ? void 0 : (_bite$image$original = _bite$image.original) === null || _bite$image$original === void 0 ? void 0 : _bite$image$original.url,
179
- getColors: colors => setProfileColors(colors)
180
173
  }), /*#__PURE__*/React.createElement(BlerpTopRow, {
181
174
  bite: bite,
182
175
  isOwner: isOwner,
@@ -226,5 +219,4 @@ const Blerp = _ref => {
226
219
  })));
227
220
  };
228
221
 
229
- export default Blerp;
230
- export { Blerp, reactionIconUrls };
222
+ export { Blerp, Blerp as default, reactionIconUrls };
@@ -128,5 +128,4 @@ const BlerpAudioContextProvider = _ref => {
128
128
  }, children);
129
129
  };
130
130
 
131
- export default BlerpAudioContextProvider;
132
- export { BlerpAudioContext, BlerpAudioContextProvider };
131
+ export { BlerpAudioContext, BlerpAudioContextProvider, BlerpAudioContextProvider as default };
@@ -1,26 +1,171 @@
1
- import _taggedTemplateLiteral from '@babel/runtime/helpers/taggedTemplateLiteral';
2
- import { PauseCircleOutlineRounded } from '@mui/icons-material';
3
- import BookmarkAddOutlinedIcon from '@mui/icons-material/BookmarkAddOutlined';
4
- import BookmarkOutlinedIcon from '@mui/icons-material/BookmarkOutlined';
5
- import MoreHorizRoundedIcon from '@mui/icons-material/MoreHorizRounded';
6
- import 'prop-types';
7
- import React, { useState, useContext } from 'react';
8
- import { usePalette } from 'react-palette';
9
- import styled, { keyframes, ThemeContext } from 'styled-components';
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import React, { useState } from 'react';
10
3
  import { useWindowSize } from './ScreenSizeHook.js';
11
4
  import { BlerpListViewPremium } from './BlerpListViewPremium.js';
12
- import { PlayOutlineIcon } from './Icons/Icons.js';
13
- import { Box, Stack, Text, IconButton } from './index.js';
5
+ import { useCustomPalette } from './helpers.js';
6
+ import { useBlerpTheme } from './Theme.js';
14
7
 
15
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
16
- const BlerpImage = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n height: 150px;\n width: 150px;\n background-image: url(", ");\n background-size: cover;\n /* border-radius: 8px; */\n border-radius: 50%;\n position: relative;\n transition: 0.2s;\n\n &:hover {\n transform: scale(1.1);\n }\n"])), props => props.url);
17
- const zoomIn = keyframes(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n 0% {\n transform: scale(0);\n }\n\n 100%{\n transform: scale(1);\n }\n"])));
18
- styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n height: 100%;\n width: 100%;\n position: absolute;\n border-radius: 8px;\n transform: scale(0);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-around;\n background-color: ", "D3;\n border: 2px solid ", "D3;\n backdrop-filter: blur(4px);\n animation: ", " 0.2s forwards;\n"])), props => props.theme.colors.notBlack, props => props.theme.colors.notBlack, zoomIn);
19
- const SaveContainer = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n right: 0;\n width: 25px;\n height: 25px;\n opacity: 0;\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 5px;\n transition: 0.3s;\n background-color: ", ";\n"])), props => props.theme.colors.white);
20
- const BlerpImageScrim = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n height: 150px;\n width: 150px;\n background-color: ", "10;\n /* position: absolute; */\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 50%;\n /* border-radius: 8px; */\n transition: 0.4s;\n\n &:hover {\n background-color: ", "98;\n }\n\n &:hover ", " {\n opacity: 1;\n }\n"])), props => props.theme.colors.notBlackOverride, props => props.theme.colors.notBlackOverride, SaveContainer);
21
- styled.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n margin: 5px 0;\n"])));
22
- const BlerpListView = _ref => {
23
- var _bite$image, _bite$image$original, _bite$image2, _bite$image2$original;
8
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
9
+
10
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
11
+
12
+ const PauseIcon = _ref => {
13
+ let {
14
+ size = 30,
15
+ color = "white"
16
+ } = _ref;
17
+ return /*#__PURE__*/React.createElement("svg", {
18
+ width: size,
19
+ height: size,
20
+ viewBox: "0 0 24 24",
21
+ fill: "none",
22
+ stroke: color,
23
+ strokeWidth: "2",
24
+ strokeLinecap: "round",
25
+ strokeLinejoin: "round"
26
+ }, /*#__PURE__*/React.createElement("circle", {
27
+ cx: "12",
28
+ cy: "12",
29
+ r: "10"
30
+ }), /*#__PURE__*/React.createElement("line", {
31
+ x1: "10",
32
+ y1: "15",
33
+ x2: "10",
34
+ y2: "9"
35
+ }), /*#__PURE__*/React.createElement("line", {
36
+ x1: "14",
37
+ y1: "15",
38
+ x2: "14",
39
+ y2: "9"
40
+ }));
41
+ };
42
+
43
+ const PlayIcon = _ref2 => {
44
+ let {
45
+ size = 30,
46
+ color = "white"
47
+ } = _ref2;
48
+ return /*#__PURE__*/React.createElement("svg", {
49
+ width: size,
50
+ height: size,
51
+ viewBox: "0 0 24 24",
52
+ fill: "none",
53
+ stroke: color,
54
+ strokeWidth: "2",
55
+ strokeLinecap: "round",
56
+ strokeLinejoin: "round"
57
+ }, /*#__PURE__*/React.createElement("circle", {
58
+ cx: "12",
59
+ cy: "12",
60
+ r: "10"
61
+ }), /*#__PURE__*/React.createElement("polygon", {
62
+ points: "10 8 16 12 10 16 10 8",
63
+ fill: color
64
+ }));
65
+ };
66
+
67
+ const BookmarkFilledIcon = _ref3 => {
68
+ let {
69
+ size = 24,
70
+ color = "#1a1a1a"
71
+ } = _ref3;
72
+ return /*#__PURE__*/React.createElement("svg", {
73
+ width: size,
74
+ height: size,
75
+ viewBox: "0 0 24 24",
76
+ fill: color
77
+ }, /*#__PURE__*/React.createElement("path", {
78
+ d: "M17 3H7c-1.1 0-2 .9-2 2v16l7-3 7 3V5c0-1.1-.9-2-2-2z"
79
+ }));
80
+ };
81
+
82
+ const BookmarkAddIcon = _ref4 => {
83
+ let {
84
+ size = 24,
85
+ color = "#1a1a1a"
86
+ } = _ref4;
87
+ return /*#__PURE__*/React.createElement("svg", {
88
+ width: size,
89
+ height: size,
90
+ viewBox: "0 0 24 24",
91
+ fill: "none",
92
+ stroke: color,
93
+ strokeWidth: "2"
94
+ }, /*#__PURE__*/React.createElement("path", {
95
+ d: "M17 3H7c-1.1 0-2 .9-2 2v16l7-3 7 3V5c0-1.1-.9-2-2-2z"
96
+ }), /*#__PURE__*/React.createElement("line", {
97
+ x1: "12",
98
+ y1: "8",
99
+ x2: "12",
100
+ y2: "14"
101
+ }), /*#__PURE__*/React.createElement("line", {
102
+ x1: "9",
103
+ y1: "11",
104
+ x2: "15",
105
+ y2: "11"
106
+ }));
107
+ };
108
+
109
+ const MoreHorizIcon = _ref5 => {
110
+ let {
111
+ size = 24,
112
+ color = "#1a1a1a"
113
+ } = _ref5;
114
+ return /*#__PURE__*/React.createElement("svg", {
115
+ width: size,
116
+ height: size,
117
+ viewBox: "0 0 24 24",
118
+ fill: color
119
+ }, /*#__PURE__*/React.createElement("circle", {
120
+ cx: "6",
121
+ cy: "12",
122
+ r: "2"
123
+ }), /*#__PURE__*/React.createElement("circle", {
124
+ cx: "12",
125
+ cy: "12",
126
+ r: "2"
127
+ }), /*#__PURE__*/React.createElement("circle", {
128
+ cx: "18",
129
+ cy: "12",
130
+ r: "2"
131
+ }));
132
+ }; // Inline styled button component
133
+
134
+
135
+ const IconButton = _ref6 => {
136
+ let {
137
+ onClick,
138
+ style,
139
+ children
140
+ } = _ref6;
141
+ const [isHovered, setIsHovered] = useState(false);
142
+
143
+ const baseStyle = _objectSpread({
144
+ backgroundColor: "white",
145
+ padding: "5px",
146
+ marginRight: "10px",
147
+ border: "none",
148
+ borderRadius: "50%",
149
+ cursor: "pointer",
150
+ display: "flex",
151
+ alignItems: "center",
152
+ justifyContent: "center",
153
+ transition: "background-color 0.2s"
154
+ }, style);
155
+
156
+ const hoverStyle = isHovered ? {
157
+ backgroundColor: "#e0e0e0"
158
+ } : {};
159
+ return /*#__PURE__*/React.createElement("button", {
160
+ onClick: onClick,
161
+ style: _objectSpread(_objectSpread({}, baseStyle), hoverStyle),
162
+ onMouseEnter: () => setIsHovered(true),
163
+ onMouseLeave: () => setIsHovered(false)
164
+ }, children);
165
+ };
166
+
167
+ const BlerpListView = _ref7 => {
168
+ var _bite$image, _bite$image$original, _theme$colors, _bite$image2, _bite$image2$original, _theme$colors2, _theme$colors3;
24
169
 
25
170
  let {
26
171
  bite,
@@ -47,11 +192,21 @@ const BlerpListView = _ref => {
47
192
  isPremium,
48
193
  handleClickLock,
49
194
  handleClickPremium
50
- } = _ref;
195
+ } = _ref7;
51
196
  const [openSave, setOpenSave] = useState(false);
52
- usePalette(bite === null || bite === void 0 ? void 0 : (_bite$image = bite.image) === null || _bite$image === void 0 ? void 0 : (_bite$image$original = _bite$image.original) === null || _bite$image$original === void 0 ? void 0 : _bite$image$original.url);
53
- const theme = useContext(ThemeContext);
197
+ const [isBoxHovered, setIsBoxHovered] = useState(false);
198
+ const [isImageHovered, setIsImageHovered] = useState(false);
199
+ const [isScrimHovered, setIsScrimHovered] = useState(false);
200
+ const [isTitleHovered, setIsTitleHovered] = useState(false);
201
+ useCustomPalette(bite === null || bite === void 0 ? void 0 : (_bite$image = bite.image) === null || _bite$image === void 0 ? void 0 : (_bite$image$original = _bite$image.original) === null || _bite$image$original === void 0 ? void 0 : _bite$image$original.url);
202
+ const theme = useBlerpTheme();
54
203
  const size = useWindowSize();
204
+ const colors = {
205
+ grey2: "#2a2a2a",
206
+ grey3: "#3a3a3a",
207
+ notBlack: "#1a1a1a",
208
+ white: "#ffffff"
209
+ };
55
210
 
56
211
  let sizeParams;
57
212
  const smallSize = {
@@ -147,84 +302,130 @@ const BlerpListView = _ref => {
147
302
  });
148
303
  }
149
304
 
150
- return /*#__PURE__*/React.createElement(Box, {
151
- sx: {
152
- width: sizeParams.width,
153
- minWidth: fluid && "300px",
154
- borderRadius: "8px",
155
- border: "2px transparent",
156
- bgcolor: backgroundColor ? backgroundColor : "grey2.main",
157
- backgroundOrigin: "border-box",
158
- backgroundClip: "content-box, border-box",
159
- boxShadow: "2px 2px 4px 0px #999999a1;",
160
- transition: "0.3s",
161
- "&:hover": {
162
- bgcolor: hoverColor ? hoverColor : "grey3.main"
163
- }
164
- }
165
- }, /*#__PURE__*/React.createElement(Box, {
305
+ const outerBoxStyle = {
306
+ width: sizeParams.width,
307
+ minWidth: fluid ? "300px" : undefined,
308
+ borderRadius: "8px",
309
+ border: "2px transparent",
310
+ backgroundColor: isBoxHovered ? hoverColor || colors.grey3 : backgroundColor || colors.grey2,
311
+ backgroundOrigin: "border-box",
312
+ backgroundClip: "content-box, border-box",
313
+ boxShadow: "2px 2px 4px 0px #999999a1",
314
+ transition: "0.3s"
315
+ };
316
+ const innerBoxStyle = {
317
+ width: "calc(100% - 4px)",
318
+ height: sizeParams.height,
319
+ display: "flex",
320
+ flexDirection: "row",
321
+ alignItems: "center",
322
+ justifyContent: "space-between",
323
+ borderRadius: "8px",
324
+ border: "2px solid transparent",
325
+ borderRightWidth: "0px",
326
+ borderLeftWidth: "0px",
327
+ margin: "0 auto",
328
+ borderBottomColor: extraInfoComponent ? (theme === null || theme === void 0 ? void 0 : (_theme$colors = theme.colors) === null || _theme$colors === void 0 ? void 0 : _theme$colors.grey3) || colors.grey3 : "transparent",
329
+ transition: "0.3s",
330
+ position: "relative"
331
+ };
332
+ const imageContainerStyle = {
333
+ height: sizeParams.imageSize,
334
+ width: sizeParams.imageSize,
335
+ backgroundImage: "url(".concat(bite === null || bite === void 0 ? void 0 : (_bite$image2 = bite.image) === null || _bite$image2 === void 0 ? void 0 : (_bite$image2$original = _bite$image2.original) === null || _bite$image2$original === void 0 ? void 0 : _bite$image2$original.url, ")"),
336
+ backgroundSize: "cover",
337
+ borderRadius: "50%",
338
+ position: "relative",
339
+ transition: "0.2s",
340
+ boxShadow: "0px 0px 0px 0px #999999a1",
341
+ transform: isImageHovered ? "scale(1.1)" : "scale(1)",
342
+ flexShrink: 0
343
+ };
344
+ const scrimStyle = {
345
+ height: sizeParams.imageSize,
346
+ width: sizeParams.imageSize,
347
+ backgroundColor: isScrimHovered ? "".concat((theme === null || theme === void 0 ? void 0 : (_theme$colors2 = theme.colors) === null || _theme$colors2 === void 0 ? void 0 : _theme$colors2.notBlackOverride) || colors.notBlack, "98") : "".concat((theme === null || theme === void 0 ? void 0 : (_theme$colors3 = theme.colors) === null || _theme$colors3 === void 0 ? void 0 : _theme$colors3.notBlackOverride) || colors.notBlack, "10"),
348
+ display: "flex",
349
+ justifyContent: "center",
350
+ alignItems: "center",
351
+ borderRadius: "50%",
352
+ transition: "0.4s",
353
+ cursor: "pointer"
354
+ };
355
+ const titleStyle = {
356
+ textAlign: "left",
357
+ fontSize: sizeParams.fontSize,
358
+ whiteSpace: "nowrap",
359
+ overflow: "hidden",
360
+ textOverflow: "ellipsis",
361
+ width: "100%",
362
+ marginLeft: "10px",
363
+ color: colors.white,
364
+ textDecoration: isTitleHovered && handleClickTitle ? "underline" : "none",
365
+ cursor: handleClickTitle ? "pointer" : "default",
366
+ margin: 0,
367
+ padding: 0,
368
+ paddingLeft: "10px"
369
+ };
370
+ const subtitleStyle = {
371
+ textAlign: "left",
372
+ fontSize: sizeParams.smallFontSize,
373
+ whiteSpace: "nowrap",
374
+ overflow: "hidden",
375
+ textOverflow: "ellipsis",
376
+ marginLeft: "10px",
377
+ width: "100%",
378
+ color: colors.white,
379
+ cursor: handleSubtitleClick ? "pointer" : "default",
380
+ margin: 0,
381
+ padding: 0,
382
+ paddingLeft: "10px"
383
+ };
384
+ return /*#__PURE__*/React.createElement("div", {
385
+ style: outerBoxStyle,
386
+ onMouseEnter: () => setIsBoxHovered(true),
387
+ onMouseLeave: () => setIsBoxHovered(false)
388
+ }, /*#__PURE__*/React.createElement("div", {
166
389
  onClick: e => {
167
390
  e.stopPropagation();
168
391
  handleClickBackground();
169
392
  },
170
- sx: {
171
- width: "calc(100% - 4px)",
172
- height: sizeParams.height,
393
+ style: innerBoxStyle
394
+ }, /*#__PURE__*/React.createElement("div", {
395
+ style: {
173
396
  display: "flex",
174
397
  flexDirection: "row",
398
+ width: "70%",
175
399
  alignItems: "center",
176
- justifyContent: "space-between",
177
- borderRadius: "8px",
178
- border: "2px solid transparent",
179
- borderRightWidth: "0px",
180
- borderLeftWidth: "0px",
181
- margin: "0 auto",
182
- borderBottomColor: extraInfoComponent && theme.colors.grey3,
183
- transition: "0.3s",
184
- position: "relative"
185
- }
186
- }, /*#__PURE__*/React.createElement(Stack, {
187
- direction: "row",
188
- width: "70%",
189
- alignItems: "center",
190
- sx: {
191
400
  cursor: "pointer"
192
401
  }
193
- }, /*#__PURE__*/React.createElement(BlerpImage, {
194
- style: {
195
- width: sizeParams.imageSize,
196
- height: sizeParams.imageSize,
197
- boxShadow: "0px 0px 0px 0px #999999a1;"
198
- },
199
- url: bite === null || bite === void 0 ? void 0 : (_bite$image2 = bite.image) === null || _bite$image2 === void 0 ? void 0 : (_bite$image2$original = _bite$image2.original) === null || _bite$image2$original === void 0 ? void 0 : _bite$image2$original.url
200
- }, /*#__PURE__*/React.createElement(BlerpImageScrim, {
201
- style: {
202
- width: sizeParams.imageSize,
203
- height: sizeParams.imageSize
204
- },
402
+ }, /*#__PURE__*/React.createElement("div", {
403
+ style: imageContainerStyle,
404
+ onMouseEnter: () => setIsImageHovered(true),
405
+ onMouseLeave: () => setIsImageHovered(false)
406
+ }, /*#__PURE__*/React.createElement("div", {
205
407
  onClick: e => {
206
408
  if (handleClickPlay) {
207
409
  e.stopPropagation();
208
410
  handleClickPlay();
209
411
  }
210
- }
211
- }, playingState === "playing" ? /*#__PURE__*/React.createElement(PauseCircleOutlineRounded, {
212
- sx: {
213
- width: "30px",
214
- height: "30px",
215
- color: "white.override"
216
- }
217
- }) : /*#__PURE__*/React.createElement(PlayOutlineIcon, {
218
- sx: {
219
- width: "30px",
220
- height: "30px",
221
- color: "white.override"
222
- }
223
- }))), /*#__PURE__*/React.createElement(Stack, {
224
- direction: "column",
225
- alignItems: "flex-start",
226
- sx: {
227
- width: "80%"
412
+ },
413
+ style: scrimStyle,
414
+ onMouseEnter: () => setIsScrimHovered(true),
415
+ onMouseLeave: () => setIsScrimHovered(false)
416
+ }, playingState === "playing" ? /*#__PURE__*/React.createElement(PauseIcon, {
417
+ size: 30,
418
+ color: "white"
419
+ }) : /*#__PURE__*/React.createElement(PlayIcon, {
420
+ size: 30,
421
+ color: "white"
422
+ }))), /*#__PURE__*/React.createElement("div", {
423
+ style: {
424
+ display: "flex",
425
+ flexDirection: "column",
426
+ alignItems: "flex-start",
427
+ width: "80%",
428
+ overflow: "hidden"
228
429
  }
229
430
  }, isLinkTitle ? /*#__PURE__*/React.createElement("a", {
230
431
  href: "/soundbites/".concat(bite._id),
@@ -232,113 +433,65 @@ const BlerpListView = _ref => {
232
433
  textDecoration: "none",
233
434
  width: "100%"
234
435
  }
235
- }, /*#__PURE__*/React.createElement(Text, {
236
- textAlign: "left",
237
- fontSize: sizeParams.fontSize,
238
- noWrap: true,
239
- width: "100%",
240
- marginLeft: "10px",
241
- color: "white.override",
242
- sx: {
243
- ":hover": {
244
- textDecoration: handleClickTitle ? "underline" : "none"
245
- }
246
- },
436
+ }, /*#__PURE__*/React.createElement("p", {
437
+ style: titleStyle,
438
+ onMouseEnter: () => setIsTitleHovered(true),
439
+ onMouseLeave: () => setIsTitleHovered(false),
247
440
  onClick: e => {
248
441
  if (handleClickTitle) {
249
442
  e.stopPropagation();
250
443
  handleClickTitle();
251
444
  }
252
445
  }
253
- }, bite.title)) : /*#__PURE__*/React.createElement(Text, {
254
- textAlign: "left",
255
- fontSize: sizeParams.fontSize,
256
- noWrap: true,
257
- width: "100%",
258
- marginLeft: "10px",
259
- sx: {
260
- ":hover": {
261
- textDecoration: handleClickTitle ? "underline" : "none"
262
- }
263
- },
446
+ }, bite.title)) : /*#__PURE__*/React.createElement("p", {
447
+ style: titleStyle,
448
+ onMouseEnter: () => setIsTitleHovered(true),
449
+ onMouseLeave: () => setIsTitleHovered(false),
264
450
  onClick: e => {
265
451
  if (handleClickTitle) {
266
452
  e.stopPropagation();
267
453
  handleClickTitle();
268
454
  }
269
455
  }
270
- }, bite.title), biteSubtitle && /*#__PURE__*/React.createElement(Text, {
271
- textAlign: "left",
272
- fontSize: sizeParams.smallFontSize,
273
- noWrap: true,
274
- marginLeft: "10px",
275
- width: "100%",
276
- color: "white.override",
277
- sx: {},
456
+ }, bite.title), biteSubtitle && /*#__PURE__*/React.createElement("p", {
457
+ style: subtitleStyle,
278
458
  onClick: e => {
279
459
  if (handleSubtitleClick) {
280
460
  e.stopPropagation();
281
461
  handleSubtitleClick();
282
462
  }
283
463
  }
284
- }, biteSubtitle))), /*#__PURE__*/React.createElement(Stack, {
285
- direction: "row"
464
+ }, biteSubtitle))), /*#__PURE__*/React.createElement("div", {
465
+ style: {
466
+ display: "flex",
467
+ flexDirection: "row"
468
+ }
286
469
  }, primaryActionButton ? primaryActionButton : bite !== null && bite !== void 0 && bite.saved ? /*#__PURE__*/React.createElement(IconButton, {
287
470
  onClick: e => {
288
471
  e.stopPropagation();
289
472
  handleClickUnsave();
290
473
  setOpenSave(true);
291
- },
292
- sx: {
293
- backgroundColor: "white.override",
294
- color: "starling.main",
295
- padding: "5px",
296
- marginRight: "10px",
297
- ":hover": {
298
- backgroundColor: "grey3.main"
299
- }
300
- }
301
- }, /*#__PURE__*/React.createElement(BookmarkOutlinedIcon, {
302
- sx: {
303
- color: "notBlack.override"
304
474
  }
475
+ }, /*#__PURE__*/React.createElement(BookmarkFilledIcon, {
476
+ size: 24,
477
+ color: colors.notBlack
305
478
  })) : /*#__PURE__*/React.createElement(IconButton, {
306
479
  onClick: e => {
307
480
  e.stopPropagation();
308
481
  handleClickSave();
309
482
  setOpenSave(true);
310
- },
311
- sx: {
312
- backgroundColor: "white.override",
313
- color: "starling.main",
314
- padding: "5px",
315
- marginRight: "10px",
316
- ":hover": {
317
- backgroundColor: "grey3.main"
318
- }
319
- }
320
- }, /*#__PURE__*/React.createElement(BookmarkAddOutlinedIcon, {
321
- sx: {
322
- color: "notBlack.override"
323
483
  }
484
+ }, /*#__PURE__*/React.createElement(BookmarkAddIcon, {
485
+ size: 24,
486
+ color: colors.notBlack
324
487
  })), secondaryActionButton || /*#__PURE__*/React.createElement(IconButton, {
325
488
  onClick: e => {
326
489
  handleClickThreeDot(e);
327
- },
328
- sx: {
329
- backgroundColor: "white.override",
330
- padding: "5px",
331
- marginRight: "10px",
332
- ":hover": {
333
- backgroundColor: "grey3.main"
334
- }
335
- }
336
- }, /*#__PURE__*/React.createElement(MoreHorizRoundedIcon, {
337
- sx: {
338
- color: "notBlack.override"
339
490
  }
491
+ }, /*#__PURE__*/React.createElement(MoreHorizIcon, {
492
+ size: 24,
493
+ color: colors.notBlack
340
494
  })))), extraInfoComponent && extraInfoComponent);
341
495
  };
342
496
 
343
- export default BlerpListView;
344
- export { BlerpListView };
497
+ export { BlerpListView, BlerpListView as default };