@blerp/design 1.3.16 → 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 +98 -52
  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 +39 -3
  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
@@ -2,61 +2,60 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
6
- var BookmarkAddOutlinedIcon = require('@mui/icons-material/BookmarkAddOutlined');
7
- var BookmarkOutlinedIcon = require('@mui/icons-material/BookmarkOutlined');
8
- var KeyboardArrowRightRoundedIcon = require('@mui/icons-material/KeyboardArrowRightRounded');
9
- var LockRoundedIcon = require('@mui/icons-material/LockRounded');
10
- require('prop-types');
5
+ var _extends = require('@babel/runtime/helpers/extends');
6
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
11
8
  var React = require('react');
12
- var reactPalette = require('react-palette');
13
- var styled = require('styled-components');
14
9
  var index = require('./index.js');
15
10
  var ScreenSizeHook = require('./ScreenSizeHook.js');
11
+ var helpers = require('./helpers.js');
12
+ var Theme = require('./Theme.js');
16
13
  var Icons = require('./Icons/Icons.js');
17
14
 
18
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
16
 
20
- var _taggedTemplateLiteral__default = /*#__PURE__*/_interopDefaultLegacy(_taggedTemplateLiteral);
21
- var BookmarkAddOutlinedIcon__default = /*#__PURE__*/_interopDefaultLegacy(BookmarkAddOutlinedIcon);
22
- var BookmarkOutlinedIcon__default = /*#__PURE__*/_interopDefaultLegacy(BookmarkOutlinedIcon);
23
- var KeyboardArrowRightRoundedIcon__default = /*#__PURE__*/_interopDefaultLegacy(KeyboardArrowRightRoundedIcon);
24
- var LockRoundedIcon__default = /*#__PURE__*/_interopDefaultLegacy(LockRoundedIcon);
17
+ var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
18
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
19
+ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
25
20
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
26
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
27
21
 
28
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
29
- const MasterContainer = styled__default['default'].div(_templateObject || (_templateObject = _taggedTemplateLiteral__default['default'](["\n display: flex;\n /* The extra 4 pixels accounts for the width of the border in the transparent BlerpListView border */\n height: ", ";\n width: ", ";\n min-width: ", ";\n border-radius: 8px;\n background-origin: border-box;\n background-clip: content-box, border-box;\n box-shadow: 2px 2px 4px 0px #999999a1;\n position: relative;\n\n #second-button {\n opacity: 0;\n margin-left: 0px;\n margin-right: 15px;\n }\n\n :hover #yellow-border {\n opacity: 1;\n }\n :hover #second-button {\n opacity: 1;\n margin-left: 5px;\n margin-right: 10px;\n }\n :hover #mid-box {\n width: 96%;\n }\n :hover #back-box {\n width: ", ";\n }\n"])), _ref => {
30
- let {
31
- sizeParams
32
- } = _ref;
33
- return (sizeParams.height += 2) + "px";
34
- }, _ref2 => {
35
- let {
36
- sizeParams
37
- } = _ref2;
38
- return sizeParams.width;
39
- }, _ref3 => {
22
+ const _excluded = ["path", "sx", "size"];
23
+
24
+ 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; }
25
+
26
+ 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__default["default"](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; }
27
+
28
+ const Icon = _ref => {
40
29
  let {
41
- fluid
42
- } = _ref3;
43
- return fluid ? "300px" : "0";
44
- }, props => props.owned ? "102%" : "100%");
45
- const YellowHoverBorder = styled__default['default'].div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral__default['default'](["\n position: absolute;\n height: 113%;\n width: 102%;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n border: 3px solid rgb(255, 225, 76);\n border-radius: 14px;\n transition: opacity 0.2s ease-in-out;\n opacity: 0;\n"])));
46
- const TopBox = styled__default['default'].div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral__default['default'](["\n z-index: 3;\n border: 2px transparent;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: ", ";\n height: 100%;\n border-radius: 8px;\n border-right-width: 0px;\n border-left-width: 0px;\n transition: 0.2s;\n position: relative;\n overflow: hidden;\n"])), props => props.theme.colors.white);
47
- const MidBox = styled__default['default'].div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral__default['default'](["\n z-index: 2;\n position: absolute;\n background-color: ", ";\n width: 95%;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n height: 100%;\n border-radius: 8px;\n border-right-width: 0px;\n border-left-width: 0px;\n transition: 0.2s;\n overflow: hidden;\n"])), props => props.theme.colors.grey5);
48
- const BackBox = styled__default['default'].div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral__default['default'](["\n background-color: blue;\n background-color: ", ";\n position: absolute;\n width: 100%;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n height: 100%;\n border-radius: 8px;\n border-right-width: 0px;\n border-left-width: 0px;\n transition: 0.2s;\n overflow: hidden;\n"])), props => props.theme.colors.grey7);
49
- const PhotoBackground = styled__default['default'].div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral__default['default'](["\n position: absolute;\n width: 100%;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-image: url(", ");\n background-size: cover;\n border-radius: 8px;\n overflow: hidden;\n background-position: center;\n"])), props => props.url);
50
- const BlurBackground = styled__default['default'].div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral__default['default'](["\n position: absolute;\n width: 100%;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: 8px;\n backdrop-filter: blur(4px);\n"])));
51
- const GradientBackground = styled__default['default'].div(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral__default['default'](["\n width: 100%;\n opacity: 0.7;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: 8px;\n width: 100%;\n height: 100%;\n"])));
52
- const InteractionBox = styled__default['default'].div(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral__default['default'](["\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: calc(100% - 4px);\n height: 100%;\n border-radius: 8px;\n border-right-width: 0px;\n border-left-width: 0px;\n margin: 0 auto;\n transition: 0.2s;\n position: relative;\n"]))); // Box on the left of the Collection that is clicked to save/unsave
30
+ path,
31
+ sx,
32
+ size = "24px"
33
+ } = _ref,
34
+ props = _objectWithoutProperties__default["default"](_ref, _excluded);
53
35
 
