@blerp/design 1.3.17 → 1.4.2

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 +285 -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 +495 -0
  52. package/dist/cjs/neo-components/Layout.js +1214 -0
  53. package/dist/cjs/neo-components/Misc.js +868 -0
  54. package/dist/cjs/neo-components/Navigation.js +1616 -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 +171 -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 +274 -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 +480 -0
  116. package/dist/esm/neo-components/Layout.js +1180 -0
  117. package/dist/esm/neo-components/Misc.js +850 -0
  118. package/dist/esm/neo-components/Navigation.js +1594 -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 +160 -0
  127. package/dist/esm/neo-utils/sxToStyle.js +502 -0
  128. package/package.json +19 -15
@@ -2,496 +2,233 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
6
- var BookmarkRounded = require('@mui/icons-material/BookmarkRounded');
7
- var BookmarkAddOutlinedIcon = require('@mui/icons-material/BookmarkAddOutlined');
8
5
  var React = require('react');
9
- var reactColorExtractor = require('react-color-extractor');
10
- var reactPalette = require('react-palette');
6
+ var BlerpImageRow = require('./Blerp/BlerpImageRow.js');
7
+ var BlerpSavePopup = require('./Blerp/BlerpSavePopup.js');
8
+ var BlerpTitleRow = require('./Blerp/BlerpTitleRow.js');
9
+ var BlerpTopRow = require('./Blerp/BlerpTopRow.js');
11
10
  var index = require('./index.js');
12
- var styled = require('styled-components');
13
- var LockRoundedIcon = require('@mui/icons-material/LockRounded');
14
- var Icons = require('./Icons/Icons.js');
11
+ var ScreenSizeHook = require('./ScreenSizeHook.js');
12
+ var helpers = require('./helpers.js');
13
+ var Theme = require('./Theme.js');
15
14
 
16
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
16
 
18
- var _taggedTemplateLiteral__default = /*#__PURE__*/_interopDefaultLegacy(_taggedTemplateLiteral);
19
- var BookmarkRounded__default = /*#__PURE__*/_interopDefaultLegacy(BookmarkRounded);
20
- var BookmarkAddOutlinedIcon__default = /*#__PURE__*/_interopDefaultLegacy(BookmarkAddOutlinedIcon);
21
17
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
23
- var LockRoundedIcon__default = /*#__PURE__*/_interopDefaultLegacy(LockRoundedIcon);
24
18
 
