@blerp/design 1.2.74 → 1.2.76

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/dist/cjs/Blerp/BlerpImageRow.js +167 -0
  2. package/dist/cjs/Blerp/BlerpSavePopup.js +157 -0
  3. package/dist/cjs/Blerp/BlerpTitleRow.js +116 -0
  4. package/dist/cjs/Blerp/BlerpTopRow.js +246 -0
  5. package/dist/cjs/Blerp.js +239 -0
  6. package/dist/cjs/BlerpAudioContextProvider.js +141 -0
  7. package/dist/cjs/BlerpListView.js +357 -0
  8. package/dist/cjs/BlerpListViewPremium.js +404 -0
  9. package/dist/cjs/BlerpListViewSkeleton.js +27 -0
  10. package/dist/cjs/BlerpSkeleton.js +23 -0
  11. package/dist/cjs/CollectionCard.js +402 -0
  12. package/dist/cjs/CollectionListViewPremium.js +368 -0
  13. package/dist/cjs/CollectionSkeleton.js +28 -0
  14. package/dist/cjs/Dropdown.js +283 -0
  15. package/dist/cjs/EllipsisLoader.js +51 -0
  16. package/dist/cjs/GroupCard.js +172 -0
  17. package/dist/cjs/Icons/Icons.js +606 -0
  18. package/dist/cjs/ImageUploadModal.js +278 -0
  19. package/dist/cjs/Lotties/JiggleLock.json.js +2762 -0
  20. package/dist/cjs/Lotties/LottieAnimation.js +32 -0
  21. package/dist/cjs/NewBlerp.js +740 -0
  22. package/dist/cjs/NewBlerpTest.js +808 -0
  23. package/dist/cjs/NewCollectionModal.js +403 -0
  24. package/dist/cjs/PremiumCollectionCard.js +511 -0
  25. package/dist/cjs/PurchaseModals/CheckoutModal.js +39 -0
  26. package/dist/cjs/PurchaseModals/PremiumBlerpCheckoutModal.js +39 -0
  27. package/dist/cjs/PurchaseModals/PremiumCollectionCheckoutModal.js +39 -0
  28. package/dist/cjs/PurchaseModals/PremiumSubscriptionCheckoutModal.js +39 -0
  29. package/dist/cjs/ReactionButtons.js +65 -0
  30. package/dist/cjs/ScreenSizeHook.js +34 -0
  31. package/dist/cjs/SnackbarContextProvider.js +166 -0
  32. package/dist/cjs/Theme.js +255 -0
  33. package/dist/cjs/Toggle.js +59 -0
  34. package/dist/cjs/UserCard.js +141 -0
  35. package/dist/cjs/UserPage/LibraryControls.js +315 -0
  36. package/dist/cjs/UserPage/UserLibraryHeader.js +93 -0
  37. package/dist/cjs/UserPage/UserProfileHeader.js +283 -0
  38. package/dist/cjs/UsernameWithPopout.js +93 -0
  39. package/dist/cjs/colors.js +368 -0
  40. package/dist/cjs/icons.js +161 -0
  41. package/dist/cjs/index.js +449 -0
  42. package/dist/esm/Blerp/BlerpImageRow.js +157 -0
  43. package/dist/esm/Blerp/BlerpSavePopup.js +147 -0
  44. package/dist/esm/Blerp/BlerpTitleRow.js +108 -0
  45. package/dist/esm/Blerp/BlerpTopRow.js +236 -0
  46. package/dist/esm/Blerp.js +230 -0
  47. package/dist/esm/BlerpAudioContextProvider.js +132 -0
  48. package/dist/esm/BlerpListView.js +344 -0
  49. package/dist/esm/BlerpListViewPremium.js +391 -0
  50. package/dist/esm/BlerpListViewSkeleton.js +17 -0
  51. package/dist/esm/BlerpSkeleton.js +13 -0
  52. package/dist/esm/CollectionCard.js +392 -0
  53. package/dist/esm/CollectionListViewPremium.js +354 -0
  54. package/dist/esm/CollectionSkeleton.js +18 -0
  55. package/dist/esm/Dropdown.js +273 -0
  56. package/dist/esm/EllipsisLoader.js +41 -0
  57. package/dist/esm/GroupCard.js +162 -0
  58. package/dist/esm/Icons/Icons.js +571 -0
  59. package/dist/esm/ImageUploadModal.js +265 -0
  60. package/dist/esm/Lotties/JiggleLock.json.js +2747 -0
  61. package/dist/esm/Lotties/LottieAnimation.js +25 -0
  62. package/dist/esm/NewBlerp.js +719 -0
  63. package/dist/esm/NewBlerpTest.js +787 -0
  64. package/dist/esm/NewCollectionModal.js +391 -0
  65. package/dist/esm/PremiumCollectionCard.js +498 -0
  66. package/dist/esm/PurchaseModals/CheckoutModal.js +33 -0
  67. package/dist/esm/PurchaseModals/PremiumBlerpCheckoutModal.js +33 -0
  68. package/dist/esm/PurchaseModals/PremiumCollectionCheckoutModal.js +33 -0
  69. package/dist/esm/PurchaseModals/PremiumSubscriptionCheckoutModal.js +33 -0
  70. package/dist/esm/ReactionButtons.js +57 -0
  71. package/dist/esm/ScreenSizeHook.js +30 -0
  72. package/dist/esm/SnackbarContextProvider.js +154 -0
  73. package/dist/esm/Theme.js +246 -0
  74. package/dist/esm/Toggle.js +49 -0
  75. package/dist/esm/UserCard.js +133 -0
  76. package/dist/esm/UserPage/LibraryControls.js +301 -0
  77. package/dist/esm/UserPage/UserLibraryHeader.js +87 -0
  78. package/dist/esm/UserPage/UserProfileHeader.js +268 -0
  79. package/dist/esm/UsernameWithPopout.js +85 -0
  80. package/dist/esm/colors.js +360 -0
  81. package/dist/esm/icons.js +159 -0
  82. package/dist/esm/index.js +336 -0
  83. package/package.json +2 -1
