@blerp/design 1.2.11 → 1.2.13

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.
package/dist/index.umd.js CHANGED
@@ -1515,215 +1515,6 @@
1515
1515
  handleClickTitle: PropTypes__default['default'].func.isRequired
1516
1516
  };
1517
1517
 
1518
- var BlerpAudioContext = /*#__PURE__*/React.createContext({});
1519
- var BlerpAudioContextProvider$1 = function BlerpAudioContextProvider(_ref) {
1520
- var children = _ref.children;
1521
-
1522
- if (typeof window === "undefined") {
1523
- return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, children);
1524
- }
1525
-
1526
- var _useState = React.useState(null),
1527
- _useState2 = _slicedToArray__default['default'](_useState, 2),
1528
- selectedBlerp = _useState2[0],
1529
- _setSelectedBlerp = _useState2[1];
1530
-
1531
- var _useState3 = React.useState("stopped"),
1532
- _useState4 = _slicedToArray__default['default'](_useState3, 2),
1533
- playState = _useState4[0],
1534
- setPlayState = _useState4[1];
1535
-
1536
- var _useState5 = React.useState(0),
1537
- _useState6 = _slicedToArray__default['default'](_useState5, 2);
1538
- _useState6[0];
1539
- var setStartTime = _useState6[1]; // const [audioCtx, setAudioCtx] = useState(null);
1540
- // Refs
1541
-
1542
-
1543
- var audioRef = React.useRef(new Audio());
1544
-
1545
- var pause = /*#__PURE__*/function () {
1546
- var _ref2 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee() {
1547
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1548
- while (1) {
1549
- switch (_context.prev = _context.next) {
1550
- case 0:
1551
- setPlayState("paused");
1552
- _context.next = 3;
1553
- return audioRef.current.pause();
1554
-
1555
- case 3:
1556
- case "end":
1557
- return _context.stop();
1558
- }
1559
- }
1560
- }, _callee);
1561
- }));
1562
-
1563
- return function pause() {
1564
- return _ref2.apply(this, arguments);
1565
- };
1566
- }();
1567
-
1568
- var play = /*#__PURE__*/function () {
1569
- var _ref4 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
1570
- var _bite$audio, _bite$audio$mp;
1571
-
1572
- var bite, _ref3$gain, gain, _ref3$startTime, startTime, _ref3$forcePlay, forcePlay, newGain, audioCtx, gainNode, source;
1573
-
1574
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
1575
- while (1) {
1576
- switch (_context3.prev = _context3.next) {
1577
- case 0:
1578
- bite = _ref3.bite, _ref3$gain = _ref3.gain, gain = _ref3$gain === void 0 ? 1 : _ref3$gain, _ref3$startTime = _ref3.startTime, startTime = _ref3$startTime === void 0 ? 0 : _ref3$startTime, _ref3$forcePlay = _ref3.forcePlay, forcePlay = _ref3$forcePlay === void 0 ? false : _ref3$forcePlay;
1579
- console.log("astats", startTime, playState);
1580
- startTime = audioRef.current.currentTime > 0 ? audioRef.current.currentTime : startTime;
1581
- console.log("play", playState, startTime);
1582
-
1583
- if (!((bite === null || bite === void 0 ? void 0 : bite._id) !== (selectedBlerp === null || selectedBlerp === void 0 ? void 0 : selectedBlerp._id) && playState === "playing")) {
1584
- _context3.next = 8;
1585
- break;
1586
- }
1587
-
1588
- _context3.next = 7;
1589
- return audioRef.current.pause();
1590
-
1591
- case 7:
1592
- if (!forcePlay) {
1593
- startTime = 0;
1594
- }
1595
-
1596
- case 8:
1597
- if (!(playState === "playing" && (bite === null || bite === void 0 ? void 0 : bite._id) === (selectedBlerp === null || selectedBlerp === void 0 ? void 0 : selectedBlerp._id))) {
1598
- _context3.next = 11;
1599
- break;
1600
- }
1601
-
1602
- pause();
1603
- return _context3.abrupt("return");
1604
-
1605
- case 11:
1606
- audioRef.current = new Audio(bite === null || bite === void 0 ? void 0 : (_bite$audio = bite.audio) === null || _bite$audio === void 0 ? void 0 : (_bite$audio$mp = _bite$audio.mp3) === null || _bite$audio$mp === void 0 ? void 0 : _bite$audio$mp.url);
1607
- audioRef.current.crossOrigin = "anonymous";
1608
- console.log("current time", startTime);
1609
- audioRef.current.currentTime = startTime;
1610
- newGain = gain;
1611
- audioRef.current.onended = /*#__PURE__*/_asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2() {
1612
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
1613
- while (1) {
1614
- switch (_context2.prev = _context2.next) {
1615
- case 0:
1616
- console.log("ended");
1617
- setPlayState("played");
1618
- _context2.next = 4;
1619
- return audioRef.current.pause();
1620
-
1621
- case 4:
1622
- audioRef.current.currentTime = 0;
1623
-
1624
- case 5:
1625
- case "end":
1626
- return _context2.stop();
1627
- }
1628
- }
1629
- }, _callee2);
1630
- }));
1631
- audioCtx = new (window.AudioContext || window.webkitAudioContext)();
1632
- gainNode = audioCtx.createGain(); // gainNode.gain.value = 2 // value between 0 and 2 https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Using_Web_Audio_API
1633
-
1634
- gainNode.gain.setValueAtTime(newGain, 0);
1635
- source = audioCtx.createMediaElementSource(audioRef.current);
1636
- source.connect(gainNode);
1637
- gainNode.connect(audioCtx.destination);
1638
- _context3.next = 25;
1639
- return audioRef.current.play().then(function () {
1640
- console.log("playing", bite === null || bite === void 0 ? void 0 : bite.title);
1641
- setPlayState("playing");
1642
- }).catch(function (e) {
1643
- setPlayState("stopped");
1644
- });
1645
-
1646
- case 25:
1647
- // const playPromise = audioRef.current.play();
1648
- // if (playPromise !== undefined) {
1649
- // playPromise
1650
- // .then((_) => {
1651
- // // Automatic playback started!
1652
- // // Show playing UI.
1653
- // setPlayState("playing");
1654
- // })
1655
- // .catch((error) => {
1656
- // // Auto-play was prevented
1657
- // // Show paused UI.
1658
- // console.log("playing failed witihin", error);
1659
- // });
1660
- // }
1661
- _setSelectedBlerp(bite);
1662
-
1663
- case 26:
1664
- case "end":
1665
- return _context3.stop();
1666
- }
1667
- }
1668
- }, _callee3);
1669
- }));
1670
-
1671
- return function play(_x) {
1672
- return _ref4.apply(this, arguments);
1673
- };
1674
- }();
1675
-
1676
- return /*#__PURE__*/React__default['default'].createElement(BlerpAudioContext.Provider, {
1677
- value: {
1678
- selectedBlerp: selectedBlerp,
1679
- setSelectedBlerp: function setSelectedBlerp(_ref6) {
1680
- var bite = _ref6.bite;
1681
-
1682
- _setSelectedBlerp(bite);
1683
- },
1684
- pause: pause,
1685
- play: play,
1686
- stop: function () {
1687
- var _stop = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4() {
1688
- var _audioRef$current;
1689
-
1690
- return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
1691
- while (1) {
1692
- switch (_context4.prev = _context4.next) {
1693
- case 0:
1694
- setPlayState("stopped");
1695
- _context4.next = 3;
1696
- return (_audioRef$current = audioRef.current) === null || _audioRef$current === void 0 ? void 0 : _audioRef$current.pause();
1697
-
1698
- case 3:
1699
- audioRef.current.currentTime = 0;
1700
-
1701
- case 4:
1702
- case "end":
1703
- return _context4.stop();
1704
- }
1705
- }
1706
- }, _callee4);
1707
- }));
1708
-
1709
- function stop() {
1710
- return _stop.apply(this, arguments);
1711
- }
1712
-
1713
- return stop;
1714
- }(),
1715
- getPlayState: function getPlayState(_ref7) {
1716
- var biteId = _ref7.biteId;
1717
-
1718
- if (biteId === (selectedBlerp && selectedBlerp._id)) {
1719
- return playState;
1720
- }
1721
- },
1722
- setStartTime: setStartTime
1723
- }
1724
- }, children);
1725
- };
1726
-
1727
1518
  var _templateObject$f, _templateObject2$a;
