react-3d-flipbook 1.1.1 → 1.1.6

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.esm.js CHANGED
@@ -2539,36 +2539,6 @@ const WebGLPageFlip = forwardRef(({ pages, currentPage, width, height, singlePag
2539
2539
  });
2540
2540
  WebGLPageFlip.displayName = "WebGLPageFlip";
2541
2541
 
2542
- function styleInject(css, ref) {
2543
- if ( ref === void 0 ) ref = {};
2544
- var insertAt = ref.insertAt;
2545
-
2546
- if (typeof document === 'undefined') { return; }
2547
-
2548
- var head = document.head || document.getElementsByTagName('head')[0];
2549
- var style = document.createElement('style');
2550
- style.type = 'text/css';
2551
-
2552
- if (insertAt === 'top') {
2553
- if (head.firstChild) {
2554
- head.insertBefore(style, head.firstChild);
2555
- } else {
2556
- head.appendChild(style);
2557
- }
2558
- } else {
2559
- head.appendChild(style);
2560
- }
2561
-
2562
- if (style.styleSheet) {
2563
- style.styleSheet.cssText = css;
2564
- } else {
2565
- style.appendChild(document.createTextNode(css));
2566
- }
2567
- }
2568
-
2569
- var css_248z = ".react-flipbook{box-sizing:border-box;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;height:100%;user-select:none;-webkit-user-select:none;width:100%}.react-flipbook,.react-flipbook-wrapper{display:flex;overflow:visible;position:relative}.react-flipbook-wrapper{flex:1;flex-direction:column;min-height:0}.react-flipbook-container{box-sizing:border-box;flex:1;padding:20px}.react-flipbook-book,.react-flipbook-container{align-items:center;display:flex;justify-content:center;overflow:visible;position:relative;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.react-flipbook-book{background:transparent;perspective:2000px;-webkit-perspective:2000px}.react-flipbook-book-inner{align-items:center;border-radius:4px;display:flex;justify-content:center;overflow:visible;position:relative;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:box-shadow .4s ease-out,width .5s cubic-bezier(.4,0,.2,1)}.react-flipbook-pages,.react-flipbook-spread{height:100%;overflow:visible;position:relative;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;width:100%}.react-flipbook-spread{align-items:stretch;background:transparent;border:none;display:flex;flex-direction:row;flex-wrap:nowrap;gap:0;justify-content:flex-start;margin:0;padding:0;transition:box-shadow .5s cubic-bezier(.4,0,.2,1)}.react-flipbook-spread.single-page-left,.react-flipbook-spread.single-page-right{background:transparent}.react-flipbook-spread-left,.react-flipbook-spread-right{background:#fff;border:none;box-sizing:border-box;height:100%;margin:0;outline:none;overflow:hidden;padding:0;position:relative;transition:flex .5s cubic-bezier(.4,0,.2,1),width .5s cubic-bezier(.4,0,.2,1),opacity .3s ease-out}.react-flipbook-spread:not(.single-page-left):not(.single-page-right){box-shadow:0 5px 30px rgba(0,0,0,.3),0 10px 50px rgba(0,0,0,.15)}.react-flipbook-spread.single-page-left,.react-flipbook-spread.single-page-right{box-shadow:0 3px 15px rgba(0,0,0,.2),0 5px 25px rgba(0,0,0,.1)}.react-flipbook-spine{background:linear-gradient(90deg,rgba(0,0,0,.15) 0,rgba(0,0,0,.08) 20%,rgba(0,0,0,.03) 40%,transparent 50%,rgba(0,0,0,.03) 60%,rgba(0,0,0,.08) 80%,rgba(0,0,0,.15));bottom:0;left:50%;margin-left:-4px;pointer-events:none;position:absolute;top:0;width:8px;z-index:100}.react-flipbook-spread.single-page-left .react-flipbook-spine,.react-flipbook-spread.single-page-right .react-flipbook-spine{display:none}.react-flipbook-page{backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#fff;height:100%;position:absolute;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;width:100%}.react-flipbook-page.active{z-index:1}.react-flipbook-flipping-page{-webkit-filter:blur(0);filter:blur(0);height:100%;overflow:visible;perspective:1200px;-webkit-perspective:1200px;pointer-events:none;position:absolute;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;width:50%;will-change:transform,box-shadow;z-index:1000}.react-flipbook-flipping-page.flip-right{left:50%;right:auto;transform-origin:left center;-webkit-transform-origin:left center}.react-flipbook-flipping-page.flip-left{left:auto;right:50%;transform-origin:right center;-webkit-transform-origin:right center}.react-flipbook-page-back,.react-flipbook-page-front{backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#fff;box-shadow:inset 0 0 30px rgba(0,0,0,.05);height:100%;overflow:hidden;position:absolute;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;width:100%}.react-flipbook-flipping-page.flip-right .react-flipbook-page-front{border-radius:0 3px 3px 0}.react-flipbook-flipping-page.flip-left .react-flipbook-page-front{border-radius:3px 0 0 3px}.react-flipbook-page-back{transform:rotateY(180deg);-webkit-transform:rotateY(180deg)}.react-flipbook-flipping-page.flip-right .react-flipbook-page-back{border-radius:3px 0 0 3px}.react-flipbook-flipping-page.flip-left .react-flipbook-page-back{border-radius:0 3px 3px 0}.react-flipbook-page-back:after,.react-flipbook-page-front:after{background:linear-gradient(90deg,rgba(0,0,0,.03) 0,transparent 10%,transparent 90%,rgba(0,0,0,.02));bottom:0;content:\"\";left:0;pointer-events:none;position:absolute;right:0;top:0}.react-flipbook-page-content{align-items:center;background:#fff;border:none;bottom:0;box-sizing:border-box;display:flex;height:100%;justify-content:center;left:0;margin:0;overflow:hidden;padding:0;position:absolute;right:0;top:0;width:100%}.react-flipbook-page-content img{border:none;display:block;height:100%;margin:0;object-fit:cover;object-position:center;padding:0;pointer-events:none;width:100%}.react-flipbook-page-shadow{height:100%;pointer-events:none;position:absolute;top:0;width:30px;z-index:10}.react-flipbook-page-shadow-left{background:linear-gradient(270deg,rgba(0,0,0,.08) 0,transparent);left:auto;right:0}.react-flipbook-spread.single-page-left .react-flipbook-page-shadow,.react-flipbook-spread.single-page-right .react-flipbook-page-shadow{display:none}.react-flipbook-page-shadow-right{background:linear-gradient(90deg,rgba(0,0,0,.08) 0,transparent);left:0;right:auto}@keyframes flipToLeft{0%{transform:perspective(2000px) rotateY(0deg)}to{transform:perspective(2000px) rotateY(-180deg)}}@keyframes flipToRight{0%{transform:perspective(2000px) rotateY(0deg)}to{transform:perspective(2000px) rotateY(180deg)}}@keyframes flipFromLeft{0%{transform:perspective(2000px) rotateY(-180deg)}to{transform:perspective(2000px) rotateY(0deg)}}@keyframes flipFromRight{0%{transform:perspective(2000px) rotateY(180deg)}to{transform:perspective(2000px) rotateY(0deg)}}.react-flipbook-flipping-page.flipping-next{animation:flipToLeft .6s ease-in-out forwards}.react-flipbook-flipping-page.flipping-prev{animation:flipToRight .6s ease-in-out forwards}.react-flipbook-flip-shadow{border-radius:2px;height:100%;pointer-events:none;position:absolute;top:0;width:100%;z-index:5}.react-flipbook-page-curl-overlay{border-radius:inherit;bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:10}.react-flipbook-flipping-page:before{background:radial-gradient(ellipse at center,rgba(0,0,0,.25) 0,transparent 70%);bottom:-8px;content:\"\";filter:blur(4px);height:16px;left:5%;opacity:0;pointer-events:none;position:absolute;right:5%;transition:opacity .1s ease;z-index:-1}.react-flipbook-flipping-page[style*=rotateY]:before{opacity:1}.react-flipbook-flipping-page.flip-left .react-flipbook-page-front:before,.react-flipbook-flipping-page.flip-right .react-flipbook-page-front:before{bottom:0;content:\"\";pointer-events:none;position:absolute;top:0;width:30px;z-index:5}.react-flipbook-flipping-page.flip-right .react-flipbook-page-front:before{background:linear-gradient(90deg,rgba(0,0,0,.08) 0,transparent);left:0}.react-flipbook-flipping-page.flip-left .react-flipbook-page-front:before{background:linear-gradient(270deg,rgba(0,0,0,.08) 0,transparent);right:0}.react-flipbook-flipping-page.flipping-next .react-flipbook-flip-shadow,.react-flipbook-flipping-page.flipping-prev .react-flipbook-flip-shadow{animation:shadowFade .6s ease-in-out}@keyframes shadowFade{0%{background:transparent}50%{background:rgba(0,0,0,.3)}to{background:transparent}}.react-flipbook-book:after{background:radial-gradient(ellipse at center,rgba(0,0,0,.3) 0,transparent 70%);bottom:-30px;content:\"\";height:30px;left:10%;pointer-events:none;position:absolute;right:10%}.react-flipbook-cover{box-shadow:0 0 30px rgba(0,0,0,.3)}.react-flipbook-cover .react-flipbook-page-back,.react-flipbook-cover .react-flipbook-page-front{background:linear-gradient(135deg,#667eea,#764ba2)}.react-flipbook-menu{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(30,30,30,.95);display:flex;gap:8px;justify-content:center;padding:10px 15px}.react-flipbook-menu-top{border-bottom:1px solid hsla(0,0%,100%,.1)}.react-flipbook-menu-bottom{border-top:1px solid hsla(0,0%,100%,.1)}.react-flipbook-menu-floating{border-radius:8px;bottom:20px;box-shadow:0 4px 20px rgba(0,0,0,.3);left:50%;position:absolute;transform:translateX(-50%)}.react-flipbook-btn{align-items:center;background:transparent;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;padding:0;transition:all .2s ease;width:36px}.react-flipbook-btn:hover{background:hsla(0,0%,100%,.15);transform:scale(1.05)}.react-flipbook-btn:disabled{cursor:not-allowed;opacity:.4}.react-flipbook-btn:disabled:hover{background:transparent;transform:none}.react-flipbook-btn-active{background:hsla(0,0%,100%,.2)}.react-flipbook-nav-btn{align-items:center;background:rgba(0,0,0,.3);border:none;color:#fff;cursor:pointer;display:flex;font-size:24px;height:80px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:50px;z-index:100}.react-flipbook-nav-btn:hover{background:rgba(0,0,0,.5)}.react-flipbook-nav-btn:disabled{cursor:not-allowed;opacity:.3}.react-flipbook-nav-prev{border-radius:0 8px 8px 0;left:10px}.react-flipbook-nav-next{border-radius:8px 0 0 8px;right:10px}.react-flipbook-page-indicator{align-items:center;color:#fff;display:flex;font-size:14px;gap:5px}.react-flipbook-page-input{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:4px;color:#fff;font-size:14px;padding:5px 8px;text-align:center;width:50px}.react-flipbook-page-input:focus{border-color:hsla(0,0%,100%,.4);outline:none}.react-flipbook-sidebar{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(30,30,30,.98);bottom:0;box-shadow:5px 0 30px rgba(0,0,0,.3);display:flex;flex-direction:column;position:absolute;top:0;transform:translateX(-100%);transition:transform .3s ease;width:280px;z-index:200}.react-flipbook-sidebar.open{transform:translateX(0)}.react-flipbook-sidebar-left{left:0}.react-flipbook-sidebar-right{right:0;transform:translateX(100%)}.react-flipbook-sidebar-right.open{transform:translateX(0)}.react-flipbook-sidebar-header{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.1);display:flex;justify-content:space-between;padding:15px}.react-flipbook-sidebar-title{color:#fff;font-size:16px;font-weight:600;margin:0}.react-flipbook-sidebar-close{background:none;border:none;color:#fff;cursor:pointer;font-size:18px;padding:5px}.react-flipbook-sidebar-close:hover{opacity:.7}.react-flipbook-sidebar-content{flex:1;overflow-y:auto;padding:15px}.react-flipbook-thumbnails{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.react-flipbook-thumbnail{border:2px solid transparent;border-radius:4px;cursor:pointer;overflow:hidden;transition:all .2s ease}.react-flipbook-thumbnail:hover{border-color:hsla(0,0%,100%,.3)}.react-flipbook-thumbnail.active{border-color:#4a90d9}.react-flipbook-thumbnail img{display:block;height:auto;width:100%}.react-flipbook-thumbnail-number{background:rgba(0,0,0,.5);color:#fff;font-size:12px;padding:5px;text-align:center}.react-flipbook-toc{list-style:none;margin:0;padding:0}.react-flipbook-toc-item{border-bottom:1px solid hsla(0,0%,100%,.05);cursor:pointer;padding:12px 10px;transition:background .2s ease}.react-flipbook-toc-item:hover{background:hsla(0,0%,100%,.05)}.react-flipbook-toc-item-title{color:#fff;font-size:14px;margin:0}.react-flipbook-toc-item-page{color:hsla(0,0%,100%,.5);font-size:12px}.react-flipbook-toc-children{margin-top:5px;padding-left:15px}.react-flipbook-search{display:flex;flex-direction:column;gap:15px}.react-flipbook-search-input-wrapper{display:flex;gap:8px}.react-flipbook-search-input{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:6px;color:#fff;flex:1;font-size:14px;padding:10px 12px}.react-flipbook-search-input:focus{border-color:#4a90d9;outline:none}.react-flipbook-search-input::placeholder{color:hsla(0,0%,100%,.4)}.react-flipbook-search-btn{background:#4a90d9;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 15px}.react-flipbook-search-results{display:flex;flex-direction:column;gap:8px}.react-flipbook-search-result{background:hsla(0,0%,100%,.05);border-radius:6px;cursor:pointer;padding:10px}.react-flipbook-search-result:hover{background:hsla(0,0%,100%,.1)}.react-flipbook-search-result-page{color:#4a90d9;font-size:12px;margin-bottom:5px}.react-flipbook-search-result-text{color:#fff;font-size:13px}.react-flipbook-search-result-text mark{background:rgba(74,144,217,.3);border-radius:2px;color:#fff;padding:0 2px}.react-flipbook-bookmarks{display:flex;flex-direction:column;gap:8px}.react-flipbook-bookmark{align-items:center;background:hsla(0,0%,100%,.05);border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;padding:12px;transition:background .2s ease}.react-flipbook-bookmark:hover{background:hsla(0,0%,100%,.1)}.react-flipbook-bookmark-page{color:#fff;font-size:14px}.react-flipbook-bookmark-remove{background:none;border:none;color:hsla(0,0%,100%,.5);cursor:pointer;padding:5px}.react-flipbook-bookmark-remove:hover{color:#ff6b6b}.react-flipbook-loader{align-items:center;background:rgba(0,0,0,.8);bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:500}.react-flipbook-spinner{animation:spin .8s linear infinite;border:3px solid hsla(0,0%,100%,.2);border-radius:50%;border-top-color:#fff;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.react-flipbook-loader-text{color:#fff;font-size:14px;margin-top:15px}.react-flipbook-progress{background:hsla(0,0%,100%,.2);border-radius:2px;height:4px;margin-top:15px;overflow:hidden;width:200px}.react-flipbook-progress-bar{background:#4a90d9;height:100%;transition:width .3s ease}.react-flipbook-share-menu{display:flex;gap:10px;padding:10px}.react-flipbook-share-btn{align-items:center;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;transition:transform .2s ease;width:40px}.react-flipbook-share-btn:hover{transform:scale(1.1)}.react-flipbook-share-whatsapp{background:#25d366}.react-flipbook-share-twitter{background:#1da1f2}.react-flipbook-share-facebook{background:#1877f2}.react-flipbook-share-linkedin{background:#0a66c2}.react-flipbook-share-pinterest{background:#e60023}.react-flipbook-share-email{background:#666}.react-flipbook-print-menu{display:flex;flex-direction:column;gap:10px}.react-flipbook-print-option{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:12px;text-align:left}.react-flipbook-print-option:hover{background:hsla(0,0%,100%,.1)}.react-flipbook-overlay{align-items:center;background:rgba(0,0,0,.8);bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:fixed;right:0;top:0;transition:all .3s ease;visibility:hidden;z-index:1000}.react-flipbook-overlay.open{opacity:1;visibility:visible}.react-flipbook-modal{background:#2a2a2a;border-radius:12px;max-height:80vh;max-width:500px;overflow:hidden;transform:scale(.9);transition:transform .3s ease;width:90%}.react-flipbook-overlay.open .react-flipbook-modal{transform:scale(1)}.react-flipbook-modal-header{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.1);display:flex;justify-content:space-between;padding:15px 20px}.react-flipbook-modal-title{color:#fff;font-size:18px;font-weight:600;margin:0}.react-flipbook-modal-close{background:none;border:none;color:#fff;cursor:pointer;font-size:20px;padding:5px}.react-flipbook-modal-close:hover{opacity:.7}.react-flipbook-lightbox{background:rgba(0,0,0,.95);bottom:0;display:flex;flex-direction:column;left:0;opacity:0;position:fixed;right:0;top:0;transition:all .3s ease;visibility:hidden;z-index:2000}.react-flipbook-lightbox.open{opacity:1;visibility:visible}.react-flipbook-lightbox-content{align-items:center;display:flex;flex:1;justify-content:center;padding:20px}.react-flipbook-zoom-indicator{background:rgba(0,0,0,.8);border-radius:20px;color:#fff;font-size:14px;left:50%;opacity:0;padding:8px 16px;position:absolute;top:20px;transform:translateX(-50%);transition:all .3s ease;visibility:hidden;z-index:150}.react-flipbook-zoom-indicator.visible{opacity:1;visibility:visible}.react-flipbook.fullscreen{border-radius:0;bottom:0!important;height:100%!important;left:0!important;overflow:visible!important;position:fixed!important;right:0!important;top:0!important;width:100%!important;z-index:9999}.react-flipbook-theme-light .react-flipbook-menu{background:hsla(0,0%,100%,.95)}.react-flipbook-theme-light .react-flipbook-btn{color:#333}.react-flipbook-theme-light .react-flipbook-btn:hover{background:rgba(0,0,0,.1)}.react-flipbook-theme-light .react-flipbook-sidebar{background:hsla(0,0%,100%,.98)}.react-flipbook-theme-light .react-flipbook-bookmark-page,.react-flipbook-theme-light .react-flipbook-sidebar-title,.react-flipbook-theme-light .react-flipbook-toc-item-title{color:#333}@media (max-width:768px){.react-flipbook-menu{padding:8px 10px}.react-flipbook-btn{font-size:14px;height:32px;width:32px}.react-flipbook-nav-btn{font-size:20px;height:60px;width:40px}.react-flipbook-sidebar{max-width:280px;width:100%}.react-flipbook-thumbnails{grid-template-columns:repeat(2,1fr)}.react-flipbook-page-indicator{font-size:12px}.react-flipbook-page-input{font-size:12px;padding:4px 6px;width:40px}.react-flipbook-spread-left,.react-flipbook-spread-right{width:100%}}@media (max-width:480px){.react-flipbook-btn{font-size:12px;height:28px;width:28px}.react-flipbook-thumbnails{grid-template-columns:repeat(2,1fr)}}.react-flipbook-btn:focus,.react-flipbook-nav-btn:focus,.react-flipbook-thumbnail:focus{outline:2px solid #4a90d9;outline-offset:2px}.react-flipbook-sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-flipbook-fade-in{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.react-flipbook-slide-in-left{animation:slideInLeft .3s ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.react-flipbook-slide-in-right{animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.react-flipbook-html-layer,.react-flipbook-webgl-canvas{height:100%;left:0;position:absolute;top:0;width:100%}.react-flipbook-html-layer{pointer-events:none}.react-flipbook-html-layer.interactive{pointer-events:auto}.react-flipbook-page-html-content{height:100%;left:0;pointer-events:auto;position:absolute;top:0;width:100%}.react-flipbook-logo{bottom:10px;position:absolute;right:10px}.react-flipbook-logo img{max-height:30px;opacity:.5;transition:opacity .3s}.react-flipbook-logo img:hover{opacity:1}.react-flipbook-single-page .react-flipbook-spread{justify-content:center}.react-flipbook-single-page .react-flipbook-spread-left{max-width:50%;width:100%}.react-flipbook-single-page .react-flipbook-spine,.react-flipbook-single-page .react-flipbook-spread-right{display:none}.react-flipbook-page-number{bottom:10px;color:rgba(0,0,0,.4);font-size:12px;padding:2px 8px;position:absolute}.react-flipbook-spread-left .react-flipbook-page-number{left:10px}.react-flipbook-spread-right .react-flipbook-page-number{right:10px}@media print{.react-flipbook-loader,.react-flipbook-menu,.react-flipbook-nav-btn,.react-flipbook-overlay,.react-flipbook-sidebar{display:none!important}.react-flipbook{height:auto!important;position:static!important;width:100%!important}.react-flipbook-page{page-break-after:always;position:relative!important}.react-flipbook-page-content img{height:auto;max-width:100%}}.react-flipbook-view-2d .react-flipbook-book{perspective:none}.react-flipbook-view-css3d .react-flipbook-book{perspective:2000px;-webkit-perspective:2000px}.react-flipbook-view-3d .react-flipbook-container,.react-flipbook-view-webgl .react-flipbook-container{position:relative}.react-flipbook-page.empty{background:#f5f5f5}.react-flipbook-page.empty .react-flipbook-page-content{align-items:center;color:#999;display:flex;font-style:italic;justify-content:center}";
2570
- styleInject(css_248z,{"insertAt":"top"});
2571
-
2572
2542
  const ToolbarButton = ({ icon, title, onClick, disabled = false, active = false, }) => (jsx("button", { type: "button", className: `react-flipbook-btn ${active ? "active" : ""}`, onClick: onClick, disabled: disabled, title: title, "aria-label": title, children: icon }));
2573
2543
  // Icons
2574
2544
  const Icons = {