25
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
26
- //primary and secondary action buttons
27
-
28
- const YellowHoverBorder = styled__default['default'].div(_templateObject || (_templateObject = _taggedTemplateLiteral__default['default'](["\n position: absolute;\n height: 105%;\n width: 105%;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n border: 4px solid rgb(255, 225, 76);\n border-radius: 20px;\n transition: opacity 0.3s ease-in-out;\n /* Opacity should be changed to \"1\" onHover of this component's parent */\n opacity: 0;\n"])));
29
- const LineClamp = styled__default['default'].div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral__default['default'](["\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n margin: 5px 0;\n max-width: 92%;\n"])));
30
- const TopPill = styled__default['default'].div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral__default['default'](["\n display: flex;\n justify-content: center;\n align-items: center;\n height: 32px;\n width: ", ";\n position: absolute;\n top: 8px;\n left: 8px;\n border-radius: 20px;\n overflow: hidden;\n transition: width 0.3s ease-in-out;\n"])), props => props.isLocked ? props.collectionHovered ? "90%" : "70%" : "45%");
31
- const TopPillBackground = styled__default['default'].div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral__default['default'](["\n height: 32px;\n width: 100%;\n position: absolute;\n background-color: ", ";\n opacity: 0.5;\n"])), props => props.theme.colors.notBlackOverride);
32
- const LockedScrim = styled__default['default'].div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral__default['default'](["\n z-index: -1;\n padding-bottom: 8px;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: center;\n z-index: 1;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n overflow: \"hidden\";\n transition: backdrop-filter 0.4s, opacity 0.5s ease-in-out;\n opacity: ", ";\n backdrop-filter: ", ";\n"])), props => !props.collectionHovered ? "0" : "1", props => props.collectionHovered ? "blur(3px)" : "none");
33
- const LockedScrimBackground = styled__default['default'].div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral__default['default'](["\n position: absolute;\n height: 100%;\n width: 100%;\n top: 0;\n /* transition: opacity 0.3s ease-in-out; */\n\n background-color: ", ";\n\n opacity: ", ";\n"])), props => props.theme.colors.notBlackOverride, props => props.collectionHovered ? "0.5" : "0");
34
- const PremiumCollectionCard = _ref => {
35
- var _collection$image, _collection$image$ori, _collection$image2, _collection$image2$or, _collection$image3, _collection$image3$or, _collection$ownerObje, _collection$ownerObje2, _collection$ownerObje3, _collection$image4, _collection$image4$or;
19
+ const Blerp = _ref => {
20
+ var _bite$image2, _bite$image2$original;
36
21
 
37
22
  let {
38
- collection,
23
+ bite,
24
+ title,
39
25
  variantSize,
40
- handleClickBackground,
41
- handleClickSave,
42
- handleClickView,
43
- handleClickUnlock,
44
- handleClickPrimaryAction,
45
- handleClickSecondaryAction,
26
+ isSelected,
27
+ playingState,
46
28
  primaryActionButton,
47
29
  secondaryActionButton,
48
- bottomLeftIcon,
49
- handleClickBottomLeftIcon,
50
- premiumDiamondPill,
51
- fluid,
52
- fontSize,
53
- isLink,
30
+ unsaveButton,
31
+ organizeButton,
32
+ getUserReactions,
33
+ handleClickBackground,
34
+ handleClickPlay,
35
+ handleClickThreeDot,
36
+ handleClickSave,
37
+ handleClickReaction,
38
+ handleClickUnsave,
39
+ handleClickTitle,
40
+ handleClickOrganize,
41
+ isLinkTitle,
42
+ isPremium,
54
43
  isLocked,
55
- overrideViewText,
56
- hideUnlockPlatformText,
57
- hidePremiumLockIcon,
58
- unlockPlatformText,
59
- hideCollectionBackground
44
+ isOwner,
45
+ props,
46
+ // passed in function that sets state of the purchase modal
47
+ handleClickLock,
48
+ backgroundColor
60
49
  } = _ref;
61
- const [cardColors, setCardColors] = React.useState(null);
62
- const [collectionHovered, setCollectionHovered] = React.useState(false);
63
- const {
64
- data,
65
- loading,
66
- error
67
- } = reactPalette.usePalette(collection === null || collection === void 0 ? void 0 : (_collection$image = collection.image) === null || _collection$image === void 0 ? void 0 : (_collection$image$ori = _collection$image.original) === null || _collection$image$ori === void 0 ? void 0 : _collection$image$ori.url);
50
+ const theme = Theme.useBlerpTheme();
51
+ const [openSave, setOpenSave] = React.useState(false);
52
+ const size = ScreenSizeHook.useWindowSize();
53
+ const [profileColors, setProfileColors] = React.useState(null);
54
+ const [isBlerpHovered, setIsBlerpHovered] = React.useState(false);
55
+ const anchorRef = React.useRef(); // Extract color when image URL changes
56
+
57
+ React.useEffect(() => {
58
+ var _bite$image, _bite$image$original;
59
+
60
+ if (bite !== null && bite !== void 0 && (_bite$image = bite.image) !== null && _bite$image !== void 0 && (_bite$image$original = _bite$image.original) !== null && _bite$image$original !== void 0 && _bite$image$original.url) {
61
+ helpers.extractDominantColor(bite.image.original.url, setProfileColors);
62
+ }
63
+ }, [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]); // console.log(bite?.image?.original?.url, profileColors);
64
+
65
+ let sizeParams = {
66
+ width: 220,
67
+ height: 234,
68
+ fontSize: "20px",
69
+ imageSize: "135px",
70
+ reactionSpacing: 1,
71
+ reactionPadding: "5px",
72
+ reactionSize: "24px",
73
+ buttonSize: "large"
74
+ };
75
+ const tinySize = {
76
+ width: 124,
77
+ height: 124,
78
+ fontSize: "10px",
79
+ imageSize: "60px",
80
+ reactionSpacing: 0.5,
81
+ reactionPadding: "1px",
82
+ reactionSize: "11px",
83
+ buttonSize: "small"
84
+ };
68
85
  const smallSize = {
69
- size: "small",
70
- width: "70px",
71
- height: "70px"
86
+ width: 150,
87
+ height: 160,
88
+ fontSize: "12px",
89
+ imageSize: "90px",
90
+ reactionSpacing: 1,
91
+ reactionPadding: "3px",
92
+ reactionSize: "16px",
93
+ buttonSize: "small"
94
+ };
95
+ const mediumSize = {
96
+ width: 180,
97
+ height: 190,
98
+ fontSize: "18px",
99
+ imageSize: "100px",
100
+ reactionSpacing: 1,
101
+ reactionPadding: "3px",
102
+ reactionSize: "20px",
103
+ buttonSize: "medium"
72
104
  };
73
105
  const largeSize = {
74
- size: "large",
75
- width: "200px",
76
- height: "200px"
106
+ width: 220,
107
+ height: 234,
108
+ fontSize: "20px",
109
+ imageSize: "135px",
110
+ reactionSpacing: 1,
111
+ reactionPadding: "5px",
112
+ reactionSize: "24px",
113
+ buttonSize: "large"
77
114
  };
78
- let sizeParams = largeSize;
79
115
 
80
- if (variantSize === "small") {
81
- sizeParams = smallSize;
116
+ if (!variantSize) {
117
+ if (size.width <= 340) {
118
+ sizeParams = tinySize;
119
+ } else if (size.width <= 600) {
120
+ sizeParams = smallSize;
121
+ } else if (size.width <= 900) {
122
+ sizeParams = mediumSize;
123
+ } else if (size.width > 900) {
124
+ sizeParams = largeSize;
125
+ }
126
+ } else {
127
+ if (variantSize === "small") {
128
+ sizeParams = smallSize;
129
+ } else if (variantSize === "medium") {
130
+ sizeParams = mediumSize;
131
+ } else if (variantSize === "large") {
132
+ sizeParams = largeSize;
133
+ } else if (variantSize === "tiny") {
134
+ sizeParams = tinySize;
135
+ }
82
136
  }
83
137
 
84
- return /*#__PURE__*/React__default['default'].createElement(index.Box, {
85
- onMouseOver: () => setCollectionHovered(true),
86
- onMouseLeave: () => setCollectionHovered(false),
87
- sx: {
88
- position: "relative",
89
- display: "flex",
90
- alignItems: "center",
91
- width: fluid ? "80%" : sizeParams.width,
92
- height: fluid ? "80%" : sizeParams.height
93
- }
94
- }, /*#__PURE__*/React__default['default'].createElement(reactColorExtractor.ColorExtractor, {
95
- style: {
96
- zIndex: "3"
97
- },
98
- src: collection === null || collection === void 0 ? void 0 : (_collection$image2 = collection.image) === null || _collection$image2 === void 0 ? void 0 : (_collection$image2$or = _collection$image2.original) === null || _collection$image2$or === void 0 ? void 0 : _collection$image2$or.url,
99
- getColors: colors => setCardColors(colors)
100
- }), /*#__PURE__*/React__default['default'].createElement(index.Box, {
138
+ if (!bite) {
139
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null);
140
+ }
141
+
142
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(index.Box, {
143
+ id: "blerp-component-".concat(bite === null || bite === void 0 ? void 0 : bite._id),
101
144
  onClick: e => {
102
145
  e.stopPropagation();
103
- if (handleClickBackground) handleClickBackground();
146
+ handleClickBackground();
104
147
  },
148
+ ref: anchorRef,
149
+ onMouseEnter: e => setIsBlerpHovered(true),
150
+ onMouseLeave: e => setIsBlerpHovered(false),
105
151
  sx: {
152
+ width: isPremium ? sizeParams.width + 4 : sizeParams.width,
153
+ height: isPremium ? sizeParams.height + 4 : sizeParams.height,
154
+ display: "flex",
155
+ flexDirection: "column",
156
+ alignItems: "center",
157
+ justifyContent: "flex-start",
106
158
  borderRadius: "8px",
159
+ border: isPremium ? "none" : "2px solid",
160
+ borderColor: "grey2.main",
161
+ overflow: "hidden",
162
+ // if the blerp is premium, always give just a simple solid white background for the Stack below to layer on top of.
163
+ // If the blerp is not premium, the background changes from white to grey2 if the blerp is selected and/or hovered.
164
+ backgroundColor: backgroundColor ? backgroundColor : isPremium ? "white.main" : isSelected ? "grey2.main" : "white.main",
165
+ transition: "0.3s",
107
166
  position: "relative",
108
- width: fluid ? "90%" : sizeParams.width,
109
- height: fluid ? "90%" : sizeParams.height,
110
167
  cursor: "pointer",
111
- "& #collection-background-1,#collection-background-2": {
112
- transform: isLocked ? "rotate(0deg)" : "",
113
- right: isLocked ? "0" : ""
114
- },
115
- ":hover #collection-background-1": {
116
- transform: isLocked ? "" : "rotate(7deg)",
117
- height: isLocked ? "" : "91%",
118
- right: isLocked ? "" : "-11px",
119
- top: isLocked ? "" : "12px"
120
- },
121
- ":hover #collection-background-2": {
122
- transform: isLocked ? "" : "rotate(14deg)",
123
- height: isLocked ? "" : "84%",
124
- right: isLocked ? "" : "-20px",
125
- top: isLocked ? "" : "24px"
126
- },
127
- ":hover #yellow-border": {
128
- opacity: "1"
168
+ "&:hover": {
169
+ bgcolor: isPremium ? "white.main" : "grey2.main",
170
+ border: isPremium ? "none" : "2px solid transparent"
129
171
  }
130
172
  }
131
- }, variantSize !== "small" ? /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, isLocked && /*#__PURE__*/React__default['default'].createElement(YellowHoverBorder, {
132
- id: "yellow-border"
133
- }), /*#__PURE__*/React__default['default'].createElement(index.Box, {
134
- sx: {
135
- backgroundColor: "transparent",
136
- borderRadius: "12px",
137
- width: "100%",
138
- height: "100%",
139
- position: "absolute",
140
- top: "0",
141
- zIndex: "3"
142
- }
143
- }), !hideCollectionBackground && /*#__PURE__*/React__default['default'].createElement(index.Box, {
144
- id: "collection-background-1",
145
- sx: {
146
- backgroundImage: "linear-gradient(".concat(data.muted || "#444444", ", #444444)"),
147
- borderRadius: "12px",
148
- width: "50%",
149
- height: "94%",
150
- position: "absolute",
151
- transform: "rotate(5deg) scale(1)",
152
- right: "-8px",
153
- top: "8px",
154
- zIndex: "2",
155
- transition: "0.2s ease-out"
156
- }
157
- }), !hideCollectionBackground && /*#__PURE__*/React__default['default'].createElement(index.Box, {
158
- id: "collection-background-2",
159
- sx: {
160
- backgroundImage: "linear-gradient(".concat(data.darkMuted || "#252525", ", #252525)"),
161
- borderRadius: "12px",
162
- width: "50%",
163
- height: "89%",
164
- position: "absolute",
165
- transform: "rotate(10deg) scale(1)",
166
- right: "-16px",
167
- top: "16px",
168
- zIndex: "1",
169
- transition: "0.2s ease-out"
170
- }
171
- }), /*#__PURE__*/React__default['default'].createElement(index.Box, {
173
+ }, /*#__PURE__*/React__default["default"].createElement(index.Stack, {
172
174
  sx: {
173
- backgroundImage: "linear-gradient(".concat(data.vibrant || "#000000", "9a, #0000007a), url(").concat(collection === null || collection === void 0 ? void 0 : (_collection$image3 = collection.image) === null || _collection$image3 === void 0 ? void 0 : (_collection$image3$or = _collection$image3.original) === null || _collection$image3$or === void 0 ? void 0 : _collection$image3$or.url, ")"),
174
- backgroundSize: "cover",
175
- backgroundPosition: "center",
176
- backgroundRepeat: "no-repeat",
177
- width: "100%",
178
- height: "100%",
179
- borderRadius: "12px",
180
- display: "flex",
181
- justifyContent: "center",
182
- alignItems: "center",
183
- position: "absolute",
184
- zIndex: "3",
185
- overflow: "hidden"
186
- }
187
- }, !isLocked ? /*#__PURE__*/React__default['default'].createElement(index.Box, {
188
- sx: {
189
- backgroundImage: "linear-gradient(".concat(data.muted || "#000000", "7a, #0000007a)"),
190
- zIndex: "3",
191
- paddingBottom: "8px",
192
- display: "flex",
193
- flexDirection: "column",
194
- justifyContent: "flex-end",
195
- alignItems: "center",
196
175
  position: "absolute",
197
176
  top: "0",
198
177
  bottom: "0",
199
178
  left: "0",
200
179
  right: "0",
201
- overflow: "hidden",
202
- transition: "opacity .3s ease-in-out",
203
- opacity: collectionHovered ? "1" : "0"
204
- }
205
- }) : /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null), premiumDiamondPill ? premiumDiamondPill : /*#__PURE__*/React__default['default'].createElement(TopPill, {
206
- style: {
207
- zIndex: "3"
208
- },
209
- collectionHovered: collectionHovered,
210
- isLocked: isLocked
211
- }, /*#__PURE__*/React__default['default'].createElement(TopPillBackground, null), primaryActionButton ? primaryActionButton : collection !== null && collection !== void 0 && collection.saved ? /*#__PURE__*/React__default['default'].createElement(index.Stack, {
212
- sx: {
213
- position: "absolute",
214
- top: "2px",
215
- left: "2px",
216
- width: "28px",
217
- height: "28px",
218
- color: "white.override",
219
- borderRadius: "50%",
220
- alignItems: "center",
221
- justifyContent: "center",
222
- opacity: isLocked ? "1" : "0",
223
- "&:hover": {
224
- backgroundColor: "white.override"
225
- },
226
- ":hover svg": {
227
- color: "starling.main"
228
- }
229
- }
230
- }, /*#__PURE__*/React__default['default'].createElement(BookmarkRounded__default['default'], {
231
- sx: {
232
- height: ".6em",
233
- color: "white.override",
234
- opacity: isLocked ? "1" : "0"
235
- },
236
- onClick: e => {
237
- e.stopPropagation();
238
- handleClickSave(false);
239
- }
240
- })) : /*#__PURE__*/React__default['default'].createElement(index.Stack, {
241
- sx: {
242
- position: "absolute",
243
- top: "2px",
244
- left: "2px",
245
- width: "28px",
246
- height: "28px",
247
- color: "white.override",
248
- borderRadius: "50%",
249
- alignItems: "center",
250
- justifyContent: "center",
251
- opacity: isLocked ? "1" : "0",
252
- "&:hover": {
253
- backgroundColor: "white.override"
254
- },
255
- ":hover svg": {
256
- color: "starling.main"
257
- }
258
- }
259
- }, /*#__PURE__*/React__default['default'].createElement(BookmarkAddOutlinedIcon__default['default'], {
260
- onClick: e => {
261
- e.stopPropagation();
262
- handleClickSave(true);
263
- },
264
- sx: {
265
- height: ".6em",
266
- color: "white.override",
267
- opacity: isLocked ? "1" : "0"
268
- }
269
- })), /*#__PURE__*/React__default['default'].createElement(index.Stack, {
270
- sx: {
271
- zIndex: "1",
272
- position: "relative",
273
- right: "4px"
274
- },
275
- direction: "row",
276
- alignItems: "center"
277
- }, /*#__PURE__*/React__default['default'].createElement(Icons.DiamondIcon, {
278
- sx: {
279
- color: "white.override",
280
- height: ".6em",
281
- position: "relative",
282
- left: "4px"
283
- }
284
- }), /*#__PURE__*/React__default['default'].createElement(index.Text, {
285
- sx: {
286
- color: "white.override",
287
- fontWeight: "lighter",
288
- fontSize: ".8em"
289
- }
290
- }, "Premium")), !hidePremiumLockIcon && /*#__PURE__*/React__default['default'].createElement(index.Stack, null, /*#__PURE__*/React__default['default'].createElement(LockRoundedIcon__default['default'], {
291
- sx: {
292
- position: "absolute",
293
- top: "8px",
294
- right: "5px",
295
- height: ".6em",
296
- color: "white.override",
297
- paddingRight: "8px",
298
- opacity: isLocked ? collectionHovered ? "0" : "1" : "0",
299
- transition: "opacity .2s ease-in-out"
300
- },
301
- onClick: e => {
302
- e.stopPropagation();
303
- handleClickSave(false);
304
- }
305
- }))), secondaryActionButton ? secondaryActionButton : /*#__PURE__*/React__default['default'].createElement(index.Stack, {
306
- sx: {
307
- zIndex: "4",
308
- justifyContent: "center",
309
- alignItems: "center",
310
- position: "absolute",
311
- width: "28px",
312
- height: "28px",
313
- borderRadius: "50%",
314
- top: "8px",
315
- right: "8px",
316
- padding: "2px",
317
- transition: "all .1s ease-in-out",
318
- "&:hover": {
319
- width: "30px",
320
- height: "30px",
321
- top: "7px",
322
- right: "7px"
323
- }
324
- }
325
- }, /*#__PURE__*/React__default['default'].createElement(index.Stack, {
326
- onClick: e => {
327
- e.stopPropagation(); // NEEDS TO DIRECT TO CREATOR'S PROFILE
328
-
329
- handleClickSecondaryAction();
330
- },
331
- sx: {
332
- position: "absolute",
333
- width: "100%",
334
- height: "100%",
335
- backgroundColor: "notBlack.override",
336
- zIndex: "3",
337
- borderRadius: "50%",
338
- opacity: ".7",
339
- "&:hover": {
340
- backgroundColor: "ibisRed.main",
341
- opacity: "1"
342
- }
343
- }
344
- }), /*#__PURE__*/React__default['default'].createElement("img", {
345
- src: (collection === null || collection === void 0 ? void 0 : (_collection$ownerObje = collection.ownerObject) === null || _collection$ownerObje === void 0 ? void 0 : (_collection$ownerObje2 = _collection$ownerObje.profileImage) === null || _collection$ownerObje2 === void 0 ? void 0 : (_collection$ownerObje3 = _collection$ownerObje2.original) === null || _collection$ownerObje3 === void 0 ? void 0 : _collection$ownerObje3.url) || "https://cdn.blerp.com/design/web/account-white-check.svg",
346
- style: {
347
- width: "100%",
348
- height: "100%",
349
- zIndex: "5",
350
- borderRadius: "50%",
351
- pointerEvents: "none"
352
- }
353
- })), bottomLeftIcon ? bottomLeftIcon : /*#__PURE__*/React__default['default'].createElement(index.Stack, {
354
- sx: {
355
- zIndex: "4",
356
- justifyContent: "center",
357
- alignItems: "center",
358
- position: "absolute",
359
- width: "20px",
360
- height: "20px",
361
- borderRadius: "50%",
362
- bottom: "8px",
363
- right: "8px",
364
- padding: "2px",
365
- transition: "all .1s ease-in-out",
366
- "&:hover": {
367
- width: "24px",
368
- height: "24px",
369
- bottom: "8px",
370
- right: "8px"
371
- }
372
- },
373
- onClick: e => {
374
- e.stopPropagation();
375
- handleClickBottomLeftIcon();
376
- }
377
- }, /*#__PURE__*/React__default['default'].createElement(Icons.PresentGiftIcon, {
378
- sx: {
379
- position: "absolute",
380
- width: "100%",
381
- height: "100%",
382
- color: "white.override",
383
- // backgroundColor: "grey4.main",
384
- zIndex: "4",
385
- borderRadius: "50%",
386
- opacity: "1",
387
- "&:hover": {
388
- padding: "4px",
389
- backgroundColor: "grey7.override",
390
- opacity: "1"
391
- }
392
- }
393
- })), isLink ? /*#__PURE__*/React__default['default'].createElement("a", {
394
- href: "/sound-collection/".concat(collection._id),
395
- style: {
396
- color: "white",
397
- textDecoration: "none"
398
- }
399
- }, /*#__PURE__*/React__default['default'].createElement(LineClamp, null, /*#__PURE__*/React__default['default'].createElement(index.Text, {
400
- fontSize: fontSize ? fontSize : "22px",
401
- color: "white.override",
402
- textAlign: "center",
403
- sx: {
404
- zIndex: isLocked ? "1" : "3",
405
- ":hover": {
406
- textDecoration: "underline"
407
- }
408
- }
409
- }, collection === null || collection === void 0 ? void 0 : collection.title))) : /*#__PURE__*/React__default['default'].createElement(LineClamp, null, /*#__PURE__*/React__default['default'].createElement(index.Text, {
410
- sx: {
411
- zIndex: isLocked ? "1" : "3"
412
- },
413
- fontSize: fontSize ? fontSize : "22px",
414
- color: "white.override",
415
- textAlign: "center"
416
- }, collection === null || collection === void 0 ? void 0 : collection.title)), isLocked ? /*#__PURE__*/React__default['default'].createElement(LockedScrim, {
417
- collectionHovered: collectionHovered
418
- }, /*#__PURE__*/React__default['default'].createElement(LockedScrimBackground, {
419
- collectionHovered: collectionHovered
420
- }), !hideUnlockPlatformText && (unlockPlatformText ? /*#__PURE__*/React__default['default'].createElement(index.Text, {
421
- sx: {
422
- color: "white.override",
423
- textAlign: "center",
424
- lineHeight: "1",
425
- margin: "4px 0",
426
- zIndex: "3",
427
- fontSize: ".8rem"
428
- }
429
- }, unlockPlatformText) : /*#__PURE__*/React__default['default'].createElement(index.Text, {
430
- sx: {
431
- color: "white.override",
432
- textAlign: "center",
433
- lineHeight: "1",
434
- margin: "4px 0",
435
- zIndex: "3",
436
- fontSize: ".8rem"
437
- }
438
- }, "Unlock to share ", /*#__PURE__*/React__default['default'].createElement("br", null), "across platforms")), handleClickView && /*#__PURE__*/React__default['default'].createElement(index.Button, {
439
- disabled: !collectionHovered,
440
- onClick: e => {
441
- e.stopPropagation();
442
- handleClickView();
443
- },
444
- variant: "contained",
445
- sx: {
446
- width: "70%",
447
- fontSize: ".8rem",
448
- padding: "4px 8px",
449
- margin: "4px 0"
450
- }
451
- }, overrideViewText || "VIEW SOUNDPACK"), handleClickUnlock && /*#__PURE__*/React__default['default'].createElement(index.Button, {
452
- disabled: !collectionHovered,
453
- onClick: e => {
454
- e.stopPropagation();
455
- handleClickUnlock();
456
- },
457
- variant: "outlined",
458
- color: "whiteOverride",
459
- sx: {
460
- width: "50%",
461
- margin: "6px 0",
462
- padding: "2px 8px",
463
- borderWidth: "2px !important",
464
- overflow: "hidden"
465
- }
466
- }, /*#__PURE__*/React__default['default'].createElement("div", {
467
- id: "button-background"
468
- }), /*#__PURE__*/React__default['default'].createElement(LockRoundedIcon__default['default'], {
469
- sx: {
470
- color: "white.override",
471
- zIndex: "3",
472
- height: ".8rem",
473
- position: "relative",
474
- bottom: "1px"
475
- }
476
- }), "UNLOCK")) : /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null))) :
477
- /*#__PURE__*/
478
- // What to display when variantSize === "small":
479
- React__default['default'].createElement(index.Box, {
480
- sx: {
481
- backgroundImage: "linear-gradient(".concat(cardColors ? cardColors[0] : "#000000", "7a, #0000004a), url(").concat(collection === null || collection === void 0 ? void 0 : (_collection$image4 = collection.image) === null || _collection$image4 === void 0 ? void 0 : (_collection$image4$or = _collection$image4.original) === null || _collection$image4$or === void 0 ? void 0 : _collection$image4$or.url, ")"),
482
- backgroundSize: "cover",
483
- backgroundPosition: "center",
484
- backgroundRepeat: "no-repeat",
485
- width: "100%",
486
- height: "100%",
487
- borderRadius: "8px",
488
- display: "flex",
489
- justifyContent: "center",
490
- alignItems: "center",
491
- position: "relative"
492
- }
180
+ transition: "background .15s ease-in-out",
181
+ 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", ")") : "",
182
+ backgroundColor: isPremium && !profileColors && "grey5.override"
183
+ }
184
+ }), /*#__PURE__*/React__default["default"].createElement(BlerpTopRow, {
185
+ bite: bite,
186
+ isOwner: isOwner,
187
+ sizeParams: sizeParams,
188
+ getUserReactions: getUserReactions,
189
+ setOpenSave: setOpenSave,
190
+ handleClickSave: handleClickSave,
191
+ isPremium: isPremium,
192
+ isLocked: isLocked,
193
+ secondaryActionButton: secondaryActionButton,
194
+ isBlerpHovered: isBlerpHovered,
195
+ handleClickThreeDot: handleClickThreeDot
196
+ }), /*#__PURE__*/React__default["default"].createElement(BlerpImageRow, {
197
+ bite: bite,
198
+ isOwner: isOwner,
199
+ sizeParams: sizeParams,
200
+ getUserReactions: getUserReactions,
201
+ setOpenSave: setOpenSave,
202
+ playingState: playingState,
203
+ handleClickSave: handleClickSave,
204
+ isPremium: isPremium,
205
+ isLocked: isLocked,
206
+ primaryActionButton: primaryActionButton,
207
+ isBlerpHovered: isBlerpHovered,
208
+ handleClickPlay: handleClickPlay,
209
+ handleClickLock: handleClickLock
210
+ }), /*#__PURE__*/React__default["default"].createElement(BlerpTitleRow, {
211
+ bite: bite,
212
+ title: title,
213
+ isLinkTitle: isLinkTitle,
214
+ handleClickTitle: handleClickTitle,
215
+ isPremium: isPremium,
216
+ isLocked: isLocked,
217
+ isOwner: isOwner,
218
+ sizeParams: sizeParams
219
+ }), openSave && /*#__PURE__*/React__default["default"].createElement(BlerpSavePopup, {
220
+ bite: bite,
221
+ anchorRef: anchorRef,
222
+ setOpenSave: setOpenSave,
223
+ openSave: openSave,
224
+ sizeParams: sizeParams,
225
+ unsaveButton: unsaveButton,
226
+ organizeButton: organizeButton,
227
+ handleClickReaction: handleClickReaction,
228
+ handleClickUnsave: handleClickUnsave,
229
+ handleClickOrganize: handleClickOrganize
493
230
  })));
494
231
  };
495
232
 
496
- exports.PremiumCollectionCard = PremiumCollectionCard;
497
- exports.default = PremiumCollectionCard;
233
+ exports.Blerp = Blerp;
234
+ exports["default"] = Blerp;