1728
1519
  var PremiumContainer = styled__default['default'].div(_templateObject$f || (_templateObject$f = _taggedTemplateLiteral__default['default'](["\n background: transparent;\n overflow: hidden;\n min-width: 210px;\n max-width: 260px;\n width: 100%;\n max-height: 322px;\n flex: 1;\n min-height: 272px;\n margin: 20px;\n aspect-ratio: 260 / 322;\n gap: 10px;\n border-radius: 18px;\n box-sizing: border-box;\n padding: 2px;\n position: relative;\n transition: 0.3s;\n"])));
1729
1520
  var Container$1 = styled__default['default'].div(_templateObject2$a || (_templateObject2$a = _taggedTemplateLiteral__default['default'](["\n background-color: ", ";\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n position: relative;\n height: 100%;\n padding: 10px;\n border-radius: 17px;\n box-sizing: border-box;\n"])), function (props) {
@@ -2131,15 +1922,10 @@
2131
1922
  var NewBlerp$1 = function NewBlerp(_ref8) {
2132
1923
  var _bite$image, _bite$image$original, _bite$ownerObject;
2133
1924
 
2134
- var _ref8$Waveform = _ref8.Waveform,
2135
- Waveform = _ref8$Waveform === void 0 ? /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null) : _ref8$Waveform,
2136
- bite = _ref8.bite;
2137
- _ref8.playState;
2138
-
2139
- var _useContext = React.useContext(BlerpAudioContext),
2140
- play = _useContext.play,
2141
- getPlayState = _useContext.getPlayState;
2142
- _useContext.stop;
1925
+ var Waveform = _ref8.Waveform,
1926
+ bite = _ref8.bite,
1927
+ playState = _ref8.playState,
1928
+ play = _ref8.play;
2143
1929
 
2144
1930
  var _useState9 = React.useState(false),
2145
1931
  _useState10 = _slicedToArray__default['default'](_useState9, 2),
@@ -2157,10 +1943,6 @@
2157
1943
  var saveCount = formatter.format(bite === null || bite === void 0 ? void 0 : bite.totalSaveCount);
2158
1944
 
2159
1945
  var renderPlayStateIcon = function renderPlayStateIcon() {
2160
- var playState = getPlayState({
2161
- biteId: bite === null || bite === void 0 ? void 0 : bite._id
2162
- });
2163
-
2164
1946
  if (playState === "played") {
2165
1947
  return /*#__PURE__*/React__default['default'].createElement("svg", {
2166
1948
  xmlns: "http://www.w3.org/2000/svg",
@@ -2316,7 +2098,9 @@
2316
2098
  pointerEvents: "none",
2317
2099
  zIndex: "1"
2318
2100
  }
2319
- }, renderPlayStateIcon()), Waveform && /*#__PURE__*/React__default['default'].createElement(Waveform, null)), /*#__PURE__*/React__default['default'].createElement(Text, {
2101
+ }, renderPlayStateIcon()), Waveform({
2102
+ hovering: hovering
2103
+ })), /*#__PURE__*/React__default['default'].createElement(Text, {
2320
2104
  sx: {
2321
2105
  fontSize: "16px",
2322
2106
  fontWeight: "400",
@@ -2412,6 +2196,211 @@
2412
2196
  }, ((bite === null || bite === void 0 ? void 0 : bite.audioDuration) / 1000).toFixed(0), "s"))));