54
- const SaveBox = styled__default['default'].div(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral__default['default'](["\n position: relative;\n border-radius: 4px;\n transition: 0.2s;\n box-shadow: 0px 0px 0px 0px #999999a1;\n cursor: pointer;\n\n &:hover {\n transform: scale(1.05);\n }\n"])));
55
- const SaveBoxTop = styled__default['default'].div(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral__default['default'](["\n z-index: 5;\n width: 100%;\n position: relative;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 4px;\n transition: 0.4s;\n\n &:hover {\n background-color: ", "98;\n }\n"])), props => props.theme.colors.notBlackOverride);
56
- const SaveBoxTopDarken = styled__default['default'].div(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral__default['default'](["\n opacity: 1;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: 4px;\n"])));
57
- const SaveBoxShadowSquare = styled__default['default'].div(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral__default['default'](["\n position: absolute;\n height: 100%;\n width: 100%;\n border-radius: 4px;\n ", ";\n"])), props => props.depth === "1" ? "\n transform: skewX(-5deg); \n left: 2px; \n height: 94%; \n bottom: 0" : props.depth === "2" ? "\n transform: skewX(-12deg); \n left: 5px; \n height: 83%; \n width:97%;\n bottom: 0" : "");
58
- const CollectionListViewPremium = _ref4 => {
59
- var _collection$image, _collection$image$ori, _collection$image2, _collection$image2$or;
36
+ return /*#__PURE__*/React__default["default"].createElement(index.Box, _extends__default["default"]({
37
+ component: "svg",
38
+ viewBox: "0 0 24 24",
39
+ width: size,
40
+ height: size,
41
+ fill: "currentColor",
42
+ sx: _objectSpread({
43
+ display: 'inline-block',
44
+ flexShrink: 0
45
+ }, sx)
46
+ }, props), /*#__PURE__*/React__default["default"].createElement("path", {
47
+ d: path
48
+ }));
49
+ };
50
+
51
+ const paths = {
52
+ bookmark: "M17 3H7c-1.1 0-2 .9-2 2v16l7-3 7 3V5c0-1.1-.9-2-2-2z",
53
+ bookmarkAdd: "M21 7V5h2V3h-2V1h-2v2h-2v2h2v2h2zm-4 7V5c0-1.1-.9-2-2-2H7c-1.1 0-2 .9-2 2v16l7-3 7 3v-7h-2z",
54
+ arrowRight: "M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z",
55
+ lock: "M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9V6zm9 14H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z"
56
+ };
57
+ const CollectionListViewPremium = _ref2 => {
58
+ var _collection$image, _collection$image$ori, _theme$colors, _theme$colors2, _theme$colors3, _collection$image2, _collection$image2$or;
60
59
 
61
60
  let {
62
61
  collection,
@@ -68,26 +67,19 @@ const CollectionListViewPremium = _ref4 => {
68
67
  handleClickTitle,
69
68
  isLinkTitle,
70
69
  fluid
71
- } = _ref4;
72
- React.useState(false); // Will use this exclusively for picking colors from image...no ColorExtractor
73
-
70
+ } = _ref2;
71
+ const [isHovered, setIsHovered] = React.useState(false);
74
72
  const {
75
- loading,
76
- data,
77
- error
78
- } = 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);
79
- const theme = React.useContext(styled.ThemeContext);
73
+ data
74
+ } = helpers.useCustomPalette(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);
75
+ const theme = Theme.useBlerpTheme();
80
76
  const size = ScreenSizeHook.useWindowSize();
