@blerp/design 1.2.74 → 1.2.76

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/dist/cjs/Blerp/BlerpImageRow.js +167 -0
  2. package/dist/cjs/Blerp/BlerpSavePopup.js +157 -0
  3. package/dist/cjs/Blerp/BlerpTitleRow.js +116 -0
  4. package/dist/cjs/Blerp/BlerpTopRow.js +246 -0
  5. package/dist/cjs/Blerp.js +239 -0
  6. package/dist/cjs/BlerpAudioContextProvider.js +141 -0
  7. package/dist/cjs/BlerpListView.js +357 -0
  8. package/dist/cjs/BlerpListViewPremium.js +404 -0
  9. package/dist/cjs/BlerpListViewSkeleton.js +27 -0
  10. package/dist/cjs/BlerpSkeleton.js +23 -0
  11. package/dist/cjs/CollectionCard.js +402 -0
  12. package/dist/cjs/CollectionListViewPremium.js +368 -0
  13. package/dist/cjs/CollectionSkeleton.js +28 -0
  14. package/dist/cjs/Dropdown.js +283 -0
  15. package/dist/cjs/EllipsisLoader.js +51 -0
  16. package/dist/cjs/GroupCard.js +172 -0
  17. package/dist/cjs/Icons/Icons.js +606 -0
  18. package/dist/cjs/ImageUploadModal.js +278 -0
  19. package/dist/cjs/Lotties/JiggleLock.json.js +2762 -0
  20. package/dist/cjs/Lotties/LottieAnimation.js +32 -0
  21. package/dist/cjs/NewBlerp.js +740 -0
  22. package/dist/cjs/NewBlerpTest.js +808 -0
  23. package/dist/cjs/NewCollectionModal.js +403 -0
  24. package/dist/cjs/PremiumCollectionCard.js +511 -0
  25. package/dist/cjs/PurchaseModals/CheckoutModal.js +39 -0
  26. package/dist/cjs/PurchaseModals/PremiumBlerpCheckoutModal.js +39 -0
  27. package/dist/cjs/PurchaseModals/PremiumCollectionCheckoutModal.js +39 -0
  28. package/dist/cjs/PurchaseModals/PremiumSubscriptionCheckoutModal.js +39 -0
  29. package/dist/cjs/ReactionButtons.js +65 -0
  30. package/dist/cjs/ScreenSizeHook.js +34 -0
  31. package/dist/cjs/SnackbarContextProvider.js +166 -0
  32. package/dist/cjs/Theme.js +255 -0
  33. package/dist/cjs/Toggle.js +59 -0
  34. package/dist/cjs/UserCard.js +141 -0
  35. package/dist/cjs/UserPage/LibraryControls.js +315 -0
  36. package/dist/cjs/UserPage/UserLibraryHeader.js +93 -0
  37. package/dist/cjs/UserPage/UserProfileHeader.js +283 -0
  38. package/dist/cjs/UsernameWithPopout.js +93 -0
  39. package/dist/cjs/colors.js +368 -0
  40. package/dist/cjs/icons.js +161 -0
  41. package/dist/cjs/index.js +449 -0
  42. package/dist/esm/Blerp/BlerpImageRow.js +157 -0
  43. package/dist/esm/Blerp/BlerpSavePopup.js +147 -0
  44. package/dist/esm/Blerp/BlerpTitleRow.js +108 -0
  45. package/dist/esm/Blerp/BlerpTopRow.js +236 -0
  46. package/dist/esm/Blerp.js +230 -0
  47. package/dist/esm/BlerpAudioContextProvider.js +132 -0
  48. package/dist/esm/BlerpListView.js +344 -0
  49. package/dist/esm/BlerpListViewPremium.js +391 -0
  50. package/dist/esm/BlerpListViewSkeleton.js +17 -0
  51. package/dist/esm/BlerpSkeleton.js +13 -0
  52. package/dist/esm/CollectionCard.js +392 -0
  53. package/dist/esm/CollectionListViewPremium.js +354 -0
  54. package/dist/esm/CollectionSkeleton.js +18 -0
  55. package/dist/esm/Dropdown.js +273 -0
  56. package/dist/esm/EllipsisLoader.js +41 -0
  57. package/dist/esm/GroupCard.js +162 -0
  58. package/dist/esm/Icons/Icons.js +571 -0
  59. package/dist/esm/ImageUploadModal.js +265 -0
  60. package/dist/esm/Lotties/JiggleLock.json.js +2747 -0
  61. package/dist/esm/Lotties/LottieAnimation.js +25 -0
  62. package/dist/esm/NewBlerp.js +719 -0
  63. package/dist/esm/NewBlerpTest.js +787 -0
  64. package/dist/esm/NewCollectionModal.js +391 -0
  65. package/dist/esm/PremiumCollectionCard.js +498 -0
  66. package/dist/esm/PurchaseModals/CheckoutModal.js +33 -0
  67. package/dist/esm/PurchaseModals/PremiumBlerpCheckoutModal.js +33 -0
  68. package/dist/esm/PurchaseModals/PremiumCollectionCheckoutModal.js +33 -0
  69. package/dist/esm/PurchaseModals/PremiumSubscriptionCheckoutModal.js +33 -0
  70. package/dist/esm/ReactionButtons.js +57 -0
  71. package/dist/esm/ScreenSizeHook.js +30 -0
  72. package/dist/esm/SnackbarContextProvider.js +154 -0
  73. package/dist/esm/Theme.js +246 -0
  74. package/dist/esm/Toggle.js +49 -0
  75. package/dist/esm/UserCard.js +133 -0
  76. package/dist/esm/UserPage/LibraryControls.js +301 -0
  77. package/dist/esm/UserPage/UserLibraryHeader.js +87 -0
  78. package/dist/esm/UserPage/UserProfileHeader.js +268 -0
  79. package/dist/esm/UsernameWithPopout.js +85 -0
  80. package/dist/esm/colors.js +360 -0
  81. package/dist/esm/icons.js +159 -0
  82. package/dist/esm/index.js +336 -0
  83. package/package.json +2 -1