2413
2197
  };
2414
2198
 
2199
+ var BlerpAudioContext = /*#__PURE__*/React.createContext({});
2200
+ var BlerpAudioContextProvider$1 = function BlerpAudioContextProvider(_ref) {
2201
+ var children = _ref.children;
2202
+
2203
+ var _useState = React.useState(null),
2204
+ _useState2 = _slicedToArray__default['default'](_useState, 2),
2205
+ selectedBlerp = _useState2[0],
2206
+ _setSelectedBlerp = _useState2[1];
2207
+
2208
+ var _useState3 = React.useState("stopped"),
2209
+ _useState4 = _slicedToArray__default['default'](_useState3, 2),
2210
+ playState = _useState4[0],
2211
+ setPlayState = _useState4[1];
2212
+
2213
+ var _useState5 = React.useState(0),
2214
+ _useState6 = _slicedToArray__default['default'](_useState5, 2);
2215
+ _useState6[0];
2216
+ var setStartTime = _useState6[1]; // const [audioCtx, setAudioCtx] = useState(null);
2217
+ // Refs
2218
+
2219
+
2220
+ var audioRef = React.useRef(null);
2221
+
2222
+ var pause = /*#__PURE__*/function () {
2223
+ var _ref2 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee() {
2224
+ return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2225
+ while (1) {
2226
+ switch (_context.prev = _context.next) {
2227
+ case 0:
2228
+ setPlayState("paused");
2229
+ _context.next = 3;
2230
+ return audioRef.current.pause();
2231
+
2232
+ case 3:
2233
+ case "end":
2234
+ return _context.stop();
2235
+ }
2236
+ }
2237
+ }, _callee);
2238
+ }));
2239
+
2240
+ return function pause() {
2241
+ return _ref2.apply(this, arguments);
2242
+ };
2243
+ }();
2244
+
2245
+ var play = /*#__PURE__*/function () {
2246
+ var _ref4 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(_ref3) {
2247
+ var _bite$audio, _bite$audio$mp;
2248
+
2249
+ var bite, _ref3$gain, gain, _ref3$startTime, startTime, _ref3$forcePlay, forcePlay, newGain, audioCtx, gainNode, source;
2250
+
2251
+ return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
2252
+ while (1) {
2253
+ switch (_context3.prev = _context3.next) {
2254
+ case 0:
2255
+ bite = _ref3.bite, _ref3$gain = _ref3.gain, gain = _ref3$gain === void 0 ? 1 : _ref3$gain, _ref3$startTime = _ref3.startTime, startTime = _ref3$startTime === void 0 ? 0 : _ref3$startTime, _ref3$forcePlay = _ref3.forcePlay, forcePlay = _ref3$forcePlay === void 0 ? false : _ref3$forcePlay;
2256
+ console.log("astats", startTime, playState);
2257
+ startTime = audioRef.current.currentTime > 0 ? audioRef.current.currentTime : startTime;
2258
+ console.log("play", playState, startTime);
2259
+
2260
+ if (!((bite === null || bite === void 0 ? void 0 : bite._id) !== (selectedBlerp === null || selectedBlerp === void 0 ? void 0 : selectedBlerp._id) && playState === "playing")) {
2261
+ _context3.next = 8;
2262
+ break;
2263
+ }
2264
+
2265
+ _context3.next = 7;
2266
+ return audioRef.current.pause();
2267
+
2268
+ case 7:
2269
+ if (!forcePlay) {
2270
+ startTime = 0;
2271
+ }
2272
+
2273
+ case 8:
2274
+ if (!(playState === "playing" && (bite === null || bite === void 0 ? void 0 : bite._id) === (selectedBlerp === null || selectedBlerp === void 0 ? void 0 : selectedBlerp._id))) {
2275
+ _context3.next = 11;
2276
+ break;
2277
+ }
2278
+
2279
+ pause();
2280
+ return _context3.abrupt("return");
2281
+
2282
+ case 11:
2283
+ audioRef.current = new Audio(bite === null || bite === void 0 ? void 0 : (_bite$audio = bite.audio) === null || _bite$audio === void 0 ? void 0 : (_bite$audio$mp = _bite$audio.mp3) === null || _bite$audio$mp === void 0 ? void 0 : _bite$audio$mp.url);
2284
+ audioRef.current.crossOrigin = "anonymous";
2285
+ console.log("current time", startTime);
2286
+ audioRef.current.currentTime = startTime;
2287
+ newGain = gain;
2288
+ audioRef.current.onended = /*#__PURE__*/_asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2() {
2289
+ return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
2290
+ while (1) {
2291
+ switch (_context2.prev = _context2.next) {
2292
+ case 0:
2293
+ console.log("ended");
2294
+ setPlayState("played");
2295
+ _context2.next = 4;
2296
+ return audioRef.current.pause();
2297
+
2298
+ case 4:
2299
+ audioRef.current.currentTime = 0;
2300
+
2301
+ case 5:
2302
+ case "end":
2303
+ return _context2.stop();
2304
+ }
2305
+ }
2306
+ }, _callee2);
2307
+ }));
2308
+ audioCtx = new (window.AudioContext || window.webkitAudioContext)();
2309
+ gainNode = audioCtx.createGain(); // gainNode.gain.value = 2 // value between 0 and 2 https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Using_Web_Audio_API
2310
+
2311
+ gainNode.gain.setValueAtTime(newGain, 0);
2312
+ source = audioCtx.createMediaElementSource(audioRef.current);
2313
+ source.connect(gainNode);
2314
+ gainNode.connect(audioCtx.destination);
2315
+ _context3.next = 25;
2316
+ return audioRef.current.play().then(function () {
2317
+ console.log("playing", bite === null || bite === void 0 ? void 0 : bite.title);
2318
+ setPlayState("playing");
2319
+ }).catch(function (e) {
2320
+ setPlayState("stopped");
2321
+ });
2322
+
2323
+ case 25:
2324
+ // const playPromise = audioRef.current.play();
2325
+ // if (playPromise !== undefined) {
2326
+ // playPromise
2327
+ // .then((_) => {
2328
+ // // Automatic playback started!
2329
+ // // Show playing UI.
2330
+ // setPlayState("playing");
2331
+ // })
2332
+ // .catch((error) => {
2333
+ // // Auto-play was prevented
2334
+ // // Show paused UI.
2335
+ // console.log("playing failed witihin", error);
2336
+ // });
2337
+ // }
2338
+ _setSelectedBlerp(bite);
2339
+
2340
+ case 26:
2341
+ case "end":
2342
+ return _context3.stop();
2343
+ }
2344
+ }
2345
+ }, _callee3);
2346
+ }));
2347
+
2348
+ return function play(_x) {
2349
+ return _ref4.apply(this, arguments);
2350
+ };
2351
+ }();
2352
+
2353
+ return /*#__PURE__*/React__default['default'].createElement(BlerpAudioContext.Provider, {
2354
+ value: {
2355
+ selectedBlerp: selectedBlerp,
2356
+ setSelectedBlerp: function setSelectedBlerp(_ref6) {
2357
+ var bite = _ref6.bite;
2358
+
2359
+ _setSelectedBlerp(bite);
2360
+ },
2361
+ pause: pause,
2362
+ play: play,
2363
+ stop: function () {
2364
+ var _stop = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4() {
2365
+ var _audioRef$current;
2366
+
2367
+ return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
2368
+ while (1) {
2369
+ switch (_context4.prev = _context4.next) {
2370
+ case 0:
2371
+ setPlayState("stopped");
2372
+ _context4.next = 3;
2373
+ return (_audioRef$current = audioRef.current) === null || _audioRef$current === void 0 ? void 0 : _audioRef$current.pause();
2374
+
2375
+ case 3:
2376
+ audioRef.current.currentTime = 0;
2377
+
2378
+ case 4:
2379
+ case "end":
2380
+ return _context4.stop();
2381
+ }
2382
+ }
2383
+ }, _callee4);
2384
+ }));
2385
+
2386
+ function stop() {
2387
+ return _stop.apply(this, arguments);
2388
+ }
2389
+
2390
+ return stop;
2391
+ }(),
2392
+ getPlayState: function getPlayState(_ref7) {
2393
+ var biteId = _ref7.biteId;
2394
+
2395
+ if (biteId === (selectedBlerp && selectedBlerp._id)) {
2396
+ return playState;
2397
+ }
2398
+ },
2399
+ setStartTime: setStartTime
2400
+ }
2401
+ }, children);
2402
+ };
2403
+
2415
2404
  var _templateObject$e, _templateObject2$9, _templateObject3$7, _templateObject4$6, _templateObject5$4, _templateObject6$4, _templateObject7$2;
