@threedddplus/logoeditor 0.0.118 → 0.0.119

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.
@@ -1 +1 @@
1
- {"version":3,"file":"logoeditor.esm.js","sources":["../src/components/icon/icon.tsx","../src/components/icon/horizontalFlip.tsx","../src/components/icon/verticalFlip.tsx","../src/components/icon/error.tsx","../src/components/icon/rLogo.tsx","../src/components/icon/myLogo.tsx","../src/components/icon/addText.tsx","../src/components/icon/flipH.tsx","../src/components/icon/flipV.tsx","../src/components/icon/selectAll.tsx","../src/components/icon/copy.tsx","../src/components/icon/sendToBack.tsx","../src/components/icon/sendToFront.tsx","../src/components/icon/sendAboveObject.tsx","../src/components/icon/sendUnderObject.tsx","../src/components/icon/eyedropper.tsx","../src/components/icon/delete.tsx","../src/components/icon/snapToCenter.tsx","../src/components/customToast/customToast.tsx","../src/store/actions/toastMessages.ts","../src/store/actions/index.ts","../src/axios/index.ts","../src/store/lambda/index.ts","../src/store/saveDesign/index.tsx","../src/services/UrlMapping.ts","../src/services/cookies.ts","../src/services/token.ts","../src/services/getDom.ts","../src/services/saveFile.ts","../src/services/restrictSpecialCharacters.ts","../src/services/sessionStorage.ts","../src/store/auth/index.ts","../src/store/history/index.ts","../src/store/fabric/index.ts","../src/loaders/tiffParser.js","../src/data.ts","../src/store/converters/index.ts","../src/store/index.ts","../src/components/button/button.tsx","../src/components/button/iconButton.tsx","../src/components/button/editButton.tsx","../node_modules/style-inject/dist/style-inject.es.js","../src/theme.ts","../src/components/toolTip/toolTip.tsx","../src/components/canvas/canvasButtons.tsx","../src/components/canvas/nudgeButtons.tsx","../src/store/fabric/fabricCanvas.ts","../src/components/contextMenu/contextMenu.tsx","../src/components/canvas/canvas.tsx","../src/components/card/card.tsx","../src/components/card/cardbody.tsx","../src/components/card/cardcheckmark.tsx","../src/components/card/carddownloadicon.tsx","../src/components/card/cardflag.tsx","../src/components/card/cardmedia.tsx","../src/components/card/cardtags.tsx","../src/components/card/cardtitle.tsx","../src/components/card/carddescription.tsx","../src/components/uploadLogo/fileuploadButton.tsx","../src/assets/colors/colors.ts","../src/components/colorPallet/colorPalette.tsx","../src/components/colorPallet/color.tsx","../src/store/fabric/Popupcanvas.ts","../src/components/canvas/popUpCanvas.tsx","../src/components/uploadLogo/uploadLogo.tsx","../src/components/searchbar/searchbar.tsx","../src/components/input/input.tsx","../src/components/modal/modal.tsx","../src/components/modal/modalButtons.tsx","../src/components/modal/modalDownloadIcon.tsx","../src/components/modal/modalHeading.tsx","../src/components/modal/modalLabel.tsx","../src/components/modal/modalStatusIcon.tsx","../src/components/SortByDropdown/sortButton.tsx","../src/components/SortByDropdown/sortByDropdown.tsx","../src/hooks/debounce/useDebounce.tsx","../src/components/myLogo/myLogo.tsx","../src/components/leftMenu/leftMenu.tsx","../src/components/loader/loader.tsx","../src/components/Rightmenu/icons.tsx","../src/components/Rightmenu/Layers.tsx","../src/components/Rightmenu/constants.ts","../src/components/canvas/errorPopUp.tsx","../src/components/Rightmenu/TextProperties.tsx","../src/components/Rightmenu/Properties.tsx","../src/services/path-warp.js","../src/components/Rightmenu/Rightmenu1.tsx","../src/components/addMascot/listDropDown.tsx","../src/components/addMascot/mockData.ts","../src/components/addMascot/decorationService.ts","../src/components/addMascot/addMascot.tsx","../src/components/saveDesign/saveDesignModal.tsx","../src/components/input/customInput.tsx","../src/components/saveDesign/saveDesign.tsx","../src/hooks/outsideAlerter.tsx","../src/components/leftMenu/colorPicker.tsx","../src/components/middleMenu/middleMenu.tsx","../src/loaders/FontLoader.tsx","../src/LogoEditor.tsx"],"sourcesContent":["import React from 'react';\r\nimport { IconContext, IconType } from 'react-icons';\r\nimport { Button, Tooltip, TooltipReference, useTooltipState } from 'reakit';\r\n\r\nexport interface IconButtonProps\r\n extends Exclude<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\r\n icon?: React.ReactElement<IconType>;\r\n label: string;\r\n}\r\nconst Icon = React.forwardRef<HTMLButtonElement, IconButtonProps>(\r\n ({ label, icon, className, ...props }, ref) => {\r\n const tooltip = useTooltipState({ placement: 'top' });\r\n return (\r\n <>\r\n <TooltipReference\r\n ref={ref}\r\n {...props}\r\n {...tooltip}\r\n as={Button}\r\n className={`${className} flex relative items-center justify-center align-middle w-auto text-sm font-semibold h-5 first:rounded-l last:rounded-r focus:outline-none`}\r\n aria-label={label}\r\n >\r\n {icon}\r\n </TooltipReference>\r\n {label && label !== '' && (\r\n <Tooltip\r\n {...tooltip}\r\n className={`font-[Roboto-Medium] font-medium mb-[5px] text-[13px] capitalize before:content-[''] before:absolute before:top-[80%] before:left-[calc(50%-7px)] before:bg-[#fce8eb] before:rotate-[44deg] before:border before:border-b-[#f3a2af] before:border-r-[#f3a2af] before:border-l-transparent before:rounded-none before:border-t-transparent before:h-[14px] before:w-[14px] !z-[100] inline-block px-3 py-2 text-[#5d5d5d] transition-opacity duration-300 bg-[#fce8eb] shadow-sm border border-[#f3a2af]`}\r\n style={{ zIndex: 10 }}\r\n >\r\n {label}\r\n </Tooltip>\r\n )}\r\n </>\r\n );\r\n }\r\n);\r\n\r\nexport const IconButton = ({\r\n label,\r\n\r\n className,\r\n size = '2rem',\r\n icon = undefined,\r\n ...props\r\n}) => {\r\n return (\r\n <IconContext.Provider\r\n value={{\r\n size: size,\r\n className: 'pointer-events-auto cursor-pointer',\r\n }}\r\n >\r\n <Icon label={label} icon={icon} className={className} {...props} />\r\n </IconContext.Provider>\r\n );\r\n};\r\n\r\n\r\nexport {\r\n IoIosColorPalette,\r\n IoMdCheckmarkCircle,\r\n IoIosArrowForward,\r\n} from 'react-icons/io';\r\nexport { HiOutlineDownload, HiDotsVertical } from 'react-icons/hi';\r\nexport {\r\n FaRegSave,\r\n FaRegShareSquare,\r\n FaPlus,\r\n FaRegListAlt,\r\n FaEye,\r\n FaEyeSlash,\r\n} from 'react-icons/fa';\r\nexport { BiReset, BiAddToQueue } from 'react-icons/bi';\r\nexport { GiBilledCap, GiCardboardBox } from 'react-icons/gi';\r\nexport { TbWindowMinimize } from 'react-icons/tb';\r\nexport { RxCross2 } from 'react-icons/rx';\r\nexport { IoInformationCircleOutline, IoLogInOutline } from 'react-icons/io5';\r\nexport { CgMenuBoxed } from 'react-icons/cg';\r\nexport { IoIosInformationCircleOutline } from 'react-icons/io';\r\nexport { LuFlipHorizontal2, LuFlipVertical2 } from 'react-icons/lu';\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const HorizontalFlip = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '25.969',\r\n height: '22.478',\r\n viewBox: '0 0 25.969 22.478',\r\n },\r\n child: [\r\n // {\r\n // tag: 'defs',\r\n // attr: {},\r\n // child: [\r\n // {\r\n // tag: 'clipPath',\r\n // attr: { id: 'a' },\r\n // child: [\r\n // {\r\n // tag: 'path',\r\n // attr: { fill: '#353535', d: 'M0 0h25.969v22.478H0z' },\r\n // child: [],\r\n // },\r\n // ],\r\n // },\r\n // ],\r\n // },\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: { d: 'm25.969 3.647-10.359 8.46 10.359 8.632Z' },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M0 3.469v17.276l10.366-8.466L0 3.469m1.719 3.593 5.914 5.218-5.914 4.87Z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: { d: 'M12.151 0h1.683v1.674h-1.683z' },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: { d: 'M12.154 3.462h1.677v1.686h-1.677z' },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: { d: 'M12.152 6.937h1.68v1.671h-1.68z' },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: { d: 'M12.144 10.406h1.679v1.669h-1.679z' },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: { d: 'M12.149 13.869h1.686v1.678h-1.686z' },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: { d: 'M12.143 17.334h1.686v1.683h-1.686z' },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: { d: 'M12.154 20.8h1.668v1.678h-1.668z' },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const VerticalFlip = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '45',\r\n height: '45',\r\n viewBox: '0 0 45 45',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { fill: '#fff', stroke: '#ebebeb' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M0 0h45v45H0z',\r\n stroke: 'none',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n fill: 'none',\r\n d: 'M.5.5h44v44H.5z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n transform: 'rotate(90 12.239 21.239)',\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'm0 3.647 10.359 8.46L0 20.74Z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M25.969 3.469v17.276L15.603 12.28l10.366-8.811M24.25 7.062l-5.914 5.218 5.914 4.87Z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M12.135 0h1.683v1.674h-1.683z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M12.138 3.462h1.677v1.686h-1.677z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M12.136 6.937h1.68v1.671h-1.68z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M12.146 10.406h1.679v1.669h-1.679z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M12.134 13.869h1.686v1.678h-1.686z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M12.14 17.334h1.686v1.683H12.14z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M12.147 20.8h1.668v1.678h-1.668z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const Error = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '30',\r\n height: '30',\r\n viewBox: '0 0 30 30',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { transform: 'translate(-150 -259)' },\r\n child: [\r\n {\r\n tag: 'circle',\r\n attr: {\r\n cx: '15',\r\n cy: '15',\r\n r: '15',\r\n transform: 'translate(150 259)',\r\n fill: '#e11a38',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n fill: 'none',\r\n stroke: '#fff',\r\n 'stroke-linecap': 'round',\r\n 'stroke-width': '2',\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: { d: 'm160.439 278.488 9.484-9.484' },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: { d: 'm169.922 278.488-9.484-9.484' },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const RLogo = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '36.672',\r\n height: '34.349',\r\n viewBox: '0 0 36.672 34.349',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { id: 'a' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n fill: 'none',\r\n fillRule: 'evenodd',\r\n transform:\"translate(-0.001)\",\r\n d: 'M1.99,0H29.149a1.993,1.993,0,0,1,1.99,1.99V29.011a1.986,1.986,0,0,1-.584,1.4v0A1.985,1.985,0,0,1,29.149,31H1.99A1.993,1.993,0,0,1,0,29.011V1.99A1.983,1.983,0,0,1,.585.587v0A1.985,1.985,0,0,1,1.99,0',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n fill: 'none',\r\n stroke: '#fff',\r\n fillRule: 'evenodd',\r\n transform:\"translate(-1.117 -1.116)\",\r\n strokeWidth: '2px',\r\n d: 'M2.526,2.442l-.043.043a.875.875,0,0,0-.26.62V30.127a.887.887,0,0,0,.882.882h27.16a.877.877,0,0,0,.58-.219l.043-.043a.876.876,0,0,0,.26-.621V3.105a.887.887,0,0,0-.882-.882H3.105a.876.876,0,0,0-.579.219',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n fill: '#fff',\r\n fillRule: 'evenodd',\r\n transform:\"translate(-3.386 -6.517)\",\r\n d: 'M17.761,19.938a.317.317,0,0,1-.064.191c-.009.011-.018.023-.028.035a28.71,28.71,0,0,0-5.566,10.1.408.408,0,0,1-.425.267c-.479,0-3.211-.01-4.535-.01-.325,0-.353-.273-.242-.526a52.346,52.346,0,0,1,7.018-9.774,2.034,2.034,0,0,1,1.665-.577c.288-.018,1.3-.034,1.86-.019a.317.317,0,0,1,.317.317m11.5,7.6h0a26.686,26.686,0,0,1,1.788,2.517c.172.193.163.475-.13.475H25.887a.593.593,0,0,1-.5-.279c-.041-.059-.084-.118-.128-.178-2.739-4.256-4.547-5.186-8.643-6.328a.289.289,0,0,1-.153-.4,16.3,16.3,0,0,1,.994-1.485.424.424,0,0,1,.243-.113,10.774,10.774,0,0,0,2.58-.144c2.338-.627,2.872-2,2.789-2.969-.021-1.525-1.992-2.28-5.547-2.214-2.524,0-3.5-.036-6.741-.033-1.269.025-2.793-.712-3.965-2.816-.193-.339.02-.591.242-.585,2.812.029,9.023-.022,13.067.079,6.085.309,7.622,2.866,7.7,5.1.041,3.026-2.349,4.423-3.37,5.1a18.519,18.519,0,0,1,4.805,4.272',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const MyLogo = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '26.381',\r\n height: '23.778',\r\n viewBox: '0 0 26.381 23.778',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { id: 'a' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n strokeWidth:\"1\",\r\n d: 'M19.698 7.853c.571-.475 1.11-.938 1.664-1.382a22.426 22.426 0 0 1 3.1-2.231 2.543 2.543 0 0 1 .612-.246.621.621 0 0 1 .769.8 4.073 4.073 0 0 1-.4.893 27.867 27.867 0 0 1-2.478 3.343c-.795.962-1.61 1.906-2.411 2.863a.509.509 0 0 0-.111.285 11.208 11.208 0 0 1-4.658 8.872 11.121 11.121 0 0 1-5.4 2.144 10.707 10.707 0 0 1-6.8-1.464 6.79 6.79 0 0 1-2.179-1.877 4.01 4.01 0 0 1-.491-4.3 3.571 3.571 0 0 1 1.06-1.273c.414-.331.841-.646 1.244-.989a1.774 1.774 0 0 0 .645-1.65 1.75 1.75 0 0 0-.635-1.151c-.374-.316-.76-.618-1.149-.914A3.763 3.763 0 0 1 .518 6.224a4.115 4.115 0 0 1 .855-2.262 7.56 7.56 0 0 1 2.733-2.204A11.038 11.038 0 0 1 8.162.542a10.878 10.878 0 0 1 4.744.658 11.321 11.321 0 0 1 4.686 3.2 11.249 11.249 0 0 1 2 3.214c.03.074.064.146.108.245m-.282 5.322c-.092.1-.143.148-.192.2-.958 1.023-1.91 2.052-2.879 3.066a1.725 1.725 0 0 0-.558.945 1.758 1.758 0 0 1-.121.361 4.187 4.187 0 0 1-2.709 2.693 7.042 7.042 0 0 1-4.627-.317.433.433 0 0 1-.291-.515.464.464 0 0 1 .452-.388 1.061 1.061 0 0 0 .994-.853c.161-.6.286-1.213.448-1.814a3.442 3.442 0 0 1 .8-1.513 3.653 3.653 0 0 1 2.092-1.027.823.823 0 0 0 .4-.195c.952-.9 1.884-1.816 2.841-2.707.9-.841 1.83-1.656 2.746-2.483.069-.062.134-.105.087-.231a10.636 10.636 0 0 0-2.107-3.49 10.45 10.45 0 0 0-3.874-2.7 10.109 10.109 0 0 0-4.27-.765 10 10 0 0 0-4.044 1.106 6.858 6.858 0 0 0-2.52 2.016 3.015 3.015 0 0 0 .526 4.236c.338.253.671.514 1 .778a2.9 2.9 0 0 1 1.061 1.408 2.668 2.668 0 0 1-.767 2.935c-.429.393-.9.737-1.362 1.1A2.9 2.9 0 0 0 1.66 18.4a4.238 4.238 0 0 0 1.474 1.875 9.636 9.636 0 0 0 6.836 2.016 10.206 10.206 0 0 0 4.484-1.48 10.431 10.431 0 0 0 4.233-4.893 9.948 9.948 0 0 0 .729-2.745m5.19-7.862-.074-.074a99.034 99.034 0 0 0-10.583 9.169l1.591 1.545a98.291 98.291 0 0 0 9.066-10.64M9.871 19.6a6.541 6.541 0 0 0 2 .118 3.378 3.378 0 0 0 1.869-.76 3.885 3.885 0 0 0 1.183-1.969.286.286 0 0 0-.077-.334c-.441-.431-.87-.874-1.306-1.311-.475-.477-.477-.478-1.117-.271a2.024 2.024 0 0 0-1.338 1.1 12.7 12.7 0 0 0-.425 1.313c-.163.536-.305 1.079-.483 1.611a2.526 2.526 0 0 1-.311.5',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M15.289 10.865a2.043 2.043 0 0 1-1.97-2.233 2.052 2.052 0 1 1 1.97 2.233m1.18-2.029a1.112 1.112 0 0 0-2.224-.01 1.124 1.124 0 0 0 1.123 1.1 1.093 1.093 0 0 0 1.1-1.094',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M5.279 9.17a2.037 2.037 0 1 1 2.036-2.152A2.031 2.031 0 0 1 5.279 9.17m-.011-.939a1.1 1.1 0 1 0-1.109-1.11 1.1 1.1 0 0 0 1.109 1.11',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M8.679 5.605a2.048 2.048 0 1 1 2.064 2.006 2.024 2.024 0 0 1-2.064-2.006m.934-.03a1.115 1.115 0 1 0 1.1-1.1 1.117 1.117 0 0 0-1.1 1.1',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n fill: '#5d5d5d',\r\n\r\n fillRule: 'evenodd',\r\n\r\n transform: 'translate(-78.659 -351.017)',\r\n d: 'M7.895 17.255a2.045 2.045 0 1 1-2.079-2.031 2.032 2.032 0 0 1 2.079 2.031m-.934.021a1.111 1.111 0 1 0-1.131 1.091 1.108 1.108 0 0 0 1.131-1.091',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const AddText = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '21',\r\n height: '21',\r\n viewBox: '0 0 21 21',\r\n },\r\n\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M16 19H2V5h9V3H2a2.006 2.006 0 0 0-2 2v14a2.006 2.006 0 0 0 2 2h14a2.006 2.006 0 0 0 2-2v-9h-2Zm2-16V0h-2v3h-3c.01.01 0 2 0 2h3v2.99c.01.01 2 0 2 0V5h3V3Z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M8.438 15.791v-5.365h-.889v.859h-1.8c0-.643-.027-1.281.009-1.914a.841.841 0 0 1 .858-.762q2.725-.01 5.45 0a.841.841 0 0 1 .857.764c.036.634.009 1.271.009 1.919h-1.784v-.862h-.9v5.361Z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\nexport const FlipH = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '24',\r\n height: '20.774',\r\n viewBox: '0 0 24 20.774',\r\n },\r\n child: [\r\n {\r\n tag: 'defs',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'clipPath',\r\n attr: { id: 'clip-path' },\r\n child: [\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_336',\r\n 'data-name': 'Rectangle 336',\r\n width: '24',\r\n height: '20.774',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_1196',\r\n 'data-name': 'Group 1196',\r\n transform: 'translate(24 20.774) rotate(180)',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_577',\r\n 'data-name': 'Group 577',\r\n transform: 'translate(0 0)',\r\n 'clip-path': 'url(#clip-path)',\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4546',\r\n 'data-name': 'Path 4546',\r\n d: 'M0,15.8,9.574,7.978,0,0Z',\r\n transform: 'translate(0 1.606)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4547',\r\n 'data-name': 'Path 4547',\r\n d: 'M9.58,15.967V0L0,7.824l9.58,8.143M7.991,12.646,2.525,7.823l5.466-4.5Z',\r\n transform: 'translate(14.42 1.601)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_329',\r\n 'data-name': 'Rectangle 329',\r\n width: '1.556',\r\n height: '1.547',\r\n transform: 'translate(11.215 19.227)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_330',\r\n 'data-name': 'Rectangle 330',\r\n width: '1.549',\r\n height: '1.559',\r\n transform: 'translate(11.218 16.016)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_331',\r\n 'data-name': 'Rectangle 331',\r\n width: '1.553',\r\n height: '1.544',\r\n transform: 'translate(11.216 12.818)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_332',\r\n 'data-name': 'Rectangle 332',\r\n width: '1.551',\r\n height: '1.542',\r\n transform: 'translate(11.226 9.615)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_333',\r\n 'data-name': 'Rectangle 333',\r\n width: '1.559',\r\n height: '1.551',\r\n transform: 'translate(11.214 6.405)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_334',\r\n 'data-name': 'Rectangle 334',\r\n width: '1.559',\r\n height: '1.555',\r\n transform: 'translate(11.219 3.198)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_335',\r\n 'data-name': 'Rectangle 335',\r\n width: '1.542',\r\n height: '1.551',\r\n transform: 'translate(11.226 0)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n// https://www.svgviewer.dev/ use this website to compress and load the paths\r\n// source: https://raw.githubusercontent.com/alisamar/react-icons-all-files/master/ai/AiFillAccountBook.esm.js\r\nexport const FlipV = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '20.774',\r\n height: '24',\r\n viewBox: '0 0 20.774 24',\r\n },\r\n child: [\r\n {\r\n tag: 'defs',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'clipPath',\r\n attr: { id: 'clip-path' },\r\n child: [\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_336',\r\n 'data-name': 'Rectangle 336',\r\n width: '24',\r\n height: '20.774',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_1195',\r\n 'data-name': 'Group 1195',\r\n transform: 'translate(0 24) rotate(-90)',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_577',\r\n 'data-name': 'Group 577',\r\n transform: 'translate(0 0)',\r\n 'clip-path': 'url(#clip-path)',\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4546',\r\n 'data-name': 'Path 4546',\r\n d: 'M0,15.8,9.574,7.978,0,0Z',\r\n transform: 'translate(0 1.606)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4547',\r\n 'data-name': 'Path 4547',\r\n d: 'M9.58,15.967V0L0,7.824l9.58,8.143M7.991,12.646,2.525,7.823l5.466-4.5Z',\r\n transform: 'translate(14.42 1.601)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_329',\r\n 'data-name': 'Rectangle 329',\r\n width: '1.556',\r\n height: '1.547',\r\n transform: 'translate(11.215 19.227)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_330',\r\n 'data-name': 'Rectangle 330',\r\n width: '1.549',\r\n height: '1.559',\r\n transform: 'translate(11.218 16.016)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_331',\r\n 'data-name': 'Rectangle 331',\r\n width: '1.553',\r\n height: '1.544',\r\n transform: 'translate(11.216 12.818)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_332',\r\n 'data-name': 'Rectangle 332',\r\n width: '1.551',\r\n height: '1.542',\r\n transform: 'translate(11.226 9.615)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_333',\r\n 'data-name': 'Rectangle 333',\r\n width: '1.559',\r\n height: '1.551',\r\n transform: 'translate(11.214 6.405)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_334',\r\n 'data-name': 'Rectangle 334',\r\n width: '1.559',\r\n height: '1.555',\r\n transform: 'translate(11.219 3.198)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_335',\r\n 'data-name': 'Rectangle 335',\r\n width: '1.542',\r\n height: '1.551',\r\n transform: 'translate(11.226 0)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\nexport const SelectAll = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '18.641',\r\n height: '18.063',\r\n viewBox: '0 0 18.641 18.063',\r\n className: 'group',\r\n ...props,\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { 'data-name': 'Group 1075' },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n fill: 'none',\r\n stroke: '#5d5d5d',\r\n strokeWidth: '1',\r\n },\r\n child: [\r\n {\r\n tag: 'rect',\r\n attr: { width: '16', height: '16', rx: '4', stroke: 'none' },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n x: '.75',\r\n y: '.75',\r\n width: '14.5',\r\n height: '14.5',\r\n rx: '3.25',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'm7.049 8.602.146-.137 3.2-3.2a.766.766 0 0 1 .5-.267.652.652 0 0 1 .539 1.082c-.03.035-.064.066-.1.1l-3.836 3.829a.664.664 0 0 1-1.1-.068c-.415-.549-.826-1.1-1.24-1.649a.657.657 0 0 1-.083-.755.65.65 0 0 1 1.085-.093c.253.311.486.638.728.959l.151.2',\r\n className: 'group-hover:fill-[#E11A38]',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M5.892 18.063c-.1-.023-.2-.043-.3-.07a1.976 1.976 0 0 1-1.385-1.249h10.599a2.39 2.39 0 0 0 2.327-1.536 2.873 2.873 0 0 0 .177-.988c.013-2.859.008-5.717.008-8.576V3.671a1.652 1.652 0 0 1 .708.43 1.927 1.927 0 0 1 .58 1.124.871.871 0 0 0 .033.114v9.182a1.686 1.686 0 0 0-.031.167 3.713 3.713 0 0 1-2.515 3.16 10.1 10.1 0 0 1-1 .214Z',\r\n className: 'group-hover:fill-[#E11A38]',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const Copy = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n id: 'ICONS',\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '23.063',\r\n height: '23.063',\r\n viewBox: '0 0 23.063 23.063',\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_3956',\r\n 'data-name': 'Path 3956',\r\n d: 'M17.912,5.252a1.2,1.2,0,0,0,.026-.127A5.13,5.13,0,0,0,12.813,0H6.406A6.414,6.414,0,0,0,0,6.406v6.406a5.13,5.13,0,0,0,5.125,5.125,1.192,1.192,0,0,0,.127-.026,6.415,6.415,0,0,0,6.279,5.151h5.125a6.414,6.414,0,0,0,6.406-6.406V11.531a6.415,6.415,0,0,0-5.151-6.279ZM5.125,11.531v3.844a2.565,2.565,0,0,1-2.562-2.562V6.406A3.848,3.848,0,0,1,6.406,2.563h6.406a2.565,2.565,0,0,1,2.563,2.563H11.531a6.414,6.414,0,0,0-6.406,6.406ZM20.5,16.656A3.848,3.848,0,0,1,16.656,20.5H11.531a3.848,3.848,0,0,1-3.844-3.844V11.531a3.848,3.848,0,0,1,3.844-3.844h5.125A3.848,3.848,0,0,1,20.5,11.531Z',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const SendToBack = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '26.552',\r\n height: '23.495',\r\n viewBox: '0 0 26.552 23.495',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_654',\r\n 'data-name': 'Group 654',\r\n transform: 'translate(-17856.939 13913.36)',\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4583',\r\n 'data-name': 'Path 4583',\r\n d: 'M0,0H14.069V14.069H0Z',\r\n transform: 'translate(17861.625 -13909.535)',\r\n fill: '#cecece',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_387',\r\n 'data-name': 'Rectangle 387',\r\n width: '10.72',\r\n height: '7.664',\r\n transform: 'translate(17857.939 -13912.36)',\r\n fill: 'none',\r\n stroke: '#5d5d5d',\r\n 'stroke-miterlimit': '10',\r\n 'stroke-width': '2',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_388',\r\n 'data-name': 'Rectangle 388',\r\n width: '10.72',\r\n height: '7.664',\r\n transform: 'translate(17871.771 -13898.529)',\r\n fill: 'none',\r\n stroke: '#5d5d5d',\r\n 'stroke-miterlimit': '10',\r\n 'stroke-width': '2',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const SendToFront = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '26.551',\r\n height: '23.495',\r\n viewBox: '0 0 26.551 23.495',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_651',\r\n 'data-name': 'Group 651',\r\n transform: 'translate(-1140.036 -318.639)',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_647',\r\n 'data-name': 'Group 647',\r\n transform: 'translate(1140.643 319.246)',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_646',\r\n 'data-name': 'Group 646',\r\n transform: 'translate(0 0)',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_648',\r\n 'data-name': 'Group 648',\r\n },\r\n child: [\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_387',\r\n 'data-name': 'Rectangle 387',\r\n width: '10.72',\r\n height: '7.664',\r\n transform: 'translate(0.393 0.393)',\r\n fill: 'none',\r\n stroke: '#5d5d5d',\r\n 'stroke-miterlimit': '10',\r\n 'stroke-width': '2',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_388',\r\n 'data-name': 'Rectangle 388',\r\n width: '10.72',\r\n height: '7.664',\r\n transform: 'translate(14.225 14.225)',\r\n fill: 'none',\r\n stroke: '#5d5d5d',\r\n 'stroke-miterlimit': '10',\r\n 'stroke-width': '2',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_390',\r\n 'data-name': 'Rectangle 390',\r\n width: '14.069',\r\n height: '14.069',\r\n transform: 'translate(4.078 3.89)',\r\n fill: '#cecece',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\nexport const SendAObject = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '23.097',\r\n height: '22.481',\r\n viewBox: '0 0 23.097 22.481',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_653',\r\n 'data-name': 'Group 653',\r\n transform: 'translate(-1140.475 -411.367)',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_642',\r\n 'data-name': 'Group 642',\r\n transform: 'translate(1127.096 398.368)',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_643',\r\n 'data-name': 'Group 643',\r\n transform: 'translate(13.932 13.552)',\r\n },\r\n child: [\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_383',\r\n 'data-name': 'Rectangle 383',\r\n width: '16',\r\n height: '16',\r\n transform: 'translate(0.447 0.447)',\r\n fill: 'none',\r\n stroke: '#5d5d5d',\r\n 'stroke-miterlimit': '10',\r\n 'stroke-width': '2',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_385',\r\n 'data-name': 'Rectangle 385',\r\n width: '16',\r\n height: '16',\r\n transform: 'translate(1147.572 417.848)',\r\n fill: '#cecece',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\nexport const SendUnderObject = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '23.097',\r\n height: '22.481',\r\n viewBox: '0 0 23.097 22.481',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_652',\r\n 'data-name': 'Group 652',\r\n transform: 'translate(-1140.475 -369.367)',\r\n },\r\n child: [\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_386',\r\n 'data-name': 'Rectangle 386',\r\n width: '16',\r\n height: '16',\r\n transform: 'translate(1147.572 375.848)',\r\n fill: '#cecece',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_644',\r\n 'data-name': 'Group 644',\r\n transform: 'translate(1127.096 356.368)',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_643',\r\n 'data-name': 'Group 643',\r\n transform: 'translate(13.932 13.552)',\r\n },\r\n child: [\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_383',\r\n 'data-name': 'Rectangle 383',\r\n width: '16',\r\n height: '16',\r\n transform: 'translate(0.447 0.447)',\r\n fill: 'none',\r\n stroke: '#5d5d5d',\r\n 'stroke-miterlimit': '10',\r\n 'stroke-width': '2',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const EyeDropper = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '21.595',\r\n height: '21.61',\r\n viewBox: '0 0 21.595 21.61',\r\n },\r\n child: [\r\n {\r\n tag: 'defs',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'clipPath',\r\n attr: { id: 'a' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: { d: 'M0 0h21.595v21.61H0z' },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'g',\r\n attr: { 'clip-path': 'url(#a)' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M1.228 21.609a2.184 2.184 0 0 1-1.019-.812.946.946 0 0 1-.009-1.18q.455-.7.922-1.386a3.7 3.7 0 0 0 .667-1.553 5.591 5.591 0 0 0 .054-.608 2.553 2.553 0 0 1 .814-1.771q3.351-3.342 6.7-6.692a2.115 2.115 0 0 1 .222-.168c-.232-.224-.428-.405-.615-.6a.509.509 0 0 1-.008-.81q.925-.938 1.862-1.865a.507.507 0 0 1 .812 0q2.91 2.9 5.813 5.814a.509.509 0 0 1 0 .812q-.926.937-1.864 1.863a.508.508 0 0 1-.81 0c-.2-.192-.381-.393-.58-.6-.06.05-.1.082-.141.119-2.268 2.244-4.543 4.48-6.8 6.737a2.813 2.813 0 0 1-2.027.876 2.969 2.969 0 0 0-1.611.549c-.5.331-.99.667-1.492.99a5.8 5.8 0 0 1-.556.281Zm2.234-3.431a5.564 5.564 0 0 1 1.852-.385.8.8 0 0 0 .473-.228q3.425-3.372 6.836-6.758a.764.764 0 0 1 .128-.091l-1.869-1.881a1.682 1.682 0 0 1-.132.166q-3.233 3.237-6.473 6.466a1.283 1.283 0 0 0-.483 1.1.6.6 0 0 1-.021.188c-.1.47-.206.94-.312 1.422',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M21.595 4.022c-.052.217-.1.436-.157.649a3.645 3.645 0 0 1-.967 1.581q-1.1 1.094-2.191 2.19a.537.537 0 0 1-.9 0l-4.217-4.218a.531.531 0 0 1 0-.885c.806-.8 1.585-1.636 2.429-2.4a3.378 3.378 0 0 1 3.571-.712 3.5 3.5 0 0 1 2.388 2.854c.011.061.029.121.044.181Z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\nexport const Delete = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n id: 'ICONS',\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '18',\r\n height: '18',\r\n viewBox: '0 0 18 18',\r\n ...props,\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_3953',\r\n 'data-name': 'Path 3953',\r\n d: 'M7,8A1,1,0,0,0,6,9v4a1,1,0,0,0,2,0V9A1,1,0,0,0,7,8Z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_3954',\r\n 'data-name': 'Path 3954',\r\n d: 'M11,8a1,1,0,0,0-1,1v4a1,1,0,0,0,2,0V9a1,1,0,0,0-1-1Z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_3955',\r\n 'data-name': 'Path 3955',\r\n d: 'M17,4H13A4,4,0,1,0,5,4H1A1,1,0,0,0,1,6H2v9a3,3,0,0,0,3,3h8a3,3,0,0,0,3-3V6h1a1,1,0,0,0,0-2ZM9,2a2,2,0,0,1,2,2H7A2,2,0,0,1,9,2Zm5,13a1,1,0,0,1-1,1H5a1,1,0,0,1-1-1V6H14Z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n// https://www.svgviewer.dev/ use this website to compress and load the paths\r\n// source: https://raw.githubusercontent.com/alisamar/react-icons-all-files/master/ai/AiFillAccountBook.esm.js\r\nexport const SnapToCenter = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n id: 'Group_1194',\r\n 'data-name': 'Group 1194',\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '24',\r\n height: '24.006',\r\n viewBox: '0 0 24 24.006',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_1196',\r\n 'data-name': 'Group 1196',\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4767',\r\n 'data-name': 'Path 4767',\r\n d: 'M0,346.174c.043,0,.085-.008.128-.008H1.519v-1.494h1.5c.008.124,0,.248,0,.371s0,.25,0,.375v.748h1.5v1.5H6.01v1.493c-.251.016-.5.005-.747.007s-.49,0-.737,0c0,.041-.007.068-.007.1q0,.679,0,1.359c0,.019,0,.039,0,.058H0Zm3.013,2.98v-1.476a14.331,14.331,0,0,0-1.485,0v1.473Z',\r\n transform: 'translate(0 -326.668)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4768',\r\n 'data-name': 'Path 4768',\r\n d: 'M0,.006C.047,0,.093,0,.14,0H4.517V1.5H6.009v1.5C5.847,3,5.684,3,5.522,3h-1V4.486c-.05,0-.091.008-.131.008H3.022V5.975a14.076,14.076,0,0,1-1.5,0V4.5c-.042,0-.072-.009-.1-.009H.08A.586.586,0,0,0,0,4.506V.006M1.527,2.987c.175.022,1.4.016,1.485-.007V1.5H1.527Z',\r\n transform: 'translate(0 0)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4769',\r\n 'data-name': 'Path 4769',\r\n d: 'M346.317,350.672l0-1.371c0-.042,0-.084,0-.138h-1.479c-.026-.1-.034-1.291-.012-1.5.245-.014.493,0,.741-.006s.49,0,.75,0v-1.5h1.5V344.67h1.5c0,.164,0,.327,0,.489s0,.328,0,.492v.507c.13.01.254,0,.376.005s.242,0,.363,0h.741c0,.047.007.081.007.115q0,2.156,0,4.312c0,.027,0,.054-.006.082Zm1.5-3.005v1.476a13.253,13.253,0,0,0,1.483,0c.022-.162.015-1.384-.009-1.472Z',\r\n transform: 'translate(-326.798 -326.666)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4770',\r\n 'data-name': 'Path 4770',\r\n d: 'M350.993,4.5h-1.477V5.98a13.306,13.306,0,0,1-1.5,0V4.5h-1.493V3.014c-.256-.019-.5-.006-.752-.009s-.49,0-.743,0V1.5h1.49V.038l.017-.018s.006-.007.009-.007A.5.5,0,0,1,346.6.007h4.358a.189.189,0,0,1,.039.01Zm-2.977-1.515a14.117,14.117,0,0,0,1.489,0V1.518a13.475,13.475,0,0,0-1.489.01Z',\r\n transform: 'translate(-327 -0.007)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4771',\r\n 'data-name': 'Path 4771',\r\n d: 'M177.4,181.788a4.769,4.769,0,1,1,4.774-4.743,4.768,4.768,0,0,1-4.774,4.743m0-2.386a2.383,2.383,0,1,0-2.378-2.388A2.391,2.391,0,0,0,177.4,179.4',\r\n transform: 'translate(-165.386 -165.023)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4772',\r\n 'data-name': 'Path 4772',\r\n d: 'M172.573,28.8h1.482v1.474c-.088.023-1.322.03-1.471.008-.024-.086-.033-1.236-.011-1.483',\r\n transform: 'translate(-163.546 -27.296)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4773',\r\n 'data-name': 'Path 4773',\r\n d: 'M258.685,28.8h1.482v1.474c-.088.023-1.324.03-1.472.008-.024-.086-.033-1.239-.01-1.483',\r\n transform: 'translate(-245.16 -27.297)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4774',\r\n 'data-name': 'Path 4774',\r\n d: 'M402.37,172.387h1.486v1.472c-.094.024-1.376.026-1.486,0Z',\r\n transform: 'translate(-381.352 -163.382)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4775',\r\n 'data-name': 'Path 4775',\r\n d: 'M30.729,173.749H29.244v-1.49h1.485Z',\r\n transform: 'translate(-27.716 -163.261)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4776',\r\n 'data-name': 'Path 4776',\r\n d: 'M174.28,403.369H172.8V401.9a14.178,14.178,0,0,1,1.483,0Z',\r\n transform: 'translate(-163.771 -380.883)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4777',\r\n 'data-name': 'Path 4777',\r\n d: 'M258.714,402.039h1.466c.023.089.03,1.31.009,1.471a13.52,13.52,0,0,1-1.466.014,14.287,14.287,0,0,1-.009-1.485',\r\n transform: 'translate(-245.186 -381.038)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4778',\r\n 'data-name': 'Path 4778',\r\n d: 'M29.194,259.847V258.38a14.3,14.3,0,0,1,1.487-.006v1.473Z',\r\n transform: 'translate(-27.669 -244.862)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4779',\r\n 'data-name': 'Path 4779',\r\n d: 'M402.241,258.521h1.465c.023.088.028,1.336.007,1.47-.083.024-1.261.033-1.467.012a13.357,13.357,0,0,1-.006-1.482',\r\n transform: 'translate(-381.212 -245.017)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import React from 'react';\r\nimport { toast } from 'react-toastify';\r\nexport interface toastGenProps {\r\n type: 'Error' | 'Info' | 'Warning' | 'Success';\r\n message: string;\r\n}\r\nimport { Error } from '../icon';\r\n\r\nexport function CustomToast(\r\n type: 'info' | 'error' | 'warning' | 'success',\r\n message: string,\r\n toastId: number,\r\n style?: React.CSSProperties\r\n) {\r\n switch (type) {\r\n case 'info':\r\n return toast.info(toastGen({ type: 'Info', message }), {\r\n toastId,\r\n style,\r\n });\r\n case 'error':\r\n return toast.error(toastGen({ type: 'Error', message }), {\r\n toastId,\r\n icon: Error,\r\n style,\r\n });\r\n case 'success':\r\n return toast.success(toastGen({ type: 'Success', message }), {\r\n toastId,\r\n style,\r\n });\r\n case 'warning':\r\n return toast.warning(toastGen({ type: 'Warning', message }), {\r\n toastId,\r\n style,\r\n });\r\n }\r\n}\r\nexport const toastGen = ({ type, message }: toastGenProps) => (\r\n <div>\r\n <div className=\"text-base font-bold leading-[22px]\">{type}</div>\r\n <div className=\"text-sm font-medium leading-[22px]\">{message}</div>\r\n </div>\r\n);\r\n","import { CustomToast as e } from '../../components/customToast';\r\n\r\nexport interface ToastMessages {\r\n deleteLogoSuccess: () => void;\r\n error: (message: string) => void;\r\n saveSuccess: () => void;\r\n somethingWentWrong: () => void;\r\n success: (message: string) => void;\r\n updateLogoSuccess: () => void;\r\n updateSuccess: () => void;\r\n warning: (message: string) => void;\r\n noOfColors: () => void;\r\n noIteminCanvas: () => void;\r\n}\r\n\r\nexport const toastMessages: ToastMessages =\r\n // prettier-ignore\r\n {\r\n deleteLogoSuccess: () => e('success', 'Logo deleted successfully!', 1),\r\n error: (message) => e('success', message, 2),\r\n saveSuccess: () => e('success', 'You have successfully saved your Logo', 3,{ width: '30rem' }), \r\n somethingWentWrong: () => e('error', 'Something Went Wrong', 4),\r\n success: (message) => e('success', message, 5),\r\n updateLogoSuccess: () => e('success', 'Logo updated successfully!', 6),\r\n updateSuccess: () => e('success', 'You have successfully updated your design',7),\r\n warning: (message) => e('success', message, 8),\r\n noOfColors: () => e('error', 'Not more than 8 colors allowed!', 9),\r\n noIteminCanvas: () => e('warning', 'No item in canvas to save', 10),\r\n};\r\n","import { StateCreator } from 'zustand';\r\nimport { use3dddPlus } from '..';\r\nimport { Design } from '../customize/types';\r\nimport { ToastMessages, toastMessages } from './toastMessages';\r\nexport interface ActionSlice {\r\n displayLoginModal: boolean;\r\n showProductBreakUpModal: { status: boolean; value: any };\r\n loadDesignModal: boolean;\r\n productInfoModal: any;\r\n toastMessages: ToastMessages;\r\n toggleSaveLogo: {\r\n key: string;\r\n status: boolean;\r\n title: string;\r\n details: any;\r\n };\r\n showModalAfterLogin?: void;\r\n changeModel: () => void;\r\n editDesignInfo: () => void;\r\n saveDesignModal: () => void;\r\n setLoadDesignModal: (loadDesign: boolean) => void;\r\n setProductInfoModal: () => any;\r\n clearLayers: () => void;\r\n setToggleSaveLogo: (\r\n key: string,\r\n status: boolean,\r\n title: string,\r\n details: any\r\n ) => void;\r\n share: () => void;\r\n toggleLoginModal: () => void;\r\n confirmDesignModal: { status: boolean; value: string };\r\n setConfirmDesignModal: (status: boolean, value: string) => void;\r\n toggleSuccessfullDesign: boolean;\r\n setToggleSuccessfullDesign: () => void;\r\n selectedDesign: any;\r\n setSelectedDesign: (selected: Design) => void;\r\n saveRackSuccessfulModal: boolean;\r\n setSaveRackSuccessfulModal: () => void;\r\n setShowModalAfterLogin: (toggleAction: any) => void; //Due to current functionality, toggleAction can have callback function of different types\r\n disableUpdate: boolean;\r\n confirmUpdateDesignModal: boolean;\r\n setConfirmUpdateDesignModal: () => void;\r\n designUpdateSuccessfulModal: boolean;\r\n getListFromRack: () => boolean;\r\n toogleShowProductBreakUpModal: (status: boolean, value: any) => void;\r\n productBreakup: any[];\r\n logoSearchText: string;\r\n logoSortBy: string;\r\n logoSortDir: string;\r\n logoPageNo: number;\r\n logoPageSize: number;\r\n showCrossSave: boolean;\r\n}\r\n\r\nconst graphqlSlice: StateCreator<ActionSlice> = (set, get) => {\r\n return {\r\n displayLoginModal: false,\r\n showProductBreakUpModal: {\r\n status: false,\r\n value: {},\r\n },\r\n toastMessages: toastMessages,\r\n loadDesignModal: false,\r\n productInfoModal: false,\r\n toggleSaveLogo: { key: 'save', status: false, title: '', details: {} },\r\n showModalAfterLogin: undefined,\r\n selectedDesign: {},\r\n changeModel: () => {\r\n alert('function not implemented');\r\n },\r\n confirmDesignModal: { status: false, value: '' },\r\n confirmUpdateDesignModal: false,\r\n toggleSuccessfullDesign: false,\r\n designUpdateSuccessfulModal: false,\r\n getListFromRack: () => {\r\n return false;\r\n },\r\n setSelectedDesign: (selected) => {\r\n set({ selectedDesign: selected });\r\n },\r\n setLoadDesignModal: (loadDesign) => {\r\n set({ loadDesignModal: loadDesign });\r\n },\r\n clearLayers: () => use3dddPlus.setState({\r\n storeAllObject: [],\r\n }),\r\n setToggleSaveLogo: (key, status, title, details) => {\r\n set({\r\n toggleSaveLogo: {\r\n key: key,\r\n status: status,\r\n title: title,\r\n details: details,\r\n },\r\n });\r\n },\r\n setConfirmDesignModal: (status, value) => {\r\n set({ confirmDesignModal: { status: status, value: value } });\r\n },\r\n setConfirmUpdateDesignModal: () => {\r\n set((state) => ({\r\n confirmUpdateDesignModal: !state.confirmUpdateDesignModal,\r\n }));\r\n },\r\n setToggleSuccessfullDesign: () => {\r\n set((state) => ({\r\n toggleSuccessfullDesign: !state.toggleSuccessfullDesign,\r\n }));\r\n },\r\n setProductInfoModal: () => {\r\n set((state) => ({ productInfoModal: !state.productInfoModal }));\r\n },\r\n\r\n editDesignInfo: () => {\r\n alert('function not implemented');\r\n },\r\n // rack: () => {\r\n // alert('function not implemented');\r\n // },\r\n\r\n saveDesignModal: () => {\r\n try {\r\n use3dddPlus.setState({ current: 'saveCTA' });\r\n use3dddPlus.getState().navigateTo('savePopUp');\r\n use3dddPlus.setState({ logoName: '' });\r\n use3dddPlus.setState({ designNotes: '' });\r\n use3dddPlus.setState({ logoTag: [] });\r\n let string = '';\r\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\r\n\r\n for (let i = 0; i < 7; i++) {\r\n string += characters.charAt(\r\n Math.floor(Math.random() * characters.length)\r\n );\r\n }\r\n use3dddPlus.setState({ designNumber: string });\r\n\r\n\r\n if (!use3dddPlus.getState().customerId) {\r\n get().toggleLoginModal();\r\n get().setShowModalAfterLogin(() => {\r\n use3dddPlus\r\n .getState()\r\n .setToggleSaveLogo('save', true, 'Save Your Design', {});\r\n });\r\n return;\r\n }\r\n get().setToggleSaveLogo('save', true, 'Save Your Design', {});\r\n use3dddPlus.setState({ disableSaveButton: false });\r\n } catch {}\r\n },\r\n\r\n \r\n share: () => {\r\n alert('function not implemented');\r\n },\r\n toggleLoginModal: () => {\r\n set((state) => ({ displayLoginModal: !state.displayLoginModal }));\r\n },\r\n\r\n saveRackSuccessfulModal: false,\r\n setSaveRackSuccessfulModal: () => {\r\n set((state) => ({\r\n saveRackSuccessfulModal: !state.saveRackSuccessfulModal,\r\n }));\r\n },\r\n setShowModalAfterLogin: (toggleAction) => {\r\n use3dddPlus.setState({ showModalAfterLogin: toggleAction });\r\n },\r\n toogleShowProductBreakUpModal: (status, value) => {\r\n set({ showProductBreakUpModal: { status: status, value: value } });\r\n },\r\n disableUpdate: false,\r\n productBreakup: [],\r\n logoSearchText: '',\r\n logoSortBy: 'updated_at',\r\n logoSortDir: 'DESC',\r\n logoPageNo: 1,\r\n logoPageSize: 14,\r\n showCrossSave: false,\r\n };\r\n};\r\n\r\nexport default graphqlSlice;\r\n","import axios, { AxiosInstance, AxiosResponse } from 'axios';\r\n\r\nexport const baseURL = process.env.REACT_APP_LAMBDA_URL;\r\n\r\n// TODO remove ts-ignore; CreateAxiosDefaults<any> not building npm package. \r\n// @ts-ignore\r\nexport const instance: AxiosInstance = axios.create({\r\n baseURL: baseURL,\r\n timeout: 15000,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'jxnhh7rk7gpjtnp1o1besdaip3pd2560',\r\n },\r\n});\r\n\r\nexport const responseBody = (response: AxiosResponse) => response.data;\r\n\r\nexport const requests = {\r\n get: (url: string) => instance.get(url).then(responseBody),\r\n post: (url: string, body: {}, config?: any) => instance.post(url, body, config).then(responseBody),\r\n put: (url: string, body: {}) => instance.put(url, body).then(responseBody),\r\n delete: (url: string) => instance.delete(url).then(responseBody),\r\n};\r\n","import { StateCreator } from 'zustand';\r\nimport { requests } from '../../axios/index';\r\nimport { use3dddPlus } from '..';\r\nimport { fabric } from 'fabric';\r\n\r\n// const useSampleResponses = process.env.REACT_APP_USE_SAMPLE_RESPONSES;\r\n\r\n\r\nexport interface LambdaSlice {\r\n\r\n lambdaClient: any;\r\n\r\n loadingLogo: (data: any) => any;\r\n getStockLogos: () => void;\r\n saveLogo: (data: any) => any; \r\n}\r\n\r\nconst lambdaSlice: StateCreator<LambdaSlice> = (_set, _get) => {\r\n return {\r\n lambdaClient: requests,\r\n\r\n loadingLogo: async (_data:any) => {\r\n try {\r\n use3dddPlus.setState({ loading: true });\r\n if (!requests) {\r\n throw new Error('lambdaClient Not Found');\r\n }\r\n if (!use3dddPlus.getState().customerId)\r\n throw new Error('You need to login');\r\n const response = await requests.get(\r\n `/editor-logo/${use3dddPlus.getState().customerId}?searchText=${\r\n use3dddPlus.getState().logoSearchText\r\n }&sortBy=${use3dddPlus.getState().logoSortBy}&sortDir=${\r\n use3dddPlus.getState().logoSortDir\r\n }&pageSize=${use3dddPlus.getState().logoPageSize}&pageNo=${\r\n use3dddPlus.getState().logoPageNo\r\n }`\r\n );\r\n use3dddPlus.setState({ loading: false });\r\n const res = await response;\r\n use3dddPlus.getState().logoPageNo === 1 &&\r\n use3dddPlus.setState({ retriveLogoDesign: res });\r\n\r\n return response;\r\n } catch (error) {\r\n console.error(error);\r\n use3dddPlus.setState({ loading: false });\r\n throw new Error(error);\r\n }\r\n },\r\n getStockLogos: async () => {\r\n fabric.Object.prototype.hasControls = true;\r\n fabric.Object.prototype.hasBorders = true;\r\n try {\r\n use3dddPlus.setState({ loading: true });\r\n if (!requests) {\r\n throw new Error('lambdaClient Not Found');\r\n }\r\n const response = await requests.get('/mascot-logos');\r\n use3dddPlus.setState({ loading: false });\r\n const res = await response;\r\n use3dddPlus.setState({ stockLogos: res });\r\n return res;\r\n } catch (error) {\r\n console.error(error);\r\n use3dddPlus.setState({ loading: false });\r\n throw new Error(error);\r\n }\r\n },\r\n saveLogo: async (logo) => {\r\n try {\r\n use3dddPlus.setState({ loading: true });\r\n if (!requests) {\r\n throw new Error('lambdaClient Not Found');\r\n }\r\n const response = await requests.post('/editor-logo', logo);\r\n use3dddPlus.setState({ loading: false });\r\n return response;\r\n } catch (error) {\r\n console.error(error);\r\n use3dddPlus.setState({ loading: false });\r\n throw new Error(error);\r\n }\r\n },\r\n };\r\n};\r\n\r\nexport default lambdaSlice;\r\n","import { StateCreator } from 'zustand';\r\nexport interface SaveDesignSlice {\r\n disableSaveButton: boolean;\r\n designNumber: string;\r\n designImageUrl: string;\r\n designProofPdfUrl: string;\r\n logoTag: string[];\r\n logoName: string;\r\n designNotes: string;\r\n designConfig: string;\r\n designId: number;\r\n hasDesignNumber: () => boolean;\r\n showSaveCTA: boolean;\r\n showSaveRackCTA: boolean;\r\n}\r\n\r\nexport const saveDesignSlice: StateCreator<SaveDesignSlice> = (_set, get) => {\r\n return {\r\n disableSaveButton: false,\r\n designNumber: '',\r\n designImageUrl: '',\r\n designProofPdfUrl: '',\r\n logoTag: [],\r\n logoName: '',\r\n designNotes: '',\r\n designConfig: '',\r\n designId: undefined,\r\n hasDesignNumber: () => !!get().designNumber,\r\n showSaveCTA: true,\r\n showSaveRackCTA: true,\r\n };\r\n};\r\n\r\nexport default SaveDesignSlice;\r\n","\r\n// import { Texture } from '../store/customize/types';\r\n\r\nconst _oldURL = process.env.REACT_APP_IMAGE_URL_OLD!;\r\nconst _newURL = process.env.REACT_APP_IMAGE_URL!;\r\nexport const URLMapping = (url: string) => {\r\n // check if th url has old or new url paths\r\n if (url.includes(_oldURL)) {\r\n return url.replace(_oldURL, _newURL);\r\n }\r\n // if it has old then relace to new\r\n else if (url.includes(_newURL)) return url;\r\n // if it doesnot have nay then add new\r\n else {\r\n return _newURL + url;\r\n }\r\n};\r\n\r\n// export const getTextureDataFromId = (id) => {\r\n// const textureData = use3dddPlus.getState().productTextures;\r\n\r\n// // const textureData = [];\r\n// return textureData.filter((texture) => texture.id === id).filter(Boolean)[0];\r\n// };\r\n\r\nexport const constructMappingItem = (texture?: any, item?: any) => {\r\n return {\r\n id: item?.id,\r\n name: item?.name,\r\n path: item?.ProductMedium.Image_URL,\r\n type: item?.__typename,\r\n flipY: texture ? texture.flipY : false,\r\n };\r\n};\r\n\r\nexport const getImageURL = (path: string) => {\r\n return process.env.REACT_APP_IMAGE_URL + path; //item?.ProductMedium?.Image_URL\r\n};\r\n","export function getCookie(cname: string) {\r\n let name = cname + '=';\r\n let decodedCookie = decodeURIComponent(document.cookie);\r\n let ca = decodedCookie.split(';');\r\n for (let i = 0; i < ca.length; i++) {\r\n let c = ca[i];\r\n while (c.charAt(0) == ' ') {\r\n c = c.substring(1);\r\n }\r\n if (c.indexOf(name) == 0) {\r\n return c.substring(name.length, c.length);\r\n }\r\n }\r\n return '';\r\n}\r\n\r\nexport function setCookie(cname: string, cvalue: any, exdays: number) {\r\n const d = new Date();\r\n d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);\r\n let expires = 'expires=' + d.toUTCString();\r\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/';\r\n}\r\n\r\nexport const clearCookie = (cname: string, cvalue = '') => {\r\n const d = new Date();\r\n d.setTime(d.getTime());\r\n let expires = 'expires=' + d.toUTCString();\r\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/';\r\n};\r\n","import CryptoJS from 'crypto-js';\r\nexport const encryptToken = (data: any) => {\r\n return CryptoJS.AES.encrypt(\r\n JSON.stringify(data),\r\n 'secret key 123'\r\n ).toString();\r\n};\r\nexport const decryptToken = (ciphertext: string) => {\r\n var bytes = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');\r\n return JSON.parse(bytes.toString(CryptoJS.enc.Utf8));\r\n};\r\n\r\nexport const getProjectId = () => {\r\n const queryString = window.location.search;\r\n const urlParams = new URLSearchParams(queryString);\r\n const projectId = urlParams.get('projectId');\r\n return projectId || process.env.REACT_APP_3DDDPLUS_PROJECTID;\r\n};\r\n\r\nexport function parseJwt(token) {\r\n var base64Url = token.split('.')[1];\r\n var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\r\n var jsonPayload = decodeURIComponent(\r\n window\r\n ?.atob(base64)\r\n ?.split('')\r\n ?.map(function (c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n })\r\n .join('')\r\n );\r\n\r\n return JSON.parse(jsonPayload);\r\n}\r\n","//import { use3dddPlus } from '../store';\r\n\r\n// export const getDomImage = () => {\r\n// var strMime = 'image/jpeg';\r\n// const imgData = use3dddPlus.getState().gl.domElement.toDataURL(strMime);\r\n\r\n// return dataURItoBlob(imgData);\r\n// };\r\n\r\nexport function dataURItoBlob(dataURI) {\r\n // convert base64 to raw binary data held in a string\r\n // doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this\r\n var byteString = atob(dataURI.split(',')[1]);\r\n\r\n // separate out the mime component\r\n // var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];\r\n\r\n // write the bytes of the string to an ArrayBuffer\r\n var ab = new ArrayBuffer(byteString.length);\r\n var ia = new Uint8Array(ab);\r\n for (var i = 0; i < byteString.length; i++) {\r\n ia[i] = byteString.charCodeAt(i);\r\n }\r\n\r\n //Old Code\r\n //write the ArrayBuffer to a blob, and you're done\r\n //var bb = new BlobBuilder();\r\n //bb.append(ab);\r\n //return bb.getBlob(mimeString);\r\n\r\n //New Code\r\n return new File([ab], new Date().getTime() + '_configuration' + '.jpg', {\r\n type: 'image/jpeg',\r\n // lastModified: new Date(),\r\n });\r\n}\r\n","// function called to save image\r\nexport const saveFile = function (strData: string, filename: string) {\r\n let link = document.createElement('a');\r\n document.body.appendChild(link);\r\n link.download = filename;\r\n link.href = strData;\r\n link.click();\r\n document.body.removeChild(link);\r\n};\r\n","// The key code condition we provided refers to the following key ranges:\r\n// 1. `(x >= 97 && x <= 122)`: This condition checks for lowercase alphabets in the ASCII range. Key codes 97 to 122 correspond to the characters 'a' to 'z'.\r\n// 2. `(x >= 48 && x <= 57)`: This condition checks for numeric key codes in the ASCII range. Key codes 48 to 57 correspond to the digits '0' to '9'.\r\n// 3. `(x >= 65 && x <= 90)`: This condition checks for uppercase alphabets in the ASCII range. Key codes 65 to 90 correspond to the characters 'A' to 'Z'.\r\n// 4. `(x >= 32 && x <= 32)`: This condition checks for the spacebar key. The key code 32 represents the space character.\r\n// By using these key code conditions, we are checking if the pressed key falls within the range of lowercase alphabets, numeric digits, uppercase alphabets, or the space character.\r\n\r\n\r\nexport const restrictSpecialCharacters = function (e) {\r\n const x = e.which || e.keycode;\r\n if (\r\n (x >= 97 && x <= 122) ||\r\n (x >= 48 && x <= 57) ||\r\n (x >= 65 && x <= 90) ||\r\n (x >= 32 && x <= 32)\r\n ) {\r\n return true;\r\n } else return e.preventDefault();\r\n};","export const clearSessionStorage = (cname: string) => {\r\n sessionStorage.removeItem(cname);\r\n};\r\n\r\nexport const getSessionStorage = (sName: string) => {\r\n return sessionStorage.getItem(sName);\r\n};\r\n\r\nexport const setSessionStorage = (cname: string, cvalue: any) => {\r\n sessionStorage.setItem(cname, cvalue);\r\n};\r\n","import { StateCreator } from 'zustand';\r\nimport {\r\n clearCookie,\r\n decryptToken,\r\n encryptToken,\r\n getCookie,\r\n setCookie,\r\n} from '../../services';\r\nimport {\r\n clearSessionStorage,\r\n getSessionStorage,\r\n setSessionStorage,\r\n} from '../../services/sessionStorage';\r\n\r\nexport interface AuthSlice {\r\n authType?: string;\r\n cardCode?: string;\r\n customerEmail?: string;\r\n customerId?: number;\r\n customerType?: string;\r\n priceLevel: string;\r\n token?: string;\r\n clearLoginInfo: () => void;\r\n generateCustomizerToken: (setInCookies?: boolean) => void;\r\n setCustomizerToken: () => void;\r\n isLoggedIn: () => boolean;\r\n customUploadLogoColorList: any[];\r\n defaultColorList: any[];\r\n\r\n}\r\n\r\nexport const authSlice: StateCreator<AuthSlice> = (set, get) => {\r\n return {\r\n customUploadLogoColorList: [],\r\n defaultColorList: [],\r\n priceLevel: '',\r\n token: '',\r\n customerId:117015,\r\n clearLoginInfo: () => {\r\n clearCookie('customizerToken');\r\n clearSessionStorage('customizerToken');\r\n set({\r\n authType: '',\r\n cardCode: '',\r\n customerEmail: '',\r\n customerId: 117015,\r\n customerType: '',\r\n priceLevel: '',\r\n token: '',\r\n });\r\n },\r\n generateCustomizerToken: (setInCookies = true) => {\r\n const authType = get().authType;\r\n const cardCode = get().cardCode;\r\n const customerEmail = get().customerEmail;\r\n const customerId = get().customerId;\r\n const customerType = get().priceLevel;\r\n const token = get().token;\r\n\r\n const customizerToken = encryptToken({\r\n authType,\r\n cardCode,\r\n customerEmail,\r\n customerId,\r\n customerType,\r\n token,\r\n });\r\n if (setInCookies) {\r\n setCookie('customizerToken', customizerToken, 1);\r\n } else {\r\n setSessionStorage('customizerToken', customizerToken);\r\n }\r\n },\r\n setCustomizerToken: () => {\r\n const customizerToken: any =\r\n getSessionStorage('customizerToken') || getCookie('customizerToken');\r\n\r\n if (!customizerToken) return;\r\n const decrypt: any = decryptToken(customizerToken);\r\n\r\n set({\r\n ...decrypt,\r\n });\r\n },\r\n isLoggedIn: () => (!!get().customerId ? true : false),\r\n };\r\n};\r\n\r\nexport default AuthSlice;\r\n","import { StateCreator } from 'zustand';\r\n// import { use3dddPlus } from '..';\r\n\r\nexport interface HistorySlice {\r\n history: string[];\r\n current: string;\r\n navigateTo: (page: string) => void;\r\n goBack: () => void;\r\n}\r\n\r\nexport const historySlice: StateCreator<HistorySlice> = (set, _get) => {\r\n return {\r\n history: [],\r\n current: '',\r\n navigateTo: (page: string) => {\r\n set((state) => ({\r\n history: [...state.history, state.current],\r\n current: page,\r\n }));\r\n },\r\n goBack: () => {\r\n set((state) => {\r\n if (state.history.length > 0) {\r\n const previousPage = state.history.pop()!;\r\n return {\r\n history: [...state.history],\r\n current: previousPage,\r\n };\r\n }\r\n return state;\r\n });\r\n },\r\n }\r\n}\r\nexport default HistorySlice;\r\n","import { StateCreator } from 'zustand';\r\nimport { fabric } from 'fabric';\r\nimport { use3dddPlus } from '..';\r\nimport AWS from 'aws-sdk';\r\nexport interface FabricSlice {\r\n // popCanvasOptions ?: any,\r\n availableMascots: any[];\r\n filteredMascots: any[];\r\n loading: Boolean;\r\n selectedStepper?: any;\r\n setSelectedStepper?: (selectedStepper: any) => void;\r\n hasUploadScreen?: any;\r\n setHasUploadScreen?: (hasUploadScreen: boolean) => void;\r\n storeHistory: any;\r\n count: number;\r\n stockLogos: [];\r\n retriveLogoDesign: any[];\r\n fabricCanvas: any;\r\n popupCanv: any;\r\n textInfo: string;\r\n uploadImageModalDisplay: boolean;\r\n currentSelection: string;\r\n activeSelection: any;\r\n selectedAll: boolean;\r\n colorFill: any;\r\n defaultColorFill: any[];\r\n loadedObject: any;\r\n setDefaultColorFill: (dcf: any) => void;\r\n defaultColorFillCopy: any[];\r\n setDefaultColorFillCopy: (dcf: any) => void;\r\n // colorFillPopup : {},\r\n storeAllObject: any[];\r\n iconImage: string;\r\n HideControls: any;\r\n showContextMenu: boolean;\r\n forStoringAllObject: (data: any) => void;\r\n forIconCapture: () => void;\r\n duplicateObject: () => void;\r\n deleteButtonControls: () => void;\r\n undo: () => void;\r\n redo: () => void;\r\n moveDown: (element) => void;\r\n moveUp: (element) => void;\r\n moveRight: (element) => void;\r\n moveLeft: (element) => void;\r\n applyColorFill: () => any;\r\n updateModifaction: (saveHistory: boolean) => void;\r\n nameCounter: any;\r\n guid: () => string;\r\n contextMenuCoordinates: { x: number; y: number };\r\n stockLogoHandler: (e: any) => void;\r\n testSVG: (data: any) => void;\r\n myLogoHandler: (logo: any) => void;\r\n loadingRetrivedFiles: (data: any) => void;\r\n allColor: any;\r\n uploadLogoConfig: (jsonConfig: any, customerId: any) => any;\r\n logoData: any;\r\n setLogoData: (logo: any) => void;\r\n setAvailableMascots: (availableMascots: any[]) => void;\r\n setFilteredMascots: (filteredMascots: any[]) => void;\r\n handleMascotObjectFilterValues: (event: any) => void;\r\n filterValue: string;\r\n displayProductColor?: boolean;\r\n setDisplayProductColor?: () => void;\r\n popUpCanvasAllColor: any[];\r\n popupCanvasStoreHistory: any[];\r\n popUpCanvasCount: number;\r\n popUpCanvasApplyColorFill: () => void;\r\n popUpCanvasUpdateModification: (data: any) => void;\r\n popUpCanvasRedo: () => void;\r\n popUpCanvasUndo: () => any;\r\n forPopupCanvasReset: any;\r\n forPopupCanvasColor: any;\r\n imageData: any;\r\n horizontalLine: any;\r\n verticalLine: any;\r\n lastPosition: { top: number; left: number; scaleX?: number; scaleY?: number };\r\n setLastPosition: (lastPosition: {\r\n top: number;\r\n left: number;\r\n scaleX?: number;\r\n scaleY?: number;\r\n }) => void;\r\n}\r\n\r\nexport const fabricSlice: StateCreator<FabricSlice> = (set, get) => {\r\n return {\r\n popUpCanvasCount: 1,\r\n popupCanvasStoreHistory: [],\r\n availableMascots: [],\r\n filteredMascots: [],\r\n logoData: null,\r\n setLogoData: (logoData) => set({ logoData }),\r\n allColor: [],\r\n loading: false,\r\n selectedStepper: 1,\r\n setSelectedStepper: (selectedStepper) => set({ selectedStepper }),\r\n hasUploadScreen: false,\r\n setHasUploadScreen: (hasUploadScreen) => set({ hasUploadScreen }),\r\n storeHistory: [],\r\n stockLogos: [],\r\n retriveLogoDesign: [],\r\n fabricCanvas: null,\r\n popupCanv: null,\r\n textInfo: 'NEW TEXT',\r\n uploadImageModalDisplay: false,\r\n currentSelection: 'layer',\r\n activeSelection: null,\r\n selectedAll: false,\r\n colorFill: {},\r\n defaultColorFill: [],\r\n loadedObject: [],\r\n defaultColorFillCopy: [],\r\n // colorFillPopup : {},\r\n storeAllObject: [],\r\n iconImage: '',\r\n HideControls: {\r\n tl: true,\r\n tr: true,\r\n bl: true, //false\r\n br: true,\r\n ml: false,\r\n mt: false,\r\n mr: false,\r\n mb: false,\r\n mtr: true,\r\n // 'cornerColor':'yellow'\r\n },\r\n showContextMenu: false,\r\n\r\n forStoringAllObject: (data) => {\r\n //@ts-ignore\r\n get().storeAllObject.unshift(data); //FOR PUSHING THE ARRAY RESERVE\r\n },\r\n forIconCapture: () => {\r\n const activeObject = get().fabricCanvas.getActiveObject();\r\n if (activeObject) {\r\n // const dataURL = get().fabricCanvas.toDataURL({\r\n // left: activeObject.left,\r\n // top: activeObject.top,\r\n // width: activeObject.width * activeObject.scaleX,\r\n // height: activeObject.height * activeObject.scaleY,\r\n // });\r\n\r\n const dataURL = activeObject.toDataURL('image/png');\r\n set({ iconImage: dataURL });\r\n }\r\n },\r\n nameCounter: 0,\r\n guid: () => {\r\n let u =\r\n Date.now().toString(16) + Math.random().toString(16) + '0'.repeat(16);\r\n return [\r\n u.substr(0, 8),\r\n u.substr(8, 4),\r\n '4000-8' + u.substr(13, 3),\r\n u.substr(16, 12),\r\n ].join('-');\r\n },\r\n duplicateObject: () => {\r\n if (get().fabricCanvas.getActiveObject()) {\r\n let activeObj = get().fabricCanvas.getActiveObject();\r\n let clipboard;\r\n get()\r\n .fabricCanvas.getActiveObject()\r\n .clone((cloned) => {\r\n clipboard = cloned;\r\n clipboard.clone((clonedObj) => {\r\n get().fabricCanvas.discardActiveObject();\r\n clonedObj.set({\r\n evented: true,\r\n });\r\n if (clonedObj.type === 'activeSelection') {\r\n clonedObj.canvas = get().fabricCanvas;\r\n clonedObj.forEachObject((obj: any, index: any) => {\r\n obj.colorFill = activeObj._objects[index].colorFill;\r\n obj.id = use3dddPlus.getState().guid();\r\n // copy all path text data & clone text props as well(text with shapes applied)\r\n // if (obj.type === 'path' && obj.pathData !== undefined) {\r\n if (obj.type === 'path') {\r\n obj.pathData = activeObj._objects[index].pathData;\r\n obj.shapeSize = activeObj._objects[index].shapeSize;\r\n obj.shapeType = activeObj._objects[index].shapeType;\r\n obj.fontFamily = activeObj._objects[index].fontFamily;\r\n obj.fontWeight = activeObj._objects[index].fontWeight;\r\n obj.fontSize = activeObj._objects[index].fontSize;\r\n obj.charSpacing = activeObj._objects[index].charSpacing;\r\n obj.textAlign = activeObj._objects[index].textAlign;\r\n obj.fontStyle = activeObj._objects[index].fontStyle;\r\n obj.text = activeObj._objects[index].text;\r\n }\r\n get().fabricCanvas.add(obj);\r\n });\r\n clonedObj.setCoords();\r\n } else {\r\n clonedObj.colorFill = activeObj.colorFill;\r\n clonedObj.id = use3dddPlus.getState().guid();\r\n // copy all path text data & clone text props as well(text with shapes applied)\r\n if (\r\n activeObj.type === 'path' &&\r\n activeObj.pathData !== undefined\r\n ) {\r\n clonedObj.pathData = activeObj.pathData;\r\n clonedObj.shapeSize = activeObj.shapeSize;\r\n clonedObj.shapeType = activeObj.shapeType;\r\n clonedObj.fontFamily = activeObj.fontFamily;\r\n clonedObj.fontWeight = activeObj.fontWeight;\r\n clonedObj.fontSize = activeObj.fontSize;\r\n clonedObj.charSpacing = activeObj.charSpacing;\r\n clonedObj.textAlign = activeObj.textAlign;\r\n clonedObj.fontStyle = activeObj.fontStyle;\r\n clonedObj.text = activeObj.text;\r\n }\r\n get().fabricCanvas.add(clonedObj);\r\n }\r\n clipboard.top += 20;\r\n clipboard.left += 20;\r\n if (\r\n activeObj &&\r\n activeObj.shapeType &&\r\n activeObj.shapeType.length > 0\r\n ) {\r\n clonedObj.shapeType = activeObj.shapeType;\r\n clonedObj.shapeSize = activeObj.shapeSize;\r\n }\r\n get().fabricCanvas.setActiveObject(clonedObj);\r\n const brNew = clonedObj.getBoundingRect();\r\n if (\r\n !(\r\n brNew.width + brNew.left + 45 + 20 >=\r\n clonedObj.canvas.width ||\r\n brNew.height + brNew.top + 10 + 20 >= clonedObj.canvas.height\r\n )\r\n ) {\r\n clonedObj.set({\r\n left: clonedObj.left + 20,\r\n top: clonedObj.top + 20,\r\n });\r\n }\r\n // get().fabricCanvas.requestRenderAll();\r\n // clonedObj._objects.map((data) => {\r\n // get().forStoringAllObject(data);\r\n // });\r\n if (\r\n clonedObj &&\r\n clonedObj._objects &&\r\n clonedObj._objects.length > 0 &&\r\n (clonedObj._objects[0].type === 'text' ||\r\n clonedObj._objects[0].type === 'group' ||\r\n (clonedObj._objects[0].type === 'path' &&\r\n clonedObj._objects[0].fontFamily))\r\n ) {\r\n clonedObj._objects.map((data) => {\r\n data.icon = data.toDataURL('image/png');\r\n get().forStoringAllObject(data);\r\n });\r\n } else {\r\n use3dddPlus.getState().forIconCapture();\r\n clonedObj.icon = use3dddPlus.getState().iconImage;\r\n get().forStoringAllObject(clonedObj);\r\n }\r\n });\r\n get().updateModifaction(true);\r\n });\r\n }\r\n },\r\n deleteButtonControls: () => {\r\n // console.log(deleteIcon,'SELECTED......',getObj);\r\n },\r\n count: 1,\r\n skipEvent: false,\r\n undo: () => {\r\n if (get().count <= get().storeHistory.length) {\r\n // if(get().count + 1 !== get().storeHistory.length){\r\n get().fabricCanvas.clear().renderAll();\r\n get().fabricCanvas.loadFromJSON(\r\n get().storeHistory[\r\n get().storeHistory.length -\r\n 1 -\r\n (get().count > 1 ? get().count - 1 : 0)\r\n ]\r\n );\r\n\r\n // Remove lines\r\n get()\r\n .fabricCanvas.getObjects()\r\n .forEach((obj) => {\r\n if (obj.type === 'line') {\r\n get().fabricCanvas.remove(obj);\r\n }\r\n });\r\n\r\n // Add lines\r\n const horizontalLine = new fabric.Line(\r\n [\r\n 0,\r\n get().fabricCanvas.height / 2,\r\n get().fabricCanvas.height,\r\n get().fabricCanvas.height / 2,\r\n ],\r\n {\r\n stroke: 'red',\r\n scaleX: 11,\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n const verticalLine = new fabric.Line(\r\n [\r\n get().fabricCanvas.width / 2,\r\n 0,\r\n get().fabricCanvas.width / 2,\r\n get().fabricCanvas.width,\r\n ],\r\n {\r\n stroke: 'red',\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n horizontalLine.centerH();\r\n get().fabricCanvas.add(horizontalLine);\r\n get().fabricCanvas.add(verticalLine);\r\n\r\n get().fabricCanvas.sendToBack(horizontalLine);\r\n get().fabricCanvas.sendToBack(verticalLine);\r\n\r\n use3dddPlus.setState({ horizontalLine: horizontalLine });\r\n use3dddPlus.setState({ verticalLine: verticalLine });\r\n\r\n get().fabricCanvas.renderAll();\r\n get().count += 1;\r\n // }\r\n\r\n // Update layers\r\n use3dddPlus.getState().clearLayers();\r\n const canvasGetobject = get().fabricCanvas.getObjects();\r\n canvasGetobject.forEach((element: any) => {\r\n if (element.type !== 'line') {\r\n use3dddPlus.getState().forStoringAllObject(element);\r\n if (element.type === 'text' || 'path') {\r\n get().fabricCanvas.setActiveObject(element);\r\n use3dddPlus.getState().forIconCapture();\r\n //@ts-ignore\r\n element.icon = use3dddPlus.getState().iconImage;\r\n get().fabricCanvas.discardActiveObject();\r\n }\r\n }\r\n });\r\n }\r\n },\r\n redo: () => {\r\n if (get().count > 2) {\r\n get().fabricCanvas.clear().renderAll();\r\n let item = Math.abs(get().count - get().storeHistory.length - 2);\r\n get().fabricCanvas.loadFromJSON(get().storeHistory[item]);\r\n\r\n // Remove lines\r\n get()\r\n .fabricCanvas.getObjects()\r\n .forEach((obj) => {\r\n if (obj.type === 'line') {\r\n get().fabricCanvas.remove(obj);\r\n }\r\n });\r\n\r\n // Add lines\r\n const horizontalLine = new fabric.Line(\r\n [\r\n 0,\r\n get().fabricCanvas.height / 2,\r\n get().fabricCanvas.height,\r\n get().fabricCanvas.height / 2,\r\n ],\r\n {\r\n stroke: 'red',\r\n scaleX: 11,\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n const verticalLine = new fabric.Line(\r\n [\r\n get().fabricCanvas.width / 2,\r\n 0,\r\n get().fabricCanvas.width / 2,\r\n get().fabricCanvas.width,\r\n ],\r\n {\r\n stroke: 'red',\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n horizontalLine.centerH();\r\n get().fabricCanvas.add(horizontalLine);\r\n get().fabricCanvas.add(verticalLine);\r\n\r\n get().fabricCanvas.sendBackwards(horizontalLine);\r\n get().fabricCanvas.sendBackwards(verticalLine);\r\n\r\n use3dddPlus.setState({ horizontalLine: horizontalLine });\r\n use3dddPlus.setState({ verticalLine: verticalLine });\r\n\r\n get().fabricCanvas.renderAll();\r\n get().count -= 1;\r\n\r\n // Update layers\r\n use3dddPlus.getState().clearLayers();\r\n const canvasGetobject = get().fabricCanvas.getObjects();\r\n canvasGetobject.forEach((element: any) => {\r\n if (element.type !== 'line') {\r\n use3dddPlus.getState().forStoringAllObject(element);\r\n if (element.type === 'text' || 'path') {\r\n get().fabricCanvas.setActiveObject(element);\r\n use3dddPlus.getState().forIconCapture();\r\n //@ts-ignore\r\n element.icon = use3dddPlus.getState().iconImage;\r\n get().fabricCanvas.discardActiveObject();\r\n }\r\n }\r\n });\r\n }\r\n },\r\n moveDown: (element) => {\r\n element.top = element.top + 2;\r\n get().fabricCanvas.renderAll();\r\n },\r\n moveUp: (element) => {\r\n element.top = element.top - 2;\r\n get().fabricCanvas.renderAll();\r\n },\r\n moveRight: (element) => {\r\n element.left = element.left + 2;\r\n get().fabricCanvas.renderAll();\r\n },\r\n moveLeft: (element) => {\r\n element.left = element.left - 2;\r\n get().fabricCanvas.renderAll();\r\n },\r\n applyColorFill: () => {\r\n const canvasData = get().fabricCanvas.toJSON(['id', 'colorFill']);\r\n const canvasGetobject = get().fabricCanvas.getObjects();\r\n canvasData.objects.forEach((element: any, index: any) => {\r\n if (\r\n canvasGetobject &&\r\n canvasGetobject.length > 0 &&\r\n canvasGetobject[index].shapeType\r\n ) {\r\n element.shapeType = canvasGetobject[index].shapeType;\r\n element.shapeSize = canvasGetobject[index].shapeSize;\r\n element.text = canvasGetobject[index].text;\r\n element.textAlign = canvasGetobject[index].textAlign;\r\n element.stroke = canvasGetobject[index].stroke;\r\n element.strokeWidth = canvasGetobject[index].strokeWidth;\r\n element.fontFamily = canvasGetobject[index].fontFamily;\r\n }\r\n element.colorFill = canvasGetobject[index].colorFill;\r\n element.icon = canvasGetobject[index].icon;\r\n element.id = canvasGetobject[index].id;\r\n });\r\n return canvasData;\r\n },\r\n setDefaultColorFill: (dcf: any) => {\r\n use3dddPlus.setState({ defaultColorFill: dcf });\r\n },\r\n setDefaultColorFillCopy: (dcf: any) => {\r\n use3dddPlus.setState({ defaultColorFillCopy: dcf });\r\n },\r\n // updateModifaction: (toSet) => {\r\n // if (toSet) {\r\n // get().storeHistory.push(get().applyColorFill());\r\n // }\r\n // },\r\n\r\n updateModifaction: (toSet) => {\r\n if (toSet) {\r\n if (get().count > 1 && get().storeHistory.length > 1) {\r\n for (let i = 1; i < get().count; i++) {\r\n get().storeHistory.pop();\r\n }\r\n get().count = 1;\r\n }\r\n get().storeHistory.push(get().applyColorFill());\r\n }\r\n },\r\n\r\n contextMenuCoordinates: { x: 0, y: 0 },\r\n stockLogoHandler: (e: any) => {\r\n // console.log(e);\r\n // let logos = get().stockLogos[e.target.id];\r\n //@ts-ignore\r\n let logos = e + '?timestamp=' + Date.now();\r\n use3dddPlus.setState({ selectedStepper: undefined });\r\n get().testSVG(logos);\r\n },\r\n testSVG: (data) => {\r\n fabric.loadSVGFromURL(data, (objects, options) => {\r\n const loadedObject: any = fabric.util.groupSVGElements(\r\n objects,\r\n options\r\n );\r\n // console.log(svg)\r\n loadedObject.scaleToWidth(200);\r\n loadedObject.scaleToHeight(200);\r\n let objImage = [];\r\n let _Fills = [];\r\n //@ts-ignore\r\n if (loadedObject && loadedObject._objects) {\r\n //@ts-ignore\r\n objImage = loadedObject._objects;\r\n objImage.forEach((ele) => {\r\n ele.set({ strokeWidth: 0 });\r\n use3dddPlus.setState({ fillColor: [...ele.fill] });\r\n _Fills.push(ele.fill);\r\n });\r\n } else {\r\n //@ts-ignore\r\n objImage = loadedObject;\r\n //@ts-ignore\r\n objImage.set({ strokeWidth: 0 });\r\n //@ts-ignore\r\n use3dddPlus.setState({ fillColor: [...objImage.fill] });\r\n _Fills.push(objImage.fill);\r\n }\r\n use3dddPlus.setState({\r\n //@ts-ignore\r\n fillColor: use3dddPlus.getState().removeDuplicates(_Fills),\r\n });\r\n //@ts-ignore\r\n _Fills = use3dddPlus.getState().removeDuplicates(_Fills);\r\n const fillColors = {};\r\n _Fills.map((item, index) => {\r\n fillColors['layer' + index] = item;\r\n });\r\n use3dddPlus.setState({ colorFill: fillColors });\r\n loadedObject.set({\r\n //@ts-ignore\r\n colorFill: fillColors,\r\n });\r\n\r\n loadedObject.id = get().guid();\r\n get().fabricCanvas.add(loadedObject).renderAll();\r\n get().fabricCanvas.centerObject(loadedObject);\r\n get().fabricCanvas.setActiveObject(loadedObject);\r\n use3dddPlus.setState({ activeSelection: loadedObject });\r\n use3dddPlus.getState().forStoringAllObject(loadedObject);\r\n get()\r\n .fabricCanvas.getActiveObject()\r\n .toDataURL(function () {});\r\n use3dddPlus.getState().forIconCapture();\r\n //@ts-ignore\r\n loadedObject.icon = use3dddPlus.getState().iconImage;\r\n use3dddPlus.getState().updateModifaction(true);\r\n });\r\n },\r\n myLogoHandler: (logo: any) => {\r\n let jsonData = logo.logo_config_url;\r\n var requestOptions = {\r\n method: 'GET',\r\n };\r\n fetch(jsonData, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => get().loadingRetrivedFiles(result))\r\n .catch((error) => console.log('error', error));\r\n },\r\n\r\n loadingRetrivedFiles: (data: any) => {\r\n let canvas = use3dddPlus.getState().fabricCanvas;\r\n canvas.loadFromJSON(JSON.parse(data), function () {\r\n const horizontalLine = new fabric.Line(\r\n [0, canvas.height / 2, canvas.height, canvas.height / 2],\r\n {\r\n stroke: 'red',\r\n scaleX: 11,\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n const verticalLine = new fabric.Line(\r\n [canvas.width / 2, 0, canvas.width / 2, canvas.width],\r\n {\r\n stroke: 'red',\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n horizontalLine.centerH();\r\n canvas.add(horizontalLine);\r\n canvas.add(verticalLine);\r\n get().fabricCanvas.sendToBack(horizontalLine);\r\n get().fabricCanvas.sendToBack(verticalLine);\r\n use3dddPlus.setState({ horizontalLine: horizontalLine });\r\n use3dddPlus.setState({ verticalLine: verticalLine });\r\n canvas.renderAll.bind(canvas);\r\n canvas.discardActiveObject();\r\n use3dddPlus.setState({ selectedStepper: undefined });\r\n // Update layers\r\n use3dddPlus.getState().clearLayers();\r\n canvas.getObjects().forEach((element) => {\r\n element.id = use3dddPlus.getState().guid();\r\n if (element.type !== 'line') {\r\n use3dddPlus.getState().forStoringAllObject(element);\r\n }\r\n canvas.setActiveObject(element);\r\n canvas.renderAll();\r\n use3dddPlus.getState().forIconCapture();\r\n element.icon = use3dddPlus.getState().iconImage;\r\n });\r\n use3dddPlus.getState().updateModifaction(true);\r\n });\r\n canvas.backgroundColor = '#ffffff';\r\n },\r\n uploadLogoConfig: async (jsonConfig, customerId) => {\r\n const bucketName = process.env.REACT_APP_BUCKET;\r\n const region = process.env.REACT_APP_REGION;\r\n AWS.config.update({\r\n accessKeyId: process.env.REACT_APP_ACCESSKEY,\r\n secretAccessKey: process.env.REACT_APP_SECRET_ACCESSKEY,\r\n });\r\n const S3 = new AWS.S3({\r\n params: { Bucket: bucketName },\r\n region: region,\r\n });\r\n\r\n const microTime = Date.now();\r\n const filePath = `my-logos/logo-config/${customerId}/${microTime}.json`;\r\n const params = {\r\n Bucket: bucketName,\r\n Key: filePath,\r\n Body: jsonConfig,\r\n ContentType: 'application/json',\r\n };\r\n\r\n const s3UrlPath = `https://${bucketName}.s3.${region}.amazonaws.com/${filePath}`;\r\n return new Promise((resolve, reject) => {\r\n S3.putObject(params, function (err: any) {\r\n if (err) {\r\n console.log('Error occurred while connecting S3 bucket!', err);\r\n reject(err);\r\n } else {\r\n resolve(s3UrlPath);\r\n }\r\n });\r\n });\r\n },\r\n setAvailableMascots: (availableMascots) => set({ availableMascots }),\r\n setFilteredMascots: (filteredMascots) => set({ filteredMascots }),\r\n\r\n handleMascotObjectFilterValues: (event) => {\r\n set({\r\n filterValue: event,\r\n });\r\n if (event === 'All') {\r\n get().setFilteredMascots(\r\n get().availableMascots.map((item) => item.thumbnail)\r\n );\r\n } else {\r\n const filteredData = get().availableMascots.filter((item) =>\r\n item.tags.includes(event)\r\n );\r\n get().setFilteredMascots(filteredData.map((item) => item.thumbnail));\r\n }\r\n },\r\n filterValue: '',\r\n displayProductColor: false,\r\n setDisplayProductColor: () => {\r\n set((state) => ({\r\n displayProductColor: !state.displayProductColor,\r\n }));\r\n },\r\n popUpCanvasAllColor: [],\r\n popUpCanvasApplyColorFill: () => {\r\n const popUpCanvasData = get().popupCanv.toJSON(['id', 'colorFill']);\r\n return popUpCanvasData;\r\n },\r\n popUpCanvasUpdateModification: (toSet) => {\r\n if (toSet) {\r\n const historyObject = {\r\n colorFill: get().colorFill,\r\n json: get().popUpCanvasApplyColorFill(),\r\n };\r\n set((state) => ({\r\n ...state,\r\n popupCanvasStoreHistory: [\r\n ...state.popupCanvasStoreHistory,\r\n historyObject,\r\n ],\r\n }));\r\n }\r\n },\r\n popUpCanvasUndo: () => {\r\n if (get().popUpCanvasCount <= get().popupCanvasStoreHistory.length) {\r\n const _V =\r\n get().popupCanvasStoreHistory.length -\r\n 1 -\r\n (get().popUpCanvasCount > 1 ? get().popUpCanvasCount - 1 : 0);\r\n if (get().popupCanvasStoreHistory[_V] && _V > 0) {\r\n const colors = get().popupCanvasStoreHistory[_V].colorFill;\r\n get().popupCanv.clear().renderAll();\r\n get().popupCanv.loadFromJSON(get().popupCanvasStoreHistory[_V].json);\r\n get()\r\n .popupCanv.getObjects()\r\n .forEach((obj) => {\r\n if (obj.type === 'line') {\r\n get().popupCanv.remove(obj);\r\n }\r\n });\r\n\r\n const canvas = use3dddPlus.getState().popupCanv;\r\n var gridSize = 83; // Size of each grid cell\r\n var canvasWidth = canvas.width;\r\n var canvasHeight = canvas.height;\r\n var numCols = Math.ceil(canvasWidth / gridSize);\r\n var numRows = Math.ceil(canvasHeight / gridSize);\r\n\r\n // Function to create a rectangle with checkerboard pattern\r\n function createCheckerboardRect(left, top, width, height, isEvenRow) {\r\n var rect = new fabric.Rect({\r\n left: left,\r\n top: top,\r\n width: width,\r\n height: height,\r\n type: 'line',\r\n lockMovementX: true,\r\n lockMovementY: true,\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n // backgroundColor:'#ccc',\r\n fill:\r\n (isEvenRow && (left / gridSize) % 2 === 0) ||\r\n (!isEvenRow && (left / gridSize) % 2 !== 0)\r\n ? '#ffffff'\r\n : '#dadadac7',\r\n });\r\n return rect;\r\n }\r\n\r\n // Create grid lines\r\n for (var i = 0; i < numCols; i++) {\r\n var x = i * gridSize;\r\n const line = new fabric.Line([x, 0, x, canvasHeight], {\r\n stroke: '#dadadac7',\r\n selectable: false,\r\n type: 'line',\r\n lockMovementX: true,\r\n lockMovementY: true,\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n });\r\n canvas.add(line);\r\n canvas.sendToBack(line);\r\n }\r\n\r\n for (var j = 0; j < numRows; j++) {\r\n var y = j * gridSize;\r\n const line = new fabric.Line([0, y, canvasWidth, y], {\r\n stroke: '#FFFFFF',\r\n selectable: false,\r\n type: 'line',\r\n lockMovementX: true,\r\n lockMovementY: true,\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n });\r\n canvas.add(line);\r\n canvas.sendToBack(line);\r\n }\r\n\r\n // Fill grid with checkerboard pattern\r\n for (var i = 0; i < numCols; i++) {\r\n for (var j = 0; j < numRows; j++) {\r\n var left = i * gridSize;\r\n var top = j * gridSize;\r\n var isEvenRow = j % 2 === 0;\r\n var rect = createCheckerboardRect(\r\n left,\r\n top,\r\n gridSize,\r\n gridSize,\r\n isEvenRow\r\n );\r\n canvas.add(rect);\r\n canvas.sendToBack(rect);\r\n }\r\n }\r\n\r\n set({ colorFill: colors });\r\n get().popupCanv.renderAll();\r\n get().popUpCanvasCount += 1;\r\n if (_V === 1) {\r\n use3dddPlus.setState({ popupCanvasStoreHistory: [] });\r\n use3dddPlus.getState().popUpCanvasUpdateModification(true);\r\n get().popUpCanvasCount = 1;\r\n }\r\n return colors;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n },\r\n popUpCanvasRedo: () => {\r\n if (get().popUpCanvasCount > 0) {\r\n get().popupCanv.clear().renderAll();\r\n get().popupCanv.loadFromJSON(\r\n get().popupCanvasStoreHistory[\r\n get().popupCanvasStoreHistory.length -\r\n 1 -\r\n get().popUpCanvasCount +\r\n 1\r\n ]\r\n );\r\n get().popupCanv.renderAll();\r\n get().popUpCanvasCount -= 1;\r\n }\r\n },\r\n forPopupCanvasReset: null,\r\n forPopupCanvasColor: {},\r\n imageData: null,\r\n horizontalLine: null,\r\n verticalLine: null,\r\n lastPosition: { top: 0, left: 0 },\r\n setLastPosition: (lastPosition) => set({ lastPosition }),\r\n };\r\n};\r\n\r\nexport default FabricSlice;\r\n","/* This Source Code Form is subject to the terms of the Mozilla Public\r\n * License, v. 2.0. If a copy of the MPL was not distributed with this\r\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\r\n\r\n'use strict';\r\n\r\nexport function TIFFParser() {\r\n this.tiffDataView = undefined;\r\n this.littleEndian = undefined;\r\n this.fileDirectories = [];\r\n}\r\n\r\nTIFFParser.prototype = {\r\n isLittleEndian: function () {\r\n // Get byte order mark.\r\n var BOM = this.getBytes(2, 0);\r\n\r\n // Find out the endianness.\r\n if (BOM === 0x4949) {\r\n this.littleEndian = true;\r\n } else if (BOM === 0x4d4d) {\r\n this.littleEndian = false;\r\n } else {\r\n console.log(BOM);\r\n throw TypeError('Invalid byte order value.');\r\n }\r\n\r\n return this.littleEndian;\r\n },\r\n\r\n hasTowel: function () {\r\n // Check for towel.\r\n if (this.getBytes(2, 2) !== 42) {\r\n throw RangeError('You forgot your towel!');\r\n return false;\r\n }\r\n\r\n return true;\r\n },\r\n\r\n getFieldTagName: function (fieldTag) {\r\n // See: http://www.digitizationguidelines.gov/guidelines/TIFF_Metadata_Final.pdf\r\n // See: http://www.digitalpreservation.gov/formats/content/tiff_tags.shtml\r\n var fieldTagNames = {\r\n // TIFF Baseline\r\n 0x013b: 'Artist',\r\n 0x0102: 'BitsPerSample',\r\n 0x0109: 'CellLength',\r\n 0x0108: 'CellWidth',\r\n 0x0140: 'ColorMap',\r\n 0x0103: 'Compression',\r\n 0x8298: 'Copyright',\r\n 0x0132: 'DateTime',\r\n 0x0152: 'ExtraSamples',\r\n 0x010a: 'FillOrder',\r\n 0x0121: 'FreeByteCounts',\r\n 0x0120: 'FreeOffsets',\r\n 0x0123: 'GrayResponseCurve',\r\n 0x0122: 'GrayResponseUnit',\r\n 0x013c: 'HostComputer',\r\n 0x010e: 'ImageDescription',\r\n 0x0101: 'ImageLength',\r\n 0x0100: 'ImageWidth',\r\n 0x010f: 'Make',\r\n 0x0119: 'MaxSampleValue',\r\n 0x0118: 'MinSampleValue',\r\n 0x0110: 'Model',\r\n 0x00fe: 'NewSubfileType',\r\n 0x0112: 'Orientation',\r\n 0x0106: 'PhotometricInterpretation',\r\n 0x011c: 'PlanarConfiguration',\r\n 0x0128: 'ResolutionUnit',\r\n 0x0116: 'RowsPerStrip',\r\n 0x0115: 'SamplesPerPixel',\r\n 0x0131: 'Software',\r\n 0x0117: 'StripByteCounts',\r\n 0x0111: 'StripOffsets',\r\n 0x00ff: 'SubfileType',\r\n 0x0107: 'Threshholding',\r\n 0x011a: 'XResolution',\r\n 0x011b: 'YResolution',\r\n\r\n // TIFF Extended\r\n 0x0146: 'BadFaxLines',\r\n 0x0147: 'CleanFaxData',\r\n 0x0157: 'ClipPath',\r\n 0x0148: 'ConsecutiveBadFaxLines',\r\n 0x01b1: 'Decode',\r\n 0x01b2: 'DefaultImageColor',\r\n 0x010d: 'DocumentName',\r\n 0x0150: 'DotRange',\r\n 0x0141: 'HalftoneHints',\r\n 0x015a: 'Indexed',\r\n 0x015b: 'JPEGTables',\r\n 0x011d: 'PageName',\r\n 0x0129: 'PageNumber',\r\n 0x013d: 'Predictor',\r\n 0x013f: 'PrimaryChromaticities',\r\n 0x0214: 'ReferenceBlackWhite',\r\n 0x0153: 'SampleFormat',\r\n 0x022f: 'StripRowCounts',\r\n 0x014a: 'SubIFDs',\r\n 0x0124: 'T4Options',\r\n 0x0125: 'T6Options',\r\n 0x0145: 'TileByteCounts',\r\n 0x0143: 'TileLength',\r\n 0x0144: 'TileOffsets',\r\n 0x0142: 'TileWidth',\r\n 0x012d: 'TransferFunction',\r\n 0x013e: 'WhitePoint',\r\n 0x0158: 'XClipPathUnits',\r\n 0x011e: 'XPosition',\r\n 0x0211: 'YCbCrCoefficients',\r\n 0x0213: 'YCbCrPositioning',\r\n 0x0212: 'YCbCrSubSampling',\r\n 0x0159: 'YClipPathUnits',\r\n 0x011f: 'YPosition',\r\n\r\n // EXIF\r\n 0x9202: 'ApertureValue',\r\n 0xa001: 'ColorSpace',\r\n 0x9004: 'DateTimeDigitized',\r\n 0x9003: 'DateTimeOriginal',\r\n 0x8769: 'Exif IFD',\r\n 0x9000: 'ExifVersion',\r\n 0x829a: 'ExposureTime',\r\n 0xa300: 'FileSource',\r\n 0x9209: 'Flash',\r\n 0xa000: 'FlashpixVersion',\r\n 0x829d: 'FNumber',\r\n 0xa420: 'ImageUniqueID',\r\n 0x9208: 'LightSource',\r\n 0x927c: 'MakerNote',\r\n 0x9201: 'ShutterSpeedValue',\r\n 0x9286: 'UserComment',\r\n\r\n // IPTC\r\n 0x83bb: 'IPTC',\r\n\r\n // ICC\r\n 0x8773: 'ICC Profile',\r\n\r\n // XMP\r\n 0x02bc: 'XMP',\r\n\r\n // GDAL\r\n 0xa480: 'GDAL_METADATA',\r\n 0xa481: 'GDAL_NODATA',\r\n\r\n // Photoshop\r\n 0x8649: 'Photoshop',\r\n };\r\n\r\n var fieldTagName;\r\n\r\n if (fieldTag in fieldTagNames) {\r\n fieldTagName = fieldTagNames[fieldTag];\r\n } else {\r\n console.log('Unknown Field Tag:', fieldTag);\r\n fieldTagName = 'Tag' + fieldTag;\r\n }\r\n\r\n return fieldTagName;\r\n },\r\n\r\n getFieldTypeName: function (fieldType) {\r\n var fieldTypeNames = {\r\n 0x0001: 'BYTE',\r\n 0x0002: 'ASCII',\r\n 0x0003: 'SHORT',\r\n 0x0004: 'LONG',\r\n 0x0005: 'RATIONAL',\r\n 0x0006: 'SBYTE',\r\n 0x0007: 'UNDEFINED',\r\n 0x0008: 'SSHORT',\r\n 0x0009: 'SLONG',\r\n 0x000a: 'SRATIONAL',\r\n 0x000b: 'FLOAT',\r\n 0x000c: 'DOUBLE',\r\n };\r\n\r\n var fieldTypeName;\r\n\r\n if (fieldType in fieldTypeNames) {\r\n fieldTypeName = fieldTypeNames[fieldType];\r\n }\r\n\r\n return fieldTypeName;\r\n },\r\n\r\n getFieldTypeLength: function (fieldTypeName) {\r\n var fieldTypeLength;\r\n\r\n if (['BYTE', 'ASCII', 'SBYTE', 'UNDEFINED'].indexOf(fieldTypeName) !== -1) {\r\n fieldTypeLength = 1;\r\n } else if (['SHORT', 'SSHORT'].indexOf(fieldTypeName) !== -1) {\r\n fieldTypeLength = 2;\r\n } else if (['LONG', 'SLONG', 'FLOAT'].indexOf(fieldTypeName) !== -1) {\r\n fieldTypeLength = 4;\r\n } else if (\r\n ['RATIONAL', 'SRATIONAL', 'DOUBLE'].indexOf(fieldTypeName) !== -1\r\n ) {\r\n fieldTypeLength = 8;\r\n }\r\n\r\n return fieldTypeLength;\r\n },\r\n\r\n getBits: function (numBits, byteOffset, bitOffset) {\r\n bitOffset = bitOffset || 0;\r\n var extraBytes = Math.floor(bitOffset / 8);\r\n var newByteOffset = byteOffset + extraBytes;\r\n var totalBits = bitOffset + numBits;\r\n var shiftRight = 32 - numBits;\r\n\r\n if (totalBits <= 0) {\r\n console.log(numBits, byteOffset, bitOffset);\r\n throw RangeError('No bits requested');\r\n } else if (totalBits <= 8) {\r\n var shiftLeft = 24 + bitOffset;\r\n var rawBits = this.tiffDataView.getUint8(\r\n newByteOffset,\r\n this.littleEndian\r\n );\r\n } else if (totalBits <= 16) {\r\n var shiftLeft = 16 + bitOffset;\r\n var rawBits = this.tiffDataView.getUint16(\r\n newByteOffset,\r\n this.littleEndian\r\n );\r\n } else if (totalBits <= 32) {\r\n var shiftLeft = bitOffset;\r\n var rawBits = this.tiffDataView.getUint32(\r\n newByteOffset,\r\n this.littleEndian\r\n );\r\n } else {\r\n console.log(numBits, byteOffset, bitOffset);\r\n throw RangeError('Too many bits requested');\r\n }\r\n\r\n var chunkInfo = {\r\n bits: (rawBits << shiftLeft) >>> shiftRight,\r\n byteOffset: newByteOffset + Math.floor(totalBits / 8),\r\n bitOffset: totalBits % 8,\r\n };\r\n\r\n return chunkInfo;\r\n },\r\n\r\n getBytes: function (numBytes, offset) {\r\n if (numBytes <= 0) {\r\n console.log(numBytes, offset);\r\n throw RangeError('No bytes requested');\r\n } else if (numBytes <= 1) {\r\n return this.tiffDataView.getUint8(offset, this.littleEndian);\r\n } else if (numBytes <= 2) {\r\n return this.tiffDataView.getUint16(offset, this.littleEndian);\r\n } else if (numBytes <= 3) {\r\n return this.tiffDataView.getUint32(offset, this.littleEndian) >>> 8;\r\n } else if (numBytes <= 4) {\r\n return this.tiffDataView.getUint32(offset, this.littleEndian);\r\n } else {\r\n console.log(numBytes, offset);\r\n throw RangeError('Too many bytes requested');\r\n }\r\n },\r\n\r\n getFieldValues: function (\r\n fieldTagName,\r\n fieldTypeName,\r\n typeCount,\r\n valueOffset\r\n ) {\r\n var fieldValues = [];\r\n\r\n var fieldTypeLength = this.getFieldTypeLength(fieldTypeName);\r\n var fieldValueSize = fieldTypeLength * typeCount;\r\n\r\n if (fieldValueSize <= 4) {\r\n // The value is stored at the big end of the valueOffset.\r\n if (this.littleEndian === false) {\r\n var value = valueOffset >>> ((4 - fieldTypeLength) * 8);\r\n } else {\r\n var value = valueOffset;\r\n }\r\n\r\n fieldValues.push(value);\r\n } else {\r\n for (var i = 0; i < typeCount; i++) {\r\n var indexOffset = fieldTypeLength * i;\r\n\r\n if (fieldTypeLength >= 8) {\r\n if (['RATIONAL', 'SRATIONAL'].indexOf(fieldTypeName) !== -1) {\r\n // Numerator\r\n fieldValues.push(this.getBytes(4, valueOffset + indexOffset));\r\n // Denominator\r\n fieldValues.push(this.getBytes(4, valueOffset + indexOffset + 4));\r\n //\t\t\t\t\t} else if (['DOUBLE'].indexOf(fieldTypeName) !== -1) {\r\n //\t\t\t\t\t\tfieldValues.push(this.getBytes(4, valueOffset + indexOffset) + this.getBytes(4, valueOffset + indexOffset + 4));\r\n } else {\r\n console.log(fieldTypeName, typeCount, fieldValueSize);\r\n throw TypeError(\"Can't handle this field type or size\");\r\n }\r\n } else {\r\n fieldValues.push(\r\n this.getBytes(fieldTypeLength, valueOffset + indexOffset)\r\n );\r\n }\r\n }\r\n }\r\n\r\n if (fieldTypeName === 'ASCII') {\r\n fieldValues.forEach(function (e, i, a) {\r\n a[i] = String.fromCharCode(e);\r\n });\r\n }\r\n\r\n return fieldValues;\r\n },\r\n\r\n clampColorSample: function (colorSample, bitsPerSample) {\r\n var multiplier = Math.pow(2, 8 - bitsPerSample);\r\n\r\n return Math.floor(colorSample * multiplier + (multiplier - 1));\r\n },\r\n\r\n makeRGBAFillValue: function (r, g, b, a) {\r\n if (typeof a === 'undefined') {\r\n a = 1.0;\r\n }\r\n return 'rgba(' + r + ', ' + g + ', ' + b + ', ' + a + ')';\r\n },\r\n\r\n parseFileDirectory: function (byteOffset) {\r\n var numDirEntries = this.getBytes(2, byteOffset);\r\n\r\n var tiffFields = [];\r\n\r\n for (\r\n var i = byteOffset + 2, entryCount = 0;\r\n entryCount < numDirEntries;\r\n i += 12, entryCount++\r\n ) {\r\n var fieldTag = this.getBytes(2, i);\r\n var fieldType = this.getBytes(2, i + 2);\r\n var typeCount = this.getBytes(4, i + 4);\r\n var valueOffset = this.getBytes(4, i + 8);\r\n\r\n var fieldTagName = this.getFieldTagName(fieldTag);\r\n var fieldTypeName = this.getFieldTypeName(fieldType);\r\n\r\n var fieldValues = this.getFieldValues(\r\n fieldTagName,\r\n fieldTypeName,\r\n typeCount,\r\n valueOffset\r\n );\r\n\r\n tiffFields[fieldTagName] = { type: fieldTypeName, values: fieldValues };\r\n }\r\n\r\n this.fileDirectories.push(tiffFields);\r\n\r\n var nextIFDByteOffset = this.getBytes(4, i);\r\n\r\n if (nextIFDByteOffset === 0x00000000) {\r\n return this.fileDirectories;\r\n } else {\r\n return this.parseFileDirectory(nextIFDByteOffset);\r\n }\r\n },\r\n\r\n parseTIFF: function (tiffArrayBuffer, canvas) {\r\n canvas = canvas || document.createElement('canvas');\r\n\r\n console.log(tiffArrayBuffer);\r\n\r\n this.tiffDataView = new DataView(tiffArrayBuffer);\r\n this.canvas = canvas;\r\n\r\n this.littleEndian = this.isLittleEndian(this.tiffDataView);\r\n\r\n if (!this.hasTowel(this.tiffDataView, this.littleEndian)) {\r\n return;\r\n }\r\n\r\n var firstIFDByteOffset = this.getBytes(4, 4);\r\n\r\n this.fileDirectories = this.parseFileDirectory(firstIFDByteOffset);\r\n\r\n var fileDirectory = this.fileDirectories[0];\r\n\r\n console.log(fileDirectory);\r\n\r\n var imageWidth = fileDirectory.ImageWidth.values[0];\r\n var imageLength = fileDirectory.ImageLength.values[0];\r\n\r\n this.canvas.width = imageWidth;\r\n this.canvas.height = imageLength;\r\n\r\n var strips = [];\r\n\r\n var compression = fileDirectory.Compression\r\n ? fileDirectory.Compression.values[0]\r\n : 1;\r\n\r\n var samplesPerPixel = fileDirectory.SamplesPerPixel.values[0];\r\n\r\n var sampleProperties = [];\r\n\r\n var bitsPerPixel = 0;\r\n var hasBytesPerPixel = false;\r\n\r\n fileDirectory.BitsPerSample.values.forEach(function (\r\n bitsPerSample,\r\n i,\r\n bitsPerSampleValues\r\n ) {\r\n sampleProperties[i] = {\r\n bitsPerSample: bitsPerSample,\r\n hasBytesPerSample: false,\r\n bytesPerSample: undefined,\r\n };\r\n\r\n if (bitsPerSample % 8 === 0) {\r\n sampleProperties[i].hasBytesPerSample = true;\r\n sampleProperties[i].bytesPerSample = bitsPerSample / 8;\r\n }\r\n\r\n bitsPerPixel += bitsPerSample;\r\n },\r\n this);\r\n\r\n if (bitsPerPixel % 8 === 0) {\r\n hasBytesPerPixel = true;\r\n var bytesPerPixel = bitsPerPixel / 8;\r\n }\r\n\r\n var stripOffsetValues = fileDirectory.StripOffsets.values;\r\n var numStripOffsetValues = stripOffsetValues.length;\r\n\r\n // StripByteCounts is supposed to be required, but see if we can recover anyway.\r\n if (fileDirectory.StripByteCounts) {\r\n var stripByteCountValues = fileDirectory.StripByteCounts.values;\r\n } else {\r\n console.log('Missing StripByteCounts!');\r\n\r\n // Infer StripByteCounts, if possible.\r\n if (numStripOffsetValues === 1) {\r\n var stripByteCountValues = [\r\n Math.ceil((imageWidth * imageLength * bitsPerPixel) / 8),\r\n ];\r\n } else {\r\n throw Error('Cannot recover from missing StripByteCounts');\r\n }\r\n }\r\n\r\n // Loop through strips and decompress as necessary.\r\n for (var i = 0; i < numStripOffsetValues; i++) {\r\n var stripOffset = stripOffsetValues[i];\r\n strips[i] = [];\r\n\r\n var stripByteCount = stripByteCountValues[i];\r\n\r\n // Loop through pixels.\r\n for (\r\n var byteOffset = 0,\r\n bitOffset = 0,\r\n jIncrement = 1,\r\n getHeader = true,\r\n pixel = [],\r\n numBytes = 0,\r\n sample = 0,\r\n currentSample = 0;\r\n byteOffset < stripByteCount;\r\n byteOffset += jIncrement\r\n ) {\r\n // Decompress strip.\r\n switch (compression) {\r\n // Uncompressed\r\n case 1:\r\n // Loop through samples (sub-pixels).\r\n for (var m = 0, pixel = []; m < samplesPerPixel; m++) {\r\n if (sampleProperties[m].hasBytesPerSample) {\r\n // XXX: This is wrong!\r\n var sampleOffset = sampleProperties[m].bytesPerSample * m;\r\n\r\n pixel.push(\r\n this.getBytes(\r\n sampleProperties[m].bytesPerSample,\r\n stripOffset + byteOffset + sampleOffset\r\n )\r\n );\r\n } else {\r\n var sampleInfo = this.getBits(\r\n sampleProperties[m].bitsPerSample,\r\n stripOffset + byteOffset,\r\n bitOffset\r\n );\r\n\r\n pixel.push(sampleInfo.bits);\r\n\r\n byteOffset = sampleInfo.byteOffset - stripOffset;\r\n bitOffset = sampleInfo.bitOffset;\r\n\r\n throw RangeError('Cannot handle sub-byte bits per sample');\r\n }\r\n }\r\n\r\n strips[i].push(pixel);\r\n\r\n if (hasBytesPerPixel) {\r\n jIncrement = bytesPerPixel;\r\n } else {\r\n jIncrement = 0;\r\n\r\n throw RangeError('Cannot handle sub-byte bits per pixel');\r\n }\r\n break;\r\n\r\n // CITT Group 3 1-Dimensional Modified Huffman run-length encoding\r\n case 2:\r\n // XXX: Use PDF.js code?\r\n break;\r\n\r\n // Group 3 Fax\r\n case 3:\r\n // XXX: Use PDF.js code?\r\n break;\r\n\r\n // Group 4 Fax\r\n case 4:\r\n // XXX: Use PDF.js code?\r\n break;\r\n\r\n // LZW\r\n case 5:\r\n // XXX: Use PDF.js code?\r\n break;\r\n\r\n // Old-style JPEG (TIFF 6.0)\r\n case 6:\r\n // XXX: Use PDF.js code?\r\n break;\r\n\r\n // New-style JPEG (TIFF Specification Supplement 2)\r\n case 7:\r\n // XXX: Use PDF.js code?\r\n break;\r\n\r\n // PackBits\r\n case 32773:\r\n // Are we ready for a new block?\r\n if (getHeader) {\r\n getHeader = false;\r\n\r\n var blockLength = 1;\r\n var iterations = 1;\r\n\r\n // The header byte is signed.\r\n var header = this.tiffDataView.getInt8(\r\n stripOffset + byteOffset,\r\n this.littleEndian\r\n );\r\n\r\n if (header >= 0 && header <= 127) {\r\n // Normal pixels.\r\n blockLength = header + 1;\r\n } else if (header >= -127 && header <= -1) {\r\n // Collapsed pixels.\r\n iterations = -header + 1;\r\n } /*if (header === -128)*/ else {\r\n // Placeholder byte?\r\n getHeader = true;\r\n }\r\n } else {\r\n var currentByte = this.getBytes(1, stripOffset + byteOffset);\r\n\r\n // Duplicate bytes, if necessary.\r\n for (var m = 0; m < iterations; m++) {\r\n if (sampleProperties[sample].hasBytesPerSample) {\r\n // We're reading one byte at a time, so we need to handle multi-byte samples.\r\n currentSample =\r\n (currentSample << (8 * numBytes)) | currentByte;\r\n numBytes++;\r\n\r\n // Is our sample complete?\r\n if (numBytes === sampleProperties[sample].bytesPerSample) {\r\n pixel.push(currentSample);\r\n currentSample = numBytes = 0;\r\n sample++;\r\n }\r\n } else {\r\n throw RangeError('Cannot handle sub-byte bits per sample');\r\n }\r\n\r\n // Is our pixel complete?\r\n if (sample === samplesPerPixel) {\r\n strips[i].push(pixel);\r\n\r\n pixel = [];\r\n sample = 0;\r\n }\r\n }\r\n\r\n blockLength--;\r\n\r\n // Is our block complete?\r\n if (blockLength === 0) {\r\n getHeader = true;\r\n }\r\n }\r\n\r\n jIncrement = 1;\r\n break;\r\n\r\n // Unknown compression algorithm\r\n default:\r\n // Do not attempt to parse the image data.\r\n break;\r\n }\r\n }\r\n\r\n //\t\t\tconsole.log( strips[i] );\r\n }\r\n\r\n //\t\tconsole.log( strips );\r\n\r\n if (canvas.getContext) {\r\n var ctx = this.canvas.getContext('2d');\r\n\r\n // Set a default fill style.\r\n ctx.fillStyle = this.makeRGBAFillValue(255, 255, 255, 0);\r\n\r\n // If RowsPerStrip is missing, the whole image is in one strip.\r\n if (fileDirectory.RowsPerStrip) {\r\n var rowsPerStrip = fileDirectory.RowsPerStrip.values[0];\r\n } else {\r\n var rowsPerStrip = imageLength;\r\n }\r\n\r\n var numStrips = strips.length;\r\n\r\n var imageLengthModRowsPerStrip = imageLength % rowsPerStrip;\r\n var rowsInLastStrip =\r\n imageLengthModRowsPerStrip === 0\r\n ? rowsPerStrip\r\n : imageLengthModRowsPerStrip;\r\n\r\n var numRowsInStrip = rowsPerStrip;\r\n var numRowsInPreviousStrip = 0;\r\n\r\n var photometricInterpretation =\r\n fileDirectory.PhotometricInterpretation.values[0];\r\n\r\n var extraSamplesValues = [];\r\n var numExtraSamples = 0;\r\n\r\n if (fileDirectory.ExtraSamples) {\r\n extraSamplesValues = fileDirectory.ExtraSamples.values;\r\n numExtraSamples = extraSamplesValues.length;\r\n }\r\n\r\n if (fileDirectory.ColorMap) {\r\n var colorMapValues = fileDirectory.ColorMap.values;\r\n var colorMapSampleSize = Math.pow(2, sampleProperties[0].bitsPerSample);\r\n }\r\n\r\n // Loop through the strips in the image.\r\n for (var i = 0; i < numStrips; i++) {\r\n // The last strip may be short.\r\n if (i + 1 === numStrips) {\r\n numRowsInStrip = rowsInLastStrip;\r\n }\r\n\r\n var numPixels = strips[i].length;\r\n var yPadding = numRowsInPreviousStrip * i;\r\n\r\n // Loop through the rows in the strip.\r\n for (var y = 0, j = 0; y < numRowsInStrip, j < numPixels; y++) {\r\n // Loop through the pixels in the row.\r\n for (var x = 0; x < imageWidth; x++, j++) {\r\n var pixelSamples = strips[i][j];\r\n\r\n var red = 0;\r\n var green = 0;\r\n var blue = 0;\r\n var opacity = 1.0;\r\n\r\n if (numExtraSamples > 0) {\r\n for (var k = 0; k < numExtraSamples; k++) {\r\n if (\r\n extraSamplesValues[k] === 1 ||\r\n extraSamplesValues[k] === 2\r\n ) {\r\n // Clamp opacity to the range [0,1].\r\n opacity = pixelSamples[3 + k] / 256;\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n switch (photometricInterpretation) {\r\n // Bilevel or Grayscale\r\n // WhiteIsZero\r\n case 0:\r\n if (sampleProperties[0].hasBytesPerSample) {\r\n var invertValue = Math.pow(\r\n 0x10,\r\n sampleProperties[0].bytesPerSample * 2\r\n );\r\n }\r\n\r\n // Invert samples.\r\n pixelSamples.forEach(function (sample, index, samples) {\r\n samples[index] = invertValue - sample;\r\n });\r\n\r\n // Bilevel or Grayscale\r\n // BlackIsZero\r\n case 1:\r\n red =\r\n green =\r\n blue =\r\n this.clampColorSample(\r\n pixelSamples[0],\r\n sampleProperties[0].bitsPerSample\r\n );\r\n break;\r\n\r\n // RGB Full Color\r\n case 2:\r\n red = this.clampColorSample(\r\n pixelSamples[0],\r\n sampleProperties[0].bitsPerSample\r\n );\r\n green = this.clampColorSample(\r\n pixelSamples[1],\r\n sampleProperties[1].bitsPerSample\r\n );\r\n blue = this.clampColorSample(\r\n pixelSamples[2],\r\n sampleProperties[2].bitsPerSample\r\n );\r\n break;\r\n\r\n // RGB Color Palette\r\n case 3:\r\n if (colorMapValues === undefined) {\r\n throw Error('Palette image missing color map');\r\n }\r\n\r\n var colorMapIndex = pixelSamples[0];\r\n\r\n red = this.clampColorSample(colorMapValues[colorMapIndex], 16);\r\n green = this.clampColorSample(\r\n colorMapValues[colorMapSampleSize + colorMapIndex],\r\n 16\r\n );\r\n blue = this.clampColorSample(\r\n colorMapValues[2 * colorMapSampleSize + colorMapIndex],\r\n 16\r\n );\r\n break;\r\n\r\n // Transparency mask\r\n case 4:\r\n throw RangeError('Not Yet Implemented: Transparency mask');\r\n break;\r\n\r\n // CMYK\r\n case 5:\r\n throw RangeError('Not Yet Implemented: CMYK');\r\n break;\r\n\r\n // YCbCr\r\n case 6:\r\n throw RangeError('Not Yet Implemented: YCbCr');\r\n break;\r\n\r\n // CIELab\r\n case 8:\r\n throw RangeError('Not Yet Implemented: CIELab');\r\n break;\r\n\r\n // Unknown Photometric Interpretation\r\n default:\r\n throw RangeError(\r\n 'Unknown Photometric Interpretation:',\r\n photometricInterpretation\r\n );\r\n break;\r\n }\r\n\r\n ctx.fillStyle = this.makeRGBAFillValue(red, green, blue, opacity);\r\n ctx.fillRect(x, yPadding + y, 1, 1);\r\n }\r\n }\r\n\r\n numRowsInPreviousStrip = numRowsInStrip;\r\n }\r\n }\r\n\r\n /*\t\tfor (var i = 0, numFileDirectories = this.fileDirectories.length; i < numFileDirectories; i++) {\r\n // Stuff\r\n }*/\r\n\r\n return this.canvas;\r\n },\r\n};\r\n","export const optionpresets = {\r\n\t'default': {\r\n\t\t\t // Tracing\r\n\t\t\t corsenabled : true, // true\r\n\t\t\t ltres : 0.08, // 1\r\n\t\t\t qtres : 0.01, // 1\r\n\t\t\t pathomit : 8, // 8\r\n\t\t\t rightangleenhance : true, // true\r\n\t\t\t \r\n\t\t\t // Color quantization\r\n\t\t\t colorsampling : 0, // 1\r\n\t\t\t numberofcolors :8, // 8\r\n\t\t\t mincolorratio : 0, // 0\r\n\t\t\t colorquantcycles : 3, // 3\r\n\t\t\t \r\n\t\t\t // Layering method\r\n\t\t\t layering : 0, //0\r\n\t\t\t \r\n\t\t\t // SVG rendering\r\n\t\t\t strokewidth : 1, //1\r\n\t\t\t linefilter : false, // false\r\n\t\t\t scale : 1, // 1\r\n\t\t\t roundcoords : 1, //1\r\n\t\t\t viewbox : false, // false\r\n\t\t\t desc : false, // false\r\n\t\t\t lcpr : 0, // 0\r\n\t\t\t qcpr : 0, // 0\r\n\t\t\t \r\n\t\t\t // Blur\r\n\t\t\t blurradius :0, //0\r\n\t\t\t blurdelta : 20 //20\r\n\t\t\r\n\t},\r\n\r\n\t'png': {\r\n // Tracing\r\n corsenabled : true, // true\r\n ltres : 0.08, // 1\r\n qtres : 0.1, // 1 --> FOR PNG 0.1 // FOR JPG 0.01\r\n pathomit : 8, // 8\r\n rightangleenhance : true, // true\r\n \r\n // Color quantization\r\n colorsampling : 10, // 1 -->FOR PNG 10 // FOR JPG 0\r\n numberofcolors :8, // 8\r\n mincolorratio : 0, // 0\r\n colorquantcycles : 3, // 3\r\n \r\n // Layering method\r\n layering : 0, //0\r\n \r\n // SVG rendering\r\n strokewidth : 1, //1\r\n linefilter : false, // false\r\n scale : 1, // 1\r\n roundcoords : 1, //1\r\n viewbox : false, // false\r\n desc : false, // false\r\n lcpr : 0, // 0\r\n qcpr : 0, // 0\r\n \r\n // Blur\r\n blurradius :0, //0\r\n blurdelta : 20 //20 \r\n },\r\n\t\t\r\n\t'jpg': {\r\n // Tracing\r\n\t\t\tcorsenabled : true, // true\r\n\t\t\tltres : 0.08, // 1\r\n\t\t\tqtres : 0.01, // 1\r\n\t\t\tpathomit : 8, // 8\r\n\t\t\trightangleenhance : true, // true\r\n\t\t\t// Color quantization\r\n\t\t\tcolorsampling : 0, // 1\r\n\t\t\tnumberofcolors :8, // 8\r\n\t\t\tmincolorratio : 0, // 0\r\n\t\t\tcolorquantcycles : 3, // 3\r\n\t\t\t// Layering method\r\n\t\t\tlayering : 0, //0\r\n\t\t\t// SVG rendering\r\n\t\t\tstrokewidth : 1, //1\r\n\t\t\tlinefilter : false, // false\r\n\t\t\tscale : 1, // 1\r\n\t\t\troundcoords : 1, //1\r\n\t\t\tviewbox : false, // false\r\n\t\t\tdesc : false, // false\r\n\t\t\tlcpr : 0, // 0\r\n\t\t\tqcpr : 0, // 0\r\n\t\t\t// Blur\r\n\t\t\tblurradius :0, //0\r\n\t\t\tblurdelta : 20 //20\t \r\n\t},\r\n\r\n\t\t'posterized1': { colorsampling:0, numberofcolors:2 },\r\n\t\t\r\n\t\t'posterized2': { numberofcolors:4, blurradius:5 },\r\n\t\t\r\n\t\t'curvy': { ltres:0.01, linefilter:true, rightangleenhance:false },\r\n\t\t\r\n\t\t'sharp': { qtres:0.01, linefilter:false },\r\n\t\t\r\n\t\t'detailed': { pathomit:0, roundcoords:2, ltres:0.5, qtres:0.5, numberofcolors:64 },\r\n\t\t\r\n\t\t'smoothed': { blurradius:5, blurdelta: 64 },\r\n\t\t\r\n\t\t'grayscale': { colorsampling:0, colorquantcycles:1, numberofcolors:7 },\r\n\t\t\r\n\t\t'fixedpalette': { colorsampling:0, colorquantcycles:1, numberofcolors:27 },\r\n\t\t\r\n\t\t'randomsampling1': { colorsampling:1, numberofcolors:8 },\r\n\t\t\r\n\t\t'randomsampling2': { colorsampling:1, numberofcolors:64 },\r\n\t\t\r\n\t\t'artistic1': { colorsampling:0, colorquantcycles:1, pathomit:0, blurradius:5, blurdelta: 64, ltres:0.01, linefilter:true, numberofcolors:16, strokewidth:2 },\r\n\t\t\r\n\t\t'artistic2': { qtres:0.01, colorsampling:0, colorquantcycles:1, numberofcolors:4, strokewidth:0 },\r\n\t\t\r\n\t\t'artistic3': { qtres:10, ltres:10, numberofcolors:8 },\r\n\t\t\r\n\t\t'artistic4': { qtres:10, ltres:10, numberofcolors:64, blurradius:5, blurdelta: 256, strokewidth:2 },\r\n\t\t\r\n\t\t'posterized3': { ltres: 1, qtres: 1, pathomit: 20, rightangleenhance: true, colorsampling: 0, numberofcolors: 3,\r\n\t\t\tmincolorratio: 0, colorquantcycles: 3, blurradius: 3, blurdelta: 20, strokewidth: 0, linefilter: false,\r\n\t\t\troundcoords: 1, pal: [ { r: 0, g: 0, b: 100, a: 255 }, { r: 255, g: 255, b: 255, a: 255 } ] }\r\n\t\t\t\r\n\t}// End of optionpresets","import { StateCreator } from 'zustand';\r\nimport { TIFFParser } from '../../loaders/tiffParser';\r\nimport { use3dddPlus } from '..';\r\nimport { fabric } from 'fabric';\r\nimport ImageTracer from 'imagetracerjs';\r\nimport { optionpresets } from '../../data';\r\n\r\n// import * as pdfjsLib from 'pdfjs-dist/build/pdf';\r\n// pdfjsLib.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjsLib.version}/pdf.worker.js`;\r\n//@ts-ignore\r\nimport * as pdfjsLib from 'pdfjs-dist/webpack';\r\nimport { requests } from '../../axios/index';\r\n\r\nexport interface ConverterSlice {\r\n fillColor: string[];\r\n pdfConverter: (data: any) => void;\r\n convertPdfToImages: (buffer: any) => any;\r\n tiffConvert: (data: any) => void;\r\n aiConvert: (data: any) => any;\r\n loadImageFromURL: (data: any, canvasToLoad: fabric.Canvas) => any;\r\n imageToSVG: (\r\n data: any,\r\n ext: string,\r\n isSVG?: boolean,\r\n convert?: boolean\r\n ) => void;\r\n removeDuplicates: (arr: any) => void;\r\n RGBToHex: (rgb: any) => void;\r\n changeSVGColor: (property: any, color: any) => boolean;\r\n setFile: (file: any) => void;\r\n file: any;\r\n addText: () => void;\r\n refreshColor: (colorValue: number) => void;\r\nprocessImage: (\r\n svgstr: any,\r\n colorValue: number,\r\n canvasToLoad: fabric.Canvas\r\n ) => void;\r\n}\r\n\r\nexport const converterSlice: StateCreator<ConverterSlice> = (set, get) => {\r\n const processImage = (\r\n svgstr: any,\r\n colorValue: number,\r\n canvasToLoad: fabric.Canvas = use3dddPlus.getState().popupCanv\r\n ) => {\r\n fabric.loadSVGFromString(\r\n //@ts-ignore\r\n new String(svgstr),\r\n function (objects, options) {\r\n const svgData = getDesignConceptSVGData(svgstr);\r\n console.log(svgData);\r\n let loadedObject: any = fabric.util.groupSVGElements(objects, options);\r\n \r\n svgData.forEach((resItem) => {\r\n var path;\r\n var node;\r\n\r\n objects?.forEach((item) => {\r\n //@ts-ignore\r\n // console.log(item.id, res[0].path.replace(\"#\", \"\"));\r\n //@ts-ignore\r\n if (item.id === resItem.path) {\r\n path = item;\r\n //@ts-ignore\r\n } else if (item.id === resItem.element) {\r\n node = item;\r\n }\r\n });\r\n\r\n if (node && path) {\r\n const fontSize = resItem.node.children[0]\r\n ?.getAttribute('font-size')\r\n ?.replace('px', '');\r\n node.set({\r\n path: path,\r\n top: path.top,\r\n left: path.left,\r\n textAlign: 'center',\r\n pathStartOffset:\r\n (path.width *\r\n parseFloat(resItem.node.startOffset.baseVal.valueAsString)) /\r\n 100,\r\n // fontFamily: resItem.node.children[0].getAttribute(\"font-family\"),\r\n fontSize: fontSize || 25,\r\n });\r\n node.setCoords();\r\n }\r\n });\r\n // loadedObject.scaleToHeight(300);\r\n // loadedObject.scaleToWidth(300);\r\n const canvas = canvasToLoad ?? use3dddPlus.getState().popupCanv;\r\n const canvasWidth = canvas.width;\r\n const canvasHeight = canvas.height;\r\n\r\n let val = 300;\r\n if (\r\n (loadedObject.width <= 200 || loadedObject.height <= 200) &&\r\n (loadedObject.minX === -0 || loadedObject.minX)\r\n ) {\r\n val = 600;\r\n }\r\n if (\r\n Math.ceil(loadedObject.width + loadedObject.left + 45) >=\r\n Math.floor(canvasWidth)\r\n ) {\r\n loadedObject.scaleToWidth(val);\r\n } else if (\r\n Math.ceil(loadedObject.height + loadedObject.top + 10) >=\r\n Math.floor(canvasHeight)\r\n ) {\r\n loadedObject.scaleToHeight(val);\r\n } else if (Math.ceil(loadedObject.left) < 0) {\r\n loadedObject.scaleToWidth(val);\r\n } else if (Math.ceil(loadedObject.top) < 0) {\r\n loadedObject.scaleToHeight(val);\r\n } else if (loadedObject.width < 200 || loadedObject.height < 200) {\r\n loadedObject.scaleToWidth(val);\r\n }\r\n //@ts-ignore\r\n let objImage = loadedObject?._objects;\r\n if(!objImage){\r\n objImage = [loadedObject]\r\n }\r\n let _Fills = [];\r\n let fillCounts = {};\r\n let colorObjects = {};\r\n if (objImage) {\r\n objImage.forEach((ele: any) => {\r\n ele.set({ strokeWidth: 0 });\r\n ele.set({ id: ele.id ?? use3dddPlus.getState().guid() });\r\n if (typeof ele.fill === 'string' && ele.fill !== '') {\r\n set({ fillColor: [...ele.fill] });\r\n let fillColor = ele.fill.toString();\r\n const pixelCount = ele.width * ele.height;\r\n fillCounts[fillColor] = (fillCounts[fillColor] || 0) + pixelCount;\r\n if (colorObjects[fillColor]) {\r\n colorObjects[fillColor].objects.push(ele.get('id'));\r\n } else {\r\n colorObjects[fillColor] = { objects: [ele.get('id')] };\r\n }\r\n }\r\n });\r\n }\r\n use3dddPlus.setState({ loadedObject: objImage });\r\n const sortedFillColors = Object.keys(fillCounts).sort(\r\n (a, b) => fillCounts[b] - fillCounts[a]\r\n );\r\n const topColors = sortedFillColors.slice(0, colorValue);\r\n let colorObjectsHex = {};\r\n topColors.map((e) => {\r\n if (e.search('#') === -1) {\r\n let _C: any = get().RGBToHex(e);\r\n _Fills.push(_C);\r\n colorObjects[e].hex = _C;\r\n colorObjectsHex[_C] = colorObjects[e];\r\n } else {\r\n _Fills.push(e);\r\n colorObjects[e].hex = e;\r\n colorObjectsHex[e] = colorObjects[e];\r\n }\r\n });\r\n //@ts-ignore\r\n set({ fillColor: get().removeDuplicates(_Fills) });\r\n //@ts-ignore\r\n _Fills = get().removeDuplicates(_Fills);\r\n const fillColors = {};\r\n _Fills.map((item, index) => {\r\n fillColors['layer' + index] = item;\r\n });\r\n use3dddPlus.setState({ colorFill: fillColors });\r\n\r\n // Update colors in default color fill\r\n const defaultCF = [];\r\n Object.keys(fillColors).map((cf: any) => {\r\n defaultCF.push({\r\n property: cf,\r\n default: fillColors[cf],\r\n updated: fillColors[cf],\r\n objects: colorObjectsHex[fillColors[cf]].objects,\r\n });\r\n });\r\n use3dddPlus.setState({ defaultColorFill: defaultCF });\r\n use3dddPlus.setState({ defaultColorFillCopy: defaultCF });\r\n\r\n function euclideanDistance(color1: string, color2: string): number {\r\n const c1 = new fabric.Color(color1).getSource();\r\n const c2 = new fabric.Color(color2).getSource();\r\n\r\n const diffR = c1[0] - c2[0];\r\n const diffG = c1[1] - c2[1];\r\n const diffB = c1[2] - c2[2];\r\n\r\n return Math.sqrt(diffR ** 2 + diffG ** 2 + diffB ** 2);\r\n }\r\n const colorMap: { [color: string]: string } = {};\r\n sortedFillColors.forEach((color) => {\r\n const closestColor = topColors.reduce((prev, curr) => {\r\n const prevDiff = euclideanDistance(color, prev);\r\n const currDiff = euclideanDistance(color, curr);\r\n return prevDiff < currDiff ? prev : curr;\r\n });\r\n colorMap[color] = closestColor;\r\n });\r\n if (objImage) {\r\n objImage.forEach((ele: any) => {\r\n ele.set({ fill: colorMap[ele.fill.toString()] });\r\n });\r\n }\r\n loadedObject.set({\r\n colorFill: fillColors,\r\n //@ts-ignore\r\n setControlVisible: false,\r\n });\r\n // loadedObject.id = use3dddPlus.getState().guid();\r\n\r\n // loadedObject = new fabric.Group(objImage, options);\r\n use3dddPlus.getState().popupCanv?.clear();\r\n\r\n // use3dddPlus\r\n // .getState()\r\n // .popupCanv.setBackgroundColor(\r\n // {\r\n // source:\r\n // 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/checkerBoxBG.png',\r\n // repeat: 'repeat',\r\n // },\r\n // use3dddPlus\r\n // .getState()\r\n // .popupCanv.renderAll.bind(use3dddPlus.getState().popupCanv),\r\n // {\r\n // backgroundImageOpacity: 1,\r\n // scaleX: 1.1,\r\n // scaleY: 1.1,\r\n // backgroundRepeat: 'repeat',\r\n // }\r\n // );\r\n\r\n // const canvas = use3dddPlus.getState().popupCanv;\r\n var gridSize = 83; // Size of each grid cell\r\n // var canvasWidth = canvas.width;\r\n // var canvasHeight = canvas.height;\r\n var numCols = Math.ceil(canvasWidth / gridSize);\r\n var numRows = Math.ceil(canvasHeight / gridSize);\r\n\r\n // Function to create a rectangle with checkerboard pattern\r\n function createCheckerboardRect(left, top, width, height, isEvenRow) {\r\n var rect = new fabric.Rect({\r\n left: left,\r\n top: top,\r\n width: width,\r\n height: height,\r\n type: 'line',\r\n lockMovementX: true,\r\n lockMovementY: true,\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n // backgroundColor:'#ccc',\r\n fill:\r\n (isEvenRow && (left / gridSize) % 2 === 0) ||\r\n (!isEvenRow && (left / gridSize) % 2 !== 0)\r\n ? '#ffffff'\r\n : '#dadadac7',\r\n });\r\n return rect;\r\n }\r\n\r\n // Create grid lines\r\n for (var i = 0; i < numCols; i++) {\r\n var x = i * gridSize;\r\n canvas.add(\r\n new fabric.Line([x, 0, x, canvasHeight], {\r\n stroke: '#dadadac7',\r\n selectable: false,\r\n lockMovementX: true,\r\n lockMovementY: true,\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n type: 'line',\r\n })\r\n );\r\n }\r\n\r\n for (var j = 0; j < numRows; j++) {\r\n var y = j * gridSize;\r\n canvas.add(\r\n new fabric.Line([0, y, canvasWidth, y], {\r\n stroke: '#FFFFFF',\r\n selectable: false,\r\n lockMovementX: true,\r\n lockMovementY: true,\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n type: 'line',\r\n })\r\n );\r\n }\r\n\r\n // Fill grid with checkerboard pattern\r\n for (var i = 0; i < numCols; i++) {\r\n for (var j = 0; j < numRows; j++) {\r\n var left = i * gridSize;\r\n var top = j * gridSize;\r\n var isEvenRow = j % 2 === 0;\r\n var rect = createCheckerboardRect(\r\n left,\r\n top,\r\n gridSize,\r\n gridSize,\r\n isEvenRow\r\n );\r\n use3dddPlus.getState()?.popupCanv?.add(rect);\r\n }\r\n }\r\n\r\n canvas.add(loadedObject).renderAll();\r\n canvas.centerObject(loadedObject);\r\n canvas.setActiveObject(loadedObject);\r\n use3dddPlus.setState({ activeSelection: loadedObject });\r\n use3dddPlus.setState({ loading: false });\r\n use3dddPlus.getState().popUpCanvasUpdateModification(true);\r\n }\r\n );\r\n };\r\n\r\n // function convertToFabricUnits(valueWithUnit, canvasHeight = 500) {\r\n // // Parse the value and unit from the string\r\n // const matches = valueWithUnit.match(/^([\\d.]+)(\\D+)$/);\r\n // if (!matches) {\r\n // throw new Error(\"Invalid value format. Value must be in the format 'numberunit', e.g., '10px'.\");\r\n // }\r\n // const value = parseFloat(matches[1]);\r\n // const unit = matches[2];\r\n\r\n // // Define conversion ratios for different units\r\n // const conversionTable = {\r\n // 'px': 1,\r\n // 'em': 16, // Assuming 1em = 16px (default browser font size)\r\n // 'rem': 16, // Same as em\r\n // 'vh': canvasHeight / 100 // 1vh is 1% of canvas height\r\n // };\r\n\r\n // // Convert the value to pixels\r\n // if (unit in conversionTable) {\r\n // return value * conversionTable[unit];\r\n // } else {\r\n // throw new Error(\"Unsupported unit. Supported units are 'px', 'em', 'rem', 'vh'.\");\r\n // }\r\n // }\r\n\r\n const getDesignConceptSVGData = (svgData) => {\r\n const parser = new DOMParser();\r\n const xmlDoc = parser.parseFromString(svgData, 'image/svg+xml');\r\n const textElements = xmlDoc.querySelectorAll('textPath');\r\n const href = [];\r\n\r\n textElements.forEach((textElement) => {\r\n const hrefValue =\r\n textElement?.getAttribute('xlink:href') ??\r\n textElement?.getAttribute('href');\r\n if (hrefValue)\r\n href.push({\r\n path: hrefValue.replace('#', ''),\r\n //@ts-ignore\r\n element: textElement?.parentNode?.id,\r\n node: textElement,\r\n });\r\n });\r\n return href;\r\n };\r\n\r\n return {\r\n fillColor: [],\r\n file: {},\r\n setFile: (file) => {\r\n set({ file });\r\n },\r\nprocessImage: processImage,\r\n tiffConvert: async (data) => {\r\n const tiffParser = new TIFFParser();\r\n const canvasEl = document.createElement('canvas');\r\n canvasEl.width = 800;\r\n canvasEl.height = 800;\r\n // const context = canvasEl.getContext(\"2d\");\r\n const arrayBuffer = await data.arrayBuffer();\r\n var tiffCanvas = tiffParser.parseTIFF(arrayBuffer, canvasEl);\r\n const imageUrl = tiffCanvas.toDataURL();\r\n return imageUrl;\r\n },\r\n aiConvert: async (aiFile) => {\r\n const formData = new FormData();\r\n formData.append('file', aiFile);\r\n const url = 'https://m2dev.richardsonsports.com/rest/V1/file-conversion';\r\n const config = {\r\n headers: {\r\n Authorization: 'Bearer 6k5hm5dcmdwtd6l4setj4a3aq6liab5u',\r\n 'Content-Type': 'multipart/form-data',\r\n },\r\n };\r\n const response = await requests.post(url, formData, config);\r\n return response;\r\n },\r\n loadImageFromURL: async (url, canvasToLoad) => {\r\n console.log('---.', url);\r\n // return await requests.get(url + \"?timestamp=\" + Date.now());\r\n const response = await fetch(url);\r\n const blob = await response.text();\r\n\r\n processImage(blob, 8, canvasToLoad);\r\n // return url;\r\n },\r\n imageToSVG: (data, ext: string, isSVG = false, convert = true) => {\r\n // use3dddPlus.setState({ uploadImageModalDisplay: true });\r\n use3dddPlus.setState({ loading: true });\r\n if (convert) {\r\n if (isSVG) {\r\n var reader = new FileReader();\r\n reader.onload = function (e) {\r\n use3dddPlus.setState({ imageData: e.target.result });\r\n processImage(e.target.result, 8);\r\n };\r\n reader.readAsText(data);\r\n } else {\r\n ImageTracer.imageToSVG(\r\n data,\r\n function (svgstr) {\r\n use3dddPlus.setState({ imageData: svgstr });\r\n processImage(svgstr, 8);\r\n },\r\n ext && (ext.toLowerCase() === 'jpg' || ext.toLowerCase() === 'jpeg')\r\n ? optionpresets.jpg\r\n : ext.toLowerCase() === 'png'\r\n ? optionpresets.png\r\n : optionpresets.default\r\n );\r\n }\r\n } else {\r\n processImage(data, 8);\r\n }\r\n },\r\n refreshColor: (colorValue: number) => {\r\n processImage(use3dddPlus.getState().imageData, colorValue);\r\n },\r\n removeDuplicates: (arr) => {\r\n return arr.filter((item : any, index : any) => arr.indexOf(item) === index);\r\n },\r\n\r\n RGBToHex: (rgb) => {\r\n if (rgb) {\r\n if (rgb.indexOf('rgba') >= 0) {\r\n const rgba = rgb.replace(/^rgba?\\(|\\s+|\\)$/g, '').split(',');\r\n return `#${(\r\n (1 << 24) +\r\n (parseInt(rgba[0]) << 16) +\r\n (parseInt(rgba[1]) << 8) +\r\n parseInt(rgba[2])\r\n )\r\n .toString(16)\r\n .slice(1)}`;\r\n } else {\r\n let sep = rgb.indexOf(',') > -1 ? ',' : ' ';\r\n rgb = rgb.substr(4).split(')')[0].split(sep);\r\n let r = (+rgb[0]).toString(16),\r\n g = (+rgb[1]).toString(16),\r\n b = (+rgb[2]).toString(16);\r\n\r\n if (r.length == 1) r = '0' + r;\r\n if (g.length == 1) g = '0' + g;\r\n if (b.length == 1) b = '0' + b;\r\n return '#' + r + g + b;\r\n }\r\n } else {\r\n return '';\r\n }\r\n },\r\n changeSVGColor: (property, color) => {\r\n use3dddPlus.getState().popUpCanvasUpdateModification(true);\r\n const fillColor = { ...use3dddPlus.getState().colorFill };\r\n if (use3dddPlus.getState().loadedObject) {\r\n // let objImage1 = use3dddPlus.getState().popupCanv.getObjects();\r\n let objImage = use3dddPlus.getState().popupCanv.getObjects();\r\n if (objImage.length > 0) {\r\n objImage.forEach((ele : any) => {\r\n let defaultColorObject = null;\r\n if (use3dddPlus.getState().defaultColorFill) {\r\n defaultColorObject = use3dddPlus\r\n .getState()\r\n .defaultColorFill.find((dcf) => dcf.property === property);\r\n }\r\n if (\r\n ele.id &&\r\n defaultColorObject &&\r\n defaultColorObject.objects &&\r\n defaultColorObject.objects.includes(ele.id) &&\r\n typeof ele.fill === 'string' &&\r\n ele.fill !== ''\r\n ) {\r\n // const _C = (ele.fill === 'transparent' || (typeof ele.fill === 'string' && ele.fill.includes('#')) ? ele.fill : get().RGBToHex(ele.fill));\r\n // if (_C === previousColor) {\r\n ele.set({\r\n fill: color,\r\n });\r\n // }\r\n }\r\n\r\n // if(typeof ele.fill === \"string\" && ele.fill !== \"\"){\r\n // const _C = (ele.fill === 'transparent' || (typeof ele.fill === 'string' && ele.fill.includes('#')) ? ele.fill : get().RGBToHex(ele.fill));\r\n // if (_C === previousColor) {\r\n // ele.set({\r\n // fill: color,\r\n // });\r\n // }\r\n // }\r\n });\r\n use3dddPlus.getState().popupCanv.renderAll();\r\n fillColor[property] = color;\r\n // Object.keys(fillColor).forEach((fc: any) => {\r\n // if(fillColor[fc] === previousColor){\r\n // fillColor[fc] = color;\r\n // }\r\n // });\r\n use3dddPlus.setState({ colorFill: fillColor });\r\n }\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n },\r\n addText: () => {\r\n fabric.Object.prototype.hasControls = true;\r\n fabric.Object.prototype.hasBorders = true;\r\n use3dddPlus.getState().fabricCanvas.discardActiveObject();\r\n const text: any = new fabric.Text('NEW TEXT', {\r\n lineHeight: 1,\r\n fill: '#040404',\r\n fontFamily: 'Athletic Block',\r\n fontWeight: 'normal',\r\n top: use3dddPlus.getState().fabricCanvas.height / 2 - 40,\r\n left: use3dddPlus.getState().fabricCanvas.width / 2 - 205,\r\n stroke: '#eb4034',\r\n strokeWidth: 0,\r\n paintFirst: 'stroke',\r\n //charSpacing: 0,\r\n padding: 10,\r\n fontSize: 50,\r\n name: 'text',\r\n charSpacing: 0,\r\n lockScalingFlip: true,\r\n });\r\n const fillColors = { layer0: text.fill };\r\n text.set({\r\n //@ts-ignore\r\n colorFill: fillColors,\r\n });\r\n text.id = use3dddPlus.getState().guid();\r\n use3dddPlus.getState().fabricCanvas.centerObject(text);\r\n use3dddPlus.getState().fabricCanvas.add(text);\r\n use3dddPlus.getState().fabricCanvas.setActiveObject(text);\r\n use3dddPlus.setState({ currentSelection: 'text' });\r\n //@ts-ignore\r\n use3dddPlus.getState().deleteButtonControls(text);\r\n text.setControlsVisibility(use3dddPlus.getState().HideControls);\r\n use3dddPlus.getState().nameCounter++;\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forStoringAllObject(text); //for pushing the data into array for layers\r\n // use3dddPlus.setState({storeAllObject : });\r\n use3dddPlus.getState().forIconCapture();\r\n //@ts-ignore\r\n text.icon = use3dddPlus.getState().iconImage;\r\n },\r\n pdfConverter: (data) => {\r\n return new Promise((_resolve, reject) => {\r\n if (data) {\r\n const reader = new FileReader();\r\n reader.onload = async () => {\r\n const buffer = reader.result;\r\n try {\r\n const _B = await get().convertPdfToImages(buffer);\r\n _resolve(_B);\r\n } catch (error) {\r\n reject(error);\r\n }\r\n };\r\n reader.readAsArrayBuffer(data);\r\n } else {\r\n reject(new Error('No data provided.'));\r\n }\r\n });\r\n },\r\n // convertPdfToImages: async (buffer: any) => {\r\n // const pdf = await pdfjsLib.getDocument({ data: new Uint8Array(buffer) })\r\n // .promise;\r\n // const scale = 2;\r\n // for (let pageNum = 1; pageNum <= pdf.numPages; pageNum++) {\r\n // const page = await pdf.getPage(pageNum);\r\n // const viewport = page.getViewport({ scale });\r\n // const canvasEl = document.createElement('canvas');\r\n // canvasEl.width = viewport.width;\r\n // canvasEl.height = viewport.height;\r\n // const context = canvasEl.getContext('2d');\r\n // await page.render({\r\n // canvasContext: context,\r\n // viewport,\r\n // background: 'rgba(0,0,0,0)',\r\n // }).promise;\r\n // const imageUrl = canvasEl.toDataURL();\r\n // return imageUrl;\r\n // }\r\n // return null;\r\n // },\r\n convertPdfToImages: async (file) => {\r\n const pdf = await pdfjsLib.getDocument(file).promise;\r\n const canvas = document.createElement('canvas');\r\n if (pdf.numPages >= 0) {\r\n const page = await pdf.getPage(1);\r\n const viewport = page.getViewport({ scale: 1 });\r\n const context = canvas.getContext('2d');\r\n canvas.height = viewport.height;\r\n canvas.width = viewport.width;\r\n await page.render({ canvasContext: context, viewport: viewport })\r\n .promise;\r\n }\r\n const imageUrl = canvas.toDataURL();\r\n return imageUrl;\r\n },\r\n };\r\n};\r\nexport default ConverterSlice;\r\n","import { create, StateCreator } from 'zustand';\r\nimport {\r\n // createJSONStorage,\r\n // persist,\r\n subscribeWithSelector,\r\n} from 'zustand/middleware';\r\nimport actionSlice, { ActionSlice } from './actions';\r\nimport lambdaSlice, { LambdaSlice } from './lambda/index';\r\nimport SaveDesignSlice, { saveDesignSlice } from './saveDesign';\r\nimport AuthSlice, { authSlice } from './auth';\r\nimport HistorySlice, { historySlice } from './history';\r\nimport FabricSlice, { fabricSlice } from './fabric';\r\nimport ConverterSlice, { converterSlice} from './converters';\r\nexport type ThreedddPlus = \r\n ActionSlice &\r\n LambdaSlice &\r\n SaveDesignSlice &\r\n AuthSlice &\r\n HistorySlice &\r\n ConverterSlice &\r\n FabricSlice;\r\n\r\nexport const threedddPlusState: StateCreator<ThreedddPlus> = (...args) => {\r\n return {\r\n ...actionSlice(...args),\r\n ...lambdaSlice(...args),\r\n ...saveDesignSlice(...args),\r\n ...authSlice(...args),\r\n ...historySlice(...args),\r\n ...converterSlice(...args),\r\n ...fabricSlice(...args)\r\n };\r\n};\r\n\r\nexport const use3dddPlus = create(\r\n // persist(\r\n subscribeWithSelector<ThreedddPlus>(threedddPlusState)\r\n // , {\r\n // name: 'editor-store', // unique name\r\n // storage: createJSONStorage(() => sessionStorage), // (optional) by default, 'localStorage' is used\r\n // }\r\n // )\r\n);\r\n\r\n(window as any).datasbase = use3dddPlus;\r\n","import React from \"react\";\r\n\r\nexport const Button = ({ label, icons, onClick, className, children }) => {\r\n return (\r\n <button\r\n onClick={onClick}\r\n className={`flex rounded-none gap-3 w-full items-center p-2 m-2 ${className}`}\r\n >\r\n {icons}\r\n {label}\r\n {children}\r\n </button>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { Button } from 'reakit';\r\n\r\nexport const IconButtonLabel = ({\r\n icon,\r\n onClick,\r\n className = '',\r\n label = '',\r\n iconPosition = 'left',\r\n ...props\r\n}) => {\r\n return (\r\n <Button\r\n className={`flex items-center gap-2 text-base font-bold flex-1 justify-center focus:outline-none ${className}`}\r\n onClick={onClick}\r\n {...props}\r\n >\r\n {iconPosition === 'left' && (\r\n <>\r\n {icon}\r\n {label}\r\n </>\r\n )}\r\n {iconPosition === 'right' && (\r\n <>\r\n {label}\r\n {icon}\r\n </>\r\n )}\r\n </Button>\r\n );\r\n};\r\n","import React from \"react\";\r\n\r\nexport const EditButton = ({ label, icons, onClick, className, children }) => {\r\n return (\r\n <button\r\n onClick={onClick}\r\n className={`flex rounded-none gap-3 items-center ${className}`}\r\n >\r\n {icons}\r\n {label}\r\n {children}\r\n </button>\r\n );\r\n };","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","export const PRIMARY_COLOR = 'text-[#cf132b]'; //rgb(30 58 138);\r\nexport const SECONDARY_COLOR = 'text-[#e11a38]'; //rgb(156 163 175);\r\nexport const BORDER_COLOR = 'border-[#e0e0e0]'; //rgb(156 163 175)\r\nexport const BORDER_COLOR_1 = 'border-[#ecebed]';\r\nexport const BORDER_COLOR_2 = 'border-[#c2c2c2]';\r\nexport const BORDER_COLOR_3 = 'border-[#e11a38]';\r\nexport const SIDEBAR_BG_COLOR = 'bg-[#f7f7f7]';\r\nexport const SELECT_BG_COLOR = 'bg-[#e11a38]'; //rgb(203 213 225)\r\nexport const BG_COLOR_1 = 'bg-[#e11a38]'; //rgb(203 213 225)\r\nexport const SELECT_TEXT_COLOR = 'text-white'\r\nexport const TEXT_SIZE_1 = 'text-xs'; //font-size: 12px (0.75rem)\r\nexport const TEXT_SIZE_2 = 'text-2xl'; //font-size: 24px; (1.5rem)\r\nexport const TEXT_SIZE_3 = 'text-[15px]';\r\nexport const TEXT_SIZE_4 = 'text-[17px]';\r\nexport const TEXT_SIZE_5 = 'text-[28px]';\r\nexport const TEXT_SIZE_6 = 'text-[14px]';\r\nexport const TEXT_SIZE_7 = 'text-[30px]';\r\nexport const TEXT_SIZE_8 = 'text-[21px]';\r\nexport const TEXT_SIZE_9 = 'text-[13px]';\r\nexport const TEXT_SIZE_11 = 'text-[18px]';\r\nexport const TEXT_SIZE_12 = 'text-[11px]';\r\nexport const TEXT_SIZE_13 = 'text-[12px]';\r\nexport const TEXT_SIZE_14 = 'text-[16px]';\r\nexport const TEXT_SIZE_15 = 'text-[25px]';\r\nexport const TEXT_SIZE_16 = 'text-[26px]';\r\nexport const TEXT_SIZE_17 = 'text-[22px]';\r\nexport const TEXT_SIZE_18 = 'text-[16px]';\r\nexport const ACTIVE_BG_COLOR = 'bg-[#cf132b]'; //rgb(30 58 138);\r\nexport const BUTTON_TEXT_COLOR = 'text-white';\r\nexport const BUTTON_BG_COLOR = 'bg-black'; //rgb(0 0 0)\r\nexport const INPUT_BG_COLOR = 'bg-white';\r\nexport const TEXT_COLOR_1 = 'text-[#5d5d5d]';\r\nexport const BACKDROP_BLUR = 'backdrop-blur-[45px]';\r\nexport const BACKDROP_BLUR_BG_COLOR = 'bg-[#00000046]';\r\nexport const MODAL_BG_COLOR = 'bg-[#ffffff]';\r\nexport const CARD_BG_COLOR = 'bg-white'; //rgb(255 255 255)\r\nexport const INPUT_TEXT_DISABLE_COLOR = 'text-slate-300'\r\nexport const CHECKBOX_CHECKED_COLOR = '#e11a38'\r\nexport const LOAD_DESIGN_BORDER_COLOR = '#e0e0e0'\r\nexport const LOAD_DESIGN_TEXT_COLOR = 'text-[#e11a38]';\r\nexport const SEARCH_ICON_COLOR = 'text-[#727272]'\r\nexport const SEARCHBAR_BORDER_COLOR = 'border-[#bebebe]'\r\nexport const MY_DESIGN_TEXT_COLOR = 'text-[#353535]'\r\nexport const SEARCH_TEXT_COLOR = 'text-[#353535]'\r\nexport const NO_SEARCHRESULT_TEXT_COLOR_1 = 'text-[#727272]'\r\nexport const NO_SEARCHRESULT_TEXT_COLOR_2 = 'text-[#5d5d5d]'\r\nexport const CANVAS_MENU_TEXT = 'text-[#353535]';\r\nexport const CANVAS_MENU_BORDER = 'border-[#f4f4f4]';\r\nexport const CANVAS_MENU_BG_COLOR = 'bg-white';\r\nexport const CANVAS_MENU_DROPDOWN_BG_COLOR = 'bg-white';\r\nexport const DECORATION_BG_COLOR = 'bg-[#F1F1F1]'\r\nexport const DROPDOWN_BACKGROUND_COLOR = 'bg-[#FCE8EB]'\r\nexport const TAG_BG_COLOR = 'bg-[#FCE8EB]'\r\nexport const TAG_TEXT_COLOR = 'text-[#e11a38]'\r\nexport const CARD_LAST_UPDATE_COLOR = 'text-[#727272]'\r\nexport const CARD_DOWNLAOD_ICON_COLOR = 'text-[#353535]'\r\nexport const CARD_DESCRIPTION_COLOR = 'text-[#353535]'\r\nexport const FOOTER_TEXT_COLOR = 'text-[#ffffff]'\r\nexport const FOOTER_RACK_BG_COLOR = 'bg-[#E21938]'\r\nexport const FOOTER_PRICE_COLOR = 'text-[#353535]'\r\nexport const FOOTER_RACK_COUNT_COLOR = 'text-[#E21938]'\r\nexport const FOOTER_ROSTER_COLOR = 'text-[#353535]'\r\nexport const FOOTER_ROSTER_BORDER_COLOR = 'border-[#353535]'\r\nexport const FOOTER_SUMMARY_BG_COLOR = 'bg-[#353535]'\r\nexport const FOOTER_SUMMARY_TEXT_COLOR = 'text-white'\r\nexport const CONFIRMDESIGN_DISCARD_BORDER_COLOR = 'border-[#707070]';\r\nexport const CONFIRMDESIGN_TEXT_COLOR_1 = 'text-[#5d5d5d]';\r\nexport const CONFIRMDESIGN_TEXT_COLOR_2 = 'text-[#E11A38]';\r\nexport const CONFIRMDESIGN_TEXT_COLOR_3 = 'text-[#353535]';\r\nexport const CONFIRMDESIGN_TEXT_COLOR_4 = 'text-[#ffffff]';\r\nexport const CONFIRMDESIGN_SAVEBUTTON_BG_COLOR = 'bg-[#E11A38]';\r\nexport const DESIGNSUCCESS_CLOSE_BORDER_COLOR = 'border-[#707070]';\r\nexport const DESIGNSUCCESS_TEXT_COLOR_1 = 'text-[#5d5d5d]';\r\nexport const DESIGNSUCCESS_TEXT_COLOR_2 = 'text-[#E21938]';\r\nexport const DESIGNSUCCESS_TEXT_COLOR_3 = 'text-[#353535]';\r\n\r\nexport const SAVERACK_BORDER_COLOR = 'border-[#707070]'\r\nexport const SAVERACK_TEXT_COLOR = 'text-[#707070]'\r\nexport const SAVEBUTTON_BG_COLOR = 'bg-[#E11A38]'\r\nexport const TOASTER_SUCCESS_BG_COLOR = 'bg-[#D5F2EA]'\r\nexport const TOASTER_FAILURE_BG_COLOR = 'bg-[#FCE8EB]'\r\nexport const TOASTER_INFO_BG_COLOR = 'bg-[#D5E9FA]'\r\nexport const TOASTER_WARNING_BG_COLOR = 'bg-[#FFF8E7]'\r\nexport const RESET_BUTTON_BG_COLOR = 'text-[#9A9A9A]'\r\nexport const PRODUCTINFO_TEXT_COLOR_1 = 'text-[#353535]'\r\nexport const PRODUCTINFO_TEXT_COLOR_2 = 'text-[#c2c2c2]'\r\nexport const PRODUCTINFO_TEXT_COLOR_3 = 'text-[#e11a38]'\r\nexport const PRODUCTINFO_TEXT_COLOR_4 = 'text-[#5d5d5d]'\r\nexport const UPDATESUCCESS_RACK_BORDER_COLOR = 'border-[#E11938]';\r\nexport const UPDATESUCCESS_TEXT_COLOR_1 = 'text-[#E11938]';\r\nexport const RACK_CARD_BORDER_COLOR = 'border-[#e5e5e5]';\r\nexport const RACK_CARD_TEXT_COLOR_1 = 'text-[#E11A38]';\r\nexport const RACK_CARD_TEXT_COLOR_2 = 'text-[#353535]';\r\nexport const RACK_CARD_TEXT_COLOR_3 = 'text-[#9f9f9f]';\r\nexport const RACK_CARD_MENU_TEXT = 'text-[#353535]';\r\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_1 = 'text-[#E11A38]';\r\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_2 = 'text-[#727272]';\r\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_3 = 'text-[#353535]';\r\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_4 = 'text-[#ffffff]';\r\nexport const EDIT_DESIGN_INFO_INPUT_BORDER_COLOR = 'border-[#ECEBED]';\r\nexport const EDIT_DESIGN_INFO_DISABLED_BG_COLOR_1 = 'bg-[#F8F8F8]';\r\nexport const EDIT_DESIGN_INFO_BG_COLOR_2 = 'bg-[#ffffff]';\r\nexport const EDIT_DESIGN_INFO_BG_COLOR_3 = 'bg-[#e11a38]';\r\nexport const EDIT_DESIGN_INFO_BG_COLOR_4 = 'bg-[#fce8eb]';\r\nexport const INPUT_ERROR_BORDER_COLOR = 'border-[#E11A38]';\r\nexport const INPUT_ERROR_TEXT_COLOR = 'text-[#E11A38]';\r\nexport const PRICEBREAKUP_TEXT_COLOR_1 = 'text-[#353535]';\r\nexport const PRICEBREAKUP_TEXT_COLOR_2 = 'text-[#747474]';\r\nexport const PRICEBREAKUP_TEXT_BORDER_COLOR_1 = 'border-[#c2c2c2]';\r\nexport const PRICEBREAKUP_TEXT_BORDER_COLOR_2 = 'border-[#ebebeb]';","import React from 'react';\r\nimport { Tooltip, TooltipReference, useTooltipState } from 'reakit';\r\n\r\ninterface ToolTipProps {\r\n label: string;\r\n arrowOnTop?: boolean;\r\n className?: string;\r\n children: React.ReactNode | React.ReactNode[];\r\n}\r\nexport const ToolTip = ({\r\n label,\r\n arrowOnTop,\r\n className = '',\r\n children,\r\n}: ToolTipProps) => {\r\n const tooltip = useTooltipState({ placement: arrowOnTop ? 'bottom' : 'top' });\r\n return (\r\n <>\r\n <TooltipReference\r\n {...tooltip}\r\n className={`${className} flex relative items-center justify-center align-middle w-auto text-sm font-semibold first:rounded-l last:rounded-r focus:outline-none`}\r\n aria-label={label}\r\n >\r\n {children}\r\n </TooltipReference>\r\n {\r\n //@ts-ignore\r\n // <div className={styles}>\r\n <Tooltip\r\n {...tooltip}\r\n // className={`font-[Roboto-Medium] font-medium mb-[5px] text-[13px] capitalize before:content-[''] before:absolute before: ${SELECT_BG_COLOR} top-[-21%] before:left-[calc(50%-7px)] before:bg-[#fce8eb] before:rotate-[230deg] before:border before:border-b-[#f3a2af] before:border-r-[#f3a2af] before:border-l-transparent before:rounded-none before:border-t-transparent before:h-[14px] before:w-[14px] !z-[100] inline-block px-3 py-2 text-[#5d5d5d] transition-opacity duration-300 bg-[#fce8eb] shadow-sm border border-[#f3a2af] `\r\n className={`font-[Roboto-Medium] font-medium mb-[5px] text-[13px] capitalize before:content-[''] before:absolute before:left-[calc(50%-7px)] before:bg-[#fce8eb] before:rotate-[44deg] before:border ${\r\n arrowOnTop\r\n ? 'before:top-[-21%] before:border-l-[#f3a2af] before:border-t-[#f3a2af] before:border-b-transparent before:border-r-transparent'\r\n : 'before:top-[80%] before:border-b-[#f3a2af] before:border-r-[#f3a2af] before:border-l-transparent before:border-t-transparent'\r\n } before:rounded-none before:h-[14px] before:w-[14px] !z-[100] inline-block px-3 py-2 text-[#5d5d5d] transition-opacity duration-300 bg-[#fce8eb] shadow-sm border border-[#f3a2af]`}\r\n style={{ zIndex: 3 }}\r\n >\r\n {label}{' '}\r\n </Tooltip>\r\n // </div>\r\n }\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { use3dddPlus } from '../../store';\r\nimport { CANVAS_MENU_TEXT } from '../../theme';\r\nimport { Copy, Delete, IconButton, SelectAll } from '../icon';\r\nimport { MdLayers } from 'react-icons/md';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { fabric } from 'fabric';\r\nimport { CgRedo, CgUndo } from 'react-icons/cg';\r\nimport { ToolTip } from '../toolTip';\r\nconst ActionButtons = () => {\r\n const [canvas, activeSelection] = use3dddPlus(\r\n (state) => [state.fabricCanvas, state.activeSelection],\r\n shallow\r\n );\r\n const selectAllHandler = () => {\r\n canvas.discardActiveObject();\r\n const sel = new fabric.ActiveSelection(\r\n canvas.getObjects().filter((obj) => obj.type !== 'line'),\r\n {\r\n canvas: canvas,\r\n }\r\n );\r\n canvas.setActiveObject(sel);\r\n canvas.requestRenderAll();\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.setState({ selectedAll: true });\r\n use3dddPlus.setState({ currentSelection: 'selectAll' });\r\n const fillColors = {};\r\n use3dddPlus.setState({ colorFill: fillColors });\r\n };\r\n const deleteHandler = () => {\r\n if (activeSelection) {\r\n if (activeSelection.icon) {\r\n canvas.remove(activeSelection);\r\n removeItem(activeSelection);\r\n } else if (activeSelection._objects) {\r\n activeSelection._objects.map((obj) => {\r\n canvas.remove(obj);\r\n removeItem(obj);\r\n });\r\n }\r\n // canvas.remove(activeSelection);\r\n use3dddPlus.getState().updateModifaction(true);\r\n canvas.requestRenderAll();\r\n use3dddPlus.setState({ selectedAll: false });\r\n canvas.discardActiveObject();\r\n // removeItem(activeSelection);\r\n }\r\n };\r\n const removeItem = (value: any) => {\r\n // var index = use3dddPlus.getState().storeAllObject.indexOf(value);\r\n // @ts-ignore\r\n var index = use3dddPlus\r\n .getState()\r\n .storeAllObject.findIndex((obj: any) => obj.id === value.id);\r\n if (index === -1 && value && value._objects && value._objects.length > 0) {\r\n var index = use3dddPlus\r\n .getState()\r\n //@ts-ignore\r\n .storeAllObject.indexOf(value._objects[0]);\r\n }\r\n if (index > -1) {\r\n use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n }\r\n use3dddPlus.setState({\r\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\r\n });\r\n };\r\n const canvasActions = [\r\n {\r\n icon: <SelectAll />,\r\n onClick: selectAllHandler,\r\n id: 'select-action',\r\n label: 'Select all',\r\n disabled: false,\r\n visible: true,\r\n },\r\n {\r\n icon: <Copy />,\r\n onClick: () => {\r\n use3dddPlus.getState().duplicateObject();\r\n },\r\n id: 'duplicate-action',\r\n label: 'Duplicate',\r\n disabled: false,\r\n visible: true,\r\n },\r\n {\r\n icon: <MdLayers />,\r\n onClick: () => {\r\n use3dddPlus.setState({ currentSelection: 'layer' });\r\n },\r\n id: 'layes-action',\r\n label: 'Layers',\r\n disabled: false,\r\n visible: true,\r\n },\r\n {\r\n icon: <Delete />,\r\n onClick: deleteHandler,\r\n id: 'delete-action',\r\n label: 'Delete',\r\n disabled: false,\r\n visible: true,\r\n },\r\n {\r\n icon: <CgUndo />,\r\n onClick: () => {\r\n use3dddPlus.getState().undo();\r\n },\r\n id: 'undo-action',\r\n label: 'Undo',\r\n disabled: false,\r\n visible: true,\r\n },\r\n {\r\n icon: <CgRedo />,\r\n onClick: () => {\r\n use3dddPlus.getState().redo();\r\n },\r\n id: 'redo-action',\r\n label: 'Redo',\r\n disabled: false,\r\n visible: true,\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n <div\r\n className=\"w-100 flex px-3 items-center z-10 h-[40px]\"\r\n style={{\r\n justifyContent: 'flex-end',\r\n }}\r\n >\r\n <div className={`flex`}>\r\n {canvasActions.map(\r\n (item) =>\r\n item?.visible && (\r\n <div\r\n key={item.id}\r\n className={`${\r\n item.disabled\r\n ? 'disableButton'\r\n : `${CANVAS_MENU_TEXT} cursor-pointer hover:text-[#e11a38] hover:underline hover:underline-offset-4 hover:decoration-2`\r\n } flex gap-[5px] items-center pt-[2.5px] font-bold uppercase mr-[30px] lg:mr-[30px] md-[20px] `}\r\n onClick={item.onClick}\r\n >\r\n <ToolTip label={item.label} arrowOnTop={true}>\r\n <span>\r\n <IconButton\r\n label=\"\"\r\n icon={item.icon}\r\n className={`${\r\n item.disabled\r\n ? 'iconDisable'\r\n : 'pointer-events-auto cursor-pointer'\r\n } m-auto`}\r\n size=\"1.125rem\"\r\n ></IconButton>\r\n </span>\r\n </ToolTip>\r\n </div>\r\n )\r\n )}\r\n </div>\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nexport default ActionButtons;\r\n","import React from 'react';\r\nimport { use3dddPlus } from '../../store';\r\n// import { CANVAS_MENU_TEXT } from '../../theme';\r\n// import { Copy, Delete, IconButton, SelectAll } from '../icon';\r\n// import { MdLayers } from 'react-icons/md';\r\n// import { shallow } from 'zustand/shallow';\r\n// import { fabric } from 'fabric';\r\n// import { CgRedo, CgUndo } from 'react-icons/cg';\r\nconst NudgeButtons = () => {\r\n // const [canvas, activeSelection] = use3dddPlus(\r\n // (state) => [state.fabricCanvas, state.activeSelection],\r\n // shallow\r\n // );\r\n // const selectAllHandler = () => {\r\n // canvas.discardActiveObject();\r\n // const sel = new fabric.ActiveSelection(canvas.getObjects(), {\r\n // canvas: canvas,\r\n // });\r\n // canvas.setActiveObject(sel);\r\n // canvas.requestRenderAll();\r\n // use3dddPlus.getState().updateModifaction(true);\r\n // use3dddPlus.setState({ selectedAll: true });\r\n // use3dddPlus.setState({ currentSelection: 'selectAll' });\r\n // const fillColors = {};\r\n // use3dddPlus.setState({ colorFill: fillColors });\r\n // };\r\n // const deleteHandler = () => {\r\n // canvas.remove(activeSelection);\r\n // use3dddPlus.getState().updateModifaction(true);\r\n // canvas.requestRenderAll();\r\n // use3dddPlus.setState({ selectedAll: false });\r\n // removeItem(activeSelection);\r\n // };\r\n // const removeItem = (value: any) => {\r\n // //@ts-ignore\r\n // var index = use3dddPlus\r\n // .getState()\r\n // .storeAllObject.findIndex((obj: any) => obj.id === value.id);\r\n // if (index > -1) {\r\n // use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n // }\r\n // use3dddPlus.setState({\r\n // storeAllObject: [...use3dddPlus.getState().storeAllObject],\r\n // });\r\n // };\r\n\r\n const textSelected = use3dddPlus.getState().activeSelection;\r\n // const canvas = use3dddPlus.getState().fabricCanvas;\r\n\r\n const nudgeMove = (e) => {\r\n const brNew = textSelected.getBoundingRect();\r\n if (e.target.id === 'down') {\r\n // if (textSelected.aCoords.br.y > canvas.height - 2) return;\r\n if (brNew.height + brNew.top >= textSelected.canvas.height - 10) return;\r\n use3dddPlus.getState().moveDown(textSelected);\r\n use3dddPlus.getState().updateModifaction(true);\r\n } else if (e.target.id === 'up') {\r\n if (textSelected.aCoords.tr.y < 10) return;\r\n use3dddPlus.getState().moveUp(textSelected);\r\n use3dddPlus.getState().updateModifaction(true);\r\n } else if (e.target.id === 'right') {\r\n // if (textSelected.aCoords.tr.x > canvas.height - 2) return;\r\n if (brNew.width + brNew.left >= textSelected.canvas.width - 45) return;\r\n use3dddPlus.getState().moveRight(textSelected);\r\n use3dddPlus.getState().updateModifaction(true);\r\n } else if (e.target.id === 'left') {\r\n if (textSelected.aCoords.tl.x < 45) return;\r\n use3dddPlus.getState().moveLeft(textSelected);\r\n use3dddPlus.getState().updateModifaction(true);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div\r\n className=\"w-full flex items-center justify-center z-10\"\r\n style={{\r\n justifyContent: 'flex-center',\r\n }}\r\n >\r\n <div\r\n className=\"uppercase font-medium text-sm text-red-500 mx-5\"\r\n style={{ marginTop: '0.3rem', marginBottom: '0.3rem' }}\r\n >\r\n Nudge:\r\n </div>\r\n\r\n <button onClick={nudgeMove} id=\"left\">\r\n <div className=\"leftBtn pointer-events-none mx-5\">\r\n <div className=\"leftIcon float-left\">\r\n <svg\r\n transform=\"rotate(270)\"\r\n fill=\"#707070\"\r\n height=\"20px\"\r\n width=\"20px\"\r\n version=\"1.1\"\r\n id=\"Layer_1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 512 512\"\r\n >\r\n <g>\r\n <g>\r\n <g>\r\n <path d=\"M0,0v512h512V0H0z M469.333,469.333H42.667V42.667h426.667V469.333z\" />\r\n <path d=\"M121.752,335.085L256,200.837l134.248,134.248c8.331,8.331,21.839,8.331,30.17,0c8.331-8.331,8.331-21.839,0-30.17 L271.085,155.582c-8.331-8.331-21.839-8.331-30.17,0L91.582,304.915c-8.331,8.331-8.331,21.839,0,30.17 S113.42,343.416,121.752,335.085z\" />\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n <span className=\"pointer-events-none iconLabel float-left text-[#5d5d5d] ml-2 text-[13px] font-medium capitalize\">\r\n Left\r\n </span>\r\n </div>\r\n </button>\r\n\r\n <button onClick={nudgeMove} id=\"up\">\r\n <div className=\"upBtn pointer-events-none mx-5\">\r\n <div className=\"upIcon float-left\">\r\n <svg\r\n fill=\"#707070\"\r\n height=\"20px\"\r\n width=\"20px\"\r\n version=\"1.1\"\r\n id=\"Layer_1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 512 512\"\r\n >\r\n <g>\r\n <g>\r\n <g>\r\n <path d=\"M0,0v512h512V0H0z M469.333,469.333H42.667V42.667h426.667V469.333z\" />\r\n <path d=\"M121.752,335.085L256,200.837l134.248,134.248c8.331,8.331,21.839,8.331,30.17,0c8.331-8.331,8.331-21.839,0-30.17 L271.085,155.582c-8.331-8.331-21.839-8.331-30.17,0L91.582,304.915c-8.331,8.331-8.331,21.839,0,30.17 S113.42,343.416,121.752,335.085z\" />\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n <span className=\"pointer-events-none iconLabel float-left text-[#5d5d5d] ml-2 text-[13px] font-medium capitalize\">\r\n Top\r\n </span>\r\n </div>\r\n </button>\r\n\r\n <button onClick={nudgeMove} id=\"right\">\r\n <div className=\"rightBtn pointer-events-none mx-5\">\r\n <div className=\"rightIcon float-left\">\r\n <svg\r\n transform=\"rotate(90)\"\r\n fill=\"#707070\"\r\n height=\"20px\"\r\n width=\"20px\"\r\n version=\"1.1\"\r\n id=\"Layer_1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 512 512\"\r\n >\r\n <g>\r\n <g>\r\n <g>\r\n <path d=\"M0,0v512h512V0H0z M469.333,469.333H42.667V42.667h426.667V469.333z\" />\r\n <path d=\"M121.752,335.085L256,200.837l134.248,134.248c8.331,8.331,21.839,8.331,30.17,0c8.331-8.331,8.331-21.839,0-30.17 L271.085,155.582c-8.331-8.331-21.839-8.331-30.17,0L91.582,304.915c-8.331,8.331-8.331,21.839,0,30.17 S113.42,343.416,121.752,335.085z\" />\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n <span className=\"pointer-events-none iconLabel float-left text-[#5d5d5d] ml-2 text-[13px] font-medium capitalize\">\r\n Right\r\n </span>\r\n </div>\r\n </button>\r\n\r\n <button onClick={nudgeMove} id=\"down\">\r\n <div className=\"downBtn pointer-events-none mx-5\">\r\n <div className=\"downIcon float-left\">\r\n <svg\r\n transform=\"rotate(180)\"\r\n fill=\"#707070\"\r\n height=\"20px\"\r\n width=\"20px\"\r\n version=\"1.1\"\r\n id=\"Layer_1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 512 512\"\r\n >\r\n <g>\r\n <g>\r\n <g>\r\n <path d=\"M0,0v512h512V0H0z M469.333,469.333H42.667V42.667h426.667V469.333z\" />\r\n <path d=\"M121.752,335.085L256,200.837l134.248,134.248c8.331,8.331,21.839,8.331,30.17,0c8.331-8.331,8.331-21.839,0-30.17 L271.085,155.582c-8.331-8.331-21.839-8.331-30.17,0L91.582,304.915c-8.331,8.331-8.331,21.839,0,30.17 S113.42,343.416,121.752,335.085z\" />\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n <span className=\"pointer-events-none iconLabel float-left text-[#5d5d5d] ml-2 text-[13px] font-medium capitalize\">\r\n BOTTOM\r\n </span>\r\n </div>\r\n </button>\r\n {/* <button\r\n onClick={nudgeMove}\r\n id=\"up\"\r\n className=\"font-medium text-orange-300 text-lime-400 px-1\"\r\n >\r\n UP\r\n </button>\r\n <button\r\n onClick={nudgeMove}\r\n id=\"left\"\r\n className=\"font-medium text-orange-300 text-teal-500\"\r\n >\r\n LEFT\r\n </button>\r\n <button\r\n onClick={nudgeMove}\r\n id=\"right\"\r\n className=\"font-medium text-orange-300 text-violet-600 px-1\"\r\n >\r\n RIGHT\r\n </button> */}\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nexport default NudgeButtons;\r\n","import { fabric } from 'fabric';\r\n//@ts-ignore\r\n// import deleteIcon from '../../assets/images/delete.png';\r\n// //@ts-ignore\r\n// import rotateIcon from '../../assets/images/rotate.png';\r\n// //@ts-ignore\r\n// import settingIcon from '../../assets/images/settings.png';\r\nimport { use3dddPlus } from '..';\r\n\r\n// @ts-ignore\r\nimport FontFaceObserver from 'fontfaceobserver';\r\n\r\nexport const initCanvas = () => {\r\n let left1 = 0;\r\n let top1 = 0;\r\n let scale1x = 0;\r\n let scale1y = 0;\r\n let width1 = 0;\r\n let height1 = 0;\r\n\r\n const onObjectSelected = (e) => {\r\n if (e?.selected?.[0]?.colorFill) {\r\n use3dddPlus.setState({ colorFill: e.selected[0].colorFill });\r\n }\r\n use3dddPlus.setState({\r\n currentSelection: canv.getActiveObject().get('type'),\r\n });\r\n use3dddPlus.setState({ activeSelection: canv.getActiveObject() });\r\n getAllColors();\r\n };\r\n const onObjectDeselected = () => {\r\n use3dddPlus.setState({ activeSelection: null });\r\n use3dddPlus.setState({ currentSelection: 'none' });\r\n use3dddPlus.setState({ showContextMenu: false });\r\n getAllColors();\r\n };\r\n const onObjectUpdated = (e) => {\r\n if (e?.selected?.[0]?.colorFill) {\r\n use3dddPlus.setState({ colorFill: e.selected[0].colorFill });\r\n }\r\n use3dddPlus.setState({\r\n currentSelection: canv.getActiveObject().get('type'),\r\n });\r\n use3dddPlus.setState({ activeSelection: e.selected[0] });\r\n use3dddPlus.setState({ textInfo: e.selected[0].text });\r\n use3dddPlus.setState({ showContextMenu: false });\r\n getAllColors();\r\n };\r\n const onObjectMoving = (e: any) => {\r\n use3dddPlus.getState().updateModifaction(false);\r\n const obj = e.target;\r\n if (isNaN(e.pointer.x) || isNaN(e.pointer.y)) {\r\n obj.set({\r\n top: use3dddPlus.getState().lastPosition.top,\r\n left: use3dddPlus.getState().lastPosition.left,\r\n });\r\n return;\r\n }\r\n // if (\r\n // obj.getBoundingRect().width > obj.canvas.height ||\r\n // obj.getBoundingRect().height > obj.canvas.width\r\n // ) {\r\n // return;\r\n // }\r\n\r\n obj.setCoords();\r\n if (obj.getBoundingRect().top < 10 || obj.getBoundingRect().left < 45) {\r\n obj.top = Math.max(obj.top, obj.top - obj.getBoundingRect().top + 10);\r\n obj.left = Math.max(obj.left, obj.left - obj.getBoundingRect().left + 45);\r\n obj.setCoords();\r\n }\r\n if (\r\n obj.getBoundingRect().top + obj.getBoundingRect().height + 10 >\r\n obj.canvas.height ||\r\n obj.getBoundingRect().left + obj.getBoundingRect().width + 45 >\r\n obj.canvas.width\r\n ) {\r\n obj.top = Math.min(\r\n obj.top,\r\n obj.canvas.height -\r\n obj.getBoundingRect().height +\r\n obj.top -\r\n obj.getBoundingRect().top -\r\n 10\r\n );\r\n obj.left = Math.min(\r\n obj.left,\r\n obj.canvas.width -\r\n obj.getBoundingRect().width +\r\n obj.left -\r\n obj.getBoundingRect().left -\r\n 45\r\n );\r\n obj.setCoords();\r\n }\r\n\r\n const brNew = obj.getBoundingRect();\r\n if (\r\n brNew.width + brNew.left + 45 >= obj.canvas.width ||\r\n brNew.height + brNew.top + 10 >= obj.canvas.height ||\r\n brNew.left < 45 ||\r\n brNew.top < 10\r\n ) {\r\n // obj.left = left1;\r\n // obj.top = top1;\r\n // obj.scaleX = scale1x;\r\n // obj.scaleY = scale1y;\r\n // obj.width = width1;\r\n // obj.height = height1;\r\n } else {\r\n left1 = obj.left;\r\n top1 = obj.top;\r\n scale1x = obj.scaleX;\r\n scale1y = obj.scaleY;\r\n width1 = obj.width;\r\n height1 = obj.height;\r\n }\r\n\r\n if (isObjectInCenter(e.target)) {\r\n use3dddPlus.getState().verticalLine.set({ visible: true });\r\n } else {\r\n use3dddPlus.getState().verticalLine.set({ visible: false });\r\n }\r\n if (isObjectInHorizontalCenter(e.target)) {\r\n use3dddPlus.getState().verticalLine.set({ visible: true });\r\n } else {\r\n use3dddPlus.getState().verticalLine.set({ visible: false });\r\n }\r\n if (isObjectInVerticalCenter(e.target)) {\r\n use3dddPlus.getState().horizontalLine.set({ visible: true });\r\n } else {\r\n use3dddPlus.getState().horizontalLine.set({ visible: false });\r\n }\r\n use3dddPlus.getState().setLastPosition({ top: obj.top, left: obj.left });\r\n };\r\n\r\n const outerCanvasContainer = document.getElementById('fabCanvas');\r\n\r\n const fontList = new Set<string>();\r\n document.fonts.forEach((font) => fontList.add(font.family));\r\n\r\n console.log('Preloading all available fonts from the document');\r\n\r\n // Preload all the fonts\r\n Array.from(fontList).forEach((font) => {\r\n new FontFaceObserver(font)\r\n .load()\r\n .then(() => {\r\n // console.log(`${font} has loaded.`);\r\n })\r\n .catch(() => {\r\n console.log(`${font} has not loaded.`);\r\n });\r\n });\r\n\r\n const canv = new fabric.Canvas('canvas', {\r\n centeredScaling: true,\r\n preserveObjectStacking: true,\r\n // backgroundColor: '#ffff00',\r\n stopContextMenu: false,\r\n // width: 500,\r\n // height: 300,\r\n\r\n width: outerCanvasContainer.clientWidth,\r\n height: outerCanvasContainer.clientHeight,\r\n });\r\n\r\n function isObjectInCenter(obj) {\r\n const brNew = obj.getBoundingRect();\r\n var canvasCenterX = canv.width / 2;\r\n var canvasCenterY = canv.height / 2;\r\n var objCenterX = brNew.left + brNew.width / 2;\r\n var objCenterY = brNew.top + brNew.height / 2;\r\n var threshold = 5;\r\n return (\r\n Math.abs(objCenterY - canvasCenterY) < threshold &&\r\n Math.abs(objCenterX - canvasCenterX) < threshold\r\n );\r\n }\r\n\r\n function isObjectInVerticalCenter(obj) {\r\n const brNew = obj.getBoundingRect();\r\n var canvasCenterY = canv.getHeight() / 2;\r\n var scaledObjCenterY = brNew.top + brNew.height / 2;\r\n var threshold = 5;\r\n return Math.abs(scaledObjCenterY - canvasCenterY) < threshold;\r\n }\r\n\r\n function isObjectInHorizontalCenter(obj) {\r\n const brNew = obj.getBoundingRect();\r\n var canvasCenterX = canv.width / 2;\r\n var scaledObjCenterX = brNew.left + brNew.width / 2;\r\n var threshold = 5;\r\n return Math.abs(scaledObjCenterX - canvasCenterX) < threshold;\r\n }\r\n const horizontalLine = new fabric.Line(\r\n [0, canv.height / 2, canv.height, canv.height / 2],\r\n {\r\n stroke: 'red',\r\n scaleX: 11,\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n const verticalLine = new fabric.Line(\r\n [canv.width / 2, 0, canv.width / 2, canv.width],\r\n {\r\n stroke: 'red',\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n horizontalLine.centerH();\r\n canv.add(horizontalLine);\r\n canv.add(verticalLine);\r\n use3dddPlus.setState({ horizontalLine: horizontalLine });\r\n use3dddPlus.setState({ verticalLine: verticalLine });\r\n\r\n let deleteImg = document.createElement('img');\r\n deleteImg.src =\r\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/delete.png';\r\n let rotateImg = document.createElement('img');\r\n rotateImg.src =\r\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/rotate.png';\r\n let settingImg = document.createElement('img');\r\n settingImg.src =\r\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/settings.png';\r\n fabric.Object.prototype.objectCaching = true;\r\n fabric.Object.prototype.transparentCorners = false;\r\n fabric.Object.prototype.cornerColor = '#14caf7';\r\n fabric.Object.prototype.cornerStrokeColor = '#045791';\r\n fabric.Object.prototype.borderColor = '#14caf7';\r\n fabric.Object.prototype.cornerSize = 16;\r\n // fabric.Object.prototype.padding = 10;\r\n fabric.Object.prototype.cornerStyle = 'circle';\r\n fabric.Object.prototype.borderDashArray = [5, 5];\r\n\r\n function renderIcon(icon) {\r\n return function renderIcon(ctx, left, top, fabricObject) {\r\n var size = this.cornerSize;\r\n ctx.save();\r\n ctx.translate(left, top);\r\n ctx.rotate(fabric.util.degreesToRadians(fabricObject.angle));\r\n ctx.drawImage(icon, -size / 2, -size / 2, size, size);\r\n ctx.restore();\r\n };\r\n }\r\n\r\n fabric.Object.prototype.controls.deleteControl = new fabric.Control({\r\n x: 0.53,\r\n y: -0.53,\r\n offsetY: -16,\r\n offsetX: 16,\r\n cursorStyle: 'pointer',\r\n //@ts-ignore\r\n mouseUpHandler: deleteObject,\r\n render: renderIcon(deleteImg),\r\n cornerSize: 28,\r\n });\r\n fabric.Object.prototype.controls.settingControl = new fabric.Control({\r\n x: -0.53,\r\n y: -0.53,\r\n offsetY: -16,\r\n offsetX: -16,\r\n cursorStyle: 'pointer',\r\n //@ts-ignore\r\n mouseUpHandler: function (e) {\r\n use3dddPlus.setState({\r\n showContextMenu: true,\r\n });\r\n\r\n const rect = canv.getElement().getBoundingClientRect();\r\n const x = e.clientX - rect.left;\r\n const y = e.clientY - rect.top;\r\n // You can add your context menu rendering logic here\r\n // Example: Render a simple alert with the coordinates\r\n use3dddPlus.setState({ contextMenuCoordinates: { x: x, y: y } });\r\n // alert(`Context menu clicked at (${x}, ${y})`);\r\n },\r\n render: renderIcon(settingImg),\r\n cornerSize: 28,\r\n });\r\n //@ts-ignore\r\n function deleteObject(eventData, transform) {\r\n const canvasTarget = transform.target;\r\n const canvas = canvasTarget.canvas;\r\n // if (use3dddPlus.getState().selectedAll || canvasTarget && !canvasTarget.icon) {\r\n // const target = transform.target._objects;\r\n // target.forEach((element) => {\r\n // canvas.remove(element);\r\n // canvas.requestRenderAll();\r\n // removeItem(element);\r\n // });\r\n // use3dddPlus.setState({ selectedAll: false });\r\n // canvas.discardActiveObject().renderAll();\r\n // } else {\r\n // canvas.remove(canvasTarget);\r\n // canvas.requestRenderAll();\r\n // removeItem(canvasTarget);\r\n // }\r\n // use3dddPlus.setState({ defaultColorFill: [] });\r\n const activeSelection = use3dddPlus.getState().activeSelection;\r\n if (activeSelection) {\r\n if (activeSelection.icon) {\r\n canvas.remove(activeSelection);\r\n removeItem(activeSelection);\r\n } else if (activeSelection._objects) {\r\n activeSelection._objects.map((obj) => {\r\n canvas.remove(obj);\r\n removeItem(obj);\r\n });\r\n }\r\n // canvas.remove(activeSelection);\r\n use3dddPlus.getState().updateModifaction(true);\r\n canvas.requestRenderAll();\r\n use3dddPlus.setState({ selectedAll: false });\r\n canvas.discardActiveObject();\r\n // removeItem(activeSelection);\r\n }\r\n }\r\n const removeItem = (value: any) => {\r\n //@ts-ignore\r\n var index = use3dddPlus\r\n .getState()\r\n .storeAllObject.findIndex((obj: any) => obj.id === value.id);\r\n if (index === -1 && value && value._objects && value._objects.length > 0) {\r\n var index = use3dddPlus\r\n .getState()\r\n //@ts-ignore\r\n\r\n .storeAllObject.indexOf(value._objects[0]);\r\n }\r\n if (index > -1) {\r\n use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n use3dddPlus.setState({\r\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\r\n });\r\n }\r\n };\r\n\r\n fabric.Object.prototype.controls.mtr = new fabric.Control({\r\n x: 0,\r\n y: -0.5,\r\n offsetY: -40,\r\n cursorStyle: 'crosshair',\r\n //@ts-ignore\r\n actionHandler: fabric?.controlsUtils.rotationWithSnapping,\r\n actionName: 'rotate',\r\n // mouseover:function hover(eventData,transform){\r\n // let target = transform.target;\r\n // console.log('TARGET-->',target);\r\n // },\r\n render: function renderIcon(ctx, left, top, fabricObject) {\r\n var size = this.cornerSize;\r\n ctx.save();\r\n ctx.translate(left, top);\r\n ctx.rotate(fabric.util.degreesToRadians(fabricObject.angle));\r\n ctx.drawImage(rotateImg, -size / 2, -size / 2, size, size);\r\n ctx.restore();\r\n },\r\n //@ts-ignore\r\n cornerSize: 28,\r\n withConnection: true,\r\n });\r\n const getAllColors = () => {\r\n // console.log(\"+++++\",canv?.getObjects());\r\n if (!canv?.getObjects()) {\r\n return;\r\n }\r\n // const allColor = [\r\n // ...new Set(\r\n // canv\r\n // ?.getObjects()\r\n // ?.map((item) => Object.values(item['colorFill']))\r\n // .flat()\r\n // ),\r\n // ];\r\n const allColor = [];\r\n canv\r\n ?.getObjects()\r\n ?.map((item) => item['colorFill'] && Object.values(item['colorFill']))\r\n .flat()\r\n .filter(Boolean)\r\n .forEach((color) => {\r\n if (!allColor.includes(color)) {\r\n allColor.push(color);\r\n }\r\n }); // FOR REMOVING ALL DUPLICATE COLOR CODES\r\n // const allColor =[];\r\n use3dddPlus.setState({ allColor: allColor });\r\n };\r\n canv.on('after:render', getAllColors);\r\n canv.on('selection:created', onObjectSelected);\r\n canv.on('selection:cleared', onObjectDeselected);\r\n canv.on('selection:updated', onObjectUpdated);\r\n canv.on('object:moving', onObjectMoving);\r\n canv.on('object:modified', function (e) {\r\n e.target.lockRotation = false;\r\n use3dddPlus.getState().updateModifaction(true);\r\n if (isObjectInCenter(e.target)) {\r\n use3dddPlus.getState().verticalLine.set({ visible: true });\r\n } else {\r\n use3dddPlus.getState().verticalLine.set({ visible: false });\r\n }\r\n if (isObjectInHorizontalCenter(e.target)) {\r\n use3dddPlus.getState().horizontalLine.set({ visible: true });\r\n } else {\r\n use3dddPlus.getState().horizontalLine.set({ visible: false });\r\n }\r\n if (isObjectInVerticalCenter(e.target)) {\r\n use3dddPlus.getState().horizontalLine.set({ visible: true });\r\n } else {\r\n use3dddPlus.getState().horizontalLine.set({ visible: false });\r\n }\r\n });\r\n\r\n canv.on('object:scaling', (e) => {\r\n const obj = e.target;\r\n if (isNaN(e.pointer.x) || isNaN(e.pointer.y)) {\r\n const { top, left, scaleX, scaleY } = use3dddPlus.getState().lastPosition;\r\n obj.set({\r\n top,\r\n left,\r\n scaleX,\r\n scaleY,\r\n });\r\n return;\r\n }\r\n obj.setCoords();\r\n const brNew = obj.getBoundingRect();\r\n if (\r\n brNew.width + brNew.left + 45 >= obj.canvas.width ||\r\n brNew.height + brNew.top + 10 >= obj.canvas.height ||\r\n brNew.left < 45 ||\r\n brNew.top < 10\r\n ) {\r\n obj.left = left1;\r\n obj.top = top1;\r\n obj.scaleX = scale1x;\r\n obj.scaleY = scale1y;\r\n obj.width = width1;\r\n obj.height = height1;\r\n } else {\r\n left1 = obj.left;\r\n top1 = obj.top;\r\n scale1x = obj.scaleX;\r\n scale1y = obj.scaleY;\r\n width1 = obj.width;\r\n height1 = obj.height;\r\n }\r\n obj.setCoords();\r\n use3dddPlus.getState().setLastPosition({\r\n top: obj.top,\r\n left: obj.left,\r\n scaleX: obj.scaleX,\r\n scaleY: obj.scaleY,\r\n });\r\n });\r\n canv.on('object:rotating', function (e) {\r\n const obj = e.target;\r\n let brNew = obj.getBoundingRect();\r\n if (obj.getBoundingRect().top - 45 < 0 || obj.getBoundingRect().left < 45) {\r\n obj.top = Math.max(obj.top, obj.top - obj.getBoundingRect().top + 45);\r\n obj.left = Math.max(obj.left, obj.left - obj.getBoundingRect().left + 45);\r\n obj.setCoords();\r\n }\r\n if (\r\n obj.getBoundingRect().top + 45 + obj.getBoundingRect().height >\r\n obj.canvas.height ||\r\n obj.getBoundingRect().left + 45 + obj.getBoundingRect().width >\r\n obj.canvas.width\r\n ) {\r\n if (\r\n obj.getBoundingRect().top - 45 < 0 ||\r\n obj.getBoundingRect().left - 45 < 0\r\n ) {\r\n obj.lockRotation = true;\r\n brNew = obj.getBoundingRect();\r\n while (\r\n Math.ceil(obj.width + obj.left + 45) >\r\n Math.floor(obj.canvas.width - 45) ||\r\n Math.ceil(obj.height + obj.top + 45) >\r\n Math.floor(obj.canvas.height - 45) ||\r\n Math.ceil(obj.left) < 0 ||\r\n Math.ceil(obj.top) < 0\r\n ) {\r\n obj.centeredRotation = true;\r\n if (obj.angle >= 0 && obj.angle <= 180) {\r\n obj.set('angle', obj.angle - 1);\r\n if (Math.ceil(brNew.top) < 45) {\r\n obj.set('top', obj.top + 4);\r\n }\r\n if (Math.ceil(brNew.left) < 45) {\r\n obj.set('left', obj.left + 4);\r\n }\r\n if (\r\n Math.ceil(brNew.width + brNew.left + 45) >\r\n Math.floor(obj.canvas.width - 45)\r\n ) {\r\n obj.set('left', brNew.left - 1);\r\n }\r\n if (\r\n Math.ceil(brNew.height + brNew.top + 45) >\r\n Math.floor(obj.canvas.height - 45)\r\n ) {\r\n obj.set('top', obj.top - 4);\r\n }\r\n } else {\r\n obj.set('angle', obj.angle + 1);\r\n if (Math.ceil(brNew.top) < 45) {\r\n obj.set('top', obj.top + 4);\r\n }\r\n if (Math.ceil(brNew.left) < 45) {\r\n obj.set('left', obj.left - 4);\r\n }\r\n if (\r\n Math.ceil(brNew.width + brNew.left + 45) >\r\n Math.floor(obj.canvas.width - 45)\r\n ) {\r\n obj.set('angle', obj.angle - 1);\r\n obj.set('left', obj.left - 1);\r\n }\r\n if (\r\n Math.ceil(obj.height + obj.top + 45) >\r\n Math.floor(obj.canvas.height - 45)\r\n ) {\r\n obj.set('top', obj.top - 4);\r\n }\r\n }\r\n canv.renderAll();\r\n brNew = obj.getBoundingRect();\r\n }\r\n } else {\r\n obj.top = Math.min(\r\n obj.top,\r\n obj.canvas.height -\r\n obj.getBoundingRect().height +\r\n obj.top -\r\n obj.getBoundingRect().top -\r\n 45\r\n );\r\n obj.left = Math.min(\r\n obj.left,\r\n obj.canvas.width -\r\n obj.getBoundingRect().width +\r\n obj.left -\r\n obj.getBoundingRect().left -\r\n 45\r\n );\r\n obj.setCoords();\r\n }\r\n }\r\n });\r\n return canv;\r\n};\r\n","import React from 'react';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport {\r\n Copy,\r\n IconButton,\r\n // Paste,\r\n SendAObject,\r\n SendToBack,\r\n SendToFront,\r\n SendUnderObject,\r\n FlipH,\r\n FlipV,\r\n SnapToCenter,\r\n} from '../icon';\r\n\r\nexport const ContextMenu = () => {\r\n const [activeObj, canvas] = use3dddPlus(\r\n (state) => [state.activeSelection, state.fabricCanvas],\r\n shallow\r\n );\r\n\r\n const flipX = () => {\r\n activeObj.set({\r\n flipX: !activeObj.flipX,\r\n });\r\n use3dddPlus.getState().updateModifaction(true);\r\n canvas.renderAll();\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n };\r\n const flipY = () => {\r\n activeObj.set({\r\n flipY: !activeObj.flipY,\r\n });\r\n use3dddPlus.getState().updateModifaction(true);\r\n // activeObj.\r\n canvas.renderAll();\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n };\r\n const sendBackwards = () => {\r\n canvas.sendBackwards(activeObj);\r\n //@ts-ignore\r\n // var index = use3dddPlus.getState().storeAllObject.indexOf(activeObj);\r\n //@ts-ignore\r\n var index = use3dddPlus\r\n .getState()\r\n .storeAllObject.findIndex((obj: any) => obj.id === activeObj.id);\r\n if (index > -1) {\r\n use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n //@ts-ignore\r\n use3dddPlus.getState().storeAllObject.splice(index + 1, 0, activeObj);\r\n }\r\n use3dddPlus.setState({\r\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\r\n });\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n canvas.sendToBack(use3dddPlus.getState().verticalLine);\r\n canvas.sendToBack(use3dddPlus.getState().horizontalLine);\r\n };\r\n const bringForward = () => {\r\n canvas.bringForward(activeObj);\r\n //@ts-ignore\r\n var index = use3dddPlus\r\n .getState()\r\n .storeAllObject.findIndex((obj: any) => obj.id === activeObj.id);\r\n if (index > -1) {\r\n if (index !== 0) {\r\n use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n //@ts-ignore\r\n use3dddPlus.getState().storeAllObject.splice(index - 1, 0, activeObj);\r\n }\r\n use3dddPlus.setState({\r\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\r\n });\r\n }\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n };\r\n const sendToBack = () => {\r\n canvas.sendToBack(activeObj);\r\n //@ts-ignore\r\n var index = use3dddPlus\r\n .getState()\r\n .storeAllObject.findIndex((obj: any) => obj.id === activeObj.id);\r\n if (index > -1) {\r\n use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n //@ts-ignore\r\n use3dddPlus.getState().storeAllObject.push(activeObj);\r\n }\r\n use3dddPlus.setState({\r\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\r\n });\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n canvas.sendToBack(use3dddPlus.getState().verticalLine);\r\n canvas.sendToBack(use3dddPlus.getState().horizontalLine);\r\n };\r\n const bringToFront = () => {\r\n canvas.bringToFront(activeObj);\r\n //@ts-ignore\r\n var index = use3dddPlus\r\n .getState()\r\n .storeAllObject.findIndex((obj: any) => obj.id === activeObj.id);\r\n if (index > -1) {\r\n use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n //@ts-ignore\r\n use3dddPlus.getState().storeAllObject.unshift(activeObj);\r\n\r\n use3dddPlus.setState({\r\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\r\n });\r\n }\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n };\r\n const snapToCenter = () => {\r\n activeObj.set({\r\n left: canvas.width / 2,\r\n originX: 'center',\r\n });\r\n use3dddPlus.getState().updateModifaction(true);\r\n canvas.renderAll();\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n };\r\n const copy = () => {\r\n use3dddPlus.getState().duplicateObject();\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n };\r\n const menu = [\r\n {\r\n id: 1,\r\n name: 'COPY / PASTE ',\r\n onclick: copy,\r\n icon: <Copy />,\r\n },\r\n // {\r\n // id: 2,\r\n // name: 'Paste',\r\n // onclick: copy,\r\n // icon: <Paste />,\r\n // },\r\n {\r\n id: 3,\r\n name: 'Bring to front',\r\n onclick: bringForward,\r\n icon: <SendToFront />,\r\n },\r\n {\r\n id: 4,\r\n name: 'Send to back',\r\n onclick: sendBackwards,\r\n icon: <SendToBack />,\r\n },\r\n {\r\n id: 5,\r\n name: 'Bring above objects',\r\n onclick: bringToFront,\r\n icon: <SendAObject />,\r\n },\r\n {\r\n id: 6,\r\n name: 'Send under objects',\r\n onclick: sendToBack,\r\n icon: <SendUnderObject />,\r\n },\r\n {\r\n id: 7,\r\n name: 'Flip Horizontal',\r\n onclick: flipX,\r\n icon: <FlipH />,\r\n },\r\n {\r\n id: 8,\r\n name: 'Flip Vertical',\r\n onclick: flipY,\r\n icon: <FlipV />,\r\n },\r\n {\r\n id: 9,\r\n name: 'Snap to center',\r\n onclick: snapToCenter,\r\n icon: <SnapToCenter />,\r\n },\r\n ];\r\n return (\r\n <ul>\r\n {menu.map((item, index) => {\r\n return (\r\n <li\r\n className=\"flex cursor-pointer hover:text-[#e11a38] border border-b-[1px] border-[#EBEBEB] px-[30px] py-[14px] \"\r\n onClick={item.onclick}\r\n key={index}\r\n >\r\n <span>\r\n <IconButton\r\n label=\"\"\r\n icon={item.icon}\r\n className=\"pointer-events-auto cursor-pointer m-auto\"\r\n size=\"1.125rem\"\r\n ></IconButton>\r\n </span>\r\n <span className=\" pl-[20px] text-sm font-bold uppercase\">\r\n {item.name}\r\n </span>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n );\r\n};\r\n","import React, { useRef } from 'react';\r\nimport './canvas.css';\r\nimport { use3dddPlus } from '../../store';\r\nimport ActionButtons from './canvasButtons'; //Importing Action button component which is displaying buttons\r\nimport NudgeButtons from './nudgeButtons'; //Importing Nudge button component which is displaying buttons\r\n// import ErrorPopup from './errorPopUp'; //Importing ErrorPopup Panel component which is displaying buttons\r\nimport { initCanvas } from '../../store/fabric/fabricCanvas';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { ContextMenu } from '../contextMenu';\r\nimport { fabric } from 'fabric';\r\n\r\nconst canvas = () => {\r\n const [contextMenuCoordinates, showContextMenu] = use3dddPlus(\r\n (state) => [\r\n state.contextMenuCoordinates,\r\n state.showContextMenu,\r\n state.allColor,\r\n ],\r\n shallow\r\n );\r\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\r\n const resizeCanvas = () => {\r\n const canvas = use3dddPlus.getState().fabricCanvas;\r\n if (document.getElementById('fabCanvas')) {\r\n const outerCanvasContainer = document.getElementById('fabCanvas');\r\n const containerWidth = outerCanvasContainer.clientWidth;\r\n const scale = containerWidth / canvas.getWidth();\r\n const zoom = canvas.getZoom() * scale;\r\n canvas.setWidth(containerWidth);\r\n //@ts-ignore\r\n canvas.setHeight(parseInt(outerCanvasContainer.clientHeight));\r\n console.log('--->', canvas.getHeight(), canvas.getHeight());\r\n canvas.setViewportTransform([zoom, 0, 0, zoom, 0, 0]);\r\n canvas.renderAll();\r\n }\r\n };\r\n React.useEffect(() => {\r\n fabric.Object.prototype.hasControls = true;\r\n fabric.Object.prototype.hasBorders = true;\r\n const canv = initCanvas();\r\n use3dddPlus.setState({ fabricCanvas: canv });\r\n resizeCanvas();\r\n window.addEventListener('resize', resizeCanvas);\r\n const fontFamilyURL =\r\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/athletic.ttf';\r\n const font = new FontFace('Athletic Block', `url('${fontFamilyURL}')`);\r\n font.load().then((value) => {\r\n //@ts-ignore\r\n document.fonts?.add(value);\r\n document.body.classList.add('fonts-loaded');\r\n });\r\n }, []);\r\n\r\n return (\r\n <div className=\" w-full h-full relative\">\r\n <ActionButtons />\r\n <div\r\n id=\"fabCanvas\"\r\n className=\"bg-[#ffffff]\"\r\n style={{ height: 'calc(100% - 71px)' }}\r\n >\r\n <canvas ref={canvasRef} id=\"canvas\"></canvas>\r\n {showContextMenu && (\r\n <div\r\n style={{\r\n position: 'absolute',\r\n zIndex: 1000,\r\n left: contextMenuCoordinates.x - 270,\r\n top: contextMenuCoordinates.y + 55,\r\n backgroundColor: 'white',\r\n border: '1px solid #ccc',\r\n boxShadow: '2px 2px 5px rgba(0,0,0,0.5)',\r\n }}\r\n onBlur={() => {\r\n use3dddPlus.setState({ showContextMenu: false });\r\n }}\r\n >\r\n <ContextMenu />\r\n </div>\r\n )}\r\n </div>\r\n {/* {allColor && allColor.includes('transparent')\r\n ? allColor.length - 1 > 8\r\n : allColor.length > 8 && <ErrorPopup allColor={allColor} />} */}\r\n <NudgeButtons />\r\n </div>\r\n );\r\n};\r\n\r\nexport default canvas;\r\n","import React from 'react';\r\n\r\nexport interface CardProps {\r\n cardClass?: string;\r\n children?: React.ReactNode;\r\n onClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\r\n style?: React.CSSProperties;\r\n key?:string\r\n \r\n}\r\n\r\nexport const Card = ({ cardClass,children, onClick,style,key }: CardProps) => {\r\n return (\r\n <>\r\n <div\r\n className={`card bg-base-100 relative ${cardClass}`}\r\n onClick={onClick}\r\n style={style}\r\n key={ key}\r\n >\r\n {children}\r\n </div>\r\n </>\r\n );\r\n};","import React from 'react';\r\n\r\nexport interface CardBodyProps {\r\n bodyClass?: string;\r\n children?: React.ReactNode;\r\n}\r\nexport const CardBody = ({ bodyClass, children }: CardBodyProps) => {\r\n return (\r\n <>\r\n <div className={`card-body ${bodyClass}`}>{children}</div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { TEXT_SIZE_2 } from '../../theme';\r\nimport { IoMdCheckmarkCircle, IconButton } from '../icon';\r\n\r\nexport interface CardCheckMarkProps {\r\n checkMarkClass?: string;\r\n size?: any;\r\n}\r\nexport const CardCheckMark = ({ checkMarkClass, size }: CardCheckMarkProps) => {\r\n return (\r\n <>\r\n <div\r\n className={`absolute top-1/2 left-2/4 ${TEXT_SIZE_2} ${checkMarkClass}`}\r\n style={{ transform: 'translate(-50%, -50%)' }}\r\n >\r\n <IconButton\r\n label={''}\r\n icon={<IoMdCheckmarkCircle />}\r\n className={`pointer-events-auto cursor-pointer`}\r\n size={size}\r\n ></IconButton>\r\n </div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { HiOutlineDownload, IconButton } from '../icon';\r\n\r\nexport interface CardDownIconProps {\r\n downloadClass?: string;\r\n downloadIconClass?: string;\r\n iconClass?: string;\r\n pdfUrl?: string;\r\n}\r\nexport const CardDownloadIcon = ({\r\n downloadClass,\r\n downloadIconClass,\r\n iconClass,\r\n pdfUrl,\r\n}: CardDownIconProps) => {\r\n return (\r\n <>\r\n <a\r\n href={pdfUrl}\r\n download={'Design Sheet'}\r\n target=\"_blank\"\r\n className={`flex items-center gap-[0.4375rem] ${downloadIconClass}`}\r\n >\r\n <IconButton\r\n label={''}\r\n icon={<HiOutlineDownload />}\r\n className={`pointer-events-auto cursor-pointer ${iconClass}`}\r\n size=\"1rem\"\r\n ></IconButton>\r\n\r\n <span className={`${downloadClass}`}>VIEW DESIGN SHEET</span>\r\n </a>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\n\r\nexport interface CardFlagProps {\r\n flag?: string;\r\n flagClass?: string;\r\n}\r\nexport const CardFlag = ({ flag, flagClass }: CardFlagProps) => {\r\n return (\r\n <>\r\n <div className={`absolute top-0 left-0 ${flagClass}`}>{flag}</div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nimport './card.css';\r\n\r\nexport interface CardMediaProps {\r\n alt?: string;\r\n imageClass?: string;\r\n src?: string;\r\n}\r\nexport const CardMedia = ({ alt, imageClass, src }: CardMediaProps) => {\r\n return (\r\n <>\r\n <div\r\n role=\"img\"\r\n aria-label={alt}\r\n className={`cardImage ${imageClass}`}\r\n style={{ backgroundImage: `url('${src}')` }}\r\n ></div>\r\n </>\r\n );\r\n};","import React from 'react';\r\nimport { TAG_TEXT_COLOR } from '../../theme';\r\nexport interface CardTagsProps {\r\n children?: React.ReactNode;\r\n tagsClass?: string;\r\n}\r\nexport const CardTags = ({ children, tagsClass }: CardTagsProps) => {\r\n return (\r\n <>\r\n <div\r\n className={`${tagsClass} flex capitalize rounded px-[11px] py-[5px] text-center items-center align-baseline ${TAG_TEXT_COLOR} font-normal`}\r\n >\r\n {children}\r\n </div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nexport interface CardTitleProps {\r\n name?: string;\r\n titleClass?: string;\r\n}\r\nexport const CardTitle = ({ name, titleClass }: CardTitleProps) => {\r\n return (\r\n <>\r\n <p className={`card-title ${titleClass}`}>{name}</p>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\n\r\nexport interface CardDescProps {\r\n children?: React.ReactNode;\r\n descriptionClass?: string;\r\n}\r\nexport const CardDescription = ({ children, descriptionClass }: CardDescProps) => {\r\n return (\r\n <>\r\n <p className={`${descriptionClass}`}>{children}</p>\r\n </>\r\n );\r\n};\r\n","import React, { useRef, useState } from 'react';\r\nimport { MdOutlineFileUpload } from 'react-icons/md';\r\nimport { IconButton } from '../icon';\r\ninterface FileUploadButtonProps {\r\n onFileSelect: (file: File) => void;\r\n}\r\n\r\nconst FileUploadButton: React.FC<FileUploadButtonProps> = ({\r\n onFileSelect,\r\n}) => {\r\n const fileInputRef = useRef<HTMLInputElement>(null);\r\n const [isDragging, setIsDragging] = useState(false);\r\n\r\n const handleFileSelect = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n const selectedFile = event.target.files?.[0];\r\n\r\n if (selectedFile) {\r\n onFileSelect(selectedFile);\r\n }\r\n fileInputRef.current.value = null;\r\n };\r\n\r\n const handleDragEnter = (event: React.DragEvent<HTMLDivElement>) => {\r\n event.preventDefault();\r\n setIsDragging(true);\r\n };\r\n\r\n const handleDragLeave = (event: React.DragEvent<HTMLDivElement>) => {\r\n event.preventDefault();\r\n setIsDragging(false);\r\n };\r\n\r\n const handleDrop = (event: React.DragEvent<HTMLDivElement>) => {\r\n event.preventDefault();\r\n setIsDragging(false);\r\n\r\n const droppedFile = event.dataTransfer.files[0];\r\n if (droppedFile) {\r\n onFileSelect(droppedFile);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div\r\n className={`flex items-center justify-center w-full relative h-full ${\r\n isDragging ? 'dragging' : ''\r\n }`}\r\n onDragEnter={handleDragEnter}\r\n onDragLeave={handleDragLeave}\r\n onDragOver={(event) => event.preventDefault()}\r\n onDrop={handleDrop}\r\n >\r\n <label\r\n htmlFor=\"file-upload\"\r\n // className=\"w-[40vw] h-[40vh] flex flex-col items-center justify-center gap-y-[12px] text-center absolute -translate-x-2/4 md:-translate-y-2/4 -translate-y-[30%] left-2/4 2xl:top-2/4 top-[42%] p-[50px] border-2 border-gray-300 border-dashed rounded-lg cursor-pointer bg-gray-50 dark:hover:bg-bray-800 dark:bg-gray-700 hover:bg-gray-100 dark:border-gray-600 dark:hover:border-gray-500 dark:hover:bg-gray-600\"\r\n className=\"w-[40vw] h-[40vh] flex flex-col items-center justify-center gap-y-[12px] text-center absolute -translate-x-2/4 md:-translate-y-2/4 -translate-y-[30%] left-2/4 2xl:top-2/4 top-[42%] p-[50px] border-2 border-gray-300 border-dashed rounded-lg cursor-pointer bg-gray-50\"\r\n >\r\n <div className=\" text-center flex flex-col gap-[8px]\">\r\n <IconButton\r\n label=\"\"\r\n icon={<MdOutlineFileUpload />}\r\n className={\r\n 'pointer-events-auto cursor-pointer m-auto text-[#E11A38] bg-[#FCE8EB] p-[16px] h-[unset] !rounded-full'\r\n }\r\n size=\"1.125rem\"\r\n ></IconButton>\r\n <div className=\"text-[#5D5D5D] text-base font-bold\">\r\n Drag Files To Upload\r\n </div>\r\n <div className=\"text-[#5D5D5D] text-base font-bold\">Or</div>\r\n </div>\r\n <div>\r\n {' '}\r\n <button\r\n onClick={() => fileInputRef.current?.click()}\r\n className=\"text-center py-[11.2px] border border-[#E11A38] text-[#E11A38] font-bold px-[20px] rounded-none hover:bg-[#E11A38] hover:text-white transition-all ease-in-out duration-300 cursor-pointer max-w-[220px]\"\r\n >\r\n BROWSE FILE\r\n </button>\r\n </div>\r\n\r\n <div className=\" text-center text-[#727272] text-sm\">\r\n <p>Max file size: 25M</p>\r\n {/* <p>Supported files types: JPG, JPEG, PNG, GIF, EPS, PDF, SVG, AI</p> */}\r\n <p>Supported files types: JPG, JPEG, PNG, PDF, SVG, AI</p>\r\n </div>\r\n <input\r\n id=\"file-upload\"\r\n ref={fileInputRef}\r\n type=\"file\"\r\n onChange={handleFileSelect}\r\n className=\"hidden\"\r\n accept=\"image/png, image/jpeg , image/gif , image/svg+xml , .eps , .ai , .pdf\"\r\n />\r\n </label>\r\n </div>{' '}\r\n </>\r\n );\r\n};\r\n\r\nexport default FileUploadButton;\r\n","export const defaultColorNames = [\r\n { color: '#040404', name: 'Black' },\r\n { color: '#0B162E', name: 'Navy' },\r\n { color: '#511318', name: 'Maroon' },\r\n { color: '#12242C', name: 'Graphite' },\r\n { color: '#362519', name: 'Mud' },\r\n { color: '#332322', name: 'Dark Walnut' },\r\n { color: '#581C28', name: 'Burgundy' },\r\n { color: '#482925', name: 'Walnut' },\r\n { color: '#5E1B56', name: 'Grape' },\r\n { color: '#48236E', name: 'Purple' },\r\n { color: '#004125', name: 'Dark Pine' },\r\n { color: '#532D23', name: 'Brown' },\r\n { color: '#163959', name: 'Denim' },\r\n { color: '#063E44', name: 'Forest Teal' },\r\n { color: '#7D1523', name: 'Cardinal' },\r\n { color: '#39392A', name: 'Sage' },\r\n { color: '#005028', name: 'Dark Green' },\r\n { color: '#3D471F', name: 'Olive' },\r\n { color: '#454126', name: 'Army Olive' },\r\n { color: '#8E2056', name: 'Violet' },\r\n { color: '#0B5935', name: 'Kelly' },\r\n { color: '#3B4548', name: 'Asphalt' },\r\n { color: '#67451F', name: 'Buck Mesh' },\r\n { color: '#364D44', name: 'Spruce' },\r\n { color: '#5F452F', name: 'Bark' },\r\n { color: '#94321D', name: 'Texas Orange' },\r\n { color: '#59501C', name: 'Army Gold' },\r\n { color: '#00643B', name: 'Irish Green' },\r\n { color: '#824323', name: 'Buck' },\r\n { color: '#624B36', name: 'Medium Brown' },\r\n { color: '#B82026', name: 'Red' },\r\n { color: '#8C4522', name: 'Copper' },\r\n { color: '#4856A6', name: 'Lilac' },\r\n { color: '#0D5EA0', name: 'Royal' },\r\n { color: '#005F9C', name: 'Air Force Blue' },\r\n { color: '#3F7336', name: 'Lime Green' },\r\n { color: '#DD2825', name: 'Red-Orange' },\r\n { color: '#DE1761', name: 'Fuchsia' },\r\n { color: '#007189', name: 'Surf Blue' },\r\n { color: '#5F6162', name: 'Charcoal' },\r\n { color: '#057F88', name: 'Blue Teal' },\r\n { color: '#747C32', name: 'Moss' },\r\n { color: '#E45224', name: 'Orange' },\r\n { color: '#F04D30', name: 'Blaze Orange' },\r\n { color: '#0080C1', name: 'Bright Blue' },\r\n { color: '#C16A27', name: 'Toast' },\r\n { color: '#E64677', name: 'Neon Pink' },\r\n { color: '#766A5B', name: 'Driftwood' },\r\n { color: '#667360', name: 'Mute Green' },\r\n { color: '#AB6B6C', name: 'Dark Rose' },\r\n { color: '#2481B3', name: 'Baltic Blue' },\r\n { color: '#00A34A', name: 'Emerald' },\r\n { color: '#E86432', name: 'Salmon' },\r\n { color: '#F26920', name: 'Neon Orange' },\r\n { color: '#857262', name: 'Desert Brown' },\r\n { color: '#93715B', name: 'Light Brown' },\r\n { color: '#A276B3', name: 'Lavender' },\r\n { color: '#00A84E', name: 'Emerald Maderia' },\r\n { color: '#F3751F', name: 'Gold Orange' },\r\n { color: '#05A17E', name: 'Mint' },\r\n { color: '#1B91D0', name: 'Sky Blue' },\r\n { color: '#53878B', name: 'Bahama Blue' },\r\n { color: '#00A192', name: 'Green Teal' },\r\n { color: '#6C7A89', name: 'Steel Grey' },\r\n { color: '#0A96BD', name: 'Cyan' },\r\n { color: '#CE8A2D', name: 'Mustard' },\r\n { color: '#F5831E', name: 'Tenn. Orange' },\r\n { color: '#81A046', name: 'D Sport Green' },\r\n { color: '#ED9717', name: 'Dark Gold' },\r\n { color: '#867E72', name: 'Putty' },\r\n { color: '#F27D66', name: 'Southern Peach' },\r\n { color: '#F37F95', name: 'Optic Pink' },\r\n { color: '#BEA82F', name: 'Green Gold' },\r\n { color: '#F283B4', name: 'Pink' },\r\n { color: '#89906D', name: 'Light Olive' },\r\n { color: '#85C44B', name: 'Neon Green' },\r\n { color: '#72C164', name: 'Key Lime' },\r\n { color: '#F4B716', name: 'Dark Cal Gold' },\r\n { color: '#B790C2', name: 'Pale Lilac' },\r\n { color: '#C6FF19', name: 'Optic Green' },\r\n { color: '#FCC614', name: 'Yellow' },\r\n { color: '#16B1D1', name: 'Aqua' },\r\n { color: '#CB9E59', name: 'Old Gold' },\r\n { color: '#FDED00', name: 'Lemon' },\r\n { color: '#FFC937', name: 'Gold' },\r\n { color: '#F8ED4D', name: 'Neon Yellow' },\r\n { color: '#F5A2C6', name: 'Cotton Candy' },\r\n { color: '#EEBD5B', name: 'Metallic Gold' },\r\n { color: '#FCAE77', name: 'Light Peach' },\r\n { color: '#C09B7B', name: 'Taupe' },\r\n { color: '#FBB66E', name: 'Honey' },\r\n { color: '#F6D75E', name: 'Lt. Cal Gold' },\r\n { color: '#DEB66A', name: 'Brass' },\r\n { color: '#CE9F9F', name: 'Light Rose' },\r\n { color: '#6AC4CC', name: 'Southern Mint' },\r\n { color: '#F4AC96', name: 'Peach' },\r\n { color: '#84B5B2', name: 'Smoke Blue' },\r\n { color: '#9BA997', name: 'Spring Green' },\r\n { color: '#BFA881', name: 'Beige' },\r\n { color: '#7BBEE8', name: 'Columbia Blue' },\r\n { color: '#EFC78D', name: 'Tan' },\r\n { color: '#8BD6D4', name: 'Aruba Blue' },\r\n { color: '#BDA998', name: 'Camo Stone' },\r\n { color: '#AECBAC', name: 'Willow' },\r\n { color: '#AADAC9', name: 'Light Mint' },\r\n { color: '#CDE4B4', name: 'Patina Green' },\r\n { color: '#F5DDA2', name: 'Vegas Gold' },\r\n { color: '#FFF9B7', name: 'Mellow Yellow' },\r\n { color: '#C2C2B8', name: 'Dark Stone' },\r\n { color: '#BDBDC0', name: 'Silver' },\r\n { color: '#E9D7B7', name: 'Khaki' },\r\n { color: '#C6C8C8', name: 'Heather Grey' },\r\n { color: '#D6D1C3', name: 'Stone' },\r\n { color: '#CFCDCD', name: 'Metallic Silver' },\r\n { color: '#E9E7D9', name: 'Eggshell' },\r\n { color: '#D7DEE2', name: 'Light Silver' },\r\n { color: '#EAE3DC', name: 'Metallic Champagne' },\r\n { color: '#FAF7ED', name: 'Cream' },\r\n { color: '#FFFFFF', name: 'White' },\r\n { color: 'transparent', name: 'Transparent' },\r\n];","import React, { useState } from 'react';\r\nimport { TEXT_SIZE_9 } from '../../theme';\r\nimport './colorPalette.css';\r\nimport { defaultColorNames } from '../../assets/colors/colors';\r\nimport { ToolTip } from '../toolTip';\r\n\r\nexport interface ColorPaletteProps {\r\n previousColor?: string[];\r\n previousClass?: string;\r\n mainIndex?: any;\r\n handleColorChange?: any;\r\n mainClass?: string;\r\n index?: any;\r\n boxWidth?: number;\r\n gap?: number;\r\n style?: any;\r\n}\r\n\r\nexport const ColorPalette = ({\r\n previousColor,\r\n previousClass = '',\r\n mainIndex = '',\r\n handleColorChange,\r\n style = {},\r\n}: // mainClass = '',\r\nColorPaletteProps) => {\r\n const [selectColor, setSelectColor] = useState(null);\r\n const colorList = defaultColorNames;\r\n const handleColorClick = (color, index) => {\r\n setSelectColor(color);\r\n handleColorChange(color, index);\r\n };\r\n\r\n return (\r\n <>\r\n <div\r\n id=\"colorPalette\"\r\n className={`colorPalette right-[10.6rem] z-10 max-h-[16.4375rem] border border-[#FCE8EB] before:bg-[#ffffff] shadow-[0px_3px_6px_rgba(0,0,0,0.16)] py-[1.8125rem] px-[1.4063rem] bg-[#fff] mt-[1.875rem] mr-[1rem] absolute h-[300px]`}\r\n style={style}\r\n >\r\n {colorList?.length > 0 && (\r\n <>\r\n <p\r\n className={`${TEXT_SIZE_9} leading-[1.125rem] font-bold pb-[1.125rem] text-left`}\r\n >\r\n Choose color\r\n </p>\r\n <div\r\n className={`flex flex-wrap gap-x-[0.8125rem] gap-y-[0.3125rem] pb-[2.0938rem] max-h-[10.9rem] overflow-y-auto`}\r\n >\r\n {colorList?.map((color, index) => (\r\n <div\r\n className=\"aspect-square border border-solid border-[#D6D6D6] cursor-pointer relative btn !p-0 !w-[1.875rem] !h-[1.875rem] min-h-[unset] rounded-none\"\r\n key={index + color.name}\r\n >\r\n <ToolTip label={color.name}>\r\n <ColorBox\r\n color={color.color}\r\n index={index}\r\n onClick={() => handleColorClick(color.color, mainIndex)}\r\n boxClass={`w-[1.875rem] h-[1.875rem] ${\r\n selectColor === color.color ? 'border border-[red]' : ''\r\n }`}\r\n />\r\n </ToolTip>\r\n </div>\r\n ))}\r\n </div>\r\n </>\r\n )}\r\n {previousColor?.length > 0 && (\r\n <>\r\n <div\r\n className={`flex flex-row gap-x-[0.875rem] pt-[1.3438rem] border-t border-t-[#EBEBEB]`}\r\n >\r\n <p\r\n className={`${TEXT_SIZE_9} leading-[1.125rem] font-bold pb-[1.125rem]`}\r\n >\r\n Previously used\r\n </p>\r\n <div\r\n className={`flex flex-wrap gap-x-[0.8125rem] gap-y-[0.3125rem] border-b border-b-[#EBEBEB] ${previousClass}`}\r\n >\r\n {previousColor?.map((color, index) => (\r\n <ColorBox\r\n color={color}\r\n index={'previous' + index}\r\n onClick={() =>\r\n handleColorClick(color, mainIndex + 'Choose' + index)\r\n }\r\n boxClass={`w-[1.875rem] h-[1.875rem] ${\r\n selectColor === color ? 'border border-[red]' : ''\r\n }`}\r\n />\r\n ))}\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nexport interface BoxColorProps {\r\n color?: string;\r\n index?: any;\r\n boxClass?: string;\r\n onClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\r\n onChange?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\r\n children?: React.ReactNode;\r\n}\r\n\r\nexport const ColorBox = ({\r\n color,\r\n index,\r\n boxClass = '',\r\n onClick,\r\n onChange,\r\n children,\r\n}: BoxColorProps) => {\r\n return (\r\n <div\r\n key={index}\r\n style={{ backgroundColor: color }}\r\n className={`w-10 h-10 border border-[#D6D6D6] ${boxClass}`}\r\n onClick={onClick}\r\n onChange={onChange}\r\n >\r\n {children}\r\n {color === 'transparent' && (\r\n <div\r\n style={{\r\n width: '2px',\r\n height: '39px',\r\n background: '#FF0000',\r\n transform: 'rotate(-45deg)',\r\n marginLeft: '13px',\r\n marginTop: '-6px',\r\n }}\r\n >\r\n &nbsp;\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { defaultColorNames } from '../../assets/colors/colors';\r\nimport { ToolTip } from '../toolTip';\r\n\r\nexport const ColorImpl = (props) => {\r\n const getLable = (colorCode) => {\r\n const color = defaultColorNames.find((c) => colorCode === c.color);\r\n if (color && color.name) {\r\n return color.name;\r\n } else {\r\n return colorCode;\r\n }\r\n };\r\n\r\n return (\r\n <ToolTip label={getLable(props.color)}>\r\n <div className={props.mClass}>\r\n <div\r\n className={`border border-gray-600 w-[30px] h-[30px] group`}\r\n style={{\r\n background: props.color === 'transparent' ? '#FFFFFF' : props.color,\r\n }}\r\n onClick={(event: any) => {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n\r\n props.setDisplayPallet({\r\n visible: true,\r\n property: props.property,\r\n color: '',\r\n callback: props.callback,\r\n });\r\n props.setPosition({\r\n x: event.clientX,\r\n y:\r\n window.innerHeight < event.clientY + 280\r\n ? event.clientY - 300\r\n : event.clientY,\r\n });\r\n }}\r\n >\r\n {props.color === 'transparent' && (\r\n <div\r\n style={{\r\n width: '2px',\r\n height: '39px',\r\n background: '#FF0000',\r\n transform: 'rotate(-45deg)',\r\n marginLeft: '13px',\r\n marginTop: '-6px',\r\n }}\r\n >\r\n &nbsp;\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </ToolTip>\r\n );\r\n};\r\n","import { fabric } from 'fabric';\r\nimport { use3dddPlus } from '..';\r\n\r\nexport const Initpopup = () => {\r\n const onObjectSelected = () => {\r\n if (!popupcanvas.getActiveObject()) {\r\n return;\r\n }\r\n if (popupcanvas.getActiveObject().type !== 'group') {\r\n return;\r\n }\r\n //@ts-ignore\r\n popupcanvas.getActiveObject().toActiveSelection().viewportCenter();\r\n popupcanvas.requestRenderAll();\r\n };\r\n const getAllColorsPopupCanvas = () => {\r\n const popUpCanvasAllColor = [\r\n ...new Set(\r\n popupcanvas\r\n ?.getObjects()\r\n ?.map((item) => item['colorFill'] && Object.values(item['colorFill']))\r\n .flat()\r\n .filter(Boolean)\r\n ),\r\n ]; // FOR REMOVING ALL DUPLICATE COLOR\r\n use3dddPlus.setState({ popUpCanvasAllColor: popUpCanvasAllColor });\r\n };\r\n // const cursorUrl =\r\n // 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/eyedropper.svg';\r\n \r\n const outerCanvasContainer = document.getElementById('imageCanvas');\r\n\r\n const popupcanvas = new fabric.Canvas('popupCanvas', {\r\n centeredScaling: true,\r\n preserveObjectStacking: true,\r\n //backgroundColor: '#F7F7F7',\r\n // defaultCursor: `url(\" ${cursorUrl} \"), auto`,\r\n // hoverCursor: `url(\" ${cursorUrl} \"), auto`,\r\n defaultCursor: 'pointer',\r\n hoverCursor: 'pointer',\r\n // width: 500,\r\n // height: 300,\r\n width: outerCanvasContainer.clientWidth,\r\n height: outerCanvasContainer.clientHeight\r\n }); \r\n popupcanvas.on('after:render',getAllColorsPopupCanvas);\r\n popupcanvas.on('selection:created', onObjectSelected);\r\n return popupcanvas;\r\n};\r\n","import React, { useEffect, useState, useRef, useMemo } from 'react';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { fabric } from 'fabric';\r\nimport { ColorImpl, ColorPalette } from '../colorPallet';\r\nimport { Initpopup } from '../../store/fabric/Popupcanvas';\r\nimport { CgArrowRight } from 'react-icons/cg';\r\nimport { EyeDropper, IconButton } from '../icon';\r\nimport { GiDrop } from 'react-icons/gi';\r\nimport { MdOutlineCancel } from 'react-icons/md';\r\nimport { ToolTip } from '../toolTip';\r\nimport { defaultColorNames } from '../../assets/colors/colors';\r\n// import { Button } from 'reakit';\r\nexport const PopUpCanvas = () => {\r\n const [\r\n popupCanvas,\r\n canvas,\r\n colorFill,\r\n changeSVGColor,\r\n popUpCanvasUndo,\r\n refreshColor,\r\n defaultColorFill,\r\n setDefaultColorFill,\r\n defaultColorFillCopy,\r\n setDefaultColorFillCopy,\r\n setHasUploadScreen,\r\n // popUpCanvasRedo,\r\n ] = use3dddPlus(\r\n (state) => [\r\n state.popupCanv,\r\n state.fabricCanvas,\r\n state.colorFill,\r\n state.changeSVGColor,\r\n state.popUpCanvasUndo,\r\n state.refreshColor,\r\n state.defaultColorFill,\r\n state.setDefaultColorFill,\r\n state.defaultColorFillCopy,\r\n state.setDefaultColorFillCopy,\r\n state.setHasUploadScreen,\r\n //state.popUpCanvasRedo,\r\n ],\r\n shallow\r\n );\r\n const [colorCount, setColorCount] = useState(8);\r\n const [colorFillCount, setColorFillCount] = useState(-1);\r\n // const [defaultColorFill, setDefaultColorFill] = useState([]);\r\n const [isRefresh, setIsRefresh] = useState(false);\r\n const [isNextClicked, setIsNextClicked] = useState(false);\r\n const defaultColorFillRef = useRef([]);\r\n\r\n const [displayPallet, setDisplayPallet] = useState({\r\n visible: false,\r\n property: '',\r\n color: '',\r\n callback: null,\r\n });\r\n const [position, setPosition] = useState(null);\r\n\r\n useEffect(() => {\r\n if (!displayPallet || !displayPallet.visible) {\r\n setDefaultColorFill(\r\n defaultColorFill.map((cf: any) => ({ ...cf, hasPallet: false }))\r\n );\r\n }\r\n }, [displayPallet]);\r\n\r\n useEffect(() => {\r\n defaultColorFillRef.current = defaultColorFill;\r\n }, [defaultColorFill]);\r\n\r\n useEffect(() => {\r\n if (colorFill && Object.keys(colorFill).length) {\r\n if (colorFillCount === -1) {\r\n setColorFillCount(Object.keys(colorFill).length);\r\n const defaultCF = [];\r\n Object.keys(colorFill).map((cf: any) => {\r\n defaultCF.push({\r\n property: cf,\r\n default: colorFill[cf],\r\n updated: colorFill[cf],\r\n objects: defaultColorFill.find((dcf) => dcf.property === cf)\r\n ?.objects,\r\n });\r\n });\r\n setDefaultColorFill(defaultCF);\r\n }\r\n\r\n if (isRefresh) {\r\n setIsRefresh(false);\r\n setTimeout(() => {\r\n Object.keys(colorFill).map((cf: any) => {\r\n const dcf = defaultColorFill.find(\r\n (dcf: any) => dcf.property === cf\r\n );\r\n if (dcf && dcf.default !== dcf.updated) {\r\n changeSVGColor(dcf.property, dcf.updated);\r\n }\r\n });\r\n }, 100);\r\n }\r\n }\r\n // setColorFillCount(-1);\r\n }, [colorFill]);\r\n\r\n useEffect(() => {\r\n if (colorFillCount && colorFillCount > 0) {\r\n setColorCount(colorFillCount);\r\n } else {\r\n setColorCount(8);\r\n }\r\n }, [colorFillCount]);\r\n\r\n const onColorUpdate = (property: any, color: any) => {\r\n // const foundIndex = defaultColorFill.findIndex(\r\n // (cf: any) => cf.property === property\r\n // );\r\n // if (foundIndex >= 0) {\r\n // defaultColorFill[foundIndex].updated = color;\r\n // }\r\n\r\n if (changeSVGColor(property, color)) {\r\n setDefaultColorFill(\r\n defaultColorFill.map(\r\n (c: any) => (c.property === property ? { ...c, updated: color } : c)\r\n // colorFill[property] === c.updated ? { ...c, updated: color } : c\r\n )\r\n );\r\n setDefaultColorFillCopy(\r\n defaultColorFillCopy.map(\r\n (c: any) => (c.property === property ? { ...c, updated: color } : c)\r\n // colorFill[property] === c.updated ? { ...c, updated: color } : c\r\n )\r\n );\r\n }\r\n };\r\n\r\n const handleColorCountChange = (e) => {\r\n setColorCount(Number(e.target.value));\r\n // use3dddPlus.setState({ colorCount: Number(e.target.value) });\r\n refreshColor(Number(e.target.value));\r\n setIsRefresh(true);\r\n };\r\n const resizeCanvas = () => {\r\n if (document.getElementById('imageCanvas')) {\r\n const canvas = use3dddPlus.getState().popupCanv;\r\n const outerCanvasContainer = document.getElementById('imageCanvas');\r\n console.log(outerCanvasContainer);\r\n const containerWidth = outerCanvasContainer.clientWidth;\r\n const scale = containerWidth / canvas.getWidth();\r\n const zoom = canvas.getZoom() * scale;\r\n canvas.setWidth(containerWidth);\r\n //@ts-ignore\r\n canvas.setHeight(parseInt(outerCanvasContainer.clientHeight));\r\n canvas.setViewportTransform([zoom, 0, 0, zoom, 0, 0]);\r\n canvas.renderAll();\r\n }\r\n };\r\n\r\n const removeColorPalatte = () => {\r\n setDisplayPallet({\r\n visible: false,\r\n property: '',\r\n color: '',\r\n callback: null,\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n fabric.Object.prototype.hasControls = false;\r\n fabric.Object.prototype.hasBorders = false;\r\n setDefaultColorFill([]);\r\n setColorFillCount(-1);\r\n setHasUploadScreen(true);\r\n const popupCanv = Initpopup();\r\n use3dddPlus.setState({ popupCanv: popupCanv });\r\n resizeCanvas();\r\n window.addEventListener('resize', resizeCanvas);\r\n window.addEventListener('click', removeColorPalatte);\r\n //FOR REMOVING COLOR\r\n\r\n popupCanv.on('mouse:down', function (event) {\r\n // popupCanv.discardActiveObject();\r\n var mouseClick = popupCanv.getPointer(event.e);\r\n // console.log('MOUSE-CLICK-->',mouseClick);\r\n // Iterate through objects on the canvas and check if any intersect with the mouse click\r\n\r\n let removedColors = [];\r\n use3dddPlus.getState().popUpCanvasUpdateModification(true);\r\n let color;\r\n popupCanv.forEachObject(function (obj) {\r\n if (obj.type === 'path') {\r\n //@ts-ignore\r\n if (obj.containsPoint(mouseClick) && !color) {\r\n removedColors.push(obj.fill);\r\n popupCanv.remove(obj);\r\n popupCanv.renderAll();\r\n color = obj.fill;\r\n }\r\n }\r\n });\r\n\r\n let defaultColorsCopy = defaultColorFillRef.current;\r\n removedColors.map((rc: any) => {\r\n if (\r\n popupCanv.getObjects().filter((obj: any) => obj.fill === rc).length <\r\n 1\r\n ) {\r\n defaultColorsCopy = defaultColorsCopy.filter(\r\n (dc: any) => dc.updated !== RGBToHex(rc)\r\n );\r\n }\r\n });\r\n setDefaultColorFill(defaultColorsCopy);\r\n\r\n /*\r\n let availableColors = [];\r\n defaultColorFillRef.current.map((dcf: any) => {\r\n let objColorCount = 0;\r\n popupCanv.forEachObject(function (obj) {\r\n if (RGBToHex(obj.fill) === dcf.updated) {\r\n objColorCount += 1;\r\n }\r\n });\r\n if (objColorCount > 0) {\r\n availableColors.push(dcf);\r\n }\r\n });\r\n setDefaultColorFill(availableColors);\r\n */\r\n });\r\n return () => {\r\n setHasUploadScreen(false);\r\n window.removeEventListener('click', removeColorPalatte);\r\n };\r\n }, []);\r\n\r\n const popupCanvasCancel = () => {\r\n fabric.Object.prototype.hasControls = true;\r\n fabric.Object.prototype.hasBorders = true;\r\n setDefaultColorFill([]);\r\n use3dddPlus.setState({ uploadImageModalDisplay: false });\r\n popupCanvas.remove(...popupCanvas.getObjects());\r\n use3dddPlus.setState({ colorFill: {} });\r\n use3dddPlus.setState({ popupCanvasStoreHistory: [] });\r\n use3dddPlus.setState({ popUpCanvasCount: 1 });\r\n };\r\n\r\n const popupCanvasContinue = () => {\r\n if (!conflictColors || conflictColors.length < 1) {\r\n setIsNextClicked(false);\r\n onContinue();\r\n } else {\r\n setIsNextClicked(true);\r\n }\r\n };\r\n\r\n const onContinue = () => {\r\n fabric.Object.prototype.hasControls = true;\r\n fabric.Object.prototype.hasBorders = true;\r\n //@ts-ignore\r\n use3dddPlus.setState({ uploadImageModalDisplay: false });\r\n use3dddPlus.setState({ selectedStepper: undefined });\r\n popupCanvas.getObjects().forEach((obj) => {\r\n if (obj.type === 'line') {\r\n popupCanvas.remove(obj);\r\n }\r\n });\r\n const sel = new fabric.ActiveSelection(popupCanvas.getObjects(), {\r\n //@ts-ignore\r\n popupCanvas: popupCanvas,\r\n });\r\n popupCanvas.setActiveObject(sel);\r\n // {\r\n // _objects: sel._objects.filter((obj) => obj.type !== 'line'),\r\n // }\r\n // popupCanvas.remove(...popupCanvas.getObjects());\r\n\r\n popupCanvas.requestRenderAll();\r\n let clipboard;\r\n popupCanvas.getActiveObject().clone(function (cloned) {\r\n clipboard = cloned;\r\n // });\r\n\r\n // if (clipboard.type === 'activeSelection') {\r\n // clipboard.canvas = canvas;\r\n // const objs = [];\r\n // clipboard.forEachObject(function (obj) {\r\n // objs.push(obj);\r\n // });\r\n // const alltogetherObj = new fabric.Group(objs, {});\r\n // canvas.centerObject(alltogetherObj);\r\n // canvas.add(alltogetherObj);\r\n // canvas.setActiveObject(alltogetherObj);\r\n // alltogetherObj.setCoords();\r\n // use3dddPlus.getState().forStoringAllObject(alltogetherObj); //for pushing the data into array for layers\r\n // } else {\r\n // canvas.add(clipboard);\r\n // }\r\n // canvas.requestRenderAll();\r\n // popupCanvas.clear();\r\n if (clipboard && clipboard.type === 'activeSelection') {\r\n clipboard.canvas = canvas;\r\n const objs = [];\r\n clipboard.forEachObject(function (obj) {\r\n objs.push(obj);\r\n });\r\n\r\n const alltogetherObj = new fabric.Group(objs, {});\r\n canvas.centerObject(alltogetherObj);\r\n canvas.add(alltogetherObj);\r\n canvas.setActiveObject(alltogetherObj);\r\n alltogetherObj.set({\r\n //@ts-ignore\r\n colorFill: use3dddPlus.getState().colorFill,\r\n });\r\n alltogetherObj.setCoords();\r\n use3dddPlus.getState().forStoringAllObject(alltogetherObj); //for pushing the data into array for layers\r\n use3dddPlus.getState().forIconCapture();\r\n //@ts-ignore\r\n alltogetherObj.icon = use3dddPlus.getState().iconImage;\r\n } else {\r\n canvas.add(clipboard);\r\n }\r\n canvas.requestRenderAll();\r\n popupCanvas.clear();\r\n use3dddPlus.setState({ popupCanvasStoreHistory: [] });\r\n use3dddPlus.getState().updateModifaction(true);\r\n });\r\n };\r\n\r\n const RGBToHex = (rgb) => {\r\n if (rgb) {\r\n if (rgb.indexOf('rgba') >= 0) {\r\n const rgba = rgb.replace(/^rgba?\\(|\\s+|\\)$/g, '').split(',');\r\n return `#${(\r\n (1 << 24) +\r\n (parseInt(rgba[0]) << 16) +\r\n (parseInt(rgba[1]) << 8) +\r\n parseInt(rgba[2])\r\n )\r\n .toString(16)\r\n .slice(1)}`;\r\n } else {\r\n let sep = rgb.indexOf(',') > -1 ? ',' : ' ';\r\n rgb = rgb.substr(4).split(')')[0].split(sep);\r\n let r = (+rgb[0]).toString(16),\r\n g = (+rgb[1]).toString(16),\r\n b = (+rgb[2]).toString(16);\r\n\r\n if (r.length == 1) r = '0' + r;\r\n if (g.length == 1) g = '0' + g;\r\n if (b.length == 1) b = '0' + b;\r\n return '#' + r + g + b;\r\n }\r\n } else {\r\n return '';\r\n }\r\n };\r\n\r\n /*\r\n const resetHandler = () => {\r\n console.log(use3dddPlus.getState().forPopupCanvasReset);\r\n popupCanvas.clear();\r\n popupCanvas.loadFromJSON(\r\n use3dddPlus.getState().forPopupCanvasReset,\r\n function () {\r\n use3dddPlus.setState({\r\n colorFill: { ...use3dddPlus.getState().forPopupCanvasColor },\r\n });\r\n popupCanvas.renderAll();\r\n }\r\n );\r\n };*/\r\n\r\n const resetHandler = () => {\r\n use3dddPlus.getState().popUpCanvasUpdateModification(true);\r\n const colors = use3dddPlus.getState().popupCanvasStoreHistory[0].colorFill;\r\n use3dddPlus\r\n .getState()\r\n .popupCanv.loadFromJSON(\r\n use3dddPlus.getState().popupCanvasStoreHistory[0].json\r\n );\r\n\r\n popupCanvas.getObjects().forEach((obj:any) => {\r\n if (obj.type === 'line') {\r\n popupCanvas.remove(obj);\r\n }\r\n });\r\n\r\n const canvas = use3dddPlus.getState().popupCanv;\r\n var gridSize = 83; // Size of each grid cell\r\n var canvasWidth = canvas.width;\r\n var canvasHeight = canvas.height;\r\n var numCols = Math.ceil(canvasWidth / gridSize);\r\n var numRows = Math.ceil(canvasHeight / gridSize);\r\n\r\n // Function to create a rectangle with checkerboard pattern\r\n function createCheckerboardRect(left, top, width, height, isEvenRow) {\r\n var rect = new fabric.Rect({\r\n left: left,\r\n top: top,\r\n width: width,\r\n height: height,\r\n type: 'line',\r\n lockMovementX: true,\r\n lockMovementY: true,\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n // backgroundColor:'#ccc',\r\n fill:\r\n (isEvenRow && (left / gridSize) % 2 === 0) ||\r\n (!isEvenRow && (left / gridSize) % 2 !== 0)\r\n ? '#ffffff'\r\n : '#dadadac7',\r\n });\r\n return rect;\r\n }\r\n\r\n // Create grid lines\r\n for (var i = 0; i < numCols; i++) {\r\n var x = i * gridSize;\r\n const line = new fabric.Line([x, 0, x, canvasHeight], {\r\n stroke: '#dadadac7',\r\n selectable: false,\r\n type: 'line',\r\n lockMovementX: true,\r\n lockMovementY: true,\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n });\r\n canvas.add(line);\r\n canvas.sendToBack(line);\r\n }\r\n\r\n for (var j = 0; j < numRows; j++) {\r\n var y = j * gridSize;\r\n const line = new fabric.Line([0, y, canvasWidth, y], {\r\n stroke: '#FFFFFF',\r\n selectable: false,\r\n type: 'line',\r\n lockMovementX: true,\r\n lockMovementY: true,\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n });\r\n canvas.add(line);\r\n canvas.sendToBack(line);\r\n }\r\n\r\n // Fill grid with checkerboard pattern\r\n for (var i = 0; i < numCols; i++) {\r\n for (var j = 0; j < numRows; j++) {\r\n var left = i * gridSize;\r\n var top = j * gridSize;\r\n var isEvenRow = j % 2 === 0;\r\n var rect = createCheckerboardRect(\r\n left,\r\n top,\r\n gridSize,\r\n gridSize,\r\n isEvenRow\r\n );\r\n canvas.add(rect);\r\n canvas.sendToBack(rect);\r\n }\r\n }\r\n\r\n use3dddPlus.setState({ colorFill: colors });\r\n setDefaultColorFill(\r\n defaultColorFill.map((dcf: any) => ({ ...dcf, updated: dcf.default }))\r\n );\r\n\r\n\r\n };\r\n\r\n const onSelectColor = (item: any, event: any) => {\r\n setDefaultColorFill(\r\n defaultColorFill.map((cf: any) =>\r\n cf.property === item.property\r\n ? {\r\n ...cf,\r\n hasPallet: true,\r\n position: { x: event.clientX, y: event.clientY },\r\n }\r\n : { ...cf, hasPallet: false }\r\n )\r\n );\r\n setDisplayPallet({\r\n visible: true,\r\n property: item.property,\r\n color: item.updated,\r\n callback: onColorUpdate,\r\n });\r\n setPosition({\r\n x: event.clientX,\r\n y:\r\n window.innerHeight < event.clientY + 280\r\n ? event.clientY - 300\r\n : event.clientY,\r\n });\r\n };\r\n\r\n // const onClosePalette = () => {\r\n // setDefaultColorFill(\r\n // defaultColorFill.map((c: any) => ({ ...c, hasPallet: false }))\r\n // );\r\n // };\r\n\r\n const onPopUpCanvasUndo = () => {\r\n const colors = popUpCanvasUndo();\r\n if (colors !== null) {\r\n let currentColors = defaultColorFill.map((c: any) =>\r\n colors[c.property] && colors[c.property].length > 0\r\n ? { ...c, updated: colors[c.property] }\r\n : c\r\n );\r\n\r\n // Object.keys(colors).forEach((c: any) => {\r\n // if (\r\n // defaultColorFill.filter((dc: any) => dc.updated === colors[c])\r\n // .length < 1\r\n // ) {\r\n // currentColors.push({\r\n // property: c,\r\n // default: colors[c],\r\n // updated: colors[c],\r\n // });\r\n // }\r\n // });\r\n\r\n Object.keys(colors).forEach((c: any) => {\r\n if (\r\n defaultColorFill.filter((dc: any) => dc.updated === colors[c])\r\n .length < 1\r\n ) {\r\n const colorFromDefaultCopy = defaultColorFillCopy.find(\r\n (dcc) => dcc.updated === colors[c]\r\n );\r\n if (colorFromDefaultCopy && colorFromDefaultCopy.updated) {\r\n currentColors.push(colorFromDefaultCopy);\r\n }\r\n }\r\n });\r\n setDefaultColorFill(currentColors);\r\n }\r\n };\r\n\r\n const conflictColors = useMemo(() => {\r\n return defaultColorFill.filter(\r\n (c: any) =>\r\n defaultColorNames.findIndex(\r\n (dc) => dc.color.toLowerCase() === c.updated.toLowerCase()\r\n ) < 0\r\n );\r\n }, [defaultColorFill]);\r\n\r\n return (\r\n <>\r\n {/* <div\r\n className=\"relative z-10\"\r\n aria-labelledby=\"modal-title\"\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n style={uploadImageModalDisplay ? {} : { display: 'none' }}\r\n > */}\r\n <div className=\"flex z-5 overflow-y-auto h-full\">\r\n <div className=\"flex flex-1 w-full h-full\">\r\n <div className=\"relative w-full overflow-hidden bg-white h-full\">\r\n <div className=\"bg-white h-full\">\r\n <div className=\"flex flex-row h-full\">\r\n <div className=\"flex flex-row text-center w-[70%] h-full\">\r\n <div className=\" w-full h-full relative\">\r\n <div\r\n className=\"btnCont flex flex-wrap h-[40px] bg-[#F7F7F7]\"\r\n style={{\r\n padding: '10px',\r\n justifyContent: 'flex-end',\r\n width: '100%',\r\n }}\r\n >\r\n <div\r\n className=\"undoBtn cursor-pointer mr-4\"\r\n onClick={onPopUpCanvasUndo}\r\n >\r\n <div className=\"undoIcon float-left\">\r\n <svg\r\n fill=\"#727272\"\r\n width=\"16px\"\r\n height=\"16px\"\r\n viewBox=\"0 0 16 16\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n className=\"cls-1\"\r\n d=\"M6,3.6V0L0,6l6,6V8c6-.27,7.53,3.76,7.88,5.77a.27.27,0,0,0,.53,0C17.08,2.86,6,3.6,6,3.6Z\"\r\n />\r\n </svg>\r\n </div>\r\n <span className=\"iconLabel float-left text-[#727272] ml-2 text-[13px] font-bold \">\r\n Undo\r\n </span>\r\n </div>\r\n <div\r\n className=\"resetBtn cursor-pointer\"\r\n onClick = {(e)=>{e.preventDefault()\r\n e.stopPropagation()\r\n resetHandler()}}\r\n >\r\n <div className=\"resetBtn float-left\">\r\n <svg\r\n fill=\"#727272\"\r\n width=\"16px\"\r\n height=\"16px\"\r\n viewBox=\"0 0 1920 1920\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M960 0v213.333c411.627 0 746.667 334.934 746.667 746.667S1371.627 1706.667 960 1706.667 213.333 1371.733 213.333 960c0-197.013 78.4-382.507 213.334-520.747v254.08H640V106.667H53.333V320h191.04C88.64 494.08 0 720.96 0 960c0 529.28 430.613 960 960 960s960-430.72 960-960S1489.387 0 960 0\"\r\n fillRule=\"evenodd\"\r\n />\r\n </svg>\r\n </div>\r\n <span className=\"iconLabel float-left text-[#727272] ml-2 text-[13px] font-bold \">\r\n Reset\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n id=\"imageCanvas\"\r\n style={{\r\n width: '100%',\r\n height: 'calc(100% - 75px)',\r\n overflow: 'hidden',\r\n }}\r\n >\r\n <canvas className=\"pointer\" id=\"popupCanvas\"></canvas>\r\n </div>\r\n\r\n <div\r\n className=\"flex flex-wrap justify-center w-[100%] pt-[5px] pb-[5px] bg-[#F7F7F7]\"\r\n style={{\r\n alignItems: 'center',\r\n width: '100%',\r\n height: '35px',\r\n }}\r\n >\r\n <span className=\"border border-[#E11A38] p-1 bg-white mr-2 text-[#E11A38] \">\r\n <EyeDropper />\r\n </span>\r\n\r\n <span className=\"text-[#E11A38] text-[13px] font-bold \">\r\n Use the eyedropper tool by clicking on a color you wish to remove from your image.\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"text-left flex-1 h-[100%] px-[25px] pt-[31px] pb-[5px] w-[30%]\">\r\n <div className=\"flex flex-col gap-y-3 h-full\">\r\n <h1 className=\"text-[22px] font-bold\">\r\n Match and Combine colors\r\n </h1>\r\n <p className=\"text-[15px]\">\r\n Select how many colors are in your image\r\n </p>\r\n <select\r\n value={colorCount}\r\n onChange={handleColorCountChange}\r\n className=\"border-[1px] border-[#D7D7D7] p-2\"\r\n >\r\n <option value={1} disabled={colorFillCount < 1}>\r\n 1 Colors\r\n </option>\r\n <option value={2} disabled={colorFillCount < 2}>\r\n 2 Colors\r\n </option>\r\n <option value={3} disabled={colorFillCount < 3}>\r\n 3 Colors\r\n </option>\r\n <option value={4} disabled={colorFillCount < 4}>\r\n 4 Colors\r\n </option>\r\n <option value={5} disabled={colorFillCount < 5}>\r\n 5 Colors\r\n </option>\r\n <option value={6} disabled={colorFillCount < 6}>\r\n 6 Colors\r\n </option>\r\n <option value={7} disabled={colorFillCount < 7}>\r\n 7 Colors\r\n </option>\r\n <option value={8} disabled={colorFillCount < 8}>\r\n 8 Colors\r\n </option>\r\n </select>\r\n {/* {Object.keys(colorFill)?.map((item) => {\r\n return (\r\n <>\r\n <ColorImpl\r\n handleChange={changeSVGColor}\r\n property={item}\r\n color={colorFill[item]}\r\n />\r\n </>\r\n );\r\n })} */}\r\n <div\r\n className={\r\n 'flex flex-col gap-y-3.5 items-center overflow-y-auto py-[5px] 2xl:h-[50vh] sm:h-[42vh] h-[42vh]'\r\n }\r\n >\r\n {defaultColorFill\r\n //@ts-ignore\r\n ?.filter((item, index) => index < colorCount)\r\n .map((item, index) => (\r\n <div\r\n className=\"flex flex-row items-center\"\r\n key={index}\r\n >\r\n <ToolTip label={item.default}>\r\n <div\r\n className=\"w-[30px] h-[30px] m-1 border-[1px] border-[#000000]\"\r\n style={{ background: item.default }}\r\n // title={item.default}\r\n ></div>\r\n </ToolTip>\r\n <div className=\"mx-[10px] text-[#c2c2c2]\">\r\n <CgArrowRight />\r\n </div>\r\n <div className=\"flex flex-row border-[1px] border-[#D6D6D6]\">\r\n <span\r\n className=\" border-r-[1px] border-[#D6D6D6] bg-[#fce8eb]\"\r\n style={{ cursor: 'pointer' }}\r\n >\r\n {item.default === item.updated ? (\r\n <IconButton\r\n label=\"Select Color\"\r\n icon={<GiDrop />}\r\n className={\r\n '!rounded-none pointer-events-auto cursor-pointer flex text-[#E11A38] w-[30px] h-[30px] p-[6px]'\r\n }\r\n size=\"1.125rem\"\r\n ></IconButton>\r\n ) : (\r\n <ColorImpl\r\n className=\"w-[30px] h-[30px] m-2\"\r\n handleChange={onColorUpdate}\r\n property={item.property}\r\n color={item.updated}\r\n // onClose={onClosePalette}\r\n setDisplayPallet={setDisplayPallet}\r\n setPosition={setPosition}\r\n callback={onColorUpdate}\r\n />\r\n )}\r\n </span>\r\n\r\n <span\r\n className=\"py-[5px] pl-[10px] pr-[6px] font-medium text-[13px] bg-[#F1F1F1] cursor-pointer\"\r\n onClick={(event) => {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n onSelectColor(item, event);\r\n }}\r\n >\r\n Select Color\r\n </span>\r\n </div>\r\n <span className=\"\">\r\n <IconButton\r\n label=\"Delete Color\"\r\n icon={<MdOutlineCancel />}\r\n onClick={() => {\r\n onColorUpdate(item.property, 'transparent');\r\n }}\r\n className={\r\n 'pointer-events-auto cursor-pointer m-autoflex w-[30px] h-[30px] p-[9px] text-[#c2c2c2]'\r\n }\r\n size=\"1rem\"\r\n ></IconButton>\r\n </span>\r\n </div>\r\n ))}\r\n </div>\r\n\r\n {isNextClicked &&\r\n conflictColors &&\r\n conflictColors.length > 0 ? (\r\n <div\r\n style={{\r\n position: 'absolute',\r\n backgroundColor: '#FFFFFF',\r\n bottom: 0,\r\n padding: '7px',\r\n }}\r\n >\r\n <IconButton\r\n label=\"Close\"\r\n icon={<MdOutlineCancel />}\r\n onClick={() => {\r\n setIsNextClicked(false);\r\n }}\r\n className={''}\r\n size=\"1.5rem\"\r\n style={{\r\n position: 'absolute',\r\n cursor: 'pointer',\r\n fontWeight: 'bold',\r\n right: 10,\r\n top: -7,\r\n color: '#FF0000',\r\n }}\r\n ></IconButton>\r\n\r\n <div\r\n className=\"text-[#E11A38]\"\r\n style={{ fontWeight: 'bold', marginBottom: '3px' }}\r\n >\r\n ERROR: CONFLICT IN COLOR USED\r\n </div>\r\n <div\r\n className=\"text-[#E11A38]\"\r\n style={{ marginBottom: '3px' }}\r\n >\r\n Note: The following colors used are not available in\r\n Richardson color palette. Please edit the colors used.\r\n </div>\r\n <div>\r\n {conflictColors.map((c: any, i: number) => {\r\n return (\r\n <div\r\n key={'color-' + i}\r\n style={{\r\n width: '100%',\r\n height: '30px',\r\n lineHeight: '30px',\r\n backgroundColor: c.updated,\r\n textAlign: 'center',\r\n marginBottom: '3px',\r\n }}\r\n >\r\n <span\r\n style={{\r\n color: '#ffffff',\r\n mixBlendMode: 'difference',\r\n }}\r\n >\r\n {c.updated}\r\n </span>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n <div\r\n className=\"text-[#E11A38]\"\r\n style={{\r\n marginTop: '10px',\r\n marginBottom: '5px',\r\n fontWeight: 'bold',\r\n }}\r\n >\r\n Do you want to proceed?\r\n </div>\r\n\r\n <div className=\" flex flex-col content mb-[10px]\">\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setIsNextClicked(false);\r\n onContinue();\r\n }}\r\n className=\"mt-3 inline-flex w-full justify-center bg-white px-[110px] py-2 text-sm font-medium text-[#E11A38] shadow-sm ring-1 ring-inset ring-[#E11A38] hover:bg-gray-50 sm:mt-0 sm:w-auto\"\r\n >\r\n Yes\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setIsNextClicked(false);\r\n }}\r\n className=\"inline-flex w-full justify-center bg-white px-[110px] py-2 text-sm font-medium text-[#E11A38] shadow-sm ring-1 ring-inset ring-[#E11A38] hover:bg-gray-50 sm:mt-0 sm:w-auto\"\r\n style={{\r\n marginTop: '10px',\r\n }}\r\n >\r\n No\r\n </button>\r\n </div>\r\n </div>\r\n ) : (\r\n <div className=\" flex flex-col content mb-[5px]\">\r\n <button\r\n type=\"button\"\r\n onClick={popupCanvasContinue}\r\n className=\"mt-3 inline-flex w-full justify-center bg-white px-[110px] py-2 text-sm font-medium text-[#E11A38] shadow-sm ring-1 ring-inset ring-[#E11A38] hover:bg-gray-50 sm:mt-0 sm:w-auto\"\r\n >\r\n Continue\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={popupCanvasCancel}\r\n className=\"mt-3 inline-flex w-full justify-center bg-white px-[110px] py-2 text-sm font-medium text-[#E11A38] shadow-sm ring-1 ring-inset ring-[#E11A38] hover:bg-gray-50 sm:mt-0 sm:w-auto\"\r\n style={{\r\n marginTop: '10px',\r\n }}\r\n >\r\n Cancel\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n {/* </div> */}\r\n {displayPallet && displayPallet.visible && (\r\n <ColorPalette\r\n mainClass={`left-0`}\r\n handleColorChange={(color) => {\r\n displayPallet.callback(displayPallet.property, color);\r\n setDisplayPallet({\r\n visible: false,\r\n property: '',\r\n color: '',\r\n callback: null,\r\n });\r\n }}\r\n style={\r\n position\r\n ? {\r\n position: 'fixed',\r\n left: position.x - 450,\r\n top: position.y - 5,\r\n width: '450px',\r\n }\r\n : { display: 'none' }\r\n }\r\n />\r\n )}\r\n </>\r\n );\r\n};\r\n","import React, { useState } from 'react';\r\n\r\nimport FileUploadButton from './fileuploadButton';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { PopUpCanvas } from '../canvas/popUpCanvas';\r\n\r\nexport const UploadLogo = () => {\r\n const [, setSelectedFile] = useState<File | null>(null);\r\n const [\r\n tiffConvert,\r\n imageToSVG,\r\n setFile,\r\n uploadImageModalDisplay,\r\n // pdfConverter,\r\n aiConvert,\r\n // loadImageFromURL,\r\n ] = use3dddPlus(\r\n (state) => [\r\n state.tiffConvert,\r\n state.imageToSVG,\r\n state.setFile,\r\n state.uploadImageModalDisplay,\r\n // state.pdfConverter,\r\n state.aiConvert,\r\n // state.loadImageFromURL,\r\n ],\r\n shallow\r\n );\r\n const handleFileSelect = (file: File) => {\r\n setSelectedFile(file);\r\n setFile(file);\r\n svgConverter(file);\r\n // You can perform further actions with the selected file here.\r\n };\r\n\r\n const svgConverter = async (data) => {\r\n // canvas.discardActiveObject();\r\n const ext = data.name.substring(data.name.lastIndexOf('.') + 1);\r\n use3dddPlus.setState({ uploadImageModalDisplay: true });\r\n if (ext === 'svg') {\r\n imageToSVG(data, ext, true);\r\n }\r\n // else if (ext === 'pdf') {\r\n // let pdfData = await pdfConverter(data);\r\n // imageToSVG(pdfData, ext);\r\n // }\r\n else if (ext === 'tif' || ext === 'tiff') {\r\n const tiffData = await tiffConvert(data);\r\n imageToSVG(tiffData, ext);\r\n } else if (ext === 'ai' || ext === 'pdf') {\r\n // console.log(loadImageFromURL);\r\n use3dddPlus.setState({ loading: true });\r\n let aiToSvg = await aiConvert(data);\r\n // console.log(aiToSvg)\r\n fetch(aiToSvg.s3_file_url + '?timestamp=' + Date.now())\r\n .then((response) => response.text())\r\n .then((svgText) => {\r\n imageToSVG(svgText, ext, false, false);\r\n })\r\n .catch((ex) => {\r\n console.log(ex);\r\n use3dddPlus.setState({ loading: false });\r\n });\r\n } else {\r\n let objectURL = URL.createObjectURL(data);\r\n imageToSVG(objectURL, ext);\r\n }\r\n setSelectedFile(null);\r\n };\r\n return (\r\n <>\r\n <div className=\"bg-[#F7F7F7] absolute z-[5] w-[90%] h-full \">\r\n <div className=\"relative w-full h-full\">\r\n <div className=\"flex justify-center w-full h-full text-center\">\r\n <FileUploadButton onFileSelect={handleFileSelect} />\r\n </div>\r\n <div className=\"absolute md:bottom-[20px] bottom-[10px] px-[80px]\">\r\n <p className=\" text-[#E11A38] text-base font-bold\">\r\n Privacy Notice\r\n </p>\r\n <p className=\"text-[#727272] text-sm font-medium pt-2 pb-2\">\r\n Your uploaded images are safe, secure, and remain your property.\r\n By proceeding you acknowledge that you have full legal rights and\r\n permissions to use the images you upload.We reserve the right to\r\n reject any order.\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n {uploadImageModalDisplay && (\r\n <div className=\"bg-[#F7F7F7] absolute z-[5] w-[90%] h-full\">\r\n <PopUpCanvas />\r\n </div>\r\n )}\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nimport {\r\n SEARCHBAR_BORDER_COLOR,\r\n SEARCH_ICON_COLOR,\r\n TEXT_COLOR_1,\r\n TEXT_SIZE_3,\r\n} from '../../theme';\r\n\r\nexport interface SearchBarProps {\r\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\r\n onKeyPress?: (e: React.KeyboardEvent<HTMLDivElement>) => void;\r\n onPaste?: (e: React.ClipboardEvent<HTMLInputElement>) => void;\r\n placeholder?: string;\r\n searchBarMainClass?: string;\r\n value?: string;\r\n disabled?: boolean;\r\n}\r\nexport const Searchbar = ({\r\n onChange,\r\n onKeyPress,\r\n onPaste,\r\n placeholder,\r\n searchBarMainClass,\r\n value,\r\n disabled,\r\n}: SearchBarProps) => {\r\n return (\r\n <>\r\n <div\r\n className={`${searchBarMainClass} h-[40px] relative flex w-full flex-wrap items-stretch border border-solid ${SEARCHBAR_BORDER_COLOR} outline-none transition duration-200 ease-in-out focus:z-[3] focus:shadow-[inset_0_0_0_1px_rgb(212,212,212)] focus:outline-none bg-[#FFFFFF]`}\r\n >\r\n <input\r\n type=\"search\"\r\n className={`leading-[20px] relative m-0 -mr-0.5 block w-[1px] min-w-0 focus-visible:outline-0 flex-auto bg-transparent bg-clip-padding px-[15px] py-[10px] ${TEXT_SIZE_3} font-normal ${TEXT_COLOR_1} placeholder:${TEXT_SIZE_3} placeholder:${TEXT_COLOR_1} placeholder:leading-[20px] !border-0`}\r\n placeholder={placeholder}\r\n aria-label=\"Search\"\r\n aria-describedby=\"button-addon3\"\r\n value={value}\r\n onChange={onChange}\r\n onKeyPress={onKeyPress}\r\n disabled={disabled}\r\n onPaste={onPaste}\r\n onClick={(e) => {\r\n e.currentTarget.focus();\r\n }}\r\n />\r\n <span\r\n className={`flex justify-center items-center rounded-none pl-2 pr-[14px]`}\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n className={`h-5 w-5 ${SEARCH_ICON_COLOR}`}\r\n >\r\n <path d=\"M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { Input as InputImpl, InputHTMLProps } from 'reakit';\r\n\r\nexport const input = React.forwardRef<HTMLInputElement, InputHTMLProps>(\r\n (props, ref) => {\r\n return (\r\n <InputImpl\r\n // @ts-ignore\r\n ref={ref}\r\n {...props}\r\n className={`${props.className}`}\r\n />\r\n );\r\n }\r\n);\r\n","import React from 'react';\r\nimport { IconButton, RxCross2 } from '../icon';\r\nimport { BACKDROP_BLUR, BACKDROP_BLUR_BG_COLOR, SAVERACK_TEXT_COLOR } from '../../theme';\r\n\r\nexport interface GlobalModalProps {\r\n backdropStyle?: string;\r\n children?: React.ReactNode;\r\n contentStyle?: string;\r\n crossOnClick?: () => void;\r\n modalStyle?: string;\r\n}\r\n\r\nexport const Modal = ({\r\n backdropStyle,\r\n children,\r\n contentStyle,\r\n crossOnClick,\r\n modalStyle,\r\n}: GlobalModalProps) => {\r\n return (\r\n <div>\r\n <div\r\n className={`${backdropStyle} absolute top-0 left-0 h-screen w-full ${BACKDROP_BLUR} ${BACKDROP_BLUR_BG_COLOR}`}\r\n ></div>\r\n\r\n <dialog\r\n open\r\n className={`${contentStyle} absolute shadow-[0 2px 8px rgba(0, 0, 0, 0.26)] ml-[auto] md:mr-[0%] mr-[auto]`}\r\n >\r\n <IconButton\r\n label={''}\r\n icon={<RxCross2 strokeWidth={1} onClick={crossOnClick} />}\r\n className={\r\n `z-10 pointer-events-auto cursor-pointer ${SAVERACK_TEXT_COLOR} font-bold !absolute right-[0.6875rem] top-[0.6875rem] px-[0.75rem] py-[1.25rem] hover:bg-[#E11A38] hover:text-[#ffffff] hover:rounded-none`\r\n }\r\n size=\"1.2rem\"\r\n ></IconButton>\r\n <div\r\n className={`flex flex-col justify-center gap-[1.75rem] ${modalStyle}`}\r\n >\r\n {children}\r\n </div>\r\n </dialog>\r\n </div>\r\n );\r\n};\r\n","import React from 'react';\r\nexport interface ModalButtonsProps {\r\n buttonMainClass?: string;\r\n buttons?: {\r\n buttonClass?: string;\r\n label?: string;\r\n onClick?: () => void;\r\n style?: React.CSSProperties;\r\n }[];\r\n}\r\nexport const ModalButtons = ({ buttonMainClass, buttons }: ModalButtonsProps) => {\r\n return (\r\n <div\r\n className={`flex flex-col lg:flex-row gap-[1.5625rem] leading-[1.4375rem] font-bold ${buttonMainClass}`}\r\n >\r\n {buttons?.map((button, index) => (\r\n <button\r\n key={index}\r\n onClick={button.onClick}\r\n className={`w-full py-[0.7188rem] rounded-none font-bold uppercase ${button.buttonClass}`}\r\n style={button.style}\r\n >\r\n {button.label}\r\n </button>\r\n ))}\r\n </div>\r\n );\r\n};\r\n\r\n","import React from 'react';\r\nimport { HiOutlineDownload, IconButton } from '../icon';\r\n\r\nexport interface ModalDownLoadIconProps {\r\n downloadClass?: string;\r\n downloadIconClass?: string;\r\n iconClass?: string;\r\n pdfUrl?: string;\r\n}\r\nexport const ModalDownloadIcon = ({\r\n downloadClass,\r\n downloadIconClass,\r\n iconClass,\r\n pdfUrl,\r\n}: ModalDownLoadIconProps) => {\r\n return (\r\n <>\r\n <div className={`flex justify-center items-center`}>\r\n <a\r\n href={pdfUrl}\r\n download={'Design Sheet'}\r\n target=\"_blank\"\r\n className={`flex items-center cursor-pointer gap-[0.6875rem] font-bold ${downloadIconClass}`}\r\n >\r\n <IconButton\r\n label={''}\r\n icon={<HiOutlineDownload />}\r\n className={`pointer-events-auto ${iconClass}`}\r\n size=\"1.1rem\"\r\n ></IconButton>\r\n\r\n <span className={`uppercase ${downloadClass}`}>\r\n VIEW DESIGN SHEET\r\n </span>\r\n </a>\r\n </div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\n\r\nexport interface ModalHeadingProps {\r\n children?: React.ReactNode;\r\n headingStyle?: string;\r\n}\r\nexport const ModalHeading = ({ children, headingStyle }: ModalHeadingProps) => {\r\n return (\r\n <>\r\n <div\r\n className={`flex flex-col gap-[1.625rem] justify-center items-center text-center ${headingStyle}`}\r\n >\r\n {children}\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\n","import React from 'react';\r\n\r\nexport interface ModalLabelProps {\r\n children?: React.ReactNode;\r\n labelStyle?: string;\r\n}\r\nexport const ModalLabel = ({ children, labelStyle }: ModalLabelProps) => {\r\n return (\r\n <>\r\n <p className={`${labelStyle}`}>{children}</p>\r\n </>\r\n );\r\n};\r\n\r\n","import React from 'react';\r\nimport { IconButton } from '../icon';\r\n\r\nexport interface ModalStatusProps {\r\n icon?: JSX.Element;\r\n onIconClick?: () => void;\r\n children?: React.ReactNode;\r\n iconStyle?: string;\r\n}\r\nexport const ModalStatusIcon = ({\r\n icon,\r\n onIconClick,\r\n iconStyle,\r\n children,\r\n}: ModalStatusProps) => {\r\n return (\r\n <>\r\n <div className={`flex justify-center`} onClick={onIconClick}>\r\n <IconButton\r\n label={''}\r\n icon={icon}\r\n className={`pointer-events-auto cursor-pointer h-[auto] ${iconStyle}`}\r\n size=\"6.3rem\"\r\n ></IconButton>\r\n {children}\r\n </div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\n\r\nexport const SortAndFilterButton = ({\r\n label,\r\n icons,\r\n onClick,\r\n className,\r\n buttonLabelClass,\r\n}) => {\r\n return (\r\n <button\r\n onClick={onClick}\r\n className={`flex border border-[#EBEBEB] rounded-none gap-[31.5px] items-center p-2 shadow-[0px_7px_64px_rgba(0,0,0,0.07)] bg-[#FFFFFF] ${className}`}\r\n >\r\n <span className={`${buttonLabelClass}`}>{label}</span>\r\n <span>{icons}</span>\r\n </button>\r\n );\r\n};\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport { SortAndFilterButton } from './sortButton';\r\nimport { BsSortDown } from 'react-icons/bs';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\n\r\nexport const SortByDropdown = ({ sortOptions }) => {\r\n const [loadingLogo, logoSortBy, logoSortDir] = use3dddPlus(\r\n (state) => [state.loadingLogo, state.logoSortBy, state.logoSortDir],\r\n shallow\r\n );\r\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\r\n const dropdownRef = useRef(null);\r\n\r\n const toggleDropdown = () => {\r\n setIsDropdownOpen(!isDropdownOpen);\r\n };\r\n\r\n const closeDropdown = () => {\r\n setIsDropdownOpen(false);\r\n };\r\n\r\n useEffect(() => {\r\n const handleOutsideClick = (event) => {\r\n if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {\r\n closeDropdown();\r\n }\r\n };\r\n\r\n if (isDropdownOpen) {\r\n document.addEventListener('click', handleOutsideClick);\r\n }\r\n\r\n return () => {\r\n document.removeEventListener('click', handleOutsideClick);\r\n };\r\n }, [isDropdownOpen]);\r\n\r\n return (\r\n <div className=\"relative\" ref={dropdownRef}>\r\n <SortAndFilterButton\r\n onClick={toggleDropdown}\r\n label=\"Sort by\"\r\n icons={<BsSortDown size={'1.2rem'} />}\r\n buttonLabelClass={`hidden md:block`}\r\n className=\"py-[10px] px-[14.5px] text-[13px] leading-[16px] text-[#5d5d5d] font-bold\"\r\n />\r\n {isDropdownOpen && (\r\n <ul className=\"mt-[14px] shadow-[0px_7px_64px_rgba(0,0,0,0.07)] pt-[10px] dropdown-content w-[210px] md:right-0 bg-[#FFFFFF] flex flex-col absolute z-10 before:content-[''] before:absolute before:top-[-0.3125rem] before:h-[0.75rem] before:w-[0.75rem] before:bg-[white] before:rotate-45 md:before:right-[18px] md:before:left-[unset] before:left-[18px]\">\r\n {sortOptions.map((option) => (\r\n <li\r\n key={option.label}\r\n className={`${\r\n logoSortBy === option.sortBy &&\r\n logoSortDir === option.sortDir\r\n ? 'bg-[#fce8eb] text-[#e11a38]'\r\n : ''\r\n } cursor-pointer flex items-center hover:bg-[#fce8eb] hover:text-[#e11a38] py-[13px] px-[27.85px] border-b-[1px] last:border-b-0 border-[#F4F4F4] text-[14px] leading-[19px] text-[#353535] font-bold`}\r\n onClick={() => {\r\n toggleDropdown();\r\n loadingLogo(option.onClick());\r\n }}\r\n >\r\n {option.label}\r\n </li>\r\n ))}\r\n </ul>\r\n )}\r\n </div>\r\n );\r\n};\r\n","import { useState, useEffect } from 'react';\r\n\r\nexport const useDebounce = (value: any, milliSeconds: number) => {\r\n const [debouncedValue, setDebouncedValue] = useState(value);\r\n\r\n useEffect(() => {\r\n const handler = setTimeout(() => {\r\n setDebouncedValue(value);\r\n }, milliSeconds);\r\n\r\n return () => {\r\n clearTimeout(handler);\r\n };\r\n }, [value, milliSeconds]);\r\n\r\n return debouncedValue;\r\n};\r\n","import React, { useEffect, useState, useRef } from 'react';\r\nimport { Searchbar } from '../searchbar';\r\nimport { Card, CardMedia, CardBody, CardTitle, CardTags } from '../card';\r\nimport { SortByDropdown } from '../SortByDropdown';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { fabric } from 'fabric';\r\n// import { Loader } from '../loader';\r\nimport {\r\n BORDER_COLOR_3,\r\n SELECT_BG_COLOR,\r\n TAG_BG_COLOR,\r\n TEXT_SIZE_12,\r\n} from '../../theme';\r\nimport { BsCheckLg } from 'react-icons/bs';\r\nimport { useDebounce } from '../../hooks/debounce';\r\nexport interface LogoProps {\r\n logo_id: number;\r\n customer_id: string;\r\n tag: string;\r\n name: string;\r\n logo_config_url: string;\r\n logo_url: string;\r\n logo_svg_url: string;\r\n created_at: string;\r\n}\r\nexport const MyLogo = ({ onApply }) => {\r\n const [logoSelected, setLogoSelected] = React.useState<LogoProps>();\r\n const [scrollEnd, setScrollEnd] = useState(false);\r\n const [morePages, setMorePages] = useState(true);\r\n const myRef = useRef(null);\r\n const [\r\n retriveLogoDesign,\r\n myLogoHandler,\r\n loadingLogo,\r\n\r\n setLogoData,\r\n logoData,\r\n logoSearchText,\r\n ] = use3dddPlus(\r\n (state) => [\r\n state.retriveLogoDesign,\r\n state.myLogoHandler,\r\n state.loadingLogo,\r\n\r\n state.setLogoData,\r\n state.logoData,\r\n state.logoSearchText,\r\n ],\r\n shallow\r\n );\r\n const debouncedSearchText = useDebounce(logoSearchText, 300);\r\n const handleSearchChange = (e) => {\r\n use3dddPlus.setState({\r\n logoSearchText: e.currentTarget.value,\r\n logoPageNo: 1,\r\n retriveLogoDesign: [],\r\n });\r\n setMorePages(true);\r\n };\r\n\r\n useEffect(() => {\r\n loadingLogo(debouncedSearchText);\r\n }, [debouncedSearchText]);\r\n\r\n useEffect(() => {\r\n loadingLogo('');\r\n setMorePages(true);\r\n }, []);\r\n\r\n const handleScroll = React.useCallback(() => {\r\n if (!myRef?.current) return;\r\n if (scrollEnd) return;\r\n const scrollY = myRef.current.scrollTop;\r\n const height = myRef.current.clientHeight;\r\n const scrollHeight = myRef.current.scrollHeight;\r\n const tolerance = 10;\r\n if (scrollY + height + tolerance >= scrollHeight) {\r\n setScrollEnd(true);\r\n } else if (scrollY + height + tolerance < scrollHeight) {\r\n setScrollEnd(false);\r\n }\r\n }, [myRef, scrollEnd]);\r\n const fetchData = async () => {\r\n try {\r\n use3dddPlus.setState((state) => ({\r\n logoPageNo: state.logoPageNo + 1,\r\n }));\r\n const result = await loadingLogo('');\r\n if (result.length === 0) {\r\n setScrollEnd(false);\r\n setMorePages(false);\r\n return;\r\n }\r\n if (use3dddPlus.getState().logoPageNo === 1) {\r\n use3dddPlus.setState({\r\n retriveLogoDesign: result,\r\n });\r\n } else if (use3dddPlus.getState().logoPageNo > 1) {\r\n use3dddPlus.setState((state) => {\r\n const updatedState = {\r\n retriveLogoDesign: [...state.retriveLogoDesign, ...result],\r\n };\r\n return updatedState;\r\n });\r\n }\r\n setScrollEnd(false);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n };\r\n useEffect(() => {\r\n if (scrollEnd && morePages) {\r\n setTimeout(async () => {\r\n await fetchData();\r\n }, 700);\r\n }\r\n }, [scrollEnd]);\r\n const sortOptions = [\r\n {\r\n label: 'NEWEST',\r\n sortBy: 'updated_at',\r\n sortDir: 'DESC',\r\n onClick: () => {\r\n setScrollEnd(false);\r\n use3dddPlus.setState({\r\n logoPageNo: 1,\r\n logoSortBy: 'updated_at',\r\n logoSortDir: 'DESC',\r\n });\r\n setMorePages(true);\r\n },\r\n },\r\n {\r\n label: 'OLDEST',\r\n sortBy: 'updated_at',\r\n sortDir: 'ASC',\r\n onClick: () => {\r\n setScrollEnd(false);\r\n use3dddPlus.setState({\r\n logoPageNo: 1,\r\n logoSortBy: 'updated_at',\r\n logoSortDir: 'ASC',\r\n });\r\n setMorePages(true);\r\n },\r\n },\r\n {\r\n label: 'A TO Z',\r\n sortBy: 'name',\r\n sortDir: 'ASC',\r\n onClick: () => {\r\n setScrollEnd(false);\r\n use3dddPlus.setState({\r\n logoPageNo: 1,\r\n logoSortBy: 'name',\r\n logoSortDir: 'ASC',\r\n });\r\n setMorePages(true);\r\n },\r\n },\r\n {\r\n label: 'Z TO A',\r\n sortBy: 'name',\r\n sortDir: 'DESC',\r\n onClick: () => {\r\n setScrollEnd(false);\r\n use3dddPlus.setState({\r\n logoPageNo: 1,\r\n logoSortBy: 'name',\r\n logoSortDir: 'DESC',\r\n });\r\n setMorePages(true);\r\n },\r\n },\r\n ];\r\n const handleEditLogo = (logo) => {\r\n fabric.Object.prototype.hasControls = true;\r\n fabric.Object.prototype.hasBorders = true;\r\n if (logo) {\r\n use3dddPlus.setState({\r\n logoSearchText: '',\r\n logoSortBy: 'updated_at',\r\n logoSortDir: 'DESC',\r\n logoPageNo: 1,\r\n logoPageSize: 14,\r\n });\r\n myLogoHandler(logo);\r\n setLogoSelected(logo);\r\n }\r\n };\r\n const handleApplyLogo = (logo) => {\r\n if (logo) {\r\n use3dddPlus.setState({\r\n logoSearchText: '',\r\n logoSortBy: 'updated_at',\r\n logoSortDir: 'DESC',\r\n logoPageNo: 1,\r\n logoPageSize: 14,\r\n });\r\n onApply();\r\n setLogoSelected(logo);\r\n }\r\n };\r\n return (\r\n <>\r\n <div className=\"bg-[#F7F7F7] absolute z-100 w-[90%] h-full pr-[56px]\">\r\n <div className=\" w-full flex mt-[50px] flex-row\">\r\n <div className=\"flex gap-4 justify-end w-full md:justify-end \">\r\n <SortByDropdown sortOptions={sortOptions} />\r\n <div className=\" w-full sm:w-[60%] md:w-[65%] lg:w-[50%] xl:w-[40%] \">\r\n <Searchbar\r\n value={logoSearchText}\r\n placeholder={'Search by Logo name or tags'}\r\n searchBarMainClass={`!h-[40px] border border-[#BEBEBE]`}\r\n onChange={handleSearchChange}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n className={`flex ml-[33px] mt-[30px] overflow-y-auto h-[60vh] overflow-x-hidden pr-[33px]`}\r\n onScroll={handleScroll}\r\n ref={myRef}\r\n >\r\n <div className=\"max-h-[140px] grid gap-[2vw] grid-cols-3 md:grid-cols-4 lg:grid-cols-4 xl:grid-cols-5 2xl:grid-cols-6 w-full \">\r\n {retriveLogoDesign.length > 0\r\n ? retriveLogoDesign.map((logo: LogoProps) => (\r\n <>\r\n {/* {logo.logo_svg_url && ( */}\r\n <Card\r\n cardClass={`rounded-none !bg-transparent cursor-pointer max-w-[220px] border ${\r\n logoSelected?.logo_id === logo.logo_id\r\n ? BORDER_COLOR_3\r\n : 'border-none '\r\n }`}\r\n // style={{ boxShadow: '0px 0px 6px #98989829' }}\r\n onClick={() => {\r\n if (logo) {\r\n setLogoData(logo);\r\n setLogoSelected(logo);\r\n }\r\n }}\r\n >\r\n <CardMedia\r\n src={\r\n logo.logo_url\r\n }\r\n imageClass=\"w-full h-[220px] bg-white shadow-md\"\r\n />\r\n\r\n <CardBody bodyClass=\"p-2.5 self-start grow-0\">\r\n <CardTitle\r\n titleClass={`text-[15px] text-[#353535] font-bold uppercase break-all text-left items-left`}\r\n name={logo.name}\r\n />\r\n <div className=\"flex gap-2 flex-wrap\">\r\n {logo?.tag &&\r\n logo?.tag\r\n ?.split(',')\r\n ?.filter(Boolean)\r\n ?.map((item) => (\r\n <CardTags\r\n key={`design-tag-${item}`}\r\n tagsClass={`h-[1.5rem] ${TAG_BG_COLOR}`}\r\n >\r\n <div className={`${TEXT_SIZE_12}`}>\r\n {item}\r\n </div>\r\n </CardTags>\r\n ))}\r\n </div>\r\n\r\n {logoSelected?.logo_id === logo.logo_id && (\r\n <div className=\"w-9 overflow-hidden inline-block absolute left-0 top-0\">\r\n <div\r\n className={`h-16 rotate-45 transform origin-top-right ${SELECT_BG_COLOR}`}\r\n ></div>\r\n <span className=\"absolute top-1 left-1\">\r\n <BsCheckLg\r\n size={15}\r\n color=\"white\"\r\n style={{ strokeWidth: '0.5' }}\r\n />\r\n </span>\r\n </div>\r\n )}\r\n </CardBody>\r\n </Card>\r\n {/* )} */}\r\n </>\r\n ))\r\n : 'No Saved Mascots'}\r\n </div>\r\n </div>\r\n <div className={`flex gap-[24px] h-[48px] mt-[26px] float-right`}>\r\n <button\r\n className={`border border-[#353535] w-[160px] p-3 font-bold ${\r\n !logoSelected && 'opacity-70'\r\n }`}\r\n onClick={() => handleEditLogo(logoData)}\r\n >\r\n Edit\r\n </button>\r\n <button\r\n disabled={!logoSelected}\r\n onClick={() => handleApplyLogo(logoData)}\r\n className={`border p-3 w-[160px] ${\r\n logoSelected\r\n ? 'bg-[#e11a38] border-[#e11a38] text-white font-bold '\r\n : 'bg-[#e11a38] border-[#e11a38] text-white font-bold opacity-70'\r\n }`}\r\n >\r\n Apply\r\n </button>\r\n </div>\r\n </div>\r\n </>\r\n );\r\n};\r\n","import React, { useEffect } from 'react';\r\n//import { StepperTypes } from '../../store/actions/types';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport {\r\n SELECT_BG_COLOR,\r\n //BORDER_COLOR,\r\n TEXT_SIZE_1,\r\n TEXT_SIZE_2,\r\n SELECT_TEXT_COLOR,\r\n BUTTON_TEXT_COLOR,\r\n TEXT_COLOR_1,\r\n INPUT_TEXT_DISABLE_COLOR,\r\n} from '../../theme';\r\nimport { AddText, IconButton, MyLogo, RLogo } from '../icon';\r\nimport { MdOutlineFileUpload } from 'react-icons/md';\r\nimport { BiSolidColorFill } from 'react-icons/bi';\r\nimport { FaRegImage } from 'react-icons/fa6';\r\n\r\nexport const LeftMenu = () => {\r\n const [\r\n setSelectedStepper,\r\n selectedStepper,\r\n addText,\r\n getStockLogos,\r\n loadingLogo,\r\n setDisplayProductColor,\r\n hasUploadScreen,\r\n ] = use3dddPlus(\r\n (state) => [\r\n state.setSelectedStepper,\r\n state.selectedStepper,\r\n state.addText,\r\n state.getStockLogos,\r\n state.loadingLogo,\r\n state.setDisplayProductColor,\r\n state.hasUploadScreen,\r\n ],\r\n shallow\r\n );\r\n const StepperList = [\r\n {\r\n name: 'Upload File',\r\n icon: <MdOutlineFileUpload />,\r\n id: 1,\r\n display: true,\r\n },\r\n {\r\n name: 'My Logos',\r\n icon: <MyLogo />,\r\n id: 2,\r\n display: true,\r\n },\r\n {\r\n name: 'Add Text',\r\n icon: <AddText />,\r\n id: 3,\r\n display: true,\r\n },\r\n {\r\n name: 'Add Mascots',\r\n icon: <FaRegImage />,\r\n id: 4,\r\n display: true,\r\n },\r\n {\r\n name: 'product Color',\r\n icon: <BiSolidColorFill />,\r\n id: 5,\r\n display: true,\r\n },\r\n ];\r\n\r\n useEffect(() => {\r\n return () => {};\r\n }, []);\r\n\r\n return (\r\n <div className=\"flex flex-row md:flex-col\">\r\n <div\r\n className={` flex flex-row md:flex-col sticky md:relative md:w-[100%] md:max-w-[100%]`}\r\n style={{ boxShadow: '0px 0px 6px #98989829' }}\r\n >\r\n <div\r\n className={`bg-[#CB1732] flex justify-center cursor-pointer px-2.5 py-4 `}\r\n >\r\n <div className=\" flex flex-col items-center justify-center\">\r\n <span className={` ${TEXT_SIZE_2} py-2`}>\r\n <IconButton\r\n label={''}\r\n icon={<RLogo />}\r\n size=\"2rem\"\r\n className={`${TEXT_COLOR_1} pointer-events-auto cursor-pointer m-auto`}\r\n ></IconButton>\r\n </span>\r\n <span\r\n className={`${SELECT_TEXT_COLOR} ${TEXT_SIZE_1} uppercase font-bold text-center`}\r\n >\r\n Logo Designer\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n className={` flex h-[100%] flex-row md:flex-col sticky md:relative md:w-[100%] md:max-w-[100%]`}\r\n style={{ boxShadow: '0px 0px 6px #98989829' }}\r\n >\r\n {StepperList?.map((step) => (\r\n <div\r\n className={\r\n step.id === selectedStepper\r\n ? `${SELECT_BG_COLOR} flex justify-center cursor-pointer px-2.5 py-4 `\r\n : 'flex justify-center px-2.5 py-4 ' +\r\n (hasUploadScreen\r\n ? ''\r\n : 'cursor-pointer group hover:bg-[#e11a38]')\r\n }\r\n key={step.id}\r\n style={!step.display ? { display: 'none' } : {}}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n if (!hasUploadScreen) {\r\n setSelectedStepper(step.id);\r\n if (step.id === 3) {\r\n addText();\r\n }\r\n if (step.id === 4) {\r\n getStockLogos();\r\n }\r\n if (step.id === 2) {\r\n loadingLogo('');\r\n }\r\n if (step.id === 5) {\r\n setDisplayProductColor();\r\n }\r\n }\r\n }}\r\n >\r\n <div\r\n className={`flex flex-col items-center justify-center gap-1 ${\r\n hasUploadScreen ? '' : 'group-hover:bg-[#e11a38]'\r\n }`}\r\n >\r\n <span\r\n className={\r\n step.id === selectedStepper\r\n ? ` ${TEXT_SIZE_2} py-2`\r\n : ` ${TEXT_SIZE_2} py-2`\r\n }\r\n >\r\n <IconButton\r\n label={''}\r\n icon={step.icon}\r\n size=\"2rem\"\r\n className={`${\r\n step.id === selectedStepper\r\n ? BUTTON_TEXT_COLOR\r\n : hasUploadScreen\r\n ? INPUT_TEXT_DISABLE_COLOR\r\n : TEXT_COLOR_1\r\n } pointer-events-auto m-auto group-active:text-white ${\r\n hasUploadScreen\r\n ? ''\r\n : 'cursor-pointer group-hover:text-white'\r\n }`}\r\n ></IconButton>\r\n </span>\r\n <span\r\n className={\r\n step.id === selectedStepper\r\n ? `${SELECT_TEXT_COLOR} ${TEXT_SIZE_1} uppercase font-bold text-center`\r\n : `${\r\n hasUploadScreen\r\n ? INPUT_TEXT_DISABLE_COLOR\r\n : TEXT_COLOR_1\r\n } ${TEXT_SIZE_1} uppercase font-bold text-center ${\r\n hasUploadScreen ? '' : 'group-hover:text-white'\r\n }`\r\n }\r\n >\r\n {step.name}\r\n </span>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n};\r\n","import React from 'react';\r\nimport './loader.css';\r\n\r\nexport const Loader = ({ position = 'overlay', height = '100%' }) => {\r\n const loaderRef = React.useRef<any>();\r\n React.useEffect(() => {\r\n if (!loaderRef) return;\r\n loaderRef.current.style.height = height;\r\n }, [loaderRef]);\r\n return (\r\n <section\r\n ref={loaderRef}\r\n id=\"ls\"\r\n style={\r\n position === 'overlay'\r\n ? { position: 'absolute', opacity: 0.8, top: 0 }\r\n : {}\r\n }\r\n className=\"w-full h-full\"\r\n >\r\n <div id=\"l\"></div>\r\n </section>\r\n );\r\n};\r\n","import React from 'react';\r\nexport const UpIcon = ({ disabled }) => {\r\n return (\r\n <div className=\"m-auto upIcon\">\r\n <svg\r\n fill={disabled ? '#cfcccc' : '#9a9a9a'}\r\n height=\"25px\"\r\n width=\"25px\"\r\n version=\"1.1\"\r\n id=\"Layer_1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 512 512\"\r\n >\r\n <g>\r\n <g>\r\n <g>\r\n <path d=\"M0,0v512h512V0H0z M469.333,469.333H42.667V42.667h426.667V469.333z\" />\r\n <path d=\"M121.752,335.085L256,200.837l134.248,134.248c8.331,8.331,21.839,8.331,30.17,0c8.331-8.331,8.331-21.839,0-30.17 L271.085,155.582c-8.331-8.331-21.839-8.331-30.17,0L91.582,304.915c-8.331,8.331-8.331,21.839,0,30.17 S113.42,343.416,121.752,335.085z\" />\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n );\r\n};\r\n\r\nexport const DownIcon = ({ disabled }) => {\r\n return (\r\n <div className=\"m-auto downIcon\">\r\n <svg\r\n transform=\"rotate(180)\"\r\n fill={disabled ? '#cfcccc' : '#9a9a9a'}\r\n height=\"25px\"\r\n width=\"25px\"\r\n version=\"1.1\"\r\n id=\"Layer_1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 512 512\"\r\n >\r\n <g>\r\n <g>\r\n <g>\r\n <path d=\"M0,0v512h512V0H0z M469.333,469.333H42.667V42.667h426.667V469.333z\" />\r\n <path d=\"M121.752,335.085L256,200.837l134.248,134.248c8.331,8.331,21.839,8.331,30.17,0c8.331-8.331,8.331-21.839,0-30.17 L271.085,155.582c-8.331-8.331-21.839-8.331-30.17,0L91.582,304.915c-8.331,8.331-8.331,21.839,0,30.17 S113.42,343.416,121.752,335.085z\" />\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n );\r\n};\r\n\r\nexport const DeleteIcon = () => {\r\n return (\r\n <div className=\"m-auto upIcon\">\r\n <svg\r\n width=\"25px\"\r\n height=\"25px\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M10 11V17\"\r\n stroke=\"#9a9a9a\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M14 11V17\"\r\n stroke=\"#9a9a9a\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M4 7H20\"\r\n stroke=\"#9a9a9a\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M6 7H12H18V18C18 19.6569 16.6569 21 15 21H9C7.34315 21 6 19.6569 6 18V7Z\"\r\n stroke=\"#9a9a9a\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M9 5C9 3.89543 9.89543 3 11 3H13C14.1046 3 15 3.89543 15 5V7H9V5Z\"\r\n stroke=\"#9a9a9a\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { use3dddPlus } from '../../store';\r\nimport { DeleteIcon, UpIcon, DownIcon } from './icons';\r\n\r\ninterface LayersProps {\r\n canvas: any;\r\n onSave: () => void;\r\n}\r\n\r\ninterface StoreObject {\r\n id: string;\r\n icon: string;\r\n text?: string;\r\n}\r\n\r\nexport const Layers: React.FC<LayersProps> = ({ canvas, onSave }) => {\r\n const [storeAllObject] = use3dddPlus(\r\n (state) => [state.storeAllObject],\r\n shallow\r\n );\r\n\r\n const removeItem = (value: StoreObject) => {\r\n const index = use3dddPlus\r\n .getState()\r\n .storeAllObject.findIndex((obj: StoreObject) => obj.id === value.id);\r\n if (index > -1) {\r\n use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n }\r\n use3dddPlus.setState({\r\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\r\n });\r\n };\r\n\r\n const deleteElement = (item: StoreObject) => {\r\n if (canvas._objects) {\r\n canvas._objects.forEach((obj: any) => {\r\n if (obj.id === item.id) {\r\n canvas.remove(obj);\r\n }\r\n });\r\n }\r\n canvas.requestRenderAll();\r\n use3dddPlus.getState().updateModifaction(true);\r\n removeItem(item);\r\n };\r\n\r\n const changeArr = (arr: any[], fromIndex: number, toIndex: number) => {\r\n const element = arr.splice(fromIndex, 1)[0];\r\n arr.splice(toIndex, 0, element);\r\n return arr;\r\n };\r\n\r\n const layerHandle = (\r\n element: StoreObject,\r\n index: number,\r\n direction: 'plus' | 'minus'\r\n ) => {\r\n const currentObject = [...use3dddPlus.getState().storeAllObject];\r\n if (direction === 'minus') {\r\n canvas.sendBackwards(element);\r\n use3dddPlus.setState({\r\n storeAllObject: changeArr(currentObject, index, index + 1),\r\n });\r\n } else {\r\n canvas.bringForward(element);\r\n use3dddPlus.setState({\r\n storeAllObject: changeArr(currentObject, index, index - 1),\r\n });\r\n }\r\n canvas.sendToBack(use3dddPlus.getState().verticalLine);\r\n canvas.sendToBack(use3dddPlus.getState().horizontalLine);\r\n use3dddPlus.getState().updateModifaction(true);\r\n };\r\n\r\n return (\r\n <div className=\"flex flex-col w-full h-full\">\r\n <div className=\"flex flex-col flex-1 w-full gap-2 overflow-y-auto\">\r\n {storeAllObject.map((item, index) => (\r\n <div\r\n key={item.id}\r\n className=\"!flex-col border border-[#D7D7D7] h-20 flex justify-between items-center flex-wrap md:flex-nowrap\"\r\n >\r\n <div className=\"border-r border-[#D7D7D7] bg-slate-200 w-20 h-20 flex items-center justify-center flex-shrink-0\">\r\n <img\r\n className={`rounded-lg p-2 ${\r\n item.text ? 'object-contain' : ''\r\n }`}\r\n style={{ height: 'auto', width: 'auto', margin: 'auto' }}\r\n src={item.icon}\r\n alt=\"icon\"\r\n />\r\n </div>\r\n <button\r\n onClick={() => deleteElement(item)}\r\n className=\"flex items-center justify-center flex-auto w-full h-full\"\r\n >\r\n <DeleteIcon />\r\n </button>\r\n <div className=\"flex flex-col items-center justify-between flex-shrink-0 w-10\">\r\n <button\r\n disabled={index === 0}\r\n onClick={() => layerHandle(item, index, 'plus')}\r\n className=\"w-full h-9\"\r\n >\r\n <UpIcon disabled={index === 0} />\r\n </button>\r\n <button\r\n disabled={index === storeAllObject.length - 1}\r\n onClick={() => layerHandle(item, index, 'minus')}\r\n className=\"w-full h-9\"\r\n >\r\n <DownIcon\r\n disabled={index === storeAllObject.length - 1}\r\n // className=\"pointer-events-none\"\r\n />\r\n </button>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n <div className=\"flex flex-col w-full h-[10%]\">\r\n <button\r\n type=\"button\"\r\n className=\"m-auto bg-white py-2 text-sm font-medium text-[#E11A38] w-full ring-1 ring-inset ring-[#E11A38] hover:bg-[#E11A38] hover:text-white transition-colors duration-200\"\r\n onClick={onSave}\r\n >\r\n Save\r\n </button>\r\n </div>\r\n </div>\r\n\r\n // <div className=\"relative flex flex-col justify-between flex-1 h-full px-3 overflow-x-hidden\">\r\n // <div className=\"flex flex-col gap-1 overflow-y-auto\">\r\n // {storeAllObject.map((item, index) => (\r\n // <div\r\n // key={item.id}\r\n // className=\"innerLayer border border-[#D7D7D7] my-4 h-20 flex justify-between \"\r\n // >\r\n // <div className=\"imgBox border-r border-[#D7D7D7] bg-slate-200 flex w-20\">\r\n // <img\r\n // className={`rounded-lg p-2 ${item.text ? 'object-contain' : ''}`}\r\n // style={{ height: 'auto', width: 'auto', margin: 'auto' }}\r\n // src={item.icon}\r\n // alt=\"icon\"\r\n // />\r\n // </div>\r\n // <div className=\"flex-auto\">\r\n // <button\r\n // onClick={() => deleteElement(item)}\r\n // className=\"w-full h-full\"\r\n // >\r\n // <div className=\"flex justify-center pointer-events-none\">\r\n // <DeleteIcon />\r\n // </div>\r\n // </button>\r\n // </div>\r\n // <div className=\"flex flex-col justify-between w-10\">\r\n // <button\r\n // disabled={index === 0}\r\n // onClick={() => layerHandle(item, index, 'plus')}\r\n // >\r\n // <div className=\"flex justify-center pointer-events-none h-9\">\r\n // <UpIcon disabled={index === 0} />\r\n // </div>\r\n // </button>\r\n // <button\r\n // disabled={index === storeAllObject.length - 1}\r\n // onClick={() => layerHandle(item, index, 'minus')}\r\n // >\r\n // <div className=\"flex justify-center pointer-events-none h-9\">\r\n // <DownIcon disabled={index === storeAllObject.length - 1} />\r\n // </div>\r\n // </button>\r\n // </div>\r\n // </div>\r\n // ))}\r\n // </div>\r\n\r\n // <button\r\n // type=\"button\"\r\n // className=\"mt-3 bg-white py-2 text-sm font-medium text-[#E11A38] w-full ring-1 ring-inset ring-[#E11A38] absolute bottom-0 left-0 right-0\"\r\n // onClick={onSave}\r\n // >\r\n // Save\r\n // </button>\r\n // </div>\r\n );\r\n};\r\n","export const fontFamilies = [\r\n {\r\n name: 'Accel',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/accelerator_richardson.woff',\r\n },\r\n {\r\n name: 'Athletic Block',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/athletic.ttf',\r\n },\r\n {\r\n name: 'Ballpark',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/ballpark.TTF ',\r\n },\r\n {\r\n name: 'BebasKai',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/BebasKai.otf',\r\n },\r\n {\r\n name: 'Beton CG ExtraBold',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/Beton_CG_ExtraBold_Regular.otf',\r\n },\r\n {\r\n name: 'Brush Script',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/brush-script-3.ttf',\r\n },\r\n {\r\n name: 'Century',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/richcent.woff',\r\n },\r\n {\r\n name: 'City Block',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/cityb.woff',\r\n },\r\n {\r\n name: 'Condensed Block',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/aoalpha0.woff',\r\n },\r\n {\r\n name: 'Copper',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/copgothb.woff',\r\n },\r\n {\r\n name: 'Eupo Block',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/handgotb.woff',\r\n },\r\n {\r\n name: 'Full Block',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/full_block.woff',\r\n },\r\n {\r\n name: 'Heritage',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/bebaskai-regular.woff',\r\n },\r\n {\r\n name: 'LakesightPersonalUseOnly',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/SocietyEditor_Personal_Use.ttf',\r\n },\r\n {\r\n name: 'Machine',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/machinen.woff',\r\n },\r\n {\r\n name: 'Magento',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/magnetob.woff',\r\n },\r\n {\r\n name: 'Niramit Extrabold',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/Niramit-Bold.ttf',\r\n },\r\n\r\n {\r\n name: 'Plain',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/plain.woff',\r\n },\r\n {\r\n name: 'Pro Block',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/pro_block.woff',\r\n },\r\n {\r\n name: 'Puff',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/new.woff',\r\n },\r\n {\r\n name: 'SocietyEditorPersonalUse',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/SocietyEditor_Personal_Use.ttf',\r\n },\r\n {\r\n name: 'Square',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/sqr721be.woff',\r\n },\r\n {\r\n name: 'Swiss Condensed',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/swz721bc.woff',\r\n },\r\n {\r\n name: 'Tiffany',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/tiffany.woff',\r\n },\r\n {\r\n name: 'Times',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/timesrich.woff',\r\n },\r\n {\r\n name: 'Uni Script',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/scrpjet2.woff',\r\n },\r\n];\r\nexport const textShapes = [\r\n {\r\n name: 'None',\r\n src: '',\r\n },\r\n {\r\n name: 'Arc',\r\n src: '',\r\n },\r\n {\r\n name: 'Bridge',\r\n src: '',\r\n },\r\n {\r\n name: 'Bowtie',\r\n src: '',\r\n },\r\n {\r\n name: 'Vertical Arch',\r\n src: '',\r\n },\r\n {\r\n name: 'Reverse Vertical Arch',\r\n src: '',\r\n },\r\n];\r\n\r\nexport const tabs = [\r\n { id: 1, label: 'Properties' },\r\n { id: 2, label: 'Layers' },\r\n];\r\n\r\n\r\nexport const warpTypes: { [key: string]: string } = {\r\n None: '',\r\n Arc: 'WARP_ARC',\r\n Bridge: 'WARP_ARC_LOWER',\r\n Bowtie: 'WARP_BULGE',\r\n 'Vertical Arch': 'WARP_ARCH',\r\n 'Reverse Vertical Arch': 'WARP_ARCH',\r\n};\r\n\r\nexport const textProperties = [\r\n 'pathData',\r\n 'colorFill',\r\n 'id',\r\n 'shapeSize',\r\n 'shapeType',\r\n 'fill',\r\n 'fontFamily',\r\n 'fontWeight',\r\n 'stroke',\r\n 'strokeWidth',\r\n 'padding',\r\n 'fontSize',\r\n 'charSpacing',\r\n 'textAlign',\r\n 'fontStyle',\r\n 'text',\r\n];","import React from 'react';\r\n\r\nconst errorPopup = ({ allColor }) => {\r\n return (\r\n <>\r\n <div className=\"errorPanel flex z-[100] w-full py-[20px]\">\r\n <div className=\"text-[#E11A38] text-[16px] font-size-[14px] font-bold flex-col\">\r\n <span className=\"flex\">COLORS IN DESIGN ({allColor.length})</span>\r\n <span className=\"flex\">\r\n MAX COLORS EXCEEDED, REDUCE THE TOTAL COLOR COUNT TO 8 OR FEWER\r\n COLORS PER SIDE.\r\n </span>\r\n {/* <div className=\"flex mt-3\">\r\n {allColor?.map((item) => {\r\n return (\r\n <div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group mr-[16px]`}\r\n style={{ backgroundColor: item }}\r\n />\r\n );\r\n })} */}\r\n {/*<div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group bg-[#000000] mr-[16px]`}\r\n />\r\n <div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group bg-[#ffffff] mr-[16px]`}\r\n />\r\n <div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group bg-[#DE802E] mr-[16px]`}\r\n />\r\n <div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group bg-[#D13F42] mr-[16px]`}\r\n />\r\n <div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group bg-[#DE802E] mr-[16px]`}\r\n />\r\n <div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group bg-[#D13F42] mr-[16px]`}\r\n />\r\n <div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group bg-[#010101] mr-[16px]`}\r\n />\r\n <div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group bg-[#BBBBBB] mr-[16px]`}\r\n />\r\n <div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group bg-[#E4BB30] mr-[16px]`}\r\n /> */}\r\n {/* </div> */}\r\n </div>\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nexport default errorPopup;\r\n","import React, { } from 'react';\r\nimport { FiAlignLeft, FiAlignCenter, FiAlignRight } from 'react-icons/fi';\r\nimport {\r\n INPUT_BG_COLOR,\r\n TEXT_COLOR_1,\r\n TEXT_SIZE_3,\r\n BORDER_COLOR_1,\r\n SELECT_BG_COLOR,\r\n} from '../../theme';\r\nimport { ColorImpl } from '../colorPallet';\r\nimport {\r\n fontFamilies,\r\n textShapes,\r\n} from './constants';\r\n\r\nexport const TextProperties = ({\r\n textInfo,\r\n onTextChange,\r\n textSelected,\r\n fontChange,\r\n textStyle,\r\n activeSelection,\r\n setDisplayPallet,\r\n setPosition,\r\n textColorChange,\r\n fontStyle,\r\n textAlignDisplay,\r\n activeButton,\r\n textAlignHandler,\r\n textOutlineHandler,\r\n strokeColorChange,\r\n textSpacingHandler,\r\n textShapeChange,\r\n shapeSizeVal,\r\n textShapeSizeHandler,\r\n}) => {\r\n return (\r\n <div className=\"\">\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">Enter Text</div>\r\n <textarea\r\n value={textInfo}\r\n onChange={onTextChange}\r\n className=\"w-[100%] border border-solid-[1px] border-[#9A9A9A] py-[10px] pl-[16px] mb-[16.5px]\"\r\n placeholder=\"LOGO TEXT\"\r\n />\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">Select Font</div>\r\n <select\r\n name=\"FontStyleNumber\"\r\n id=\"FontStyleNumber\"\r\n value={textSelected.fontFamily}\r\n onChange={fontChange}\r\n className={`${INPUT_BG_COLOR} font-bold ${TEXT_COLOR_1} ${TEXT_SIZE_3} border border-solid\t ${BORDER_COLOR_1} select select-bordered w-full rounded-none focus:outline-offset-0 focus:rounded-sm mb-[16.5px]`}\r\n >\r\n {fontFamilies.map((list) => {\r\n return (\r\n <>\r\n <option value={list.name}>{list.name}</option>\r\n </>\r\n );\r\n })}\r\n </select>\r\n\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">Style</div>\r\n <div className=\"flex gap-x-[15px] mb-[16.5px]\">\r\n {' '}\r\n <button\r\n disabled={\r\n textSelected &&\r\n textSelected.shapeType &&\r\n textSelected.shapeType !== 'none'\r\n }\r\n className={\r\n textSelected.fontWeight === 'bold'\r\n ? `${SELECT_BG_COLOR} text-[#fff] text-base cursor-pointer border font-bold border-[#EBEBEB] py-[7px] px-[25px] `\r\n : 'bg-[#fff] font-bold text-base cursor-pointer border border-[#EBEBEB] py-[7px] px-[25px]'\r\n }\r\n style={\r\n textSelected &&\r\n textSelected.shapeType &&\r\n textSelected.shapeType !== 'none'\r\n ? {\r\n color: '#cccccc',\r\n cursor: 'default',\r\n backgroundColor: '#ffffff',\r\n }\r\n : {}\r\n }\r\n onClick={(e) => textStyle(e, 'fontWeight', 'bold')}\r\n id=\"bold\"\r\n >\r\n B\r\n </button>\r\n <button\r\n disabled={\r\n textSelected &&\r\n textSelected.shapeType &&\r\n textSelected.shapeType !== 'none'\r\n }\r\n className={\r\n textSelected.fontStyle && textSelected.fontStyle === 'italic'\r\n ? `${SELECT_BG_COLOR} text-[#fff] text-base cursor-pointer border italic border-[#EBEBEB] py-[7px] px-[25px] `\r\n : 'bg-[#fff] italic text-base cursor-pointer border border-[#EBEBEB] py-[7px] px-[25px]'\r\n }\r\n style={\r\n textSelected &&\r\n textSelected.shapeType &&\r\n textSelected.shapeType !== 'none'\r\n ? {\r\n color: '#cccccc',\r\n cursor: 'default',\r\n backgroundColor: '#ffffff',\r\n }\r\n : {}\r\n }\r\n onClick={(e) => textStyle(e, 'fontStyle', 'italic')}\r\n id=\"italic\"\r\n >\r\n I\r\n </button>\r\n <button\r\n disabled={\r\n textSelected &&\r\n textSelected.shapeType &&\r\n textSelected.shapeType !== 'none'\r\n }\r\n className={\r\n textSelected.underline && textSelected.underline === true\r\n ? `${SELECT_BG_COLOR} text-[#fff] text-base cursor-pointer border underline border-[#EBEBEB] py-[7px] px-[25px] `\r\n : 'bg-[#fff] underline text-base cursor-pointer border border-[#EBEBEB] py-[7px] px-[25px]'\r\n }\r\n style={\r\n textSelected &&\r\n textSelected.shapeType &&\r\n textSelected.shapeType !== 'none'\r\n ? {\r\n color: '#cccccc',\r\n cursor: 'default',\r\n backgroundColor: '#ffffff',\r\n }\r\n : {}\r\n }\r\n onClick={(e) => textStyle(e, 'underline', !fontStyle.underline)}\r\n id=\"underline\"\r\n >\r\n U\r\n </button>\r\n </div>\r\n\r\n {textAlignDisplay === true && (\r\n <div className=\"textAlign\">\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">Align</div>\r\n <div className=\"flex gap-x-[15px] mb-[16.5px]\">\r\n <button\r\n type=\"button\"\r\n className={\r\n 'left' === activeButton\r\n ? `${SELECT_BG_COLOR} text-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[25px] `\r\n : 'bg-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[25px]'\r\n }\r\n id=\"left\"\r\n onClick={textAlignHandler}\r\n >\r\n <FiAlignLeft id=\"left\" onClick={textAlignHandler} />\r\n </button>\r\n <button\r\n type=\"button\"\r\n className={\r\n 'center' === activeButton\r\n ? `${SELECT_BG_COLOR} text-[#fff] cursor-pointer border border-[#EBEBEB] y-[7px] px-[25px] `\r\n : 'bg-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[25px]'\r\n }\r\n id=\"center\"\r\n onClick={textAlignHandler}\r\n >\r\n <FiAlignCenter id=\"center\" onClick={textAlignHandler} />\r\n </button>\r\n <button\r\n type=\"button\"\r\n className={\r\n 'right' === activeButton\r\n ? `${SELECT_BG_COLOR} text-[#fff] cursor-pointer border border-[#EBEBEB] y-[7px] px-[25px] `\r\n : 'bg-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[25px]'\r\n }\r\n id=\"right\"\r\n onClick={textAlignHandler}\r\n >\r\n <FiAlignRight id=\"right\" onClick={textAlignHandler} />\r\n </button>\r\n </div>\r\n </div>\r\n )}\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">Text Color</div>\r\n <div className=\"relative flex\">\r\n <ColorImpl\r\n mClass={'ml-0'}\r\n handleChange={textColorChange}\r\n property={'backgroundColor'}\r\n name={'backgroundColor'}\r\n color={activeSelection.fill}\r\n setDisplayPallet={setDisplayPallet}\r\n setPosition={setPosition}\r\n callback={textColorChange}\r\n />\r\n </div>\r\n <div className=\"flex gap-2 mt-4\">\r\n <div>\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n Outline Size\r\n </div>\r\n <input\r\n type=\"number\"\r\n id=\"outlineSize\"\r\n name=\"outlineSize\"\r\n step=\"0.2\"\r\n value={textSelected.strokeWidth}\r\n className=\"border border-[#EBEBEB] py-[10px] pl-[16px] mb-[16.5px] w-[145px]\"\r\n onChange={textOutlineHandler}\r\n ></input>\r\n </div>\r\n <div>\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n Outline Color\r\n </div>\r\n <div className=\"relative flex\">\r\n {' '}\r\n <ColorImpl\r\n mClass={'ml-0'}\r\n handleChange={strokeColorChange}\r\n property={'backgroundColor'}\r\n name={'backgroundColor'}\r\n color={activeSelection.stroke}\r\n setDisplayPallet={setDisplayPallet}\r\n setPosition={setPosition}\r\n callback={strokeColorChange}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"flex gap-2\">\r\n <div>\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n Letter Spacing\r\n </div>\r\n <input\r\n disabled={\r\n textSelected &&\r\n textSelected.shapeType &&\r\n textSelected.shapeType !== 'none'\r\n }\r\n type=\"number\"\r\n id=\"spacing\"\r\n name=\"spacing\"\r\n step=\"10\"\r\n value={textSelected.charSpacing}\r\n className=\"border border-[#EBEBEB] py-[10px] pl-[16px] mb-[16.5px] w-[145px]\"\r\n onChange={textSpacingHandler}\r\n ></input>\r\n </div>\r\n </div>\r\n <div className=\"flex gap-2\">\r\n <div className=\"w-[50%]\">\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n Text Shape\r\n </div>\r\n <select\r\n name=\"textShape\"\r\n id=\"textShape\"\r\n value={textSelected.shapeType ? textSelected.shapeType : 'None'}\r\n onChange={textShapeChange}\r\n // className={`${INPUT_BG_COLOR} font-bold ${TEXT_COLOR_1} ${TEXT_SIZE_3} border border-solid   ${BORDER_COLOR_1} select select-bordered w-full rounded-none focus:outline-current focus:outline-offset-0 focus:rounded-sm mb-[16.5px]`}\r\n className={`${INPUT_BG_COLOR} font-bold ${TEXT_COLOR_1} ${TEXT_SIZE_3} border border-solid   ${BORDER_COLOR_1} select select-bordered w-full rounded-none focus:outline-offset-0 focus:rounded-sm mb-[16.5px] ml-[2px]`}\r\n >\r\n {textShapes.map((list) => {\r\n return (\r\n <>\r\n <option value={list.name}>{list.name}</option>\r\n </>\r\n );\r\n })}\r\n </select>\r\n </div>\r\n <div className=\"w-[50%]\">\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n Shape Size\r\n </div>\r\n <input\r\n type=\"number\"\r\n id=\"shapeSize\"\r\n name=\"shapeSize\"\r\n step=\"10\"\r\n value={shapeSizeVal}\r\n className=\"border border-[#EBEBEB] py-[10px] pl-[16px] mb-[16.5px] w-[145px]\"\r\n onChange={textShapeSizeHandler}\r\n ></input>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};","import { fabric } from 'fabric';\r\nimport React, { useState, useMemo, ChangeEvent } from 'react';\r\nimport { MdOutlineCancel } from 'react-icons/md';\r\nimport shallow from 'zustand/shallow';\r\nimport { use3dddPlus } from '../../store';\r\nimport { load } from 'opentype.js';\r\nimport { ColorImpl } from '../colorPallet';\r\nimport { IconButton, HorizontalFlip, VerticalFlip } from '../icon';\r\nimport { fontFamilies, textProperties, warpTypes } from './constants';\r\nimport Configuration from '../../configuration.json';\r\nimport ErrorPopup from '../canvas/errorPopUp';\r\nimport { TextProperties } from './TextProperties';\r\n\r\nconst ErrorColorDiv = ({ setIsNextClicked, conflictColors }) => {\r\n return (\r\n <div\r\n className=\"mb-[10px]\"\r\n style={{\r\n position: 'absolute',\r\n backgroundColor: '#FFFFFF',\r\n bottom: 0,\r\n padding: '7px',\r\n }}\r\n >\r\n <IconButton\r\n label=\"Close\"\r\n icon={<MdOutlineCancel />}\r\n onClick={() => {\r\n setIsNextClicked(false);\r\n }}\r\n className={''}\r\n size=\"1.5rem\"\r\n style={{\r\n position: 'absolute',\r\n cursor: 'pointer',\r\n fontWeight: 'bold',\r\n right: 10,\r\n top: -7,\r\n color: '#FF0000',\r\n }}\r\n ></IconButton>\r\n <div\r\n className=\"text-[#E11A38]\"\r\n style={{ fontWeight: 'bold', marginBottom: '3px' }}\r\n >\r\n ERROR: CONFLICT IN COLOR USED\r\n </div>\r\n <div className=\"text-[#E11A38]\" style={{ marginBottom: '3px' }}>\r\n Note: The following colors used are not available in Richardson color\r\n palette. Please edit the colors used.\r\n </div>\r\n <div>\r\n {conflictColors.map((c: string, i: number) => {\r\n return (\r\n <div\r\n key={'color-' + i}\r\n style={{\r\n width: '100%',\r\n height: '30px',\r\n lineHeight: '30px',\r\n backgroundColor: c,\r\n textAlign: 'center',\r\n marginBottom: '3px',\r\n }}\r\n >\r\n <span\r\n style={{\r\n color: '#ffffff',\r\n mixBlendMode: 'difference',\r\n }}\r\n >\r\n {c}\r\n </span>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport const Properties = ({\r\n textSelected,\r\n activeTab,\r\n canvas,\r\n setIsNextClicked,\r\n onSave,\r\n conflictColors,\r\n isNextClicked,\r\n setDisplayPallet,\r\n setPosition,\r\n}) => {\r\n const [\r\n colorFill,\r\n currentSelection,\r\n activeSelection,\r\n textInfo,\r\n activeObj,\r\n allColor,\r\n ] = use3dddPlus(\r\n (state) => [\r\n state.colorFill,\r\n state.currentSelection,\r\n state.activeSelection,\r\n state.textInfo,\r\n state.activeSelection,\r\n state.allColor,\r\n ],\r\n shallow\r\n );\r\n\r\n const [textAlignDisplay, setTextAlignDisplay] = useState(false);\r\n\r\n const [fontStyle, setFontStyle] = useState({\r\n bold: false,\r\n italic: false,\r\n underline: false,\r\n });\r\n const [activeButton, setActiveButton] = useState<string | null>(null);\r\n const [shapeSizeVal, setShapeSizeVal] = useState(50);\r\n const [textLength, setTextLength] = useState(\r\n textSelected && textSelected.text ? textSelected.text.length : 0\r\n );\r\n const [bridgeshapeBendSize, setBridgeShapeBendSize] = useState(-25);\r\n const [bowtieshapeBendSize, setBowtieShapeBendSize] = useState(-12);\r\n\r\n const textShapeSizeHandler = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const newSize = e.target.valueAsNumber;\r\n setShapeSizeVal(newSize);\r\n\r\n const state = use3dddPlus.getState();\r\n\r\n if (textSelected) {\r\n textSelected.shapeSize = newSize;\r\n state.updateModifaction(true);\r\n state.forIconCapture();\r\n textSelected.icon = state.iconImage;\r\n setShapeSizeOnTextPath(newSize);\r\n canvas.renderAll();\r\n\r\n if (textSelected.aCoords.tr.x > 480) {\r\n return;\r\n }\r\n }\r\n };\r\n\r\n const setShapeSizeOnTextPath = (val: number) => {\r\n if (!textSelected || !textSelected.pathData) {\r\n return;\r\n }\r\n\r\n const applyTextProperties = (newTextPath: any, textSelected: any) => {\r\n textProperties.forEach((prop) => {\r\n newTextPath[prop] = textSelected[prop];\r\n });\r\n };\r\n\r\n const setNewPathDimensions = (\r\n newTextPath: any,\r\n dims: any,\r\n textSelected: any\r\n ) => {\r\n newTextPath.left = textSelected.left;\r\n newTextPath.top = textSelected.top;\r\n newTextPath.width = textSelected.width;\r\n newTextPath.height = textSelected.height;\r\n newTextPath.scaleX =\r\n textSelected.scaleX * (textSelected.width / dims.width);\r\n newTextPath.scaleY =\r\n textSelected.scaleY * (textSelected.width / dims.width);\r\n newTextPath.setCoords();\r\n newTextPath.width = dims.width;\r\n newTextPath.height = dims.height;\r\n };\r\n\r\n const state = use3dddPlus.getState();\r\n const canvas = state.fabricCanvas;\r\n // @ts-ignore\r\n const path = new Path(textSelected.pathData.toClipPathSVG());\r\n textSelected.shapeSize = val;\r\n\r\n const bendValue = val / 100 || 0;\r\n const warpType = warpTypes[textSelected.shapeType];\r\n\r\n if (warpType) {\r\n path.warp({ type: warpType, bend: bendValue });\r\n }\r\n\r\n const newTextPath = new fabric.Path(path.output());\r\n applyTextProperties(newTextPath, textSelected);\r\n // @ts-ignore\r\n const dimensions = newTextPath._calcDimensions();\r\n setNewPathDimensions(newTextPath, dimensions, textSelected);\r\n\r\n canvas.remove(textSelected);\r\n canvas.add(newTextPath);\r\n canvas.setActiveObject(newTextPath);\r\n\r\n state.activeSelection = newTextPath;\r\n state.forIconCapture();\r\n // @ts-ignore\r\n newTextPath.icon = state.iconImage;\r\n\r\n updateStoreAllObject(newTextPath);\r\n canvas.renderAll();\r\n };\r\n\r\n const onTextChange = async (e: ChangeEvent<HTMLTextAreaElement>) => {\r\n const textValue = e.target.value;\r\n const lines = textValue.split('\\n');\r\n setTextAlignDisplay(lines.length > 1);\r\n\r\n const state = use3dddPlus.getState();\r\n const isFontWithCamelCase = Configuration.fontWithCamelCase.includes(\r\n textSelected.fontFamily\r\n );\r\n const formattedText = isFontWithCamelCase\r\n ? textValue.toUpperCase()\r\n : textValue;\r\n\r\n use3dddPlus.setState({ textInfo: formattedText });\r\n textSelected.text = formattedText;\r\n\r\n if (currentSelection === 'path') {\r\n await textShapeChange(textSelected.shapeType, true);\r\n }\r\n\r\n reduceFontSize();\r\n textSelected.setCoords();\r\n canvas.renderAll();\r\n reduceFontSize();\r\n canvas.renderAll();\r\n\r\n state.updateModifaction(true);\r\n state.forIconCapture();\r\n textSelected.icon = state.iconImage;\r\n };\r\n\r\n const textAlignHandler = async (e: any) => {\r\n const textAlign = e.currentTarget.id;\r\n\r\n setActiveButton(textAlign);\r\n textSelected.set('textAlign', textAlign);\r\n\r\n if (currentSelection === 'path') {\r\n await textShapeChange(textSelected.shapeType, true);\r\n }\r\n\r\n const state = use3dddPlus.getState();\r\n state.updateModifaction(true);\r\n state.forIconCapture();\r\n textSelected.icon = state.iconImage;\r\n\r\n canvas.requestRenderAll();\r\n };\r\n\r\n const fontChange = async (e: ChangeEvent<HTMLSelectElement>) => {\r\n const fontFamily = e.target.value;\r\n textSelected.set('fontFamily', fontFamily);\r\n textSelected.set({ text: textInfo, charSpacing: 0 });\r\n\r\n if (Configuration.fontWithCamelCase.includes(fontFamily)) {\r\n textSelected.set({\r\n text: textSelected.text.toUpperCase(),\r\n charSpacing: 5,\r\n });\r\n }\r\n\r\n if (currentSelection === 'path') {\r\n await textShapeChange(textSelected.shapeType, true);\r\n }\r\n\r\n const state = use3dddPlus.getState();\r\n state.forIconCapture();\r\n textSelected.icon = state.iconImage;\r\n canvas.requestRenderAll();\r\n reduceFontSize();\r\n state.updateModifaction(true);\r\n };\r\n\r\n const textColorChange = (_property: string, color: string) => {\r\n textSelected.set({\r\n fill: color,\r\n colorFill: { layer0: color },\r\n });\r\n\r\n const state = use3dddPlus.getState();\r\n state.updateModifaction(true);\r\n state.forIconCapture();\r\n textSelected.icon = state.iconImage;\r\n canvas.requestRenderAll();\r\n };\r\n\r\n const textOutlineHandler = (e: ChangeEvent<HTMLInputElement>) => {\r\n const activeText = canvas.getActiveObject();\r\n if (!activeText) {\r\n return;\r\n }\r\n\r\n if (currentSelection === 'path') {\r\n textShapeChange(textSelected.shapeType, true);\r\n }\r\n\r\n if (activeText.type === 'text') {\r\n activeText.set({\r\n strokeWidth: parseFloat(e.target.value),\r\n });\r\n\r\n const state = use3dddPlus.getState();\r\n state.updateModifaction(true);\r\n state.forIconCapture();\r\n activeText.icon = state.iconImage;\r\n activeText.canvas.requestRenderAll();\r\n }\r\n };\r\n\r\n const strokeColorChange = (_property: string, color: string) => {\r\n textSelected.set('stroke', color);\r\n\r\n const state = use3dddPlus.getState();\r\n state.updateModifaction(true);\r\n state.forIconCapture();\r\n textSelected.icon = state.iconImage;\r\n canvas.requestRenderAll();\r\n };\r\n\r\n const textSpacingHandler = (e) => {\r\n // setSpacinglineVal(e.target.valueAsNumber);\r\n let dublicateText = textSelected;\r\n let oldCharSpacing = dublicateText.charSpacing;\r\n dublicateText.charSpacing = e.target.valueAsNumber;\r\n const brNew = dublicateText.getBoundingRect();\r\n if (\r\n brNew.width + brNew.left + 45 >= dublicateText.canvas.width ||\r\n brNew.height + brNew.top >= dublicateText.canvas.height ||\r\n brNew.left < 0 ||\r\n brNew.top < 0\r\n ) {\r\n if (textSelected.charSpacing > e.target.valueAsNumber) {\r\n textSelected.charSpacing = e.target.valueAsNumber;\r\n if (currentSelection === 'path') {\r\n textShapeChange(textSelected.shapeType, true);\r\n }\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n canvas.renderAll();\r\n if (textSelected.aCoords.tr.x > 480) {\r\n return;\r\n }\r\n }\r\n } else {\r\n textSelected.charSpacing = e.target.valueAsNumber;\r\n if (currentSelection === 'path') {\r\n textShapeChange(textSelected.shapeType, true);\r\n }\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n const brNew = textSelected.getBoundingRect();\r\n if (\r\n brNew.width + brNew.left + 45 >= dublicateText.canvas.width ||\r\n brNew.height + brNew.top >= dublicateText.canvas.height ||\r\n brNew.left < 0 ||\r\n brNew.top < 0\r\n ) {\r\n textSelected.charSpacing = oldCharSpacing;\r\n }\r\n use3dddPlus.getState().updateModifaction(true);\r\n canvas.renderAll();\r\n if (textSelected.aCoords.tr.x > 480) {\r\n return;\r\n }\r\n }\r\n };\r\n const textStyle = (e: any, key: string, value: any) => {\r\n if (fontStyle[e.target.id]) textSelected.set(key, '');\r\n else textSelected.set(key, value);\r\n setFontStyle((state) => ({ ...state, [e.target.id]: !state[e.target.id] }));\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n canvas.renderAll();\r\n };\r\n\r\n const changeSVGTextColor = (property, color) => {\r\n const previousColor = property;\r\n canvas.getObjects().map((data) => {\r\n if (data.type === 'text') {\r\n let _C = data.fill;\r\n if (_C === previousColor) {\r\n data.set({\r\n fill: color,\r\n colorFill: { layer0: color },\r\n });\r\n }\r\n // canvas.renderAll();\r\n } else if (data.type === 'path') {\r\n let _C = data.fill;\r\n if (_C === previousColor) {\r\n data.set({\r\n fill: color,\r\n colorFill: { layer0: color },\r\n });\r\n }\r\n // canvas.renderAll();\r\n } else if (data.type === 'group') {\r\n // console.log(data);\r\n let objImage = data._objects;\r\n objImage.forEach((ele) => {\r\n const _C =\r\n ele.fill === 'transparent' ||\r\n (typeof ele.fill === 'string' && ele.fill.includes('#'))\r\n ? ele.fill\r\n : RGBToHex(ele.fill);\r\n if (_C === previousColor) {\r\n ele.set({\r\n fill: color,\r\n colorFill: { layer0: color },\r\n });\r\n }\r\n });\r\n const colorFill = { ...data.colorFill };\r\n Object.keys(colorFill).forEach((item) => {\r\n if (colorFill[item] === previousColor) {\r\n colorFill[item] = color;\r\n }\r\n });\r\n data.set({\r\n colorFill: colorFill,\r\n });\r\n }\r\n if (data && data.icon) {\r\n data.icon = data.toDataURL('image/png');\r\n } else if (data._objects && data._objects.length) {\r\n data._objects[0].icon = data.toDataURL('image/png');\r\n }\r\n });\r\n canvas.renderAll();\r\n use3dddPlus.getState().updateModifaction(true);\r\n };\r\n\r\n const changeSVGColor = (property, color) => {\r\n const fillColor = colorFill;\r\n const previousColor = fillColor[property];\r\n const SelectedObjet = use3dddPlus.getState().activeSelection;\r\n let objImage = SelectedObjet._objects;\r\n objImage.forEach((ele) => {\r\n const _C =\r\n ele.fill === 'transparent' ||\r\n (typeof ele.fill === 'string' && ele.fill.includes('#'))\r\n ? ele.fill\r\n : RGBToHex(ele.fill);\r\n if (_C === previousColor) {\r\n ele.set({\r\n fill: color,\r\n colorFill: { layer0: color },\r\n });\r\n }\r\n });\r\n\r\n const tempColorFill = { ...SelectedObjet.colorFill };\r\n Object.keys(tempColorFill).forEach((item) => {\r\n if (tempColorFill[item] === previousColor) {\r\n tempColorFill[item] = color;\r\n }\r\n });\r\n SelectedObjet.set({\r\n colorFill: tempColorFill,\r\n });\r\n\r\n canvas.renderAll();\r\n // fillColor[property] = color;\r\n // use3dddPlus.setState({ colorFill: fillColor });\r\n use3dddPlus.setState({ colorFill: tempColorFill });\r\n use3dddPlus.getState().forIconCapture();\r\n SelectedObjet.icon = use3dddPlus.getState().iconImage;\r\n use3dddPlus.getState().updateModifaction(true);\r\n };\r\n\r\n const textToPath = async (objects) => {\r\n let promises = [];\r\n let pathObj = null;\r\n objects.forEach((object) => {\r\n promises = [\r\n ...promises,\r\n new Promise((resolve) => {\r\n // console.log(object.type)\r\n if (object.type === 'text') {\r\n // console.log(object.fontFamily);\r\n let fontSource = fontFamilies.filter(\r\n (o) => o.name === object.fontFamily\r\n )[0].src;\r\n // console.log(fontSource);\r\n load(fontSource, (error, font) => {\r\n if (error) {\r\n console.error(error);\r\n }\r\n // console.log(\"font loaded\", font);\r\n const path = font.getPath(object.text, 0, 0, object.fontSize, {\r\n fontSize: object.get('fontSize'),\r\n fill: object.get('fill'),\r\n stroke: object.get('stroke'),\r\n strokeWidth: object.get('strokeWidth'),\r\n });\r\n const fabricPath = new fabric.Path(path.toPathData(20), {});\r\n pathObj = fabricPath;\r\n resolve(pathObj);\r\n });\r\n }\r\n }),\r\n ];\r\n });\r\n //resolve all promises\r\n await Promise.all(promises);\r\n //return it\r\n // console.log(pathObj)\r\n return pathObj;\r\n };\r\n\r\n const bridgeShapeChange = () => {\r\n if (textSelected && textSelected.shapeType) {\r\n if (\r\n textSelected &&\r\n textSelected.text &&\r\n textSelected.text.length > textLength\r\n ) {\r\n if (textSelected.shapeType === 'Bridge') {\r\n setBridgeShapeBendSize(bridgeshapeBendSize + 3);\r\n } else {\r\n setBowtieShapeBendSize(bowtieshapeBendSize + 1);\r\n }\r\n } else {\r\n if (textSelected.shapeType === 'Bridge') {\r\n setBridgeShapeBendSize(bridgeshapeBendSize - 2);\r\n } else {\r\n setBowtieShapeBendSize(bowtieshapeBendSize - 1);\r\n }\r\n }\r\n if (textSelected && textSelected.text && textSelected.text.length > 10) {\r\n setBridgeShapeBendSize(-10);\r\n setBowtieShapeBendSize(-5);\r\n }\r\n setTextLength(textSelected.text.length);\r\n }\r\n };\r\n const textShapeChange = async (\r\n e,\r\n textChange = false,\r\n fontSize = null,\r\n charSpacing = null,\r\n strokeWidth = null,\r\n fontWeight = null,\r\n textAlign = null,\r\n fontStyle = null\r\n ) => {\r\n let pathData = null;\r\n let p = null;\r\n let shapeType = e && e.target ? e.target.value : e;\r\n if (!shapeType) {\r\n shapeType = textSelected.shapeType;\r\n }\r\n // setShapeType(shapeType);\r\n // if the selection is a text object then convert the text into path for shape deformation\r\n if (currentSelection === 'text') {\r\n pathData = await textToPath([textSelected]);\r\n //@ts-ignore\r\n p = new Path(pathData.toClipPathSVG());\r\n setBridgeShapeBendSize(-25);\r\n setBowtieShapeBendSize(-12);\r\n setTextLength(textSelected.text.length);\r\n }\r\n // when user changes the text value & text shape is applied\r\n else if (currentSelection === 'path' && textChange) {\r\n if (textSelected.text == '' || textSelected.text.trim() == '') {\r\n textSelected.path = [];\r\n textSelected._removeCacheCanvas();\r\n canvas.renderAll();\r\n return;\r\n }\r\n // create a temp text with same properties & convert to path\r\n const text: any = new fabric.Text(textSelected.text, {\r\n lineHeight: 1,\r\n fill: textSelected.fill,\r\n fontFamily: textSelected.fontFamily,\r\n fontWeight: fontWeight ? fontWeight : textSelected.fontWeight,\r\n top: textSelected.top,\r\n left: textSelected.left,\r\n stroke: textSelected.stroke,\r\n strokeWidth: strokeWidth ? strokeWidth : textSelected.strokeWidth,\r\n fontStyle: fontStyle ? fontStyle : textSelected.fontStyle,\r\n paintFirst: 'stroke',\r\n charSpacing: charSpacing ? charSpacing : textSelected.charSpacing,\r\n padding: textSelected.padding,\r\n fontSize: fontSize ? fontSize : textSelected.fontSize,\r\n textAlign: textAlign ? textAlign : textSelected.textAlign,\r\n name: 'text',\r\n lockScalingFlip: true,\r\n centeredScaling: true,\r\n text: textSelected.text,\r\n width: textSelected.width,\r\n height: textSelected.height,\r\n });\r\n text.set({\r\n //@ts-ignore\r\n colorFill: textSelected.colorFill,\r\n fontWeight: fontWeight,\r\n });\r\n // let dims = fabricPath._calcDimensions();\r\n text.left = textSelected.left;\r\n text.top = textSelected.top;\r\n text.width = textSelected.width;\r\n text.height = textSelected.height;\r\n text.scaleX = textSelected.scaleX;\r\n text.scaleY = textSelected.scaleY;\r\n text.id = textSelected.id;\r\n\r\n pathData = await textToPath([text]);\r\n //@ts-ignore\r\n p = new Path(pathData.toClipPathSVG());\r\n }\r\n // when the selection is path but no change in the text string\r\n else if (currentSelection === 'path' && !textChange) {\r\n pathData = textSelected.pathData;\r\n //@ts-ignore\r\n p = new Path(pathData.toClipPathSVG());\r\n } else {\r\n return;\r\n }\r\n // console.log(shapeType)\r\n switch (shapeType) {\r\n case 'None': {\r\n setShapeSizeVal(0);\r\n textSelected.shapeType = 'None';\r\n // revert back to text type object\r\n const text: any = new fabric.Text(textSelected.text, {\r\n lineHeight: 1,\r\n fill: textSelected.fill,\r\n fontFamily: textSelected.fontFamily,\r\n fontWeight: fontWeight ? fontWeight : textSelected.fontWeight,\r\n top: textSelected.top,\r\n left: textSelected.left,\r\n stroke: textSelected.stroke,\r\n strokeWidth: strokeWidth ? strokeWidth : textSelected.strokeWidth,\r\n fontStyle: fontStyle ? fontStyle : textSelected.fontStyle,\r\n paintFirst: 'stroke',\r\n charSpacing: charSpacing ? charSpacing : textSelected.charSpacing,\r\n padding: textSelected.padding,\r\n fontSize: fontSize ? fontSize : textSelected.fontSize,\r\n textAlign: textAlign ? textAlign : textSelected.textAlign,\r\n name: 'text',\r\n lockScalingFlip: true,\r\n centeredScaling: true,\r\n text: textSelected.text,\r\n });\r\n text.set({\r\n //@ts-ignore\r\n colorFill: textSelected.colorFill,\r\n fontWeight: fontWeight,\r\n });\r\n text.scaleX = textSelected.scaleX * (textSelected.width / text.width);\r\n text.scaleY = textSelected.scaleY * (textSelected.width / text.width);\r\n window['textObj'] = text;\r\n text.setCoords();\r\n text.id = textSelected.id;\r\n\r\n // set rotation angle & position\r\n text.rotate(textSelected.angle);\r\n text.left = textSelected.left;\r\n text.top = textSelected.top;\r\n\r\n // delete the active text object\r\n canvas.remove(textSelected);\r\n textSelected._removeCacheCanvas();\r\n canvas.setActiveObject(null);\r\n canvas.renderAll();\r\n\r\n // Add the text object keeping same properties\r\n canvas.add(text);\r\n text.setCoords();\r\n\r\n // set active object as path text\r\n canvas.setActiveObject(text);\r\n use3dddPlus.setState({ activeSelection: text });\r\n\r\n //@ts-ignore\r\n use3dddPlus.getState().forIconCapture();\r\n text['icon'] = use3dddPlus.getState().iconImage;\r\n updateStoreAllObject(text);\r\n // canvas.setActiveObject(text);\r\n // use3dddPlus.setState({ activeSelection: text });\r\n canvas.renderAll();\r\n // cancel performing further functions & return back from function\r\n return;\r\n }\r\n case 'Arc': {\r\n setShapeSizeVal(50);\r\n textSelected.shapeType = 'Arc';\r\n p.warp({\r\n type: 'WARP_ARC',\r\n bend: 50 / 100 || 0,\r\n });\r\n break;\r\n }\r\n case 'Bridge': {\r\n setShapeSizeVal(-25);\r\n bridgeShapeChange();\r\n textSelected.shapeType = 'Bridge';\r\n p.warp({\r\n type: 'WARP_ARC_LOWER',\r\n bend: bridgeshapeBendSize / 100 || 0,\r\n });\r\n break;\r\n }\r\n case 'Bowtie': {\r\n setShapeSizeVal(-12);\r\n bridgeShapeChange();\r\n textSelected.shapeType = 'Bowtie';\r\n p.warp({\r\n type: 'WARP_BULGE',\r\n bend: bowtieshapeBendSize / 100 || 0,\r\n });\r\n break;\r\n }\r\n case 'Vertical Arch': {\r\n setShapeSizeVal(35);\r\n textSelected.shapeType = 'Vertical Arch';\r\n p.warp({\r\n type: 'WARP_ARCH',\r\n bend: 35 / 100 || 0,\r\n });\r\n break;\r\n }\r\n case 'Reverse Vertical Arch': {\r\n setShapeSizeVal(-35);\r\n textSelected.shapeType = 'Reverse Vertical Arch';\r\n p.warp({\r\n type: 'WARP_ARCH',\r\n bend: -35 / 100 || 0,\r\n });\r\n break;\r\n }\r\n default:\r\n break;\r\n }\r\n // take out the update path with shape type deformation\r\n let fabricPath = new fabric.Path(p.output());\r\n textSelected['pathData'] = pathData;\r\n // add object only when converting from text to path\r\n if (currentSelection === 'text') {\r\n // add the path text object on canvas\r\n canvas.add(fabricPath);\r\n fabricPath['pathData'] = pathData;\r\n fabricPath['colorFill'] = textSelected.colorFill;\r\n fabricPath['shapeSize'] = shapeSizeVal;\r\n fabricPath['shapeType'] = shapeType;\r\n // carry forward the text properties over the path for further changes\r\n fabricPath['fill'] = textSelected.fill;\r\n fabricPath['fontFamily'] = textSelected.fontFamily;\r\n fabricPath['fontWeight'] = textSelected.fontWeight;\r\n fabricPath['stroke'] = textSelected.stroke;\r\n fabricPath['strokeWidth'] = textSelected.strokeWidth;\r\n fabricPath['padding'] = textSelected.padding;\r\n fabricPath['fontSize'] = textSelected.fontSize;\r\n fabricPath['charSpacing'] = textSelected.charSpacing;\r\n fabricPath['textAlign'] = textSelected.textAlign;\r\n fabricPath['fontStyle'] = textSelected.fontStyle;\r\n fabricPath['text'] = textSelected.text;\r\n fabricPath['id'] = textSelected.id;\r\n\r\n //@ts-ignore\r\n let dims = fabricPath._calcDimensions();\r\n\r\n // Set the same position scale matching with existing text\r\n fabricPath.width = textSelected.width;\r\n fabricPath.height = textSelected.height;\r\n fabricPath.scaleX =\r\n textSelected.scaleX * (textSelected.width / dims.width);\r\n fabricPath.scaleY =\r\n textSelected.scaleY * (textSelected.width / dims.width);\r\n fabricPath.setCoords();\r\n fabricPath.width = dims.width;\r\n fabricPath.height = dims.height;\r\n // set rotation angle & position\r\n fabricPath.rotate(textSelected.angle);\r\n fabricPath.left = textSelected.left;\r\n fabricPath.top = textSelected.top;\r\n // delete the text object\r\n canvas.remove(textSelected);\r\n // set active object as path text\r\n canvas.setActiveObject(fabricPath);\r\n use3dddPlus.setState({ activeSelection: fabricPath });\r\n use3dddPlus.getState().forIconCapture();\r\n fabricPath['icon'] = use3dddPlus.getState().iconImage;\r\n updateStoreAllObject(fabricPath);\r\n }\r\n // update the text path object with new shape type\r\n else {\r\n // add new textPath\r\n let newTextPath = new fabric.Path(p.output());\r\n newTextPath['pathData'] = textSelected.pathData;\r\n newTextPath['colorFill'] = textSelected.colorFill;\r\n newTextPath['shapeSize'] = textSelected.shapeSize;\r\n newTextPath['shapeType'] = textSelected.shapeType;\r\n newTextPath['fill'] = textSelected.fill;\r\n newTextPath['fontFamily'] = textSelected.fontFamily;\r\n newTextPath['fontWeight'] = textSelected.fontWeight;\r\n newTextPath['stroke'] = textSelected.stroke;\r\n newTextPath['strokeWidth'] = textSelected.strokeWidth;\r\n newTextPath['padding'] = textSelected.padding;\r\n newTextPath['fontSize'] = textSelected.fontSize;\r\n newTextPath['charSpacing'] = textSelected.charSpacing;\r\n newTextPath['textAlign'] = textSelected.textAlign;\r\n newTextPath['fontStyle'] = textSelected.fontStyle;\r\n newTextPath['text'] = textSelected.text;\r\n // set same position & scale\r\n newTextPath['width'] = textSelected.width;\r\n newTextPath['height'] = textSelected.height;\r\n\r\n //@ts-ignore\r\n let dims = newTextPath._calcDimensions();\r\n newTextPath['scaleX'] =\r\n textSelected.scaleX * (textSelected.width / dims.width);\r\n newTextPath['scaleY'] =\r\n textSelected.scaleY * (textSelected.width / dims.width);\r\n newTextPath['id'] = textSelected.id;\r\n // set rotation angle & position\r\n newTextPath.rotate(textSelected.angle);\r\n newTextPath['left'] = textSelected.left;\r\n newTextPath['top'] = textSelected.top;\r\n // delete the active text object\r\n var activeObj = canvas.getActiveObject();\r\n canvas.remove(activeObj);\r\n if (activeObj && activeObj !== null) {\r\n activeObj._removeCacheCanvas();\r\n }\r\n\r\n // add & set active new path text\r\n canvas.add(newTextPath);\r\n canvas.setActiveObject(newTextPath);\r\n use3dddPlus.setState({ activeSelection: newTextPath });\r\n newTextPath.setCoords();\r\n\r\n newTextPath.width = dims.width;\r\n newTextPath.height = dims.height;\r\n canvas.renderAll();\r\n use3dddPlus.getState().forIconCapture();\r\n newTextPath['icon'] = use3dddPlus.getState().iconImage;\r\n updateStoreAllObject(newTextPath);\r\n }\r\n canvas.renderAll();\r\n reduceFontSize();\r\n };\r\n const updateStoreAllObject = (text) => {\r\n use3dddPlus.getState().updateModifaction(true);\r\n\r\n var index = use3dddPlus\r\n .getState()\r\n .storeAllObject.findIndex((obj: any) => obj.id === textSelected.id);\r\n if (index > -1) {\r\n use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n }\r\n use3dddPlus.getState().storeAllObject.splice(index, 0, text);\r\n };\r\n\r\n const reduceFontSize = async () => {\r\n let brNew = textSelected.getBoundingRect();\r\n let canvasWidth = 0;\r\n let canvasHeight = 0;\r\n if (textSelected && textSelected.canvas && textSelected.canvas.width) {\r\n canvasWidth = textSelected.canvas.width;\r\n canvasHeight = textSelected.canvas.height;\r\n } else {\r\n canvasWidth = canvas.width;\r\n canvasHeight = canvas.height;\r\n }\r\n while (\r\n Math.ceil(brNew.width + brNew.left + 45) >= Math.floor(canvasWidth) ||\r\n Math.ceil(brNew.height + brNew.top + 10) >= Math.floor(canvasHeight) ||\r\n Math.ceil(brNew.left) < 0 ||\r\n Math.ceil(brNew.top) < 0\r\n ) {\r\n let activeObj = canvas.getActiveObject();\r\n\r\n activeObj.scale(activeObj.scaleX * 0.99);\r\n activeObj.setCoords();\r\n activeObj = canvas.getActiveObject();\r\n brNew = activeObj.getBoundingRect();\r\n canvas.renderAll();\r\n }\r\n canvas.renderAll();\r\n };\r\n\r\n const RGBToHex = (rgb) => {\r\n if (rgb) {\r\n if (rgb.indexOf('rgba') >= 0) {\r\n const rgba = rgb.replace(/^rgba?\\(|\\s+|\\)$/g, '').split(',');\r\n return `#${(\r\n (1 << 24) +\r\n (parseInt(rgba[0]) << 16) +\r\n (parseInt(rgba[1]) << 8) +\r\n parseInt(rgba[2])\r\n )\r\n .toString(16)\r\n .slice(1)}`;\r\n } else {\r\n let sep = rgb.indexOf(',') > -1 ? ',' : ' ';\r\n rgb = rgb.substr(4).split(')')[0].split(sep);\r\n let r = (+rgb[0]).toString(16),\r\n g = (+rgb[1]).toString(16),\r\n b = (+rgb[2]).toString(16);\r\n\r\n if (r.length == 1) r = '0' + r;\r\n if (g.length == 1) g = '0' + g;\r\n if (b.length == 1) b = '0' + b;\r\n return '#' + r + g + b;\r\n }\r\n } else {\r\n return '';\r\n }\r\n };\r\n const flipX = () => {\r\n activeObj.set({\r\n flipX: !activeObj.flipX,\r\n });\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n canvas.renderAll();\r\n };\r\n const flipY = () => {\r\n activeObj.set({\r\n flipY: !activeObj.flipY,\r\n });\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n // activeObj.\r\n canvas.renderAll();\r\n };\r\n\r\n const mergedColors = useMemo(() => {\r\n // FOR REMOVING ALL DUPLICATE COLOR CODES\r\n if (textSelected && textSelected?.colorFill) {\r\n let tempColors = [];\r\n let uniqueColors = {};\r\n Object.keys(textSelected?.colorFill)?.map((item: string) => {\r\n if (!tempColors.includes(textSelected?.colorFill[item])) {\r\n tempColors.push(textSelected?.colorFill[item]);\r\n uniqueColors[item] = textSelected?.colorFill[item];\r\n }\r\n });\r\n return uniqueColors;\r\n } else {\r\n return [];\r\n }\r\n }, [textSelected?.colorFill]);\r\n\r\n return (\r\n <div key={activeTab} className='flex flex-col w-full h-full'>\r\n <div\r\n className={\r\n 'overflow-y-auto overflow-x-hidden' +\r\n (!isNextClicked || !conflictColors || conflictColors.length < 1\r\n ? ' 2xl:h-[60vh] h-[50vh] sm:h-[55vh]'\r\n : '')\r\n }\r\n >\r\n {(currentSelection === 'text' || currentSelection === 'path') && (\r\n <TextProperties\r\n activeButton={activeButton}\r\n activeSelection={activeSelection}\r\n fontStyle={fontStyle}\r\n setDisplayPallet={setDisplayPallet}\r\n setPosition={setPosition}\r\n textAlignDisplay={textAlignDisplay}\r\n textInfo={textInfo}\r\n textSelected={textSelected}\r\n shapeSizeVal={shapeSizeVal}\r\n fontChange={fontChange}\r\n onTextChange={onTextChange}\r\n strokeColorChange={strokeColorChange}\r\n textAlignHandler={textAlignHandler}\r\n textColorChange={textColorChange}\r\n textOutlineHandler={textOutlineHandler}\r\n textShapeChange={textShapeChange}\r\n textShapeSizeHandler={textShapeSizeHandler}\r\n textSpacingHandler={textSpacingHandler}\r\n textStyle={textStyle}\r\n />\r\n )}\r\n {currentSelection === 'group' && (\r\n <>\r\n <div className=\"uppercase font-bold pt-[17px]\">Colors</div>\r\n <div className=\"flex flex-wrap gap-x-[1rem] mt-[12px]\">\r\n {mergedColors &&\r\n Object.keys(mergedColors)?.map((item, i) => (\r\n <ColorImpl\r\n mClass={'mb-[10px]'}\r\n key={'color-' + i}\r\n handleChange={changeSVGColor}\r\n property={item}\r\n color={activeSelection.colorFill[item]}\r\n setDisplayPallet={setDisplayPallet}\r\n setPosition={setPosition}\r\n callback={changeSVGColor}\r\n />\r\n ))}\r\n </div>\r\n <div className=\"my-[24.5px]\">\r\n <p className=\"text-[1rem] text-[#353535] flex text-left leading-[21px] font-bold mb-[12px] uppercase\">\r\n Flip\r\n </p>\r\n <div className=\"flex gap-x-[15px]\">\r\n <IconButton\r\n label=\"\"\r\n icon={<HorizontalFlip />}\r\n className=\"!w-[5.625rem] !h-[2.625rem] bg-[#fff] cursor-pointer border border-[#EBEBEB]\"\r\n size=\"1.5rem\"\r\n onClick={flipX}\r\n />\r\n <IconButton\r\n key={`index`}\r\n label=\"\"\r\n icon={<VerticalFlip />}\r\n className=\"!w-[5.625rem] !h-[2.625rem] bg-[#fff] cursor-pointer border border-[#EBEBEB]\"\r\n size=\"2.5rem\"\r\n onClick={flipY}\r\n />\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n {['selectAll', 'none'].includes(currentSelection) && (\r\n <>\r\n <div className=\"uppercase font-bold pt-[17px]\">Color in Canvas</div>\r\n <div className=\"flex flex-wrap gap-x-[1rem] mt-[12px]\">\r\n {allColor?.map((item, i) => (\r\n <ColorImpl\r\n mClass={'mb-[10px]'}\r\n key={'color-' + i}\r\n handleChange={changeSVGTextColor}\r\n property={item}\r\n color={item}\r\n setDisplayPallet={setDisplayPallet}\r\n setPosition={setPosition}\r\n callback={changeSVGTextColor}\r\n />\r\n ))}\r\n </div>\r\n {(allColor && allColor.includes('transparent')\r\n ? allColor.length - 1\r\n : allColor.length) > 8 && <ErrorPopup allColor={allColor} />}\r\n </>\r\n )}\r\n </div>\r\n {isNextClicked && conflictColors && conflictColors.length > 0 && (\r\n <ErrorColorDiv\r\n setIsNextClicked={setIsNextClicked}\r\n conflictColors={conflictColors}\r\n />\r\n )}\r\n <button\r\n type=\"button\"\r\n className=\"mt-3 inline-flex justify-center bg-white px-[110px] py-2 text-sm font-medium text-[#E11A38] shadow-sm ring-1 ring-inset ring-[#E11A38] hover:bg-gray-50 sm:mt-0 w-full\"\r\n onClick={onSave}\r\n >\r\n Save\r\n </button>\r\n </div>\r\n );\r\n};\r\n","! function(t) {\r\n var s = {};\r\n\r\n function i(h) {\r\n if (s[h]) return s[h].exports;\r\n var e = s[h] = {\r\n i: h,\r\n l: !1,\r\n exports: {}\r\n };\r\n return t[h].call(e.exports, e, e.exports, i), e.l = !0, e.exports\r\n }\r\n i.m = t, i.c = s, i.d = function(t, s, h) {\r\n i.o(t, s) || Object.defineProperty(t, s, {\r\n configurable: !1,\r\n enumerable: !0,\r\n get: h\r\n })\r\n }, i.r = function(t) {\r\n Object.defineProperty(t, \"__esModule\", {\r\n value: !0\r\n })\r\n }, i.n = function(t) {\r\n var s = t && t.__esModule ? function() {\r\n return t.default\r\n } : function() {\r\n return t\r\n };\r\n return i.d(s, \"a\", s), s\r\n }, i.o = function(t, s) {\r\n return Object.prototype.hasOwnProperty.call(t, s)\r\n }, i.p = \"\", i(i.s = 4)\r\n}([function(t, s, i) {\r\n var h = i(1),\r\n e = i(3);\r\n t.exports = class {\r\n constructor(t, s) {\r\n this.source = s, this.A = new h(s.left, s.top), this.B = new h(s.right, s.top), this.C = new h(s.right, s.bottom), this.D = new h(s.left, s.bottom), this.Aleft = new h(s.left, s.top + s.height / 3), this.Atop = new h(s.left + s.width / 3, s.top), this.Btop = new h(s.right - s.width / 3, s.top), this.Bright = new h(s.right, s.top + s.height / 3), this.Cright = new h(s.right, s.bottom - s.height / 3), this.Cbottom = new h(s.right - s.width / 3, s.bottom), this.Dbottom = new h(s.left + s.width / 3, s.bottom), this.Dleft = new h(s.left, s.bottom - s.height / 3), this.ABx = 0, this.ABy = 0, this.CDx = 0, this.CDy = 0, this.BCx = 0, this.BCy = 0, this.ADx = 0, this.ADy = 0, this.STEPS = 10, this.distortX = 0, this.distortY1 = 0, this.distortY2 = 0, this.T1 = 1 / 3, this.T2 = 2 / 3, this.kAB = 0, this.kBC = 0, this.kCD = 0, this.kAD = 0, this.angle, this.sin, this.cos, this.kt, this.applyParameters(t)\r\n }\r\n applyParameters(t) {\r\n var s = this.source,\r\n i = this._parameters = new e(t);\r\n this.angle = i.bend * Math.PI / 2, this.sin = Math.sin(this.angle), this.cos = Math.cos(this.angle), this.kt = 1 + Math.pow(i.bend, 4), this.distortX = .5 * i.distortV * s.width;\r\n var h = .5 * i.distortH * s.height;\r\n switch (this.distortY1 = h * (1 - i.distortV), this.distortY2 = h * (1 + i.distortV), this.kAB = 1 - i.distortV, this.kBC = 1 + i.distortH, this.kCD = 1 + i.distortV, this.kAD = 1 - i.distortH, this.setAnchors(), i.type) {\r\n case \"WARP_ARC\":\r\n this.setArc();\r\n break;\r\n case \"WARP_ARC_LOWER\":\r\n this.setArcLower();\r\n break;\r\n case \"WARP_ARC_UPPER\":\r\n this.setArcUpper();\r\n break;\r\n case \"WARP_ARCH\":\r\n this.setArch();\r\n break;\r\n case \"WARP_BULGE\":\r\n this.setBulge();\r\n break;\r\n case \"WARP_FLAG\":\r\n this.setFlag();\r\n break;\r\n case \"WARP_FISH\":\r\n this.setFish();\r\n break;\r\n case \"WARP_RISE\":\r\n this.setRise();\r\n break;\r\n case \"WARP_INFLATE\":\r\n this.setInflate();\r\n break;\r\n case \"WARP_SQUEEZE\":\r\n this.setSqueeze();\r\n break;\r\n case \"WARP_WAVE_LOWER\":\r\n this.setWaveLower();\r\n break;\r\n case \"WARP_WAVE_UPPER\":\r\n this.setWaveUpper()\r\n }\r\n }\r\n setAnchors() {\r\n this.A.x = this.source.left + this.distortX, this.B.x = this.source.right - this.distortX, this.C.x = this.source.right + this.distortX, this.D.x = this.source.left - this.distortX, this.A.y = this.source.top + this.distortY1, this.B.y = this.source.top - this.distortY1, this.C.y = this.source.bottom + this.distortY2, this.D.y = this.source.bottom - this.distortY2\r\n }\r\n setControls() {\r\n this.Atop.x = this.A.x + this.ABx, this.Atop.y = this.A.y + this.ABy, this.Btop.x = this.B.x - this.ABx, this.Btop.y = this.B.y - this.ABy, this.Dbottom.x = this.D.x + this.CDx, this.Dbottom.y = this.D.y + this.CDy, this.Cbottom.x = this.C.x - this.CDx, this.Cbottom.y = this.C.y - this.CDy, this.Bright.x = this.B.x + this.BCx, this.Bright.y = this.B.y + this.BCy, this.Cright.x = this.C.x - this.BCx, this.Cright.y = this.C.y - this.BCy, this.Aleft.x = this.A.x + this.ADx, this.Aleft.y = this.A.y + this.ADy, this.Dleft.x = this.D.x - this.ADx, this.Dleft.y = this.D.y - this.ADy\r\n }\r\n changeCubic(t, s, i, h) {\r\n let e = this._changePoint(t),\r\n o = this._changePoint(h),\r\n r = this.getPointOn(1 / 3, t, h, s, i),\r\n n = this.getPointOn(2 / 3, t, h, s, i),\r\n a = this._changePoint(r),\r\n y = this._changePoint(n);\r\n return this.getNewSegment(e, o, a, y)\r\n }\r\n changePoint(t) {\r\n var s = this._changePoint(t);\r\n return [s.x, s.y]\r\n }\r\n _changePoint(t) {\r\n let s = this.A,\r\n i = this.Atop,\r\n e = this.Aleft,\r\n o = this.B,\r\n r = this.Btop,\r\n n = this.Bright,\r\n a = this.C,\r\n y = this.Cright,\r\n x = this.Cbottom,\r\n c = this.D,\r\n A = this.Dbottom,\r\n C = this.Dleft;\r\n var d = (t.x - this.source.x) / this.source.width,\r\n b = (t.y - this.source.y) / this.source.height,\r\n p = 1 - b,\r\n B = this.getPointOn(b, s, c, e, C),\r\n l = this.getPointOn(b, o, a, n, y),\r\n D = new h(i.x * p + A.x * b, i.y * p + A.y * b),\r\n m = new h(r.x * p + x.x * b, r.y * p + x.y * b),\r\n k = this.getPointOn(d, B, l, D, m);\r\n return new h(k.x, k.y)\r\n }\r\n getPointOn(t, s, i, e, o) {\r\n var r = new h,\r\n n = t * t * t,\r\n a = t * t;\r\n return r.x = n * (i.x + 3 * (e.x - o.x) - s.x) + 3 * a * (s.x - 2 * e.x + o.x) + 3 * t * (e.x - s.x) + s.x, r.y = n * (i.y + 3 * (e.y - o.y) - s.y) + 3 * a * (s.y - 2 * e.y + o.y) + 3 * t * (e.y - s.y) + s.y, r\r\n }\r\n setArc() {\r\n var t = this._parameters,\r\n s = this.source,\r\n i = 1 - t.distortV;\r\n t.bend > 0 ? (this.A.x -= i * (s.height - this.distortY1) * this.sin, this.B.x += i * (s.height + this.distortY1) * this.sin, this.A.y += (s.height - this.distortY1) * (1 - this.cos), this.B.y += (s.height + this.distortY1) * (1 - this.cos), this.C.x -= this.distortY2 * this.sin, this.D.x -= this.distortY2 * this.sin, this.C.y += this.distortY2 * (this.cos - 1), this.D.y -= this.distortY2 * (this.cos - 1)) : t.bend < 0 && (this.D.x += i * (s.height - this.distortY2) * this.sin, this.C.x -= i * (s.height + this.distortY2) * this.sin, this.D.y += (s.height - this.distortY2) * (this.cos - 1), this.C.y += (s.height + this.distortY2) * (this.cos - 1), this.A.x += this.distortY1 * this.sin, this.B.x += this.distortY1 * this.sin, this.A.y -= this.distortY1 * (1 - this.cos), this.B.y += this.distortY1 * (1 - this.cos)), this.calculateArms(), this.setControls(), this.Atop.x += this.ABx * (this.cos * this.kt - 1), this.Atop.y -= this.ABx * this.sin * this.kt, this.Btop.x += this.ABx * (1 - this.cos * this.kt), this.Btop.y -= this.ABx * this.sin * this.kt, this.Dbottom.x += this.CDx * (this.cos * this.kt - 1), this.Dbottom.y -= this.CDx * this.sin * this.kt, this.Cbottom.x += this.CDx * (1 - this.cos * this.kt), this.Cbottom.y -= this.CDx * this.sin * this.kt\r\n }\r\n setFish() {\r\n var t = this._parameters;\r\n this.calculateArms(), this.setControls(), this.Atop.y -= 2 * t.bend * this.kAB * (2 * this.ADy + this.BCy), this.Btop.y += 2 * t.bend * this.kAB * (this.ADy + 2 * this.BCy), this.Dbottom.y += 2 * t.bend * this.kCD * (2 * this.ADy + this.BCy), this.Cbottom.y -= 2 * t.bend * this.kCD * (this.ADy + 2 * this.BCy)\r\n }\r\n setFlag() {\r\n this.calculateArms(), this.setControls();\r\n var t = this._parameters;\r\n this.Atop.y += 3 * t.bend * this.kAB * (this.ADy + this.BCy), this.Btop.y -= 3 * t.bend * this.kAB * (this.ADy + this.BCy), this.Dbottom.y += 3 * t.bend * this.kCD * (this.ADy + this.BCy), this.Cbottom.y -= 3 * t.bend * this.kCD * (this.ADy + this.BCy)\r\n }\r\n setBulge() {\r\n this.calculateArms(), this.setControls(), this._parameters, this.Atop.x += this.ABx * (this.cos * this.kt - 1), this.Atop.y -= this.ABx * this.sin * this.kt, this.Btop.x += this.ABx * (1 - this.cos * this.kt), this.Btop.y -= this.ABx * this.sin * this.kt, this.Dbottom.x += this.CDx * (this.cos * this.kt - 1), this.Dbottom.y += this.CDx * this.sin * this.kt, this.Cbottom.x += this.CDx * (1 - this.cos * this.kt), this.Cbottom.y += this.CDx * this.sin * this.kt\r\n }\r\n setArch() {\r\n this.calculateArms(), this.setControls(), this._parameters, this.Atop.x += this.ABx * (this.cos * this.kt - 1), this.Atop.y -= this.ABx * this.sin * this.kt, this.Btop.x += this.ABx * (1 - this.cos * this.kt), this.Btop.y -= this.ABx * this.sin * this.kt, this.Dbottom.x += this.CDx * (this.cos * this.kt - 1), this.Dbottom.y -= this.CDx * this.sin * this.kt, this.Cbottom.x += this.CDx * (1 - this.cos * this.kt), this.Cbottom.y -= this.CDx * this.sin * this.kt\r\n }\r\n setArcLower() {\r\n this.calculateArms(), this.setControls(), this._parameters, this.Dbottom.x += this.CDx * (this.cos * this.kt - 1), this.Dbottom.y += this.CDx * this.sin * this.kt, this.Cbottom.x += this.CDx * (1 - this.cos * this.kt), this.Cbottom.y += this.CDx * this.sin * this.kt\r\n }\r\n setArcUpper() {\r\n this.calculateArms(), this.setControls(), this._parameters, this.Atop.x += this.ABx * (this.cos * this.kt - 1), this.Atop.y -= this.ABx * this.sin * this.kt, this.Btop.x += this.ABx * (1 - this.cos * this.kt), this.Btop.y -= this.ABx * this.sin * this.kt\r\n }\r\n setSqueeze() {\r\n this.calculateArms(), this.setControls();\r\n var t = this._parameters;\r\n this.Atop.y -= t.bend * this.kAB * this.ADy, this.Btop.y -= t.bend * this.kAB * this.BCy, this.Dbottom.y += t.bend * this.kCD * this.ADy, this.Cbottom.y += t.bend * this.kCD * this.BCy, this.Bright.x -= t.bend * this.kBC * this.ABx, this.Cright.x -= t.bend * this.kBC * this.CDx, this.Aleft.x += t.bend * this.kAD * this.ABx, this.Dleft.x += t.bend * this.kAD * this.CDx\r\n }\r\n setInflate() {\r\n this.calculateArms(), this.setControls();\r\n var t = this._parameters,\r\n s = (this.ADy + this.BCy) / 2,\r\n i = (this.ABx + this.CDx) / 2;\r\n this.Atop.y -= t.bend * this.kAB * s, this.Btop.y -= t.bend * this.kAB * s, this.Dbottom.y += t.bend * this.kCD * s, this.Cbottom.y += t.bend * this.kCD * s, this.Bright.x += t.bend * this.kBC * i, this.Cright.x += t.bend * this.kBC * i, this.Aleft.x -= t.bend * this.kAD * i, this.Dleft.x -= t.bend * this.kAD * i\r\n }\r\n setRise() {\r\n var t = this._parameters;\r\n this.A.y += t.bend * this.kAB * source.height, this.D.y += t.bend * this.kCD * source.height, this.B.y -= t.bend * this.kAB * source.height, this.C.y -= t.bend * this.kCD * source.height, this.calculateArms(), this.setControls();\r\n var s = this.ADy + this.BCy;\r\n this.Atop.y += t.bend * this.kAB * s, this.Btop.y -= t.bend * this.kAB * s, this.Dbottom.y += t.bend * this.kCD * s, this.Cbottom.y -= t.bend * this.kCD * s\r\n }\r\n setWaveUpper() {\r\n this.calculateArms(), this.setControls();\r\n var t = this._parameters;\r\n this.Atop.y += 3 * t.bend * this.kAB * (this.ADy + this.BCy), this.Btop.y -= 3 * t.bend * this.kAB * (this.ADy + this.BCy)\r\n }\r\n setWaveLower() {\r\n this.calculateArms(), this.setControls();\r\n var t = this._parameters;\r\n this.Dbottom.y += 3 * t.bend * this.kCD * (this.ADy + this.BCy), this.Cbottom.y -= 3 * t.bend * this.kCD * (this.ADy + this.BCy)\r\n }\r\n calculateArms() {\r\n this.ABx = (this.B.x - this.A.x) / 3, this.ABy = (this.B.y - this.A.y) / 3, this.CDx = (this.C.x - this.D.x) / 3, this.CDy = (this.C.y - this.D.y) / 3, this.BCx = (this.C.x - this.B.x) / 3, this.BCy = (this.C.y - this.B.y) / 3, this.ADx = (this.D.x - this.A.x) / 3, this.ADy = (this.D.y - this.A.y) / 3\r\n }\r\n getNewSegment(t, s, i, e) {\r\n var o = this.T1,\r\n r = o * o * o,\r\n n = 1 - o,\r\n a = n * n * n,\r\n y = this.T2,\r\n x = y * y * y,\r\n c = 1 - y,\r\n A = c * c * c,\r\n C = 3 * o * n,\r\n d = {};\r\n d.x = (i.x - a * t.x - r * s.x) / C, d.y = (i.y - a * t.y - r * s.y) / C;\r\n var b = 3 * y * c,\r\n p = {};\r\n p.x = (e.x - A * t.x - x * s.x) / b, p.y = (e.y - A * t.y - x * s.y) / b;\r\n var B = {};\r\n B.x = (y * d.x - o * p.x) / (n * p.x - c * d.x), B.y = (y * d.y - o * p.y) / (n * p.y - c * d.y), isNaN(B.x) && (B.x = 0), isNaN(B.y) && (B.y = 0);\r\n var l = {},\r\n D = {};\r\n D.x = d.x / (n * B.x + o), D.y = d.y / (n * B.y + o), l.x = B.x * D.x, l.y = B.y * D.y;\r\n var m = new h(l.x, l.y),\r\n k = new h(D.x, D.y);\r\n return [m.x, m.y, k.x, k.y, s.x, s.y]\r\n }\r\n }\r\n}, function(t, s) {\r\n t.exports = class {\r\n constructor(t = 0, s = 0) {\r\n if (\"number\" != typeof t || \"number\" != typeof s) throw new Exception(\"Invalid points\");\r\n let i = t || 0,\r\n h = s || 0;\r\n i && (i = parseInt(1e3 * i) / 1e3), h && (h = parseInt(1e3 * h) / 1e3), this._props = [i, h], this[0] = i, this[1] = h\r\n }\r\n set x(t) {\r\n this[0] = t, this._props[0] = t\r\n }\r\n set y(t) {\r\n this[1] = t, this._props[1] = t\r\n }\r\n get x() {\r\n return this._props[0]\r\n }\r\n get y() {\r\n return this._props[1]\r\n }\r\n }\r\n}, function(t, s) {\r\n t.exports = class {\r\n constructor(t, s, i, h) {\r\n this.x = t, this.y = s, this.width = i, this.height = h, this.top = s, this.bottom = s + h, this.left = t, this.right = t + i\r\n }\r\n }\r\n}, function(t, s, i) {\r\n i(0);\r\n t.exports = class {\r\n constructor(t) {\r\n this.type = t.type || 0, this.bend = t.bend || 0, this.distortV = t.distortV || 0, this.distortH = t.distortH || 0, this.vertical = t.vertical || !1\r\n }\r\n }\r\n}, function(t, s, i) {\r\n var h = i(1),\r\n e = i(0),\r\n o = i(2),\r\n r = \"C\",\r\n n = \"Q\",\r\n a = \"L\",\r\n y = \"M\",\r\n x = \"Z\",\r\n c = class {\r\n constructor(t) {\r\n this.data = [], this.commands = [], this.parseString(t)\r\n }\r\n parseString(t) {\r\n var s = [],\r\n i = [];\r\n t.match(/[A-Za-z][0-9\\.\\s\\,\\-]+\\d/g).forEach(t => {\r\n var h = t[0],\r\n e = t.match(/[\\d\\.\\-]+/g);\r\n s.push(h), i.push(...e.map(parseFloat))\r\n }), this.commands = s, this.data = i\r\n }\r\n scale(t, s = 0) {\r\n 0 == s && (s = t);\r\n const i = this.data;\r\n for (let h = 0; h < i.length; h += 2) i[h] *= t, i[h + 1] *= s\r\n }\r\n warp(t) {\r\n let s = new e(t, this.calcRectangle()),\r\n i = this.commands,\r\n o = this.data,\r\n n = [],\r\n a = new h,\r\n y = new h,\r\n c = new h,\r\n A = new h,\r\n C = 0,\r\n d = new h;\r\n for (let t = 0; t < i.length; t++) {\r\n switch (i[t]) {\r\n case \"L\":\r\n i[t] = r, a = new h((2 * A[0] + o[C]) / 3, (2 * A[1] + o[C + 1]) / 3), y = new h((A[0] + 2 * o[C]) / 3, (A[1] + 2 * o[C + 1]) / 3), d = new h(o[C], o[C + 1]), n = n.concat(s.changeCubic(A, a, y, d)), A = d, C += 2;\r\n break;\r\n case \"Q\":\r\n i[t] = r, a = new h((2 * o[C] + A.x) / 3, (2 * o[C + 1] + A.y) / 3), y = new h((2 * o[C] + o[C + 2]) / 3, (2 * o[C + 1] + o[C + 3]) / 3), d = new h(o[C + 2], o[C + 3]), n = n.concat(s.changeCubic(A, a, y, d)), A = d, C += 4;\r\n break;\r\n case \"M\":\r\n A = c = new h(o[C], o[C + 1]), n = n.concat(s.changePoint(A)), C += 2;\r\n break;\r\n case \"C\":\r\n n = n.concat(s.changeCubic(A, new h(o[C], o[C + 1]), new h(o[C + 2], o[C + 3]), new h(o[C + 4], o[C + 5]))), A = new h(o[C + 4], o[C + 5]), C += 6;\r\n break;\r\n case x:\r\n A = c\r\n }\r\n }\r\n this.data = n\r\n }\r\n output() {\r\n var t = [],\r\n s = this.data.slice();\r\n for (let i = 0; i < this.commands.length; i++) {\r\n let h = this.commands[i],\r\n e = 0;\r\n switch (h) {\r\n case \"M\":\r\n case \"L\":\r\n e = 2;\r\n break;\r\n case \"Q\":\r\n e = 4;\r\n break;\r\n case \"C\":\r\n e = 6\r\n }\r\n t.push(h + s.splice(0, e).join(\" \"))\r\n }\r\n return t.join(\" \")\r\n }\r\n calcRectangle() {\r\n let t = this.commands,\r\n s = this.data;\r\n for (var i, h, e = {\r\n xMin: 1 / 0,\r\n yMin: 1 / 0,\r\n xMax: -1 / 0,\r\n yMax: -1 / 0\r\n }, x = 0, c = 0; c < t.length; c++) {\r\n switch (t[c]) {\r\n case y:\r\n case a:\r\n i = s[x], h = s[x + 1], x += 2;\r\n break;\r\n case n:\r\n i = s[x + 2], h = s[x + 3], x += 4;\r\n break;\r\n case r:\r\n i = s[x + 4], h = s[x + 5], x += 6\r\n }\r\n e.xMin = Math.min(i, e.xMin), e.xMax = Math.max(i, e.xMax), e.yMin = Math.min(h, e.yMin), e.yMax = Math.max(h, e.yMax)\r\n }\r\n return e.xMax == -1 / 0 ? null : new o(e.xMin, e.yMin, e.xMax - e.xMin, e.yMax - e.yMin)\r\n }\r\n };\r\n t.exports = c, \"undefined\" != typeof window && (window.Path = c)\r\n}]);","import React, { useEffect, useMemo, useState } from 'react';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { Tab, initTE } from 'tw-elements';\r\nimport { defaultColorNames } from '../../assets/colors/colors';\r\nimport { Layers } from './Layers';\r\nimport { Properties } from './Properties';\r\nimport { tabs } from './constants';\r\nimport { ColorPalette } from '../colorPallet';\r\nimport './rightMenu.css';\r\nimport '../../services/path-warp.js';\r\n\r\nexport const Rightmenu: React.FC = () => {\r\n initTE({ Tab });\r\n\r\n const canvas = use3dddPlus.getState().fabricCanvas;\r\n const [currentSelection, activeSelection, allColor, setToggleSaveLogo] =\r\n use3dddPlus(\r\n (state) => [\r\n state.currentSelection,\r\n state.activeSelection,\r\n state.allColor,\r\n state.setToggleSaveLogo,\r\n ],\r\n shallow\r\n );\r\n\r\n const [activeTab, setActiveTab] = useState(1);\r\n const [isNextClicked, setIsNextClicked] = useState(false);\r\n const [displayPallet, setDisplayPallet] = useState({\r\n visible: false,\r\n property: '',\r\n color: '',\r\n callback: null,\r\n });\r\n const [position, setPosition] = useState<{ x: number; y: number } | null>(\r\n null\r\n );\r\n\r\n useEffect(() => {\r\n if (activeSelection) {\r\n use3dddPlus.setState({ textInfo: activeSelection.text });\r\n }\r\n }, [activeSelection]);\r\n\r\n useEffect(() => {\r\n switch (currentSelection) {\r\n case 'text':\r\n case 'group':\r\n case 'selectAll':\r\n case 'none':\r\n setActiveTab(1);\r\n break;\r\n case 'layer':\r\n case 'activeSelection':\r\n setActiveTab(2);\r\n break;\r\n }\r\n }, [currentSelection]);\r\n\r\n const conflictColors = useMemo(() => {\r\n return allColor.filter(\r\n (color) =>\r\n defaultColorNames.findIndex(\r\n (defaultColor) =>\r\n defaultColor.color.toLowerCase() === color.toLowerCase()\r\n ) < 0\r\n );\r\n }, [allColor]);\r\n\r\n const onSave = () => {\r\n canvas.discardActiveObject();\r\n canvas.renderAll();\r\n if (!conflictColors || conflictColors.length < 1) {\r\n setIsNextClicked(false);\r\n use3dddPlus.setState({ showCrossSave: true });\r\n if (canvas.getObjects().length > 0) {\r\n const hasTransparent = allColor.includes('transparent');\r\n const colorCount = hasTransparent\r\n ? allColor.length - 1\r\n : allColor.length;\r\n if (colorCount < 9) {\r\n setToggleSaveLogo('save', true, 'Save Logo', {});\r\n } else {\r\n use3dddPlus.getState().toastMessages.noOfColors();\r\n }\r\n } else {\r\n use3dddPlus.getState().toastMessages.noIteminCanvas();\r\n }\r\n } else {\r\n setIsNextClicked(true);\r\n }\r\n };\r\n\r\n const removeColorPalette = () => {\r\n setDisplayPallet({\r\n visible: false,\r\n property: '',\r\n color: '',\r\n callback: null,\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n window.addEventListener('click', removeColorPalette);\r\n const unSub = use3dddPlus.subscribe(\r\n (state) => state.colorFill,\r\n (_current, _previous) => {\r\n // Handle color fill changes\r\n }\r\n );\r\n return () => {\r\n window.removeEventListener('click', removeColorPalette);\r\n unSub();\r\n };\r\n }, []);\r\n\r\n return (\r\n <div className=\"relative flex flex-col flex-1 h-full gap-3 px-6 pt-6 pb-2 text-left\">\r\n <div className=\"h-10\">\r\n <h1 className=\"text-2xl font-bold\">Edit Design</h1>\r\n </div>\r\n\r\n <div className=\"flex h-10\">\r\n {tabs.map((tab) => (\r\n <button\r\n key={tab.id}\r\n className={`${\r\n activeTab === tab.id\r\n ? 'bg-[#E11A38] text-white w-1/2'\r\n : 'bg-white text-gray-800 border border-slate-300 w-1/2'\r\n } focus:outline-none uppercase text-sm font-bold h-full`}\r\n onClick={() => {\r\n setActiveTab(tab.id);\r\n if (tab.id === 1) {\r\n use3dddPlus.setState({ currentSelection: 'none' });\r\n canvas.discardActiveObject();\r\n canvas.renderAll();\r\n }\r\n if (tab.id === 2) {\r\n use3dddPlus.setState({ currentSelection: 'layer' });\r\n }\r\n }}\r\n >\r\n {tab.label}\r\n </button>\r\n ))}\r\n </div>\r\n <div className=\"flex-1 w-full h-[80%] p-1 bg-gray-100\">\r\n {activeTab === 1 && (\r\n <Properties\r\n textSelected={activeSelection}\r\n activeTab={activeTab}\r\n canvas={canvas}\r\n setIsNextClicked={setIsNextClicked}\r\n onSave={onSave}\r\n conflictColors={conflictColors}\r\n isNextClicked={isNextClicked}\r\n setDisplayPallet={setDisplayPallet}\r\n setPosition={setPosition}\r\n />\r\n )}\r\n {activeTab === 2 && (\r\n <>\r\n {(currentSelection === 'layer' ||\r\n currentSelection === 'activeSelection') && (\r\n <Layers canvas={canvas} onSave={onSave} />\r\n )}\r\n </>\r\n )}\r\n </div>\r\n {displayPallet.visible && (\r\n <ColorPalette\r\n mainClass=\"left-0\"\r\n handleColorChange={(color) => {\r\n displayPallet.callback(displayPallet.property, color);\r\n setDisplayPallet({\r\n visible: false,\r\n property: '',\r\n color: '',\r\n callback: null,\r\n });\r\n }}\r\n style={\r\n position\r\n ? {\r\n position: 'fixed',\r\n left: position.x - 450,\r\n top: position.y - 5,\r\n width: '450px',\r\n }\r\n : { display: 'none' }\r\n }\r\n />\r\n )}\r\n </div>\r\n );\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\n// import { CARD_BG_COLOR } from '../../theme';\r\n// import { RiArrowDownSFill } from 'react-icons/ri';\r\nimport Select, { components } from 'react-select';\r\nconst DropdownIndicator = (props) => {\r\n return (\r\n <components.DropdownIndicator {...props}>\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n className={`h-5 w-5 text-[#727272]`}\r\n >\r\n <path d=\"M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z\" />\r\n </svg>\r\n </components.DropdownIndicator>\r\n );\r\n};\r\nconst style = {\r\n control: (base,state) => ({\r\n ...base,\r\n // border: '1px solid #BEBEBE',\r\n border: state.isFocused ? 0 : 0,\r\n // This line disable the blue border\r\n boxShadow: state.isFocused ? 0 : 0,\r\n '&:hover': {\r\n border: state.isFocused ? 0 : 0\r\n },\r\n\r\n // boxShadow: 'none',\r\n // '&:focus': {\r\n // border: 0,\r\n // },\r\n // '&:hover': {\r\n // border: '1px solid #BEBEBE',\r\n // },\r\n }),\r\n option: (base, { isFocused, isSelected }) => {\r\n return {\r\n ...base,\r\n backgroundColor: isSelected ? '#e11a38' : '#FFFFFF',\r\n fontWeight: isFocused ? 700 : 400,\r\n color: isSelected && '#ffffff',\r\n ':active': {\r\n backgroundColor: isSelected && '#ffffff',\r\n color: isSelected && '#000',\r\n fontWeight: isSelected && 700,\r\n },\r\n };\r\n },\r\n};\r\nconst ListDropdown = (props) => {\r\n const { dropdownData, handleSelected } = props;\r\n const [data, setData] = useState([]);\r\n\r\n useEffect(() => {\r\n let a = [];\r\n dropdownData.forEach((element) => {\r\n a.push({ value: element, label: element });\r\n });\r\n setData(\r\n a.sort((a, b) => {\r\n if (a.label < b.label) {\r\n return -1;\r\n }\r\n if (a.label > b.label) {\r\n return 1;\r\n }\r\n return 0;\r\n })\r\n );\r\n }, [dropdownData]);\r\n return (\r\n <>\r\n <div className=\"w-full relative\">\r\n <div className=\"w-full z-10 absolute\">\r\n <Select\r\n className=\"basic-single focus:!outline-none !border-0 focus:!border-0 focus:!ring-0 !ring-0 \"\r\n defaultValue={{\r\n value: dropdownData[0],\r\n label: dropdownData[0],\r\n }}\r\n onChange={(e) => handleSelected(e.value)}\r\n isSearchable={true}\r\n name=\"categories\"\r\n options={data}\r\n components={{\r\n IndicatorSeparator: () => null,\r\n DropdownIndicator,\r\n }}\r\n styles={style}\r\n />\r\n </div>\r\n </div>\r\n </>\r\n );\r\n};\r\nexport default ListDropdown;\r\n","export const decorationData =\r\n // prettier-ignore\r\n [\r\n {id:1, code:'',name:'Direct Embroidery', description:'', type:'decoration-type', linkedNodes:[], threeD:true,icon:'DirectEmbroidaryIcon',thumbnail:'',tags:''},\r\n {id:2, code:'',name:'Leather', description:'', type:'decoration-type', linkedNodes:[], threeD:true,icon:'NewLeatherIcon',thumbnail:'',tags:''},\r\n {id:3, code:'',name:'Patch', description:'', type:'decoration-type', linkedNodes:[], threeD:true,icon:'NewPatchIcon',thumbnail:'',tags:''},\r\n {id:4, code:'',name:'Transfer', description:'', type:'decoration-type', linkedNodes:[], threeD:true,icon:'TransferIcon',thumbnail:'',tags:''},\r\n {id:5, code:'',name:'Applique', description:'', type:'decoration-type', linkedNodes:[], threeD:true,icon:'NewAppliqueIcon',thumbnail:'',tags:''},\r\n {id:6, code:'',name:'Clip', description:'', type:'decoration-type', linkedNodes:[], threeD:true,icon:'Clip',thumbnail:'',tags:''},\r\n {id:7, code:'91-APPGLHR',name:'Genuine Etched Leather', description:'', type:'decoration-sub-type', linkedNodes:[2], threeD:true,icon:'EtchedLeatherIcon',thumbnail:'',tags:''},\r\n {id:8, code:'91-APPGLDB',name:'Genuine Debossed Leather', description:'', type:'decoration-sub-type', linkedNodes:[2], threeD:true,icon:'DebossedLeatherIcon',thumbnail:'',tags:''},\r\n {id:9, code:'91-APPFLHR',name:'Faux Etched Leather ', description:'', type:'decoration-sub-type', linkedNodes:[2], threeD:true,icon:'EtchedLeatherIcon',thumbnail:'',tags:''},\r\n {id:10, code:'91-APPFLDB',name:'Faux Debossed Leather ', description:'', type:'decoration-sub-type', linkedNodes:[2], threeD:true,icon:'DebossedLeatherIcon',thumbnail:'',tags:''},\r\n// {id:11, code:'',name:'Genuine Thick Leather ', description:'', type:'decoration-sub-type', linkedNodes:[2], threeD:true,icon:'LeatherIcon',thumbnail:'',tags:''},\r\n {id:12, code:'91-PATCHEMB',name:'Embroidered Patch', description:'', type:'decoration-sub-type', linkedNodes:[3], threeD:true,icon:'EmbroideredPatchIcon',thumbnail:'',tags:''},\r\n {id:13, code:'91-PATCHSUB',name:'Sublimated Patch', description:'', type:'decoration-sub-type', linkedNodes:[3], threeD:true,icon:'SublimatedPatchIcon',thumbnail:'',tags:''},\r\n {id:14, code:'91-PATCHWOV',name:'Woven Patch', description:'', type:'decoration-sub-type', linkedNodes:[3], threeD:true,icon:'WovenPatchIcon',thumbnail:'',tags:''},\r\n {id:15, code:'91-PATCHPVC',name:'Rubber Patch', description:'', type:'decoration-sub-type', linkedNodes:[3], threeD:true,icon:'RubberPatchIcon',thumbnail:'',tags:''},\r\n {id:16, code:'91-DIRSILICONE',name:'Silicon Transfers', description:'', type:'decoration-sub-type', linkedNodes:[4], threeD:true,icon:'SiliconTransferIcon',thumbnail:'',tags:''},\r\n {id:17, code:'91-RPOLYPRESS',name:'Poly Press Transfers', description:'', type:'decoration-sub-type', linkedNodes:[4], threeD:true,icon:'PolyPressTransferIcon',thumbnail:'',tags:''},\r\n {id:18, code:'91-TRANSFC',name:'Full Color Transfer ', description:'', type:'decoration-sub-type', linkedNodes:[4], threeD:true,icon:'FullColorTransferIcon',thumbnail:'',tags:''},\r\n {id:19, code:'91-APPFTL',name:'Felt / Twill Applique', description:'', type:'decoration-sub-type', linkedNodes:[5], threeD:true,icon:'FeltAppliqueIcon',thumbnail:'',tags:''},\r\n {id:20, code:'91-WOVENFRT',name:'Woven Label Applique', description:'', type:'decoration-sub-type', linkedNodes:[5], threeD:true,icon:'WovenLabelAppliqueIcon',thumbnail:'',tags:''},\r\n {id:21, code:'91-APPFTD',name:'Distressed Twill Applique', description:'', type:'decoration-sub-type', linkedNodes:[5], threeD:true,icon:'DistressedTwillAppliqueIcon',thumbnail:'',tags:''},\r\n {id:22, code:'91-APPCRK',name:'Genuine Cork Applique', description:'', type:'decoration-sub-type', linkedNodes:[5], threeD:true,icon:'CorkAppliqueIcon',thumbnail:'',tags:''},\r\n {id:23, code:'91-CLPLTHR',name:'Natural Leather Clip', description:'', type:'decoration-sub-type', linkedNodes:[6], threeD:false,icon:'Clip',thumbnail:'',tags:''},\r\n {id:24, code:'91-CLPLTHR',name:'Faux Leather Clip ', description:'', type:'decoration-sub-type', linkedNodes:[6], threeD:false,icon:'Clip',thumbnail:'',tags:''},\r\n {id:25, code:'91-CLPWOVEN',name:'Woven Label Clip ', description:'', type:'decoration-sub-type', linkedNodes:[6], threeD:false,icon:'Clip',thumbnail:'',tags:''},\r\n {id:26, code:'',name:'Rust', description:'', type:'decoration-type-color', linkedNodes:[8], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/leather/G100.jpg',tags:''},\r\n {id:27, code:'',name:'Tan', description:'', type:'decoration-type-color', linkedNodes:[8], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/leather/G102.jpg',tags:''},\r\n {id:28, code:'',name:'Brown', description:'', type:'decoration-type-color', linkedNodes:[8], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/leather/G104.jpg',tags:''},\r\n {id:29, code:'',name:'Black', description:'', type:'decoration-type-color', linkedNodes:[8], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/leather/G106.jpg',tags:''},\r\n {id:30, code:'',name:'Apple Green', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/APPLE-GREEN-thumbnail.jpg',tags:''},\r\n {id:31, code:'',name:'Balsa', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/BALSA-thumbnail.jpg',tags:''},\r\n {id:32, code:'',name:'Black', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/BLACK-thumbnail.jpg',tags:''},\r\n {id:33, code:'',name:'Buff', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/BUFF-thumbnail.jpg',tags:''},\r\n {id:34, code:'',name:'Chili', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/CHILI-thumbnail.jpg',tags:''},\r\n {id:35, code:'',name:'Graphite', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/GRAPHITE-thumbnail.jpg',tags:''},\r\n {id:36, code:'',name:'Java ', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/JAVA-thumbnail.jpg',tags:''},\r\n {id:37, code:'',name:'Lipstick', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/LIPSTICK-thumbnail.jpg',tags:''},\r\n {id:38, code:'',name:'Ocean', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/OCEAN-thumbnail.jpg',tags:''},\r\n {id:39, code:'',name:'Sage', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/SAGE-thumbnail.jpg',tags:''},\r\n {id:40, code:'',name:'Snow', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/SNOW-thumbnail.jpg',tags:''},\r\n {id:41, code:'',name:'Steel', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/STEEL-thumbnail.jpg',tags:''},\r\n {id:42, code:'',name:'Straw', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/STRAW-thumbnail.jpg',tags:''},\r\n {id:43, code:'',name:'Williamsburg', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/WILLIAMSBURG-thumbnail.jpg',tags:''},\r\n {id:44, code:'',name:'Royal Metallic Silver', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/ROYAL_METALLIC-thumbnail.jpg',tags:''},\r\n {id:45, code:'',name:'Rustic Brown Metallic Silver', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/RUSTIC-BROWN_METALLIC-thumbnail.jpg',tags:''},\r\n {id:46, code:'',name:'Pink ', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/PINK-thumbnail.jpg',tags:''},\r\n {id:47, code:'',name:'Turquoise ', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/TURQUOISE-thumbnail.jpg',tags:''},\r\n {id:48, code:'',name:'Bamboo ', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/BAMBOO-thumbnail.jpg',tags:''},\r\n {id:49, code:'',name:'Natural Leather', description:'', type:'decoration-type-color', linkedNodes:[7,11,23], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/NATURAL-thumbnail.jpg',tags:''},\r\n {id:50, code:'',name:'Chestnut Leather', description:'', type:'decoration-type-color', linkedNodes:[7], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/CHESTNUT-thumbnail.jpg',tags:''},\r\n {id:51, code:'',name:'Brown', description:'', type:'decoration-ink-option', linkedNodes:[26,27], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/CORK-thumbnail.jpg',tags:''},\r\n {id:52, code:'',name:'Black', description:'', type:'decoration-ink-option', linkedNodes:[28,29], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/BLACK_METALLIC-thumbnail.jpg',tags:''},\r\n {id:53, code:'',name:'Tonal', description:'', type:'decoration-ink-option', linkedNodes:[28,29], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/CORK-thumbnail.jpg',tags:''},\r\n {id:54, code:'',name:'STANDARD SQUARE', description:'(W x H): 1.81 X 1.81', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15,23,24,25], threeD:false,icon:'STANDARDSQUAREICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/standard_square.svg',tags:''},\r\n {id:55, code:'',name:'SMALL SQUARE', description:'(W x H): 1.5 X 1.5', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'SMALLSQUAREICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/small_square.svg',tags:''},\r\n {id:56, code:'',name:'STANDARD RECTANGLE', description:'(W x H): 2.44 X 1.39', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'STANDARDRECTANGLEICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/standard_rectangle.svg',tags:''},\r\n {id:57, code:'',name:'SMALL RECTANGLE', description:'(W x H): 1.97 X 1.97', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'SMALLRECTANGLEICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/small_rectangle.svg',tags:''},\r\n {id:58, code:'',name:'ROUNDED RECTANGLE', description:'(W x H): 1.57 X 1.57', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'ROUNDEDRECTANGLEICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/rounded_rectangle.svg',tags:''},\r\n {id:59, code:'',name:'ROUNDED TOP RECTANGLE', description:'(W x H): 3.01 X 1.73', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'ROUNDEDTOPRECTANGLEICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/rounded_top_rectangle.svg',tags:''},\r\n {id:60, code:'',name:'ROUNDED BOTTOM RECTANGLE', description:'(W x H): 2.62 X 1.34', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'ROUNDEDBOTTOMRECTANGLEICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/rounded_bottom_rectangle.svg',tags:''},\r\n {id:61, code:'',name:'STANDARD CIRCLE', description:'(W x H): 3.19 X 2.02', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'STANDARDCIRCLEICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/standard_circle.svg',tags:''},\r\n {id:62, code:'',name:'SMALL CIRCLE', description:'(W x H): 2.92 X 2.11', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'SMALLCIRLCEICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/small_cirlce.svg',tags:''},\r\n {id:63, code:'',name:'STANDARD OVAL', description:'(W x H): 2.92 X 2.11', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'STANDARDOVALICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/standard_oval.svg',tags:''},\r\n {id:64, code:'',name:'SMALL OVAL', description:'(W x H): 2.92 X 2.11', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'SMALLOVALICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/small_oval.svg',tags:''},\r\n {id:65, code:'',name:'REVERED TRIANGLE', description:'(W x H): 2.92 X 2.11', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'REVEREDTRIANGLEICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/revered_triangle.svg',tags:''},\r\n {id:66, code:'',name:'BADGE', description:'(W x H): 2.92 X 2.11', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'BADGEICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/badge.svg',tags:''},\r\n {id:67, code:'',name:'HEXAGON', description:'(W x H): 2.92 X 2.11', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'HEXAGONICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/hexagon.svg',tags:''},\r\n {id:68, code:'',name:'ELONGATED HEXAGON', description:'(W x H): 2.92 X 2.11', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'ELONGATEDHEXAGONICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/elongated_hexagon.svg',tags:''},\r\n {id:69, code:'',name:'ELONGATED DIAMOND', description:'(W x H): 2.92 X 2.11', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'ELONGATEDDIAMONDICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/elongated_diamond.svg',tags:''},\r\n {id:70, code:'',name:'Marrowed', description:'', type:'decoration-edge-type', linkedNodes:[12,13,14,15], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:71, code:'',name:'Satin Stitch Edge ', description:'', type:'decoration-edge-type', linkedNodes:[12,13,14,15], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:72, code:'',name:'Custom',description:'', type:'design-type', linkedNodes:[1,2,3,4,5,6], threeD:false,icon:'CustomDecorationIcon',thumbnail:'',tags:''},\r\n {id:73, code:'',name:'Team Decoration',description:'', type:'design-type', linkedNodes:[1], threeD:false,icon:'TeamDecorationIcon',thumbnail:'',tags:''},\r\n {id:74, code:'91-F1',name:'Design Concepts', description:'', type:'design-type', linkedNodes:[1,2,3,4,5,6], threeD:false,icon:'DesignConceptsIcon',thumbnail:'',tags:''},\r\n {id:75, code:'90-ND200',name:'Text (Wordings)', description:'', type:'design-style', linkedNodes:[73], threeD:true,icon:'WordingDecorationIcon',thumbnail:'',tags:''},\r\n {id:76, code:'90-TL11C',name:'Team Letters', description:'', type:'design-style', linkedNodes:[73], threeD:true,icon:'LetterDecorationIcon',thumbnail:'',tags:''},\r\n {id:77, code:'90-ND200',name:'Stock Mascots & Objects', description:'', type:'design-style', linkedNodes:[73], threeD:true,icon:'MascotDecorationIcon',thumbnail:'',tags:''},\r\n {id:78, code:'90-ND200',name:'Team Custom', description:'', type:'design-style', linkedNodes:[73], threeD:true,icon:'TeamCustomIcon',thumbnail:'',tags:''},\r\n {id:79, code:'91-F1',name:'Custom File Upload', description:'', type:'design-style', linkedNodes:[72], threeD:false,icon:'TeamCustom',thumbnail:'',tags:''},\r\n// {id:80, code:'',name:'Supporting File Upload', description:'', type:'design-style', linkedNodes:[72], threeD:false,icon:'TeamCustom',thumbnail:'',tags:''},\r\n {id:81, code:'91-F1',name:'My Logos', description:'', type:'design-style', linkedNodes:[72], threeD:false,icon:'TeamCustom',thumbnail:'',tags:''},\r\n {id:82, code:'',name:'Athletic - Design Concepts ', description:'', type:'design-style', linkedNodes:[74], threeD:false,icon:'AthleticIcon',thumbnail:'',tags:''},\r\n {id:83, code:'',name:'Resort & Golf - Design Concepts ', description:'', type:'design-style', linkedNodes:[74], threeD:false,icon:'ResortGolfIcon',thumbnail:'',tags:''},\r\n {id:84, code:'',name:'Outdoor - Design Concepts ', description:'', type:'design-style', linkedNodes:[74], threeD:false,icon:'OutdoorIcon',thumbnail:'',tags:''},\r\n {id:85, code:'',name:'ATHLETICBLOCK', description:'ATHLETIC BLOCK', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:86, code:'',name:'BALLPARK', description:'BALL PARK', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:87, code:'',name:'BLADE', description:'BLADE', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:88, code:'',name:'BOLT', description:'BOLT', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:89, code:'',name:'CENTURY', description:'CENTURY', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:90, code:'',name:'CITYBLOCK', description:'CITY BLOCK', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:91, code:'',name:'FANCYBLOCK', description:'FANCY BLOCK', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:92, code:'',name:'FORCE', description:'FORCE', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:93, code:'',name:'FULLBLOCK', description:'FULL BLOCK', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:94, code:'',name:'HARDBALL', description:'HARD BALL', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:95, code:'',name:'JERSEYBLOCK', description:'JERSEY BLOCK', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:96, code:'',name:'OLDENGLISH', description:'OLD ENGLISH', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:97, code:'',name:'PROBLOCK', description:'PRO BLOCK', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:98, code:'',name:'SPORTSCRIPT', description:'SPORT SCRIPT', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:99, code:'',name:'TIFFANY', description:'TIFFANY', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:100, code:'',name:'UNISCRIPT', description:'UNISCRIPT', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n// {id:101, code:'',name:'UNISCRIPT', description:'UNISCRIPT', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:102, code:'',name:'VELO', description:'VELO', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n\r\n\r\n{id:103, code:'',name:'ARWH001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/ARWH001.svg',tags:'Arrows'},\r\n{id:104, code:'',name:'ARWH002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/ARWH002.svg',tags:'Arrows'},\r\n{id:105, code:'',name:'BASE002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/BASE002.svg',tags:'Balls,Baseball'},\r\n {id:106, code:'',name:'BDOG001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/BDOG001.svg',tags:'Bulldogs'},\r\n {id:107, code:'',name:'BDOG003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/BDOG003.svg',tags:'Bulldogs'},\r\n{id:108, code:'',name:'BDOG004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/BDOG004.svg',tags:'Bulldogs'},\r\n {id:109, code:'',name:'BEAR004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/BEAR004.svg',tags:'Bears'},\r\n {id:110, code:'',name:'BEAR005', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/BEAR005.svg',tags:'Bears'},\r\n{id:111, code:'',name:'BJAY001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/BJAY001.svg',tags:'Cardinals'},\r\n{id:112, code:'',name:'BOLT002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/BOLT002.svg',tags:'Bolts'},\r\n {id:113, code:'',name:'BULL002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/BULL002.svg',tags:'Buffalo & Bulls'},\r\n {id:114, code:'',name:'CARD001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/CARD001.svg',tags:'Cardinals'},\r\n{id:115, code:'',name:'CARD002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/CARD002.svg',tags:'Cardinals'},\r\n {id:116, code:'',name:'CARD006', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/CARD006.svg',tags:'Cardinals'},\r\n {id:117, code:'',name:'CATS005', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/CATS005.svg',tags:'Cats'},\r\n {id:118, code:'',name:'CATS012', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/CATS012.svg',tags:'Cats'},\r\n{id:119, code:'',name:'CLVR001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/CLVR001.svg',tags:'Leaves'},\r\n {id:120, code:'',name:'COBR001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/COBR001.svg',tags:'Snakes'},\r\n {id:121, code:'',name:'COWB002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/COWB002.svg',tags:'Cowboys & Rebels'},\r\n{id:122, code:'',name:'CRSS001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/CRSS001.svg',tags:'Shapes'},\r\n {id:123, code:'',name:'DEVL001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/DEVL001.svg',tags:'Devils'},\r\n {id:124, code:'',name:'DRGN001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/DRGN001.svg',tags:'Dragons'},\r\n {id:125, code:'',name:'EAGL004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/EAGL004.svg',tags:'Eagles'},\r\n {id:126, code:'',name:'EAGL005', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/EAGL005.svg',tags:'Eagles'},\r\n// {id:127, code:'',name:'EAGL005_bu', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/EAGL005_bu.svg',tags:'Eagles'},\r\n{id:128, code:'',name:'FLAG002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FLAG002.svg',tags:'Flags'},\r\n// {id:129, code:'',name:'FLAG002_RIGHT', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FLAG002_RIGHT.svg',tags:'Flags'},\r\n{id:130, code:'',name:'FLGW002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FLGW002.svg',tags:'Flags'},\r\n// {id:131, code:'',name:'FLGW002_bu', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FLGW002_bu.svg',tags:'Flags'},\r\n// {id:132, code:'',name:'FLGW002_NO_BORDER', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FLGW002_NO_BORDER.svg',tags:'Flags'},\r\n// {id:133, code:'',name:'FLGW002_RIGHT', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FLGW002_RIGHT.svg',tags:'Flags'},\r\n// {id:134, code:'',name:'FLGW002_RIGHT_bu', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FLGW002_RIGHT_bu.svg',tags:'Flags'},\r\n// {id:135, code:'',name:'FLGW002_RIGHT_old', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FLGW002_RIGHT_old.svg',tags:'Flags'},\r\n{id:136, code:'',name:'FLUR001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FLUR001.svg',tags:'Shapes'},\r\n{id:137, code:'',name:'FTBL001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FTBL001.svg',tags:'Football,Balls'},\r\n// {id:138, code:'',name:'FTBL001_OG', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FTBL001_OG.svg',tags:'Football,Balls'},\r\n {id:139, code:'',name:'GATR001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/GATR001.svg',tags:'Gators'},\r\n{id:140, code:'',name:'GOLF004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/GOLF004.svg',tags:'Balls'},\r\n {id:141, code:'',name:'GRIZ001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/GRIZ001.svg',tags:'Bears'},\r\n{id:142, code:'',name:'HATC002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/HATC002.svg',tags:'Objects,Shapes'},\r\n {id:143, code:'',name:'HAWK001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/HAWK001.svg',tags:'Hawks'},\r\n {id:144, code:'',name:'HAWK003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/HAWK003.svg',tags:'Hawks'},\r\n {id:145, code:'',name:'HAWK004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/HAWK004.svg',tags:'Hawks'},\r\n {id:146, code:'',name:'HORS002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/HORS002.svg',tags:'Horses'},\r\n {id:147, code:'',name:'HORS003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/HORS003.svg',tags:'Horses'},\r\n {id:148, code:'',name:'HORS006', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/HORS006.svg',tags:'Horses'},\r\n {id:149, code:'',name:'HRNT005', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/HRNT005.svg',tags:'Hornets'},\r\n {id:150, code:'',name:'INDN001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/INDN001.svg',tags:'Indians'},\r\n {id:151, code:'',name:'KNGH003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/KNGH003.svg',tags:'Knights'},\r\n {id:152, code:'',name:'KNGH004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/KNGH004.svg',tags:'Knights'},\r\n// {id:153, code:'',name:'KNGH005', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/KNGH005.svg',tags:'Knights'},\r\n {id:154, code:'',name:'LION003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/LION003.svg',tags:'Lions'},\r\n {id:155, code:'',name:'LION004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/LION004.svg',tags:'Lions'},\r\n {id:156, code:'',name:'LION008', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/LION008.svg',tags:'Lions'},\r\n {id:157, code:'',name:'LNGH003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/LNGH003.svg',tags:'Buffalo & Bulls'},\r\n{id:158, code:'',name:'LOGR002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/LOGR002.svg',tags:'Logger'},\r\n {id:159, code:'',name:'OWLH001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/OWLH001.svg',tags:'Owls'},\r\n {id:160, code:'',name:'PAWP001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/PAWP001.svg',tags:'Paws'},\r\n{id:161, code:'',name:'PAWP004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/PAWP004.svg',tags:'Paws'},\r\n {id:162, code:'',name:'PRTE005', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/PRTE005.svg',tags:'Pirates'},\r\n {id:163, code:'',name:'PTFL001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/PTFL001.svg',tags:'Pirates'},\r\n {id:164, code:'',name:'RAMH003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/RAMH003.svg',tags:'Rams'},\r\n {id:165, code:'',name:'RAMH008', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/RAMH008.svg',tags:'Rams'},\r\n {id:166, code:'',name:'RAVN001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/RAVN001.svg',tags:'Ravens'},\r\n {id:167, code:'',name:'RAVN002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/RAVN002.svg',tags:'Ravens'},\r\n {id:168, code:'',name:'RAZR003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/RAZR003.svg',tags:'Boar'},\r\n {id:169, code:'',name:'REBL001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/REBL001.svg',tags:'Cowboys & Rebels'},\r\n {id:170, code:'',name:'SKLL001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/SKLL001.svg',tags:'Skulls'},\r\n// {id:171, code:'',name:'STAR003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/STAR003.svg',tags:'Ravens'},\r\n {id:172, code:'',name:'TIGR003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TIGR003.svg',tags:'Tigers'},\r\n// {id:173, code:'',name:'TIGR003_bu', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TIGR003_bu.svg',tags:'Tigers'},\r\n// {id:174, code:'',name:'TIGR003_original', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TIGR003_original.svg',tags:'Tigers'},\r\n// {id:175, code:'',name:'TIGR004 - Original', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TIGR004 - Original.svg',tags:'Tigers'},\r\n {id:176, code:'',name:'TIGR004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TIGR004.svg',tags:'Tigers'},\r\n{id:177, code:'',name:'TIGR005 - Original', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TIGR005 - Original.svg',tags:'Tigers'},\r\n {id:178, code:'',name:'TIGR005', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TIGR005.svg',tags:'Tigers'},\r\n {id:179, code:'',name:'TRJN002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TRJN002.svg',tags:'Spartans'},\r\n {id:180, code:'',name:'TRJN004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TRJN004.svg',tags:'Spartans'},\r\n {id:181, code:'',name:'TRJN006', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TRJN006.svg',tags:'Spartans'},\r\n {id:182, code:'',name:'TRND003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TRND003.svg',tags:'Bolts'},\r\n {id:183, code:'',name:'VIKG001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/VIKG001.svg',tags:'Cavaliers & Vikings'},\r\n {id:184, code:'',name:'VIKG006', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/VIKG006.svg',tags:'Cavaliers & Vikings'},\r\n{id:185, code:'',name:'VIPR001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/VIPR001.svg',tags:'Snakes'},\r\n{id:186, code:'',name:'WNGF001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WNGF001.svg',tags:'Wings'},\r\n {id:187, code:'',name:'WOLF005', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:'Wolves'},\r\n\r\n {id:188, code:'',name:'ATHLETICBLOCK', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:189, code:'',name:'BALLPARK', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:190, code:'',name:'BLADE', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:191, code:'',name:'BOLT', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:192, code:'',name:'CENTURY', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:193, code:'',name:'CITYBLOCK', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-poc-assets/fonts/cityb.woff',tags:''},\r\n {id:194, code:'',name:'FANCYBLOCK', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:195, code:'',name:'FORCE', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:196, code:'',name:'FULLBLOCK', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:197, code:'',name:'HARDBALL', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:198, code:'',name:'JERSEYBLOCK', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:199, code:'',name:'OLDENGLISH', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:200, code:'',name:'PROBLOCK', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-poc-assets/fonts/pro_block.woff',tags:''},\r\n {id:201, code:'',name:'SPORTSCRIPT', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:202, code:'',name:'TIFFANY', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-poc-assets/fonts/tiffany.woff',tags:''},\r\n {id:203, code:'',name:'UNISCRIPT', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:204, code:'',name:'UNISCRIPT', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:205, code:'',name:'VELO', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:206, code:'',name:'Teamwear', description:'', type:'teamwear', linkedNodes:[], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:207, code:'',name:'Fabric', description:'', type:'teamwear', linkedNodes:[206], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:208, code:'',name:'Templates', description:'', type:'teamwear', linkedNodes:[206], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:209, code:'',name:'Color', description:'', type:'teamwear', linkedNodes:[206], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:210, code:'',name:'Piping', description:'', type:'teamwear', linkedNodes:[206], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:211, code:'',name:'Decoration', description:'', type:'teamwear', linkedNodes:[206], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:212, code:'',name:'Brand', description:'', type:'teamwear', linkedNodes:[206], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:213, code:'',name:'Roster', description:'', type:'teamwear', linkedNodes:[206], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:214, code:'',name:'Produra', description:'Premium, Durable, Moisture Wicking, 100% Knitted Polyester with Mechanical Stretch', type:'fabric-type', linkedNodes:[207], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/fabrics/PRODURA.png',tags:'SUBLIMATION AND HYPR TWILL'},\r\n {id:215, code:'',name:'Protek', description:'Premium, Durable, Moisture Wicking, 100% Knitted Polyester with Mechanical Stretch', type:'fabric-type', linkedNodes:[207], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/fabrics/PROTEK.png',tags:'SUBLIMATION AND HYPR TWILL'},\r\n {id:216, code:'',name:'Ignite LT', description:'Premium, Durable, Lightweight, Moisture Wicking, Woven 90% Polyester / 10% Elastane with Four-Way Stretch', type:'fabric-type', linkedNodes:[207], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/fabrics/IGNITE_LT.png',tags:'SUBLIMATION ONLY'},\r\n {id:217, code:'',name:'Matrix Mesh', description:'Premium, Durable, Moisture Wicking, Knitted Pin-Dot Mesh, 90% Polyester / 10% Elastane with Four-Way Stretch', type:'fabric-type', linkedNodes:[207], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/fabrics/MATRIX_MESH.png',tags:'SUBLIMATION AND HYPR TWILL'},\r\n {id:218, code:'',name:'Dryve LT', description:'Soft, Lightweight, Moisture Wicking, 100% Knitted Polyester Mesh', type:'fabric-type', linkedNodes:[207], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/fabrics/DRYVE_LT.png',tags:'SUBLIMATION ONLY'},\r\n {id:219, code:'',name:'FLY LT', description:'Soft, Lightweight, Moisture Wicking, 100% Flat Knit Polyester', type:'fabric-type', linkedNodes:[207], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/fabrics/FLY_LT.png',tags:'SUBLIMATION ONLY'},\r\n {id:220, code:'',name:'FLX', description:'Premium, Soft, Four-Way Stretch, 90% Polyester/10% Elastine', type:'fabric-type', linkedNodes:[207], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/fabrics/FLX.png',tags:'SUBLIMATION ONLY'},\r\n {id:221, code:'',name:'PRODURA - DYED (HYPR TWILL DECORATION ONLY)', description:'', type:'fabric-type', linkedNodes:[207], threeD:false,icon:'',thumbnail:'',tags:'HYPR TWILL'},\r\n {id:222, code:'',name:'PROTEK - DYED (HYPR TWILL DECORATION ONLY)', description:'', type:'fabric-type', linkedNodes:[207], threeD:false,icon:'',thumbnail:'',tags:'HYPR TWILL'},\r\n {id:223, code:'',name:'Neck Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://resources.uniform-customizer.io/uploadedfiles/dRGF2JCBvodIg0QY21oHbuDfz6twjAVl.png',tags:''},\r\n {id:224, code:'',name:'Center Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://resources.uniform-customizer.io/uploadedfiles/oWpQa0fFddLuG2RJ6lBnITsIS6BcdW7g.png',tags:''},\r\n {id:225, code:'',name:'Yoke Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://resources.uniform-customizer.io/uploadedfiles/5BEjBO66Ei1aNzvVGxE39AJzOOOiN6TT.png',tags:''},\r\n {id:226, code:'',name:'Raglan Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://resources.uniform-customizer.io/uploadedfiles/RG6MuauqiOMWJrOEsCHJ4tC53neMxL7W.png',tags:''},\r\n {id:227, code:'',name:'Sleeve Piping 1 inch up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://resources.uniform-customizer.io/uploadedfiles/kOMLERHCuUVPWRIRWIhw1FlOvtiy1eBe.png',tags:''},\r\n {id:228, code:'',name:'End of Sleeve Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://resources.uniform-customizer.io/uploadedfiles/lr2zDaP9l792oXHqcq7CmYcuzoIrQhkj.png',tags:''},\r\n {id:229, code:'',name:'Pant', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://resources.uniform-customizer.io/uploadedfiles/BqGJKQ8kJdTUeY9CEGTwwYC45Ar8rvYR.png',tags:''},\r\n {id:230, code:'',name:'Pant Tunnel', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://resources.uniform-customizer.io/uploadedfiles/kFN2ZAjjdJEoIfnkZQThax0bALOdP90l.png',tags:''},\r\n {id:231, code:'',name:'Left Sleeve', description:'', type:'brand-type', linkedNodes:[212], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:232, code:'',name:'Back Neck', description:'', type:'brand-type', linkedNodes:[212], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:233, code:'',name:'Front Left Hip', description:'', type:'brand-type', linkedNodes:[212], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:234, code:'',name:'Back Center Tunnel', description:'', type:'brand-type', linkedNodes:[212], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:235, code:'',name:'Pro Select 2 Button End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8012CU/Pro%20Select%202%20Button%20End%20of%20Sleeve.png',tags:''},\r\n {id:236, code:'',name:'Pro Select 2 Button Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8012CU/Pro%20Select%202%20Button%20Neck.png',tags:''},\r\n {id:237, code:'',name:'Pro Select 2 Button Raglan', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8012CU/Pro%20Select%202%20Button%20Raglan.png',tags:''},\r\n {id:238, code:'',name:'Pro Select 2 Button Sleeve 1 Inch up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8012CU/Pro%20Select%202%20Button%20Sleeve%201%20Inch%20Up.png',tags:''},\r\n {id:239, code:'',name:'Pro Select 2 Button Yoke', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8012CU/Pro%20Select%202%20Button%20Yoke.png',tags:''},\r\n {id:240, code:'',name:'Pro Select Full Button Center', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8013CU/Pro%20Select%20Full%20Button%20Center.png',tags:''},\r\n {id:241, code:'',name:'Pro Select Full Button End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8013CU/Pro%20Select%20Full%20Button%20End%20of%20Sleeve.png',tags:''},\r\n {id:242, code:'',name:'Pro Select Full Button Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8013CU/Pro%20Select%20Full%20Button%20Neck.png',tags:''},\r\n {id:243, code:'',name:'Pro Select Full Button Raglan', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8013CU/Pro%20Select%20Full%20Button%20Raglan.png',tags:''},\r\n {id:244, code:'',name:'Pro Select Full Button Sleeve 1 Inch up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8013CU/Pro%20Select%20Full%20Button%20Sleeve%201%20Inch%20Up.png',tags:''},\r\n {id:245, code:'',name:'Pro Select Full Button Yoke', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8013CU/Pro%20Select%20Full%20Button%20Yoke.png',tags:''},\r\n {id:246, code:'',name:'Pro Select Sleeveless Full Button Center', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8014CU/Pro%20Select%20Sleeveless%20Full%20Button%20Center.png',tags:''},\r\n {id:247, code:'',name:'Pro Select Sleeveless Full Button Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8014CU/Pro%20Select%20Sleeveless%20Full%20Button%20Neck.png',tags:''},\r\n {id:248, code:'',name:'Pro Select Sleeveless Full Button Set In', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8014CU/Pro%20Select%20Sleeveless%20Full%20Button%20Set%20In.png',tags:''},\r\n {id:249, code:'',name:'Pro Select Sleeveless Full Button Yoke', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8014CU/Pro%20Select%20Sleeveless%20Full%20Button%20Yoke.png',tags:''},\r\n {id:250, code:'',name:'Pro Select Faux Button Center', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8015CU/Pro%20Select%20Faux%20Button%20Center.png',tags:''},\r\n {id:251, code:'',name:'Pro Select Faux Button End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8015CU/Pro%20Select%20Faux%20Button%20End%20of%20Sleeve.png',tags:''},\r\n {id:252, code:'',name:'Pro Select Faux Button Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8015CU/Pro%20Select%20Faux%20Button%20Neck.png',tags:''},\r\n {id:253, code:'',name:'Pro Select Faux Button Raglan', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8015CU/Pro%20Select%20Faux%20Button%20Neck.png',tags:''},\r\n {id:254, code:'',name:'Pro Select Faux Button Sleeve 1 Inch Up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8015CU/Pro%20Select%20Faux%20Button%20Sleeve%201%20Inch%20Up.png',tags:''},\r\n {id:255, code:'',name:'Pro Select Faux Button Yoke', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8015CU/Pro%20Select%20Faux%20Button%20Yoke.png',tags:''},\r\n {id:256, code:'',name:'Pro Select Sleeveless Faux Button Center', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:257, code:'',name:'Pro Select Sleeveless Faux Button Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:258, code:'',name:'Pro Select Sleeveless Faux Button Set In', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:259, code:'',name:'Pro Select Sleeveless Faux Button Yoke', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:260, code:'',name:'Pro Select Full Length Open Cuff Pant Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:261, code:'',name:'Pro Select Full Length Open Cuff Tunnel Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:262, code:'',name:'Pro Select Knicker Pant Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:263, code:'',name:'Pro Select Knicker Tunnel Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:264, code:'',name:'Pro Select Tapared FL Pant Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:265, code:'',name:'Pro Select Tapered Tunnel Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:266, code:'',name:'Select Crew Neck End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:267, code:'',name:'Select Crew Neck Set In', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:268, code:'',name:'Select Crew Neck Sleeve 1 Inch up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:269, code:'',name:'Select BSB V Neck End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:270, code:'',name:'Select BSB V Neck Set In', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:271, code:'',name:'Select BSB V Neck Sleeve 1 inch up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:272, code:'',name:'Select BSB V Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:273, code:'',name:'Select 2 Button Center', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:274, code:'',name:'Select 2 Button End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:275, code:'',name:'Select 2 Button Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:276, code:'',name:'Select 2 Button Set In', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:277, code:'',name:'Select 2 Button Sleeve 1 inch up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:278, code:'',name:'Select 2 Button Yoke', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:279, code:'',name:'Select Full Length Open Cuff Pant Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:280, code:'',name:'Select Full Length Open Cuff Tunnel Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:281, code:'',name:'Select Knicker Pant Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:282, code:'',name:'Select Knicker Tunnel Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:283, code:'',name:'Select Full Length Tapered Pant Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:284, code:'',name:'Select Full Length Tapered Tunnel Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:285, code:'',name:'Signature BSB V Neck End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:286, code:'',name:'Signature BSB V Neck Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:287, code:'',name:'Signature BSB V Neck Raglan', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:288, code:'',name:'Signature BSB V Neck Sleeve 1 Inch Up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:289, code:'',name:'Signature 2 Button End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:290, code:'',name:'Signature 2 Button Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:291, code:'',name:'Signature 2 Button Raglan', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:292, code:'',name:'Signature 2 Button Sleeve 1 Inch Up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:293, code:'',name:'Signature 2 Button Yoke', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:294, code:'',name:'Signature Full Button Center', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:295, code:'',name:'Signature Full Button End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:296, code:'',name:'Signature Full Button Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:297, code:'',name:'Signature Full Button Raglan', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:298, code:'',name:'Signature Full Button Sleeve 1 Inch Up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:299, code:'',name:'Signature Full Button Yoke', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:300, code:'',name:'Signature Faux Button Center', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:301, code:'',name:'Signature Faux Button End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:302, code:'',name:'Signature Faux Button Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:303, code:'',name:'Signature Faux Button Raglan', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:304, code:'',name:'Signature Faux Button Sleeve 1 Inch Up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:305, code:'',name:'Signature Faux Button Yoke', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:306, code:'',name:'Signature Full Length Open Cuff Back Insert Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:307, code:'',name:'Signature Full Length Open Cuff Pant Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:308, code:'',name:'Signature Full Length Open Cuff Tunnel Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:309, code:'',name:'Signature Knicker Back Insert Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:310, code:'',name:'Signature Knicker Pant Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:311, code:'',name:'Signature Knicker Tunnel Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:312, code:'',name:'Signature Full Length Tapered Back Insert Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:313, code:'',name:'Signature Full Length Tapered Pant Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:314, code:'',name:'Signature Full Length Tapered Tunnel Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:315, code:'',name:'Patches Custom', description:'', type:'decoration-type-shape', linkedNodes:[3], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:316, code:'',name:'Leather Custom ', description:'', type:'decoration-type-shape', linkedNodes:[2], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:317, code:'',name:'Rust ', description:'', type:'decoration-type-color', linkedNodes:[10], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/leather/F100.jpg',tags:''},\r\n {id:318, code:'',name:'Tan', description:'', type:'decoration-type-color', linkedNodes:[10], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/leather/F102.jpg',tags:''},\r\n {id:319, code:'',name:'Brown', description:'', type:'decoration-type-color', linkedNodes:[10], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/leather/F104.jpg',tags:''},\r\n { id: 320, code: '', name: 'Black', description: '', type: 'decoration-type-color', linkedNodes: [10], threeD: false, icon: '', thumbnail: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/leather/F106.jpg', tags: '' },\r\n {id:321, code:'',name:'GF841_Mammoth', description:'', type:'decoration-design-concepts', linkedNodes:[2], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF841_Mammoth.svg',tags:'Resort & Golf'},\r\n {id:322, code:'',name:'CL223_Backwoods', description:'', type:'decoration-design-concepts', linkedNodes:[2], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL223_Backwoods.svg',tags:'Resort & Golf'},\r\n// {id:323, code:'',name:'OD924_Maine2', description:'', type:'decoration-design-concepts', linkedNodes:[2], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/OD924_Maine2.svg',tags:'Atheletic'},\r\n// {id:324, code:'',name:'CL165_Frostburg', description:'', type:'decoration-design-concepts', linkedNodes:[2], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL165_Frostburg.svg',tags:'Outdoor'},\r\n// {id:325, code:'',name:'GF857_Brookside', description:'', type:'decoration-design-concepts', linkedNodes:[2], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF857_Brookside.svg',tags:'Atheletic'},\r\n// {id:326, code:'',name:'GF841_Mammoth', description:'', type:'decoration-design-concepts', linkedNodes:[1], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF841_Mammoth.svg',tags:'Resort & Golf'},\r\n// {id:327, code:'',name:'CL223_Backwoods', description:'', type:'decoration-design-concepts', linkedNodes:[1], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL223_Backwoods.svg',tags:'Resort & Golf'},\r\n {id:328, code:'',name:'OD924_Maine2', description:'', type:'decoration-design-concepts', linkedNodes:[1], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/OD924_Maine2.svg',tags:'Atheletic'},\r\n {id:329, code:'',name:'CL165_Frostburg', description:'', type:'decoration-design-concepts', linkedNodes:[1], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL165_Frostburg.svg',tags:'Outdoor'},\r\n {id:330, code:'',name:'GF857_Brookside', description:'', type:'decoration-design-concepts', linkedNodes:[1], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF857_Brookside.svg',tags:'Atheletic'},\r\n {id:331, code:'',name:'GF841_Mammoth', description:'', type:'decoration-design-concepts', linkedNodes:[3], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF841_Mammoth.svg',tags:'Resort & Golf'},\r\n {id:332, code:'',name:'CL223_Backwoods', description:'', type:'decoration-design-concepts', linkedNodes:[3], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL223_Backwoods.svg',tags:'Resort & Golf'},\r\n {id:333, code:'',name:'OD924_Maine2', description:'', type:'decoration-design-concepts', linkedNodes:[3], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/OD924_Maine2.svg',tags:'Atheletic'},\r\n {id:334, code:'',name:'CL165_Frostburg', description:'', type:'decoration-design-concepts', linkedNodes:[3], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL165_Frostburg.svg',tags:'Outdoor'},\r\n {id:335, code:'',name:'GF857_Brookside', description:'', type:'decoration-design-concepts', linkedNodes:[3], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF857_Brookside.svg',tags:'Atheletic'},\r\n {id:336, code:'',name:'GF841_Mammoth', description:'', type:'decoration-design-concepts', linkedNodes:[4], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF841_Mammoth.svg',tags:'Resort & Golf'},\r\n {id:337, code:'',name:'CL223_Backwoods', description:'', type:'decoration-design-concepts', linkedNodes:[4], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL223_Backwoods.svg',tags:'Resort & Golf'},\r\n {id:338, code:'',name:'OD924_Maine2', description:'', type:'decoration-design-concepts', linkedNodes:[4], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/OD924_Maine2.svg',tags:'Atheletic'},\r\n {id:339, code:'',name:'CL165_Frostburg', description:'', type:'decoration-design-concepts', linkedNodes:[4], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL165_Frostburg.svg',tags:'Outdoor'},\r\n {id:340, code:'',name:'GF857_Brookside', description:'', type:'decoration-design-concepts', linkedNodes:[4], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF857_Brookside.svg',tags:'Atheletic'},\r\n {id:341, code:'',name:'GF841_Mammoth', description:'', type:'decoration-design-concepts', linkedNodes:[5], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF841_Mammoth.svg',tags:'Resort & Golf'},\r\n {id:342, code:'',name:'CL223_Backwoods', description:'', type:'decoration-design-concepts', linkedNodes:[5], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL223_Backwoods.svg',tags:'Resort & Golf'},\r\n {id:343, code:'',name:'OD924_Maine2', description:'', type:'decoration-design-concepts', linkedNodes:[5], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/OD924_Maine2.svg',tags:'Atheletic'},\r\n {id:344, code:'',name:'CL165_Frostburg', description:'', type:'decoration-design-concepts', linkedNodes:[5], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL165_Frostburg.svg',tags:'Outdoor'},\r\n {id:345, code:'',name:'GF857_Brookside', description:'', type:'decoration-design-concepts', linkedNodes:[5], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF857_Brookside.svg',tags:'Atheletic'},\r\n {id:346, code:'',name:'GF841_Mammoth', description:'', type:'decoration-design-concepts', linkedNodes:[6], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF841_Mammoth.svg',tags:'Resort & Golf'},\r\n {id:347, code:'',name:'CL223_Backwoods', description:'', type:'decoration-design-concepts', linkedNodes:[6], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL223_Backwoods.svg',tags:'Resort & Golf'},\r\n {id:348, code:'',name:'OD924_Maine2', description:'', type:'decoration-design-concepts', linkedNodes:[6], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/OD924_Maine2.svg',tags:'Atheletic'},\r\n {id:349, code:'',name:'CL165_Frostburg', description:'', type:'decoration-design-concepts', linkedNodes:[6], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL165_Frostburg.svg',tags:'Outdoor'},\r\n { id: 350, code: '', name: 'GF857_Brookside', description: '', type: 'decoration-design-concepts', linkedNodes: [6], threeD: false, icon: '', thumbnail: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF857_Brookside.svg', tags: 'Atheletic' },\r\n {id:351, code:'',name:'BRUSHSCRIPT', description:'BRUSHSCRIPT', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:352, code:'',name:'UNITED', description:'UNITED', type:'design-style-letters-font', linkedNodes:[76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:353, code:'',name:'My Logos', description:'', type:'design-substyle', linkedNodes:[78], threeD:false,icon:'TeamCustom',thumbnail:'',tags:''},\r\n {id:354, code:'',name:'Custom File Upload', description:'', type:'design-substyle', linkedNodes:[78], threeD:false,icon:'TeamCustom',thumbnail:'',tags:''},\r\n];\r\n","import { decorationData } from './mockData';\r\n\r\nexport type DecorationTypes =\r\n | 'decoration-type'\r\n | 'decoration-sub-type'\r\n | 'decoration-type-color'\r\n | 'decoration-ink-option'\r\n | 'decoration-type-shape'\r\n | 'decoration-edge-type'\r\n | 'design-type'\r\n | 'design-style'\r\n | 'design-style-letters-font'\r\n | 'design-style-mascots';\r\n\r\nexport const getDecorationDataById = (id: number) => {\r\n return decorationData.filter((e) => e.id === id)?.[0];\r\n};\r\n\r\nexport const getDecorationDataByName = (name: string) => {\r\n return decorationData.filter((e) => e.name === name)?.[0];\r\n};\r\n\r\nexport const getDecorationDataByTypeAndParentId = (\r\n type: DecorationTypes,\r\n parentId?: number\r\n) => {\r\n return parentId\r\n ? decorationData.filter(\r\n (item) => item.type === type && item.linkedNodes.includes(parentId)\r\n )\r\n : decorationData.filter(\r\n (item) => item.type === type \r\n );\r\n};\r\n\r\nexport const getAllTypes = () => {\r\n return [new Set(decorationData?.map((item) => item.type))];\r\n};\r\n","import React from 'react';\r\n// import { MdOutlineArrowForwardIos } from 'react-icons/md';\r\n//import { Searchbar } from '../searchbar';\r\nimport { Card, CardMedia, CardBody, CardTitle } from '../card';\r\n// import { Button } from '../button';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { use3dddPlus } from '../../store';\r\nimport { Loader } from '../loader';\r\nimport ListDropdown from './listDropDown';\r\nimport { getDecorationDataByTypeAndParentId } from './decorationService';\r\nimport _ from 'lodash';\r\nexport const AddMascot = () => {\r\n const [\r\n stockLogoHandler,\r\n loading,\r\n handleMascotObjectFilterValues,\r\n availableMascots,\r\n filterValue,\r\n filteredMascots,\r\n ] = use3dddPlus(\r\n (state) => [\r\n state.stockLogoHandler,\r\n state.loading,\r\n state.handleMascotObjectFilterValues,\r\n state.availableMascots,\r\n state.filterValue,\r\n state.filteredMascots,\r\n ],\r\n shallow\r\n );\r\n\r\n let dropdownData = Array.from(\r\n new Set(availableMascots.flatMap((mascot) => mascot.tags))\r\n );\r\n // Prepend 'All' to the array\r\n dropdownData.unshift('All');\r\n React.useEffect(() => {\r\n const availableMascots = getDecorationDataByTypeAndParentId(\r\n 'design-style-mascots'\r\n ).map((item) => ({\r\n ...item,\r\n tags: item.tags.split(',').filter(Boolean),\r\n }));\r\n\r\n use3dddPlus.getState().setAvailableMascots(availableMascots);\r\n use3dddPlus\r\n .getState()\r\n .setFilteredMascots(availableMascots.map((item) => item.thumbnail));\r\n }, []);\r\n\r\n return (\r\n <>\r\n <div className=\"bg-[#F7F7F7] absolute z-100 w-[90%] h-full pr-[56px]\">\r\n <div className=\"w-full flex mt-[50px] flex-row \">\r\n <div className=\"w-1/2 flex justify-end\">\r\n <div className=\"text-left mr-[24px] h-[40px]\">\r\n <div className=\"w-[10vw] mb-3 \"></div>\r\n </div>\r\n </div>\r\n <div className=\" flex-1 justify-end\">\r\n <ListDropdown\r\n //placeholder=\"All \"\r\n value={filterValue}\r\n dropdownData={dropdownData}\r\n handleSelected={handleMascotObjectFilterValues}\r\n // label={'Select Stock Mascots & Objects'}\r\n labelClass={`!mb-[14.5px]`}\r\n labelSpan={`uppercase !text-[18px] !text-[#353535] !leading-[24px] !font-bold`}\r\n buttonClass={`!shadow-[0px_7px_64px_rgba(0,0,0,0.07)] border !border-[#ebebeb] text-[15px] font-bold leading-[20px] !py-[11px] !pl-[17px]`}\r\n dropdownClass={`!shadow-[0px_7px_64px_rgba(0,0,0,0.11)] !bg-[#ffffff] !max-h-[31.25rem] pt-[7px] pb-[17px]`}\r\n dropdownLiClass={`!text-[15px] leading-[20px] pl-[16px]`}\r\n />\r\n </div>\r\n </div>\r\n {/* <div className=\"flex flex-row gap-2\"> */}\r\n <div className=\"flex\">\r\n <div className=\"flex mt-[30px] overflow-y-auto overflow-x-hidden h-[65vh] w-full\">\r\n {/* <div className=\"max-h-[140px] grid gap-3.5 grid-cols-3 md:grid-cols-3 lg:grid-cols-4 w-full \"> */}\r\n <div className=\"max-h-[170px] grid gap-[2vw] grid-cols-3 md:grid-cols-5 lg:grid-cols-5 xl:grid-cols-6 2xl:grid-cols-7 w-full p-[30px]\">\r\n {filteredMascots.length > 0\r\n ? filteredMascots.map((logo, index) => (\r\n <Card\r\n key={'logoImage' + index}\r\n // cardClass={`rounded-none bg-white cursor-pointer `}\r\n cardClass={`rounded-none !bg-transparent cursor-pointer min-h-[140px] min-w-[140px] max-w-[140px] `}\r\n style={{ boxShadow: '0px 0px 6px #98989829' }}\r\n onClick={() => stockLogoHandler(logo)}\r\n >\r\n <CardMedia src={logo} imageClass=\"h-full m-[15px] mb-0\" />\r\n\r\n <CardBody bodyClass=\"p-2.5\">\r\n <CardTitle\r\n titleClass={`text-[11px] uppercase flex justify-center`}\r\n name={availableMascots[index].name}\r\n />\r\n </CardBody>\r\n </Card>\r\n ))\r\n : 'No Stock Logos'}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n {loading && <Loader />}\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\n// import { use3dddPlus } from '../../store';\r\nimport { MODAL_BG_COLOR } from '../../theme';\r\n\r\nexport interface ModalProps {\r\n children?: React.ReactNode;\r\n className?: string;\r\n}\r\n\r\nexport const LogoEditorSaveDesignModal = ({\r\n children,\r\n className = '',\r\n}: ModalProps) => {\r\n // const closeDesign = use3dddPlus((state) => state.setToggleSaveLogo);\r\n return (\r\n <>\r\n <div\r\n className={`modal modal-middle modal-open backdrop-blur-[45px] bg-[#00000046]`}\r\n id=\"saveLogoModel\"\r\n >\r\n <div className={`${className} modal-box ${MODAL_BG_COLOR} `}>\r\n {children}\r\n </div>\r\n {/* <form method=\"dialog\" className={`modal-backdrop ${BACKDROP_BLUR}`}>\r\n <button>close</button>\r\n </form> */}\r\n </div>\r\n </>\r\n );\r\n};","import React from 'react';\r\nimport { FloatingLabel } from 'flowbite-react';\r\nimport { EDIT_DESIGN_INFO_INPUT_BORDER_COLOR } from '../../theme';\r\ninterface CustomInputProps extends React.InputHTMLAttributes<HTMLInputElement> {\r\n type: string;\r\n id: string;\r\n name: string;\r\n label: string;\r\n customLabelStyle?: string;\r\n customInputStyle?: string;\r\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\r\n value?: string | undefined;\r\n onKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n}\r\nexport const CustomInput: React.FC<CustomInputProps> = ({\r\n type,\r\n id,\r\n name,\r\n label,\r\n customLabelStyle,\r\n customInputStyle,\r\n onChange,\r\n onBlur,\r\n value,\r\n onKeyDown,\r\n className = '',\r\n}) => {\r\n return (\r\n <div className=\"w-full\">\r\n <FloatingLabel\r\n type={type}\r\n id={id}\r\n value={value}\r\n name={name}\r\n variant=\"outlined\"\r\n label={label}\r\n onChange={onChange}\r\n onBlur={onBlur}\r\n onKeyDown={onKeyDown}\r\n theme={{\r\n label: {\r\n default: {\r\n outlined: {\r\n sm: `absolute left-4 top-2 z-10 origin-[0] -translate-y-4 transition-transform bg-white peer-focus:px-[0.125rem] px-[0.125rem] text-[#5D5D5D] duration-300 peer-placeholder-shown:top-1/2 peer-placeholder-shown:-translate-y-1/2 peer-focus:top-2 peer-focus:-translate-y-4 font-medium ${customLabelStyle} ${className}`,\r\n\r\n md: `absolute left-4 top-2 z-10 origin-[0] -translate-y-4 transition-transform bg-white peer-focus:px-[0.125rem] px-[0.125rem] text-[#5D5D5D] duration-300 peer-placeholder-shown:top-1/2 peer-placeholder-shown:-translate-y-1/2 peer-focus:top-2 peer-focus:-translate-y-4 font-medium ${customLabelStyle} ${className}`,\r\n },\r\n },\r\n },\r\n input: {\r\n default: {\r\n outlined: {\r\n sm: `border peer block w-full appearance-none rounded-none border-[#ECEBED] px-4 pb-2.5 pt-4 focus:border-[#ECEBED] focus:outline-none focus:ring-0 w-full h-[3rem] mt-0 ${customInputStyle} ${EDIT_DESIGN_INFO_INPUT_BORDER_COLOR}`,\r\n\r\n md: `border peer block w-full appearance-none rounded-none border-[#ECEBED] px-4 pb-2.5 pt-4 focus:border-[#ECEBED] focus:outline-none focus:ring-0 w-full h-[3rem] mt-0 ${customInputStyle} ${EDIT_DESIGN_INFO_INPUT_BORDER_COLOR}`,\r\n },\r\n },\r\n },\r\n helperText: {\r\n default: 'mt-0 ',\r\n success: 'mt-0 ',\r\n error: 'mt-0',\r\n },\r\n }}\r\n />\r\n </div>\r\n );\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport {\r\n BUTTON_TEXT_COLOR,\r\n EDIT_DESIGN_INFO_BG_COLOR_4,\r\n EDIT_DESIGN_INFO_INPUT_BORDER_COLOR,\r\n EDIT_DESIGN_INFO_TEXT_COLOR_1,\r\n EDIT_DESIGN_INFO_TEXT_COLOR_3,\r\n INPUT_ERROR_TEXT_COLOR,\r\n SAVEBUTTON_BG_COLOR,\r\n SECONDARY_COLOR,\r\n TEXT_SIZE_12,\r\n TEXT_SIZE_4,\r\n TEXT_SIZE_5,\r\n TEXT_SIZE_9,\r\n} from '../../theme';\r\nimport { RxCross2 } from 'react-icons/rx';\r\nimport { use3dddPlus } from '../../store';\r\nimport { LogoEditorSaveDesignModal } from './saveDesignModal';\r\nimport './saveDesign.css';\r\nimport { CustomInput } from '../input/customInput';\r\nimport { fabric } from 'fabric';\r\n\r\nexport const SaveDesign = ({ onSaveLogo }) => {\r\n const [designNameValidation, setDesignNameValidation] = useState('');\r\n\r\n const [commaInTagName, setCommaInTagName] = useState(false);\r\n const [tagNameLength, setTagNameLength] = useState(false);\r\n const [isSaving, setIsSaving] = useState(false);\r\n const [\r\n canvas,\r\n logoName,\r\n logoTag,\r\n closeModal,\r\n toggleSaveLogo,\r\n disableSaveButton,\r\n saveLogo,\r\n uploadLogoConfig,\r\n setLogoData,\r\n ] = use3dddPlus((state) => [\r\n state.fabricCanvas,\r\n state.logoName,\r\n state.logoTag,\r\n state.setToggleSaveLogo,\r\n state.toggleSaveLogo,\r\n state.disableSaveButton,\r\n state.saveLogo,\r\n state.uploadLogoConfig,\r\n state.setLogoData,\r\n ]);\r\n const [tagName, setTagName] = React.useState('');\r\n\r\n const checkValidations = () => {\r\n const nameValidation = logoName.length >= 1;\r\n if (!nameValidation) {\r\n setDesignNameValidation('length');\r\n return nameValidation;\r\n } else return true;\r\n };\r\n const onSaveHandler = async () => {\r\n if (!isSaving) {\r\n if (!checkValidations()) return;\r\n setIsSaving(true);\r\n const canvasGetobject = canvas.getObjects();\r\n canvasGetobject.forEach((obj) => {\r\n if (obj.type === 'line') {\r\n canvas.remove(obj);\r\n }\r\n });\r\n\r\n // saving all path text data (text with shapes applied)\r\n let pathTextsData = {};\r\n canvasGetobject.forEach((obj) => {\r\n if (obj.type === 'path' && obj.pathData !== undefined) {\r\n pathTextsData[obj.text] = {\r\n width: obj.width,\r\n height: obj.height,\r\n left: obj.left,\r\n top: obj.top,\r\n pathData: obj.pathData,\r\n shapeSize: obj.shapeSize,\r\n shapeType: obj.shapeType,\r\n fontFamily: obj.fontFamily,\r\n fontWeight: obj.fontWeight,\r\n fontSize: obj.fontSize,\r\n charSpacing: obj.charSpacing,\r\n textAlign: obj.textAlign,\r\n fontStyle: obj.fontStyle,\r\n text: obj.text,\r\n };\r\n }\r\n });\r\n\r\n const dataURL = canvas.toDataURL();\r\n const canvasData = use3dddPlus.getState().applyColorFill();\r\n // const canvasGetobject = canvas.getObjects();\r\n // canvasData.objects.forEach((element, index) => {\r\n // element.colorFill = canvasGetobject[index].colorFill;\r\n // });\r\n\r\n // looping through the text shape objects & taking out text data to inject in the canvas json data & save\r\n let pathTextsKeys = Object.keys(pathTextsData);\r\n for (let i = 0; i < pathTextsKeys.length; i++) {\r\n let pathData = pathTextsData[pathTextsKeys[i]];\r\n for (let o = 0; o < canvasData.objects.length; o++) {\r\n const obj = canvasData.objects[o];\r\n if (\r\n obj.type === 'path' &&\r\n obj.left === Math.round(pathData.left * 100) / 100 &&\r\n obj.top === Math.round(pathData.top * 100) / 100 &&\r\n obj.width === Math.round(pathData.width * 100) / 100 &&\r\n obj.height === Math.round(pathData.height * 100) / 100\r\n ) {\r\n Object.assign(canvasData.objects[o], pathData);\r\n }\r\n }\r\n }\r\n\r\n const dataCh = JSON.stringify(canvasData);\r\n const S3UrlPath = await uploadLogoConfig(\r\n dataCh,\r\n use3dddPlus.getState().customerId\r\n );\r\n canvas.backgroundColor = null;\r\n const canvasSvg = canvas.toSVG();\r\n closeModal('', false, '', {});\r\n const raw = JSON.stringify({\r\n customer_id: use3dddPlus.getState().customerId,\r\n tag: logoTag.join(','),\r\n name: logoName,\r\n base64_image: dataURL,\r\n svg_image: canvasSvg,\r\n logo_config_url: S3UrlPath,\r\n });\r\n\r\n const horizontalLine = new fabric.Line(\r\n [0, canvas.height / 2, canvas.height, canvas.height / 2],\r\n {\r\n stroke: 'red',\r\n scaleX: 11,\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n const verticalLine = new fabric.Line(\r\n [canvas.width / 2, 0, canvas.width / 2, canvas.width],\r\n {\r\n stroke: 'red',\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n horizontalLine.centerH();\r\n canvas.add(horizontalLine);\r\n canvas.add(verticalLine);\r\n canvas.sendBackwards(horizontalLine);\r\n canvas.sendBackwards(verticalLine);\r\n use3dddPlus.setState({ horizontalLine: horizontalLine });\r\n use3dddPlus.setState({ verticalLine: verticalLine });\r\n saveLogo(raw)\r\n .then((data) => {\r\n setIsSaving(false);\r\n onSaveLogo(data);\r\n setLogoData(data);\r\n use3dddPlus.getState().toastMessages.saveSuccess();\r\n })\r\n .catch((ex) => {\r\n setIsSaving(false);\r\n console.log('ERROR in Save Logo:', ex);\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (tagName !== '') {\r\n const reg = /^[a-zA-Z0-9 ]+$/;\r\n const regTest = reg.test(tagName);\r\n\r\n if (!regTest) {\r\n setCommaInTagName(true);\r\n } else if (!!commaInTagName) {\r\n setCommaInTagName(false);\r\n }\r\n } else if (!!commaInTagName) {\r\n setCommaInTagName(false);\r\n }\r\n }, [tagName]);\r\n\r\n // useEffect(() => {\r\n // if (logoName !== '') {\r\n // const reg = /^[a-zA-Z0-9 ]+$/;\r\n // const regTest = reg.test(logoName);\r\n // if (!regTest) {\r\n // setDesignNameValidation('specialCharacter');\r\n // } else if (designNameValidation === 'specialCharacter') {\r\n // setDesignNameValidation('');\r\n // }\r\n // } else if (designNameValidation === 'specialCharacter') {\r\n // setDesignNameValidation('');\r\n // }\r\n // }, [logoName]);\r\n\r\n const handleTagChange = (event: any) => {\r\n if (event?.target?.value !== ' ') {\r\n setTagName(event.target.value);\r\n }\r\n };\r\n\r\n const handleKeyDown = (event: any) => {\r\n if (logoTag.length > 4 && tagName !== '') {\r\n event.preventDefault();\r\n setTagNameLength(true);\r\n setTagName('');\r\n return;\r\n } else {\r\n setTagNameLength(false);\r\n }\r\n\r\n if (\r\n event.key === 'Enter' ||\r\n event.key === 'Tab' ||\r\n (event.keyCode === 188 && tagName !== '') ||\r\n (event.type === 'blur' && tagName !== '')\r\n ) {\r\n event.preventDefault();\r\n\r\n const reg = /^[a-zA-Z0-9 ]+$/;\r\n const regTest = reg.test(tagName);\r\n if (!regTest) {\r\n setCommaInTagName(true);\r\n return;\r\n }\r\n if (!!regTest) {\r\n tagName !== '' && handleAdd();\r\n }\r\n } else if (tagName === '' && event.key === 'Backspace') {\r\n handleBackspace();\r\n }\r\n if (tagName.length !== 0 && (!!commaInTagName || !!tagNameLength)) {\r\n if (event?.type === 'blur' || event?.type === 'keydown') {\r\n setCommaInTagName(false);\r\n setTagNameLength(false);\r\n }\r\n }\r\n };\r\n\r\n const handleNameChange = (value) => {\r\n use3dddPlus.setState({ logoName: value });\r\n if (designNameValidation === 'length') {\r\n setDesignNameValidation('');\r\n }\r\n };\r\n\r\n const handleAdd = () => {\r\n let newList = [...logoTag];\r\n if (!newList.includes(tagName.trim())) {\r\n newList.push(tagName.trim());\r\n }\r\n use3dddPlus.setState({ logoTag: newList.filter(Boolean) });\r\n setTagName('');\r\n };\r\n\r\n const handleBackspace = () => {\r\n let newList = [...logoTag];\r\n newList.pop();\r\n use3dddPlus.setState({ logoTag: newList.filter(Boolean) });\r\n };\r\n\r\n const handleDelete = (e) => {\r\n const newList = logoTag.filter((item) => item !== e);\r\n use3dddPlus.setState({ logoTag: newList });\r\n };\r\n const onCancelHandler = () => {\r\n closeModal('', false, '', {});\r\n };\r\n return (\r\n <LogoEditorSaveDesignModal\r\n className={`md:absolute md:right-30 rounded-none p-0 md:h-auto max-h-screen max-w-[37.125rem] w-[80%] md:w-full m-[auto]\r\n `}\r\n >\r\n <button\r\n className=\"absolute right-[0.6875rem] top-[0.6875rem] px-[0.75rem] py-[0.75rem] hover:bg-[#E11A38] hover:text-[#ffffff] hover:rounded-none\"\r\n onClick={() => {\r\n use3dddPlus.getState().goBack();\r\n closeModal('', false, '', {});\r\n use3dddPlus.setState({ showCrossSave: false });\r\n \r\n }}\r\n >\r\n <RxCross2 strokeWidth={1} />\r\n </button>\r\n\r\n <div className={`flex h-max w-full`}>\r\n <div\r\n className={`w-full md:px-[112px] md:p-[98px] p-[30px] bg-white h-full flex justify-center`}\r\n >\r\n <div className=\"w-full\">\r\n <span\r\n className={`block mb-6 font-bold text-2xl lh-1 ${SECONDARY_COLOR} uppercase leading-[2.3125rem] font-bold ${EDIT_DESIGN_INFO_TEXT_COLOR_1} ${TEXT_SIZE_5}\r\n `}\r\n >\r\n {toggleSaveLogo.title}\r\n </span>\r\n <div>\r\n <div className=\"\">\r\n <CustomInput\r\n customLabelStyle={`${TEXT_SIZE_9} leading-[1.25rem] border-0 font-medium text-[#727272]`}\r\n value={logoName}\r\n onBlur={(e) =>\r\n handleNameChange(e?.target?.value?.trimStart())\r\n }\r\n type=\"text\"\r\n id=\"logoName\"\r\n name=\"logoName\"\r\n label=\"Design Name\"\r\n onChange={(e) =>\r\n handleNameChange(e?.target?.value?.trimStart())\r\n }\r\n customInputStyle={`${\r\n designNameValidation === 'length'\r\n ? `border border-[#e11a38]`\r\n : `border border-[#ecebed]`\r\n } text-[#727272] ${TEXT_SIZE_9} bg-transparent`}\r\n />\r\n </div>\r\n {designNameValidation === 'length' && (\r\n <div\r\n role=\"alert\"\r\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR}`}\r\n >\r\n * Please enter a name with at least 1 character\r\n </div>\r\n )}\r\n {designNameValidation === 'specialCharacter' && (\r\n <div\r\n role=\"alert\"\r\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR}`}\r\n >\r\n * Design Name can not have any special characters\r\n </div>\r\n )}\r\n <div\r\n className={`relative flex flex-row py-[0.695rem] border ${EDIT_DESIGN_INFO_INPUT_BORDER_COLOR} flex-wrap place-content-start mt-5 `}\r\n >\r\n <div className=\"flex flex-row gap-[0.5rem] flex-wrap items-center px-[1rem]\">\r\n {Array.isArray(logoTag) &&\r\n logoTag?.map((el: any, i) => (\r\n <div\r\n key={i}\r\n className={`${TEXT_SIZE_12} leading-[0.8125rem] flex h-[1.5rem] items-center pt-[0.375rem] pb-[0.3125rem] px-[0.5rem] rounded gap-[0.4375rem] ${EDIT_DESIGN_INFO_TEXT_COLOR_1} ${EDIT_DESIGN_INFO_BG_COLOR_4}`}\r\n >\r\n {el}\r\n <button onClick={() => handleDelete(el)}>\r\n <RxCross2\r\n className={`${EDIT_DESIGN_INFO_TEXT_COLOR_1} font-bold`}\r\n />\r\n </button>\r\n </div>\r\n ))}\r\n\r\n <div>\r\n <input\r\n name=\"tags\"\r\n type=\"text\"\r\n placeholder=\" \"\r\n className={` ${EDIT_DESIGN_INFO_TEXT_COLOR_3} font-medium block w-[6.25rem] focus:outline-none !border-0 py-0 focus:border-0 peer focus:ring-0 ring-0 px-4`}\r\n value={tagName}\r\n onChange={handleTagChange}\r\n onKeyDown={handleKeyDown}\r\n onBlur={handleKeyDown}\r\n onClick={(e) => {\r\n e.currentTarget.focus();\r\n }}\r\n />\r\n <label\r\n htmlFor=\"designTags\"\r\n className={` ${\r\n logoTag?.length > 0 || !!commaInTagName\r\n ? 'py-0 !top-0 !font-[13px] !text-[#727272] !bg-white !opacity-1 !left-[1rem]'\r\n : ''\r\n } ${TEXT_SIZE_9} peer-focus:${EDIT_DESIGN_INFO_TEXT_COLOR_1} font-medium leading-[1.25rem] absolute z-10 transition-all top-2 transform -translate-y-1/2 peer-placeholder-shown:-translate-y-1/2 peer-placeholder-shown:top-1/2 peer-focus:top-0 peer-focus:font-[13px] peer-focus:!bg-white peer-focus:-translate-y-[10px] peer-focus:opacity-1 peer-placeholder-shown:text-[#727272] left-4 `}\r\n >\r\n Tags\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n {(() => {\r\n switch (true) {\r\n case !!commaInTagName && !!tagNameLength:\r\n return (\r\n <div\r\n role=\"alert\"\r\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-5`}\r\n >\r\n * Tag Name can not have any special characters & Maximum\r\n number of tag can be 5\r\n </div>\r\n );\r\n case !!commaInTagName:\r\n return (\r\n <div\r\n role=\"alert\"\r\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-5`}\r\n >\r\n * Tag Name can not have any special characters\r\n </div>\r\n );\r\n case !!tagNameLength:\r\n return (\r\n <div\r\n role=\"alert\"\r\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-5`}\r\n >\r\n * Maximum number of tag can be 5\r\n </div>\r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n })()}\r\n {/* {!!commaInTagName && !!tagNameLength && (\r\n <div\r\n role=\"alert\"\r\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-5`}\r\n >\r\n * Tag Name can not have any special characters & Maximum\r\n number of tag can be 5\r\n </div>\r\n )}\r\n {!!commaInTagName && (\r\n <div\r\n role=\"alert\"\r\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-5`}\r\n >\r\n * Tag Name can not have any special characters\r\n </div>\r\n )}\r\n {!!tagNameLength && (\r\n <div\r\n role=\"alert\"\r\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-5`}\r\n >\r\n * Maximum number of tag can be 5\r\n </div>\r\n )} */}\r\n\r\n <div\r\n className={`${\r\n !disableSaveButton ? 'flex flex-col lg:flex-row' : ''\r\n } gap-[19px] leading-[23px] font-bold ${TEXT_SIZE_4} mt-5`}\r\n >\r\n {toggleSaveLogo.key === 'save' && (\r\n <>\r\n <button\r\n className={`md:btn-md lg:w-2/5 w-full rounded-none uppercase active:${SAVEBUTTON_BG_COLOR} ${\r\n isSaving ? 'bg-[#d77382]' : SAVEBUTTON_BG_COLOR\r\n } ${BUTTON_TEXT_COLOR} ${\r\n isSaving ? '' : 'hover:bg-[#E11A38]'\r\n }`}\r\n onClick={() => onSaveHandler()}\r\n disabled={isSaving}\r\n >\r\n SAVE\r\n </button>\r\n <button\r\n className={`md:btn-md lg:w-2/5 w-full rounded-none uppercase border border-1 border-[#5d5d5d] hover:text-[#ffffff] hover:bg-[#E11A38] hover:border-[#E11A38] justify-center items-center `}\r\n onClick={() => onCancelHandler()}\r\n >\r\n Cancel\r\n </button>\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </LogoEditorSaveDesignModal>\r\n );\r\n};\r\n","import React, { useRef, useEffect } from 'react';\r\n/**\r\n * Hook that alerts clicks outside of the passed ref\r\n */\r\nfunction useOutsideAlerter(ref: any, onClick: any) {\r\n useEffect(() => {\r\n /**\r\n * Alert if clicked on outside of element\r\n */\r\n function handleClickOutside(event: any) {\r\n if (ref.current && !ref.current.contains(event.target)) {\r\n // alert('You clicked outside of me!');\r\n onClick(event);\r\n }\r\n }\r\n function handleEscape(event: any) {\r\n if (event.key == 'Escape') onClick(event);\r\n }\r\n // Bind the event listener\r\n document.addEventListener('keydown', handleEscape);\r\n document.addEventListener('mousedown', handleClickOutside);\r\n return () => {\r\n // Unbind the event listener on clean up\r\n document.removeEventListener('mousedown', handleClickOutside);\r\n document.removeEventListener('keydown', handleEscape);\r\n };\r\n }, [ref]);\r\n}\r\n\r\n/**\r\n * Component that alerts if you click outside of it\r\n */\r\nfunction OutsideAlerter(props: any) {\r\n const wrapperRef = useRef(null);\r\n useOutsideAlerter(wrapperRef, props.onClick);\r\n\r\n return <div ref={wrapperRef}>{props.children}</div>;\r\n}\r\n\r\nexport default OutsideAlerter;\r\n","import React, { useState } from 'react';\r\nimport { ChromePicker } from 'react-color';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport OutsideAlerter from '../../hooks/outsideAlerter';\r\nexport const ColorPicker = () => {\r\n const [setDisplayProductColor, displayProductColor] = use3dddPlus(\r\n (state) => [state.setDisplayProductColor, state.displayProductColor],\r\n shallow\r\n );\r\n const [currentColor, setCurrentColor] = useState('#fff');\r\n\r\n const handleOnChange = (color) => {\r\n setCurrentColor(color.hex);\r\n const canvas = use3dddPlus.getState().fabricCanvas;\r\n canvas.backgroundColor = color.hex;\r\n canvas.renderAll();\r\n };\r\n\r\n return (\r\n <div className=\"absolute\">\r\n {displayProductColor && (\r\n <div className=\"relative top-[25vh] left-5 flex\">\r\n <OutsideAlerter onClick={() => setDisplayProductColor()}>\r\n <ChromePicker\r\n color={currentColor}\r\n onChange={handleOnChange}\r\n // onChangeComplete={handleOnChange}\r\n disableAlpha={true}\r\n onClose={() => setDisplayProductColor()}\r\n />\r\n </OutsideAlerter>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { Canvas } from '../canvas';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { UploadLogo } from '../uploadLogo';\r\nimport { Rightmenu } from '../Rightmenu';\r\nimport { AddMascot } from '../addMascot';\r\nimport { MyLogo } from '../myLogo';\r\nimport { SaveDesign } from '../saveDesign';\r\nimport {ColorPicker} from '../leftMenu/colorPicker'\r\nexport const MiddleMenu = ({ onApply, onSaveLogo }) => {\r\n const [selectedStepper, toggleSaveLogo, loadingLogo] = use3dddPlus(\r\n (state) => [state.selectedStepper, state.toggleSaveLogo, state.loadingLogo],\r\n shallow\r\n );\r\n React.useEffect(() => {\r\n if (selectedStepper === 2) loadingLogo('');\r\n }, []);\r\n return (\r\n <>\r\n <div className=\" flex flex-col md:flex-row flex-1 z-0 w-[90%] h-full\">\r\n <div className=\"flex w-[70%] h-[100%]\">\r\n <Canvas />\r\n </div>\r\n {toggleSaveLogo.status && <SaveDesign onSaveLogo={onSaveLogo} />}\r\n <div className=\"flex-1 z-[7] h-full\">\r\n <Rightmenu />\r\n </div>\r\n </div>\r\n {selectedStepper === 1 && <UploadLogo />}\r\n {selectedStepper === 4 && <AddMascot />}\r\n {selectedStepper === 2 && <MyLogo onApply={onApply} />}\r\n {selectedStepper === 5 && <ColorPicker />}\r\n </>\r\n );\r\n};\r\n","// FontLoader.ts\r\n\r\nimport { useEffect } from 'react';\r\n\r\nconst FontLoader = ({ fontPath }) => {\r\n useEffect(() => {\r\n const timeStamp = Date.now();\r\n // @ts-ignore\r\n const font = new FontFace(\r\n fontPath.name,\r\n `url('${fontPath.src}?timestamp=${timeStamp})`\r\n );\r\n font\r\n .load()\r\n .then((value) => {\r\n //@ts-ignore\r\n document.fonts?.add(value);\r\n document.body.classList.add('fonts-loaded');\r\n // console.log(`Font ${fontPath.name} is available`);\r\n })\r\n .catch((error) => {\r\n console.error('Font is not available', error);\r\n });\r\n }, [fontPath]);\r\n\r\n return null;\r\n};\r\n\r\nexport default FontLoader;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Modal } from './components';\r\nimport { ToastContainer, Bounce } from 'react-toastify';\r\nimport { LeftMenu } from './components/leftMenu';\r\nimport { Loader } from './components/loader';\r\nimport { MiddleMenu } from './components/middleMenu';\r\nimport FontLoader from './loaders/FontLoader';\r\nimport { use3dddPlus } from './store';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport './index.css';\r\n\r\nconst LogoEditor = ({\r\n stepperId,\r\n onApply,\r\n customLogoColorList,\r\n defaultColorList,\r\n logoData,\r\n customerId,\r\n onSaveLogo,\r\n onClose,\r\n}) => {\r\n const [setSelectedStepper, loading, myLogoHandler] = use3dddPlus((state) => [\r\n state.setSelectedStepper,\r\n state.loading,\r\n state.myLogoHandler,\r\n ]);\r\n const [fontFamilies, setFontFamilies] = useState([]);\r\n\r\n useEffect(() => {\r\n setSelectedStepper(stepperId);\r\n if (stepperId === undefined) {\r\n myLogoHandler(logoData);\r\n }\r\n use3dddPlus.setState({ customUploadLogoColorList: customLogoColorList });\r\n use3dddPlus.setState({ defaultColorList: defaultColorList });\r\n use3dddPlus.setState({ customerId: customerId });\r\n\r\n fetch(\r\n 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/fontFamilies.json'\r\n )\r\n .then((response) => response.json())\r\n .then((data) => setFontFamilies(data))\r\n .catch((error) => console.error('Error fetching font families:', error));\r\n }, [\r\n stepperId,\r\n customLogoColorList,\r\n defaultColorList,\r\n customerId,\r\n logoData,\r\n myLogoHandler,\r\n setSelectedStepper,\r\n ]);\r\n\r\n return (\r\n <Modal\r\n backdropStyle=\"z-[7]\"\r\n contentStyle=\"top-0 bottom-0 !m-[auto] z-[7] w-[80%] p-0\"\r\n crossOnClick={onClose}\r\n >\r\n <div className=\"flex flex-col md:flex-row w-full h-[88vh]\">\r\n <ToastContainer\r\n position=\"top-center\"\r\n autoClose={3000}\r\n hideProgressBar\r\n newestOnTop={false}\r\n closeOnClick\r\n rtl={false}\r\n pauseOnFocusLoss\r\n draggable\r\n pauseOnHover\r\n theme=\"colored\"\r\n transition={Bounce}\r\n />\r\n {fontFamilies.map((font, index) => (\r\n <FontLoader key={index} fontPath={font} />\r\n ))}\r\n {loading && <Loader />}\r\n <div className=\"w-[10%] h-[100%]\">\r\n <LeftMenu />\r\n </div>\r\n <div className=\"flex h-full w-[90%] flex-1\">\r\n <MiddleMenu onApply={onApply} onSaveLogo={onSaveLogo} />\r\n </div>\r\n </div>\r\n </Modal>\r\n );\r\n};\r\n\r\nexport default LogoEditor;\r\n"],"names":["Icon","React","forwardRef","_ref","ref","label","icon","className","props","_objectWithoutPropertiesLoose","_excluded","tooltip","useTooltipState","placement","TooltipReference","as","Button","Tooltip","style","zIndex","IconButton","_ref2","_ref2$size","size","_ref2$icon","undefined","_excluded2","IconContext","Provider","value","HorizontalFlip","GenIcon","tag","attr","xmlns","width","height","viewBox","child","d","VerticalFlip","fill","stroke","transform","Error","cx","cy","r","RLogo","id","fillRule","strokeWidth","MyLogo","AddText","FlipH","FlipV","SelectAll","_extends","rx","x","y","Copy","SendToBack","SendToFront","SendAObject","SendUnderObject","EyeDropper","Delete","SnapToCenter","CustomToast","type","message","toastId","toast","info","toastGen","error","success","warning","toastMessages","deleteLogoSuccess","e","saveSuccess","somethingWentWrong","updateLogoSuccess","updateSuccess","noOfColors","noIteminCanvas","graphqlSlice","set","get","displayLoginModal","showProductBreakUpModal","status","loadDesignModal","productInfoModal","toggleSaveLogo","key","title","details","showModalAfterLogin","selectedDesign","changeModel","alert","confirmDesignModal","confirmUpdateDesignModal","toggleSuccessfullDesign","designUpdateSuccessfulModal","getListFromRack","setSelectedDesign","selected","setLoadDesignModal","loadDesign","clearLayers","use3dddPlus","setState","storeAllObject","setToggleSaveLogo","setConfirmDesignModal","setConfirmUpdateDesignModal","state","setToggleSuccessfullDesign","setProductInfoModal","editDesignInfo","saveDesignModal","current","getState","navigateTo","logoName","designNotes","logoTag","string","characters","i","charAt","Math","floor","random","length","designNumber","customerId","toggleLoginModal","setShowModalAfterLogin","disableSaveButton","_unused","share","saveRackSuccessfulModal","setSaveRackSuccessfulModal","toggleAction","toogleShowProductBreakUpModal","disableUpdate","productBreakup","logoSearchText","logoSortBy","logoSortDir","logoPageNo","logoPageSize","showCrossSave","baseURL","process","env","REACT_APP_LAMBDA_URL","instance","axios","create","timeout","headers","Authorization","responseBody","response","data","requests","url","then","post","body","config","put","_delete","lambdaSlice","_set","_get","lambdaClient","loadingLogo","_loadingLogo","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_data","res","wrap","_callee$","_context","prev","next","loading","sent","retriveLogoDesign","abrupt","t0","console","stop","_x","apply","arguments","getStockLogos","_getStockLogos","_callee2","_callee2$","_context2","fabric","Object","prototype","hasControls","hasBorders","stockLogos","saveLogo","_saveLogo","_callee3","logo","_callee3$","_context3","_x2","saveDesignSlice","designImageUrl","designProofPdfUrl","designConfig","designId","hasDesignNumber","showSaveCTA","showSaveRackCTA","_oldURL","REACT_APP_IMAGE_URL_OLD","_newURL","REACT_APP_IMAGE_URL","URLMapping","includes","replace","constructMappingItem","texture","item","name","path","ProductMedium","Image_URL","__typename","flipY","getImageURL","getCookie","cname","decodedCookie","decodeURIComponent","document","cookie","ca","split","c","substring","indexOf","setCookie","cvalue","exdays","Date","setTime","getTime","expires","toUTCString","clearCookie","encryptToken","CryptoJS","AES","encrypt","JSON","stringify","toString","decryptToken","ciphertext","bytes","decrypt","parse","enc","Utf8","getProjectId","queryString","window","location","search","urlParams","URLSearchParams","projectId","REACT_APP_3DDDPLUS_PROJECTID","parseJwt","token","base64Url","base64","jsonPayload","_window","_window$atob","atob","_window$atob$split","map","charCodeAt","slice","join","dataURItoBlob","dataURI","byteString","ab","ArrayBuffer","ia","Uint8Array","File","saveFile","strData","filename","link","createElement","appendChild","download","href","click","removeChild","restrictSpecialCharacters","which","keycode","preventDefault","clearSessionStorage","sessionStorage","removeItem","getSessionStorage","sName","getItem","setSessionStorage","setItem","authSlice","customUploadLogoColorList","defaultColorList","priceLevel","clearLoginInfo","authType","cardCode","customerEmail","customerType","generateCustomizerToken","setInCookies","customizerToken","setCustomizerToken","isLoggedIn","historySlice","history","page","concat","goBack","previousPage","pop","fabricSlice","popUpCanvasCount","popupCanvasStoreHistory","availableMascots","filteredMascots","logoData","setLogoData","allColor","selectedStepper","setSelectedStepper","hasUploadScreen","setHasUploadScreen","storeHistory","fabricCanvas","popupCanv","textInfo","uploadImageModalDisplay","currentSelection","activeSelection","selectedAll","colorFill","defaultColorFill","loadedObject","defaultColorFillCopy","iconImage","HideControls","tl","tr","bl","br","ml","mt","mr","mb","mtr","showContextMenu","forStoringAllObject","unshift","forIconCapture","activeObject","getActiveObject","dataURL","toDataURL","nameCounter","guid","u","now","repeat","substr","duplicateObject","activeObj","clipboard","clone","cloned","clonedObj","discardActiveObject","evented","canvas","forEachObject","obj","index","_objects","pathData","shapeSize","shapeType","fontFamily","fontWeight","fontSize","charSpacing","textAlign","fontStyle","text","add","setCoords","top","left","setActiveObject","brNew","getBoundingRect","updateModifaction","deleteButtonControls","count","skipEvent","undo","clear","renderAll","loadFromJSON","getObjects","forEach","remove","horizontalLine","Line","scaleX","visible","selectable","verticalLine","centerH","sendToBack","canvasGetobject","element","redo","abs","sendBackwards","moveDown","moveUp","moveRight","moveLeft","applyColorFill","canvasData","toJSON","objects","setDefaultColorFill","dcf","setDefaultColorFillCopy","toSet","push","contextMenuCoordinates","stockLogoHandler","logos","testSVG","loadSVGFromURL","options","util","groupSVGElements","scaleToWidth","scaleToHeight","objImage","_Fills","ele","fillColor","removeDuplicates","fillColors","centerObject","myLogoHandler","jsonData","logo_config_url","requestOptions","method","fetch","result","loadingRetrivedFiles","log","bind","backgroundColor","uploadLogoConfig","_uploadLogoConfig","jsonConfig","bucketName","region","S3","microTime","filePath","params","s3UrlPath","REACT_APP_BUCKET","REACT_APP_REGION","AWS","update","accessKeyId","REACT_APP_ACCESSKEY","secretAccessKey","REACT_APP_SECRET_ACCESSKEY","Bucket","Key","Body","ContentType","Promise","resolve","reject","putObject","err","setAvailableMascots","setFilteredMascots","handleMascotObjectFilterValues","event","filterValue","thumbnail","filteredData","filter","tags","displayProductColor","setDisplayProductColor","popUpCanvasAllColor","popUpCanvasApplyColorFill","popUpCanvasData","popUpCanvasUpdateModification","historyObject","json","popUpCanvasUndo","_V","createCheckerboardRect","isEvenRow","rect","Rect","lockMovementX","lockMovementY","lockScalingX","lockScalingY","gridSize","colors","canvasWidth","canvasHeight","numCols","ceil","numRows","line","j","popUpCanvasRedo","forPopupCanvasReset","forPopupCanvasColor","imageData","lastPosition","setLastPosition","TIFFParser","tiffDataView","littleEndian","fileDirectories","isLittleEndian","BOM","getBytes","TypeError","hasTowel","RangeError","getFieldTagName","fieldTag","fieldTagNames","fieldTagName","getFieldTypeName","fieldType","fieldTypeNames","fieldTypeName","getFieldTypeLength","fieldTypeLength","getBits","numBits","byteOffset","bitOffset","extraBytes","newByteOffset","totalBits","shiftRight","shiftLeft","rawBits","getUint8","getUint16","getUint32","chunkInfo","bits","numBytes","offset","getFieldValues","typeCount","valueOffset","fieldValues","fieldValueSize","indexOffset","a","String","fromCharCode","clampColorSample","colorSample","bitsPerSample","multiplier","pow","makeRGBAFillValue","g","b","parseFileDirectory","numDirEntries","tiffFields","entryCount","values","nextIFDByteOffset","parseTIFF","tiffArrayBuffer","DataView","firstIFDByteOffset","fileDirectory","imageWidth","ImageWidth","imageLength","ImageLength","strips","compression","Compression","samplesPerPixel","SamplesPerPixel","sampleProperties","bitsPerPixel","hasBytesPerPixel","BitsPerSample","bitsPerSampleValues","hasBytesPerSample","bytesPerSample","bytesPerPixel","stripOffsetValues","StripOffsets","numStripOffsetValues","StripByteCounts","stripByteCountValues","stripOffset","stripByteCount","jIncrement","getHeader","pixel","sample","currentSample","m","sampleOffset","sampleInfo","blockLength","iterations","header","getInt8","currentByte","getContext","ctx","fillStyle","RowsPerStrip","rowsPerStrip","numStrips","imageLengthModRowsPerStrip","rowsInLastStrip","numRowsInStrip","numRowsInPreviousStrip","photometricInterpretation","PhotometricInterpretation","extraSamplesValues","numExtraSamples","ExtraSamples","ColorMap","colorMapValues","colorMapSampleSize","numPixels","yPadding","pixelSamples","red","green","blue","opacity","k","invertValue","samples","colorMapIndex","fillRect","optionpresets","corsenabled","ltres","qtres","pathomit","rightangleenhance","colorsampling","numberofcolors","mincolorratio","colorquantcycles","layering","strokewidth","linefilter","scale","roundcoords","viewbox","desc","lcpr","qcpr","blurradius","blurdelta","pal","converterSlice","processImage","svgstr","colorValue","canvasToLoad","loadSVGFromString","svgData","getDesignConceptSVGData","resItem","node","_resItem$node$childre","_resItem$node$childre2","children","getAttribute","pathStartOffset","parseFloat","startOffset","baseVal","valueAsString","_canvasToLoad","val","minX","fillCounts","colorObjects","_ele$id","pixelCount","sortedFillColors","keys","sort","topColors","colorObjectsHex","_C","RGBToHex","hex","defaultCF","cf","property","updated","euclideanDistance","color1","color2","c1","Color","getSource","c2","diffR","diffG","diffB","sqrt","colorMap","color","closestColor","reduce","curr","prevDiff","currDiff","setControlVisible","_use3dddPlus$getState","_use3dddPlus$getState2","_use3dddPlus$getState3","parser","DOMParser","xmlDoc","parseFromString","textElements","querySelectorAll","textElement","hrefValue","_textElement$getAttri","_textElement$parentNo","parentNode","file","setFile","tiffConvert","_tiffConvert","tiffParser","canvasEl","arrayBuffer","tiffCanvas","imageUrl","aiConvert","_aiConvert","aiFile","formData","FormData","append","loadImageFromURL","_loadImageFromURL","blob","_x3","_x4","imageToSVG","ext","isSVG","convert","reader","FileReader","onload","target","readAsText","ImageTracer","toLowerCase","jpg","png","refreshColor","arr","rgb","rgba","parseInt","sep","changeSVGColor","defaultColorObject","find","addText","Text","lineHeight","paintFirst","padding","lockScalingFlip","layer0","setControlsVisibility","pdfConverter","_resolve","_callee4","buffer","_B","_callee4$","_context4","convertPdfToImages","readAsArrayBuffer","_convertPdfToImages","_callee5","pdf","viewport","context","_callee5$","_context5","pdfjsLib","promise","numPages","getPage","getViewport","render","canvasContext","_x5","threedddPlusState","actionSlice","subscribeWithSelector","datasbase","icons","onClick","IconButtonLabel","_ref$className","_ref$label","_ref$iconPosition","iconPosition","EditButton","SECONDARY_COLOR","BORDER_COLOR_1","BORDER_COLOR_3","SELECT_BG_COLOR","SELECT_TEXT_COLOR","TEXT_SIZE_1","TEXT_SIZE_2","TEXT_SIZE_3","TEXT_SIZE_4","TEXT_SIZE_5","TEXT_SIZE_9","TEXT_SIZE_12","BUTTON_TEXT_COLOR","INPUT_BG_COLOR","TEXT_COLOR_1","BACKDROP_BLUR","BACKDROP_BLUR_BG_COLOR","MODAL_BG_COLOR","INPUT_TEXT_DISABLE_COLOR","SEARCH_ICON_COLOR","SEARCHBAR_BORDER_COLOR","CANVAS_MENU_TEXT","TAG_BG_COLOR","TAG_TEXT_COLOR","SAVERACK_TEXT_COLOR","SAVEBUTTON_BG_COLOR","EDIT_DESIGN_INFO_TEXT_COLOR_1","EDIT_DESIGN_INFO_TEXT_COLOR_3","EDIT_DESIGN_INFO_INPUT_BORDER_COLOR","EDIT_DESIGN_INFO_BG_COLOR_4","INPUT_ERROR_TEXT_COLOR","ToolTip","arrowOnTop","ActionButtons","_use3dddPlus","shallow","selectAllHandler","sel","ActiveSelection","requestRenderAll","deleteHandler","findIndex","splice","canvasActions","disabled","MdLayers","CgUndo","CgRedo","justifyContent","NudgeButtons","textSelected","nudgeMove","aCoords","marginTop","marginBottom","version","initCanvas","left1","top1","scale1x","scale1y","width1","height1","onObjectSelected","_e$selected","_e$selected$","canv","getAllColors","onObjectDeselected","onObjectUpdated","_e$selected2","_e$selected2$","onObjectMoving","isNaN","pointer","max","min","scaleY","isObjectInCenter","isObjectInHorizontalCenter","isObjectInVerticalCenter","outerCanvasContainer","getElementById","fontList","Set","fonts","font","family","Array","from","FontFaceObserver","load","Canvas","centeredScaling","preserveObjectStacking","stopContextMenu","clientWidth","clientHeight","canvasCenterX","canvasCenterY","objCenterX","objCenterY","threshold","getHeight","scaledObjCenterY","scaledObjCenterX","deleteImg","src","rotateImg","settingImg","objectCaching","transparentCorners","cornerColor","cornerStrokeColor","borderColor","cornerSize","cornerStyle","borderDashArray","renderIcon","fabricObject","save","translate","rotate","degreesToRadians","angle","drawImage","restore","controls","deleteControl","Control","offsetY","offsetX","cursorStyle","mouseUpHandler","deleteObject","settingControl","getElement","getBoundingClientRect","clientX","clientY","eventData","canvasTarget","actionHandler","controlsUtils","rotationWithSnapping","actionName","withConnection","_canv$getObjects","flat","Boolean","on","lockRotation","centeredRotation","ContextMenu","flipX","bringForward","bringToFront","snapToCenter","originX","copy","menu","onclick","canvasRef","useRef","resizeCanvas","containerWidth","getWidth","zoom","getZoom","setWidth","setHeight","setViewportTransform","useEffect","addEventListener","fontFamilyURL","FontFace","_document$fonts","classList","position","border","boxShadow","onBlur","Card","cardClass","CardBody","bodyClass","CardCheckMark","checkMarkClass","IoMdCheckmarkCircle","CardDownloadIcon","downloadClass","downloadIconClass","iconClass","pdfUrl","HiOutlineDownload","CardFlag","flag","flagClass","CardMedia","alt","imageClass","role","backgroundImage","CardTags","tagsClass","CardTitle","titleClass","CardDescription","descriptionClass","FileUploadButton","onFileSelect","fileInputRef","_useState","useState","isDragging","setIsDragging","handleFileSelect","selectedFile","_event$target$files","files","handleDragEnter","handleDragLeave","handleDrop","droppedFile","dataTransfer","onDragEnter","onDragLeave","onDragOver","onDrop","htmlFor","MdOutlineFileUpload","_fileInputRef$current","onChange","accept","defaultColorNames","ColorPalette","previousColor","_ref$previousClass","previousClass","_ref$mainIndex","mainIndex","handleColorChange","_ref$style","selectColor","setSelectColor","colorList","handleColorClick","ColorBox","boxClass","_ref2$boxClass","background","marginLeft","ColorImpl","getLable","colorCode","mClass","stopPropagation","setDisplayPallet","callback","setPosition","innerHeight","Initpopup","popupcanvas","toActiveSelection","viewportCenter","getAllColorsPopupCanvas","_popupcanvas$getObjec","defaultCursor","hoverCursor","PopUpCanvas","popupCanvas","colorCount","setColorCount","_useState2","colorFillCount","setColorFillCount","_useState3","isRefresh","setIsRefresh","_useState4","isNextClicked","setIsNextClicked","defaultColorFillRef","_useState5","displayPallet","_useState6","hasPallet","_defaultColorFill$fin","setTimeout","onColorUpdate","handleColorCountChange","Number","removeColorPalatte","mouseClick","getPointer","removedColors","containsPoint","defaultColorsCopy","rc","dc","removeEventListener","popupCanvasCancel","popupCanvasContinue","conflictColors","onContinue","objs","alltogetherObj","Group","resetHandler","onSelectColor","onPopUpCanvasUndo","currentColors","colorFromDefaultCopy","dcc","useMemo","overflow","alignItems","CgArrowRight","cursor","GiDrop","handleChange","MdOutlineCancel","bottom","right","mixBlendMode","mainClass","display","UploadLogo","setSelectedFile","svgConverter","tiffData","aiToSvg","objectURL","lastIndexOf","s3_file_url","svgText","ex","URL","createObjectURL","Searchbar","onKeyPress","onPaste","placeholder","searchBarMainClass","currentTarget","focus","input","InputImpl","Modal","backdropStyle","contentStyle","crossOnClick","modalStyle","open","RxCross2","ModalButtons","buttonMainClass","buttons","button","buttonClass","ModalDownloadIcon","ModalHeading","headingStyle","ModalLabel","labelStyle","ModalStatusIcon","onIconClick","iconStyle","SortAndFilterButton","buttonLabelClass","SortByDropdown","sortOptions","isDropdownOpen","setIsDropdownOpen","dropdownRef","toggleDropdown","closeDropdown","handleOutsideClick","contains","BsSortDown","option","sortBy","sortDir","useDebounce","milliSeconds","debouncedValue","setDebouncedValue","handler","clearTimeout","onApply","_React$useState","logoSelected","setLogoSelected","scrollEnd","setScrollEnd","morePages","setMorePages","myRef","debouncedSearchText","handleSearchChange","handleScroll","useCallback","scrollY","scrollTop","scrollHeight","tolerance","fetchData","updatedState","handleEditLogo","handleApplyLogo","onScroll","_logo$tag","_logo$tag$split","_logo$tag$split$filte","logo_id","logo_url","BsCheckLg","LeftMenu","StepperList","FaRegImage","BiSolidColorFill","step","Loader","_ref$position","_ref$height","loaderRef","UpIcon","DownIcon","DeleteIcon","Layers","onSave","deleteElement","changeArr","fromIndex","toIndex","layerHandle","direction","currentObject","margin","fontFamilies","textShapes","tabs","warpTypes","None","Arc","Bridge","Bowtie","textProperties","errorPopup","TextProperties","onTextChange","fontChange","textStyle","textColorChange","textAlignDisplay","activeButton","textAlignHandler","textOutlineHandler","strokeColorChange","textSpacingHandler","textShapeChange","shapeSizeVal","textShapeSizeHandler","list","underline","FiAlignLeft","FiAlignCenter","FiAlignRight","ErrorColorDiv","Properties","activeTab","setTextAlignDisplay","bold","italic","setFontStyle","setActiveButton","setShapeSizeVal","textLength","setTextLength","bridgeshapeBendSize","setBridgeShapeBendSize","_useState7","bowtieshapeBendSize","setBowtieShapeBendSize","newSize","valueAsNumber","setShapeSizeOnTextPath","applyTextProperties","newTextPath","prop","setNewPathDimensions","dims","Path","toClipPathSVG","bendValue","warpType","warp","bend","output","dimensions","_calcDimensions","updateStoreAllObject","_ref3","textValue","lines","isFontWithCamelCase","formattedText","Configuration","fontWithCamelCase","toUpperCase","reduceFontSize","_ref4","_ref5","_property","activeText","dublicateText","oldCharSpacing","_extends2","changeSVGTextColor","SelectedObjet","tempColorFill","textToPath","_ref6","promises","pathObj","object","fontSource","o","getPath","fabricPath","toPathData","all","bridgeShapeChange","_ref7","textChange","p","_text","_dims","trim","_removeCacheCanvas","_x6","_x7","_x8","_x9","_x10","_x11","_x12","_ref8","_callee6","_activeObj","_callee6$","_context6","mergedColors","_Object$keys","tempColors","uniqueColors","_Object$keys2","ErrorPopup","t","s","h","exports","l","call","defineProperty","configurable","enumerable","n","__esModule","hasOwnProperty","_class","source","A","B","C","D","Aleft","Atop","Btop","Bright","Cright","Cbottom","Dbottom","Dleft","ABx","ABy","CDx","CDy","BCx","BCy","ADx","ADy","STEPS","distortX","distortY1","distortY2","T1","T2","kAB","kBC","kCD","kAD","applyParameters","_proto","_parameters","PI","sin","cos","kt","distortV","distortH","setAnchors","setArc","setArcLower","setArcUpper","setArch","setBulge","setFlag","setFish","setRise","setInflate","setSqueeze","setWaveLower","setWaveUpper","setControls","changeCubic","_changePoint","getPointOn","getNewSegment","changePoint","calculateArms","_class2","Exception","_props","_createClass","_class3","_class4","vertical","commands","parseString","_proto2","match","calcRectangle","xMin","yMin","xMax","yMax","Rightmenu","initTE","Tab","setActiveTab","defaultColor","hasTransparent","removeColorPalette","unSub","subscribe","_current","_previous","tab","DropdownIndicator","components","control","base","isFocused","isSelected","ListDropdown","dropdownData","handleSelected","setData","Select","defaultValue","isSearchable","IndicatorSeparator","styles","decorationData","code","description","linkedNodes","threeD","getDecorationDataByTypeAndParentId","parentId","AddMascot","flatMap","mascot","labelClass","labelSpan","dropdownClass","dropdownLiClass","LogoEditorSaveDesignModal","CustomInput","customLabelStyle","customInputStyle","onKeyDown","FloatingLabel","variant","theme","outlined","sm","md","helperText","SaveDesign","onSaveLogo","designNameValidation","setDesignNameValidation","commaInTagName","setCommaInTagName","tagNameLength","setTagNameLength","isSaving","setIsSaving","closeModal","tagName","setTagName","checkValidations","nameValidation","onSaveHandler","pathTextsData","pathTextsKeys","dataCh","S3UrlPath","canvasSvg","raw","round","assign","toSVG","customer_id","base64_image","svg_image","reg","regTest","test","handleTagChange","_event$target","handleKeyDown","keyCode","handleAdd","handleBackspace","handleNameChange","newList","handleDelete","onCancelHandler","_e$target","_e$target$value","trimStart","_e$target2","_e$target2$value","isArray","el","useOutsideAlerter","handleClickOutside","handleEscape","OutsideAlerter","wrapperRef","ColorPicker","currentColor","setCurrentColor","handleOnChange","ChromePicker","disableAlpha","onClose","MiddleMenu","FontLoader","fontPath","timeStamp","LogoEditor","stepperId","customLogoColorList","setFontFamilies","ToastContainer","autoClose","hideProgressBar","newestOnTop","closeOnClick","rtl","pauseOnFocusLoss","draggable","pauseOnHover","transition","Bounce"],"mappings":"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"}
1
+ {"version":3,"file":"logoeditor.esm.js","sources":["../src/components/icon/icon.tsx","../src/components/icon/horizontalFlip.tsx","../src/components/icon/verticalFlip.tsx","../src/components/icon/error.tsx","../src/components/icon/rLogo.tsx","../src/components/icon/myLogo.tsx","../src/components/icon/addText.tsx","../src/components/icon/flipH.tsx","../src/components/icon/flipV.tsx","../src/components/icon/selectAll.tsx","../src/components/icon/copy.tsx","../src/components/icon/sendToBack.tsx","../src/components/icon/sendToFront.tsx","../src/components/icon/sendAboveObject.tsx","../src/components/icon/sendUnderObject.tsx","../src/components/icon/eyedropper.tsx","../src/components/icon/delete.tsx","../src/components/icon/snapToCenter.tsx","../src/components/customToast/customToast.tsx","../src/store/actions/toastMessages.ts","../src/store/actions/index.ts","../src/axios/index.ts","../src/store/lambda/index.ts","../src/store/saveDesign/index.tsx","../src/services/UrlMapping.ts","../src/services/cookies.ts","../src/services/token.ts","../src/services/getDom.ts","../src/services/saveFile.ts","../src/services/restrictSpecialCharacters.ts","../src/services/sessionStorage.ts","../src/store/auth/index.ts","../src/store/history/index.ts","../src/store/fabric/index.ts","../src/loaders/tiffParser.js","../src/data.ts","../src/store/converters/index.ts","../src/store/index.ts","../src/components/button/button.tsx","../src/components/button/iconButton.tsx","../src/components/button/editButton.tsx","../node_modules/style-inject/dist/style-inject.es.js","../src/theme.ts","../src/components/toolTip/toolTip.tsx","../src/components/canvas/canvasButtons.tsx","../src/components/canvas/nudgeButtons.tsx","../src/store/fabric/fabricCanvas.ts","../src/components/contextMenu/contextMenu.tsx","../src/components/canvas/canvas.tsx","../src/components/card/card.tsx","../src/components/card/cardbody.tsx","../src/components/card/cardcheckmark.tsx","../src/components/card/carddownloadicon.tsx","../src/components/card/cardflag.tsx","../src/components/card/cardmedia.tsx","../src/components/card/cardtags.tsx","../src/components/card/cardtitle.tsx","../src/components/card/carddescription.tsx","../src/components/uploadLogo/fileuploadButton.tsx","../src/assets/colors/colors.ts","../src/components/colorPallet/colorPalette.tsx","../src/components/colorPallet/color.tsx","../src/store/fabric/Popupcanvas.ts","../src/components/canvas/popUpCanvas.tsx","../src/components/uploadLogo/uploadLogo.tsx","../src/components/searchbar/searchbar.tsx","../src/components/input/input.tsx","../src/components/modal/modal.tsx","../src/components/modal/modalButtons.tsx","../src/components/modal/modalDownloadIcon.tsx","../src/components/modal/modalHeading.tsx","../src/components/modal/modalLabel.tsx","../src/components/modal/modalStatusIcon.tsx","../src/components/SortByDropdown/sortButton.tsx","../src/components/SortByDropdown/sortByDropdown.tsx","../src/hooks/debounce/useDebounce.tsx","../src/components/myLogo/myLogo.tsx","../src/components/leftMenu/leftMenu.tsx","../src/components/loader/loader.tsx","../src/components/Rightmenu/icons.tsx","../src/components/Rightmenu/Layers.tsx","../src/components/Rightmenu/constants.ts","../src/components/canvas/errorPopUp.tsx","../src/components/Rightmenu/TextProperties.tsx","../src/components/Rightmenu/Properties.tsx","../src/services/path-warp.js","../src/components/Rightmenu/Rightmenu1.tsx","../src/components/addMascot/listDropDown.tsx","../src/components/addMascot/mockData.ts","../src/components/addMascot/decorationService.ts","../src/components/addMascot/addMascot.tsx","../src/components/saveDesign/saveDesignModal.tsx","../src/components/input/customInput.tsx","../src/components/saveDesign/saveDesign.tsx","../src/hooks/outsideAlerter.tsx","../src/components/leftMenu/colorPicker.tsx","../src/components/middleMenu/middleMenu.tsx","../src/loaders/FontLoader.tsx","../src/LogoEditor.tsx"],"sourcesContent":["import React from 'react';\r\nimport { IconContext, IconType } from 'react-icons';\r\nimport { Button, Tooltip, TooltipReference, useTooltipState } from 'reakit';\r\n\r\nexport interface IconButtonProps\r\n extends Exclude<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\r\n icon?: React.ReactElement<IconType>;\r\n label: string;\r\n}\r\nconst Icon = React.forwardRef<HTMLButtonElement, IconButtonProps>(\r\n ({ label, icon, className, ...props }, ref) => {\r\n const tooltip = useTooltipState({ placement: 'top' });\r\n return (\r\n <>\r\n <TooltipReference\r\n ref={ref}\r\n {...props}\r\n {...tooltip}\r\n as={Button}\r\n className={`${className} flex relative items-center justify-center align-middle w-auto text-sm font-semibold h-5 first:rounded-l last:rounded-r focus:outline-none`}\r\n aria-label={label}\r\n >\r\n {icon}\r\n </TooltipReference>\r\n {label && label !== '' && (\r\n <Tooltip\r\n {...tooltip}\r\n className={`font-[Roboto-Medium] font-medium mb-[5px] text-[13px] capitalize before:content-[''] before:absolute before:top-[80%] before:left-[calc(50%-7px)] before:bg-[#fce8eb] before:rotate-[44deg] before:border before:border-b-[#f3a2af] before:border-r-[#f3a2af] before:border-l-transparent before:rounded-none before:border-t-transparent before:h-[14px] before:w-[14px] !z-[100] inline-block px-3 py-2 text-[#5d5d5d] transition-opacity duration-300 bg-[#fce8eb] shadow-sm border border-[#f3a2af]`}\r\n style={{ zIndex: 10 }}\r\n >\r\n {label}\r\n </Tooltip>\r\n )}\r\n </>\r\n );\r\n }\r\n);\r\n\r\nexport const IconButton = ({\r\n label,\r\n\r\n className,\r\n size = '2rem',\r\n icon = undefined,\r\n ...props\r\n}) => {\r\n return (\r\n <IconContext.Provider\r\n value={{\r\n size: size,\r\n className: 'pointer-events-auto cursor-pointer',\r\n }}\r\n >\r\n <Icon label={label} icon={icon} className={className} {...props} />\r\n </IconContext.Provider>\r\n );\r\n};\r\n\r\n\r\nexport {\r\n IoIosColorPalette,\r\n IoMdCheckmarkCircle,\r\n IoIosArrowForward,\r\n} from 'react-icons/io';\r\nexport { HiOutlineDownload, HiDotsVertical } from 'react-icons/hi';\r\nexport {\r\n FaRegSave,\r\n FaRegShareSquare,\r\n FaPlus,\r\n FaRegListAlt,\r\n FaEye,\r\n FaEyeSlash,\r\n} from 'react-icons/fa';\r\nexport { BiReset, BiAddToQueue } from 'react-icons/bi';\r\nexport { GiBilledCap, GiCardboardBox } from 'react-icons/gi';\r\nexport { TbWindowMinimize } from 'react-icons/tb';\r\nexport { RxCross2 } from 'react-icons/rx';\r\nexport { IoInformationCircleOutline, IoLogInOutline } from 'react-icons/io5';\r\nexport { CgMenuBoxed } from 'react-icons/cg';\r\nexport { IoIosInformationCircleOutline } from 'react-icons/io';\r\nexport { LuFlipHorizontal2, LuFlipVertical2 } from 'react-icons/lu';\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const HorizontalFlip = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '25.969',\r\n height: '22.478',\r\n viewBox: '0 0 25.969 22.478',\r\n },\r\n child: [\r\n // {\r\n // tag: 'defs',\r\n // attr: {},\r\n // child: [\r\n // {\r\n // tag: 'clipPath',\r\n // attr: { id: 'a' },\r\n // child: [\r\n // {\r\n // tag: 'path',\r\n // attr: { fill: '#353535', d: 'M0 0h25.969v22.478H0z' },\r\n // child: [],\r\n // },\r\n // ],\r\n // },\r\n // ],\r\n // },\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: { d: 'm25.969 3.647-10.359 8.46 10.359 8.632Z' },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M0 3.469v17.276l10.366-8.466L0 3.469m1.719 3.593 5.914 5.218-5.914 4.87Z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: { d: 'M12.151 0h1.683v1.674h-1.683z' },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: { d: 'M12.154 3.462h1.677v1.686h-1.677z' },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: { d: 'M12.152 6.937h1.68v1.671h-1.68z' },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: { d: 'M12.144 10.406h1.679v1.669h-1.679z' },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: { d: 'M12.149 13.869h1.686v1.678h-1.686z' },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: { d: 'M12.143 17.334h1.686v1.683h-1.686z' },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: { d: 'M12.154 20.8h1.668v1.678h-1.668z' },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const VerticalFlip = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '45',\r\n height: '45',\r\n viewBox: '0 0 45 45',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { fill: '#fff', stroke: '#ebebeb' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M0 0h45v45H0z',\r\n stroke: 'none',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n fill: 'none',\r\n d: 'M.5.5h44v44H.5z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n transform: 'rotate(90 12.239 21.239)',\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'm0 3.647 10.359 8.46L0 20.74Z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M25.969 3.469v17.276L15.603 12.28l10.366-8.811M24.25 7.062l-5.914 5.218 5.914 4.87Z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M12.135 0h1.683v1.674h-1.683z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M12.138 3.462h1.677v1.686h-1.677z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M12.136 6.937h1.68v1.671h-1.68z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M12.146 10.406h1.679v1.669h-1.679z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M12.134 13.869h1.686v1.678h-1.686z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M12.14 17.334h1.686v1.683H12.14z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M12.147 20.8h1.668v1.678h-1.668z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const Error = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '30',\r\n height: '30',\r\n viewBox: '0 0 30 30',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { transform: 'translate(-150 -259)' },\r\n child: [\r\n {\r\n tag: 'circle',\r\n attr: {\r\n cx: '15',\r\n cy: '15',\r\n r: '15',\r\n transform: 'translate(150 259)',\r\n fill: '#e11a38',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n fill: 'none',\r\n stroke: '#fff',\r\n 'stroke-linecap': 'round',\r\n 'stroke-width': '2',\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: { d: 'm160.439 278.488 9.484-9.484' },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: { d: 'm169.922 278.488-9.484-9.484' },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const RLogo = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '36.672',\r\n height: '34.349',\r\n viewBox: '0 0 36.672 34.349',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { id: 'a' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n fill: 'none',\r\n fillRule: 'evenodd',\r\n transform:\"translate(-0.001)\",\r\n d: 'M1.99,0H29.149a1.993,1.993,0,0,1,1.99,1.99V29.011a1.986,1.986,0,0,1-.584,1.4v0A1.985,1.985,0,0,1,29.149,31H1.99A1.993,1.993,0,0,1,0,29.011V1.99A1.983,1.983,0,0,1,.585.587v0A1.985,1.985,0,0,1,1.99,0',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n fill: 'none',\r\n stroke: '#fff',\r\n fillRule: 'evenodd',\r\n transform:\"translate(-1.117 -1.116)\",\r\n strokeWidth: '2px',\r\n d: 'M2.526,2.442l-.043.043a.875.875,0,0,0-.26.62V30.127a.887.887,0,0,0,.882.882h27.16a.877.877,0,0,0,.58-.219l.043-.043a.876.876,0,0,0,.26-.621V3.105a.887.887,0,0,0-.882-.882H3.105a.876.876,0,0,0-.579.219',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n fill: '#fff',\r\n fillRule: 'evenodd',\r\n transform:\"translate(-3.386 -6.517)\",\r\n d: 'M17.761,19.938a.317.317,0,0,1-.064.191c-.009.011-.018.023-.028.035a28.71,28.71,0,0,0-5.566,10.1.408.408,0,0,1-.425.267c-.479,0-3.211-.01-4.535-.01-.325,0-.353-.273-.242-.526a52.346,52.346,0,0,1,7.018-9.774,2.034,2.034,0,0,1,1.665-.577c.288-.018,1.3-.034,1.86-.019a.317.317,0,0,1,.317.317m11.5,7.6h0a26.686,26.686,0,0,1,1.788,2.517c.172.193.163.475-.13.475H25.887a.593.593,0,0,1-.5-.279c-.041-.059-.084-.118-.128-.178-2.739-4.256-4.547-5.186-8.643-6.328a.289.289,0,0,1-.153-.4,16.3,16.3,0,0,1,.994-1.485.424.424,0,0,1,.243-.113,10.774,10.774,0,0,0,2.58-.144c2.338-.627,2.872-2,2.789-2.969-.021-1.525-1.992-2.28-5.547-2.214-2.524,0-3.5-.036-6.741-.033-1.269.025-2.793-.712-3.965-2.816-.193-.339.02-.591.242-.585,2.812.029,9.023-.022,13.067.079,6.085.309,7.622,2.866,7.7,5.1.041,3.026-2.349,4.423-3.37,5.1a18.519,18.519,0,0,1,4.805,4.272',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const MyLogo = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '26.381',\r\n height: '23.778',\r\n viewBox: '0 0 26.381 23.778',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { id: 'a' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n strokeWidth:\"1\",\r\n d: 'M19.698 7.853c.571-.475 1.11-.938 1.664-1.382a22.426 22.426 0 0 1 3.1-2.231 2.543 2.543 0 0 1 .612-.246.621.621 0 0 1 .769.8 4.073 4.073 0 0 1-.4.893 27.867 27.867 0 0 1-2.478 3.343c-.795.962-1.61 1.906-2.411 2.863a.509.509 0 0 0-.111.285 11.208 11.208 0 0 1-4.658 8.872 11.121 11.121 0 0 1-5.4 2.144 10.707 10.707 0 0 1-6.8-1.464 6.79 6.79 0 0 1-2.179-1.877 4.01 4.01 0 0 1-.491-4.3 3.571 3.571 0 0 1 1.06-1.273c.414-.331.841-.646 1.244-.989a1.774 1.774 0 0 0 .645-1.65 1.75 1.75 0 0 0-.635-1.151c-.374-.316-.76-.618-1.149-.914A3.763 3.763 0 0 1 .518 6.224a4.115 4.115 0 0 1 .855-2.262 7.56 7.56 0 0 1 2.733-2.204A11.038 11.038 0 0 1 8.162.542a10.878 10.878 0 0 1 4.744.658 11.321 11.321 0 0 1 4.686 3.2 11.249 11.249 0 0 1 2 3.214c.03.074.064.146.108.245m-.282 5.322c-.092.1-.143.148-.192.2-.958 1.023-1.91 2.052-2.879 3.066a1.725 1.725 0 0 0-.558.945 1.758 1.758 0 0 1-.121.361 4.187 4.187 0 0 1-2.709 2.693 7.042 7.042 0 0 1-4.627-.317.433.433 0 0 1-.291-.515.464.464 0 0 1 .452-.388 1.061 1.061 0 0 0 .994-.853c.161-.6.286-1.213.448-1.814a3.442 3.442 0 0 1 .8-1.513 3.653 3.653 0 0 1 2.092-1.027.823.823 0 0 0 .4-.195c.952-.9 1.884-1.816 2.841-2.707.9-.841 1.83-1.656 2.746-2.483.069-.062.134-.105.087-.231a10.636 10.636 0 0 0-2.107-3.49 10.45 10.45 0 0 0-3.874-2.7 10.109 10.109 0 0 0-4.27-.765 10 10 0 0 0-4.044 1.106 6.858 6.858 0 0 0-2.52 2.016 3.015 3.015 0 0 0 .526 4.236c.338.253.671.514 1 .778a2.9 2.9 0 0 1 1.061 1.408 2.668 2.668 0 0 1-.767 2.935c-.429.393-.9.737-1.362 1.1A2.9 2.9 0 0 0 1.66 18.4a4.238 4.238 0 0 0 1.474 1.875 9.636 9.636 0 0 0 6.836 2.016 10.206 10.206 0 0 0 4.484-1.48 10.431 10.431 0 0 0 4.233-4.893 9.948 9.948 0 0 0 .729-2.745m5.19-7.862-.074-.074a99.034 99.034 0 0 0-10.583 9.169l1.591 1.545a98.291 98.291 0 0 0 9.066-10.64M9.871 19.6a6.541 6.541 0 0 0 2 .118 3.378 3.378 0 0 0 1.869-.76 3.885 3.885 0 0 0 1.183-1.969.286.286 0 0 0-.077-.334c-.441-.431-.87-.874-1.306-1.311-.475-.477-.477-.478-1.117-.271a2.024 2.024 0 0 0-1.338 1.1 12.7 12.7 0 0 0-.425 1.313c-.163.536-.305 1.079-.483 1.611a2.526 2.526 0 0 1-.311.5',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M15.289 10.865a2.043 2.043 0 0 1-1.97-2.233 2.052 2.052 0 1 1 1.97 2.233m1.18-2.029a1.112 1.112 0 0 0-2.224-.01 1.124 1.124 0 0 0 1.123 1.1 1.093 1.093 0 0 0 1.1-1.094',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M5.279 9.17a2.037 2.037 0 1 1 2.036-2.152A2.031 2.031 0 0 1 5.279 9.17m-.011-.939a1.1 1.1 0 1 0-1.109-1.11 1.1 1.1 0 0 0 1.109 1.11',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M8.679 5.605a2.048 2.048 0 1 1 2.064 2.006 2.024 2.024 0 0 1-2.064-2.006m.934-.03a1.115 1.115 0 1 0 1.1-1.1 1.117 1.117 0 0 0-1.1 1.1',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n fill: '#5d5d5d',\r\n\r\n fillRule: 'evenodd',\r\n\r\n transform: 'translate(-78.659 -351.017)',\r\n d: 'M7.895 17.255a2.045 2.045 0 1 1-2.079-2.031 2.032 2.032 0 0 1 2.079 2.031m-.934.021a1.111 1.111 0 1 0-1.131 1.091 1.108 1.108 0 0 0 1.131-1.091',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const AddText = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '21',\r\n height: '21',\r\n viewBox: '0 0 21 21',\r\n },\r\n\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M16 19H2V5h9V3H2a2.006 2.006 0 0 0-2 2v14a2.006 2.006 0 0 0 2 2h14a2.006 2.006 0 0 0 2-2v-9h-2Zm2-16V0h-2v3h-3c.01.01 0 2 0 2h3v2.99c.01.01 2 0 2 0V5h3V3Z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M8.438 15.791v-5.365h-.889v.859h-1.8c0-.643-.027-1.281.009-1.914a.841.841 0 0 1 .858-.762q2.725-.01 5.45 0a.841.841 0 0 1 .857.764c.036.634.009 1.271.009 1.919h-1.784v-.862h-.9v5.361Z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\nexport const FlipH = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '24',\r\n height: '20.774',\r\n viewBox: '0 0 24 20.774',\r\n },\r\n child: [\r\n {\r\n tag: 'defs',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'clipPath',\r\n attr: { id: 'clip-path' },\r\n child: [\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_336',\r\n 'data-name': 'Rectangle 336',\r\n width: '24',\r\n height: '20.774',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_1196',\r\n 'data-name': 'Group 1196',\r\n transform: 'translate(24 20.774) rotate(180)',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_577',\r\n 'data-name': 'Group 577',\r\n transform: 'translate(0 0)',\r\n 'clip-path': 'url(#clip-path)',\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4546',\r\n 'data-name': 'Path 4546',\r\n d: 'M0,15.8,9.574,7.978,0,0Z',\r\n transform: 'translate(0 1.606)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4547',\r\n 'data-name': 'Path 4547',\r\n d: 'M9.58,15.967V0L0,7.824l9.58,8.143M7.991,12.646,2.525,7.823l5.466-4.5Z',\r\n transform: 'translate(14.42 1.601)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_329',\r\n 'data-name': 'Rectangle 329',\r\n width: '1.556',\r\n height: '1.547',\r\n transform: 'translate(11.215 19.227)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_330',\r\n 'data-name': 'Rectangle 330',\r\n width: '1.549',\r\n height: '1.559',\r\n transform: 'translate(11.218 16.016)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_331',\r\n 'data-name': 'Rectangle 331',\r\n width: '1.553',\r\n height: '1.544',\r\n transform: 'translate(11.216 12.818)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_332',\r\n 'data-name': 'Rectangle 332',\r\n width: '1.551',\r\n height: '1.542',\r\n transform: 'translate(11.226 9.615)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_333',\r\n 'data-name': 'Rectangle 333',\r\n width: '1.559',\r\n height: '1.551',\r\n transform: 'translate(11.214 6.405)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_334',\r\n 'data-name': 'Rectangle 334',\r\n width: '1.559',\r\n height: '1.555',\r\n transform: 'translate(11.219 3.198)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_335',\r\n 'data-name': 'Rectangle 335',\r\n width: '1.542',\r\n height: '1.551',\r\n transform: 'translate(11.226 0)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n// https://www.svgviewer.dev/ use this website to compress and load the paths\r\n// source: https://raw.githubusercontent.com/alisamar/react-icons-all-files/master/ai/AiFillAccountBook.esm.js\r\nexport const FlipV = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '20.774',\r\n height: '24',\r\n viewBox: '0 0 20.774 24',\r\n },\r\n child: [\r\n {\r\n tag: 'defs',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'clipPath',\r\n attr: { id: 'clip-path' },\r\n child: [\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_336',\r\n 'data-name': 'Rectangle 336',\r\n width: '24',\r\n height: '20.774',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_1195',\r\n 'data-name': 'Group 1195',\r\n transform: 'translate(0 24) rotate(-90)',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_577',\r\n 'data-name': 'Group 577',\r\n transform: 'translate(0 0)',\r\n 'clip-path': 'url(#clip-path)',\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4546',\r\n 'data-name': 'Path 4546',\r\n d: 'M0,15.8,9.574,7.978,0,0Z',\r\n transform: 'translate(0 1.606)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4547',\r\n 'data-name': 'Path 4547',\r\n d: 'M9.58,15.967V0L0,7.824l9.58,8.143M7.991,12.646,2.525,7.823l5.466-4.5Z',\r\n transform: 'translate(14.42 1.601)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_329',\r\n 'data-name': 'Rectangle 329',\r\n width: '1.556',\r\n height: '1.547',\r\n transform: 'translate(11.215 19.227)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_330',\r\n 'data-name': 'Rectangle 330',\r\n width: '1.549',\r\n height: '1.559',\r\n transform: 'translate(11.218 16.016)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_331',\r\n 'data-name': 'Rectangle 331',\r\n width: '1.553',\r\n height: '1.544',\r\n transform: 'translate(11.216 12.818)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_332',\r\n 'data-name': 'Rectangle 332',\r\n width: '1.551',\r\n height: '1.542',\r\n transform: 'translate(11.226 9.615)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_333',\r\n 'data-name': 'Rectangle 333',\r\n width: '1.559',\r\n height: '1.551',\r\n transform: 'translate(11.214 6.405)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_334',\r\n 'data-name': 'Rectangle 334',\r\n width: '1.559',\r\n height: '1.555',\r\n transform: 'translate(11.219 3.198)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_335',\r\n 'data-name': 'Rectangle 335',\r\n width: '1.542',\r\n height: '1.551',\r\n transform: 'translate(11.226 0)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\nexport const SelectAll = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '18.641',\r\n height: '18.063',\r\n viewBox: '0 0 18.641 18.063',\r\n className: 'group',\r\n ...props,\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { 'data-name': 'Group 1075' },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n fill: 'none',\r\n stroke: '#5d5d5d',\r\n strokeWidth: '1',\r\n },\r\n child: [\r\n {\r\n tag: 'rect',\r\n attr: { width: '16', height: '16', rx: '4', stroke: 'none' },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n x: '.75',\r\n y: '.75',\r\n width: '14.5',\r\n height: '14.5',\r\n rx: '3.25',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'm7.049 8.602.146-.137 3.2-3.2a.766.766 0 0 1 .5-.267.652.652 0 0 1 .539 1.082c-.03.035-.064.066-.1.1l-3.836 3.829a.664.664 0 0 1-1.1-.068c-.415-.549-.826-1.1-1.24-1.649a.657.657 0 0 1-.083-.755.65.65 0 0 1 1.085-.093c.253.311.486.638.728.959l.151.2',\r\n className: 'group-hover:fill-[#E11A38]',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M5.892 18.063c-.1-.023-.2-.043-.3-.07a1.976 1.976 0 0 1-1.385-1.249h10.599a2.39 2.39 0 0 0 2.327-1.536 2.873 2.873 0 0 0 .177-.988c.013-2.859.008-5.717.008-8.576V3.671a1.652 1.652 0 0 1 .708.43 1.927 1.927 0 0 1 .58 1.124.871.871 0 0 0 .033.114v9.182a1.686 1.686 0 0 0-.031.167 3.713 3.713 0 0 1-2.515 3.16 10.1 10.1 0 0 1-1 .214Z',\r\n className: 'group-hover:fill-[#E11A38]',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const Copy = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n id: 'ICONS',\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '23.063',\r\n height: '23.063',\r\n viewBox: '0 0 23.063 23.063',\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_3956',\r\n 'data-name': 'Path 3956',\r\n d: 'M17.912,5.252a1.2,1.2,0,0,0,.026-.127A5.13,5.13,0,0,0,12.813,0H6.406A6.414,6.414,0,0,0,0,6.406v6.406a5.13,5.13,0,0,0,5.125,5.125,1.192,1.192,0,0,0,.127-.026,6.415,6.415,0,0,0,6.279,5.151h5.125a6.414,6.414,0,0,0,6.406-6.406V11.531a6.415,6.415,0,0,0-5.151-6.279ZM5.125,11.531v3.844a2.565,2.565,0,0,1-2.562-2.562V6.406A3.848,3.848,0,0,1,6.406,2.563h6.406a2.565,2.565,0,0,1,2.563,2.563H11.531a6.414,6.414,0,0,0-6.406,6.406ZM20.5,16.656A3.848,3.848,0,0,1,16.656,20.5H11.531a3.848,3.848,0,0,1-3.844-3.844V11.531a3.848,3.848,0,0,1,3.844-3.844h5.125A3.848,3.848,0,0,1,20.5,11.531Z',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const SendToBack = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '26.552',\r\n height: '23.495',\r\n viewBox: '0 0 26.552 23.495',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_654',\r\n 'data-name': 'Group 654',\r\n transform: 'translate(-17856.939 13913.36)',\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4583',\r\n 'data-name': 'Path 4583',\r\n d: 'M0,0H14.069V14.069H0Z',\r\n transform: 'translate(17861.625 -13909.535)',\r\n fill: '#cecece',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_387',\r\n 'data-name': 'Rectangle 387',\r\n width: '10.72',\r\n height: '7.664',\r\n transform: 'translate(17857.939 -13912.36)',\r\n fill: 'none',\r\n stroke: '#5d5d5d',\r\n 'stroke-miterlimit': '10',\r\n 'stroke-width': '2',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_388',\r\n 'data-name': 'Rectangle 388',\r\n width: '10.72',\r\n height: '7.664',\r\n transform: 'translate(17871.771 -13898.529)',\r\n fill: 'none',\r\n stroke: '#5d5d5d',\r\n 'stroke-miterlimit': '10',\r\n 'stroke-width': '2',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const SendToFront = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '26.551',\r\n height: '23.495',\r\n viewBox: '0 0 26.551 23.495',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_651',\r\n 'data-name': 'Group 651',\r\n transform: 'translate(-1140.036 -318.639)',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_647',\r\n 'data-name': 'Group 647',\r\n transform: 'translate(1140.643 319.246)',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_646',\r\n 'data-name': 'Group 646',\r\n transform: 'translate(0 0)',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_648',\r\n 'data-name': 'Group 648',\r\n },\r\n child: [\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_387',\r\n 'data-name': 'Rectangle 387',\r\n width: '10.72',\r\n height: '7.664',\r\n transform: 'translate(0.393 0.393)',\r\n fill: 'none',\r\n stroke: '#5d5d5d',\r\n 'stroke-miterlimit': '10',\r\n 'stroke-width': '2',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_388',\r\n 'data-name': 'Rectangle 388',\r\n width: '10.72',\r\n height: '7.664',\r\n transform: 'translate(14.225 14.225)',\r\n fill: 'none',\r\n stroke: '#5d5d5d',\r\n 'stroke-miterlimit': '10',\r\n 'stroke-width': '2',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_390',\r\n 'data-name': 'Rectangle 390',\r\n width: '14.069',\r\n height: '14.069',\r\n transform: 'translate(4.078 3.89)',\r\n fill: '#cecece',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\nexport const SendAObject = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '23.097',\r\n height: '22.481',\r\n viewBox: '0 0 23.097 22.481',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_653',\r\n 'data-name': 'Group 653',\r\n transform: 'translate(-1140.475 -411.367)',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_642',\r\n 'data-name': 'Group 642',\r\n transform: 'translate(1127.096 398.368)',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_643',\r\n 'data-name': 'Group 643',\r\n transform: 'translate(13.932 13.552)',\r\n },\r\n child: [\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_383',\r\n 'data-name': 'Rectangle 383',\r\n width: '16',\r\n height: '16',\r\n transform: 'translate(0.447 0.447)',\r\n fill: 'none',\r\n stroke: '#5d5d5d',\r\n 'stroke-miterlimit': '10',\r\n 'stroke-width': '2',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_385',\r\n 'data-name': 'Rectangle 385',\r\n width: '16',\r\n height: '16',\r\n transform: 'translate(1147.572 417.848)',\r\n fill: '#cecece',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\nexport const SendUnderObject = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '23.097',\r\n height: '22.481',\r\n viewBox: '0 0 23.097 22.481',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_652',\r\n 'data-name': 'Group 652',\r\n transform: 'translate(-1140.475 -369.367)',\r\n },\r\n child: [\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_386',\r\n 'data-name': 'Rectangle 386',\r\n width: '16',\r\n height: '16',\r\n transform: 'translate(1147.572 375.848)',\r\n fill: '#cecece',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_644',\r\n 'data-name': 'Group 644',\r\n transform: 'translate(1127.096 356.368)',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_643',\r\n 'data-name': 'Group 643',\r\n transform: 'translate(13.932 13.552)',\r\n },\r\n child: [\r\n {\r\n tag: 'rect',\r\n attr: {\r\n id: 'Rectangle_383',\r\n 'data-name': 'Rectangle 383',\r\n width: '16',\r\n height: '16',\r\n transform: 'translate(0.447 0.447)',\r\n fill: 'none',\r\n stroke: '#5d5d5d',\r\n 'stroke-miterlimit': '10',\r\n 'stroke-width': '2',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const EyeDropper = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '21.595',\r\n height: '21.61',\r\n viewBox: '0 0 21.595 21.61',\r\n },\r\n child: [\r\n {\r\n tag: 'defs',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'clipPath',\r\n attr: { id: 'a' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: { d: 'M0 0h21.595v21.61H0z' },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'g',\r\n attr: { 'clip-path': 'url(#a)' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M1.228 21.609a2.184 2.184 0 0 1-1.019-.812.946.946 0 0 1-.009-1.18q.455-.7.922-1.386a3.7 3.7 0 0 0 .667-1.553 5.591 5.591 0 0 0 .054-.608 2.553 2.553 0 0 1 .814-1.771q3.351-3.342 6.7-6.692a2.115 2.115 0 0 1 .222-.168c-.232-.224-.428-.405-.615-.6a.509.509 0 0 1-.008-.81q.925-.938 1.862-1.865a.507.507 0 0 1 .812 0q2.91 2.9 5.813 5.814a.509.509 0 0 1 0 .812q-.926.937-1.864 1.863a.508.508 0 0 1-.81 0c-.2-.192-.381-.393-.58-.6-.06.05-.1.082-.141.119-2.268 2.244-4.543 4.48-6.8 6.737a2.813 2.813 0 0 1-2.027.876 2.969 2.969 0 0 0-1.611.549c-.5.331-.99.667-1.492.99a5.8 5.8 0 0 1-.556.281Zm2.234-3.431a5.564 5.564 0 0 1 1.852-.385.8.8 0 0 0 .473-.228q3.425-3.372 6.836-6.758a.764.764 0 0 1 .128-.091l-1.869-1.881a1.682 1.682 0 0 1-.132.166q-3.233 3.237-6.473 6.466a1.283 1.283 0 0 0-.483 1.1.6.6 0 0 1-.021.188c-.1.47-.206.94-.312 1.422',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M21.595 4.022c-.052.217-.1.436-.157.649a3.645 3.645 0 0 1-.967 1.581q-1.1 1.094-2.191 2.19a.537.537 0 0 1-.9 0l-4.217-4.218a.531.531 0 0 1 0-.885c.806-.8 1.585-1.636 2.429-2.4a3.378 3.378 0 0 1 3.571-.712 3.5 3.5 0 0 1 2.388 2.854c.011.061.029.121.044.181Z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\nexport const Delete = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n id: 'ICONS',\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '18',\r\n height: '18',\r\n viewBox: '0 0 18 18',\r\n ...props,\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_3953',\r\n 'data-name': 'Path 3953',\r\n d: 'M7,8A1,1,0,0,0,6,9v4a1,1,0,0,0,2,0V9A1,1,0,0,0,7,8Z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_3954',\r\n 'data-name': 'Path 3954',\r\n d: 'M11,8a1,1,0,0,0-1,1v4a1,1,0,0,0,2,0V9a1,1,0,0,0-1-1Z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_3955',\r\n 'data-name': 'Path 3955',\r\n d: 'M17,4H13A4,4,0,1,0,5,4H1A1,1,0,0,0,1,6H2v9a3,3,0,0,0,3,3h8a3,3,0,0,0,3-3V6h1a1,1,0,0,0,0-2ZM9,2a2,2,0,0,1,2,2H7A2,2,0,0,1,9,2Zm5,13a1,1,0,0,1-1,1H5a1,1,0,0,1-1-1V6H14Z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n// https://www.svgviewer.dev/ use this website to compress and load the paths\r\n// source: https://raw.githubusercontent.com/alisamar/react-icons-all-files/master/ai/AiFillAccountBook.esm.js\r\nexport const SnapToCenter = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n id: 'Group_1194',\r\n 'data-name': 'Group 1194',\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '24',\r\n height: '24.006',\r\n viewBox: '0 0 24 24.006',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n id: 'Group_1196',\r\n 'data-name': 'Group 1196',\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4767',\r\n 'data-name': 'Path 4767',\r\n d: 'M0,346.174c.043,0,.085-.008.128-.008H1.519v-1.494h1.5c.008.124,0,.248,0,.371s0,.25,0,.375v.748h1.5v1.5H6.01v1.493c-.251.016-.5.005-.747.007s-.49,0-.737,0c0,.041-.007.068-.007.1q0,.679,0,1.359c0,.019,0,.039,0,.058H0Zm3.013,2.98v-1.476a14.331,14.331,0,0,0-1.485,0v1.473Z',\r\n transform: 'translate(0 -326.668)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4768',\r\n 'data-name': 'Path 4768',\r\n d: 'M0,.006C.047,0,.093,0,.14,0H4.517V1.5H6.009v1.5C5.847,3,5.684,3,5.522,3h-1V4.486c-.05,0-.091.008-.131.008H3.022V5.975a14.076,14.076,0,0,1-1.5,0V4.5c-.042,0-.072-.009-.1-.009H.08A.586.586,0,0,0,0,4.506V.006M1.527,2.987c.175.022,1.4.016,1.485-.007V1.5H1.527Z',\r\n transform: 'translate(0 0)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4769',\r\n 'data-name': 'Path 4769',\r\n d: 'M346.317,350.672l0-1.371c0-.042,0-.084,0-.138h-1.479c-.026-.1-.034-1.291-.012-1.5.245-.014.493,0,.741-.006s.49,0,.75,0v-1.5h1.5V344.67h1.5c0,.164,0,.327,0,.489s0,.328,0,.492v.507c.13.01.254,0,.376.005s.242,0,.363,0h.741c0,.047.007.081.007.115q0,2.156,0,4.312c0,.027,0,.054-.006.082Zm1.5-3.005v1.476a13.253,13.253,0,0,0,1.483,0c.022-.162.015-1.384-.009-1.472Z',\r\n transform: 'translate(-326.798 -326.666)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4770',\r\n 'data-name': 'Path 4770',\r\n d: 'M350.993,4.5h-1.477V5.98a13.306,13.306,0,0,1-1.5,0V4.5h-1.493V3.014c-.256-.019-.5-.006-.752-.009s-.49,0-.743,0V1.5h1.49V.038l.017-.018s.006-.007.009-.007A.5.5,0,0,1,346.6.007h4.358a.189.189,0,0,1,.039.01Zm-2.977-1.515a14.117,14.117,0,0,0,1.489,0V1.518a13.475,13.475,0,0,0-1.489.01Z',\r\n transform: 'translate(-327 -0.007)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4771',\r\n 'data-name': 'Path 4771',\r\n d: 'M177.4,181.788a4.769,4.769,0,1,1,4.774-4.743,4.768,4.768,0,0,1-4.774,4.743m0-2.386a2.383,2.383,0,1,0-2.378-2.388A2.391,2.391,0,0,0,177.4,179.4',\r\n transform: 'translate(-165.386 -165.023)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4772',\r\n 'data-name': 'Path 4772',\r\n d: 'M172.573,28.8h1.482v1.474c-.088.023-1.322.03-1.471.008-.024-.086-.033-1.236-.011-1.483',\r\n transform: 'translate(-163.546 -27.296)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4773',\r\n 'data-name': 'Path 4773',\r\n d: 'M258.685,28.8h1.482v1.474c-.088.023-1.324.03-1.472.008-.024-.086-.033-1.239-.01-1.483',\r\n transform: 'translate(-245.16 -27.297)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4774',\r\n 'data-name': 'Path 4774',\r\n d: 'M402.37,172.387h1.486v1.472c-.094.024-1.376.026-1.486,0Z',\r\n transform: 'translate(-381.352 -163.382)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4775',\r\n 'data-name': 'Path 4775',\r\n d: 'M30.729,173.749H29.244v-1.49h1.485Z',\r\n transform: 'translate(-27.716 -163.261)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4776',\r\n 'data-name': 'Path 4776',\r\n d: 'M174.28,403.369H172.8V401.9a14.178,14.178,0,0,1,1.483,0Z',\r\n transform: 'translate(-163.771 -380.883)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4777',\r\n 'data-name': 'Path 4777',\r\n d: 'M258.714,402.039h1.466c.023.089.03,1.31.009,1.471a13.52,13.52,0,0,1-1.466.014,14.287,14.287,0,0,1-.009-1.485',\r\n transform: 'translate(-245.186 -381.038)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4778',\r\n 'data-name': 'Path 4778',\r\n d: 'M29.194,259.847V258.38a14.3,14.3,0,0,1,1.487-.006v1.473Z',\r\n transform: 'translate(-27.669 -244.862)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_4779',\r\n 'data-name': 'Path 4779',\r\n d: 'M402.241,258.521h1.465c.023.088.028,1.336.007,1.47-.083.024-1.261.033-1.467.012a13.357,13.357,0,0,1-.006-1.482',\r\n transform: 'translate(-381.212 -245.017)',\r\n fill: '#5d5d5d',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import React from 'react';\r\nimport { toast } from 'react-toastify';\r\nexport interface toastGenProps {\r\n type: 'Error' | 'Info' | 'Warning' | 'Success';\r\n message: string;\r\n}\r\nimport { Error } from '../icon';\r\n\r\nexport function CustomToast(\r\n type: 'info' | 'error' | 'warning' | 'success',\r\n message: string,\r\n toastId: number,\r\n style?: React.CSSProperties\r\n) {\r\n switch (type) {\r\n case 'info':\r\n return toast.info(toastGen({ type: 'Info', message }), {\r\n toastId,\r\n style,\r\n });\r\n case 'error':\r\n return toast.error(toastGen({ type: 'Error', message }), {\r\n toastId,\r\n icon: Error,\r\n style,\r\n });\r\n case 'success':\r\n return toast.success(toastGen({ type: 'Success', message }), {\r\n toastId,\r\n style,\r\n });\r\n case 'warning':\r\n return toast.warning(toastGen({ type: 'Warning', message }), {\r\n toastId,\r\n style,\r\n });\r\n }\r\n}\r\nexport const toastGen = ({ type, message }: toastGenProps) => (\r\n <div>\r\n <div className=\"text-base font-bold leading-[22px]\">{type}</div>\r\n <div className=\"text-sm font-medium leading-[22px]\">{message}</div>\r\n </div>\r\n);\r\n","import { CustomToast as e } from '../../components/customToast';\r\n\r\nexport interface ToastMessages {\r\n deleteLogoSuccess: () => void;\r\n error: (message: string) => void;\r\n saveSuccess: () => void;\r\n somethingWentWrong: () => void;\r\n success: (message: string) => void;\r\n updateLogoSuccess: () => void;\r\n updateSuccess: () => void;\r\n warning: (message: string) => void;\r\n noOfColors: () => void;\r\n noIteminCanvas: () => void;\r\n}\r\n\r\nexport const toastMessages: ToastMessages =\r\n // prettier-ignore\r\n {\r\n deleteLogoSuccess: () => e('success', 'Logo deleted successfully!', 1),\r\n error: (message) => e('success', message, 2),\r\n saveSuccess: () => e('success', 'You have successfully saved your Logo', 3,{ width: '30rem' }), \r\n somethingWentWrong: () => e('error', 'Something Went Wrong', 4),\r\n success: (message) => e('success', message, 5),\r\n updateLogoSuccess: () => e('success', 'Logo updated successfully!', 6),\r\n updateSuccess: () => e('success', 'You have successfully updated your design',7),\r\n warning: (message) => e('success', message, 8),\r\n noOfColors: () => e('error', 'Not more than 8 colors allowed!', 9),\r\n noIteminCanvas: () => e('warning', 'No item in canvas to save', 10),\r\n};\r\n","import { StateCreator } from 'zustand';\r\nimport { use3dddPlus } from '..';\r\nimport { Design } from '../customize/types';\r\nimport { ToastMessages, toastMessages } from './toastMessages';\r\nexport interface ActionSlice {\r\n displayLoginModal: boolean;\r\n showProductBreakUpModal: { status: boolean; value: any };\r\n loadDesignModal: boolean;\r\n productInfoModal: any;\r\n toastMessages: ToastMessages;\r\n toggleSaveLogo: {\r\n key: string;\r\n status: boolean;\r\n title: string;\r\n details: any;\r\n };\r\n showModalAfterLogin?: void;\r\n changeModel: () => void;\r\n editDesignInfo: () => void;\r\n saveDesignModal: () => void;\r\n setLoadDesignModal: (loadDesign: boolean) => void;\r\n setProductInfoModal: () => any;\r\n clearLayers: () => void;\r\n setToggleSaveLogo: (\r\n key: string,\r\n status: boolean,\r\n title: string,\r\n details: any\r\n ) => void;\r\n share: () => void;\r\n toggleLoginModal: () => void;\r\n confirmDesignModal: { status: boolean; value: string };\r\n setConfirmDesignModal: (status: boolean, value: string) => void;\r\n toggleSuccessfullDesign: boolean;\r\n setToggleSuccessfullDesign: () => void;\r\n selectedDesign: any;\r\n setSelectedDesign: (selected: Design) => void;\r\n saveRackSuccessfulModal: boolean;\r\n setSaveRackSuccessfulModal: () => void;\r\n setShowModalAfterLogin: (toggleAction: any) => void; //Due to current functionality, toggleAction can have callback function of different types\r\n disableUpdate: boolean;\r\n confirmUpdateDesignModal: boolean;\r\n setConfirmUpdateDesignModal: () => void;\r\n designUpdateSuccessfulModal: boolean;\r\n getListFromRack: () => boolean;\r\n toogleShowProductBreakUpModal: (status: boolean, value: any) => void;\r\n productBreakup: any[];\r\n logoSearchText: string;\r\n logoSortBy: string;\r\n logoSortDir: string;\r\n logoPageNo: number;\r\n logoPageSize: number;\r\n showCrossSave: boolean;\r\n}\r\n\r\nconst graphqlSlice: StateCreator<ActionSlice> = (set, get) => {\r\n return {\r\n displayLoginModal: false,\r\n showProductBreakUpModal: {\r\n status: false,\r\n value: {},\r\n },\r\n toastMessages: toastMessages,\r\n loadDesignModal: false,\r\n productInfoModal: false,\r\n toggleSaveLogo: { key: 'save', status: false, title: '', details: {} },\r\n showModalAfterLogin: undefined,\r\n selectedDesign: {},\r\n changeModel: () => {\r\n alert('function not implemented');\r\n },\r\n confirmDesignModal: { status: false, value: '' },\r\n confirmUpdateDesignModal: false,\r\n toggleSuccessfullDesign: false,\r\n designUpdateSuccessfulModal: false,\r\n getListFromRack: () => {\r\n return false;\r\n },\r\n setSelectedDesign: (selected) => {\r\n set({ selectedDesign: selected });\r\n },\r\n setLoadDesignModal: (loadDesign) => {\r\n set({ loadDesignModal: loadDesign });\r\n },\r\n clearLayers: () => use3dddPlus.setState({\r\n storeAllObject: [],\r\n }),\r\n setToggleSaveLogo: (key, status, title, details) => {\r\n set({\r\n toggleSaveLogo: {\r\n key: key,\r\n status: status,\r\n title: title,\r\n details: details,\r\n },\r\n });\r\n },\r\n setConfirmDesignModal: (status, value) => {\r\n set({ confirmDesignModal: { status: status, value: value } });\r\n },\r\n setConfirmUpdateDesignModal: () => {\r\n set((state) => ({\r\n confirmUpdateDesignModal: !state.confirmUpdateDesignModal,\r\n }));\r\n },\r\n setToggleSuccessfullDesign: () => {\r\n set((state) => ({\r\n toggleSuccessfullDesign: !state.toggleSuccessfullDesign,\r\n }));\r\n },\r\n setProductInfoModal: () => {\r\n set((state) => ({ productInfoModal: !state.productInfoModal }));\r\n },\r\n\r\n editDesignInfo: () => {\r\n alert('function not implemented');\r\n },\r\n // rack: () => {\r\n // alert('function not implemented');\r\n // },\r\n\r\n saveDesignModal: () => {\r\n try {\r\n use3dddPlus.setState({ current: 'saveCTA' });\r\n use3dddPlus.getState().navigateTo('savePopUp');\r\n use3dddPlus.setState({ logoName: '' });\r\n use3dddPlus.setState({ designNotes: '' });\r\n use3dddPlus.setState({ logoTag: [] });\r\n let string = '';\r\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\r\n\r\n for (let i = 0; i < 7; i++) {\r\n string += characters.charAt(\r\n Math.floor(Math.random() * characters.length)\r\n );\r\n }\r\n use3dddPlus.setState({ designNumber: string });\r\n\r\n\r\n if (!use3dddPlus.getState().customerId) {\r\n get().toggleLoginModal();\r\n get().setShowModalAfterLogin(() => {\r\n use3dddPlus\r\n .getState()\r\n .setToggleSaveLogo('save', true, 'Save Your Design', {});\r\n });\r\n return;\r\n }\r\n get().setToggleSaveLogo('save', true, 'Save Your Design', {});\r\n use3dddPlus.setState({ disableSaveButton: false });\r\n } catch {}\r\n },\r\n\r\n \r\n share: () => {\r\n alert('function not implemented');\r\n },\r\n toggleLoginModal: () => {\r\n set((state) => ({ displayLoginModal: !state.displayLoginModal }));\r\n },\r\n\r\n saveRackSuccessfulModal: false,\r\n setSaveRackSuccessfulModal: () => {\r\n set((state) => ({\r\n saveRackSuccessfulModal: !state.saveRackSuccessfulModal,\r\n }));\r\n },\r\n setShowModalAfterLogin: (toggleAction) => {\r\n use3dddPlus.setState({ showModalAfterLogin: toggleAction });\r\n },\r\n toogleShowProductBreakUpModal: (status, value) => {\r\n set({ showProductBreakUpModal: { status: status, value: value } });\r\n },\r\n disableUpdate: false,\r\n productBreakup: [],\r\n logoSearchText: '',\r\n logoSortBy: 'updated_at',\r\n logoSortDir: 'DESC',\r\n logoPageNo: 1,\r\n logoPageSize: 14,\r\n showCrossSave: false,\r\n };\r\n};\r\n\r\nexport default graphqlSlice;\r\n","import axios, { AxiosInstance, AxiosResponse } from 'axios';\r\n\r\nexport const baseURL = process.env.REACT_APP_LAMBDA_URL;\r\n\r\n// TODO remove ts-ignore; CreateAxiosDefaults<any> not building npm package. \r\n// @ts-ignore\r\nexport const instance: AxiosInstance = axios.create({\r\n baseURL: baseURL,\r\n timeout: 15000,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'jxnhh7rk7gpjtnp1o1besdaip3pd2560',\r\n },\r\n});\r\n\r\nexport const responseBody = (response: AxiosResponse) => response.data;\r\n\r\nexport const requests = {\r\n get: (url: string) => instance.get(url).then(responseBody),\r\n post: (url: string, body: {}, config?: any) => instance.post(url, body, config).then(responseBody),\r\n put: (url: string, body: {}) => instance.put(url, body).then(responseBody),\r\n delete: (url: string) => instance.delete(url).then(responseBody),\r\n};\r\n","import { StateCreator } from 'zustand';\r\nimport { requests } from '../../axios/index';\r\nimport { use3dddPlus } from '..';\r\nimport { fabric } from 'fabric';\r\n\r\n// const useSampleResponses = process.env.REACT_APP_USE_SAMPLE_RESPONSES;\r\n\r\n\r\nexport interface LambdaSlice {\r\n\r\n lambdaClient: any;\r\n\r\n loadingLogo: (data: any) => any;\r\n getStockLogos: () => void;\r\n saveLogo: (data: any) => any; \r\n}\r\n\r\nconst lambdaSlice: StateCreator<LambdaSlice> = (_set, _get) => {\r\n return {\r\n lambdaClient: requests,\r\n\r\n loadingLogo: async (_data:any) => {\r\n try {\r\n use3dddPlus.setState({ loading: true });\r\n if (!requests) {\r\n throw new Error('lambdaClient Not Found');\r\n }\r\n if (!use3dddPlus.getState().customerId)\r\n throw new Error('You need to login');\r\n const response = await requests.get(\r\n `/editor-logo/${use3dddPlus.getState().customerId}?searchText=${\r\n use3dddPlus.getState().logoSearchText\r\n }&sortBy=${use3dddPlus.getState().logoSortBy}&sortDir=${\r\n use3dddPlus.getState().logoSortDir\r\n }&pageSize=${use3dddPlus.getState().logoPageSize}&pageNo=${\r\n use3dddPlus.getState().logoPageNo\r\n }`\r\n );\r\n use3dddPlus.setState({ loading: false });\r\n const res = await response;\r\n use3dddPlus.getState().logoPageNo === 1 &&\r\n use3dddPlus.setState({ retriveLogoDesign: res });\r\n\r\n return response;\r\n } catch (error) {\r\n console.error(error);\r\n use3dddPlus.setState({ loading: false });\r\n throw new Error(error);\r\n }\r\n },\r\n getStockLogos: async () => {\r\n fabric.Object.prototype.hasControls = true;\r\n fabric.Object.prototype.hasBorders = true;\r\n try {\r\n use3dddPlus.setState({ loading: true });\r\n if (!requests) {\r\n throw new Error('lambdaClient Not Found');\r\n }\r\n const response = await requests.get('/mascot-logos');\r\n use3dddPlus.setState({ loading: false });\r\n const res = await response;\r\n use3dddPlus.setState({ stockLogos: res });\r\n return res;\r\n } catch (error) {\r\n console.error(error);\r\n use3dddPlus.setState({ loading: false });\r\n throw new Error(error);\r\n }\r\n },\r\n saveLogo: async (logo) => {\r\n try {\r\n use3dddPlus.setState({ loading: true });\r\n if (!requests) {\r\n throw new Error('lambdaClient Not Found');\r\n }\r\n const response = await requests.post('/editor-logo', logo);\r\n use3dddPlus.setState({ loading: false });\r\n return response;\r\n } catch (error) {\r\n console.error(error);\r\n use3dddPlus.setState({ loading: false });\r\n throw new Error(error);\r\n }\r\n },\r\n };\r\n};\r\n\r\nexport default lambdaSlice;\r\n","import { StateCreator } from 'zustand';\r\nexport interface SaveDesignSlice {\r\n disableSaveButton: boolean;\r\n designNumber: string;\r\n designImageUrl: string;\r\n designProofPdfUrl: string;\r\n logoTag: string[];\r\n logoName: string;\r\n designNotes: string;\r\n designConfig: string;\r\n designId: number;\r\n hasDesignNumber: () => boolean;\r\n showSaveCTA: boolean;\r\n showSaveRackCTA: boolean;\r\n}\r\n\r\nexport const saveDesignSlice: StateCreator<SaveDesignSlice> = (_set, get) => {\r\n return {\r\n disableSaveButton: false,\r\n designNumber: '',\r\n designImageUrl: '',\r\n designProofPdfUrl: '',\r\n logoTag: [],\r\n logoName: '',\r\n designNotes: '',\r\n designConfig: '',\r\n designId: undefined,\r\n hasDesignNumber: () => !!get().designNumber,\r\n showSaveCTA: true,\r\n showSaveRackCTA: true,\r\n };\r\n};\r\n\r\nexport default SaveDesignSlice;\r\n","\r\n// import { Texture } from '../store/customize/types';\r\n\r\nconst _oldURL = process.env.REACT_APP_IMAGE_URL_OLD!;\r\nconst _newURL = process.env.REACT_APP_IMAGE_URL!;\r\nexport const URLMapping = (url: string) => {\r\n // check if th url has old or new url paths\r\n if (url.includes(_oldURL)) {\r\n return url.replace(_oldURL, _newURL);\r\n }\r\n // if it has old then relace to new\r\n else if (url.includes(_newURL)) return url;\r\n // if it doesnot have nay then add new\r\n else {\r\n return _newURL + url;\r\n }\r\n};\r\n\r\n// export const getTextureDataFromId = (id) => {\r\n// const textureData = use3dddPlus.getState().productTextures;\r\n\r\n// // const textureData = [];\r\n// return textureData.filter((texture) => texture.id === id).filter(Boolean)[0];\r\n// };\r\n\r\nexport const constructMappingItem = (texture?: any, item?: any) => {\r\n return {\r\n id: item?.id,\r\n name: item?.name,\r\n path: item?.ProductMedium.Image_URL,\r\n type: item?.__typename,\r\n flipY: texture ? texture.flipY : false,\r\n };\r\n};\r\n\r\nexport const getImageURL = (path: string) => {\r\n return process.env.REACT_APP_IMAGE_URL + path; //item?.ProductMedium?.Image_URL\r\n};\r\n","export function getCookie(cname: string) {\r\n let name = cname + '=';\r\n let decodedCookie = decodeURIComponent(document.cookie);\r\n let ca = decodedCookie.split(';');\r\n for (let i = 0; i < ca.length; i++) {\r\n let c = ca[i];\r\n while (c.charAt(0) == ' ') {\r\n c = c.substring(1);\r\n }\r\n if (c.indexOf(name) == 0) {\r\n return c.substring(name.length, c.length);\r\n }\r\n }\r\n return '';\r\n}\r\n\r\nexport function setCookie(cname: string, cvalue: any, exdays: number) {\r\n const d = new Date();\r\n d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);\r\n let expires = 'expires=' + d.toUTCString();\r\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/';\r\n}\r\n\r\nexport const clearCookie = (cname: string, cvalue = '') => {\r\n const d = new Date();\r\n d.setTime(d.getTime());\r\n let expires = 'expires=' + d.toUTCString();\r\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/';\r\n};\r\n","import CryptoJS from 'crypto-js';\r\nexport const encryptToken = (data: any) => {\r\n return CryptoJS.AES.encrypt(\r\n JSON.stringify(data),\r\n 'secret key 123'\r\n ).toString();\r\n};\r\nexport const decryptToken = (ciphertext: string) => {\r\n var bytes = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');\r\n return JSON.parse(bytes.toString(CryptoJS.enc.Utf8));\r\n};\r\n\r\nexport const getProjectId = () => {\r\n const queryString = window.location.search;\r\n const urlParams = new URLSearchParams(queryString);\r\n const projectId = urlParams.get('projectId');\r\n return projectId || process.env.REACT_APP_3DDDPLUS_PROJECTID;\r\n};\r\n\r\nexport function parseJwt(token) {\r\n var base64Url = token.split('.')[1];\r\n var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\r\n var jsonPayload = decodeURIComponent(\r\n window\r\n ?.atob(base64)\r\n ?.split('')\r\n ?.map(function (c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n })\r\n .join('')\r\n );\r\n\r\n return JSON.parse(jsonPayload);\r\n}\r\n","//import { use3dddPlus } from '../store';\r\n\r\n// export const getDomImage = () => {\r\n// var strMime = 'image/jpeg';\r\n// const imgData = use3dddPlus.getState().gl.domElement.toDataURL(strMime);\r\n\r\n// return dataURItoBlob(imgData);\r\n// };\r\n\r\nexport function dataURItoBlob(dataURI) {\r\n // convert base64 to raw binary data held in a string\r\n // doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this\r\n var byteString = atob(dataURI.split(',')[1]);\r\n\r\n // separate out the mime component\r\n // var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];\r\n\r\n // write the bytes of the string to an ArrayBuffer\r\n var ab = new ArrayBuffer(byteString.length);\r\n var ia = new Uint8Array(ab);\r\n for (var i = 0; i < byteString.length; i++) {\r\n ia[i] = byteString.charCodeAt(i);\r\n }\r\n\r\n //Old Code\r\n //write the ArrayBuffer to a blob, and you're done\r\n //var bb = new BlobBuilder();\r\n //bb.append(ab);\r\n //return bb.getBlob(mimeString);\r\n\r\n //New Code\r\n return new File([ab], new Date().getTime() + '_configuration' + '.jpg', {\r\n type: 'image/jpeg',\r\n // lastModified: new Date(),\r\n });\r\n}\r\n","// function called to save image\r\nexport const saveFile = function (strData: string, filename: string) {\r\n let link = document.createElement('a');\r\n document.body.appendChild(link);\r\n link.download = filename;\r\n link.href = strData;\r\n link.click();\r\n document.body.removeChild(link);\r\n};\r\n","// The key code condition we provided refers to the following key ranges:\r\n// 1. `(x >= 97 && x <= 122)`: This condition checks for lowercase alphabets in the ASCII range. Key codes 97 to 122 correspond to the characters 'a' to 'z'.\r\n// 2. `(x >= 48 && x <= 57)`: This condition checks for numeric key codes in the ASCII range. Key codes 48 to 57 correspond to the digits '0' to '9'.\r\n// 3. `(x >= 65 && x <= 90)`: This condition checks for uppercase alphabets in the ASCII range. Key codes 65 to 90 correspond to the characters 'A' to 'Z'.\r\n// 4. `(x >= 32 && x <= 32)`: This condition checks for the spacebar key. The key code 32 represents the space character.\r\n// By using these key code conditions, we are checking if the pressed key falls within the range of lowercase alphabets, numeric digits, uppercase alphabets, or the space character.\r\n\r\n\r\nexport const restrictSpecialCharacters = function (e) {\r\n const x = e.which || e.keycode;\r\n if (\r\n (x >= 97 && x <= 122) ||\r\n (x >= 48 && x <= 57) ||\r\n (x >= 65 && x <= 90) ||\r\n (x >= 32 && x <= 32)\r\n ) {\r\n return true;\r\n } else return e.preventDefault();\r\n};","export const clearSessionStorage = (cname: string) => {\r\n sessionStorage.removeItem(cname);\r\n};\r\n\r\nexport const getSessionStorage = (sName: string) => {\r\n return sessionStorage.getItem(sName);\r\n};\r\n\r\nexport const setSessionStorage = (cname: string, cvalue: any) => {\r\n sessionStorage.setItem(cname, cvalue);\r\n};\r\n","import { StateCreator } from 'zustand';\r\nimport {\r\n clearCookie,\r\n decryptToken,\r\n encryptToken,\r\n getCookie,\r\n setCookie,\r\n} from '../../services';\r\nimport {\r\n clearSessionStorage,\r\n getSessionStorage,\r\n setSessionStorage,\r\n} from '../../services/sessionStorage';\r\n\r\nexport interface AuthSlice {\r\n authType?: string;\r\n cardCode?: string;\r\n customerEmail?: string;\r\n customerId?: number;\r\n customerType?: string;\r\n priceLevel: string;\r\n token?: string;\r\n clearLoginInfo: () => void;\r\n generateCustomizerToken: (setInCookies?: boolean) => void;\r\n setCustomizerToken: () => void;\r\n isLoggedIn: () => boolean;\r\n customUploadLogoColorList: any[];\r\n defaultColorList: any[];\r\n\r\n}\r\n\r\nexport const authSlice: StateCreator<AuthSlice> = (set, get) => {\r\n return {\r\n customUploadLogoColorList: [],\r\n defaultColorList: [],\r\n priceLevel: '',\r\n token: '',\r\n customerId:117015,\r\n clearLoginInfo: () => {\r\n clearCookie('customizerToken');\r\n clearSessionStorage('customizerToken');\r\n set({\r\n authType: '',\r\n cardCode: '',\r\n customerEmail: '',\r\n customerId: 117015,\r\n customerType: '',\r\n priceLevel: '',\r\n token: '',\r\n });\r\n },\r\n generateCustomizerToken: (setInCookies = true) => {\r\n const authType = get().authType;\r\n const cardCode = get().cardCode;\r\n const customerEmail = get().customerEmail;\r\n const customerId = get().customerId;\r\n const customerType = get().priceLevel;\r\n const token = get().token;\r\n\r\n const customizerToken = encryptToken({\r\n authType,\r\n cardCode,\r\n customerEmail,\r\n customerId,\r\n customerType,\r\n token,\r\n });\r\n if (setInCookies) {\r\n setCookie('customizerToken', customizerToken, 1);\r\n } else {\r\n setSessionStorage('customizerToken', customizerToken);\r\n }\r\n },\r\n setCustomizerToken: () => {\r\n const customizerToken: any =\r\n getSessionStorage('customizerToken') || getCookie('customizerToken');\r\n\r\n if (!customizerToken) return;\r\n const decrypt: any = decryptToken(customizerToken);\r\n\r\n set({\r\n ...decrypt,\r\n });\r\n },\r\n isLoggedIn: () => (!!get().customerId ? true : false),\r\n };\r\n};\r\n\r\nexport default AuthSlice;\r\n","import { StateCreator } from 'zustand';\r\n// import { use3dddPlus } from '..';\r\n\r\nexport interface HistorySlice {\r\n history: string[];\r\n current: string;\r\n navigateTo: (page: string) => void;\r\n goBack: () => void;\r\n}\r\n\r\nexport const historySlice: StateCreator<HistorySlice> = (set, _get) => {\r\n return {\r\n history: [],\r\n current: '',\r\n navigateTo: (page: string) => {\r\n set((state) => ({\r\n history: [...state.history, state.current],\r\n current: page,\r\n }));\r\n },\r\n goBack: () => {\r\n set((state) => {\r\n if (state.history.length > 0) {\r\n const previousPage = state.history.pop()!;\r\n return {\r\n history: [...state.history],\r\n current: previousPage,\r\n };\r\n }\r\n return state;\r\n });\r\n },\r\n }\r\n}\r\nexport default HistorySlice;\r\n","import { StateCreator } from 'zustand';\r\nimport { fabric } from 'fabric';\r\nimport { use3dddPlus } from '..';\r\nimport AWS from 'aws-sdk';\r\nexport interface FabricSlice {\r\n // popCanvasOptions ?: any,\r\n availableMascots: any[];\r\n filteredMascots: any[];\r\n loading: Boolean;\r\n selectedStepper?: any;\r\n setSelectedStepper?: (selectedStepper: any) => void;\r\n hasUploadScreen?: any;\r\n setHasUploadScreen?: (hasUploadScreen: boolean) => void;\r\n storeHistory: any;\r\n count: number;\r\n stockLogos: [];\r\n retriveLogoDesign: any[];\r\n fabricCanvas: any;\r\n popupCanv: any;\r\n textInfo: string;\r\n uploadImageModalDisplay: boolean;\r\n currentSelection: string;\r\n activeSelection: any;\r\n selectedAll: boolean;\r\n colorFill: any;\r\n defaultColorFill: any[];\r\n loadedObject: any;\r\n setDefaultColorFill: (dcf: any) => void;\r\n defaultColorFillCopy: any[];\r\n setDefaultColorFillCopy: (dcf: any) => void;\r\n // colorFillPopup : {},\r\n storeAllObject: any[];\r\n iconImage: string;\r\n HideControls: any;\r\n showContextMenu: boolean;\r\n forStoringAllObject: (data: any) => void;\r\n forIconCapture: () => void;\r\n duplicateObject: () => void;\r\n deleteButtonControls: () => void;\r\n undo: () => void;\r\n redo: () => void;\r\n moveDown: (element) => void;\r\n moveUp: (element) => void;\r\n moveRight: (element) => void;\r\n moveLeft: (element) => void;\r\n applyColorFill: () => any;\r\n updateModifaction: (saveHistory: boolean) => void;\r\n nameCounter: any;\r\n guid: () => string;\r\n contextMenuCoordinates: { x: number; y: number };\r\n stockLogoHandler: (e: any) => void;\r\n testSVG: (data: any) => void;\r\n myLogoHandler: (logo: any) => void;\r\n loadingRetrivedFiles: (data: any) => void;\r\n allColor: any;\r\n uploadLogoConfig: (jsonConfig: any, customerId: any) => any;\r\n logoData: any;\r\n setLogoData: (logo: any) => void;\r\n setAvailableMascots: (availableMascots: any[]) => void;\r\n setFilteredMascots: (filteredMascots: any[]) => void;\r\n handleMascotObjectFilterValues: (event: any) => void;\r\n filterValue: string;\r\n displayProductColor?: boolean;\r\n setDisplayProductColor?: () => void;\r\n popUpCanvasAllColor: any[];\r\n popupCanvasStoreHistory: any[];\r\n popUpCanvasCount: number;\r\n popUpCanvasApplyColorFill: () => void;\r\n popUpCanvasUpdateModification: (data: any) => void;\r\n popUpCanvasRedo: () => void;\r\n popUpCanvasUndo: () => any;\r\n forPopupCanvasReset: any;\r\n forPopupCanvasColor: any;\r\n imageData: any;\r\n horizontalLine: any;\r\n verticalLine: any;\r\n lastPosition: { top: number; left: number; scaleX?: number; scaleY?: number };\r\n setLastPosition: (lastPosition: {\r\n top: number;\r\n left: number;\r\n scaleX?: number;\r\n scaleY?: number;\r\n }) => void;\r\n}\r\n\r\nexport const fabricSlice: StateCreator<FabricSlice> = (set, get) => {\r\n return {\r\n popUpCanvasCount: 1,\r\n popupCanvasStoreHistory: [],\r\n availableMascots: [],\r\n filteredMascots: [],\r\n logoData: null,\r\n setLogoData: (logoData) => set({ logoData }),\r\n allColor: [],\r\n loading: false,\r\n selectedStepper: 1,\r\n setSelectedStepper: (selectedStepper) => set({ selectedStepper }),\r\n hasUploadScreen: false,\r\n setHasUploadScreen: (hasUploadScreen) => set({ hasUploadScreen }),\r\n storeHistory: [],\r\n stockLogos: [],\r\n retriveLogoDesign: [],\r\n fabricCanvas: null,\r\n popupCanv: null,\r\n textInfo: 'NEW TEXT',\r\n uploadImageModalDisplay: false,\r\n currentSelection: 'layer',\r\n activeSelection: null,\r\n selectedAll: false,\r\n colorFill: {},\r\n defaultColorFill: [],\r\n loadedObject: [],\r\n defaultColorFillCopy: [],\r\n // colorFillPopup : {},\r\n storeAllObject: [],\r\n iconImage: '',\r\n HideControls: {\r\n tl: true,\r\n tr: true,\r\n bl: true, //false\r\n br: true,\r\n ml: false,\r\n mt: false,\r\n mr: false,\r\n mb: false,\r\n mtr: true,\r\n // 'cornerColor':'yellow'\r\n },\r\n showContextMenu: false,\r\n\r\n forStoringAllObject: (data) => {\r\n //@ts-ignore\r\n get().storeAllObject.unshift(data); //FOR PUSHING THE ARRAY RESERVE\r\n },\r\n forIconCapture: () => {\r\n const activeObject = get().fabricCanvas.getActiveObject();\r\n if (activeObject) {\r\n // const dataURL = get().fabricCanvas.toDataURL({\r\n // left: activeObject.left,\r\n // top: activeObject.top,\r\n // width: activeObject.width * activeObject.scaleX,\r\n // height: activeObject.height * activeObject.scaleY,\r\n // });\r\n\r\n const dataURL = activeObject.toDataURL('image/png');\r\n set({ iconImage: dataURL });\r\n }\r\n },\r\n nameCounter: 0,\r\n guid: () => {\r\n let u =\r\n Date.now().toString(16) + Math.random().toString(16) + '0'.repeat(16);\r\n return [\r\n u.substr(0, 8),\r\n u.substr(8, 4),\r\n '4000-8' + u.substr(13, 3),\r\n u.substr(16, 12),\r\n ].join('-');\r\n },\r\n duplicateObject: () => {\r\n if (get().fabricCanvas.getActiveObject()) {\r\n let activeObj = get().fabricCanvas.getActiveObject();\r\n let clipboard;\r\n get()\r\n .fabricCanvas.getActiveObject()\r\n .clone((cloned) => {\r\n clipboard = cloned;\r\n clipboard.clone((clonedObj) => {\r\n get().fabricCanvas.discardActiveObject();\r\n clonedObj.set({\r\n evented: true,\r\n });\r\n if (clonedObj.type === 'activeSelection') {\r\n clonedObj.canvas = get().fabricCanvas;\r\n clonedObj.forEachObject((obj: any, index: any) => {\r\n obj.colorFill = activeObj._objects[index].colorFill;\r\n obj.id = use3dddPlus.getState().guid();\r\n // copy all path text data & clone text props as well(text with shapes applied)\r\n // if (obj.type === 'path' && obj.pathData !== undefined) {\r\n if (obj.type === 'path') {\r\n obj.pathData = activeObj._objects[index].pathData;\r\n obj.shapeSize = activeObj._objects[index].shapeSize;\r\n obj.shapeType = activeObj._objects[index].shapeType;\r\n obj.fontFamily = activeObj._objects[index].fontFamily;\r\n obj.fontWeight = activeObj._objects[index].fontWeight;\r\n obj.fontSize = activeObj._objects[index].fontSize;\r\n obj.charSpacing = activeObj._objects[index].charSpacing;\r\n obj.textAlign = activeObj._objects[index].textAlign;\r\n obj.fontStyle = activeObj._objects[index].fontStyle;\r\n obj.text = activeObj._objects[index].text;\r\n }\r\n get().fabricCanvas.add(obj);\r\n });\r\n clonedObj.setCoords();\r\n } else {\r\n clonedObj.colorFill = activeObj.colorFill;\r\n clonedObj.id = use3dddPlus.getState().guid();\r\n // copy all path text data & clone text props as well(text with shapes applied)\r\n if (\r\n activeObj.type === 'path' &&\r\n activeObj.pathData !== undefined\r\n ) {\r\n clonedObj.pathData = activeObj.pathData;\r\n clonedObj.shapeSize = activeObj.shapeSize;\r\n clonedObj.shapeType = activeObj.shapeType;\r\n clonedObj.fontFamily = activeObj.fontFamily;\r\n clonedObj.fontWeight = activeObj.fontWeight;\r\n clonedObj.fontSize = activeObj.fontSize;\r\n clonedObj.charSpacing = activeObj.charSpacing;\r\n clonedObj.textAlign = activeObj.textAlign;\r\n clonedObj.fontStyle = activeObj.fontStyle;\r\n clonedObj.text = activeObj.text;\r\n }\r\n get().fabricCanvas.add(clonedObj);\r\n }\r\n clipboard.top += 20;\r\n clipboard.left += 20;\r\n if (\r\n activeObj &&\r\n activeObj.shapeType &&\r\n activeObj.shapeType.length > 0\r\n ) {\r\n clonedObj.shapeType = activeObj.shapeType;\r\n clonedObj.shapeSize = activeObj.shapeSize;\r\n }\r\n get().fabricCanvas.setActiveObject(clonedObj);\r\n const brNew = clonedObj.getBoundingRect();\r\n if (\r\n !(\r\n brNew.width + brNew.left + 45 + 20 >=\r\n clonedObj.canvas.width ||\r\n brNew.height + brNew.top + 10 + 20 >= clonedObj.canvas.height\r\n )\r\n ) {\r\n clonedObj.set({\r\n left: clonedObj.left + 20,\r\n top: clonedObj.top + 20,\r\n });\r\n }\r\n // get().fabricCanvas.requestRenderAll();\r\n // clonedObj._objects.map((data) => {\r\n // get().forStoringAllObject(data);\r\n // });\r\n if (\r\n clonedObj &&\r\n clonedObj._objects &&\r\n clonedObj._objects.length > 0 &&\r\n (clonedObj._objects[0].type === 'text' ||\r\n clonedObj._objects[0].type === 'group' ||\r\n (clonedObj._objects[0].type === 'path' &&\r\n clonedObj._objects[0].fontFamily))\r\n ) {\r\n clonedObj._objects.map((data) => {\r\n data.icon = data.toDataURL('image/png');\r\n get().forStoringAllObject(data);\r\n });\r\n } else {\r\n use3dddPlus.getState().forIconCapture();\r\n clonedObj.icon = use3dddPlus.getState().iconImage;\r\n get().forStoringAllObject(clonedObj);\r\n }\r\n });\r\n get().updateModifaction(true);\r\n });\r\n }\r\n },\r\n deleteButtonControls: () => {\r\n // console.log(deleteIcon,'SELECTED......',getObj);\r\n },\r\n count: 1,\r\n skipEvent: false,\r\n undo: () => {\r\n if (get().count <= get().storeHistory.length) {\r\n // if(get().count + 1 !== get().storeHistory.length){\r\n get().fabricCanvas.clear().renderAll();\r\n get().fabricCanvas.loadFromJSON(\r\n get().storeHistory[\r\n get().storeHistory.length -\r\n 1 -\r\n (get().count > 1 ? get().count - 1 : 0)\r\n ]\r\n );\r\n\r\n // Remove lines\r\n get()\r\n .fabricCanvas.getObjects()\r\n .forEach((obj) => {\r\n if (obj.type === 'line') {\r\n get().fabricCanvas.remove(obj);\r\n }\r\n });\r\n\r\n // Add lines\r\n const horizontalLine = new fabric.Line(\r\n [\r\n 0,\r\n get().fabricCanvas.height / 2,\r\n get().fabricCanvas.height,\r\n get().fabricCanvas.height / 2,\r\n ],\r\n {\r\n stroke: 'red',\r\n scaleX: 11,\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n const verticalLine = new fabric.Line(\r\n [\r\n get().fabricCanvas.width / 2,\r\n 0,\r\n get().fabricCanvas.width / 2,\r\n get().fabricCanvas.width,\r\n ],\r\n {\r\n stroke: 'red',\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n horizontalLine.centerH();\r\n get().fabricCanvas.add(horizontalLine);\r\n get().fabricCanvas.add(verticalLine);\r\n\r\n get().fabricCanvas.sendToBack(horizontalLine);\r\n get().fabricCanvas.sendToBack(verticalLine);\r\n\r\n use3dddPlus.setState({ horizontalLine: horizontalLine });\r\n use3dddPlus.setState({ verticalLine: verticalLine });\r\n\r\n get().fabricCanvas.renderAll();\r\n get().count += 1;\r\n // }\r\n\r\n // Update layers\r\n use3dddPlus.getState().clearLayers();\r\n const canvasGetobject = get().fabricCanvas.getObjects();\r\n canvasGetobject.forEach((element: any) => {\r\n if (element.type !== 'line') {\r\n use3dddPlus.getState().forStoringAllObject(element);\r\n if (element.type === 'text' || 'path') {\r\n get().fabricCanvas.setActiveObject(element);\r\n use3dddPlus.getState().forIconCapture();\r\n //@ts-ignore\r\n element.icon = use3dddPlus.getState().iconImage;\r\n get().fabricCanvas.discardActiveObject();\r\n }\r\n }\r\n });\r\n }\r\n },\r\n redo: () => {\r\n if (get().count > 2) {\r\n get().fabricCanvas.clear().renderAll();\r\n let item = Math.abs(get().count - get().storeHistory.length - 2);\r\n get().fabricCanvas.loadFromJSON(get().storeHistory[item]);\r\n\r\n // Remove lines\r\n get()\r\n .fabricCanvas.getObjects()\r\n .forEach((obj) => {\r\n if (obj.type === 'line') {\r\n get().fabricCanvas.remove(obj);\r\n }\r\n });\r\n\r\n // Add lines\r\n const horizontalLine = new fabric.Line(\r\n [\r\n 0,\r\n get().fabricCanvas.height / 2,\r\n get().fabricCanvas.height,\r\n get().fabricCanvas.height / 2,\r\n ],\r\n {\r\n stroke: 'red',\r\n scaleX: 11,\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n const verticalLine = new fabric.Line(\r\n [\r\n get().fabricCanvas.width / 2,\r\n 0,\r\n get().fabricCanvas.width / 2,\r\n get().fabricCanvas.width,\r\n ],\r\n {\r\n stroke: 'red',\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n horizontalLine.centerH();\r\n get().fabricCanvas.add(horizontalLine);\r\n get().fabricCanvas.add(verticalLine);\r\n\r\n get().fabricCanvas.sendBackwards(horizontalLine);\r\n get().fabricCanvas.sendBackwards(verticalLine);\r\n\r\n use3dddPlus.setState({ horizontalLine: horizontalLine });\r\n use3dddPlus.setState({ verticalLine: verticalLine });\r\n\r\n get().fabricCanvas.renderAll();\r\n get().count -= 1;\r\n\r\n // Update layers\r\n use3dddPlus.getState().clearLayers();\r\n const canvasGetobject = get().fabricCanvas.getObjects();\r\n canvasGetobject.forEach((element: any) => {\r\n if (element.type !== 'line') {\r\n use3dddPlus.getState().forStoringAllObject(element);\r\n if (element.type === 'text' || 'path') {\r\n get().fabricCanvas.setActiveObject(element);\r\n use3dddPlus.getState().forIconCapture();\r\n //@ts-ignore\r\n element.icon = use3dddPlus.getState().iconImage;\r\n get().fabricCanvas.discardActiveObject();\r\n }\r\n }\r\n });\r\n }\r\n },\r\n moveDown: (element) => {\r\n element.top = element.top + 2;\r\n get().fabricCanvas.renderAll();\r\n },\r\n moveUp: (element) => {\r\n element.top = element.top - 2;\r\n get().fabricCanvas.renderAll();\r\n },\r\n moveRight: (element) => {\r\n element.left = element.left + 2;\r\n get().fabricCanvas.renderAll();\r\n },\r\n moveLeft: (element) => {\r\n element.left = element.left - 2;\r\n get().fabricCanvas.renderAll();\r\n },\r\n applyColorFill: () => {\r\n const canvasData = get().fabricCanvas.toJSON(['id', 'colorFill']);\r\n const canvasGetobject = get().fabricCanvas.getObjects();\r\n canvasData.objects.forEach((element: any, index: any) => {\r\n if (\r\n canvasGetobject &&\r\n canvasGetobject.length > 0 &&\r\n canvasGetobject[index].shapeType\r\n ) {\r\n element.shapeType = canvasGetobject[index].shapeType;\r\n element.shapeSize = canvasGetobject[index].shapeSize;\r\n element.text = canvasGetobject[index].text;\r\n element.textAlign = canvasGetobject[index].textAlign;\r\n element.stroke = canvasGetobject[index].stroke;\r\n element.strokeWidth = canvasGetobject[index].strokeWidth;\r\n element.fontFamily = canvasGetobject[index].fontFamily;\r\n }\r\n element.colorFill = canvasGetobject[index].colorFill;\r\n element.icon = canvasGetobject[index].icon;\r\n element.id = canvasGetobject[index].id;\r\n });\r\n return canvasData;\r\n },\r\n setDefaultColorFill: (dcf: any) => {\r\n use3dddPlus.setState({ defaultColorFill: dcf });\r\n },\r\n setDefaultColorFillCopy: (dcf: any) => {\r\n use3dddPlus.setState({ defaultColorFillCopy: dcf });\r\n },\r\n // updateModifaction: (toSet) => {\r\n // if (toSet) {\r\n // get().storeHistory.push(get().applyColorFill());\r\n // }\r\n // },\r\n\r\n updateModifaction: (toSet) => {\r\n if (toSet) {\r\n if (get().count > 1 && get().storeHistory.length > 1) {\r\n for (let i = 1; i < get().count; i++) {\r\n get().storeHistory.pop();\r\n }\r\n get().count = 1;\r\n }\r\n get().storeHistory.push(get().applyColorFill());\r\n }\r\n },\r\n\r\n contextMenuCoordinates: { x: 0, y: 0 },\r\n stockLogoHandler: (e: any) => {\r\n // console.log(e);\r\n // let logos = get().stockLogos[e.target.id];\r\n //@ts-ignore\r\n let logos = e + '?timestamp=' + Date.now();\r\n use3dddPlus.setState({ selectedStepper: undefined });\r\n get().testSVG(logos);\r\n },\r\n testSVG: (data) => {\r\n fabric.loadSVGFromURL(data, (objects, options) => {\r\n const loadedObject: any = fabric.util.groupSVGElements(\r\n objects,\r\n options\r\n );\r\n // console.log(svg)\r\n loadedObject.scaleToWidth(200);\r\n loadedObject.scaleToHeight(200);\r\n let objImage = [];\r\n let _Fills = [];\r\n //@ts-ignore\r\n if (loadedObject && loadedObject._objects) {\r\n //@ts-ignore\r\n objImage = loadedObject._objects;\r\n objImage.forEach((ele) => {\r\n ele.set({ strokeWidth: 0 });\r\n use3dddPlus.setState({ fillColor: [...ele.fill] });\r\n _Fills.push(ele.fill);\r\n });\r\n } else {\r\n //@ts-ignore\r\n objImage = loadedObject;\r\n //@ts-ignore\r\n objImage.set({ strokeWidth: 0 });\r\n //@ts-ignore\r\n use3dddPlus.setState({ fillColor: [...objImage.fill] });\r\n _Fills.push(objImage.fill);\r\n }\r\n use3dddPlus.setState({\r\n //@ts-ignore\r\n fillColor: use3dddPlus.getState().removeDuplicates(_Fills),\r\n });\r\n //@ts-ignore\r\n _Fills = use3dddPlus.getState().removeDuplicates(_Fills);\r\n const fillColors = {};\r\n _Fills.map((item, index) => {\r\n fillColors['layer' + index] = item;\r\n });\r\n use3dddPlus.setState({ colorFill: fillColors });\r\n loadedObject.set({\r\n //@ts-ignore\r\n colorFill: fillColors,\r\n });\r\n\r\n loadedObject.id = get().guid();\r\n get().fabricCanvas.add(loadedObject).renderAll();\r\n get().fabricCanvas.centerObject(loadedObject);\r\n get().fabricCanvas.setActiveObject(loadedObject);\r\n use3dddPlus.setState({ activeSelection: loadedObject });\r\n use3dddPlus.getState().forStoringAllObject(loadedObject);\r\n get()\r\n .fabricCanvas.getActiveObject()\r\n .toDataURL(function () {});\r\n use3dddPlus.getState().forIconCapture();\r\n //@ts-ignore\r\n loadedObject.icon = use3dddPlus.getState().iconImage;\r\n use3dddPlus.getState().updateModifaction(true);\r\n });\r\n },\r\n myLogoHandler: (logo: any) => {\r\n let jsonData = logo.logo_config_url;\r\n var requestOptions = {\r\n method: 'GET',\r\n };\r\n fetch(jsonData, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => get().loadingRetrivedFiles(result))\r\n .catch((error) => console.log('error', error));\r\n },\r\n\r\n loadingRetrivedFiles: (data: any) => {\r\n let canvas = use3dddPlus.getState().fabricCanvas;\r\n canvas.loadFromJSON(JSON.parse(data), function () {\r\n const horizontalLine = new fabric.Line(\r\n [0, canvas.height / 2, canvas.height, canvas.height / 2],\r\n {\r\n stroke: 'red',\r\n scaleX: 11,\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n const verticalLine = new fabric.Line(\r\n [canvas.width / 2, 0, canvas.width / 2, canvas.width],\r\n {\r\n stroke: 'red',\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n horizontalLine.centerH();\r\n canvas.add(horizontalLine);\r\n canvas.add(verticalLine);\r\n get().fabricCanvas.sendToBack(horizontalLine);\r\n get().fabricCanvas.sendToBack(verticalLine);\r\n use3dddPlus.setState({ horizontalLine: horizontalLine });\r\n use3dddPlus.setState({ verticalLine: verticalLine });\r\n canvas.renderAll.bind(canvas);\r\n canvas.discardActiveObject();\r\n use3dddPlus.setState({ selectedStepper: undefined });\r\n // Update layers\r\n use3dddPlus.getState().clearLayers();\r\n canvas.getObjects().forEach((element) => {\r\n element.id = use3dddPlus.getState().guid();\r\n if (element.type !== 'line') {\r\n use3dddPlus.getState().forStoringAllObject(element);\r\n }\r\n canvas.setActiveObject(element);\r\n canvas.renderAll();\r\n use3dddPlus.getState().forIconCapture();\r\n element.icon = use3dddPlus.getState().iconImage;\r\n });\r\n use3dddPlus.getState().updateModifaction(true);\r\n });\r\n canvas.backgroundColor = '#ffffff';\r\n },\r\n uploadLogoConfig: async (jsonConfig, customerId) => {\r\n const bucketName = process.env.REACT_APP_BUCKET;\r\n const region = process.env.REACT_APP_REGION;\r\n AWS.config.update({\r\n accessKeyId: process.env.REACT_APP_ACCESSKEY,\r\n secretAccessKey: process.env.REACT_APP_SECRET_ACCESSKEY,\r\n });\r\n const S3 = new AWS.S3({\r\n params: { Bucket: bucketName },\r\n region: region,\r\n });\r\n\r\n const microTime = Date.now();\r\n const filePath = `my-logos/logo-config/${customerId}/${microTime}.json`;\r\n const params = {\r\n Bucket: bucketName,\r\n Key: filePath,\r\n Body: jsonConfig,\r\n ContentType: 'application/json',\r\n };\r\n\r\n const s3UrlPath = `https://${bucketName}.s3.${region}.amazonaws.com/${filePath}`;\r\n return new Promise((resolve, reject) => {\r\n S3.putObject(params, function (err: any) {\r\n if (err) {\r\n console.log('Error occurred while connecting S3 bucket!', err);\r\n reject(err);\r\n } else {\r\n resolve(s3UrlPath);\r\n }\r\n });\r\n });\r\n },\r\n setAvailableMascots: (availableMascots) => set({ availableMascots }),\r\n setFilteredMascots: (filteredMascots) => set({ filteredMascots }),\r\n\r\n handleMascotObjectFilterValues: (event) => {\r\n set({\r\n filterValue: event,\r\n });\r\n if (event === 'All') {\r\n get().setFilteredMascots(\r\n get().availableMascots.map((item) => item.thumbnail)\r\n );\r\n } else {\r\n const filteredData = get().availableMascots.filter((item) =>\r\n item.tags.includes(event)\r\n );\r\n get().setFilteredMascots(filteredData.map((item) => item.thumbnail));\r\n }\r\n },\r\n filterValue: '',\r\n displayProductColor: false,\r\n setDisplayProductColor: () => {\r\n set((state) => ({\r\n displayProductColor: !state.displayProductColor,\r\n }));\r\n },\r\n popUpCanvasAllColor: [],\r\n popUpCanvasApplyColorFill: () => {\r\n const popUpCanvasData = get().popupCanv.toJSON(['id', 'colorFill']);\r\n return popUpCanvasData;\r\n },\r\n popUpCanvasUpdateModification: (toSet) => {\r\n if (toSet) {\r\n const historyObject = {\r\n colorFill: get().colorFill,\r\n json: get().popUpCanvasApplyColorFill(),\r\n };\r\n set((state) => ({\r\n ...state,\r\n popupCanvasStoreHistory: [\r\n ...state.popupCanvasStoreHistory,\r\n historyObject,\r\n ],\r\n }));\r\n }\r\n },\r\n popUpCanvasUndo: () => {\r\n if (get().popUpCanvasCount <= get().popupCanvasStoreHistory.length) {\r\n const _V =\r\n get().popupCanvasStoreHistory.length -\r\n 1 -\r\n (get().popUpCanvasCount > 1 ? get().popUpCanvasCount - 1 : 0);\r\n if (get().popupCanvasStoreHistory[_V] && _V > 0) {\r\n const colors = get().popupCanvasStoreHistory[_V].colorFill;\r\n get().popupCanv.clear().renderAll();\r\n get().popupCanv.loadFromJSON(get().popupCanvasStoreHistory[_V].json);\r\n get()\r\n .popupCanv.getObjects()\r\n .forEach((obj) => {\r\n if (obj.type === 'line') {\r\n get().popupCanv.remove(obj);\r\n }\r\n });\r\n\r\n const canvas = use3dddPlus.getState().popupCanv;\r\n var gridSize = 83; // Size of each grid cell\r\n var canvasWidth = canvas.width;\r\n var canvasHeight = canvas.height;\r\n var numCols = Math.ceil(canvasWidth / gridSize);\r\n var numRows = Math.ceil(canvasHeight / gridSize);\r\n\r\n // Function to create a rectangle with checkerboard pattern\r\n function createCheckerboardRect(left, top, width, height, isEvenRow) {\r\n var rect = new fabric.Rect({\r\n left: left,\r\n top: top,\r\n width: width,\r\n height: height,\r\n type: 'line',\r\n lockMovementX: true,\r\n lockMovementY: true,\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n // backgroundColor:'#ccc',\r\n fill:\r\n (isEvenRow && (left / gridSize) % 2 === 0) ||\r\n (!isEvenRow && (left / gridSize) % 2 !== 0)\r\n ? '#ffffff'\r\n : '#dadadac7',\r\n });\r\n return rect;\r\n }\r\n\r\n // Create grid lines\r\n for (var i = 0; i < numCols; i++) {\r\n var x = i * gridSize;\r\n const line = new fabric.Line([x, 0, x, canvasHeight], {\r\n stroke: '#dadadac7',\r\n selectable: false,\r\n type: 'line',\r\n lockMovementX: true,\r\n lockMovementY: true,\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n });\r\n canvas.add(line);\r\n canvas.sendToBack(line);\r\n }\r\n\r\n for (var j = 0; j < numRows; j++) {\r\n var y = j * gridSize;\r\n const line = new fabric.Line([0, y, canvasWidth, y], {\r\n stroke: '#FFFFFF',\r\n selectable: false,\r\n type: 'line',\r\n lockMovementX: true,\r\n lockMovementY: true,\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n });\r\n canvas.add(line);\r\n canvas.sendToBack(line);\r\n }\r\n\r\n // Fill grid with checkerboard pattern\r\n for (var i = 0; i < numCols; i++) {\r\n for (var j = 0; j < numRows; j++) {\r\n var left = i * gridSize;\r\n var top = j * gridSize;\r\n var isEvenRow = j % 2 === 0;\r\n var rect = createCheckerboardRect(\r\n left,\r\n top,\r\n gridSize,\r\n gridSize,\r\n isEvenRow\r\n );\r\n canvas.add(rect);\r\n canvas.sendToBack(rect);\r\n }\r\n }\r\n\r\n set({ colorFill: colors });\r\n get().popupCanv.renderAll();\r\n get().popUpCanvasCount += 1;\r\n if (_V === 1) {\r\n use3dddPlus.setState({ popupCanvasStoreHistory: [] });\r\n use3dddPlus.getState().popUpCanvasUpdateModification(true);\r\n get().popUpCanvasCount = 1;\r\n }\r\n return colors;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n },\r\n popUpCanvasRedo: () => {\r\n if (get().popUpCanvasCount > 0) {\r\n get().popupCanv.clear().renderAll();\r\n get().popupCanv.loadFromJSON(\r\n get().popupCanvasStoreHistory[\r\n get().popupCanvasStoreHistory.length -\r\n 1 -\r\n get().popUpCanvasCount +\r\n 1\r\n ]\r\n );\r\n get().popupCanv.renderAll();\r\n get().popUpCanvasCount -= 1;\r\n }\r\n },\r\n forPopupCanvasReset: null,\r\n forPopupCanvasColor: {},\r\n imageData: null,\r\n horizontalLine: null,\r\n verticalLine: null,\r\n lastPosition: { top: 0, left: 0 },\r\n setLastPosition: (lastPosition) => set({ lastPosition }),\r\n };\r\n};\r\n\r\nexport default FabricSlice;\r\n","/* This Source Code Form is subject to the terms of the Mozilla Public\r\n * License, v. 2.0. If a copy of the MPL was not distributed with this\r\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\r\n\r\n'use strict';\r\n\r\nexport function TIFFParser() {\r\n this.tiffDataView = undefined;\r\n this.littleEndian = undefined;\r\n this.fileDirectories = [];\r\n}\r\n\r\nTIFFParser.prototype = {\r\n isLittleEndian: function () {\r\n // Get byte order mark.\r\n var BOM = this.getBytes(2, 0);\r\n\r\n // Find out the endianness.\r\n if (BOM === 0x4949) {\r\n this.littleEndian = true;\r\n } else if (BOM === 0x4d4d) {\r\n this.littleEndian = false;\r\n } else {\r\n console.log(BOM);\r\n throw TypeError('Invalid byte order value.');\r\n }\r\n\r\n return this.littleEndian;\r\n },\r\n\r\n hasTowel: function () {\r\n // Check for towel.\r\n if (this.getBytes(2, 2) !== 42) {\r\n throw RangeError('You forgot your towel!');\r\n return false;\r\n }\r\n\r\n return true;\r\n },\r\n\r\n getFieldTagName: function (fieldTag) {\r\n // See: http://www.digitizationguidelines.gov/guidelines/TIFF_Metadata_Final.pdf\r\n // See: http://www.digitalpreservation.gov/formats/content/tiff_tags.shtml\r\n var fieldTagNames = {\r\n // TIFF Baseline\r\n 0x013b: 'Artist',\r\n 0x0102: 'BitsPerSample',\r\n 0x0109: 'CellLength',\r\n 0x0108: 'CellWidth',\r\n 0x0140: 'ColorMap',\r\n 0x0103: 'Compression',\r\n 0x8298: 'Copyright',\r\n 0x0132: 'DateTime',\r\n 0x0152: 'ExtraSamples',\r\n 0x010a: 'FillOrder',\r\n 0x0121: 'FreeByteCounts',\r\n 0x0120: 'FreeOffsets',\r\n 0x0123: 'GrayResponseCurve',\r\n 0x0122: 'GrayResponseUnit',\r\n 0x013c: 'HostComputer',\r\n 0x010e: 'ImageDescription',\r\n 0x0101: 'ImageLength',\r\n 0x0100: 'ImageWidth',\r\n 0x010f: 'Make',\r\n 0x0119: 'MaxSampleValue',\r\n 0x0118: 'MinSampleValue',\r\n 0x0110: 'Model',\r\n 0x00fe: 'NewSubfileType',\r\n 0x0112: 'Orientation',\r\n 0x0106: 'PhotometricInterpretation',\r\n 0x011c: 'PlanarConfiguration',\r\n 0x0128: 'ResolutionUnit',\r\n 0x0116: 'RowsPerStrip',\r\n 0x0115: 'SamplesPerPixel',\r\n 0x0131: 'Software',\r\n 0x0117: 'StripByteCounts',\r\n 0x0111: 'StripOffsets',\r\n 0x00ff: 'SubfileType',\r\n 0x0107: 'Threshholding',\r\n 0x011a: 'XResolution',\r\n 0x011b: 'YResolution',\r\n\r\n // TIFF Extended\r\n 0x0146: 'BadFaxLines',\r\n 0x0147: 'CleanFaxData',\r\n 0x0157: 'ClipPath',\r\n 0x0148: 'ConsecutiveBadFaxLines',\r\n 0x01b1: 'Decode',\r\n 0x01b2: 'DefaultImageColor',\r\n 0x010d: 'DocumentName',\r\n 0x0150: 'DotRange',\r\n 0x0141: 'HalftoneHints',\r\n 0x015a: 'Indexed',\r\n 0x015b: 'JPEGTables',\r\n 0x011d: 'PageName',\r\n 0x0129: 'PageNumber',\r\n 0x013d: 'Predictor',\r\n 0x013f: 'PrimaryChromaticities',\r\n 0x0214: 'ReferenceBlackWhite',\r\n 0x0153: 'SampleFormat',\r\n 0x022f: 'StripRowCounts',\r\n 0x014a: 'SubIFDs',\r\n 0x0124: 'T4Options',\r\n 0x0125: 'T6Options',\r\n 0x0145: 'TileByteCounts',\r\n 0x0143: 'TileLength',\r\n 0x0144: 'TileOffsets',\r\n 0x0142: 'TileWidth',\r\n 0x012d: 'TransferFunction',\r\n 0x013e: 'WhitePoint',\r\n 0x0158: 'XClipPathUnits',\r\n 0x011e: 'XPosition',\r\n 0x0211: 'YCbCrCoefficients',\r\n 0x0213: 'YCbCrPositioning',\r\n 0x0212: 'YCbCrSubSampling',\r\n 0x0159: 'YClipPathUnits',\r\n 0x011f: 'YPosition',\r\n\r\n // EXIF\r\n 0x9202: 'ApertureValue',\r\n 0xa001: 'ColorSpace',\r\n 0x9004: 'DateTimeDigitized',\r\n 0x9003: 'DateTimeOriginal',\r\n 0x8769: 'Exif IFD',\r\n 0x9000: 'ExifVersion',\r\n 0x829a: 'ExposureTime',\r\n 0xa300: 'FileSource',\r\n 0x9209: 'Flash',\r\n 0xa000: 'FlashpixVersion',\r\n 0x829d: 'FNumber',\r\n 0xa420: 'ImageUniqueID',\r\n 0x9208: 'LightSource',\r\n 0x927c: 'MakerNote',\r\n 0x9201: 'ShutterSpeedValue',\r\n 0x9286: 'UserComment',\r\n\r\n // IPTC\r\n 0x83bb: 'IPTC',\r\n\r\n // ICC\r\n 0x8773: 'ICC Profile',\r\n\r\n // XMP\r\n 0x02bc: 'XMP',\r\n\r\n // GDAL\r\n 0xa480: 'GDAL_METADATA',\r\n 0xa481: 'GDAL_NODATA',\r\n\r\n // Photoshop\r\n 0x8649: 'Photoshop',\r\n };\r\n\r\n var fieldTagName;\r\n\r\n if (fieldTag in fieldTagNames) {\r\n fieldTagName = fieldTagNames[fieldTag];\r\n } else {\r\n console.log('Unknown Field Tag:', fieldTag);\r\n fieldTagName = 'Tag' + fieldTag;\r\n }\r\n\r\n return fieldTagName;\r\n },\r\n\r\n getFieldTypeName: function (fieldType) {\r\n var fieldTypeNames = {\r\n 0x0001: 'BYTE',\r\n 0x0002: 'ASCII',\r\n 0x0003: 'SHORT',\r\n 0x0004: 'LONG',\r\n 0x0005: 'RATIONAL',\r\n 0x0006: 'SBYTE',\r\n 0x0007: 'UNDEFINED',\r\n 0x0008: 'SSHORT',\r\n 0x0009: 'SLONG',\r\n 0x000a: 'SRATIONAL',\r\n 0x000b: 'FLOAT',\r\n 0x000c: 'DOUBLE',\r\n };\r\n\r\n var fieldTypeName;\r\n\r\n if (fieldType in fieldTypeNames) {\r\n fieldTypeName = fieldTypeNames[fieldType];\r\n }\r\n\r\n return fieldTypeName;\r\n },\r\n\r\n getFieldTypeLength: function (fieldTypeName) {\r\n var fieldTypeLength;\r\n\r\n if (['BYTE', 'ASCII', 'SBYTE', 'UNDEFINED'].indexOf(fieldTypeName) !== -1) {\r\n fieldTypeLength = 1;\r\n } else if (['SHORT', 'SSHORT'].indexOf(fieldTypeName) !== -1) {\r\n fieldTypeLength = 2;\r\n } else if (['LONG', 'SLONG', 'FLOAT'].indexOf(fieldTypeName) !== -1) {\r\n fieldTypeLength = 4;\r\n } else if (\r\n ['RATIONAL', 'SRATIONAL', 'DOUBLE'].indexOf(fieldTypeName) !== -1\r\n ) {\r\n fieldTypeLength = 8;\r\n }\r\n\r\n return fieldTypeLength;\r\n },\r\n\r\n getBits: function (numBits, byteOffset, bitOffset) {\r\n bitOffset = bitOffset || 0;\r\n var extraBytes = Math.floor(bitOffset / 8);\r\n var newByteOffset = byteOffset + extraBytes;\r\n var totalBits = bitOffset + numBits;\r\n var shiftRight = 32 - numBits;\r\n\r\n if (totalBits <= 0) {\r\n console.log(numBits, byteOffset, bitOffset);\r\n throw RangeError('No bits requested');\r\n } else if (totalBits <= 8) {\r\n var shiftLeft = 24 + bitOffset;\r\n var rawBits = this.tiffDataView.getUint8(\r\n newByteOffset,\r\n this.littleEndian\r\n );\r\n } else if (totalBits <= 16) {\r\n var shiftLeft = 16 + bitOffset;\r\n var rawBits = this.tiffDataView.getUint16(\r\n newByteOffset,\r\n this.littleEndian\r\n );\r\n } else if (totalBits <= 32) {\r\n var shiftLeft = bitOffset;\r\n var rawBits = this.tiffDataView.getUint32(\r\n newByteOffset,\r\n this.littleEndian\r\n );\r\n } else {\r\n console.log(numBits, byteOffset, bitOffset);\r\n throw RangeError('Too many bits requested');\r\n }\r\n\r\n var chunkInfo = {\r\n bits: (rawBits << shiftLeft) >>> shiftRight,\r\n byteOffset: newByteOffset + Math.floor(totalBits / 8),\r\n bitOffset: totalBits % 8,\r\n };\r\n\r\n return chunkInfo;\r\n },\r\n\r\n getBytes: function (numBytes, offset) {\r\n if (numBytes <= 0) {\r\n console.log(numBytes, offset);\r\n throw RangeError('No bytes requested');\r\n } else if (numBytes <= 1) {\r\n return this.tiffDataView.getUint8(offset, this.littleEndian);\r\n } else if (numBytes <= 2) {\r\n return this.tiffDataView.getUint16(offset, this.littleEndian);\r\n } else if (numBytes <= 3) {\r\n return this.tiffDataView.getUint32(offset, this.littleEndian) >>> 8;\r\n } else if (numBytes <= 4) {\r\n return this.tiffDataView.getUint32(offset, this.littleEndian);\r\n } else {\r\n console.log(numBytes, offset);\r\n throw RangeError('Too many bytes requested');\r\n }\r\n },\r\n\r\n getFieldValues: function (\r\n fieldTagName,\r\n fieldTypeName,\r\n typeCount,\r\n valueOffset\r\n ) {\r\n var fieldValues = [];\r\n\r\n var fieldTypeLength = this.getFieldTypeLength(fieldTypeName);\r\n var fieldValueSize = fieldTypeLength * typeCount;\r\n\r\n if (fieldValueSize <= 4) {\r\n // The value is stored at the big end of the valueOffset.\r\n if (this.littleEndian === false) {\r\n var value = valueOffset >>> ((4 - fieldTypeLength) * 8);\r\n } else {\r\n var value = valueOffset;\r\n }\r\n\r\n fieldValues.push(value);\r\n } else {\r\n for (var i = 0; i < typeCount; i++) {\r\n var indexOffset = fieldTypeLength * i;\r\n\r\n if (fieldTypeLength >= 8) {\r\n if (['RATIONAL', 'SRATIONAL'].indexOf(fieldTypeName) !== -1) {\r\n // Numerator\r\n fieldValues.push(this.getBytes(4, valueOffset + indexOffset));\r\n // Denominator\r\n fieldValues.push(this.getBytes(4, valueOffset + indexOffset + 4));\r\n //\t\t\t\t\t} else if (['DOUBLE'].indexOf(fieldTypeName) !== -1) {\r\n //\t\t\t\t\t\tfieldValues.push(this.getBytes(4, valueOffset + indexOffset) + this.getBytes(4, valueOffset + indexOffset + 4));\r\n } else {\r\n console.log(fieldTypeName, typeCount, fieldValueSize);\r\n throw TypeError(\"Can't handle this field type or size\");\r\n }\r\n } else {\r\n fieldValues.push(\r\n this.getBytes(fieldTypeLength, valueOffset + indexOffset)\r\n );\r\n }\r\n }\r\n }\r\n\r\n if (fieldTypeName === 'ASCII') {\r\n fieldValues.forEach(function (e, i, a) {\r\n a[i] = String.fromCharCode(e);\r\n });\r\n }\r\n\r\n return fieldValues;\r\n },\r\n\r\n clampColorSample: function (colorSample, bitsPerSample) {\r\n var multiplier = Math.pow(2, 8 - bitsPerSample);\r\n\r\n return Math.floor(colorSample * multiplier + (multiplier - 1));\r\n },\r\n\r\n makeRGBAFillValue: function (r, g, b, a) {\r\n if (typeof a === 'undefined') {\r\n a = 1.0;\r\n }\r\n return 'rgba(' + r + ', ' + g + ', ' + b + ', ' + a + ')';\r\n },\r\n\r\n parseFileDirectory: function (byteOffset) {\r\n var numDirEntries = this.getBytes(2, byteOffset);\r\n\r\n var tiffFields = [];\r\n\r\n for (\r\n var i = byteOffset + 2, entryCount = 0;\r\n entryCount < numDirEntries;\r\n i += 12, entryCount++\r\n ) {\r\n var fieldTag = this.getBytes(2, i);\r\n var fieldType = this.getBytes(2, i + 2);\r\n var typeCount = this.getBytes(4, i + 4);\r\n var valueOffset = this.getBytes(4, i + 8);\r\n\r\n var fieldTagName = this.getFieldTagName(fieldTag);\r\n var fieldTypeName = this.getFieldTypeName(fieldType);\r\n\r\n var fieldValues = this.getFieldValues(\r\n fieldTagName,\r\n fieldTypeName,\r\n typeCount,\r\n valueOffset\r\n );\r\n\r\n tiffFields[fieldTagName] = { type: fieldTypeName, values: fieldValues };\r\n }\r\n\r\n this.fileDirectories.push(tiffFields);\r\n\r\n var nextIFDByteOffset = this.getBytes(4, i);\r\n\r\n if (nextIFDByteOffset === 0x00000000) {\r\n return this.fileDirectories;\r\n } else {\r\n return this.parseFileDirectory(nextIFDByteOffset);\r\n }\r\n },\r\n\r\n parseTIFF: function (tiffArrayBuffer, canvas) {\r\n canvas = canvas || document.createElement('canvas');\r\n\r\n console.log(tiffArrayBuffer);\r\n\r\n this.tiffDataView = new DataView(tiffArrayBuffer);\r\n this.canvas = canvas;\r\n\r\n this.littleEndian = this.isLittleEndian(this.tiffDataView);\r\n\r\n if (!this.hasTowel(this.tiffDataView, this.littleEndian)) {\r\n return;\r\n }\r\n\r\n var firstIFDByteOffset = this.getBytes(4, 4);\r\n\r\n this.fileDirectories = this.parseFileDirectory(firstIFDByteOffset);\r\n\r\n var fileDirectory = this.fileDirectories[0];\r\n\r\n console.log(fileDirectory);\r\n\r\n var imageWidth = fileDirectory.ImageWidth.values[0];\r\n var imageLength = fileDirectory.ImageLength.values[0];\r\n\r\n this.canvas.width = imageWidth;\r\n this.canvas.height = imageLength;\r\n\r\n var strips = [];\r\n\r\n var compression = fileDirectory.Compression\r\n ? fileDirectory.Compression.values[0]\r\n : 1;\r\n\r\n var samplesPerPixel = fileDirectory.SamplesPerPixel.values[0];\r\n\r\n var sampleProperties = [];\r\n\r\n var bitsPerPixel = 0;\r\n var hasBytesPerPixel = false;\r\n\r\n fileDirectory.BitsPerSample.values.forEach(function (\r\n bitsPerSample,\r\n i,\r\n bitsPerSampleValues\r\n ) {\r\n sampleProperties[i] = {\r\n bitsPerSample: bitsPerSample,\r\n hasBytesPerSample: false,\r\n bytesPerSample: undefined,\r\n };\r\n\r\n if (bitsPerSample % 8 === 0) {\r\n sampleProperties[i].hasBytesPerSample = true;\r\n sampleProperties[i].bytesPerSample = bitsPerSample / 8;\r\n }\r\n\r\n bitsPerPixel += bitsPerSample;\r\n },\r\n this);\r\n\r\n if (bitsPerPixel % 8 === 0) {\r\n hasBytesPerPixel = true;\r\n var bytesPerPixel = bitsPerPixel / 8;\r\n }\r\n\r\n var stripOffsetValues = fileDirectory.StripOffsets.values;\r\n var numStripOffsetValues = stripOffsetValues.length;\r\n\r\n // StripByteCounts is supposed to be required, but see if we can recover anyway.\r\n if (fileDirectory.StripByteCounts) {\r\n var stripByteCountValues = fileDirectory.StripByteCounts.values;\r\n } else {\r\n console.log('Missing StripByteCounts!');\r\n\r\n // Infer StripByteCounts, if possible.\r\n if (numStripOffsetValues === 1) {\r\n var stripByteCountValues = [\r\n Math.ceil((imageWidth * imageLength * bitsPerPixel) / 8),\r\n ];\r\n } else {\r\n throw Error('Cannot recover from missing StripByteCounts');\r\n }\r\n }\r\n\r\n // Loop through strips and decompress as necessary.\r\n for (var i = 0; i < numStripOffsetValues; i++) {\r\n var stripOffset = stripOffsetValues[i];\r\n strips[i] = [];\r\n\r\n var stripByteCount = stripByteCountValues[i];\r\n\r\n // Loop through pixels.\r\n for (\r\n var byteOffset = 0,\r\n bitOffset = 0,\r\n jIncrement = 1,\r\n getHeader = true,\r\n pixel = [],\r\n numBytes = 0,\r\n sample = 0,\r\n currentSample = 0;\r\n byteOffset < stripByteCount;\r\n byteOffset += jIncrement\r\n ) {\r\n // Decompress strip.\r\n switch (compression) {\r\n // Uncompressed\r\n case 1:\r\n // Loop through samples (sub-pixels).\r\n for (var m = 0, pixel = []; m < samplesPerPixel; m++) {\r\n if (sampleProperties[m].hasBytesPerSample) {\r\n // XXX: This is wrong!\r\n var sampleOffset = sampleProperties[m].bytesPerSample * m;\r\n\r\n pixel.push(\r\n this.getBytes(\r\n sampleProperties[m].bytesPerSample,\r\n stripOffset + byteOffset + sampleOffset\r\n )\r\n );\r\n } else {\r\n var sampleInfo = this.getBits(\r\n sampleProperties[m].bitsPerSample,\r\n stripOffset + byteOffset,\r\n bitOffset\r\n );\r\n\r\n pixel.push(sampleInfo.bits);\r\n\r\n byteOffset = sampleInfo.byteOffset - stripOffset;\r\n bitOffset = sampleInfo.bitOffset;\r\n\r\n throw RangeError('Cannot handle sub-byte bits per sample');\r\n }\r\n }\r\n\r\n strips[i].push(pixel);\r\n\r\n if (hasBytesPerPixel) {\r\n jIncrement = bytesPerPixel;\r\n } else {\r\n jIncrement = 0;\r\n\r\n throw RangeError('Cannot handle sub-byte bits per pixel');\r\n }\r\n break;\r\n\r\n // CITT Group 3 1-Dimensional Modified Huffman run-length encoding\r\n case 2:\r\n // XXX: Use PDF.js code?\r\n break;\r\n\r\n // Group 3 Fax\r\n case 3:\r\n // XXX: Use PDF.js code?\r\n break;\r\n\r\n // Group 4 Fax\r\n case 4:\r\n // XXX: Use PDF.js code?\r\n break;\r\n\r\n // LZW\r\n case 5:\r\n // XXX: Use PDF.js code?\r\n break;\r\n\r\n // Old-style JPEG (TIFF 6.0)\r\n case 6:\r\n // XXX: Use PDF.js code?\r\n break;\r\n\r\n // New-style JPEG (TIFF Specification Supplement 2)\r\n case 7:\r\n // XXX: Use PDF.js code?\r\n break;\r\n\r\n // PackBits\r\n case 32773:\r\n // Are we ready for a new block?\r\n if (getHeader) {\r\n getHeader = false;\r\n\r\n var blockLength = 1;\r\n var iterations = 1;\r\n\r\n // The header byte is signed.\r\n var header = this.tiffDataView.getInt8(\r\n stripOffset + byteOffset,\r\n this.littleEndian\r\n );\r\n\r\n if (header >= 0 && header <= 127) {\r\n // Normal pixels.\r\n blockLength = header + 1;\r\n } else if (header >= -127 && header <= -1) {\r\n // Collapsed pixels.\r\n iterations = -header + 1;\r\n } /*if (header === -128)*/ else {\r\n // Placeholder byte?\r\n getHeader = true;\r\n }\r\n } else {\r\n var currentByte = this.getBytes(1, stripOffset + byteOffset);\r\n\r\n // Duplicate bytes, if necessary.\r\n for (var m = 0; m < iterations; m++) {\r\n if (sampleProperties[sample].hasBytesPerSample) {\r\n // We're reading one byte at a time, so we need to handle multi-byte samples.\r\n currentSample =\r\n (currentSample << (8 * numBytes)) | currentByte;\r\n numBytes++;\r\n\r\n // Is our sample complete?\r\n if (numBytes === sampleProperties[sample].bytesPerSample) {\r\n pixel.push(currentSample);\r\n currentSample = numBytes = 0;\r\n sample++;\r\n }\r\n } else {\r\n throw RangeError('Cannot handle sub-byte bits per sample');\r\n }\r\n\r\n // Is our pixel complete?\r\n if (sample === samplesPerPixel) {\r\n strips[i].push(pixel);\r\n\r\n pixel = [];\r\n sample = 0;\r\n }\r\n }\r\n\r\n blockLength--;\r\n\r\n // Is our block complete?\r\n if (blockLength === 0) {\r\n getHeader = true;\r\n }\r\n }\r\n\r\n jIncrement = 1;\r\n break;\r\n\r\n // Unknown compression algorithm\r\n default:\r\n // Do not attempt to parse the image data.\r\n break;\r\n }\r\n }\r\n\r\n //\t\t\tconsole.log( strips[i] );\r\n }\r\n\r\n //\t\tconsole.log( strips );\r\n\r\n if (canvas.getContext) {\r\n var ctx = this.canvas.getContext('2d');\r\n\r\n // Set a default fill style.\r\n ctx.fillStyle = this.makeRGBAFillValue(255, 255, 255, 0);\r\n\r\n // If RowsPerStrip is missing, the whole image is in one strip.\r\n if (fileDirectory.RowsPerStrip) {\r\n var rowsPerStrip = fileDirectory.RowsPerStrip.values[0];\r\n } else {\r\n var rowsPerStrip = imageLength;\r\n }\r\n\r\n var numStrips = strips.length;\r\n\r\n var imageLengthModRowsPerStrip = imageLength % rowsPerStrip;\r\n var rowsInLastStrip =\r\n imageLengthModRowsPerStrip === 0\r\n ? rowsPerStrip\r\n : imageLengthModRowsPerStrip;\r\n\r\n var numRowsInStrip = rowsPerStrip;\r\n var numRowsInPreviousStrip = 0;\r\n\r\n var photometricInterpretation =\r\n fileDirectory.PhotometricInterpretation.values[0];\r\n\r\n var extraSamplesValues = [];\r\n var numExtraSamples = 0;\r\n\r\n if (fileDirectory.ExtraSamples) {\r\n extraSamplesValues = fileDirectory.ExtraSamples.values;\r\n numExtraSamples = extraSamplesValues.length;\r\n }\r\n\r\n if (fileDirectory.ColorMap) {\r\n var colorMapValues = fileDirectory.ColorMap.values;\r\n var colorMapSampleSize = Math.pow(2, sampleProperties[0].bitsPerSample);\r\n }\r\n\r\n // Loop through the strips in the image.\r\n for (var i = 0; i < numStrips; i++) {\r\n // The last strip may be short.\r\n if (i + 1 === numStrips) {\r\n numRowsInStrip = rowsInLastStrip;\r\n }\r\n\r\n var numPixels = strips[i].length;\r\n var yPadding = numRowsInPreviousStrip * i;\r\n\r\n // Loop through the rows in the strip.\r\n for (var y = 0, j = 0; y < numRowsInStrip, j < numPixels; y++) {\r\n // Loop through the pixels in the row.\r\n for (var x = 0; x < imageWidth; x++, j++) {\r\n var pixelSamples = strips[i][j];\r\n\r\n var red = 0;\r\n var green = 0;\r\n var blue = 0;\r\n var opacity = 1.0;\r\n\r\n if (numExtraSamples > 0) {\r\n for (var k = 0; k < numExtraSamples; k++) {\r\n if (\r\n extraSamplesValues[k] === 1 ||\r\n extraSamplesValues[k] === 2\r\n ) {\r\n // Clamp opacity to the range [0,1].\r\n opacity = pixelSamples[3 + k] / 256;\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n switch (photometricInterpretation) {\r\n // Bilevel or Grayscale\r\n // WhiteIsZero\r\n case 0:\r\n if (sampleProperties[0].hasBytesPerSample) {\r\n var invertValue = Math.pow(\r\n 0x10,\r\n sampleProperties[0].bytesPerSample * 2\r\n );\r\n }\r\n\r\n // Invert samples.\r\n pixelSamples.forEach(function (sample, index, samples) {\r\n samples[index] = invertValue - sample;\r\n });\r\n\r\n // Bilevel or Grayscale\r\n // BlackIsZero\r\n case 1:\r\n red =\r\n green =\r\n blue =\r\n this.clampColorSample(\r\n pixelSamples[0],\r\n sampleProperties[0].bitsPerSample\r\n );\r\n break;\r\n\r\n // RGB Full Color\r\n case 2:\r\n red = this.clampColorSample(\r\n pixelSamples[0],\r\n sampleProperties[0].bitsPerSample\r\n );\r\n green = this.clampColorSample(\r\n pixelSamples[1],\r\n sampleProperties[1].bitsPerSample\r\n );\r\n blue = this.clampColorSample(\r\n pixelSamples[2],\r\n sampleProperties[2].bitsPerSample\r\n );\r\n break;\r\n\r\n // RGB Color Palette\r\n case 3:\r\n if (colorMapValues === undefined) {\r\n throw Error('Palette image missing color map');\r\n }\r\n\r\n var colorMapIndex = pixelSamples[0];\r\n\r\n red = this.clampColorSample(colorMapValues[colorMapIndex], 16);\r\n green = this.clampColorSample(\r\n colorMapValues[colorMapSampleSize + colorMapIndex],\r\n 16\r\n );\r\n blue = this.clampColorSample(\r\n colorMapValues[2 * colorMapSampleSize + colorMapIndex],\r\n 16\r\n );\r\n break;\r\n\r\n // Transparency mask\r\n case 4:\r\n throw RangeError('Not Yet Implemented: Transparency mask');\r\n break;\r\n\r\n // CMYK\r\n case 5:\r\n throw RangeError('Not Yet Implemented: CMYK');\r\n break;\r\n\r\n // YCbCr\r\n case 6:\r\n throw RangeError('Not Yet Implemented: YCbCr');\r\n break;\r\n\r\n // CIELab\r\n case 8:\r\n throw RangeError('Not Yet Implemented: CIELab');\r\n break;\r\n\r\n // Unknown Photometric Interpretation\r\n default:\r\n throw RangeError(\r\n 'Unknown Photometric Interpretation:',\r\n photometricInterpretation\r\n );\r\n break;\r\n }\r\n\r\n ctx.fillStyle = this.makeRGBAFillValue(red, green, blue, opacity);\r\n ctx.fillRect(x, yPadding + y, 1, 1);\r\n }\r\n }\r\n\r\n numRowsInPreviousStrip = numRowsInStrip;\r\n }\r\n }\r\n\r\n /*\t\tfor (var i = 0, numFileDirectories = this.fileDirectories.length; i < numFileDirectories; i++) {\r\n // Stuff\r\n }*/\r\n\r\n return this.canvas;\r\n },\r\n};\r\n","export const optionpresets = {\r\n\t'default': {\r\n\t\t\t // Tracing\r\n\t\t\t corsenabled : true, // true\r\n\t\t\t ltres : 0.08, // 1\r\n\t\t\t qtres : 0.01, // 1\r\n\t\t\t pathomit : 8, // 8\r\n\t\t\t rightangleenhance : true, // true\r\n\t\t\t \r\n\t\t\t // Color quantization\r\n\t\t\t colorsampling : 0, // 1\r\n\t\t\t numberofcolors :8, // 8\r\n\t\t\t mincolorratio : 0, // 0\r\n\t\t\t colorquantcycles : 3, // 3\r\n\t\t\t \r\n\t\t\t // Layering method\r\n\t\t\t layering : 0, //0\r\n\t\t\t \r\n\t\t\t // SVG rendering\r\n\t\t\t strokewidth : 1, //1\r\n\t\t\t linefilter : false, // false\r\n\t\t\t scale : 1, // 1\r\n\t\t\t roundcoords : 1, //1\r\n\t\t\t viewbox : false, // false\r\n\t\t\t desc : false, // false\r\n\t\t\t lcpr : 0, // 0\r\n\t\t\t qcpr : 0, // 0\r\n\t\t\t \r\n\t\t\t // Blur\r\n\t\t\t blurradius :0, //0\r\n\t\t\t blurdelta : 20 //20\r\n\t\t\r\n\t},\r\n\r\n\t'png': {\r\n // Tracing\r\n corsenabled : true, // true\r\n ltres : 0.08, // 1\r\n qtres : 0.1, // 1 --> FOR PNG 0.1 // FOR JPG 0.01\r\n pathomit : 8, // 8\r\n rightangleenhance : true, // true\r\n \r\n // Color quantization\r\n colorsampling : 10, // 1 -->FOR PNG 10 // FOR JPG 0\r\n numberofcolors :8, // 8\r\n mincolorratio : 0, // 0\r\n colorquantcycles : 3, // 3\r\n \r\n // Layering method\r\n layering : 0, //0\r\n \r\n // SVG rendering\r\n strokewidth : 1, //1\r\n linefilter : false, // false\r\n scale : 1, // 1\r\n roundcoords : 1, //1\r\n viewbox : false, // false\r\n desc : false, // false\r\n lcpr : 0, // 0\r\n qcpr : 0, // 0\r\n \r\n // Blur\r\n blurradius :0, //0\r\n blurdelta : 20 //20 \r\n },\r\n\t\t\r\n\t'jpg': {\r\n // Tracing\r\n\t\t\tcorsenabled : true, // true\r\n\t\t\tltres : 0.08, // 1\r\n\t\t\tqtres : 0.01, // 1\r\n\t\t\tpathomit : 8, // 8\r\n\t\t\trightangleenhance : true, // true\r\n\t\t\t// Color quantization\r\n\t\t\tcolorsampling : 0, // 1\r\n\t\t\tnumberofcolors :8, // 8\r\n\t\t\tmincolorratio : 0, // 0\r\n\t\t\tcolorquantcycles : 3, // 3\r\n\t\t\t// Layering method\r\n\t\t\tlayering : 0, //0\r\n\t\t\t// SVG rendering\r\n\t\t\tstrokewidth : 1, //1\r\n\t\t\tlinefilter : false, // false\r\n\t\t\tscale : 1, // 1\r\n\t\t\troundcoords : 1, //1\r\n\t\t\tviewbox : false, // false\r\n\t\t\tdesc : false, // false\r\n\t\t\tlcpr : 0, // 0\r\n\t\t\tqcpr : 0, // 0\r\n\t\t\t// Blur\r\n\t\t\tblurradius :0, //0\r\n\t\t\tblurdelta : 20 //20\t \r\n\t},\r\n\r\n\t\t'posterized1': { colorsampling:0, numberofcolors:2 },\r\n\t\t\r\n\t\t'posterized2': { numberofcolors:4, blurradius:5 },\r\n\t\t\r\n\t\t'curvy': { ltres:0.01, linefilter:true, rightangleenhance:false },\r\n\t\t\r\n\t\t'sharp': { qtres:0.01, linefilter:false },\r\n\t\t\r\n\t\t'detailed': { pathomit:0, roundcoords:2, ltres:0.5, qtres:0.5, numberofcolors:64 },\r\n\t\t\r\n\t\t'smoothed': { blurradius:5, blurdelta: 64 },\r\n\t\t\r\n\t\t'grayscale': { colorsampling:0, colorquantcycles:1, numberofcolors:7 },\r\n\t\t\r\n\t\t'fixedpalette': { colorsampling:0, colorquantcycles:1, numberofcolors:27 },\r\n\t\t\r\n\t\t'randomsampling1': { colorsampling:1, numberofcolors:8 },\r\n\t\t\r\n\t\t'randomsampling2': { colorsampling:1, numberofcolors:64 },\r\n\t\t\r\n\t\t'artistic1': { colorsampling:0, colorquantcycles:1, pathomit:0, blurradius:5, blurdelta: 64, ltres:0.01, linefilter:true, numberofcolors:16, strokewidth:2 },\r\n\t\t\r\n\t\t'artistic2': { qtres:0.01, colorsampling:0, colorquantcycles:1, numberofcolors:4, strokewidth:0 },\r\n\t\t\r\n\t\t'artistic3': { qtres:10, ltres:10, numberofcolors:8 },\r\n\t\t\r\n\t\t'artistic4': { qtres:10, ltres:10, numberofcolors:64, blurradius:5, blurdelta: 256, strokewidth:2 },\r\n\t\t\r\n\t\t'posterized3': { ltres: 1, qtres: 1, pathomit: 20, rightangleenhance: true, colorsampling: 0, numberofcolors: 3,\r\n\t\t\tmincolorratio: 0, colorquantcycles: 3, blurradius: 3, blurdelta: 20, strokewidth: 0, linefilter: false,\r\n\t\t\troundcoords: 1, pal: [ { r: 0, g: 0, b: 100, a: 255 }, { r: 255, g: 255, b: 255, a: 255 } ] }\r\n\t\t\t\r\n\t}// End of optionpresets","import { StateCreator } from 'zustand';\r\nimport { TIFFParser } from '../../loaders/tiffParser';\r\nimport { use3dddPlus } from '..';\r\nimport { fabric } from 'fabric';\r\nimport ImageTracer from 'imagetracerjs';\r\nimport { optionpresets } from '../../data';\r\n\r\n// import * as pdfjsLib from 'pdfjs-dist/build/pdf';\r\n// pdfjsLib.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjsLib.version}/pdf.worker.js`;\r\n//@ts-ignore\r\nimport * as pdfjsLib from 'pdfjs-dist/webpack';\r\nimport { requests } from '../../axios/index';\r\n\r\nexport interface ConverterSlice {\r\n fillColor: string[];\r\n pdfConverter: (data: any) => void;\r\n convertPdfToImages: (buffer: any) => any;\r\n tiffConvert: (data: any) => void;\r\n aiConvert: (data: any) => any;\r\n loadImageFromURL: (data: any, canvasToLoad: fabric.Canvas) => any;\r\n imageToSVG: (\r\n data: any,\r\n ext: string,\r\n isSVG?: boolean,\r\n convert?: boolean\r\n ) => void;\r\n removeDuplicates: (arr: any) => void;\r\n RGBToHex: (rgb: any) => void;\r\n changeSVGColor: (property: any, color: any) => boolean;\r\n setFile: (file: any) => void;\r\n file: any;\r\n addText: () => void;\r\n refreshColor: (colorValue: number) => void;\r\nprocessImage: (\r\n svgstr: any,\r\n colorValue: number,\r\n canvasToLoad: fabric.Canvas\r\n ) => void;\r\n}\r\n\r\nexport const converterSlice: StateCreator<ConverterSlice> = (set, get) => {\r\n const processImage = (\r\n svgstr: any,\r\n colorValue: number,\r\n canvasToLoad: fabric.Canvas = use3dddPlus.getState().popupCanv\r\n ) => {\r\n fabric.loadSVGFromString(\r\n //@ts-ignore\r\n new String(svgstr),\r\n function (objects, options) {\r\n const svgData = getDesignConceptSVGData(svgstr);\r\n console.log(svgData);\r\n let loadedObject: any = fabric.util.groupSVGElements(objects, options);\r\n \r\n svgData.forEach((resItem) => {\r\n var path;\r\n var node;\r\n\r\n objects?.forEach((item) => {\r\n //@ts-ignore\r\n // console.log(item.id, res[0].path.replace(\"#\", \"\"));\r\n //@ts-ignore\r\n if (item.id === resItem.path) {\r\n path = item;\r\n //@ts-ignore\r\n } else if (item.id === resItem.element) {\r\n node = item;\r\n }\r\n });\r\n\r\n if (node && path) {\r\n const fontSize = resItem.node.children[0]\r\n ?.getAttribute('font-size')\r\n ?.replace('px', '');\r\n node.set({\r\n path: path,\r\n top: path.top,\r\n left: path.left,\r\n textAlign: 'center',\r\n pathStartOffset:\r\n (path.width *\r\n parseFloat(resItem.node.startOffset.baseVal.valueAsString)) /\r\n 100,\r\n // fontFamily: resItem.node.children[0].getAttribute(\"font-family\"),\r\n fontSize: fontSize || 25,\r\n });\r\n node.setCoords();\r\n }\r\n });\r\n // loadedObject.scaleToHeight(300);\r\n // loadedObject.scaleToWidth(300);\r\n const canvas = canvasToLoad ?? use3dddPlus.getState().popupCanv;\r\n const canvasWidth = canvas.width;\r\n const canvasHeight = canvas.height;\r\n\r\n let val = 300;\r\n if (\r\n (loadedObject.width <= 200 || loadedObject.height <= 200) &&\r\n (loadedObject.minX === -0 || loadedObject.minX)\r\n ) {\r\n val = 600;\r\n }\r\n if (\r\n Math.ceil(loadedObject.width + loadedObject.left + 45) >=\r\n Math.floor(canvasWidth)\r\n ) {\r\n loadedObject.scaleToWidth(val);\r\n } else if (\r\n Math.ceil(loadedObject.height + loadedObject.top + 10) >=\r\n Math.floor(canvasHeight)\r\n ) {\r\n loadedObject.scaleToHeight(val);\r\n } else if (Math.ceil(loadedObject.left) < 0) {\r\n loadedObject.scaleToWidth(val);\r\n } else if (Math.ceil(loadedObject.top) < 0) {\r\n loadedObject.scaleToHeight(val);\r\n } else if (loadedObject.width < 200 || loadedObject.height < 200) {\r\n loadedObject.scaleToWidth(val);\r\n }\r\n //@ts-ignore\r\n let objImage = loadedObject?._objects;\r\n if(!objImage){\r\n objImage = [loadedObject]\r\n }\r\n let _Fills = [];\r\n let fillCounts = {};\r\n let colorObjects = {};\r\n if (objImage) {\r\n objImage.forEach((ele: any) => {\r\n ele.set({ strokeWidth: 0 });\r\n ele.set({ id: ele.id ?? use3dddPlus.getState().guid() });\r\n if (typeof ele.fill === 'string' && ele.fill !== '') {\r\n set({ fillColor: [...ele.fill] });\r\n let fillColor = ele.fill.toString();\r\n const pixelCount = ele.width * ele.height;\r\n fillCounts[fillColor] = (fillCounts[fillColor] || 0) + pixelCount;\r\n if (colorObjects[fillColor]) {\r\n colorObjects[fillColor].objects.push(ele.get('id'));\r\n } else {\r\n colorObjects[fillColor] = { objects: [ele.get('id')] };\r\n }\r\n }\r\n });\r\n }\r\n use3dddPlus.setState({ loadedObject: objImage });\r\n const sortedFillColors = Object.keys(fillCounts).sort(\r\n (a, b) => fillCounts[b] - fillCounts[a]\r\n );\r\n const topColors = sortedFillColors.slice(0, colorValue);\r\n let colorObjectsHex = {};\r\n topColors.map((e) => {\r\n if (e.search('#') === -1) {\r\n let _C: any = get().RGBToHex(e);\r\n _Fills.push(_C);\r\n colorObjects[e].hex = _C;\r\n colorObjectsHex[_C] = colorObjects[e];\r\n } else {\r\n _Fills.push(e);\r\n colorObjects[e].hex = e;\r\n colorObjectsHex[e] = colorObjects[e];\r\n }\r\n });\r\n //@ts-ignore\r\n set({ fillColor: get().removeDuplicates(_Fills) });\r\n //@ts-ignore\r\n _Fills = get().removeDuplicates(_Fills);\r\n const fillColors = {};\r\n _Fills.map((item, index) => {\r\n fillColors['layer' + index] = item;\r\n });\r\n use3dddPlus.setState({ colorFill: fillColors });\r\n\r\n // Update colors in default color fill\r\n const defaultCF = [];\r\n Object.keys(fillColors).map((cf: any) => {\r\n defaultCF.push({\r\n property: cf,\r\n default: fillColors[cf],\r\n updated: fillColors[cf],\r\n objects: colorObjectsHex[fillColors[cf]].objects,\r\n });\r\n });\r\n use3dddPlus.setState({ defaultColorFill: defaultCF });\r\n use3dddPlus.setState({ defaultColorFillCopy: defaultCF });\r\n\r\n function euclideanDistance(color1: string, color2: string): number {\r\n const c1 = new fabric.Color(color1).getSource();\r\n const c2 = new fabric.Color(color2).getSource();\r\n\r\n const diffR = c1[0] - c2[0];\r\n const diffG = c1[1] - c2[1];\r\n const diffB = c1[2] - c2[2];\r\n\r\n return Math.sqrt(diffR ** 2 + diffG ** 2 + diffB ** 2);\r\n }\r\n const colorMap: { [color: string]: string } = {};\r\n sortedFillColors.forEach((color) => {\r\n const closestColor = topColors.reduce((prev, curr) => {\r\n const prevDiff = euclideanDistance(color, prev);\r\n const currDiff = euclideanDistance(color, curr);\r\n return prevDiff < currDiff ? prev : curr;\r\n });\r\n colorMap[color] = closestColor;\r\n });\r\n if (objImage) {\r\n objImage.forEach((ele: any) => {\r\n ele.set({ fill: colorMap[ele.fill.toString()] });\r\n });\r\n }\r\n loadedObject.set({\r\n colorFill: fillColors,\r\n //@ts-ignore\r\n setControlVisible: false,\r\n });\r\n // loadedObject.id = use3dddPlus.getState().guid();\r\n\r\n // loadedObject = new fabric.Group(objImage, options);\r\n use3dddPlus.getState().popupCanv?.clear();\r\n\r\n // use3dddPlus\r\n // .getState()\r\n // .popupCanv.setBackgroundColor(\r\n // {\r\n // source:\r\n // 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/checkerBoxBG.png',\r\n // repeat: 'repeat',\r\n // },\r\n // use3dddPlus\r\n // .getState()\r\n // .popupCanv.renderAll.bind(use3dddPlus.getState().popupCanv),\r\n // {\r\n // backgroundImageOpacity: 1,\r\n // scaleX: 1.1,\r\n // scaleY: 1.1,\r\n // backgroundRepeat: 'repeat',\r\n // }\r\n // );\r\n\r\n // const canvas = use3dddPlus.getState().popupCanv;\r\n var gridSize = 83; // Size of each grid cell\r\n // var canvasWidth = canvas.width;\r\n // var canvasHeight = canvas.height;\r\n var numCols = Math.ceil(canvasWidth / gridSize);\r\n var numRows = Math.ceil(canvasHeight / gridSize);\r\n\r\n // Function to create a rectangle with checkerboard pattern\r\n function createCheckerboardRect(left, top, width, height, isEvenRow) {\r\n var rect = new fabric.Rect({\r\n left: left,\r\n top: top,\r\n width: width,\r\n height: height,\r\n type: 'line',\r\n lockMovementX: true,\r\n lockMovementY: true,\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n // backgroundColor:'#ccc',\r\n fill:\r\n (isEvenRow && (left / gridSize) % 2 === 0) ||\r\n (!isEvenRow && (left / gridSize) % 2 !== 0)\r\n ? '#ffffff'\r\n : '#dadadac7',\r\n });\r\n return rect;\r\n }\r\n\r\n // Create grid lines\r\n for (var i = 0; i < numCols; i++) {\r\n var x = i * gridSize;\r\n canvas.add(\r\n new fabric.Line([x, 0, x, canvasHeight], {\r\n stroke: '#dadadac7',\r\n selectable: false,\r\n lockMovementX: true,\r\n lockMovementY: true,\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n type: 'line',\r\n })\r\n );\r\n }\r\n\r\n for (var j = 0; j < numRows; j++) {\r\n var y = j * gridSize;\r\n canvas.add(\r\n new fabric.Line([0, y, canvasWidth, y], {\r\n stroke: '#FFFFFF',\r\n selectable: false,\r\n lockMovementX: true,\r\n lockMovementY: true,\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n type: 'line',\r\n })\r\n );\r\n }\r\n\r\n // Fill grid with checkerboard pattern\r\n for (var i = 0; i < numCols; i++) {\r\n for (var j = 0; j < numRows; j++) {\r\n var left = i * gridSize;\r\n var top = j * gridSize;\r\n var isEvenRow = j % 2 === 0;\r\n var rect = createCheckerboardRect(\r\n left,\r\n top,\r\n gridSize,\r\n gridSize,\r\n isEvenRow\r\n );\r\n use3dddPlus.getState()?.popupCanv?.add(rect);\r\n }\r\n }\r\n\r\n canvas.add(loadedObject).renderAll();\r\n canvas.centerObject(loadedObject);\r\n canvas.setActiveObject(loadedObject);\r\n use3dddPlus.setState({ activeSelection: loadedObject });\r\n use3dddPlus.setState({ loading: false });\r\n use3dddPlus.getState().popUpCanvasUpdateModification(true);\r\n }\r\n );\r\n };\r\n\r\n // function convertToFabricUnits(valueWithUnit, canvasHeight = 500) {\r\n // // Parse the value and unit from the string\r\n // const matches = valueWithUnit.match(/^([\\d.]+)(\\D+)$/);\r\n // if (!matches) {\r\n // throw new Error(\"Invalid value format. Value must be in the format 'numberunit', e.g., '10px'.\");\r\n // }\r\n // const value = parseFloat(matches[1]);\r\n // const unit = matches[2];\r\n\r\n // // Define conversion ratios for different units\r\n // const conversionTable = {\r\n // 'px': 1,\r\n // 'em': 16, // Assuming 1em = 16px (default browser font size)\r\n // 'rem': 16, // Same as em\r\n // 'vh': canvasHeight / 100 // 1vh is 1% of canvas height\r\n // };\r\n\r\n // // Convert the value to pixels\r\n // if (unit in conversionTable) {\r\n // return value * conversionTable[unit];\r\n // } else {\r\n // throw new Error(\"Unsupported unit. Supported units are 'px', 'em', 'rem', 'vh'.\");\r\n // }\r\n // }\r\n\r\n const getDesignConceptSVGData = (svgData) => {\r\n const parser = new DOMParser();\r\n const xmlDoc = parser.parseFromString(svgData, 'image/svg+xml');\r\n const textElements = xmlDoc.querySelectorAll('textPath');\r\n const href = [];\r\n\r\n textElements.forEach((textElement) => {\r\n const hrefValue =\r\n textElement?.getAttribute('xlink:href') ??\r\n textElement?.getAttribute('href');\r\n if (hrefValue)\r\n href.push({\r\n path: hrefValue.replace('#', ''),\r\n //@ts-ignore\r\n element: textElement?.parentNode?.id,\r\n node: textElement,\r\n });\r\n });\r\n return href;\r\n };\r\n\r\n return {\r\n fillColor: [],\r\n file: {},\r\n setFile: (file) => {\r\n set({ file });\r\n },\r\nprocessImage: processImage,\r\n tiffConvert: async (data) => {\r\n const tiffParser = new TIFFParser();\r\n const canvasEl = document.createElement('canvas');\r\n canvasEl.width = 800;\r\n canvasEl.height = 800;\r\n // const context = canvasEl.getContext(\"2d\");\r\n const arrayBuffer = await data.arrayBuffer();\r\n var tiffCanvas = tiffParser.parseTIFF(arrayBuffer, canvasEl);\r\n const imageUrl = tiffCanvas.toDataURL();\r\n return imageUrl;\r\n },\r\n aiConvert: async (aiFile) => {\r\n const formData = new FormData();\r\n formData.append('file', aiFile);\r\n const url = 'https://m2dev.richardsonsports.com/rest/V1/file-conversion';\r\n const config = {\r\n headers: {\r\n Authorization: 'Bearer 6k5hm5dcmdwtd6l4setj4a3aq6liab5u',\r\n 'Content-Type': 'multipart/form-data',\r\n },\r\n };\r\n const response = await requests.post(url, formData, config);\r\n return response;\r\n },\r\n loadImageFromURL: async (url, canvasToLoad) => {\r\n console.log('---.', url);\r\n // return await requests.get(url + \"?timestamp=\" + Date.now());\r\n const response = await fetch(url);\r\n const blob = await response.text();\r\n\r\n processImage(blob, 8, canvasToLoad);\r\n // return url;\r\n },\r\n imageToSVG: (data, ext: string, isSVG = false, convert = true) => {\r\n // use3dddPlus.setState({ uploadImageModalDisplay: true });\r\n use3dddPlus.setState({ loading: true });\r\n if (convert) {\r\n if (isSVG) {\r\n var reader = new FileReader();\r\n reader.onload = function (e) {\r\n use3dddPlus.setState({ imageData: e.target.result });\r\n processImage(e.target.result, 8);\r\n };\r\n reader.readAsText(data);\r\n } else {\r\n ImageTracer.imageToSVG(\r\n data,\r\n function (svgstr) {\r\n use3dddPlus.setState({ imageData: svgstr });\r\n processImage(svgstr, 8);\r\n },\r\n ext && (ext.toLowerCase() === 'jpg' || ext.toLowerCase() === 'jpeg')\r\n ? optionpresets.jpg\r\n : ext.toLowerCase() === 'png'\r\n ? optionpresets.png\r\n : optionpresets.default\r\n );\r\n }\r\n } else {\r\n processImage(data, 8);\r\n }\r\n },\r\n refreshColor: (colorValue: number) => {\r\n processImage(use3dddPlus.getState().imageData, colorValue);\r\n },\r\n removeDuplicates: (arr) => {\r\n return arr.filter((item : any, index : any) => arr.indexOf(item) === index);\r\n },\r\n\r\n RGBToHex: (rgb) => {\r\n if (rgb) {\r\n if (rgb.indexOf('rgba') >= 0) {\r\n const rgba = rgb.replace(/^rgba?\\(|\\s+|\\)$/g, '').split(',');\r\n return `#${(\r\n (1 << 24) +\r\n (parseInt(rgba[0]) << 16) +\r\n (parseInt(rgba[1]) << 8) +\r\n parseInt(rgba[2])\r\n )\r\n .toString(16)\r\n .slice(1)}`;\r\n } else {\r\n let sep = rgb.indexOf(',') > -1 ? ',' : ' ';\r\n rgb = rgb.substr(4).split(')')[0].split(sep);\r\n let r = (+rgb[0]).toString(16),\r\n g = (+rgb[1]).toString(16),\r\n b = (+rgb[2]).toString(16);\r\n\r\n if (r.length == 1) r = '0' + r;\r\n if (g.length == 1) g = '0' + g;\r\n if (b.length == 1) b = '0' + b;\r\n return '#' + r + g + b;\r\n }\r\n } else {\r\n return '';\r\n }\r\n },\r\n changeSVGColor: (property, color) => {\r\n use3dddPlus.getState().popUpCanvasUpdateModification(true);\r\n const fillColor = { ...use3dddPlus.getState().colorFill };\r\n if (use3dddPlus.getState().loadedObject) {\r\n // let objImage1 = use3dddPlus.getState().popupCanv.getObjects();\r\n let objImage = use3dddPlus.getState().popupCanv.getObjects();\r\n if (objImage.length > 0) {\r\n objImage.forEach((ele : any) => {\r\n let defaultColorObject = null;\r\n if (use3dddPlus.getState().defaultColorFill) {\r\n defaultColorObject = use3dddPlus\r\n .getState()\r\n .defaultColorFill.find((dcf) => dcf.property === property);\r\n }\r\n if (\r\n ele.id &&\r\n defaultColorObject &&\r\n defaultColorObject.objects &&\r\n defaultColorObject.objects.includes(ele.id) &&\r\n typeof ele.fill === 'string' &&\r\n ele.fill !== ''\r\n ) {\r\n // const _C = (ele.fill === 'transparent' || (typeof ele.fill === 'string' && ele.fill.includes('#')) ? ele.fill : get().RGBToHex(ele.fill));\r\n // if (_C === previousColor) {\r\n ele.set({\r\n fill: color,\r\n });\r\n // }\r\n }\r\n\r\n // if(typeof ele.fill === \"string\" && ele.fill !== \"\"){\r\n // const _C = (ele.fill === 'transparent' || (typeof ele.fill === 'string' && ele.fill.includes('#')) ? ele.fill : get().RGBToHex(ele.fill));\r\n // if (_C === previousColor) {\r\n // ele.set({\r\n // fill: color,\r\n // });\r\n // }\r\n // }\r\n });\r\n use3dddPlus.getState().popupCanv.renderAll();\r\n fillColor[property] = color;\r\n // Object.keys(fillColor).forEach((fc: any) => {\r\n // if(fillColor[fc] === previousColor){\r\n // fillColor[fc] = color;\r\n // }\r\n // });\r\n use3dddPlus.setState({ colorFill: fillColor });\r\n }\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n },\r\n addText: () => {\r\n fabric.Object.prototype.hasControls = true;\r\n fabric.Object.prototype.hasBorders = true;\r\n use3dddPlus.getState().fabricCanvas.discardActiveObject();\r\n const text: any = new fabric.Text('NEW TEXT', {\r\n lineHeight: 1,\r\n fill: '#040404',\r\n fontFamily: 'Athletic Block',\r\n fontWeight: 'normal',\r\n top: use3dddPlus.getState().fabricCanvas.height / 2 - 40,\r\n left: use3dddPlus.getState().fabricCanvas.width / 2 - 205,\r\n stroke: '#eb4034',\r\n strokeWidth: 0,\r\n paintFirst: 'stroke',\r\n //charSpacing: 0,\r\n padding: 10,\r\n fontSize: 50,\r\n name: 'text',\r\n charSpacing: 0,\r\n lockScalingFlip: true,\r\n });\r\n const fillColors = { layer0: text.fill };\r\n text.set({\r\n //@ts-ignore\r\n colorFill: fillColors,\r\n });\r\n text.id = use3dddPlus.getState().guid();\r\n use3dddPlus.getState().fabricCanvas.centerObject(text);\r\n use3dddPlus.getState().fabricCanvas.add(text);\r\n use3dddPlus.getState().fabricCanvas.setActiveObject(text);\r\n use3dddPlus.setState({ currentSelection: 'text' });\r\n //@ts-ignore\r\n use3dddPlus.getState().deleteButtonControls(text);\r\n text.setControlsVisibility(use3dddPlus.getState().HideControls);\r\n use3dddPlus.getState().nameCounter++;\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forStoringAllObject(text); //for pushing the data into array for layers\r\n // use3dddPlus.setState({storeAllObject : });\r\n use3dddPlus.getState().forIconCapture();\r\n //@ts-ignore\r\n text.icon = use3dddPlus.getState().iconImage;\r\n },\r\n pdfConverter: (data) => {\r\n return new Promise((_resolve, reject) => {\r\n if (data) {\r\n const reader = new FileReader();\r\n reader.onload = async () => {\r\n const buffer = reader.result;\r\n try {\r\n const _B = await get().convertPdfToImages(buffer);\r\n _resolve(_B);\r\n } catch (error) {\r\n reject(error);\r\n }\r\n };\r\n reader.readAsArrayBuffer(data);\r\n } else {\r\n reject(new Error('No data provided.'));\r\n }\r\n });\r\n },\r\n // convertPdfToImages: async (buffer: any) => {\r\n // const pdf = await pdfjsLib.getDocument({ data: new Uint8Array(buffer) })\r\n // .promise;\r\n // const scale = 2;\r\n // for (let pageNum = 1; pageNum <= pdf.numPages; pageNum++) {\r\n // const page = await pdf.getPage(pageNum);\r\n // const viewport = page.getViewport({ scale });\r\n // const canvasEl = document.createElement('canvas');\r\n // canvasEl.width = viewport.width;\r\n // canvasEl.height = viewport.height;\r\n // const context = canvasEl.getContext('2d');\r\n // await page.render({\r\n // canvasContext: context,\r\n // viewport,\r\n // background: 'rgba(0,0,0,0)',\r\n // }).promise;\r\n // const imageUrl = canvasEl.toDataURL();\r\n // return imageUrl;\r\n // }\r\n // return null;\r\n // },\r\n convertPdfToImages: async (file) => {\r\n const pdf = await pdfjsLib.getDocument(file).promise;\r\n const canvas = document.createElement('canvas');\r\n if (pdf.numPages >= 0) {\r\n const page = await pdf.getPage(1);\r\n const viewport = page.getViewport({ scale: 1 });\r\n const context = canvas.getContext('2d');\r\n canvas.height = viewport.height;\r\n canvas.width = viewport.width;\r\n await page.render({ canvasContext: context, viewport: viewport })\r\n .promise;\r\n }\r\n const imageUrl = canvas.toDataURL();\r\n return imageUrl;\r\n },\r\n };\r\n};\r\nexport default ConverterSlice;\r\n","import { create, StateCreator } from 'zustand';\r\nimport {\r\n // createJSONStorage,\r\n // persist,\r\n subscribeWithSelector,\r\n} from 'zustand/middleware';\r\nimport actionSlice, { ActionSlice } from './actions';\r\nimport lambdaSlice, { LambdaSlice } from './lambda/index';\r\nimport SaveDesignSlice, { saveDesignSlice } from './saveDesign';\r\nimport AuthSlice, { authSlice } from './auth';\r\nimport HistorySlice, { historySlice } from './history';\r\nimport FabricSlice, { fabricSlice } from './fabric';\r\nimport ConverterSlice, { converterSlice} from './converters';\r\nexport type ThreedddPlus = \r\n ActionSlice &\r\n LambdaSlice &\r\n SaveDesignSlice &\r\n AuthSlice &\r\n HistorySlice &\r\n ConverterSlice &\r\n FabricSlice;\r\n\r\nexport const threedddPlusState: StateCreator<ThreedddPlus> = (...args) => {\r\n return {\r\n ...actionSlice(...args),\r\n ...lambdaSlice(...args),\r\n ...saveDesignSlice(...args),\r\n ...authSlice(...args),\r\n ...historySlice(...args),\r\n ...converterSlice(...args),\r\n ...fabricSlice(...args)\r\n };\r\n};\r\n\r\nexport const use3dddPlus = create(\r\n // persist(\r\n subscribeWithSelector<ThreedddPlus>(threedddPlusState)\r\n // , {\r\n // name: 'editor-store', // unique name\r\n // storage: createJSONStorage(() => sessionStorage), // (optional) by default, 'localStorage' is used\r\n // }\r\n // )\r\n);\r\n\r\n(window as any).datasbase = use3dddPlus;\r\n","import React from \"react\";\r\n\r\nexport const Button = ({ label, icons, onClick, className, children }) => {\r\n return (\r\n <button\r\n onClick={onClick}\r\n className={`flex rounded-none gap-3 w-full items-center p-2 m-2 ${className}`}\r\n >\r\n {icons}\r\n {label}\r\n {children}\r\n </button>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { Button } from 'reakit';\r\n\r\nexport const IconButtonLabel = ({\r\n icon,\r\n onClick,\r\n className = '',\r\n label = '',\r\n iconPosition = 'left',\r\n ...props\r\n}) => {\r\n return (\r\n <Button\r\n className={`flex items-center gap-2 text-base font-bold flex-1 justify-center focus:outline-none ${className}`}\r\n onClick={onClick}\r\n {...props}\r\n >\r\n {iconPosition === 'left' && (\r\n <>\r\n {icon}\r\n {label}\r\n </>\r\n )}\r\n {iconPosition === 'right' && (\r\n <>\r\n {label}\r\n {icon}\r\n </>\r\n )}\r\n </Button>\r\n );\r\n};\r\n","import React from \"react\";\r\n\r\nexport const EditButton = ({ label, icons, onClick, className, children }) => {\r\n return (\r\n <button\r\n onClick={onClick}\r\n className={`flex rounded-none gap-3 items-center ${className}`}\r\n >\r\n {icons}\r\n {label}\r\n {children}\r\n </button>\r\n );\r\n };","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","export const PRIMARY_COLOR = 'text-[#cf132b]'; //rgb(30 58 138);\r\nexport const SECONDARY_COLOR = 'text-[#e11a38]'; //rgb(156 163 175);\r\nexport const BORDER_COLOR = 'border-[#e0e0e0]'; //rgb(156 163 175)\r\nexport const BORDER_COLOR_1 = 'border-[#ecebed]';\r\nexport const BORDER_COLOR_2 = 'border-[#c2c2c2]';\r\nexport const BORDER_COLOR_3 = 'border-[#e11a38]';\r\nexport const SIDEBAR_BG_COLOR = 'bg-[#f7f7f7]';\r\nexport const SELECT_BG_COLOR = 'bg-[#e11a38]'; //rgb(203 213 225)\r\nexport const BG_COLOR_1 = 'bg-[#e11a38]'; //rgb(203 213 225)\r\nexport const SELECT_TEXT_COLOR = 'text-white'\r\nexport const TEXT_SIZE_1 = 'text-xs'; //font-size: 12px (0.75rem)\r\nexport const TEXT_SIZE_2 = 'text-2xl'; //font-size: 24px; (1.5rem)\r\nexport const TEXT_SIZE_3 = 'text-[15px]';\r\nexport const TEXT_SIZE_4 = 'text-[17px]';\r\nexport const TEXT_SIZE_5 = 'text-[28px]';\r\nexport const TEXT_SIZE_6 = 'text-[14px]';\r\nexport const TEXT_SIZE_7 = 'text-[30px]';\r\nexport const TEXT_SIZE_8 = 'text-[21px]';\r\nexport const TEXT_SIZE_9 = 'text-[13px]';\r\nexport const TEXT_SIZE_11 = 'text-[18px]';\r\nexport const TEXT_SIZE_12 = 'text-[11px]';\r\nexport const TEXT_SIZE_13 = 'text-[12px]';\r\nexport const TEXT_SIZE_14 = 'text-[16px]';\r\nexport const TEXT_SIZE_15 = 'text-[25px]';\r\nexport const TEXT_SIZE_16 = 'text-[26px]';\r\nexport const TEXT_SIZE_17 = 'text-[22px]';\r\nexport const TEXT_SIZE_18 = 'text-[16px]';\r\nexport const ACTIVE_BG_COLOR = 'bg-[#cf132b]'; //rgb(30 58 138);\r\nexport const BUTTON_TEXT_COLOR = 'text-white';\r\nexport const BUTTON_BG_COLOR = 'bg-black'; //rgb(0 0 0)\r\nexport const INPUT_BG_COLOR = 'bg-white';\r\nexport const TEXT_COLOR_1 = 'text-[#5d5d5d]';\r\nexport const BACKDROP_BLUR = 'backdrop-blur-[45px]';\r\nexport const BACKDROP_BLUR_BG_COLOR = 'bg-[#00000046]';\r\nexport const MODAL_BG_COLOR = 'bg-[#ffffff]';\r\nexport const CARD_BG_COLOR = 'bg-white'; //rgb(255 255 255)\r\nexport const INPUT_TEXT_DISABLE_COLOR = 'text-slate-300'\r\nexport const CHECKBOX_CHECKED_COLOR = '#e11a38'\r\nexport const LOAD_DESIGN_BORDER_COLOR = '#e0e0e0'\r\nexport const LOAD_DESIGN_TEXT_COLOR = 'text-[#e11a38]';\r\nexport const SEARCH_ICON_COLOR = 'text-[#727272]'\r\nexport const SEARCHBAR_BORDER_COLOR = 'border-[#bebebe]'\r\nexport const MY_DESIGN_TEXT_COLOR = 'text-[#353535]'\r\nexport const SEARCH_TEXT_COLOR = 'text-[#353535]'\r\nexport const NO_SEARCHRESULT_TEXT_COLOR_1 = 'text-[#727272]'\r\nexport const NO_SEARCHRESULT_TEXT_COLOR_2 = 'text-[#5d5d5d]'\r\nexport const CANVAS_MENU_TEXT = 'text-[#353535]';\r\nexport const CANVAS_MENU_BORDER = 'border-[#f4f4f4]';\r\nexport const CANVAS_MENU_BG_COLOR = 'bg-white';\r\nexport const CANVAS_MENU_DROPDOWN_BG_COLOR = 'bg-white';\r\nexport const DECORATION_BG_COLOR = 'bg-[#F1F1F1]'\r\nexport const DROPDOWN_BACKGROUND_COLOR = 'bg-[#FCE8EB]'\r\nexport const TAG_BG_COLOR = 'bg-[#FCE8EB]'\r\nexport const TAG_TEXT_COLOR = 'text-[#e11a38]'\r\nexport const CARD_LAST_UPDATE_COLOR = 'text-[#727272]'\r\nexport const CARD_DOWNLAOD_ICON_COLOR = 'text-[#353535]'\r\nexport const CARD_DESCRIPTION_COLOR = 'text-[#353535]'\r\nexport const FOOTER_TEXT_COLOR = 'text-[#ffffff]'\r\nexport const FOOTER_RACK_BG_COLOR = 'bg-[#E21938]'\r\nexport const FOOTER_PRICE_COLOR = 'text-[#353535]'\r\nexport const FOOTER_RACK_COUNT_COLOR = 'text-[#E21938]'\r\nexport const FOOTER_ROSTER_COLOR = 'text-[#353535]'\r\nexport const FOOTER_ROSTER_BORDER_COLOR = 'border-[#353535]'\r\nexport const FOOTER_SUMMARY_BG_COLOR = 'bg-[#353535]'\r\nexport const FOOTER_SUMMARY_TEXT_COLOR = 'text-white'\r\nexport const CONFIRMDESIGN_DISCARD_BORDER_COLOR = 'border-[#707070]';\r\nexport const CONFIRMDESIGN_TEXT_COLOR_1 = 'text-[#5d5d5d]';\r\nexport const CONFIRMDESIGN_TEXT_COLOR_2 = 'text-[#E11A38]';\r\nexport const CONFIRMDESIGN_TEXT_COLOR_3 = 'text-[#353535]';\r\nexport const CONFIRMDESIGN_TEXT_COLOR_4 = 'text-[#ffffff]';\r\nexport const CONFIRMDESIGN_SAVEBUTTON_BG_COLOR = 'bg-[#E11A38]';\r\nexport const DESIGNSUCCESS_CLOSE_BORDER_COLOR = 'border-[#707070]';\r\nexport const DESIGNSUCCESS_TEXT_COLOR_1 = 'text-[#5d5d5d]';\r\nexport const DESIGNSUCCESS_TEXT_COLOR_2 = 'text-[#E21938]';\r\nexport const DESIGNSUCCESS_TEXT_COLOR_3 = 'text-[#353535]';\r\n\r\nexport const SAVERACK_BORDER_COLOR = 'border-[#707070]'\r\nexport const SAVERACK_TEXT_COLOR = 'text-[#707070]'\r\nexport const SAVEBUTTON_BG_COLOR = 'bg-[#E11A38]'\r\nexport const TOASTER_SUCCESS_BG_COLOR = 'bg-[#D5F2EA]'\r\nexport const TOASTER_FAILURE_BG_COLOR = 'bg-[#FCE8EB]'\r\nexport const TOASTER_INFO_BG_COLOR = 'bg-[#D5E9FA]'\r\nexport const TOASTER_WARNING_BG_COLOR = 'bg-[#FFF8E7]'\r\nexport const RESET_BUTTON_BG_COLOR = 'text-[#9A9A9A]'\r\nexport const PRODUCTINFO_TEXT_COLOR_1 = 'text-[#353535]'\r\nexport const PRODUCTINFO_TEXT_COLOR_2 = 'text-[#c2c2c2]'\r\nexport const PRODUCTINFO_TEXT_COLOR_3 = 'text-[#e11a38]'\r\nexport const PRODUCTINFO_TEXT_COLOR_4 = 'text-[#5d5d5d]'\r\nexport const UPDATESUCCESS_RACK_BORDER_COLOR = 'border-[#E11938]';\r\nexport const UPDATESUCCESS_TEXT_COLOR_1 = 'text-[#E11938]';\r\nexport const RACK_CARD_BORDER_COLOR = 'border-[#e5e5e5]';\r\nexport const RACK_CARD_TEXT_COLOR_1 = 'text-[#E11A38]';\r\nexport const RACK_CARD_TEXT_COLOR_2 = 'text-[#353535]';\r\nexport const RACK_CARD_TEXT_COLOR_3 = 'text-[#9f9f9f]';\r\nexport const RACK_CARD_MENU_TEXT = 'text-[#353535]';\r\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_1 = 'text-[#E11A38]';\r\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_2 = 'text-[#727272]';\r\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_3 = 'text-[#353535]';\r\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_4 = 'text-[#ffffff]';\r\nexport const EDIT_DESIGN_INFO_INPUT_BORDER_COLOR = 'border-[#ECEBED]';\r\nexport const EDIT_DESIGN_INFO_DISABLED_BG_COLOR_1 = 'bg-[#F8F8F8]';\r\nexport const EDIT_DESIGN_INFO_BG_COLOR_2 = 'bg-[#ffffff]';\r\nexport const EDIT_DESIGN_INFO_BG_COLOR_3 = 'bg-[#e11a38]';\r\nexport const EDIT_DESIGN_INFO_BG_COLOR_4 = 'bg-[#fce8eb]';\r\nexport const INPUT_ERROR_BORDER_COLOR = 'border-[#E11A38]';\r\nexport const INPUT_ERROR_TEXT_COLOR = 'text-[#E11A38]';\r\nexport const PRICEBREAKUP_TEXT_COLOR_1 = 'text-[#353535]';\r\nexport const PRICEBREAKUP_TEXT_COLOR_2 = 'text-[#747474]';\r\nexport const PRICEBREAKUP_TEXT_BORDER_COLOR_1 = 'border-[#c2c2c2]';\r\nexport const PRICEBREAKUP_TEXT_BORDER_COLOR_2 = 'border-[#ebebeb]';","import React from 'react';\r\nimport { Tooltip, TooltipReference, useTooltipState } from 'reakit';\r\n\r\ninterface ToolTipProps {\r\n label: string;\r\n arrowOnTop?: boolean;\r\n className?: string;\r\n children: React.ReactNode | React.ReactNode[];\r\n}\r\nexport const ToolTip = ({\r\n label,\r\n arrowOnTop,\r\n className = '',\r\n children,\r\n}: ToolTipProps) => {\r\n const tooltip = useTooltipState({ placement: arrowOnTop ? 'bottom' : 'top' });\r\n return (\r\n <>\r\n <TooltipReference\r\n {...tooltip}\r\n className={`${className} flex relative items-center justify-center align-middle w-auto text-sm font-semibold first:rounded-l last:rounded-r focus:outline-none`}\r\n aria-label={label}\r\n >\r\n {children}\r\n </TooltipReference>\r\n {\r\n //@ts-ignore\r\n // <div className={styles}>\r\n <Tooltip\r\n {...tooltip}\r\n // className={`font-[Roboto-Medium] font-medium mb-[5px] text-[13px] capitalize before:content-[''] before:absolute before: ${SELECT_BG_COLOR} top-[-21%] before:left-[calc(50%-7px)] before:bg-[#fce8eb] before:rotate-[230deg] before:border before:border-b-[#f3a2af] before:border-r-[#f3a2af] before:border-l-transparent before:rounded-none before:border-t-transparent before:h-[14px] before:w-[14px] !z-[100] inline-block px-3 py-2 text-[#5d5d5d] transition-opacity duration-300 bg-[#fce8eb] shadow-sm border border-[#f3a2af] `\r\n className={`font-[Roboto-Medium] font-medium mb-[5px] text-[13px] capitalize before:content-[''] before:absolute before:left-[calc(50%-7px)] before:bg-[#fce8eb] before:rotate-[44deg] before:border ${\r\n arrowOnTop\r\n ? 'before:top-[-21%] before:border-l-[#f3a2af] before:border-t-[#f3a2af] before:border-b-transparent before:border-r-transparent'\r\n : 'before:top-[80%] before:border-b-[#f3a2af] before:border-r-[#f3a2af] before:border-l-transparent before:border-t-transparent'\r\n } before:rounded-none before:h-[14px] before:w-[14px] !z-[100] inline-block px-3 py-2 text-[#5d5d5d] transition-opacity duration-300 bg-[#fce8eb] shadow-sm border border-[#f3a2af]`}\r\n style={{ zIndex: 3 }}\r\n >\r\n {label}{' '}\r\n </Tooltip>\r\n // </div>\r\n }\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { use3dddPlus } from '../../store';\r\nimport { CANVAS_MENU_TEXT } from '../../theme';\r\nimport { Copy, Delete, IconButton, SelectAll } from '../icon';\r\nimport { MdLayers } from 'react-icons/md';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { fabric } from 'fabric';\r\nimport { CgRedo, CgUndo } from 'react-icons/cg';\r\nimport { ToolTip } from '../toolTip';\r\nconst ActionButtons = () => {\r\n const [canvas, activeSelection] = use3dddPlus(\r\n (state) => [state.fabricCanvas, state.activeSelection],\r\n shallow\r\n );\r\n const selectAllHandler = () => {\r\n canvas.discardActiveObject();\r\n const sel = new fabric.ActiveSelection(\r\n canvas.getObjects().filter((obj) => obj.type !== 'line'),\r\n {\r\n canvas: canvas,\r\n }\r\n );\r\n canvas.setActiveObject(sel);\r\n canvas.requestRenderAll();\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.setState({ selectedAll: true });\r\n use3dddPlus.setState({ currentSelection: 'selectAll' });\r\n const fillColors = {};\r\n use3dddPlus.setState({ colorFill: fillColors });\r\n };\r\n const deleteHandler = () => {\r\n if (activeSelection) {\r\n if (activeSelection.icon) {\r\n canvas.remove(activeSelection);\r\n removeItem(activeSelection);\r\n } else if (activeSelection._objects) {\r\n activeSelection._objects.map((obj) => {\r\n canvas.remove(obj);\r\n removeItem(obj);\r\n });\r\n }\r\n // canvas.remove(activeSelection);\r\n use3dddPlus.getState().updateModifaction(true);\r\n canvas.requestRenderAll();\r\n use3dddPlus.setState({ selectedAll: false });\r\n canvas.discardActiveObject();\r\n // removeItem(activeSelection);\r\n }\r\n };\r\n const removeItem = (value: any) => {\r\n // var index = use3dddPlus.getState().storeAllObject.indexOf(value);\r\n // @ts-ignore\r\n var index = use3dddPlus\r\n .getState()\r\n .storeAllObject.findIndex((obj: any) => obj.id === value.id);\r\n if (index === -1 && value && value._objects && value._objects.length > 0) {\r\n var index = use3dddPlus\r\n .getState()\r\n //@ts-ignore\r\n .storeAllObject.indexOf(value._objects[0]);\r\n }\r\n if (index > -1) {\r\n use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n }\r\n use3dddPlus.setState({\r\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\r\n });\r\n };\r\n const canvasActions = [\r\n {\r\n icon: <SelectAll />,\r\n onClick: selectAllHandler,\r\n id: 'select-action',\r\n label: 'Select all',\r\n disabled: false,\r\n visible: true,\r\n },\r\n {\r\n icon: <Copy />,\r\n onClick: () => {\r\n use3dddPlus.getState().duplicateObject();\r\n },\r\n id: 'duplicate-action',\r\n label: 'Duplicate',\r\n disabled: false,\r\n visible: true,\r\n },\r\n {\r\n icon: <MdLayers />,\r\n onClick: () => {\r\n use3dddPlus.setState({ currentSelection: 'layer' });\r\n },\r\n id: 'layes-action',\r\n label: 'Layers',\r\n disabled: false,\r\n visible: true,\r\n },\r\n {\r\n icon: <Delete />,\r\n onClick: deleteHandler,\r\n id: 'delete-action',\r\n label: 'Delete',\r\n disabled: false,\r\n visible: true,\r\n },\r\n {\r\n icon: <CgUndo />,\r\n onClick: () => {\r\n use3dddPlus.getState().undo();\r\n },\r\n id: 'undo-action',\r\n label: 'Undo',\r\n disabled: false,\r\n visible: true,\r\n },\r\n {\r\n icon: <CgRedo />,\r\n onClick: () => {\r\n use3dddPlus.getState().redo();\r\n },\r\n id: 'redo-action',\r\n label: 'Redo',\r\n disabled: false,\r\n visible: true,\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n <div\r\n className=\"w-100 flex px-3 items-center z-10 h-[40px]\"\r\n style={{\r\n justifyContent: 'flex-end',\r\n }}\r\n >\r\n <div className={`flex`}>\r\n {canvasActions.map(\r\n (item) =>\r\n item?.visible && (\r\n <div\r\n key={item.id}\r\n className={`${\r\n item.disabled\r\n ? 'disableButton'\r\n : `${CANVAS_MENU_TEXT} cursor-pointer hover:text-[#e11a38] hover:underline hover:underline-offset-4 hover:decoration-2`\r\n } flex gap-[5px] items-center pt-[2.5px] font-bold uppercase mr-[30px] lg:mr-[30px] md-[20px] `}\r\n onClick={item.onClick}\r\n >\r\n <ToolTip label={item.label} arrowOnTop={true}>\r\n <span>\r\n <IconButton\r\n label=\"\"\r\n icon={item.icon}\r\n className={`${\r\n item.disabled\r\n ? 'iconDisable'\r\n : 'pointer-events-auto cursor-pointer'\r\n } m-auto`}\r\n size=\"1.125rem\"\r\n ></IconButton>\r\n </span>\r\n </ToolTip>\r\n </div>\r\n )\r\n )}\r\n </div>\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nexport default ActionButtons;\r\n","import React from 'react';\r\nimport { use3dddPlus } from '../../store';\r\n// import { CANVAS_MENU_TEXT } from '../../theme';\r\n// import { Copy, Delete, IconButton, SelectAll } from '../icon';\r\n// import { MdLayers } from 'react-icons/md';\r\n// import { shallow } from 'zustand/shallow';\r\n// import { fabric } from 'fabric';\r\n// import { CgRedo, CgUndo } from 'react-icons/cg';\r\nconst NudgeButtons = () => {\r\n // const [canvas, activeSelection] = use3dddPlus(\r\n // (state) => [state.fabricCanvas, state.activeSelection],\r\n // shallow\r\n // );\r\n // const selectAllHandler = () => {\r\n // canvas.discardActiveObject();\r\n // const sel = new fabric.ActiveSelection(canvas.getObjects(), {\r\n // canvas: canvas,\r\n // });\r\n // canvas.setActiveObject(sel);\r\n // canvas.requestRenderAll();\r\n // use3dddPlus.getState().updateModifaction(true);\r\n // use3dddPlus.setState({ selectedAll: true });\r\n // use3dddPlus.setState({ currentSelection: 'selectAll' });\r\n // const fillColors = {};\r\n // use3dddPlus.setState({ colorFill: fillColors });\r\n // };\r\n // const deleteHandler = () => {\r\n // canvas.remove(activeSelection);\r\n // use3dddPlus.getState().updateModifaction(true);\r\n // canvas.requestRenderAll();\r\n // use3dddPlus.setState({ selectedAll: false });\r\n // removeItem(activeSelection);\r\n // };\r\n // const removeItem = (value: any) => {\r\n // //@ts-ignore\r\n // var index = use3dddPlus\r\n // .getState()\r\n // .storeAllObject.findIndex((obj: any) => obj.id === value.id);\r\n // if (index > -1) {\r\n // use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n // }\r\n // use3dddPlus.setState({\r\n // storeAllObject: [...use3dddPlus.getState().storeAllObject],\r\n // });\r\n // };\r\n\r\n const textSelected = use3dddPlus.getState().activeSelection;\r\n // const canvas = use3dddPlus.getState().fabricCanvas;\r\n\r\n const nudgeMove = (e) => {\r\n const brNew = textSelected.getBoundingRect();\r\n if (e.target.id === 'down') {\r\n // if (textSelected.aCoords.br.y > canvas.height - 2) return;\r\n if (brNew.height + brNew.top >= textSelected.canvas.height - 10) return;\r\n use3dddPlus.getState().moveDown(textSelected);\r\n use3dddPlus.getState().updateModifaction(true);\r\n } else if (e.target.id === 'up') {\r\n if (textSelected.aCoords.tr.y < 10) return;\r\n use3dddPlus.getState().moveUp(textSelected);\r\n use3dddPlus.getState().updateModifaction(true);\r\n } else if (e.target.id === 'right') {\r\n // if (textSelected.aCoords.tr.x > canvas.height - 2) return;\r\n if (brNew.width + brNew.left >= textSelected.canvas.width - 45) return;\r\n use3dddPlus.getState().moveRight(textSelected);\r\n use3dddPlus.getState().updateModifaction(true);\r\n } else if (e.target.id === 'left') {\r\n if (textSelected.aCoords.tl.x < 45) return;\r\n use3dddPlus.getState().moveLeft(textSelected);\r\n use3dddPlus.getState().updateModifaction(true);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div\r\n className=\"w-full flex items-center justify-center z-10\"\r\n style={{\r\n justifyContent: 'flex-center',\r\n }}\r\n >\r\n <div\r\n className=\"uppercase font-medium text-sm text-red-500 mx-5\"\r\n style={{ marginTop: '0.3rem', marginBottom: '0.3rem' }}\r\n >\r\n Nudge:\r\n </div>\r\n\r\n <button onClick={nudgeMove} id=\"left\">\r\n <div className=\"leftBtn pointer-events-none mx-5\">\r\n <div className=\"leftIcon float-left\">\r\n <svg\r\n transform=\"rotate(270)\"\r\n fill=\"#707070\"\r\n height=\"20px\"\r\n width=\"20px\"\r\n version=\"1.1\"\r\n id=\"Layer_1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 512 512\"\r\n >\r\n <g>\r\n <g>\r\n <g>\r\n <path d=\"M0,0v512h512V0H0z M469.333,469.333H42.667V42.667h426.667V469.333z\" />\r\n <path d=\"M121.752,335.085L256,200.837l134.248,134.248c8.331,8.331,21.839,8.331,30.17,0c8.331-8.331,8.331-21.839,0-30.17 L271.085,155.582c-8.331-8.331-21.839-8.331-30.17,0L91.582,304.915c-8.331,8.331-8.331,21.839,0,30.17 S113.42,343.416,121.752,335.085z\" />\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n <span className=\"pointer-events-none iconLabel float-left text-[#5d5d5d] ml-2 text-[13px] font-medium capitalize\">\r\n Left\r\n </span>\r\n </div>\r\n </button>\r\n\r\n <button onClick={nudgeMove} id=\"up\">\r\n <div className=\"upBtn pointer-events-none mx-5\">\r\n <div className=\"upIcon float-left\">\r\n <svg\r\n fill=\"#707070\"\r\n height=\"20px\"\r\n width=\"20px\"\r\n version=\"1.1\"\r\n id=\"Layer_1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 512 512\"\r\n >\r\n <g>\r\n <g>\r\n <g>\r\n <path d=\"M0,0v512h512V0H0z M469.333,469.333H42.667V42.667h426.667V469.333z\" />\r\n <path d=\"M121.752,335.085L256,200.837l134.248,134.248c8.331,8.331,21.839,8.331,30.17,0c8.331-8.331,8.331-21.839,0-30.17 L271.085,155.582c-8.331-8.331-21.839-8.331-30.17,0L91.582,304.915c-8.331,8.331-8.331,21.839,0,30.17 S113.42,343.416,121.752,335.085z\" />\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n <span className=\"pointer-events-none iconLabel float-left text-[#5d5d5d] ml-2 text-[13px] font-medium capitalize\">\r\n Top\r\n </span>\r\n </div>\r\n </button>\r\n\r\n <button onClick={nudgeMove} id=\"right\">\r\n <div className=\"rightBtn pointer-events-none mx-5\">\r\n <div className=\"rightIcon float-left\">\r\n <svg\r\n transform=\"rotate(90)\"\r\n fill=\"#707070\"\r\n height=\"20px\"\r\n width=\"20px\"\r\n version=\"1.1\"\r\n id=\"Layer_1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 512 512\"\r\n >\r\n <g>\r\n <g>\r\n <g>\r\n <path d=\"M0,0v512h512V0H0z M469.333,469.333H42.667V42.667h426.667V469.333z\" />\r\n <path d=\"M121.752,335.085L256,200.837l134.248,134.248c8.331,8.331,21.839,8.331,30.17,0c8.331-8.331,8.331-21.839,0-30.17 L271.085,155.582c-8.331-8.331-21.839-8.331-30.17,0L91.582,304.915c-8.331,8.331-8.331,21.839,0,30.17 S113.42,343.416,121.752,335.085z\" />\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n <span className=\"pointer-events-none iconLabel float-left text-[#5d5d5d] ml-2 text-[13px] font-medium capitalize\">\r\n Right\r\n </span>\r\n </div>\r\n </button>\r\n\r\n <button onClick={nudgeMove} id=\"down\">\r\n <div className=\"downBtn pointer-events-none mx-5\">\r\n <div className=\"downIcon float-left\">\r\n <svg\r\n transform=\"rotate(180)\"\r\n fill=\"#707070\"\r\n height=\"20px\"\r\n width=\"20px\"\r\n version=\"1.1\"\r\n id=\"Layer_1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 512 512\"\r\n >\r\n <g>\r\n <g>\r\n <g>\r\n <path d=\"M0,0v512h512V0H0z M469.333,469.333H42.667V42.667h426.667V469.333z\" />\r\n <path d=\"M121.752,335.085L256,200.837l134.248,134.248c8.331,8.331,21.839,8.331,30.17,0c8.331-8.331,8.331-21.839,0-30.17 L271.085,155.582c-8.331-8.331-21.839-8.331-30.17,0L91.582,304.915c-8.331,8.331-8.331,21.839,0,30.17 S113.42,343.416,121.752,335.085z\" />\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n <span className=\"pointer-events-none iconLabel float-left text-[#5d5d5d] ml-2 text-[13px] font-medium capitalize\">\r\n BOTTOM\r\n </span>\r\n </div>\r\n </button>\r\n {/* <button\r\n onClick={nudgeMove}\r\n id=\"up\"\r\n className=\"font-medium text-orange-300 text-lime-400 px-1\"\r\n >\r\n UP\r\n </button>\r\n <button\r\n onClick={nudgeMove}\r\n id=\"left\"\r\n className=\"font-medium text-orange-300 text-teal-500\"\r\n >\r\n LEFT\r\n </button>\r\n <button\r\n onClick={nudgeMove}\r\n id=\"right\"\r\n className=\"font-medium text-orange-300 text-violet-600 px-1\"\r\n >\r\n RIGHT\r\n </button> */}\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nexport default NudgeButtons;\r\n","import { fabric } from 'fabric';\r\n//@ts-ignore\r\n// import deleteIcon from '../../assets/images/delete.png';\r\n// //@ts-ignore\r\n// import rotateIcon from '../../assets/images/rotate.png';\r\n// //@ts-ignore\r\n// import settingIcon from '../../assets/images/settings.png';\r\nimport { use3dddPlus } from '..';\r\n\r\n// @ts-ignore\r\nimport FontFaceObserver from 'fontfaceobserver';\r\n\r\nexport const initCanvas = () => {\r\n let left1 = 0;\r\n let top1 = 0;\r\n let scale1x = 0;\r\n let scale1y = 0;\r\n let width1 = 0;\r\n let height1 = 0;\r\n\r\n const onObjectSelected = (e) => {\r\n if (e?.selected?.[0]?.colorFill) {\r\n use3dddPlus.setState({ colorFill: e.selected[0].colorFill });\r\n }\r\n use3dddPlus.setState({\r\n currentSelection: canv.getActiveObject().get('type'),\r\n });\r\n use3dddPlus.setState({ activeSelection: canv.getActiveObject() });\r\n getAllColors();\r\n };\r\n const onObjectDeselected = () => {\r\n use3dddPlus.setState({ activeSelection: null });\r\n use3dddPlus.setState({ currentSelection: 'none' });\r\n use3dddPlus.setState({ showContextMenu: false });\r\n getAllColors();\r\n };\r\n const onObjectUpdated = (e) => {\r\n if (e?.selected?.[0]?.colorFill) {\r\n use3dddPlus.setState({ colorFill: e.selected[0].colorFill });\r\n }\r\n use3dddPlus.setState({\r\n currentSelection: canv.getActiveObject().get('type'),\r\n });\r\n use3dddPlus.setState({ activeSelection: e.selected[0] });\r\n use3dddPlus.setState({ textInfo: e.selected[0].text });\r\n use3dddPlus.setState({ showContextMenu: false });\r\n getAllColors();\r\n };\r\n const onObjectMoving = (e: any) => {\r\n use3dddPlus.getState().updateModifaction(false);\r\n const obj = e.target;\r\n if (isNaN(e.pointer.x) || isNaN(e.pointer.y)) {\r\n obj.set({\r\n top: use3dddPlus.getState().lastPosition.top,\r\n left: use3dddPlus.getState().lastPosition.left,\r\n });\r\n return;\r\n }\r\n // if (\r\n // obj.getBoundingRect().width > obj.canvas.height ||\r\n // obj.getBoundingRect().height > obj.canvas.width\r\n // ) {\r\n // return;\r\n // }\r\n\r\n obj.setCoords();\r\n if (obj.getBoundingRect().top < 10 || obj.getBoundingRect().left < 45) {\r\n obj.top = Math.max(obj.top, obj.top - obj.getBoundingRect().top + 10);\r\n obj.left = Math.max(obj.left, obj.left - obj.getBoundingRect().left + 45);\r\n obj.setCoords();\r\n }\r\n if (\r\n obj.getBoundingRect().top + obj.getBoundingRect().height + 10 >\r\n obj.canvas.height ||\r\n obj.getBoundingRect().left + obj.getBoundingRect().width + 45 >\r\n obj.canvas.width\r\n ) {\r\n obj.top = Math.min(\r\n obj.top,\r\n obj.canvas.height -\r\n obj.getBoundingRect().height +\r\n obj.top -\r\n obj.getBoundingRect().top -\r\n 10\r\n );\r\n obj.left = Math.min(\r\n obj.left,\r\n obj.canvas.width -\r\n obj.getBoundingRect().width +\r\n obj.left -\r\n obj.getBoundingRect().left -\r\n 45\r\n );\r\n obj.setCoords();\r\n }\r\n\r\n const brNew = obj.getBoundingRect();\r\n if (\r\n brNew.width + brNew.left + 45 >= obj.canvas.width ||\r\n brNew.height + brNew.top + 10 >= obj.canvas.height ||\r\n brNew.left < 45 ||\r\n brNew.top < 10\r\n ) {\r\n // obj.left = left1;\r\n // obj.top = top1;\r\n // obj.scaleX = scale1x;\r\n // obj.scaleY = scale1y;\r\n // obj.width = width1;\r\n // obj.height = height1;\r\n } else {\r\n left1 = obj.left;\r\n top1 = obj.top;\r\n scale1x = obj.scaleX;\r\n scale1y = obj.scaleY;\r\n width1 = obj.width;\r\n height1 = obj.height;\r\n }\r\n\r\n if (isObjectInCenter(e.target)) {\r\n use3dddPlus.getState().verticalLine.set({ visible: true });\r\n } else {\r\n use3dddPlus.getState().verticalLine.set({ visible: false });\r\n }\r\n if (isObjectInHorizontalCenter(e.target)) {\r\n use3dddPlus.getState().verticalLine.set({ visible: true });\r\n } else {\r\n use3dddPlus.getState().verticalLine.set({ visible: false });\r\n }\r\n if (isObjectInVerticalCenter(e.target)) {\r\n use3dddPlus.getState().horizontalLine.set({ visible: true });\r\n } else {\r\n use3dddPlus.getState().horizontalLine.set({ visible: false });\r\n }\r\n use3dddPlus.getState().setLastPosition({ top: obj.top, left: obj.left });\r\n };\r\n\r\n const outerCanvasContainer = document.getElementById('fabCanvas');\r\n\r\n const fontList = new Set<string>();\r\n document.fonts.forEach((font) => fontList.add(font.family));\r\n\r\n console.log('Preloading all available fonts from the document');\r\n\r\n // Preload all the fonts\r\n Array.from(fontList).forEach((font) => {\r\n new FontFaceObserver(font)\r\n .load()\r\n .then(() => {\r\n // console.log(`${font} has loaded.`);\r\n })\r\n .catch(() => {\r\n console.log(`${font} has not loaded.`);\r\n });\r\n });\r\n\r\n const canv = new fabric.Canvas('canvas', {\r\n centeredScaling: true,\r\n preserveObjectStacking: true,\r\n // backgroundColor: '#ffff00',\r\n stopContextMenu: false,\r\n // width: 500,\r\n // height: 300,\r\n\r\n width: outerCanvasContainer.clientWidth,\r\n height: outerCanvasContainer.clientHeight,\r\n });\r\n\r\n function isObjectInCenter(obj) {\r\n const brNew = obj.getBoundingRect();\r\n var canvasCenterX = canv.width / 2;\r\n var canvasCenterY = canv.height / 2;\r\n var objCenterX = brNew.left + brNew.width / 2;\r\n var objCenterY = brNew.top + brNew.height / 2;\r\n var threshold = 5;\r\n return (\r\n Math.abs(objCenterY - canvasCenterY) < threshold &&\r\n Math.abs(objCenterX - canvasCenterX) < threshold\r\n );\r\n }\r\n\r\n function isObjectInVerticalCenter(obj) {\r\n const brNew = obj.getBoundingRect();\r\n var canvasCenterY = canv.getHeight() / 2;\r\n var scaledObjCenterY = brNew.top + brNew.height / 2;\r\n var threshold = 5;\r\n return Math.abs(scaledObjCenterY - canvasCenterY) < threshold;\r\n }\r\n\r\n function isObjectInHorizontalCenter(obj) {\r\n const brNew = obj.getBoundingRect();\r\n var canvasCenterX = canv.width / 2;\r\n var scaledObjCenterX = brNew.left + brNew.width / 2;\r\n var threshold = 5;\r\n return Math.abs(scaledObjCenterX - canvasCenterX) < threshold;\r\n }\r\n const horizontalLine = new fabric.Line(\r\n [0, canv.height / 2, canv.height, canv.height / 2],\r\n {\r\n stroke: 'red',\r\n scaleX: 11,\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n const verticalLine = new fabric.Line(\r\n [canv.width / 2, 0, canv.width / 2, canv.width],\r\n {\r\n stroke: 'red',\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n horizontalLine.centerH();\r\n canv.add(horizontalLine);\r\n canv.add(verticalLine);\r\n use3dddPlus.setState({ horizontalLine: horizontalLine });\r\n use3dddPlus.setState({ verticalLine: verticalLine });\r\n\r\n let deleteImg = document.createElement('img');\r\n deleteImg.src =\r\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/delete.png';\r\n let rotateImg = document.createElement('img');\r\n rotateImg.src =\r\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/rotate.png';\r\n let settingImg = document.createElement('img');\r\n settingImg.src =\r\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/settings.png';\r\n fabric.Object.prototype.objectCaching = true;\r\n fabric.Object.prototype.transparentCorners = false;\r\n fabric.Object.prototype.cornerColor = '#14caf7';\r\n fabric.Object.prototype.cornerStrokeColor = '#045791';\r\n fabric.Object.prototype.borderColor = '#14caf7';\r\n fabric.Object.prototype.cornerSize = 16;\r\n // fabric.Object.prototype.padding = 10;\r\n fabric.Object.prototype.cornerStyle = 'circle';\r\n fabric.Object.prototype.borderDashArray = [5, 5];\r\n\r\n function renderIcon(icon) {\r\n return function renderIcon(ctx, left, top, fabricObject) {\r\n var size = this.cornerSize;\r\n ctx.save();\r\n ctx.translate(left, top);\r\n ctx.rotate(fabric.util.degreesToRadians(fabricObject.angle));\r\n ctx.drawImage(icon, -size / 2, -size / 2, size, size);\r\n ctx.restore();\r\n };\r\n }\r\n\r\n fabric.Object.prototype.controls.deleteControl = new fabric.Control({\r\n x: 0.53,\r\n y: -0.53,\r\n offsetY: -16,\r\n offsetX: 16,\r\n cursorStyle: 'pointer',\r\n //@ts-ignore\r\n mouseUpHandler: deleteObject,\r\n render: renderIcon(deleteImg),\r\n cornerSize: 28,\r\n });\r\n fabric.Object.prototype.controls.settingControl = new fabric.Control({\r\n x: -0.53,\r\n y: -0.53,\r\n offsetY: -16,\r\n offsetX: -16,\r\n cursorStyle: 'pointer',\r\n //@ts-ignore\r\n mouseUpHandler: function (e) {\r\n use3dddPlus.setState({\r\n showContextMenu: true,\r\n });\r\n\r\n const rect = canv.getElement().getBoundingClientRect();\r\n const x = e.clientX - rect.left;\r\n const y = e.clientY - rect.top;\r\n // You can add your context menu rendering logic here\r\n // Example: Render a simple alert with the coordinates\r\n use3dddPlus.setState({ contextMenuCoordinates: { x: x, y: y } });\r\n // alert(`Context menu clicked at (${x}, ${y})`);\r\n },\r\n render: renderIcon(settingImg),\r\n cornerSize: 28,\r\n });\r\n //@ts-ignore\r\n function deleteObject(eventData, transform) {\r\n const canvasTarget = transform.target;\r\n const canvas = canvasTarget.canvas;\r\n // if (use3dddPlus.getState().selectedAll || canvasTarget && !canvasTarget.icon) {\r\n // const target = transform.target._objects;\r\n // target.forEach((element) => {\r\n // canvas.remove(element);\r\n // canvas.requestRenderAll();\r\n // removeItem(element);\r\n // });\r\n // use3dddPlus.setState({ selectedAll: false });\r\n // canvas.discardActiveObject().renderAll();\r\n // } else {\r\n // canvas.remove(canvasTarget);\r\n // canvas.requestRenderAll();\r\n // removeItem(canvasTarget);\r\n // }\r\n // use3dddPlus.setState({ defaultColorFill: [] });\r\n const activeSelection = use3dddPlus.getState().activeSelection;\r\n if (activeSelection) {\r\n if (activeSelection.icon) {\r\n canvas.remove(activeSelection);\r\n removeItem(activeSelection);\r\n } else if (activeSelection._objects) {\r\n activeSelection._objects.map((obj) => {\r\n canvas.remove(obj);\r\n removeItem(obj);\r\n });\r\n }\r\n // canvas.remove(activeSelection);\r\n use3dddPlus.getState().updateModifaction(true);\r\n canvas.requestRenderAll();\r\n use3dddPlus.setState({ selectedAll: false });\r\n canvas.discardActiveObject();\r\n // removeItem(activeSelection);\r\n }\r\n }\r\n const removeItem = (value: any) => {\r\n //@ts-ignore\r\n var index = use3dddPlus\r\n .getState()\r\n .storeAllObject.findIndex((obj: any) => obj.id === value.id);\r\n if (index === -1 && value && value._objects && value._objects.length > 0) {\r\n var index = use3dddPlus\r\n .getState()\r\n //@ts-ignore\r\n\r\n .storeAllObject.indexOf(value._objects[0]);\r\n }\r\n if (index > -1) {\r\n use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n use3dddPlus.setState({\r\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\r\n });\r\n }\r\n };\r\n\r\n fabric.Object.prototype.controls.mtr = new fabric.Control({\r\n x: 0,\r\n y: -0.5,\r\n offsetY: -40,\r\n cursorStyle: 'crosshair',\r\n //@ts-ignore\r\n actionHandler: fabric?.controlsUtils.rotationWithSnapping,\r\n actionName: 'rotate',\r\n // mouseover:function hover(eventData,transform){\r\n // let target = transform.target;\r\n // console.log('TARGET-->',target);\r\n // },\r\n render: function renderIcon(ctx, left, top, fabricObject) {\r\n var size = this.cornerSize;\r\n ctx.save();\r\n ctx.translate(left, top);\r\n ctx.rotate(fabric.util.degreesToRadians(fabricObject.angle));\r\n ctx.drawImage(rotateImg, -size / 2, -size / 2, size, size);\r\n ctx.restore();\r\n },\r\n //@ts-ignore\r\n cornerSize: 28,\r\n withConnection: true,\r\n });\r\n const getAllColors = () => {\r\n // console.log(\"+++++\",canv?.getObjects());\r\n if (!canv?.getObjects()) {\r\n return;\r\n }\r\n // const allColor = [\r\n // ...new Set(\r\n // canv\r\n // ?.getObjects()\r\n // ?.map((item) => Object.values(item['colorFill']))\r\n // .flat()\r\n // ),\r\n // ];\r\n const allColor = [];\r\n canv\r\n ?.getObjects()\r\n ?.map((item) => item['colorFill'] && Object.values(item['colorFill']))\r\n .flat()\r\n .filter(Boolean)\r\n .forEach((color) => {\r\n if (!allColor.includes(color)) {\r\n allColor.push(color);\r\n }\r\n }); // FOR REMOVING ALL DUPLICATE COLOR CODES\r\n // const allColor =[];\r\n use3dddPlus.setState({ allColor: allColor });\r\n };\r\n canv.on('after:render', getAllColors);\r\n canv.on('selection:created', onObjectSelected);\r\n canv.on('selection:cleared', onObjectDeselected);\r\n canv.on('selection:updated', onObjectUpdated);\r\n canv.on('object:moving', onObjectMoving);\r\n canv.on('object:modified', function (e) {\r\n e.target.lockRotation = false;\r\n use3dddPlus.getState().updateModifaction(true);\r\n if (isObjectInCenter(e.target)) {\r\n use3dddPlus.getState().verticalLine.set({ visible: true });\r\n } else {\r\n use3dddPlus.getState().verticalLine.set({ visible: false });\r\n }\r\n if (isObjectInHorizontalCenter(e.target)) {\r\n use3dddPlus.getState().horizontalLine.set({ visible: true });\r\n } else {\r\n use3dddPlus.getState().horizontalLine.set({ visible: false });\r\n }\r\n if (isObjectInVerticalCenter(e.target)) {\r\n use3dddPlus.getState().horizontalLine.set({ visible: true });\r\n } else {\r\n use3dddPlus.getState().horizontalLine.set({ visible: false });\r\n }\r\n });\r\n\r\n canv.on('object:scaling', (e) => {\r\n const obj = e.target;\r\n if (isNaN(e.pointer.x) || isNaN(e.pointer.y)) {\r\n const { top, left, scaleX, scaleY } = use3dddPlus.getState().lastPosition;\r\n obj.set({\r\n top,\r\n left,\r\n scaleX,\r\n scaleY,\r\n });\r\n return;\r\n }\r\n obj.setCoords();\r\n const brNew = obj.getBoundingRect();\r\n if (\r\n brNew.width + brNew.left + 45 >= obj.canvas.width ||\r\n brNew.height + brNew.top + 10 >= obj.canvas.height ||\r\n brNew.left < 45 ||\r\n brNew.top < 10\r\n ) {\r\n obj.left = left1;\r\n obj.top = top1;\r\n obj.scaleX = scale1x;\r\n obj.scaleY = scale1y;\r\n obj.width = width1;\r\n obj.height = height1;\r\n } else {\r\n left1 = obj.left;\r\n top1 = obj.top;\r\n scale1x = obj.scaleX;\r\n scale1y = obj.scaleY;\r\n width1 = obj.width;\r\n height1 = obj.height;\r\n }\r\n obj.setCoords();\r\n use3dddPlus.getState().setLastPosition({\r\n top: obj.top,\r\n left: obj.left,\r\n scaleX: obj.scaleX,\r\n scaleY: obj.scaleY,\r\n });\r\n });\r\n canv.on('object:rotating', function (e) {\r\n const obj = e.target;\r\n let brNew = obj.getBoundingRect();\r\n if (obj.getBoundingRect().top - 45 < 0 || obj.getBoundingRect().left < 45) {\r\n obj.top = Math.max(obj.top, obj.top - obj.getBoundingRect().top + 45);\r\n obj.left = Math.max(obj.left, obj.left - obj.getBoundingRect().left + 45);\r\n obj.setCoords();\r\n }\r\n if (\r\n obj.getBoundingRect().top + 45 + obj.getBoundingRect().height >\r\n obj.canvas.height ||\r\n obj.getBoundingRect().left + 45 + obj.getBoundingRect().width >\r\n obj.canvas.width\r\n ) {\r\n if (\r\n obj.getBoundingRect().top - 45 < 0 ||\r\n obj.getBoundingRect().left - 45 < 0\r\n ) {\r\n obj.lockRotation = true;\r\n brNew = obj.getBoundingRect();\r\n while (\r\n Math.ceil(obj.width + obj.left + 45) >\r\n Math.floor(obj.canvas.width - 45) ||\r\n Math.ceil(obj.height + obj.top + 45) >\r\n Math.floor(obj.canvas.height - 45) ||\r\n Math.ceil(obj.left) < 0 ||\r\n Math.ceil(obj.top) < 0\r\n ) {\r\n obj.centeredRotation = true;\r\n if (obj.angle >= 0 && obj.angle <= 180) {\r\n obj.set('angle', obj.angle - 1);\r\n if (Math.ceil(brNew.top) < 45) {\r\n obj.set('top', obj.top + 4);\r\n }\r\n if (Math.ceil(brNew.left) < 45) {\r\n obj.set('left', obj.left + 4);\r\n }\r\n if (\r\n Math.ceil(brNew.width + brNew.left + 45) >\r\n Math.floor(obj.canvas.width - 45)\r\n ) {\r\n obj.set('left', brNew.left - 1);\r\n }\r\n if (\r\n Math.ceil(brNew.height + brNew.top + 45) >\r\n Math.floor(obj.canvas.height - 45)\r\n ) {\r\n obj.set('top', obj.top - 4);\r\n }\r\n } else {\r\n obj.set('angle', obj.angle + 1);\r\n if (Math.ceil(brNew.top) < 45) {\r\n obj.set('top', obj.top + 4);\r\n }\r\n if (Math.ceil(brNew.left) < 45) {\r\n obj.set('left', obj.left - 4);\r\n }\r\n if (\r\n Math.ceil(brNew.width + brNew.left + 45) >\r\n Math.floor(obj.canvas.width - 45)\r\n ) {\r\n obj.set('angle', obj.angle - 1);\r\n obj.set('left', obj.left - 1);\r\n }\r\n if (\r\n Math.ceil(obj.height + obj.top + 45) >\r\n Math.floor(obj.canvas.height - 45)\r\n ) {\r\n obj.set('top', obj.top - 4);\r\n }\r\n }\r\n canv.renderAll();\r\n brNew = obj.getBoundingRect();\r\n }\r\n } else {\r\n obj.top = Math.min(\r\n obj.top,\r\n obj.canvas.height -\r\n obj.getBoundingRect().height +\r\n obj.top -\r\n obj.getBoundingRect().top -\r\n 45\r\n );\r\n obj.left = Math.min(\r\n obj.left,\r\n obj.canvas.width -\r\n obj.getBoundingRect().width +\r\n obj.left -\r\n obj.getBoundingRect().left -\r\n 45\r\n );\r\n obj.setCoords();\r\n }\r\n }\r\n });\r\n return canv;\r\n};\r\n","import React from 'react';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport {\r\n Copy,\r\n IconButton,\r\n // Paste,\r\n SendAObject,\r\n SendToBack,\r\n SendToFront,\r\n SendUnderObject,\r\n FlipH,\r\n FlipV,\r\n SnapToCenter,\r\n} from '../icon';\r\n\r\nexport const ContextMenu = () => {\r\n const [activeObj, canvas] = use3dddPlus(\r\n (state) => [state.activeSelection, state.fabricCanvas],\r\n shallow\r\n );\r\n\r\n const flipX = () => {\r\n activeObj.set({\r\n flipX: !activeObj.flipX,\r\n });\r\n use3dddPlus.getState().updateModifaction(true);\r\n canvas.renderAll();\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n };\r\n const flipY = () => {\r\n activeObj.set({\r\n flipY: !activeObj.flipY,\r\n });\r\n use3dddPlus.getState().updateModifaction(true);\r\n // activeObj.\r\n canvas.renderAll();\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n };\r\n const sendBackwards = () => {\r\n canvas.sendBackwards(activeObj);\r\n //@ts-ignore\r\n // var index = use3dddPlus.getState().storeAllObject.indexOf(activeObj);\r\n //@ts-ignore\r\n var index = use3dddPlus\r\n .getState()\r\n .storeAllObject.findIndex((obj: any) => obj.id === activeObj.id);\r\n if (index > -1) {\r\n use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n //@ts-ignore\r\n use3dddPlus.getState().storeAllObject.splice(index + 1, 0, activeObj);\r\n }\r\n use3dddPlus.setState({\r\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\r\n });\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n canvas.sendToBack(use3dddPlus.getState().verticalLine);\r\n canvas.sendToBack(use3dddPlus.getState().horizontalLine);\r\n };\r\n const bringForward = () => {\r\n canvas.bringForward(activeObj);\r\n //@ts-ignore\r\n var index = use3dddPlus\r\n .getState()\r\n .storeAllObject.findIndex((obj: any) => obj.id === activeObj.id);\r\n if (index > -1) {\r\n if (index !== 0) {\r\n use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n //@ts-ignore\r\n use3dddPlus.getState().storeAllObject.splice(index - 1, 0, activeObj);\r\n }\r\n use3dddPlus.setState({\r\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\r\n });\r\n }\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n };\r\n const sendToBack = () => {\r\n canvas.sendToBack(activeObj);\r\n //@ts-ignore\r\n var index = use3dddPlus\r\n .getState()\r\n .storeAllObject.findIndex((obj: any) => obj.id === activeObj.id);\r\n if (index > -1) {\r\n use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n //@ts-ignore\r\n use3dddPlus.getState().storeAllObject.push(activeObj);\r\n }\r\n use3dddPlus.setState({\r\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\r\n });\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n canvas.sendToBack(use3dddPlus.getState().verticalLine);\r\n canvas.sendToBack(use3dddPlus.getState().horizontalLine);\r\n };\r\n const bringToFront = () => {\r\n canvas.bringToFront(activeObj);\r\n //@ts-ignore\r\n var index = use3dddPlus\r\n .getState()\r\n .storeAllObject.findIndex((obj: any) => obj.id === activeObj.id);\r\n if (index > -1) {\r\n use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n //@ts-ignore\r\n use3dddPlus.getState().storeAllObject.unshift(activeObj);\r\n\r\n use3dddPlus.setState({\r\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\r\n });\r\n }\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n };\r\n const snapToCenter = () => {\r\n activeObj.set({\r\n left: canvas.width / 2,\r\n originX: 'center',\r\n });\r\n use3dddPlus.getState().updateModifaction(true);\r\n canvas.renderAll();\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n };\r\n const copy = () => {\r\n use3dddPlus.getState().duplicateObject();\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n };\r\n const menu = [\r\n {\r\n id: 1,\r\n name: 'COPY / PASTE ',\r\n onclick: copy,\r\n icon: <Copy />,\r\n },\r\n // {\r\n // id: 2,\r\n // name: 'Paste',\r\n // onclick: copy,\r\n // icon: <Paste />,\r\n // },\r\n {\r\n id: 3,\r\n name: 'Bring to front',\r\n onclick: bringForward,\r\n icon: <SendToFront />,\r\n },\r\n {\r\n id: 4,\r\n name: 'Send to back',\r\n onclick: sendBackwards,\r\n icon: <SendToBack />,\r\n },\r\n {\r\n id: 5,\r\n name: 'Bring above objects',\r\n onclick: bringToFront,\r\n icon: <SendAObject />,\r\n },\r\n {\r\n id: 6,\r\n name: 'Send under objects',\r\n onclick: sendToBack,\r\n icon: <SendUnderObject />,\r\n },\r\n {\r\n id: 7,\r\n name: 'Flip Horizontal',\r\n onclick: flipX,\r\n icon: <FlipH />,\r\n },\r\n {\r\n id: 8,\r\n name: 'Flip Vertical',\r\n onclick: flipY,\r\n icon: <FlipV />,\r\n },\r\n {\r\n id: 9,\r\n name: 'Snap to center',\r\n onclick: snapToCenter,\r\n icon: <SnapToCenter />,\r\n },\r\n ];\r\n return (\r\n <ul>\r\n {menu.map((item, index) => {\r\n return (\r\n <li\r\n className=\"flex cursor-pointer hover:text-[#e11a38] border border-b-[1px] border-[#EBEBEB] px-[30px] py-[14px] \"\r\n onClick={item.onclick}\r\n key={index}\r\n >\r\n <span>\r\n <IconButton\r\n label=\"\"\r\n icon={item.icon}\r\n className=\"pointer-events-auto cursor-pointer m-auto\"\r\n size=\"1.125rem\"\r\n ></IconButton>\r\n </span>\r\n <span className=\" pl-[20px] text-sm font-bold uppercase\">\r\n {item.name}\r\n </span>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n );\r\n};\r\n","import React, { useRef } from 'react';\r\nimport './canvas.css';\r\nimport { use3dddPlus } from '../../store';\r\nimport ActionButtons from './canvasButtons'; //Importing Action button component which is displaying buttons\r\nimport NudgeButtons from './nudgeButtons'; //Importing Nudge button component which is displaying buttons\r\n// import ErrorPopup from './errorPopUp'; //Importing ErrorPopup Panel component which is displaying buttons\r\nimport { initCanvas } from '../../store/fabric/fabricCanvas';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { ContextMenu } from '../contextMenu';\r\nimport { fabric } from 'fabric';\r\n\r\nconst canvas = () => {\r\n const [contextMenuCoordinates, showContextMenu] = use3dddPlus(\r\n (state) => [\r\n state.contextMenuCoordinates,\r\n state.showContextMenu,\r\n state.allColor,\r\n ],\r\n shallow\r\n );\r\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\r\n const resizeCanvas = () => {\r\n const canvas = use3dddPlus.getState().fabricCanvas;\r\n if (document.getElementById('fabCanvas')) {\r\n const outerCanvasContainer = document.getElementById('fabCanvas');\r\n const containerWidth = outerCanvasContainer.clientWidth;\r\n const scale = containerWidth / canvas.getWidth();\r\n const zoom = canvas.getZoom() * scale;\r\n canvas.setWidth(containerWidth);\r\n //@ts-ignore\r\n canvas.setHeight(parseInt(outerCanvasContainer.clientHeight));\r\n console.log('--->', canvas.getHeight(), canvas.getHeight());\r\n canvas.setViewportTransform([zoom, 0, 0, zoom, 0, 0]);\r\n canvas.renderAll();\r\n }\r\n };\r\n React.useEffect(() => {\r\n fabric.Object.prototype.hasControls = true;\r\n fabric.Object.prototype.hasBorders = true;\r\n const canv = initCanvas();\r\n use3dddPlus.setState({ fabricCanvas: canv });\r\n resizeCanvas();\r\n window.addEventListener('resize', resizeCanvas);\r\n const fontFamilyURL =\r\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/athletic.ttf';\r\n const font = new FontFace('Athletic Block', `url('${fontFamilyURL}')`);\r\n font.load().then((value) => {\r\n //@ts-ignore\r\n document.fonts?.add(value);\r\n document.body.classList.add('fonts-loaded');\r\n });\r\n }, []);\r\n\r\n return (\r\n <div className=\" w-full h-full relative\">\r\n <ActionButtons />\r\n <div\r\n id=\"fabCanvas\"\r\n className=\"bg-[#ffffff]\"\r\n style={{ height: 'calc(100% - 71px)' }}\r\n >\r\n <canvas ref={canvasRef} id=\"canvas\"></canvas>\r\n {showContextMenu && (\r\n <div\r\n style={{\r\n position: 'absolute',\r\n zIndex: 1000,\r\n left: contextMenuCoordinates.x - 270,\r\n top: contextMenuCoordinates.y + 55,\r\n backgroundColor: 'white',\r\n border: '1px solid #ccc',\r\n boxShadow: '2px 2px 5px rgba(0,0,0,0.5)',\r\n }}\r\n onBlur={() => {\r\n use3dddPlus.setState({ showContextMenu: false });\r\n }}\r\n >\r\n <ContextMenu />\r\n </div>\r\n )}\r\n </div>\r\n {/* {allColor && allColor.includes('transparent')\r\n ? allColor.length - 1 > 8\r\n : allColor.length > 8 && <ErrorPopup allColor={allColor} />} */}\r\n <NudgeButtons />\r\n </div>\r\n );\r\n};\r\n\r\nexport default canvas;\r\n","import React from 'react';\r\n\r\nexport interface CardProps {\r\n cardClass?: string;\r\n children?: React.ReactNode;\r\n onClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\r\n style?: React.CSSProperties;\r\n key?:string\r\n \r\n}\r\n\r\nexport const Card = ({ cardClass,children, onClick,style,key }: CardProps) => {\r\n return (\r\n <>\r\n <div\r\n className={`card bg-base-100 relative ${cardClass}`}\r\n onClick={onClick}\r\n style={style}\r\n key={ key}\r\n >\r\n {children}\r\n </div>\r\n </>\r\n );\r\n};","import React from 'react';\r\n\r\nexport interface CardBodyProps {\r\n bodyClass?: string;\r\n children?: React.ReactNode;\r\n}\r\nexport const CardBody = ({ bodyClass, children }: CardBodyProps) => {\r\n return (\r\n <>\r\n <div className={`card-body ${bodyClass}`}>{children}</div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { TEXT_SIZE_2 } from '../../theme';\r\nimport { IoMdCheckmarkCircle, IconButton } from '../icon';\r\n\r\nexport interface CardCheckMarkProps {\r\n checkMarkClass?: string;\r\n size?: any;\r\n}\r\nexport const CardCheckMark = ({ checkMarkClass, size }: CardCheckMarkProps) => {\r\n return (\r\n <>\r\n <div\r\n className={`absolute top-1/2 left-2/4 ${TEXT_SIZE_2} ${checkMarkClass}`}\r\n style={{ transform: 'translate(-50%, -50%)' }}\r\n >\r\n <IconButton\r\n label={''}\r\n icon={<IoMdCheckmarkCircle />}\r\n className={`pointer-events-auto cursor-pointer`}\r\n size={size}\r\n ></IconButton>\r\n </div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { HiOutlineDownload, IconButton } from '../icon';\r\n\r\nexport interface CardDownIconProps {\r\n downloadClass?: string;\r\n downloadIconClass?: string;\r\n iconClass?: string;\r\n pdfUrl?: string;\r\n}\r\nexport const CardDownloadIcon = ({\r\n downloadClass,\r\n downloadIconClass,\r\n iconClass,\r\n pdfUrl,\r\n}: CardDownIconProps) => {\r\n return (\r\n <>\r\n <a\r\n href={pdfUrl}\r\n download={'Design Sheet'}\r\n target=\"_blank\"\r\n className={`flex items-center gap-[0.4375rem] ${downloadIconClass}`}\r\n >\r\n <IconButton\r\n label={''}\r\n icon={<HiOutlineDownload />}\r\n className={`pointer-events-auto cursor-pointer ${iconClass}`}\r\n size=\"1rem\"\r\n ></IconButton>\r\n\r\n <span className={`${downloadClass}`}>VIEW DESIGN SHEET</span>\r\n </a>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\n\r\nexport interface CardFlagProps {\r\n flag?: string;\r\n flagClass?: string;\r\n}\r\nexport const CardFlag = ({ flag, flagClass }: CardFlagProps) => {\r\n return (\r\n <>\r\n <div className={`absolute top-0 left-0 ${flagClass}`}>{flag}</div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nimport './card.css';\r\n\r\nexport interface CardMediaProps {\r\n alt?: string;\r\n imageClass?: string;\r\n src?: string;\r\n}\r\nexport const CardMedia = ({ alt, imageClass, src }: CardMediaProps) => {\r\n return (\r\n <>\r\n <div\r\n role=\"img\"\r\n aria-label={alt}\r\n className={`cardImage ${imageClass}`}\r\n style={{ backgroundImage: `url('${src}')` }}\r\n ></div>\r\n </>\r\n );\r\n};","import React from 'react';\r\nimport { TAG_TEXT_COLOR } from '../../theme';\r\nexport interface CardTagsProps {\r\n children?: React.ReactNode;\r\n tagsClass?: string;\r\n}\r\nexport const CardTags = ({ children, tagsClass }: CardTagsProps) => {\r\n return (\r\n <>\r\n <div\r\n className={`${tagsClass} flex capitalize rounded px-[11px] py-[5px] text-center items-center align-baseline ${TAG_TEXT_COLOR} font-normal`}\r\n >\r\n {children}\r\n </div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nexport interface CardTitleProps {\r\n name?: string;\r\n titleClass?: string;\r\n}\r\nexport const CardTitle = ({ name, titleClass }: CardTitleProps) => {\r\n return (\r\n <>\r\n <p className={`card-title ${titleClass}`}>{name}</p>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\n\r\nexport interface CardDescProps {\r\n children?: React.ReactNode;\r\n descriptionClass?: string;\r\n}\r\nexport const CardDescription = ({ children, descriptionClass }: CardDescProps) => {\r\n return (\r\n <>\r\n <p className={`${descriptionClass}`}>{children}</p>\r\n </>\r\n );\r\n};\r\n","import React, { useRef, useState } from 'react';\r\nimport { MdOutlineFileUpload } from 'react-icons/md';\r\nimport { IconButton } from '../icon';\r\ninterface FileUploadButtonProps {\r\n onFileSelect: (file: File) => void;\r\n}\r\n\r\nconst FileUploadButton: React.FC<FileUploadButtonProps> = ({\r\n onFileSelect,\r\n}) => {\r\n const fileInputRef = useRef<HTMLInputElement>(null);\r\n const [isDragging, setIsDragging] = useState(false);\r\n\r\n const handleFileSelect = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n const selectedFile = event.target.files?.[0];\r\n\r\n if (selectedFile) {\r\n onFileSelect(selectedFile);\r\n }\r\n fileInputRef.current.value = null;\r\n };\r\n\r\n const handleDragEnter = (event: React.DragEvent<HTMLDivElement>) => {\r\n event.preventDefault();\r\n setIsDragging(true);\r\n };\r\n\r\n const handleDragLeave = (event: React.DragEvent<HTMLDivElement>) => {\r\n event.preventDefault();\r\n setIsDragging(false);\r\n };\r\n\r\n const handleDrop = (event: React.DragEvent<HTMLDivElement>) => {\r\n event.preventDefault();\r\n setIsDragging(false);\r\n\r\n const droppedFile = event.dataTransfer.files[0];\r\n if (droppedFile) {\r\n onFileSelect(droppedFile);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div\r\n className={`flex items-center justify-center w-full relative h-full ${\r\n isDragging ? 'dragging' : ''\r\n }`}\r\n onDragEnter={handleDragEnter}\r\n onDragLeave={handleDragLeave}\r\n onDragOver={(event) => event.preventDefault()}\r\n onDrop={handleDrop}\r\n >\r\n <label\r\n htmlFor=\"file-upload\"\r\n // className=\"w-[40vw] h-[40vh] flex flex-col items-center justify-center gap-y-[12px] text-center absolute -translate-x-2/4 md:-translate-y-2/4 -translate-y-[30%] left-2/4 2xl:top-2/4 top-[42%] p-[50px] border-2 border-gray-300 border-dashed rounded-lg cursor-pointer bg-gray-50 dark:hover:bg-bray-800 dark:bg-gray-700 hover:bg-gray-100 dark:border-gray-600 dark:hover:border-gray-500 dark:hover:bg-gray-600\"\r\n className=\"w-[40vw] h-[40vh] flex flex-col items-center justify-center gap-y-[12px] text-center absolute -translate-x-2/4 md:-translate-y-2/4 -translate-y-[30%] left-2/4 2xl:top-2/4 top-[42%] p-[50px] border-2 border-gray-300 border-dashed rounded-lg cursor-pointer bg-gray-50\"\r\n >\r\n <div className=\" text-center flex flex-col gap-[8px]\">\r\n <IconButton\r\n label=\"\"\r\n icon={<MdOutlineFileUpload />}\r\n className={\r\n 'pointer-events-auto cursor-pointer m-auto text-[#E11A38] bg-[#FCE8EB] p-[16px] h-[unset] !rounded-full'\r\n }\r\n size=\"1.125rem\"\r\n ></IconButton>\r\n <div className=\"text-[#5D5D5D] text-base font-bold\">\r\n Drag Files To Upload\r\n </div>\r\n <div className=\"text-[#5D5D5D] text-base font-bold\">Or</div>\r\n </div>\r\n <div>\r\n {' '}\r\n <button\r\n onClick={() => fileInputRef.current?.click()}\r\n className=\"text-center py-[11.2px] border border-[#E11A38] text-[#E11A38] font-bold px-[20px] rounded-none hover:bg-[#E11A38] hover:text-white transition-all ease-in-out duration-300 cursor-pointer max-w-[220px]\"\r\n >\r\n BROWSE FILE\r\n </button>\r\n </div>\r\n\r\n <div className=\" text-center text-[#727272] text-sm\">\r\n <p>Max file size: 25M</p>\r\n {/* <p>Supported files types: JPG, JPEG, PNG, GIF, EPS, PDF, SVG, AI</p> */}\r\n <p>Supported files types: JPG, JPEG, PNG, PDF, SVG, AI</p>\r\n </div>\r\n <input\r\n id=\"file-upload\"\r\n ref={fileInputRef}\r\n type=\"file\"\r\n onChange={handleFileSelect}\r\n className=\"hidden\"\r\n accept=\"image/png, image/jpeg , image/gif , image/svg+xml , .eps , .ai , .pdf\"\r\n />\r\n </label>\r\n </div>{' '}\r\n </>\r\n );\r\n};\r\n\r\nexport default FileUploadButton;\r\n","export const defaultColorNames = [\r\n { color: '#040404', name: 'Black' },\r\n { color: '#0B162E', name: 'Navy' },\r\n { color: '#511318', name: 'Maroon' },\r\n { color: '#12242C', name: 'Graphite' },\r\n { color: '#362519', name: 'Mud' },\r\n { color: '#332322', name: 'Dark Walnut' },\r\n { color: '#581C28', name: 'Burgundy' },\r\n { color: '#482925', name: 'Walnut' },\r\n { color: '#5E1B56', name: 'Grape' },\r\n { color: '#48236E', name: 'Purple' },\r\n { color: '#004125', name: 'Dark Pine' },\r\n { color: '#532D23', name: 'Brown' },\r\n { color: '#163959', name: 'Denim' },\r\n { color: '#063E44', name: 'Forest Teal' },\r\n { color: '#7D1523', name: 'Cardinal' },\r\n { color: '#39392A', name: 'Sage' },\r\n { color: '#005028', name: 'Dark Green' },\r\n { color: '#3D471F', name: 'Olive' },\r\n { color: '#454126', name: 'Army Olive' },\r\n { color: '#8E2056', name: 'Violet' },\r\n { color: '#0B5935', name: 'Kelly' },\r\n { color: '#3B4548', name: 'Asphalt' },\r\n { color: '#67451F', name: 'Buck Mesh' },\r\n { color: '#364D44', name: 'Spruce' },\r\n { color: '#5F452F', name: 'Bark' },\r\n { color: '#94321D', name: 'Texas Orange' },\r\n { color: '#59501C', name: 'Army Gold' },\r\n { color: '#00643B', name: 'Irish Green' },\r\n { color: '#824323', name: 'Buck' },\r\n { color: '#624B36', name: 'Medium Brown' },\r\n { color: '#B82026', name: 'Red' },\r\n { color: '#8C4522', name: 'Copper' },\r\n { color: '#4856A6', name: 'Lilac' },\r\n { color: '#0D5EA0', name: 'Royal' },\r\n { color: '#005F9C', name: 'Air Force Blue' },\r\n { color: '#3F7336', name: 'Lime Green' },\r\n { color: '#DD2825', name: 'Red-Orange' },\r\n { color: '#DE1761', name: 'Fuchsia' },\r\n { color: '#007189', name: 'Surf Blue' },\r\n { color: '#5F6162', name: 'Charcoal' },\r\n { color: '#057F88', name: 'Blue Teal' },\r\n { color: '#747C32', name: 'Moss' },\r\n { color: '#E45224', name: 'Orange' },\r\n { color: '#F04D30', name: 'Blaze Orange' },\r\n { color: '#0080C1', name: 'Bright Blue' },\r\n { color: '#C16A27', name: 'Toast' },\r\n { color: '#E64677', name: 'Neon Pink' },\r\n { color: '#766A5B', name: 'Driftwood' },\r\n { color: '#667360', name: 'Mute Green' },\r\n { color: '#AB6B6C', name: 'Dark Rose' },\r\n { color: '#2481B3', name: 'Baltic Blue' },\r\n { color: '#00A34A', name: 'Emerald' },\r\n { color: '#E86432', name: 'Salmon' },\r\n { color: '#F26920', name: 'Neon Orange' },\r\n { color: '#857262', name: 'Desert Brown' },\r\n { color: '#93715B', name: 'Light Brown' },\r\n { color: '#A276B3', name: 'Lavender' },\r\n { color: '#00A84E', name: 'Emerald Maderia' },\r\n { color: '#F3751F', name: 'Gold Orange' },\r\n { color: '#05A17E', name: 'Mint' },\r\n { color: '#1B91D0', name: 'Sky Blue' },\r\n { color: '#53878B', name: 'Bahama Blue' },\r\n { color: '#00A192', name: 'Green Teal' },\r\n { color: '#6C7A89', name: 'Steel Grey' },\r\n { color: '#0A96BD', name: 'Cyan' },\r\n { color: '#CE8A2D', name: 'Mustard' },\r\n { color: '#F5831E', name: 'Tenn. Orange' },\r\n { color: '#81A046', name: 'D Sport Green' },\r\n { color: '#ED9717', name: 'Dark Gold' },\r\n { color: '#867E72', name: 'Putty' },\r\n { color: '#F27D66', name: 'Southern Peach' },\r\n { color: '#F37F95', name: 'Optic Pink' },\r\n { color: '#BEA82F', name: 'Green Gold' },\r\n { color: '#F283B4', name: 'Pink' },\r\n { color: '#89906D', name: 'Light Olive' },\r\n { color: '#85C44B', name: 'Neon Green' },\r\n { color: '#72C164', name: 'Key Lime' },\r\n { color: '#F4B716', name: 'Dark Cal Gold' },\r\n { color: '#B790C2', name: 'Pale Lilac' },\r\n { color: '#C6FF19', name: 'Optic Green' },\r\n { color: '#FCC614', name: 'Yellow' },\r\n { color: '#16B1D1', name: 'Aqua' },\r\n { color: '#CB9E59', name: 'Old Gold' },\r\n { color: '#FDED00', name: 'Lemon' },\r\n { color: '#FFC937', name: 'Gold' },\r\n { color: '#F8ED4D', name: 'Neon Yellow' },\r\n { color: '#F5A2C6', name: 'Cotton Candy' },\r\n { color: '#EEBD5B', name: 'Metallic Gold' },\r\n { color: '#FCAE77', name: 'Light Peach' },\r\n { color: '#C09B7B', name: 'Taupe' },\r\n { color: '#FBB66E', name: 'Honey' },\r\n { color: '#F6D75E', name: 'Lt. Cal Gold' },\r\n { color: '#DEB66A', name: 'Brass' },\r\n { color: '#CE9F9F', name: 'Light Rose' },\r\n { color: '#6AC4CC', name: 'Southern Mint' },\r\n { color: '#F4AC96', name: 'Peach' },\r\n { color: '#84B5B2', name: 'Smoke Blue' },\r\n { color: '#9BA997', name: 'Spring Green' },\r\n { color: '#BFA881', name: 'Beige' },\r\n { color: '#7BBEE8', name: 'Columbia Blue' },\r\n { color: '#EFC78D', name: 'Tan' },\r\n { color: '#8BD6D4', name: 'Aruba Blue' },\r\n { color: '#BDA998', name: 'Camo Stone' },\r\n { color: '#AECBAC', name: 'Willow' },\r\n { color: '#AADAC9', name: 'Light Mint' },\r\n { color: '#CDE4B4', name: 'Patina Green' },\r\n { color: '#F5DDA2', name: 'Vegas Gold' },\r\n { color: '#FFF9B7', name: 'Mellow Yellow' },\r\n { color: '#C2C2B8', name: 'Dark Stone' },\r\n { color: '#BDBDC0', name: 'Silver' },\r\n { color: '#E9D7B7', name: 'Khaki' },\r\n { color: '#C6C8C8', name: 'Heather Grey' },\r\n { color: '#D6D1C3', name: 'Stone' },\r\n { color: '#CFCDCD', name: 'Metallic Silver' },\r\n { color: '#E9E7D9', name: 'Eggshell' },\r\n { color: '#D7DEE2', name: 'Light Silver' },\r\n { color: '#EAE3DC', name: 'Metallic Champagne' },\r\n { color: '#FAF7ED', name: 'Cream' },\r\n { color: '#FFFFFF', name: 'White' },\r\n { color: 'transparent', name: 'Transparent' },\r\n];","import React, { useState } from 'react';\r\nimport { TEXT_SIZE_9 } from '../../theme';\r\nimport './colorPalette.css';\r\nimport { defaultColorNames } from '../../assets/colors/colors';\r\nimport { ToolTip } from '../toolTip';\r\n\r\nexport interface ColorPaletteProps {\r\n previousColor?: string[];\r\n previousClass?: string;\r\n mainIndex?: any;\r\n handleColorChange?: any;\r\n mainClass?: string;\r\n index?: any;\r\n boxWidth?: number;\r\n gap?: number;\r\n style?: any;\r\n}\r\n\r\nexport const ColorPalette = ({\r\n previousColor,\r\n previousClass = '',\r\n mainIndex = '',\r\n handleColorChange,\r\n style = {},\r\n}: // mainClass = '',\r\nColorPaletteProps) => {\r\n const [selectColor, setSelectColor] = useState(null);\r\n const colorList = defaultColorNames;\r\n const handleColorClick = (color, index) => {\r\n setSelectColor(color);\r\n handleColorChange(color, index);\r\n };\r\n\r\n return (\r\n <>\r\n <div\r\n id=\"colorPalette\"\r\n className={`colorPalette right-[10.6rem] z-10 max-h-[16.4375rem] border border-[#FCE8EB] before:bg-[#ffffff] shadow-[0px_3px_6px_rgba(0,0,0,0.16)] py-[1.8125rem] px-[1.4063rem] bg-[#fff] mt-[1.875rem] mr-[1rem] absolute h-[300px]`}\r\n style={style}\r\n >\r\n {colorList?.length > 0 && (\r\n <>\r\n <p\r\n className={`${TEXT_SIZE_9} leading-[1.125rem] font-bold pb-[1.125rem] text-left`}\r\n >\r\n Choose color\r\n </p>\r\n <div\r\n className={`flex flex-wrap gap-x-[0.8125rem] gap-y-[0.3125rem] pb-[2.0938rem] max-h-[10.9rem] overflow-y-auto`}\r\n >\r\n {colorList?.map((color, index) => (\r\n <div\r\n className=\"aspect-square border border-solid border-[#D6D6D6] cursor-pointer relative btn !p-0 !w-[1.875rem] !h-[1.875rem] min-h-[unset] rounded-none\"\r\n key={index + color.name}\r\n >\r\n <ToolTip label={color.name}>\r\n <ColorBox\r\n color={color.color}\r\n index={index}\r\n onClick={() => handleColorClick(color.color, mainIndex)}\r\n boxClass={`w-[1.875rem] h-[1.875rem] ${\r\n selectColor === color.color ? 'border border-[red]' : ''\r\n }`}\r\n />\r\n </ToolTip>\r\n </div>\r\n ))}\r\n </div>\r\n </>\r\n )}\r\n {previousColor?.length > 0 && (\r\n <>\r\n <div\r\n className={`flex flex-row gap-x-[0.875rem] pt-[1.3438rem] border-t border-t-[#EBEBEB]`}\r\n >\r\n <p\r\n className={`${TEXT_SIZE_9} leading-[1.125rem] font-bold pb-[1.125rem]`}\r\n >\r\n Previously used\r\n </p>\r\n <div\r\n className={`flex flex-wrap gap-x-[0.8125rem] gap-y-[0.3125rem] border-b border-b-[#EBEBEB] ${previousClass}`}\r\n >\r\n {previousColor?.map((color, index) => (\r\n <ColorBox\r\n color={color}\r\n index={'previous' + index}\r\n onClick={() =>\r\n handleColorClick(color, mainIndex + 'Choose' + index)\r\n }\r\n boxClass={`w-[1.875rem] h-[1.875rem] ${\r\n selectColor === color ? 'border border-[red]' : ''\r\n }`}\r\n />\r\n ))}\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nexport interface BoxColorProps {\r\n color?: string;\r\n index?: any;\r\n boxClass?: string;\r\n onClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\r\n onChange?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\r\n children?: React.ReactNode;\r\n}\r\n\r\nexport const ColorBox = ({\r\n color,\r\n index,\r\n boxClass = '',\r\n onClick,\r\n onChange,\r\n children,\r\n}: BoxColorProps) => {\r\n return (\r\n <div\r\n key={index}\r\n style={{ backgroundColor: color }}\r\n className={`w-10 h-10 border border-[#D6D6D6] ${boxClass}`}\r\n onClick={onClick}\r\n onChange={onChange}\r\n >\r\n {children}\r\n {color === 'transparent' && (\r\n <div\r\n style={{\r\n width: '2px',\r\n height: '39px',\r\n background: '#FF0000',\r\n transform: 'rotate(-45deg)',\r\n marginLeft: '13px',\r\n marginTop: '-6px',\r\n }}\r\n >\r\n &nbsp;\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { defaultColorNames } from '../../assets/colors/colors';\r\nimport { ToolTip } from '../toolTip';\r\n\r\nexport const ColorImpl = (props) => {\r\n const getLable = (colorCode) => {\r\n const color = defaultColorNames.find((c) => colorCode === c.color);\r\n if (color && color.name) {\r\n return color.name;\r\n } else {\r\n return colorCode;\r\n }\r\n };\r\n\r\n return (\r\n <ToolTip label={getLable(props.color)}>\r\n <div className={props.mClass}>\r\n <div\r\n className={`border border-gray-600 w-[30px] h-[30px] group`}\r\n style={{\r\n background: props.color === 'transparent' ? '#FFFFFF' : props.color,\r\n }}\r\n onClick={(event: any) => {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n\r\n props.setDisplayPallet({\r\n visible: true,\r\n property: props.property,\r\n color: '',\r\n callback: props.callback,\r\n });\r\n props.setPosition({\r\n x: event.clientX,\r\n y:\r\n window.innerHeight < event.clientY + 280\r\n ? event.clientY - 300\r\n : event.clientY,\r\n });\r\n }}\r\n >\r\n {props.color === 'transparent' && (\r\n <div\r\n style={{\r\n width: '2px',\r\n height: '39px',\r\n background: '#FF0000',\r\n transform: 'rotate(-45deg)',\r\n marginLeft: '13px',\r\n marginTop: '-6px',\r\n }}\r\n >\r\n &nbsp;\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </ToolTip>\r\n );\r\n};\r\n","import { fabric } from 'fabric';\r\nimport { use3dddPlus } from '..';\r\n\r\nexport const Initpopup = () => {\r\n const onObjectSelected = () => {\r\n if (!popupcanvas.getActiveObject()) {\r\n return;\r\n }\r\n if (popupcanvas.getActiveObject().type !== 'group') {\r\n return;\r\n }\r\n //@ts-ignore\r\n popupcanvas.getActiveObject().toActiveSelection().viewportCenter();\r\n popupcanvas.requestRenderAll();\r\n };\r\n const getAllColorsPopupCanvas = () => {\r\n const popUpCanvasAllColor = [\r\n ...new Set(\r\n popupcanvas\r\n ?.getObjects()\r\n ?.map((item) => item['colorFill'] && Object.values(item['colorFill']))\r\n .flat()\r\n .filter(Boolean)\r\n ),\r\n ]; // FOR REMOVING ALL DUPLICATE COLOR\r\n use3dddPlus.setState({ popUpCanvasAllColor: popUpCanvasAllColor });\r\n };\r\n // const cursorUrl =\r\n // 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/eyedropper.svg';\r\n \r\n const outerCanvasContainer = document.getElementById('imageCanvas');\r\n\r\n const popupcanvas = new fabric.Canvas('popupCanvas', {\r\n centeredScaling: true,\r\n preserveObjectStacking: true,\r\n //backgroundColor: '#F7F7F7',\r\n // defaultCursor: `url(\" ${cursorUrl} \"), auto`,\r\n // hoverCursor: `url(\" ${cursorUrl} \"), auto`,\r\n defaultCursor: 'pointer',\r\n hoverCursor: 'pointer',\r\n // width: 500,\r\n // height: 300,\r\n width: outerCanvasContainer.clientWidth,\r\n height: outerCanvasContainer.clientHeight\r\n }); \r\n popupcanvas.on('after:render',getAllColorsPopupCanvas);\r\n popupcanvas.on('selection:created', onObjectSelected);\r\n return popupcanvas;\r\n};\r\n","import React, { useEffect, useState, useRef, useMemo } from 'react';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { fabric } from 'fabric';\r\nimport { ColorImpl, ColorPalette } from '../colorPallet';\r\nimport { Initpopup } from '../../store/fabric/Popupcanvas';\r\nimport { CgArrowRight } from 'react-icons/cg';\r\nimport { EyeDropper, IconButton } from '../icon';\r\nimport { GiDrop } from 'react-icons/gi';\r\nimport { MdOutlineCancel } from 'react-icons/md';\r\nimport { ToolTip } from '../toolTip';\r\nimport { defaultColorNames } from '../../assets/colors/colors';\r\n// import { Button } from 'reakit';\r\nexport const PopUpCanvas = () => {\r\n const [\r\n popupCanvas,\r\n canvas,\r\n colorFill,\r\n changeSVGColor,\r\n popUpCanvasUndo,\r\n refreshColor,\r\n defaultColorFill,\r\n setDefaultColorFill,\r\n defaultColorFillCopy,\r\n setDefaultColorFillCopy,\r\n setHasUploadScreen,\r\n // popUpCanvasRedo,\r\n ] = use3dddPlus(\r\n (state) => [\r\n state.popupCanv,\r\n state.fabricCanvas,\r\n state.colorFill,\r\n state.changeSVGColor,\r\n state.popUpCanvasUndo,\r\n state.refreshColor,\r\n state.defaultColorFill,\r\n state.setDefaultColorFill,\r\n state.defaultColorFillCopy,\r\n state.setDefaultColorFillCopy,\r\n state.setHasUploadScreen,\r\n //state.popUpCanvasRedo,\r\n ],\r\n shallow\r\n );\r\n const [colorCount, setColorCount] = useState(8);\r\n const [colorFillCount, setColorFillCount] = useState(-1);\r\n // const [defaultColorFill, setDefaultColorFill] = useState([]);\r\n const [isRefresh, setIsRefresh] = useState(false);\r\n const [isNextClicked, setIsNextClicked] = useState(false);\r\n const defaultColorFillRef = useRef([]);\r\n\r\n const [displayPallet, setDisplayPallet] = useState({\r\n visible: false,\r\n property: '',\r\n color: '',\r\n callback: null,\r\n });\r\n const [position, setPosition] = useState(null);\r\n\r\n useEffect(() => {\r\n if (!displayPallet || !displayPallet.visible) {\r\n setDefaultColorFill(\r\n defaultColorFill.map((cf: any) => ({ ...cf, hasPallet: false }))\r\n );\r\n }\r\n }, [displayPallet]);\r\n\r\n useEffect(() => {\r\n defaultColorFillRef.current = defaultColorFill;\r\n }, [defaultColorFill]);\r\n\r\n useEffect(() => {\r\n if (colorFill && Object.keys(colorFill).length) {\r\n if (colorFillCount === -1) {\r\n setColorFillCount(Object.keys(colorFill).length);\r\n const defaultCF = [];\r\n Object.keys(colorFill).map((cf: any) => {\r\n defaultCF.push({\r\n property: cf,\r\n default: colorFill[cf],\r\n updated: colorFill[cf],\r\n objects: defaultColorFill.find((dcf) => dcf.property === cf)\r\n ?.objects,\r\n });\r\n });\r\n setDefaultColorFill(defaultCF);\r\n }\r\n\r\n if (isRefresh) {\r\n setIsRefresh(false);\r\n setTimeout(() => {\r\n Object.keys(colorFill).map((cf: any) => {\r\n const dcf = defaultColorFill.find(\r\n (dcf: any) => dcf.property === cf\r\n );\r\n if (dcf && dcf.default !== dcf.updated) {\r\n changeSVGColor(dcf.property, dcf.updated);\r\n }\r\n });\r\n }, 100);\r\n }\r\n }\r\n // setColorFillCount(-1);\r\n }, [colorFill]);\r\n\r\n useEffect(() => {\r\n if (colorFillCount && colorFillCount > 0) {\r\n setColorCount(colorFillCount);\r\n } else {\r\n setColorCount(8);\r\n }\r\n }, [colorFillCount]);\r\n\r\n const onColorUpdate = (property: any, color: any) => {\r\n // const foundIndex = defaultColorFill.findIndex(\r\n // (cf: any) => cf.property === property\r\n // );\r\n // if (foundIndex >= 0) {\r\n // defaultColorFill[foundIndex].updated = color;\r\n // }\r\n\r\n if (changeSVGColor(property, color)) {\r\n setDefaultColorFill(\r\n defaultColorFill.map(\r\n (c: any) => (c.property === property ? { ...c, updated: color } : c)\r\n // colorFill[property] === c.updated ? { ...c, updated: color } : c\r\n )\r\n );\r\n setDefaultColorFillCopy(\r\n defaultColorFillCopy.map(\r\n (c: any) => (c.property === property ? { ...c, updated: color } : c)\r\n // colorFill[property] === c.updated ? { ...c, updated: color } : c\r\n )\r\n );\r\n }\r\n };\r\n\r\n const handleColorCountChange = (e) => {\r\n setColorCount(Number(e.target.value));\r\n // use3dddPlus.setState({ colorCount: Number(e.target.value) });\r\n refreshColor(Number(e.target.value));\r\n setIsRefresh(true);\r\n };\r\n const resizeCanvas = () => {\r\n if (document.getElementById('imageCanvas')) {\r\n const canvas = use3dddPlus.getState().popupCanv;\r\n const outerCanvasContainer = document.getElementById('imageCanvas');\r\n console.log(outerCanvasContainer);\r\n const containerWidth = outerCanvasContainer.clientWidth;\r\n const scale = containerWidth / canvas.getWidth();\r\n const zoom = canvas.getZoom() * scale;\r\n canvas.setWidth(containerWidth);\r\n //@ts-ignore\r\n canvas.setHeight(parseInt(outerCanvasContainer.clientHeight));\r\n canvas.setViewportTransform([zoom, 0, 0, zoom, 0, 0]);\r\n canvas.renderAll();\r\n }\r\n };\r\n\r\n const removeColorPalatte = () => {\r\n setDisplayPallet({\r\n visible: false,\r\n property: '',\r\n color: '',\r\n callback: null,\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n fabric.Object.prototype.hasControls = false;\r\n fabric.Object.prototype.hasBorders = false;\r\n setDefaultColorFill([]);\r\n setColorFillCount(-1);\r\n setHasUploadScreen(true);\r\n const popupCanv = Initpopup();\r\n use3dddPlus.setState({ popupCanv: popupCanv });\r\n resizeCanvas();\r\n window.addEventListener('resize', resizeCanvas);\r\n window.addEventListener('click', removeColorPalatte);\r\n //FOR REMOVING COLOR\r\n\r\n popupCanv.on('mouse:down', function (event) {\r\n // popupCanv.discardActiveObject();\r\n var mouseClick = popupCanv.getPointer(event.e);\r\n // console.log('MOUSE-CLICK-->',mouseClick);\r\n // Iterate through objects on the canvas and check if any intersect with the mouse click\r\n\r\n let removedColors = [];\r\n use3dddPlus.getState().popUpCanvasUpdateModification(true);\r\n let color;\r\n popupCanv.forEachObject(function (obj) {\r\n if (obj.type === 'path') {\r\n //@ts-ignore\r\n if (obj.containsPoint(mouseClick) && !color) {\r\n removedColors.push(obj.fill);\r\n popupCanv.remove(obj);\r\n popupCanv.renderAll();\r\n color = obj.fill;\r\n }\r\n }\r\n });\r\n\r\n let defaultColorsCopy = defaultColorFillRef.current;\r\n removedColors.map((rc: any) => {\r\n if (\r\n popupCanv.getObjects().filter((obj: any) => obj.fill === rc).length <\r\n 1\r\n ) {\r\n defaultColorsCopy = defaultColorsCopy.filter(\r\n (dc: any) => dc.updated !== RGBToHex(rc)\r\n );\r\n }\r\n });\r\n setDefaultColorFill(defaultColorsCopy);\r\n\r\n /*\r\n let availableColors = [];\r\n defaultColorFillRef.current.map((dcf: any) => {\r\n let objColorCount = 0;\r\n popupCanv.forEachObject(function (obj) {\r\n if (RGBToHex(obj.fill) === dcf.updated) {\r\n objColorCount += 1;\r\n }\r\n });\r\n if (objColorCount > 0) {\r\n availableColors.push(dcf);\r\n }\r\n });\r\n setDefaultColorFill(availableColors);\r\n */\r\n });\r\n return () => {\r\n setHasUploadScreen(false);\r\n window.removeEventListener('click', removeColorPalatte);\r\n };\r\n }, []);\r\n\r\n const popupCanvasCancel = () => {\r\n fabric.Object.prototype.hasControls = true;\r\n fabric.Object.prototype.hasBorders = true;\r\n setDefaultColorFill([]);\r\n use3dddPlus.setState({ uploadImageModalDisplay: false });\r\n popupCanvas.remove(...popupCanvas.getObjects());\r\n use3dddPlus.setState({ colorFill: {} });\r\n use3dddPlus.setState({ popupCanvasStoreHistory: [] });\r\n use3dddPlus.setState({ popUpCanvasCount: 1 });\r\n };\r\n\r\n const popupCanvasContinue = () => {\r\n if (!conflictColors || conflictColors.length < 1) {\r\n setIsNextClicked(false);\r\n onContinue();\r\n } else {\r\n setIsNextClicked(true);\r\n }\r\n };\r\n\r\n const onContinue = () => {\r\n fabric.Object.prototype.hasControls = true;\r\n fabric.Object.prototype.hasBorders = true;\r\n //@ts-ignore\r\n use3dddPlus.setState({ uploadImageModalDisplay: false });\r\n use3dddPlus.setState({ selectedStepper: undefined });\r\n popupCanvas.getObjects().forEach((obj) => {\r\n if (obj.type === 'line') {\r\n popupCanvas.remove(obj);\r\n }\r\n });\r\n const sel = new fabric.ActiveSelection(popupCanvas.getObjects(), {\r\n //@ts-ignore\r\n popupCanvas: popupCanvas,\r\n });\r\n popupCanvas.setActiveObject(sel);\r\n // {\r\n // _objects: sel._objects.filter((obj) => obj.type !== 'line'),\r\n // }\r\n // popupCanvas.remove(...popupCanvas.getObjects());\r\n\r\n popupCanvas.requestRenderAll();\r\n let clipboard;\r\n popupCanvas.getActiveObject().clone(function (cloned) {\r\n clipboard = cloned;\r\n // });\r\n\r\n // if (clipboard.type === 'activeSelection') {\r\n // clipboard.canvas = canvas;\r\n // const objs = [];\r\n // clipboard.forEachObject(function (obj) {\r\n // objs.push(obj);\r\n // });\r\n // const alltogetherObj = new fabric.Group(objs, {});\r\n // canvas.centerObject(alltogetherObj);\r\n // canvas.add(alltogetherObj);\r\n // canvas.setActiveObject(alltogetherObj);\r\n // alltogetherObj.setCoords();\r\n // use3dddPlus.getState().forStoringAllObject(alltogetherObj); //for pushing the data into array for layers\r\n // } else {\r\n // canvas.add(clipboard);\r\n // }\r\n // canvas.requestRenderAll();\r\n // popupCanvas.clear();\r\n if (clipboard && clipboard.type === 'activeSelection') {\r\n clipboard.canvas = canvas;\r\n const objs = [];\r\n clipboard.forEachObject(function (obj) {\r\n objs.push(obj);\r\n });\r\n\r\n const alltogetherObj = new fabric.Group(objs, {});\r\n canvas.centerObject(alltogetherObj);\r\n canvas.add(alltogetherObj);\r\n canvas.setActiveObject(alltogetherObj);\r\n alltogetherObj.set({\r\n //@ts-ignore\r\n colorFill: use3dddPlus.getState().colorFill,\r\n });\r\n alltogetherObj.setCoords();\r\n use3dddPlus.getState().forStoringAllObject(alltogetherObj); //for pushing the data into array for layers\r\n use3dddPlus.getState().forIconCapture();\r\n //@ts-ignore\r\n alltogetherObj.icon = use3dddPlus.getState().iconImage;\r\n } else {\r\n canvas.add(clipboard);\r\n }\r\n canvas.requestRenderAll();\r\n popupCanvas.clear();\r\n use3dddPlus.setState({ popupCanvasStoreHistory: [] });\r\n use3dddPlus.getState().updateModifaction(true);\r\n });\r\n };\r\n\r\n const RGBToHex = (rgb) => {\r\n if (rgb) {\r\n if (rgb.indexOf('rgba') >= 0) {\r\n const rgba = rgb.replace(/^rgba?\\(|\\s+|\\)$/g, '').split(',');\r\n return `#${(\r\n (1 << 24) +\r\n (parseInt(rgba[0]) << 16) +\r\n (parseInt(rgba[1]) << 8) +\r\n parseInt(rgba[2])\r\n )\r\n .toString(16)\r\n .slice(1)}`;\r\n } else {\r\n let sep = rgb.indexOf(',') > -1 ? ',' : ' ';\r\n rgb = rgb.substr(4).split(')')[0].split(sep);\r\n let r = (+rgb[0]).toString(16),\r\n g = (+rgb[1]).toString(16),\r\n b = (+rgb[2]).toString(16);\r\n\r\n if (r.length == 1) r = '0' + r;\r\n if (g.length == 1) g = '0' + g;\r\n if (b.length == 1) b = '0' + b;\r\n return '#' + r + g + b;\r\n }\r\n } else {\r\n return '';\r\n }\r\n };\r\n\r\n /*\r\n const resetHandler = () => {\r\n console.log(use3dddPlus.getState().forPopupCanvasReset);\r\n popupCanvas.clear();\r\n popupCanvas.loadFromJSON(\r\n use3dddPlus.getState().forPopupCanvasReset,\r\n function () {\r\n use3dddPlus.setState({\r\n colorFill: { ...use3dddPlus.getState().forPopupCanvasColor },\r\n });\r\n popupCanvas.renderAll();\r\n }\r\n );\r\n };*/\r\n\r\n const resetHandler = () => {\r\n use3dddPlus.getState().popUpCanvasUpdateModification(true);\r\n const colors = use3dddPlus.getState().popupCanvasStoreHistory[0].colorFill;\r\n use3dddPlus\r\n .getState()\r\n .popupCanv.loadFromJSON(\r\n use3dddPlus.getState().popupCanvasStoreHistory[0].json\r\n );\r\n\r\n popupCanvas.getObjects().forEach((obj:any) => {\r\n if (obj.type === 'line') {\r\n popupCanvas.remove(obj);\r\n }\r\n });\r\n\r\n const canvas = use3dddPlus.getState().popupCanv;\r\n var gridSize = 83; // Size of each grid cell\r\n var canvasWidth = canvas.width;\r\n var canvasHeight = canvas.height;\r\n var numCols = Math.ceil(canvasWidth / gridSize);\r\n var numRows = Math.ceil(canvasHeight / gridSize);\r\n\r\n // Function to create a rectangle with checkerboard pattern\r\n function createCheckerboardRect(left, top, width, height, isEvenRow) {\r\n var rect = new fabric.Rect({\r\n left: left,\r\n top: top,\r\n width: width,\r\n height: height,\r\n type: 'line',\r\n lockMovementX: true,\r\n lockMovementY: true,\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n // backgroundColor:'#ccc',\r\n fill:\r\n (isEvenRow && (left / gridSize) % 2 === 0) ||\r\n (!isEvenRow && (left / gridSize) % 2 !== 0)\r\n ? '#ffffff'\r\n : '#dadadac7',\r\n });\r\n return rect;\r\n }\r\n\r\n // Create grid lines\r\n for (var i = 0; i < numCols; i++) {\r\n var x = i * gridSize;\r\n const line = new fabric.Line([x, 0, x, canvasHeight], {\r\n stroke: '#dadadac7',\r\n selectable: false,\r\n type: 'line',\r\n lockMovementX: true,\r\n lockMovementY: true,\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n });\r\n canvas.add(line);\r\n canvas.sendToBack(line);\r\n }\r\n\r\n for (var j = 0; j < numRows; j++) {\r\n var y = j * gridSize;\r\n const line = new fabric.Line([0, y, canvasWidth, y], {\r\n stroke: '#FFFFFF',\r\n selectable: false,\r\n type: 'line',\r\n lockMovementX: true,\r\n lockMovementY: true,\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n });\r\n canvas.add(line);\r\n canvas.sendToBack(line);\r\n }\r\n\r\n // Fill grid with checkerboard pattern\r\n for (var i = 0; i < numCols; i++) {\r\n for (var j = 0; j < numRows; j++) {\r\n var left = i * gridSize;\r\n var top = j * gridSize;\r\n var isEvenRow = j % 2 === 0;\r\n var rect = createCheckerboardRect(\r\n left,\r\n top,\r\n gridSize,\r\n gridSize,\r\n isEvenRow\r\n );\r\n canvas.add(rect);\r\n canvas.sendToBack(rect);\r\n }\r\n }\r\n\r\n use3dddPlus.setState({ colorFill: colors });\r\n setDefaultColorFill(\r\n defaultColorFill.map((dcf: any) => ({ ...dcf, updated: dcf.default }))\r\n );\r\n\r\n\r\n };\r\n\r\n const onSelectColor = (item: any, event: any) => {\r\n setDefaultColorFill(\r\n defaultColorFill.map((cf: any) =>\r\n cf.property === item.property\r\n ? {\r\n ...cf,\r\n hasPallet: true,\r\n position: { x: event.clientX, y: event.clientY },\r\n }\r\n : { ...cf, hasPallet: false }\r\n )\r\n );\r\n setDisplayPallet({\r\n visible: true,\r\n property: item.property,\r\n color: item.updated,\r\n callback: onColorUpdate,\r\n });\r\n setPosition({\r\n x: event.clientX,\r\n y:\r\n window.innerHeight < event.clientY + 280\r\n ? event.clientY - 300\r\n : event.clientY,\r\n });\r\n };\r\n\r\n // const onClosePalette = () => {\r\n // setDefaultColorFill(\r\n // defaultColorFill.map((c: any) => ({ ...c, hasPallet: false }))\r\n // );\r\n // };\r\n\r\n const onPopUpCanvasUndo = () => {\r\n const colors = popUpCanvasUndo();\r\n if (colors !== null) {\r\n let currentColors = defaultColorFill.map((c: any) =>\r\n colors[c.property] && colors[c.property].length > 0\r\n ? { ...c, updated: colors[c.property] }\r\n : c\r\n );\r\n\r\n // Object.keys(colors).forEach((c: any) => {\r\n // if (\r\n // defaultColorFill.filter((dc: any) => dc.updated === colors[c])\r\n // .length < 1\r\n // ) {\r\n // currentColors.push({\r\n // property: c,\r\n // default: colors[c],\r\n // updated: colors[c],\r\n // });\r\n // }\r\n // });\r\n\r\n Object.keys(colors).forEach((c: any) => {\r\n if (\r\n defaultColorFill.filter((dc: any) => dc.updated === colors[c])\r\n .length < 1\r\n ) {\r\n const colorFromDefaultCopy = defaultColorFillCopy.find(\r\n (dcc) => dcc.updated === colors[c]\r\n );\r\n if (colorFromDefaultCopy && colorFromDefaultCopy.updated) {\r\n currentColors.push(colorFromDefaultCopy);\r\n }\r\n }\r\n });\r\n setDefaultColorFill(currentColors);\r\n }\r\n };\r\n\r\n const conflictColors = useMemo(() => {\r\n return defaultColorFill.filter(\r\n (c: any) =>\r\n defaultColorNames.findIndex(\r\n (dc) => dc.color.toLowerCase() === c.updated.toLowerCase()\r\n ) < 0\r\n );\r\n }, [defaultColorFill]);\r\n\r\n return (\r\n <>\r\n {/* <div\r\n className=\"relative z-10\"\r\n aria-labelledby=\"modal-title\"\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n style={uploadImageModalDisplay ? {} : { display: 'none' }}\r\n > */}\r\n <div className=\"flex z-5 overflow-y-auto h-full\">\r\n <div className=\"flex flex-1 w-full h-full\">\r\n <div className=\"relative w-full overflow-hidden bg-white h-full\">\r\n <div className=\"bg-white h-full\">\r\n <div className=\"flex flex-row h-full\">\r\n <div className=\"flex flex-row text-center w-[70%] h-full\">\r\n <div className=\" w-full h-full relative\">\r\n <div\r\n className=\"btnCont flex flex-wrap h-[40px] bg-[#F7F7F7]\"\r\n style={{\r\n padding: '10px',\r\n justifyContent: 'flex-end',\r\n width: '100%',\r\n }}\r\n >\r\n <div\r\n className=\"undoBtn cursor-pointer mr-4\"\r\n onClick={onPopUpCanvasUndo}\r\n >\r\n <div className=\"undoIcon float-left\">\r\n <svg\r\n fill=\"#727272\"\r\n width=\"16px\"\r\n height=\"16px\"\r\n viewBox=\"0 0 16 16\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n className=\"cls-1\"\r\n d=\"M6,3.6V0L0,6l6,6V8c6-.27,7.53,3.76,7.88,5.77a.27.27,0,0,0,.53,0C17.08,2.86,6,3.6,6,3.6Z\"\r\n />\r\n </svg>\r\n </div>\r\n <span className=\"iconLabel float-left text-[#727272] ml-2 text-[13px] font-bold \">\r\n Undo\r\n </span>\r\n </div>\r\n <div\r\n className=\"resetBtn cursor-pointer\"\r\n onClick = {(e)=>{e.preventDefault()\r\n e.stopPropagation()\r\n resetHandler()}}\r\n >\r\n <div className=\"resetBtn float-left\">\r\n <svg\r\n fill=\"#727272\"\r\n width=\"16px\"\r\n height=\"16px\"\r\n viewBox=\"0 0 1920 1920\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M960 0v213.333c411.627 0 746.667 334.934 746.667 746.667S1371.627 1706.667 960 1706.667 213.333 1371.733 213.333 960c0-197.013 78.4-382.507 213.334-520.747v254.08H640V106.667H53.333V320h191.04C88.64 494.08 0 720.96 0 960c0 529.28 430.613 960 960 960s960-430.72 960-960S1489.387 0 960 0\"\r\n fillRule=\"evenodd\"\r\n />\r\n </svg>\r\n </div>\r\n <span className=\"iconLabel float-left text-[#727272] ml-2 text-[13px] font-bold \">\r\n Reset\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n id=\"imageCanvas\"\r\n style={{\r\n width: '100%',\r\n height: 'calc(100% - 75px)',\r\n overflow: 'hidden',\r\n }}\r\n >\r\n <canvas className=\"pointer\" id=\"popupCanvas\"></canvas>\r\n </div>\r\n\r\n <div\r\n className=\"flex flex-wrap justify-center w-[100%] pt-[5px] pb-[5px] bg-[#F7F7F7]\"\r\n style={{\r\n alignItems: 'center',\r\n width: '100%',\r\n height: '35px',\r\n }}\r\n >\r\n <span className=\"border border-[#E11A38] p-1 bg-white mr-2 text-[#E11A38] \">\r\n <EyeDropper />\r\n </span>\r\n\r\n <span className=\"text-[#E11A38] text-[13px] font-bold \">\r\n Use the eyedropper tool by clicking on a color you wish to remove from your image.\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"text-left flex-1 h-[100%] px-[25px] pt-[31px] pb-[5px] w-[30%]\">\r\n <div className=\"flex flex-col gap-y-3 h-full\">\r\n <h1 className=\"text-[22px] font-bold\">\r\n Match and Combine colors\r\n </h1>\r\n <p className=\"text-[15px]\">\r\n Select how many colors are in your image\r\n </p>\r\n <select\r\n value={colorCount}\r\n onChange={handleColorCountChange}\r\n className=\"border-[1px] border-[#D7D7D7] p-2\"\r\n >\r\n <option value={1} disabled={colorFillCount < 1}>\r\n 1 Colors\r\n </option>\r\n <option value={2} disabled={colorFillCount < 2}>\r\n 2 Colors\r\n </option>\r\n <option value={3} disabled={colorFillCount < 3}>\r\n 3 Colors\r\n </option>\r\n <option value={4} disabled={colorFillCount < 4}>\r\n 4 Colors\r\n </option>\r\n <option value={5} disabled={colorFillCount < 5}>\r\n 5 Colors\r\n </option>\r\n <option value={6} disabled={colorFillCount < 6}>\r\n 6 Colors\r\n </option>\r\n <option value={7} disabled={colorFillCount < 7}>\r\n 7 Colors\r\n </option>\r\n <option value={8} disabled={colorFillCount < 8}>\r\n 8 Colors\r\n </option>\r\n </select>\r\n {/* {Object.keys(colorFill)?.map((item) => {\r\n return (\r\n <>\r\n <ColorImpl\r\n handleChange={changeSVGColor}\r\n property={item}\r\n color={colorFill[item]}\r\n />\r\n </>\r\n );\r\n })} */}\r\n <div\r\n className={\r\n 'flex flex-col gap-y-3.5 items-center overflow-y-auto py-[5px] 2xl:h-[50vh] sm:h-[42vh] h-[42vh]'\r\n }\r\n >\r\n {defaultColorFill\r\n //@ts-ignore\r\n ?.filter((item, index) => index < colorCount)\r\n .map((item, index) => (\r\n <div\r\n className=\"flex flex-row items-center\"\r\n key={index}\r\n >\r\n <ToolTip label={item.default}>\r\n <div\r\n className=\"w-[30px] h-[30px] m-1 border-[1px] border-[#000000]\"\r\n style={{ background: item.default }}\r\n // title={item.default}\r\n ></div>\r\n </ToolTip>\r\n <div className=\"mx-[10px] text-[#c2c2c2]\">\r\n <CgArrowRight />\r\n </div>\r\n <div className=\"flex flex-row border-[1px] border-[#D6D6D6]\">\r\n <span\r\n className=\" border-r-[1px] border-[#D6D6D6] bg-[#fce8eb]\"\r\n style={{ cursor: 'pointer' }}\r\n >\r\n {item.default === item.updated ? (\r\n <IconButton\r\n label=\"Select Color\"\r\n icon={<GiDrop />}\r\n className={\r\n '!rounded-none pointer-events-auto cursor-pointer flex text-[#E11A38] w-[30px] h-[30px] p-[6px]'\r\n }\r\n size=\"1.125rem\"\r\n ></IconButton>\r\n ) : (\r\n <ColorImpl\r\n className=\"w-[30px] h-[30px] m-2\"\r\n handleChange={onColorUpdate}\r\n property={item.property}\r\n color={item.updated}\r\n // onClose={onClosePalette}\r\n setDisplayPallet={setDisplayPallet}\r\n setPosition={setPosition}\r\n callback={onColorUpdate}\r\n />\r\n )}\r\n </span>\r\n\r\n <span\r\n className=\"py-[5px] pl-[10px] pr-[6px] font-medium text-[13px] bg-[#F1F1F1] cursor-pointer\"\r\n onClick={(event) => {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n onSelectColor(item, event);\r\n }}\r\n >\r\n Select Color\r\n </span>\r\n </div>\r\n <span className=\"\">\r\n <IconButton\r\n label=\"Delete Color\"\r\n icon={<MdOutlineCancel />}\r\n onClick={() => {\r\n onColorUpdate(item.property, 'transparent');\r\n }}\r\n className={\r\n 'pointer-events-auto cursor-pointer m-autoflex w-[30px] h-[30px] p-[9px] text-[#c2c2c2]'\r\n }\r\n size=\"1rem\"\r\n ></IconButton>\r\n </span>\r\n </div>\r\n ))}\r\n </div>\r\n\r\n {isNextClicked &&\r\n conflictColors &&\r\n conflictColors.length > 0 ? (\r\n <div\r\n style={{\r\n position: 'absolute',\r\n backgroundColor: '#FFFFFF',\r\n bottom: 0,\r\n padding: '7px',\r\n }}\r\n >\r\n <IconButton\r\n label=\"Close\"\r\n icon={<MdOutlineCancel />}\r\n onClick={() => {\r\n setIsNextClicked(false);\r\n }}\r\n className={''}\r\n size=\"1.5rem\"\r\n style={{\r\n position: 'absolute',\r\n cursor: 'pointer',\r\n fontWeight: 'bold',\r\n right: 10,\r\n top: -7,\r\n color: '#FF0000',\r\n }}\r\n ></IconButton>\r\n\r\n <div\r\n className=\"text-[#E11A38]\"\r\n style={{ fontWeight: 'bold', marginBottom: '3px' }}\r\n >\r\n ERROR: CONFLICT IN COLOR USED\r\n </div>\r\n <div\r\n className=\"text-[#E11A38]\"\r\n style={{ marginBottom: '3px' }}\r\n >\r\n Note: The following colors used are not available in\r\n Richardson color palette. Please edit the colors used.\r\n </div>\r\n <div>\r\n {conflictColors.map((c: any, i: number) => {\r\n return (\r\n <div\r\n key={'color-' + i}\r\n style={{\r\n width: '100%',\r\n height: '30px',\r\n lineHeight: '30px',\r\n backgroundColor: c.updated,\r\n textAlign: 'center',\r\n marginBottom: '3px',\r\n }}\r\n >\r\n <span\r\n style={{\r\n color: '#ffffff',\r\n mixBlendMode: 'difference',\r\n }}\r\n >\r\n {c.updated}\r\n </span>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n <div\r\n className=\"text-[#E11A38]\"\r\n style={{\r\n marginTop: '10px',\r\n marginBottom: '5px',\r\n fontWeight: 'bold',\r\n }}\r\n >\r\n Do you want to proceed?\r\n </div>\r\n\r\n <div className=\" flex flex-col content mb-[10px]\">\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setIsNextClicked(false);\r\n onContinue();\r\n }}\r\n className=\"mt-3 inline-flex w-full justify-center bg-white px-[110px] py-2 text-sm font-medium text-[#E11A38] shadow-sm ring-1 ring-inset ring-[#E11A38] hover:bg-gray-50 sm:mt-0 sm:w-auto\"\r\n >\r\n Yes\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={() => {\r\n setIsNextClicked(false);\r\n }}\r\n className=\"inline-flex w-full justify-center bg-white px-[110px] py-2 text-sm font-medium text-[#E11A38] shadow-sm ring-1 ring-inset ring-[#E11A38] hover:bg-gray-50 sm:mt-0 sm:w-auto\"\r\n style={{\r\n marginTop: '10px',\r\n }}\r\n >\r\n No\r\n </button>\r\n </div>\r\n </div>\r\n ) : (\r\n <div className=\" flex flex-col content mb-[5px]\">\r\n <button\r\n type=\"button\"\r\n onClick={popupCanvasContinue}\r\n className=\"mt-3 inline-flex w-full justify-center bg-white px-[110px] py-2 text-sm font-medium text-[#E11A38] shadow-sm ring-1 ring-inset ring-[#E11A38] hover:bg-gray-50 sm:mt-0 sm:w-auto\"\r\n >\r\n Continue\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={popupCanvasCancel}\r\n className=\"mt-3 inline-flex w-full justify-center bg-white px-[110px] py-2 text-sm font-medium text-[#E11A38] shadow-sm ring-1 ring-inset ring-[#E11A38] hover:bg-gray-50 sm:mt-0 sm:w-auto\"\r\n style={{\r\n marginTop: '10px',\r\n }}\r\n >\r\n Cancel\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n {/* </div> */}\r\n {displayPallet && displayPallet.visible && (\r\n <ColorPalette\r\n mainClass={`left-0`}\r\n handleColorChange={(color) => {\r\n displayPallet.callback(displayPallet.property, color);\r\n setDisplayPallet({\r\n visible: false,\r\n property: '',\r\n color: '',\r\n callback: null,\r\n });\r\n }}\r\n style={\r\n position\r\n ? {\r\n position: 'fixed',\r\n left: position.x - 450,\r\n top: position.y - 5,\r\n width: '450px',\r\n }\r\n : { display: 'none' }\r\n }\r\n />\r\n )}\r\n </>\r\n );\r\n};\r\n","import React, { useState } from 'react';\r\n\r\nimport FileUploadButton from './fileuploadButton';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { PopUpCanvas } from '../canvas/popUpCanvas';\r\n\r\nexport const UploadLogo = () => {\r\n const [, setSelectedFile] = useState<File | null>(null);\r\n const [\r\n tiffConvert,\r\n imageToSVG,\r\n setFile,\r\n uploadImageModalDisplay,\r\n // pdfConverter,\r\n aiConvert,\r\n // loadImageFromURL,\r\n ] = use3dddPlus(\r\n (state) => [\r\n state.tiffConvert,\r\n state.imageToSVG,\r\n state.setFile,\r\n state.uploadImageModalDisplay,\r\n // state.pdfConverter,\r\n state.aiConvert,\r\n // state.loadImageFromURL,\r\n ],\r\n shallow\r\n );\r\n const handleFileSelect = (file: File) => {\r\n setSelectedFile(file);\r\n setFile(file);\r\n svgConverter(file);\r\n // You can perform further actions with the selected file here.\r\n };\r\n\r\n const svgConverter = async (data) => {\r\n // canvas.discardActiveObject();\r\n const ext = data.name.substring(data.name.lastIndexOf('.') + 1);\r\n use3dddPlus.setState({ uploadImageModalDisplay: true });\r\n if (ext === 'svg') {\r\n imageToSVG(data, ext, true);\r\n }\r\n // else if (ext === 'pdf') {\r\n // let pdfData = await pdfConverter(data);\r\n // imageToSVG(pdfData, ext);\r\n // }\r\n else if (ext === 'tif' || ext === 'tiff') {\r\n const tiffData = await tiffConvert(data);\r\n imageToSVG(tiffData, ext);\r\n } else if (ext === 'ai' || ext === 'pdf') {\r\n // console.log(loadImageFromURL);\r\n use3dddPlus.setState({ loading: true });\r\n let aiToSvg = await aiConvert(data);\r\n // console.log(aiToSvg)\r\n fetch(aiToSvg.s3_file_url + '?timestamp=' + Date.now())\r\n .then((response) => response.text())\r\n .then((svgText) => {\r\n imageToSVG(svgText, ext, false, false);\r\n })\r\n .catch((ex) => {\r\n console.log(ex);\r\n use3dddPlus.setState({ loading: false });\r\n });\r\n } else {\r\n let objectURL = URL.createObjectURL(data);\r\n imageToSVG(objectURL, ext);\r\n }\r\n setSelectedFile(null);\r\n };\r\n return (\r\n <>\r\n <div className=\"bg-[#F7F7F7] absolute z-[5] w-[90%] h-full \">\r\n <div className=\"relative w-full h-full\">\r\n <div className=\"flex justify-center w-full h-full text-center\">\r\n <FileUploadButton onFileSelect={handleFileSelect} />\r\n </div>\r\n <div className=\"absolute md:bottom-[20px] bottom-[10px] px-[80px]\">\r\n <p className=\" text-[#E11A38] text-base font-bold\">\r\n Privacy Notice\r\n </p>\r\n <p className=\"text-[#727272] text-sm font-medium pt-2 pb-2\">\r\n Your uploaded images are safe, secure, and remain your property.\r\n By proceeding you acknowledge that you have full legal rights and\r\n permissions to use the images you upload.We reserve the right to\r\n reject any order.\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n {uploadImageModalDisplay && (\r\n <div className=\"bg-[#F7F7F7] absolute z-[5] w-[90%] h-full\">\r\n <PopUpCanvas />\r\n </div>\r\n )}\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nimport {\r\n SEARCHBAR_BORDER_COLOR,\r\n SEARCH_ICON_COLOR,\r\n TEXT_COLOR_1,\r\n TEXT_SIZE_3,\r\n} from '../../theme';\r\n\r\nexport interface SearchBarProps {\r\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\r\n onKeyPress?: (e: React.KeyboardEvent<HTMLDivElement>) => void;\r\n onPaste?: (e: React.ClipboardEvent<HTMLInputElement>) => void;\r\n placeholder?: string;\r\n searchBarMainClass?: string;\r\n value?: string;\r\n disabled?: boolean;\r\n}\r\nexport const Searchbar = ({\r\n onChange,\r\n onKeyPress,\r\n onPaste,\r\n placeholder,\r\n searchBarMainClass,\r\n value,\r\n disabled,\r\n}: SearchBarProps) => {\r\n return (\r\n <>\r\n <div\r\n className={`${searchBarMainClass} h-[40px] relative flex w-full flex-wrap items-stretch border border-solid ${SEARCHBAR_BORDER_COLOR} outline-none transition duration-200 ease-in-out focus:z-[3] focus:shadow-[inset_0_0_0_1px_rgb(212,212,212)] focus:outline-none bg-[#FFFFFF]`}\r\n >\r\n <input\r\n type=\"search\"\r\n className={`leading-[20px] relative m-0 -mr-0.5 block w-[1px] min-w-0 focus-visible:outline-0 flex-auto bg-transparent bg-clip-padding px-[15px] py-[10px] ${TEXT_SIZE_3} font-normal ${TEXT_COLOR_1} placeholder:${TEXT_SIZE_3} placeholder:${TEXT_COLOR_1} placeholder:leading-[20px] !border-0`}\r\n placeholder={placeholder}\r\n aria-label=\"Search\"\r\n aria-describedby=\"button-addon3\"\r\n value={value}\r\n onChange={onChange}\r\n onKeyPress={onKeyPress}\r\n disabled={disabled}\r\n onPaste={onPaste}\r\n onClick={(e) => {\r\n e.currentTarget.focus();\r\n }}\r\n />\r\n <span\r\n className={`flex justify-center items-center rounded-none pl-2 pr-[14px]`}\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n className={`h-5 w-5 ${SEARCH_ICON_COLOR}`}\r\n >\r\n <path d=\"M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { Input as InputImpl, InputHTMLProps } from 'reakit';\r\n\r\nexport const input = React.forwardRef<HTMLInputElement, InputHTMLProps>(\r\n (props, ref) => {\r\n return (\r\n <InputImpl\r\n // @ts-ignore\r\n ref={ref}\r\n {...props}\r\n className={`${props.className}`}\r\n />\r\n );\r\n }\r\n);\r\n","import React from 'react';\r\nimport { IconButton, RxCross2 } from '../icon';\r\nimport { BACKDROP_BLUR, BACKDROP_BLUR_BG_COLOR, SAVERACK_TEXT_COLOR } from '../../theme';\r\n\r\nexport interface GlobalModalProps {\r\n backdropStyle?: string;\r\n children?: React.ReactNode;\r\n contentStyle?: string;\r\n crossOnClick?: () => void;\r\n modalStyle?: string;\r\n}\r\n\r\nexport const Modal = ({\r\n backdropStyle,\r\n children,\r\n contentStyle,\r\n crossOnClick,\r\n modalStyle,\r\n}: GlobalModalProps) => {\r\n return (\r\n <div>\r\n <div\r\n className={`${backdropStyle} absolute top-0 left-0 h-screen w-full ${BACKDROP_BLUR} ${BACKDROP_BLUR_BG_COLOR}`}\r\n ></div>\r\n\r\n <dialog\r\n open\r\n className={`${contentStyle} absolute shadow-[0 2px 8px rgba(0, 0, 0, 0.26)] ml-[auto] md:mr-[0%] mr-[auto]`}\r\n >\r\n <IconButton\r\n label={''}\r\n icon={<RxCross2 strokeWidth={1} onClick={crossOnClick} />}\r\n className={\r\n `z-10 pointer-events-auto cursor-pointer ${SAVERACK_TEXT_COLOR} font-bold !absolute right-[0.6875rem] top-[0.6875rem] px-[0.75rem] py-[1.25rem] hover:bg-[#E11A38] hover:text-[#ffffff] hover:rounded-none`\r\n }\r\n size=\"1.2rem\"\r\n ></IconButton>\r\n <div\r\n className={`flex flex-col justify-center gap-[1.75rem] ${modalStyle}`}\r\n >\r\n {children}\r\n </div>\r\n </dialog>\r\n </div>\r\n );\r\n};\r\n","import React from 'react';\r\nexport interface ModalButtonsProps {\r\n buttonMainClass?: string;\r\n buttons?: {\r\n buttonClass?: string;\r\n label?: string;\r\n onClick?: () => void;\r\n style?: React.CSSProperties;\r\n }[];\r\n}\r\nexport const ModalButtons = ({ buttonMainClass, buttons }: ModalButtonsProps) => {\r\n return (\r\n <div\r\n className={`flex flex-col lg:flex-row gap-[1.5625rem] leading-[1.4375rem] font-bold ${buttonMainClass}`}\r\n >\r\n {buttons?.map((button, index) => (\r\n <button\r\n key={index}\r\n onClick={button.onClick}\r\n className={`w-full py-[0.7188rem] rounded-none font-bold uppercase ${button.buttonClass}`}\r\n style={button.style}\r\n >\r\n {button.label}\r\n </button>\r\n ))}\r\n </div>\r\n );\r\n};\r\n\r\n","import React from 'react';\r\nimport { HiOutlineDownload, IconButton } from '../icon';\r\n\r\nexport interface ModalDownLoadIconProps {\r\n downloadClass?: string;\r\n downloadIconClass?: string;\r\n iconClass?: string;\r\n pdfUrl?: string;\r\n}\r\nexport const ModalDownloadIcon = ({\r\n downloadClass,\r\n downloadIconClass,\r\n iconClass,\r\n pdfUrl,\r\n}: ModalDownLoadIconProps) => {\r\n return (\r\n <>\r\n <div className={`flex justify-center items-center`}>\r\n <a\r\n href={pdfUrl}\r\n download={'Design Sheet'}\r\n target=\"_blank\"\r\n className={`flex items-center cursor-pointer gap-[0.6875rem] font-bold ${downloadIconClass}`}\r\n >\r\n <IconButton\r\n label={''}\r\n icon={<HiOutlineDownload />}\r\n className={`pointer-events-auto ${iconClass}`}\r\n size=\"1.1rem\"\r\n ></IconButton>\r\n\r\n <span className={`uppercase ${downloadClass}`}>\r\n VIEW DESIGN SHEET\r\n </span>\r\n </a>\r\n </div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\n\r\nexport interface ModalHeadingProps {\r\n children?: React.ReactNode;\r\n headingStyle?: string;\r\n}\r\nexport const ModalHeading = ({ children, headingStyle }: ModalHeadingProps) => {\r\n return (\r\n <>\r\n <div\r\n className={`flex flex-col gap-[1.625rem] justify-center items-center text-center ${headingStyle}`}\r\n >\r\n {children}\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\n","import React from 'react';\r\n\r\nexport interface ModalLabelProps {\r\n children?: React.ReactNode;\r\n labelStyle?: string;\r\n}\r\nexport const ModalLabel = ({ children, labelStyle }: ModalLabelProps) => {\r\n return (\r\n <>\r\n <p className={`${labelStyle}`}>{children}</p>\r\n </>\r\n );\r\n};\r\n\r\n","import React from 'react';\r\nimport { IconButton } from '../icon';\r\n\r\nexport interface ModalStatusProps {\r\n icon?: JSX.Element;\r\n onIconClick?: () => void;\r\n children?: React.ReactNode;\r\n iconStyle?: string;\r\n}\r\nexport const ModalStatusIcon = ({\r\n icon,\r\n onIconClick,\r\n iconStyle,\r\n children,\r\n}: ModalStatusProps) => {\r\n return (\r\n <>\r\n <div className={`flex justify-center`} onClick={onIconClick}>\r\n <IconButton\r\n label={''}\r\n icon={icon}\r\n className={`pointer-events-auto cursor-pointer h-[auto] ${iconStyle}`}\r\n size=\"6.3rem\"\r\n ></IconButton>\r\n {children}\r\n </div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\n\r\nexport const SortAndFilterButton = ({\r\n label,\r\n icons,\r\n onClick,\r\n className,\r\n buttonLabelClass,\r\n}) => {\r\n return (\r\n <button\r\n onClick={onClick}\r\n className={`flex border border-[#EBEBEB] rounded-none gap-[31.5px] items-center p-2 shadow-[0px_7px_64px_rgba(0,0,0,0.07)] bg-[#FFFFFF] ${className}`}\r\n >\r\n <span className={`${buttonLabelClass}`}>{label}</span>\r\n <span>{icons}</span>\r\n </button>\r\n );\r\n};\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport { SortAndFilterButton } from './sortButton';\r\nimport { BsSortDown } from 'react-icons/bs';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\n\r\nexport const SortByDropdown = ({ sortOptions }) => {\r\n const [loadingLogo, logoSortBy, logoSortDir] = use3dddPlus(\r\n (state) => [state.loadingLogo, state.logoSortBy, state.logoSortDir],\r\n shallow\r\n );\r\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\r\n const dropdownRef = useRef(null);\r\n\r\n const toggleDropdown = () => {\r\n setIsDropdownOpen(!isDropdownOpen);\r\n };\r\n\r\n const closeDropdown = () => {\r\n setIsDropdownOpen(false);\r\n };\r\n\r\n useEffect(() => {\r\n const handleOutsideClick = (event) => {\r\n if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {\r\n closeDropdown();\r\n }\r\n };\r\n\r\n if (isDropdownOpen) {\r\n document.addEventListener('click', handleOutsideClick);\r\n }\r\n\r\n return () => {\r\n document.removeEventListener('click', handleOutsideClick);\r\n };\r\n }, [isDropdownOpen]);\r\n\r\n return (\r\n <div className=\"relative\" ref={dropdownRef}>\r\n <SortAndFilterButton\r\n onClick={toggleDropdown}\r\n label=\"Sort by\"\r\n icons={<BsSortDown size={'1.2rem'} />}\r\n buttonLabelClass={`hidden md:block`}\r\n className=\"py-[10px] px-[14.5px] text-[13px] leading-[16px] text-[#5d5d5d] font-bold\"\r\n />\r\n {isDropdownOpen && (\r\n <ul className=\"mt-[14px] shadow-[0px_7px_64px_rgba(0,0,0,0.07)] pt-[10px] dropdown-content w-[210px] md:right-0 bg-[#FFFFFF] flex flex-col absolute z-10 before:content-[''] before:absolute before:top-[-0.3125rem] before:h-[0.75rem] before:w-[0.75rem] before:bg-[white] before:rotate-45 md:before:right-[18px] md:before:left-[unset] before:left-[18px]\">\r\n {sortOptions.map((option) => (\r\n <li\r\n key={option.label}\r\n className={`${\r\n logoSortBy === option.sortBy &&\r\n logoSortDir === option.sortDir\r\n ? 'bg-[#fce8eb] text-[#e11a38]'\r\n : ''\r\n } cursor-pointer flex items-center hover:bg-[#fce8eb] hover:text-[#e11a38] py-[13px] px-[27.85px] border-b-[1px] last:border-b-0 border-[#F4F4F4] text-[14px] leading-[19px] text-[#353535] font-bold`}\r\n onClick={() => {\r\n toggleDropdown();\r\n loadingLogo(option.onClick());\r\n }}\r\n >\r\n {option.label}\r\n </li>\r\n ))}\r\n </ul>\r\n )}\r\n </div>\r\n );\r\n};\r\n","import { useState, useEffect } from 'react';\r\n\r\nexport const useDebounce = (value: any, milliSeconds: number) => {\r\n const [debouncedValue, setDebouncedValue] = useState(value);\r\n\r\n useEffect(() => {\r\n const handler = setTimeout(() => {\r\n setDebouncedValue(value);\r\n }, milliSeconds);\r\n\r\n return () => {\r\n clearTimeout(handler);\r\n };\r\n }, [value, milliSeconds]);\r\n\r\n return debouncedValue;\r\n};\r\n","import React, { useEffect, useState, useRef } from 'react';\r\nimport { Searchbar } from '../searchbar';\r\nimport { Card, CardMedia, CardBody, CardTitle, CardTags } from '../card';\r\nimport { SortByDropdown } from '../SortByDropdown';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { fabric } from 'fabric';\r\n// import { Loader } from '../loader';\r\nimport {\r\n BORDER_COLOR_3,\r\n SELECT_BG_COLOR,\r\n TAG_BG_COLOR,\r\n TEXT_SIZE_12,\r\n} from '../../theme';\r\nimport { BsCheckLg } from 'react-icons/bs';\r\nimport { useDebounce } from '../../hooks/debounce';\r\nexport interface LogoProps {\r\n logo_id: number;\r\n customer_id: string;\r\n tag: string;\r\n name: string;\r\n logo_config_url: string;\r\n logo_url: string;\r\n logo_svg_url: string;\r\n created_at: string;\r\n}\r\nexport const MyLogo = ({ onApply }) => {\r\n const [logoSelected, setLogoSelected] = React.useState<LogoProps>();\r\n const [scrollEnd, setScrollEnd] = useState(false);\r\n const [morePages, setMorePages] = useState(true);\r\n const myRef = useRef(null);\r\n const [\r\n retriveLogoDesign,\r\n myLogoHandler,\r\n loadingLogo,\r\n\r\n setLogoData,\r\n logoData,\r\n logoSearchText,\r\n ] = use3dddPlus(\r\n (state) => [\r\n state.retriveLogoDesign,\r\n state.myLogoHandler,\r\n state.loadingLogo,\r\n\r\n state.setLogoData,\r\n state.logoData,\r\n state.logoSearchText,\r\n ],\r\n shallow\r\n );\r\n const debouncedSearchText = useDebounce(logoSearchText, 300);\r\n const handleSearchChange = (e) => {\r\n use3dddPlus.setState({\r\n logoSearchText: e.currentTarget.value,\r\n logoPageNo: 1,\r\n retriveLogoDesign: [],\r\n });\r\n setMorePages(true);\r\n };\r\n\r\n useEffect(() => {\r\n loadingLogo(debouncedSearchText);\r\n }, [debouncedSearchText]);\r\n\r\n useEffect(() => {\r\n loadingLogo('');\r\n setMorePages(true);\r\n }, []);\r\n\r\n const handleScroll = React.useCallback(() => {\r\n if (!myRef?.current) return;\r\n if (scrollEnd) return;\r\n const scrollY = myRef.current.scrollTop;\r\n const height = myRef.current.clientHeight;\r\n const scrollHeight = myRef.current.scrollHeight;\r\n const tolerance = 10;\r\n if (scrollY + height + tolerance >= scrollHeight) {\r\n setScrollEnd(true);\r\n } else if (scrollY + height + tolerance < scrollHeight) {\r\n setScrollEnd(false);\r\n }\r\n }, [myRef, scrollEnd]);\r\n const fetchData = async () => {\r\n try {\r\n use3dddPlus.setState((state) => ({\r\n logoPageNo: state.logoPageNo + 1,\r\n }));\r\n const result = await loadingLogo('');\r\n if (result.length === 0) {\r\n setScrollEnd(false);\r\n setMorePages(false);\r\n return;\r\n }\r\n if (use3dddPlus.getState().logoPageNo === 1) {\r\n use3dddPlus.setState({\r\n retriveLogoDesign: result,\r\n });\r\n } else if (use3dddPlus.getState().logoPageNo > 1) {\r\n use3dddPlus.setState((state) => {\r\n const updatedState = {\r\n retriveLogoDesign: [...state.retriveLogoDesign, ...result],\r\n };\r\n return updatedState;\r\n });\r\n }\r\n setScrollEnd(false);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n };\r\n useEffect(() => {\r\n if (scrollEnd && morePages) {\r\n setTimeout(async () => {\r\n await fetchData();\r\n }, 700);\r\n }\r\n }, [scrollEnd]);\r\n const sortOptions = [\r\n {\r\n label: 'NEWEST',\r\n sortBy: 'updated_at',\r\n sortDir: 'DESC',\r\n onClick: () => {\r\n setScrollEnd(false);\r\n use3dddPlus.setState({\r\n logoPageNo: 1,\r\n logoSortBy: 'updated_at',\r\n logoSortDir: 'DESC',\r\n });\r\n setMorePages(true);\r\n },\r\n },\r\n {\r\n label: 'OLDEST',\r\n sortBy: 'updated_at',\r\n sortDir: 'ASC',\r\n onClick: () => {\r\n setScrollEnd(false);\r\n use3dddPlus.setState({\r\n logoPageNo: 1,\r\n logoSortBy: 'updated_at',\r\n logoSortDir: 'ASC',\r\n });\r\n setMorePages(true);\r\n },\r\n },\r\n {\r\n label: 'A TO Z',\r\n sortBy: 'name',\r\n sortDir: 'ASC',\r\n onClick: () => {\r\n setScrollEnd(false);\r\n use3dddPlus.setState({\r\n logoPageNo: 1,\r\n logoSortBy: 'name',\r\n logoSortDir: 'ASC',\r\n });\r\n setMorePages(true);\r\n },\r\n },\r\n {\r\n label: 'Z TO A',\r\n sortBy: 'name',\r\n sortDir: 'DESC',\r\n onClick: () => {\r\n setScrollEnd(false);\r\n use3dddPlus.setState({\r\n logoPageNo: 1,\r\n logoSortBy: 'name',\r\n logoSortDir: 'DESC',\r\n });\r\n setMorePages(true);\r\n },\r\n },\r\n ];\r\n const handleEditLogo = (logo) => {\r\n fabric.Object.prototype.hasControls = true;\r\n fabric.Object.prototype.hasBorders = true;\r\n if (logo) {\r\n use3dddPlus.setState({\r\n logoSearchText: '',\r\n logoSortBy: 'updated_at',\r\n logoSortDir: 'DESC',\r\n logoPageNo: 1,\r\n logoPageSize: 14,\r\n });\r\n myLogoHandler(logo);\r\n setLogoSelected(logo);\r\n }\r\n };\r\n const handleApplyLogo = (logo) => {\r\n if (logo) {\r\n use3dddPlus.setState({\r\n logoSearchText: '',\r\n logoSortBy: 'updated_at',\r\n logoSortDir: 'DESC',\r\n logoPageNo: 1,\r\n logoPageSize: 14,\r\n });\r\n onApply();\r\n setLogoSelected(logo);\r\n }\r\n };\r\n return (\r\n <>\r\n <div className=\"bg-[#F7F7F7] absolute z-100 w-[90%] h-full pr-[56px]\">\r\n <div className=\" w-full flex mt-[50px] flex-row\">\r\n <div className=\"flex gap-4 justify-end w-full md:justify-end \">\r\n <SortByDropdown sortOptions={sortOptions} />\r\n <div className=\" w-full sm:w-[60%] md:w-[65%] lg:w-[50%] xl:w-[40%] \">\r\n <Searchbar\r\n value={logoSearchText}\r\n placeholder={'Search by Logo name or tags'}\r\n searchBarMainClass={`!h-[40px] border border-[#BEBEBE]`}\r\n onChange={handleSearchChange}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n className={`flex ml-[33px] mt-[30px] overflow-y-auto h-[60vh] overflow-x-hidden pr-[33px]`}\r\n onScroll={handleScroll}\r\n ref={myRef}\r\n >\r\n <div className=\"max-h-[140px] grid gap-[2vw] grid-cols-3 md:grid-cols-4 lg:grid-cols-4 xl:grid-cols-5 2xl:grid-cols-6 w-full \">\r\n {retriveLogoDesign.length > 0\r\n ? retriveLogoDesign.map((logo: LogoProps) => (\r\n <>\r\n {/* {logo.logo_svg_url && ( */}\r\n <Card\r\n cardClass={`rounded-none !bg-transparent cursor-pointer max-w-[220px] border ${\r\n logoSelected?.logo_id === logo.logo_id\r\n ? BORDER_COLOR_3\r\n : 'border-none '\r\n }`}\r\n // style={{ boxShadow: '0px 0px 6px #98989829' }}\r\n onClick={() => {\r\n if (logo) {\r\n setLogoData(logo);\r\n setLogoSelected(logo);\r\n }\r\n }}\r\n >\r\n <CardMedia\r\n src={\r\n logo.logo_url\r\n }\r\n imageClass=\"w-full h-[220px] bg-white shadow-md\"\r\n />\r\n\r\n <CardBody bodyClass=\"p-2.5 self-start grow-0\">\r\n <CardTitle\r\n titleClass={`text-[15px] text-[#353535] font-bold uppercase break-all text-left items-left`}\r\n name={logo.name}\r\n />\r\n <div className=\"flex gap-2 flex-wrap\">\r\n {logo?.tag &&\r\n logo?.tag\r\n ?.split(',')\r\n ?.filter(Boolean)\r\n ?.map((item) => (\r\n <CardTags\r\n key={`design-tag-${item}`}\r\n tagsClass={`h-[1.5rem] ${TAG_BG_COLOR}`}\r\n >\r\n <div className={`${TEXT_SIZE_12}`}>\r\n {item}\r\n </div>\r\n </CardTags>\r\n ))}\r\n </div>\r\n\r\n {logoSelected?.logo_id === logo.logo_id && (\r\n <div className=\"w-9 overflow-hidden inline-block absolute left-0 top-0\">\r\n <div\r\n className={`h-16 rotate-45 transform origin-top-right ${SELECT_BG_COLOR}`}\r\n ></div>\r\n <span className=\"absolute top-1 left-1\">\r\n <BsCheckLg\r\n size={15}\r\n color=\"white\"\r\n style={{ strokeWidth: '0.5' }}\r\n />\r\n </span>\r\n </div>\r\n )}\r\n </CardBody>\r\n </Card>\r\n {/* )} */}\r\n </>\r\n ))\r\n : 'No Saved Mascots'}\r\n </div>\r\n </div>\r\n <div className={`flex gap-[24px] h-[48px] mt-[26px] float-right`}>\r\n <button\r\n className={`border border-[#353535] w-[160px] p-3 font-bold ${\r\n !logoSelected && 'opacity-70'\r\n }`}\r\n onClick={() => handleEditLogo(logoData)}\r\n >\r\n Edit\r\n </button>\r\n <button\r\n disabled={!logoSelected}\r\n onClick={() => handleApplyLogo(logoData)}\r\n className={`border p-3 w-[160px] ${\r\n logoSelected\r\n ? 'bg-[#e11a38] border-[#e11a38] text-white font-bold '\r\n : 'bg-[#e11a38] border-[#e11a38] text-white font-bold opacity-70'\r\n }`}\r\n >\r\n Apply\r\n </button>\r\n </div>\r\n </div>\r\n </>\r\n );\r\n};\r\n","import React, { useEffect } from 'react';\r\n//import { StepperTypes } from '../../store/actions/types';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport {\r\n SELECT_BG_COLOR,\r\n //BORDER_COLOR,\r\n TEXT_SIZE_1,\r\n TEXT_SIZE_2,\r\n SELECT_TEXT_COLOR,\r\n BUTTON_TEXT_COLOR,\r\n TEXT_COLOR_1,\r\n INPUT_TEXT_DISABLE_COLOR,\r\n} from '../../theme';\r\nimport { AddText, IconButton, MyLogo, RLogo } from '../icon';\r\nimport { MdOutlineFileUpload } from 'react-icons/md';\r\nimport { BiSolidColorFill } from 'react-icons/bi';\r\nimport { FaRegImage } from 'react-icons/fa6';\r\n\r\nexport const LeftMenu = () => {\r\n const [\r\n setSelectedStepper,\r\n selectedStepper,\r\n addText,\r\n getStockLogos,\r\n loadingLogo,\r\n setDisplayProductColor,\r\n hasUploadScreen,\r\n ] = use3dddPlus(\r\n (state) => [\r\n state.setSelectedStepper,\r\n state.selectedStepper,\r\n state.addText,\r\n state.getStockLogos,\r\n state.loadingLogo,\r\n state.setDisplayProductColor,\r\n state.hasUploadScreen,\r\n ],\r\n shallow\r\n );\r\n const StepperList = [\r\n {\r\n name: 'Upload File',\r\n icon: <MdOutlineFileUpload />,\r\n id: 1,\r\n display: true,\r\n },\r\n {\r\n name: 'My Logos',\r\n icon: <MyLogo />,\r\n id: 2,\r\n display: true,\r\n },\r\n {\r\n name: 'Add Text',\r\n icon: <AddText />,\r\n id: 3,\r\n display: true,\r\n },\r\n {\r\n name: 'Add Mascots',\r\n icon: <FaRegImage />,\r\n id: 4,\r\n display: true,\r\n },\r\n {\r\n name: 'product Color',\r\n icon: <BiSolidColorFill />,\r\n id: 5,\r\n display: true,\r\n },\r\n ];\r\n\r\n useEffect(() => {\r\n return () => {};\r\n }, []);\r\n\r\n return (\r\n <div className=\"flex flex-row md:flex-col\">\r\n <div\r\n className={` flex flex-row md:flex-col sticky md:relative md:w-[100%] md:max-w-[100%]`}\r\n style={{ boxShadow: '0px 0px 6px #98989829' }}\r\n >\r\n <div\r\n className={`bg-[#CB1732] flex justify-center cursor-pointer px-2.5 py-4 `}\r\n >\r\n <div className=\" flex flex-col items-center justify-center\">\r\n <span className={` ${TEXT_SIZE_2} py-2`}>\r\n <IconButton\r\n label={''}\r\n icon={<RLogo />}\r\n size=\"2rem\"\r\n className={`${TEXT_COLOR_1} pointer-events-auto cursor-pointer m-auto`}\r\n ></IconButton>\r\n </span>\r\n <span\r\n className={`${SELECT_TEXT_COLOR} ${TEXT_SIZE_1} uppercase font-bold text-center`}\r\n >\r\n Logo Designer\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n className={` flex h-[100%] flex-row md:flex-col sticky md:relative md:w-[100%] md:max-w-[100%]`}\r\n style={{ boxShadow: '0px 0px 6px #98989829' }}\r\n >\r\n {StepperList?.map((step) => (\r\n <div\r\n className={\r\n step.id === selectedStepper\r\n ? `${SELECT_BG_COLOR} flex justify-center cursor-pointer px-2.5 py-4 `\r\n : 'flex justify-center px-2.5 py-4 ' +\r\n (hasUploadScreen\r\n ? ''\r\n : 'cursor-pointer group hover:bg-[#e11a38]')\r\n }\r\n key={step.id}\r\n style={!step.display ? { display: 'none' } : {}}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n if (!hasUploadScreen) {\r\n setSelectedStepper(step.id);\r\n if (step.id === 3) {\r\n addText();\r\n }\r\n if (step.id === 4) {\r\n getStockLogos();\r\n }\r\n if (step.id === 2) {\r\n loadingLogo('');\r\n }\r\n if (step.id === 5) {\r\n setDisplayProductColor();\r\n }\r\n }\r\n }}\r\n >\r\n <div\r\n className={`flex flex-col items-center justify-center gap-1 ${\r\n hasUploadScreen ? '' : 'group-hover:bg-[#e11a38]'\r\n }`}\r\n >\r\n <span\r\n className={\r\n step.id === selectedStepper\r\n ? ` ${TEXT_SIZE_2} py-2`\r\n : ` ${TEXT_SIZE_2} py-2`\r\n }\r\n >\r\n <IconButton\r\n label={''}\r\n icon={step.icon}\r\n size=\"2rem\"\r\n className={`${\r\n step.id === selectedStepper\r\n ? BUTTON_TEXT_COLOR\r\n : hasUploadScreen\r\n ? INPUT_TEXT_DISABLE_COLOR\r\n : TEXT_COLOR_1\r\n } pointer-events-auto m-auto group-active:text-white ${\r\n hasUploadScreen\r\n ? ''\r\n : 'cursor-pointer group-hover:text-white'\r\n }`}\r\n ></IconButton>\r\n </span>\r\n <span\r\n className={\r\n step.id === selectedStepper\r\n ? `${SELECT_TEXT_COLOR} ${TEXT_SIZE_1} uppercase font-bold text-center`\r\n : `${\r\n hasUploadScreen\r\n ? INPUT_TEXT_DISABLE_COLOR\r\n : TEXT_COLOR_1\r\n } ${TEXT_SIZE_1} uppercase font-bold text-center ${\r\n hasUploadScreen ? '' : 'group-hover:text-white'\r\n }`\r\n }\r\n >\r\n {step.name}\r\n </span>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n};\r\n","import React from 'react';\r\nimport './loader.css';\r\n\r\nexport const Loader = ({ position = 'overlay', height = '100%' }) => {\r\n const loaderRef = React.useRef<any>();\r\n React.useEffect(() => {\r\n if (!loaderRef) return;\r\n loaderRef.current.style.height = height;\r\n }, [loaderRef]);\r\n return (\r\n <section\r\n ref={loaderRef}\r\n id=\"ls\"\r\n style={\r\n position === 'overlay'\r\n ? { position: 'absolute', opacity: 0.8, top: 0 }\r\n : {}\r\n }\r\n className=\"w-full h-full\"\r\n >\r\n <div id=\"l\"></div>\r\n </section>\r\n );\r\n};\r\n","import React from 'react';\r\nexport const UpIcon = ({ disabled }) => {\r\n return (\r\n <div className=\"m-auto upIcon\">\r\n <svg\r\n fill={disabled ? '#cfcccc' : '#9a9a9a'}\r\n height=\"25px\"\r\n width=\"25px\"\r\n version=\"1.1\"\r\n id=\"Layer_1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 512 512\"\r\n >\r\n <g>\r\n <g>\r\n <g>\r\n <path d=\"M0,0v512h512V0H0z M469.333,469.333H42.667V42.667h426.667V469.333z\" />\r\n <path d=\"M121.752,335.085L256,200.837l134.248,134.248c8.331,8.331,21.839,8.331,30.17,0c8.331-8.331,8.331-21.839,0-30.17 L271.085,155.582c-8.331-8.331-21.839-8.331-30.17,0L91.582,304.915c-8.331,8.331-8.331,21.839,0,30.17 S113.42,343.416,121.752,335.085z\" />\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n );\r\n};\r\n\r\nexport const DownIcon = ({ disabled }) => {\r\n return (\r\n <div className=\"m-auto downIcon\">\r\n <svg\r\n transform=\"rotate(180)\"\r\n fill={disabled ? '#cfcccc' : '#9a9a9a'}\r\n height=\"25px\"\r\n width=\"25px\"\r\n version=\"1.1\"\r\n id=\"Layer_1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 512 512\"\r\n >\r\n <g>\r\n <g>\r\n <g>\r\n <path d=\"M0,0v512h512V0H0z M469.333,469.333H42.667V42.667h426.667V469.333z\" />\r\n <path d=\"M121.752,335.085L256,200.837l134.248,134.248c8.331,8.331,21.839,8.331,30.17,0c8.331-8.331,8.331-21.839,0-30.17 L271.085,155.582c-8.331-8.331-21.839-8.331-30.17,0L91.582,304.915c-8.331,8.331-8.331,21.839,0,30.17 S113.42,343.416,121.752,335.085z\" />\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n );\r\n};\r\n\r\nexport const DeleteIcon = () => {\r\n return (\r\n <div className=\"m-auto upIcon\">\r\n <svg\r\n width=\"25px\"\r\n height=\"25px\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M10 11V17\"\r\n stroke=\"#9a9a9a\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M14 11V17\"\r\n stroke=\"#9a9a9a\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M4 7H20\"\r\n stroke=\"#9a9a9a\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M6 7H12H18V18C18 19.6569 16.6569 21 15 21H9C7.34315 21 6 19.6569 6 18V7Z\"\r\n stroke=\"#9a9a9a\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M9 5C9 3.89543 9.89543 3 11 3H13C14.1046 3 15 3.89543 15 5V7H9V5Z\"\r\n stroke=\"#9a9a9a\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { use3dddPlus } from '../../store';\r\nimport { DeleteIcon, UpIcon, DownIcon } from './icons';\r\n\r\ninterface LayersProps {\r\n canvas: any;\r\n onSave: () => void;\r\n}\r\n\r\ninterface StoreObject {\r\n id: string;\r\n icon: string;\r\n text?: string;\r\n}\r\n\r\nexport const Layers: React.FC<LayersProps> = ({ canvas, onSave }) => {\r\n const [storeAllObject] = use3dddPlus(\r\n (state) => [state.storeAllObject],\r\n shallow\r\n );\r\n\r\n const removeItem = (value: StoreObject) => {\r\n const index = use3dddPlus\r\n .getState()\r\n .storeAllObject.findIndex((obj: StoreObject) => obj.id === value.id);\r\n if (index > -1) {\r\n use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n }\r\n use3dddPlus.setState({\r\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\r\n });\r\n };\r\n\r\n const deleteElement = (item: StoreObject) => {\r\n if (canvas._objects) {\r\n canvas._objects.forEach((obj: any) => {\r\n if (obj.id === item.id) {\r\n canvas.remove(obj);\r\n }\r\n });\r\n }\r\n canvas.requestRenderAll();\r\n use3dddPlus.getState().updateModifaction(true);\r\n removeItem(item);\r\n };\r\n\r\n const changeArr = (arr: any[], fromIndex: number, toIndex: number) => {\r\n const element = arr.splice(fromIndex, 1)[0];\r\n arr.splice(toIndex, 0, element);\r\n return arr;\r\n };\r\n\r\n const layerHandle = (\r\n element: StoreObject,\r\n index: number,\r\n direction: 'plus' | 'minus'\r\n ) => {\r\n const currentObject = [...use3dddPlus.getState().storeAllObject];\r\n if (direction === 'minus') {\r\n canvas.sendBackwards(element);\r\n use3dddPlus.setState({\r\n storeAllObject: changeArr(currentObject, index, index + 1),\r\n });\r\n } else {\r\n canvas.bringForward(element);\r\n use3dddPlus.setState({\r\n storeAllObject: changeArr(currentObject, index, index - 1),\r\n });\r\n }\r\n canvas.sendToBack(use3dddPlus.getState().verticalLine);\r\n canvas.sendToBack(use3dddPlus.getState().horizontalLine);\r\n use3dddPlus.getState().updateModifaction(true);\r\n };\r\n\r\n return (\r\n <div className=\"flex flex-col w-full h-full\">\r\n <div className=\"flex flex-col flex-1 w-full gap-2 overflow-y-auto\">\r\n {storeAllObject.map((item, index) => (\r\n <div\r\n key={item.id}\r\n className=\"!flex-col border border-[#D7D7D7] h-20 flex justify-between items-center flex-wrap md:flex-nowrap\"\r\n >\r\n <div className=\"border-r border-[#D7D7D7] bg-slate-200 w-20 h-20 flex items-center justify-center flex-shrink-0\">\r\n <img\r\n className={`rounded-lg p-2 ${\r\n item.text ? 'object-contain' : ''\r\n }`}\r\n style={{ height: 'auto', width: 'auto', margin: 'auto' }}\r\n src={item.icon}\r\n alt=\"icon\"\r\n />\r\n </div>\r\n <button\r\n onClick={() => deleteElement(item)}\r\n className=\"flex items-center justify-center flex-auto w-full h-full\"\r\n >\r\n <DeleteIcon />\r\n </button>\r\n <div className=\"flex flex-col items-center justify-between flex-shrink-0 w-10\">\r\n <button\r\n disabled={index === 0}\r\n onClick={() => layerHandle(item, index, 'plus')}\r\n className=\"w-full h-9\"\r\n >\r\n <UpIcon disabled={index === 0} />\r\n </button>\r\n <button\r\n disabled={index === storeAllObject.length - 1}\r\n onClick={() => layerHandle(item, index, 'minus')}\r\n className=\"w-full h-9\"\r\n >\r\n <DownIcon\r\n disabled={index === storeAllObject.length - 1}\r\n // className=\"pointer-events-none\"\r\n />\r\n </button>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n <div className=\"flex flex-col w-full h-[10%]\">\r\n <button\r\n type=\"button\"\r\n className=\"m-auto bg-white py-2 text-sm font-medium text-[#E11A38] w-full ring-1 ring-inset ring-[#E11A38] hover:bg-[#E11A38] hover:text-white transition-colors duration-200\"\r\n onClick={onSave}\r\n >\r\n Save\r\n </button>\r\n </div>\r\n </div>\r\n\r\n // <div className=\"relative flex flex-col justify-between flex-1 h-full px-3 overflow-x-hidden\">\r\n // <div className=\"flex flex-col gap-1 overflow-y-auto\">\r\n // {storeAllObject.map((item, index) => (\r\n // <div\r\n // key={item.id}\r\n // className=\"innerLayer border border-[#D7D7D7] my-4 h-20 flex justify-between \"\r\n // >\r\n // <div className=\"imgBox border-r border-[#D7D7D7] bg-slate-200 flex w-20\">\r\n // <img\r\n // className={`rounded-lg p-2 ${item.text ? 'object-contain' : ''}`}\r\n // style={{ height: 'auto', width: 'auto', margin: 'auto' }}\r\n // src={item.icon}\r\n // alt=\"icon\"\r\n // />\r\n // </div>\r\n // <div className=\"flex-auto\">\r\n // <button\r\n // onClick={() => deleteElement(item)}\r\n // className=\"w-full h-full\"\r\n // >\r\n // <div className=\"flex justify-center pointer-events-none\">\r\n // <DeleteIcon />\r\n // </div>\r\n // </button>\r\n // </div>\r\n // <div className=\"flex flex-col justify-between w-10\">\r\n // <button\r\n // disabled={index === 0}\r\n // onClick={() => layerHandle(item, index, 'plus')}\r\n // >\r\n // <div className=\"flex justify-center pointer-events-none h-9\">\r\n // <UpIcon disabled={index === 0} />\r\n // </div>\r\n // </button>\r\n // <button\r\n // disabled={index === storeAllObject.length - 1}\r\n // onClick={() => layerHandle(item, index, 'minus')}\r\n // >\r\n // <div className=\"flex justify-center pointer-events-none h-9\">\r\n // <DownIcon disabled={index === storeAllObject.length - 1} />\r\n // </div>\r\n // </button>\r\n // </div>\r\n // </div>\r\n // ))}\r\n // </div>\r\n\r\n // <button\r\n // type=\"button\"\r\n // className=\"mt-3 bg-white py-2 text-sm font-medium text-[#E11A38] w-full ring-1 ring-inset ring-[#E11A38] absolute bottom-0 left-0 right-0\"\r\n // onClick={onSave}\r\n // >\r\n // Save\r\n // </button>\r\n // </div>\r\n );\r\n};\r\n","export const fontFamilies = [\r\n {\r\n name: 'Accel',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/accelerator_richardson.woff',\r\n },\r\n {\r\n name: 'Athletic Block',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/athletic.ttf',\r\n },\r\n {\r\n name: 'Ballpark',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/ballpark.TTF ',\r\n },\r\n {\r\n name: 'BebasKai',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/BebasKai.otf',\r\n },\r\n {\r\n name: 'Beton CG ExtraBold',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/Beton_CG_ExtraBold_Regular.otf',\r\n },\r\n {\r\n name: 'Brush Script',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/brush-script-3.ttf',\r\n },\r\n {\r\n name: 'Century',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/richcent.woff',\r\n },\r\n {\r\n name: 'City Block',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/cityb.woff',\r\n },\r\n {\r\n name: 'Condensed Block',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/aoalpha0.woff',\r\n },\r\n {\r\n name: 'Copper',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/copgothb.woff',\r\n },\r\n {\r\n name: 'Eupo Block',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/handgotb.woff',\r\n },\r\n {\r\n name: 'Full Block',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/full_block.woff',\r\n },\r\n {\r\n name: 'Heritage',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/bebaskai-regular.woff',\r\n },\r\n {\r\n name: 'LakesightPersonalUseOnly',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/SocietyEditor_Personal_Use.ttf',\r\n },\r\n {\r\n name: 'Machine',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/machinen.woff',\r\n },\r\n {\r\n name: 'Magento',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/magnetob.woff',\r\n },\r\n {\r\n name: 'Niramit Extrabold',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/Niramit-Bold.ttf',\r\n },\r\n\r\n {\r\n name: 'Plain',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/plain.woff',\r\n },\r\n {\r\n name: 'Pro Block',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/pro_block.woff',\r\n },\r\n {\r\n name: 'Puff',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/new.woff',\r\n },\r\n {\r\n name: 'SocietyEditorPersonalUse',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/SocietyEditor_Personal_Use.ttf',\r\n },\r\n {\r\n name: 'Square',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/sqr721be.woff',\r\n },\r\n {\r\n name: 'Swiss Condensed',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/swz721bc.woff',\r\n },\r\n {\r\n name: 'Tiffany',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/tiffany.woff',\r\n },\r\n {\r\n name: 'Times',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/timesrich.woff',\r\n },\r\n {\r\n name: 'Uni Script',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/scrpjet2.woff',\r\n },\r\n];\r\nexport const textShapes = [\r\n {\r\n name: 'None',\r\n src: '',\r\n },\r\n {\r\n name: 'Arc',\r\n src: '',\r\n },\r\n {\r\n name: 'Bridge',\r\n src: '',\r\n },\r\n {\r\n name: 'Bowtie',\r\n src: '',\r\n },\r\n {\r\n name: 'Vertical Arch',\r\n src: '',\r\n },\r\n {\r\n name: 'Reverse Vertical Arch',\r\n src: '',\r\n },\r\n];\r\n\r\nexport const tabs = [\r\n { id: 1, label: 'Properties' },\r\n { id: 2, label: 'Layers' },\r\n];\r\n\r\n\r\nexport const warpTypes: { [key: string]: string } = {\r\n None: '',\r\n Arc: 'WARP_ARC',\r\n Bridge: 'WARP_ARC_LOWER',\r\n Bowtie: 'WARP_BULGE',\r\n 'Vertical Arch': 'WARP_ARCH',\r\n 'Reverse Vertical Arch': 'WARP_ARCH',\r\n};\r\n\r\nexport const textProperties = [\r\n 'pathData',\r\n 'colorFill',\r\n 'id',\r\n 'shapeSize',\r\n 'shapeType',\r\n 'fill',\r\n 'fontFamily',\r\n 'fontWeight',\r\n 'stroke',\r\n 'strokeWidth',\r\n 'padding',\r\n 'fontSize',\r\n 'charSpacing',\r\n 'textAlign',\r\n 'fontStyle',\r\n 'text',\r\n];","import React from 'react';\r\n\r\nconst errorPopup = ({ allColor }) => {\r\n return (\r\n <>\r\n <div className=\"errorPanel flex z-[100] w-full py-[20px]\">\r\n <div className=\"text-[#E11A38] text-[16px] font-size-[14px] font-bold flex-col\">\r\n <span className=\"flex\">COLORS IN DESIGN ({allColor.length})</span>\r\n <span className=\"flex\">\r\n MAX COLORS EXCEEDED, REDUCE THE TOTAL COLOR COUNT TO 8 OR FEWER\r\n COLORS PER SIDE.\r\n </span>\r\n {/* <div className=\"flex mt-3\">\r\n {allColor?.map((item) => {\r\n return (\r\n <div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group mr-[16px]`}\r\n style={{ backgroundColor: item }}\r\n />\r\n );\r\n })} */}\r\n {/*<div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group bg-[#000000] mr-[16px]`}\r\n />\r\n <div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group bg-[#ffffff] mr-[16px]`}\r\n />\r\n <div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group bg-[#DE802E] mr-[16px]`}\r\n />\r\n <div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group bg-[#D13F42] mr-[16px]`}\r\n />\r\n <div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group bg-[#DE802E] mr-[16px]`}\r\n />\r\n <div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group bg-[#D13F42] mr-[16px]`}\r\n />\r\n <div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group bg-[#010101] mr-[16px]`}\r\n />\r\n <div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group bg-[#BBBBBB] mr-[16px]`}\r\n />\r\n <div\r\n className={`border border-[#D6D6D6] w-[30px] h-[30px] group bg-[#E4BB30] mr-[16px]`}\r\n /> */}\r\n {/* </div> */}\r\n </div>\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nexport default errorPopup;\r\n","import React, { } from 'react';\r\nimport { FiAlignLeft, FiAlignCenter, FiAlignRight } from 'react-icons/fi';\r\nimport {\r\n INPUT_BG_COLOR,\r\n TEXT_COLOR_1,\r\n TEXT_SIZE_3,\r\n BORDER_COLOR_1,\r\n SELECT_BG_COLOR,\r\n} from '../../theme';\r\nimport { ColorImpl } from '../colorPallet';\r\nimport {\r\n fontFamilies,\r\n textShapes,\r\n} from './constants';\r\n\r\nexport const TextProperties = ({\r\n textInfo,\r\n onTextChange,\r\n textSelected,\r\n fontChange,\r\n textStyle,\r\n activeSelection,\r\n setDisplayPallet,\r\n setPosition,\r\n textColorChange,\r\n fontStyle,\r\n textAlignDisplay,\r\n activeButton,\r\n textAlignHandler,\r\n textOutlineHandler,\r\n strokeColorChange,\r\n textSpacingHandler,\r\n textShapeChange,\r\n shapeSizeVal,\r\n textShapeSizeHandler,\r\n}) => {\r\n return (\r\n <div className=\"\">\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">Enter Text</div>\r\n <textarea\r\n value={textInfo}\r\n onChange={onTextChange}\r\n className=\"w-[100%] border border-solid-[1px] border-[#9A9A9A] py-[10px] pl-[16px] mb-[16.5px]\"\r\n placeholder=\"LOGO TEXT\"\r\n />\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">Select Font</div>\r\n <select\r\n name=\"FontStyleNumber\"\r\n id=\"FontStyleNumber\"\r\n value={textSelected.fontFamily}\r\n onChange={fontChange}\r\n className={`${INPUT_BG_COLOR} font-bold ${TEXT_COLOR_1} ${TEXT_SIZE_3} border border-solid\t ${BORDER_COLOR_1} select select-bordered w-full rounded-none focus:outline-offset-0 focus:rounded-sm mb-[16.5px]`}\r\n >\r\n {fontFamilies.map((list) => {\r\n return (\r\n <>\r\n <option value={list.name}>{list.name}</option>\r\n </>\r\n );\r\n })}\r\n </select>\r\n\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">Style</div>\r\n <div className=\"flex gap-x-[15px] mb-[16.5px]\">\r\n {' '}\r\n <button\r\n disabled={\r\n textSelected &&\r\n textSelected.shapeType &&\r\n textSelected.shapeType !== 'none'\r\n }\r\n className={\r\n textSelected.fontWeight === 'bold'\r\n ? `${SELECT_BG_COLOR} text-[#fff] text-base cursor-pointer border font-bold border-[#EBEBEB] py-[7px] px-[25px] `\r\n : 'bg-[#fff] font-bold text-base cursor-pointer border border-[#EBEBEB] py-[7px] px-[25px]'\r\n }\r\n style={\r\n textSelected &&\r\n textSelected.shapeType &&\r\n textSelected.shapeType !== 'none'\r\n ? {\r\n color: '#cccccc',\r\n cursor: 'default',\r\n backgroundColor: '#ffffff',\r\n }\r\n : {}\r\n }\r\n onClick={(e) => textStyle(e, 'fontWeight', 'bold')}\r\n id=\"bold\"\r\n >\r\n B\r\n </button>\r\n <button\r\n disabled={\r\n textSelected &&\r\n textSelected.shapeType &&\r\n textSelected.shapeType !== 'none'\r\n }\r\n className={\r\n textSelected.fontStyle && textSelected.fontStyle === 'italic'\r\n ? `${SELECT_BG_COLOR} text-[#fff] text-base cursor-pointer border italic border-[#EBEBEB] py-[7px] px-[25px] `\r\n : 'bg-[#fff] italic text-base cursor-pointer border border-[#EBEBEB] py-[7px] px-[25px]'\r\n }\r\n style={\r\n textSelected &&\r\n textSelected.shapeType &&\r\n textSelected.shapeType !== 'none'\r\n ? {\r\n color: '#cccccc',\r\n cursor: 'default',\r\n backgroundColor: '#ffffff',\r\n }\r\n : {}\r\n }\r\n onClick={(e) => textStyle(e, 'fontStyle', 'italic')}\r\n id=\"italic\"\r\n >\r\n I\r\n </button>\r\n <button\r\n disabled={\r\n textSelected &&\r\n textSelected.shapeType &&\r\n textSelected.shapeType !== 'none'\r\n }\r\n className={\r\n textSelected.underline && textSelected.underline === true\r\n ? `${SELECT_BG_COLOR} text-[#fff] text-base cursor-pointer border underline border-[#EBEBEB] py-[7px] px-[25px] `\r\n : 'bg-[#fff] underline text-base cursor-pointer border border-[#EBEBEB] py-[7px] px-[25px]'\r\n }\r\n style={\r\n textSelected &&\r\n textSelected.shapeType &&\r\n textSelected.shapeType !== 'none'\r\n ? {\r\n color: '#cccccc',\r\n cursor: 'default',\r\n backgroundColor: '#ffffff',\r\n }\r\n : {}\r\n }\r\n onClick={(e) => textStyle(e, 'underline', !fontStyle.underline)}\r\n id=\"underline\"\r\n >\r\n U\r\n </button>\r\n </div>\r\n\r\n {textAlignDisplay === true && (\r\n <div className=\"textAlign\">\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">Align</div>\r\n <div className=\"flex gap-x-[15px] mb-[16.5px]\">\r\n <button\r\n type=\"button\"\r\n className={\r\n 'left' === activeButton\r\n ? `${SELECT_BG_COLOR} text-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[25px] `\r\n : 'bg-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[25px]'\r\n }\r\n id=\"left\"\r\n onClick={textAlignHandler}\r\n >\r\n <FiAlignLeft id=\"left\" onClick={textAlignHandler} />\r\n </button>\r\n <button\r\n type=\"button\"\r\n className={\r\n 'center' === activeButton\r\n ? `${SELECT_BG_COLOR} text-[#fff] cursor-pointer border border-[#EBEBEB] y-[7px] px-[25px] `\r\n : 'bg-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[25px]'\r\n }\r\n id=\"center\"\r\n onClick={textAlignHandler}\r\n >\r\n <FiAlignCenter id=\"center\" onClick={textAlignHandler} />\r\n </button>\r\n <button\r\n type=\"button\"\r\n className={\r\n 'right' === activeButton\r\n ? `${SELECT_BG_COLOR} text-[#fff] cursor-pointer border border-[#EBEBEB] y-[7px] px-[25px] `\r\n : 'bg-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[25px]'\r\n }\r\n id=\"right\"\r\n onClick={textAlignHandler}\r\n >\r\n <FiAlignRight id=\"right\" onClick={textAlignHandler} />\r\n </button>\r\n </div>\r\n </div>\r\n )}\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">Text Color</div>\r\n <div className=\"relative flex\">\r\n <ColorImpl\r\n mClass={'ml-0'}\r\n handleChange={textColorChange}\r\n property={'backgroundColor'}\r\n name={'backgroundColor'}\r\n color={activeSelection.fill}\r\n setDisplayPallet={setDisplayPallet}\r\n setPosition={setPosition}\r\n callback={textColorChange}\r\n />\r\n </div>\r\n <div className=\"flex gap-2 mt-4\">\r\n <div>\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n Outline Size\r\n </div>\r\n <input\r\n type=\"number\"\r\n id=\"outlineSize\"\r\n name=\"outlineSize\"\r\n step=\"0.2\"\r\n value={textSelected.strokeWidth}\r\n className=\"border border-[#EBEBEB] py-[10px] pl-[16px] mb-[16.5px] w-[145px]\"\r\n onChange={textOutlineHandler}\r\n ></input>\r\n </div>\r\n <div>\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n Outline Color\r\n </div>\r\n <div className=\"relative flex\">\r\n {' '}\r\n <ColorImpl\r\n mClass={'ml-0'}\r\n handleChange={strokeColorChange}\r\n property={'backgroundColor'}\r\n name={'backgroundColor'}\r\n color={activeSelection.stroke}\r\n setDisplayPallet={setDisplayPallet}\r\n setPosition={setPosition}\r\n callback={strokeColorChange}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"flex gap-2\">\r\n <div>\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n Letter Spacing\r\n </div>\r\n <input\r\n disabled={\r\n textSelected &&\r\n textSelected.shapeType &&\r\n textSelected.shapeType !== 'none'\r\n }\r\n type=\"number\"\r\n id=\"spacing\"\r\n name=\"spacing\"\r\n step=\"10\"\r\n value={textSelected.charSpacing}\r\n className=\"border border-[#EBEBEB] py-[10px] pl-[16px] mb-[16.5px] w-[145px]\"\r\n onChange={textSpacingHandler}\r\n ></input>\r\n </div>\r\n </div>\r\n <div className=\"flex gap-2\">\r\n <div className=\"w-[50%]\">\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n Text Shape\r\n </div>\r\n <select\r\n name=\"textShape\"\r\n id=\"textShape\"\r\n value={textSelected.shapeType ? textSelected.shapeType : 'None'}\r\n onChange={textShapeChange}\r\n // className={`${INPUT_BG_COLOR} font-bold ${TEXT_COLOR_1} ${TEXT_SIZE_3} border border-solid   ${BORDER_COLOR_1} select select-bordered w-full rounded-none focus:outline-current focus:outline-offset-0 focus:rounded-sm mb-[16.5px]`}\r\n className={`${INPUT_BG_COLOR} font-bold ${TEXT_COLOR_1} ${TEXT_SIZE_3} border border-solid   ${BORDER_COLOR_1} select select-bordered w-full rounded-none focus:outline-offset-0 focus:rounded-sm mb-[16.5px] ml-[2px]`}\r\n >\r\n {textShapes.map((list) => {\r\n return (\r\n <>\r\n <option value={list.name}>{list.name}</option>\r\n </>\r\n );\r\n })}\r\n </select>\r\n </div>\r\n <div className=\"w-[50%]\">\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n Shape Size\r\n </div>\r\n <input\r\n type=\"number\"\r\n id=\"shapeSize\"\r\n name=\"shapeSize\"\r\n step=\"10\"\r\n value={shapeSizeVal}\r\n className=\"border border-[#EBEBEB] py-[10px] pl-[16px] mb-[16.5px] w-[145px]\"\r\n onChange={textShapeSizeHandler}\r\n ></input>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};","import { fabric } from 'fabric';\r\nimport React, { useState, useMemo, ChangeEvent } from 'react';\r\nimport { MdOutlineCancel } from 'react-icons/md';\r\nimport shallow from 'zustand/shallow';\r\nimport { use3dddPlus } from '../../store';\r\nimport { load } from 'opentype.js';\r\nimport { ColorImpl } from '../colorPallet';\r\nimport { IconButton, HorizontalFlip, VerticalFlip } from '../icon';\r\nimport { fontFamilies, textProperties, warpTypes } from './constants';\r\nimport Configuration from '../../configuration.json';\r\nimport ErrorPopup from '../canvas/errorPopUp';\r\nimport { TextProperties } from './TextProperties';\r\n\r\nconst ErrorColorDiv = ({ setIsNextClicked, conflictColors }) => {\r\n return (\r\n <div\r\n className=\"mb-[10px]\"\r\n style={{\r\n position: 'absolute',\r\n backgroundColor: '#FFFFFF',\r\n bottom: 0,\r\n padding: '7px',\r\n }}\r\n >\r\n <IconButton\r\n label=\"Close\"\r\n icon={<MdOutlineCancel />}\r\n onClick={() => {\r\n setIsNextClicked(false);\r\n }}\r\n className={''}\r\n size=\"1.5rem\"\r\n style={{\r\n position: 'absolute',\r\n cursor: 'pointer',\r\n fontWeight: 'bold',\r\n right: 10,\r\n top: -7,\r\n color: '#FF0000',\r\n }}\r\n ></IconButton>\r\n <div\r\n className=\"text-[#E11A38]\"\r\n style={{ fontWeight: 'bold', marginBottom: '3px' }}\r\n >\r\n ERROR: CONFLICT IN COLOR USED\r\n </div>\r\n <div className=\"text-[#E11A38]\" style={{ marginBottom: '3px' }}>\r\n Note: The following colors used are not available in Richardson color\r\n palette. Please edit the colors used.\r\n </div>\r\n <div>\r\n {conflictColors.map((c: string, i: number) => {\r\n return (\r\n <div\r\n key={'color-' + i}\r\n style={{\r\n width: '100%',\r\n height: '30px',\r\n lineHeight: '30px',\r\n backgroundColor: c,\r\n textAlign: 'center',\r\n marginBottom: '3px',\r\n }}\r\n >\r\n <span\r\n style={{\r\n color: '#ffffff',\r\n mixBlendMode: 'difference',\r\n }}\r\n >\r\n {c}\r\n </span>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport const Properties = ({\r\n textSelected,\r\n activeTab,\r\n canvas,\r\n setIsNextClicked,\r\n onSave,\r\n conflictColors,\r\n isNextClicked,\r\n setDisplayPallet,\r\n setPosition,\r\n}) => {\r\n const [\r\n colorFill,\r\n currentSelection,\r\n activeSelection,\r\n textInfo,\r\n activeObj,\r\n allColor,\r\n ] = use3dddPlus(\r\n (state) => [\r\n state.colorFill,\r\n state.currentSelection,\r\n state.activeSelection,\r\n state.textInfo,\r\n state.activeSelection,\r\n state.allColor,\r\n ],\r\n shallow\r\n );\r\n\r\n const [textAlignDisplay, setTextAlignDisplay] = useState(false);\r\n\r\n const [fontStyle, setFontStyle] = useState({\r\n bold: false,\r\n italic: false,\r\n underline: false,\r\n });\r\n const [activeButton, setActiveButton] = useState<string | null>(null);\r\n const [shapeSizeVal, setShapeSizeVal] = useState(50);\r\n const [textLength, setTextLength] = useState(\r\n textSelected && textSelected.text ? textSelected.text.length : 0\r\n );\r\n const [bridgeshapeBendSize, setBridgeShapeBendSize] = useState(-25);\r\n const [bowtieshapeBendSize, setBowtieShapeBendSize] = useState(-12);\r\n\r\n const textShapeSizeHandler = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const newSize = e.target.valueAsNumber;\r\n setShapeSizeVal(newSize);\r\n\r\n const state = use3dddPlus.getState();\r\n\r\n if (textSelected) {\r\n textSelected.shapeSize = newSize;\r\n state.updateModifaction(true);\r\n state.forIconCapture();\r\n textSelected.icon = state.iconImage;\r\n setShapeSizeOnTextPath(newSize);\r\n canvas.renderAll();\r\n\r\n if (textSelected.aCoords.tr.x > 480) {\r\n return;\r\n }\r\n }\r\n };\r\n\r\n const setShapeSizeOnTextPath = (val: number) => {\r\n if (!textSelected || !textSelected.pathData) {\r\n return;\r\n }\r\n\r\n const applyTextProperties = (newTextPath: any, textSelected: any) => {\r\n textProperties.forEach((prop) => {\r\n newTextPath[prop] = textSelected[prop];\r\n });\r\n };\r\n\r\n const setNewPathDimensions = (\r\n newTextPath: any,\r\n dims: any,\r\n textSelected: any\r\n ) => {\r\n newTextPath.left = textSelected.left;\r\n newTextPath.top = textSelected.top;\r\n newTextPath.width = textSelected.width;\r\n newTextPath.height = textSelected.height;\r\n newTextPath.scaleX =\r\n textSelected.scaleX * (textSelected.width / dims.width);\r\n newTextPath.scaleY =\r\n textSelected.scaleY * (textSelected.width / dims.width);\r\n newTextPath.setCoords();\r\n newTextPath.width = dims.width;\r\n newTextPath.height = dims.height;\r\n };\r\n\r\n const state = use3dddPlus.getState();\r\n const canvas = state.fabricCanvas;\r\n // @ts-ignore\r\n const path = new Path(textSelected.pathData.toClipPathSVG());\r\n textSelected.shapeSize = val;\r\n\r\n const bendValue = val / 100 || 0;\r\n const warpType = warpTypes[textSelected.shapeType];\r\n\r\n if (warpType) {\r\n path.warp({ type: warpType, bend: bendValue });\r\n }\r\n\r\n const newTextPath = new fabric.Path(path.output());\r\n applyTextProperties(newTextPath, textSelected);\r\n // @ts-ignore\r\n const dimensions = newTextPath._calcDimensions();\r\n setNewPathDimensions(newTextPath, dimensions, textSelected);\r\n\r\n canvas.remove(textSelected);\r\n canvas.add(newTextPath);\r\n canvas.setActiveObject(newTextPath);\r\n\r\n state.activeSelection = newTextPath;\r\n state.forIconCapture();\r\n // @ts-ignore\r\n newTextPath.icon = state.iconImage;\r\n\r\n updateStoreAllObject(newTextPath);\r\n canvas.renderAll();\r\n };\r\n\r\n const onTextChange = async (e: ChangeEvent<HTMLTextAreaElement>) => {\r\n const textValue = e.target.value;\r\n const lines = textValue.split('\\n');\r\n setTextAlignDisplay(lines.length > 1);\r\n\r\n const state = use3dddPlus.getState();\r\n const isFontWithCamelCase = Configuration.fontWithCamelCase.includes(\r\n textSelected.fontFamily\r\n );\r\n const formattedText = isFontWithCamelCase\r\n ? textValue.toUpperCase()\r\n : textValue;\r\n\r\n use3dddPlus.setState({ textInfo: formattedText });\r\n textSelected.text = formattedText;\r\n\r\n if (currentSelection === 'path') {\r\n await textShapeChange(textSelected.shapeType, true);\r\n }\r\n\r\n reduceFontSize();\r\n textSelected.setCoords();\r\n canvas.renderAll();\r\n reduceFontSize();\r\n canvas.renderAll();\r\n\r\n state.updateModifaction(true);\r\n state.forIconCapture();\r\n textSelected.icon = state.iconImage;\r\n };\r\n\r\n const textAlignHandler = async (e: any) => {\r\n const textAlign = e.currentTarget.id;\r\n\r\n setActiveButton(textAlign);\r\n textSelected.set('textAlign', textAlign);\r\n\r\n if (currentSelection === 'path') {\r\n await textShapeChange(textSelected.shapeType, true);\r\n }\r\n\r\n const state = use3dddPlus.getState();\r\n state.updateModifaction(true);\r\n state.forIconCapture();\r\n textSelected.icon = state.iconImage;\r\n\r\n canvas.requestRenderAll();\r\n };\r\n\r\n const fontChange = async (e: ChangeEvent<HTMLSelectElement>) => {\r\n const fontFamily = e.target.value;\r\n textSelected.set('fontFamily', fontFamily);\r\n textSelected.set({ text: textInfo, charSpacing: 0 });\r\n\r\n if (Configuration.fontWithCamelCase.includes(fontFamily)) {\r\n textSelected.set({\r\n text: textSelected.text.toUpperCase(),\r\n charSpacing: 5,\r\n });\r\n }\r\n\r\n if (currentSelection === 'path') {\r\n await textShapeChange(textSelected.shapeType, true);\r\n }\r\n\r\n const state = use3dddPlus.getState();\r\n state.forIconCapture();\r\n textSelected.icon = state.iconImage;\r\n canvas.requestRenderAll();\r\n reduceFontSize();\r\n state.updateModifaction(true);\r\n };\r\n\r\n const textColorChange = (_property: string, color: string) => {\r\n textSelected.set({\r\n fill: color,\r\n colorFill: { layer0: color },\r\n });\r\n\r\n const state = use3dddPlus.getState();\r\n state.updateModifaction(true);\r\n state.forIconCapture();\r\n textSelected.icon = state.iconImage;\r\n canvas.requestRenderAll();\r\n };\r\n\r\n const textOutlineHandler = (e: ChangeEvent<HTMLInputElement>) => {\r\n const activeText = canvas.getActiveObject();\r\n if (!activeText) {\r\n return;\r\n }\r\n\r\n if (currentSelection === 'path') {\r\n textShapeChange(textSelected.shapeType, true);\r\n }\r\n\r\n if (activeText.type === 'text') {\r\n activeText.set({\r\n strokeWidth: parseFloat(e.target.value),\r\n });\r\n\r\n const state = use3dddPlus.getState();\r\n state.updateModifaction(true);\r\n state.forIconCapture();\r\n activeText.icon = state.iconImage;\r\n activeText.canvas.requestRenderAll();\r\n }\r\n };\r\n\r\n const strokeColorChange = (_property: string, color: string) => {\r\n textSelected.set('stroke', color);\r\n\r\n const state = use3dddPlus.getState();\r\n state.updateModifaction(true);\r\n state.forIconCapture();\r\n textSelected.icon = state.iconImage;\r\n canvas.requestRenderAll();\r\n };\r\n\r\n const textSpacingHandler = (e) => {\r\n // setSpacinglineVal(e.target.valueAsNumber);\r\n let dublicateText = textSelected;\r\n let oldCharSpacing = dublicateText.charSpacing;\r\n dublicateText.charSpacing = e.target.valueAsNumber;\r\n const brNew = dublicateText.getBoundingRect();\r\n if (\r\n brNew.width + brNew.left + 45 >= dublicateText.canvas.width ||\r\n brNew.height + brNew.top >= dublicateText.canvas.height ||\r\n brNew.left < 0 ||\r\n brNew.top < 0\r\n ) {\r\n if (textSelected.charSpacing > e.target.valueAsNumber) {\r\n textSelected.charSpacing = e.target.valueAsNumber;\r\n if (currentSelection === 'path') {\r\n textShapeChange(textSelected.shapeType, true);\r\n }\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n canvas.renderAll();\r\n if (textSelected.aCoords.tr.x > 480) {\r\n return;\r\n }\r\n }\r\n } else {\r\n textSelected.charSpacing = e.target.valueAsNumber;\r\n if (currentSelection === 'path') {\r\n textShapeChange(textSelected.shapeType, true);\r\n }\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n const brNew = textSelected.getBoundingRect();\r\n if (\r\n brNew.width + brNew.left + 45 >= dublicateText.canvas.width ||\r\n brNew.height + brNew.top >= dublicateText.canvas.height ||\r\n brNew.left < 0 ||\r\n brNew.top < 0\r\n ) {\r\n textSelected.charSpacing = oldCharSpacing;\r\n }\r\n use3dddPlus.getState().updateModifaction(true);\r\n canvas.renderAll();\r\n if (textSelected.aCoords.tr.x > 480) {\r\n return;\r\n }\r\n }\r\n };\r\n const textStyle = (e: any, key: string, value: any) => {\r\n if (fontStyle[e.target.id]) textSelected.set(key, '');\r\n else textSelected.set(key, value);\r\n setFontStyle((state) => ({ ...state, [e.target.id]: !state[e.target.id] }));\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n canvas.renderAll();\r\n };\r\n\r\n const changeSVGTextColor = (property, color) => {\r\n const previousColor = property;\r\n canvas.getObjects().map((data) => {\r\n if (data.type === 'text') {\r\n let _C = data.fill;\r\n if (_C === previousColor) {\r\n data.set({\r\n fill: color,\r\n colorFill: { layer0: color },\r\n });\r\n }\r\n // canvas.renderAll();\r\n } else if (data.type === 'path') {\r\n let _C = data.fill;\r\n if (_C === previousColor) {\r\n data.set({\r\n fill: color,\r\n colorFill: { layer0: color },\r\n });\r\n }\r\n // canvas.renderAll();\r\n } else if (data.type === 'group') {\r\n // console.log(data);\r\n let objImage = data._objects;\r\n objImage.forEach((ele) => {\r\n const _C =\r\n ele.fill === 'transparent' ||\r\n (typeof ele.fill === 'string' && ele.fill.includes('#'))\r\n ? ele.fill\r\n : RGBToHex(ele.fill);\r\n if (_C === previousColor) {\r\n ele.set({\r\n fill: color,\r\n colorFill: { layer0: color },\r\n });\r\n }\r\n });\r\n const colorFill = { ...data.colorFill };\r\n Object.keys(colorFill).forEach((item) => {\r\n if (colorFill[item] === previousColor) {\r\n colorFill[item] = color;\r\n }\r\n });\r\n data.set({\r\n colorFill: colorFill,\r\n });\r\n }\r\n if (data && data.icon) {\r\n data.icon = data.toDataURL('image/png');\r\n } else if (data._objects && data._objects.length) {\r\n data._objects[0].icon = data.toDataURL('image/png');\r\n }\r\n });\r\n canvas.renderAll();\r\n use3dddPlus.getState().updateModifaction(true);\r\n };\r\n\r\n const changeSVGColor = (property, color) => {\r\n const fillColor = colorFill;\r\n const previousColor = fillColor[property];\r\n const SelectedObjet = use3dddPlus.getState().activeSelection;\r\n let objImage = SelectedObjet._objects;\r\n objImage.forEach((ele) => {\r\n const _C =\r\n ele.fill === 'transparent' ||\r\n (typeof ele.fill === 'string' && ele.fill.includes('#'))\r\n ? ele.fill\r\n : RGBToHex(ele.fill);\r\n if (_C === previousColor) {\r\n ele.set({\r\n fill: color,\r\n colorFill: { layer0: color },\r\n });\r\n }\r\n });\r\n\r\n const tempColorFill = { ...SelectedObjet.colorFill };\r\n Object.keys(tempColorFill).forEach((item) => {\r\n if (tempColorFill[item] === previousColor) {\r\n tempColorFill[item] = color;\r\n }\r\n });\r\n SelectedObjet.set({\r\n colorFill: tempColorFill,\r\n });\r\n\r\n canvas.renderAll();\r\n // fillColor[property] = color;\r\n // use3dddPlus.setState({ colorFill: fillColor });\r\n use3dddPlus.setState({ colorFill: tempColorFill });\r\n use3dddPlus.getState().forIconCapture();\r\n SelectedObjet.icon = use3dddPlus.getState().iconImage;\r\n use3dddPlus.getState().updateModifaction(true);\r\n };\r\n\r\n const textToPath = async (objects) => {\r\n let promises = [];\r\n let pathObj = null;\r\n objects.forEach((object) => {\r\n promises = [\r\n ...promises,\r\n new Promise((resolve) => {\r\n // console.log(object.type)\r\n if (object.type === 'text') {\r\n // console.log(object.fontFamily);\r\n let fontSource = fontFamilies.filter(\r\n (o) => o.name === object.fontFamily\r\n )[0].src;\r\n // console.log(fontSource);\r\n load(fontSource, (error, font) => {\r\n if (error) {\r\n console.error(error);\r\n }\r\n // console.log(\"font loaded\", font);\r\n const path = font.getPath(object.text, 0, 0, object.fontSize, {\r\n fontSize: object.get('fontSize'),\r\n fill: object.get('fill'),\r\n stroke: object.get('stroke'),\r\n strokeWidth: object.get('strokeWidth'),\r\n });\r\n const fabricPath = new fabric.Path(path.toPathData(20), {});\r\n pathObj = fabricPath;\r\n resolve(pathObj);\r\n });\r\n }\r\n }),\r\n ];\r\n });\r\n //resolve all promises\r\n await Promise.all(promises);\r\n //return it\r\n // console.log(pathObj)\r\n return pathObj;\r\n };\r\n\r\n const bridgeShapeChange = () => {\r\n if (textSelected && textSelected.shapeType) {\r\n if (\r\n textSelected &&\r\n textSelected.text &&\r\n textSelected.text.length > textLength\r\n ) {\r\n if (textSelected.shapeType === 'Bridge') {\r\n setBridgeShapeBendSize(bridgeshapeBendSize + 3);\r\n } else {\r\n setBowtieShapeBendSize(bowtieshapeBendSize + 1);\r\n }\r\n } else {\r\n if (textSelected.shapeType === 'Bridge') {\r\n setBridgeShapeBendSize(bridgeshapeBendSize - 2);\r\n } else {\r\n setBowtieShapeBendSize(bowtieshapeBendSize - 1);\r\n }\r\n }\r\n if (textSelected && textSelected.text && textSelected.text.length > 10) {\r\n setBridgeShapeBendSize(-10);\r\n setBowtieShapeBendSize(-5);\r\n }\r\n setTextLength(textSelected.text.length);\r\n }\r\n };\r\n const textShapeChange = async (\r\n e,\r\n textChange = false,\r\n fontSize = null,\r\n charSpacing = null,\r\n strokeWidth = null,\r\n fontWeight = null,\r\n textAlign = null,\r\n fontStyle = null\r\n ) => {\r\n let pathData = null;\r\n let p = null;\r\n let shapeType = e && e.target ? e.target.value : e;\r\n if (!shapeType) {\r\n shapeType = textSelected.shapeType;\r\n }\r\n // setShapeType(shapeType);\r\n // if the selection is a text object then convert the text into path for shape deformation\r\n if (currentSelection === 'text') {\r\n pathData = await textToPath([textSelected]);\r\n //@ts-ignore\r\n p = new Path(pathData.toClipPathSVG());\r\n setBridgeShapeBendSize(-25);\r\n setBowtieShapeBendSize(-12);\r\n setTextLength(textSelected.text.length);\r\n }\r\n // when user changes the text value & text shape is applied\r\n else if (currentSelection === 'path' && textChange) {\r\n if (textSelected.text == '' || textSelected.text.trim() == '') {\r\n textSelected.path = [];\r\n textSelected._removeCacheCanvas();\r\n canvas.renderAll();\r\n return;\r\n }\r\n // create a temp text with same properties & convert to path\r\n const text: any = new fabric.Text(textSelected.text, {\r\n lineHeight: 1,\r\n fill: textSelected.fill,\r\n fontFamily: textSelected.fontFamily,\r\n fontWeight: fontWeight ? fontWeight : textSelected.fontWeight,\r\n top: textSelected.top,\r\n left: textSelected.left,\r\n stroke: textSelected.stroke,\r\n strokeWidth: strokeWidth ? strokeWidth : textSelected.strokeWidth,\r\n fontStyle: fontStyle ? fontStyle : textSelected.fontStyle,\r\n paintFirst: 'stroke',\r\n charSpacing: charSpacing ? charSpacing : textSelected.charSpacing,\r\n padding: textSelected.padding,\r\n fontSize: fontSize ? fontSize : textSelected.fontSize,\r\n textAlign: textAlign ? textAlign : textSelected.textAlign,\r\n name: 'text',\r\n lockScalingFlip: true,\r\n centeredScaling: true,\r\n text: textSelected.text,\r\n width: textSelected.width,\r\n height: textSelected.height,\r\n });\r\n text.set({\r\n //@ts-ignore\r\n colorFill: textSelected.colorFill,\r\n fontWeight: fontWeight,\r\n });\r\n // let dims = fabricPath._calcDimensions();\r\n text.left = textSelected.left;\r\n text.top = textSelected.top;\r\n text.width = textSelected.width;\r\n text.height = textSelected.height;\r\n text.scaleX = textSelected.scaleX;\r\n text.scaleY = textSelected.scaleY;\r\n text.id = textSelected.id;\r\n\r\n pathData = await textToPath([text]);\r\n //@ts-ignore\r\n p = new Path(pathData.toClipPathSVG());\r\n }\r\n // when the selection is path but no change in the text string\r\n else if (currentSelection === 'path' && !textChange) {\r\n pathData = textSelected.pathData;\r\n //@ts-ignore\r\n p = new Path(pathData.toClipPathSVG());\r\n } else {\r\n return;\r\n }\r\n // console.log(shapeType)\r\n switch (shapeType) {\r\n case 'None': {\r\n setShapeSizeVal(0);\r\n textSelected.shapeType = 'None';\r\n // revert back to text type object\r\n const text: any = new fabric.Text(textSelected.text, {\r\n lineHeight: 1,\r\n fill: textSelected.fill,\r\n fontFamily: textSelected.fontFamily,\r\n fontWeight: fontWeight ? fontWeight : textSelected.fontWeight,\r\n top: textSelected.top,\r\n left: textSelected.left,\r\n stroke: textSelected.stroke,\r\n strokeWidth: strokeWidth ? strokeWidth : textSelected.strokeWidth,\r\n fontStyle: fontStyle ? fontStyle : textSelected.fontStyle,\r\n paintFirst: 'stroke',\r\n charSpacing: charSpacing ? charSpacing : textSelected.charSpacing,\r\n padding: textSelected.padding,\r\n fontSize: fontSize ? fontSize : textSelected.fontSize,\r\n textAlign: textAlign ? textAlign : textSelected.textAlign,\r\n name: 'text',\r\n lockScalingFlip: true,\r\n centeredScaling: true,\r\n text: textSelected.text,\r\n });\r\n text.set({\r\n //@ts-ignore\r\n colorFill: textSelected.colorFill,\r\n fontWeight: fontWeight,\r\n });\r\n text.scaleX = textSelected.scaleX * (textSelected.width / text.width);\r\n text.scaleY = textSelected.scaleY * (textSelected.width / text.width);\r\n window['textObj'] = text;\r\n text.setCoords();\r\n text.id = textSelected.id;\r\n\r\n // set rotation angle & position\r\n text.rotate(textSelected.angle);\r\n text.left = textSelected.left;\r\n text.top = textSelected.top;\r\n\r\n // delete the active text object\r\n canvas.remove(textSelected);\r\n textSelected._removeCacheCanvas();\r\n canvas.setActiveObject(null);\r\n canvas.renderAll();\r\n\r\n // Add the text object keeping same properties\r\n canvas.add(text);\r\n text.setCoords();\r\n\r\n // set active object as path text\r\n canvas.setActiveObject(text);\r\n use3dddPlus.setState({ activeSelection: text });\r\n\r\n //@ts-ignore\r\n use3dddPlus.getState().forIconCapture();\r\n text['icon'] = use3dddPlus.getState().iconImage;\r\n updateStoreAllObject(text);\r\n // canvas.setActiveObject(text);\r\n // use3dddPlus.setState({ activeSelection: text });\r\n canvas.renderAll();\r\n // cancel performing further functions & return back from function\r\n return;\r\n }\r\n case 'Arc': {\r\n setShapeSizeVal(50);\r\n textSelected.shapeType = 'Arc';\r\n p.warp({\r\n type: 'WARP_ARC',\r\n bend: 50 / 100 || 0,\r\n });\r\n break;\r\n }\r\n case 'Bridge': {\r\n setShapeSizeVal(-25);\r\n bridgeShapeChange();\r\n textSelected.shapeType = 'Bridge';\r\n p.warp({\r\n type: 'WARP_ARC_LOWER',\r\n bend: bridgeshapeBendSize / 100 || 0,\r\n });\r\n break;\r\n }\r\n case 'Bowtie': {\r\n setShapeSizeVal(-12);\r\n bridgeShapeChange();\r\n textSelected.shapeType = 'Bowtie';\r\n p.warp({\r\n type: 'WARP_BULGE',\r\n bend: bowtieshapeBendSize / 100 || 0,\r\n });\r\n break;\r\n }\r\n case 'Vertical Arch': {\r\n setShapeSizeVal(35);\r\n textSelected.shapeType = 'Vertical Arch';\r\n p.warp({\r\n type: 'WARP_ARCH',\r\n bend: 35 / 100 || 0,\r\n });\r\n break;\r\n }\r\n case 'Reverse Vertical Arch': {\r\n setShapeSizeVal(-35);\r\n textSelected.shapeType = 'Reverse Vertical Arch';\r\n p.warp({\r\n type: 'WARP_ARCH',\r\n bend: -35 / 100 || 0,\r\n });\r\n break;\r\n }\r\n default:\r\n break;\r\n }\r\n // take out the update path with shape type deformation\r\n let fabricPath = new fabric.Path(p.output());\r\n textSelected['pathData'] = pathData;\r\n // add object only when converting from text to path\r\n if (currentSelection === 'text') {\r\n // add the path text object on canvas\r\n canvas.add(fabricPath);\r\n fabricPath['pathData'] = pathData;\r\n fabricPath['colorFill'] = textSelected.colorFill;\r\n fabricPath['shapeSize'] = shapeSizeVal;\r\n fabricPath['shapeType'] = shapeType;\r\n // carry forward the text properties over the path for further changes\r\n fabricPath['fill'] = textSelected.fill;\r\n fabricPath['fontFamily'] = textSelected.fontFamily;\r\n fabricPath['fontWeight'] = textSelected.fontWeight;\r\n fabricPath['stroke'] = textSelected.stroke;\r\n fabricPath['strokeWidth'] = textSelected.strokeWidth;\r\n fabricPath['padding'] = textSelected.padding;\r\n fabricPath['fontSize'] = textSelected.fontSize;\r\n fabricPath['charSpacing'] = textSelected.charSpacing;\r\n fabricPath['textAlign'] = textSelected.textAlign;\r\n fabricPath['fontStyle'] = textSelected.fontStyle;\r\n fabricPath['text'] = textSelected.text;\r\n fabricPath['id'] = textSelected.id;\r\n\r\n //@ts-ignore\r\n let dims = fabricPath._calcDimensions();\r\n\r\n // Set the same position scale matching with existing text\r\n fabricPath.width = textSelected.width;\r\n fabricPath.height = textSelected.height;\r\n fabricPath.scaleX =\r\n textSelected.scaleX * (textSelected.width / dims.width);\r\n fabricPath.scaleY =\r\n textSelected.scaleY * (textSelected.width / dims.width);\r\n fabricPath.setCoords();\r\n fabricPath.width = dims.width;\r\n fabricPath.height = dims.height;\r\n // set rotation angle & position\r\n fabricPath.rotate(textSelected.angle);\r\n fabricPath.left = textSelected.left;\r\n fabricPath.top = textSelected.top;\r\n // delete the text object\r\n canvas.remove(textSelected);\r\n // set active object as path text\r\n canvas.setActiveObject(fabricPath);\r\n use3dddPlus.setState({ activeSelection: fabricPath });\r\n use3dddPlus.getState().forIconCapture();\r\n fabricPath['icon'] = use3dddPlus.getState().iconImage;\r\n updateStoreAllObject(fabricPath);\r\n }\r\n // update the text path object with new shape type\r\n else {\r\n // add new textPath\r\n let newTextPath = new fabric.Path(p.output());\r\n newTextPath['pathData'] = textSelected.pathData;\r\n newTextPath['colorFill'] = textSelected.colorFill;\r\n newTextPath['shapeSize'] = textSelected.shapeSize;\r\n newTextPath['shapeType'] = textSelected.shapeType;\r\n newTextPath['fill'] = textSelected.fill;\r\n newTextPath['fontFamily'] = textSelected.fontFamily;\r\n newTextPath['fontWeight'] = textSelected.fontWeight;\r\n newTextPath['stroke'] = textSelected.stroke;\r\n newTextPath['strokeWidth'] = textSelected.strokeWidth;\r\n newTextPath['padding'] = textSelected.padding;\r\n newTextPath['fontSize'] = textSelected.fontSize;\r\n newTextPath['charSpacing'] = textSelected.charSpacing;\r\n newTextPath['textAlign'] = textSelected.textAlign;\r\n newTextPath['fontStyle'] = textSelected.fontStyle;\r\n newTextPath['text'] = textSelected.text;\r\n // set same position & scale\r\n newTextPath['width'] = textSelected.width;\r\n newTextPath['height'] = textSelected.height;\r\n\r\n //@ts-ignore\r\n let dims = newTextPath._calcDimensions();\r\n newTextPath['scaleX'] =\r\n textSelected.scaleX * (textSelected.width / dims.width);\r\n newTextPath['scaleY'] =\r\n textSelected.scaleY * (textSelected.width / dims.width);\r\n newTextPath['id'] = textSelected.id;\r\n // set rotation angle & position\r\n newTextPath.rotate(textSelected.angle);\r\n newTextPath['left'] = textSelected.left;\r\n newTextPath['top'] = textSelected.top;\r\n // delete the active text object\r\n var activeObj = canvas.getActiveObject();\r\n canvas.remove(activeObj);\r\n if (activeObj && activeObj !== null) {\r\n activeObj._removeCacheCanvas();\r\n }\r\n\r\n // add & set active new path text\r\n canvas.add(newTextPath);\r\n canvas.setActiveObject(newTextPath);\r\n use3dddPlus.setState({ activeSelection: newTextPath });\r\n newTextPath.setCoords();\r\n\r\n newTextPath.width = dims.width;\r\n newTextPath.height = dims.height;\r\n canvas.renderAll();\r\n use3dddPlus.getState().forIconCapture();\r\n newTextPath['icon'] = use3dddPlus.getState().iconImage;\r\n updateStoreAllObject(newTextPath);\r\n }\r\n canvas.renderAll();\r\n reduceFontSize();\r\n };\r\n const updateStoreAllObject = (text) => {\r\n use3dddPlus.getState().updateModifaction(true);\r\n\r\n var index = use3dddPlus\r\n .getState()\r\n .storeAllObject.findIndex((obj: any) => obj.id === textSelected.id);\r\n if (index > -1) {\r\n use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n }\r\n use3dddPlus.getState().storeAllObject.splice(index, 0, text);\r\n };\r\n\r\n const reduceFontSize = async () => {\r\n let brNew = textSelected.getBoundingRect();\r\n let canvasWidth = 0;\r\n let canvasHeight = 0;\r\n if (textSelected && textSelected.canvas && textSelected.canvas.width) {\r\n canvasWidth = textSelected.canvas.width;\r\n canvasHeight = textSelected.canvas.height;\r\n } else {\r\n canvasWidth = canvas.width;\r\n canvasHeight = canvas.height;\r\n }\r\n while (\r\n Math.ceil(brNew.width + brNew.left + 45) >= Math.floor(canvasWidth) ||\r\n Math.ceil(brNew.height + brNew.top + 10) >= Math.floor(canvasHeight) ||\r\n Math.ceil(brNew.left) < 0 ||\r\n Math.ceil(brNew.top) < 0\r\n ) {\r\n let activeObj = canvas.getActiveObject();\r\n\r\n activeObj.scale(activeObj.scaleX * 0.99);\r\n activeObj.setCoords();\r\n activeObj = canvas.getActiveObject();\r\n brNew = activeObj.getBoundingRect();\r\n canvas.renderAll();\r\n }\r\n canvas.renderAll();\r\n };\r\n\r\n const RGBToHex = (rgb) => {\r\n if (rgb) {\r\n if (rgb.indexOf('rgba') >= 0) {\r\n const rgba = rgb.replace(/^rgba?\\(|\\s+|\\)$/g, '').split(',');\r\n return `#${(\r\n (1 << 24) +\r\n (parseInt(rgba[0]) << 16) +\r\n (parseInt(rgba[1]) << 8) +\r\n parseInt(rgba[2])\r\n )\r\n .toString(16)\r\n .slice(1)}`;\r\n } else {\r\n let sep = rgb.indexOf(',') > -1 ? ',' : ' ';\r\n rgb = rgb.substr(4).split(')')[0].split(sep);\r\n let r = (+rgb[0]).toString(16),\r\n g = (+rgb[1]).toString(16),\r\n b = (+rgb[2]).toString(16);\r\n\r\n if (r.length == 1) r = '0' + r;\r\n if (g.length == 1) g = '0' + g;\r\n if (b.length == 1) b = '0' + b;\r\n return '#' + r + g + b;\r\n }\r\n } else {\r\n return '';\r\n }\r\n };\r\n const flipX = () => {\r\n activeObj.set({\r\n flipX: !activeObj.flipX,\r\n });\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n canvas.renderAll();\r\n };\r\n const flipY = () => {\r\n activeObj.set({\r\n flipY: !activeObj.flipY,\r\n });\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n // activeObj.\r\n canvas.renderAll();\r\n };\r\n\r\n const mergedColors = useMemo(() => {\r\n // FOR REMOVING ALL DUPLICATE COLOR CODES\r\n if (textSelected && textSelected?.colorFill) {\r\n let tempColors = [];\r\n let uniqueColors = {};\r\n Object.keys(textSelected?.colorFill)?.map((item: string) => {\r\n if (!tempColors.includes(textSelected?.colorFill[item])) {\r\n tempColors.push(textSelected?.colorFill[item]);\r\n uniqueColors[item] = textSelected?.colorFill[item];\r\n }\r\n });\r\n return uniqueColors;\r\n } else {\r\n return [];\r\n }\r\n }, [textSelected?.colorFill]);\r\n\r\n return (\r\n <div key={activeTab} className='flex flex-col w-full h-full'>\r\n <div\r\n className={\r\n 'overflow-y-auto overflow-x-hidden' +\r\n (!isNextClicked || !conflictColors || conflictColors.length < 1\r\n ? ' 2xl:h-[60vh] h-[50vh] sm:h-[55vh]'\r\n : '')\r\n }\r\n >\r\n {(currentSelection === 'text' || currentSelection === 'path') && (\r\n <TextProperties\r\n activeButton={activeButton}\r\n activeSelection={activeSelection}\r\n fontStyle={fontStyle}\r\n setDisplayPallet={setDisplayPallet}\r\n setPosition={setPosition}\r\n textAlignDisplay={textAlignDisplay}\r\n textInfo={textInfo}\r\n textSelected={textSelected}\r\n shapeSizeVal={shapeSizeVal}\r\n fontChange={fontChange}\r\n onTextChange={onTextChange}\r\n strokeColorChange={strokeColorChange}\r\n textAlignHandler={textAlignHandler}\r\n textColorChange={textColorChange}\r\n textOutlineHandler={textOutlineHandler}\r\n textShapeChange={textShapeChange}\r\n textShapeSizeHandler={textShapeSizeHandler}\r\n textSpacingHandler={textSpacingHandler}\r\n textStyle={textStyle}\r\n />\r\n )}\r\n {currentSelection === 'group' && (\r\n <>\r\n <div className=\"uppercase font-bold pt-[17px]\">Colors</div>\r\n <div className=\"flex flex-wrap gap-x-[1rem] mt-[12px]\">\r\n {mergedColors &&\r\n Object.keys(mergedColors)?.map((item, i) => (\r\n <ColorImpl\r\n mClass={'mb-[10px]'}\r\n key={'color-' + i}\r\n handleChange={changeSVGColor}\r\n property={item}\r\n color={activeSelection.colorFill[item]}\r\n setDisplayPallet={setDisplayPallet}\r\n setPosition={setPosition}\r\n callback={changeSVGColor}\r\n />\r\n ))}\r\n </div>\r\n <div className=\"my-[24.5px]\">\r\n <p className=\"text-[1rem] text-[#353535] flex text-left leading-[21px] font-bold mb-[12px] uppercase\">\r\n Flip\r\n </p>\r\n <div className=\"flex gap-x-[15px]\">\r\n <IconButton\r\n label=\"\"\r\n icon={<HorizontalFlip />}\r\n className=\"!w-[5.625rem] !h-[2.625rem] bg-[#fff] cursor-pointer border border-[#EBEBEB]\"\r\n size=\"1.5rem\"\r\n onClick={flipX}\r\n />\r\n <IconButton\r\n key={`index`}\r\n label=\"\"\r\n icon={<VerticalFlip />}\r\n className=\"!w-[5.625rem] !h-[2.625rem] bg-[#fff] cursor-pointer border border-[#EBEBEB]\"\r\n size=\"2.5rem\"\r\n onClick={flipY}\r\n />\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n {['selectAll', 'none'].includes(currentSelection) && (\r\n <>\r\n <div className=\"uppercase font-bold pt-[17px]\">Color in Canvas</div>\r\n <div className=\"flex flex-wrap gap-x-[1rem] mt-[12px]\">\r\n {allColor?.map((item, i) => (\r\n <ColorImpl\r\n mClass={'mb-[10px]'}\r\n key={'color-' + i}\r\n handleChange={changeSVGTextColor}\r\n property={item}\r\n color={item}\r\n setDisplayPallet={setDisplayPallet}\r\n setPosition={setPosition}\r\n callback={changeSVGTextColor}\r\n />\r\n ))}\r\n </div>\r\n {(allColor && allColor.includes('transparent')\r\n ? allColor.length - 1\r\n : allColor.length) > 8 && <ErrorPopup allColor={allColor} />}\r\n </>\r\n )}\r\n </div>\r\n {isNextClicked && conflictColors && conflictColors.length > 0 && (\r\n <ErrorColorDiv\r\n setIsNextClicked={setIsNextClicked}\r\n conflictColors={conflictColors}\r\n />\r\n )}\r\n <button\r\n type=\"button\"\r\n className=\"mt-3 inline-flex justify-center bg-white px-[110px] py-2 text-sm font-medium text-[#E11A38] shadow-sm ring-1 ring-inset ring-[#E11A38] hover:bg-gray-50 sm:mt-0 w-full\"\r\n onClick={onSave}\r\n >\r\n Save\r\n </button>\r\n </div>\r\n );\r\n};\r\n","! function(t) {\r\n var s = {};\r\n\r\n function i(h) {\r\n if (s[h]) return s[h].exports;\r\n var e = s[h] = {\r\n i: h,\r\n l: !1,\r\n exports: {}\r\n };\r\n return t[h].call(e.exports, e, e.exports, i), e.l = !0, e.exports\r\n }\r\n i.m = t, i.c = s, i.d = function(t, s, h) {\r\n i.o(t, s) || Object.defineProperty(t, s, {\r\n configurable: !1,\r\n enumerable: !0,\r\n get: h\r\n })\r\n }, i.r = function(t) {\r\n Object.defineProperty(t, \"__esModule\", {\r\n value: !0\r\n })\r\n }, i.n = function(t) {\r\n var s = t && t.__esModule ? function() {\r\n return t.default\r\n } : function() {\r\n return t\r\n };\r\n return i.d(s, \"a\", s), s\r\n }, i.o = function(t, s) {\r\n return Object.prototype.hasOwnProperty.call(t, s)\r\n }, i.p = \"\", i(i.s = 4)\r\n}([function(t, s, i) {\r\n var h = i(1),\r\n e = i(3);\r\n t.exports = class {\r\n constructor(t, s) {\r\n this.source = s, this.A = new h(s.left, s.top), this.B = new h(s.right, s.top), this.C = new h(s.right, s.bottom), this.D = new h(s.left, s.bottom), this.Aleft = new h(s.left, s.top + s.height / 3), this.Atop = new h(s.left + s.width / 3, s.top), this.Btop = new h(s.right - s.width / 3, s.top), this.Bright = new h(s.right, s.top + s.height / 3), this.Cright = new h(s.right, s.bottom - s.height / 3), this.Cbottom = new h(s.right - s.width / 3, s.bottom), this.Dbottom = new h(s.left + s.width / 3, s.bottom), this.Dleft = new h(s.left, s.bottom - s.height / 3), this.ABx = 0, this.ABy = 0, this.CDx = 0, this.CDy = 0, this.BCx = 0, this.BCy = 0, this.ADx = 0, this.ADy = 0, this.STEPS = 10, this.distortX = 0, this.distortY1 = 0, this.distortY2 = 0, this.T1 = 1 / 3, this.T2 = 2 / 3, this.kAB = 0, this.kBC = 0, this.kCD = 0, this.kAD = 0, this.angle, this.sin, this.cos, this.kt, this.applyParameters(t)\r\n }\r\n applyParameters(t) {\r\n var s = this.source,\r\n i = this._parameters = new e(t);\r\n this.angle = i.bend * Math.PI / 2, this.sin = Math.sin(this.angle), this.cos = Math.cos(this.angle), this.kt = 1 + Math.pow(i.bend, 4), this.distortX = .5 * i.distortV * s.width;\r\n var h = .5 * i.distortH * s.height;\r\n switch (this.distortY1 = h * (1 - i.distortV), this.distortY2 = h * (1 + i.distortV), this.kAB = 1 - i.distortV, this.kBC = 1 + i.distortH, this.kCD = 1 + i.distortV, this.kAD = 1 - i.distortH, this.setAnchors(), i.type) {\r\n case \"WARP_ARC\":\r\n this.setArc();\r\n break;\r\n case \"WARP_ARC_LOWER\":\r\n this.setArcLower();\r\n break;\r\n case \"WARP_ARC_UPPER\":\r\n this.setArcUpper();\r\n break;\r\n case \"WARP_ARCH\":\r\n this.setArch();\r\n break;\r\n case \"WARP_BULGE\":\r\n this.setBulge();\r\n break;\r\n case \"WARP_FLAG\":\r\n this.setFlag();\r\n break;\r\n case \"WARP_FISH\":\r\n this.setFish();\r\n break;\r\n case \"WARP_RISE\":\r\n this.setRise();\r\n break;\r\n case \"WARP_INFLATE\":\r\n this.setInflate();\r\n break;\r\n case \"WARP_SQUEEZE\":\r\n this.setSqueeze();\r\n break;\r\n case \"WARP_WAVE_LOWER\":\r\n this.setWaveLower();\r\n break;\r\n case \"WARP_WAVE_UPPER\":\r\n this.setWaveUpper()\r\n }\r\n }\r\n setAnchors() {\r\n this.A.x = this.source.left + this.distortX, this.B.x = this.source.right - this.distortX, this.C.x = this.source.right + this.distortX, this.D.x = this.source.left - this.distortX, this.A.y = this.source.top + this.distortY1, this.B.y = this.source.top - this.distortY1, this.C.y = this.source.bottom + this.distortY2, this.D.y = this.source.bottom - this.distortY2\r\n }\r\n setControls() {\r\n this.Atop.x = this.A.x + this.ABx, this.Atop.y = this.A.y + this.ABy, this.Btop.x = this.B.x - this.ABx, this.Btop.y = this.B.y - this.ABy, this.Dbottom.x = this.D.x + this.CDx, this.Dbottom.y = this.D.y + this.CDy, this.Cbottom.x = this.C.x - this.CDx, this.Cbottom.y = this.C.y - this.CDy, this.Bright.x = this.B.x + this.BCx, this.Bright.y = this.B.y + this.BCy, this.Cright.x = this.C.x - this.BCx, this.Cright.y = this.C.y - this.BCy, this.Aleft.x = this.A.x + this.ADx, this.Aleft.y = this.A.y + this.ADy, this.Dleft.x = this.D.x - this.ADx, this.Dleft.y = this.D.y - this.ADy\r\n }\r\n changeCubic(t, s, i, h) {\r\n let e = this._changePoint(t),\r\n o = this._changePoint(h),\r\n r = this.getPointOn(1 / 3, t, h, s, i),\r\n n = this.getPointOn(2 / 3, t, h, s, i),\r\n a = this._changePoint(r),\r\n y = this._changePoint(n);\r\n return this.getNewSegment(e, o, a, y)\r\n }\r\n changePoint(t) {\r\n var s = this._changePoint(t);\r\n return [s.x, s.y]\r\n }\r\n _changePoint(t) {\r\n let s = this.A,\r\n i = this.Atop,\r\n e = this.Aleft,\r\n o = this.B,\r\n r = this.Btop,\r\n n = this.Bright,\r\n a = this.C,\r\n y = this.Cright,\r\n x = this.Cbottom,\r\n c = this.D,\r\n A = this.Dbottom,\r\n C = this.Dleft;\r\n var d = (t.x - this.source.x) / this.source.width,\r\n b = (t.y - this.source.y) / this.source.height,\r\n p = 1 - b,\r\n B = this.getPointOn(b, s, c, e, C),\r\n l = this.getPointOn(b, o, a, n, y),\r\n D = new h(i.x * p + A.x * b, i.y * p + A.y * b),\r\n m = new h(r.x * p + x.x * b, r.y * p + x.y * b),\r\n k = this.getPointOn(d, B, l, D, m);\r\n return new h(k.x, k.y)\r\n }\r\n getPointOn(t, s, i, e, o) {\r\n var r = new h,\r\n n = t * t * t,\r\n a = t * t;\r\n return r.x = n * (i.x + 3 * (e.x - o.x) - s.x) + 3 * a * (s.x - 2 * e.x + o.x) + 3 * t * (e.x - s.x) + s.x, r.y = n * (i.y + 3 * (e.y - o.y) - s.y) + 3 * a * (s.y - 2 * e.y + o.y) + 3 * t * (e.y - s.y) + s.y, r\r\n }\r\n setArc() {\r\n var t = this._parameters,\r\n s = this.source,\r\n i = 1 - t.distortV;\r\n t.bend > 0 ? (this.A.x -= i * (s.height - this.distortY1) * this.sin, this.B.x += i * (s.height + this.distortY1) * this.sin, this.A.y += (s.height - this.distortY1) * (1 - this.cos), this.B.y += (s.height + this.distortY1) * (1 - this.cos), this.C.x -= this.distortY2 * this.sin, this.D.x -= this.distortY2 * this.sin, this.C.y += this.distortY2 * (this.cos - 1), this.D.y -= this.distortY2 * (this.cos - 1)) : t.bend < 0 && (this.D.x += i * (s.height - this.distortY2) * this.sin, this.C.x -= i * (s.height + this.distortY2) * this.sin, this.D.y += (s.height - this.distortY2) * (this.cos - 1), this.C.y += (s.height + this.distortY2) * (this.cos - 1), this.A.x += this.distortY1 * this.sin, this.B.x += this.distortY1 * this.sin, this.A.y -= this.distortY1 * (1 - this.cos), this.B.y += this.distortY1 * (1 - this.cos)), this.calculateArms(), this.setControls(), this.Atop.x += this.ABx * (this.cos * this.kt - 1), this.Atop.y -= this.ABx * this.sin * this.kt, this.Btop.x += this.ABx * (1 - this.cos * this.kt), this.Btop.y -= this.ABx * this.sin * this.kt, this.Dbottom.x += this.CDx * (this.cos * this.kt - 1), this.Dbottom.y -= this.CDx * this.sin * this.kt, this.Cbottom.x += this.CDx * (1 - this.cos * this.kt), this.Cbottom.y -= this.CDx * this.sin * this.kt\r\n }\r\n setFish() {\r\n var t = this._parameters;\r\n this.calculateArms(), this.setControls(), this.Atop.y -= 2 * t.bend * this.kAB * (2 * this.ADy + this.BCy), this.Btop.y += 2 * t.bend * this.kAB * (this.ADy + 2 * this.BCy), this.Dbottom.y += 2 * t.bend * this.kCD * (2 * this.ADy + this.BCy), this.Cbottom.y -= 2 * t.bend * this.kCD * (this.ADy + 2 * this.BCy)\r\n }\r\n setFlag() {\r\n this.calculateArms(), this.setControls();\r\n var t = this._parameters;\r\n this.Atop.y += 3 * t.bend * this.kAB * (this.ADy + this.BCy), this.Btop.y -= 3 * t.bend * this.kAB * (this.ADy + this.BCy), this.Dbottom.y += 3 * t.bend * this.kCD * (this.ADy + this.BCy), this.Cbottom.y -= 3 * t.bend * this.kCD * (this.ADy + this.BCy)\r\n }\r\n setBulge() {\r\n this.calculateArms(), this.setControls(), this._parameters, this.Atop.x += this.ABx * (this.cos * this.kt - 1), this.Atop.y -= this.ABx * this.sin * this.kt, this.Btop.x += this.ABx * (1 - this.cos * this.kt), this.Btop.y -= this.ABx * this.sin * this.kt, this.Dbottom.x += this.CDx * (this.cos * this.kt - 1), this.Dbottom.y += this.CDx * this.sin * this.kt, this.Cbottom.x += this.CDx * (1 - this.cos * this.kt), this.Cbottom.y += this.CDx * this.sin * this.kt\r\n }\r\n setArch() {\r\n this.calculateArms(), this.setControls(), this._parameters, this.Atop.x += this.ABx * (this.cos * this.kt - 1), this.Atop.y -= this.ABx * this.sin * this.kt, this.Btop.x += this.ABx * (1 - this.cos * this.kt), this.Btop.y -= this.ABx * this.sin * this.kt, this.Dbottom.x += this.CDx * (this.cos * this.kt - 1), this.Dbottom.y -= this.CDx * this.sin * this.kt, this.Cbottom.x += this.CDx * (1 - this.cos * this.kt), this.Cbottom.y -= this.CDx * this.sin * this.kt\r\n }\r\n setArcLower() {\r\n this.calculateArms(), this.setControls(), this._parameters, this.Dbottom.x += this.CDx * (this.cos * this.kt - 1), this.Dbottom.y += this.CDx * this.sin * this.kt, this.Cbottom.x += this.CDx * (1 - this.cos * this.kt), this.Cbottom.y += this.CDx * this.sin * this.kt\r\n }\r\n setArcUpper() {\r\n this.calculateArms(), this.setControls(), this._parameters, this.Atop.x += this.ABx * (this.cos * this.kt - 1), this.Atop.y -= this.ABx * this.sin * this.kt, this.Btop.x += this.ABx * (1 - this.cos * this.kt), this.Btop.y -= this.ABx * this.sin * this.kt\r\n }\r\n setSqueeze() {\r\n this.calculateArms(), this.setControls();\r\n var t = this._parameters;\r\n this.Atop.y -= t.bend * this.kAB * this.ADy, this.Btop.y -= t.bend * this.kAB * this.BCy, this.Dbottom.y += t.bend * this.kCD * this.ADy, this.Cbottom.y += t.bend * this.kCD * this.BCy, this.Bright.x -= t.bend * this.kBC * this.ABx, this.Cright.x -= t.bend * this.kBC * this.CDx, this.Aleft.x += t.bend * this.kAD * this.ABx, this.Dleft.x += t.bend * this.kAD * this.CDx\r\n }\r\n setInflate() {\r\n this.calculateArms(), this.setControls();\r\n var t = this._parameters,\r\n s = (this.ADy + this.BCy) / 2,\r\n i = (this.ABx + this.CDx) / 2;\r\n this.Atop.y -= t.bend * this.kAB * s, this.Btop.y -= t.bend * this.kAB * s, this.Dbottom.y += t.bend * this.kCD * s, this.Cbottom.y += t.bend * this.kCD * s, this.Bright.x += t.bend * this.kBC * i, this.Cright.x += t.bend * this.kBC * i, this.Aleft.x -= t.bend * this.kAD * i, this.Dleft.x -= t.bend * this.kAD * i\r\n }\r\n setRise() {\r\n var t = this._parameters;\r\n this.A.y += t.bend * this.kAB * source.height, this.D.y += t.bend * this.kCD * source.height, this.B.y -= t.bend * this.kAB * source.height, this.C.y -= t.bend * this.kCD * source.height, this.calculateArms(), this.setControls();\r\n var s = this.ADy + this.BCy;\r\n this.Atop.y += t.bend * this.kAB * s, this.Btop.y -= t.bend * this.kAB * s, this.Dbottom.y += t.bend * this.kCD * s, this.Cbottom.y -= t.bend * this.kCD * s\r\n }\r\n setWaveUpper() {\r\n this.calculateArms(), this.setControls();\r\n var t = this._parameters;\r\n this.Atop.y += 3 * t.bend * this.kAB * (this.ADy + this.BCy), this.Btop.y -= 3 * t.bend * this.kAB * (this.ADy + this.BCy)\r\n }\r\n setWaveLower() {\r\n this.calculateArms(), this.setControls();\r\n var t = this._parameters;\r\n this.Dbottom.y += 3 * t.bend * this.kCD * (this.ADy + this.BCy), this.Cbottom.y -= 3 * t.bend * this.kCD * (this.ADy + this.BCy)\r\n }\r\n calculateArms() {\r\n this.ABx = (this.B.x - this.A.x) / 3, this.ABy = (this.B.y - this.A.y) / 3, this.CDx = (this.C.x - this.D.x) / 3, this.CDy = (this.C.y - this.D.y) / 3, this.BCx = (this.C.x - this.B.x) / 3, this.BCy = (this.C.y - this.B.y) / 3, this.ADx = (this.D.x - this.A.x) / 3, this.ADy = (this.D.y - this.A.y) / 3\r\n }\r\n getNewSegment(t, s, i, e) {\r\n var o = this.T1,\r\n r = o * o * o,\r\n n = 1 - o,\r\n a = n * n * n,\r\n y = this.T2,\r\n x = y * y * y,\r\n c = 1 - y,\r\n A = c * c * c,\r\n C = 3 * o * n,\r\n d = {};\r\n d.x = (i.x - a * t.x - r * s.x) / C, d.y = (i.y - a * t.y - r * s.y) / C;\r\n var b = 3 * y * c,\r\n p = {};\r\n p.x = (e.x - A * t.x - x * s.x) / b, p.y = (e.y - A * t.y - x * s.y) / b;\r\n var B = {};\r\n B.x = (y * d.x - o * p.x) / (n * p.x - c * d.x), B.y = (y * d.y - o * p.y) / (n * p.y - c * d.y), isNaN(B.x) && (B.x = 0), isNaN(B.y) && (B.y = 0);\r\n var l = {},\r\n D = {};\r\n D.x = d.x / (n * B.x + o), D.y = d.y / (n * B.y + o), l.x = B.x * D.x, l.y = B.y * D.y;\r\n var m = new h(l.x, l.y),\r\n k = new h(D.x, D.y);\r\n return [m.x, m.y, k.x, k.y, s.x, s.y]\r\n }\r\n }\r\n}, function(t, s) {\r\n t.exports = class {\r\n constructor(t = 0, s = 0) {\r\n if (\"number\" != typeof t || \"number\" != typeof s) throw new Exception(\"Invalid points\");\r\n let i = t || 0,\r\n h = s || 0;\r\n i && (i = parseInt(1e3 * i) / 1e3), h && (h = parseInt(1e3 * h) / 1e3), this._props = [i, h], this[0] = i, this[1] = h\r\n }\r\n set x(t) {\r\n this[0] = t, this._props[0] = t\r\n }\r\n set y(t) {\r\n this[1] = t, this._props[1] = t\r\n }\r\n get x() {\r\n return this._props[0]\r\n }\r\n get y() {\r\n return this._props[1]\r\n }\r\n }\r\n}, function(t, s) {\r\n t.exports = class {\r\n constructor(t, s, i, h) {\r\n this.x = t, this.y = s, this.width = i, this.height = h, this.top = s, this.bottom = s + h, this.left = t, this.right = t + i\r\n }\r\n }\r\n}, function(t, s, i) {\r\n i(0);\r\n t.exports = class {\r\n constructor(t) {\r\n this.type = t.type || 0, this.bend = t.bend || 0, this.distortV = t.distortV || 0, this.distortH = t.distortH || 0, this.vertical = t.vertical || !1\r\n }\r\n }\r\n}, function(t, s, i) {\r\n var h = i(1),\r\n e = i(0),\r\n o = i(2),\r\n r = \"C\",\r\n n = \"Q\",\r\n a = \"L\",\r\n y = \"M\",\r\n x = \"Z\",\r\n c = class {\r\n constructor(t) {\r\n this.data = [], this.commands = [], this.parseString(t)\r\n }\r\n parseString(t) {\r\n var s = [],\r\n i = [];\r\n t.match(/[A-Za-z][0-9\\.\\s\\,\\-]+\\d/g).forEach(t => {\r\n var h = t[0],\r\n e = t.match(/[\\d\\.\\-]+/g);\r\n s.push(h), i.push(...e.map(parseFloat))\r\n }), this.commands = s, this.data = i\r\n }\r\n scale(t, s = 0) {\r\n 0 == s && (s = t);\r\n const i = this.data;\r\n for (let h = 0; h < i.length; h += 2) i[h] *= t, i[h + 1] *= s\r\n }\r\n warp(t) {\r\n let s = new e(t, this.calcRectangle()),\r\n i = this.commands,\r\n o = this.data,\r\n n = [],\r\n a = new h,\r\n y = new h,\r\n c = new h,\r\n A = new h,\r\n C = 0,\r\n d = new h;\r\n for (let t = 0; t < i.length; t++) {\r\n switch (i[t]) {\r\n case \"L\":\r\n i[t] = r, a = new h((2 * A[0] + o[C]) / 3, (2 * A[1] + o[C + 1]) / 3), y = new h((A[0] + 2 * o[C]) / 3, (A[1] + 2 * o[C + 1]) / 3), d = new h(o[C], o[C + 1]), n = n.concat(s.changeCubic(A, a, y, d)), A = d, C += 2;\r\n break;\r\n case \"Q\":\r\n i[t] = r, a = new h((2 * o[C] + A.x) / 3, (2 * o[C + 1] + A.y) / 3), y = new h((2 * o[C] + o[C + 2]) / 3, (2 * o[C + 1] + o[C + 3]) / 3), d = new h(o[C + 2], o[C + 3]), n = n.concat(s.changeCubic(A, a, y, d)), A = d, C += 4;\r\n break;\r\n case \"M\":\r\n A = c = new h(o[C], o[C + 1]), n = n.concat(s.changePoint(A)), C += 2;\r\n break;\r\n case \"C\":\r\n n = n.concat(s.changeCubic(A, new h(o[C], o[C + 1]), new h(o[C + 2], o[C + 3]), new h(o[C + 4], o[C + 5]))), A = new h(o[C + 4], o[C + 5]), C += 6;\r\n break;\r\n case x:\r\n A = c\r\n }\r\n }\r\n this.data = n\r\n }\r\n output() {\r\n var t = [],\r\n s = this.data.slice();\r\n for (let i = 0; i < this.commands.length; i++) {\r\n let h = this.commands[i],\r\n e = 0;\r\n switch (h) {\r\n case \"M\":\r\n case \"L\":\r\n e = 2;\r\n break;\r\n case \"Q\":\r\n e = 4;\r\n break;\r\n case \"C\":\r\n e = 6\r\n }\r\n t.push(h + s.splice(0, e).join(\" \"))\r\n }\r\n return t.join(\" \")\r\n }\r\n calcRectangle() {\r\n let t = this.commands,\r\n s = this.data;\r\n for (var i, h, e = {\r\n xMin: 1 / 0,\r\n yMin: 1 / 0,\r\n xMax: -1 / 0,\r\n yMax: -1 / 0\r\n }, x = 0, c = 0; c < t.length; c++) {\r\n switch (t[c]) {\r\n case y:\r\n case a:\r\n i = s[x], h = s[x + 1], x += 2;\r\n break;\r\n case n:\r\n i = s[x + 2], h = s[x + 3], x += 4;\r\n break;\r\n case r:\r\n i = s[x + 4], h = s[x + 5], x += 6\r\n }\r\n e.xMin = Math.min(i, e.xMin), e.xMax = Math.max(i, e.xMax), e.yMin = Math.min(h, e.yMin), e.yMax = Math.max(h, e.yMax)\r\n }\r\n return e.xMax == -1 / 0 ? null : new o(e.xMin, e.yMin, e.xMax - e.xMin, e.yMax - e.yMin)\r\n }\r\n };\r\n t.exports = c, \"undefined\" != typeof window && (window.Path = c)\r\n}]);","import React, { useEffect, useMemo, useState } from 'react';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { Tab, initTE } from 'tw-elements';\r\nimport { defaultColorNames } from '../../assets/colors/colors';\r\nimport { Layers } from './Layers';\r\nimport { Properties } from './Properties';\r\nimport { tabs } from './constants';\r\nimport { ColorPalette } from '../colorPallet';\r\nimport './rightMenu.css';\r\nimport '../../services/path-warp.js';\r\n\r\nexport const Rightmenu: React.FC = () => {\r\n initTE({ Tab });\r\n\r\n const canvas = use3dddPlus.getState().fabricCanvas;\r\n const [currentSelection, activeSelection, allColor, setToggleSaveLogo] =\r\n use3dddPlus(\r\n (state) => [\r\n state.currentSelection,\r\n state.activeSelection,\r\n state.allColor,\r\n state.setToggleSaveLogo,\r\n ],\r\n shallow\r\n );\r\n\r\n const [activeTab, setActiveTab] = useState(1);\r\n const [isNextClicked, setIsNextClicked] = useState(false);\r\n const [displayPallet, setDisplayPallet] = useState({\r\n visible: false,\r\n property: '',\r\n color: '',\r\n callback: null,\r\n });\r\n const [position, setPosition] = useState<{ x: number; y: number } | null>(\r\n null\r\n );\r\n\r\n useEffect(() => {\r\n if (activeSelection) {\r\n use3dddPlus.setState({ textInfo: activeSelection.text });\r\n }\r\n }, [activeSelection]);\r\n\r\n useEffect(() => {\r\n switch (currentSelection) {\r\n case 'text':\r\n case 'group':\r\n case 'selectAll':\r\n case 'none':\r\n setActiveTab(1);\r\n break;\r\n case 'layer':\r\n case 'activeSelection':\r\n setActiveTab(2);\r\n break;\r\n }\r\n }, [currentSelection]);\r\n\r\n const conflictColors = useMemo(() => {\r\n return allColor.filter(\r\n (color) =>\r\n defaultColorNames.findIndex(\r\n (defaultColor) =>\r\n defaultColor.color.toLowerCase() === color.toLowerCase()\r\n ) < 0\r\n );\r\n }, [allColor]);\r\n\r\n const onSave = () => {\r\n canvas.discardActiveObject();\r\n canvas.renderAll();\r\n if (!conflictColors || conflictColors.length < 1) {\r\n setIsNextClicked(false);\r\n use3dddPlus.setState({ showCrossSave: true });\r\n if (canvas.getObjects().length > 0) {\r\n const hasTransparent = allColor.includes('transparent');\r\n const colorCount = hasTransparent\r\n ? allColor.length - 1\r\n : allColor.length;\r\n if (colorCount < 9) {\r\n setToggleSaveLogo('save', true, 'Save Logo', {});\r\n } else {\r\n use3dddPlus.getState().toastMessages.noOfColors();\r\n }\r\n } else {\r\n use3dddPlus.getState().toastMessages.noIteminCanvas();\r\n }\r\n } else {\r\n setIsNextClicked(true);\r\n }\r\n };\r\n\r\n const removeColorPalette = () => {\r\n setDisplayPallet({\r\n visible: false,\r\n property: '',\r\n color: '',\r\n callback: null,\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n window.addEventListener('click', removeColorPalette);\r\n const unSub = use3dddPlus.subscribe(\r\n (state) => state.colorFill,\r\n (_current, _previous) => {\r\n // Handle color fill changes\r\n }\r\n );\r\n return () => {\r\n window.removeEventListener('click', removeColorPalette);\r\n unSub();\r\n };\r\n }, []);\r\n\r\n return (\r\n <div className=\"relative flex flex-col flex-1 h-full gap-3 px-6 pt-6 pb-2 text-left\">\r\n <div className=\"h-10\">\r\n <h1 className=\"text-2xl font-bold\">Edit Design</h1>\r\n </div>\r\n\r\n <div className=\"flex h-10\">\r\n {tabs.map((tab) => (\r\n <button\r\n key={tab.id}\r\n className={`${\r\n activeTab === tab.id\r\n ? 'bg-[#E11A38] text-white w-1/2'\r\n : 'bg-white text-gray-800 border border-slate-300 w-1/2'\r\n } focus:outline-none uppercase text-sm font-bold h-full`}\r\n onClick={() => {\r\n setActiveTab(tab.id);\r\n if (tab.id === 1) {\r\n use3dddPlus.setState({ currentSelection: 'none' });\r\n canvas.discardActiveObject();\r\n canvas.renderAll();\r\n }\r\n if (tab.id === 2) {\r\n use3dddPlus.setState({ currentSelection: 'layer' });\r\n }\r\n }}\r\n >\r\n {tab.label}\r\n </button>\r\n ))}\r\n </div>\r\n <div className=\"flex-1 w-full h-[80%] p-1 bg-gray-100\">\r\n {activeTab === 1 && (\r\n <Properties\r\n textSelected={activeSelection}\r\n activeTab={activeTab}\r\n canvas={canvas}\r\n setIsNextClicked={setIsNextClicked}\r\n onSave={onSave}\r\n conflictColors={conflictColors}\r\n isNextClicked={isNextClicked}\r\n setDisplayPallet={setDisplayPallet}\r\n setPosition={setPosition}\r\n />\r\n )}\r\n {activeTab === 2 && (\r\n <>\r\n {(currentSelection === 'layer' ||\r\n currentSelection === 'activeSelection') && (\r\n <Layers canvas={canvas} onSave={onSave} />\r\n )}\r\n </>\r\n )}\r\n </div>\r\n {displayPallet.visible && (\r\n <ColorPalette\r\n mainClass=\"left-0\"\r\n handleColorChange={(color) => {\r\n displayPallet.callback(displayPallet.property, color);\r\n setDisplayPallet({\r\n visible: false,\r\n property: '',\r\n color: '',\r\n callback: null,\r\n });\r\n }}\r\n style={\r\n position\r\n ? {\r\n position: 'fixed',\r\n left: position.x - 450,\r\n top: position.y - 5,\r\n width: '450px',\r\n }\r\n : { display: 'none' }\r\n }\r\n />\r\n )}\r\n </div>\r\n );\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\n// import { CARD_BG_COLOR } from '../../theme';\r\n// import { RiArrowDownSFill } from 'react-icons/ri';\r\nimport Select, { components } from 'react-select';\r\nconst DropdownIndicator = (props) => {\r\n return (\r\n <components.DropdownIndicator {...props}>\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n className={`h-5 w-5 text-[#727272]`}\r\n >\r\n <path d=\"M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z\" />\r\n </svg>\r\n </components.DropdownIndicator>\r\n );\r\n};\r\nconst style = {\r\n control: (base,state) => ({\r\n ...base,\r\n // border: '1px solid #BEBEBE',\r\n border: state.isFocused ? 0 : 0,\r\n // This line disable the blue border\r\n boxShadow: state.isFocused ? 0 : 0,\r\n '&:hover': {\r\n border: state.isFocused ? 0 : 0\r\n },\r\n\r\n // boxShadow: 'none',\r\n // '&:focus': {\r\n // border: 0,\r\n // },\r\n // '&:hover': {\r\n // border: '1px solid #BEBEBE',\r\n // },\r\n }),\r\n option: (base, { isFocused, isSelected }) => {\r\n return {\r\n ...base,\r\n backgroundColor: isSelected ? '#e11a38' : '#FFFFFF',\r\n fontWeight: isFocused ? 700 : 400,\r\n color: isSelected && '#ffffff',\r\n ':active': {\r\n backgroundColor: isSelected && '#ffffff',\r\n color: isSelected && '#000',\r\n fontWeight: isSelected && 700,\r\n },\r\n };\r\n },\r\n};\r\nconst ListDropdown = (props) => {\r\n const { dropdownData, handleSelected } = props;\r\n const [data, setData] = useState([]);\r\n\r\n useEffect(() => {\r\n let a = [];\r\n dropdownData.forEach((element) => {\r\n a.push({ value: element, label: element });\r\n });\r\n setData(\r\n a.sort((a, b) => {\r\n if (a.label < b.label) {\r\n return -1;\r\n }\r\n if (a.label > b.label) {\r\n return 1;\r\n }\r\n return 0;\r\n })\r\n );\r\n }, [dropdownData]);\r\n return (\r\n <>\r\n <div className=\"w-full relative\">\r\n <div className=\"w-full z-10 absolute\">\r\n <Select\r\n className=\"basic-single focus:!outline-none !border-0 focus:!border-0 focus:!ring-0 !ring-0 \"\r\n defaultValue={{\r\n value: dropdownData[0],\r\n label: dropdownData[0],\r\n }}\r\n onChange={(e) => handleSelected(e.value)}\r\n isSearchable={true}\r\n name=\"categories\"\r\n options={data}\r\n components={{\r\n IndicatorSeparator: () => null,\r\n DropdownIndicator,\r\n }}\r\n styles={style}\r\n />\r\n </div>\r\n </div>\r\n </>\r\n );\r\n};\r\nexport default ListDropdown;\r\n","export const decorationData =\r\n // prettier-ignore\r\n [\r\n {id:1, code:'',name:'Direct Embroidery', description:'', type:'decoration-type', linkedNodes:[], threeD:true,icon:'DirectEmbroidaryIcon',thumbnail:'',tags:''},\r\n {id:2, code:'',name:'Leather', description:'', type:'decoration-type', linkedNodes:[], threeD:true,icon:'NewLeatherIcon',thumbnail:'',tags:''},\r\n {id:3, code:'',name:'Patch', description:'', type:'decoration-type', linkedNodes:[], threeD:true,icon:'NewPatchIcon',thumbnail:'',tags:''},\r\n {id:4, code:'',name:'Transfer', description:'', type:'decoration-type', linkedNodes:[], threeD:true,icon:'TransferIcon',thumbnail:'',tags:''},\r\n {id:5, code:'',name:'Applique', description:'', type:'decoration-type', linkedNodes:[], threeD:true,icon:'NewAppliqueIcon',thumbnail:'',tags:''},\r\n {id:6, code:'',name:'Clip', description:'', type:'decoration-type', linkedNodes:[], threeD:true,icon:'Clip',thumbnail:'',tags:''},\r\n {id:7, code:'91-APPGLHR',name:'Genuine Etched Leather', description:'', type:'decoration-sub-type', linkedNodes:[2], threeD:true,icon:'EtchedLeatherIcon',thumbnail:'',tags:''},\r\n {id:8, code:'91-APPGLDB',name:'Genuine Debossed Leather', description:'', type:'decoration-sub-type', linkedNodes:[2], threeD:true,icon:'DebossedLeatherIcon',thumbnail:'',tags:''},\r\n {id:9, code:'91-APPFLHR',name:'Faux Etched Leather ', description:'', type:'decoration-sub-type', linkedNodes:[2], threeD:true,icon:'EtchedLeatherIcon',thumbnail:'',tags:''},\r\n {id:10, code:'91-APPFLDB',name:'Faux Debossed Leather ', description:'', type:'decoration-sub-type', linkedNodes:[2], threeD:true,icon:'DebossedLeatherIcon',thumbnail:'',tags:''},\r\n// {id:11, code:'',name:'Genuine Thick Leather ', description:'', type:'decoration-sub-type', linkedNodes:[2], threeD:true,icon:'LeatherIcon',thumbnail:'',tags:''},\r\n {id:12, code:'91-PATCHEMB',name:'Embroidered Patch', description:'', type:'decoration-sub-type', linkedNodes:[3], threeD:true,icon:'EmbroideredPatchIcon',thumbnail:'',tags:''},\r\n {id:13, code:'91-PATCHSUB',name:'Sublimated Patch', description:'', type:'decoration-sub-type', linkedNodes:[3], threeD:true,icon:'SublimatedPatchIcon',thumbnail:'',tags:''},\r\n {id:14, code:'91-PATCHWOV',name:'Woven Patch', description:'', type:'decoration-sub-type', linkedNodes:[3], threeD:true,icon:'WovenPatchIcon',thumbnail:'',tags:''},\r\n {id:15, code:'91-PATCHPVC',name:'Rubber Patch', description:'', type:'decoration-sub-type', linkedNodes:[3], threeD:true,icon:'RubberPatchIcon',thumbnail:'',tags:''},\r\n {id:16, code:'91-DIRSILICONE',name:'Silicon Transfers', description:'', type:'decoration-sub-type', linkedNodes:[4], threeD:true,icon:'SiliconTransferIcon',thumbnail:'',tags:''},\r\n {id:17, code:'91-RPOLYPRESS',name:'Poly Press Transfers', description:'', type:'decoration-sub-type', linkedNodes:[4], threeD:true,icon:'PolyPressTransferIcon',thumbnail:'',tags:''},\r\n {id:18, code:'91-TRANSFC',name:'Full Color Transfer ', description:'', type:'decoration-sub-type', linkedNodes:[4], threeD:true,icon:'FullColorTransferIcon',thumbnail:'',tags:''},\r\n {id:19, code:'91-APPFTL',name:'Felt / Twill Applique', description:'', type:'decoration-sub-type', linkedNodes:[5], threeD:true,icon:'FeltAppliqueIcon',thumbnail:'',tags:''},\r\n {id:20, code:'91-WOVENFRT',name:'Woven Label Applique', description:'', type:'decoration-sub-type', linkedNodes:[5], threeD:true,icon:'WovenLabelAppliqueIcon',thumbnail:'',tags:''},\r\n {id:21, code:'91-APPFTD',name:'Distressed Twill Applique', description:'', type:'decoration-sub-type', linkedNodes:[5], threeD:true,icon:'DistressedTwillAppliqueIcon',thumbnail:'',tags:''},\r\n {id:22, code:'91-APPCRK',name:'Genuine Cork Applique', description:'', type:'decoration-sub-type', linkedNodes:[5], threeD:true,icon:'CorkAppliqueIcon',thumbnail:'',tags:''},\r\n {id:23, code:'91-CLPLTHR',name:'Natural Leather Clip', description:'', type:'decoration-sub-type', linkedNodes:[6], threeD:false,icon:'Clip',thumbnail:'',tags:''},\r\n {id:24, code:'91-CLPLTHR',name:'Faux Leather Clip ', description:'', type:'decoration-sub-type', linkedNodes:[6], threeD:false,icon:'Clip',thumbnail:'',tags:''},\r\n {id:25, code:'91-CLPWOVEN',name:'Woven Label Clip ', description:'', type:'decoration-sub-type', linkedNodes:[6], threeD:false,icon:'Clip',thumbnail:'',tags:''},\r\n {id:26, code:'',name:'Rust', description:'', type:'decoration-type-color', linkedNodes:[8], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/leather/G100.jpg',tags:''},\r\n {id:27, code:'',name:'Tan', description:'', type:'decoration-type-color', linkedNodes:[8], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/leather/G102.jpg',tags:''},\r\n {id:28, code:'',name:'Brown', description:'', type:'decoration-type-color', linkedNodes:[8], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/leather/G104.jpg',tags:''},\r\n {id:29, code:'',name:'Black', description:'', type:'decoration-type-color', linkedNodes:[8], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/leather/G106.jpg',tags:''},\r\n {id:30, code:'',name:'Apple Green', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/APPLE-GREEN-thumbnail.jpg',tags:''},\r\n {id:31, code:'',name:'Balsa', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/BALSA-thumbnail.jpg',tags:''},\r\n {id:32, code:'',name:'Black', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/BLACK-thumbnail.jpg',tags:''},\r\n {id:33, code:'',name:'Buff', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/BUFF-thumbnail.jpg',tags:''},\r\n {id:34, code:'',name:'Chili', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/CHILI-thumbnail.jpg',tags:''},\r\n {id:35, code:'',name:'Graphite', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/GRAPHITE-thumbnail.jpg',tags:''},\r\n {id:36, code:'',name:'Java ', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/JAVA-thumbnail.jpg',tags:''},\r\n {id:37, code:'',name:'Lipstick', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/LIPSTICK-thumbnail.jpg',tags:''},\r\n {id:38, code:'',name:'Ocean', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/OCEAN-thumbnail.jpg',tags:''},\r\n {id:39, code:'',name:'Sage', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/SAGE-thumbnail.jpg',tags:''},\r\n {id:40, code:'',name:'Snow', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/SNOW-thumbnail.jpg',tags:''},\r\n {id:41, code:'',name:'Steel', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/STEEL-thumbnail.jpg',tags:''},\r\n {id:42, code:'',name:'Straw', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/STRAW-thumbnail.jpg',tags:''},\r\n {id:43, code:'',name:'Williamsburg', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/WILLIAMSBURG-thumbnail.jpg',tags:''},\r\n {id:44, code:'',name:'Royal Metallic Silver', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/ROYAL_METALLIC-thumbnail.jpg',tags:''},\r\n {id:45, code:'',name:'Rustic Brown Metallic Silver', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/RUSTIC-BROWN_METALLIC-thumbnail.jpg',tags:''},\r\n {id:46, code:'',name:'Pink ', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/PINK-thumbnail.jpg',tags:''},\r\n {id:47, code:'',name:'Turquoise ', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/TURQUOISE-thumbnail.jpg',tags:''},\r\n {id:48, code:'',name:'Bamboo ', description:'', type:'decoration-type-color', linkedNodes:[9,24], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/BAMBOO-thumbnail.jpg',tags:''},\r\n {id:49, code:'',name:'Natural Leather', description:'', type:'decoration-type-color', linkedNodes:[7,11,23], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/NATURAL-thumbnail.jpg',tags:''},\r\n {id:50, code:'',name:'Chestnut Leather', description:'', type:'decoration-type-color', linkedNodes:[7], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/CHESTNUT-thumbnail.jpg',tags:''},\r\n {id:51, code:'',name:'Brown', description:'', type:'decoration-ink-option', linkedNodes:[26,27], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/CORK-thumbnail.jpg',tags:''},\r\n {id:52, code:'',name:'Black', description:'', type:'decoration-ink-option', linkedNodes:[28,29], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/BLACK_METALLIC-thumbnail.jpg',tags:''},\r\n {id:53, code:'',name:'Tonal', description:'', type:'decoration-ink-option', linkedNodes:[28,29], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/CORK-thumbnail.jpg',tags:''},\r\n {id:54, code:'',name:'STANDARD SQUARE', description:'(W x H): 1.81 X 1.81', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15,23,24,25], threeD:false,icon:'STANDARDSQUAREICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/standard_square.svg',tags:''},\r\n {id:55, code:'',name:'SMALL SQUARE', description:'(W x H): 1.5 X 1.5', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'SMALLSQUAREICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/small_square.svg',tags:''},\r\n {id:56, code:'',name:'STANDARD RECTANGLE', description:'(W x H): 2.44 X 1.39', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'STANDARDRECTANGLEICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/standard_rectangle.svg',tags:''},\r\n {id:57, code:'',name:'SMALL RECTANGLE', description:'(W x H): 1.97 X 1.97', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'SMALLRECTANGLEICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/small_rectangle.svg',tags:''},\r\n {id:58, code:'',name:'ROUNDED RECTANGLE', description:'(W x H): 1.57 X 1.57', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'ROUNDEDRECTANGLEICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/rounded_rectangle.svg',tags:''},\r\n {id:59, code:'',name:'ROUNDED TOP RECTANGLE', description:'(W x H): 3.01 X 1.73', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'ROUNDEDTOPRECTANGLEICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/rounded_top_rectangle.svg',tags:''},\r\n {id:60, code:'',name:'ROUNDED BOTTOM RECTANGLE', description:'(W x H): 2.62 X 1.34', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'ROUNDEDBOTTOMRECTANGLEICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/rounded_bottom_rectangle.svg',tags:''},\r\n {id:61, code:'',name:'STANDARD CIRCLE', description:'(W x H): 3.19 X 2.02', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'STANDARDCIRCLEICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/standard_circle.svg',tags:''},\r\n {id:62, code:'',name:'SMALL CIRCLE', description:'(W x H): 2.92 X 2.11', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'SMALLCIRLCEICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/small_cirlce.svg',tags:''},\r\n {id:63, code:'',name:'STANDARD OVAL', description:'(W x H): 2.92 X 2.11', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'STANDARDOVALICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/standard_oval.svg',tags:''},\r\n {id:64, code:'',name:'SMALL OVAL', description:'(W x H): 2.92 X 2.11', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'SMALLOVALICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/small_oval.svg',tags:''},\r\n {id:65, code:'',name:'REVERED TRIANGLE', description:'(W x H): 2.92 X 2.11', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'REVEREDTRIANGLEICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/revered_triangle.svg',tags:''},\r\n {id:66, code:'',name:'BADGE', description:'(W x H): 2.92 X 2.11', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'BADGEICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/badge.svg',tags:''},\r\n {id:67, code:'',name:'HEXAGON', description:'(W x H): 2.92 X 2.11', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'HEXAGONICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/hexagon.svg',tags:''},\r\n {id:68, code:'',name:'ELONGATED HEXAGON', description:'(W x H): 2.92 X 2.11', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'ELONGATEDHEXAGONICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/elongated_hexagon.svg',tags:''},\r\n {id:69, code:'',name:'ELONGATED DIAMOND', description:'(W x H): 2.92 X 2.11', type:'decoration-type-shape', linkedNodes:[7,8,9,10,11,12,13,14,15], threeD:false,icon:'ELONGATEDDIAMONDICON',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/decoration-shapes/elongated_diamond.svg',tags:''},\r\n {id:70, code:'',name:'Marrowed', description:'', type:'decoration-edge-type', linkedNodes:[12,13,14,15], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:71, code:'',name:'Satin Stitch Edge ', description:'', type:'decoration-edge-type', linkedNodes:[12,13,14,15], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:72, code:'',name:'Custom',description:'', type:'design-type', linkedNodes:[1,2,3,4,5,6], threeD:false,icon:'CustomDecorationIcon',thumbnail:'',tags:''},\r\n {id:73, code:'',name:'Team Decoration',description:'', type:'design-type', linkedNodes:[1], threeD:false,icon:'TeamDecorationIcon',thumbnail:'',tags:''},\r\n {id:74, code:'91-F1',name:'Design Concepts', description:'', type:'design-type', linkedNodes:[1,2,3,4,5,6], threeD:false,icon:'DesignConceptsIcon',thumbnail:'',tags:''},\r\n {id:75, code:'90-ND200',name:'Text (Wordings)', description:'', type:'design-style', linkedNodes:[73], threeD:true,icon:'WordingDecorationIcon',thumbnail:'',tags:''},\r\n {id:76, code:'90-TL11C',name:'Team Letters', description:'', type:'design-style', linkedNodes:[73], threeD:true,icon:'LetterDecorationIcon',thumbnail:'',tags:''},\r\n {id:77, code:'90-ND200',name:'Stock Mascots & Objects', description:'', type:'design-style', linkedNodes:[73], threeD:true,icon:'MascotDecorationIcon',thumbnail:'',tags:''},\r\n {id:78, code:'90-ND200',name:'Team Custom', description:'', type:'design-style', linkedNodes:[73], threeD:true,icon:'TeamCustomIcon',thumbnail:'',tags:''},\r\n {id:79, code:'91-F1',name:'Custom File Upload', description:'', type:'design-style', linkedNodes:[72], threeD:false,icon:'TeamCustom',thumbnail:'',tags:''},\r\n// {id:80, code:'',name:'Supporting File Upload', description:'', type:'design-style', linkedNodes:[72], threeD:false,icon:'TeamCustom',thumbnail:'',tags:''},\r\n {id:81, code:'91-F1',name:'My Logos', description:'', type:'design-style', linkedNodes:[72], threeD:false,icon:'TeamCustom',thumbnail:'',tags:''},\r\n {id:82, code:'',name:'Athletic - Design Concepts ', description:'', type:'design-style', linkedNodes:[74], threeD:false,icon:'AthleticIcon',thumbnail:'',tags:''},\r\n {id:83, code:'',name:'Resort & Golf - Design Concepts ', description:'', type:'design-style', linkedNodes:[74], threeD:false,icon:'ResortGolfIcon',thumbnail:'',tags:''},\r\n {id:84, code:'',name:'Outdoor - Design Concepts ', description:'', type:'design-style', linkedNodes:[74], threeD:false,icon:'OutdoorIcon',thumbnail:'',tags:''},\r\n {id:85, code:'',name:'ATHLETICBLOCK', description:'ATHLETIC BLOCK', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:86, code:'',name:'BALLPARK', description:'BALL PARK', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:87, code:'',name:'BLADE', description:'BLADE', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:88, code:'',name:'BOLT', description:'BOLT', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:89, code:'',name:'CENTURY', description:'CENTURY', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:90, code:'',name:'CITYBLOCK', description:'CITY BLOCK', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:91, code:'',name:'FANCYBLOCK', description:'FANCY BLOCK', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:92, code:'',name:'FORCE', description:'FORCE', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:93, code:'',name:'FULLBLOCK', description:'FULL BLOCK', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:94, code:'',name:'HARDBALL', description:'HARD BALL', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:95, code:'',name:'JERSEYBLOCK', description:'JERSEY BLOCK', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:96, code:'',name:'OLDENGLISH', description:'OLD ENGLISH', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:97, code:'',name:'PROBLOCK', description:'PRO BLOCK', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:98, code:'',name:'SPORTSCRIPT', description:'SPORT SCRIPT', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:99, code:'',name:'TIFFANY', description:'TIFFANY', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:100, code:'',name:'UNISCRIPT', description:'UNISCRIPT', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n// {id:101, code:'',name:'UNISCRIPT', description:'UNISCRIPT', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:102, code:'',name:'VELO', description:'VELO', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n\r\n\r\n{id:103, code:'',name:'ARWH001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/ARWH001.svg',tags:'Arrows'},\r\n{id:104, code:'',name:'ARWH002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/ARWH002.svg',tags:'Arrows'},\r\n{id:105, code:'',name:'BASE002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/BASE002.svg',tags:'Balls,Baseball'},\r\n {id:106, code:'',name:'BDOG001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/BDOG001.svg',tags:'Bulldogs'},\r\n {id:107, code:'',name:'BDOG003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/BDOG003.svg',tags:'Bulldogs'},\r\n{id:108, code:'',name:'BDOG004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/BDOG004.svg',tags:'Bulldogs'},\r\n {id:109, code:'',name:'BEAR004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/BEAR004.svg',tags:'Bears'},\r\n {id:110, code:'',name:'BEAR005', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/BEAR005.svg',tags:'Bears'},\r\n{id:111, code:'',name:'BJAY001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/BJAY001.svg',tags:'Cardinals'},\r\n{id:112, code:'',name:'BOLT002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/BOLT002.svg',tags:'Bolts'},\r\n {id:113, code:'',name:'BULL002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/BULL002.svg',tags:'Buffalo & Bulls'},\r\n {id:114, code:'',name:'CARD001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/CARD001.svg',tags:'Cardinals'},\r\n{id:115, code:'',name:'CARD002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/CARD002.svg',tags:'Cardinals'},\r\n {id:116, code:'',name:'CARD006', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/CARD006.svg',tags:'Cardinals'},\r\n {id:117, code:'',name:'CATS005', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/CATS005.svg',tags:'Cats'},\r\n {id:118, code:'',name:'CATS012', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/CATS012.svg',tags:'Cats'},\r\n{id:119, code:'',name:'CLVR001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/CLVR001.svg',tags:'Leaves'},\r\n {id:120, code:'',name:'COBR001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/COBR001.svg',tags:'Snakes'},\r\n {id:121, code:'',name:'COWB002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/COWB002.svg',tags:'Cowboys & Rebels'},\r\n{id:122, code:'',name:'CRSS001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/CRSS001.svg',tags:'Shapes'},\r\n {id:123, code:'',name:'DEVL001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/DEVL001.svg',tags:'Devils'},\r\n {id:124, code:'',name:'DRGN001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/DRGN001.svg',tags:'Dragons'},\r\n {id:125, code:'',name:'EAGL004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/EAGL004.svg',tags:'Eagles'},\r\n {id:126, code:'',name:'EAGL005', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/EAGL005.svg',tags:'Eagles'},\r\n// {id:127, code:'',name:'EAGL005_bu', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/EAGL005_bu.svg',tags:'Eagles'},\r\n{id:128, code:'',name:'FLAG002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FLAG002.svg',tags:'Flags'},\r\n// {id:129, code:'',name:'FLAG002_RIGHT', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FLAG002_RIGHT.svg',tags:'Flags'},\r\n{id:130, code:'',name:'FLGW002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FLGW002.svg',tags:'Flags'},\r\n// {id:131, code:'',name:'FLGW002_bu', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FLGW002_bu.svg',tags:'Flags'},\r\n// {id:132, code:'',name:'FLGW002_NO_BORDER', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FLGW002_NO_BORDER.svg',tags:'Flags'},\r\n// {id:133, code:'',name:'FLGW002_RIGHT', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FLGW002_RIGHT.svg',tags:'Flags'},\r\n// {id:134, code:'',name:'FLGW002_RIGHT_bu', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FLGW002_RIGHT_bu.svg',tags:'Flags'},\r\n// {id:135, code:'',name:'FLGW002_RIGHT_old', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FLGW002_RIGHT_old.svg',tags:'Flags'},\r\n{id:136, code:'',name:'FLUR001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FLUR001.svg',tags:'Shapes'},\r\n{id:137, code:'',name:'FTBL001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FTBL001.svg',tags:'Football,Balls'},\r\n// {id:138, code:'',name:'FTBL001_OG', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/FTBL001_OG.svg',tags:'Football,Balls'},\r\n {id:139, code:'',name:'GATR001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/GATR001.svg',tags:'Gators'},\r\n{id:140, code:'',name:'GOLF004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/GOLF004.svg',tags:'Balls'},\r\n {id:141, code:'',name:'GRIZ001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/GRIZ001.svg',tags:'Bears'},\r\n{id:142, code:'',name:'HATC002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/HATC002.svg',tags:'Objects,Shapes'},\r\n {id:143, code:'',name:'HAWK001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/HAWK001.svg',tags:'Hawks'},\r\n {id:144, code:'',name:'HAWK003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/HAWK003.svg',tags:'Hawks'},\r\n {id:145, code:'',name:'HAWK004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/HAWK004.svg',tags:'Hawks'},\r\n {id:146, code:'',name:'HORS002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/HORS002.svg',tags:'Horses'},\r\n {id:147, code:'',name:'HORS003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/HORS003.svg',tags:'Horses'},\r\n {id:148, code:'',name:'HORS006', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/HORS006.svg',tags:'Horses'},\r\n {id:149, code:'',name:'HRNT005', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/HRNT005.svg',tags:'Hornets'},\r\n {id:150, code:'',name:'INDN001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/INDN001.svg',tags:'Indians'},\r\n {id:151, code:'',name:'KNGH003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/KNGH003.svg',tags:'Knights'},\r\n {id:152, code:'',name:'KNGH004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/KNGH004.svg',tags:'Knights'},\r\n// {id:153, code:'',name:'KNGH005', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/KNGH005.svg',tags:'Knights'},\r\n {id:154, code:'',name:'LION003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/LION003.svg',tags:'Lions'},\r\n {id:155, code:'',name:'LION004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/LION004.svg',tags:'Lions'},\r\n {id:156, code:'',name:'LION008', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/LION008.svg',tags:'Lions'},\r\n {id:157, code:'',name:'LNGH003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/LNGH003.svg',tags:'Buffalo & Bulls'},\r\n{id:158, code:'',name:'LOGR002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/LOGR002.svg',tags:'Logger'},\r\n {id:159, code:'',name:'OWLH001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/OWLH001.svg',tags:'Owls'},\r\n {id:160, code:'',name:'PAWP001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/PAWP001.svg',tags:'Paws'},\r\n{id:161, code:'',name:'PAWP004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/PAWP004.svg',tags:'Paws'},\r\n {id:162, code:'',name:'PRTE005', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/PRTE005.svg',tags:'Pirates'},\r\n {id:163, code:'',name:'PTFL001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/PTFL001.svg',tags:'Pirates'},\r\n {id:164, code:'',name:'RAMH003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/RAMH003.svg',tags:'Rams'},\r\n {id:165, code:'',name:'RAMH008', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/RAMH008.svg',tags:'Rams'},\r\n {id:166, code:'',name:'RAVN001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/RAVN001.svg',tags:'Ravens'},\r\n {id:167, code:'',name:'RAVN002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/RAVN002.svg',tags:'Ravens'},\r\n {id:168, code:'',name:'RAZR003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/RAZR003.svg',tags:'Boar'},\r\n {id:169, code:'',name:'REBL001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/REBL001.svg',tags:'Cowboys & Rebels'},\r\n {id:170, code:'',name:'SKLL001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/SKLL001.svg',tags:'Skulls'},\r\n// {id:171, code:'',name:'STAR003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/STAR003.svg',tags:'Ravens'},\r\n {id:172, code:'',name:'TIGR003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TIGR003.svg',tags:'Tigers'},\r\n// {id:173, code:'',name:'TIGR003_bu', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TIGR003_bu.svg',tags:'Tigers'},\r\n// {id:174, code:'',name:'TIGR003_original', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TIGR003_original.svg',tags:'Tigers'},\r\n// {id:175, code:'',name:'TIGR004 - Original', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TIGR004 - Original.svg',tags:'Tigers'},\r\n {id:176, code:'',name:'TIGR004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TIGR004.svg',tags:'Tigers'},\r\n{id:177, code:'',name:'TIGR005 - Original', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TIGR005 - Original.svg',tags:'Tigers'},\r\n {id:178, code:'',name:'TIGR005', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TIGR005.svg',tags:'Tigers'},\r\n {id:179, code:'',name:'TRJN002', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TRJN002.svg',tags:'Spartans'},\r\n {id:180, code:'',name:'TRJN004', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TRJN004.svg',tags:'Spartans'},\r\n {id:181, code:'',name:'TRJN006', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TRJN006.svg',tags:'Spartans'},\r\n {id:182, code:'',name:'TRND003', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/TRND003.svg',tags:'Bolts'},\r\n {id:183, code:'',name:'VIKG001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/VIKG001.svg',tags:'Cavaliers & Vikings'},\r\n {id:184, code:'',name:'VIKG006', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/VIKG006.svg',tags:'Cavaliers & Vikings'},\r\n{id:185, code:'',name:'VIPR001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/VIPR001.svg',tags:'Snakes'},\r\n{id:186, code:'',name:'WNGF001', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WNGF001.svg',tags:'Wings'},\r\n {id:187, code:'',name:'WOLF005', description:'', type:'design-style-mascots', linkedNodes:[77], threeD:true,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:'Wolves'},\r\n\r\n {id:188, code:'',name:'ATHLETICBLOCK', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:189, code:'',name:'BALLPARK', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:190, code:'',name:'BLADE', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:191, code:'',name:'BOLT', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:192, code:'',name:'CENTURY', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:193, code:'',name:'CITYBLOCK', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-poc-assets/fonts/cityb.woff',tags:''},\r\n {id:194, code:'',name:'FANCYBLOCK', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:195, code:'',name:'FORCE', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:196, code:'',name:'FULLBLOCK', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:197, code:'',name:'HARDBALL', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:198, code:'',name:'JERSEYBLOCK', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:199, code:'',name:'OLDENGLISH', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:200, code:'',name:'PROBLOCK', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-poc-assets/fonts/pro_block.woff',tags:''},\r\n {id:201, code:'',name:'SPORTSCRIPT', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:202, code:'',name:'TIFFANY', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-poc-assets/fonts/tiffany.woff',tags:''},\r\n {id:203, code:'',name:'UNISCRIPT', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:204, code:'',name:'UNISCRIPT', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:205, code:'',name:'VELO', description:'', type:'design-style-letters-font', linkedNodes:[75], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/mascot/WOLF005.svg',tags:''},\r\n {id:206, code:'',name:'Teamwear', description:'', type:'teamwear', linkedNodes:[], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:207, code:'',name:'Fabric', description:'', type:'teamwear', linkedNodes:[206], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:208, code:'',name:'Templates', description:'', type:'teamwear', linkedNodes:[206], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:209, code:'',name:'Color', description:'', type:'teamwear', linkedNodes:[206], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:210, code:'',name:'Piping', description:'', type:'teamwear', linkedNodes:[206], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:211, code:'',name:'Decoration', description:'', type:'teamwear', linkedNodes:[206], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:212, code:'',name:'Brand', description:'', type:'teamwear', linkedNodes:[206], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:213, code:'',name:'Roster', description:'', type:'teamwear', linkedNodes:[206], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:214, code:'',name:'Produra', description:'Premium, Durable, Moisture Wicking, 100% Knitted Polyester with Mechanical Stretch', type:'fabric-type', linkedNodes:[207], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/fabrics/PRODURA.png',tags:'SUBLIMATION AND HYPR TWILL'},\r\n {id:215, code:'',name:'Protek', description:'Premium, Durable, Moisture Wicking, 100% Knitted Polyester with Mechanical Stretch', type:'fabric-type', linkedNodes:[207], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/fabrics/PROTEK.png',tags:'SUBLIMATION AND HYPR TWILL'},\r\n {id:216, code:'',name:'Ignite LT', description:'Premium, Durable, Lightweight, Moisture Wicking, Woven 90% Polyester / 10% Elastane with Four-Way Stretch', type:'fabric-type', linkedNodes:[207], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/fabrics/IGNITE_LT.png',tags:'SUBLIMATION ONLY'},\r\n {id:217, code:'',name:'Matrix Mesh', description:'Premium, Durable, Moisture Wicking, Knitted Pin-Dot Mesh, 90% Polyester / 10% Elastane with Four-Way Stretch', type:'fabric-type', linkedNodes:[207], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/fabrics/MATRIX_MESH.png',tags:'SUBLIMATION AND HYPR TWILL'},\r\n {id:218, code:'',name:'Dryve LT', description:'Soft, Lightweight, Moisture Wicking, 100% Knitted Polyester Mesh', type:'fabric-type', linkedNodes:[207], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/fabrics/DRYVE_LT.png',tags:'SUBLIMATION ONLY'},\r\n {id:219, code:'',name:'FLY LT', description:'Soft, Lightweight, Moisture Wicking, 100% Flat Knit Polyester', type:'fabric-type', linkedNodes:[207], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/fabrics/FLY_LT.png',tags:'SUBLIMATION ONLY'},\r\n {id:220, code:'',name:'FLX', description:'Premium, Soft, Four-Way Stretch, 90% Polyester/10% Elastine', type:'fabric-type', linkedNodes:[207], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/fabrics/FLX.png',tags:'SUBLIMATION ONLY'},\r\n {id:221, code:'',name:'PRODURA - DYED (HYPR TWILL DECORATION ONLY)', description:'', type:'fabric-type', linkedNodes:[207], threeD:false,icon:'',thumbnail:'',tags:'HYPR TWILL'},\r\n {id:222, code:'',name:'PROTEK - DYED (HYPR TWILL DECORATION ONLY)', description:'', type:'fabric-type', linkedNodes:[207], threeD:false,icon:'',thumbnail:'',tags:'HYPR TWILL'},\r\n {id:223, code:'',name:'Neck Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://resources.uniform-customizer.io/uploadedfiles/dRGF2JCBvodIg0QY21oHbuDfz6twjAVl.png',tags:''},\r\n {id:224, code:'',name:'Center Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://resources.uniform-customizer.io/uploadedfiles/oWpQa0fFddLuG2RJ6lBnITsIS6BcdW7g.png',tags:''},\r\n {id:225, code:'',name:'Yoke Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://resources.uniform-customizer.io/uploadedfiles/5BEjBO66Ei1aNzvVGxE39AJzOOOiN6TT.png',tags:''},\r\n {id:226, code:'',name:'Raglan Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://resources.uniform-customizer.io/uploadedfiles/RG6MuauqiOMWJrOEsCHJ4tC53neMxL7W.png',tags:''},\r\n {id:227, code:'',name:'Sleeve Piping 1 inch up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://resources.uniform-customizer.io/uploadedfiles/kOMLERHCuUVPWRIRWIhw1FlOvtiy1eBe.png',tags:''},\r\n {id:228, code:'',name:'End of Sleeve Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://resources.uniform-customizer.io/uploadedfiles/lr2zDaP9l792oXHqcq7CmYcuzoIrQhkj.png',tags:''},\r\n {id:229, code:'',name:'Pant', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://resources.uniform-customizer.io/uploadedfiles/BqGJKQ8kJdTUeY9CEGTwwYC45Ar8rvYR.png',tags:''},\r\n {id:230, code:'',name:'Pant Tunnel', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://resources.uniform-customizer.io/uploadedfiles/kFN2ZAjjdJEoIfnkZQThax0bALOdP90l.png',tags:''},\r\n {id:231, code:'',name:'Left Sleeve', description:'', type:'brand-type', linkedNodes:[212], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:232, code:'',name:'Back Neck', description:'', type:'brand-type', linkedNodes:[212], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:233, code:'',name:'Front Left Hip', description:'', type:'brand-type', linkedNodes:[212], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:234, code:'',name:'Back Center Tunnel', description:'', type:'brand-type', linkedNodes:[212], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:235, code:'',name:'Pro Select 2 Button End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8012CU/Pro%20Select%202%20Button%20End%20of%20Sleeve.png',tags:''},\r\n {id:236, code:'',name:'Pro Select 2 Button Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8012CU/Pro%20Select%202%20Button%20Neck.png',tags:''},\r\n {id:237, code:'',name:'Pro Select 2 Button Raglan', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8012CU/Pro%20Select%202%20Button%20Raglan.png',tags:''},\r\n {id:238, code:'',name:'Pro Select 2 Button Sleeve 1 Inch up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8012CU/Pro%20Select%202%20Button%20Sleeve%201%20Inch%20Up.png',tags:''},\r\n {id:239, code:'',name:'Pro Select 2 Button Yoke', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8012CU/Pro%20Select%202%20Button%20Yoke.png',tags:''},\r\n {id:240, code:'',name:'Pro Select Full Button Center', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8013CU/Pro%20Select%20Full%20Button%20Center.png',tags:''},\r\n {id:241, code:'',name:'Pro Select Full Button End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8013CU/Pro%20Select%20Full%20Button%20End%20of%20Sleeve.png',tags:''},\r\n {id:242, code:'',name:'Pro Select Full Button Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8013CU/Pro%20Select%20Full%20Button%20Neck.png',tags:''},\r\n {id:243, code:'',name:'Pro Select Full Button Raglan', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8013CU/Pro%20Select%20Full%20Button%20Raglan.png',tags:''},\r\n {id:244, code:'',name:'Pro Select Full Button Sleeve 1 Inch up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8013CU/Pro%20Select%20Full%20Button%20Sleeve%201%20Inch%20Up.png',tags:''},\r\n {id:245, code:'',name:'Pro Select Full Button Yoke', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8013CU/Pro%20Select%20Full%20Button%20Yoke.png',tags:''},\r\n {id:246, code:'',name:'Pro Select Sleeveless Full Button Center', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8014CU/Pro%20Select%20Sleeveless%20Full%20Button%20Center.png',tags:''},\r\n {id:247, code:'',name:'Pro Select Sleeveless Full Button Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8014CU/Pro%20Select%20Sleeveless%20Full%20Button%20Neck.png',tags:''},\r\n {id:248, code:'',name:'Pro Select Sleeveless Full Button Set In', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8014CU/Pro%20Select%20Sleeveless%20Full%20Button%20Set%20In.png',tags:''},\r\n {id:249, code:'',name:'Pro Select Sleeveless Full Button Yoke', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8014CU/Pro%20Select%20Sleeveless%20Full%20Button%20Yoke.png',tags:''},\r\n {id:250, code:'',name:'Pro Select Faux Button Center', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8015CU/Pro%20Select%20Faux%20Button%20Center.png',tags:''},\r\n {id:251, code:'',name:'Pro Select Faux Button End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8015CU/Pro%20Select%20Faux%20Button%20End%20of%20Sleeve.png',tags:''},\r\n {id:252, code:'',name:'Pro Select Faux Button Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8015CU/Pro%20Select%20Faux%20Button%20Neck.png',tags:''},\r\n {id:253, code:'',name:'Pro Select Faux Button Raglan', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8015CU/Pro%20Select%20Faux%20Button%20Neck.png',tags:''},\r\n {id:254, code:'',name:'Pro Select Faux Button Sleeve 1 Inch Up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8015CU/Pro%20Select%20Faux%20Button%20Sleeve%201%20Inch%20Up.png',tags:''},\r\n {id:255, code:'',name:'Pro Select Faux Button Yoke', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/piping/PRO%20SELECT/PTS8015CU/Pro%20Select%20Faux%20Button%20Yoke.png',tags:''},\r\n {id:256, code:'',name:'Pro Select Sleeveless Faux Button Center', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:257, code:'',name:'Pro Select Sleeveless Faux Button Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:258, code:'',name:'Pro Select Sleeveless Faux Button Set In', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:259, code:'',name:'Pro Select Sleeveless Faux Button Yoke', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:260, code:'',name:'Pro Select Full Length Open Cuff Pant Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:261, code:'',name:'Pro Select Full Length Open Cuff Tunnel Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:262, code:'',name:'Pro Select Knicker Pant Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:263, code:'',name:'Pro Select Knicker Tunnel Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:264, code:'',name:'Pro Select Tapared FL Pant Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:265, code:'',name:'Pro Select Tapered Tunnel Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:266, code:'',name:'Select Crew Neck End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:267, code:'',name:'Select Crew Neck Set In', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:268, code:'',name:'Select Crew Neck Sleeve 1 Inch up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:269, code:'',name:'Select BSB V Neck End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:270, code:'',name:'Select BSB V Neck Set In', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:271, code:'',name:'Select BSB V Neck Sleeve 1 inch up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:272, code:'',name:'Select BSB V Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:273, code:'',name:'Select 2 Button Center', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:274, code:'',name:'Select 2 Button End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:275, code:'',name:'Select 2 Button Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:276, code:'',name:'Select 2 Button Set In', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:277, code:'',name:'Select 2 Button Sleeve 1 inch up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:278, code:'',name:'Select 2 Button Yoke', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:279, code:'',name:'Select Full Length Open Cuff Pant Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:280, code:'',name:'Select Full Length Open Cuff Tunnel Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:281, code:'',name:'Select Knicker Pant Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:282, code:'',name:'Select Knicker Tunnel Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:283, code:'',name:'Select Full Length Tapered Pant Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:284, code:'',name:'Select Full Length Tapered Tunnel Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:285, code:'',name:'Signature BSB V Neck End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:286, code:'',name:'Signature BSB V Neck Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:287, code:'',name:'Signature BSB V Neck Raglan', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:288, code:'',name:'Signature BSB V Neck Sleeve 1 Inch Up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:289, code:'',name:'Signature 2 Button End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:290, code:'',name:'Signature 2 Button Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:291, code:'',name:'Signature 2 Button Raglan', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:292, code:'',name:'Signature 2 Button Sleeve 1 Inch Up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:293, code:'',name:'Signature 2 Button Yoke', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:294, code:'',name:'Signature Full Button Center', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:295, code:'',name:'Signature Full Button End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:296, code:'',name:'Signature Full Button Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:297, code:'',name:'Signature Full Button Raglan', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:298, code:'',name:'Signature Full Button Sleeve 1 Inch Up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:299, code:'',name:'Signature Full Button Yoke', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:300, code:'',name:'Signature Faux Button Center', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:301, code:'',name:'Signature Faux Button End of Sleeve', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:302, code:'',name:'Signature Faux Button Neck', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:303, code:'',name:'Signature Faux Button Raglan', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:304, code:'',name:'Signature Faux Button Sleeve 1 Inch Up', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:305, code:'',name:'Signature Faux Button Yoke', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:306, code:'',name:'Signature Full Length Open Cuff Back Insert Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:307, code:'',name:'Signature Full Length Open Cuff Pant Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:308, code:'',name:'Signature Full Length Open Cuff Tunnel Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:309, code:'',name:'Signature Knicker Back Insert Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:310, code:'',name:'Signature Knicker Pant Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:311, code:'',name:'Signature Knicker Tunnel Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:312, code:'',name:'Signature Full Length Tapered Back Insert Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:313, code:'',name:'Signature Full Length Tapered Pant Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:314, code:'',name:'Signature Full Length Tapered Tunnel Piping', description:'', type:'piping-type', linkedNodes:[210], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:315, code:'',name:'Patches Custom', description:'', type:'decoration-type-shape', linkedNodes:[3], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:316, code:'',name:'Leather Custom ', description:'', type:'decoration-type-shape', linkedNodes:[2], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:317, code:'',name:'Rust ', description:'', type:'decoration-type-color', linkedNodes:[10], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/leather/F100.jpg',tags:''},\r\n {id:318, code:'',name:'Tan', description:'', type:'decoration-type-color', linkedNodes:[10], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/leather/F102.jpg',tags:''},\r\n {id:319, code:'',name:'Brown', description:'', type:'decoration-type-color', linkedNodes:[10], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/leather/F104.jpg',tags:''},\r\n { id: 320, code: '', name: 'Black', description: '', type: 'decoration-type-color', linkedNodes: [10], threeD: false, icon: '', thumbnail: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/leather/F106.jpg', tags: '' },\r\n {id:321, code:'',name:'GF841_Mammoth', description:'', type:'decoration-design-concepts', linkedNodes:[2], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF841_Mammoth.svg',tags:'Resort & Golf'},\r\n {id:322, code:'',name:'CL223_Backwoods', description:'', type:'decoration-design-concepts', linkedNodes:[2], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL223_Backwoods.svg',tags:'Resort & Golf'},\r\n// {id:323, code:'',name:'OD924_Maine2', description:'', type:'decoration-design-concepts', linkedNodes:[2], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/OD924_Maine2.svg',tags:'Atheletic'},\r\n// {id:324, code:'',name:'CL165_Frostburg', description:'', type:'decoration-design-concepts', linkedNodes:[2], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL165_Frostburg.svg',tags:'Outdoor'},\r\n// {id:325, code:'',name:'GF857_Brookside', description:'', type:'decoration-design-concepts', linkedNodes:[2], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF857_Brookside.svg',tags:'Atheletic'},\r\n// {id:326, code:'',name:'GF841_Mammoth', description:'', type:'decoration-design-concepts', linkedNodes:[1], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF841_Mammoth.svg',tags:'Resort & Golf'},\r\n// {id:327, code:'',name:'CL223_Backwoods', description:'', type:'decoration-design-concepts', linkedNodes:[1], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL223_Backwoods.svg',tags:'Resort & Golf'},\r\n {id:328, code:'',name:'OD924_Maine2', description:'', type:'decoration-design-concepts', linkedNodes:[1], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/OD924_Maine2.svg',tags:'Atheletic'},\r\n {id:329, code:'',name:'CL165_Frostburg', description:'', type:'decoration-design-concepts', linkedNodes:[1], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL165_Frostburg.svg',tags:'Outdoor'},\r\n {id:330, code:'',name:'GF857_Brookside', description:'', type:'decoration-design-concepts', linkedNodes:[1], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF857_Brookside.svg',tags:'Atheletic'},\r\n {id:331, code:'',name:'GF841_Mammoth', description:'', type:'decoration-design-concepts', linkedNodes:[3], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF841_Mammoth.svg',tags:'Resort & Golf'},\r\n {id:332, code:'',name:'CL223_Backwoods', description:'', type:'decoration-design-concepts', linkedNodes:[3], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL223_Backwoods.svg',tags:'Resort & Golf'},\r\n {id:333, code:'',name:'OD924_Maine2', description:'', type:'decoration-design-concepts', linkedNodes:[3], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/OD924_Maine2.svg',tags:'Atheletic'},\r\n {id:334, code:'',name:'CL165_Frostburg', description:'', type:'decoration-design-concepts', linkedNodes:[3], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL165_Frostburg.svg',tags:'Outdoor'},\r\n {id:335, code:'',name:'GF857_Brookside', description:'', type:'decoration-design-concepts', linkedNodes:[3], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF857_Brookside.svg',tags:'Atheletic'},\r\n {id:336, code:'',name:'GF841_Mammoth', description:'', type:'decoration-design-concepts', linkedNodes:[4], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF841_Mammoth.svg',tags:'Resort & Golf'},\r\n {id:337, code:'',name:'CL223_Backwoods', description:'', type:'decoration-design-concepts', linkedNodes:[4], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL223_Backwoods.svg',tags:'Resort & Golf'},\r\n {id:338, code:'',name:'OD924_Maine2', description:'', type:'decoration-design-concepts', linkedNodes:[4], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/OD924_Maine2.svg',tags:'Atheletic'},\r\n {id:339, code:'',name:'CL165_Frostburg', description:'', type:'decoration-design-concepts', linkedNodes:[4], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL165_Frostburg.svg',tags:'Outdoor'},\r\n {id:340, code:'',name:'GF857_Brookside', description:'', type:'decoration-design-concepts', linkedNodes:[4], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF857_Brookside.svg',tags:'Atheletic'},\r\n {id:341, code:'',name:'GF841_Mammoth', description:'', type:'decoration-design-concepts', linkedNodes:[5], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF841_Mammoth.svg',tags:'Resort & Golf'},\r\n {id:342, code:'',name:'CL223_Backwoods', description:'', type:'decoration-design-concepts', linkedNodes:[5], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL223_Backwoods.svg',tags:'Resort & Golf'},\r\n {id:343, code:'',name:'OD924_Maine2', description:'', type:'decoration-design-concepts', linkedNodes:[5], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/OD924_Maine2.svg',tags:'Atheletic'},\r\n {id:344, code:'',name:'CL165_Frostburg', description:'', type:'decoration-design-concepts', linkedNodes:[5], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL165_Frostburg.svg',tags:'Outdoor'},\r\n {id:345, code:'',name:'GF857_Brookside', description:'', type:'decoration-design-concepts', linkedNodes:[5], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF857_Brookside.svg',tags:'Atheletic'},\r\n {id:346, code:'',name:'GF841_Mammoth', description:'', type:'decoration-design-concepts', linkedNodes:[6], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF841_Mammoth.svg',tags:'Resort & Golf'},\r\n {id:347, code:'',name:'CL223_Backwoods', description:'', type:'decoration-design-concepts', linkedNodes:[6], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL223_Backwoods.svg',tags:'Resort & Golf'},\r\n {id:348, code:'',name:'OD924_Maine2', description:'', type:'decoration-design-concepts', linkedNodes:[6], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/OD924_Maine2.svg',tags:'Atheletic'},\r\n {id:349, code:'',name:'CL165_Frostburg', description:'', type:'decoration-design-concepts', linkedNodes:[6], threeD:false,icon:'',thumbnail:'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/CL165_Frostburg.svg',tags:'Outdoor'},\r\n { id: 350, code: '', name: 'GF857_Brookside', description: '', type: 'decoration-design-concepts', linkedNodes: [6], threeD: false, icon: '', thumbnail: 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/designs/design_concept/GF857_Brookside.svg', tags: 'Atheletic' },\r\n {id:351, code:'',name:'BRUSHSCRIPT', description:'BRUSHSCRIPT', type:'design-style-letters-font', linkedNodes:[75,76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:352, code:'',name:'UNITED', description:'UNITED', type:'design-style-letters-font', linkedNodes:[76], threeD:false,icon:'',thumbnail:'',tags:''},\r\n {id:353, code:'',name:'My Logos', description:'', type:'design-substyle', linkedNodes:[78], threeD:false,icon:'TeamCustom',thumbnail:'',tags:''},\r\n {id:354, code:'',name:'Custom File Upload', description:'', type:'design-substyle', linkedNodes:[78], threeD:false,icon:'TeamCustom',thumbnail:'',tags:''},\r\n];\r\n","import { decorationData } from './mockData';\r\n\r\nexport type DecorationTypes =\r\n | 'decoration-type'\r\n | 'decoration-sub-type'\r\n | 'decoration-type-color'\r\n | 'decoration-ink-option'\r\n | 'decoration-type-shape'\r\n | 'decoration-edge-type'\r\n | 'design-type'\r\n | 'design-style'\r\n | 'design-style-letters-font'\r\n | 'design-style-mascots';\r\n\r\nexport const getDecorationDataById = (id: number) => {\r\n return decorationData.filter((e) => e.id === id)?.[0];\r\n};\r\n\r\nexport const getDecorationDataByName = (name: string) => {\r\n return decorationData.filter((e) => e.name === name)?.[0];\r\n};\r\n\r\nexport const getDecorationDataByTypeAndParentId = (\r\n type: DecorationTypes,\r\n parentId?: number\r\n) => {\r\n return parentId\r\n ? decorationData.filter(\r\n (item) => item.type === type && item.linkedNodes.includes(parentId)\r\n )\r\n : decorationData.filter(\r\n (item) => item.type === type \r\n );\r\n};\r\n\r\nexport const getAllTypes = () => {\r\n return [new Set(decorationData?.map((item) => item.type))];\r\n};\r\n","import React from 'react';\r\n// import { MdOutlineArrowForwardIos } from 'react-icons/md';\r\n//import { Searchbar } from '../searchbar';\r\nimport { Card, CardMedia, CardBody, CardTitle } from '../card';\r\n// import { Button } from '../button';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { use3dddPlus } from '../../store';\r\nimport { Loader } from '../loader';\r\nimport ListDropdown from './listDropDown';\r\nimport { getDecorationDataByTypeAndParentId } from './decorationService';\r\nimport _ from 'lodash';\r\nexport const AddMascot = () => {\r\n const [\r\n stockLogoHandler,\r\n loading,\r\n handleMascotObjectFilterValues,\r\n availableMascots,\r\n filterValue,\r\n filteredMascots,\r\n ] = use3dddPlus(\r\n (state) => [\r\n state.stockLogoHandler,\r\n state.loading,\r\n state.handleMascotObjectFilterValues,\r\n state.availableMascots,\r\n state.filterValue,\r\n state.filteredMascots,\r\n ],\r\n shallow\r\n );\r\n\r\n let dropdownData = Array.from(\r\n new Set(availableMascots.flatMap((mascot) => mascot.tags))\r\n );\r\n // Prepend 'All' to the array\r\n dropdownData.unshift('All');\r\n React.useEffect(() => {\r\n const availableMascots = getDecorationDataByTypeAndParentId(\r\n 'design-style-mascots'\r\n ).map((item) => ({\r\n ...item,\r\n tags: item.tags.split(',').filter(Boolean),\r\n }));\r\n\r\n use3dddPlus.getState().setAvailableMascots(availableMascots);\r\n use3dddPlus\r\n .getState()\r\n .setFilteredMascots(availableMascots.map((item) => item.thumbnail));\r\n }, []);\r\n\r\n return (\r\n <>\r\n <div className=\"bg-[#F7F7F7] absolute z-100 w-[90%] h-full pr-[56px]\">\r\n <div className=\"w-full flex mt-[50px] flex-row \">\r\n <div className=\"w-1/2 flex justify-end\">\r\n <div className=\"text-left mr-[24px] h-[40px]\">\r\n <div className=\"w-[10vw] mb-3 \"></div>\r\n </div>\r\n </div>\r\n <div className=\" flex-1 justify-end\">\r\n <ListDropdown\r\n //placeholder=\"All \"\r\n value={filterValue}\r\n dropdownData={dropdownData}\r\n handleSelected={handleMascotObjectFilterValues}\r\n // label={'Select Stock Mascots & Objects'}\r\n labelClass={`!mb-[14.5px]`}\r\n labelSpan={`uppercase !text-[18px] !text-[#353535] !leading-[24px] !font-bold`}\r\n buttonClass={`!shadow-[0px_7px_64px_rgba(0,0,0,0.07)] border !border-[#ebebeb] text-[15px] font-bold leading-[20px] !py-[11px] !pl-[17px]`}\r\n dropdownClass={`!shadow-[0px_7px_64px_rgba(0,0,0,0.11)] !bg-[#ffffff] !max-h-[31.25rem] pt-[7px] pb-[17px]`}\r\n dropdownLiClass={`!text-[15px] leading-[20px] pl-[16px]`}\r\n />\r\n </div>\r\n </div>\r\n {/* <div className=\"flex flex-row gap-2\"> */}\r\n <div className=\"flex\">\r\n <div className=\"flex mt-[30px] overflow-y-auto overflow-x-hidden h-[65vh] w-full\">\r\n {/* <div className=\"max-h-[140px] grid gap-3.5 grid-cols-3 md:grid-cols-3 lg:grid-cols-4 w-full \"> */}\r\n <div className=\"max-h-[170px] grid gap-[2vw] grid-cols-3 md:grid-cols-5 lg:grid-cols-5 xl:grid-cols-6 2xl:grid-cols-7 w-full p-[30px]\">\r\n {filteredMascots.length > 0\r\n ? filteredMascots.map((logo, index) => (\r\n <Card\r\n key={'logoImage' + index}\r\n // cardClass={`rounded-none bg-white cursor-pointer `}\r\n cardClass={`rounded-none !bg-transparent cursor-pointer min-h-[140px] min-w-[140px] max-w-[140px] `}\r\n style={{ boxShadow: '0px 0px 6px #98989829' }}\r\n onClick={() => stockLogoHandler(logo)}\r\n >\r\n <CardMedia src={logo} imageClass=\"h-full m-[15px] mb-0\" />\r\n\r\n <CardBody bodyClass=\"p-2.5\">\r\n <CardTitle\r\n titleClass={`text-[11px] uppercase flex justify-center`}\r\n name={availableMascots[index].name}\r\n />\r\n </CardBody>\r\n </Card>\r\n ))\r\n : 'No Stock Logos'}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n {loading && <Loader />}\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\n// import { use3dddPlus } from '../../store';\r\nimport { MODAL_BG_COLOR } from '../../theme';\r\n\r\nexport interface ModalProps {\r\n children?: React.ReactNode;\r\n className?: string;\r\n}\r\n\r\nexport const LogoEditorSaveDesignModal = ({\r\n children,\r\n className = '',\r\n}: ModalProps) => {\r\n // const closeDesign = use3dddPlus((state) => state.setToggleSaveLogo);\r\n return (\r\n <>\r\n <div\r\n className={`modal modal-middle modal-open backdrop-blur-[45px] bg-[#00000046]`}\r\n id=\"saveLogoModel\"\r\n >\r\n <div className={`${className} modal-box ${MODAL_BG_COLOR} `}>\r\n {children}\r\n </div>\r\n {/* <form method=\"dialog\" className={`modal-backdrop ${BACKDROP_BLUR}`}>\r\n <button>close</button>\r\n </form> */}\r\n </div>\r\n </>\r\n );\r\n};","import React from 'react';\r\nimport { FloatingLabel } from 'flowbite-react';\r\nimport { EDIT_DESIGN_INFO_INPUT_BORDER_COLOR } from '../../theme';\r\ninterface CustomInputProps extends React.InputHTMLAttributes<HTMLInputElement> {\r\n type: string;\r\n id: string;\r\n name: string;\r\n label: string;\r\n customLabelStyle?: string;\r\n customInputStyle?: string;\r\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\r\n value?: string | undefined;\r\n onKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n}\r\nexport const CustomInput: React.FC<CustomInputProps> = ({\r\n type,\r\n id,\r\n name,\r\n label,\r\n customLabelStyle,\r\n customInputStyle,\r\n onChange,\r\n onBlur,\r\n value,\r\n onKeyDown,\r\n className = '',\r\n}) => {\r\n return (\r\n <div className=\"w-full\">\r\n <FloatingLabel\r\n type={type}\r\n id={id}\r\n value={value}\r\n name={name}\r\n variant=\"outlined\"\r\n label={label}\r\n onChange={onChange}\r\n onBlur={onBlur}\r\n onKeyDown={onKeyDown}\r\n theme={{\r\n label: {\r\n default: {\r\n outlined: {\r\n sm: `absolute left-4 top-2 z-10 origin-[0] -translate-y-4 transition-transform bg-white peer-focus:px-[0.125rem] px-[0.125rem] text-[#5D5D5D] duration-300 peer-placeholder-shown:top-1/2 peer-placeholder-shown:-translate-y-1/2 peer-focus:top-2 peer-focus:-translate-y-4 font-medium ${customLabelStyle} ${className}`,\r\n\r\n md: `absolute left-4 top-2 z-10 origin-[0] -translate-y-4 transition-transform bg-white peer-focus:px-[0.125rem] px-[0.125rem] text-[#5D5D5D] duration-300 peer-placeholder-shown:top-1/2 peer-placeholder-shown:-translate-y-1/2 peer-focus:top-2 peer-focus:-translate-y-4 font-medium ${customLabelStyle} ${className}`,\r\n },\r\n },\r\n },\r\n input: {\r\n default: {\r\n outlined: {\r\n sm: `border peer block w-full appearance-none rounded-none border-[#ECEBED] px-4 pb-2.5 pt-4 focus:border-[#ECEBED] focus:outline-none focus:ring-0 w-full h-[3rem] mt-0 ${customInputStyle} ${EDIT_DESIGN_INFO_INPUT_BORDER_COLOR}`,\r\n\r\n md: `border peer block w-full appearance-none rounded-none border-[#ECEBED] px-4 pb-2.5 pt-4 focus:border-[#ECEBED] focus:outline-none focus:ring-0 w-full h-[3rem] mt-0 ${customInputStyle} ${EDIT_DESIGN_INFO_INPUT_BORDER_COLOR}`,\r\n },\r\n },\r\n },\r\n helperText: {\r\n default: 'mt-0 ',\r\n success: 'mt-0 ',\r\n error: 'mt-0',\r\n },\r\n }}\r\n />\r\n </div>\r\n );\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport {\r\n BUTTON_TEXT_COLOR,\r\n EDIT_DESIGN_INFO_BG_COLOR_4,\r\n EDIT_DESIGN_INFO_INPUT_BORDER_COLOR,\r\n EDIT_DESIGN_INFO_TEXT_COLOR_1,\r\n EDIT_DESIGN_INFO_TEXT_COLOR_3,\r\n INPUT_ERROR_TEXT_COLOR,\r\n SAVEBUTTON_BG_COLOR,\r\n SECONDARY_COLOR,\r\n TEXT_SIZE_12,\r\n TEXT_SIZE_4,\r\n TEXT_SIZE_5,\r\n TEXT_SIZE_9,\r\n} from '../../theme';\r\nimport { RxCross2 } from 'react-icons/rx';\r\nimport { use3dddPlus } from '../../store';\r\nimport { LogoEditorSaveDesignModal } from './saveDesignModal';\r\nimport './saveDesign.css';\r\nimport { CustomInput } from '../input/customInput';\r\nimport { fabric } from 'fabric';\r\n\r\nexport const SaveDesign = ({ onSaveLogo }) => {\r\n const [designNameValidation, setDesignNameValidation] = useState('');\r\n\r\n const [commaInTagName, setCommaInTagName] = useState(false);\r\n const [tagNameLength, setTagNameLength] = useState(false);\r\n const [isSaving, setIsSaving] = useState(false);\r\n const [\r\n canvas,\r\n logoName,\r\n logoTag,\r\n closeModal,\r\n toggleSaveLogo,\r\n disableSaveButton,\r\n saveLogo,\r\n uploadLogoConfig,\r\n setLogoData,\r\n ] = use3dddPlus((state) => [\r\n state.fabricCanvas,\r\n state.logoName,\r\n state.logoTag,\r\n state.setToggleSaveLogo,\r\n state.toggleSaveLogo,\r\n state.disableSaveButton,\r\n state.saveLogo,\r\n state.uploadLogoConfig,\r\n state.setLogoData,\r\n ]);\r\n const [tagName, setTagName] = React.useState('');\r\n\r\n const checkValidations = () => {\r\n const nameValidation = logoName.length >= 1;\r\n if (!nameValidation) {\r\n setDesignNameValidation('length');\r\n return nameValidation;\r\n } else return true;\r\n };\r\n const onSaveHandler = async () => {\r\n if (!isSaving) {\r\n if (!checkValidations()) return;\r\n setIsSaving(true);\r\n const canvasGetobject = canvas.getObjects();\r\n canvasGetobject.forEach((obj) => {\r\n if (obj.type === 'line') {\r\n canvas.remove(obj);\r\n }\r\n });\r\n\r\n // saving all path text data (text with shapes applied)\r\n let pathTextsData = {};\r\n canvasGetobject.forEach((obj) => {\r\n if (obj.type === 'path' && obj.pathData !== undefined) {\r\n pathTextsData[obj.text] = {\r\n width: obj.width,\r\n height: obj.height,\r\n left: obj.left,\r\n top: obj.top,\r\n pathData: obj.pathData,\r\n shapeSize: obj.shapeSize,\r\n shapeType: obj.shapeType,\r\n fontFamily: obj.fontFamily,\r\n fontWeight: obj.fontWeight,\r\n fontSize: obj.fontSize,\r\n charSpacing: obj.charSpacing,\r\n textAlign: obj.textAlign,\r\n fontStyle: obj.fontStyle,\r\n text: obj.text,\r\n };\r\n }\r\n });\r\n\r\n const dataURL = canvas.toDataURL();\r\n const canvasData = use3dddPlus.getState().applyColorFill();\r\n // const canvasGetobject = canvas.getObjects();\r\n // canvasData.objects.forEach((element, index) => {\r\n // element.colorFill = canvasGetobject[index].colorFill;\r\n // });\r\n\r\n // looping through the text shape objects & taking out text data to inject in the canvas json data & save\r\n let pathTextsKeys = Object.keys(pathTextsData);\r\n for (let i = 0; i < pathTextsKeys.length; i++) {\r\n let pathData = pathTextsData[pathTextsKeys[i]];\r\n for (let o = 0; o < canvasData.objects.length; o++) {\r\n const obj = canvasData.objects[o];\r\n if (\r\n obj.type === 'path' &&\r\n obj.left === Math.round(pathData.left * 100) / 100 &&\r\n obj.top === Math.round(pathData.top * 100) / 100 &&\r\n obj.width === Math.round(pathData.width * 100) / 100 &&\r\n obj.height === Math.round(pathData.height * 100) / 100\r\n ) {\r\n Object.assign(canvasData.objects[o], pathData);\r\n }\r\n }\r\n }\r\n\r\n const dataCh = JSON.stringify(canvasData);\r\n const S3UrlPath = await uploadLogoConfig(\r\n dataCh,\r\n use3dddPlus.getState().customerId\r\n );\r\n canvas.backgroundColor = null;\r\n const canvasSvg = canvas.toSVG();\r\n closeModal('', false, '', {});\r\n const raw = JSON.stringify({\r\n customer_id: use3dddPlus.getState().customerId,\r\n tag: logoTag.join(','),\r\n name: logoName,\r\n base64_image: dataURL,\r\n svg_image: canvasSvg,\r\n logo_config_url: S3UrlPath,\r\n });\r\n\r\n const horizontalLine = new fabric.Line(\r\n [0, canvas.height / 2, canvas.height, canvas.height / 2],\r\n {\r\n stroke: 'red',\r\n scaleX: 11,\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n const verticalLine = new fabric.Line(\r\n [canvas.width / 2, 0, canvas.width / 2, canvas.width],\r\n {\r\n stroke: 'red',\r\n visible: false,\r\n selectable: false,\r\n type: 'line',\r\n }\r\n );\r\n\r\n horizontalLine.centerH();\r\n canvas.add(horizontalLine);\r\n canvas.add(verticalLine);\r\n canvas.sendBackwards(horizontalLine);\r\n canvas.sendBackwards(verticalLine);\r\n use3dddPlus.setState({ horizontalLine: horizontalLine });\r\n use3dddPlus.setState({ verticalLine: verticalLine });\r\n saveLogo(raw)\r\n .then((data) => {\r\n setIsSaving(false);\r\n onSaveLogo(data);\r\n setLogoData(data);\r\n use3dddPlus.getState().toastMessages.saveSuccess();\r\n })\r\n .catch((ex) => {\r\n setIsSaving(false);\r\n console.log('ERROR in Save Logo:', ex);\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (tagName !== '') {\r\n const reg = /^[a-zA-Z0-9 ]+$/;\r\n const regTest = reg.test(tagName);\r\n\r\n if (!regTest) {\r\n setCommaInTagName(true);\r\n } else if (!!commaInTagName) {\r\n setCommaInTagName(false);\r\n }\r\n } else if (!!commaInTagName) {\r\n setCommaInTagName(false);\r\n }\r\n }, [tagName]);\r\n\r\n // useEffect(() => {\r\n // if (logoName !== '') {\r\n // const reg = /^[a-zA-Z0-9 ]+$/;\r\n // const regTest = reg.test(logoName);\r\n // if (!regTest) {\r\n // setDesignNameValidation('specialCharacter');\r\n // } else if (designNameValidation === 'specialCharacter') {\r\n // setDesignNameValidation('');\r\n // }\r\n // } else if (designNameValidation === 'specialCharacter') {\r\n // setDesignNameValidation('');\r\n // }\r\n // }, [logoName]);\r\n\r\n const handleTagChange = (event: any) => {\r\n if (event?.target?.value !== ' ') {\r\n setTagName(event.target.value);\r\n }\r\n };\r\n\r\n const handleKeyDown = (event: any) => {\r\n if (logoTag.length > 4 && tagName !== '') {\r\n event.preventDefault();\r\n setTagNameLength(true);\r\n setTagName('');\r\n return;\r\n } else {\r\n setTagNameLength(false);\r\n }\r\n\r\n if (\r\n event.key === 'Enter' ||\r\n event.key === 'Tab' ||\r\n (event.keyCode === 188 && tagName !== '') ||\r\n (event.type === 'blur' && tagName !== '')\r\n ) {\r\n event.preventDefault();\r\n\r\n const reg = /^[a-zA-Z0-9 ]+$/;\r\n const regTest = reg.test(tagName);\r\n if (!regTest) {\r\n setCommaInTagName(true);\r\n return;\r\n }\r\n if (!!regTest) {\r\n tagName !== '' && handleAdd();\r\n }\r\n } else if (tagName === '' && event.key === 'Backspace') {\r\n handleBackspace();\r\n }\r\n if (tagName.length !== 0 && (!!commaInTagName || !!tagNameLength)) {\r\n if (event?.type === 'blur' || event?.type === 'keydown') {\r\n setCommaInTagName(false);\r\n setTagNameLength(false);\r\n }\r\n }\r\n };\r\n\r\n const handleNameChange = (value) => {\r\n use3dddPlus.setState({ logoName: value });\r\n if (designNameValidation === 'length') {\r\n setDesignNameValidation('');\r\n }\r\n };\r\n\r\n const handleAdd = () => {\r\n let newList = [...logoTag];\r\n if (!newList.includes(tagName.trim())) {\r\n newList.push(tagName.trim());\r\n }\r\n use3dddPlus.setState({ logoTag: newList.filter(Boolean) });\r\n setTagName('');\r\n };\r\n\r\n const handleBackspace = () => {\r\n let newList = [...logoTag];\r\n newList.pop();\r\n use3dddPlus.setState({ logoTag: newList.filter(Boolean) });\r\n };\r\n\r\n const handleDelete = (e) => {\r\n const newList = logoTag.filter((item) => item !== e);\r\n use3dddPlus.setState({ logoTag: newList });\r\n };\r\n const onCancelHandler = () => {\r\n closeModal('', false, '', {});\r\n };\r\n return (\r\n <LogoEditorSaveDesignModal\r\n className={`md:absolute md:right-30 rounded-none p-0 md:h-auto max-h-screen max-w-[37.125rem] w-[80%] md:w-full m-[auto]\r\n `}\r\n >\r\n <button\r\n className=\"absolute right-[0.6875rem] top-[0.6875rem] px-[0.75rem] py-[0.75rem] hover:bg-[#E11A38] hover:text-[#ffffff] hover:rounded-none\"\r\n onClick={() => {\r\n use3dddPlus.getState().goBack();\r\n closeModal('', false, '', {});\r\n use3dddPlus.setState({ showCrossSave: false });\r\n \r\n }}\r\n >\r\n <RxCross2 strokeWidth={1} />\r\n </button>\r\n\r\n <div className={`flex h-max w-full`}>\r\n <div\r\n className={`w-full md:px-[112px] md:p-[98px] p-[30px] bg-white h-full flex justify-center`}\r\n >\r\n <div className=\"w-full\">\r\n <span\r\n className={`block mb-6 font-bold text-2xl lh-1 ${SECONDARY_COLOR} uppercase leading-[2.3125rem] font-bold ${EDIT_DESIGN_INFO_TEXT_COLOR_1} ${TEXT_SIZE_5}\r\n `}\r\n >\r\n {toggleSaveLogo.title}\r\n </span>\r\n <div>\r\n <div className=\"\">\r\n <CustomInput\r\n customLabelStyle={`${TEXT_SIZE_9} leading-[1.25rem] border-0 font-medium text-[#727272]`}\r\n value={logoName}\r\n onBlur={(e) =>\r\n handleNameChange(e?.target?.value?.trimStart())\r\n }\r\n type=\"text\"\r\n id=\"logoName\"\r\n name=\"logoName\"\r\n label=\"Design Name\"\r\n onChange={(e) =>\r\n handleNameChange(e?.target?.value?.trimStart())\r\n }\r\n customInputStyle={`${\r\n designNameValidation === 'length'\r\n ? `border border-[#e11a38]`\r\n : `border border-[#ecebed]`\r\n } text-[#727272] ${TEXT_SIZE_9} bg-transparent`}\r\n />\r\n </div>\r\n {designNameValidation === 'length' && (\r\n <div\r\n role=\"alert\"\r\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR}`}\r\n >\r\n * Please enter a name with at least 1 character\r\n </div>\r\n )}\r\n {designNameValidation === 'specialCharacter' && (\r\n <div\r\n role=\"alert\"\r\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR}`}\r\n >\r\n * Design Name can not have any special characters\r\n </div>\r\n )}\r\n <div\r\n className={`relative flex flex-row py-[0.695rem] border ${EDIT_DESIGN_INFO_INPUT_BORDER_COLOR} flex-wrap place-content-start mt-5 `}\r\n >\r\n <div className=\"flex flex-row gap-[0.5rem] flex-wrap items-center px-[1rem]\">\r\n {Array.isArray(logoTag) &&\r\n logoTag?.map((el: any, i) => (\r\n <div\r\n key={i}\r\n className={`${TEXT_SIZE_12} leading-[0.8125rem] flex h-[1.5rem] items-center pt-[0.375rem] pb-[0.3125rem] px-[0.5rem] rounded gap-[0.4375rem] ${EDIT_DESIGN_INFO_TEXT_COLOR_1} ${EDIT_DESIGN_INFO_BG_COLOR_4}`}\r\n >\r\n {el}\r\n <button onClick={() => handleDelete(el)}>\r\n <RxCross2\r\n className={`${EDIT_DESIGN_INFO_TEXT_COLOR_1} font-bold`}\r\n />\r\n </button>\r\n </div>\r\n ))}\r\n\r\n <div>\r\n <input\r\n name=\"tags\"\r\n type=\"text\"\r\n placeholder=\" \"\r\n className={` ${EDIT_DESIGN_INFO_TEXT_COLOR_3} font-medium block w-[6.25rem] focus:outline-none !border-0 py-0 focus:border-0 peer focus:ring-0 ring-0 px-4`}\r\n value={tagName}\r\n onChange={handleTagChange}\r\n onKeyDown={handleKeyDown}\r\n onBlur={handleKeyDown}\r\n onClick={(e) => {\r\n e.currentTarget.focus();\r\n }}\r\n />\r\n <label\r\n htmlFor=\"designTags\"\r\n className={` ${\r\n logoTag?.length > 0 || !!commaInTagName\r\n ? 'py-0 !top-0 !font-[13px] !text-[#727272] !bg-white !opacity-1 !left-[1rem]'\r\n : ''\r\n } ${TEXT_SIZE_9} peer-focus:${EDIT_DESIGN_INFO_TEXT_COLOR_1} font-medium leading-[1.25rem] absolute z-10 transition-all top-2 transform -translate-y-1/2 peer-placeholder-shown:-translate-y-1/2 peer-placeholder-shown:top-1/2 peer-focus:top-0 peer-focus:font-[13px] peer-focus:!bg-white peer-focus:-translate-y-[10px] peer-focus:opacity-1 peer-placeholder-shown:text-[#727272] left-4 `}\r\n >\r\n Tags\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n {(() => {\r\n switch (true) {\r\n case !!commaInTagName && !!tagNameLength:\r\n return (\r\n <div\r\n role=\"alert\"\r\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-5`}\r\n >\r\n * Tag Name can not have any special characters & Maximum\r\n number of tag can be 5\r\n </div>\r\n );\r\n case !!commaInTagName:\r\n return (\r\n <div\r\n role=\"alert\"\r\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-5`}\r\n >\r\n * Tag Name can not have any special characters\r\n </div>\r\n );\r\n case !!tagNameLength:\r\n return (\r\n <div\r\n role=\"alert\"\r\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-5`}\r\n >\r\n * Maximum number of tag can be 5\r\n </div>\r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n })()}\r\n {/* {!!commaInTagName && !!tagNameLength && (\r\n <div\r\n role=\"alert\"\r\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-5`}\r\n >\r\n * Tag Name can not have any special characters & Maximum\r\n number of tag can be 5\r\n </div>\r\n )}\r\n {!!commaInTagName && (\r\n <div\r\n role=\"alert\"\r\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-5`}\r\n >\r\n * Tag Name can not have any special characters\r\n </div>\r\n )}\r\n {!!tagNameLength && (\r\n <div\r\n role=\"alert\"\r\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-5`}\r\n >\r\n * Maximum number of tag can be 5\r\n </div>\r\n )} */}\r\n\r\n <div\r\n className={`${\r\n !disableSaveButton ? 'flex flex-col lg:flex-row' : ''\r\n } gap-[19px] leading-[23px] font-bold ${TEXT_SIZE_4} mt-5`}\r\n >\r\n {toggleSaveLogo.key === 'save' && (\r\n <>\r\n <button\r\n className={`md:btn-md lg:w-2/5 w-full rounded-none uppercase active:${SAVEBUTTON_BG_COLOR} ${\r\n isSaving ? 'bg-[#d77382]' : SAVEBUTTON_BG_COLOR\r\n } ${BUTTON_TEXT_COLOR} ${\r\n isSaving ? '' : 'hover:bg-[#E11A38]'\r\n }`}\r\n onClick={() => onSaveHandler()}\r\n disabled={isSaving}\r\n >\r\n SAVE\r\n </button>\r\n <button\r\n className={`md:btn-md lg:w-2/5 w-full rounded-none uppercase border border-1 border-[#5d5d5d] hover:text-[#ffffff] hover:bg-[#E11A38] hover:border-[#E11A38] justify-center items-center `}\r\n onClick={() => onCancelHandler()}\r\n >\r\n Cancel\r\n </button>\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </LogoEditorSaveDesignModal>\r\n );\r\n};\r\n","import React, { useRef, useEffect } from 'react';\r\n/**\r\n * Hook that alerts clicks outside of the passed ref\r\n */\r\nfunction useOutsideAlerter(ref: any, onClick: any) {\r\n useEffect(() => {\r\n /**\r\n * Alert if clicked on outside of element\r\n */\r\n function handleClickOutside(event: any) {\r\n if (ref.current && !ref.current.contains(event.target)) {\r\n // alert('You clicked outside of me!');\r\n onClick(event);\r\n }\r\n }\r\n function handleEscape(event: any) {\r\n if (event.key == 'Escape') onClick(event);\r\n }\r\n // Bind the event listener\r\n document.addEventListener('keydown', handleEscape);\r\n document.addEventListener('mousedown', handleClickOutside);\r\n return () => {\r\n // Unbind the event listener on clean up\r\n document.removeEventListener('mousedown', handleClickOutside);\r\n document.removeEventListener('keydown', handleEscape);\r\n };\r\n }, [ref]);\r\n}\r\n\r\n/**\r\n * Component that alerts if you click outside of it\r\n */\r\nfunction OutsideAlerter(props: any) {\r\n const wrapperRef = useRef(null);\r\n useOutsideAlerter(wrapperRef, props.onClick);\r\n\r\n return <div ref={wrapperRef}>{props.children}</div>;\r\n}\r\n\r\nexport default OutsideAlerter;\r\n","import React, { useState } from 'react';\r\nimport { ChromePicker } from 'react-color';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport OutsideAlerter from '../../hooks/outsideAlerter';\r\nexport const ColorPicker = () => {\r\n const [setDisplayProductColor, displayProductColor] = use3dddPlus(\r\n (state) => [state.setDisplayProductColor, state.displayProductColor],\r\n shallow\r\n );\r\n const [currentColor, setCurrentColor] = useState('#fff');\r\n\r\n const handleOnChange = (color) => {\r\n setCurrentColor(color.hex);\r\n const canvas = use3dddPlus.getState().fabricCanvas;\r\n canvas.backgroundColor = color.hex;\r\n canvas.renderAll();\r\n };\r\n\r\n return (\r\n <div className=\"absolute\">\r\n {displayProductColor && (\r\n <div className=\"relative top-[25vh] left-5 flex\">\r\n <OutsideAlerter onClick={() => setDisplayProductColor()}>\r\n <ChromePicker\r\n color={currentColor}\r\n onChange={handleOnChange}\r\n // onChangeComplete={handleOnChange}\r\n disableAlpha={true}\r\n onClose={() => setDisplayProductColor()}\r\n />\r\n </OutsideAlerter>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { Canvas } from '../canvas';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { UploadLogo } from '../uploadLogo';\r\nimport { Rightmenu } from '../Rightmenu';\r\nimport { AddMascot } from '../addMascot';\r\nimport { MyLogo } from '../myLogo';\r\nimport { SaveDesign } from '../saveDesign';\r\nimport {ColorPicker} from '../leftMenu/colorPicker'\r\nexport const MiddleMenu = ({ onApply, onSaveLogo }) => {\r\n const [selectedStepper, toggleSaveLogo, loadingLogo] = use3dddPlus(\r\n (state) => [state.selectedStepper, state.toggleSaveLogo, state.loadingLogo],\r\n shallow\r\n );\r\n React.useEffect(() => {\r\n if (selectedStepper === 2) loadingLogo('');\r\n }, []);\r\n return (\r\n <>\r\n <div className=\" flex flex-col md:flex-row flex-1 z-0 w-[90%] h-full\">\r\n <div className=\"flex w-[70%] h-[100%]\">\r\n <Canvas />\r\n </div>\r\n {toggleSaveLogo.status && <SaveDesign onSaveLogo={onSaveLogo} />}\r\n <div className=\"flex-1 z-[7] h-full\">\r\n <Rightmenu />\r\n </div>\r\n </div>\r\n {selectedStepper === 1 && <UploadLogo />}\r\n {selectedStepper === 4 && <AddMascot />}\r\n {selectedStepper === 2 && <MyLogo onApply={onApply} />}\r\n {selectedStepper === 5 && <ColorPicker />}\r\n </>\r\n );\r\n};\r\n","// FontLoader.ts\r\n\r\nimport { useEffect } from 'react';\r\n\r\nconst FontLoader = ({ fontPath }) => {\r\n useEffect(() => {\r\n const timeStamp = Date.now();\r\n // @ts-ignore\r\n const font = new FontFace(\r\n fontPath.name,\r\n `url('${fontPath.src}?timestamp=${timeStamp})`\r\n );\r\n font\r\n .load()\r\n .then((value) => {\r\n //@ts-ignore\r\n document.fonts?.add(value);\r\n document.body.classList.add('fonts-loaded');\r\n // console.log(`Font ${fontPath.name} is available`);\r\n })\r\n .catch((error) => {\r\n console.error('Font is not available', error);\r\n });\r\n }, [fontPath]);\r\n\r\n return null;\r\n};\r\n\r\nexport default FontLoader;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Modal } from './components';\r\nimport { ToastContainer, Bounce } from 'react-toastify';\r\nimport { LeftMenu } from './components/leftMenu';\r\nimport { Loader } from './components/loader';\r\nimport { MiddleMenu } from './components/middleMenu';\r\nimport FontLoader from './loaders/FontLoader';\r\nimport { use3dddPlus } from './store';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport './index.css';\r\n\r\nconst LogoEditor = ({\r\n stepperId,\r\n onApply,\r\n customLogoColorList,\r\n defaultColorList,\r\n logoData,\r\n customerId,\r\n onSaveLogo,\r\n onClose,\r\n}) => {\r\n const [setSelectedStepper, loading, myLogoHandler] = use3dddPlus((state) => [\r\n state.setSelectedStepper,\r\n state.loading,\r\n state.myLogoHandler,\r\n ]);\r\n const [fontFamilies, setFontFamilies] = useState([]);\r\n\r\n useEffect(() => {\r\n setSelectedStepper(stepperId);\r\n if (stepperId === undefined) {\r\n myLogoHandler(logoData);\r\n }\r\n use3dddPlus.setState({ customUploadLogoColorList: customLogoColorList });\r\n use3dddPlus.setState({ defaultColorList: defaultColorList });\r\n use3dddPlus.setState({ customerId: customerId });\r\n\r\n fetch(\r\n 'https://storage.googleapis.com/3ddplusgcp/richardson-customizer/fonts/fontFamilies.json'\r\n )\r\n .then((response) => response.json())\r\n .then((data) => setFontFamilies(data))\r\n .catch((error) => console.error('Error fetching font families:', error));\r\n }, [\r\n // stepperId,\r\n // customLogoColorList,\r\n // defaultColorList,\r\n // customerId,\r\n // logoData,\r\n // myLogoHandler,\r\n // setSelectedStepper,\r\n ]);\r\n\r\n return (\r\n <Modal\r\n backdropStyle=\"z-[7]\"\r\n contentStyle=\"top-0 bottom-0 !m-[auto] z-[7] w-[80%] p-0\"\r\n crossOnClick={onClose}\r\n >\r\n <div className=\"flex flex-col md:flex-row w-full h-[88vh]\">\r\n <ToastContainer\r\n position=\"top-center\"\r\n autoClose={3000}\r\n hideProgressBar\r\n newestOnTop={false}\r\n closeOnClick\r\n rtl={false}\r\n pauseOnFocusLoss\r\n draggable\r\n pauseOnHover\r\n theme=\"colored\"\r\n transition={Bounce}\r\n />\r\n {fontFamilies.map((font, index) => (\r\n <FontLoader key={index} fontPath={font} />\r\n ))}\r\n {loading && <Loader />}\r\n <div className=\"w-[10%] h-[100%]\">\r\n <LeftMenu />\r\n </div>\r\n <div className=\"flex h-full w-[90%] flex-1\">\r\n <MiddleMenu onApply={onApply} onSaveLogo={onSaveLogo} />\r\n </div>\r\n </div>\r\n </Modal>\r\n );\r\n};\r\n\r\nexport default LogoEditor;\r\n"],"names":["Icon","React","forwardRef","_ref","ref","label","icon","className","props","_objectWithoutPropertiesLoose","_excluded","tooltip","useTooltipState","placement","TooltipReference","as","Button","Tooltip","style","zIndex","IconButton","_ref2","_ref2$size","size","_ref2$icon","undefined","_excluded2","IconContext","Provider","value","HorizontalFlip","GenIcon","tag","attr","xmlns","width","height","viewBox","child","d","VerticalFlip","fill","stroke","transform","Error","cx","cy","r","RLogo","id","fillRule","strokeWidth","MyLogo","AddText","FlipH","FlipV","SelectAll","_extends","rx","x","y","Copy","SendToBack","SendToFront","SendAObject","SendUnderObject","EyeDropper","Delete","SnapToCenter","CustomToast","type","message","toastId","toast","info","toastGen","error","success","warning","toastMessages","deleteLogoSuccess","e","saveSuccess","somethingWentWrong","updateLogoSuccess","updateSuccess","noOfColors","noIteminCanvas","graphqlSlice","set","get","displayLoginModal","showProductBreakUpModal","status","loadDesignModal","productInfoModal","toggleSaveLogo","key","title","details","showModalAfterLogin","selectedDesign","changeModel","alert","confirmDesignModal","confirmUpdateDesignModal","toggleSuccessfullDesign","designUpdateSuccessfulModal","getListFromRack","setSelectedDesign","selected","setLoadDesignModal","loadDesign","clearLayers","use3dddPlus","setState","storeAllObject","setToggleSaveLogo","setConfirmDesignModal","setConfirmUpdateDesignModal","state","setToggleSuccessfullDesign","setProductInfoModal","editDesignInfo","saveDesignModal","current","getState","navigateTo","logoName","designNotes","logoTag","string","characters","i","charAt","Math","floor","random","length","designNumber","customerId","toggleLoginModal","setShowModalAfterLogin","disableSaveButton","_unused","share","saveRackSuccessfulModal","setSaveRackSuccessfulModal","toggleAction","toogleShowProductBreakUpModal","disableUpdate","productBreakup","logoSearchText","logoSortBy","logoSortDir","logoPageNo","logoPageSize","showCrossSave","baseURL","process","env","REACT_APP_LAMBDA_URL","instance","axios","create","timeout","headers","Authorization","responseBody","response","data","requests","url","then","post","body","config","put","_delete","lambdaSlice","_set","_get","lambdaClient","loadingLogo","_loadingLogo","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_data","res","wrap","_callee$","_context","prev","next","loading","sent","retriveLogoDesign","abrupt","t0","console","stop","_x","apply","arguments","getStockLogos","_getStockLogos","_callee2","_callee2$","_context2","fabric","Object","prototype","hasControls","hasBorders","stockLogos","saveLogo","_saveLogo","_callee3","logo","_callee3$","_context3","_x2","saveDesignSlice","designImageUrl","designProofPdfUrl","designConfig","designId","hasDesignNumber","showSaveCTA","showSaveRackCTA","_oldURL","REACT_APP_IMAGE_URL_OLD","_newURL","REACT_APP_IMAGE_URL","URLMapping","includes","replace","constructMappingItem","texture","item","name","path","ProductMedium","Image_URL","__typename","flipY","getImageURL","getCookie","cname","decodedCookie","decodeURIComponent","document","cookie","ca","split","c","substring","indexOf","setCookie","cvalue","exdays","Date","setTime","getTime","expires","toUTCString","clearCookie","encryptToken","CryptoJS","AES","encrypt","JSON","stringify","toString","decryptToken","ciphertext","bytes","decrypt","parse","enc","Utf8","getProjectId","queryString","window","location","search","urlParams","URLSearchParams","projectId","REACT_APP_3DDDPLUS_PROJECTID","parseJwt","token","base64Url","base64","jsonPayload","_window","_window$atob","atob","_window$atob$split","map","charCodeAt","slice","join","dataURItoBlob","dataURI","byteString","ab","ArrayBuffer","ia","Uint8Array","File","saveFile","strData","filename","link","createElement","appendChild","download","href","click","removeChild","restrictSpecialCharacters","which","keycode","preventDefault","clearSessionStorage","sessionStorage","removeItem","getSessionStorage","sName","getItem","setSessionStorage","setItem","authSlice","customUploadLogoColorList","defaultColorList","priceLevel","clearLoginInfo","authType","cardCode","customerEmail","customerType","generateCustomizerToken","setInCookies","customizerToken","setCustomizerToken","isLoggedIn","historySlice","history","page","concat","goBack","previousPage","pop","fabricSlice","popUpCanvasCount","popupCanvasStoreHistory","availableMascots","filteredMascots","logoData","setLogoData","allColor","selectedStepper","setSelectedStepper","hasUploadScreen","setHasUploadScreen","storeHistory","fabricCanvas","popupCanv","textInfo","uploadImageModalDisplay","currentSelection","activeSelection","selectedAll","colorFill","defaultColorFill","loadedObject","defaultColorFillCopy","iconImage","HideControls","tl","tr","bl","br","ml","mt","mr","mb","mtr","showContextMenu","forStoringAllObject","unshift","forIconCapture","activeObject","getActiveObject","dataURL","toDataURL","nameCounter","guid","u","now","repeat","substr","duplicateObject","activeObj","clipboard","clone","cloned","clonedObj","discardActiveObject","evented","canvas","forEachObject","obj","index","_objects","pathData","shapeSize","shapeType","fontFamily","fontWeight","fontSize","charSpacing","textAlign","fontStyle","text","add","setCoords","top","left","setActiveObject","brNew","getBoundingRect","updateModifaction","deleteButtonControls","count","skipEvent","undo","clear","renderAll","loadFromJSON","getObjects","forEach","remove","horizontalLine","Line","scaleX","visible","selectable","verticalLine","centerH","sendToBack","canvasGetobject","element","redo","abs","sendBackwards","moveDown","moveUp","moveRight","moveLeft","applyColorFill","canvasData","toJSON","objects","setDefaultColorFill","dcf","setDefaultColorFillCopy","toSet","push","contextMenuCoordinates","stockLogoHandler","logos","testSVG","loadSVGFromURL","options","util","groupSVGElements","scaleToWidth","scaleToHeight","objImage","_Fills","ele","fillColor","removeDuplicates","fillColors","centerObject","myLogoHandler","jsonData","logo_config_url","requestOptions","method","fetch","result","loadingRetrivedFiles","log","bind","backgroundColor","uploadLogoConfig","_uploadLogoConfig","jsonConfig","bucketName","region","S3","microTime","filePath","params","s3UrlPath","REACT_APP_BUCKET","REACT_APP_REGION","AWS","update","accessKeyId","REACT_APP_ACCESSKEY","secretAccessKey","REACT_APP_SECRET_ACCESSKEY","Bucket","Key","Body","ContentType","Promise","resolve","reject","putObject","err","setAvailableMascots","setFilteredMascots","handleMascotObjectFilterValues","event","filterValue","thumbnail","filteredData","filter","tags","displayProductColor","setDisplayProductColor","popUpCanvasAllColor","popUpCanvasApplyColorFill","popUpCanvasData","popUpCanvasUpdateModification","historyObject","json","popUpCanvasUndo","_V","createCheckerboardRect","isEvenRow","rect","Rect","lockMovementX","lockMovementY","lockScalingX","lockScalingY","gridSize","colors","canvasWidth","canvasHeight","numCols","ceil","numRows","line","j","popUpCanvasRedo","forPopupCanvasReset","forPopupCanvasColor","imageData","lastPosition","setLastPosition","TIFFParser","tiffDataView","littleEndian","fileDirectories","isLittleEndian","BOM","getBytes","TypeError","hasTowel","RangeError","getFieldTagName","fieldTag","fieldTagNames","fieldTagName","getFieldTypeName","fieldType","fieldTypeNames","fieldTypeName","getFieldTypeLength","fieldTypeLength","getBits","numBits","byteOffset","bitOffset","extraBytes","newByteOffset","totalBits","shiftRight","shiftLeft","rawBits","getUint8","getUint16","getUint32","chunkInfo","bits","numBytes","offset","getFieldValues","typeCount","valueOffset","fieldValues","fieldValueSize","indexOffset","a","String","fromCharCode","clampColorSample","colorSample","bitsPerSample","multiplier","pow","makeRGBAFillValue","g","b","parseFileDirectory","numDirEntries","tiffFields","entryCount","values","nextIFDByteOffset","parseTIFF","tiffArrayBuffer","DataView","firstIFDByteOffset","fileDirectory","imageWidth","ImageWidth","imageLength","ImageLength","strips","compression","Compression","samplesPerPixel","SamplesPerPixel","sampleProperties","bitsPerPixel","hasBytesPerPixel","BitsPerSample","bitsPerSampleValues","hasBytesPerSample","bytesPerSample","bytesPerPixel","stripOffsetValues","StripOffsets","numStripOffsetValues","StripByteCounts","stripByteCountValues","stripOffset","stripByteCount","jIncrement","getHeader","pixel","sample","currentSample","m","sampleOffset","sampleInfo","blockLength","iterations","header","getInt8","currentByte","getContext","ctx","fillStyle","RowsPerStrip","rowsPerStrip","numStrips","imageLengthModRowsPerStrip","rowsInLastStrip","numRowsInStrip","numRowsInPreviousStrip","photometricInterpretation","PhotometricInterpretation","extraSamplesValues","numExtraSamples","ExtraSamples","ColorMap","colorMapValues","colorMapSampleSize","numPixels","yPadding","pixelSamples","red","green","blue","opacity","k","invertValue","samples","colorMapIndex","fillRect","optionpresets","corsenabled","ltres","qtres","pathomit","rightangleenhance","colorsampling","numberofcolors","mincolorratio","colorquantcycles","layering","strokewidth","linefilter","scale","roundcoords","viewbox","desc","lcpr","qcpr","blurradius","blurdelta","pal","converterSlice","processImage","svgstr","colorValue","canvasToLoad","loadSVGFromString","svgData","getDesignConceptSVGData","resItem","node","_resItem$node$childre","_resItem$node$childre2","children","getAttribute","pathStartOffset","parseFloat","startOffset","baseVal","valueAsString","_canvasToLoad","val","minX","fillCounts","colorObjects","_ele$id","pixelCount","sortedFillColors","keys","sort","topColors","colorObjectsHex","_C","RGBToHex","hex","defaultCF","cf","property","updated","euclideanDistance","color1","color2","c1","Color","getSource","c2","diffR","diffG","diffB","sqrt","colorMap","color","closestColor","reduce","curr","prevDiff","currDiff","setControlVisible","_use3dddPlus$getState","_use3dddPlus$getState2","_use3dddPlus$getState3","parser","DOMParser","xmlDoc","parseFromString","textElements","querySelectorAll","textElement","hrefValue","_textElement$getAttri","_textElement$parentNo","parentNode","file","setFile","tiffConvert","_tiffConvert","tiffParser","canvasEl","arrayBuffer","tiffCanvas","imageUrl","aiConvert","_aiConvert","aiFile","formData","FormData","append","loadImageFromURL","_loadImageFromURL","blob","_x3","_x4","imageToSVG","ext","isSVG","convert","reader","FileReader","onload","target","readAsText","ImageTracer","toLowerCase","jpg","png","refreshColor","arr","rgb","rgba","parseInt","sep","changeSVGColor","defaultColorObject","find","addText","Text","lineHeight","paintFirst","padding","lockScalingFlip","layer0","setControlsVisibility","pdfConverter","_resolve","_callee4","buffer","_B","_callee4$","_context4","convertPdfToImages","readAsArrayBuffer","_convertPdfToImages","_callee5","pdf","viewport","context","_callee5$","_context5","pdfjsLib","promise","numPages","getPage","getViewport","render","canvasContext","_x5","threedddPlusState","actionSlice","subscribeWithSelector","datasbase","icons","onClick","IconButtonLabel","_ref$className","_ref$label","_ref$iconPosition","iconPosition","EditButton","SECONDARY_COLOR","BORDER_COLOR_1","BORDER_COLOR_3","SELECT_BG_COLOR","SELECT_TEXT_COLOR","TEXT_SIZE_1","TEXT_SIZE_2","TEXT_SIZE_3","TEXT_SIZE_4","TEXT_SIZE_5","TEXT_SIZE_9","TEXT_SIZE_12","BUTTON_TEXT_COLOR","INPUT_BG_COLOR","TEXT_COLOR_1","BACKDROP_BLUR","BACKDROP_BLUR_BG_COLOR","MODAL_BG_COLOR","INPUT_TEXT_DISABLE_COLOR","SEARCH_ICON_COLOR","SEARCHBAR_BORDER_COLOR","CANVAS_MENU_TEXT","TAG_BG_COLOR","TAG_TEXT_COLOR","SAVERACK_TEXT_COLOR","SAVEBUTTON_BG_COLOR","EDIT_DESIGN_INFO_TEXT_COLOR_1","EDIT_DESIGN_INFO_TEXT_COLOR_3","EDIT_DESIGN_INFO_INPUT_BORDER_COLOR","EDIT_DESIGN_INFO_BG_COLOR_4","INPUT_ERROR_TEXT_COLOR","ToolTip","arrowOnTop","ActionButtons","_use3dddPlus","shallow","selectAllHandler","sel","ActiveSelection","requestRenderAll","deleteHandler","findIndex","splice","canvasActions","disabled","MdLayers","CgUndo","CgRedo","justifyContent","NudgeButtons","textSelected","nudgeMove","aCoords","marginTop","marginBottom","version","initCanvas","left1","top1","scale1x","scale1y","width1","height1","onObjectSelected","_e$selected","_e$selected$","canv","getAllColors","onObjectDeselected","onObjectUpdated","_e$selected2","_e$selected2$","onObjectMoving","isNaN","pointer","max","min","scaleY","isObjectInCenter","isObjectInHorizontalCenter","isObjectInVerticalCenter","outerCanvasContainer","getElementById","fontList","Set","fonts","font","family","Array","from","FontFaceObserver","load","Canvas","centeredScaling","preserveObjectStacking","stopContextMenu","clientWidth","clientHeight","canvasCenterX","canvasCenterY","objCenterX","objCenterY","threshold","getHeight","scaledObjCenterY","scaledObjCenterX","deleteImg","src","rotateImg","settingImg","objectCaching","transparentCorners","cornerColor","cornerStrokeColor","borderColor","cornerSize","cornerStyle","borderDashArray","renderIcon","fabricObject","save","translate","rotate","degreesToRadians","angle","drawImage","restore","controls","deleteControl","Control","offsetY","offsetX","cursorStyle","mouseUpHandler","deleteObject","settingControl","getElement","getBoundingClientRect","clientX","clientY","eventData","canvasTarget","actionHandler","controlsUtils","rotationWithSnapping","actionName","withConnection","_canv$getObjects","flat","Boolean","on","lockRotation","centeredRotation","ContextMenu","flipX","bringForward","bringToFront","snapToCenter","originX","copy","menu","onclick","canvasRef","useRef","resizeCanvas","containerWidth","getWidth","zoom","getZoom","setWidth","setHeight","setViewportTransform","useEffect","addEventListener","fontFamilyURL","FontFace","_document$fonts","classList","position","border","boxShadow","onBlur","Card","cardClass","CardBody","bodyClass","CardCheckMark","checkMarkClass","IoMdCheckmarkCircle","CardDownloadIcon","downloadClass","downloadIconClass","iconClass","pdfUrl","HiOutlineDownload","CardFlag","flag","flagClass","CardMedia","alt","imageClass","role","backgroundImage","CardTags","tagsClass","CardTitle","titleClass","CardDescription","descriptionClass","FileUploadButton","onFileSelect","fileInputRef","_useState","useState","isDragging","setIsDragging","handleFileSelect","selectedFile","_event$target$files","files","handleDragEnter","handleDragLeave","handleDrop","droppedFile","dataTransfer","onDragEnter","onDragLeave","onDragOver","onDrop","htmlFor","MdOutlineFileUpload","_fileInputRef$current","onChange","accept","defaultColorNames","ColorPalette","previousColor","_ref$previousClass","previousClass","_ref$mainIndex","mainIndex","handleColorChange","_ref$style","selectColor","setSelectColor","colorList","handleColorClick","ColorBox","boxClass","_ref2$boxClass","background","marginLeft","ColorImpl","getLable","colorCode","mClass","stopPropagation","setDisplayPallet","callback","setPosition","innerHeight","Initpopup","popupcanvas","toActiveSelection","viewportCenter","getAllColorsPopupCanvas","_popupcanvas$getObjec","defaultCursor","hoverCursor","PopUpCanvas","popupCanvas","colorCount","setColorCount","_useState2","colorFillCount","setColorFillCount","_useState3","isRefresh","setIsRefresh","_useState4","isNextClicked","setIsNextClicked","defaultColorFillRef","_useState5","displayPallet","_useState6","hasPallet","_defaultColorFill$fin","setTimeout","onColorUpdate","handleColorCountChange","Number","removeColorPalatte","mouseClick","getPointer","removedColors","containsPoint","defaultColorsCopy","rc","dc","removeEventListener","popupCanvasCancel","popupCanvasContinue","conflictColors","onContinue","objs","alltogetherObj","Group","resetHandler","onSelectColor","onPopUpCanvasUndo","currentColors","colorFromDefaultCopy","dcc","useMemo","overflow","alignItems","CgArrowRight","cursor","GiDrop","handleChange","MdOutlineCancel","bottom","right","mixBlendMode","mainClass","display","UploadLogo","setSelectedFile","svgConverter","tiffData","aiToSvg","objectURL","lastIndexOf","s3_file_url","svgText","ex","URL","createObjectURL","Searchbar","onKeyPress","onPaste","placeholder","searchBarMainClass","currentTarget","focus","input","InputImpl","Modal","backdropStyle","contentStyle","crossOnClick","modalStyle","open","RxCross2","ModalButtons","buttonMainClass","buttons","button","buttonClass","ModalDownloadIcon","ModalHeading","headingStyle","ModalLabel","labelStyle","ModalStatusIcon","onIconClick","iconStyle","SortAndFilterButton","buttonLabelClass","SortByDropdown","sortOptions","isDropdownOpen","setIsDropdownOpen","dropdownRef","toggleDropdown","closeDropdown","handleOutsideClick","contains","BsSortDown","option","sortBy","sortDir","useDebounce","milliSeconds","debouncedValue","setDebouncedValue","handler","clearTimeout","onApply","_React$useState","logoSelected","setLogoSelected","scrollEnd","setScrollEnd","morePages","setMorePages","myRef","debouncedSearchText","handleSearchChange","handleScroll","useCallback","scrollY","scrollTop","scrollHeight","tolerance","fetchData","updatedState","handleEditLogo","handleApplyLogo","onScroll","_logo$tag","_logo$tag$split","_logo$tag$split$filte","logo_id","logo_url","BsCheckLg","LeftMenu","StepperList","FaRegImage","BiSolidColorFill","step","Loader","_ref$position","_ref$height","loaderRef","UpIcon","DownIcon","DeleteIcon","Layers","onSave","deleteElement","changeArr","fromIndex","toIndex","layerHandle","direction","currentObject","margin","fontFamilies","textShapes","tabs","warpTypes","None","Arc","Bridge","Bowtie","textProperties","errorPopup","TextProperties","onTextChange","fontChange","textStyle","textColorChange","textAlignDisplay","activeButton","textAlignHandler","textOutlineHandler","strokeColorChange","textSpacingHandler","textShapeChange","shapeSizeVal","textShapeSizeHandler","list","underline","FiAlignLeft","FiAlignCenter","FiAlignRight","ErrorColorDiv","Properties","activeTab","setTextAlignDisplay","bold","italic","setFontStyle","setActiveButton","setShapeSizeVal","textLength","setTextLength","bridgeshapeBendSize","setBridgeShapeBendSize","_useState7","bowtieshapeBendSize","setBowtieShapeBendSize","newSize","valueAsNumber","setShapeSizeOnTextPath","applyTextProperties","newTextPath","prop","setNewPathDimensions","dims","Path","toClipPathSVG","bendValue","warpType","warp","bend","output","dimensions","_calcDimensions","updateStoreAllObject","_ref3","textValue","lines","isFontWithCamelCase","formattedText","Configuration","fontWithCamelCase","toUpperCase","reduceFontSize","_ref4","_ref5","_property","activeText","dublicateText","oldCharSpacing","_extends2","changeSVGTextColor","SelectedObjet","tempColorFill","textToPath","_ref6","promises","pathObj","object","fontSource","o","getPath","fabricPath","toPathData","all","bridgeShapeChange","_ref7","textChange","p","_text","_dims","trim","_removeCacheCanvas","_x6","_x7","_x8","_x9","_x10","_x11","_x12","_ref8","_callee6","_activeObj","_callee6$","_context6","mergedColors","_Object$keys","tempColors","uniqueColors","_Object$keys2","ErrorPopup","t","s","h","exports","l","call","defineProperty","configurable","enumerable","n","__esModule","hasOwnProperty","_class","source","A","B","C","D","Aleft","Atop","Btop","Bright","Cright","Cbottom","Dbottom","Dleft","ABx","ABy","CDx","CDy","BCx","BCy","ADx","ADy","STEPS","distortX","distortY1","distortY2","T1","T2","kAB","kBC","kCD","kAD","applyParameters","_proto","_parameters","PI","sin","cos","kt","distortV","distortH","setAnchors","setArc","setArcLower","setArcUpper","setArch","setBulge","setFlag","setFish","setRise","setInflate","setSqueeze","setWaveLower","setWaveUpper","setControls","changeCubic","_changePoint","getPointOn","getNewSegment","changePoint","calculateArms","_class2","Exception","_props","_createClass","_class3","_class4","vertical","commands","parseString","_proto2","match","calcRectangle","xMin","yMin","xMax","yMax","Rightmenu","initTE","Tab","setActiveTab","defaultColor","hasTransparent","removeColorPalette","unSub","subscribe","_current","_previous","tab","DropdownIndicator","components","control","base","isFocused","isSelected","ListDropdown","dropdownData","handleSelected","setData","Select","defaultValue","isSearchable","IndicatorSeparator","styles","decorationData","code","description","linkedNodes","threeD","getDecorationDataByTypeAndParentId","parentId","AddMascot","flatMap","mascot","labelClass","labelSpan","dropdownClass","dropdownLiClass","LogoEditorSaveDesignModal","CustomInput","customLabelStyle","customInputStyle","onKeyDown","FloatingLabel","variant","theme","outlined","sm","md","helperText","SaveDesign","onSaveLogo","designNameValidation","setDesignNameValidation","commaInTagName","setCommaInTagName","tagNameLength","setTagNameLength","isSaving","setIsSaving","closeModal","tagName","setTagName","checkValidations","nameValidation","onSaveHandler","pathTextsData","pathTextsKeys","dataCh","S3UrlPath","canvasSvg","raw","round","assign","toSVG","customer_id","base64_image","svg_image","reg","regTest","test","handleTagChange","_event$target","handleKeyDown","keyCode","handleAdd","handleBackspace","handleNameChange","newList","handleDelete","onCancelHandler","_e$target","_e$target$value","trimStart","_e$target2","_e$target2$value","isArray","el","useOutsideAlerter","handleClickOutside","handleEscape","OutsideAlerter","wrapperRef","ColorPicker","currentColor","setCurrentColor","handleOnChange","ChromePicker","disableAlpha","onClose","MiddleMenu","FontLoader","fontPath","timeStamp","LogoEditor","stepperId","customLogoColorList","setFontFamilies","ToastContainer","autoClose","hideProgressBar","newestOnTop","closeOnClick","rtl","pauseOnFocusLoss","draggable","pauseOnHover","transition","Bounce"],"mappings":"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"}