@@ -0,0 +1,403 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
6
+ var CloseRoundedIcon = require('@mui/icons-material/CloseRounded');
7
+ var FileUploadRoundedIcon = require('@mui/icons-material/FileUploadRounded');
8
+ var React = require('react');
9
+ var styled = require('styled-components');
10
+ var ImageUploadModal = require('./ImageUploadModal.js');
11
+ var index = require('./index.js');
12
+ var ScreenSizeHook = require('./ScreenSizeHook.js');
13
+
14
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
+
16
+ var _taggedTemplateLiteral__default = /*#__PURE__*/_interopDefaultLegacy(_taggedTemplateLiteral);
17
+ var CloseRoundedIcon__default = /*#__PURE__*/_interopDefaultLegacy(CloseRoundedIcon);
18
+ var FileUploadRoundedIcon__default = /*#__PURE__*/_interopDefaultLegacy(FileUploadRoundedIcon);
19
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
21
+
22
+ var _templateObject;
23
+ styled__default['default'].div(_templateObject || (_templateObject = _taggedTemplateLiteral__default['default']([""])));
24
+ const NewCollectionModal = _ref => {
25
+ var _collectionToBeEdited, _collectionToBeEdited2, _collectionToBeEdited3;
26
+
27
+ let {
28
+ handleCollection,
29
+ deleteCollectionModal,
30
+ trigger,
31
+ collectionToBeEdited,
32
+ handleChangePremium,
33
+ onClose,
34
+ children,
35
+ isAdmin
36
+ } = _ref;
37
+ const [open, setopen] = React.useState(false);
38
+ const [imageFile, setImageFile] = React.useState(collectionToBeEdited === null || collectionToBeEdited === void 0 ? void 0 : (_collectionToBeEdited = collectionToBeEdited.image) === null || _collectionToBeEdited === void 0 ? void 0 : _collectionToBeEdited.original);
39
+ const [imageURL, setImageURL] = React.useState(collectionToBeEdited === null || collectionToBeEdited === void 0 ? void 0 : (_collectionToBeEdited2 = collectionToBeEdited.image) === null || _collectionToBeEdited2 === void 0 ? void 0 : (_collectionToBeEdited3 = _collectionToBeEdited2.original) === null || _collectionToBeEdited3 === void 0 ? void 0 : _collectionToBeEdited3.url);
40
+ const [titleInput, setTitleInput] = React.useState(collectionToBeEdited === null || collectionToBeEdited === void 0 ? void 0 : collectionToBeEdited.title);
41
+ const [descriptionInput, setDescriptionInput] = React.useState(collectionToBeEdited === null || collectionToBeEdited === void 0 ? void 0 : collectionToBeEdited.description);
42
+ const [visibility, setVisibility] = React.useState((collectionToBeEdited === null || collectionToBeEdited === void 0 ? void 0 : collectionToBeEdited.visibility) || "PUBLIC");
43
+ const [price, setPrice] = React.useState(collectionToBeEdited === null || collectionToBeEdited === void 0 ? void 0 : collectionToBeEdited.price);
44
+ const triggerRef = React.useRef();
45
+ const [editImage, setEditImage] = React.useState(false);
46
+ React.useState(false);
47
+ const size = ScreenSizeHook.useWindowSize();
48
+
49
+ const handleClose = () => {
50
+ setopen(false);
51
+
52
+ if (onClose) {
53
+ onClose();
54
+ }
55
+ };
56
+
57
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, trigger ? /*#__PURE__*/React.cloneElement(trigger, {
58
+ ref: triggerRef,
59
+ onClick: () => setopen(true)
60
+ }) : /*#__PURE__*/React__default['default'].createElement(index.Button, {
61
+ onClick: () => setopen(true),
62
+ color: "grey4",
63
+ sx: {
64
+ fontSize: "10px"
65
+ }
66
+ }, "Organize Collection"), /*#__PURE__*/React__default['default'].createElement(index.Modal, {
67
+ "aria-labelledby": "transition-modal-title",
68
+ "aria-describedby": "transition-modal-description",
69
+ open: open,
70
+ onClose: () => handleClose(),
71
+ closeAfterTransition: true
72
+ }, /*#__PURE__*/React__default['default'].createElement(index.Stack, {
73
+ sx: {
74
+ position: "absolute",
75
+ top: "50%",
76
+ left: "50%",
77
+ transform: "translate(-50%, -50%)",
78
+ width: 600,
79
+ height: 520,
80
+ overflowY: "auto",
81
+ bgcolor: "white.main",
82
+ border: "none",
83
+ boxShadow: 24,
84
+ borderRadius: "8px",
85
+ pt: 2,
86
+ px: 6,
87
+ pb: 3,
88
+ alignItems: "center",
89
+ justifyContent: "flex-start",
90
+ "@media(max-width: 600px)": {
91
+ height: "100vh",
92
+ width: "98vw"
93
+ }
94
+ }
95
+ }, /*#__PURE__*/React__default['default'].createElement(index.Modal, {
96
+ sx: {
97
+ backdropFilter: "blur(8px)",
98
+ overflow: "scroll"
99
+ },
100
+ open: editImage,
101
+ onClose: () => setEditImage(false),
102
+ "aria-labelledby": "image-update-modal",
103
+ "aria-describedby": "image-update-modal"
104
+ }, /*#__PURE__*/React__default['default'].createElement(index.Stack, {
105
+ sx: {
106
+ position: "absolute",
107
+ height: size.width > 600 ? 600 : "100%",
108
+ overflowY: "auto",
109
+ top: size.width > 600 ? "48%" : "0",
110
+ left: size.width > 600 ? "50%" : "0",
111
+ transform: size.width > 600 ? "translate(-50%, -50%)" : "0",
112
+ width: size.width > 600 ? 275 : "100vw",
113
+ minWidth: "320px",
114
+ bgcolor: "white.main",
115
+ boxShadow: 24,
116
+ borderRadius: size.width > 600 ? "8px" : "0",
117
+ p: size.width > 600 ? 4 : 0,
118
+ padding: size.width > 600 ? "16px 32px 32px" : "16px 0",
119
+ ":focus": {
120
+ border: "none",
121
+ outline: "none"
122
+ }
123
+ }
124
+ }, /*#__PURE__*/React__default['default'].createElement(ImageUploadModal, {
125
+ prevImage: collectionToBeEdited ? imageURL : undefined,
126
+ updateImage: newImage => {
127
+ setImageURL(URL.createObjectURL(newImage));
128
+ setImageFile(newImage);
129
+ },
130
+ width: "150px",
131
+ open: editImage,
132
+ onClose: () => setEditImage(false),
133
+ title: "Collection Image",
134
+ sizeInfo: "Minimum size is 64px X 64px",
135
+ isSquareImage: true
136
+ }))), /*#__PURE__*/React__default['default'].createElement(CloseRoundedIcon__default['default'], {
137
+ sx: {
138
+ color: "notBlack.main",
139
+ position: "absolute",
140
+ right: 10,
141
+ top: 10,
142
+ cursor: "pointer",
143
+ "@media(max-width: 600px)": {
144
+ right: 50,
145
+ top: 30
146
+ }
147
+ },
148
+ onClick: () => handleClose()
149
+ }), /*#__PURE__*/React__default['default'].createElement(index.Stack, {
150
+ sx: {
151
+ minWidth: "320px"
152
+ }
153
+ }, /*#__PURE__*/React__default['default'].createElement(index.Text, {
154
+ sx: {
155
+ alignSelf: size.width > 600 ? "flex-start" : "center"
156
+ },
157
+ fontSize: "40px",
158
+ margin: size.width > 600 ? "9px 0" : "24px 0 9px"
159
+ }, collectionToBeEdited ? "Edit" : "New", " Collection"), /*#__PURE__*/React__default['default'].createElement(index.Stack, {
160
+ direction: size.width > 600 ? "row" : "column",
161
+ sx: {
162
+ width: "100%",
163
+ marginTop: "8px",
164
+ minHeight: size.width > 600 ? "272px" : "470px",
165
+ justifyContent: size.width > 600 ? "center" : "space-between"
166
+ }
167
+ }, /*#__PURE__*/React__default['default'].createElement(index.Stack, {
168
+ alignItems: "center",
169
+ justifyContent: "flex-start",
170
+ marginRight: size.width > 600 ? size.width > 700 ? "48px" : "32px" : "0"
171
+ }, /*#__PURE__*/React__default['default'].createElement(index.Stack, {
172
+ sx: {
173
+ width: "180px",
174
+ position: "relative",
175
+ justifyContent: "flex-start",
176
+ "&:hover": {
177
+ width: "180px",
178
+ background: "notBlack.main"
179
+ }
180
+ }
181
+ }, imageURL ? /*#__PURE__*/React__default['default'].createElement("img", {
182
+ style: {
183
+ objectFit: "cover",
184
+ width: "100%",
185
+ minWidth: "75px",
186
+ height: "auto",
187
+ borderRadius: "8px"
188
+ },
189
+ alt: "uploaded img",
190
+ src: imageURL
191
+ }) : /*#__PURE__*/React__default['default'].createElement(index.Stack, {
192
+ sx: {
193
+ justifyContent: "center",
194
+ width: "calc(100% - 2px)",
195
+ minWidth: "75px",
196
+ height: "176px",
197
+ borderRadius: "8px",
198
+ border: "1px solid",
199
+ color: "grey3.main"
200
+ }
201
+ }, /*#__PURE__*/React__default['default'].createElement(index.Text, {
202
+ sx: {
203
+ textAlign: "center"
204
+ }
205
+ }, "Click here to upload a photo for this collection")), /*#__PURE__*/React__default['default'].createElement(index.Stack, {
206
+ sx: {
207
+ position: "absolute",
208
+ justifyContent: "flex-end",
209
+ alignItems: "flex-end",
210
+ top: "0",
211
+ right: "0",
212
+ width: "100%",
213
+ height: "100%",
214
+ backgroundColor: "transparent",
215
+ transition: "0.2s",
216
+ "&:hover div": {
217
+ transition: "0.2s",
218
+ opacity: "1"
219
+ }
220
+ },
221
+ style: {
222
+ borderRadius: "50%",
223
+ zIndex: "6"
224
+ },
225
+ onClick: () => setEditImage(true)
226
+ }, /*#__PURE__*/React__default['default'].createElement(index.Stack, {
227
+ alignItems: "center",
228
+ justifyContent: "center",
229
+ sx: {
230
+ opacity: "0",
231
+ position: "absolute",
232
+ top: "0",
233
+ bottom: "0",
234
+ left: "0",
235
+ right: "0",
236
+ cursor: "pointer",
237
+ width: "100%",
238
+ transition: "opacity .2s",
239
+ background: "black",
240
+ borderRadius: "8px"
241
+ }
242
+ }, /*#__PURE__*/React__default['default'].createElement(FileUploadRoundedIcon__default['default'], {
243
+ sx: {
244
+ color: "white.main",
245
+ fontSize: "40px",
246
+ height: "120px",
247
+ width: "120px"
248
+ }
249
+ }))))), /*#__PURE__*/React__default['default'].createElement(index.Stack, {
250
+ justifyContent: "space-between",
251
+ sx: {
252
+ // height: "220px",
253
+ width: "64%",
254
+ minWidth: "320px",
255
+ position: "relative",
256
+ top: size.width > 600 ? "-20px" : "0",
257
+ margin: "0 auto"
258
+ }
259
+ }, /*#__PURE__*/React__default['default'].createElement(index.Input, {
260
+ disabled: !isAdmin && (collectionToBeEdited === null || collectionToBeEdited === void 0 ? void 0 : collectionToBeEdited.isPremium),
261
+ color: "notBlack",
262
+ label: "Collection Name",
263
+ value: titleInput,
264
+ onChange: e => setTitleInput(e.target.value),
265
+ variant: "standard",
266
+ sx: {
267
+ margin: "0"
268
+ }
269
+ }), /*#__PURE__*/React__default['default'].createElement(index.Input, {
270
+ disabled: !isAdmin && (collectionToBeEdited === null || collectionToBeEdited === void 0 ? void 0 : collectionToBeEdited.isPremium),
271
+ label: "Add a description",
272
+ variant: "filled",
273
+ color: "notBlack",
274
+ value: descriptionInput,
275
+ onChange: e => setDescriptionInput(e.target.value),
276
+ multiline: true,
277
+ rows: 4,
278
+ sx: {
279
+ fontSize: "16px",
280
+ paddingBottom: "12px",
281
+ marginTop: "18px"
282
+ }
283
+ }), /*#__PURE__*/React__default['default'].createElement(index.Stack, {
284
+ direction: "row",
285
+ alignItems: "center",
286
+ justifyContent: "space-between"
287
+ }, /*#__PURE__*/React__default['default'].createElement(index.Stack, {
288
+ sx: {
289
+ width: "40%"
290
+ }
291
+ }, /*#__PURE__*/React__default['default'].createElement(index.Text, {
292
+ marginBottom: "4px",
293
+ fontSize: "18px"
294
+ }, "Visibility:"), /*#__PURE__*/React__default['default'].createElement(index.Dropdown, {
295
+ sx: {
296
+ height: "40px"
297
+ },
298
+ buttonTitle: visibility,
299
+ handleOptionClicked: option => setVisibility(option.name),
300
+ options: [{
301
+ name: "PUBLIC"
302
+ }, {
303
+ name: "PRIVATE"
304
+ }, {
305
+ name: "UNLISTED"
306
+ }]
307
+ })), isAdmin && /*#__PURE__*/React__default['default'].createElement(index.Stack, {
308
+ sx: {
309
+ width: "40%"
310
+ }
311
+ }, /*#__PURE__*/React__default['default'].createElement(index.Text, {
312
+ marginBottom: "4px",
313
+ fontSize: "18px"
314
+ }, "Premium:"), /*#__PURE__*/React__default['default'].createElement(index.Toggle, {
315
+ checked: collectionToBeEdited === null || collectionToBeEdited === void 0 ? void 0 : collectionToBeEdited.isPremium,
316
+ onClick: () => {
317
+ setVisibility("PUBLIC");
318
+ handleChangePremium(!(collectionToBeEdited !== null && collectionToBeEdited !== void 0 && collectionToBeEdited.isPremium));
319
+ }
320
+ })), collectionToBeEdited !== null && collectionToBeEdited !== void 0 && collectionToBeEdited.isPremium ? /*#__PURE__*/React__default['default'].createElement(index.Stack, {
321
+ sx: {
322
+ width: "40%"
323
+ }
324
+ }, /*#__PURE__*/React__default['default'].createElement(index.Text, {
325
+ marginBottom: "4px",
326
+ fontSize: "18px"
327
+ }, "Price:"), /*#__PURE__*/React__default['default'].createElement(index.Input, {
328
+ error: !(price > 0),
329
+ size: "small",
330
+ startAdornment: "$",
331
+ variant: "standard",
332
+ color: "grey6",
333
+ value: price,
334
+ onChange: e => {
335
+ setPrice(e.target.value);
336
+ }
337
+ })) : /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null)))), /*#__PURE__*/React__default['default'].createElement(index.Button, {
338
+ color: "primary",
339
+ variant: "contained",
340
+ fontSize: "32px",
341
+ sx: {
342
+ width: "40%",
343
+ minWidth: "200px",
344
+ height: "48px",
345
+ fontWeight: "16px",
346
+ margin: size.width > 600 ? "0px auto 0" : "40px auto 0"
347
+ },
348
+ disableElevation: true,
349
+ onClick: () => {
350
+ // what to do if this modal is being used to edit a collection
351
+ if (collectionToBeEdited) {
352
+ if (!(collectionToBeEdited !== null && collectionToBeEdited !== void 0 && collectionToBeEdited.isPremium) || collectionToBeEdited !== null && collectionToBeEdited !== void 0 && collectionToBeEdited.isPremium && price > 0) {
353
+ handleCollection({
354
+ _id: collectionToBeEdited._id,
355
+ image: imageFile,
356
+ title: titleInput,
357
+ description: descriptionInput,
358
+ visibility: visibility,
359
+ price: price
360
+ });
361
+ handleClose();
362
+ } else {
363
+ console.log("price must be set higher than 0");
364
+ } // what to do if this modal is being used to create a new collection
365
+
366
+ } else {
367
+ if (!(collectionToBeEdited !== null && collectionToBeEdited !== void 0 && collectionToBeEdited.isPremium) || collectionToBeEdited !== null && collectionToBeEdited !== void 0 && collectionToBeEdited.isPremium && price > 0) {
368
+ handleCollection({
369
+ image: imageFile,
370
+ title: titleInput,
371
+ description: descriptionInput,
372
+ visibility: visibility,
373
+ price: collectionToBeEdited !== null && collectionToBeEdited !== void 0 && collectionToBeEdited.isPremium ? price : 0
374
+ });
375
+ handleClose();
376
+ } else {
377
+ console.log("price must be set higher than 0");
378
+ }
379
+ }
380
+ }
381
+ }, collectionToBeEdited ? "Save Changes" : "Create Collection"), collectionToBeEdited && deleteCollectionModal ? deleteCollectionModal : /*#__PURE__*/React__default['default'].createElement(index.Button, {
382
+ color: "primary",
383
+ variant: "text",
384
+ fontSize: "16px",
385
+ disableElevation: true,
386
+ sx: {
387
+ margin: "10px auto"
388
+ },
389
+ onClick: () => {
390
+ handleClose();
391
+ }
392
+ }, "Cancel"), /*#__PURE__*/React__default['default'].createElement(index.Text, {
393
+ fontSize: "14px",
394
+ textAlign: "center",
395
+ fontWeight: "lighter",
396
+ sx: {
397
+ width: "95%"
398
+ }
399
+ }, "By proceeding, you agree to allow Blerp access to the image you choose to upload. Please make sure you have the right to upload the image.")))));
400
+ };
401
+
402
+ exports.NewCollectionModal = NewCollectionModal;
403
+ exports.default = NewCollectionModal;