@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
@@ -1,19 +1,50 @@
1
- import _taggedTemplateLiteral from '@babel/runtime/helpers/taggedTemplateLiteral';
2
- import { PauseCircleOutlineRounded } from '@mui/icons-material';
3
- import BookmarkOutlinedIcon from '@mui/icons-material/BookmarkOutlined';
4
- import LockRoundedIcon from '@mui/icons-material/LockRounded';
1
+ import _extends from '@babel/runtime/helpers/extends';
2
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
5
4
  import React, { useState } from 'react';
6
- import styled from 'styled-components';
7
- import { Stack, Text, Tooltip } from '../index.js';
5
+ import { Stack, Box, Text, Tooltip } from '../index.js';
6
+ import { useBlerpTheme } from '../Theme.js';
8
7
  import { PlayOutlineIcon, OpenLockIcon, BookmarkAddRounded } from '../Icons/Icons.js';
9
8
 
10
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
11
- const BlerpImage = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n height: 150px;\n width: 150px;\n background-image: url(", ");\n background-size: cover;\n border-radius: 50%;\n position: relative;\n transition: 0.2s;\n\n &:hover {\n transform: scale(1.1);\n }\n"])), props => props.url);
12
- const SaveContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n right: 0;\n width: 20px;\n height: 20px;\n opacity: 1;\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\n &:hover {\n background-color: ", ";\n }\n\n &:hover svg {\n color: ", ";\n }\n"])), props => props.theme.colors.whiteOverride, props => props.isLocked ? "".concat(props.theme.colors.seafoam) : props.isPremium ? "".concat(props.theme.colors.starling) : "".concat(props.theme.colors.seafoam), props => props.theme.colors.white);
13
- const BlerpImageScrim = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n height: 150px;\n width: 150px;\n background-color: ", "70;\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 50%;\n transition: 0.4s;\n\n &:hover {\n background-color: ", "98;\n }\n\n &:hover ", " {\n opacity: 1;\n }\n"])), props => props.theme.colors.grey6Override, props => props.theme.colors.grey6Override, SaveContainer);
14
- const BlerpImageScrimPrivate = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n height: 150px;\n width: 150px;\n background-color: ", "70;\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 50%;\n transition: 0.4s;\n\n &:hover {\n background-color: ", "98;\n }\n\n &:hover ", " {\n opacity: 1;\n }\n\n &:hover p {\n display: block;\n }\n &:hover svg {\n display: none;\n }\n"])), props => props.theme.colors.grey3, props => props.theme.colors.grey3, SaveContainer);
9
+ const _excluded = ["path", "sx", "size"];
15
10
 