2416
2405
  var BlerpImage$1 = styled__default['default'].div(_templateObject$e || (_templateObject$e = _taggedTemplateLiteral__default['default'](["\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"])), function (props) {
2417
2406
  return props.url;
@@ -5704,7 +5693,7 @@
5704
5693
  icons: icons,
5705
5694
  mode: mode === "dark" ? "dark" : "light"
5706
5695
  }, currentTheme)
5707
- }, /*#__PURE__*/React__default['default'].createElement(SnackbarProvider, null, /*#__PURE__*/React__default['default'].createElement(BlerpAudioContextProvider$1, null, children))));
5696
+ }, /*#__PURE__*/React__default['default'].createElement(SnackbarProvider, null, children)));
5708
5697
  };
5709
5698
 
5710
5699
  var LottieAnimation = function LottieAnimation(_ref) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blerp/design",
3
- "version": "1.2.11",
3
+ "version": "1.2.13",
4
4
  "description": "Blerp UI",
5
5
  "main": "dist/index.cjs.js",
6
6
  "scripts": {
@@ -12,6 +12,7 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "@babel/runtime": "^7.14.0",
15
+ "@blerp/wavesurfer": "^6.4.2",
15
16
  "@mui/icons-material": "5.10.16",
16
17
  "@mui/material": "5.10.16",
17
18
  "@mui/styled-engine": "npm:@mui/styled-engine-sc@latest",