81
- console.log("Collleeeeection", collection);
82
77
  let sizeParams;
83
78
  const smallSize = {
84
79
  width: "300px",
85
80
  height: 40,
86
81
  fontSize: "16px",
87
82
  saveBoxSize: "36px",
88
- reactionSpacing: 1,
89
- reactionPadding: "3px",
90
- reactionSize: "20px",
91
83
  buttonSize: "small"
92
84
  };
93
85
  const mediumSize = {
@@ -95,9 +87,6 @@ const CollectionListViewPremium = _ref4 => {
95
87
  height: 48,
96
88
  fontSize: "18px",
97
89
  saveBoxSize: "44px",
98
- reactionSpacing: 1,
99
- reactionPadding: "3px",
100
- reactionSize: "23px",
101
90
  buttonSize: "medium"
102
91
  };
103
92
  const largeSize = {
@@ -105,264 +94,346 @@ const CollectionListViewPremium = _ref4 => {
105
94
  height: 56,
106
95
  fontSize: "20px",
107
96
  saveBoxSize: "52px",
108
- reactionSpacing: 1,
109
- reactionPadding: "5px",
110
- reactionSize: "30px",
111
97
  buttonFontSize: "large"
112
98
  };
113
99
 
114
100
  if (!variantSize) {
115
101
  if (fluid) {
116
- sizeParams = {
117
- width: "100%",
118
- height: 48,
119
- fontSize: "18px",
120
- saveBoxSize: "44px",
121
- reactionSpacing: 1,
122
- reactionPadding: "3px",
123
- reactionSize: "23px",
124
- buttonSize: "medium"
125
- };
102
+ sizeParams = _objectSpread(_objectSpread({}, mediumSize), {}, {
103
+ width: "100%"
104
+ });
126
105
  } else if (size.width <= 400) {
127
106
  sizeParams = smallSize;
128
107
  } else if (size.width <= 900) {
129
108
  sizeParams = mediumSize;
130
- } else if (size.width > 900) {
109
+ } else {
131
110
  sizeParams = largeSize;
132
111
  }
133
112
  } else {
134
- if (variantSize === "small") {
135
- sizeParams = smallSize;
136
- } else if (variantSize === "medium") {
137
- console.log(variantSize);
138
- sizeParams = mediumSize;
139
- } else if (variantSize === "large") {
140
- sizeParams = largeSize;
141
- }
142
- }
113
+ sizeParams = variantSize === "small" ? smallSize : variantSize === "large" ? largeSize : mediumSize;
114
+ } // Styles
143
115
 
144
- return (
145
- /*#__PURE__*/
146
- // This is the master container. All children's size should be in relation to this box. This box's should not be dependent on its children, but should be dependent on either screen size or the variantSize prop ONLY.
147
116
 
148
- /* BIG PICTURE OF COMPONENT:
149
- Master Container
150
- - TopBox (solid white background)
151
- - PhotoBackground (if collection has photo)
152
- - BlurBackground (always applied)
153
- - Gradient Background (default is photo color --> black, fall back is white --> black)
154
- - Interaction Box (holds clickable elements)
155
- - MidBox (first "shadow")
156
- - BackBox (second "shadow")
157
- */
158
- React__default['default'].createElement(MasterContainer, {
159
- owned: collection === null || collection === void 0 ? void 0 : collection.owned,
160
- sizeParams: sizeParams,
161
- fluid: fluid
162
- }, !(collection !== null && collection !== void 0 && collection.owned) && /*#__PURE__*/React__default['default'].createElement(YellowHoverBorder, {
163
- id: "yellow-border"
164
- }), /*#__PURE__*/React__default['default'].createElement(TopBox, {
165
- onClick: e => {
166
- e.stopPropagation();
167
- handleClickBackground();
168
- },
169
- style: {
170
- borderBottomColor: extraInfoComponent && theme.colors.grey3,
171
- width: !(collection !== null && collection !== void 0 && collection.owned) ? "100%" : "90%"
172
- }
173
- }, /*#__PURE__*/React__default['default'].createElement(PhotoBackground, {
174
- url: 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
175
- }), /*#__PURE__*/React__default['default'].createElement(BlurBackground, null), /*#__PURE__*/React__default['default'].createElement(GradientBackground, {
176
- style: {
177
- background: "linear-gradient(135deg,".concat(data.vibrant || "rgb(204,204,204)", ", #444444)")
178
- }
179
- }), /*#__PURE__*/React__default['default'].createElement(InteractionBox, {
180
- style: {
181
- borderBottomColor: extraInfoComponent && theme.colors.grey3
182
- }
183
- }, /*#__PURE__*/React__default['default'].createElement(index.Stack, {
184
- direction: "row",
185
- justifyContent: "flex-start",
186
- alignItems: "center",
187
- sx: {
188
- position: "relative",
189
- width: "calc(100% - 180px)",
190
- left: "2px"
191
- }
192
- }, /*#__PURE__*/React__default['default'].createElement(SaveBox, {
193
- style: {
194
- width: sizeParams.saveBoxSize,
195
- height: sizeParams.saveBoxSize
196
- },
197
- onClick: e => {
198
- console.log("handle save/unsave here");
199
- }
200
- }, /*#__PURE__*/React__default['default'].createElement(SaveBoxTop, {
201
- style: {
202
- width: sizeParams.saveBoxSize,
203
- height: sizeParams.saveBoxSize,
204
- background: data.darkVibrant || "#999999"
205
- }
206
- }, /*#__PURE__*/React__default['default'].createElement(SaveBoxTopDarken, {
207
- style: {
208
- background: "linear-gradient(".concat("rgba(0,0,0,0)", ", #000000)")
209
- }
210
- }), collection !== null && collection !== void 0 && collection.saved ? /*#__PURE__*/React__default['default'].createElement(BookmarkOutlinedIcon__default['default'], {
211
- sx: {
212
- width: "30px",
213
- height: "30px",
214
- color: "white.override",
215
- position: "relative",
216
- bottom: "1px"
217
- }
218
- }) : /*#__PURE__*/React__default['default'].createElement(BookmarkAddOutlinedIcon__default['default'], {
219
- sx: {
220
- width: "30px",
221
- height: "30px",
222
- color: "white.override",
223
- position: "relative",
224
- bottom: "1px"
225
- }
226
- })), !(collection !== null && collection !== void 0 && collection.owned) && /*#__PURE__*/React__default['default'].createElement(SaveBoxShadowSquare, {
227
- depth: "2",
228
- style: {
229
- background: "linear-gradient(".concat(data.darkVibrant || "rgba(180,180,180,1)", ", rgba(0,0,0,1))")
230
- }
231
- }), !(collection !== null && collection !== void 0 && collection.owned) && /*#__PURE__*/React__default['default'].createElement(SaveBoxShadowSquare, {
232
- depth: "1",
233
- style: {
234
- background: "linear-gradient(".concat(data.darkVibrant || "rgba(230,230,230,1)", ", rgba(0,0,0,0))")
235
- }
236
- })), isLinkTitle ? /*#__PURE__*/React__default['default'].createElement("a", {
237
- href: "/sound-collection/".concat(collection._id),
238
- style: {
239
- textDecoration: "none",
240
- width: "calc(95% - ".concat(sizeParams.saveBoxSize, ")"),
241
- position: "relative",
242
- left: "12px"
243
- }
244
- }, /*#__PURE__*/React__default['default'].createElement(index.Text, {
245
- textAlign: "left",
246
- fontSize: sizeParams.fontSize,
247
- noWrap: true,
248
- color: collection !== null && collection !== void 0 && collection.image ? "white.override" : "notBlack",
249
- sx: {
250
- ":hover": {
251
- textDecoration: handleClickTitle ? "underline" : "none"
252
- },
253
- "@media (max-width: 600px)": {
254
- maxWidth: "133px"
255
- }
256
- },
257
- onClick: e => {
258
- if (handleClickTitle) {
259
- e.stopPropagation();
260
- handleClickTitle();
261
- }
262
- }
263
- }, collection.title)) : /*#__PURE__*/React__default['default'].createElement(index.Text, {
264
- textAlign: "left",
265
- fontSize: sizeParams.fontSize,
266
- noWrap: true,
267
- color: collection !== null && collection !== void 0 && collection.image ? "white.override" : "notBlack",
268
- sx: {
269
- position: "relative",
270
- left: "12px",
271
- ":hover": {
272
- textDecoration: handleClickTitle ? "underline" : "none"
273
- },
274
- "@media (max-width: 600px)": {
275
- maxWidth: "133px"
276
- }
117
+ const masterContainerStyle = {
118
+ display: "flex",
119
+ height: sizeParams.height + 2 + "px",
120
+ width: sizeParams.width,
121
+ minWidth: fluid ? "300px" : "0",
122
+ borderRadius: "8px",
123
+ boxShadow: "2px 2px 4px 0px #999999a1",
124
+ position: "relative"
125
+ };
126
+ const yellowHoverBorderStyle = {
127
+ position: "absolute",
128
+ height: "113%",
129
+ width: "102%",
130
+ top: "50%",
131
+ left: "50%",
132
+ transform: "translate(-50%, -50%)",
133
+ border: "3px solid rgb(255, 225, 76)",
134
+ borderRadius: "14px",
135
+ transition: "opacity 0.2s ease-in-out",
136
+ opacity: isHovered ? 1 : 0,
137
+ pointerEvents: "none"
138
+ };
139
+ const topBoxStyle = {
140
+ zIndex: 3,
141
+ display: "flex",
142
+ justifyContent: "center",
143
+ alignItems: "center",
144
+ backgroundColor: (theme === null || theme === void 0 ? void 0 : (_theme$colors = theme.colors) === null || _theme$colors === void 0 ? void 0 : _theme$colors.white) || "#ffffff",
145
+ height: "100%",
146
+ borderRadius: "8px",
147
+ transition: "0.2s",
148
+ position: "relative",
149
+ overflow: "hidden",
150
+ width: !(collection !== null && collection !== void 0 && collection.owned) ? "100%" : "90%",
151
+ cursor: "pointer"
152
+ };
153
+ const midBoxStyle = {
154
+ zIndex: 2,
155
+ position: "absolute",
156
+ backgroundColor: (theme === null || theme === void 0 ? void 0 : (_theme$colors2 = theme.colors) === null || _theme$colors2 === void 0 ? void 0 : _theme$colors2.grey5) || "#e0e0e0",
157
+ width: isHovered ? "96%" : "95%",
158
+ top: 0,
159
+ bottom: 0,
160
+ left: 0,
161
+ right: 0,
162
+ borderRadius: "8px",
163
+ transition: "0.2s"
164
+ };
165
+ const backBoxStyle = {
166
+ backgroundColor: (theme === null || theme === void 0 ? void 0 : (_theme$colors3 = theme.colors) === null || _theme$colors3 === void 0 ? void 0 : _theme$colors3.grey7) || "#616161",
167
+ position: "absolute",
168
+ width: isHovered ? collection !== null && collection !== void 0 && collection.owned ? "102%" : "100%" : "100%",
169
+ top: 0,
170
+ bottom: 0,
171
+ left: 0,
172
+ right: 0,
173
+ borderRadius: "8px",
174
+ transition: "0.2s"
175
+ };
176
+ const photoBackgroundStyle = {
177
+ position: "absolute",
178
+ width: "100%",
179
+ height: "100%",
180
+ backgroundImage: "url(".concat(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, ")"),
181
+ backgroundSize: "cover",
182
+ borderRadius: "8px",
183
+ backgroundPosition: "center"
184
+ };
185
+ const blurBackgroundStyle = {
186
+ position: "absolute",
187
+ width: "100%",
188
+ height: "100%",
189
+ borderRadius: "8px",
190
+ backdropFilter: "blur(4px)"
191
+ };
192
+ const gradientBackgroundStyle = {
193
+ width: "100%",
194
+ height: "100%",
195
+ opacity: 0.7,
196
+ position: "absolute",
197
+ borderRadius: "8px",
198
+ background: "linear-gradient(135deg,".concat(data.vibrant || "rgb(204,204,204)", ", #444444)")
199
+ };
200
+ const interactionBoxStyle = {
201
+ display: "flex",
202
+ justifyContent: "space-between",
203
+ alignItems: "center",
204
+ width: "calc(100% - 4px)",
205
+ height: "100%",
206
+ borderRadius: "8px",
207
+ position: "relative"
208
+ };
209
+ const saveBoxTopStyle = {
210
+ zIndex: 5,
211
+ width: sizeParams.saveBoxSize,
212
+ height: sizeParams.saveBoxSize,
213
+ position: "relative",
214
+ display: "flex",
215
+ justifyContent: "center",
216
+ alignItems: "center",
217
+ borderRadius: "4px",
218
+ transition: "0.4s",
219
+ background: data.darkVibrant || "#999999"
220
+ };
221
+
222
+ const getSaveBoxShadowSquareStyle = depth => ({
223
+ position: "absolute",
224
+ height: depth === "1" ? "94%" : "83%",
225
+ width: depth === "1" ? "100%" : "97%",
226
+ borderRadius: "4px",
227
+ transform: depth === "1" ? "skewX(-5deg)" : "skewX(-12deg)",
228
+ left: depth === "1" ? "2px" : "5px",
229
+ bottom: 0,
230
+ background: depth === "1" ? "linear-gradient(".concat(data.darkVibrant || "rgba(230,230,230,1)", ", rgba(0,0,0,0))") : "linear-gradient(".concat(data.darkVibrant || "rgba(180,180,180,1)", ", rgba(0,0,0,1))")
231
+ });
232
+
233
+ const secondButtonStyle = {
234
+ opacity: isHovered ? 1 : 0,
235
+ marginLeft: isHovered ? "5px" : "0px",
236
+ marginRight: isHovered ? "10px" : "15px",
237
+ padding: "5px",
238
+ transition: "opacity .4s ease-in-out, margin-left .4s ease-in-out, margin-right .4s ease-in-out"
239
+ };
240
+ const bookmarkIconStyle = {
241
+ width: "30px",
242
+ height: "30px",
243
+ color: "white.override",
244
+ position: "relative",
245
+ bottom: "1px"
246
+ };
247
+ return /*#__PURE__*/React__default["default"].createElement("div", {
248
+ style: masterContainerStyle,
249
+ onMouseEnter: () => setIsHovered(true),
250
+ onMouseLeave: () => setIsHovered(false)
251
+ }, !(collection !== null && collection !== void 0 && collection.owned) && /*#__PURE__*/React__default["default"].createElement("div", {
252
+ style: yellowHoverBorderStyle
253
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
254
+ onClick: e => {
255
+ e.stopPropagation();
256
+ if (handleClickBackground) handleClickBackground();
257
+ },
258
+ style: topBoxStyle
259
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
260
+ style: photoBackgroundStyle
261
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
262
+ style: blurBackgroundStyle
263
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
264
+ style: gradientBackgroundStyle
265
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
266
+ style: interactionBoxStyle
267
+ }, /*#__PURE__*/React__default["default"].createElement(index.Stack, {
268
+ direction: "row",
269
+ justifyContent: "flex-start",
270
+ alignItems: "center",
271
+ sx: {
272
+ position: "relative",
273
+ width: "calc(100% - 180px)",
274
+ left: "2px"
275
+ }
276
+ }, /*#__PURE__*/React__default["default"].createElement(index.Box, {
277
+ sx: {
278
+ position: "relative",
279
+ borderRadius: "4px",
280
+ cursor: "pointer",
281
+ width: sizeParams.saveBoxSize,
282
+ height: sizeParams.saveBoxSize
283
+ },
284
+ onClick: e => {
285
+ e.stopPropagation(); // Handle save logic
286
+ }
287
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
288
+ style: saveBoxTopStyle
289
+ }, /*#__PURE__*/React__default["default"].createElement(index.Box, {
290
+ sx: {
291
+ position: "absolute",
292
+ top: 0,
293
+ bottom: 0,
294
+ left: 0,
295
+ right: 0,
296
+ borderRadius: "4px",
297
+ background: "linear-gradient(rgba(0,0,0,0), #000000)"
298
+ }
299
+ }), collection !== null && collection !== void 0 && collection.saved ? /*#__PURE__*/React__default["default"].createElement(Icon, {
300
+ path: paths.bookmark,
301
+ sx: bookmarkIconStyle,
302
+ size: "30px"
303
+ }) : /*#__PURE__*/React__default["default"].createElement(Icon, {
304
+ path: paths.bookmarkAdd,
305
+ sx: bookmarkIconStyle,
306
+ size: "30px"
307
+ })), !(collection !== null && collection !== void 0 && collection.owned) && /*#__PURE__*/React__default["default"].createElement("div", {
308
+ style: getSaveBoxShadowSquareStyle("2")
309
+ }), !(collection !== null && collection !== void 0 && collection.owned) && /*#__PURE__*/React__default["default"].createElement("div", {
310
+ style: getSaveBoxShadowSquareStyle("1")
311
+ })), isLinkTitle ? /*#__PURE__*/React__default["default"].createElement("a", {
312
+ href: "/sound-collection/".concat(collection._id),
313
+ style: {
314
+ textDecoration: "none",
315
+ width: "calc(95% - ".concat(sizeParams.saveBoxSize, ")"),
316
+ position: "relative",
317
+ left: "12px"
318
+ }
319
+ }, /*#__PURE__*/React__default["default"].createElement(index.Text, {
320
+ textAlign: "left",
321
+ fontSize: sizeParams.fontSize,
322
+ noWrap: true,
323
+ color: collection !== null && collection !== void 0 && collection.image ? "white.override" : "notBlack",
324
+ sx: {
325
+ ":hover": {
326
+ textDecoration: handleClickTitle ? "underline" : "none"
277
327
  },
278
- onClick: e => {
279
- console.log("handle non-linkTitle click here");
328
+ "@media (max-width: 600px)": {
329
+ maxWidth: "133px"
280
330
  }
281
- }, collection.title)), /*#__PURE__*/React__default['default'].createElement(index.Stack, {
282
- direction: "row",
283
- justifyContent: "flex-end",
284
- alignItems: "center",
285
- sx: {
286
- height: "70%"
287
- }
288
- }, primaryActionButton ? primaryActionButton : /*#__PURE__*/React__default['default'].createElement(index.Stack, {
289
- direction: "row",
290
- justifyContent: "space-around",
291
- alignItems: "center",
292
- sx: {
293
- height: "100%",
294
- width: "102px",
295
- position: "relative"
296
- }
297
- }, /*#__PURE__*/React__default['default'].createElement(index.Stack, {
298
- sx: {
299
- borderRadius: "20px",
300
- position: "absolute",
301
- top: "0",
302
- bottom: "0",
303
- left: "0",
304
- right: "0",
305
- backgroundColor: "notBlack.main",
306
- opacity: ".5"
307
- }
308
- }), /*#__PURE__*/React__default['default'].createElement(Icons.DiamondIcon, {
309
- sx: {
310
- opacity: "1",
311
- zIndex: "2",
312
- color: "white.override",
313
- height: "18px"
314
- }
315
- }), /*#__PURE__*/React__default['default'].createElement(index.Text, {
316
- sx: {
317
- zIndex: "2",
318
- color: "white.override",
319
- fontWeight: "lighter",
320
- fontSize: "14px",
321
- cursor: "default",
322
- position: "relative",
323
- right: !(collection !== null && collection !== void 0 && collection.owned) ? "-2px" : "6px"
324
- }
325
- }, "Premium"), !(collection !== null && collection !== void 0 && collection.owned) && /*#__PURE__*/React__default['default'].createElement(LockRoundedIcon__default['default'], {
326
- sx: {
327
- zIndex: "2",
328
- color: "white.override",
329
- height: "14px"
331
+ },
332
+ onClick: e => {
333
+ if (handleClickTitle) {
334
+ e.stopPropagation();
335
+ handleClickTitle();
330
336
  }
331
- })), secondaryActionButton || /*#__PURE__*/React__default['default'].createElement(index.IconButton, {
332
- id: "second-button",
333
- onClick: e => {
334
- console.log("handle secondary button click here");
337
+ }
338
+ }, collection.title)) : /*#__PURE__*/React__default["default"].createElement(index.Text, {
339
+ textAlign: "left",
340
+ fontSize: sizeParams.fontSize,
341
+ noWrap: true,
342
+ color: collection !== null && collection !== void 0 && collection.image ? "white.override" : "notBlack",
343
+ sx: {
344
+ position: "relative",
345
+ left: "12px",
346
+ ":hover": {
347
+ textDecoration: "none"
335
348
  },
336
- sx: {
337
- padding: "5px",
338
- transition: "opacity .4s ease-in-out, margin-left .4s ease-in-out, margin-right .4s ease-in-out",
339
- "&:hover": {
340
- backgroundColor: "grey6.main"
341
- }
349
+ "@media (max-width: 600px)": {
350
+ maxWidth: "133px"
342
351
  }
343
- }, /*#__PURE__*/React__default['default'].createElement(index.Stack, {
344
- sx: {
345
- borderRadius: "20px",
346
- position: "absolute",
347
- top: "0",
348
- bottom: "0",
349
- left: "0",
350
- right: "0",
351
- backgroundColor: "notBlack.main",
352
- opacity: ".5"
353
- }
354
- }), /*#__PURE__*/React__default['default'].createElement(KeyboardArrowRightRoundedIcon__default['default'], {
355
- sx: {
356
- zIndex: "2",
357
- color: "white.override"
352
+ }
353
+ }, collection.title)), /*#__PURE__*/React__default["default"].createElement(index.Stack, {
354
+ direction: "row",
355
+ justifyContent: "flex-end",
356
+ alignItems: "center",
357
+ sx: {
358
+ height: "70%"
359
+ }
360
+ }, primaryActionButton ? primaryActionButton : /*#__PURE__*/React__default["default"].createElement(index.Stack, {
361
+ direction: "row",
362
+ justifyContent: "space-around",
363
+ alignItems: "center",
364
+ sx: {
365
+ height: "100%",
366
+ width: "102px",
367
+ position: "relative"
368
+ }
369
+ }, /*#__PURE__*/React__default["default"].createElement(index.Stack, {
370
+ sx: {
371
+ borderRadius: "20px",
372
+ position: "absolute",
373
+ top: 0,
374
+ bottom: 0,
375
+ left: 0,
376
+ right: 0,
377
+ backgroundColor: "notBlack.main",
378
+ opacity: ".5"
379
+ }
380
+ }), /*#__PURE__*/React__default["default"].createElement(Icons.DiamondIcon, {
381
+ sx: {
382
+ opacity: "1",
383
+ zIndex: "2",
384
+ color: "white.override",
385
+ height: "18px"
386
+ }
387
+ }), /*#__PURE__*/React__default["default"].createElement(index.Text, {
388
+ sx: {
389
+ zIndex: "2",
390
+ color: "white.override",
391
+ fontWeight: "lighter",
392
+ fontSize: "14px",
393
+ cursor: "default",
394
+ position: "relative",
395
+ right: !(collection !== null && collection !== void 0 && collection.owned) ? "-2px" : "6px"
396
+ }
397
+ }, "Premium"), !(collection !== null && collection !== void 0 && collection.owned) && /*#__PURE__*/React__default["default"].createElement(Icon, {
398
+ path: paths.lock,
399
+ size: "14px",
400
+ sx: {
401
+ zIndex: "2",
402
+ color: "white.override"
403
+ }
404
+ })), secondaryActionButton || /*#__PURE__*/React__default["default"].createElement(index.IconButton, {
405
+ onClick: e => {
406
+ e.stopPropagation();
407
+ },
408
+ sx: _objectSpread(_objectSpread({}, secondButtonStyle), {}, {
409
+ "&:hover": {
410
+ backgroundColor: "grey6.main"
358
411
  }
359
- }))))), (collection === null || collection === void 0 ? void 0 : collection.owned) && /*#__PURE__*/React__default['default'].createElement(MidBox, {
360
- id: "mid-box"
361
- }), (collection === null || collection === void 0 ? void 0 : collection.owned) && /*#__PURE__*/React__default['default'].createElement(BackBox, {
362
- id: "back-box"
363
- }), extraInfoComponent && extraInfoComponent)
364
- );
412
+ })
413
+ }, /*#__PURE__*/React__default["default"].createElement(index.Stack, {
414
+ sx: {
415
+ borderRadius: "20px",
416
+ position: "absolute",
417
+ top: 0,
418
+ bottom: 0,
419
+ left: 0,
420
+ right: 0,
421
+ backgroundColor: "notBlack.main",
422
+ opacity: ".5"
423
+ }
424
+ }), /*#__PURE__*/React__default["default"].createElement(Icon, {
425
+ path: paths.arrowRight,
426
+ size: "24px",
427
+ sx: {
428
+ zIndex: "2",
429
+ color: "white.override"
430
+ }
431
+ }))))), (collection === null || collection === void 0 ? void 0 : collection.owned) && /*#__PURE__*/React__default["default"].createElement("div", {
432
+ style: midBoxStyle
433
+ }), (collection === null || collection === void 0 ? void 0 : collection.owned) && /*#__PURE__*/React__default["default"].createElement("div", {
434
+ style: backBoxStyle
435
+ }), extraInfoComponent && extraInfoComponent);
365
436
  };
366
437
 
367
438
  exports.CollectionListViewPremium = CollectionListViewPremium;
368
- exports.default = CollectionListViewPremium;
439
+ exports["default"] = CollectionListViewPremium;