16
- const BlerpImageRow = _ref => {
11
+ 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; }
12
+
13
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
14
+
15
+ const Icon = _ref => {
16
+ let {
17
+ path,
18
+ sx,
19
+ size = "24px"
20
+ } = _ref,
21
+ props = _objectWithoutProperties(_ref, _excluded);
22
+
23
+ return /*#__PURE__*/React.createElement(Box, _extends({
24
+ component: "svg",
25
+ viewBox: "0 0 24 24",
26
+ width: size,
27
+ height: size,
28
+ fill: "currentColor",
29
+ sx: _objectSpread({
30
+ display: "inline-block",
31
+ flexShrink: 0
32
+ }, sx)
33
+ }, props), /*#__PURE__*/React.createElement("path", {
34
+ d: path
35
+ }));
36
+ };
37
+
38
+ const paths = {
39
+ // LockRounded
40
+ 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",
41
+ // PauseCircleOutlineRounded
42
+ pauseCircle: "M13 16h-2V8h2v8zm3-12c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6z",
43
+ // BookmarkOutlined
44
+ bookmark: "M17 3H7c-1.1 0-2 .9-2 2v16l7-3 7 3V5c0-1.1-.9-2-2-2z"
45
+ };
46
+
47
+ const BlerpImageRow = _ref2 => {
17
48
  var _bite$image, _bite$image$original, _bite$image2, _bite$image2$original, _bite$giphy;
18
49
 
19
50
  let {
@@ -29,23 +60,47 @@ const BlerpImageRow = _ref => {
29
60
  handleClickLock,
30
61
  setOpenSave,
31
62
  sizeParams
32
- } = _ref;
63
+ } = _ref2;
33
64
  const [actionButtonHovered, setActionButtonHovered] = useState(false);
65
+ const theme = useBlerpTheme();
34
66
 
35
67
  if (bite.visibility === "PRIVATE" && !isOwner) {
36
68
  return /*#__PURE__*/React.createElement(Stack, {
37
69
  direction: "row",
38
70
  marginTop: sizeParams.buttonSize === "small" && "28px"
39
- }, /*#__PURE__*/React.createElement(BlerpImage, {
40
- style: {
71
+ }, /*#__PURE__*/React.createElement(Box, {
72
+ sx: {
73
+ height: sizeParams.imageSize,
41
74
  width: sizeParams.imageSize,
42
- height: sizeParams.imageSize
75
+ backgroundSize: "cover",
76
+ borderRadius: "50%",
77
+ position: "relative",
78
+ transition: "0.2s",
79
+ "&:hover": {
80
+ transform: "scale(1.1)"
81
+ }
43
82
  }
44
- }, /*#__PURE__*/React.createElement(BlerpImageScrimPrivate, {
83
+ }, /*#__PURE__*/React.createElement(Box, {
45
84
  id: "blerp-image-scrim-private",
46
- style: {
85
+ sx: {
86
+ height: sizeParams.imageSize,
47
87
  width: sizeParams.imageSize,
48
- height: sizeParams.imageSize
88
+ backgroundColor: "".concat(theme.colors.grey3, "70"),
89
+ position: "absolute",
90
+ display: "flex",
91
+ justifyContent: "center",
92
+ alignItems: "center",
93
+ borderRadius: "50%",
94
+ transition: "0.4s",
95
+ "&:hover": {
96
+ backgroundColor: "".concat(theme.colors.grey3, "98")
97
+ },
98
+ "&:hover p": {
99
+ display: "block"
100
+ },
101
+ "&:hover svg": {
102
+ display: "none"
103
+ }
49
104
  }
50
105
  }, /*#__PURE__*/React.createElement(Text, {
51
106
  sx: {
@@ -55,9 +110,10 @@ const BlerpImageRow = _ref => {
55
110
  lineHeight: "20px",
56
111
  textAlign: "center"
57
112
  }
58
- }, "No longer avaliable"), /*#__PURE__*/React.createElement(LockRoundedIcon, {
113
+ }, "No longer avaliable"), /*#__PURE__*/React.createElement(Icon, {
114
+ path: paths.lock,
115
+ size: "25px",
59
116
  sx: {
60
- fontSize: "25px",
61
117
  color: "white.override"
62
118
  }
63
119
  }))));
@@ -66,22 +122,43 @@ const BlerpImageRow = _ref => {
66
122
  return /*#__PURE__*/React.createElement(Stack, {
67
123
  direction: "row",
68
124
  marginTop: sizeParams.buttonSize === "small" && "28px"
69
- }, /*#__PURE__*/React.createElement(BlerpImage, {
70
- style: {
125
+ }, /*#__PURE__*/React.createElement(Box, {
126
+ sx: {
127
+ height: sizeParams.imageSize,
71
128
  width: sizeParams.imageSize,
72
- height: sizeParams.imageSize
73
- },
74
- url: (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.local) || (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) || (bite === null || bite === void 0 ? void 0 : (_bite$giphy = bite.giphy) === null || _bite$giphy === void 0 ? void 0 : _bite$giphy.gif)
75
- }, /*#__PURE__*/React.createElement(BlerpImageScrim, {
76
- style: {
129
+ backgroundImage: "url(".concat((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.local) || (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) || (bite === null || bite === void 0 ? void 0 : (_bite$giphy = bite.giphy) === null || _bite$giphy === void 0 ? void 0 : _bite$giphy.gif), ")"),
130
+ backgroundSize: "cover",
131
+ borderRadius: "50%",
132
+ position: "relative",
133
+ transition: "0.2s",
134
+ "&:hover": {
135
+ transform: "scale(1.1)"
136
+ }
137
+ }
138
+ }, /*#__PURE__*/React.createElement(Box, {
139
+ onClick: () => handleClickPlay(),
140
+ sx: {
141
+ height: sizeParams.imageSize,
77
142
  width: sizeParams.imageSize,
78
- height: sizeParams.imageSize
79
- },
80
- onClick: () => handleClickPlay()
81
- }, playingState === "playing" ? /*#__PURE__*/React.createElement(PauseCircleOutlineRounded, {
143
+ backgroundColor: "".concat(theme.colors.grey6Override, "70"),
144
+ position: "absolute",
145
+ display: "flex",
146
+ justifyContent: "center",
147
+ alignItems: "center",
148
+ borderRadius: "50%",
149
+ transition: "0.4s",
150
+ cursor: "pointer",
151
+ "&:hover": {
152
+ backgroundColor: "".concat(theme.colors.grey6Override, "98")
153
+ },
154
+ "&:hover .save-container": {
155
+ opacity: 1
156
+ }
157
+ }
158
+ }, playingState === "playing" ? /*#__PURE__*/React.createElement(Icon, {
159
+ path: paths.pauseCircle,
160
+ size: "50px",
82
161
  sx: {
83
- width: "50px",
84
- height: "50px",
85
162
  color: "white.override"
86
163
  }
87
164
  }) : /*#__PURE__*/React.createElement(PlayOutlineIcon, {
@@ -90,15 +167,35 @@ const BlerpImageRow = _ref => {
90
167
  height: "40px",
91
168
  color: "white.override"
92
169
  }
93
- }), isPremium && isLocked ? /*#__PURE__*/React.createElement(SaveContainer, {
94
- isPremium: isPremium,
95
- isLocked: isLocked,
170
+ }), isPremium && isLocked ? /*#__PURE__*/React.createElement(Box, {
171
+ className: "save-container",
96
172
  onClick: e => {
97
173
  e.stopPropagation();
98
174
  handleClickLock();
99
175
  },
100
176
  onMouseEnter: () => setActionButtonHovered(true),
101
- onMouseLeave: () => setActionButtonHovered(false)
177
+ onMouseLeave: () => setActionButtonHovered(false),
178
+ sx: {
179
+ position: "absolute",
180
+ top: 0,
181
+ right: 0,
182
+ width: "20px",
183
+ height: "20px",
184
+ opacity: 1,
185
+ borderRadius: "50%",
186
+ display: "flex",
187
+ justifyContent: "center",
188
+ alignItems: "center",
189
+ padding: "5px",
190
+ transition: "0.3s",
191
+ backgroundColor: theme.colors.whiteOverride,
192
+ "&:hover": {
193
+ backgroundColor: theme.colors.seafoam
194
+ },
195
+ "&:hover svg": {
196
+ color: theme.colors.white
197
+ }
198
+ }
102
199
  }, /*#__PURE__*/React.createElement(Stack, {
103
200
  sx: {
104
201
  position: "relative",
@@ -117,14 +214,14 @@ const BlerpImageRow = _ref => {
117
214
  bottom: "1px",
118
215
  left: "1px"
119
216
  }
120
- }) : /*#__PURE__*/React.createElement(LockRoundedIcon, {
217
+ }) : /*#__PURE__*/React.createElement(Icon, {
218
+ path: paths.lock,
219
+ size: "16px",
121
220
  sx: {
122
- fontSize: "16px",
123
221
  color: "notBlack.override"
124
222
  }
125
- })))) : /*#__PURE__*/React.createElement(React.Fragment, null, primaryActionButton ? primaryActionButton : /*#__PURE__*/React.createElement(SaveContainer, {
126
- isPremium: isPremium,
127
- isLocked: isLocked,
223
+ })))) : /*#__PURE__*/React.createElement(React.Fragment, null, primaryActionButton ? primaryActionButton : /*#__PURE__*/React.createElement(Box, {
224
+ className: "save-container",
128
225
  onClick: e => {
129
226
  e.stopPropagation();
130
227
 
@@ -135,6 +232,27 @@ const BlerpImageRow = _ref => {
135
232
  !(bite !== null && bite !== void 0 && bite.saved) && handleClickSave();
136
233
  setOpenSave(true);
137
234
  }
235
+ },
236
+ sx: {
237
+ position: "absolute",
238
+ top: 0,
239
+ right: 0,
240
+ width: "20px",
241
+ height: "20px",
242
+ opacity: 1,
243
+ borderRadius: "50%",
244
+ display: "flex",
245
+ justifyContent: "center",
246
+ alignItems: "center",
247
+ padding: "5px",
248
+ transition: "0.3s",
249
+ backgroundColor: theme.colors.whiteOverride,
250
+ "&:hover": {
251
+ backgroundColor: isPremium ? theme.colors.starling : theme.colors.seafoam
252
+ },
253
+ "&:hover svg": {
254
+ color: theme.colors.white
255
+ }
138
256
  }
139
257
  }, /*#__PURE__*/React.createElement(Stack, {
140
258
  sx: {
@@ -147,11 +265,13 @@ const BlerpImageRow = _ref => {
147
265
  color: "white.override"
148
266
  }
149
267
  }
150
- }, bite !== null && bite !== void 0 && bite.saved ? /*#__PURE__*/React.createElement(BookmarkOutlinedIcon, {
268
+ }, bite !== null && bite !== void 0 && bite.saved ? /*#__PURE__*/React.createElement(Icon, {
269
+ path: paths.bookmark,
270
+ size: "18px",
151
271
  sx: {
152
- fontSize: "18px"
272
+ color: "inherit"
153
273
  }
154
274
  }) : /*#__PURE__*/React.createElement(BookmarkAddRounded, null)))))));
155
275
  };
156
276
 
157
- export default BlerpImageRow;
277
+ export { BlerpImageRow as default };
@@ -1,13 +1,19 @@
1
- import _taggedTemplateLiteral from '@babel/runtime/helpers/taggedTemplateLiteral';
2
- import BookmarkRemoveOutlinedIcon from '@mui/icons-material/BookmarkRemoveOutlined';
3
- import CloseRoundedIcon from '@mui/icons-material/CloseRounded';
4
1
  import React from 'react';
5
- import styled from 'styled-components';
6
- import { reactionIconUrls } from '../Blerp.js';
7
- import { Popover, Grid, Tooltip, Stack, Button } from '../index.js';
2
+ import { Popover, Grid, Tooltip, Box, Stack, Button } from '../index.js';
3
+ import { useBlerpTheme } from '../Theme.js';
8
4
 
9
- var _templateObject;
10
- const ReactionButton = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n border-radius: 50%;\n width: 30px;\n height: 30px;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 8px;\n transition: 0.2s;\n margin-right: 0;\n cursor: pointer;\n background-color: ", ";\n\n &:hover {\n background-color: ", ";\n }\n"])), props => props.active ? props.theme.colors.ibisRed : props.theme.colors.grey5Override, props => props.theme.colors.ibisRed);
5
+ const reactionIconUrls = {
6
+ FUNNY: "https://cdn.blerp.com/blerp_products/Icons/Funny%403x.svg",
7
+ MUSIC: "https://cdn.blerp.com/blerp_products/Icons/Music%403x.svg",
8
+ NSFW: "https://cdn.blerp.com/blerp_products/Icons/NSFW%403x.svg",
9
+ SAD: "https://cdn.blerp.com/blerp_products/Icons/Sad.svg",
10
+ SCARY: "https://cdn.blerp.com/blerp_products/Icons/Scary%403x.svg",
11
+ ANGRY: "https://cdn.blerp.com/blerp_products/Icons/Anger%403x.svg",
12
+ HAPPY: "https://cdn.blerp.com/blerp_products/Icons/Happy%403x.svg",
13
+ TROLL: "https://cdn.blerp.com/blerp_products/Icons/Troll%403x.svg",
14
+ SHOCKED: "https://cdn.blerp.com/blerp_products/Icons/Shock.svg",
15
+ LOVE: "https://cdn.blerp.com/blerp_products/Icons/Heart%403x.svg"
16
+ };
11
17
 
12
18
  const BlerpSavePopup = _ref => {
13
19
  let {
@@ -22,6 +28,7 @@ const BlerpSavePopup = _ref => {
22
28
  organizeButton,
23
29
  anchorRef
24
30
  } = _ref;
31
+ const theme = useBlerpTheme();
25
32
  return /*#__PURE__*/React.createElement(Popover, {
26
33
  open: openSave,
27
34
  onClose: () => setOpenSave(false),
@@ -47,17 +54,7 @@ const BlerpSavePopup = _ref => {
47
54
  vertical: "center",
48
55
  horizontal: "center"
49
56
  }
50
- }, /*#__PURE__*/React.createElement(CloseRoundedIcon, {
51
- onClick: () => {
52
- setOpenSave(false);
53
- },
54
- sx: {
55
- color: "white.override",
56
- position: "absolute",
57
- top: "0",
58
- right: "0"
59
- }
60
- }), /*#__PURE__*/React.createElement(Grid, {
57
+ }, /*#__PURE__*/React.createElement(Grid, {
61
58
  display: "grid",
62
59
  gridTemplateColumns: "repeat(5, 1fr)",
63
60
  alignItems: "center",
@@ -66,6 +63,7 @@ const BlerpSavePopup = _ref => {
66
63
  }, Object.keys(reactionIconUrls).map(reaction => {
67
64
  var _bite$userReactions;
68
65
 
66
+ const isActive = bite === null || bite === void 0 ? void 0 : (_bite$userReactions = bite.userReactions) === null || _bite$userReactions === void 0 ? void 0 : _bite$userReactions.reactions.includes(reaction);
69
67
  return /*#__PURE__*/React.createElement(Grid, {
70
68
  key: "".concat(reaction, "-button"),
71
69
  gridColumn: "span 1",
@@ -73,19 +71,29 @@ const BlerpSavePopup = _ref => {
73
71
  justifyContent: "center"
74
72
  }, /*#__PURE__*/React.createElement(Tooltip, {
75
73
  title: reaction
76
- }, /*#__PURE__*/React.createElement(ReactionButton, {
77
- active: bite === null || bite === void 0 ? void 0 : (_bite$userReactions = bite.userReactions) === null || _bite$userReactions === void 0 ? void 0 : _bite$userReactions.reactions.includes(reaction),
78
- style: {
79
- padding: sizeParams === null || sizeParams === void 0 ? void 0 : sizeParams.reactionPadding,
80
- width: sizeParams === null || sizeParams === void 0 ? void 0 : sizeParams.reactionSize,
81
- height: sizeParams === null || sizeParams === void 0 ? void 0 : sizeParams.reactionSize
82
- },
74
+ }, /*#__PURE__*/React.createElement(Box, {
83
75
  onClick: () => {
84
76
  var _bite$userReactions2;
85
77
 
86
78
  let isRemove = bite === null || bite === void 0 ? void 0 : (_bite$userReactions2 = bite.userReactions) === null || _bite$userReactions2 === void 0 ? void 0 : _bite$userReactions2.reactions.includes(reaction);
87
79
  handleClickReaction(reaction, isRemove);
88
80
  setOpenSave(false);
81
+ },
82
+ sx: {
83
+ borderRadius: "50%",
84
+ width: (sizeParams === null || sizeParams === void 0 ? void 0 : sizeParams.reactionSize) || "30px",
85
+ height: (sizeParams === null || sizeParams === void 0 ? void 0 : sizeParams.reactionSize) || "30px",
86
+ display: "flex",
87
+ justifyContent: "center",
88
+ alignItems: "center",
89
+ padding: (sizeParams === null || sizeParams === void 0 ? void 0 : sizeParams.reactionPadding) || "8px",
90
+ transition: "0.2s",
91
+ marginRight: 0,
92
+ cursor: "pointer",
93
+ backgroundColor: isActive ? theme.colors.ibisRed : theme.colors.grey5Override,
94
+ "&:hover": {
95
+ backgroundColor: theme.colors.ibisRed
96
+ }
89
97
  }
90
98
  }, /*#__PURE__*/React.createElement("img", {
91
99
  alt: "reaction-".concat(reaction),
@@ -144,4 +152,4 @@ const BlerpSavePopup = _ref => {
144
152
  }, "Organize")));
145
153
  };
146
154
 
147
- export default BlerpSavePopup;
155
+ export { BlerpSavePopup as default };
@@ -1,10 +1,5 @@
1
- import _taggedTemplateLiteral from '@babel/runtime/helpers/taggedTemplateLiteral';
2
1
  import React from 'react';
3
- import styled from 'styled-components';
4
- import { Stack, Text } from '../index.js';
5
-
6
- var _templateObject;
7
- const LineClamp = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n margin: 0;\n text-overflow: ellipsis;\n overflow: hidden;\n"])));
2
+ import { Stack, Box, Text } from '../index.js';
8
3
 
9
4
  const BlerpTitleRow = _ref => {
10
5
  let {
@@ -29,17 +24,25 @@ const BlerpTitleRow = _ref => {
29
24
  justifyContent: "center",
30
25
  margin: "auto"
31
26
  }
32
- }, /*#__PURE__*/React.createElement(LineClamp, {
27
+ }, /*#__PURE__*/React.createElement(Box, {
33
28
  onClick: e => {
34
29
  if (handleClickTitle) {
35
30
  e.stopPropagation();
36
31
  handleClickTitle();
37
32
  }
33
+ },
34
+ sx: {
35
+ display: "-webkit-box",
36
+ WebkitLineClamp: "2",
37
+ WebkitBoxOrient: "vertical",
38
+ margin: 0,
39
+ textOverflow: "ellipsis",
40
+ overflow: "hidden"
38
41
  }
39
42
  }, /*#__PURE__*/React.createElement(Text, {
40
43
  textAlign: "center",
41
44
  fontSize: sizeParams.fontSize,
42
- color: isPremium && !isLocked ? "white.main" : "notBlack.main",
45
+ color: isPremium && !isLocked ? "white.override" : "white.override",
43
46
  sx: {
44
47
  ":hover": {
45
48
  textDecoration: handleClickTitle ? "underline" : "none"
@@ -61,12 +64,20 @@ const BlerpTitleRow = _ref => {
61
64
  justifyContent: "center",
62
65
  margin: "auto"
63
66
  }
64
- }, isLinkTitle ? /*#__PURE__*/React.createElement(LineClamp, {
67
+ }, isLinkTitle ? /*#__PURE__*/React.createElement(Box, {
65
68
  onClick: e => {
66
69
  if (handleClickTitle) {
67
70
  e.stopPropagation();
68
71
  handleClickTitle();
69
72
  }
73
+ },
74
+ sx: {
75
+ display: "-webkit-box",
76
+ WebkitLineClamp: "2",
77
+ WebkitBoxOrient: "vertical",
78
+ margin: 0,
79
+ textOverflow: "ellipsis",
80
+ overflow: "hidden"
70
81
  }
71
82
  }, /*#__PURE__*/React.createElement("a", {
72
83
  href: "/soundbites/".concat(bite._id),
@@ -76,7 +87,7 @@ const BlerpTitleRow = _ref => {
76
87
  }, /*#__PURE__*/React.createElement(Text, {
77
88
  textAlign: "center",
78
89
  fontSize: sizeParams.fontSize,
79
- color: isPremium ? "white.override" : "notBlack.main",
90
+ color: isPremium ? "white.override" : "white.override",
80
91
  sx: {
81
92
  ":hover": {
82
93
  textDecoration: handleClickTitle ? "underline" : "none"
@@ -84,17 +95,25 @@ const BlerpTitleRow = _ref => {
84
95
  textOverflow: "ellipsis"
85
96
  },
86
97
  lineHeight: sizeParams.buttonSize === "small" ? "16px" : "24px"
87
- }, title || bite.title))) : /*#__PURE__*/React.createElement(LineClamp, {
98
+ }, title || bite.title))) : /*#__PURE__*/React.createElement(Box, {
88
99
  onClick: e => {
89
100
  if (handleClickTitle) {
90
101
  e.stopPropagation();
91
102
  handleClickTitle();
92
103
  }
104
+ },
105
+ sx: {
106
+ display: "-webkit-box",
107
+ WebkitLineClamp: "2",
108
+ WebkitBoxOrient: "vertical",
109
+ margin: 0,
110
+ textOverflow: "ellipsis",
111
+ overflow: "hidden"
93
112
  }
94
113
  }, /*#__PURE__*/React.createElement(Text, {
95
114
  textAlign: "center",
96
115
  fontSize: sizeParams.fontSize,
97
- color: isPremium ? "white.override" : "notBlack.main",
116
+ color: isPremium ? "white.override" : "white.override",
98
117
  sx: {
99
118
  ":hover": {
100
119
  textDecoration: handleClickTitle ? "underline" : "none"
@@ -105,4 +124,4 @@ const BlerpTitleRow = _ref => {
105
124
  }, title || bite.title)));
106
125
  };
107
126
 
108
- export default BlerpTitleRow;
127
+ export { BlerpTitleRow as default };
@@ -1,13 +1,82 @@
1
- import LockRoundedIcon from '@mui/icons-material/LockRounded';
2
- import BookmarkOutlinedIcon from '@mui/icons-material/BookmarkOutlined';
3
- import MoreHorizRoundedIcon from '@mui/icons-material/MoreHorizRounded';
4
- import VisibilityOffRoundedIcon from '@mui/icons-material/VisibilityOffRounded';
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
5
2
  import React from 'react';
6
3
  import { reactionIconUrls } from '../Blerp.js';
7
4
  import { UnsafeIcon, BookmarkAddRounded, DiamondIcon, TwitchBitIcon, ChannelPointsIcon } from '../Icons/Icons.js';
8
5
  import { Stack, Text, Tooltip, IconButton } from '../index.js';
9
6
 
10
- const BlerpTopRow = _ref => {
7
+ 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; }
8
+
9
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
10
+
11
+ const IconLock = _ref => {
12
+ let {
13
+ sx = {}
14
+ } = _ref;
15
+ return /*#__PURE__*/React.createElement("svg", {
16
+ width: "1em",
17
+ height: "1em",
18
+ viewBox: "0 0 24 24",
19
+ fill: "currentColor",
20
+ style: _objectSpread({
21
+ fontSize: sx.fontSize || "24px"
22
+ }, sx)
23
+ }, /*#__PURE__*/React.createElement("path", {
24
+ d: "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-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z"
25
+ }));
26
+ };
27
+
28
+ const IconBookmarkFilled = _ref2 => {
29
+ let {
30
+ fontSize = "small",
31
+ sx = {}
32
+ } = _ref2;
33
+ const size = fontSize === "small" ? "20px" : "24px";
34
+ return /*#__PURE__*/React.createElement("svg", {
35
+ width: size,
36
+ height: size,
37
+ viewBox: "0 0 24 24",
38
+ fill: "currentColor",
39
+ style: sx
40
+ }, /*#__PURE__*/React.createElement("path", {
41
+ d: "M17 3H7c-1.1 0-2 .9-2 2v16l7-3 7 3V5c0-1.1-.9-2-2-2z"
42
+ }));
43
+ };
44
+
45
+ const IconMoreHoriz = _ref3 => {
46
+ let {
47
+ sx = {}
48
+ } = _ref3;
49
+ return /*#__PURE__*/React.createElement("svg", {
50
+ width: "1em",
51
+ height: "1em",
52
+ viewBox: "0 0 24 24",
53
+ fill: "currentColor",
54
+ style: _objectSpread({
55
+ fontSize: "24px"
56
+ }, sx)
57
+ }, /*#__PURE__*/React.createElement("path", {
58
+ d: "M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"
59
+ }));
60
+ };
61
+
62
+ const IconVisibilityOff = _ref4 => {
63
+ let {
64
+ sx = {}
65
+ } = _ref4;
66
+ return /*#__PURE__*/React.createElement("svg", {
67
+ width: "1em",
68
+ height: "1em",
69
+ viewBox: "0 0 24 24",
70
+ fill: "currentColor",
71
+ style: _objectSpread({
72
+ fontSize: sx.fontSize || "24px"
73
+ }, sx)
74
+ }, /*#__PURE__*/React.createElement("path", {
75
+ d: "M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"
76
+ }));
77
+ };
78
+
79
+ const BlerpTopRow = _ref5 => {
11
80
  var _bite$topReactions, _bite$topReactions2, _bite$topReactions3;
12
81
 
13
82
  let {
@@ -22,7 +91,7 @@ const BlerpTopRow = _ref => {
22
91
  isLocked,
23
92
  isBlerpHovered,
24
93
  handleClickThreeDot
25
- } = _ref;
94
+ } = _ref5;
26
95
 
27
96
  function formatNumber(n) {
28
97
  var ranges = [{
@@ -50,8 +119,7 @@ const BlerpTopRow = _ref => {
50
119
  width: "100%",
51
120
  justifyContent: "space-between",
52
121
  alignItems: "center",
53
- height: bite.visibility !== "PRIVATE" || isOwner ? "30px" : "30px" // makes the top row absolute for small size only. Effictively, this spaces the blerp image beneath it correctly.
54
- ,
122
+ height: bite.visibility !== "PRIVATE" || isOwner ? "30px" : "30px",
55
123
  position: sizeParams.buttonSize === "small" && "absolute"
56
124
  }, (bite.visibility !== "PRIVATE" || isOwner) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, {
57
125
  fontSize: "12px",
@@ -122,7 +190,7 @@ const BlerpTopRow = _ref => {
122
190
  color: "notBlack.main",
123
191
  padding: "2px"
124
192
  }
125
- }, /*#__PURE__*/React.createElement(BookmarkOutlinedIcon, {
193
+ }, /*#__PURE__*/React.createElement(IconBookmarkFilled, {
126
194
  fontSize: "small"
127
195
  })) : /*#__PURE__*/React.createElement(IconButton, {
128
196
  onClick: e => {
@@ -152,7 +220,8 @@ const BlerpTopRow = _ref => {
152
220
  width: "40px",
153
221
  height: "20px"
154
222
  }, bite === null || bite === void 0 ? void 0 : (_bite$topReactions3 = bite.topReactions) === null || _bite$topReactions3 === void 0 ? void 0 : _bite$topReactions3.map((reaction, index) => /*#__PURE__*/React.createElement(Tooltip, {
155
- title: reaction
223
+ title: reaction,
224
+ key: index
156
225
  }, /*#__PURE__*/React.createElement("img", {
157
226
  alt: reaction,
158
227
  className: "reaction-icon-blrp",
@@ -206,17 +275,17 @@ const BlerpTopRow = _ref => {
206
275
  }
207
276
  }, bite.visibility === "UNLISTED" && /*#__PURE__*/React.createElement(Tooltip, {
208
277
  title: "Unlisted"
209
- }, /*#__PURE__*/React.createElement(VisibilityOffRoundedIcon, {
278
+ }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(IconVisibilityOff, {
210
279
  sx: {
211
280
  fontSize: "15px"
212
281
  }
213
- })), bite.visibility === "PRIVATE" && isOwner && /*#__PURE__*/React.createElement(Tooltip, {
282
+ }))), bite.visibility === "PRIVATE" && isOwner && /*#__PURE__*/React.createElement(Tooltip, {
214
283
  title: "Private"
215
- }, /*#__PURE__*/React.createElement(LockRoundedIcon, {
284
+ }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(IconLock, {
216
285
  sx: {
217
286
  fontSize: "15px"
218
287
  }
219
- }))), secondaryActionButton ? secondaryActionButton : /*#__PURE__*/React.createElement(React.Fragment, null, isBlerpHovered ? /*#__PURE__*/React.createElement(IconButton, {
288
+ })))), secondaryActionButton ? secondaryActionButton : /*#__PURE__*/React.createElement(React.Fragment, null, isBlerpHovered ? /*#__PURE__*/React.createElement(IconButton, {
220
289
  onClick: e => {
221
290
  handleClickThreeDot(e);
222
291
  },
@@ -230,7 +299,7 @@ const BlerpTopRow = _ref => {
230
299
  backgroundColor: "grey3.main"
231
300
  }
232
301
  }
233
- }, /*#__PURE__*/React.createElement(MoreHorizRoundedIcon, null)) : /*#__PURE__*/React.createElement(React.Fragment, null))));
302
+ }, /*#__PURE__*/React.createElement(IconMoreHoriz, null)) : /*#__PURE__*/React.createElement(React.Fragment, null))));
234
303
  };
235
304
 
236
- export default BlerpTopRow;
305
+ export { BlerpTopRow as default };