@@ -0,0 +1,344 @@
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';
10
+ import { useWindowSize } from './ScreenSizeHook.js';
11
+ import { BlerpListViewPremium } from './BlerpListViewPremium.js';
12
+ import { PlayOutlineIcon } from './Icons/Icons.js';
13
+ import { Box, Stack, Text, IconButton } from './index.js';
14
+
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;
24
+
25
+ let {
26
+ bite,
27
+ variantSize,
28
+ isSelected,
29
+ playingState,
30
+ extraInfoComponent,
31
+ primaryActionButton,
32
+ secondaryActionButton,
33
+ handleClickBackground,
34
+ handleClickPlay,
35
+ handleClickSave,
36
+ handleClickThreeDot,
37
+ handleClickUnsave,
38
+ handleClickTitle,
39
+ handleSubtitleClick,
40
+ biteSubtitle,
41
+ isLinkTitle,
42
+ fluid,
43
+ backgroundColor,
44
+ hoverColor,
45
+ props,
46
+ isLocked,
47
+ isPremium,
48
+ handleClickLock,
49
+ handleClickPremium
50
+ } = _ref;
51
+ 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);
54
+ const size = useWindowSize();
55
+
56
+ let sizeParams;
57
+ const smallSize = {
58
+ width: 300,
59
+ height: 52,
60
+ smallFontSize: "12px",
61
+ fontSize: "16px",
62
+ imageSize: "40px",
63
+ reactionSpacing: 1,
64
+ reactionPadding: "3px",
65
+ reactionSize: "20px",
66
+ buttonSize: "small"
67
+ };
68
+ const mediumSize = {
69
+ width: 375,
70
+ height: 60,
71
+ smallFontSize: "14px",
72
+ fontSize: "18px",
73
+ imageSize: "48px",
74
+ reactionSpacing: 1,
75
+ reactionPadding: "3px",
76
+ reactionSize: "23px",
77
+ buttonSize: "medium"
78
+ };
79
+ const largeSize = {
80
+ width: 440,
81
+ height: 72,
82
+ smallFontSize: "26px",
83
+ fontSize: "20px",
84
+ imageSize: "56px",
85
+ reactionSpacing: 1,
86
+ reactionPadding: "5px",
87
+ reactionSize: "30px",
88
+ buttonFontSize: "large"
89
+ };
90
+
91
+ if (!variantSize) {
92
+ if (fluid) {
93
+ sizeParams = {
94
+ width: "100%",
95
+ height: 52,
96
+ smallFontSize: "14px",
97
+ fontSize: "18px",
98
+ imageSize: "48px",
99
+ reactionSpacing: 1,
100
+ reactionPadding: "3px",
101
+ reactionSize: "23px",
102
+ buttonSize: "medium"
103
+ };
104
+ } else if (size.width <= 400) {
105
+ sizeParams = smallSize;
106
+ } else if (size.width <= 900) {
107
+ sizeParams = mediumSize;
108
+ } else if (size.width > 900) {
109
+ sizeParams = largeSize;
110
+ }
111
+ } else {
112
+ if (variantSize === "small") {
113
+ sizeParams = smallSize;
114
+ } else if (variantSize === "medium") {
115
+ sizeParams = mediumSize;
116
+ } else if (variantSize === "large") {
117
+ sizeParams = largeSize;
118
+ }
119
+ }
120
+
121
+ if (isPremium) {
122
+ return /*#__PURE__*/React.createElement(BlerpListViewPremium, {
123
+ bite: bite,
124
+ variantSize: variantSize,
125
+ isSelected: isSelected,
126
+ playingState: playingState,
127
+ extraInfoComponent: extraInfoComponent,
128
+ primaryActionButton: primaryActionButton,
129
+ secondaryActionButton: secondaryActionButton,
130
+ handleClickBackground: handleClickBackground,
131
+ handleClickPlay: handleClickPlay,
132
+ handleClickSave: handleClickSave,
133
+ handleClickThreeDot: handleClickThreeDot,
134
+ handleClickUnsave: handleClickUnsave,
135
+ handleClickTitle: handleClickTitle,
136
+ biteSubtitle: biteSubtitle,
137
+ handleSubtitleClick: handleSubtitleClick,
138
+ isLinkTitle: isLinkTitle,
139
+ fluid: fluid,
140
+ props: props,
141
+ isLocked: isLocked,
142
+ isPremium: isPremium,
143
+ handleClickLock: handleClickLock,
144
+ handleClickPremium: handleClickPremium,
145
+ backgroundColor: backgroundColor,
146
+ hoverColor: hoverColor
147
+ });
148
+ }
149
+
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, {
166
+ onClick: e => {
167
+ e.stopPropagation();
168
+ handleClickBackground();
169
+ },
170
+ sx: {
171
+ width: "calc(100% - 4px)",
172
+ height: sizeParams.height,
173
+ display: "flex",
174
+ flexDirection: "row",
175
+ 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
+ cursor: "pointer"
192
+ }
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
+ },
205
+ onClick: e => {
206
+ if (handleClickPlay) {
207
+ e.stopPropagation();
208
+ handleClickPlay();
209
+ }
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%"
228
+ }
229
+ }, isLinkTitle ? /*#__PURE__*/React.createElement("a", {
230
+ href: "/soundbites/".concat(bite._id),
231
+ style: {
232
+ textDecoration: "none",
233
+ width: "100%"
234
+ }
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
+ },
247
+ onClick: e => {
248
+ if (handleClickTitle) {
249
+ e.stopPropagation();
250
+ handleClickTitle();
251
+ }
252
+ }
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
+ },
264
+ onClick: e => {
265
+ if (handleClickTitle) {
266
+ e.stopPropagation();
267
+ handleClickTitle();
268
+ }
269
+ }
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: {},
278
+ onClick: e => {
279
+ if (handleSubtitleClick) {
280
+ e.stopPropagation();
281
+ handleSubtitleClick();
282
+ }
283
+ }
284
+ }, biteSubtitle))), /*#__PURE__*/React.createElement(Stack, {
285
+ direction: "row"
286
+ }, primaryActionButton ? primaryActionButton : bite !== null && bite !== void 0 && bite.saved ? /*#__PURE__*/React.createElement(IconButton, {
287
+ onClick: e => {
288
+ e.stopPropagation();
289
+ handleClickUnsave();
290
+ 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
+ }
305
+ })) : /*#__PURE__*/React.createElement(IconButton, {
306
+ onClick: e => {
307
+ e.stopPropagation();
308
+ handleClickSave();
309
+ 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
+ }
324
+ })), secondaryActionButton || /*#__PURE__*/React.createElement(IconButton, {
325
+ onClick: e => {
326
+ 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
+ }
340
+ })))), extraInfoComponent && extraInfoComponent);
341
+ };
342
+
343
+ export default BlerpListView;
344
+ export { BlerpListView };