@threedddplus/logoeditor 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/logoeditor.cjs.development.js +84 -41
- package/dist/logoeditor.cjs.development.js.map +1 -1
- package/dist/logoeditor.cjs.production.min.js +1 -1
- package/dist/logoeditor.cjs.production.min.js.map +1 -1
- package/dist/logoeditor.esm.js +84 -41
- package/dist/logoeditor.esm.js.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"logoeditor.cjs.development.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../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/store/converters/index.ts","../src/store/index.ts","../src/components/button/button.tsx","../src/components/button/iconButton.tsx","../src/components/button/editButton.tsx","../src/theme.ts","../src/components/icon/icon.tsx","../src/components/icon/rLogo.tsx","../src/components/icon/myLogo.tsx","../src/components/icon/addMascot.tsx","../src/components/icon/addText.tsx","../src/components/icon/productColor.tsx","../src/components/icon/flipH.tsx","../src/components/icon/flipV.tsx","../src/components/icon/selectAll.tsx","../src/components/icon/copy.tsx","../src/components/icon/paste.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/canvas/canvasButtons.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/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/components/loader/loader.tsx","../src/components/myLogo/myLogo.tsx","../src/components/leftMenu/leftMenu.tsx","../src/components/Rightmenu/imageEdit.tsx","../src/components/Rightmenu/Rightmenu.tsx","../src/components/addMascot/addMascot.tsx","../src/components/saveDesign/saveDesignModal.tsx","../src/components/saveDesign/saveDesign.tsx","../src/components/middleMenu/middleMenu.tsx","../src/index.tsx"],"sourcesContent":["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","import { StateCreator } from 'zustand';\nimport { use3dddPlus } from '..';\nimport { Design } from '../customize/types';\n\nexport interface ActionSlice {\n displayLoginModal: boolean;\n showProductBreakUpModal: { status: boolean; value: any };\n loadDesignModal: boolean;\n productInfoModal: any;\n toggleSaveDesign: {\n key: string;\n status: boolean;\n title: string;\n details: any;\n };\n showModalAfterLogin?: void;\n changeModel: () => void;\n editDesignInfo: () => void;\n\n saveDesignModal: () => void;\n setLoadDesignModal: (loadDesign: boolean) => void;\n setProductInfoModal: () => any;\n setToggleSaveDesign: (\n key: string,\n status: boolean,\n title: string,\n details: any\n ) => void;\n share: () => void;\n toggleLoginModal: () => void;\n confirmDesignModal: { status: boolean; value: string };\n setConfirmDesignModal: (status: boolean, value: string) => void;\n toggleSuccessfullDesign: boolean;\n setToggleSuccessfullDesign: () => void;\n selectedDesign: any;\n setSelectedDesign: (selected: Design) => void;\n saveRackSuccessfulModal: boolean;\n setSaveRackSuccessfulModal: () => void;\n setShowModalAfterLogin: (toggleAction: any) => void; //Due to current functionality, toggleAction can have callback function of different types\n disableUpdate: boolean;\n confirmUpdateDesignModal: boolean;\n setConfirmUpdateDesignModal: () => void;\n designUpdateSuccessfulModal: boolean;\n getListFromRack: () => boolean;\n toogleShowProductBreakUpModal: (status: boolean, value: any) => void;\n productBreakup: any[];\n}\n\nconst graphqlSlice: StateCreator<ActionSlice> = (set, get) => {\n return {\n displayLoginModal: false,\n showProductBreakUpModal: {\n status: false,\n value: {},\n },\n loadDesignModal: false,\n productInfoModal: false,\n toggleSaveDesign: { key: 'save', status: false, title: '', details: {} },\n showModalAfterLogin: undefined,\n selectedDesign: {},\n changeModel: () => {\n alert('function not implemented');\n },\n confirmDesignModal: { status: false, value: '' },\n confirmUpdateDesignModal: false,\n toggleSuccessfullDesign: false,\n designUpdateSuccessfulModal: false,\n getListFromRack: () => {\n return false;\n },\n setSelectedDesign: (selected) => {\n set({ selectedDesign: selected });\n },\n setLoadDesignModal: (loadDesign) => {\n set({ loadDesignModal: loadDesign });\n },\n setToggleSaveDesign: (key, status, title, details) => {\n set({\n toggleSaveDesign: {\n key: key,\n status: status,\n title: title,\n details: details,\n },\n });\n },\n setConfirmDesignModal: (status, value) => {\n set({ confirmDesignModal: { status: status, value: value } });\n },\n setConfirmUpdateDesignModal: () => {\n set((state) => ({\n confirmUpdateDesignModal: !state.confirmUpdateDesignModal,\n }));\n },\n setToggleSuccessfullDesign: () => {\n set((state) => ({\n toggleSuccessfullDesign: !state.toggleSuccessfullDesign,\n }));\n },\n setProductInfoModal: () => {\n set((state) => ({ productInfoModal: !state.productInfoModal }));\n },\n\n editDesignInfo: () => {\n alert('function not implemented');\n },\n // rack: () => {\n // alert('function not implemented');\n // },\n\n saveDesignModal: () => {\n try {\n use3dddPlus.setState({ current: 'saveCTA' });\n use3dddPlus.getState().navigateTo('savePopUp');\n use3dddPlus.setState({ designName: '' });\n use3dddPlus.setState({ designNotes: '' });\n use3dddPlus.setState({ designTag: [] });\n let string = '';\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\n\n for (let i = 0; i < 7; i++) {\n string += characters.charAt(\n Math.floor(Math.random() * characters.length)\n );\n }\n use3dddPlus.setState({ designNumber: string });\n\n\n if (!use3dddPlus.getState().customerId) {\n get().toggleLoginModal();\n get().setShowModalAfterLogin(() => {\n use3dddPlus\n .getState()\n .setToggleSaveDesign('save', true, 'Save Your Design', {});\n });\n return;\n }\n get().setToggleSaveDesign('save', true, 'Save Your Design', {});\n use3dddPlus.setState({ disableSaveButton: false });\n } catch {}\n },\n\n \n share: () => {\n alert('function not implemented');\n },\n toggleLoginModal: () => {\n set((state) => ({ displayLoginModal: !state.displayLoginModal }));\n },\n\n saveRackSuccessfulModal: false,\n setSaveRackSuccessfulModal: () => {\n set((state) => ({\n saveRackSuccessfulModal: !state.saveRackSuccessfulModal,\n }));\n },\n setShowModalAfterLogin: (toggleAction) => {\n use3dddPlus.setState({ showModalAfterLogin: toggleAction });\n },\n toogleShowProductBreakUpModal: (status, value) => {\n set({ showProductBreakUpModal: { status: status, value: value } });\n },\n disableUpdate: false,\n productBreakup: [],\n };\n};\n\nexport default graphqlSlice;\n","import axios, { AxiosInstance, AxiosResponse } from 'axios';\n\nexport const baseURL = process.env.REACT_APP_LAMBDA_URL;\n\n// TODO remove ts-ignore; CreateAxiosDefaults<any> not building npm package. \n// @ts-ignore\nexport const instance: AxiosInstance = axios.create({\n baseURL: baseURL,\n timeout: 15000,\n headers: {\n 'Content-Type': 'application/json',\n Authorization: 'jxnhh7rk7gpjtnp1o1besdaip3pd2560',\n },\n});\n\nexport const responseBody = (response: AxiosResponse) => response.data;\n\nexport const requests = {\n get: (url: string) => instance.get(url).then(responseBody),\n post: (url: string, body: {}) => instance.post(url, body).then(responseBody),\n put: (url: string, body: {}) => instance.put(url, body).then(responseBody),\n delete: (url: string) => instance.delete(url).then(responseBody),\n};\n","import { StateCreator } from 'zustand';\nimport { requests } from '../../axios/index';\nimport { use3dddPlus } from '..';\n\n// const useSampleResponses = process.env.REACT_APP_USE_SAMPLE_RESPONSES;\n\n\nexport interface LambdaSlice {\n\n lambdaClient: any;\n\n loadingLogo: (data: any) => void;\n getStockLogos: () => void;\n saveLogo: (data: any) => any; \n}\n\nconst lambdaSlice: StateCreator<LambdaSlice> = (_set, _get) => {\n return {\n lambdaClient: requests,\n\n loadingLogo: async (data: any) => {\n try {\n use3dddPlus.setState({ loading: true });\n if (!requests) {\n throw new Error('lambdaClient Not Found');\n }\n const response = await requests.get(\n `/editor-logo/117015?searchText=+${data}`\n );\n use3dddPlus.setState({ loading: false });\n const res = await response;\n use3dddPlus.setState({ retriveLogoDesign: res });\n return response;\n } catch (error) {\n console.error(error);\n use3dddPlus.setState({ loading: false });\n throw new Error(error);\n }\n },\n getStockLogos: async () => {\n try {\n use3dddPlus.setState({ loading: true });\n if (!requests) {\n throw new Error('lambdaClient Not Found');\n }\n const response = await requests.get('/mascot-logos');\n use3dddPlus.setState({ loading: false });\n const res = await response;\n use3dddPlus.setState({ stockLogos: res });\n return res;\n } catch (error) {\n console.error(error);\n use3dddPlus.setState({ loading: false });\n throw new Error(error);\n }\n },\n saveLogo: async (logo) => {\n try {\n use3dddPlus.setState({ loading: true });\n if (!requests) {\n throw new Error('lambdaClient Not Found');\n }\n const response = await requests.post('/editor-logo', logo);\n use3dddPlus.setState({ loading: false });\n return response;\n } catch (error) {\n console.error(error);\n use3dddPlus.setState({ loading: false });\n throw new Error(error);\n }\n },\n };\n};\n\nexport default lambdaSlice;\n","import { StateCreator } from 'zustand';\nexport interface SaveDesignSlice {\n disableSaveButton: boolean;\n designNumber: string;\n designImageUrl: string;\n designProofPdfUrl: string;\n designTag: string[];\n designName: string;\n designNotes: string;\n designConfig: string;\n designId: number;\n hasDesignNumber: () => boolean;\n showSaveCTA: boolean;\n showSaveRackCTA: boolean;\n}\n\nexport const saveDesignSlice: StateCreator<SaveDesignSlice> = (_set, get) => {\n return {\n disableSaveButton: false,\n designNumber: '',\n designImageUrl: '',\n designProofPdfUrl: '',\n designTag: [],\n designName: '',\n designNotes: '',\n designConfig: '',\n designId: undefined,\n hasDesignNumber: () => !!get().designNumber,\n showSaveCTA: true,\n showSaveRackCTA: true,\n };\n};\n\nexport default SaveDesignSlice;\n","\n// import { Texture } from '../store/customize/types';\n\nconst _oldURL = process.env.REACT_APP_IMAGE_URL_OLD!;\nconst _newURL = process.env.REACT_APP_IMAGE_URL!;\nexport const URLMapping = (url: string) => {\n // check if th url has old or new url paths\n if (url.includes(_oldURL)) {\n return url.replace(_oldURL, _newURL);\n }\n // if it has old then relace to new\n else if (url.includes(_newURL)) return url;\n // if it doesnot have nay then add new\n else {\n return _newURL + url;\n }\n};\n\n// export const getTextureDataFromId = (id) => {\n// const textureData = use3dddPlus.getState().productTextures;\n\n// // const textureData = [];\n// return textureData.filter((texture) => texture.id === id).filter(Boolean)[0];\n// };\n\nexport const constructMappingItem = (texture?: any, item?: any) => {\n return {\n id: item?.id,\n name: item?.name,\n path: item?.ProductMedium.Image_URL,\n type: item?.__typename,\n flipY: texture ? texture.flipY : false,\n };\n};\n\nexport const getImageURL = (path: string) => {\n return process.env.REACT_APP_IMAGE_URL + path; //item?.ProductMedium?.Image_URL\n};\n","export function getCookie(cname: string) {\n let name = cname + '=';\n let decodedCookie = decodeURIComponent(document.cookie);\n let ca = decodedCookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1);\n }\n if (c.indexOf(name) == 0) {\n return c.substring(name.length, c.length);\n }\n }\n return '';\n}\n\nexport function setCookie(cname: string, cvalue: any, exdays: number) {\n const d = new Date();\n d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);\n let expires = 'expires=' + d.toUTCString();\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/';\n}\n\nexport const clearCookie = (cname: string, cvalue = '') => {\n const d = new Date();\n d.setTime(d.getTime());\n let expires = 'expires=' + d.toUTCString();\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/';\n};\n","import CryptoJS from 'crypto-js';\nexport const encryptToken = (data: any) => {\n return CryptoJS.AES.encrypt(\n JSON.stringify(data),\n 'secret key 123'\n ).toString();\n};\nexport const decryptToken = (ciphertext: string) => {\n var bytes = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');\n return JSON.parse(bytes.toString(CryptoJS.enc.Utf8));\n};\n\nexport const getProjectId = () => {\n const queryString = window.location.search;\n const urlParams = new URLSearchParams(queryString);\n const projectId = urlParams.get('projectId');\n return projectId || process.env.REACT_APP_3DDDPLUS_PROJECTID;\n};\n\nexport function parseJwt(token) {\n var base64Url = token.split('.')[1];\n var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n var jsonPayload = decodeURIComponent(\n window\n ?.atob(base64)\n ?.split('')\n ?.map(function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join('')\n );\n\n return JSON.parse(jsonPayload);\n}\n","//import { use3dddPlus } from '../store';\n\n// export const getDomImage = () => {\n// var strMime = 'image/jpeg';\n// const imgData = use3dddPlus.getState().gl.domElement.toDataURL(strMime);\n\n// return dataURItoBlob(imgData);\n// };\n\nexport function dataURItoBlob(dataURI) {\n // convert base64 to raw binary data held in a string\n // doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this\n var byteString = atob(dataURI.split(',')[1]);\n\n // separate out the mime component\n // var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];\n\n // write the bytes of the string to an ArrayBuffer\n var ab = new ArrayBuffer(byteString.length);\n var ia = new Uint8Array(ab);\n for (var i = 0; i < byteString.length; i++) {\n ia[i] = byteString.charCodeAt(i);\n }\n\n //Old Code\n //write the ArrayBuffer to a blob, and you're done\n //var bb = new BlobBuilder();\n //bb.append(ab);\n //return bb.getBlob(mimeString);\n\n //New Code\n return new File([ab], new Date().getTime() + '_configuration' + '.jpg', {\n type: 'image/jpeg',\n // lastModified: new Date(),\n });\n}\n","// function called to save image\nexport const saveFile = function (strData: string, filename: string) {\n let link = document.createElement('a');\n document.body.appendChild(link);\n link.download = filename;\n link.href = strData;\n link.click();\n document.body.removeChild(link);\n};\n","// The key code condition we provided refers to the following key ranges:\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'.\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'.\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'.\n// 4. `(x >= 32 && x <= 32)`: This condition checks for the spacebar key. The key code 32 represents the space character.\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.\n\n\nexport const restrictSpecialCharacters = function (e) {\n const x = e.which || e.keycode;\n if (\n (x >= 97 && x <= 122) ||\n (x >= 48 && x <= 57) ||\n (x >= 65 && x <= 90) ||\n (x >= 32 && x <= 32)\n ) {\n return true;\n } else return e.preventDefault();\n};","export const clearSessionStorage = (cname: string) => {\n sessionStorage.removeItem(cname);\n};\n\nexport const getSessionStorage = (sName: string) => {\n return sessionStorage.getItem(sName);\n};\n\nexport const setSessionStorage = (cname: string, cvalue: any) => {\n sessionStorage.setItem(cname, cvalue);\n};\n","import { StateCreator } from 'zustand';\nimport {\n clearCookie,\n decryptToken,\n encryptToken,\n getCookie,\n setCookie,\n} from '../../services';\nimport {\n clearSessionStorage,\n getSessionStorage,\n setSessionStorage,\n} from '../../services/sessionStorage';\n\nexport interface AuthSlice {\n authType?: string;\n cardCode?: string;\n customerEmail?: string;\n customerId?: number;\n customerType?: string;\n priceLevel: string;\n token?: string;\n clearLoginInfo: () => void;\n generateCustomizerToken: (setInCookies?: boolean) => void;\n setCustomizerToken: () => void;\n isLoggedIn: () => boolean;\n customUploadLogoColorList: any[];\n defaultColorList: any[];\n}\n\nexport const authSlice: StateCreator<AuthSlice> = (set, get) => {\n return {\n customUploadLogoColorList: [],\n defaultColorList: [],\n priceLevel: '',\n token: '',\n clearLoginInfo: () => {\n clearCookie('customizerToken');\n clearSessionStorage('customizerToken');\n set({\n authType: '',\n cardCode: '',\n customerEmail: '',\n customerId: null,\n customerType: '',\n priceLevel: '',\n token: '',\n });\n },\n generateCustomizerToken: (setInCookies = true) => {\n const authType = get().authType;\n const cardCode = get().cardCode;\n const customerEmail = get().customerEmail;\n const customerId = get().customerId;\n const customerType = get().priceLevel;\n const token = get().token;\n\n const customizerToken = encryptToken({\n authType,\n cardCode,\n customerEmail,\n customerId,\n customerType,\n token,\n });\n if (setInCookies) {\n setCookie('customizerToken', customizerToken, 1);\n } else {\n setSessionStorage('customizerToken', customizerToken);\n }\n },\n setCustomizerToken: () => {\n const customizerToken: any =\n getSessionStorage('customizerToken') || getCookie('customizerToken');\n\n if (!customizerToken) return;\n const decrypt: any = decryptToken(customizerToken);\n\n set({\n ...decrypt,\n });\n },\n isLoggedIn: () => (!!get().customerId ? true : false),\n };\n};\n\nexport default AuthSlice;\n","import { StateCreator } from 'zustand';\n// import { use3dddPlus } from '..';\n\nexport interface HistorySlice {\n history: string[];\n current: string;\n navigateTo: (page: string) => void;\n goBack: () => void;\n}\n\nexport const historySlice: StateCreator<HistorySlice> = (set, _get) => {\n return {\n history: [],\n current: '',\n navigateTo: (page: string) => {\n set((state) => ({\n history: [...state.history, state.current],\n current: page,\n }));\n },\n goBack: () => {\n set((state) => {\n if (state.history.length > 0) {\n const previousPage = state.history.pop()!;\n return {\n history: [...state.history],\n current: previousPage,\n };\n }\n return state;\n });\n },\n }\n}\nexport default HistorySlice;\n","import { StateCreator } from 'zustand';\nimport { fabric } from 'fabric';\nimport { use3dddPlus } from '..';\nimport AWS from 'aws-sdk';\nexport interface FabricSlice {\n loading: Boolean;\n selectedStepper?: any;\n setSelectedStepper?: (selectedStepper: any) => void;\n storeHistory: any;\n count: number;\n stockLogos: [];\n retriveLogoDesign: [];\n fabricCanvas: any;\n popupCanv: any;\n textInfo: string;\n uploadImageModalDisplay: boolean;\n currentSelection: string;\n activeSelection: any;\n selectedAll: boolean;\n colorFill: any;\n // colorFillPopup : {},\n storeAllObject: [];\n iconImage: string;\n HideControls: any;\n showContextMenu: boolean;\n forStoringAllObject: (data: any) => void;\n forIconCapture: () => void;\n duplicateObject: () => void;\n deleteButtonControls: () => void;\n undo: () => void;\n redo: () => void;\n moveDown: (element) => void;\n moveUp: (element) => void;\n moveRight: (element) => void;\n moveLeft: (element) => void;\n applyColorFill :()=> any;\n updateModifaction: (saveHistory: boolean) => void;\n nameCounter: any;\n contextMenuCoordinates: { x: number; y: number };\n stockLogoHandler: (e: any) => void;\n testSVG: (data: any) => void;\n myLogoHandler: (logo: any) => void;\n loadingRetrivedFiles: (data: any) => void;\n allColor: any;\n uploadLogoConfig: (jsonConfig: any, customerId: any) => any;\n logoData: any;\n setLogoData: (logo: any) => void;\n}\n\nexport const fabricSlice: StateCreator<FabricSlice> = (set, get) => {\n return {\n logoData: null,\n setLogoData: (logoData) => set({ logoData }),\n allColor: [],\n loading: true,\n selectedStepper: 1,\n setSelectedStepper: (selectedStepper) => set({ selectedStepper }),\n storeHistory: [],\n stockLogos: [],\n retriveLogoDesign: [],\n fabricCanvas: null,\n popupCanv: null,\n textInfo: 'NEW TEXT',\n uploadImageModalDisplay: false,\n currentSelection: 'layer',\n activeSelection: null,\n selectedAll: false,\n colorFill: {},\n // colorFillPopup : {},\n storeAllObject: [],\n iconImage: '',\n HideControls: {\n tl: true,\n tr: true,\n bl: true, //false\n br: true,\n ml: false,\n mt: false,\n mr: false,\n mb: false,\n mtr: true,\n // 'cornerColor':'yellow'\n },\n showContextMenu: false,\n\n forStoringAllObject: (data) => {\n //@ts-ignore\n get().storeAllObject.unshift(data); //FOR PUSHING THE ARRAY RESERVE\n },\n forIconCapture: () => {\n const activeObject = get().fabricCanvas.getActiveObject();\n if (activeObject) {\n const dataURL = get().fabricCanvas.toDataURL({\n left: activeObject.left,\n top: activeObject.top,\n width: activeObject.width * activeObject.scaleX,\n height: activeObject.height * activeObject.scaleY,\n });\n set({ iconImage: dataURL });\n }\n },\n nameCounter: 0,\n duplicateObject: () => {\n let clipboard;\n get()\n .fabricCanvas.getActiveObject()\n .clone((cloned) => {\n clipboard = cloned;\n });\n clipboard.clone((clonedObj) => {\n get().fabricCanvas.discardActiveObject();\n clonedObj.set({\n left: clonedObj.left + 10,\n top: clonedObj.top + 10,\n evented: true,\n });\n if (clonedObj.type === 'activeSelection') {\n clonedObj.canvas = get().fabricCanvas;\n clonedObj.forEachObject((obj: any) => {\n get().fabricCanvas.add(obj);\n });\n clonedObj.setCoords();\n } else {\n get().fabricCanvas.add(clonedObj);\n }\n clipboard.top += 10;\n clipboard.left += 10;\n get().fabricCanvas.setActiveObject(clonedObj);\n get().fabricCanvas.requestRenderAll();\n clonedObj._objects.map((data) => {\n get().forStoringAllObject(data);\n });\n });\n get().updateModifaction(true);\n },\n deleteButtonControls: () => {\n // console.log(deleteIcon,'SELECTED......',getObj);\n },\n count: 0,\n skipEvent: false,\n undo: () => {\n if (get().count < get().storeHistory.length) {\n get().fabricCanvas.clear().renderAll();\n get().fabricCanvas.loadFromJSON(\n get().storeHistory[get().storeHistory.length - 1 - get().count - 1]\n );\n get().fabricCanvas.renderAll();\n get().count += 1;\n }\n },\n redo: () => {\n if (get().count > 0) {\n get().fabricCanvas.clear().renderAll();\n get().fabricCanvas.loadFromJSON(\n get().storeHistory[get().storeHistory.length - 1 - get().count + 1]\n );\n get().fabricCanvas.renderAll();\n get().count -= 1;\n }\n },\n moveDown: (element) => {\n element.top = element.top + 2;\n get().fabricCanvas.renderAll();\n },\n moveUp: (element) => {\n element.top = element.top - 2;\n get().fabricCanvas.renderAll();\n },\n moveRight: (element) => {\n element.left = element.left + 2;\n get().fabricCanvas.renderAll();\n },\n moveLeft: (element) => {\n element.left = element.left - 2;\n get().fabricCanvas.renderAll();\n },\n applyColorFill : ()=>{\n const canvasData = get().fabricCanvas.toJSON();\n const canvasGetobject = get().fabricCanvas.getObjects();\n canvasData.objects.forEach((element : any,index : any) => {\n element.colorFill = canvasGetobject[index].colorFill; \n });\n return canvasData;\n }, \n updateModifaction : (toSet)=>{ \n if(toSet){\n get().storeHistory.push(get().applyColorFill()); \n }\n },\n \n contextMenuCoordinates: { x: 0, y: 0 },\n stockLogoHandler: (e: any) => {\n console.log(e);\n // let logos = get().stockLogos[e.target.id];\n //@ts-ignore\n let logos = e + '?timestamp=' + Date.now();\n use3dddPlus.setState({ selectedStepper: undefined });\n get().testSVG(logos);\n },\n testSVG: (data) => {\n fabric.loadSVGFromURL(data, (objects, options) => {\n const loadedObject = fabric.util.groupSVGElements(objects, options);\n // console.log(svg)\n loadedObject.scaleToWidth(100);\n loadedObject.scaleToHeight(100);\n //@ts-ignore\n let objImage = loadedObject._objects;\n let _Fills = [];\n objImage.forEach((ele) => {\n ele.set({ strokeWidth: 0 });\n use3dddPlus.setState({ fillColor: [...ele.fill] });\n _Fills.push(ele.fill);\n });\n use3dddPlus.setState({\n //@ts-ignore\n fillColor: use3dddPlus.getState().removeDuplicates(_Fills),\n });\n //@ts-ignore\n _Fills = use3dddPlus.getState().removeDuplicates(_Fills);\n const fillColors = {};\n _Fills.map((item, index) => {\n fillColors['layer' + index] = item;\n });\n use3dddPlus.setState({ colorFill: fillColors });\n loadedObject.set({\n //@ts-ignore\n colorFill: fillColors,\n });\n get().fabricCanvas.add(loadedObject).renderAll();\n get().fabricCanvas.centerObject(loadedObject);\n get().fabricCanvas.setActiveObject(loadedObject);\n use3dddPlus.setState({ activeSelection: loadedObject });\n use3dddPlus.getState().forStoringAllObject(loadedObject);\n get()\n .fabricCanvas.getActiveObject()\n .toDataURL(function (data) {\n console.log('00000', data);\n });\n\n use3dddPlus.getState().forIconCapture();\n //@ts-ignore\n loadedObject.icon = use3dddPlus.getState().iconImage;\n });\n },\n myLogoHandler: (logo: any) => {\n\n let jsonData = logo.logo_config_url;\n var requestOptions = {\n method: 'GET',\n };\n fetch(jsonData, requestOptions)\n .then((response) => response.text())\n .then((result) => get().loadingRetrivedFiles(result))\n .catch((error) => console.log('error', error));\n },\n loadingRetrivedFiles: (data: any) => {\n let canvas = use3dddPlus.getState().fabricCanvas;\n canvas.loadFromJSON(JSON.parse(data), function () {\n canvas.renderAll.bind(canvas);\n use3dddPlus.setState({ selectedStepper: undefined });\n let objImage = canvas.getObjects()._objects;\n let _Fills = [];\n objImage?.forEach((ele) => {\n ele.set({ strokeWidth: 0 });\n use3dddPlus.setState({ fillColor: [...ele.fill] });\n _Fills.push(ele.fill);\n });\n use3dddPlus.setState({\n //@ts-ignore\n fillColor: use3dddPlus.getState().removeDuplicates(_Fills),\n });\n //@ts-ignore\n _Fills = use3dddPlus.getState().removeDuplicates(_Fills);\n const fillColors = {};\n _Fills.map((item, index) => {\n fillColors['layer' + index] = item;\n });\n use3dddPlus.setState({ colorFill: fillColors });\n canvas.getObjects().set({\n colorFill: fillColors,\n // setControlVisible:false,\n });\n });\n },\n uploadLogoConfig: async (jsonConfig, customerId) => {\n const bucketName = process.env.REACT_APP_BUCKET;\n const region = process.env.REACT_APP_REGION;\n AWS.config.update({\n accessKeyId: process.env.REACT_APP_ACCESSKEY,\n secretAccessKey: process.env.REACT_APP_SECRET_ACCESSKEY,\n });\n const S3 = new AWS.S3({\n params: { Bucket: bucketName },\n region: region,\n });\n\n const microTime = Date.now();\n const filePath = `my-logos/logo-config/${customerId}/${microTime}.json`;\n const params = {\n Bucket: bucketName,\n Key: filePath,\n Body: jsonConfig,\n ContentType: 'application/json',\n };\n\n const s3UrlPath = `https://${bucketName}.s3.${region}.amazonaws.com/${filePath}`;\n return new Promise((resolve, reject) => {\n S3.putObject(params, function (err: any) {\n if (err) {\n console.log('Error occurred while connecting S3 bucket!', err);\n reject(err);\n } else {\n resolve(s3UrlPath);\n }\n });\n });\n },\n };\n};\n\nexport default FabricSlice;\n","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n\n'use strict';\n\nexport function TIFFParser() {\n this.tiffDataView = undefined;\n this.littleEndian = undefined;\n this.fileDirectories = [];\n}\n\nTIFFParser.prototype = {\n isLittleEndian: function () {\n // Get byte order mark.\n var BOM = this.getBytes(2, 0);\n\n // Find out the endianness.\n if (BOM === 0x4949) {\n this.littleEndian = true;\n } else if (BOM === 0x4d4d) {\n this.littleEndian = false;\n } else {\n console.log(BOM);\n throw TypeError('Invalid byte order value.');\n }\n\n return this.littleEndian;\n },\n\n hasTowel: function () {\n // Check for towel.\n if (this.getBytes(2, 2) !== 42) {\n throw RangeError('You forgot your towel!');\n return false;\n }\n\n return true;\n },\n\n getFieldTagName: function (fieldTag) {\n // See: http://www.digitizationguidelines.gov/guidelines/TIFF_Metadata_Final.pdf\n // See: http://www.digitalpreservation.gov/formats/content/tiff_tags.shtml\n var fieldTagNames = {\n // TIFF Baseline\n 0x013b: 'Artist',\n 0x0102: 'BitsPerSample',\n 0x0109: 'CellLength',\n 0x0108: 'CellWidth',\n 0x0140: 'ColorMap',\n 0x0103: 'Compression',\n 0x8298: 'Copyright',\n 0x0132: 'DateTime',\n 0x0152: 'ExtraSamples',\n 0x010a: 'FillOrder',\n 0x0121: 'FreeByteCounts',\n 0x0120: 'FreeOffsets',\n 0x0123: 'GrayResponseCurve',\n 0x0122: 'GrayResponseUnit',\n 0x013c: 'HostComputer',\n 0x010e: 'ImageDescription',\n 0x0101: 'ImageLength',\n 0x0100: 'ImageWidth',\n 0x010f: 'Make',\n 0x0119: 'MaxSampleValue',\n 0x0118: 'MinSampleValue',\n 0x0110: 'Model',\n 0x00fe: 'NewSubfileType',\n 0x0112: 'Orientation',\n 0x0106: 'PhotometricInterpretation',\n 0x011c: 'PlanarConfiguration',\n 0x0128: 'ResolutionUnit',\n 0x0116: 'RowsPerStrip',\n 0x0115: 'SamplesPerPixel',\n 0x0131: 'Software',\n 0x0117: 'StripByteCounts',\n 0x0111: 'StripOffsets',\n 0x00ff: 'SubfileType',\n 0x0107: 'Threshholding',\n 0x011a: 'XResolution',\n 0x011b: 'YResolution',\n\n // TIFF Extended\n 0x0146: 'BadFaxLines',\n 0x0147: 'CleanFaxData',\n 0x0157: 'ClipPath',\n 0x0148: 'ConsecutiveBadFaxLines',\n 0x01b1: 'Decode',\n 0x01b2: 'DefaultImageColor',\n 0x010d: 'DocumentName',\n 0x0150: 'DotRange',\n 0x0141: 'HalftoneHints',\n 0x015a: 'Indexed',\n 0x015b: 'JPEGTables',\n 0x011d: 'PageName',\n 0x0129: 'PageNumber',\n 0x013d: 'Predictor',\n 0x013f: 'PrimaryChromaticities',\n 0x0214: 'ReferenceBlackWhite',\n 0x0153: 'SampleFormat',\n 0x022f: 'StripRowCounts',\n 0x014a: 'SubIFDs',\n 0x0124: 'T4Options',\n 0x0125: 'T6Options',\n 0x0145: 'TileByteCounts',\n 0x0143: 'TileLength',\n 0x0144: 'TileOffsets',\n 0x0142: 'TileWidth',\n 0x012d: 'TransferFunction',\n 0x013e: 'WhitePoint',\n 0x0158: 'XClipPathUnits',\n 0x011e: 'XPosition',\n 0x0211: 'YCbCrCoefficients',\n 0x0213: 'YCbCrPositioning',\n 0x0212: 'YCbCrSubSampling',\n 0x0159: 'YClipPathUnits',\n 0x011f: 'YPosition',\n\n // EXIF\n 0x9202: 'ApertureValue',\n 0xa001: 'ColorSpace',\n 0x9004: 'DateTimeDigitized',\n 0x9003: 'DateTimeOriginal',\n 0x8769: 'Exif IFD',\n 0x9000: 'ExifVersion',\n 0x829a: 'ExposureTime',\n 0xa300: 'FileSource',\n 0x9209: 'Flash',\n 0xa000: 'FlashpixVersion',\n 0x829d: 'FNumber',\n 0xa420: 'ImageUniqueID',\n 0x9208: 'LightSource',\n 0x927c: 'MakerNote',\n 0x9201: 'ShutterSpeedValue',\n 0x9286: 'UserComment',\n\n // IPTC\n 0x83bb: 'IPTC',\n\n // ICC\n 0x8773: 'ICC Profile',\n\n // XMP\n 0x02bc: 'XMP',\n\n // GDAL\n 0xa480: 'GDAL_METADATA',\n 0xa481: 'GDAL_NODATA',\n\n // Photoshop\n 0x8649: 'Photoshop',\n };\n\n var fieldTagName;\n\n if (fieldTag in fieldTagNames) {\n fieldTagName = fieldTagNames[fieldTag];\n } else {\n console.log('Unknown Field Tag:', fieldTag);\n fieldTagName = 'Tag' + fieldTag;\n }\n\n return fieldTagName;\n },\n\n getFieldTypeName: function (fieldType) {\n var fieldTypeNames = {\n 0x0001: 'BYTE',\n 0x0002: 'ASCII',\n 0x0003: 'SHORT',\n 0x0004: 'LONG',\n 0x0005: 'RATIONAL',\n 0x0006: 'SBYTE',\n 0x0007: 'UNDEFINED',\n 0x0008: 'SSHORT',\n 0x0009: 'SLONG',\n 0x000a: 'SRATIONAL',\n 0x000b: 'FLOAT',\n 0x000c: 'DOUBLE',\n };\n\n var fieldTypeName;\n\n if (fieldType in fieldTypeNames) {\n fieldTypeName = fieldTypeNames[fieldType];\n }\n\n return fieldTypeName;\n },\n\n getFieldTypeLength: function (fieldTypeName) {\n var fieldTypeLength;\n\n if (['BYTE', 'ASCII', 'SBYTE', 'UNDEFINED'].indexOf(fieldTypeName) !== -1) {\n fieldTypeLength = 1;\n } else if (['SHORT', 'SSHORT'].indexOf(fieldTypeName) !== -1) {\n fieldTypeLength = 2;\n } else if (['LONG', 'SLONG', 'FLOAT'].indexOf(fieldTypeName) !== -1) {\n fieldTypeLength = 4;\n } else if (\n ['RATIONAL', 'SRATIONAL', 'DOUBLE'].indexOf(fieldTypeName) !== -1\n ) {\n fieldTypeLength = 8;\n }\n\n return fieldTypeLength;\n },\n\n getBits: function (numBits, byteOffset, bitOffset) {\n bitOffset = bitOffset || 0;\n var extraBytes = Math.floor(bitOffset / 8);\n var newByteOffset = byteOffset + extraBytes;\n var totalBits = bitOffset + numBits;\n var shiftRight = 32 - numBits;\n\n if (totalBits <= 0) {\n console.log(numBits, byteOffset, bitOffset);\n throw RangeError('No bits requested');\n } else if (totalBits <= 8) {\n var shiftLeft = 24 + bitOffset;\n var rawBits = this.tiffDataView.getUint8(\n newByteOffset,\n this.littleEndian\n );\n } else if (totalBits <= 16) {\n var shiftLeft = 16 + bitOffset;\n var rawBits = this.tiffDataView.getUint16(\n newByteOffset,\n this.littleEndian\n );\n } else if (totalBits <= 32) {\n var shiftLeft = bitOffset;\n var rawBits = this.tiffDataView.getUint32(\n newByteOffset,\n this.littleEndian\n );\n } else {\n console.log(numBits, byteOffset, bitOffset);\n throw RangeError('Too many bits requested');\n }\n\n var chunkInfo = {\n bits: (rawBits << shiftLeft) >>> shiftRight,\n byteOffset: newByteOffset + Math.floor(totalBits / 8),\n bitOffset: totalBits % 8,\n };\n\n return chunkInfo;\n },\n\n getBytes: function (numBytes, offset) {\n if (numBytes <= 0) {\n console.log(numBytes, offset);\n throw RangeError('No bytes requested');\n } else if (numBytes <= 1) {\n return this.tiffDataView.getUint8(offset, this.littleEndian);\n } else if (numBytes <= 2) {\n return this.tiffDataView.getUint16(offset, this.littleEndian);\n } else if (numBytes <= 3) {\n return this.tiffDataView.getUint32(offset, this.littleEndian) >>> 8;\n } else if (numBytes <= 4) {\n return this.tiffDataView.getUint32(offset, this.littleEndian);\n } else {\n console.log(numBytes, offset);\n throw RangeError('Too many bytes requested');\n }\n },\n\n getFieldValues: function (\n fieldTagName,\n fieldTypeName,\n typeCount,\n valueOffset\n ) {\n var fieldValues = [];\n\n var fieldTypeLength = this.getFieldTypeLength(fieldTypeName);\n var fieldValueSize = fieldTypeLength * typeCount;\n\n if (fieldValueSize <= 4) {\n // The value is stored at the big end of the valueOffset.\n if (this.littleEndian === false) {\n var value = valueOffset >>> ((4 - fieldTypeLength) * 8);\n } else {\n var value = valueOffset;\n }\n\n fieldValues.push(value);\n } else {\n for (var i = 0; i < typeCount; i++) {\n var indexOffset = fieldTypeLength * i;\n\n if (fieldTypeLength >= 8) {\n if (['RATIONAL', 'SRATIONAL'].indexOf(fieldTypeName) !== -1) {\n // Numerator\n fieldValues.push(this.getBytes(4, valueOffset + indexOffset));\n // Denominator\n fieldValues.push(this.getBytes(4, valueOffset + indexOffset + 4));\n //\t\t\t\t\t} else if (['DOUBLE'].indexOf(fieldTypeName) !== -1) {\n //\t\t\t\t\t\tfieldValues.push(this.getBytes(4, valueOffset + indexOffset) + this.getBytes(4, valueOffset + indexOffset + 4));\n } else {\n console.log(fieldTypeName, typeCount, fieldValueSize);\n throw TypeError(\"Can't handle this field type or size\");\n }\n } else {\n fieldValues.push(\n this.getBytes(fieldTypeLength, valueOffset + indexOffset)\n );\n }\n }\n }\n\n if (fieldTypeName === 'ASCII') {\n fieldValues.forEach(function (e, i, a) {\n a[i] = String.fromCharCode(e);\n });\n }\n\n return fieldValues;\n },\n\n clampColorSample: function (colorSample, bitsPerSample) {\n var multiplier = Math.pow(2, 8 - bitsPerSample);\n\n return Math.floor(colorSample * multiplier + (multiplier - 1));\n },\n\n makeRGBAFillValue: function (r, g, b, a) {\n if (typeof a === 'undefined') {\n a = 1.0;\n }\n return 'rgba(' + r + ', ' + g + ', ' + b + ', ' + a + ')';\n },\n\n parseFileDirectory: function (byteOffset) {\n var numDirEntries = this.getBytes(2, byteOffset);\n\n var tiffFields = [];\n\n for (\n var i = byteOffset + 2, entryCount = 0;\n entryCount < numDirEntries;\n i += 12, entryCount++\n ) {\n var fieldTag = this.getBytes(2, i);\n var fieldType = this.getBytes(2, i + 2);\n var typeCount = this.getBytes(4, i + 4);\n var valueOffset = this.getBytes(4, i + 8);\n\n var fieldTagName = this.getFieldTagName(fieldTag);\n var fieldTypeName = this.getFieldTypeName(fieldType);\n\n var fieldValues = this.getFieldValues(\n fieldTagName,\n fieldTypeName,\n typeCount,\n valueOffset\n );\n\n tiffFields[fieldTagName] = { type: fieldTypeName, values: fieldValues };\n }\n\n this.fileDirectories.push(tiffFields);\n\n var nextIFDByteOffset = this.getBytes(4, i);\n\n if (nextIFDByteOffset === 0x00000000) {\n return this.fileDirectories;\n } else {\n return this.parseFileDirectory(nextIFDByteOffset);\n }\n },\n\n parseTIFF: function (tiffArrayBuffer, canvas) {\n canvas = canvas || document.createElement('canvas');\n\n console.log(tiffArrayBuffer);\n\n this.tiffDataView = new DataView(tiffArrayBuffer);\n this.canvas = canvas;\n\n this.littleEndian = this.isLittleEndian(this.tiffDataView);\n\n if (!this.hasTowel(this.tiffDataView, this.littleEndian)) {\n return;\n }\n\n var firstIFDByteOffset = this.getBytes(4, 4);\n\n this.fileDirectories = this.parseFileDirectory(firstIFDByteOffset);\n\n var fileDirectory = this.fileDirectories[0];\n\n console.log(fileDirectory);\n\n var imageWidth = fileDirectory.ImageWidth.values[0];\n var imageLength = fileDirectory.ImageLength.values[0];\n\n this.canvas.width = imageWidth;\n this.canvas.height = imageLength;\n\n var strips = [];\n\n var compression = fileDirectory.Compression\n ? fileDirectory.Compression.values[0]\n : 1;\n\n var samplesPerPixel = fileDirectory.SamplesPerPixel.values[0];\n\n var sampleProperties = [];\n\n var bitsPerPixel = 0;\n var hasBytesPerPixel = false;\n\n fileDirectory.BitsPerSample.values.forEach(function (\n bitsPerSample,\n i,\n bitsPerSampleValues\n ) {\n sampleProperties[i] = {\n bitsPerSample: bitsPerSample,\n hasBytesPerSample: false,\n bytesPerSample: undefined,\n };\n\n if (bitsPerSample % 8 === 0) {\n sampleProperties[i].hasBytesPerSample = true;\n sampleProperties[i].bytesPerSample = bitsPerSample / 8;\n }\n\n bitsPerPixel += bitsPerSample;\n },\n this);\n\n if (bitsPerPixel % 8 === 0) {\n hasBytesPerPixel = true;\n var bytesPerPixel = bitsPerPixel / 8;\n }\n\n var stripOffsetValues = fileDirectory.StripOffsets.values;\n var numStripOffsetValues = stripOffsetValues.length;\n\n // StripByteCounts is supposed to be required, but see if we can recover anyway.\n if (fileDirectory.StripByteCounts) {\n var stripByteCountValues = fileDirectory.StripByteCounts.values;\n } else {\n console.log('Missing StripByteCounts!');\n\n // Infer StripByteCounts, if possible.\n if (numStripOffsetValues === 1) {\n var stripByteCountValues = [\n Math.ceil((imageWidth * imageLength * bitsPerPixel) / 8),\n ];\n } else {\n throw Error('Cannot recover from missing StripByteCounts');\n }\n }\n\n // Loop through strips and decompress as necessary.\n for (var i = 0; i < numStripOffsetValues; i++) {\n var stripOffset = stripOffsetValues[i];\n strips[i] = [];\n\n var stripByteCount = stripByteCountValues[i];\n\n // Loop through pixels.\n for (\n var byteOffset = 0,\n bitOffset = 0,\n jIncrement = 1,\n getHeader = true,\n pixel = [],\n numBytes = 0,\n sample = 0,\n currentSample = 0;\n byteOffset < stripByteCount;\n byteOffset += jIncrement\n ) {\n // Decompress strip.\n switch (compression) {\n // Uncompressed\n case 1:\n // Loop through samples (sub-pixels).\n for (var m = 0, pixel = []; m < samplesPerPixel; m++) {\n if (sampleProperties[m].hasBytesPerSample) {\n // XXX: This is wrong!\n var sampleOffset = sampleProperties[m].bytesPerSample * m;\n\n pixel.push(\n this.getBytes(\n sampleProperties[m].bytesPerSample,\n stripOffset + byteOffset + sampleOffset\n )\n );\n } else {\n var sampleInfo = this.getBits(\n sampleProperties[m].bitsPerSample,\n stripOffset + byteOffset,\n bitOffset\n );\n\n pixel.push(sampleInfo.bits);\n\n byteOffset = sampleInfo.byteOffset - stripOffset;\n bitOffset = sampleInfo.bitOffset;\n\n throw RangeError('Cannot handle sub-byte bits per sample');\n }\n }\n\n strips[i].push(pixel);\n\n if (hasBytesPerPixel) {\n jIncrement = bytesPerPixel;\n } else {\n jIncrement = 0;\n\n throw RangeError('Cannot handle sub-byte bits per pixel');\n }\n break;\n\n // CITT Group 3 1-Dimensional Modified Huffman run-length encoding\n case 2:\n // XXX: Use PDF.js code?\n break;\n\n // Group 3 Fax\n case 3:\n // XXX: Use PDF.js code?\n break;\n\n // Group 4 Fax\n case 4:\n // XXX: Use PDF.js code?\n break;\n\n // LZW\n case 5:\n // XXX: Use PDF.js code?\n break;\n\n // Old-style JPEG (TIFF 6.0)\n case 6:\n // XXX: Use PDF.js code?\n break;\n\n // New-style JPEG (TIFF Specification Supplement 2)\n case 7:\n // XXX: Use PDF.js code?\n break;\n\n // PackBits\n case 32773:\n // Are we ready for a new block?\n if (getHeader) {\n getHeader = false;\n\n var blockLength = 1;\n var iterations = 1;\n\n // The header byte is signed.\n var header = this.tiffDataView.getInt8(\n stripOffset + byteOffset,\n this.littleEndian\n );\n\n if (header >= 0 && header <= 127) {\n // Normal pixels.\n blockLength = header + 1;\n } else if (header >= -127 && header <= -1) {\n // Collapsed pixels.\n iterations = -header + 1;\n } /*if (header === -128)*/ else {\n // Placeholder byte?\n getHeader = true;\n }\n } else {\n var currentByte = this.getBytes(1, stripOffset + byteOffset);\n\n // Duplicate bytes, if necessary.\n for (var m = 0; m < iterations; m++) {\n if (sampleProperties[sample].hasBytesPerSample) {\n // We're reading one byte at a time, so we need to handle multi-byte samples.\n currentSample =\n (currentSample << (8 * numBytes)) | currentByte;\n numBytes++;\n\n // Is our sample complete?\n if (numBytes === sampleProperties[sample].bytesPerSample) {\n pixel.push(currentSample);\n currentSample = numBytes = 0;\n sample++;\n }\n } else {\n throw RangeError('Cannot handle sub-byte bits per sample');\n }\n\n // Is our pixel complete?\n if (sample === samplesPerPixel) {\n strips[i].push(pixel);\n\n pixel = [];\n sample = 0;\n }\n }\n\n blockLength--;\n\n // Is our block complete?\n if (blockLength === 0) {\n getHeader = true;\n }\n }\n\n jIncrement = 1;\n break;\n\n // Unknown compression algorithm\n default:\n // Do not attempt to parse the image data.\n break;\n }\n }\n\n //\t\t\tconsole.log( strips[i] );\n }\n\n //\t\tconsole.log( strips );\n\n if (canvas.getContext) {\n var ctx = this.canvas.getContext('2d');\n\n // Set a default fill style.\n ctx.fillStyle = this.makeRGBAFillValue(255, 255, 255, 0);\n\n // If RowsPerStrip is missing, the whole image is in one strip.\n if (fileDirectory.RowsPerStrip) {\n var rowsPerStrip = fileDirectory.RowsPerStrip.values[0];\n } else {\n var rowsPerStrip = imageLength;\n }\n\n var numStrips = strips.length;\n\n var imageLengthModRowsPerStrip = imageLength % rowsPerStrip;\n var rowsInLastStrip =\n imageLengthModRowsPerStrip === 0\n ? rowsPerStrip\n : imageLengthModRowsPerStrip;\n\n var numRowsInStrip = rowsPerStrip;\n var numRowsInPreviousStrip = 0;\n\n var photometricInterpretation =\n fileDirectory.PhotometricInterpretation.values[0];\n\n var extraSamplesValues = [];\n var numExtraSamples = 0;\n\n if (fileDirectory.ExtraSamples) {\n extraSamplesValues = fileDirectory.ExtraSamples.values;\n numExtraSamples = extraSamplesValues.length;\n }\n\n if (fileDirectory.ColorMap) {\n var colorMapValues = fileDirectory.ColorMap.values;\n var colorMapSampleSize = Math.pow(2, sampleProperties[0].bitsPerSample);\n }\n\n // Loop through the strips in the image.\n for (var i = 0; i < numStrips; i++) {\n // The last strip may be short.\n if (i + 1 === numStrips) {\n numRowsInStrip = rowsInLastStrip;\n }\n\n var numPixels = strips[i].length;\n var yPadding = numRowsInPreviousStrip * i;\n\n // Loop through the rows in the strip.\n for (var y = 0, j = 0; y < numRowsInStrip, j < numPixels; y++) {\n // Loop through the pixels in the row.\n for (var x = 0; x < imageWidth; x++, j++) {\n var pixelSamples = strips[i][j];\n\n var red = 0;\n var green = 0;\n var blue = 0;\n var opacity = 1.0;\n\n if (numExtraSamples > 0) {\n for (var k = 0; k < numExtraSamples; k++) {\n if (\n extraSamplesValues[k] === 1 ||\n extraSamplesValues[k] === 2\n ) {\n // Clamp opacity to the range [0,1].\n opacity = pixelSamples[3 + k] / 256;\n\n break;\n }\n }\n }\n\n switch (photometricInterpretation) {\n // Bilevel or Grayscale\n // WhiteIsZero\n case 0:\n if (sampleProperties[0].hasBytesPerSample) {\n var invertValue = Math.pow(\n 0x10,\n sampleProperties[0].bytesPerSample * 2\n );\n }\n\n // Invert samples.\n pixelSamples.forEach(function (sample, index, samples) {\n samples[index] = invertValue - sample;\n });\n\n // Bilevel or Grayscale\n // BlackIsZero\n case 1:\n red =\n green =\n blue =\n this.clampColorSample(\n pixelSamples[0],\n sampleProperties[0].bitsPerSample\n );\n break;\n\n // RGB Full Color\n case 2:\n red = this.clampColorSample(\n pixelSamples[0],\n sampleProperties[0].bitsPerSample\n );\n green = this.clampColorSample(\n pixelSamples[1],\n sampleProperties[1].bitsPerSample\n );\n blue = this.clampColorSample(\n pixelSamples[2],\n sampleProperties[2].bitsPerSample\n );\n break;\n\n // RGB Color Palette\n case 3:\n if (colorMapValues === undefined) {\n throw Error('Palette image missing color map');\n }\n\n var colorMapIndex = pixelSamples[0];\n\n red = this.clampColorSample(colorMapValues[colorMapIndex], 16);\n green = this.clampColorSample(\n colorMapValues[colorMapSampleSize + colorMapIndex],\n 16\n );\n blue = this.clampColorSample(\n colorMapValues[2 * colorMapSampleSize + colorMapIndex],\n 16\n );\n break;\n\n // Transparency mask\n case 4:\n throw RangeError('Not Yet Implemented: Transparency mask');\n break;\n\n // CMYK\n case 5:\n throw RangeError('Not Yet Implemented: CMYK');\n break;\n\n // YCbCr\n case 6:\n throw RangeError('Not Yet Implemented: YCbCr');\n break;\n\n // CIELab\n case 8:\n throw RangeError('Not Yet Implemented: CIELab');\n break;\n\n // Unknown Photometric Interpretation\n default:\n throw RangeError(\n 'Unknown Photometric Interpretation:',\n photometricInterpretation\n );\n break;\n }\n\n ctx.fillStyle = this.makeRGBAFillValue(red, green, blue, opacity);\n ctx.fillRect(x, yPadding + y, 1, 1);\n }\n }\n\n numRowsInPreviousStrip = numRowsInStrip;\n }\n }\n\n /*\t\tfor (var i = 0, numFileDirectories = this.fileDirectories.length; i < numFileDirectories; i++) {\n // Stuff\n }*/\n\n return this.canvas;\n },\n};\n","import { StateCreator } from 'zustand';\nimport { TIFFParser } from '../../loaders/tiffParser';\nimport { use3dddPlus } from '..';\nimport { fabric } from 'fabric';\nimport ImageTracer from 'imagetracerjs';\n// import * as pdfjsLib from 'pdfjs-dist/build/pdf';\n// pdfjsLib.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjsLib.version}/pdf.worker.js`;\nexport interface ConverterSlice {\n fillColor: string[];\n pdfConverter: (data: any) => void;\n // convertPdfToImages: (buffer: any) => any;\n tiffConvert: (data: any) => void;\n imageToSVG: (data: any) => void;\n removeDuplicates: (arr: any) => void;\n RGBToHex: (rgb: any) => void;\n changeSVGColor: (property: any, color: any) => void;\n setFile: (file: any) => void;\n file: any;\n addText: () => void;\n}\n\nexport const converterSlice: StateCreator<ConverterSlice> = (set, get) => {\n return {\n fillColor: [],\n file: {},\n setFile: (file) => {\n set({ file });\n },\n // return new Promise((resolve, reject) => {\n // if (data) {\n // const reader = new FileReader();\n // reader.onload = async () => {\n // const buffer = reader.result;\n // try {\n // const _B = await get().convertPdfToImages(buffer);\n // resolve(_B);\n // } catch (error) {\n // reject(error);\n // }\n // };\n // reader.readAsArrayBuffer(data);\n // } else {\n // reject(new Error('No data provided.'));\n // }\n // });\n // },\n // convertPdfToImages: async (buffer) => {\n // const pdf = await pdfjsLib.getDocument({ data: new Uint8Array(buffer) })\n // .promise;\n // const scale = 2;\n // for (let pageNum = 1; pageNum <= pdf.numPages; pageNum++) {\n // const page = await pdf.getPage(pageNum);\n // const viewport = page.getViewport({ scale });\n // const canvasEl = document.createElement('canvas');\n // canvasEl.width = viewport.width;\n // canvasEl.height = viewport.height;\n // const context = canvasEl.getContext('2d');\n // await page.render({\n // canvasContext: context,\n // viewport,\n // background: 'rgba(0,0,0,0)',\n // }).promise;\n // // let objectURL = URL.createObjectURL(canvasEl);\n // const imageUrl = canvasEl.toDataURL();\n // return imageUrl;\n // // svgConverter(imageUrl);\n // /* */\n // }\n // },\n tiffConvert: async (data) => {\n const tiffParser = new TIFFParser();\n const canvasEl = document.createElement('canvas');\n canvasEl.width = 500;\n canvasEl.height = 500;\n // const context = canvasEl.getContext(\"2d\");\n const arrayBuffer = await data.arrayBuffer();\n var tiffCanvas = tiffParser.parseTIFF(arrayBuffer, canvasEl);\n const imageUrl = tiffCanvas.toDataURL();\n return imageUrl;\n },\n imageToSVG: (data) => {\n use3dddPlus.setState({ uploadImageModalDisplay: true }); // FOR POPUP CANVAS VISIBLE\n ImageTracer.imageToSVG(\n data,\n function (svgstr) {\n fabric.loadSVGFromString(\n //@ts-ignore\n new String(svgstr),\n function (objects, options) {\n let loadedObject = fabric.util.groupSVGElements(objects, options);\n // console.log(\"LOADEDOBJECT--->\",data);\n loadedObject.scaleToHeight(100);\n loadedObject.scaleToWidth(100);\n //@ts-ignore\n let objImage = loadedObject?._objects;\n let _Fills = [];\n objImage.forEach((ele: any) => {\n ele.set({ strokeWidth: 0 });\n set({ fillColor: [...ele.fill] });\n // setFillColor([...ele.fill]);\n let _C = get().RGBToHex(ele.fill);\n _Fills.push(_C);\n });\n //@ts-ignore\n set({ fillColor: get().removeDuplicates(_Fills) });\n //setFillColor(get().removeDuplicates(_Fills));\n //@ts-ignore\n _Fills = get().removeDuplicates(_Fills);\n // console.log(_Fills);\n const fillColors = {};\n _Fills.map((item, index) => {\n fillColors['layer' + index] = item;\n });\n use3dddPlus.setState({ colorFill: fillColors });\n //FOR POPUP CANVAS\n // loadedObject.set({\n // colorFill : fillColors,\n // hasControls:false,\n // hasBorders : false,\n // lockMovementX:true,\n // lockMovementY:true,\n\n // })\n // for main canvas use this\n loadedObject.set({\n colorFill: fillColors,\n //@ts-ignore\n setControlVisible: false,\n });\n // var maxWidth = 300; // your maximum width value\n // var maxHeight = 300; // your maximum height value\n // if (loadedObject.width > maxWidth || loadedObject.height > maxHeight) {\n // // Calculate new dimensions while maintaining aspect ratio\n // var aspectRatio = loadedObject.width / loadedObject.height;\n // if (aspectRatio > maxWidth / maxHeight) {\n // loadedObject.scaleToWidth(maxWidth);\n // } else {\n // loadedObject.scaleToHeight(maxHeight);\n // }\n // }\n\n //-------- use CANVAS INSTEAD OF POPCANVAS--------\n console.log('loadedObject--->', loadedObject);\n use3dddPlus.getState().popupCanv.add(loadedObject).renderAll();\n use3dddPlus.getState().popupCanv.centerObject(loadedObject);\n use3dddPlus.getState().popupCanv.setActiveObject(loadedObject);\n use3dddPlus.setState({ activeSelection: loadedObject });\n // loadedObject.setControlVisible(\"mtr\", false);\n // use3dddPlus.getState().forStoringAllObject(loadedObject);//for pushing the data into array for layers\n }\n );\n }\n // options\n //@ts-ignore\n //optionpresets.default\n );\n },\n removeDuplicates: (arr) => {\n return arr.filter((item, index) => arr.indexOf(item) === index);\n },\n\n RGBToHex: (rgb) => {\n let sep = rgb.indexOf(',') > -1 ? ',' : ' ';\n rgb = rgb.substr(4).split(')')[0].split(sep);\n let r = (+rgb[0]).toString(16),\n g = (+rgb[1]).toString(16),\n b = (+rgb[2]).toString(16);\n\n if (r.length == 1) r = '0' + r;\n if (g.length == 1) g = '0' + g;\n if (b.length == 1) b = '0' + b;\n return '#' + r + g + b;\n },\n changeSVGColor: (property, color) => {\n const fillColor = { ...use3dddPlus.getState().colorFill };\n const previousColor = fillColor[property];\n //const SelectedObjet = use3dddPlus.getState().activeSelection;\n // console.log(\"Color_CHANGING--->\",SelectedObjet.colorFill);\n // let _newObj = SelectedObjet.colorFill;\n /* Object.entries(_newObj).forEach(([key, value]) => {\n if(`${value}` === previousColor){\n console.log(`${key}: ${value}` , previousColor);\n _newObj[`${key}`] = color;\n }\n // console.log(`${key}: ${value}`)\n});*/\n // const sel = new fabric.ActiveSelection(popupCanvas.getObjects(), {\n // popupCanvas: popupCanvas,\n // });\n\n // popupCanvas.setActiveObject(sel);\n // popupCanvas.requestRenderAll();\n\n // let objImage = SelectedObjet._objects;\n let objImage = use3dddPlus\n .getState()\n .popupCanv.getActiveObject()._objects;\n objImage.forEach((ele) => {\n const _C = ele.fill.includes('#') ? ele.fill : get().RGBToHex(ele.fill);\n if (_C === previousColor) {\n ele.set({\n fill: color,\n });\n }\n });\n use3dddPlus.getState().popupCanv.renderAll();\n fillColor[property] = color;\n use3dddPlus.setState({ colorFill: fillColor });\n },\n addText: () => {\n use3dddPlus.getState().fabricCanvas.discardActiveObject();\n const text = new fabric.Text('NEW TEXT', {\n lineHeight: 1,\n fill: '#fff',\n fontFamily: 'Arial',\n fontWeight: 'normal',\n top: use3dddPlus.getState().fabricCanvas.height / 2 - 40,\n left: use3dddPlus.getState().fabricCanvas.width / 2 - 205,\n stroke: '#eb4034',\n strokeWidth: 0,\n paintFirst: 'stroke',\n //charSpacing: 0,\n padding: -1,\n fontSize: 20,\n name: 'text',\n charSpacing: -10,\n lockScalingFlip: true,\n });\n const fillColors = { layer0: text.fill };\n text.set({\n //@ts-ignore\n colorFill: fillColors,\n });\n use3dddPlus.getState().forIconCapture();\n //@ts-ignore\n text.icon = use3dddPlus.getState().iconImage;\n use3dddPlus.getState().fabricCanvas.add(text);\n use3dddPlus.getState().fabricCanvas.setActiveObject(text);\n use3dddPlus.setState({ currentSelection: 'text' });\n //@ts-ignore\n use3dddPlus.getState().deleteButtonControls(text);\n text.setControlsVisibility(use3dddPlus.getState().HideControls);\n use3dddPlus.getState().nameCounter++;\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forStoringAllObject(text); //for pushing the data into array for layers\n // use3dddPlus.setState({storeAllObject : });\n },\n pdfConverter :(data) => {\n return new Promise((_resolve, reject) => {\n if (data) {\n const reader = new FileReader();\n reader.onload = async () => {\n //const buffer = reader.result;\n // try {\n // const _B = await get().convertPdfToImages(buffer);\n // resolve(_B);\n // } catch (error) {\n // reject(error);\n // }\n };\n reader.readAsArrayBuffer(data);\n } else {\n reject(new Error('No data provided.'));\n }\n });\n },\n // convertPdfToImages: async (buffer: any) => {\n // const pdf = await pdfjsLib.getDocument({ data: new Uint8Array(buffer) })\n // .promise;\n // const scale = 2;\n // for (let pageNum = 1; pageNum <= pdf.numPages; pageNum++) {\n // const page = await pdf.getPage(pageNum);\n // const viewport = page.getViewport({ scale });\n // const canvasEl = document.createElement('canvas');\n // canvasEl.width = viewport.width;\n // canvasEl.height = viewport.height;\n // const context = canvasEl.getContext('2d');\n // await page.render({\n // canvasContext: context,\n // viewport,\n // background: 'rgba(0,0,0,0)',\n // }).promise;\n // const imageUrl = canvasEl.toDataURL();\n // return imageUrl;\n // }\n // return null;\n // },\n };\n};\nexport default ConverterSlice;\n","import { create, StateCreator } from 'zustand';\nimport {\n // createJSONStorage,\n // persist,\n subscribeWithSelector,\n} from 'zustand/middleware';\nimport actionSlice, { ActionSlice } from './actions';\nimport lambdaSlice, { LambdaSlice } from './lambda/index';\nimport SaveDesignSlice, { saveDesignSlice } from './saveDesign';\nimport AuthSlice, { authSlice } from './auth';\nimport HistorySlice, { historySlice } from './history';\nimport FabricSlice, { fabricSlice } from './fabric';\nimport ConverterSlice, { converterSlice} from './converters';\nexport type ThreedddPlus = \n ActionSlice &\n LambdaSlice &\n SaveDesignSlice &\n AuthSlice &\n HistorySlice &\n ConverterSlice &\n FabricSlice;\n\nexport const threedddPlusState: StateCreator<ThreedddPlus> = (...args) => {\n return {\n ...actionSlice(...args),\n ...lambdaSlice(...args),\n ...saveDesignSlice(...args),\n ...authSlice(...args),\n ...historySlice(...args),\n ...converterSlice(...args),\n ...fabricSlice(...args)\n };\n};\n\nexport const use3dddPlus = create(\n // persist(\n subscribeWithSelector<ThreedddPlus>(threedddPlusState)\n // , {\n // name: 'editor-store', // unique name\n // storage: createJSONStorage(() => sessionStorage), // (optional) by default, 'localStorage' is used\n // }\n // )\n);\n\n(window as any).datasbase = use3dddPlus;\n","import React from \"react\";\n\nexport const Button = ({ label, icons, onClick, className, children }) => {\n return (\n <button\n onClick={onClick}\n className={`flex rounded-none gap-3 w-full items-center p-2 m-2 ${className}`}\n >\n {icons}\n {label}\n {children}\n </button>\n );\n};\n","import React from 'react';\nimport { Button } from 'reakit';\n\nexport const IconButtonLabel = ({\n icon,\n onClick,\n className = '',\n label = '',\n iconPosition = 'left',\n ...props\n}) => {\n return (\n <Button\n className={`flex items-center gap-2 text-base font-bold flex-1 justify-center focus:outline-none ${className}`}\n onClick={onClick}\n {...props}\n >\n {iconPosition === 'left' && (\n <>\n {icon}\n {label}\n </>\n )}\n {iconPosition === 'right' && (\n <>\n {label}\n {icon}\n </>\n )}\n </Button>\n );\n};\n","import React from \"react\";\n\nexport const EditButton = ({ label, icons, onClick, className, children }) => {\n return (\n <button\n onClick={onClick}\n className={`flex rounded-none gap-3 items-center ${className}`}\n >\n {icons}\n {label}\n {children}\n </button>\n );\n };","export const PRIMARY_COLOR = 'text-[#cf132b]'; //rgb(30 58 138);\nexport const SECONDARY_COLOR = 'text-[#e11a38]'; //rgb(156 163 175);\nexport const BORDER_COLOR = 'border-[#e0e0e0]'; //rgb(156 163 175)\nexport const BORDER_COLOR_1 = 'border-[#ecebed]';\nexport const BORDER_COLOR_2 = 'border-[#c2c2c2]';\nexport const BORDER_COLOR_3 = 'border-[#e11a38]';\nexport const SIDEBAR_BG_COLOR = 'bg-[#f7f7f7]';\nexport const SELECT_BG_COLOR = 'bg-[#e11a38]'; //rgb(203 213 225)\nexport const BG_COLOR_1 = 'bg-[#e11a38]'; //rgb(203 213 225)\nexport const SELECT_TEXT_COLOR = 'text-white'\nexport const TEXT_SIZE_1 = 'text-xs'; //font-size: 12px (0.75rem)\nexport const TEXT_SIZE_2 = 'text-2xl'; //font-size: 24px; (1.5rem)\nexport const TEXT_SIZE_3 = 'text-[15px]';\nexport const TEXT_SIZE_4 = 'text-[17px]';\nexport const TEXT_SIZE_5 = 'text-[28px]';\nexport const TEXT_SIZE_6 = 'text-[14px]';\nexport const TEXT_SIZE_7 = 'text-[30px]';\nexport const TEXT_SIZE_8 = 'text-[21px]';\nexport const TEXT_SIZE_9 = 'text-[13px]';\nexport const TEXT_SIZE_11 = 'text-[18px]';\nexport const TEXT_SIZE_12 = 'text-[11px]';\nexport const TEXT_SIZE_13 = 'text-[12px]';\nexport const TEXT_SIZE_14 = 'text-[16px]';\nexport const TEXT_SIZE_15 = 'text-[25px]';\nexport const TEXT_SIZE_16 = 'text-[26px]';\nexport const TEXT_SIZE_17 = 'text-[22px]';\nexport const TEXT_SIZE_18 = 'text-[16px]';\nexport const ACTIVE_BG_COLOR = 'bg-[#cf132b]'; //rgb(30 58 138);\nexport const BUTTON_TEXT_COLOR = 'text-white';\nexport const BUTTON_BG_COLOR = 'bg-black'; //rgb(0 0 0)\nexport const INPUT_BG_COLOR = 'bg-white';\nexport const TEXT_COLOR_1 = 'text-[#5d5d5d]';\nexport const BACKDROP_BLUR = 'backdrop-blur-[21px]';\nexport const BACKDROP_BLUR_BG_COLOR = 'bg-[#00000046]';\nexport const MODAL_BG_COLOR = 'bg-[#ffffff]';\nexport const CARD_BG_COLOR = 'bg-white'; //rgb(255 255 255)\nexport const INPUT_TEXT_DISABLE_COLOR = 'text-slate-300'\nexport const CHECKBOX_CHECKED_COLOR = '#e11a38'\nexport const LOAD_DESIGN_BORDER_COLOR = '#e0e0e0'\nexport const LOAD_DESIGN_TEXT_COLOR = 'text-[#e11a38]';\nexport const SEARCH_ICON_COLOR = 'text-[#727272]'\nexport const SEARCHBAR_BORDER_COLOR = 'border-[#bebebe]'\nexport const MY_DESIGN_TEXT_COLOR = 'text-[#353535]'\nexport const SEARCH_TEXT_COLOR = 'text-[#353535]'\nexport const NO_SEARCHRESULT_TEXT_COLOR_1 = 'text-[#727272]'\nexport const NO_SEARCHRESULT_TEXT_COLOR_2 = 'text-[#5d5d5d]'\nexport const CANVAS_MENU_TEXT = 'text-[#353535]';\nexport const CANVAS_MENU_BORDER = 'border-[#f4f4f4]';\nexport const CANVAS_MENU_BG_COLOR = 'bg-white';\nexport const CANVAS_MENU_DROPDOWN_BG_COLOR = 'bg-white';\nexport const DECORATION_BG_COLOR = 'bg-[#F1F1F1]'\nexport const DROPDOWN_BACKGROUND_COLOR = 'bg-[#FCE8EB]'\nexport const TAG_BG_COLOR = 'bg-[#FCE8EB]'\nexport const TAG_TEXT_COLOR = 'text-[#e11a38]'\nexport const CARD_LAST_UPDATE_COLOR = 'text-[#727272]'\nexport const CARD_DOWNLAOD_ICON_COLOR = 'text-[#353535]'\nexport const CARD_DESCRIPTION_COLOR = 'text-[#353535]'\nexport const FOOTER_TEXT_COLOR = 'text-[#ffffff]'\nexport const FOOTER_RACK_BG_COLOR = 'bg-[#E21938]'\nexport const FOOTER_PRICE_COLOR = 'text-[#353535]'\nexport const FOOTER_RACK_COUNT_COLOR = 'text-[#E21938]'\nexport const FOOTER_ROSTER_COLOR = 'text-[#353535]'\nexport const FOOTER_ROSTER_BORDER_COLOR = 'border-[#353535]'\nexport const FOOTER_SUMMARY_BG_COLOR = 'bg-[#353535]'\nexport const FOOTER_SUMMARY_TEXT_COLOR = 'text-white'\nexport const CONFIRMDESIGN_DISCARD_BORDER_COLOR = 'border-[#707070]';\nexport const CONFIRMDESIGN_TEXT_COLOR_1 = 'text-[#5d5d5d]';\nexport const CONFIRMDESIGN_TEXT_COLOR_2 = 'text-[#E11A38]';\nexport const CONFIRMDESIGN_TEXT_COLOR_3 = 'text-[#353535]';\nexport const CONFIRMDESIGN_TEXT_COLOR_4 = 'text-[#ffffff]';\nexport const CONFIRMDESIGN_SAVEBUTTON_BG_COLOR = 'bg-[#E11A38]';\nexport const DESIGNSUCCESS_CLOSE_BORDER_COLOR = 'border-[#707070]';\nexport const DESIGNSUCCESS_TEXT_COLOR_1 = 'text-[#5d5d5d]';\nexport const DESIGNSUCCESS_TEXT_COLOR_2 = 'text-[#E21938]';\nexport const DESIGNSUCCESS_TEXT_COLOR_3 = 'text-[#353535]';\n\nexport const SAVERACK_BORDER_COLOR = 'border-[#707070]'\nexport const SAVERACK_TEXT_COLOR = 'text-[#707070]'\nexport const SAVEBUTTON_BG_COLOR = 'bg-[#E11A38]'\nexport const TOASTER_SUCCESS_BG_COLOR = 'bg-[#D5F2EA]'\nexport const TOASTER_FAILURE_BG_COLOR = 'bg-[#FCE8EB]'\nexport const TOASTER_INFO_BG_COLOR = 'bg-[#D5E9FA]'\nexport const TOASTER_WARNING_BG_COLOR = 'bg-[#FFF8E7]'\nexport const RESET_BUTTON_BG_COLOR = 'text-[#9A9A9A]'\nexport const PRODUCTINFO_TEXT_COLOR_1 = 'text-[#353535]'\nexport const PRODUCTINFO_TEXT_COLOR_2 = 'text-[#c2c2c2]'\nexport const PRODUCTINFO_TEXT_COLOR_3 = 'text-[#e11a38]'\nexport const PRODUCTINFO_TEXT_COLOR_4 = 'text-[#5d5d5d]'\nexport const UPDATESUCCESS_RACK_BORDER_COLOR = 'border-[#E11938]';\nexport const UPDATESUCCESS_TEXT_COLOR_1 = 'text-[#E11938]';\nexport const RACK_CARD_BORDER_COLOR = 'border-[#e5e5e5]';\nexport const RACK_CARD_TEXT_COLOR_1 = 'text-[#E11A38]';\nexport const RACK_CARD_TEXT_COLOR_2 = 'text-[#353535]';\nexport const RACK_CARD_TEXT_COLOR_3 = 'text-[#9f9f9f]';\nexport const RACK_CARD_MENU_TEXT = 'text-[#353535]';\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_1 = 'text-[#E11A38]';\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_2 = 'text-[#727272]';\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_3 = 'text-[#353535]';\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_4 = 'text-[#ffffff]';\nexport const EDIT_DESIGN_INFO_INPUT_BORDER_COLOR = 'border-[#ECEBED]';\nexport const EDIT_DESIGN_INFO_DISABLED_BG_COLOR_1 = 'bg-[#F8F8F8]';\nexport const EDIT_DESIGN_INFO_BG_COLOR_2 = 'bg-[#ffffff]';\nexport const EDIT_DESIGN_INFO_BG_COLOR_3 = 'bg-[#e11a38]';\nexport const EDIT_DESIGN_INFO_BG_COLOR_4 = 'bg-[#fce8eb]';\nexport const INPUT_ERROR_BORDER_COLOR = 'border-[#E11A38]';\nexport const INPUT_ERROR_TEXT_COLOR = 'text-[#E11A38]';\nexport const PRICEBREAKUP_TEXT_COLOR_1 = 'text-[#353535]';\nexport const PRICEBREAKUP_TEXT_COLOR_2 = 'text-[#747474]';\nexport const PRICEBREAKUP_TEXT_BORDER_COLOR_1 = 'border-[#c2c2c2]';\nexport const PRICEBREAKUP_TEXT_BORDER_COLOR_2 = 'border-[#ebebeb]';","import React from 'react';\nimport { IconContext, IconType } from 'react-icons';\nimport { Button, Tooltip, TooltipReference, useTooltipState } from 'reakit';\n\nexport interface IconButtonProps\n extends Exclude<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n icon?: React.ReactElement<IconType>;\n label: string;\n}\nconst Icon = React.forwardRef<HTMLButtonElement, IconButtonProps>(\n ({ label, icon, className, ...props }, ref) => {\n const tooltip = useTooltipState({ placement: 'top' });\n return (\n <>\n <TooltipReference\n ref={ref}\n {...props}\n {...tooltip}\n as={Button}\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`}\n aria-label={label}\n >\n {icon}\n </TooltipReference>\n {label && label !== '' && (\n <Tooltip\n {...tooltip}\n className={`inline-block px-3 py-2 text-sm font-medium text-white transition-opacity duration-300 bg-[#e11a38] rounded-lg shadow-sm dark:bg-gray-700`}\n style={{ zIndex: 10 }}\n >\n {label}\n </Tooltip>\n )}\n </>\n );\n }\n);\n\nexport const IconButton = ({\n label,\n\n className,\n size = '2rem',\n icon = undefined,\n ...props\n}) => {\n return (\n <IconContext.Provider\n value={{\n size: size,\n className: 'pointer-events-auto cursor-pointer',\n }}\n >\n <Icon label={label} icon={icon} className={className} {...props} />\n </IconContext.Provider>\n );\n};\n\n\nexport {\n IoIosColorPalette,\n IoMdCheckmarkCircle,\n IoIosArrowForward,\n} from 'react-icons/io';\nexport { HiOutlineDownload, HiDotsVertical } from 'react-icons/hi';\nexport {\n FaRegSave,\n FaRegShareSquare,\n FaPlus,\n FaRegListAlt,\n FaEye,\n FaEyeSlash,\n} from 'react-icons/fa';\nexport { BiReset, BiAddToQueue } from 'react-icons/bi';\nexport { GiBilledCap, GiCardboardBox } from 'react-icons/gi';\nexport { TbWindowMinimize } from 'react-icons/tb';\nexport { RxCross2 } from 'react-icons/rx';\nexport { IoInformationCircleOutline, IoLogInOutline } from 'react-icons/io5';\nexport { CgMenuBoxed } from 'react-icons/cg';\nexport { IoIosInformationCircleOutline } from 'react-icons/io';\nexport { LuFlipHorizontal2, LuFlipVertical2 } from 'react-icons/lu';\n","import { GenIcon } from 'react-icons/lib';\n\nexport const RLogo = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '36.672',\n height: '34.349',\n viewBox: '0 0 36.672 34.349',\n },\n child: [\n {\n tag: 'g',\n attr: {},\n child: [\n {\n tag: 'g',\n attr: { id: 'a' },\n child: [\n {\n tag: 'path',\n attr: {\n fill: 'none',\n fillRule: 'evenodd',\n transform:\"translate(-0.001)\",\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',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n fill: 'none',\n stroke: '#fff',\n fillRule: 'evenodd',\n transform:\"translate(-1.117 -1.116)\",\n strokeWidth: '2px',\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',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n fill: '#fff',\n fillRule: 'evenodd',\n transform:\"translate(-3.386 -6.517)\",\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',\n },\n child: [],\n },\n ],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\n\nexport const MyLogo = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '26.381',\n height: '23.778',\n viewBox: '0 0 26.381 23.778',\n },\n child: [\n {\n tag: 'g',\n attr: {},\n child: [\n {\n tag: 'g',\n attr: { id: 'a' },\n child: [\n {\n tag: 'path',\n attr: {\n strokeWidth:\"1\",\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',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\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',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\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',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\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',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n fill: '#5d5d5d',\n\n fillRule: 'evenodd',\n\n transform: 'translate(-78.659 -351.017)',\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',\n },\n child: [],\n },\n ],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\n\nexport const AddMascots = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '17.794',\n height: '17.8',\n viewBox: '0 0 17.794 17.8',\n },\n child: [\n {\n tag: 'defs',\n attr: {},\n child: [\n {\n tag: 'clipPath',\n attr: { id: 'a' },\n child: [\n {\n tag: 'path',\n attr: { d: 'M0 0h17.794v17.8H0z' },\n child: [],\n },\n ],\n },\n ],\n },\n {\n tag: 'g',\n attr: { 'clip-path': 'url(#a)' },\n child: [\n {\n tag: 'path',\n attr: {\n d: 'M15.2 17.8H2.6a1.263 1.263 0 0 0-.151-.046 2.957 2.957 0 0 1-2.443-2.882Q0 8.9.006 2.92A2.937 2.937 0 0 1 2.918.008q5.975-.014 11.949 0a2.76 2.76 0 0 1 2.475 1.415 7.114 7.114 0 0 1 .452 1.177v12.6a.57.57 0 0 0-.041.1 2.964 2.964 0 0 1-2.29 2.422c-.088.02-.176.046-.264.069M1.984 8.9v5.769a1 1 0 0 0 1.147 1.147h11.536a1 1 0 0 0 1.147-1.148V3.129a1 1 0 0 0-1.148-1.147H3.13a1 1 0 0 0-1.146 1.151v5.769',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n d: 'm5.938 8.903 1.483 2.433 2.965-6.388 4.443 8.889H2.975l2.963-4.934',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n d: 'M6.916 5.433a1.481 1.481 0 1 1-2.961.005 1.5 1.5 0 0 1 1.47-1.481 1.479 1.479 0 0 1 1.491 1.476',\n },\n child: [],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\n\nexport const AddText = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '21',\n height: '21',\n viewBox: '0 0 21 21',\n },\n\n child: [\n {\n tag: 'g',\n attr: {},\n child: [\n {\n tag: 'path',\n attr: {\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',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\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',\n },\n child: [],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\n\nexport const ProductColor = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '22.89',\n height: '24',\n viewBox: '0 0 22.89 24',\n },\n child: [\n {\n tag: 'defs',\n attr: {},\n child: [\n {\n tag: 'clipPath',\n attr: { id: 'a' },\n child: [\n {\n tag: 'path',\n attr: { d: 'M0 0h22.89v24H0z' },\n child: [],\n },\n ],\n },\n ],\n },\n {\n tag: 'g',\n attr: { 'clip-path': 'url(#a)' },\n child: [\n {\n tag: 'path',\n attr: {\n d: 'M8.012 5.076 4.663 1.753 6.55 0c1.111 1.168 2.3 2.454 3.526 3.7 2.646 2.684 5.318 5.342 7.969 8.02a3.693 3.693 0 0 1 .014 5.346q-2.907 2.949-5.856 5.857a3.608 3.608 0 0 1-5.014.051Q4.037 19.916.976 16.762a3.672 3.672 0 0 1 .2-5.185q3.09-3.021 6.208-6.012c.171-.166.377-.3.625-.489m-5.774 9.268H16.9l.143-.208L9.669 6.77c-2 1.567-7.19 6.816-7.435 7.573',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n d: 'M20.642 16.823c.711 1.4 1.485 2.775 2.109 4.214a2.16 2.16 0 0 1-.9 2.527 2.421 2.421 0 0 1-2.767 0 2.141 2.141 0 0 1-.885-2.523c.625-1.436 1.39-2.811 2.1-4.212h.347',\n },\n child: [],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\nexport const FlipH = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n width: '25.969',\n height: '22.478',\n viewBox: '0 0 25.969 22.478',\n ...props,\n },\n child: [\n {\n tag: 'defs',\n attr: {},\n child: [\n {\n tag: 'clipPath',\n attr: { id: 'a' },\n child: [\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 336',\n fill: '#353535',\n d: 'M0 0h25.969v22.478H0z',\n },\n child: [],\n },\n ],\n },\n ],\n },\n {\n tag: 'g',\n attr: {\n 'data-name': 'Group 577',\n 'clip-path': 'url(#a)',\n fill: '#353535',\n },\n child: [\n {\n tag: 'path',\n attr: {\n 'data-name': 'Path 4546',\n d: 'm25.969 3.647-10.359 8.46 10.359 8.632Z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Path 4547',\n d: 'M0 3.469v17.276l10.366-8.466L0 3.469m1.719 3.593 5.914 5.218-5.914 4.87Z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 329',\n d: 'M12.151 0h1.683v1.674h-1.683z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 330',\n d: 'M12.154 3.462h1.677v1.686h-1.677z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 331',\n d: 'M12.152 6.937h1.68v1.671h-1.68z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 332',\n d: 'M12.144 10.406h1.679v1.669h-1.679z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 333',\n d: 'M12.149 13.869h1.686v1.678h-1.686z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 334',\n d: 'M12.143 17.334h1.686v1.683h-1.686z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 335',\n d: 'M12.154 20.8h1.668v1.678h-1.668z',\n },\n child: [],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\n// https://www.svgviewer.dev/ use this website to compress and load the paths\n// source: https://raw.githubusercontent.com/alisamar/react-icons-all-files/master/ai/AiFillAccountBook.esm.js\nexport const FlipV = (props) => {\n return GenIcon({\n tag: 'svg',\n\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '22.48',\n height: '29.57.',\n viewBox: '9 9 22.48 25.97',\n },\n child: [\n {\n tag: 'defs',\n attr:{},\n child: [\n {\n tag: 'clipPath',\n attr: { id: 'a' },\n\n child: [\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 336',\n fill: '#353535',\n d: 'M0 0h25.969v22.478H0z',\n },\n child: [],\n },\n ],\n },\n ],\n },\n {\n tag: 'g',\n attr: { 'data-name': 'Group 773' },\n child: [\n {\n tag: 'g',\n attr: {\n 'data-name': 'Rectangle 337',\n fill: '#fff',\n stroke: '#ebebeb',\n },\n child: [\n {\n tag: 'path',\n attr: { d: 'M0 0h45v45H0z', stroke: 'none' },\n child: [],\n },\n {\n tag: 'path',\n attr: { fill: 'none', d: 'M.5.5h44v44H.5z' },\n child: [],\n },\n ],\n },\n {\n tag: 'g',\n attr: { 'data-name': 'Group 631' },\n child: [\n {\n tag: 'g',\n attr: {\n 'data-name': 'Group 577',\n 'clip-path': 'url(#a)',\n fill: '#353535',\n transform: 'rotate(90 12.239 21.239)',\n },\n child: [\n {\n tag: 'path',\n attr: {\n 'data-name': 'Path 4546',\n d: 'm0 3.647 10.359 8.46L0 20.74',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Path 4547',\n d: 'M25.969 3.469v17.276L15.603 12.28l10.366-8.811M24.25 7.062l-5.914 5.218 5.914 4.87',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 329',\n d: 'M12.135 0h1.683v1.674h-1.683z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 330',\n d: 'M12.138 3.462h1.677v1.686h-1.677z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 331',\n d: 'M12.136 6.937h1.68v1.671h-1.68z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 332',\n d: 'M12.146 10.406h1.679v1.669h-1.679z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 333',\n d: 'M12.134 13.869h1.686v1.678h-1.686z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 334',\n d: 'M12.14 17.334h1.686v1.683H12.14z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 335',\n d: 'M12.147 20.8h1.668v1.678h-1.668z',\n },\n child: [],\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\nexport const SelectAll = (props) => {\n return GenIcon({\n tag: 'svg',\n\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '18.641',\n height: '18.063',\n viewBox: '0 0 18.641 18.063',\n className: 'group',\n ...props,\n },\n child: [\n {\n tag: 'g',\n attr: { 'data-name': 'Group 1075' },\n child: [\n {\n tag: 'g',\n attr: {\n fill: 'none',\n stroke: '#5d5d5d',\n strokeWidth: '1',\n },\n child: [\n {\n tag: 'rect',\n attr: { width: '16', height: '16', rx: '4', stroke: 'none' },\n child: [],\n },\n {\n tag: 'rect',\n attr: {\n x: '.75',\n y: '.75',\n width: '14.5',\n height: '14.5',\n rx: '3.25',\n },\n child: [],\n },\n ],\n },\n {\n tag: 'path',\n attr: {\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',\n className: 'group-hover:fill-[#E11A38]',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\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',\n className: 'group-hover:fill-[#E11A38]',\n },\n child: [],\n },\n ],\n },\n ],\n })(props);\n};","import { GenIcon } from 'react-icons/lib';\n\nexport const Copy = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '18',\n height: '18',\n viewBox: '0 0 18 18',\n ...props,\n },\n child: [\n {\n tag: 'path',\n attr: {\n d: 'M13.98 4.1A.938.938 0 0 0 14 4a4 4 0 0 0-4-4H5a5.006 5.006 0 0 0-5 5v5a4 4 0 0 0 4 4 .93.93 0 0 0 .1-.02A5.007 5.007 0 0 0 9 18h4a5.006 5.006 0 0 0 5-5V9a5.007 5.007 0 0 0-4.02-4.9ZM4 9v3a2 2 0 0 1-2-2V5a3 3 0 0 1 3-3h5a2 2 0 0 1 2 2H9a5.006 5.006 0 0 0-5 5Zm12 4a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h4a3 3 0 0 1 3 3Z',\n },\n child: [],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\n\nexport const Paste = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '23.063',\n height: '23.063',\n viewBox: '0 0 23.063 23.063',\n ...props,\n },\n child: [\n {\n tag: 'g',\n attr: { 'data-name': 'Group 1076' },\n child: [\n {\n tag: 'path',\n attr: {\n d: 'M1197.621 519.516a1.2 1.2 0 0 0 .026-.127 5.13 5.13 0 0 0-5.125-5.125h-6.407a6.414 6.414 0 0 0-6.406 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.406v-5.125a6.415 6.415 0 0 0-5.151-6.279Zm-12.787 6.279v3.844a2.565 2.565 0 0 1-2.562-2.562v-6.407a3.848 3.848 0 0 1 3.843-3.843h6.406a2.565 2.565 0 0 1 2.563 2.563h-3.844a6.414 6.414 0 0 0-6.406 6.406Zm15.375 5.125a3.848 3.848 0 0 1-3.844 3.844h-5.125a3.848 3.848 0 0 1-3.844-3.844v-5.125a3.848 3.848 0 0 1 3.844-3.844h5.125a3.848 3.848 0 0 1 3.844 3.844Z',\n transform: 'translate(-1179.709 -514.264)',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Line 590',\n fill: 'none',\n 'stroke-linecap': 'round',\n 'stroke-width': '1.5',\n d: 'M1189.779 526.5h6',\n transform: 'translate(-1179.709 -514.264)',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Line 591',\n fill: 'none',\n 'stroke-linecap': 'round',\n 'stroke-width': '1.5',\n d: 'M1189.779 530.5h8',\n transform: 'translate(-1179.709 -514.264)',\n },\n child: [],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\n\nexport const SendToBack = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '26.551',\n height: '23.495',\n viewBox: '0 0 26.551 23.495',\n ...props,\n },\n child: [\n {\n tag: 'g',\n attr: { },\n child: [\n {\n tag: 'path',\n attr: {\n d: 'M17861.625-13909.535h14.069v14.069h-14.069Z',\n transform: 'translate(-17856.939 13913.36)',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 387',\n fill: 'none',\n 'stroke-miterlimit': '10',\n 'stroke-width': '2',\n d: 'M17857.939-13912.36h10.72v7.664h-10.72z',\n transform: 'translate(-17856.939 13913.36)',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 388',\n fill: 'none',\n 'stroke-miterlimit': '10',\n 'stroke-width': '2',\n d: 'M17871.771-13898.529h10.72v7.664h-10.72z',\n transform: 'translate(-17856.939 13913.36)',\n },\n child: [],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\n\nexport const SendToFront = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '26.551',\n height: '23.495',\n viewBox: '0 0 26.551 23.495',\n ...props,\n },\n child: [\n {\n tag: 'g',\n attr: { },\n child: [\n {\n tag: 'g',\n attr: { },\n child: [\n {\n tag: 'g',\n attr: { },\n child: [\n {\n tag: 'g',\n attr: {\n fill: 'none',\n 'stroke-miterlimit': '10',\n 'stroke-width': '2',\n },\n child: [\n {\n tag: 'path',\n attr: {\n d: 'M1.001.999h10.72v7.664H1.001z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n d: 'M14.833 14.831h10.72v7.664h-10.72z',\n },\n child: [],\n },\n ],\n },\n ],\n },\n {\n tag: 'path',\n attr: {\n d: 'M4.686 4.496h14.069v14.069H4.686z',\n },\n child: [],\n },\n ],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\nexport const SendAObject = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '23.098',\n height: '22.48',\n viewBox: '0 0 23.098 22.48',\n ...props,\n },\n child: [\n {\n tag: 'g',\n attr: {},\n child: [\n {\n tag: 'g',\n attr: { 'data-name': 'Group 642' },\n child: [\n {\n tag: 'g',\n attr: { 'data-name': 'Group 643' },\n child: [\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 383',\n fill: 'none',\n 'stroke-miterlimit': '10',\n 'stroke-width': '2',\n d: 'M1 1h16v16H1z',\n },\n child: [],\n },\n ],\n },\n ],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 385',\n d: 'M7.097 6.481h16v16h-16z',\n },\n child: [],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\nexport const SendUnderObject = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '23.098',\n height: '22.48',\n viewBox: '0 0 23.098 22.48',\n ...props,\n },\n child: [\n {\n tag: 'g',\n attr: {},\n child: [\n {\n tag: 'path',\n attr: {\n d: 'M7.097 6.481h16v16h-16',\n },\n child: [],\n },\n {\n tag: 'g',\n attr: {},\n child: [\n {\n tag: 'g',\n attr: {},\n child: [\n {\n tag: 'path',\n attr: {\n fill: 'none',\n 'stroke-miterlimit': '10',\n 'stroke-width': '2',\n d: 'M1 1h16v16H1z',\n },\n child: [],\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\n\nexport const EyeDropper = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '21.595',\n height: '21.61',\n viewBox: '0 0 21.595 21.61',\n },\n child: [\n {\n tag: 'defs',\n attr: {},\n child: [\n {\n tag: 'clipPath',\n attr: { id: 'a' },\n child: [\n {\n tag: 'path',\n attr: { d: 'M0 0h21.595v21.61H0z' },\n child: [],\n },\n ],\n },\n ],\n },\n {\n tag: 'g',\n attr: { 'clip-path': 'url(#a)' },\n child: [\n {\n tag: 'path',\n attr: {\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',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\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',\n },\n child: [],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\nexport const Delete = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n id: 'ICONS',\n xmlns: 'http://www.w3.org/2000/svg',\n width: '18',\n height: '18',\n viewBox: '0 0 18 18',\n ...props,\n },\n child: [\n {\n tag: 'path',\n attr: {\n id: 'Path_3953',\n 'data-name': 'Path 3953',\n d: 'M7,8A1,1,0,0,0,6,9v4a1,1,0,0,0,2,0V9A1,1,0,0,0,7,8Z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n id: 'Path_3954',\n 'data-name': 'Path 3954',\n d: 'M11,8a1,1,0,0,0-1,1v4a1,1,0,0,0,2,0V9a1,1,0,0,0-1-1Z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n id: 'Path_3955',\n 'data-name': 'Path 3955',\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',\n },\n child: [],\n },\n ],\n })(props);\n};\n","import React from 'react';\nimport { use3dddPlus } from '../../store';\nimport { CANVAS_MENU_TEXT } from '../../theme';\nimport { Copy, Delete, IconButton, SelectAll } from '../icon';\nimport { MdLayers } from 'react-icons/md';\nimport { shallow } from 'zustand/shallow';\nimport { fabric } from 'fabric';\nimport { CgRedo, CgUndo } from 'react-icons/cg';\nconst ActionButtons = () => {\n const [canvas, activeSelection] = use3dddPlus(\n (state) => [state.fabricCanvas, state.activeSelection],\n shallow\n );\n const selectAllHandler = () => {\n canvas.discardActiveObject();\n const sel = new fabric.ActiveSelection(canvas.getObjects(), {\n canvas: canvas,\n });\n canvas.setActiveObject(sel);\n canvas.requestRenderAll();\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.setState({ selectedAll: true });\n use3dddPlus.setState({ currentSelection: 'selectAll' });\n const fillColors = {};\n use3dddPlus.setState({ colorFill: fillColors });\n };\n const deleteHandler = () => {\n canvas.remove(activeSelection);\n use3dddPlus.getState().updateModifaction(true);\n canvas.requestRenderAll();\n use3dddPlus.setState({ selectedAll: false });\n removeItem(activeSelection);\n };\n const removeItem = (value: any) => {\n //@ts-ignore\n var index = use3dddPlus.getState().storeAllObject.indexOf(value);\n if (index > -1) {\n use3dddPlus.getState().storeAllObject.splice(index, 1);\n }\n use3dddPlus.setState({\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\n });\n };\n const canvasActions = [\n {\n icon: <SelectAll />,\n onClick: selectAllHandler,\n id: 'select-action',\n label: 'Select all',\n disabled: false,\n visible: true,\n },\n {\n icon: <Copy />,\n onClick: () => {\n use3dddPlus.getState().duplicateObject();\n },\n id: 'duplicate-action',\n label: 'Duplicate',\n disabled: false,\n visible: true,\n },\n {\n icon: <MdLayers />,\n onClick: () => {\n use3dddPlus.setState({ currentSelection: 'layer' });\n },\n id: 'layes-action',\n label: 'Layers',\n disabled: false,\n visible: true,\n },\n {\n icon: <Delete />,\n onClick: deleteHandler,\n id: 'delete-action',\n label: 'Delete',\n disabled: false,\n visible: true,\n },\n {\n icon: <CgUndo />,\n onClick: () => {\n use3dddPlus.getState().undo();\n },\n id: 'undo-action',\n label: 'Undo',\n disabled: false,\n visible: true,\n },\n {\n icon: <CgRedo />,\n onClick: () => {\n use3dddPlus.getState().redo();\n },\n id: 'redo-action',\n label: 'Redo',\n disabled: false,\n visible: true,\n },\n ];\n\n return (\n <>\n <div className=\"w-100 flex absolute top-0 right-0 px-3 items-center z-10\">\n <div className={`flex py-[16px]`}>\n {canvasActions.map(\n (item) =>\n item?.visible && (\n <div\n key={item.id}\n className={`${\n item.disabled\n ? 'disableButton'\n : `${CANVAS_MENU_TEXT} cursor-pointer hover:text-[#e11a38] hover:underline hover:underline-offset-4 hover:decoration-2`\n } flex gap-[5px] items-center pt-[2.5px] font-bold uppercase mr-[10px] lg:mr-[30px] md-[20px] `}\n onClick={item.onClick}\n >\n <span>\n <IconButton\n label=\"\"\n icon={item.icon}\n className={`${\n item.disabled\n ? 'iconDisable'\n : 'pointer-events-auto cursor-pointer'\n } m-auto`}\n size=\"1.125rem\"\n ></IconButton>\n </span>\n </div>\n )\n )}\n </div>\n </div>\n </>\n );\n};\n\nexport default ActionButtons;\n","import { fabric } from 'fabric';\n//@ts-ignore\n// import deleteIcon from '../../assets/images/delete.png';\n// //@ts-ignore\n// import rotateIcon from '../../assets/images/rotate.png';\n// //@ts-ignore\n// import settingIcon from '../../assets/images/settings.png';\nimport { use3dddPlus } from '..';\n\nexport const initCanvas = () => {\n const onObjectSelected = (e) => {\n if (e?.selected?.[0]?.colorFill) {\n use3dddPlus.setState({ colorFill: e.selected[0].colorFill });\n }\n use3dddPlus.setState({\n currentSelection: canv.getActiveObject().get('type'),\n });\n use3dddPlus.setState({ activeSelection: canv.getActiveObject() });\n getAllColors();\n };\n const onObjectDeselected = () => {\n use3dddPlus.setState({ currentSelection: 'none' });\n use3dddPlus.setState({ showContextMenu: false });\n getAllColors();\n };\n const onObjectUpdated = (e) => {\n // use3dddPlus.setState({colorFill : \"\"})\n if (e?.selected?.[0]?.colorFill) {\n use3dddPlus.setState({ colorFill: e.selected[0].colorFill });\n }\n use3dddPlus.setState({\n currentSelection: canv.getActiveObject().get('type'),\n });\n use3dddPlus.setState({ activeSelection: e.selected[0] });\n use3dddPlus.setState({ textInfo: e.selected[0].text });\n use3dddPlus.setState({ showContextMenu: false });\n getAllColors();\n };\n const onObjectMoving = (e : any) => {\n use3dddPlus.getState().updateModifaction(false); \n const obj = e.target;\n if(obj.getBoundingRect().width > obj.canvas.height || obj.getBoundingRect().height > obj.canvas.width){\n return;\n } \n obj.setCoords(); \n if(obj.getBoundingRect().top < 0 || obj.getBoundingRect().left < 0){\n obj.top = Math.max(obj.top, obj.top-obj.getBoundingRect().top);\n obj.left = Math.max(obj.left, obj.left-obj.getBoundingRect().left);\n }\n if(obj.getBoundingRect().top+obj.getBoundingRect().height > obj.canvas.height || obj.getBoundingRect().left+obj.getBoundingRect().width > obj.canvas.width){\n obj.top = Math.min(obj.top, obj.canvas.height-obj.getBoundingRect().height+obj.top-obj.getBoundingRect().top);\n obj.left = Math.min(obj.left, obj.canvas.width-obj.getBoundingRect().width+obj.left-obj.getBoundingRect().left);\n }\n }\n \n const canv = new fabric.Canvas('canvas', {\n centeredScaling: true,\n preserveObjectStacking: true,\n backgroundColor: '#ffff00',\n stopContextMenu: false,\n });\n // console.log('HISTORY-->',historyInit());\n let deleteImg = document.createElement('img');\n deleteImg.src =\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/delete.png';\n let rotateImg = document.createElement('img');\n rotateImg.src =\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/rotate.png';\n let settingImg = document.createElement('img');\n settingImg.src =\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/settings.png';\n fabric.Object.prototype.objectCaching = true;\n fabric.Object.prototype.transparentCorners = false;\n fabric.Object.prototype.cornerColor = '#14caf7';\n fabric.Object.prototype.cornerStrokeColor = '#045791';\n fabric.Object.prototype.borderColor = '#14caf7';\n fabric.Object.prototype.cornerSize = 16;\n // fabric.Object.prototype.padding = 10;\n fabric.Object.prototype.cornerStyle = 'circle';\n fabric.Object.prototype.borderDashArray = [5, 5];\n\n function renderIcon(icon) {\n return function renderIcon(ctx, left, top, fabricObject) {\n var size = this.cornerSize;\n ctx.save();\n ctx.translate(left, top);\n ctx.rotate(fabric.util.degreesToRadians(fabricObject.angle));\n ctx.drawImage(icon, -size / 2, -size / 2, size, size);\n ctx.restore();\n };\n }\n\n fabric.Object.prototype.controls.deleteControl = new fabric.Control({\n x: 0.53,\n y: -0.53,\n offsetY: -16,\n offsetX: 16,\n cursorStyle: 'pointer',\n //@ts-ignore\n mouseUpHandler: deleteObject,\n render: renderIcon(deleteImg),\n cornerSize: 28,\n });\n fabric.Object.prototype.controls.settingControl = new fabric.Control({\n x: -0.53,\n y: -0.53,\n offsetY: -16,\n offsetX: -16,\n cursorStyle: 'pointer',\n //@ts-ignore\n mouseUpHandler: function (e) {\n use3dddPlus.setState({\n showContextMenu: true,\n });\n\n const rect = canv.getElement().getBoundingClientRect();\n const x = e.clientX - rect.left;\n const y = e.clientY - rect.top;\n // You can add your context menu rendering logic here\n // Example: Render a simple alert with the coordinates\n use3dddPlus.setState({ contextMenuCoordinates: { x: x, y: y } });\n // alert(`Context menu clicked at (${x}, ${y})`);\n },\n render: renderIcon(settingImg),\n cornerSize: 28,\n });\n //@ts-ignore\n function deleteObject(eventData, transform) {\n const canvasTarget = transform.target;\n const canvas = canvasTarget.canvas;\n if (use3dddPlus.getState().selectedAll) {\n const target = transform.target._objects;\n target.forEach((element) => {\n canvas.remove(element);\n canvas.requestRenderAll();\n removeItem(element);\n });\n use3dddPlus.setState({ selectedAll: false });\n canvas.discardActiveObject().renderAll();\n } else {\n canvas.remove(canvasTarget);\n canvas.requestRenderAll();\n removeItem(canvasTarget);\n }\n }\n const removeItem = (value: any) => {\n //@ts-ignore\n var index = use3dddPlus.getState().storeAllObject.indexOf(value);\n if (index > -1) {\n use3dddPlus.getState().storeAllObject.splice(index, 1);\n }\n use3dddPlus.setState({\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\n });\n };\n\n fabric.Object.prototype.controls.mtr = new fabric.Control({\n x: 0,\n y: -0.5,\n offsetY: -40,\n cursorStyle: 'crosshair',\n //@ts-ignore\n actionHandler: fabric?.controlsUtils.rotationWithSnapping,\n actionName: 'rotate',\n // mouseover:function hover(eventData,transform){\n // let target = transform.target;\n // console.log('TARGET-->',target);\n // },\n render: function renderIcon(ctx, left, top, fabricObject) {\n var size = this.cornerSize;\n ctx.save();\n ctx.translate(left, top);\n ctx.rotate(fabric.util.degreesToRadians(fabricObject.angle));\n ctx.drawImage(rotateImg, -size / 2, -size / 2, size, size);\n ctx.restore();\n },\n //@ts-ignore\n cornerSize: 28,\n withConnection: true,\n });\n const getAllColors = () => {\n if (!canv?.getObjects()) {\n return;\n }\n const allColor = [\n //@ts-ignore\n ...new Set(\n canv\n ?.getObjects()\n ?.map((item) => Object.values(item['colorFill']))\n .flat()\n ),\n ]; // FOR REMOVING ALL DUPLICATE COLOR CODES\n // const allColor =[];\n use3dddPlus.setState({ allColor: allColor });\n };\n canv.on('after:render', getAllColors);\n canv.on('selection:created', onObjectSelected);\n canv.on('selection:cleared', onObjectDeselected);\n canv.on('selection:updated', onObjectUpdated);\n canv.on('object:moving', onObjectMoving);\n canv.on('object:modified',function(){\n use3dddPlus.getState().updateModifaction(true);\n })\n return canv;\n};\n","import React from 'react';\nimport { use3dddPlus } from '../../store';\nimport { shallow } from 'zustand/shallow';\nimport {\n Copy,\n IconButton,\n Paste,\n SendAObject,\n SendToBack,\n SendToFront,\n SendUnderObject,\n} from '../icon';\n\n\nexport const ContextMenu = () => {\n const [activeObj, canvas] = use3dddPlus(\n (state) => [state.activeSelection, state.fabricCanvas],\n shallow\n );\n\n // const flipX = () => {\n // activeObj.set({\n // flipX: !activeObj.flipX,\n // });\n // use3dddPlus.getState().updateModifaction(true);\n // canvas.renderAll();\n // use3dddPlus.setState({\n // showContextMenu: false,\n // });\n // };\n // const flipY = () => {\n // activeObj.set({\n // flipY: !activeObj.flipY,\n // });\n // use3dddPlus.getState().updateModifaction(true);\n // // activeObj.\n // canvas.renderAll();\n // use3dddPlus.setState({\n // showContextMenu: false,\n // });\n // };\n const sendBackwards = () => {\n canvas.sendBackwards(activeObj);\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.setState({\n showContextMenu: false,\n });\n };\n const bringForward = () => {\n canvas.bringForward(activeObj);\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.setState({\n showContextMenu: false,\n });\n };\n const sendToBack = () => {\n console.log('hiii');\n canvas.sendToBack(activeObj);\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.setState({\n showContextMenu: false,\n });\n };\n const bringToFront = () => {\n canvas.bringToFront(activeObj);\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.setState({\n showContextMenu: false,\n });\n };\n // const snapToCenter = () => {\n // activeObj.set({\n // left: canvas.width / 2,\n // originX: 'center',\n // });\n // use3dddPlus.getState().updateModifaction(true);\n // canvas.renderAll();\n // use3dddPlus.setState({\n // showContextMenu: false,\n // });\n // };\n const copy = () => {\n use3dddPlus.getState().duplicateObject();\n use3dddPlus.setState({\n showContextMenu: false,\n });\n };\n const menu = [\n {\n id: 1,\n name: 'Copy',\n onclick: copy,\n icon: <Copy />,\n },\n {\n id: 2,\n name: 'Paste',\n onclick: copy,\n icon: <Paste />,\n },\n {\n id: 3,\n name: 'Bring to front',\n onclick: bringForward,\n icon: <SendToFront />,\n },\n {\n id: 4,\n name: 'Send to back',\n onclick: sendBackwards,\n icon: <SendToBack />,\n },\n {\n id: 5,\n name: 'Bring above objects',\n onclick: bringToFront,\n icon: <SendAObject />,\n },\n {\n id: 6,\n name: 'Send under objects',\n onclick: sendToBack,\n icon: <SendUnderObject />,\n },\n // {\n // id: 7,\n // name: 'Flip Horizontal - Left/right horizontal',\n // onclick: flipX,\n // icon: <FlipH />,\n // },\n // {\n // id: 8,\n // name: 'Flip Vertical- Left/right vertical',\n // onclick: flipY,\n // icon: <FlipV />,\n // },\n // {\n // id: 9,\n // name: 'Snap to center',\n // onclick: snapToCenter,\n // icon: '',\n // },\n ];\n return (\n <ul>\n {menu.map((item, index) => {\n return (\n <li\n className=\"flex cursor-pointer hover:text-[#e11a38] border border-b-[1px] border-[#EBEBEB] px-[30px] py-[14px] \"\n onClick={item.onclick}\n key={index}\n >\n <span>\n <IconButton\n label=\"\"\n icon={item.icon}\n className=\"pointer-events-auto cursor-pointer m-auto\"\n size=\"1.125rem\"\n ></IconButton>\n </span>\n <span className=\" pl-[20px] text-sm font-bold uppercase\">\n {item.name}\n </span>\n </li>\n );\n })}\n </ul>\n );\n};\n","import React, { useRef } from 'react';\nimport './canvas.css';\nimport { use3dddPlus } from '../../store';\nimport ActionButtons from './canvasButtons'; //Importing Action button component which is displaying buttons\nimport { initCanvas } from '../../store/fabric/fabricCanvas';\nimport { shallow } from 'zustand/shallow';\nimport { ContextMenu } from '../contextMenu';\n\nconst canvas = () => {\n const [contextMenuCoordinates, showContextMenu] = use3dddPlus(\n (state) => [state.contextMenuCoordinates, state.showContextMenu],\n shallow\n );\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n const resizeCanvas = () => {\n const canvas = use3dddPlus.getState().fabricCanvas;\n const outerCanvasContainer =\n document.getElementById('fabCanvas').parentElement;\n const containerWidth = outerCanvasContainer.clientWidth;\n const scale = containerWidth / canvas.getWidth();\n const zoom = canvas.getZoom() * scale;\n canvas.setWidth(containerWidth);\n //@ts-ignore\n canvas.setHeight(parseInt(outerCanvasContainer.clientHeight));\n console.log('--->', canvas.getHeight(), canvas.getHeight());\n canvas.setViewportTransform([zoom, 0, 0, zoom, 0, 0]);\n canvas.renderAll();\n };\n React.useEffect(() => {\n const canv = initCanvas();\n use3dddPlus.setState({ fabricCanvas: canv });\n resizeCanvas();\n window.addEventListener('resize', resizeCanvas);\n }, []);\n\n return (\n <div className=\" w-full h-full relative\">\n <ActionButtons />\n <div id=\"fabCanvas\">\n <canvas ref={canvasRef} id=\"canvas\"></canvas>\n {showContextMenu && (\n <div\n style={{\n position: 'absolute',\n zIndex: 1000,\n left: contextMenuCoordinates.x,\n top: contextMenuCoordinates.y,\n backgroundColor: 'white',\n border: '1px solid #ccc',\n boxShadow: '2px 2px 5px rgba(0,0,0,0.5)',\n }}\n onBlur={() => {\n use3dddPlus.setState({ showContextMenu: false });\n }}\n >\n <ContextMenu />\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default canvas;\n","import React from 'react';\n\nexport interface CardProps {\n cardClass?: string;\n children?: React.ReactNode;\n onClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n style?: React.CSSProperties;\n key?:string\n \n}\n\nexport const Card = ({ cardClass,children, onClick,style,key }: CardProps) => {\n return (\n <>\n <div\n className={`card bg-base-100 relative ${cardClass}`}\n onClick={onClick}\n style={style}\n key={ key}\n >\n {children}\n </div>\n </>\n );\n};","import React from 'react';\n\nexport interface CardBodyProps {\n bodyClass?: string;\n children?: React.ReactNode;\n}\nexport const CardBody = ({ bodyClass, children }: CardBodyProps) => {\n return (\n <>\n <div className={`card-body items-center text-center ${bodyClass}`}>\n {children}\n </div>\n </>\n );\n};\n","import React from 'react';\nimport { TEXT_SIZE_2 } from '../../theme';\nimport { IoMdCheckmarkCircle, IconButton } from '../icon';\n\nexport interface CardCheckMarkProps {\n checkMarkClass?: string;\n size?: any;\n}\nexport const CardCheckMark = ({ checkMarkClass, size }: CardCheckMarkProps) => {\n return (\n <>\n <div\n className={`absolute top-1/2 left-2/4 ${TEXT_SIZE_2} ${checkMarkClass}`}\n style={{ transform: 'translate(-50%, -50%)' }}\n >\n <IconButton\n label={''}\n icon={<IoMdCheckmarkCircle />}\n className={`pointer-events-auto cursor-pointer`}\n size={size}\n ></IconButton>\n </div>\n </>\n );\n};\n","import React from 'react';\nimport { HiOutlineDownload, IconButton } from '../icon';\n\nexport interface CardDownIconProps {\n downloadClass?: string;\n downloadIconClass?: string;\n iconClass?: string;\n pdfUrl?: string;\n}\nexport const CardDownloadIcon = ({\n downloadClass,\n downloadIconClass,\n iconClass,\n pdfUrl,\n}: CardDownIconProps) => {\n return (\n <>\n <a\n href={pdfUrl}\n download={'Design Sheet'}\n target=\"_blank\"\n className={`flex items-center gap-[0.4375rem] ${downloadIconClass}`}\n >\n <IconButton\n label={''}\n icon={<HiOutlineDownload />}\n className={`pointer-events-auto cursor-pointer ${iconClass}`}\n size=\"1rem\"\n ></IconButton>\n\n <span className={`${downloadClass}`}>VIEW DESIGN SHEET</span>\n </a>\n </>\n );\n};\n","import React from 'react';\n\nexport interface CardFlagProps {\n flag?: string;\n flagClass?: string;\n}\nexport const CardFlag = ({ flag, flagClass }: CardFlagProps) => {\n return (\n <>\n <div className={`absolute top-0 left-0 ${flagClass}`}>{flag}</div>\n </>\n );\n};\n","import React from 'react';\nimport './card.css';\n\nexport interface CardMediaProps {\n alt?: string;\n imageClass?: string;\n src?: string;\n}\nexport const CardMedia = ({ alt, imageClass, src }: CardMediaProps) => {\n return (\n <>\n <div\n role=\"img\"\n aria-label={alt}\n className={`cardImage ${imageClass}`}\n style={{ backgroundImage: `url('${src}')` }}\n ></div>\n </>\n );\n};","import React from 'react';\nimport { TAG_TEXT_COLOR } from '../../theme';\nexport interface CardTagsProps {\n children?: React.ReactNode;\n tagsClass?: string;\n}\nexport const CardTags = ({ children, tagsClass }: CardTagsProps) => {\n return (\n <>\n <div\n className={`${tagsClass} flex capitalize rounded px-[11px] py-[5px] text-center items-center align-baseline ${TAG_TEXT_COLOR} font-normal`}\n >\n {children}\n </div>\n </>\n );\n};\n","import React from 'react';\nexport interface CardTitleProps {\n name?: string;\n titleClass?: string;\n}\nexport const CardTitle = ({ name, titleClass }: CardTitleProps) => {\n return (\n <>\n <p className={`card-title ${titleClass}`}>{name}</p>\n </>\n );\n};\n","import React from 'react';\n\nexport interface CardDescProps {\n children?: React.ReactNode;\n descriptionClass?: string;\n}\nexport const CardDescription = ({ children, descriptionClass }: CardDescProps) => {\n return (\n <>\n <p className={`${descriptionClass}`}>{children}</p>\n </>\n );\n};\n","import React, { useRef, useState } from 'react';\nimport { MdOutlineFileUpload } from 'react-icons/md';\nimport { IconButton } from '../icon';\ninterface FileUploadButtonProps {\n onFileSelect: (file: File) => void;\n}\n\nconst FileUploadButton: React.FC<FileUploadButtonProps> = ({\n onFileSelect,\n}) => {\n const fileInputRef = useRef<HTMLInputElement>(null);\n const [isDragging, setIsDragging] = useState(false);\n\n const handleFileSelect = (event: React.ChangeEvent<HTMLInputElement>) => {\n const selectedFile = event.target.files?.[0];\n\n if (selectedFile) {\n onFileSelect(selectedFile);\n }\n };\n\n const handleDragEnter = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setIsDragging(true);\n };\n\n const handleDragLeave = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setIsDragging(false);\n };\n\n const handleDrop = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setIsDragging(false);\n\n const droppedFile = event.dataTransfer.files[0];\n if (droppedFile) {\n onFileSelect(droppedFile);\n }\n };\n\n return (\n <>\n <div\n className={`flex items-center justify-center w-full relative h-full ${\n isDragging ? 'dragging' : ''\n }`}\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={(event) => event.preventDefault()}\n onDrop={handleDrop}\n >\n <label\n htmlFor=\"file-upload\"\n className=\"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\"\n >\n <div className=\" text-center flex flex-col gap-[8px]\">\n <IconButton\n label=\"\"\n icon={<MdOutlineFileUpload />}\n className={\n 'pointer-events-auto cursor-pointer m-auto text-[#E11A38] bg-[#FCE8EB] p-[16px] h-[unset] !rounded-full'\n }\n size=\"1.125rem\"\n ></IconButton>\n <div className=\"text-[#5D5D5D] text-base font-bold\">\n Drag Files To Upload\n </div>\n <div className=\"text-[#5D5D5D] text-base font-bold\">Or</div>\n </div>\n <div>\n {' '}\n <button\n onClick={() => fileInputRef.current?.click()}\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]\"\n >\n BROWSE FILE\n </button>\n </div>\n\n <div className=\" text-center text-[#727272] text-sm\">\n <p>Max file size: 25M</p>\n <p>Supported files types: JPG, JPEG, PNG, GIF, EPS, PDF, SVG, AI</p>\n </div>\n <input\n id=\"file-upload\"\n ref={fileInputRef}\n type=\"file\"\n onChange={handleFileSelect}\n className=\"hidden\"\n accept=\"image/png, image/jpeg , image/gif , image/svg+xml , .eps , .ai , .pdf\"\n />\n </label>\n </div>{' '}\n </>\n );\n};\n\nexport default FileUploadButton;\n","import React, { useState } from 'react';\nimport { TEXT_SIZE_9 } from '../../theme';\nimport './colorPalette.css';\n\nexport interface ColorPaletteProps {\n previousColor?: string[];\n previousClass?: string;\n mainIndex?: any;\n handleColorChange?: any;\n mainClass?: string;\n index?: any;\n boxWidth?: number;\n gap?: number;\n}\n\nexport const ColorPalette = ({\n previousColor,\n previousClass = '',\n mainIndex = '',\n handleColorChange,\n mainClass = '',\n\n}: ColorPaletteProps) => {\n const [selectColor, setSelectColor] = useState(null);\n const colorList = [\n 'transparent',\n '#FF0000', // Red\n '#00FF00', // Green\n '#0000FF', // Blue\n '#FFFF00', // Yellow\n '#800080', // Purple\n '#FFA500', // Orange\n '#FFC0CB', // Pink\n '#008080', // Teal\n '#A52A2A', // Brown\n '#808080', // Gray\n '#000000', // Black\n '#FFFFFF', // White\n ];\n const handleColorClick = (color, index) => {\n setSelectColor(color);\n handleColorChange(color, index);\n };\n\n return (\n <>\n <div\n className={`${mainClass} z-10 max-h-[15.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`}\n >\n {colorList?.length > 0 && (\n <>\n <p\n className={`${TEXT_SIZE_9} leading-[1.125rem] font-bold pb-[1.125rem] text-left`}\n >\n Choose color\n </p>\n <div\n className={`flex flex-wrap gap-x-[0.8125rem] gap-y-[0.3125rem] pb-[2.0938rem] max-h-[3.75rem] overflow-y-auto`}\n >\n {colorList?.map((color, index) => (\n <ColorBox\n color={color}\n index={index}\n onClick={() => handleColorClick(color, mainIndex)}\n boxClass={`w-[1.875rem] h-[1.875rem] ${\n selectColor === color ? 'border border-[red]' : ''\n }`}\n />\n ))}\n </div>\n </>\n )}\n {previousColor?.length > 0 && (\n <>\n <div\n className={`flex flex-row gap-x-[0.875rem] pt-[1.3438rem] border-t border-t-[#EBEBEB]`}\n >\n <p\n className={`${TEXT_SIZE_9} leading-[1.125rem] font-bold pb-[1.125rem]`}\n >\n Previously used\n </p>\n <div\n className={`flex flex-wrap gap-x-[0.8125rem] gap-y-[0.3125rem] border-b border-b-[#EBEBEB] ${previousClass}`}\n >\n {previousColor?.map((color, index) => (\n <ColorBox\n color={color}\n index={'previous' + index}\n onClick={() =>\n handleColorClick(color, mainIndex + 'Choose' + index)\n }\n boxClass={`w-[1.875rem] h-[1.875rem] ${\n selectColor === color ? 'border border-[red]' : ''\n }`}\n />\n ))}\n </div>\n </div>\n </>\n )}\n </div>\n </>\n );\n};\n\nexport interface BoxColorProps {\n color?: string;\n index?: any;\n boxClass?: string;\n onClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n onChange?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n children?: React.ReactNode;\n}\n\nexport const ColorBox = ({\n color,\n index,\n boxClass = '',\n onClick,\n onChange,\n children,\n}: BoxColorProps) => {\n return (\n <div\n key={index}\n style={{ backgroundColor: color }}\n className={`w-10 h-10 border border-[#D6D6D6] ${boxClass}`}\n onClick={onClick}\n onChange={onChange}\n >\n {children}\n </div>\n );\n};\n","import React, { useState } from 'react';\n// import { ChromePicker } from 'react-color';\nimport { ColorPalette } from './colorPalette';\n\nexport const ColorImpl = (props) => {\n const [displayPallet, setdisplayPallet] = useState(false);\n const [, setColor] = useState(props.color);\n\n const handleColorClick = (color: string) => {\n console.log(color);\n setColor(color);\n props.handleChange(props.property, color);\n };\n return (\n <>\n <div className=\"\">\n <div\n className={`border border-gray-600 w-[30px] h-[30px] group `}\n style={{ background: props.color }}\n onClick={() => {\n setdisplayPallet((prev) => !prev);\n }}\n onBlur={() => setdisplayPallet(false)}\n >\n {displayPallet && (\n <ColorPalette\n mainClass={`left-0 ${props.mClass}`}\n handleColorChange={handleColorClick}\n />\n // <div\n // className=\"absolute\"\n // style={{ zIndex: '100' }}\n // tabIndex={0}\n // onBlur={() => setdisplayPallet(false)}\n // >\n // <ChromePicker\n // color={color.hex}\n // onChangeComplete={onChangeComplete}\n // onChange={onChangeComplete}\n // disableAlpha={true}\n // />\n // <hr />\n // </div>\n )}\n </div>\n </div>\n </>\n );\n};\n","import { fabric } from 'fabric';\n\nexport const Initpopup = () => {\n const onObjectSelected = () => {\n if (!popupcanvas.getActiveObject()) {\n return;\n }\n if (popupcanvas.getActiveObject().type !== 'group') {\n return;\n }\n //@ts-ignore\n popupcanvas.getActiveObject().toActiveSelection();\n popupcanvas.requestRenderAll();\n };\n const cursorUrl =\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/eyedropper.svg';\n\n const popupcanvas = new fabric.Canvas('popupCanvas', {\n centeredScaling: true,\n preserveObjectStacking: true,\n backgroundColor: '#F7F7F7',\n defaultCursor: `url(\" ${cursorUrl} \"), auto`,\n hoverCursor: `url(\" ${cursorUrl} \"), auto`,\n });\n\n popupcanvas.on('selection:created', onObjectSelected);\n return popupcanvas;\n};\n","import React, { useEffect, useState } from 'react';\nimport { use3dddPlus } from '../../store';\nimport { shallow } from 'zustand/shallow';\nimport { fabric } from 'fabric';\nimport { ColorImpl } from '../colorPallet';\nimport { Initpopup } from '../../store/fabric/Popupcanvas';\nimport { CgArrowRight } from 'react-icons/cg';\nimport { EyeDropper, IconButton } from '../icon';\nimport { GiDrop } from 'react-icons/gi';\nimport { MdOutlineCancel } from 'react-icons/md';\n// import { Button } from 'reakit';\nexport const PopUpCanvas = () => {\n const [popupCanvas, canvas, colorFill, changeSVGColor] = use3dddPlus(\n (state) => [\n state.popupCanv,\n state.fabricCanvas,\n state.colorFill,\n state.changeSVGColor,\n ],\n shallow\n );\n const [colorCount, setColorCount] = useState(3);\n\n // const colors = [\n // 'red',\n // 'green',\n // 'blue',\n // 'yellow',\n // 'purple',\n // 'indigo',\n // 'orange',\n // 'light green',\n // ];\n // const selectedColors = colors.slice(0, colorCount);\n const handleColorCountChange = (e) => {\n setColorCount(Number(e.target.value));\n };\n const resizeCanvas = () => {\n const canvas = use3dddPlus.getState().popupCanv;\n const outerCanvasContainer =\n document.getElementById('imageCanvas').parentElement;\n console.log(outerCanvasContainer);\n const containerWidth = outerCanvasContainer.clientWidth;\n const scale = containerWidth / canvas.getWidth();\n const zoom = canvas.getZoom() * scale;\n canvas.setWidth(containerWidth);\n //@ts-ignore\n canvas.setHeight(parseInt(outerCanvasContainer.clientHeight));\n canvas.setViewportTransform([zoom, 0, 0, zoom, 0, 0]);\n canvas.renderAll();\n };\n useEffect(() => {\n const popupCanv = Initpopup();\n use3dddPlus.setState({ popupCanv: popupCanv });\n resizeCanvas();\n window.addEventListener('resize', resizeCanvas);\n //FOR REMOVING COLOR\n\n popupCanv.on('mouse:down', function (event) {\n popupCanv.discardActiveObject();\n var mouseClick = popupCanv.getPointer(event.e);\n // console.log('MOUSE-CLICK-->',mouseClick);\n // Iterate through objects on the canvas and check if any intersect with the mouse click\n popupCanv.forEachObject(function (obj) {\n if (obj.type === 'path') {\n //@ts-ignore\n if (obj.containsPoint(mouseClick)) {\n popupCanv.remove(obj);\n popupCanv.renderAll();\n }\n }\n });\n });\n }, []);\n const popupCanvasCancel = () => {\n use3dddPlus.setState({ uploadImageModalDisplay: false });\n console.log(popupCanvas.getObjects()[0]);\n popupCanvas.remove(...popupCanvas.getObjects());\n };\n const popupCanvasContinue = () => {\n //@ts-ignore\n use3dddPlus.setState({ uploadImageModalDisplay: false });\n use3dddPlus.setState({ selectedStepper: undefined });\n const sel = new fabric.ActiveSelection(popupCanvas.getObjects(), {\n //@ts-ignore\n popupCanvas: popupCanvas,\n });\n popupCanvas.setActiveObject(sel);\n // popupCanvas.remove(...popupCanvas.getObjects());\n\n popupCanvas.requestRenderAll();\n let clipboard;\n popupCanvas.getActiveObject().clone(function (cloned) {\n clipboard = cloned;\n });\n if (clipboard.type === 'activeSelection') {\n clipboard.canvas = canvas;\n const objs = [];\n clipboard.forEachObject(function (obj) {\n objs.push(obj);\n });\n const alltogetherObj = new fabric.Group(objs, {});\n canvas.centerObject(alltogetherObj);\n canvas.add(alltogetherObj);\n canvas.setActiveObject(alltogetherObj);\n alltogetherObj.setCoords();\n use3dddPlus.getState().forStoringAllObject(alltogetherObj); //for pushing the data into array for layers\n } else {\n canvas.add(clipboard);\n }\n canvas.requestRenderAll();\n popupCanvas.clear();\n };\n return (\n <>\n {/* <div\n className=\"relative z-10\"\n aria-labelledby=\"modal-title\"\n role=\"dialog\"\n aria-modal=\"true\"\n style={uploadImageModalDisplay ? {} : { display: 'none' }}\n > */}\n <div className=\"flex z-10 overflow-y-auto\">\n <div className=\"flex flex-1 w-full\">\n <div className=\"relative w-full overflow-hidden bg-white\">\n <div className=\"bg-white\">\n <div className=\"flex flex-row\">\n <div className=\"flex flex-row text-center w-[70%] \">\n <div className=\" w-full h-full \">\n <div id=\"imageCanvas\">\n <canvas\n className=\"pointer\"\n id=\"popupCanvas\"\n ></canvas>\n </div>\n <div className=\"absolute bottom-[40px] flex flex-wrap left-[60px]\">\n <span className=\"border border-[#E11A38] p-1 bg-white mr-2 text-[#E11A38] \">\n <EyeDropper />\n </span>\n\n <span className=\"text-[#E11A38] text-[13px] font-bold \">\n Use the eyedropper tool do clicking on a color you wish\n to remove form you image\n </span>\n </div>\n </div>\n </div>\n <div className=\"text-left flex-1 h-[100%] px-[36px] pt-[31px]\">\n <div className=\"flex flex-col gap-y-5\">\n <h1 className=\"text-[22px] font-bold\">\n Match and Combine colors\n </h1>\n <p className=\"text-[15px]\">\n Select how many colors are in your image\n </p>\n <select\n value={colorCount}\n onChange={handleColorCountChange}\n className=\"border-[1px] border-[#D7D7D7] p-2\"\n >\n <option value={1}>1 Colors</option>\n <option value={2}>2 Colors</option>\n <option value={3}>3 Colors</option>\n <option value={4}>4 Colors</option>\n <option value={5}>5 Colors</option>\n <option value={6}>6 Colors</option>\n <option value={7}>7 Colors</option>\n <option value={8}>8 Colors</option>\n </select>\n {/* {Object.keys(colorFill)?.map((item) => {\n return (\n <>\n <ColorImpl\n handleChange={changeSVGColor}\n property={item}\n color={colorFill[item]}\n />\n </>\n );\n })} */}\n <div className=\"flex flex-col gap-y-3.5 items-center overflow-y-auto py-[5px] 2xl:h-[50vh] sm:h-[42vh] h-[42vh]\">\n {Object.keys(colorFill)?.map((item, index) => (\n <div className=\"flex flex-row items-center\" key={index}>\n <ColorImpl\n className=\"w-[30px] h-[30px] m-2 \"\n handleChange={changeSVGColor}\n property={item}\n color={colorFill[item]}\n />\n <div className=\"mx-[20px] text-[#c2c2c2]\">\n <CgArrowRight />\n </div>\n <div className=\"flex flex-row border-[1px] border-[#D6D6D6]\">\n <span className=\" border-r-[1px] border-[#D6D6D6] bg-[#fce8eb]\">\n <IconButton\n label=\"Select Color\"\n icon={<GiDrop />}\n className={\n '!rounded-none pointer-events-auto cursor-pointer flex text-[#E11A38] w-[30px] h-[30px] p-[9px]'\n }\n size=\"1.125rem\"\n ></IconButton>\n </span>\n <span className=\"py-[6px] pl-[10px] pr-[27px] font-medium text-[13px] bg-[#F1F1F1]\">\n Select Color\n </span>\n </div>\n <span className=\"\">\n <IconButton\n label=\"Delete Color\"\n icon={<MdOutlineCancel />}\n className={\n 'pointer-events-auto cursor-pointer m-autoflex w-[30px] h-[30px] p-[9px] text-[#c2c2c2]'\n }\n size=\"1rem\"\n ></IconButton>\n </span>\n </div>\n ))}\n </div>\n <div className=\" flex flex-col\">\n <button\n type=\"button\"\n onClick={popupCanvasContinue}\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\"\n >\n Continue\n </button>\n <button\n type=\"button\"\n onClick={popupCanvasCancel}\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\"\n >\n Cancel\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n {/* </div> */}\n </>\n );\n};\n","import React, { useState } from 'react';\n\nimport FileUploadButton from './fileuploadButton';\nimport { use3dddPlus } from '../../store';\nimport {shallow} from 'zustand/shallow';\nimport { PopUpCanvas } from '../canvas/popUpCanvas';\n\nexport const UploadLogo = () => {\n const [, setSelectedFile,] = useState<File | null>(null);\n const [\n tiffConvert,\n imageToSVG,\n setFile,\n uploadImageModalDisplay,\n pdfConverter,\n ] = use3dddPlus(\n (state) => [\n state.tiffConvert,\n state.imageToSVG,\n state.setFile,\n state.uploadImageModalDisplay,\n state.pdfConverter,\n ],\n shallow\n );\n const handleFileSelect = (file: File) => {\n setSelectedFile(file);\n setFile(file)\n svgConverter(file);\n // You can perform further actions with the selected file here.\n };\n\n const svgConverter = async (data) => {\n // canvas.discardActiveObject();\n const ext = data.name.substring(data.name.lastIndexOf('.') + 1);\n if (ext === 'pdf') {\n let pdfData = await pdfConverter(data);\n imageToSVG(pdfData);\n }\n if (ext === 'tif' || ext === 'tiff') {\n const tiffData = await tiffConvert(data);\n imageToSVG(tiffData);\n } else {\n let objectURL = URL.createObjectURL(data);\n imageToSVG(objectURL);\n }\n setSelectedFile(null);\n };\n return (\n <>\n <div className=\"bg-[#F7F7F7] absolute z-10 w-[90%] h-full \">\n <div className=\"relative w-full h-full\">\n <div className=\"flex justify-center w-full h-full text-center\">\n <FileUploadButton onFileSelect={handleFileSelect} />\n </div>\n <div className=\"absolute md:bottom-[20px] bottom-[10px] px-[80px]\">\n <p className=\" text-[#E11A38] text-base font-bold\">\n Privacy Notice\n </p>\n <p className=\"text-[#727272] text-sm font-medium pt-2 pb-2\">\n Your uploaded images are safe, secure, and remain your property.\n By proceeding you acknowledge that you have full legal rights and\n permissions to use the images you upload.We reserve the right to\n reject any order.\n </p>\n </div>\n </div>\n </div>\n {uploadImageModalDisplay && (\n <div className=\"bg-[#F7F7F7] absolute z-10 w-[90%] h-full\">\n <PopUpCanvas />\n </div>\n )}\n </>\n );\n};\n","import React from 'react';\nimport {\n SEARCHBAR_BORDER_COLOR,\n SEARCH_ICON_COLOR,\n TEXT_COLOR_1,\n TEXT_SIZE_3,\n} from '../../theme';\n\nexport interface SearchBarProps {\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onKeyPress?: (e: React.KeyboardEvent<HTMLDivElement>) => void;\n onPaste?: (e: React.ClipboardEvent<HTMLInputElement>) => void;\n placeholder?: string;\n searchBarMainClass?: string;\n value?: string;\n disabled?: boolean;\n}\nexport const Searchbar = ({\n onChange,\n onKeyPress,\n onPaste,\n placeholder,\n searchBarMainClass,\n value,\n disabled,\n}: SearchBarProps) => {\n return (\n <>\n <div\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]`}\n >\n <input\n type=\"search\"\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]`}\n placeholder={placeholder}\n aria-label=\"Search\"\n aria-describedby=\"button-addon3\"\n value={value}\n onChange={onChange}\n onKeyPress={onKeyPress}\n disabled={disabled}\n onPaste={onPaste}\n onClick={(e) => {\n e.currentTarget.focus();\n }}\n />\n <span\n className={`flex justify-center items-center rounded-none pl-2 pr-[14px]`}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n className={`h-5 w-5 ${SEARCH_ICON_COLOR}`}\n >\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\" />\n </svg>\n </span>\n </div>\n </>\n );\n};\n","import React from 'react';\nimport { Input as InputImpl, InputHTMLProps } from 'reakit';\n\nexport const input = React.forwardRef<HTMLInputElement, InputHTMLProps>(\n (props, ref) => {\n return (\n <InputImpl\n // @ts-ignore\n ref={ref}\n {...props}\n className={`${props.className} block w-full border border-dark py-2 px-4 mb-4`}\n />\n );\n }\n);\n\n","import React from 'react';\nimport { IconButton, RxCross2 } from '../icon';\nimport { BACKDROP_BLUR, BACKDROP_BLUR_BG_COLOR, SAVERACK_TEXT_COLOR } from '../../theme';\n\nexport interface GlobalModalProps {\n backdropStyle?: string;\n children?: React.ReactNode;\n contentStyle?: string;\n crossOnClick?: () => void;\n modalStyle?: string;\n}\n\nexport const Modal = ({\n backdropStyle,\n children,\n contentStyle,\n crossOnClick,\n modalStyle,\n}: GlobalModalProps) => {\n return (\n <div>\n <div\n className={`${backdropStyle} absolute top-0 left-0 h-screen w-full ${BACKDROP_BLUR} ${BACKDROP_BLUR_BG_COLOR}`}\n ></div>\n\n <dialog\n open\n className={`${contentStyle} absolute shadow-[0 2px 8px rgba(0, 0, 0, 0.26)] ml-[auto] md:mr-[0%] mr-[auto]`}\n >\n <IconButton\n label={''}\n icon={<RxCross2 strokeWidth={1} onClick={crossOnClick} />}\n className={\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`\n }\n size=\"1.2rem\"\n ></IconButton>\n <div\n className={`flex flex-col justify-center gap-[1.75rem] ${modalStyle}`}\n >\n {children}\n </div>\n </dialog>\n </div>\n );\n};\n","import React from 'react';\nexport interface ModalButtonsProps {\n buttonMainClass?: string;\n buttons?: {\n buttonClass?: string;\n label?: string;\n onClick?: () => void;\n style?: React.CSSProperties;\n }[];\n}\nexport const ModalButtons = ({ buttonMainClass, buttons }: ModalButtonsProps) => {\n return (\n <div\n className={`flex flex-col lg:flex-row gap-[1.5625rem] leading-[1.4375rem] font-bold ${buttonMainClass}`}\n >\n {buttons?.map((button, index) => (\n <button\n key={index}\n onClick={button.onClick}\n className={`w-full py-[0.7188rem] rounded-none font-bold uppercase ${button.buttonClass}`}\n style={button.style}\n >\n {button.label}\n </button>\n ))}\n </div>\n );\n};\n\n","import React from 'react';\nimport { HiOutlineDownload, IconButton } from '../icon';\n\nexport interface ModalDownLoadIconProps {\n downloadClass?: string;\n downloadIconClass?: string;\n iconClass?: string;\n pdfUrl?: string;\n}\nexport const ModalDownloadIcon = ({\n downloadClass,\n downloadIconClass,\n iconClass,\n pdfUrl,\n}: ModalDownLoadIconProps) => {\n return (\n <>\n <div className={`flex justify-center items-center`}>\n <a\n href={pdfUrl}\n download={'Design Sheet'}\n target=\"_blank\"\n className={`flex items-center cursor-pointer gap-[0.6875rem] font-bold ${downloadIconClass}`}\n >\n <IconButton\n label={''}\n icon={<HiOutlineDownload />}\n className={`pointer-events-auto ${iconClass}`}\n size=\"1.1rem\"\n ></IconButton>\n\n <span className={`uppercase ${downloadClass}`}>\n VIEW DESIGN SHEET\n </span>\n </a>\n </div>\n </>\n );\n};\n","import React from 'react';\n\nexport interface ModalHeadingProps {\n children?: React.ReactNode;\n headingStyle?: string;\n}\nexport const ModalHeading = ({ children, headingStyle }: ModalHeadingProps) => {\n return (\n <>\n <div\n className={`flex flex-col gap-[1.625rem] justify-center items-center text-center ${headingStyle}`}\n >\n {children}\n </div>\n </>\n );\n};\n\n","import React from 'react';\n\nexport interface ModalLabelProps {\n children?: React.ReactNode;\n labelStyle?: string;\n}\nexport const ModalLabel = ({ children, labelStyle }: ModalLabelProps) => {\n return (\n <>\n <p className={`${labelStyle}`}>{children}</p>\n </>\n );\n};\n\n","import React from 'react';\nimport { IconButton } from '../icon';\n\nexport interface ModalStatusProps {\n icon?: JSX.Element;\n onIconClick?: () => void;\n children?: React.ReactNode;\n iconStyle?: string;\n}\nexport const ModalStatusIcon = ({\n icon,\n onIconClick,\n iconStyle,\n children,\n}: ModalStatusProps) => {\n return (\n <>\n <div className={`flex justify-center`} onClick={onIconClick}>\n <IconButton\n label={''}\n icon={icon}\n className={`pointer-events-auto cursor-pointer h-[auto] ${iconStyle}`}\n size=\"6.3rem\"\n ></IconButton>\n {children}\n </div>\n </>\n );\n};\n","import React from \"react\";\n\nexport const SortButton = ({ label, icons, onClick, className }) => {\n return (\n <button\n onClick={onClick}\n className={`flex rounded-none gap-3 items-center p-2 mr-[24px] ${className}`}\n >\n {icons}\n {label}\n \n </button>\n );\n };\n \n\n ","import React, { useState } from 'react';\nimport { SortButton } from './sortButton';\nimport { BsSortDown } from 'react-icons/bs';\nimport { use3dddPlus } from '../../store';\nimport { shallow } from 'zustand/shallow';\nexport const SortByDropdown = () => {\n const [loadingLogo] = use3dddPlus((state) => [state.loadingLogo], shallow);\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n\n const toggleDropdown = () => {\n setIsDropdownOpen(!isDropdownOpen);\n };\n\n return (\n <div className=\"absolute\">\n <SortButton\n onClick={toggleDropdown}\n label=\"Sort by\"\n icons={<BsSortDown />}\n className=\" bg-[#FFFFFF]\"\n />\n {isDropdownOpen && (\n <div className=\"dropdown-content h-[200px] w-[210px] bg-[#FFFFFF] flex flex-col absolute z-10\">\n {/* Dropdown content goes here */}\n <button\n className=\"flex items-center h-[45px] mt-[12px] pl-[27.85px] border-b-[1px] border-[#F4F4F4] \"\n onClick={() => {\n toggleDropdown();\n loadingLogo('&sortBy=updated_at&sortDir=DESC');\n }}\n >\n NEWEST\n </button>\n <button\n className=\"flex items-center h-[45px] pl-[27.85px] border-b-[1px] border-[#F4F4F4]\"\n onClick={() => {\n toggleDropdown();\n loadingLogo('&sortBy=updated_at&sortDir=ASC');\n }}\n >\n OLDEST\n </button>\n <button\n className=\"flex items-center h-[45px] pl-[27.85px] border-b-[1px] border-[#F4F4F4]\"\n onClick={() => {\n toggleDropdown();\n loadingLogo('&sortBy=name&sortDir=ASC');\n }}\n >\n A TO Z\n </button>\n <button\n className=\"flex items-center h-[45px] pl-[27.85px] border-[#F4F4F4]\"\n onClick={() => {\n toggleDropdown();\n loadingLogo('&sortBy=name&sortDir=DESC');\n }}\n >\n Z TO A\n </button>\n </div>\n )}\n </div>\n );\n};\n","import React from 'react';\nimport './loader.css';\n\nexport const Loader = ({ position = 'overlay', height = '100%' }) => {\n const loaderRef = React.useRef<any>();\n React.useEffect(() => {\n if (!loaderRef) return;\n loaderRef.current.style.height = height;\n }, [loaderRef]);\n return (\n <section\n ref={loaderRef}\n id=\"ls\"\n style={\n position === 'overlay'\n ? { position: 'absolute', opacity: 0.8, top: 0 }\n : {}\n }\n className=\"w-full h-full\"\n >\n <div id=\"l\"></div>\n </section>\n );\n};\n","import React, { useEffect } from 'react';\nimport { Searchbar } from '../searchbar';\nimport { Card, CardMedia, CardBody, CardTitle } from '../card';\nimport { SortByDropdown } from '../SortByDropdown';\nimport { use3dddPlus } from '../../store';\nimport { shallow } from 'zustand/shallow';\nimport { Loader } from '../loader';\n\nexport const MyLogo = ({ onApply }) => {\n const [logoSelected, setLogoSelected] = React.useState(false);\n const [\n retriveLogoDesign,\n myLogoHandler,\n loadingLogo,\n loading,\n setLogoData,\n logoData,\n ] = use3dddPlus(\n (state) => [\n state.retriveLogoDesign,\n state.myLogoHandler,\n state.loadingLogo,\n state.loading,\n state.setLogoData,\n state.logoData,\n ],\n shallow\n );\n useEffect(() => {\n loadingLogo('');\n }, []);\n const handleEditLogo = (logo) => {\n if (logo) {\n myLogoHandler(logo);\n setLogoSelected(false);\n }\n };\n const handleApplyLogo = (logo) => {\n if (logo) {\n onApply();\n setLogoSelected(false);\n console.log('handleApplyLogo', logo);\n }\n };\n return (\n <>\n <div className=\"bg-[#F7F7F7] absolute z-100 w-[90%] h-full pr-[56px]\">\n <div className=\" w-full flex mt-[50px] flex-row\">\n <div className=\" flex w-1/2 justify-end\">\n <SortByDropdown />\n </div>\n <div className=\" flex-1\">\n <Searchbar\n placeholder={'Search by Logo name or tags'}\n onChange={(e) => loadingLogo(e.target.value)}\n ></Searchbar>\n </div>\n </div>\n <div className=\"flex ml-[33px] mt-[30px] overflow-y-auto overflow-x-hidden h-[65vh]\">\n <div className=\"max-h-[140px] grid gap-3.5 grid-cols-3 md:grid-cols-4 lg:grid-cols-5 w-full \">\n {retriveLogoDesign.length > 0\n ? retriveLogoDesign.map((logo) => (\n <>\n <Card\n cardClass={`rounded-none bg-white cursor-pointer`}\n style={{ boxShadow: '0px 0px 6px #98989829' }}\n onClick={() => {\n if (logo) {\n setLogoData(logo);\n setLogoSelected(true);\n }\n }}\n >\n <CardMedia\n //@ts-ignore\n src={logo.logo_url}\n imageClass=\"h-[50px] mt-[26px]\"\n />\n\n <CardBody bodyClass=\"p-2.5 mt-[13px]\">\n <CardTitle\n titleClass={`text-[11px] uppercase`}\n //@ts-ignore\n name={logo.name}\n />\n </CardBody>\n </Card>\n </>\n ))\n : 'No Saved Mascots'}\n <div className={`flex gap-2 h-[48px]`}>\n <button\n className={`border border-[black] p-3`}\n onClick={() => handleEditLogo(logoData)}\n >\n Edit\n </button>\n <button\n onClick={() => handleApplyLogo(logoData)}\n className={`border p-3 ${\n logoSelected\n ? 'border-[#e11a38] text-[#e11a38]'\n : 'border-[black] text-black'\n }`}\n >\n Apply\n </button>\n </div>\n </div>\n </div>\n </div>\n {loading && <Loader />}\n </>\n );\n};\n","import React, { useEffect } from 'react';\n//import { StepperTypes } from '../../store/actions/types';\nimport { use3dddPlus } from '../../store';\nimport { shallow } from 'zustand/shallow';\nimport {\n SELECT_BG_COLOR,\n //BORDER_COLOR,\n TEXT_SIZE_1,\n TEXT_SIZE_2,\n SELECT_TEXT_COLOR,\n BUTTON_TEXT_COLOR,\n TEXT_COLOR_1,\n} from '../../theme';\nimport {\n AddText,\n IconButton,\n MyLogo,\n ProductColor,\n RLogo,\n AddMascots,\n} from '../icon';\nimport { MdOutlineFileUpload } from 'react-icons/md';\n\nexport const LeftMenu = () => {\n const [\n setSelectedStepper,\n selectedStepper,\n addText,\n getStockLogos,\n loadingLogo,\n ] = use3dddPlus(\n (state) => [\n state.setSelectedStepper,\n state.selectedStepper,\n state.addText,\n state.getStockLogos,\n state.loadingLogo,\n ],\n shallow\n );\n const StepperList = [\n {\n name: 'Upload File',\n icon: <MdOutlineFileUpload />,\n id: 1,\n display: true,\n },\n {\n name: 'My Logos',\n icon: <MyLogo />,\n id: 2,\n display: true,\n },\n {\n name: 'Add Text',\n icon: <AddText />,\n id: 3,\n display: true,\n },\n {\n name: 'Add Mascots',\n icon: <AddMascots />,\n id: 4,\n display: true,\n },\n {\n name: 'product Color',\n icon: <ProductColor />,\n id: 5,\n display: true,\n },\n ];\n\n useEffect(() => {\n return () => {};\n }, []);\n\n return (\n <div className=\"flex flex-row md:flex-col\">\n <div\n className={` flex flex-row md:flex-col sticky md:relative md:w-[100%] md:max-w-[100%]`}\n style={{ boxShadow: '0px 0px 6px #98989829' }}\n >\n <div\n className={`${SELECT_BG_COLOR} flex justify-center cursor-pointer p-2.5 `}\n >\n <div className=\" flex flex-col items-center justify-center\">\n <span className={`stepper-icon-active ${TEXT_SIZE_2} mb-2`}>\n <IconButton\n label={''}\n icon={<RLogo />}\n size=\"2rem\"\n className={`${TEXT_COLOR_1} pointer-events-auto cursor-pointer m-auto`}\n ></IconButton>\n </span>\n <span\n className={`${SELECT_TEXT_COLOR} ${TEXT_SIZE_1} uppercase font-bold text-center`}\n >\n Logo Designer\n </span>\n </div>\n </div>\n </div>\n <div\n className={` flex h-[100%] flex-row md:flex-col sticky md:relative md:w-[100%] md:max-w-[100%]`}\n style={{ boxShadow: '0px 0px 6px #98989829' }}\n >\n {StepperList?.map((step) => (\n <div\n className={\n step.id === selectedStepper\n ? `${SELECT_BG_COLOR} flex justify-center cursor-pointer p-2.5 `\n : 'flex justify-center cursor-pointer p-2.5 '\n }\n key={step.id}\n style={!step.display ? { display: 'none' } : {}}\n >\n <div\n className=\"flex flex-col items-center justify-center \"\n onClick={(e) => {\n e.preventDefault();\n setSelectedStepper(step.id);\n if (step.id === 3) {\n addText();\n }\n if (step.id === 4) {\n getStockLogos();\n }\n if (step.id === 2) {\n loadingLogo('');\n }\n }}\n >\n <span\n className={\n step.id === selectedStepper\n ? `stepper-icon-active ${TEXT_SIZE_2} mb-2`\n : `stepper-icon ${TEXT_SIZE_2} mb-2`\n }\n >\n <IconButton\n label={''}\n icon={step.icon}\n size=\"2rem\"\n className={`${\n step.id === selectedStepper\n ? BUTTON_TEXT_COLOR\n : TEXT_COLOR_1\n } pointer-events-auto cursor-pointer m-auto`}\n ></IconButton>\n </span>\n <span\n className={\n step.id === selectedStepper\n ? `${SELECT_TEXT_COLOR} ${TEXT_SIZE_1} uppercase font-bold text-center`\n : `${TEXT_COLOR_1} ${TEXT_SIZE_1} uppercase font-bold text-center`\n }\n >\n {step.name}\n </span>\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n};\n","import React from 'react';\nimport { ColorImpl } from '../colorPallet';\nimport { IconButton, FlipH, FlipV } from '../icon';\nexport const ImageEdit = ({\n nudgeMove,\n flipX,\n flipY,\n changeSVGColor,\n activeSelection,\n}) => {\n return (\n <>\n <div className=\"uppercase font-bold pt-[17px]\">Color in Canvas</div>\n <div className=\"flex gap-x-[1rem] mt-[12px]\">\n {activeSelection.colorFill &&\n Object.keys(activeSelection?.colorFill)?.map((item) => {\n return (\n <ColorImpl\n mClass={'ml-[36px]'}\n key={\n activeSelection.colorFill[item] +\n activeSelection?.ownMatrixCache?.key\n }\n handleChange={changeSVGColor}\n property={item}\n color={activeSelection.colorFill[item]}\n />\n );\n })}\n </div>\n <div>\n <div className=\"font-bold uppercase mt-[17px]\">Flip</div>\n <div className=\"flex gap-x-[1rem] mt-[12px]\">\n <IconButton\n key={`index`}\n label=\"\"\n icon={<FlipH />}\n onClick={flipX}\n className={`w-[45px] h-[45px] bg-[#fff] cursor-pointer border border-[#EBEBEB]`}\n size=\"1.8rem\"\n ></IconButton>\n <IconButton\n key={`index`}\n label=\"\"\n onClick={flipY}\n icon={<FlipV />}\n className={`w-[45px] h-[45px] bg-[#fff] cursor-pointer border border-[#EBEBEB]`}\n size=\"1.8rem\"\n ></IconButton>\n </div>\n </div>\n <div className=\"mt-[30px]\">\n <h3 className=\"font-extrabold\">Nudge</h3>\n <button\n onClick={nudgeMove}\n id=\"down\"\n className=\"font-medium text-orange-400\"\n >\n DOWN\n </button>\n <button\n onClick={nudgeMove}\n id=\"up\"\n className=\"font-medium text-orange-300 text-lime-400 px-1\"\n >\n UP\n </button>\n <button\n onClick={nudgeMove}\n id=\"left\"\n className=\"font-medium text-orange-300 text-teal-500\"\n >\n LEFT\n </button>\n <button\n onClick={nudgeMove}\n id=\"right\"\n className=\"font-medium text-orange-300 text-violet-600 px-1\"\n >\n RIGHT\n </button>\n </div>\n </>\n );\n};\n","import { use3dddPlus } from '../../store';\nimport { shallow } from 'zustand/shallow';\nimport { useEffect, useState } from 'react';\nimport { ColorImpl } from '../colorPallet';\nimport React from 'react';\nimport { Tab, initTE } from 'tw-elements';\nimport {\n BORDER_COLOR_1,\n INPUT_BG_COLOR,\n SELECT_BG_COLOR,\n TEXT_COLOR_1,\n TEXT_SIZE_3,\n TEXT_SIZE_9,\n} from '../../theme';\nimport { ImageEdit } from './imageEdit';\nimport './rightMenu.css';\nimport { FiAlignCenter, FiAlignLeft, FiAlignRight } from 'react-icons/fi';\nconst fontFamilies = [\n {\n name: 'Athletic Block',\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/athletic.ttf',\n },\n {\n name: 'Ballpark',\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/ballpark.TTF ',\n },\n {\n name: 'Pro Block',\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/pro_block.woff',\n },\n {\n name: 'Full Block',\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/full_block.woff',\n },\n {\n name: 'Brush Script',\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/brush-script-3.ttf',\n },\n {\n name: 'City Block',\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/cityb.woff',\n },\n {\n name: 'Tiffany',\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/tiffany.woff',\n },\n];\n\nexport const Rightmenu = () => {\n initTE({ Tab });\n const textSelected = use3dddPlus.getState().activeSelection;\n const canvas = use3dddPlus.getState().fabricCanvas;\n const [\n colorFill,\n currentSelection,\n activeSelection,\n textInfo,\n activeObj,\n storeAllObject,\n allColor,\n setToggleSaveDesign,\n ] = use3dddPlus(\n (state) => [\n state.colorFill,\n state.currentSelection,\n state.activeSelection,\n state.textInfo,\n state.activeSelection,\n state.storeAllObject,\n state.allColor,\n state.setToggleSaveDesign,\n ],\n shallow\n );\n const [textAlignDisplay, setTextAlignDisplay] = useState(false);\n const [outlineVal, setOutlineVal] = useState(0);\n const [spacingVal, setSpacinglineVal] = useState(1);\n const [sliderValue, setSliderValue] = useState(50);\n const [fontStyle, setFontStyle] = useState({\n bold: false,\n italic: false,\n underline: false,\n });\n const [activeButton, setActiveButton] = useState<string | null>(null);\n useEffect(() => {\n if (!activeSelection) return;\n use3dddPlus.setState({ textInfo: activeSelection.text });\n }, [activeSelection]);\n\n const onTextChange = (e) => {\n const lines = e.target.value.split('\\n');\n lines.length == 1 ? setTextAlignDisplay(false) : setTextAlignDisplay(true);\n use3dddPlus.setState({ textInfo: e.target.value });\n textSelected.set('text', use3dddPlus.getState().textInfo);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n canvas.renderAll();\n };\n const textAlignHandler = (e) => {\n console.log(e.target.id);\n setActiveButton(e.target.id);\n textSelected.set('textAlign', e.target.id);\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n canvas.renderAll();\n };\n const handleSliderChange = (event) => {\n textSelected.set('fontSize', event.target.value);\n canvas.renderAll();\n setSliderValue(event.target.value);\n };\n const fontChange = (e) => {\n fontFamilies.map((item) => {\n console.log(e, item);\n if (item.name == e.target.value) {\n const font = new FontFace(item.name, `url('${item.src}')`);\n font.load().then((value) => {\n //@ts-ignore\n document.fonts?.add(value);\n document.body.classList.add('fonts-loaded');\n textSelected.set('fontFamily', item.name);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n canvas.renderAll();\n });\n }\n });\n };\n const textColorChange = (property, color: any) => {\n console.log(property);\n textSelected.set({\n fill: color,\n colorFill: { layer0: color },\n });\n //textSelected.set('fill', color);\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n canvas.renderAll();\n };\n const nudgeMove = (e) => {\n if (e.target.id === 'down') {\n if(textSelected.aCoords.br.y > canvas.height - 2)return\n use3dddPlus.getState().moveDown(textSelected);\n use3dddPlus.getState().updateModifaction(true);\n } else if (e.target.id === 'up') {\n if(textSelected.aCoords.tr.y < 5)return\n use3dddPlus.getState().moveUp(textSelected);\n use3dddPlus.getState().updateModifaction(true);\n } else if (e.target.id === 'right') {\n if(textSelected.aCoords.tr.x > canvas.height - 2)return\n use3dddPlus.getState().moveRight(textSelected);\n use3dddPlus.getState().updateModifaction(true);\n } else if (e.target.id === 'left') {\n if(textSelected.aCoords.tl.x < 2)return\n use3dddPlus.getState().moveLeft(textSelected);\n use3dddPlus.getState().updateModifaction(true);\n }\n };\n const textOutlineHandler = (e) => {\n setOutlineVal(e.target.valueAsNumber);\n textSelected.strokeWidth = e.target.valueAsNumber;\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n canvas.renderAll();\n };\n const strokeColorChange = (property, color) => {\n console.log(property);\n textSelected.set('stroke', color);\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n canvas.renderAll();\n };\n const textSpacingHandler = (e) => {\n setSpacinglineVal(e.target.valueAsNumber);\n textSelected.charSpacing = e.target.valueAsNumber; \n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n canvas.renderAll();\n if(textSelected.aCoords.tr.x > 480){\n return;\n }\n };\n const textStyle = (e: any, key: string, value: any) => {\n if (fontStyle[e.target.id]) textSelected.set(key, '');\n else textSelected.set(key, value);\n setFontStyle((state) => ({ ...state, [e.target.id]: !state[e.target.id] }));\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n canvas.renderAll();\n };\n const layerHandle = (element, index, num) => {\n const currentObject = [...use3dddPlus.getState().storeAllObject];\n if (num === 'minus') {\n canvas.sendToBack(element);\n use3dddPlus.setState({\n storeAllObject: changeArr(currentObject, index, index + 1),\n });\n } else {\n canvas.bringToFront(element);\n use3dddPlus.setState({\n storeAllObject: changeArr(currentObject, index, index - 1),\n });\n }\n };\n const changeArr = (arr, fromIndex, toIndex) => {\n const element = arr.splice(fromIndex, 1)[0];\n arr.splice(toIndex, 0, element);\n return arr;\n };\n const deleteElement = (item) => {\n canvas.remove(item);\n canvas.requestRenderAll();\n removeItem(item);\n };\n const removeItem = (value: any) => {\n //@ts-ignore\n var index = use3dddPlus.getState().storeAllObject.indexOf(value);\n if (index > -1) {\n use3dddPlus.getState().storeAllObject.splice(index, 1);\n }\n use3dddPlus.setState({\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\n });\n };\n const changeSVGTextColor = (property, color) => {\n const previousColor = property;\n canvas.getObjects().map((data) => {\n // console.log(data.type);\n if (data.type === 'text') {\n let _C = data.fill;\n if (_C === previousColor) {\n data.set({\n fill: color,\n colorFill: { layer0: color },\n });\n }\n // canvas.renderAll();\n } else if (data.type === 'group') {\n // console.log(data);\n let objImage = data._objects;\n objImage.forEach((ele) => {\n const _C = ele.fill.includes('#') ? ele.fill : RGBToHex(ele.fill);\n console.log('ele', ele);\n if (_C === previousColor) {\n ele.set({\n fill: color,\n // colorFill : colorFill,\n });\n }\n });\n const colorFill = { ...data.colorFill };\n Object.keys(colorFill).forEach((item) => {\n console.log(item);\n if (colorFill[item] === previousColor) {\n colorFill[item] = color;\n }\n });\n data.set({\n colorFill: colorFill,\n });\n }\n });\n canvas.renderAll();\n };\n const changeSVGColor = (property, color) => {\n const fillColor = colorFill;\n const previousColor = fillColor[property];\n const SelectedObjet = use3dddPlus.getState().activeSelection;\n let objImage = SelectedObjet._objects;\n objImage.forEach((ele) => {\n const _C = ele.fill.includes('#') ? ele.fill : RGBToHex(ele.fill);\n if (_C === previousColor) {\n ele.set({\n fill: color,\n });\n }\n });\n canvas.renderAll();\n fillColor[property] = color;\n use3dddPlus.setState({ colorFill: fillColor });\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n };\n\n const RGBToHex = (rgb) => {\n let sep = rgb.indexOf(',') > -1 ? ',' : ' ';\n\n rgb = rgb.substr(4).split(')')[0].split(sep);\n let r = (+rgb[0]).toString(16),\n g = (+rgb[1]).toString(16),\n b = (+rgb[2]).toString(16);\n\n if (r.length == 1) r = '0' + r;\n if (g.length == 1) g = '0' + g;\n if (b.length == 1) b = '0' + b;\n return '#' + r + g + b;\n };\n const flipX = () => {\n activeObj.set({\n flipX: !activeObj.flipX,\n });\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n canvas.renderAll();\n };\n const flipY = () => {\n activeObj.set({\n flipY: !activeObj.flipY,\n });\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n // activeObj.\n canvas.renderAll();\n };\n const onSave = () => {\n if (canvas.getObjects().length > 0) {\n setToggleSaveDesign('save', true, 'Save Logo', {});\n } else {\n alert('NOTHING TO SAVE...');\n }\n };\n useEffect(() => {\n const unSub = use3dddPlus.subscribe(\n (state) => state.colorFill,\n (_current, _previous) => {\n // console.log(\"_PREVIUS_COLORFIL\" , _previous);\n // console.log(\"_CURRENT_COLOR\",_current);\n }\n );\n return unSub;\n }, []);\n // console.log(\"====>\",activeSelection,currentSelection)\n return (\n <div className=\"text-left flex-1 h-[100vh] px-[36px] pt-[23px] relative \">\n <div className=\"flex flex-col \">\n <h1 className=\"text-[22px] font-bold\">Edit Design</h1>\n <ul\n className=\" flex list-none mt-[16px] flex-col md:flex-row border-b-0 pl-0\"\n role=\"tablist\"\n data-te-nav-ref\n >\n <li\n role=\"presentation\"\n className=\"flex-grow basis-0 text-center\"\n onClick={() => {\n use3dddPlus.setState({ currentSelection: 'none' });\n canvas.discardActiveObject();\n canvas.renderAll();\n }}\n >\n <a\n href=\"#tabs-properties\"\n className={`my-2 block border border-[#D6D6D6] px-[40px] py-[10px] ${TEXT_SIZE_9} font-bold uppercase leading-tight hover:text-[white] hover:bg-[#E11A38] data-[te-nav-active]:bg-[#E11A38] data-[te-nav-active]:text-[white]`}\n data-te-toggle=\"pill\"\n data-te-target=\"#tabs-properties\"\n data-te-nav-active\n role=\"tab\"\n aria-controls=\"tabs-properties\"\n aria-selected=\"true\"\n >\n Properties\n </a>\n </li>\n <li\n role=\"presentation\"\n className=\"flex-grow basis-0 text-center\"\n onClick={() => use3dddPlus.setState({ currentSelection: 'layer' })}\n >\n <a\n href=\"#tabs-layers\"\n className={`my-2 block border border-[#D6D6D6] px-[40px] py-[10px] ${TEXT_SIZE_9} font-bold uppercase leading-tight hover:text-[white] hover:bg-[#E11A38] data-[te-nav-active]:bg-[#E11A38] data-[te-nav-active]:text-[white]`}\n data-te-toggle=\"pill\"\n data-te-target=\"#tabs-layers\"\n role=\"tab\"\n aria-controls=\"tabs-layers\"\n aria-selected=\"false\"\n >\n Layers\n </a>\n </li>\n </ul>\n\n <div\n className=\"hidden opacity-100 transition-opacity duration-150 ease-linear data-[te-tab-active]:block\"\n id=\"tabs-properties\"\n role=\"tabpanel\"\n aria-labelledby=\"tabs-home-tab02\"\n data-te-tab-active\n >\n <div className=\"h-[50vh] sm:h-[55vh] 2xl:h-[60vh] overflow-y-auto overflow-x-hidden\">\n {currentSelection === 'text' && (\n <div className=\" \">\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n Enter Text\n </div>\n <textarea\n value={textInfo}\n onChange={onTextChange}\n className=\"w-[100%] border border-solid-[1px] border-[#9A9A9A] py-[10px] pl-[16px] mb-[16.5px]\"\n placeholder=\"LOGO TEXT\"\n />\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n Select Font\n </div>\n <select\n name=\"FontStyleNumber\"\n id=\"FontStyleNumber\"\n onChange={fontChange}\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-current focus:outline-offset-0 focus:rounded-sm mb-[16.5px]`}\n >\n {fontFamilies.map((list) => {\n return (\n <>\n <option value={list.name}>{list.name}</option>\n </>\n );\n })}\n </select>\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n TEXT SIZE\n </div>\n <input\n type=\"range\"\n value={sliderValue}\n onChange={handleSliderChange}\n className=\" rangeSlider w-full mb-[16.5px]\"\n id=\"slider\"\n style={{\n background: `linear-gradient(to right, #e11a38 0%, #e11a38 ${sliderValue}%, #fff ${sliderValue}%, #fff 100%)`,\n }}\n />\n\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n Style\n </div>\n <div className=\"flex gap-x-[15px] mb-[16.5px]\">\n {' '}\n <button\n className={\n fontStyle.bold\n ? `${SELECT_BG_COLOR} text-[#fff] text-base cursor-pointer border font-bold border-[#EBEBEB] py-[7px] px-[39px] `\n : 'bg-[#fff] font-bold text-base cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px]'\n }\n onClick={(e) => textStyle(e, 'fontWeight', 'bold')}\n id=\"bold\"\n >\n B\n </button>\n <button\n className={\n fontStyle.italic\n ? `${SELECT_BG_COLOR} text-[#fff] text-base cursor-pointer border italic border-[#EBEBEB] py-[7px] px-[39px] `\n : 'bg-[#fff] italic text-base cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px]'\n }\n onClick={(e) => textStyle(e, 'fontStyle', 'italic')}\n id=\"italic\"\n >\n I\n </button>\n <button\n className={\n fontStyle.underline\n ? `${SELECT_BG_COLOR} text-[#fff] text-base cursor-pointer border underline border-[#EBEBEB] py-[7px] px-[39px] `\n : 'bg-[#fff] underline text-base cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px]'\n }\n onClick={(e) =>\n textStyle(e, 'underline', !fontStyle.underline)\n }\n id=\"underline\"\n >\n U\n </button>\n </div>\n\n {textAlignDisplay === true && (\n <div className=\"textAlign\">\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n Align\n </div>\n <div className=\"flex gap-x-[15px] mb-[16.5px]\">\n <button\n type=\"button\"\n className={\n 'left' === activeButton\n ? `${SELECT_BG_COLOR} text-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px] `\n : 'bg-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px]'\n }\n id=\"left\"\n onClick={textAlignHandler}\n >\n <FiAlignLeft id=\"left\" onClick={textAlignHandler} />\n </button>\n <button\n type=\"button\"\n className={\n 'center' === activeButton\n ? `${SELECT_BG_COLOR} text-[#fff] cursor-pointer border border-[#EBEBEB] y-[7px] px-[39px] `\n : 'bg-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px]'\n }\n id=\"center\"\n onClick={textAlignHandler}\n >\n <FiAlignCenter id=\"center\" onClick={textAlignHandler} />\n </button>\n <button\n type=\"button\"\n className={\n 'right' === activeButton\n ? `${SELECT_BG_COLOR} text-[#fff] cursor-pointer border border-[#EBEBEB] y-[7px] px-[39px] `\n : 'bg-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px]'\n }\n id=\"right\"\n onClick={textAlignHandler}\n >\n <FiAlignRight id=\"right\" onClick={textAlignHandler} />\n </button>\n </div>\n </div>\n )}\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n Text Color\n </div>\n <div className=\"relative\">\n <ColorImpl\n mClass={'ml-0'}\n handleChange={textColorChange}\n property={'backgroundColor'}\n name={'backgroundColor'}\n color={activeSelection.fill}\n />\n </div>\n <div className=\"flex gap-2 mt-4\">\n <div>\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n Outline Size\n </div>\n <input\n type=\"number\"\n id=\"outlineSize\"\n name=\"outlineSize\"\n step=\"0.2\"\n value={outlineVal}\n className=\"border border-[#EBEBEB] py-[10px] pl-[16px] mb-[16.5px] w-[145px]\"\n onChange={textOutlineHandler}\n ></input>\n </div>\n <div>\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n Outline Color\n </div>\n <div className=\"relative\">\n {' '}\n <ColorImpl\n mClass={'ml-0'}\n handleChange={strokeColorChange}\n property={'backgroundColor'}\n name={'backgroundColor'}\n color={activeSelection.stroke}\n />\n </div>\n </div>\n </div>\n <div className=\"flex gap-2\">\n <div>\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n Letter Spacing\n </div>\n <input\n type=\"number\"\n id=\"spacing\"\n name=\"spacing\"\n step=\"10\"\n value={spacingVal}\n className=\"border border-[#EBEBEB] py-[10px] pl-[16px] mb-[16.5px] w-[145px]\"\n onChange={textSpacingHandler}\n ></input>\n </div>\n <div>\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n Nudge\n </div>\n <button\n onClick={nudgeMove}\n id=\"down\"\n className=\"font-medium text-orange-400\"\n >\n DOWN\n </button>\n <button\n onClick={nudgeMove}\n id=\"up\"\n className=\"font-medium text-orange-300 text-lime-400 px-1\"\n >\n UP\n </button>\n <button\n onClick={nudgeMove}\n id=\"left\"\n className=\"font-medium text-orange-300 text-teal-500\"\n >\n LEFT\n </button>\n <button\n onClick={nudgeMove}\n id=\"right\"\n className=\"font-medium text-orange-300 text-violet-600 px-1\"\n >\n RIGHT\n </button>\n </div>\n </div>\n </div>\n )}\n {currentSelection === 'group' && (\n <ImageEdit\n flipX={flipX}\n flipY={flipY}\n changeSVGColor={changeSVGColor}\n nudgeMove={nudgeMove}\n activeSelection={activeSelection}\n />\n )}\n {currentSelection === 'selectAll' && (\n <>\n <div className=\"uppercase font-bold pt-[17px]\">\n Color in Canvas\n </div>\n <div className=\"flex gap-x-[1rem] mt-[12px] mb-[12px]\">\n {allColor?.map((item) => {\n return (\n <ColorImpl\n mClass={'ml-[36px]'}\n key={item}\n handleChange={changeSVGTextColor}\n property={item}\n color={item}\n />\n );\n })}\n </div>\n <button\n onClick={nudgeMove}\n id=\"down\"\n className=\"font-medium text-orange-400\"\n >\n DOWN\n </button>\n <button\n onClick={nudgeMove}\n id=\"up\"\n className=\"font-medium text-orange-300 text-lime-400 px-1\"\n >\n UP\n </button>\n <button\n onClick={nudgeMove}\n id=\"left\"\n className=\"font-medium text-orange-300 text-teal-500\"\n >\n LEFT\n </button>\n <button\n onClick={nudgeMove}\n id=\"right\"\n className=\"font-medium text-orange-300 text-violet-600 px-1\"\n >\n RIGHT\n </button>\n {\n // console.log(storeAllObject);\n storeAllObject.map((item, index) => {\n return (\n <div className=\"innerLayer bg-slate-300 my-1\">\n <img\n className=\"rounded-lg w-14 h-8\"\n src={item ? item['icon'] : ''}\n ></img>\n <button\n className=\"up mx-1 px-2 border-solid border-2 border-slate-500 \"\n onClick={() => layerHandle(item, index, 'plus')}\n >\n UP\n </button>\n <button\n className=\"down mx-1 px-2 border-solid border-2 border-slate-500\"\n onClick={() => layerHandle(item, index, 'minus')}\n >\n DOWN\n </button>\n <button\n className=\"close mx-1 px-2 border-solid border-2 border-slate-500\"\n onClick={() => deleteElement(item)}\n >\n DELETE\n </button>\n </div>\n );\n })\n }\n </>\n )}\n {currentSelection === 'none' && (\n <>\n <div className=\"uppercase font-bold pt-[17px]\">\n Color in Canvas\n </div>\n <div className=\"flex gap-x-[1rem] mt-[12px]\">\n {allColor?.map((item) => {\n return (\n <ColorImpl\n mClass={'ml-[36px]'}\n key={item}\n handleChange={changeSVGTextColor}\n property={item}\n color={item}\n />\n );\n })}\n </div>\n </>\n )}\n </div>\n\n <button\n type=\"button\"\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\"\n onClick={onSave}\n >\n Save\n </button>\n </div>\n <div\n className=\"hidden opacity-0 transition-opacity duration-150 ease-linear data-[te-tab-active]:block\"\n id=\"tabs-layers\"\n role=\"tabpanel\"\n aria-labelledby=\"tabs-profile-tab02\"\n >\n {currentSelection === 'layer' && (\n <div className=\"\">\n {storeAllObject.map((item, index) => {\n return (\n <div className=\"innerLayer bg-slate-300 my-1\">\n <img\n className=\"rounded-lg w-14 h-8\"\n src={item ? item['icon'] : ''}\n ></img>\n <button\n className=\"up mx-1 px-2 border-solid border-2 border-slate-500 \"\n onClick={() => layerHandle(item, index, 'plus')}\n >\n UP\n </button>\n <button\n className=\"down mx-1 px-2 border-solid border-2 border-slate-500\"\n onClick={() => layerHandle(item, index, 'minus')}\n >\n DOWN\n </button>\n <button\n className=\"close mx-1 px-2 border-solid border-2 border-slate-500\"\n onClick={() => deleteElement(item)}\n >\n DELETE\n </button>\n </div>\n );\n })}\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n","import React from 'react';\nimport { MdOutlineArrowForwardIos } from 'react-icons/md';\nimport { Searchbar } from '../searchbar';\nimport { Card, CardMedia, CardBody, CardTitle } from '../card';\nimport { Button } from '../button';\nimport { shallow } from 'zustand/shallow';\nimport { use3dddPlus } from '../../store';\nimport { Loader } from '../loader';\nexport const AddMascot = () => {\n const [stockLogos, stockLogoHandler, loading] = use3dddPlus(\n (state) => [state.stockLogos, state.stockLogoHandler, state.loading],\n shallow\n );\n return (\n <>\n <div className=\"bg-[#F7F7F7] absolute z-100 w-[90%] h-full pr-[56px]\">\n <div className=\"w-full flex mt-[50px] flex-row\">\n <div className=\"w-1/2 flex justify-end\">\n <select className=\"w-[168px] mr-[24px]\">\n <option value={'all'}>All</option>\n </select>\n </div>\n <div className=\" flex-1 justify-end\">\n <Searchbar placeholder={'Search Stock Logos'}></Searchbar>\n </div>\n </div>\n <div className=\"flex flex-row gap-2\">\n <div className=\" bg-[#FFFFFF] ml-[27px] pt-[28px] w-[30%] mt-[30px]\">\n <h3 className=\"ml-[38px] mt-[28px] font-bold\">MASCOTS CATEGORY</h3>\n <Button\n label=\"Namedrops\"\n className=\"text-[15px] !w-[auto] flex-row ml-[30px] mt-[10px] bg-transparent focus:text-[#e11a38]\"\n icons={<MdOutlineArrowForwardIos />}\n onClick={undefined}\n children={undefined}\n />\n <Button\n label=\"Arrows\"\n className=\"text-[15px] !w-[auto] flex-row ml-[30px] mt-[-22px] bg-transparent focus:text-[#e11a38]\"\n icons={<MdOutlineArrowForwardIos />}\n onClick={undefined}\n children={undefined}\n />\n <Button\n label=\"Bears\"\n className=\"flex-row ml-[30px] mt-[-22px] bg-transparent focus:text-[#e11a38] text-[15px] !w-[auto]\"\n icons={<MdOutlineArrowForwardIos />}\n onClick={undefined}\n children={undefined}\n />\n <Button\n label=\"Boar\"\n className=\"flex-row ml-[30px] mt-[-22px] bg-transparent focus:text-[#e11a38] text-[15px] !w-[auto]\"\n icons={<MdOutlineArrowForwardIos />}\n onClick={undefined}\n children={undefined}\n />\n </div>\n <div className=\"flex mt-[30px] overflow-y-auto overflow-x-hidden h-[65vh] w-[70%]\">\n <div className=\"max-h-[140px] grid gap-3.5 grid-cols-3 md:grid-cols-3 lg:grid-cols-4 w-full \">\n {stockLogos.length > 0\n ? stockLogos.map((logo, index) => (\n <Card\n key={'logoImage' + index}\n cardClass={`rounded-none bg-white cursor-pointer `}\n style={{ boxShadow: '0px 0px 6px #98989829' }}\n onClick={() => stockLogoHandler(logo)}\n >\n <CardMedia src={logo} imageClass=\"h-[50px] mt-[26px]\" />\n\n <CardBody bodyClass=\"p-2.5 mt-[13px]\">\n <CardTitle\n titleClass={`text-[11px] uppercase`}\n name={'LOGO NAME'}\n />\n </CardBody>\n </Card>\n ))\n : 'No Stock Logos'}\n </div>\n </div>\n </div>\n </div>\n {loading && <Loader />}\n </>\n );\n};\n","import React from 'react';\n// import { use3dddPlus } from '../../store';\nimport { BACKDROP_BLUR, MODAL_BG_COLOR } from '../../theme';\n\nexport interface ModalProps {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport const SaveDesignModal = ({ children, className = '' }: ModalProps) => {\n // const closeDesign = use3dddPlus((state) => state.setToggleSaveDesign);\n return (\n <>\n <div className={`modal modal-middle modal-open`}>\n <div className={`${className} modal-box ${MODAL_BG_COLOR} `}>\n {children}\n </div>\n <form method=\"dialog\" className={`modal-backdrop ${BACKDROP_BLUR}`}>\n <button>close</button>\n </form>\n </div>\n </>\n );\n};","import React, { useState, useEffect } from 'react';\nimport {\n BUTTON_TEXT_COLOR,\n EDIT_DESIGN_INFO_BG_COLOR_4,\n EDIT_DESIGN_INFO_INPUT_BORDER_COLOR,\n EDIT_DESIGN_INFO_TEXT_COLOR_1,\n EDIT_DESIGN_INFO_TEXT_COLOR_2,\n EDIT_DESIGN_INFO_TEXT_COLOR_3,\n INPUT_ERROR_BORDER_COLOR,\n INPUT_ERROR_TEXT_COLOR,\n SAVEBUTTON_BG_COLOR,\n SECONDARY_COLOR,\n TEXT_SIZE_12,\n TEXT_SIZE_4,\n TEXT_SIZE_5,\n TEXT_SIZE_9,\n} from '../../theme';\nimport { RxCross2 } from 'react-icons/rx';\nimport { use3dddPlus } from '../../store';\nimport { SaveDesignModal } from './saveDesignModal';\nimport './saveDesign.css';\n\nexport const SaveDesign = () => {\n const [designNameValidation, setDesignNameValidation] = useState('');\n const [tagName, setTagName] = useState('');\n const [commaInTagName, setCommaInTagName] = useState(false);\n const [\n canvas,\n designName,\n designTag,\n closeModal,\n toggleSaveDesign,\n disableSaveButton,\n saveLogo,\n uploadLogoConfig,\n ] = use3dddPlus((state) => [\n state.fabricCanvas,\n state.designName,\n state.designTag,\n state.setToggleSaveDesign,\n state.toggleSaveDesign,\n state.disableSaveButton,\n state.saveLogo,\n state.uploadLogoConfig,\n ]);\n\n useEffect(() => {\n return () => {};\n }, []);\n\n const checkValidations = () => {\n const nameValidation = designName.length >= 3;\n if (!nameValidation) {\n setDesignNameValidation('length');\n return nameValidation;\n } else {\n const reg = /^[a-zA-Z0-9 ]+$/;\n const regTest = reg.test(designName);\n if (!!regTest) {\n setDesignNameValidation('');\n return nameValidation;\n }\n return false;\n }\n };\n const onSaveHandler = async () => {\n if (!checkValidations()) return;\n const dataURL = canvas.toDataURL();\n\n const canvasData = use3dddPlus.getState().applyColorFill();\n // const canvasGetobject = canvas.getObjects();\n // canvasData.objects.forEach((element, index) => {\n // element.colorFill = canvasGetobject[index].colorFill;\n // });\n const dataCh = JSON.stringify(canvasData);\n const S3UrlPath = await uploadLogoConfig(dataCh, 117015);\n const raw = JSON.stringify({\n customer_id: 117015,\n tag: designTag.join(''),\n name: designName,\n base64_image: dataURL,\n logo_config_url: S3UrlPath,\n });\n saveLogo(raw).then(() => {\n closeModal('', false, '', {});\n alert('Logo Saved Successfully');\n });\n };\n\n useEffect(() => {\n if (tagName !== '') {\n const reg = /^[a-zA-Z0-9 ]+$/;\n const regTest = reg.test(tagName);\n\n if (!regTest) {\n setCommaInTagName(true);\n } else if (!!commaInTagName) {\n setCommaInTagName(false);\n }\n } else if (!!commaInTagName) {\n setCommaInTagName(false);\n }\n }, [tagName]);\n\n useEffect(() => {\n if (designName !== '') {\n const reg = /^[a-zA-Z0-9 ]+$/;\n const regTest = reg.test(designName);\n if (!regTest) {\n setDesignNameValidation('specialCharacter');\n } else if (designNameValidation === 'specialCharacter') {\n setDesignNameValidation('');\n }\n } else if (designNameValidation === 'specialCharacter') {\n setDesignNameValidation('');\n }\n }, [designName]);\n\n const handleTagChange = (event: any) => {\n if (event?.target?.value !== ' ') {\n setTagName(event.target.value);\n }\n };\n\n const handleKeyDown = (event: any) => {\n if (designTag.length > 4 && tagName !== '') {\n event.preventDefault();\n alert('Maximum number of tag can be 5');\n setTagName('');\n return;\n }\n\n if (\n event.key === 'Enter' ||\n event.key === 'Tab' ||\n (event.keyCode === 188 && tagName !== '') ||\n (event.type === 'blur' && tagName !== '')\n ) {\n event.preventDefault();\n\n const reg = /^[a-zA-Z0-9 ]+$/;\n const regTest = reg.test(tagName);\n if (!regTest) {\n setCommaInTagName(true);\n return;\n }\n if (!!regTest) {\n tagName !== '' && handleAdd();\n }\n } else if (tagName === '' && event.key === 'Backspace') {\n handleBackspace();\n }\n };\n\n const handleNameChange = (value) => {\n use3dddPlus.setState({ designName: value });\n if (designNameValidation === 'length') {\n setDesignNameValidation('');\n }\n };\n\n const handleAdd = () => {\n let newList = [...designTag];\n if (!newList.includes(tagName.trim())) {\n newList.push(tagName.trim());\n }\n use3dddPlus.setState({ designTag: newList.filter(Boolean) });\n setTagName('');\n };\n\n const handleBackspace = () => {\n let newList = [...designTag];\n newList.pop();\n use3dddPlus.setState({ designTag: newList.filter(Boolean) });\n };\n\n const handleDelete = (e) => {\n const newList = designTag.filter((item) => item !== e);\n use3dddPlus.setState({ designTag: newList });\n };\n const onCancelHandler = () => {\n closeModal('', false, '', {});\n };\n return (\n <SaveDesignModal\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]\n `}\n >\n <button\n className=\"absolute right-[0.6875rem] top-[0.6875rem] px-[0.75rem] py-[0.75rem] hover:bg-[#E11A38] hover:text-[#ffffff] hover:rounded-none\"\n onClick={() => {\n use3dddPlus.getState().goBack();\n closeModal('', false, '', {});\n }}\n >\n <RxCross2 strokeWidth={1} />\n </button>\n\n <div className={`flex h-max w-full`}>\n <div\n className={`w-full md:px-[112px] md:p-[98px] p-[30px] bg-white h-full flex justify-center`}\n >\n <div className=\"w-full\">\n <span\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}\n `}\n >\n {toggleSaveDesign.title}\n </span>\n <div>\n <div className=\"relative\">\n <input\n type=\"text\"\n id=\"exampleFormControlInput2\"\n name=\"designName\"\n className={`${\n designNameValidation === 'length'\n ? 'mb-[1rem]'\n : 'mb-[1.25rem]'\n } ${\n designNameValidation === 'length'\n ? `border ${INPUT_ERROR_BORDER_COLOR}`\n : `border ${EDIT_DESIGN_INFO_INPUT_BORDER_COLOR}`\n } designNameInput bg-white w-full h-[3rem] rounded-none focus:outline-none border ${EDIT_DESIGN_INFO_INPUT_BORDER_COLOR} ${TEXT_SIZE_9} py-[0.8125rem] px-4 block leading-[1.25rem] ${EDIT_DESIGN_INFO_TEXT_COLOR_3} font-medium`}\n placeholder=\" \"\n value={designName}\n onChange={(e) =>\n handleNameChange(e?.target?.value?.trimStart())\n }\n onClick={(e) => {\n e.currentTarget.focus();\n }}\n />\n <label\n htmlFor=\"exampleFormControlInput2\"\n className={`designNameLabel px-[0.125rem] absolute left-4 transition-all ${TEXT_SIZE_9} ${EDIT_DESIGN_INFO_TEXT_COLOR_2} top-1/2 transform -translate-y-1/2`}\n >\n Design Name\n </label>\n </div>\n {designNameValidation === 'length' && (\n <div\n role=\"alert\"\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-[1.25rem]`}\n >\n * Please enter a name with at least 3 characters\n </div>\n )}\n {designNameValidation === 'specialCharacter' && (\n <div\n role=\"alert\"\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-[1.25rem]`}\n >\n * Design Name can not have any special characters\n </div>\n )}\n <div\n className={`relative flex flex-row py-[0.695rem] border ${EDIT_DESIGN_INFO_INPUT_BORDER_COLOR} mb-5 flex-wrap place-content-start`}\n >\n <div className=\"flex flex-row gap-[0.5rem] flex-wrap items-center px-[1rem]\">\n {Array.isArray(designTag) &&\n designTag?.map((el: any, i) => (\n <div\n key={i}\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}`}\n >\n {el}\n <button onClick={() => handleDelete(el)}>\n <RxCross2\n className={`${EDIT_DESIGN_INFO_TEXT_COLOR_1} font-bold`}\n />\n </button>\n </div>\n ))}\n\n <div>\n <input\n name=\"tags\"\n type=\"text\"\n placeholder=\" \"\n className={`designTagsInput ${EDIT_DESIGN_INFO_TEXT_COLOR_3} font-medium block w-[6.25rem] focus:outline-none`}\n value={tagName}\n onChange={handleTagChange}\n onKeyDown={handleKeyDown}\n onBlur={handleKeyDown}\n id=\"exampleFormControlInput3\"\n onClick={(e) => {\n e.currentTarget.focus();\n }}\n />\n <label\n htmlFor=\"exampleFormControlInput3\"\n className={`py-[0.695rem] ${\n designTag?.length > 0 ? 'tagClass' : ''\n } designTagsLabel px-[0.125rem] ${TEXT_SIZE_9} ${EDIT_DESIGN_INFO_TEXT_COLOR_2} font-medium leading-[1.25rem] absolute transition-all top-1/2 transform -translate-y-1/2`}\n >\n Tags\n </label>\n </div>\n </div>\n </div>\n {!!commaInTagName && (\n <div\n role=\"alert\"\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-5`}\n >\n * Tag Name can not have any special characters\n </div>\n )}\n\n <div\n className={`${\n !disableSaveButton ? 'flex flex-col lg:flex-row' : ''\n } gap-[19px] leading-[23px] font-bold ${TEXT_SIZE_4}`}\n >\n {toggleSaveDesign.key === 'save' && (\n <>\n <button\n className={`md:btn-md lg:w-2/5 w-full rounded-none uppercase active:bg-violet-700 ${SAVEBUTTON_BG_COLOR} ${BUTTON_TEXT_COLOR}`}\n onClick={() => onSaveHandler()}\n >\n SAVE\n </button>\n <button\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 `}\n onClick={() => onCancelHandler()}\n >\n Cancel\n </button>\n </>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n </SaveDesignModal>\n );\n};\n","import React from 'react';\nimport { Canvas } from '../canvas';\nimport { use3dddPlus } from '../../store';\nimport { shallow } from 'zustand/shallow';\nimport { UploadLogo } from '../uploadLogo';\nimport { Rightmenu } from '../Rightmenu';\nimport { AddMascot } from '../addMascot';\nimport { MyLogo } from '../myLogo';\nimport { SaveDesign } from '../saveDesign';\nexport const MiddleMenu = ({onApply}) => {\n const [selectedStepper, toggleSaveDesign, loadingLogo] = use3dddPlus(\n (state) => [\n state.selectedStepper,\n state.toggleSaveDesign,\n state.loadingLogo,\n ],\n shallow\n );\n React.useEffect(() => {\n if (selectedStepper === 2) loadingLogo('');\n }, []);\n return (\n <>\n <div className=\" flex flex-col md:flex-row flex-1 z-0 w-[90%] h-full\">\n <div className=\"flex w-[70%] h-[100%]\">\n <Canvas />\n </div>\n {toggleSaveDesign.status && <SaveDesign />}\n <div className=\"flex-1 z-10 h-[100%] \">\n <Rightmenu />\n </div>\n </div>\n {selectedStepper === 1 && <UploadLogo />}\n {selectedStepper === 4 && <AddMascot />}\n {selectedStepper === 2 && <MyLogo onApply={onApply}/>}\n </>\n );\n};\n","import React from 'react';\nimport './index.css';\nimport { use3dddPlus } from './store';\n// import { createRoot } from 'react-dom/client';\nimport * as Components from './components';\nimport * as services from './services';\nimport { LeftMenu } from './components/leftMenu';\nimport { MiddleMenu } from './components/middleMenu';\n// import { Modal } from './components';\n\n// import { ToastContainer, toast } from 'react-toastify';\n// Please do not use types off of a default export module or else Storybook Docs will suffer.\n// see: https://github.com/storybookjs/storybook/issues/9556\n/**\n * A custom App component. Neat!\n */\nconst LogoEditor = ({\n stepperId,\n onApply,\n customLogoColorList,\n defaultColorList,\n logoData,\n}) => {\n const [setSelectedStepper, myLogoHandler] = use3dddPlus((state) => [\n state.setSelectedStepper,\n state.myLogoHandler,\n ]);\n React.useEffect(() => {\n setSelectedStepper(stepperId);\n if (stepperId == undefined) {\n myLogoHandler(logoData);\n\n console.log('logoData', logoData);\n }\n }, [stepperId]);\n\n React.useEffect(() => {\n use3dddPlus.setState({ customUploadLogoColorList: customLogoColorList });\n }, [customLogoColorList]);\n React.useEffect(() => {\n use3dddPlus.setState({ defaultColorList: defaultColorList });\n }, [defaultColorList]);\n console.log('defaultColorList', defaultColorList);\n\n return (\n // <Modal\n // backdropStyle={`z-[7]`}\n // contentStyle={\n // 'top-0 absolute overflow-hidden border-2 border-indigo-600 roboto-bold h-[88vh] m-[auto] z-[7] !mr-[auto] max-w-[73%] w-[100%] md:w-[auto] p-0'\n // }\n // >\n <div className=\" flex flex-col md:flex-row w-full h-[88vh]\">\n <div className=\"lg:w-[10%]\">\n <LeftMenu />\n </div>\n <div className=\" flex h-full w-[90%]\">\n <MiddleMenu onApply={onApply} />\n </div>\n </div>\n // </Modal>\n );\n};\n// const container = document.getElementById('root');\n// const root = createRoot(container!); // createRoot(container!) if you use TypeScript\n// const [customUploadLogoColorList, defaultColorList] = use3dddPlus((state) => [\n// state.customUploadLogoColorList,\n// state.defaultColorList,\n// ]);\n// root.render(\n// <LogoEditor\n// stepperId={1}\n// onApply={''}\n// customLogoColorList={customUploadLogoColorList}\n// defaultColorList={defaultColorList}\n// />\n// );\n\nexport { LogoEditor, Components, use3dddPlus, services };\n"],"names":["graphqlSlice","set","get","displayLoginModal","showProductBreakUpModal","status","value","loadDesignModal","productInfoModal","toggleSaveDesign","key","title","details","showModalAfterLogin","undefined","selectedDesign","changeModel","alert","confirmDesignModal","confirmUpdateDesignModal","toggleSuccessfullDesign","designUpdateSuccessfulModal","getListFromRack","setSelectedDesign","selected","setLoadDesignModal","loadDesign","setToggleSaveDesign","setConfirmDesignModal","setConfirmUpdateDesignModal","state","setToggleSuccessfullDesign","setProductInfoModal","editDesignInfo","saveDesignModal","use3dddPlus","setState","current","getState","navigateTo","designName","designNotes","designTag","string","characters","i","charAt","Math","floor","random","length","designNumber","customerId","toggleLoginModal","setShowModalAfterLogin","disableSaveButton","_unused","share","saveRackSuccessfulModal","setSaveRackSuccessfulModal","toggleAction","toogleShowProductBreakUpModal","disableUpdate","productBreakup","baseURL","process","env","REACT_APP_LAMBDA_URL","instance","axios","create","timeout","headers","Authorization","responseBody","response","data","requests","url","then","post","body","put","_delete","lambdaSlice","_set","_get","lambdaClient","loadingLogo","_loadingLogo","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","wrap","_callee$","_context","prev","next","loading","Error","sent","retriveLogoDesign","abrupt","t0","console","error","stop","_x","apply","arguments","getStockLogos","_getStockLogos","_callee2","_callee2$","_context2","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","id","name","path","ProductMedium","Image_URL","type","__typename","flipY","getImageURL","getCookie","cname","decodedCookie","decodeURIComponent","document","cookie","ca","split","c","substring","indexOf","setCookie","cvalue","exdays","d","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","e","x","which","keycode","preventDefault","clearSessionStorage","sessionStorage","removeItem","getSessionStorage","sName","getItem","setSessionStorage","setItem","authSlice","customUploadLogoColorList","defaultColorList","priceLevel","clearLoginInfo","authType","cardCode","customerEmail","customerType","generateCustomizerToken","setInCookies","customizerToken","setCustomizerToken","_extends","isLoggedIn","historySlice","history","page","concat","goBack","previousPage","pop","fabricSlice","logoData","setLogoData","allColor","selectedStepper","setSelectedStepper","storeHistory","fabricCanvas","popupCanv","textInfo","uploadImageModalDisplay","currentSelection","activeSelection","selectedAll","colorFill","storeAllObject","iconImage","HideControls","tl","tr","bl","br","ml","mt","mr","mb","mtr","showContextMenu","forStoringAllObject","unshift","forIconCapture","activeObject","getActiveObject","dataURL","toDataURL","left","top","width","scaleX","height","scaleY","nameCounter","duplicateObject","clipboard","clone","cloned","clonedObj","discardActiveObject","evented","canvas","forEachObject","obj","add","setCoords","setActiveObject","requestRenderAll","_objects","updateModifaction","deleteButtonControls","count","skipEvent","undo","clear","renderAll","loadFromJSON","redo","moveDown","element","moveUp","moveRight","moveLeft","applyColorFill","canvasData","toJSON","canvasGetobject","getObjects","objects","forEach","index","toSet","push","contextMenuCoordinates","y","stockLogoHandler","log","logos","now","testSVG","fabric","loadSVGFromURL","options","loadedObject","util","groupSVGElements","scaleToWidth","scaleToHeight","objImage","_Fills","ele","strokeWidth","fillColor","fill","removeDuplicates","fillColors","centerObject","icon","myLogoHandler","jsonData","logo_config_url","requestOptions","method","fetch","text","result","loadingRetrivedFiles","bind","uploadLogoConfig","_uploadLogoConfig","jsonConfig","bucketName","region","S3","microTime","filePath","params","s3UrlPath","REACT_APP_BUCKET","REACT_APP_REGION","AWS","config","update","accessKeyId","REACT_APP_ACCESSKEY","secretAccessKey","REACT_APP_SECRET_ACCESSKEY","Bucket","Key","Body","ContentType","Promise","resolve","reject","putObject","err","TIFFParser","tiffDataView","littleEndian","fileDirectories","prototype","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","r","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","ceil","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","j","pixelSamples","red","green","blue","opacity","k","invertValue","samples","colorMapIndex","fillRect","converterSlice","file","setFile","tiffConvert","_tiffConvert","tiffParser","canvasEl","arrayBuffer","tiffCanvas","imageUrl","imageToSVG","ImageTracer","svgstr","loadSVGFromString","_C","RGBToHex","setControlVisible","arr","filter","rgb","sep","substr","changeSVGColor","property","color","previousColor","addText","Text","lineHeight","fontFamily","fontWeight","stroke","paintFirst","padding","fontSize","charSpacing","lockScalingFlip","layer0","setControlsVisibility","pdfConverter","_resolve","reader","FileReader","onload","readAsArrayBuffer","threedddPlusState","actionSlice","subscribeWithSelector","datasbase","Button","_ref","label","icons","onClick","className","children","React","IconButtonLabel","_ref$className","_ref$label","_ref$iconPosition","iconPosition","props","_objectWithoutPropertiesLoose","_excluded","EditButton","SECONDARY_COLOR","BORDER_COLOR_1","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","SEARCH_ICON_COLOR","SEARCHBAR_BORDER_COLOR","CANVAS_MENU_TEXT","TAG_TEXT_COLOR","SAVERACK_TEXT_COLOR","SAVEBUTTON_BG_COLOR","EDIT_DESIGN_INFO_TEXT_COLOR_1","EDIT_DESIGN_INFO_TEXT_COLOR_2","EDIT_DESIGN_INFO_TEXT_COLOR_3","EDIT_DESIGN_INFO_INPUT_BORDER_COLOR","EDIT_DESIGN_INFO_BG_COLOR_4","INPUT_ERROR_BORDER_COLOR","INPUT_ERROR_TEXT_COLOR","Icon","forwardRef","ref","tooltip","useTooltipState","placement","TooltipReference","as","Tooltip","style","zIndex","IconButton","_ref2","_ref2$size","size","_ref2$icon","_excluded2","IconContext","Provider","RLogo","GenIcon","tag","attr","xmlns","viewBox","child","fillRule","transform","MyLogo","AddMascots","AddText","ProductColor","FlipH","FlipV","SelectAll","rx","Copy","Paste","SendToBack","SendToFront","SendAObject","SendUnderObject","EyeDropper","Delete","ActionButtons","_use3dddPlus","shallow","selectAllHandler","sel","ActiveSelection","deleteHandler","remove","splice","canvasActions","disabled","visible","MdLayers","CgUndo","CgRedo","initCanvas","onObjectSelected","_e$selected","_e$selected$","canv","getAllColors","onObjectDeselected","onObjectUpdated","_e$selected2","_e$selected2$","onObjectMoving","target","getBoundingRect","max","min","Canvas","centeredScaling","preserveObjectStacking","backgroundColor","stopContextMenu","deleteImg","src","rotateImg","settingImg","Object","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","render","settingControl","rect","getElement","getBoundingClientRect","clientX","clientY","eventData","canvasTarget","actionHandler","controlsUtils","rotationWithSnapping","actionName","withConnection","Set","_canv$getObjects","flat","on","ContextMenu","activeObj","sendBackwards","bringForward","sendToBack","bringToFront","copy","menu","onclick","canvasRef","useRef","resizeCanvas","outerCanvasContainer","getElementById","parentElement","containerWidth","clientWidth","scale","getWidth","zoom","getZoom","setWidth","setHeight","parseInt","clientHeight","getHeight","setViewportTransform","useEffect","addEventListener","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","event","selectedFile","_event$target$files","files","handleDragEnter","handleDragLeave","handleDrop","droppedFile","dataTransfer","onDragEnter","onDragLeave","onDragOver","onDrop","htmlFor","MdOutlineFileUpload","_fileInputRef$current","onChange","accept","ColorPalette","_ref$previousClass","previousClass","_ref$mainIndex","mainIndex","handleColorChange","_ref$mainClass","mainClass","selectColor","setSelectColor","colorList","handleColorClick","ColorBox","boxClass","_ref2$boxClass","ColorImpl","displayPallet","setdisplayPallet","_useState2","setColor","handleChange","background","mClass","Initpopup","popupcanvas","toActiveSelection","cursorUrl","defaultCursor","hoverCursor","PopUpCanvas","popupCanvas","colorCount","setColorCount","handleColorCountChange","Number","mouseClick","getPointer","containsPoint","popupCanvasCancel","popupCanvasContinue","objs","alltogetherObj","Group","keys","_Object$keys","CgArrowRight","GiDrop","MdOutlineCancel","UploadLogo","setSelectedFile","svgConverter","ext","pdfData","tiffData","objectURL","lastIndexOf","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","SortButton","SortByDropdown","isDropdownOpen","setIsDropdownOpen","toggleDropdown","BsSortDown","Loader","_ref$position","_ref$height","loaderRef","onApply","_React$useState","logoSelected","setLogoSelected","handleEditLogo","handleApplyLogo","logo_url","LeftMenu","StepperList","display","step","ImageEdit","nudgeMove","flipX","_activeSelection$ownM","ownMatrixCache","fontFamilies","Rightmenu","initTE","Tab","textSelected","textAlignDisplay","setTextAlignDisplay","outlineVal","setOutlineVal","_useState3","spacingVal","setSpacinglineVal","_useState4","sliderValue","setSliderValue","_useState5","bold","italic","underline","fontStyle","setFontStyle","_useState6","activeButton","setActiveButton","onTextChange","lines","textAlignHandler","handleSliderChange","fontChange","font","FontFace","load","_document$fonts","fonts","classList","textColorChange","aCoords","textOutlineHandler","valueAsNumber","strokeColorChange","textSpacingHandler","textStyle","_extends2","layerHandle","num","currentObject","changeArr","fromIndex","toIndex","deleteElement","changeSVGTextColor","SelectedObjet","onSave","unSub","subscribe","_current","_previous","list","FiAlignLeft","FiAlignCenter","FiAlignRight","AddMascot","MdOutlineArrowForwardIos","SaveDesignModal","SaveDesign","designNameValidation","setDesignNameValidation","tagName","setTagName","commaInTagName","setCommaInTagName","closeModal","checkValidations","nameValidation","reg","regTest","test","onSaveHandler","dataCh","S3UrlPath","raw","customer_id","base64_image","handleTagChange","_event$target","handleKeyDown","keyCode","handleAdd","handleBackspace","handleNameChange","newList","trim","Boolean","handleDelete","onCancelHandler","_e$target","_e$target$value","trimStart","Array","isArray","el","onKeyDown","MiddleMenu","LogoEditor","stepperId","customLogoColorList"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"logoeditor.cjs.development.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../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/store/converters/index.ts","../src/store/index.ts","../src/components/button/button.tsx","../src/components/button/iconButton.tsx","../src/components/button/editButton.tsx","../src/theme.ts","../src/components/icon/icon.tsx","../src/components/icon/rLogo.tsx","../src/components/icon/myLogo.tsx","../src/components/icon/addMascot.tsx","../src/components/icon/addText.tsx","../src/components/icon/productColor.tsx","../src/components/icon/flipH.tsx","../src/components/icon/flipV.tsx","../src/components/icon/selectAll.tsx","../src/components/icon/copy.tsx","../src/components/icon/paste.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/canvas/canvasButtons.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/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/components/loader/loader.tsx","../src/components/myLogo/myLogo.tsx","../src/components/leftMenu/leftMenu.tsx","../src/components/Rightmenu/imageEdit.tsx","../src/components/Rightmenu/Rightmenu.tsx","../src/components/addMascot/addMascot.tsx","../src/components/saveDesign/saveDesignModal.tsx","../src/components/saveDesign/saveDesign.tsx","../src/components/middleMenu/middleMenu.tsx","../src/index.tsx"],"sourcesContent":["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","import { StateCreator } from 'zustand';\nimport { use3dddPlus } from '..';\nimport { Design } from '../customize/types';\n\nexport interface ActionSlice {\n displayLoginModal: boolean;\n showProductBreakUpModal: { status: boolean; value: any };\n loadDesignModal: boolean;\n productInfoModal: any;\n toggleSaveDesign: {\n key: string;\n status: boolean;\n title: string;\n details: any;\n };\n showModalAfterLogin?: void;\n changeModel: () => void;\n editDesignInfo: () => void;\n\n saveDesignModal: () => void;\n setLoadDesignModal: (loadDesign: boolean) => void;\n setProductInfoModal: () => any;\n setToggleSaveDesign: (\n key: string,\n status: boolean,\n title: string,\n details: any\n ) => void;\n share: () => void;\n toggleLoginModal: () => void;\n confirmDesignModal: { status: boolean; value: string };\n setConfirmDesignModal: (status: boolean, value: string) => void;\n toggleSuccessfullDesign: boolean;\n setToggleSuccessfullDesign: () => void;\n selectedDesign: any;\n setSelectedDesign: (selected: Design) => void;\n saveRackSuccessfulModal: boolean;\n setSaveRackSuccessfulModal: () => void;\n setShowModalAfterLogin: (toggleAction: any) => void; //Due to current functionality, toggleAction can have callback function of different types\n disableUpdate: boolean;\n confirmUpdateDesignModal: boolean;\n setConfirmUpdateDesignModal: () => void;\n designUpdateSuccessfulModal: boolean;\n getListFromRack: () => boolean;\n toogleShowProductBreakUpModal: (status: boolean, value: any) => void;\n productBreakup: any[];\n}\n\nconst graphqlSlice: StateCreator<ActionSlice> = (set, get) => {\n return {\n displayLoginModal: false,\n showProductBreakUpModal: {\n status: false,\n value: {},\n },\n loadDesignModal: false,\n productInfoModal: false,\n toggleSaveDesign: { key: 'save', status: false, title: '', details: {} },\n showModalAfterLogin: undefined,\n selectedDesign: {},\n changeModel: () => {\n alert('function not implemented');\n },\n confirmDesignModal: { status: false, value: '' },\n confirmUpdateDesignModal: false,\n toggleSuccessfullDesign: false,\n designUpdateSuccessfulModal: false,\n getListFromRack: () => {\n return false;\n },\n setSelectedDesign: (selected) => {\n set({ selectedDesign: selected });\n },\n setLoadDesignModal: (loadDesign) => {\n set({ loadDesignModal: loadDesign });\n },\n setToggleSaveDesign: (key, status, title, details) => {\n set({\n toggleSaveDesign: {\n key: key,\n status: status,\n title: title,\n details: details,\n },\n });\n },\n setConfirmDesignModal: (status, value) => {\n set({ confirmDesignModal: { status: status, value: value } });\n },\n setConfirmUpdateDesignModal: () => {\n set((state) => ({\n confirmUpdateDesignModal: !state.confirmUpdateDesignModal,\n }));\n },\n setToggleSuccessfullDesign: () => {\n set((state) => ({\n toggleSuccessfullDesign: !state.toggleSuccessfullDesign,\n }));\n },\n setProductInfoModal: () => {\n set((state) => ({ productInfoModal: !state.productInfoModal }));\n },\n\n editDesignInfo: () => {\n alert('function not implemented');\n },\n // rack: () => {\n // alert('function not implemented');\n // },\n\n saveDesignModal: () => {\n try {\n use3dddPlus.setState({ current: 'saveCTA' });\n use3dddPlus.getState().navigateTo('savePopUp');\n use3dddPlus.setState({ designName: '' });\n use3dddPlus.setState({ designNotes: '' });\n use3dddPlus.setState({ designTag: [] });\n let string = '';\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\n\n for (let i = 0; i < 7; i++) {\n string += characters.charAt(\n Math.floor(Math.random() * characters.length)\n );\n }\n use3dddPlus.setState({ designNumber: string });\n\n\n if (!use3dddPlus.getState().customerId) {\n get().toggleLoginModal();\n get().setShowModalAfterLogin(() => {\n use3dddPlus\n .getState()\n .setToggleSaveDesign('save', true, 'Save Your Design', {});\n });\n return;\n }\n get().setToggleSaveDesign('save', true, 'Save Your Design', {});\n use3dddPlus.setState({ disableSaveButton: false });\n } catch {}\n },\n\n \n share: () => {\n alert('function not implemented');\n },\n toggleLoginModal: () => {\n set((state) => ({ displayLoginModal: !state.displayLoginModal }));\n },\n\n saveRackSuccessfulModal: false,\n setSaveRackSuccessfulModal: () => {\n set((state) => ({\n saveRackSuccessfulModal: !state.saveRackSuccessfulModal,\n }));\n },\n setShowModalAfterLogin: (toggleAction) => {\n use3dddPlus.setState({ showModalAfterLogin: toggleAction });\n },\n toogleShowProductBreakUpModal: (status, value) => {\n set({ showProductBreakUpModal: { status: status, value: value } });\n },\n disableUpdate: false,\n productBreakup: [],\n };\n};\n\nexport default graphqlSlice;\n","import axios, { AxiosInstance, AxiosResponse } from 'axios';\n\nexport const baseURL = process.env.REACT_APP_LAMBDA_URL;\n\n// TODO remove ts-ignore; CreateAxiosDefaults<any> not building npm package. \n// @ts-ignore\nexport const instance: AxiosInstance = axios.create({\n baseURL: baseURL,\n timeout: 15000,\n headers: {\n 'Content-Type': 'application/json',\n Authorization: 'jxnhh7rk7gpjtnp1o1besdaip3pd2560',\n },\n});\n\nexport const responseBody = (response: AxiosResponse) => response.data;\n\nexport const requests = {\n get: (url: string) => instance.get(url).then(responseBody),\n post: (url: string, body: {}) => instance.post(url, body).then(responseBody),\n put: (url: string, body: {}) => instance.put(url, body).then(responseBody),\n delete: (url: string) => instance.delete(url).then(responseBody),\n};\n","import { StateCreator } from 'zustand';\nimport { requests } from '../../axios/index';\nimport { use3dddPlus } from '..';\n\n// const useSampleResponses = process.env.REACT_APP_USE_SAMPLE_RESPONSES;\n\n\nexport interface LambdaSlice {\n\n lambdaClient: any;\n\n loadingLogo: (data: any) => void;\n getStockLogos: () => void;\n saveLogo: (data: any) => any; \n}\n\nconst lambdaSlice: StateCreator<LambdaSlice> = (_set, _get) => {\n return {\n lambdaClient: requests,\n\n loadingLogo: async (data: any) => {\n try {\n use3dddPlus.setState({ loading: true });\n if (!requests) {\n throw new Error('lambdaClient Not Found');\n }\n const response = await requests.get(\n `/editor-logo/117015?searchText=+${data}`\n );\n use3dddPlus.setState({ loading: false });\n const res = await response;\n use3dddPlus.setState({ retriveLogoDesign: res });\n return response;\n } catch (error) {\n console.error(error);\n use3dddPlus.setState({ loading: false });\n throw new Error(error);\n }\n },\n getStockLogos: async () => {\n try {\n use3dddPlus.setState({ loading: true });\n if (!requests) {\n throw new Error('lambdaClient Not Found');\n }\n const response = await requests.get('/mascot-logos');\n use3dddPlus.setState({ loading: false });\n const res = await response;\n use3dddPlus.setState({ stockLogos: res });\n return res;\n } catch (error) {\n console.error(error);\n use3dddPlus.setState({ loading: false });\n throw new Error(error);\n }\n },\n saveLogo: async (logo) => {\n try {\n use3dddPlus.setState({ loading: true });\n if (!requests) {\n throw new Error('lambdaClient Not Found');\n }\n const response = await requests.post('/editor-logo', logo);\n use3dddPlus.setState({ loading: false });\n return response;\n } catch (error) {\n console.error(error);\n use3dddPlus.setState({ loading: false });\n throw new Error(error);\n }\n },\n };\n};\n\nexport default lambdaSlice;\n","import { StateCreator } from 'zustand';\nexport interface SaveDesignSlice {\n disableSaveButton: boolean;\n designNumber: string;\n designImageUrl: string;\n designProofPdfUrl: string;\n designTag: string[];\n designName: string;\n designNotes: string;\n designConfig: string;\n designId: number;\n hasDesignNumber: () => boolean;\n showSaveCTA: boolean;\n showSaveRackCTA: boolean;\n}\n\nexport const saveDesignSlice: StateCreator<SaveDesignSlice> = (_set, get) => {\n return {\n disableSaveButton: false,\n designNumber: '',\n designImageUrl: '',\n designProofPdfUrl: '',\n designTag: [],\n designName: '',\n designNotes: '',\n designConfig: '',\n designId: undefined,\n hasDesignNumber: () => !!get().designNumber,\n showSaveCTA: true,\n showSaveRackCTA: true,\n };\n};\n\nexport default SaveDesignSlice;\n","\n// import { Texture } from '../store/customize/types';\n\nconst _oldURL = process.env.REACT_APP_IMAGE_URL_OLD!;\nconst _newURL = process.env.REACT_APP_IMAGE_URL!;\nexport const URLMapping = (url: string) => {\n // check if th url has old or new url paths\n if (url.includes(_oldURL)) {\n return url.replace(_oldURL, _newURL);\n }\n // if it has old then relace to new\n else if (url.includes(_newURL)) return url;\n // if it doesnot have nay then add new\n else {\n return _newURL + url;\n }\n};\n\n// export const getTextureDataFromId = (id) => {\n// const textureData = use3dddPlus.getState().productTextures;\n\n// // const textureData = [];\n// return textureData.filter((texture) => texture.id === id).filter(Boolean)[0];\n// };\n\nexport const constructMappingItem = (texture?: any, item?: any) => {\n return {\n id: item?.id,\n name: item?.name,\n path: item?.ProductMedium.Image_URL,\n type: item?.__typename,\n flipY: texture ? texture.flipY : false,\n };\n};\n\nexport const getImageURL = (path: string) => {\n return process.env.REACT_APP_IMAGE_URL + path; //item?.ProductMedium?.Image_URL\n};\n","export function getCookie(cname: string) {\n let name = cname + '=';\n let decodedCookie = decodeURIComponent(document.cookie);\n let ca = decodedCookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1);\n }\n if (c.indexOf(name) == 0) {\n return c.substring(name.length, c.length);\n }\n }\n return '';\n}\n\nexport function setCookie(cname: string, cvalue: any, exdays: number) {\n const d = new Date();\n d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);\n let expires = 'expires=' + d.toUTCString();\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/';\n}\n\nexport const clearCookie = (cname: string, cvalue = '') => {\n const d = new Date();\n d.setTime(d.getTime());\n let expires = 'expires=' + d.toUTCString();\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/';\n};\n","import CryptoJS from 'crypto-js';\nexport const encryptToken = (data: any) => {\n return CryptoJS.AES.encrypt(\n JSON.stringify(data),\n 'secret key 123'\n ).toString();\n};\nexport const decryptToken = (ciphertext: string) => {\n var bytes = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');\n return JSON.parse(bytes.toString(CryptoJS.enc.Utf8));\n};\n\nexport const getProjectId = () => {\n const queryString = window.location.search;\n const urlParams = new URLSearchParams(queryString);\n const projectId = urlParams.get('projectId');\n return projectId || process.env.REACT_APP_3DDDPLUS_PROJECTID;\n};\n\nexport function parseJwt(token) {\n var base64Url = token.split('.')[1];\n var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n var jsonPayload = decodeURIComponent(\n window\n ?.atob(base64)\n ?.split('')\n ?.map(function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join('')\n );\n\n return JSON.parse(jsonPayload);\n}\n","//import { use3dddPlus } from '../store';\n\n// export const getDomImage = () => {\n// var strMime = 'image/jpeg';\n// const imgData = use3dddPlus.getState().gl.domElement.toDataURL(strMime);\n\n// return dataURItoBlob(imgData);\n// };\n\nexport function dataURItoBlob(dataURI) {\n // convert base64 to raw binary data held in a string\n // doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this\n var byteString = atob(dataURI.split(',')[1]);\n\n // separate out the mime component\n // var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];\n\n // write the bytes of the string to an ArrayBuffer\n var ab = new ArrayBuffer(byteString.length);\n var ia = new Uint8Array(ab);\n for (var i = 0; i < byteString.length; i++) {\n ia[i] = byteString.charCodeAt(i);\n }\n\n //Old Code\n //write the ArrayBuffer to a blob, and you're done\n //var bb = new BlobBuilder();\n //bb.append(ab);\n //return bb.getBlob(mimeString);\n\n //New Code\n return new File([ab], new Date().getTime() + '_configuration' + '.jpg', {\n type: 'image/jpeg',\n // lastModified: new Date(),\n });\n}\n","// function called to save image\nexport const saveFile = function (strData: string, filename: string) {\n let link = document.createElement('a');\n document.body.appendChild(link);\n link.download = filename;\n link.href = strData;\n link.click();\n document.body.removeChild(link);\n};\n","// The key code condition we provided refers to the following key ranges:\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'.\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'.\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'.\n// 4. `(x >= 32 && x <= 32)`: This condition checks for the spacebar key. The key code 32 represents the space character.\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.\n\n\nexport const restrictSpecialCharacters = function (e) {\n const x = e.which || e.keycode;\n if (\n (x >= 97 && x <= 122) ||\n (x >= 48 && x <= 57) ||\n (x >= 65 && x <= 90) ||\n (x >= 32 && x <= 32)\n ) {\n return true;\n } else return e.preventDefault();\n};","export const clearSessionStorage = (cname: string) => {\n sessionStorage.removeItem(cname);\n};\n\nexport const getSessionStorage = (sName: string) => {\n return sessionStorage.getItem(sName);\n};\n\nexport const setSessionStorage = (cname: string, cvalue: any) => {\n sessionStorage.setItem(cname, cvalue);\n};\n","import { StateCreator } from 'zustand';\nimport {\n clearCookie,\n decryptToken,\n encryptToken,\n getCookie,\n setCookie,\n} from '../../services';\nimport {\n clearSessionStorage,\n getSessionStorage,\n setSessionStorage,\n} from '../../services/sessionStorage';\n\nexport interface AuthSlice {\n authType?: string;\n cardCode?: string;\n customerEmail?: string;\n customerId?: number;\n customerType?: string;\n priceLevel: string;\n token?: string;\n clearLoginInfo: () => void;\n generateCustomizerToken: (setInCookies?: boolean) => void;\n setCustomizerToken: () => void;\n isLoggedIn: () => boolean;\n customUploadLogoColorList: any[];\n defaultColorList: any[];\n}\n\nexport const authSlice: StateCreator<AuthSlice> = (set, get) => {\n return {\n customUploadLogoColorList: [],\n defaultColorList: [],\n priceLevel: '',\n token: '',\n clearLoginInfo: () => {\n clearCookie('customizerToken');\n clearSessionStorage('customizerToken');\n set({\n authType: '',\n cardCode: '',\n customerEmail: '',\n customerId: null,\n customerType: '',\n priceLevel: '',\n token: '',\n });\n },\n generateCustomizerToken: (setInCookies = true) => {\n const authType = get().authType;\n const cardCode = get().cardCode;\n const customerEmail = get().customerEmail;\n const customerId = get().customerId;\n const customerType = get().priceLevel;\n const token = get().token;\n\n const customizerToken = encryptToken({\n authType,\n cardCode,\n customerEmail,\n customerId,\n customerType,\n token,\n });\n if (setInCookies) {\n setCookie('customizerToken', customizerToken, 1);\n } else {\n setSessionStorage('customizerToken', customizerToken);\n }\n },\n setCustomizerToken: () => {\n const customizerToken: any =\n getSessionStorage('customizerToken') || getCookie('customizerToken');\n\n if (!customizerToken) return;\n const decrypt: any = decryptToken(customizerToken);\n\n set({\n ...decrypt,\n });\n },\n isLoggedIn: () => (!!get().customerId ? true : false),\n };\n};\n\nexport default AuthSlice;\n","import { StateCreator } from 'zustand';\n// import { use3dddPlus } from '..';\n\nexport interface HistorySlice {\n history: string[];\n current: string;\n navigateTo: (page: string) => void;\n goBack: () => void;\n}\n\nexport const historySlice: StateCreator<HistorySlice> = (set, _get) => {\n return {\n history: [],\n current: '',\n navigateTo: (page: string) => {\n set((state) => ({\n history: [...state.history, state.current],\n current: page,\n }));\n },\n goBack: () => {\n set((state) => {\n if (state.history.length > 0) {\n const previousPage = state.history.pop()!;\n return {\n history: [...state.history],\n current: previousPage,\n };\n }\n return state;\n });\n },\n }\n}\nexport default HistorySlice;\n","import { StateCreator } from 'zustand';\nimport { fabric } from 'fabric';\nimport { use3dddPlus } from '..';\nimport AWS from 'aws-sdk';\nexport interface FabricSlice {\n loading: Boolean;\n selectedStepper?: any;\n setSelectedStepper?: (selectedStepper: any) => void;\n storeHistory: any;\n count: number;\n stockLogos: [];\n retriveLogoDesign: [];\n fabricCanvas: any;\n popupCanv: any;\n textInfo: string;\n uploadImageModalDisplay: boolean;\n currentSelection: string;\n activeSelection: any;\n selectedAll: boolean;\n colorFill: any;\n // colorFillPopup : {},\n storeAllObject: [];\n iconImage: string;\n HideControls: any;\n showContextMenu: boolean;\n forStoringAllObject: (data: any) => void;\n forIconCapture: () => void;\n duplicateObject: () => void;\n deleteButtonControls: () => void;\n undo: () => void;\n redo: () => void;\n moveDown: (element) => void;\n moveUp: (element) => void;\n moveRight: (element) => void;\n moveLeft: (element) => void;\n applyColorFill: () => any;\n updateModifaction: (saveHistory: boolean) => void;\n nameCounter: any;\n contextMenuCoordinates: { x: number; y: number };\n stockLogoHandler: (e: any) => void;\n testSVG: (data: any) => void;\n myLogoHandler: (logo: any) => void;\n loadingRetrivedFiles: (data: any) => void;\n allColor: any;\n uploadLogoConfig: (jsonConfig: any, customerId: any) => any;\n logoData: any;\n setLogoData: (logo: any) => void;\n}\n\nexport const fabricSlice: StateCreator<FabricSlice> = (set, get) => {\n return {\n logoData: null,\n setLogoData: (logoData) => set({ logoData }),\n allColor: [],\n loading: true,\n selectedStepper: 1,\n setSelectedStepper: (selectedStepper) => set({ selectedStepper }),\n storeHistory: [],\n stockLogos: [],\n retriveLogoDesign: [],\n fabricCanvas: null,\n popupCanv: null,\n textInfo: 'NEW TEXT',\n uploadImageModalDisplay: false,\n currentSelection: 'layer',\n activeSelection: null,\n selectedAll: false,\n colorFill: {},\n // colorFillPopup : {},\n storeAllObject: [],\n iconImage: '',\n HideControls: {\n tl: true,\n tr: true,\n bl: true, //false\n br: true,\n ml: false,\n mt: false,\n mr: false,\n mb: false,\n mtr: true,\n // 'cornerColor':'yellow'\n },\n showContextMenu: false,\n\n forStoringAllObject: (data) => {\n //@ts-ignore\n get().storeAllObject.unshift(data); //FOR PUSHING THE ARRAY RESERVE\n },\n forIconCapture: () => {\n const activeObject = get().fabricCanvas.getActiveObject();\n if (activeObject) {\n const dataURL = get().fabricCanvas.toDataURL({\n left: activeObject.left,\n top: activeObject.top,\n width: activeObject.width * activeObject.scaleX,\n height: activeObject.height * activeObject.scaleY,\n });\n set({ iconImage: dataURL });\n }\n },\n nameCounter: 0,\n duplicateObject: () => {\n let clipboard;\n get()\n .fabricCanvas.getActiveObject()\n .clone((cloned) => {\n clipboard = cloned;\n });\n clipboard.clone((clonedObj) => {\n get().fabricCanvas.discardActiveObject();\n clonedObj.set({\n left: clonedObj.left + 10,\n top: clonedObj.top + 10,\n evented: true,\n });\n if (clonedObj.type === 'activeSelection') {\n clonedObj.canvas = get().fabricCanvas;\n clonedObj.forEachObject((obj: any) => {\n get().fabricCanvas.add(obj);\n });\n clonedObj.setCoords();\n } else {\n get().fabricCanvas.add(clonedObj);\n }\n clipboard.top += 10;\n clipboard.left += 10;\n get().fabricCanvas.setActiveObject(clonedObj);\n get().fabricCanvas.requestRenderAll();\n clonedObj._objects.map((data) => {\n get().forStoringAllObject(data);\n });\n });\n get().updateModifaction(true);\n },\n deleteButtonControls: () => {\n // console.log(deleteIcon,'SELECTED......',getObj);\n },\n count: 0,\n skipEvent: false,\n undo: () => {\n if (get().count < get().storeHistory.length) {\n get().fabricCanvas.clear().renderAll();\n get().fabricCanvas.loadFromJSON(\n get().storeHistory[get().storeHistory.length - 1 - get().count - 1]\n );\n get().fabricCanvas.renderAll();\n get().count += 1;\n }\n },\n redo: () => {\n if (get().count > 0) {\n get().fabricCanvas.clear().renderAll();\n get().fabricCanvas.loadFromJSON(\n get().storeHistory[get().storeHistory.length - 1 - get().count + 1]\n );\n get().fabricCanvas.renderAll();\n get().count -= 1;\n }\n },\n moveDown: (element) => {\n element.top = element.top + 2;\n get().fabricCanvas.renderAll();\n },\n moveUp: (element) => {\n element.top = element.top - 2;\n get().fabricCanvas.renderAll();\n },\n moveRight: (element) => {\n element.left = element.left + 2;\n get().fabricCanvas.renderAll();\n },\n moveLeft: (element) => {\n element.left = element.left - 2;\n get().fabricCanvas.renderAll();\n },\n applyColorFill: () => {\n const canvasData = get().fabricCanvas.toJSON();\n const canvasGetobject = get().fabricCanvas.getObjects();\n canvasData.objects.forEach((element: any, index: any) => {\n element.colorFill = canvasGetobject[index].colorFill;\n });\n return canvasData;\n },\n updateModifaction: (toSet) => {\n if (toSet) {\n get().storeHistory.push(get().applyColorFill());\n }\n },\n\n contextMenuCoordinates: { x: 0, y: 0 },\n stockLogoHandler: (e: any) => {\n console.log(e);\n // let logos = get().stockLogos[e.target.id];\n //@ts-ignore\n let logos = e + '?timestamp=' + Date.now();\n use3dddPlus.setState({ selectedStepper: undefined });\n get().testSVG(logos);\n },\n testSVG: (data) => {\n fabric.loadSVGFromURL(data, (objects, options) => {\n const loadedObject = fabric.util.groupSVGElements(objects, options);\n // console.log(svg)\n loadedObject.scaleToWidth(100);\n loadedObject.scaleToHeight(100);\n //@ts-ignore\n let objImage = loadedObject._objects;\n let _Fills = [];\n objImage.forEach((ele) => {\n ele.set({ strokeWidth: 0 });\n use3dddPlus.setState({ fillColor: [...ele.fill] });\n _Fills.push(ele.fill);\n });\n use3dddPlus.setState({\n //@ts-ignore\n fillColor: use3dddPlus.getState().removeDuplicates(_Fills),\n });\n //@ts-ignore\n _Fills = use3dddPlus.getState().removeDuplicates(_Fills);\n const fillColors = {};\n _Fills.map((item, index) => {\n fillColors['layer' + index] = item;\n });\n use3dddPlus.setState({ colorFill: fillColors });\n loadedObject.set({\n //@ts-ignore\n colorFill: fillColors,\n });\n get().fabricCanvas.add(loadedObject).renderAll();\n get().fabricCanvas.centerObject(loadedObject);\n get().fabricCanvas.setActiveObject(loadedObject);\n use3dddPlus.setState({ activeSelection: loadedObject });\n use3dddPlus.getState().forStoringAllObject(loadedObject);\n get()\n .fabricCanvas.getActiveObject()\n .toDataURL(function (data) {\n console.log('00000', data);\n });\n\n use3dddPlus.getState().forIconCapture();\n //@ts-ignore\n loadedObject.icon = use3dddPlus.getState().iconImage;\n });\n },\n myLogoHandler: (logo: any) => {\n\n let jsonData = logo.logo_config_url;\n var requestOptions = {\n method: 'GET',\n };\n fetch(jsonData, requestOptions)\n .then((response) => response.text())\n .then((result) => get().loadingRetrivedFiles(result))\n .catch((error) => console.log('error', error));\n },\n // loadingRetrivedFiles: (data: any) => {\n // let canvas = use3dddPlus.getState().fabricCanvas;\n // canvas.loadFromJSON(JSON.parse(data), function () {\n // canvas.renderAll.bind(canvas);\n // use3dddPlus.setState({ selectedStepper: undefined });\n\n // let objImage = canvas?.getObjects()._objects;\n // let _Fills = [];\n // objImage?.forEach((ele) => {\n // ele.set({ strokeWidth: 0 });\n // use3dddPlus.setState({ fillColor: [...ele.fill] });\n // _Fills.push(ele.fill);\n // });\n // use3dddPlus.setState({\n // //@ts-ignore\n // fillColor: use3dddPlus.getState().removeDuplicates(_Fills),\n // });\n // //@ts-ignore\n // _Fills = use3dddPlus.getState().removeDuplicates(_Fills);\n // const fillColors = {};\n // _Fills.map((item, index) => {\n // fillColors['layer' + index] = item;\n // });\n // use3dddPlus.setState({ colorFill: fillColors });\n // canvas?.getObjects().set({\n // colorFill: fillColors,\n // // setControlVisible:false,\n // });\n // });\n // },\n\n loadingRetrivedFiles: (data: any) => {\n let canvas = use3dddPlus.getState().fabricCanvas;\n canvas.loadFromJSON(JSON.parse(data), function () {\n canvas.renderAll();\n use3dddPlus.setState({ selectedStepper: undefined });\n let objImage = canvas?.getObjects();\n objImage?.forEach((ele) => {\n if (ele.type === 'path') {\n // Assuming SVG paths have fill property\n const fillColor = ele.fill;\n ele.set({ strokeWidth: 0 });\n use3dddPlus.setState({ fillColor: [...fillColor] });\n }\n });\n let _Fills = objImage\n ?.filter((ele) => ele.type === 'path')\n .map((ele) => ele.fill);\n _Fills = use3dddPlus.getState().removeDuplicates(_Fills);\n const fillColors = _Fills.reduce((colors, item, index) => {\n colors['layer' + index] = item;\n return colors;\n }, {});\n use3dddPlus.setState({\n fillColor: _Fills,\n colorFill: fillColors,\n });\n\n objImage\n ?.filter((ele) => ele.type === 'path')\n .forEach((obj) => {\n obj.set({ colorFill: fillColors });\n });\n\n canvas?.renderAll();\n });\n },\n uploadLogoConfig: async (jsonConfig, customerId) => {\n const bucketName = process.env.REACT_APP_BUCKET;\n const region = process.env.REACT_APP_REGION;\n AWS.config.update({\n accessKeyId: process.env.REACT_APP_ACCESSKEY,\n secretAccessKey: process.env.REACT_APP_SECRET_ACCESSKEY,\n });\n const S3 = new AWS.S3({\n params: { Bucket: bucketName },\n region: region,\n });\n\n const microTime = Date.now();\n const filePath = `my-logos/logo-config/${customerId}/${microTime}.json`;\n const params = {\n Bucket: bucketName,\n Key: filePath,\n Body: jsonConfig,\n ContentType: 'application/json',\n };\n\n const s3UrlPath = `https://${bucketName}.s3.${region}.amazonaws.com/${filePath}`;\n return new Promise((resolve, reject) => {\n S3.putObject(params, function (err: any) {\n if (err) {\n console.log('Error occurred while connecting S3 bucket!', err);\n reject(err);\n } else {\n resolve(s3UrlPath);\n }\n });\n });\n },\n };\n};\n\nexport default FabricSlice;\n","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n\n'use strict';\n\nexport function TIFFParser() {\n this.tiffDataView = undefined;\n this.littleEndian = undefined;\n this.fileDirectories = [];\n}\n\nTIFFParser.prototype = {\n isLittleEndian: function () {\n // Get byte order mark.\n var BOM = this.getBytes(2, 0);\n\n // Find out the endianness.\n if (BOM === 0x4949) {\n this.littleEndian = true;\n } else if (BOM === 0x4d4d) {\n this.littleEndian = false;\n } else {\n console.log(BOM);\n throw TypeError('Invalid byte order value.');\n }\n\n return this.littleEndian;\n },\n\n hasTowel: function () {\n // Check for towel.\n if (this.getBytes(2, 2) !== 42) {\n throw RangeError('You forgot your towel!');\n return false;\n }\n\n return true;\n },\n\n getFieldTagName: function (fieldTag) {\n // See: http://www.digitizationguidelines.gov/guidelines/TIFF_Metadata_Final.pdf\n // See: http://www.digitalpreservation.gov/formats/content/tiff_tags.shtml\n var fieldTagNames = {\n // TIFF Baseline\n 0x013b: 'Artist',\n 0x0102: 'BitsPerSample',\n 0x0109: 'CellLength',\n 0x0108: 'CellWidth',\n 0x0140: 'ColorMap',\n 0x0103: 'Compression',\n 0x8298: 'Copyright',\n 0x0132: 'DateTime',\n 0x0152: 'ExtraSamples',\n 0x010a: 'FillOrder',\n 0x0121: 'FreeByteCounts',\n 0x0120: 'FreeOffsets',\n 0x0123: 'GrayResponseCurve',\n 0x0122: 'GrayResponseUnit',\n 0x013c: 'HostComputer',\n 0x010e: 'ImageDescription',\n 0x0101: 'ImageLength',\n 0x0100: 'ImageWidth',\n 0x010f: 'Make',\n 0x0119: 'MaxSampleValue',\n 0x0118: 'MinSampleValue',\n 0x0110: 'Model',\n 0x00fe: 'NewSubfileType',\n 0x0112: 'Orientation',\n 0x0106: 'PhotometricInterpretation',\n 0x011c: 'PlanarConfiguration',\n 0x0128: 'ResolutionUnit',\n 0x0116: 'RowsPerStrip',\n 0x0115: 'SamplesPerPixel',\n 0x0131: 'Software',\n 0x0117: 'StripByteCounts',\n 0x0111: 'StripOffsets',\n 0x00ff: 'SubfileType',\n 0x0107: 'Threshholding',\n 0x011a: 'XResolution',\n 0x011b: 'YResolution',\n\n // TIFF Extended\n 0x0146: 'BadFaxLines',\n 0x0147: 'CleanFaxData',\n 0x0157: 'ClipPath',\n 0x0148: 'ConsecutiveBadFaxLines',\n 0x01b1: 'Decode',\n 0x01b2: 'DefaultImageColor',\n 0x010d: 'DocumentName',\n 0x0150: 'DotRange',\n 0x0141: 'HalftoneHints',\n 0x015a: 'Indexed',\n 0x015b: 'JPEGTables',\n 0x011d: 'PageName',\n 0x0129: 'PageNumber',\n 0x013d: 'Predictor',\n 0x013f: 'PrimaryChromaticities',\n 0x0214: 'ReferenceBlackWhite',\n 0x0153: 'SampleFormat',\n 0x022f: 'StripRowCounts',\n 0x014a: 'SubIFDs',\n 0x0124: 'T4Options',\n 0x0125: 'T6Options',\n 0x0145: 'TileByteCounts',\n 0x0143: 'TileLength',\n 0x0144: 'TileOffsets',\n 0x0142: 'TileWidth',\n 0x012d: 'TransferFunction',\n 0x013e: 'WhitePoint',\n 0x0158: 'XClipPathUnits',\n 0x011e: 'XPosition',\n 0x0211: 'YCbCrCoefficients',\n 0x0213: 'YCbCrPositioning',\n 0x0212: 'YCbCrSubSampling',\n 0x0159: 'YClipPathUnits',\n 0x011f: 'YPosition',\n\n // EXIF\n 0x9202: 'ApertureValue',\n 0xa001: 'ColorSpace',\n 0x9004: 'DateTimeDigitized',\n 0x9003: 'DateTimeOriginal',\n 0x8769: 'Exif IFD',\n 0x9000: 'ExifVersion',\n 0x829a: 'ExposureTime',\n 0xa300: 'FileSource',\n 0x9209: 'Flash',\n 0xa000: 'FlashpixVersion',\n 0x829d: 'FNumber',\n 0xa420: 'ImageUniqueID',\n 0x9208: 'LightSource',\n 0x927c: 'MakerNote',\n 0x9201: 'ShutterSpeedValue',\n 0x9286: 'UserComment',\n\n // IPTC\n 0x83bb: 'IPTC',\n\n // ICC\n 0x8773: 'ICC Profile',\n\n // XMP\n 0x02bc: 'XMP',\n\n // GDAL\n 0xa480: 'GDAL_METADATA',\n 0xa481: 'GDAL_NODATA',\n\n // Photoshop\n 0x8649: 'Photoshop',\n };\n\n var fieldTagName;\n\n if (fieldTag in fieldTagNames) {\n fieldTagName = fieldTagNames[fieldTag];\n } else {\n console.log('Unknown Field Tag:', fieldTag);\n fieldTagName = 'Tag' + fieldTag;\n }\n\n return fieldTagName;\n },\n\n getFieldTypeName: function (fieldType) {\n var fieldTypeNames = {\n 0x0001: 'BYTE',\n 0x0002: 'ASCII',\n 0x0003: 'SHORT',\n 0x0004: 'LONG',\n 0x0005: 'RATIONAL',\n 0x0006: 'SBYTE',\n 0x0007: 'UNDEFINED',\n 0x0008: 'SSHORT',\n 0x0009: 'SLONG',\n 0x000a: 'SRATIONAL',\n 0x000b: 'FLOAT',\n 0x000c: 'DOUBLE',\n };\n\n var fieldTypeName;\n\n if (fieldType in fieldTypeNames) {\n fieldTypeName = fieldTypeNames[fieldType];\n }\n\n return fieldTypeName;\n },\n\n getFieldTypeLength: function (fieldTypeName) {\n var fieldTypeLength;\n\n if (['BYTE', 'ASCII', 'SBYTE', 'UNDEFINED'].indexOf(fieldTypeName) !== -1) {\n fieldTypeLength = 1;\n } else if (['SHORT', 'SSHORT'].indexOf(fieldTypeName) !== -1) {\n fieldTypeLength = 2;\n } else if (['LONG', 'SLONG', 'FLOAT'].indexOf(fieldTypeName) !== -1) {\n fieldTypeLength = 4;\n } else if (\n ['RATIONAL', 'SRATIONAL', 'DOUBLE'].indexOf(fieldTypeName) !== -1\n ) {\n fieldTypeLength = 8;\n }\n\n return fieldTypeLength;\n },\n\n getBits: function (numBits, byteOffset, bitOffset) {\n bitOffset = bitOffset || 0;\n var extraBytes = Math.floor(bitOffset / 8);\n var newByteOffset = byteOffset + extraBytes;\n var totalBits = bitOffset + numBits;\n var shiftRight = 32 - numBits;\n\n if (totalBits <= 0) {\n console.log(numBits, byteOffset, bitOffset);\n throw RangeError('No bits requested');\n } else if (totalBits <= 8) {\n var shiftLeft = 24 + bitOffset;\n var rawBits = this.tiffDataView.getUint8(\n newByteOffset,\n this.littleEndian\n );\n } else if (totalBits <= 16) {\n var shiftLeft = 16 + bitOffset;\n var rawBits = this.tiffDataView.getUint16(\n newByteOffset,\n this.littleEndian\n );\n } else if (totalBits <= 32) {\n var shiftLeft = bitOffset;\n var rawBits = this.tiffDataView.getUint32(\n newByteOffset,\n this.littleEndian\n );\n } else {\n console.log(numBits, byteOffset, bitOffset);\n throw RangeError('Too many bits requested');\n }\n\n var chunkInfo = {\n bits: (rawBits << shiftLeft) >>> shiftRight,\n byteOffset: newByteOffset + Math.floor(totalBits / 8),\n bitOffset: totalBits % 8,\n };\n\n return chunkInfo;\n },\n\n getBytes: function (numBytes, offset) {\n if (numBytes <= 0) {\n console.log(numBytes, offset);\n throw RangeError('No bytes requested');\n } else if (numBytes <= 1) {\n return this.tiffDataView.getUint8(offset, this.littleEndian);\n } else if (numBytes <= 2) {\n return this.tiffDataView.getUint16(offset, this.littleEndian);\n } else if (numBytes <= 3) {\n return this.tiffDataView.getUint32(offset, this.littleEndian) >>> 8;\n } else if (numBytes <= 4) {\n return this.tiffDataView.getUint32(offset, this.littleEndian);\n } else {\n console.log(numBytes, offset);\n throw RangeError('Too many bytes requested');\n }\n },\n\n getFieldValues: function (\n fieldTagName,\n fieldTypeName,\n typeCount,\n valueOffset\n ) {\n var fieldValues = [];\n\n var fieldTypeLength = this.getFieldTypeLength(fieldTypeName);\n var fieldValueSize = fieldTypeLength * typeCount;\n\n if (fieldValueSize <= 4) {\n // The value is stored at the big end of the valueOffset.\n if (this.littleEndian === false) {\n var value = valueOffset >>> ((4 - fieldTypeLength) * 8);\n } else {\n var value = valueOffset;\n }\n\n fieldValues.push(value);\n } else {\n for (var i = 0; i < typeCount; i++) {\n var indexOffset = fieldTypeLength * i;\n\n if (fieldTypeLength >= 8) {\n if (['RATIONAL', 'SRATIONAL'].indexOf(fieldTypeName) !== -1) {\n // Numerator\n fieldValues.push(this.getBytes(4, valueOffset + indexOffset));\n // Denominator\n fieldValues.push(this.getBytes(4, valueOffset + indexOffset + 4));\n //\t\t\t\t\t} else if (['DOUBLE'].indexOf(fieldTypeName) !== -1) {\n //\t\t\t\t\t\tfieldValues.push(this.getBytes(4, valueOffset + indexOffset) + this.getBytes(4, valueOffset + indexOffset + 4));\n } else {\n console.log(fieldTypeName, typeCount, fieldValueSize);\n throw TypeError(\"Can't handle this field type or size\");\n }\n } else {\n fieldValues.push(\n this.getBytes(fieldTypeLength, valueOffset + indexOffset)\n );\n }\n }\n }\n\n if (fieldTypeName === 'ASCII') {\n fieldValues.forEach(function (e, i, a) {\n a[i] = String.fromCharCode(e);\n });\n }\n\n return fieldValues;\n },\n\n clampColorSample: function (colorSample, bitsPerSample) {\n var multiplier = Math.pow(2, 8 - bitsPerSample);\n\n return Math.floor(colorSample * multiplier + (multiplier - 1));\n },\n\n makeRGBAFillValue: function (r, g, b, a) {\n if (typeof a === 'undefined') {\n a = 1.0;\n }\n return 'rgba(' + r + ', ' + g + ', ' + b + ', ' + a + ')';\n },\n\n parseFileDirectory: function (byteOffset) {\n var numDirEntries = this.getBytes(2, byteOffset);\n\n var tiffFields = [];\n\n for (\n var i = byteOffset + 2, entryCount = 0;\n entryCount < numDirEntries;\n i += 12, entryCount++\n ) {\n var fieldTag = this.getBytes(2, i);\n var fieldType = this.getBytes(2, i + 2);\n var typeCount = this.getBytes(4, i + 4);\n var valueOffset = this.getBytes(4, i + 8);\n\n var fieldTagName = this.getFieldTagName(fieldTag);\n var fieldTypeName = this.getFieldTypeName(fieldType);\n\n var fieldValues = this.getFieldValues(\n fieldTagName,\n fieldTypeName,\n typeCount,\n valueOffset\n );\n\n tiffFields[fieldTagName] = { type: fieldTypeName, values: fieldValues };\n }\n\n this.fileDirectories.push(tiffFields);\n\n var nextIFDByteOffset = this.getBytes(4, i);\n\n if (nextIFDByteOffset === 0x00000000) {\n return this.fileDirectories;\n } else {\n return this.parseFileDirectory(nextIFDByteOffset);\n }\n },\n\n parseTIFF: function (tiffArrayBuffer, canvas) {\n canvas = canvas || document.createElement('canvas');\n\n console.log(tiffArrayBuffer);\n\n this.tiffDataView = new DataView(tiffArrayBuffer);\n this.canvas = canvas;\n\n this.littleEndian = this.isLittleEndian(this.tiffDataView);\n\n if (!this.hasTowel(this.tiffDataView, this.littleEndian)) {\n return;\n }\n\n var firstIFDByteOffset = this.getBytes(4, 4);\n\n this.fileDirectories = this.parseFileDirectory(firstIFDByteOffset);\n\n var fileDirectory = this.fileDirectories[0];\n\n console.log(fileDirectory);\n\n var imageWidth = fileDirectory.ImageWidth.values[0];\n var imageLength = fileDirectory.ImageLength.values[0];\n\n this.canvas.width = imageWidth;\n this.canvas.height = imageLength;\n\n var strips = [];\n\n var compression = fileDirectory.Compression\n ? fileDirectory.Compression.values[0]\n : 1;\n\n var samplesPerPixel = fileDirectory.SamplesPerPixel.values[0];\n\n var sampleProperties = [];\n\n var bitsPerPixel = 0;\n var hasBytesPerPixel = false;\n\n fileDirectory.BitsPerSample.values.forEach(function (\n bitsPerSample,\n i,\n bitsPerSampleValues\n ) {\n sampleProperties[i] = {\n bitsPerSample: bitsPerSample,\n hasBytesPerSample: false,\n bytesPerSample: undefined,\n };\n\n if (bitsPerSample % 8 === 0) {\n sampleProperties[i].hasBytesPerSample = true;\n sampleProperties[i].bytesPerSample = bitsPerSample / 8;\n }\n\n bitsPerPixel += bitsPerSample;\n },\n this);\n\n if (bitsPerPixel % 8 === 0) {\n hasBytesPerPixel = true;\n var bytesPerPixel = bitsPerPixel / 8;\n }\n\n var stripOffsetValues = fileDirectory.StripOffsets.values;\n var numStripOffsetValues = stripOffsetValues.length;\n\n // StripByteCounts is supposed to be required, but see if we can recover anyway.\n if (fileDirectory.StripByteCounts) {\n var stripByteCountValues = fileDirectory.StripByteCounts.values;\n } else {\n console.log('Missing StripByteCounts!');\n\n // Infer StripByteCounts, if possible.\n if (numStripOffsetValues === 1) {\n var stripByteCountValues = [\n Math.ceil((imageWidth * imageLength * bitsPerPixel) / 8),\n ];\n } else {\n throw Error('Cannot recover from missing StripByteCounts');\n }\n }\n\n // Loop through strips and decompress as necessary.\n for (var i = 0; i < numStripOffsetValues; i++) {\n var stripOffset = stripOffsetValues[i];\n strips[i] = [];\n\n var stripByteCount = stripByteCountValues[i];\n\n // Loop through pixels.\n for (\n var byteOffset = 0,\n bitOffset = 0,\n jIncrement = 1,\n getHeader = true,\n pixel = [],\n numBytes = 0,\n sample = 0,\n currentSample = 0;\n byteOffset < stripByteCount;\n byteOffset += jIncrement\n ) {\n // Decompress strip.\n switch (compression) {\n // Uncompressed\n case 1:\n // Loop through samples (sub-pixels).\n for (var m = 0, pixel = []; m < samplesPerPixel; m++) {\n if (sampleProperties[m].hasBytesPerSample) {\n // XXX: This is wrong!\n var sampleOffset = sampleProperties[m].bytesPerSample * m;\n\n pixel.push(\n this.getBytes(\n sampleProperties[m].bytesPerSample,\n stripOffset + byteOffset + sampleOffset\n )\n );\n } else {\n var sampleInfo = this.getBits(\n sampleProperties[m].bitsPerSample,\n stripOffset + byteOffset,\n bitOffset\n );\n\n pixel.push(sampleInfo.bits);\n\n byteOffset = sampleInfo.byteOffset - stripOffset;\n bitOffset = sampleInfo.bitOffset;\n\n throw RangeError('Cannot handle sub-byte bits per sample');\n }\n }\n\n strips[i].push(pixel);\n\n if (hasBytesPerPixel) {\n jIncrement = bytesPerPixel;\n } else {\n jIncrement = 0;\n\n throw RangeError('Cannot handle sub-byte bits per pixel');\n }\n break;\n\n // CITT Group 3 1-Dimensional Modified Huffman run-length encoding\n case 2:\n // XXX: Use PDF.js code?\n break;\n\n // Group 3 Fax\n case 3:\n // XXX: Use PDF.js code?\n break;\n\n // Group 4 Fax\n case 4:\n // XXX: Use PDF.js code?\n break;\n\n // LZW\n case 5:\n // XXX: Use PDF.js code?\n break;\n\n // Old-style JPEG (TIFF 6.0)\n case 6:\n // XXX: Use PDF.js code?\n break;\n\n // New-style JPEG (TIFF Specification Supplement 2)\n case 7:\n // XXX: Use PDF.js code?\n break;\n\n // PackBits\n case 32773:\n // Are we ready for a new block?\n if (getHeader) {\n getHeader = false;\n\n var blockLength = 1;\n var iterations = 1;\n\n // The header byte is signed.\n var header = this.tiffDataView.getInt8(\n stripOffset + byteOffset,\n this.littleEndian\n );\n\n if (header >= 0 && header <= 127) {\n // Normal pixels.\n blockLength = header + 1;\n } else if (header >= -127 && header <= -1) {\n // Collapsed pixels.\n iterations = -header + 1;\n } /*if (header === -128)*/ else {\n // Placeholder byte?\n getHeader = true;\n }\n } else {\n var currentByte = this.getBytes(1, stripOffset + byteOffset);\n\n // Duplicate bytes, if necessary.\n for (var m = 0; m < iterations; m++) {\n if (sampleProperties[sample].hasBytesPerSample) {\n // We're reading one byte at a time, so we need to handle multi-byte samples.\n currentSample =\n (currentSample << (8 * numBytes)) | currentByte;\n numBytes++;\n\n // Is our sample complete?\n if (numBytes === sampleProperties[sample].bytesPerSample) {\n pixel.push(currentSample);\n currentSample = numBytes = 0;\n sample++;\n }\n } else {\n throw RangeError('Cannot handle sub-byte bits per sample');\n }\n\n // Is our pixel complete?\n if (sample === samplesPerPixel) {\n strips[i].push(pixel);\n\n pixel = [];\n sample = 0;\n }\n }\n\n blockLength--;\n\n // Is our block complete?\n if (blockLength === 0) {\n getHeader = true;\n }\n }\n\n jIncrement = 1;\n break;\n\n // Unknown compression algorithm\n default:\n // Do not attempt to parse the image data.\n break;\n }\n }\n\n //\t\t\tconsole.log( strips[i] );\n }\n\n //\t\tconsole.log( strips );\n\n if (canvas.getContext) {\n var ctx = this.canvas.getContext('2d');\n\n // Set a default fill style.\n ctx.fillStyle = this.makeRGBAFillValue(255, 255, 255, 0);\n\n // If RowsPerStrip is missing, the whole image is in one strip.\n if (fileDirectory.RowsPerStrip) {\n var rowsPerStrip = fileDirectory.RowsPerStrip.values[0];\n } else {\n var rowsPerStrip = imageLength;\n }\n\n var numStrips = strips.length;\n\n var imageLengthModRowsPerStrip = imageLength % rowsPerStrip;\n var rowsInLastStrip =\n imageLengthModRowsPerStrip === 0\n ? rowsPerStrip\n : imageLengthModRowsPerStrip;\n\n var numRowsInStrip = rowsPerStrip;\n var numRowsInPreviousStrip = 0;\n\n var photometricInterpretation =\n fileDirectory.PhotometricInterpretation.values[0];\n\n var extraSamplesValues = [];\n var numExtraSamples = 0;\n\n if (fileDirectory.ExtraSamples) {\n extraSamplesValues = fileDirectory.ExtraSamples.values;\n numExtraSamples = extraSamplesValues.length;\n }\n\n if (fileDirectory.ColorMap) {\n var colorMapValues = fileDirectory.ColorMap.values;\n var colorMapSampleSize = Math.pow(2, sampleProperties[0].bitsPerSample);\n }\n\n // Loop through the strips in the image.\n for (var i = 0; i < numStrips; i++) {\n // The last strip may be short.\n if (i + 1 === numStrips) {\n numRowsInStrip = rowsInLastStrip;\n }\n\n var numPixels = strips[i].length;\n var yPadding = numRowsInPreviousStrip * i;\n\n // Loop through the rows in the strip.\n for (var y = 0, j = 0; y < numRowsInStrip, j < numPixels; y++) {\n // Loop through the pixels in the row.\n for (var x = 0; x < imageWidth; x++, j++) {\n var pixelSamples = strips[i][j];\n\n var red = 0;\n var green = 0;\n var blue = 0;\n var opacity = 1.0;\n\n if (numExtraSamples > 0) {\n for (var k = 0; k < numExtraSamples; k++) {\n if (\n extraSamplesValues[k] === 1 ||\n extraSamplesValues[k] === 2\n ) {\n // Clamp opacity to the range [0,1].\n opacity = pixelSamples[3 + k] / 256;\n\n break;\n }\n }\n }\n\n switch (photometricInterpretation) {\n // Bilevel or Grayscale\n // WhiteIsZero\n case 0:\n if (sampleProperties[0].hasBytesPerSample) {\n var invertValue = Math.pow(\n 0x10,\n sampleProperties[0].bytesPerSample * 2\n );\n }\n\n // Invert samples.\n pixelSamples.forEach(function (sample, index, samples) {\n samples[index] = invertValue - sample;\n });\n\n // Bilevel or Grayscale\n // BlackIsZero\n case 1:\n red =\n green =\n blue =\n this.clampColorSample(\n pixelSamples[0],\n sampleProperties[0].bitsPerSample\n );\n break;\n\n // RGB Full Color\n case 2:\n red = this.clampColorSample(\n pixelSamples[0],\n sampleProperties[0].bitsPerSample\n );\n green = this.clampColorSample(\n pixelSamples[1],\n sampleProperties[1].bitsPerSample\n );\n blue = this.clampColorSample(\n pixelSamples[2],\n sampleProperties[2].bitsPerSample\n );\n break;\n\n // RGB Color Palette\n case 3:\n if (colorMapValues === undefined) {\n throw Error('Palette image missing color map');\n }\n\n var colorMapIndex = pixelSamples[0];\n\n red = this.clampColorSample(colorMapValues[colorMapIndex], 16);\n green = this.clampColorSample(\n colorMapValues[colorMapSampleSize + colorMapIndex],\n 16\n );\n blue = this.clampColorSample(\n colorMapValues[2 * colorMapSampleSize + colorMapIndex],\n 16\n );\n break;\n\n // Transparency mask\n case 4:\n throw RangeError('Not Yet Implemented: Transparency mask');\n break;\n\n // CMYK\n case 5:\n throw RangeError('Not Yet Implemented: CMYK');\n break;\n\n // YCbCr\n case 6:\n throw RangeError('Not Yet Implemented: YCbCr');\n break;\n\n // CIELab\n case 8:\n throw RangeError('Not Yet Implemented: CIELab');\n break;\n\n // Unknown Photometric Interpretation\n default:\n throw RangeError(\n 'Unknown Photometric Interpretation:',\n photometricInterpretation\n );\n break;\n }\n\n ctx.fillStyle = this.makeRGBAFillValue(red, green, blue, opacity);\n ctx.fillRect(x, yPadding + y, 1, 1);\n }\n }\n\n numRowsInPreviousStrip = numRowsInStrip;\n }\n }\n\n /*\t\tfor (var i = 0, numFileDirectories = this.fileDirectories.length; i < numFileDirectories; i++) {\n // Stuff\n }*/\n\n return this.canvas;\n },\n};\n","import { StateCreator } from 'zustand';\nimport { TIFFParser } from '../../loaders/tiffParser';\nimport { use3dddPlus } from '..';\nimport { fabric } from 'fabric';\nimport ImageTracer from 'imagetracerjs';\n// import * as pdfjsLib from 'pdfjs-dist/build/pdf';\n// pdfjsLib.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjsLib.version}/pdf.worker.js`;\nexport interface ConverterSlice {\n fillColor: string[];\n pdfConverter: (data: any) => void;\n // convertPdfToImages: (buffer: any) => any;\n tiffConvert: (data: any) => void;\n imageToSVG: (data: any) => void;\n removeDuplicates: (arr: any) => void;\n RGBToHex: (rgb: any) => void;\n changeSVGColor: (property: any, color: any) => void;\n setFile: (file: any) => void;\n file: any;\n addText: () => void;\n}\n\nexport const converterSlice: StateCreator<ConverterSlice> = (set, get) => {\n return {\n fillColor: [],\n file: {},\n setFile: (file) => {\n set({ file });\n },\n // return new Promise((resolve, reject) => {\n // if (data) {\n // const reader = new FileReader();\n // reader.onload = async () => {\n // const buffer = reader.result;\n // try {\n // const _B = await get().convertPdfToImages(buffer);\n // resolve(_B);\n // } catch (error) {\n // reject(error);\n // }\n // };\n // reader.readAsArrayBuffer(data);\n // } else {\n // reject(new Error('No data provided.'));\n // }\n // });\n // },\n // convertPdfToImages: async (buffer) => {\n // const pdf = await pdfjsLib.getDocument({ data: new Uint8Array(buffer) })\n // .promise;\n // const scale = 2;\n // for (let pageNum = 1; pageNum <= pdf.numPages; pageNum++) {\n // const page = await pdf.getPage(pageNum);\n // const viewport = page.getViewport({ scale });\n // const canvasEl = document.createElement('canvas');\n // canvasEl.width = viewport.width;\n // canvasEl.height = viewport.height;\n // const context = canvasEl.getContext('2d');\n // await page.render({\n // canvasContext: context,\n // viewport,\n // background: 'rgba(0,0,0,0)',\n // }).promise;\n // // let objectURL = URL.createObjectURL(canvasEl);\n // const imageUrl = canvasEl.toDataURL();\n // return imageUrl;\n // // svgConverter(imageUrl);\n // /* */\n // }\n // },\n tiffConvert: async (data) => {\n const tiffParser = new TIFFParser();\n const canvasEl = document.createElement('canvas');\n canvasEl.width = 500;\n canvasEl.height = 500;\n // const context = canvasEl.getContext(\"2d\");\n const arrayBuffer = await data.arrayBuffer();\n var tiffCanvas = tiffParser.parseTIFF(arrayBuffer, canvasEl);\n const imageUrl = tiffCanvas.toDataURL();\n return imageUrl;\n },\n imageToSVG: (data) => {\n use3dddPlus.setState({ uploadImageModalDisplay: true }); // FOR POPUP CANVAS VISIBLE\n ImageTracer.imageToSVG(\n data,\n function (svgstr) {\n fabric.loadSVGFromString(\n //@ts-ignore\n new String(svgstr),\n function (objects, options) {\n let loadedObject = fabric.util.groupSVGElements(objects, options);\n // console.log(\"LOADEDOBJECT--->\",data);\n loadedObject.scaleToHeight(100);\n loadedObject.scaleToWidth(100);\n //@ts-ignore\n let objImage = loadedObject?._objects;\n let _Fills = [];\n objImage.forEach((ele: any) => {\n ele.set({ strokeWidth: 0 });\n set({ fillColor: [...ele.fill] });\n // setFillColor([...ele.fill]);\n let _C = get().RGBToHex(ele.fill);\n _Fills.push(_C);\n });\n //@ts-ignore\n set({ fillColor: get().removeDuplicates(_Fills) });\n //setFillColor(get().removeDuplicates(_Fills));\n //@ts-ignore\n _Fills = get().removeDuplicates(_Fills);\n // console.log(_Fills);\n const fillColors = {};\n _Fills.map((item, index) => {\n fillColors['layer' + index] = item;\n });\n use3dddPlus.setState({ colorFill: fillColors });\n //FOR POPUP CANVAS\n // loadedObject.set({\n // colorFill : fillColors,\n // hasControls:false,\n // hasBorders : false,\n // lockMovementX:true,\n // lockMovementY:true,\n\n // })\n // for main canvas use this\n loadedObject.set({\n colorFill: fillColors,\n //@ts-ignore\n setControlVisible: false,\n });\n // var maxWidth = 300; // your maximum width value\n // var maxHeight = 300; // your maximum height value\n // if (loadedObject.width > maxWidth || loadedObject.height > maxHeight) {\n // // Calculate new dimensions while maintaining aspect ratio\n // var aspectRatio = loadedObject.width / loadedObject.height;\n // if (aspectRatio > maxWidth / maxHeight) {\n // loadedObject.scaleToWidth(maxWidth);\n // } else {\n // loadedObject.scaleToHeight(maxHeight);\n // }\n // }\n\n //-------- use CANVAS INSTEAD OF POPCANVAS--------\n console.log('loadedObject--->', loadedObject);\n use3dddPlus.getState().popupCanv.add(loadedObject).renderAll();\n use3dddPlus.getState().popupCanv.centerObject(loadedObject);\n use3dddPlus.getState().popupCanv.setActiveObject(loadedObject);\n use3dddPlus.setState({ activeSelection: loadedObject });\n // loadedObject.setControlVisible(\"mtr\", false);\n // use3dddPlus.getState().forStoringAllObject(loadedObject);//for pushing the data into array for layers\n }\n );\n }\n // options\n //@ts-ignore\n //optionpresets.default\n );\n },\n removeDuplicates: (arr) => {\n return arr.filter((item, index) => arr.indexOf(item) === index);\n },\n\n RGBToHex: (rgb) => {\n let sep = rgb.indexOf(',') > -1 ? ',' : ' ';\n rgb = rgb.substr(4).split(')')[0].split(sep);\n let r = (+rgb[0]).toString(16),\n g = (+rgb[1]).toString(16),\n b = (+rgb[2]).toString(16);\n\n if (r.length == 1) r = '0' + r;\n if (g.length == 1) g = '0' + g;\n if (b.length == 1) b = '0' + b;\n return '#' + r + g + b;\n },\n changeSVGColor: (property, color) => {\n const fillColor = { ...use3dddPlus.getState().colorFill };\n const previousColor = fillColor[property];\n //const SelectedObjet = use3dddPlus.getState().activeSelection;\n // console.log(\"Color_CHANGING--->\",SelectedObjet.colorFill);\n // let _newObj = SelectedObjet.colorFill;\n /* Object.entries(_newObj).forEach(([key, value]) => {\n if(`${value}` === previousColor){\n console.log(`${key}: ${value}` , previousColor);\n _newObj[`${key}`] = color;\n }\n // console.log(`${key}: ${value}`)\n});*/\n // const sel = new fabric.ActiveSelection(popupCanvas.getObjects(), {\n // popupCanvas: popupCanvas,\n // });\n\n // popupCanvas.setActiveObject(sel);\n // popupCanvas.requestRenderAll();\n\n // let objImage = SelectedObjet._objects;\n let objImage = use3dddPlus\n .getState()\n .popupCanv.getActiveObject()._objects;\n objImage.forEach((ele) => {\n const _C = ele.fill.includes('#') ? ele.fill : get().RGBToHex(ele.fill);\n if (_C === previousColor) {\n ele.set({\n fill: color,\n });\n }\n });\n use3dddPlus.getState().popupCanv.renderAll();\n fillColor[property] = color;\n use3dddPlus.setState({ colorFill: fillColor });\n },\n addText: () => {\n use3dddPlus.getState().fabricCanvas.discardActiveObject();\n const text = new fabric.Text('NEW TEXT', {\n lineHeight: 1,\n fill: '#fff',\n fontFamily: 'Arial',\n fontWeight: 'normal',\n top: use3dddPlus.getState().fabricCanvas.height / 2 - 40,\n left: use3dddPlus.getState().fabricCanvas.width / 2 - 205,\n stroke: '#eb4034',\n strokeWidth: 0,\n paintFirst: 'stroke',\n //charSpacing: 0,\n padding: -1,\n fontSize: 20,\n name: 'text',\n charSpacing: -10,\n lockScalingFlip: true,\n });\n const fillColors = { layer0: text.fill };\n text.set({\n //@ts-ignore\n colorFill: fillColors,\n });\n use3dddPlus.getState().forIconCapture();\n //@ts-ignore\n text.icon = use3dddPlus.getState().iconImage;\n use3dddPlus.getState().fabricCanvas.add(text);\n use3dddPlus.getState().fabricCanvas.setActiveObject(text);\n use3dddPlus.setState({ currentSelection: 'text' });\n //@ts-ignore\n use3dddPlus.getState().deleteButtonControls(text);\n text.setControlsVisibility(use3dddPlus.getState().HideControls);\n use3dddPlus.getState().nameCounter++;\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forStoringAllObject(text); //for pushing the data into array for layers\n // use3dddPlus.setState({storeAllObject : });\n },\n pdfConverter :(data) => {\n return new Promise((_resolve, reject) => {\n if (data) {\n const reader = new FileReader();\n reader.onload = async () => {\n //const buffer = reader.result;\n // try {\n // const _B = await get().convertPdfToImages(buffer);\n // resolve(_B);\n // } catch (error) {\n // reject(error);\n // }\n };\n reader.readAsArrayBuffer(data);\n } else {\n reject(new Error('No data provided.'));\n }\n });\n },\n // convertPdfToImages: async (buffer: any) => {\n // const pdf = await pdfjsLib.getDocument({ data: new Uint8Array(buffer) })\n // .promise;\n // const scale = 2;\n // for (let pageNum = 1; pageNum <= pdf.numPages; pageNum++) {\n // const page = await pdf.getPage(pageNum);\n // const viewport = page.getViewport({ scale });\n // const canvasEl = document.createElement('canvas');\n // canvasEl.width = viewport.width;\n // canvasEl.height = viewport.height;\n // const context = canvasEl.getContext('2d');\n // await page.render({\n // canvasContext: context,\n // viewport,\n // background: 'rgba(0,0,0,0)',\n // }).promise;\n // const imageUrl = canvasEl.toDataURL();\n // return imageUrl;\n // }\n // return null;\n // },\n };\n};\nexport default ConverterSlice;\n","import { create, StateCreator } from 'zustand';\nimport {\n // createJSONStorage,\n // persist,\n subscribeWithSelector,\n} from 'zustand/middleware';\nimport actionSlice, { ActionSlice } from './actions';\nimport lambdaSlice, { LambdaSlice } from './lambda/index';\nimport SaveDesignSlice, { saveDesignSlice } from './saveDesign';\nimport AuthSlice, { authSlice } from './auth';\nimport HistorySlice, { historySlice } from './history';\nimport FabricSlice, { fabricSlice } from './fabric';\nimport ConverterSlice, { converterSlice} from './converters';\nexport type ThreedddPlus = \n ActionSlice &\n LambdaSlice &\n SaveDesignSlice &\n AuthSlice &\n HistorySlice &\n ConverterSlice &\n FabricSlice;\n\nexport const threedddPlusState: StateCreator<ThreedddPlus> = (...args) => {\n return {\n ...actionSlice(...args),\n ...lambdaSlice(...args),\n ...saveDesignSlice(...args),\n ...authSlice(...args),\n ...historySlice(...args),\n ...converterSlice(...args),\n ...fabricSlice(...args)\n };\n};\n\nexport const use3dddPlus = create(\n // persist(\n subscribeWithSelector<ThreedddPlus>(threedddPlusState)\n // , {\n // name: 'editor-store', // unique name\n // storage: createJSONStorage(() => sessionStorage), // (optional) by default, 'localStorage' is used\n // }\n // )\n);\n\n(window as any).datasbase = use3dddPlus;\n","import React from \"react\";\n\nexport const Button = ({ label, icons, onClick, className, children }) => {\n return (\n <button\n onClick={onClick}\n className={`flex rounded-none gap-3 w-full items-center p-2 m-2 ${className}`}\n >\n {icons}\n {label}\n {children}\n </button>\n );\n};\n","import React from 'react';\nimport { Button } from 'reakit';\n\nexport const IconButtonLabel = ({\n icon,\n onClick,\n className = '',\n label = '',\n iconPosition = 'left',\n ...props\n}) => {\n return (\n <Button\n className={`flex items-center gap-2 text-base font-bold flex-1 justify-center focus:outline-none ${className}`}\n onClick={onClick}\n {...props}\n >\n {iconPosition === 'left' && (\n <>\n {icon}\n {label}\n </>\n )}\n {iconPosition === 'right' && (\n <>\n {label}\n {icon}\n </>\n )}\n </Button>\n );\n};\n","import React from \"react\";\n\nexport const EditButton = ({ label, icons, onClick, className, children }) => {\n return (\n <button\n onClick={onClick}\n className={`flex rounded-none gap-3 items-center ${className}`}\n >\n {icons}\n {label}\n {children}\n </button>\n );\n };","export const PRIMARY_COLOR = 'text-[#cf132b]'; //rgb(30 58 138);\nexport const SECONDARY_COLOR = 'text-[#e11a38]'; //rgb(156 163 175);\nexport const BORDER_COLOR = 'border-[#e0e0e0]'; //rgb(156 163 175)\nexport const BORDER_COLOR_1 = 'border-[#ecebed]';\nexport const BORDER_COLOR_2 = 'border-[#c2c2c2]';\nexport const BORDER_COLOR_3 = 'border-[#e11a38]';\nexport const SIDEBAR_BG_COLOR = 'bg-[#f7f7f7]';\nexport const SELECT_BG_COLOR = 'bg-[#e11a38]'; //rgb(203 213 225)\nexport const BG_COLOR_1 = 'bg-[#e11a38]'; //rgb(203 213 225)\nexport const SELECT_TEXT_COLOR = 'text-white'\nexport const TEXT_SIZE_1 = 'text-xs'; //font-size: 12px (0.75rem)\nexport const TEXT_SIZE_2 = 'text-2xl'; //font-size: 24px; (1.5rem)\nexport const TEXT_SIZE_3 = 'text-[15px]';\nexport const TEXT_SIZE_4 = 'text-[17px]';\nexport const TEXT_SIZE_5 = 'text-[28px]';\nexport const TEXT_SIZE_6 = 'text-[14px]';\nexport const TEXT_SIZE_7 = 'text-[30px]';\nexport const TEXT_SIZE_8 = 'text-[21px]';\nexport const TEXT_SIZE_9 = 'text-[13px]';\nexport const TEXT_SIZE_11 = 'text-[18px]';\nexport const TEXT_SIZE_12 = 'text-[11px]';\nexport const TEXT_SIZE_13 = 'text-[12px]';\nexport const TEXT_SIZE_14 = 'text-[16px]';\nexport const TEXT_SIZE_15 = 'text-[25px]';\nexport const TEXT_SIZE_16 = 'text-[26px]';\nexport const TEXT_SIZE_17 = 'text-[22px]';\nexport const TEXT_SIZE_18 = 'text-[16px]';\nexport const ACTIVE_BG_COLOR = 'bg-[#cf132b]'; //rgb(30 58 138);\nexport const BUTTON_TEXT_COLOR = 'text-white';\nexport const BUTTON_BG_COLOR = 'bg-black'; //rgb(0 0 0)\nexport const INPUT_BG_COLOR = 'bg-white';\nexport const TEXT_COLOR_1 = 'text-[#5d5d5d]';\nexport const BACKDROP_BLUR = 'backdrop-blur-[21px]';\nexport const BACKDROP_BLUR_BG_COLOR = 'bg-[#00000046]';\nexport const MODAL_BG_COLOR = 'bg-[#ffffff]';\nexport const CARD_BG_COLOR = 'bg-white'; //rgb(255 255 255)\nexport const INPUT_TEXT_DISABLE_COLOR = 'text-slate-300'\nexport const CHECKBOX_CHECKED_COLOR = '#e11a38'\nexport const LOAD_DESIGN_BORDER_COLOR = '#e0e0e0'\nexport const LOAD_DESIGN_TEXT_COLOR = 'text-[#e11a38]';\nexport const SEARCH_ICON_COLOR = 'text-[#727272]'\nexport const SEARCHBAR_BORDER_COLOR = 'border-[#bebebe]'\nexport const MY_DESIGN_TEXT_COLOR = 'text-[#353535]'\nexport const SEARCH_TEXT_COLOR = 'text-[#353535]'\nexport const NO_SEARCHRESULT_TEXT_COLOR_1 = 'text-[#727272]'\nexport const NO_SEARCHRESULT_TEXT_COLOR_2 = 'text-[#5d5d5d]'\nexport const CANVAS_MENU_TEXT = 'text-[#353535]';\nexport const CANVAS_MENU_BORDER = 'border-[#f4f4f4]';\nexport const CANVAS_MENU_BG_COLOR = 'bg-white';\nexport const CANVAS_MENU_DROPDOWN_BG_COLOR = 'bg-white';\nexport const DECORATION_BG_COLOR = 'bg-[#F1F1F1]'\nexport const DROPDOWN_BACKGROUND_COLOR = 'bg-[#FCE8EB]'\nexport const TAG_BG_COLOR = 'bg-[#FCE8EB]'\nexport const TAG_TEXT_COLOR = 'text-[#e11a38]'\nexport const CARD_LAST_UPDATE_COLOR = 'text-[#727272]'\nexport const CARD_DOWNLAOD_ICON_COLOR = 'text-[#353535]'\nexport const CARD_DESCRIPTION_COLOR = 'text-[#353535]'\nexport const FOOTER_TEXT_COLOR = 'text-[#ffffff]'\nexport const FOOTER_RACK_BG_COLOR = 'bg-[#E21938]'\nexport const FOOTER_PRICE_COLOR = 'text-[#353535]'\nexport const FOOTER_RACK_COUNT_COLOR = 'text-[#E21938]'\nexport const FOOTER_ROSTER_COLOR = 'text-[#353535]'\nexport const FOOTER_ROSTER_BORDER_COLOR = 'border-[#353535]'\nexport const FOOTER_SUMMARY_BG_COLOR = 'bg-[#353535]'\nexport const FOOTER_SUMMARY_TEXT_COLOR = 'text-white'\nexport const CONFIRMDESIGN_DISCARD_BORDER_COLOR = 'border-[#707070]';\nexport const CONFIRMDESIGN_TEXT_COLOR_1 = 'text-[#5d5d5d]';\nexport const CONFIRMDESIGN_TEXT_COLOR_2 = 'text-[#E11A38]';\nexport const CONFIRMDESIGN_TEXT_COLOR_3 = 'text-[#353535]';\nexport const CONFIRMDESIGN_TEXT_COLOR_4 = 'text-[#ffffff]';\nexport const CONFIRMDESIGN_SAVEBUTTON_BG_COLOR = 'bg-[#E11A38]';\nexport const DESIGNSUCCESS_CLOSE_BORDER_COLOR = 'border-[#707070]';\nexport const DESIGNSUCCESS_TEXT_COLOR_1 = 'text-[#5d5d5d]';\nexport const DESIGNSUCCESS_TEXT_COLOR_2 = 'text-[#E21938]';\nexport const DESIGNSUCCESS_TEXT_COLOR_3 = 'text-[#353535]';\n\nexport const SAVERACK_BORDER_COLOR = 'border-[#707070]'\nexport const SAVERACK_TEXT_COLOR = 'text-[#707070]'\nexport const SAVEBUTTON_BG_COLOR = 'bg-[#E11A38]'\nexport const TOASTER_SUCCESS_BG_COLOR = 'bg-[#D5F2EA]'\nexport const TOASTER_FAILURE_BG_COLOR = 'bg-[#FCE8EB]'\nexport const TOASTER_INFO_BG_COLOR = 'bg-[#D5E9FA]'\nexport const TOASTER_WARNING_BG_COLOR = 'bg-[#FFF8E7]'\nexport const RESET_BUTTON_BG_COLOR = 'text-[#9A9A9A]'\nexport const PRODUCTINFO_TEXT_COLOR_1 = 'text-[#353535]'\nexport const PRODUCTINFO_TEXT_COLOR_2 = 'text-[#c2c2c2]'\nexport const PRODUCTINFO_TEXT_COLOR_3 = 'text-[#e11a38]'\nexport const PRODUCTINFO_TEXT_COLOR_4 = 'text-[#5d5d5d]'\nexport const UPDATESUCCESS_RACK_BORDER_COLOR = 'border-[#E11938]';\nexport const UPDATESUCCESS_TEXT_COLOR_1 = 'text-[#E11938]';\nexport const RACK_CARD_BORDER_COLOR = 'border-[#e5e5e5]';\nexport const RACK_CARD_TEXT_COLOR_1 = 'text-[#E11A38]';\nexport const RACK_CARD_TEXT_COLOR_2 = 'text-[#353535]';\nexport const RACK_CARD_TEXT_COLOR_3 = 'text-[#9f9f9f]';\nexport const RACK_CARD_MENU_TEXT = 'text-[#353535]';\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_1 = 'text-[#E11A38]';\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_2 = 'text-[#727272]';\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_3 = 'text-[#353535]';\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_4 = 'text-[#ffffff]';\nexport const EDIT_DESIGN_INFO_INPUT_BORDER_COLOR = 'border-[#ECEBED]';\nexport const EDIT_DESIGN_INFO_DISABLED_BG_COLOR_1 = 'bg-[#F8F8F8]';\nexport const EDIT_DESIGN_INFO_BG_COLOR_2 = 'bg-[#ffffff]';\nexport const EDIT_DESIGN_INFO_BG_COLOR_3 = 'bg-[#e11a38]';\nexport const EDIT_DESIGN_INFO_BG_COLOR_4 = 'bg-[#fce8eb]';\nexport const INPUT_ERROR_BORDER_COLOR = 'border-[#E11A38]';\nexport const INPUT_ERROR_TEXT_COLOR = 'text-[#E11A38]';\nexport const PRICEBREAKUP_TEXT_COLOR_1 = 'text-[#353535]';\nexport const PRICEBREAKUP_TEXT_COLOR_2 = 'text-[#747474]';\nexport const PRICEBREAKUP_TEXT_BORDER_COLOR_1 = 'border-[#c2c2c2]';\nexport const PRICEBREAKUP_TEXT_BORDER_COLOR_2 = 'border-[#ebebeb]';","import React from 'react';\nimport { IconContext, IconType } from 'react-icons';\nimport { Button, Tooltip, TooltipReference, useTooltipState } from 'reakit';\n\nexport interface IconButtonProps\n extends Exclude<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n icon?: React.ReactElement<IconType>;\n label: string;\n}\nconst Icon = React.forwardRef<HTMLButtonElement, IconButtonProps>(\n ({ label, icon, className, ...props }, ref) => {\n const tooltip = useTooltipState({ placement: 'top' });\n return (\n <>\n <TooltipReference\n ref={ref}\n {...props}\n {...tooltip}\n as={Button}\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`}\n aria-label={label}\n >\n {icon}\n </TooltipReference>\n {label && label !== '' && (\n <Tooltip\n {...tooltip}\n className={`inline-block px-3 py-2 text-sm font-medium text-white transition-opacity duration-300 bg-[#e11a38] rounded-lg shadow-sm dark:bg-gray-700`}\n style={{ zIndex: 10 }}\n >\n {label}\n </Tooltip>\n )}\n </>\n );\n }\n);\n\nexport const IconButton = ({\n label,\n\n className,\n size = '2rem',\n icon = undefined,\n ...props\n}) => {\n return (\n <IconContext.Provider\n value={{\n size: size,\n className: 'pointer-events-auto cursor-pointer',\n }}\n >\n <Icon label={label} icon={icon} className={className} {...props} />\n </IconContext.Provider>\n );\n};\n\n\nexport {\n IoIosColorPalette,\n IoMdCheckmarkCircle,\n IoIosArrowForward,\n} from 'react-icons/io';\nexport { HiOutlineDownload, HiDotsVertical } from 'react-icons/hi';\nexport {\n FaRegSave,\n FaRegShareSquare,\n FaPlus,\n FaRegListAlt,\n FaEye,\n FaEyeSlash,\n} from 'react-icons/fa';\nexport { BiReset, BiAddToQueue } from 'react-icons/bi';\nexport { GiBilledCap, GiCardboardBox } from 'react-icons/gi';\nexport { TbWindowMinimize } from 'react-icons/tb';\nexport { RxCross2 } from 'react-icons/rx';\nexport { IoInformationCircleOutline, IoLogInOutline } from 'react-icons/io5';\nexport { CgMenuBoxed } from 'react-icons/cg';\nexport { IoIosInformationCircleOutline } from 'react-icons/io';\nexport { LuFlipHorizontal2, LuFlipVertical2 } from 'react-icons/lu';\n","import { GenIcon } from 'react-icons/lib';\n\nexport const RLogo = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '36.672',\n height: '34.349',\n viewBox: '0 0 36.672 34.349',\n },\n child: [\n {\n tag: 'g',\n attr: {},\n child: [\n {\n tag: 'g',\n attr: { id: 'a' },\n child: [\n {\n tag: 'path',\n attr: {\n fill: 'none',\n fillRule: 'evenodd',\n transform:\"translate(-0.001)\",\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',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n fill: 'none',\n stroke: '#fff',\n fillRule: 'evenodd',\n transform:\"translate(-1.117 -1.116)\",\n strokeWidth: '2px',\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',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n fill: '#fff',\n fillRule: 'evenodd',\n transform:\"translate(-3.386 -6.517)\",\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',\n },\n child: [],\n },\n ],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\n\nexport const MyLogo = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '26.381',\n height: '23.778',\n viewBox: '0 0 26.381 23.778',\n },\n child: [\n {\n tag: 'g',\n attr: {},\n child: [\n {\n tag: 'g',\n attr: { id: 'a' },\n child: [\n {\n tag: 'path',\n attr: {\n strokeWidth:\"1\",\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',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\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',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\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',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\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',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n fill: '#5d5d5d',\n\n fillRule: 'evenodd',\n\n transform: 'translate(-78.659 -351.017)',\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',\n },\n child: [],\n },\n ],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\n\nexport const AddMascots = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '17.794',\n height: '17.8',\n viewBox: '0 0 17.794 17.8',\n },\n child: [\n {\n tag: 'defs',\n attr: {},\n child: [\n {\n tag: 'clipPath',\n attr: { id: 'a' },\n child: [\n {\n tag: 'path',\n attr: { d: 'M0 0h17.794v17.8H0z' },\n child: [],\n },\n ],\n },\n ],\n },\n {\n tag: 'g',\n attr: { 'clipPath': 'url(#a)' },\n child: [\n {\n tag: 'path',\n attr: {\n d: 'M15.2 17.8H2.6a1.263 1.263 0 0 0-.151-.046 2.957 2.957 0 0 1-2.443-2.882Q0 8.9.006 2.92A2.937 2.937 0 0 1 2.918.008q5.975-.014 11.949 0a2.76 2.76 0 0 1 2.475 1.415 7.114 7.114 0 0 1 .452 1.177v12.6a.57.57 0 0 0-.041.1 2.964 2.964 0 0 1-2.29 2.422c-.088.02-.176.046-.264.069M1.984 8.9v5.769a1 1 0 0 0 1.147 1.147h11.536a1 1 0 0 0 1.147-1.148V3.129a1 1 0 0 0-1.148-1.147H3.13a1 1 0 0 0-1.146 1.151v5.769',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n d: 'm5.938 8.903 1.483 2.433 2.965-6.388 4.443 8.889H2.975l2.963-4.934',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n d: 'M6.916 5.433a1.481 1.481 0 1 1-2.961.005 1.5 1.5 0 0 1 1.47-1.481 1.479 1.479 0 0 1 1.491 1.476',\n },\n child: [],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\n\nexport const AddText = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '21',\n height: '21',\n viewBox: '0 0 21 21',\n },\n\n child: [\n {\n tag: 'g',\n attr: {},\n child: [\n {\n tag: 'path',\n attr: {\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',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\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',\n },\n child: [],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\n\nexport const ProductColor = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '22.89',\n height: '24',\n viewBox: '0 0 22.89 24',\n },\n child: [\n {\n tag: 'defs',\n attr: {},\n child: [\n {\n tag: 'clipPath',\n attr: { id: 'a' },\n child: [\n {\n tag: 'path',\n attr: { d: 'M0 0h22.89v24H0z' },\n child: [],\n },\n ],\n },\n ],\n },\n {\n tag: 'g',\n attr: { 'clipPath': 'url(#a)' },\n child: [\n {\n tag: 'path',\n attr: {\n d: 'M8.012 5.076 4.663 1.753 6.55 0c1.111 1.168 2.3 2.454 3.526 3.7 2.646 2.684 5.318 5.342 7.969 8.02a3.693 3.693 0 0 1 .014 5.346q-2.907 2.949-5.856 5.857a3.608 3.608 0 0 1-5.014.051Q4.037 19.916.976 16.762a3.672 3.672 0 0 1 .2-5.185q3.09-3.021 6.208-6.012c.171-.166.377-.3.625-.489m-5.774 9.268H16.9l.143-.208L9.669 6.77c-2 1.567-7.19 6.816-7.435 7.573',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n d: 'M20.642 16.823c.711 1.4 1.485 2.775 2.109 4.214a2.16 2.16 0 0 1-.9 2.527 2.421 2.421 0 0 1-2.767 0 2.141 2.141 0 0 1-.885-2.523c.625-1.436 1.39-2.811 2.1-4.212h.347',\n },\n child: [],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\nexport const FlipH = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n width: '25.969',\n height: '22.478',\n viewBox: '0 0 25.969 22.478',\n ...props,\n },\n child: [\n {\n tag: 'defs',\n attr: {},\n child: [\n {\n tag: 'clipPath',\n attr: { id: 'a' },\n child: [\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 336',\n fill: '#353535',\n d: 'M0 0h25.969v22.478H0z',\n },\n child: [],\n },\n ],\n },\n ],\n },\n {\n tag: 'g',\n attr: {\n 'data-name': 'Group 577',\n 'clipPath': 'url(#a)',\n fill: '#353535',\n },\n child: [\n {\n tag: 'path',\n attr: {\n 'data-name': 'Path 4546',\n d: 'm25.969 3.647-10.359 8.46 10.359 8.632Z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Path 4547',\n d: 'M0 3.469v17.276l10.366-8.466L0 3.469m1.719 3.593 5.914 5.218-5.914 4.87Z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 329',\n d: 'M12.151 0h1.683v1.674h-1.683z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 330',\n d: 'M12.154 3.462h1.677v1.686h-1.677z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 331',\n d: 'M12.152 6.937h1.68v1.671h-1.68z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 332',\n d: 'M12.144 10.406h1.679v1.669h-1.679z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 333',\n d: 'M12.149 13.869h1.686v1.678h-1.686z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 334',\n d: 'M12.143 17.334h1.686v1.683h-1.686z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 335',\n d: 'M12.154 20.8h1.668v1.678h-1.668z',\n },\n child: [],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\n// https://www.svgviewer.dev/ use this website to compress and load the paths\n// source: https://raw.githubusercontent.com/alisamar/react-icons-all-files/master/ai/AiFillAccountBook.esm.js\nexport const FlipV = (props) => {\n return GenIcon({\n tag: 'svg',\n\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '22.48',\n height: '29.57.',\n viewBox: '9 9 22.48 25.97',\n },\n child: [\n {\n tag: 'defs',\n attr:{},\n child: [\n {\n tag: 'clipPath',\n attr: { id: 'a' },\n\n child: [\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 336',\n fill: '#353535',\n d: 'M0 0h25.969v22.478H0z',\n },\n child: [],\n },\n ],\n },\n ],\n },\n {\n tag: 'g',\n attr: { 'data-name': 'Group 773' },\n child: [\n {\n tag: 'g',\n attr: {\n 'data-name': 'Rectangle 337',\n fill: '#fff',\n stroke: '#ebebeb',\n },\n child: [\n {\n tag: 'path',\n attr: { d: 'M0 0h45v45H0z', stroke: 'none' },\n child: [],\n },\n {\n tag: 'path',\n attr: { fill: 'none', d: 'M.5.5h44v44H.5z' },\n child: [],\n },\n ],\n },\n {\n tag: 'g',\n attr: { 'data-name': 'Group 631' },\n child: [\n {\n tag: 'g',\n attr: {\n 'data-name': 'Group 577',\n 'clipPath': 'url(#a)',\n fill: '#353535',\n transform: 'rotate(90 12.239 21.239)',\n },\n child: [\n {\n tag: 'path',\n attr: {\n 'data-name': 'Path 4546',\n d: 'm0 3.647 10.359 8.46L0 20.74',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Path 4547',\n d: 'M25.969 3.469v17.276L15.603 12.28l10.366-8.811M24.25 7.062l-5.914 5.218 5.914 4.87',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 329',\n d: 'M12.135 0h1.683v1.674h-1.683z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 330',\n d: 'M12.138 3.462h1.677v1.686h-1.677z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 331',\n d: 'M12.136 6.937h1.68v1.671h-1.68z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 332',\n d: 'M12.146 10.406h1.679v1.669h-1.679z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 333',\n d: 'M12.134 13.869h1.686v1.678h-1.686z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 334',\n d: 'M12.14 17.334h1.686v1.683H12.14z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 335',\n d: 'M12.147 20.8h1.668v1.678h-1.668z',\n },\n child: [],\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\nexport const SelectAll = (props) => {\n return GenIcon({\n tag: 'svg',\n\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '18.641',\n height: '18.063',\n viewBox: '0 0 18.641 18.063',\n className: 'group',\n ...props,\n },\n child: [\n {\n tag: 'g',\n attr: { 'data-name': 'Group 1075' },\n child: [\n {\n tag: 'g',\n attr: {\n fill: 'none',\n stroke: '#5d5d5d',\n strokeWidth: '1',\n },\n child: [\n {\n tag: 'rect',\n attr: { width: '16', height: '16', rx: '4', stroke: 'none' },\n child: [],\n },\n {\n tag: 'rect',\n attr: {\n x: '.75',\n y: '.75',\n width: '14.5',\n height: '14.5',\n rx: '3.25',\n },\n child: [],\n },\n ],\n },\n {\n tag: 'path',\n attr: {\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',\n className: 'group-hover:fill-[#E11A38]',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\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',\n className: 'group-hover:fill-[#E11A38]',\n },\n child: [],\n },\n ],\n },\n ],\n })(props);\n};","import { GenIcon } from 'react-icons/lib';\n\nexport const Copy = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '18',\n height: '18',\n viewBox: '0 0 18 18',\n ...props,\n },\n child: [\n {\n tag: 'path',\n attr: {\n d: 'M13.98 4.1A.938.938 0 0 0 14 4a4 4 0 0 0-4-4H5a5.006 5.006 0 0 0-5 5v5a4 4 0 0 0 4 4 .93.93 0 0 0 .1-.02A5.007 5.007 0 0 0 9 18h4a5.006 5.006 0 0 0 5-5V9a5.007 5.007 0 0 0-4.02-4.9ZM4 9v3a2 2 0 0 1-2-2V5a3 3 0 0 1 3-3h5a2 2 0 0 1 2 2H9a5.006 5.006 0 0 0-5 5Zm12 4a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h4a3 3 0 0 1 3 3Z',\n },\n child: [],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\n\nexport const Paste = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '23.063',\n height: '23.063',\n viewBox: '0 0 23.063 23.063',\n ...props,\n },\n child: [\n {\n tag: 'g',\n attr: { 'data-name': 'Group 1076' },\n child: [\n {\n tag: 'path',\n attr: {\n d: 'M1197.621 519.516a1.2 1.2 0 0 0 .026-.127 5.13 5.13 0 0 0-5.125-5.125h-6.407a6.414 6.414 0 0 0-6.406 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.406v-5.125a6.415 6.415 0 0 0-5.151-6.279Zm-12.787 6.279v3.844a2.565 2.565 0 0 1-2.562-2.562v-6.407a3.848 3.848 0 0 1 3.843-3.843h6.406a2.565 2.565 0 0 1 2.563 2.563h-3.844a6.414 6.414 0 0 0-6.406 6.406Zm15.375 5.125a3.848 3.848 0 0 1-3.844 3.844h-5.125a3.848 3.848 0 0 1-3.844-3.844v-5.125a3.848 3.848 0 0 1 3.844-3.844h5.125a3.848 3.848 0 0 1 3.844 3.844Z',\n transform: 'translate(-1179.709 -514.264)',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Line 590',\n fill: 'none',\n 'stroke-linecap': 'round',\n 'stroke-width': '1.5',\n d: 'M1189.779 526.5h6',\n transform: 'translate(-1179.709 -514.264)',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Line 591',\n fill: 'none',\n 'stroke-linecap': 'round',\n 'stroke-width': '1.5',\n d: 'M1189.779 530.5h8',\n transform: 'translate(-1179.709 -514.264)',\n },\n child: [],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\n\nexport const SendToBack = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '26.551',\n height: '23.495',\n viewBox: '0 0 26.551 23.495',\n ...props,\n },\n child: [\n {\n tag: 'g',\n attr: { },\n child: [\n {\n tag: 'path',\n attr: {\n d: 'M17861.625-13909.535h14.069v14.069h-14.069Z',\n transform: 'translate(-17856.939 13913.36)',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 387',\n fill: 'none',\n 'stroke-miterlimit': '10',\n 'stroke-width': '2',\n d: 'M17857.939-13912.36h10.72v7.664h-10.72z',\n transform: 'translate(-17856.939 13913.36)',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 388',\n fill: 'none',\n 'stroke-miterlimit': '10',\n 'stroke-width': '2',\n d: 'M17871.771-13898.529h10.72v7.664h-10.72z',\n transform: 'translate(-17856.939 13913.36)',\n },\n child: [],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\n\nexport const SendToFront = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '26.551',\n height: '23.495',\n viewBox: '0 0 26.551 23.495',\n ...props,\n },\n child: [\n {\n tag: 'g',\n attr: { },\n child: [\n {\n tag: 'g',\n attr: { },\n child: [\n {\n tag: 'g',\n attr: { },\n child: [\n {\n tag: 'g',\n attr: {\n fill: 'none',\n 'stroke-miterlimit': '10',\n 'stroke-width': '2',\n },\n child: [\n {\n tag: 'path',\n attr: {\n d: 'M1.001.999h10.72v7.664H1.001z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n d: 'M14.833 14.831h10.72v7.664h-10.72z',\n },\n child: [],\n },\n ],\n },\n ],\n },\n {\n tag: 'path',\n attr: {\n d: 'M4.686 4.496h14.069v14.069H4.686z',\n },\n child: [],\n },\n ],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\nexport const SendAObject = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '23.098',\n height: '22.48',\n viewBox: '0 0 23.098 22.48',\n ...props,\n },\n child: [\n {\n tag: 'g',\n attr: {},\n child: [\n {\n tag: 'g',\n attr: { 'data-name': 'Group 642' },\n child: [\n {\n tag: 'g',\n attr: { 'data-name': 'Group 643' },\n child: [\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 383',\n fill: 'none',\n 'stroke-miterlimit': '10',\n 'stroke-width': '2',\n d: 'M1 1h16v16H1z',\n },\n child: [],\n },\n ],\n },\n ],\n },\n {\n tag: 'path',\n attr: {\n 'data-name': 'Rectangle 385',\n d: 'M7.097 6.481h16v16h-16z',\n },\n child: [],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\nexport const SendUnderObject = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '23.098',\n height: '22.48',\n viewBox: '0 0 23.098 22.48',\n ...props,\n },\n child: [\n {\n tag: 'g',\n attr: {},\n child: [\n {\n tag: 'path',\n attr: {\n d: 'M7.097 6.481h16v16h-16',\n },\n child: [],\n },\n {\n tag: 'g',\n attr: {},\n child: [\n {\n tag: 'g',\n attr: {},\n child: [\n {\n tag: 'path',\n attr: {\n fill: 'none',\n 'stroke-miterlimit': '10',\n 'stroke-width': '2',\n d: 'M1 1h16v16H1z',\n },\n child: [],\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\n\nexport const EyeDropper = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n width: '21.595',\n height: '21.61',\n viewBox: '0 0 21.595 21.61',\n },\n child: [\n {\n tag: 'defs',\n attr: {},\n child: [\n {\n tag: 'clipPath',\n attr: { id: 'a' },\n child: [\n {\n tag: 'path',\n attr: { d: 'M0 0h21.595v21.61H0z' },\n child: [],\n },\n ],\n },\n ],\n },\n {\n tag: 'g',\n attr: { 'clipPath': 'url(#a)' },\n child: [\n {\n tag: 'path',\n attr: {\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',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\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',\n },\n child: [],\n },\n ],\n },\n ],\n })(props);\n};\n","import { GenIcon } from 'react-icons/lib';\nexport const Delete = (props) => {\n return GenIcon({\n tag: 'svg',\n attr: {\n id: 'ICONS',\n xmlns: 'http://www.w3.org/2000/svg',\n width: '18',\n height: '18',\n viewBox: '0 0 18 18',\n ...props,\n },\n child: [\n {\n tag: 'path',\n attr: {\n id: 'Path_3953',\n 'data-name': 'Path 3953',\n d: 'M7,8A1,1,0,0,0,6,9v4a1,1,0,0,0,2,0V9A1,1,0,0,0,7,8Z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n id: 'Path_3954',\n 'data-name': 'Path 3954',\n d: 'M11,8a1,1,0,0,0-1,1v4a1,1,0,0,0,2,0V9a1,1,0,0,0-1-1Z',\n },\n child: [],\n },\n {\n tag: 'path',\n attr: {\n id: 'Path_3955',\n 'data-name': 'Path 3955',\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',\n },\n child: [],\n },\n ],\n })(props);\n};\n","import React from 'react';\nimport { use3dddPlus } from '../../store';\nimport { CANVAS_MENU_TEXT } from '../../theme';\nimport { Copy, Delete, IconButton, SelectAll } from '../icon';\nimport { MdLayers } from 'react-icons/md';\nimport { shallow } from 'zustand/shallow';\nimport { fabric } from 'fabric';\nimport { CgRedo, CgUndo } from 'react-icons/cg';\nconst ActionButtons = () => {\n const [canvas, activeSelection] = use3dddPlus(\n (state) => [state.fabricCanvas, state.activeSelection],\n shallow\n );\n const selectAllHandler = () => {\n canvas.discardActiveObject();\n const sel = new fabric.ActiveSelection(canvas.getObjects(), {\n canvas: canvas,\n });\n canvas.setActiveObject(sel);\n canvas.requestRenderAll();\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.setState({ selectedAll: true });\n use3dddPlus.setState({ currentSelection: 'selectAll' });\n const fillColors = {};\n use3dddPlus.setState({ colorFill: fillColors });\n };\n const deleteHandler = () => {\n canvas.remove(activeSelection);\n use3dddPlus.getState().updateModifaction(true);\n canvas.requestRenderAll();\n use3dddPlus.setState({ selectedAll: false });\n removeItem(activeSelection);\n };\n const removeItem = (value: any) => {\n //@ts-ignore\n var index = use3dddPlus.getState().storeAllObject.indexOf(value);\n if (index > -1) {\n use3dddPlus.getState().storeAllObject.splice(index, 1);\n }\n use3dddPlus.setState({\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\n });\n };\n const canvasActions = [\n {\n icon: <SelectAll />,\n onClick: selectAllHandler,\n id: 'select-action',\n label: 'Select all',\n disabled: false,\n visible: true,\n },\n {\n icon: <Copy />,\n onClick: () => {\n use3dddPlus.getState().duplicateObject();\n },\n id: 'duplicate-action',\n label: 'Duplicate',\n disabled: false,\n visible: true,\n },\n {\n icon: <MdLayers />,\n onClick: () => {\n use3dddPlus.setState({ currentSelection: 'layer' });\n },\n id: 'layes-action',\n label: 'Layers',\n disabled: false,\n visible: true,\n },\n {\n icon: <Delete />,\n onClick: deleteHandler,\n id: 'delete-action',\n label: 'Delete',\n disabled: false,\n visible: true,\n },\n {\n icon: <CgUndo />,\n onClick: () => {\n use3dddPlus.getState().undo();\n },\n id: 'undo-action',\n label: 'Undo',\n disabled: false,\n visible: true,\n },\n {\n icon: <CgRedo />,\n onClick: () => {\n use3dddPlus.getState().redo();\n },\n id: 'redo-action',\n label: 'Redo',\n disabled: false,\n visible: true,\n },\n ];\n\n return (\n <>\n <div className=\"w-100 flex absolute top-0 right-0 px-3 items-center z-10\">\n <div className={`flex py-[16px]`}>\n {canvasActions.map(\n (item) =>\n item?.visible && (\n <div\n key={item.id}\n className={`${\n item.disabled\n ? 'disableButton'\n : `${CANVAS_MENU_TEXT} cursor-pointer hover:text-[#e11a38] hover:underline hover:underline-offset-4 hover:decoration-2`\n } flex gap-[5px] items-center pt-[2.5px] font-bold uppercase mr-[10px] lg:mr-[30px] md-[20px] `}\n onClick={item.onClick}\n >\n <span>\n <IconButton\n label=\"\"\n icon={item.icon}\n className={`${\n item.disabled\n ? 'iconDisable'\n : 'pointer-events-auto cursor-pointer'\n } m-auto`}\n size=\"1.125rem\"\n ></IconButton>\n </span>\n </div>\n )\n )}\n </div>\n </div>\n </>\n );\n};\n\nexport default ActionButtons;\n","import { fabric } from 'fabric';\n//@ts-ignore\n// import deleteIcon from '../../assets/images/delete.png';\n// //@ts-ignore\n// import rotateIcon from '../../assets/images/rotate.png';\n// //@ts-ignore\n// import settingIcon from '../../assets/images/settings.png';\nimport { use3dddPlus } from '..';\n\nexport const initCanvas = () => {\n const onObjectSelected = (e) => {\n if (e?.selected?.[0]?.colorFill) {\n use3dddPlus.setState({ colorFill: e.selected[0].colorFill });\n }\n use3dddPlus.setState({\n currentSelection: canv.getActiveObject().get('type'),\n });\n use3dddPlus.setState({ activeSelection: canv.getActiveObject() });\n getAllColors();\n };\n const onObjectDeselected = () => {\n use3dddPlus.setState({ currentSelection: 'none' });\n use3dddPlus.setState({ showContextMenu: false });\n getAllColors();\n };\n const onObjectUpdated = (e) => {\n // use3dddPlus.setState({colorFill : \"\"})\n if (e?.selected?.[0]?.colorFill) {\n use3dddPlus.setState({ colorFill: e.selected[0].colorFill });\n }\n use3dddPlus.setState({\n currentSelection: canv.getActiveObject().get('type'),\n });\n use3dddPlus.setState({ activeSelection: e.selected[0] });\n use3dddPlus.setState({ textInfo: e.selected[0].text });\n use3dddPlus.setState({ showContextMenu: false });\n getAllColors();\n };\n const onObjectMoving = (e: any) => {\n use3dddPlus.getState().updateModifaction(false);\n const obj = e.target;\n if (obj.getBoundingRect().width > obj.canvas.height || obj.getBoundingRect().height > obj.canvas.width) {\n return;\n }\n obj.setCoords();\n if (obj.getBoundingRect().top < 0 || obj.getBoundingRect().left < 0) {\n obj.top = Math.max(obj.top, obj.top - obj.getBoundingRect().top);\n obj.left = Math.max(obj.left, obj.left - obj.getBoundingRect().left);\n }\n if (obj.getBoundingRect().top + obj.getBoundingRect().height > obj.canvas.height || obj.getBoundingRect().left + obj.getBoundingRect().width > obj.canvas.width) {\n obj.top = Math.min(obj.top, obj.canvas.height - obj.getBoundingRect().height + obj.top - obj.getBoundingRect().top);\n obj.left = Math.min(obj.left, obj.canvas.width - obj.getBoundingRect().width + obj.left - obj.getBoundingRect().left);\n }\n }\n\n const canv = new fabric.Canvas('canvas', {\n centeredScaling: true,\n preserveObjectStacking: true,\n backgroundColor: '#ffff00',\n stopContextMenu: false,\n });\n // console.log('HISTORY-->',historyInit());\n let deleteImg = document.createElement('img');\n deleteImg.src =\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/delete.png';\n let rotateImg = document.createElement('img');\n rotateImg.src =\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/rotate.png';\n let settingImg = document.createElement('img');\n settingImg.src =\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/settings.png';\n fabric.Object.prototype.objectCaching = true;\n fabric.Object.prototype.transparentCorners = false;\n fabric.Object.prototype.cornerColor = '#14caf7';\n fabric.Object.prototype.cornerStrokeColor = '#045791';\n fabric.Object.prototype.borderColor = '#14caf7';\n fabric.Object.prototype.cornerSize = 16;\n // fabric.Object.prototype.padding = 10;\n fabric.Object.prototype.cornerStyle = 'circle';\n fabric.Object.prototype.borderDashArray = [5, 5];\n\n function renderIcon(icon) {\n return function renderIcon(ctx, left, top, fabricObject) {\n var size = this.cornerSize;\n ctx.save();\n ctx.translate(left, top);\n ctx.rotate(fabric.util.degreesToRadians(fabricObject.angle));\n ctx.drawImage(icon, -size / 2, -size / 2, size, size);\n ctx.restore();\n };\n }\n\n fabric.Object.prototype.controls.deleteControl = new fabric.Control({\n x: 0.53,\n y: -0.53,\n offsetY: -16,\n offsetX: 16,\n cursorStyle: 'pointer',\n //@ts-ignore\n mouseUpHandler: deleteObject,\n render: renderIcon(deleteImg),\n cornerSize: 28,\n });\n fabric.Object.prototype.controls.settingControl = new fabric.Control({\n x: -0.53,\n y: -0.53,\n offsetY: -16,\n offsetX: -16,\n cursorStyle: 'pointer',\n //@ts-ignore\n mouseUpHandler: function (e) {\n use3dddPlus.setState({\n showContextMenu: true,\n });\n\n const rect = canv.getElement().getBoundingClientRect();\n const x = e.clientX - rect.left;\n const y = e.clientY - rect.top;\n // You can add your context menu rendering logic here\n // Example: Render a simple alert with the coordinates\n use3dddPlus.setState({ contextMenuCoordinates: { x: x, y: y } });\n // alert(`Context menu clicked at (${x}, ${y})`);\n },\n render: renderIcon(settingImg),\n cornerSize: 28,\n });\n //@ts-ignore\n function deleteObject(eventData, transform) {\n const canvasTarget = transform.target;\n const canvas = canvasTarget.canvas;\n if (use3dddPlus.getState().selectedAll) {\n const target = transform.target._objects;\n target.forEach((element) => {\n canvas.remove(element);\n canvas.requestRenderAll();\n removeItem(element);\n });\n use3dddPlus.setState({ selectedAll: false });\n canvas.discardActiveObject().renderAll();\n } else {\n canvas.remove(canvasTarget);\n canvas.requestRenderAll();\n removeItem(canvasTarget);\n }\n }\n const removeItem = (value: any) => {\n //@ts-ignore\n var index = use3dddPlus.getState().storeAllObject.indexOf(value);\n if (index > -1) {\n use3dddPlus.getState().storeAllObject.splice(index, 1);\n }\n use3dddPlus.setState({\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\n });\n };\n\n fabric.Object.prototype.controls.mtr = new fabric.Control({\n x: 0,\n y: -0.5,\n offsetY: -40,\n cursorStyle: 'crosshair',\n //@ts-ignore\n actionHandler: fabric?.controlsUtils.rotationWithSnapping,\n actionName: 'rotate',\n // mouseover:function hover(eventData,transform){\n // let target = transform.target;\n // console.log('TARGET-->',target);\n // },\n render: function renderIcon(ctx, left, top, fabricObject) {\n var size = this.cornerSize;\n ctx.save();\n ctx.translate(left, top);\n ctx.rotate(fabric.util.degreesToRadians(fabricObject.angle));\n ctx.drawImage(rotateImg, -size / 2, -size / 2, size, size);\n ctx.restore();\n },\n //@ts-ignore\n cornerSize: 28,\n withConnection: true,\n });\n const getAllColors = () => {\n if (!canv?.getObjects()) {\n return;\n }\n const allColor = new Set(\n canv\n ?.getObjects()\n ?.map((item) => {\n // Check if 'item' and 'colorFill' are not undefined or null\n if (item && item['colorFill'] != null) {\n return Object.values(item['colorFill']);\n }\n return [];\n })\n .flat()\n ); // FOR REMOVING ALL DUPLICATE COLOR CODES\n // const allColor =[];\n use3dddPlus.setState({ allColor: allColor });\n };\n canv.on('after:render', getAllColors);\n canv.on('selection:created', onObjectSelected);\n canv.on('selection:cleared', onObjectDeselected);\n canv.on('selection:updated', onObjectUpdated);\n canv.on('object:moving', onObjectMoving);\n canv.on('object:modified', function () {\n use3dddPlus.getState().updateModifaction(true);\n })\n return canv;\n};\n","import React from 'react';\nimport { use3dddPlus } from '../../store';\nimport { shallow } from 'zustand/shallow';\nimport {\n Copy,\n IconButton,\n Paste,\n SendAObject,\n SendToBack,\n SendToFront,\n SendUnderObject,\n} from '../icon';\n\n\nexport const ContextMenu = () => {\n const [activeObj, canvas] = use3dddPlus(\n (state) => [state.activeSelection, state.fabricCanvas],\n shallow\n );\n\n // const flipX = () => {\n // activeObj.set({\n // flipX: !activeObj.flipX,\n // });\n // use3dddPlus.getState().updateModifaction(true);\n // canvas.renderAll();\n // use3dddPlus.setState({\n // showContextMenu: false,\n // });\n // };\n // const flipY = () => {\n // activeObj.set({\n // flipY: !activeObj.flipY,\n // });\n // use3dddPlus.getState().updateModifaction(true);\n // // activeObj.\n // canvas.renderAll();\n // use3dddPlus.setState({\n // showContextMenu: false,\n // });\n // };\n const sendBackwards = () => {\n canvas.sendBackwards(activeObj);\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.setState({\n showContextMenu: false,\n });\n };\n const bringForward = () => {\n canvas.bringForward(activeObj);\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.setState({\n showContextMenu: false,\n });\n };\n const sendToBack = () => {\n console.log('hiii');\n canvas.sendToBack(activeObj);\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.setState({\n showContextMenu: false,\n });\n };\n const bringToFront = () => {\n canvas.bringToFront(activeObj);\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.setState({\n showContextMenu: false,\n });\n };\n // const snapToCenter = () => {\n // activeObj.set({\n // left: canvas.width / 2,\n // originX: 'center',\n // });\n // use3dddPlus.getState().updateModifaction(true);\n // canvas.renderAll();\n // use3dddPlus.setState({\n // showContextMenu: false,\n // });\n // };\n const copy = () => {\n use3dddPlus.getState().duplicateObject();\n use3dddPlus.setState({\n showContextMenu: false,\n });\n };\n const menu = [\n {\n id: 1,\n name: 'Copy',\n onclick: copy,\n icon: <Copy />,\n },\n {\n id: 2,\n name: 'Paste',\n onclick: copy,\n icon: <Paste />,\n },\n {\n id: 3,\n name: 'Bring to front',\n onclick: bringForward,\n icon: <SendToFront />,\n },\n {\n id: 4,\n name: 'Send to back',\n onclick: sendBackwards,\n icon: <SendToBack />,\n },\n {\n id: 5,\n name: 'Bring above objects',\n onclick: bringToFront,\n icon: <SendAObject />,\n },\n {\n id: 6,\n name: 'Send under objects',\n onclick: sendToBack,\n icon: <SendUnderObject />,\n },\n // {\n // id: 7,\n // name: 'Flip Horizontal - Left/right horizontal',\n // onclick: flipX,\n // icon: <FlipH />,\n // },\n // {\n // id: 8,\n // name: 'Flip Vertical- Left/right vertical',\n // onclick: flipY,\n // icon: <FlipV />,\n // },\n // {\n // id: 9,\n // name: 'Snap to center',\n // onclick: snapToCenter,\n // icon: '',\n // },\n ];\n return (\n <ul>\n {menu.map((item, index) => {\n return (\n <li\n className=\"flex cursor-pointer hover:text-[#e11a38] border border-b-[1px] border-[#EBEBEB] px-[30px] py-[14px] \"\n onClick={item.onclick}\n key={index}\n >\n <span>\n <IconButton\n label=\"\"\n icon={item.icon}\n className=\"pointer-events-auto cursor-pointer m-auto\"\n size=\"1.125rem\"\n ></IconButton>\n </span>\n <span className=\" pl-[20px] text-sm font-bold uppercase\">\n {item.name}\n </span>\n </li>\n );\n })}\n </ul>\n );\n};\n","import React, { useRef } from 'react';\nimport './canvas.css';\nimport { use3dddPlus } from '../../store';\nimport ActionButtons from './canvasButtons'; //Importing Action button component which is displaying buttons\nimport { initCanvas } from '../../store/fabric/fabricCanvas';\nimport { shallow } from 'zustand/shallow';\nimport { ContextMenu } from '../contextMenu';\n\nconst canvas = () => {\n const [contextMenuCoordinates, showContextMenu] = use3dddPlus(\n (state) => [state.contextMenuCoordinates, state.showContextMenu],\n shallow\n );\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n const resizeCanvas = () => {\n const canvas = use3dddPlus.getState().fabricCanvas;\n const outerCanvasContainer =\n document.getElementById('fabCanvas').parentElement;\n const containerWidth = outerCanvasContainer.clientWidth;\n const scale = containerWidth / canvas.getWidth();\n const zoom = canvas.getZoom() * scale;\n canvas.setWidth(containerWidth);\n //@ts-ignore\n canvas.setHeight(parseInt(outerCanvasContainer.clientHeight));\n console.log('--->', canvas.getHeight(), canvas.getHeight());\n canvas.setViewportTransform([zoom, 0, 0, zoom, 0, 0]);\n canvas.renderAll();\n };\n React.useEffect(() => {\n const canv = initCanvas();\n use3dddPlus.setState({ fabricCanvas: canv });\n resizeCanvas();\n window.addEventListener('resize', resizeCanvas);\n }, []);\n\n return (\n <div className=\" w-full h-full relative\">\n <ActionButtons />\n <div id=\"fabCanvas\">\n <canvas ref={canvasRef} id=\"canvas\"></canvas>\n {showContextMenu && (\n <div\n style={{\n position: 'absolute',\n zIndex: 1000,\n left: contextMenuCoordinates.x,\n top: contextMenuCoordinates.y,\n backgroundColor: 'white',\n border: '1px solid #ccc',\n boxShadow: '2px 2px 5px rgba(0,0,0,0.5)',\n }}\n onBlur={() => {\n use3dddPlus.setState({ showContextMenu: false });\n }}\n >\n <ContextMenu />\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default canvas;\n","import React from 'react';\n\nexport interface CardProps {\n cardClass?: string;\n children?: React.ReactNode;\n onClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n style?: React.CSSProperties;\n key?:string\n \n}\n\nexport const Card = ({ cardClass,children, onClick,style,key }: CardProps) => {\n return (\n <>\n <div\n className={`card bg-base-100 relative ${cardClass}`}\n onClick={onClick}\n style={style}\n key={ key}\n >\n {children}\n </div>\n </>\n );\n};","import React from 'react';\n\nexport interface CardBodyProps {\n bodyClass?: string;\n children?: React.ReactNode;\n}\nexport const CardBody = ({ bodyClass, children }: CardBodyProps) => {\n return (\n <>\n <div className={`card-body items-center text-center ${bodyClass}`}>\n {children}\n </div>\n </>\n );\n};\n","import React from 'react';\nimport { TEXT_SIZE_2 } from '../../theme';\nimport { IoMdCheckmarkCircle, IconButton } from '../icon';\n\nexport interface CardCheckMarkProps {\n checkMarkClass?: string;\n size?: any;\n}\nexport const CardCheckMark = ({ checkMarkClass, size }: CardCheckMarkProps) => {\n return (\n <>\n <div\n className={`absolute top-1/2 left-2/4 ${TEXT_SIZE_2} ${checkMarkClass}`}\n style={{ transform: 'translate(-50%, -50%)' }}\n >\n <IconButton\n label={''}\n icon={<IoMdCheckmarkCircle />}\n className={`pointer-events-auto cursor-pointer`}\n size={size}\n ></IconButton>\n </div>\n </>\n );\n};\n","import React from 'react';\nimport { HiOutlineDownload, IconButton } from '../icon';\n\nexport interface CardDownIconProps {\n downloadClass?: string;\n downloadIconClass?: string;\n iconClass?: string;\n pdfUrl?: string;\n}\nexport const CardDownloadIcon = ({\n downloadClass,\n downloadIconClass,\n iconClass,\n pdfUrl,\n}: CardDownIconProps) => {\n return (\n <>\n <a\n href={pdfUrl}\n download={'Design Sheet'}\n target=\"_blank\"\n className={`flex items-center gap-[0.4375rem] ${downloadIconClass}`}\n >\n <IconButton\n label={''}\n icon={<HiOutlineDownload />}\n className={`pointer-events-auto cursor-pointer ${iconClass}`}\n size=\"1rem\"\n ></IconButton>\n\n <span className={`${downloadClass}`}>VIEW DESIGN SHEET</span>\n </a>\n </>\n );\n};\n","import React from 'react';\n\nexport interface CardFlagProps {\n flag?: string;\n flagClass?: string;\n}\nexport const CardFlag = ({ flag, flagClass }: CardFlagProps) => {\n return (\n <>\n <div className={`absolute top-0 left-0 ${flagClass}`}>{flag}</div>\n </>\n );\n};\n","import React from 'react';\nimport './card.css';\n\nexport interface CardMediaProps {\n alt?: string;\n imageClass?: string;\n src?: string;\n}\nexport const CardMedia = ({ alt, imageClass, src }: CardMediaProps) => {\n return (\n <>\n <div\n role=\"img\"\n aria-label={alt}\n className={`cardImage ${imageClass}`}\n style={{ backgroundImage: `url('${src}')` }}\n ></div>\n </>\n );\n};","import React from 'react';\nimport { TAG_TEXT_COLOR } from '../../theme';\nexport interface CardTagsProps {\n children?: React.ReactNode;\n tagsClass?: string;\n}\nexport const CardTags = ({ children, tagsClass }: CardTagsProps) => {\n return (\n <>\n <div\n className={`${tagsClass} flex capitalize rounded px-[11px] py-[5px] text-center items-center align-baseline ${TAG_TEXT_COLOR} font-normal`}\n >\n {children}\n </div>\n </>\n );\n};\n","import React from 'react';\nexport interface CardTitleProps {\n name?: string;\n titleClass?: string;\n}\nexport const CardTitle = ({ name, titleClass }: CardTitleProps) => {\n return (\n <>\n <p className={`card-title ${titleClass}`}>{name}</p>\n </>\n );\n};\n","import React from 'react';\n\nexport interface CardDescProps {\n children?: React.ReactNode;\n descriptionClass?: string;\n}\nexport const CardDescription = ({ children, descriptionClass }: CardDescProps) => {\n return (\n <>\n <p className={`${descriptionClass}`}>{children}</p>\n </>\n );\n};\n","import React, { useRef, useState } from 'react';\nimport { MdOutlineFileUpload } from 'react-icons/md';\nimport { IconButton } from '../icon';\ninterface FileUploadButtonProps {\n onFileSelect: (file: File) => void;\n}\n\nconst FileUploadButton: React.FC<FileUploadButtonProps> = ({\n onFileSelect,\n}) => {\n const fileInputRef = useRef<HTMLInputElement>(null);\n const [isDragging, setIsDragging] = useState(false);\n\n const handleFileSelect = (event: React.ChangeEvent<HTMLInputElement>) => {\n const selectedFile = event.target.files?.[0];\n\n if (selectedFile) {\n onFileSelect(selectedFile);\n }\n };\n\n const handleDragEnter = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setIsDragging(true);\n };\n\n const handleDragLeave = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setIsDragging(false);\n };\n\n const handleDrop = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setIsDragging(false);\n\n const droppedFile = event.dataTransfer.files[0];\n if (droppedFile) {\n onFileSelect(droppedFile);\n }\n };\n\n return (\n <>\n <div\n className={`flex items-center justify-center w-full relative h-full ${\n isDragging ? 'dragging' : ''\n }`}\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={(event) => event.preventDefault()}\n onDrop={handleDrop}\n >\n <label\n htmlFor=\"file-upload\"\n className=\"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\"\n >\n <div className=\" text-center flex flex-col gap-[8px]\">\n <IconButton\n label=\"\"\n icon={<MdOutlineFileUpload />}\n className={\n 'pointer-events-auto cursor-pointer m-auto text-[#E11A38] bg-[#FCE8EB] p-[16px] h-[unset] !rounded-full'\n }\n size=\"1.125rem\"\n ></IconButton>\n <div className=\"text-[#5D5D5D] text-base font-bold\">\n Drag Files To Upload\n </div>\n <div className=\"text-[#5D5D5D] text-base font-bold\">Or</div>\n </div>\n <div>\n {' '}\n <button\n onClick={() => fileInputRef.current?.click()}\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]\"\n >\n BROWSE FILE\n </button>\n </div>\n\n <div className=\" text-center text-[#727272] text-sm\">\n <p>Max file size: 25M</p>\n <p>Supported files types: JPG, JPEG, PNG, GIF, EPS, PDF, SVG, AI</p>\n </div>\n <input\n id=\"file-upload\"\n ref={fileInputRef}\n type=\"file\"\n onChange={handleFileSelect}\n className=\"hidden\"\n accept=\"image/png, image/jpeg , image/gif , image/svg+xml , .eps , .ai , .pdf\"\n />\n </label>\n </div>{' '}\n </>\n );\n};\n\nexport default FileUploadButton;\n","import React, { useState } from 'react';\nimport { TEXT_SIZE_9 } from '../../theme';\nimport './colorPalette.css';\n\nexport interface ColorPaletteProps {\n previousColor?: string[];\n previousClass?: string;\n mainIndex?: any;\n handleColorChange?: any;\n mainClass?: string;\n index?: any;\n boxWidth?: number;\n gap?: number;\n}\n\nexport const ColorPalette = ({\n previousColor,\n previousClass = '',\n mainIndex = '',\n handleColorChange,\n mainClass = '',\n}: ColorPaletteProps) => {\n const [selectColor, setSelectColor] = useState(null);\n const colorList = [\n 'transparent',\n '#FF0000', // Red\n '#00FF00', // Green\n '#0000FF', // Blue\n '#FFFF00', // Yellow\n '#800080', // Purple\n '#FFA500', // Orange\n '#FFC0CB', // Pink\n '#008080', // Teal\n '#A52A2A', // Brown\n '#808080', // Gray\n '#000000', // Black\n '#FFFFFF', // White\n ];\n const handleColorClick = (color, index) => {\n setSelectColor(color);\n handleColorChange(color, index);\n };\n\n return (\n <>\n <div\n className={`${mainClass} z-10 max-h-[15.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`}\n >\n {colorList?.length > 0 && (\n <>\n <p\n className={`${TEXT_SIZE_9} leading-[1.125rem] font-bold pb-[1.125rem] text-left`}\n >\n Choose color\n </p>\n <div\n className={`flex flex-wrap gap-x-[0.8125rem] gap-y-[0.3125rem] pb-[2.0938rem] max-h-[3.75rem] overflow-y-auto`}\n >\n {colorList?.map((color, index) => (\n <ColorBox\n key={`main-${mainIndex}-${index}`}\n color={color}\n index={index}\n onClick={() => handleColorClick(color, mainIndex)}\n boxClass={`w-[1.875rem] h-[1.875rem] ${\n selectColor === color ? 'border border-[red]' : ''\n }`}\n />\n ))}\n </div>\n </>\n )}\n {previousColor?.length > 0 && (\n <>\n <div\n className={`flex flex-row gap-x-[0.875rem] pt-[1.3438rem] border-t border-t-[#EBEBEB]`}\n >\n <p\n className={`${TEXT_SIZE_9} leading-[1.125rem] font-bold pb-[1.125rem]`}\n >\n Previously used\n </p>\n <div\n className={`flex flex-wrap gap-x-[0.8125rem] gap-y-[0.3125rem] border-b border-b-[#EBEBEB] ${previousClass}`}\n >\n {previousColor?.map((color, index) => (\n <ColorBox\n key={`previous-${mainIndex}-${index}`}\n color={color}\n index={'previous' + index}\n onClick={() =>\n handleColorClick(color, mainIndex + 'Choose' + index)\n }\n boxClass={`w-[1.875rem] h-[1.875rem] ${\n selectColor === color ? 'border border-[red]' : ''\n }`}\n />\n ))}\n </div>\n </div>\n </>\n )}\n </div>\n </>\n );\n};\n\nexport interface BoxColorProps {\n color?: string;\n index?: any;\n boxClass?: string;\n onClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n onChange?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n children?: React.ReactNode;\n}\n\nexport const ColorBox = ({\n color,\n index,\n boxClass = '',\n onClick,\n onChange,\n children,\n}: BoxColorProps) => {\n return (\n <div\n key={index}\n style={{ backgroundColor: color }}\n className={`w-10 h-10 border border-[#D6D6D6] ${boxClass}`}\n onClick={onClick}\n onChange={onChange}\n >\n {children}\n </div>\n );\n};\n","import React, { useState } from 'react';\n// import { ChromePicker } from 'react-color';\nimport { ColorPalette } from './colorPalette';\n\nexport const ColorImpl = (props) => {\n const [displayPallet, setdisplayPallet] = useState(false);\n const [, setColor] = useState(props.color);\n\n const handleColorClick = (color: string) => {\n console.log(color);\n setColor(color);\n props.handleChange(props.property, color);\n };\n return (\n <>\n <div className=\"\">\n <div\n className={`border border-gray-600 w-[30px] h-[30px] group `}\n style={{ background: props.color }}\n onClick={() => {\n setdisplayPallet((prev) => !prev);\n }}\n onBlur={() => setdisplayPallet(false)}\n >\n {displayPallet && (\n <ColorPalette\n mainClass={`left-0 ${props.mClass}`}\n handleColorChange={handleColorClick}\n />\n // <div\n // className=\"absolute\"\n // style={{ zIndex: '100' }}\n // tabIndex={0}\n // onBlur={() => setdisplayPallet(false)}\n // >\n // <ChromePicker\n // color={color.hex}\n // onChangeComplete={onChangeComplete}\n // onChange={onChangeComplete}\n // disableAlpha={true}\n // />\n // <hr />\n // </div>\n )}\n </div>\n </div>\n </>\n );\n};\n","import { fabric } from 'fabric';\n\nexport const Initpopup = () => {\n const onObjectSelected = () => {\n if (!popupcanvas.getActiveObject()) {\n return;\n }\n if (popupcanvas.getActiveObject().type !== 'group') {\n return;\n }\n //@ts-ignore\n popupcanvas.getActiveObject().toActiveSelection();\n popupcanvas.requestRenderAll();\n };\n const cursorUrl =\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/eyedropper.svg';\n\n const popupcanvas = new fabric.Canvas('popupCanvas', {\n centeredScaling: true,\n preserveObjectStacking: true,\n backgroundColor: '#F7F7F7',\n defaultCursor: `url(\" ${cursorUrl} \"), auto`,\n hoverCursor: `url(\" ${cursorUrl} \"), auto`,\n });\n\n popupcanvas.on('selection:created', onObjectSelected);\n return popupcanvas;\n};\n","import React, { useEffect, useState } from 'react';\nimport { use3dddPlus } from '../../store';\nimport { shallow } from 'zustand/shallow';\nimport { fabric } from 'fabric';\nimport { ColorImpl } from '../colorPallet';\nimport { Initpopup } from '../../store/fabric/Popupcanvas';\nimport { CgArrowRight } from 'react-icons/cg';\nimport { EyeDropper, IconButton } from '../icon';\nimport { GiDrop } from 'react-icons/gi';\nimport { MdOutlineCancel } from 'react-icons/md';\n// import { Button } from 'reakit';\nexport const PopUpCanvas = () => {\n const [popupCanvas, canvas, colorFill, changeSVGColor] = use3dddPlus(\n (state) => [\n state.popupCanv,\n state.fabricCanvas,\n state.colorFill,\n state.changeSVGColor,\n ],\n shallow\n );\n const [colorCount, setColorCount] = useState(3);\n\n // const colors = [\n // 'red',\n // 'green',\n // 'blue',\n // 'yellow',\n // 'purple',\n // 'indigo',\n // 'orange',\n // 'light green',\n // ];\n // const selectedColors = colors.slice(0, colorCount);\n const handleColorCountChange = (e) => {\n setColorCount(Number(e.target.value));\n };\n const resizeCanvas = () => {\n const canvas = use3dddPlus.getState().popupCanv;\n const outerCanvasContainer =\n document.getElementById('imageCanvas').parentElement;\n console.log(outerCanvasContainer);\n const containerWidth = outerCanvasContainer.clientWidth;\n const scale = containerWidth / canvas.getWidth();\n const zoom = canvas.getZoom() * scale;\n canvas.setWidth(containerWidth);\n //@ts-ignore\n canvas.setHeight(parseInt(outerCanvasContainer.clientHeight));\n canvas.setViewportTransform([zoom, 0, 0, zoom, 0, 0]);\n canvas.renderAll();\n };\n useEffect(() => {\n const popupCanv = Initpopup();\n use3dddPlus.setState({ popupCanv: popupCanv });\n resizeCanvas();\n window.addEventListener('resize', resizeCanvas);\n //FOR REMOVING COLOR\n\n popupCanv.on('mouse:down', function (event) {\n popupCanv.discardActiveObject();\n var mouseClick = popupCanv.getPointer(event.e);\n // console.log('MOUSE-CLICK-->',mouseClick);\n // Iterate through objects on the canvas and check if any intersect with the mouse click\n popupCanv.forEachObject(function (obj) {\n if (obj.type === 'path') {\n //@ts-ignore\n if (obj.containsPoint(mouseClick)) {\n popupCanv.remove(obj);\n popupCanv.renderAll();\n }\n }\n });\n });\n }, []);\n const popupCanvasCancel = () => {\n use3dddPlus.setState({ uploadImageModalDisplay: false });\n console.log(popupCanvas.getObjects()[0]);\n popupCanvas.remove(...popupCanvas.getObjects());\n };\n const popupCanvasContinue = () => {\n //@ts-ignore\n use3dddPlus.setState({ uploadImageModalDisplay: false });\n use3dddPlus.setState({ selectedStepper: undefined });\n const sel = new fabric.ActiveSelection(popupCanvas.getObjects(), {\n //@ts-ignore\n popupCanvas: popupCanvas,\n });\n popupCanvas.setActiveObject(sel);\n // popupCanvas.remove(...popupCanvas.getObjects());\n\n popupCanvas.requestRenderAll();\n let clipboard;\n popupCanvas.getActiveObject().clone(function (cloned) {\n clipboard = cloned;\n });\n if (clipboard.type === 'activeSelection') {\n clipboard.canvas = canvas;\n const objs = [];\n clipboard.forEachObject(function (obj) {\n objs.push(obj);\n });\n const alltogetherObj = new fabric.Group(objs, {});\n canvas.centerObject(alltogetherObj);\n canvas.add(alltogetherObj);\n canvas.setActiveObject(alltogetherObj);\n alltogetherObj.setCoords();\n use3dddPlus.getState().forStoringAllObject(alltogetherObj); //for pushing the data into array for layers\n } else {\n canvas.add(clipboard);\n }\n canvas.requestRenderAll();\n popupCanvas.clear();\n };\n return (\n <>\n {/* <div\n className=\"relative z-10\"\n aria-labelledby=\"modal-title\"\n role=\"dialog\"\n aria-modal=\"true\"\n style={uploadImageModalDisplay ? {} : { display: 'none' }}\n > */}\n <div className=\"flex z-10 overflow-y-auto\">\n <div className=\"flex flex-1 w-full\">\n <div className=\"relative w-full overflow-hidden bg-white\">\n <div className=\"bg-white\">\n <div className=\"flex flex-row\">\n <div className=\"flex flex-row text-center w-[70%] \">\n <div className=\" w-full h-full \">\n <div id=\"imageCanvas\">\n <canvas\n className=\"pointer\"\n id=\"popupCanvas\"\n ></canvas>\n </div>\n <div className=\"absolute bottom-[40px] flex flex-wrap left-[60px]\">\n <span className=\"border border-[#E11A38] p-1 bg-white mr-2 text-[#E11A38] \">\n <EyeDropper />\n </span>\n\n <span className=\"text-[#E11A38] text-[13px] font-bold \">\n Use the eyedropper tool do clicking on a color you wish\n to remove form you image\n </span>\n </div>\n </div>\n </div>\n <div className=\"text-left flex-1 h-[100%] px-[36px] pt-[31px]\">\n <div className=\"flex flex-col gap-y-5\">\n <h1 className=\"text-[22px] font-bold\">\n Match and Combine colors\n </h1>\n <p className=\"text-[15px]\">\n Select how many colors are in your image\n </p>\n <select\n value={colorCount}\n onChange={handleColorCountChange}\n className=\"border-[1px] border-[#D7D7D7] p-2\"\n >\n <option value={1}>1 Colors</option>\n <option value={2}>2 Colors</option>\n <option value={3}>3 Colors</option>\n <option value={4}>4 Colors</option>\n <option value={5}>5 Colors</option>\n <option value={6}>6 Colors</option>\n <option value={7}>7 Colors</option>\n <option value={8}>8 Colors</option>\n </select>\n {/* {Object.keys(colorFill)?.map((item) => {\n return (\n <>\n <ColorImpl\n handleChange={changeSVGColor}\n property={item}\n color={colorFill[item]}\n />\n </>\n );\n })} */}\n <div className=\"flex flex-col gap-y-3.5 items-center overflow-y-auto py-[5px] 2xl:h-[50vh] sm:h-[42vh] h-[42vh]\">\n {Object.keys(colorFill)?.map((item, index) => (\n <div className=\"flex flex-row items-center\" key={index}>\n <ColorImpl\n className=\"w-[30px] h-[30px] m-2 \"\n handleChange={changeSVGColor}\n property={item}\n color={colorFill[item]}\n />\n <div className=\"mx-[20px] text-[#c2c2c2]\">\n <CgArrowRight />\n </div>\n <div className=\"flex flex-row border-[1px] border-[#D6D6D6]\">\n <span className=\" border-r-[1px] border-[#D6D6D6] bg-[#fce8eb]\">\n <IconButton\n label=\"Select Color\"\n icon={<GiDrop />}\n className={\n '!rounded-none pointer-events-auto cursor-pointer flex text-[#E11A38] w-[30px] h-[30px] p-[9px]'\n }\n size=\"1.125rem\"\n ></IconButton>\n </span>\n <span className=\"py-[6px] pl-[10px] pr-[27px] font-medium text-[13px] bg-[#F1F1F1]\">\n Select Color\n </span>\n </div>\n <span className=\"\">\n <IconButton\n label=\"Delete Color\"\n icon={<MdOutlineCancel />}\n className={\n 'pointer-events-auto cursor-pointer m-autoflex w-[30px] h-[30px] p-[9px] text-[#c2c2c2]'\n }\n size=\"1rem\"\n ></IconButton>\n </span>\n </div>\n ))}\n </div>\n <div className=\" flex flex-col\">\n <button\n type=\"button\"\n onClick={popupCanvasContinue}\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\"\n >\n Continue\n </button>\n <button\n type=\"button\"\n onClick={popupCanvasCancel}\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\"\n >\n Cancel\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n {/* </div> */}\n </>\n );\n};\n","import React, { useState } from 'react';\n\nimport FileUploadButton from './fileuploadButton';\nimport { use3dddPlus } from '../../store';\nimport {shallow} from 'zustand/shallow';\nimport { PopUpCanvas } from '../canvas/popUpCanvas';\n\nexport const UploadLogo = () => {\n const [, setSelectedFile,] = useState<File | null>(null);\n const [\n tiffConvert,\n imageToSVG,\n setFile,\n uploadImageModalDisplay,\n pdfConverter,\n ] = use3dddPlus(\n (state) => [\n state.tiffConvert,\n state.imageToSVG,\n state.setFile,\n state.uploadImageModalDisplay,\n state.pdfConverter,\n ],\n shallow\n );\n const handleFileSelect = (file: File) => {\n setSelectedFile(file);\n setFile(file)\n svgConverter(file);\n // You can perform further actions with the selected file here.\n };\n\n const svgConverter = async (data) => {\n // canvas.discardActiveObject();\n const ext = data.name.substring(data.name.lastIndexOf('.') + 1);\n if (ext === 'pdf') {\n let pdfData = await pdfConverter(data);\n imageToSVG(pdfData);\n }\n if (ext === 'tif' || ext === 'tiff') {\n const tiffData = await tiffConvert(data);\n imageToSVG(tiffData);\n } else {\n let objectURL = URL.createObjectURL(data);\n imageToSVG(objectURL);\n }\n setSelectedFile(null);\n };\n return (\n <>\n <div className=\"bg-[#F7F7F7] absolute z-10 w-[90%] h-full \">\n <div className=\"relative w-full h-full\">\n <div className=\"flex justify-center w-full h-full text-center\">\n <FileUploadButton onFileSelect={handleFileSelect} />\n </div>\n <div className=\"absolute md:bottom-[20px] bottom-[10px] px-[80px]\">\n <p className=\" text-[#E11A38] text-base font-bold\">\n Privacy Notice\n </p>\n <p className=\"text-[#727272] text-sm font-medium pt-2 pb-2\">\n Your uploaded images are safe, secure, and remain your property.\n By proceeding you acknowledge that you have full legal rights and\n permissions to use the images you upload.We reserve the right to\n reject any order.\n </p>\n </div>\n </div>\n </div>\n {uploadImageModalDisplay && (\n <div className=\"bg-[#F7F7F7] absolute z-10 w-[90%] h-full\">\n <PopUpCanvas />\n </div>\n )}\n </>\n );\n};\n","import React from 'react';\nimport {\n SEARCHBAR_BORDER_COLOR,\n SEARCH_ICON_COLOR,\n TEXT_COLOR_1,\n TEXT_SIZE_3,\n} from '../../theme';\n\nexport interface SearchBarProps {\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onKeyPress?: (e: React.KeyboardEvent<HTMLDivElement>) => void;\n onPaste?: (e: React.ClipboardEvent<HTMLInputElement>) => void;\n placeholder?: string;\n searchBarMainClass?: string;\n value?: string;\n disabled?: boolean;\n}\nexport const Searchbar = ({\n onChange,\n onKeyPress,\n onPaste,\n placeholder,\n searchBarMainClass,\n value,\n disabled,\n}: SearchBarProps) => {\n return (\n <>\n <div\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]`}\n >\n <input\n type=\"search\"\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]`}\n placeholder={placeholder}\n aria-label=\"Search\"\n aria-describedby=\"button-addon3\"\n value={value}\n onChange={onChange}\n onKeyPress={onKeyPress}\n disabled={disabled}\n onPaste={onPaste}\n onClick={(e) => {\n e.currentTarget.focus();\n }}\n />\n <span\n className={`flex justify-center items-center rounded-none pl-2 pr-[14px]`}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n className={`h-5 w-5 ${SEARCH_ICON_COLOR}`}\n >\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\" />\n </svg>\n </span>\n </div>\n </>\n );\n};\n","import React from 'react';\nimport { Input as InputImpl, InputHTMLProps } from 'reakit';\n\nexport const input = React.forwardRef<HTMLInputElement, InputHTMLProps>(\n (props, ref) => {\n return (\n <InputImpl\n // @ts-ignore\n ref={ref}\n {...props}\n className={`${props.className} block w-full border border-dark py-2 px-4 mb-4`}\n />\n );\n }\n);\n\n","import React from 'react';\nimport { IconButton, RxCross2 } from '../icon';\nimport { BACKDROP_BLUR, BACKDROP_BLUR_BG_COLOR, SAVERACK_TEXT_COLOR } from '../../theme';\n\nexport interface GlobalModalProps {\n backdropStyle?: string;\n children?: React.ReactNode;\n contentStyle?: string;\n crossOnClick?: () => void;\n modalStyle?: string;\n}\n\nexport const Modal = ({\n backdropStyle,\n children,\n contentStyle,\n crossOnClick,\n modalStyle,\n}: GlobalModalProps) => {\n return (\n <div>\n <div\n className={`${backdropStyle} absolute top-0 left-0 h-screen w-full ${BACKDROP_BLUR} ${BACKDROP_BLUR_BG_COLOR}`}\n ></div>\n\n <dialog\n open\n className={`${contentStyle} absolute shadow-[0 2px 8px rgba(0, 0, 0, 0.26)] ml-[auto] md:mr-[0%] mr-[auto]`}\n >\n <IconButton\n label={''}\n icon={<RxCross2 strokeWidth={1} onClick={crossOnClick} />}\n className={\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`\n }\n size=\"1.2rem\"\n ></IconButton>\n <div\n className={`flex flex-col justify-center gap-[1.75rem] ${modalStyle}`}\n >\n {children}\n </div>\n </dialog>\n </div>\n );\n};\n","import React from 'react';\nexport interface ModalButtonsProps {\n buttonMainClass?: string;\n buttons?: {\n buttonClass?: string;\n label?: string;\n onClick?: () => void;\n style?: React.CSSProperties;\n }[];\n}\nexport const ModalButtons = ({ buttonMainClass, buttons }: ModalButtonsProps) => {\n return (\n <div\n className={`flex flex-col lg:flex-row gap-[1.5625rem] leading-[1.4375rem] font-bold ${buttonMainClass}`}\n >\n {buttons?.map((button, index) => (\n <button\n key={index}\n onClick={button.onClick}\n className={`w-full py-[0.7188rem] rounded-none font-bold uppercase ${button.buttonClass}`}\n style={button.style}\n >\n {button.label}\n </button>\n ))}\n </div>\n );\n};\n\n","import React from 'react';\nimport { HiOutlineDownload, IconButton } from '../icon';\n\nexport interface ModalDownLoadIconProps {\n downloadClass?: string;\n downloadIconClass?: string;\n iconClass?: string;\n pdfUrl?: string;\n}\nexport const ModalDownloadIcon = ({\n downloadClass,\n downloadIconClass,\n iconClass,\n pdfUrl,\n}: ModalDownLoadIconProps) => {\n return (\n <>\n <div className={`flex justify-center items-center`}>\n <a\n href={pdfUrl}\n download={'Design Sheet'}\n target=\"_blank\"\n className={`flex items-center cursor-pointer gap-[0.6875rem] font-bold ${downloadIconClass}`}\n >\n <IconButton\n label={''}\n icon={<HiOutlineDownload />}\n className={`pointer-events-auto ${iconClass}`}\n size=\"1.1rem\"\n ></IconButton>\n\n <span className={`uppercase ${downloadClass}`}>\n VIEW DESIGN SHEET\n </span>\n </a>\n </div>\n </>\n );\n};\n","import React from 'react';\n\nexport interface ModalHeadingProps {\n children?: React.ReactNode;\n headingStyle?: string;\n}\nexport const ModalHeading = ({ children, headingStyle }: ModalHeadingProps) => {\n return (\n <>\n <div\n className={`flex flex-col gap-[1.625rem] justify-center items-center text-center ${headingStyle}`}\n >\n {children}\n </div>\n </>\n );\n};\n\n","import React from 'react';\n\nexport interface ModalLabelProps {\n children?: React.ReactNode;\n labelStyle?: string;\n}\nexport const ModalLabel = ({ children, labelStyle }: ModalLabelProps) => {\n return (\n <>\n <p className={`${labelStyle}`}>{children}</p>\n </>\n );\n};\n\n","import React from 'react';\nimport { IconButton } from '../icon';\n\nexport interface ModalStatusProps {\n icon?: JSX.Element;\n onIconClick?: () => void;\n children?: React.ReactNode;\n iconStyle?: string;\n}\nexport const ModalStatusIcon = ({\n icon,\n onIconClick,\n iconStyle,\n children,\n}: ModalStatusProps) => {\n return (\n <>\n <div className={`flex justify-center`} onClick={onIconClick}>\n <IconButton\n label={''}\n icon={icon}\n className={`pointer-events-auto cursor-pointer h-[auto] ${iconStyle}`}\n size=\"6.3rem\"\n ></IconButton>\n {children}\n </div>\n </>\n );\n};\n","import React from \"react\";\n\nexport const SortButton = ({ label, icons, onClick, className }) => {\n return (\n <button\n onClick={onClick}\n className={`flex rounded-none gap-3 items-center p-2 mr-[24px] ${className}`}\n >\n {icons}\n {label}\n \n </button>\n );\n };\n \n\n ","import React, { useState } from 'react';\nimport { SortButton } from './sortButton';\nimport { BsSortDown } from 'react-icons/bs';\nimport { use3dddPlus } from '../../store';\nimport { shallow } from 'zustand/shallow';\nexport const SortByDropdown = () => {\n const [loadingLogo] = use3dddPlus((state) => [state.loadingLogo], shallow);\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n\n const toggleDropdown = () => {\n setIsDropdownOpen(!isDropdownOpen);\n };\n\n return (\n <div className=\"absolute\">\n <SortButton\n onClick={toggleDropdown}\n label=\"Sort by\"\n icons={<BsSortDown />}\n className=\" bg-[#FFFFFF]\"\n />\n {isDropdownOpen && (\n <div className=\"dropdown-content h-[200px] w-[210px] bg-[#FFFFFF] flex flex-col absolute z-10\">\n {/* Dropdown content goes here */}\n <button\n className=\"flex items-center h-[45px] mt-[12px] pl-[27.85px] border-b-[1px] border-[#F4F4F4] \"\n onClick={() => {\n toggleDropdown();\n loadingLogo('&sortBy=updated_at&sortDir=DESC');\n }}\n >\n NEWEST\n </button>\n <button\n className=\"flex items-center h-[45px] pl-[27.85px] border-b-[1px] border-[#F4F4F4]\"\n onClick={() => {\n toggleDropdown();\n loadingLogo('&sortBy=updated_at&sortDir=ASC');\n }}\n >\n OLDEST\n </button>\n <button\n className=\"flex items-center h-[45px] pl-[27.85px] border-b-[1px] border-[#F4F4F4]\"\n onClick={() => {\n toggleDropdown();\n loadingLogo('&sortBy=name&sortDir=ASC');\n }}\n >\n A TO Z\n </button>\n <button\n className=\"flex items-center h-[45px] pl-[27.85px] border-[#F4F4F4]\"\n onClick={() => {\n toggleDropdown();\n loadingLogo('&sortBy=name&sortDir=DESC');\n }}\n >\n Z TO A\n </button>\n </div>\n )}\n </div>\n );\n};\n","import React from 'react';\nimport './loader.css';\n\nexport const Loader = ({ position = 'overlay', height = '100%' }) => {\n const loaderRef = React.useRef<any>();\n React.useEffect(() => {\n if (!loaderRef) return;\n loaderRef.current.style.height = height;\n }, [loaderRef]);\n return (\n <section\n ref={loaderRef}\n id=\"ls\"\n style={\n position === 'overlay'\n ? { position: 'absolute', opacity: 0.8, top: 0 }\n : {}\n }\n className=\"w-full h-full\"\n >\n <div id=\"l\"></div>\n </section>\n );\n};\n","import React, { useEffect } from 'react';\nimport { Searchbar } from '../searchbar';\nimport { Card, CardMedia, CardBody, CardTitle } from '../card';\nimport { SortByDropdown } from '../SortByDropdown';\nimport { use3dddPlus } from '../../store';\nimport { shallow } from 'zustand/shallow';\nimport { Loader } from '../loader';\n\nexport const MyLogo = ({ onApply }) => {\n const [logoSelected, setLogoSelected] = React.useState(false);\n const [\n retriveLogoDesign,\n myLogoHandler,\n loadingLogo,\n loading,\n setLogoData,\n logoData,\n ] = use3dddPlus(\n (state) => [\n state.retriveLogoDesign,\n state.myLogoHandler,\n state.loadingLogo,\n state.loading,\n state.setLogoData,\n state.logoData,\n ],\n shallow\n );\n useEffect(() => {\n loadingLogo('');\n }, []);\n const handleEditLogo = (logo) => {\n if (logo) {\n myLogoHandler(logo);\n setLogoSelected(false);\n }\n };\n const handleApplyLogo = (logo) => {\n if (logo) {\n onApply();\n setLogoSelected(false);\n }\n };\n return (\n <>\n <div className=\"bg-[#F7F7F7] absolute z-100 w-[90%] h-full pr-[56px]\">\n <div className=\" w-full flex mt-[50px] flex-row\">\n <div className=\" flex w-1/2 justify-end\">\n <SortByDropdown />\n </div>\n <div className=\" flex-1\">\n <Searchbar\n placeholder={'Search by Logo name or tags'}\n onChange={(e) => loadingLogo(e.target.value)}\n ></Searchbar>\n </div>\n </div>\n <div className=\"flex ml-[33px] mt-[30px] overflow-y-auto overflow-x-hidden h-[65vh]\">\n <div className=\"max-h-[140px] grid gap-3.5 grid-cols-3 md:grid-cols-4 lg:grid-cols-5 w-full \">\n {retriveLogoDesign.length > 0\n ? retriveLogoDesign.map((logo, index) => (\n <React.Fragment key={index}>\n <Card\n cardClass={`rounded-none bg-white cursor-pointer`}\n style={{ boxShadow: '0px 0px 6px #98989829' }}\n onClick={() => {\n if (logo) {\n setLogoData(logo);\n setLogoSelected(true);\n }\n }}\n >\n <CardMedia\n //@ts-ignore\n src={logo.logo_url}\n imageClass=\"h-[50px] mt-[26px]\"\n />\n\n <CardBody bodyClass=\"p-2.5 mt-[13px]\">\n <CardTitle\n titleClass={`text-[11px] uppercase`}\n //@ts-ignore\n name={logo.name}\n />\n </CardBody>\n </Card>\n </React.Fragment>\n ))\n : 'No Saved Mascots'}\n <div className={`flex gap-2 h-[48px]`}>\n <button\n className={`border border-[black] p-3`}\n onClick={() => handleEditLogo(logoData)}\n >\n Edit\n </button>\n <button\n onClick={() => handleApplyLogo(logoData)}\n className={`border p-3 ${\n logoSelected\n ? 'border-[#e11a38] text-[#e11a38]'\n : 'border-[black] text-black'\n }`}\n >\n Apply\n </button>\n </div>\n </div>\n </div>\n </div>\n {loading && <Loader />}\n </>\n );\n};\n","import React, { useEffect } from 'react';\n//import { StepperTypes } from '../../store/actions/types';\nimport { use3dddPlus } from '../../store';\nimport { shallow } from 'zustand/shallow';\nimport {\n SELECT_BG_COLOR,\n //BORDER_COLOR,\n TEXT_SIZE_1,\n TEXT_SIZE_2,\n SELECT_TEXT_COLOR,\n BUTTON_TEXT_COLOR,\n TEXT_COLOR_1,\n} from '../../theme';\nimport {\n AddText,\n IconButton,\n MyLogo,\n ProductColor,\n RLogo,\n AddMascots,\n} from '../icon';\nimport { MdOutlineFileUpload } from 'react-icons/md';\n\nexport const LeftMenu = () => {\n const [\n setSelectedStepper,\n selectedStepper,\n addText,\n getStockLogos,\n loadingLogo,\n ] = use3dddPlus(\n (state) => [\n state.setSelectedStepper,\n state.selectedStepper,\n state.addText,\n state.getStockLogos,\n state.loadingLogo,\n ],\n shallow\n );\n const StepperList = [\n {\n name: 'Upload File',\n icon: <MdOutlineFileUpload />,\n id: 1,\n display: true,\n },\n {\n name: 'My Logos',\n icon: <MyLogo />,\n id: 2,\n display: true,\n },\n {\n name: 'Add Text',\n icon: <AddText />,\n id: 3,\n display: true,\n },\n {\n name: 'Add Mascots',\n icon: <AddMascots />,\n id: 4,\n display: true,\n },\n {\n name: 'product Color',\n icon: <ProductColor />,\n id: 5,\n display: true,\n },\n ];\n\n useEffect(() => {\n return () => {};\n }, []);\n\n return (\n <div className=\"flex flex-row md:flex-col\">\n <div\n className={` flex flex-row md:flex-col sticky md:relative md:w-[100%] md:max-w-[100%]`}\n style={{ boxShadow: '0px 0px 6px #98989829' }}\n >\n <div\n className={`${SELECT_BG_COLOR} flex justify-center cursor-pointer p-2.5 `}\n >\n <div className=\" flex flex-col items-center justify-center\">\n <span className={`stepper-icon-active ${TEXT_SIZE_2} mb-2`}>\n <IconButton\n label={''}\n icon={<RLogo />}\n size=\"2rem\"\n className={`${TEXT_COLOR_1} pointer-events-auto cursor-pointer m-auto`}\n ></IconButton>\n </span>\n <span\n className={`${SELECT_TEXT_COLOR} ${TEXT_SIZE_1} uppercase font-bold text-center`}\n >\n Logo Designer\n </span>\n </div>\n </div>\n </div>\n <div\n className={` flex h-[100%] flex-row md:flex-col sticky md:relative md:w-[100%] md:max-w-[100%]`}\n style={{ boxShadow: '0px 0px 6px #98989829' }}\n >\n {StepperList?.map((step) => (\n <div\n className={\n step.id === selectedStepper\n ? `${SELECT_BG_COLOR} flex justify-center cursor-pointer p-2.5 `\n : 'flex justify-center cursor-pointer p-2.5 '\n }\n key={step.id}\n style={!step.display ? { display: 'none' } : {}}\n >\n <div\n className=\"flex flex-col items-center justify-center \"\n onClick={(e) => {\n e.preventDefault();\n setSelectedStepper(step.id);\n if (step.id === 3) {\n addText();\n }\n if (step.id === 4) {\n getStockLogos();\n }\n if (step.id === 2) {\n loadingLogo('');\n }\n }}\n >\n <span\n className={\n step.id === selectedStepper\n ? `stepper-icon-active ${TEXT_SIZE_2} mb-2`\n : `stepper-icon ${TEXT_SIZE_2} mb-2`\n }\n >\n <IconButton\n label={''}\n icon={step.icon}\n size=\"2rem\"\n className={`${\n step.id === selectedStepper\n ? BUTTON_TEXT_COLOR\n : TEXT_COLOR_1\n } pointer-events-auto cursor-pointer m-auto`}\n ></IconButton>\n </span>\n <span\n className={\n step.id === selectedStepper\n ? `${SELECT_TEXT_COLOR} ${TEXT_SIZE_1} uppercase font-bold text-center`\n : `${TEXT_COLOR_1} ${TEXT_SIZE_1} uppercase font-bold text-center`\n }\n >\n {step.name}\n </span>\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n};\n","import React from 'react';\nimport { ColorImpl } from '../colorPallet';\nimport { IconButton, FlipH, FlipV } from '../icon';\nexport const ImageEdit = ({\n nudgeMove,\n flipX,\n flipY,\n changeSVGColor,\n activeSelection,\n}) => {\n return (\n <>\n <div className=\"uppercase font-bold pt-[17px]\">Color in Canvas</div>\n <div className=\"flex gap-x-[1rem] mt-[12px]\">\n {activeSelection.colorFill &&\n Object.keys(activeSelection?.colorFill)?.map((item) => {\n return (\n <ColorImpl\n mClass={'ml-[36px]'}\n key={\n activeSelection.colorFill[item] +\n activeSelection?.ownMatrixCache?.key\n }\n handleChange={changeSVGColor}\n property={item}\n color={activeSelection.colorFill[item]}\n />\n );\n })}\n </div>\n <div>\n <div className=\"font-bold uppercase mt-[17px]\">Flip</div>\n <div className=\"flex gap-x-[1rem] mt-[12px]\">\n <IconButton\n key={`index_flipX`}\n label=\"\"\n icon={<FlipH />}\n onClick={flipX}\n className={`w-[45px] h-[45px] bg-[#fff] cursor-pointer border border-[#EBEBEB]`}\n size=\"1.8rem\"\n ></IconButton>\n <IconButton\n key={`index_flipY`}\n label=\"\"\n onClick={flipY}\n icon={<FlipV />}\n className={`w-[45px] h-[45px] bg-[#fff] cursor-pointer border border-[#EBEBEB]`}\n size=\"1.8rem\"\n ></IconButton>\n </div>\n </div>\n <div className=\"mt-[30px]\">\n <h3 className=\"font-extrabold\">Nudge</h3>\n <button\n onClick={nudgeMove}\n id=\"down\"\n className=\"font-medium text-orange-400\"\n >\n DOWN\n </button>\n <button\n onClick={nudgeMove}\n id=\"up\"\n className=\"font-medium text-orange-300 text-lime-400 px-1\"\n >\n UP\n </button>\n <button\n onClick={nudgeMove}\n id=\"left\"\n className=\"font-medium text-orange-300 text-teal-500\"\n >\n LEFT\n </button>\n <button\n onClick={nudgeMove}\n id=\"right\"\n className=\"font-medium text-orange-300 text-violet-600 px-1\"\n >\n RIGHT\n </button>\n </div>\n </>\n );\n};\n","import { use3dddPlus } from '../../store';\nimport { shallow } from 'zustand/shallow';\nimport { useEffect, useState } from 'react';\nimport { ColorImpl } from '../colorPallet';\nimport React from 'react';\nimport { Tab, initTE } from 'tw-elements';\nimport {\n BORDER_COLOR_1,\n INPUT_BG_COLOR,\n SELECT_BG_COLOR,\n TEXT_COLOR_1,\n TEXT_SIZE_3,\n TEXT_SIZE_9,\n} from '../../theme';\nimport { ImageEdit } from './imageEdit';\nimport './rightMenu.css';\nimport { FiAlignCenter, FiAlignLeft, FiAlignRight } from 'react-icons/fi';\nconst fontFamilies = [\n {\n name: 'Athletic Block',\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/athletic.ttf',\n },\n {\n name: 'Ballpark',\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/ballpark.TTF ',\n },\n {\n name: 'Pro Block',\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/pro_block.woff',\n },\n {\n name: 'Full Block',\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/full_block.woff',\n },\n {\n name: 'Brush Script',\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/brush-script-3.ttf',\n },\n {\n name: 'City Block',\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/cityb.woff',\n },\n {\n name: 'Tiffany',\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/tiffany.woff',\n },\n];\n\nexport const Rightmenu = () => {\n initTE({ Tab });\n const textSelected = use3dddPlus.getState().activeSelection;\n const canvas = use3dddPlus.getState().fabricCanvas;\n const [\n colorFill,\n currentSelection,\n activeSelection,\n textInfo,\n activeObj,\n storeAllObject,\n allColor,\n setToggleSaveDesign,\n ] = use3dddPlus(\n (state) => [\n state.colorFill,\n state.currentSelection,\n state.activeSelection,\n state.textInfo,\n state.activeSelection,\n state.storeAllObject,\n state.allColor,\n state.setToggleSaveDesign,\n ],\n shallow\n );\n const [textAlignDisplay, setTextAlignDisplay] = useState(false);\n const [outlineVal, setOutlineVal] = useState(0);\n const [spacingVal, setSpacinglineVal] = useState(1);\n const [sliderValue, setSliderValue] = useState(50);\n const [fontStyle, setFontStyle] = useState({\n bold: false,\n italic: false,\n underline: false,\n });\n const [activeButton, setActiveButton] = useState<string | null>(null);\n useEffect(() => {\n if (!activeSelection) return;\n use3dddPlus.setState({ textInfo: activeSelection.text });\n }, [activeSelection]);\n\n const onTextChange = (e) => {\n const lines = e.target.value.split('\\n');\n lines.length == 1 ? setTextAlignDisplay(false) : setTextAlignDisplay(true);\n use3dddPlus.setState({ textInfo: e.target.value });\n textSelected.set('text', use3dddPlus.getState().textInfo);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n canvas.renderAll();\n };\n const textAlignHandler = (e) => {\n console.log(e.target.id);\n setActiveButton(e.target.id);\n textSelected.set('textAlign', e.target.id);\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n canvas.renderAll();\n };\n const handleSliderChange = (event) => {\n textSelected.set('fontSize', event.target.value);\n canvas.renderAll();\n setSliderValue(event.target.value);\n };\n const fontChange = (e) => {\n fontFamilies.map((item) => {\n console.log(e, item);\n if (item.name == e.target.value) {\n const font = new FontFace(item.name, `url('${item.src}')`);\n font.load().then((value) => {\n //@ts-ignore\n document.fonts?.add(value);\n document.body.classList.add('fonts-loaded');\n textSelected.set('fontFamily', item.name);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n canvas.renderAll();\n });\n }\n });\n };\n const textColorChange = (property, color: any) => {\n console.log(property);\n textSelected.set({\n fill: color,\n colorFill: { layer0: color },\n });\n //textSelected.set('fill', color);\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n canvas.renderAll();\n };\n const nudgeMove = (e) => {\n if (e.target.id === 'down') {\n if (textSelected.aCoords.br.y > canvas.height - 2) return;\n use3dddPlus.getState().moveDown(textSelected);\n use3dddPlus.getState().updateModifaction(true);\n } else if (e.target.id === 'up') {\n if (textSelected.aCoords.tr.y < 5) return;\n use3dddPlus.getState().moveUp(textSelected);\n use3dddPlus.getState().updateModifaction(true);\n } else if (e.target.id === 'right') {\n if (textSelected.aCoords.tr.x > canvas.height - 2) return;\n use3dddPlus.getState().moveRight(textSelected);\n use3dddPlus.getState().updateModifaction(true);\n } else if (e.target.id === 'left') {\n if (textSelected.aCoords.tl.x < 2) return;\n use3dddPlus.getState().moveLeft(textSelected);\n use3dddPlus.getState().updateModifaction(true);\n }\n };\n const textOutlineHandler = (e) => {\n setOutlineVal(e.target.valueAsNumber);\n textSelected.strokeWidth = e.target.valueAsNumber;\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n canvas.renderAll();\n };\n const strokeColorChange = (property, color) => {\n console.log(property);\n textSelected.set('stroke', color);\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n canvas.renderAll();\n };\n const textSpacingHandler = (e) => {\n setSpacinglineVal(e.target.valueAsNumber);\n textSelected.charSpacing = e.target.valueAsNumber;\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n canvas.renderAll();\n if (textSelected.aCoords.tr.x > 480) {\n return;\n }\n };\n const textStyle = (e: any, key: string, value: any) => {\n if (fontStyle[e.target.id]) textSelected.set(key, '');\n else textSelected.set(key, value);\n setFontStyle((state) => ({ ...state, [e.target.id]: !state[e.target.id] }));\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n canvas.renderAll();\n };\n const layerHandle = (element, index, num) => {\n const currentObject = [...use3dddPlus.getState().storeAllObject];\n if (num === 'minus') {\n canvas.sendToBack(element);\n use3dddPlus.setState({\n storeAllObject: changeArr(currentObject, index, index + 1),\n });\n } else {\n canvas.bringToFront(element);\n use3dddPlus.setState({\n storeAllObject: changeArr(currentObject, index, index - 1),\n });\n }\n };\n const changeArr = (arr, fromIndex, toIndex) => {\n const element = arr.splice(fromIndex, 1)[0];\n arr.splice(toIndex, 0, element);\n return arr;\n };\n const deleteElement = (item) => {\n canvas.remove(item);\n canvas.requestRenderAll();\n removeItem(item);\n };\n const removeItem = (value: any) => {\n //@ts-ignore\n var index = use3dddPlus.getState().storeAllObject.indexOf(value);\n if (index > -1) {\n use3dddPlus.getState().storeAllObject.splice(index, 1);\n }\n use3dddPlus.setState({\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\n });\n };\n const changeSVGTextColor = (property, color) => {\n const previousColor = property;\n canvas.getObjects().map((data) => {\n // console.log(data.type);\n if (data.type === 'text') {\n let _C = data.fill;\n if (_C === previousColor) {\n data.set({\n fill: color,\n colorFill: { layer0: color },\n });\n }\n // canvas.renderAll();\n } else if (data.type === 'group') {\n // console.log(data);\n let objImage = data._objects;\n objImage.forEach((ele) => {\n const _C = ele.fill.includes('#') ? ele.fill : RGBToHex(ele.fill);\n console.log('ele', ele);\n if (_C === previousColor) {\n ele.set({\n fill: color,\n // colorFill : colorFill,\n });\n }\n });\n const colorFill = { ...data.colorFill };\n Object.keys(colorFill).forEach((item) => {\n console.log(item);\n if (colorFill[item] === previousColor) {\n colorFill[item] = color;\n }\n });\n data.set({\n colorFill: colorFill,\n });\n }\n });\n canvas.renderAll();\n };\n const changeSVGColor = (property, color) => {\n const fillColor = colorFill;\n const previousColor = fillColor[property];\n const SelectedObjet = use3dddPlus.getState().activeSelection;\n let objImage = SelectedObjet._objects;\n objImage.forEach((ele) => {\n const _C = ele.fill.includes('#') ? ele.fill : RGBToHex(ele.fill);\n if (_C === previousColor) {\n ele.set({\n fill: color,\n });\n }\n });\n canvas.renderAll();\n fillColor[property] = color;\n use3dddPlus.setState({ colorFill: fillColor });\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n };\n\n const RGBToHex = (rgb) => {\n let sep = rgb.indexOf(',') > -1 ? ',' : ' ';\n\n rgb = rgb.substr(4).split(')')[0].split(sep);\n let r = (+rgb[0]).toString(16),\n g = (+rgb[1]).toString(16),\n b = (+rgb[2]).toString(16);\n\n if (r.length == 1) r = '0' + r;\n if (g.length == 1) g = '0' + g;\n if (b.length == 1) b = '0' + b;\n return '#' + r + g + b;\n };\n const flipX = () => {\n activeObj.set({\n flipX: !activeObj.flipX,\n });\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n canvas.renderAll();\n };\n const flipY = () => {\n activeObj.set({\n flipY: !activeObj.flipY,\n });\n use3dddPlus.getState().updateModifaction(true);\n use3dddPlus.getState().forIconCapture();\n textSelected.icon = use3dddPlus.getState().iconImage;\n // activeObj.\n canvas.renderAll();\n };\n const onSave = () => {\n if (canvas.getObjects().length > 0) {\n setToggleSaveDesign('save', true, 'Save Logo', {});\n } else {\n alert('NOTHING TO SAVE...');\n }\n };\n useEffect(() => {\n const unSub = use3dddPlus.subscribe(\n (state) => state.colorFill,\n (_current, _previous) => {\n // console.log(\"_PREVIUS_COLORFIL\" , _previous);\n // console.log(\"_CURRENT_COLOR\",_current);\n }\n );\n return unSub;\n }, []);\n // console.log(\"====>\",activeSelection,currentSelection)\n return (\n <div className=\"text-left flex-1 h-[100vh] px-[36px] pt-[23px] relative \">\n <div className=\"flex flex-col \">\n <h1 className=\"text-[22px] font-bold\">Edit Design</h1>\n <ul\n className=\" flex list-none mt-[16px] flex-col md:flex-row border-b-0 pl-0\"\n role=\"tablist\"\n data-te-nav-ref\n >\n <li\n role=\"presentation\"\n className=\"flex-grow basis-0 text-center\"\n onClick={() => {\n use3dddPlus.setState({ currentSelection: 'none' });\n canvas.discardActiveObject();\n canvas.renderAll();\n }}\n >\n <a\n href=\"#tabs-properties\"\n className={`my-2 block border border-[#D6D6D6] px-[40px] py-[10px] ${TEXT_SIZE_9} font-bold uppercase leading-tight hover:text-[white] hover:bg-[#E11A38] data-[te-nav-active]:bg-[#E11A38] data-[te-nav-active]:text-[white]`}\n data-te-toggle=\"pill\"\n data-te-target=\"#tabs-properties\"\n data-te-nav-active\n role=\"tab\"\n aria-controls=\"tabs-properties\"\n aria-selected=\"true\"\n >\n Properties\n </a>\n </li>\n <li\n role=\"presentation\"\n className=\"flex-grow basis-0 text-center\"\n onClick={() => use3dddPlus.setState({ currentSelection: 'layer' })}\n >\n <a\n href=\"#tabs-layers\"\n className={`my-2 block border border-[#D6D6D6] px-[40px] py-[10px] ${TEXT_SIZE_9} font-bold uppercase leading-tight hover:text-[white] hover:bg-[#E11A38] data-[te-nav-active]:bg-[#E11A38] data-[te-nav-active]:text-[white]`}\n data-te-toggle=\"pill\"\n data-te-target=\"#tabs-layers\"\n role=\"tab\"\n aria-controls=\"tabs-layers\"\n aria-selected=\"false\"\n >\n Layers\n </a>\n </li>\n </ul>\n\n <div\n className=\"hidden opacity-100 transition-opacity duration-150 ease-linear data-[te-tab-active]:block\"\n id=\"tabs-properties\"\n role=\"tabpanel\"\n aria-labelledby=\"tabs-home-tab02\"\n data-te-tab-active\n >\n <div className=\"h-[50vh] sm:h-[55vh] 2xl:h-[60vh] overflow-y-auto overflow-x-hidden\">\n {currentSelection === 'text' && (\n <div className=\" \">\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n Enter Text\n </div>\n <textarea\n value={textInfo}\n onChange={onTextChange}\n className=\"w-[100%] border border-solid-[1px] border-[#9A9A9A] py-[10px] pl-[16px] mb-[16.5px]\"\n placeholder=\"LOGO TEXT\"\n />\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n Select Font\n </div>\n <select\n name=\"FontStyleNumber\"\n id=\"FontStyleNumber\"\n onChange={fontChange}\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-current focus:outline-offset-0 focus:rounded-sm mb-[16.5px]`}\n >\n {fontFamilies.map((list, index) => {\n return (\n <>\n <option value={list.name} key={index}>\n {list.name}\n </option>\n </>\n );\n })}\n </select>\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n TEXT SIZE\n </div>\n <input\n type=\"range\"\n value={sliderValue}\n onChange={handleSliderChange}\n className=\" rangeSlider w-full mb-[16.5px]\"\n id=\"slider\"\n style={{\n background: `linear-gradient(to right, #e11a38 0%, #e11a38 ${sliderValue}%, #fff ${sliderValue}%, #fff 100%)`,\n }}\n />\n\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n Style\n </div>\n <div className=\"flex gap-x-[15px] mb-[16.5px]\">\n {' '}\n <button\n className={\n fontStyle.bold\n ? `${SELECT_BG_COLOR} text-[#fff] text-base cursor-pointer border font-bold border-[#EBEBEB] py-[7px] px-[39px] `\n : 'bg-[#fff] font-bold text-base cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px]'\n }\n onClick={(e) => textStyle(e, 'fontWeight', 'bold')}\n id=\"bold\"\n >\n B\n </button>\n <button\n className={\n fontStyle.italic\n ? `${SELECT_BG_COLOR} text-[#fff] text-base cursor-pointer border italic border-[#EBEBEB] py-[7px] px-[39px] `\n : 'bg-[#fff] italic text-base cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px]'\n }\n onClick={(e) => textStyle(e, 'fontStyle', 'italic')}\n id=\"italic\"\n >\n I\n </button>\n <button\n className={\n fontStyle.underline\n ? `${SELECT_BG_COLOR} text-[#fff] text-base cursor-pointer border underline border-[#EBEBEB] py-[7px] px-[39px] `\n : 'bg-[#fff] underline text-base cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px]'\n }\n onClick={(e) =>\n textStyle(e, 'underline', !fontStyle.underline)\n }\n id=\"underline\"\n >\n U\n </button>\n </div>\n\n {textAlignDisplay === true && (\n <div className=\"textAlign\">\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n Align\n </div>\n <div className=\"flex gap-x-[15px] mb-[16.5px]\">\n <button\n type=\"button\"\n className={\n 'left' === activeButton\n ? `${SELECT_BG_COLOR} text-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px] `\n : 'bg-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px]'\n }\n id=\"left\"\n onClick={textAlignHandler}\n >\n <FiAlignLeft id=\"left\" onClick={textAlignHandler} />\n </button>\n <button\n type=\"button\"\n className={\n 'center' === activeButton\n ? `${SELECT_BG_COLOR} text-[#fff] cursor-pointer border border-[#EBEBEB] y-[7px] px-[39px] `\n : 'bg-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px]'\n }\n id=\"center\"\n onClick={textAlignHandler}\n >\n <FiAlignCenter id=\"center\" onClick={textAlignHandler} />\n </button>\n <button\n type=\"button\"\n className={\n 'right' === activeButton\n ? `${SELECT_BG_COLOR} text-[#fff] cursor-pointer border border-[#EBEBEB] y-[7px] px-[39px] `\n : 'bg-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px]'\n }\n id=\"right\"\n onClick={textAlignHandler}\n >\n <FiAlignRight id=\"right\" onClick={textAlignHandler} />\n </button>\n </div>\n </div>\n )}\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n Text Color\n </div>\n <div className=\"relative\">\n <ColorImpl\n mClass={'ml-0'}\n handleChange={textColorChange}\n property={'backgroundColor'}\n name={'backgroundColor'}\n color={activeSelection.fill}\n />\n </div>\n <div className=\"flex gap-2 mt-4\">\n <div>\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n Outline Size\n </div>\n <input\n type=\"number\"\n id=\"outlineSize\"\n name=\"outlineSize\"\n step=\"0.2\"\n value={outlineVal}\n className=\"border border-[#EBEBEB] py-[10px] pl-[16px] mb-[16.5px] w-[145px]\"\n onChange={textOutlineHandler}\n ></input>\n </div>\n <div>\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n Outline Color\n </div>\n <div className=\"relative\">\n {' '}\n <ColorImpl\n mClass={'ml-0'}\n handleChange={strokeColorChange}\n property={'backgroundColor'}\n name={'backgroundColor'}\n color={activeSelection.stroke}\n />\n </div>\n </div>\n </div>\n <div className=\"flex gap-2\">\n <div>\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n Letter Spacing\n </div>\n <input\n type=\"number\"\n id=\"spacing\"\n name=\"spacing\"\n step=\"10\"\n value={spacingVal}\n className=\"border border-[#EBEBEB] py-[10px] pl-[16px] mb-[16.5px] w-[145px]\"\n onChange={textSpacingHandler}\n ></input>\n </div>\n <div>\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\n Nudge\n </div>\n <button\n onClick={nudgeMove}\n id=\"down\"\n className=\"font-medium text-orange-400\"\n >\n DOWN\n </button>\n <button\n onClick={nudgeMove}\n id=\"up\"\n className=\"font-medium text-orange-300 text-lime-400 px-1\"\n >\n UP\n </button>\n <button\n onClick={nudgeMove}\n id=\"left\"\n className=\"font-medium text-orange-300 text-teal-500\"\n >\n LEFT\n </button>\n <button\n onClick={nudgeMove}\n id=\"right\"\n className=\"font-medium text-orange-300 text-violet-600 px-1\"\n >\n RIGHT\n </button>\n </div>\n </div>\n </div>\n )}\n {currentSelection === 'group' && (\n <ImageEdit\n flipX={flipX}\n flipY={flipY}\n changeSVGColor={changeSVGColor}\n nudgeMove={nudgeMove}\n activeSelection={activeSelection}\n />\n )}\n {currentSelection === 'selectAll' && (\n <>\n <div className=\"uppercase font-bold pt-[17px]\">\n Color in Canvas\n </div>\n <div className=\"flex gap-x-[1rem] mt-[12px] mb-[12px]\">\n {allColor.length > 0 &&\n allColor?.map((item) => {\n return (\n <ColorImpl\n mClass={'ml-[36px]'}\n key={item}\n handleChange={changeSVGTextColor}\n property={item}\n color={item}\n />\n );\n })}\n </div>\n <button\n onClick={nudgeMove}\n id=\"down\"\n className=\"font-medium text-orange-400\"\n >\n DOWN\n </button>\n <button\n onClick={nudgeMove}\n id=\"up\"\n className=\"font-medium text-orange-300 text-lime-400 px-1\"\n >\n UP\n </button>\n <button\n onClick={nudgeMove}\n id=\"left\"\n className=\"font-medium text-orange-300 text-teal-500\"\n >\n LEFT\n </button>\n <button\n onClick={nudgeMove}\n id=\"right\"\n className=\"font-medium text-orange-300 text-violet-600 px-1\"\n >\n RIGHT\n </button>\n {\n // console.log(storeAllObject);\n storeAllObject.map((item, index) => {\n return (\n <div className=\"innerLayer bg-slate-300 my-1\">\n <img\n className=\"rounded-lg w-14 h-8\"\n src={item ? item['icon'] : ''}\n ></img>\n <button\n className=\"up mx-1 px-2 border-solid border-2 border-slate-500 \"\n onClick={() => layerHandle(item, index, 'plus')}\n >\n UP\n </button>\n <button\n className=\"down mx-1 px-2 border-solid border-2 border-slate-500\"\n onClick={() => layerHandle(item, index, 'minus')}\n >\n DOWN\n </button>\n <button\n className=\"close mx-1 px-2 border-solid border-2 border-slate-500\"\n onClick={() => deleteElement(item)}\n >\n DELETE\n </button>\n </div>\n );\n })\n }\n </>\n )}\n {currentSelection === 'none' && (\n <>\n <div className=\"uppercase font-bold pt-[17px]\">\n Color in Canvas\n </div>\n <div className=\"flex gap-x-[1rem] mt-[12px]\">\n {allColor.length > 0 &&\n allColor?.map((item) => {\n return (\n <ColorImpl\n mClass={'ml-[36px]'}\n key={item}\n handleChange={changeSVGTextColor}\n property={item}\n color={item}\n />\n );\n })}\n </div>\n </>\n )}\n </div>\n\n <button\n type=\"button\"\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\"\n onClick={onSave}\n >\n Save\n </button>\n </div>\n <div\n className=\"hidden opacity-0 transition-opacity duration-150 ease-linear data-[te-tab-active]:block\"\n id=\"tabs-layers\"\n role=\"tabpanel\"\n aria-labelledby=\"tabs-profile-tab02\"\n >\n {currentSelection === 'layer' && (\n <div className=\"\">\n {storeAllObject.map((item, index) => {\n return (\n <div className=\"innerLayer bg-slate-300 my-1\">\n <img\n className=\"rounded-lg w-14 h-8\"\n src={item ? item['icon'] : ''}\n ></img>\n <button\n className=\"up mx-1 px-2 border-solid border-2 border-slate-500 \"\n onClick={() => layerHandle(item, index, 'plus')}\n >\n UP\n </button>\n <button\n className=\"down mx-1 px-2 border-solid border-2 border-slate-500\"\n onClick={() => layerHandle(item, index, 'minus')}\n >\n DOWN\n </button>\n <button\n className=\"close mx-1 px-2 border-solid border-2 border-slate-500\"\n onClick={() => deleteElement(item)}\n >\n DELETE\n </button>\n </div>\n );\n })}\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n","import React from 'react';\nimport { MdOutlineArrowForwardIos } from 'react-icons/md';\nimport { Searchbar } from '../searchbar';\nimport { Card, CardMedia, CardBody, CardTitle } from '../card';\nimport { Button } from '../button';\nimport { shallow } from 'zustand/shallow';\nimport { use3dddPlus } from '../../store';\nimport { Loader } from '../loader';\nexport const AddMascot = () => {\n const [stockLogos, stockLogoHandler, loading] = use3dddPlus(\n (state) => [state.stockLogos, state.stockLogoHandler, state.loading],\n shallow\n );\n return (\n <>\n <div className=\"bg-[#F7F7F7] absolute z-100 w-[90%] h-full pr-[56px]\">\n <div className=\"w-full flex mt-[50px] flex-row\">\n <div className=\"w-1/2 flex justify-end\">\n <select className=\"w-[168px] mr-[24px]\">\n <option value={'all'}>All</option>\n </select>\n </div>\n <div className=\" flex-1 justify-end\">\n <Searchbar placeholder={'Search Stock Logos'}></Searchbar>\n </div>\n </div>\n <div className=\"flex flex-row gap-2\">\n <div className=\" bg-[#FFFFFF] ml-[27px] pt-[28px] w-[30%] mt-[30px]\">\n <h3 className=\"ml-[38px] mt-[28px] font-bold\">MASCOTS CATEGORY</h3>\n <Button\n label=\"Namedrops\"\n className=\"text-[15px] !w-[auto] flex-row ml-[30px] mt-[10px] bg-transparent focus:text-[#e11a38]\"\n icons={<MdOutlineArrowForwardIos />}\n onClick={undefined}\n children={undefined}\n />\n <Button\n label=\"Arrows\"\n className=\"text-[15px] !w-[auto] flex-row ml-[30px] mt-[-22px] bg-transparent focus:text-[#e11a38]\"\n icons={<MdOutlineArrowForwardIos />}\n onClick={undefined}\n children={undefined}\n />\n <Button\n label=\"Bears\"\n className=\"flex-row ml-[30px] mt-[-22px] bg-transparent focus:text-[#e11a38] text-[15px] !w-[auto]\"\n icons={<MdOutlineArrowForwardIos />}\n onClick={undefined}\n children={undefined}\n />\n <Button\n label=\"Boar\"\n className=\"flex-row ml-[30px] mt-[-22px] bg-transparent focus:text-[#e11a38] text-[15px] !w-[auto]\"\n icons={<MdOutlineArrowForwardIos />}\n onClick={undefined}\n children={undefined}\n />\n </div>\n <div className=\"flex mt-[30px] overflow-y-auto overflow-x-hidden h-[65vh] w-[70%]\">\n <div className=\"max-h-[140px] grid gap-3.5 grid-cols-3 md:grid-cols-3 lg:grid-cols-4 w-full \">\n {stockLogos.length > 0\n ? stockLogos.map((logo, index) => (\n <Card\n key={'logoImage' + index}\n cardClass={`rounded-none bg-white cursor-pointer `}\n style={{ boxShadow: '0px 0px 6px #98989829' }}\n onClick={() => stockLogoHandler(logo)}\n >\n <CardMedia src={logo} imageClass=\"h-[50px] mt-[26px]\" />\n\n <CardBody bodyClass=\"p-2.5 mt-[13px]\">\n <CardTitle\n titleClass={`text-[11px] uppercase`}\n name={'LOGO NAME'}\n />\n </CardBody>\n </Card>\n ))\n : 'No Stock Logos'}\n </div>\n </div>\n </div>\n </div>\n {loading && <Loader />}\n </>\n );\n};\n","import React from 'react';\n// import { use3dddPlus } from '../../store';\nimport { BACKDROP_BLUR, MODAL_BG_COLOR } from '../../theme';\n\nexport interface ModalProps {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport const SaveDesignModal = ({ children, className = '' }: ModalProps) => {\n // const closeDesign = use3dddPlus((state) => state.setToggleSaveDesign);\n return (\n <>\n <div className={`modal modal-middle modal-open`}>\n <div className={`${className} modal-box ${MODAL_BG_COLOR} `}>\n {children}\n </div>\n <form method=\"dialog\" className={`modal-backdrop ${BACKDROP_BLUR}`}>\n <button>close</button>\n </form>\n </div>\n </>\n );\n};","import React, { useState, useEffect } from 'react';\nimport {\n BUTTON_TEXT_COLOR,\n EDIT_DESIGN_INFO_BG_COLOR_4,\n EDIT_DESIGN_INFO_INPUT_BORDER_COLOR,\n EDIT_DESIGN_INFO_TEXT_COLOR_1,\n EDIT_DESIGN_INFO_TEXT_COLOR_2,\n EDIT_DESIGN_INFO_TEXT_COLOR_3,\n INPUT_ERROR_BORDER_COLOR,\n INPUT_ERROR_TEXT_COLOR,\n SAVEBUTTON_BG_COLOR,\n SECONDARY_COLOR,\n TEXT_SIZE_12,\n TEXT_SIZE_4,\n TEXT_SIZE_5,\n TEXT_SIZE_9,\n} from '../../theme';\nimport { RxCross2 } from 'react-icons/rx';\nimport { use3dddPlus } from '../../store';\nimport { SaveDesignModal } from './saveDesignModal';\nimport './saveDesign.css';\n\nexport const SaveDesign = () => {\n const [designNameValidation, setDesignNameValidation] = useState('');\n const [tagName, setTagName] = useState('');\n const [commaInTagName, setCommaInTagName] = useState(false);\n const [\n canvas,\n designName,\n designTag,\n closeModal,\n toggleSaveDesign,\n disableSaveButton,\n saveLogo,\n uploadLogoConfig,\n ] = use3dddPlus((state) => [\n state.fabricCanvas,\n state.designName,\n state.designTag,\n state.setToggleSaveDesign,\n state.toggleSaveDesign,\n state.disableSaveButton,\n state.saveLogo,\n state.uploadLogoConfig,\n ]);\n\n useEffect(() => {\n return () => {};\n }, []);\n\n const checkValidations = () => {\n const nameValidation = designName.length >= 3;\n if (!nameValidation) {\n setDesignNameValidation('length');\n return nameValidation;\n } else {\n const reg = /^[a-zA-Z0-9 ]+$/;\n const regTest = reg.test(designName);\n if (!!regTest) {\n setDesignNameValidation('');\n return nameValidation;\n }\n return false;\n }\n };\n const onSaveHandler = async () => {\n if (!checkValidations()) return;\n const dataURL = canvas.toDataURL();\n\n const canvasData = use3dddPlus.getState().applyColorFill();\n // const canvasGetobject = canvas.getObjects();\n // canvasData.objects.forEach((element, index) => {\n // element.colorFill = canvasGetobject[index].colorFill;\n // });\n const dataCh = JSON.stringify(canvasData);\n const S3UrlPath = await uploadLogoConfig(dataCh, 117015);\n const raw = JSON.stringify({\n customer_id: 117015,\n tag: designTag.join(''),\n name: designName,\n base64_image: dataURL,\n logo_config_url: S3UrlPath,\n });\n saveLogo(raw).then(() => {\n closeModal('', false, '', {});\n alert('Logo Saved Successfully');\n });\n };\n\n useEffect(() => {\n if (tagName !== '') {\n const reg = /^[a-zA-Z0-9 ]+$/;\n const regTest = reg.test(tagName);\n\n if (!regTest) {\n setCommaInTagName(true);\n } else if (!!commaInTagName) {\n setCommaInTagName(false);\n }\n } else if (!!commaInTagName) {\n setCommaInTagName(false);\n }\n }, [tagName]);\n\n useEffect(() => {\n if (designName !== '') {\n const reg = /^[a-zA-Z0-9 ]+$/;\n const regTest = reg.test(designName);\n if (!regTest) {\n setDesignNameValidation('specialCharacter');\n } else if (designNameValidation === 'specialCharacter') {\n setDesignNameValidation('');\n }\n } else if (designNameValidation === 'specialCharacter') {\n setDesignNameValidation('');\n }\n }, [designName]);\n\n const handleTagChange = (event: any) => {\n if (event?.target?.value !== ' ') {\n setTagName(event.target.value);\n }\n };\n\n const handleKeyDown = (event: any) => {\n if (designTag.length > 4 && tagName !== '') {\n event.preventDefault();\n alert('Maximum number of tag can be 5');\n setTagName('');\n return;\n }\n\n if (\n event.key === 'Enter' ||\n event.key === 'Tab' ||\n (event.keyCode === 188 && tagName !== '') ||\n (event.type === 'blur' && tagName !== '')\n ) {\n event.preventDefault();\n\n const reg = /^[a-zA-Z0-9 ]+$/;\n const regTest = reg.test(tagName);\n if (!regTest) {\n setCommaInTagName(true);\n return;\n }\n if (!!regTest) {\n tagName !== '' && handleAdd();\n }\n } else if (tagName === '' && event.key === 'Backspace') {\n handleBackspace();\n }\n };\n\n const handleNameChange = (value) => {\n use3dddPlus.setState({ designName: value });\n if (designNameValidation === 'length') {\n setDesignNameValidation('');\n }\n };\n\n const handleAdd = () => {\n let newList = [...designTag];\n if (!newList.includes(tagName.trim())) {\n newList.push(tagName.trim());\n }\n use3dddPlus.setState({ designTag: newList.filter(Boolean) });\n setTagName('');\n };\n\n const handleBackspace = () => {\n let newList = [...designTag];\n newList.pop();\n use3dddPlus.setState({ designTag: newList.filter(Boolean) });\n };\n\n const handleDelete = (e) => {\n const newList = designTag.filter((item) => item !== e);\n use3dddPlus.setState({ designTag: newList });\n };\n const onCancelHandler = () => {\n closeModal('', false, '', {});\n };\n return (\n <SaveDesignModal\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]\n `}\n >\n <button\n className=\"absolute right-[0.6875rem] top-[0.6875rem] px-[0.75rem] py-[0.75rem] hover:bg-[#E11A38] hover:text-[#ffffff] hover:rounded-none\"\n onClick={() => {\n use3dddPlus.getState().goBack();\n closeModal('', false, '', {});\n }}\n >\n <RxCross2 strokeWidth={1} />\n </button>\n\n <div className={`flex h-max w-full`}>\n <div\n className={`w-full md:px-[112px] md:p-[98px] p-[30px] bg-white h-full flex justify-center`}\n >\n <div className=\"w-full\">\n <span\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}\n `}\n >\n {toggleSaveDesign.title}\n </span>\n <div>\n <div className=\"relative\">\n <input\n type=\"text\"\n id=\"exampleFormControlInput2\"\n name=\"designName\"\n className={`${\n designNameValidation === 'length'\n ? 'mb-[1rem]'\n : 'mb-[1.25rem]'\n } ${\n designNameValidation === 'length'\n ? `border ${INPUT_ERROR_BORDER_COLOR}`\n : `border ${EDIT_DESIGN_INFO_INPUT_BORDER_COLOR}`\n } designNameInput bg-white w-full h-[3rem] rounded-none focus:outline-none border ${EDIT_DESIGN_INFO_INPUT_BORDER_COLOR} ${TEXT_SIZE_9} py-[0.8125rem] px-4 block leading-[1.25rem] ${EDIT_DESIGN_INFO_TEXT_COLOR_3} font-medium`}\n placeholder=\" \"\n value={designName}\n onChange={(e) =>\n handleNameChange(e?.target?.value?.trimStart())\n }\n onClick={(e) => {\n e.currentTarget.focus();\n }}\n />\n <label\n htmlFor=\"exampleFormControlInput2\"\n className={`designNameLabel px-[0.125rem] absolute left-4 transition-all ${TEXT_SIZE_9} ${EDIT_DESIGN_INFO_TEXT_COLOR_2} top-1/2 transform -translate-y-1/2`}\n >\n Design Name\n </label>\n </div>\n {designNameValidation === 'length' && (\n <div\n role=\"alert\"\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-[1.25rem]`}\n >\n * Please enter a name with at least 3 characters\n </div>\n )}\n {designNameValidation === 'specialCharacter' && (\n <div\n role=\"alert\"\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-[1.25rem]`}\n >\n * Design Name can not have any special characters\n </div>\n )}\n <div\n className={`relative flex flex-row py-[0.695rem] border ${EDIT_DESIGN_INFO_INPUT_BORDER_COLOR} mb-5 flex-wrap place-content-start`}\n >\n <div className=\"flex flex-row gap-[0.5rem] flex-wrap items-center px-[1rem]\">\n {Array.isArray(designTag) &&\n designTag?.map((el: any, i) => (\n <div\n key={i}\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}`}\n >\n {el}\n <button onClick={() => handleDelete(el)}>\n <RxCross2\n className={`${EDIT_DESIGN_INFO_TEXT_COLOR_1} font-bold`}\n />\n </button>\n </div>\n ))}\n\n <div>\n <input\n name=\"tags\"\n type=\"text\"\n placeholder=\" \"\n className={`designTagsInput ${EDIT_DESIGN_INFO_TEXT_COLOR_3} font-medium block w-[6.25rem] focus:outline-none`}\n value={tagName}\n onChange={handleTagChange}\n onKeyDown={handleKeyDown}\n onBlur={handleKeyDown}\n id=\"exampleFormControlInput3\"\n onClick={(e) => {\n e.currentTarget.focus();\n }}\n />\n <label\n htmlFor=\"exampleFormControlInput3\"\n className={`py-[0.695rem] ${\n designTag?.length > 0 ? 'tagClass' : ''\n } designTagsLabel px-[0.125rem] ${TEXT_SIZE_9} ${EDIT_DESIGN_INFO_TEXT_COLOR_2} font-medium leading-[1.25rem] absolute transition-all top-1/2 transform -translate-y-1/2`}\n >\n Tags\n </label>\n </div>\n </div>\n </div>\n {!!commaInTagName && (\n <div\n role=\"alert\"\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-5`}\n >\n * Tag Name can not have any special characters\n </div>\n )}\n\n <div\n className={`${\n !disableSaveButton ? 'flex flex-col lg:flex-row' : ''\n } gap-[19px] leading-[23px] font-bold ${TEXT_SIZE_4}`}\n >\n {toggleSaveDesign.key === 'save' && (\n <>\n <button\n className={`md:btn-md lg:w-2/5 w-full rounded-none uppercase active:bg-violet-700 ${SAVEBUTTON_BG_COLOR} ${BUTTON_TEXT_COLOR}`}\n onClick={() => onSaveHandler()}\n >\n SAVE\n </button>\n <button\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 `}\n onClick={() => onCancelHandler()}\n >\n Cancel\n </button>\n </>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n </SaveDesignModal>\n );\n};\n","import React from 'react';\nimport { Canvas } from '../canvas';\nimport { use3dddPlus } from '../../store';\nimport { shallow } from 'zustand/shallow';\nimport { UploadLogo } from '../uploadLogo';\nimport { Rightmenu } from '../Rightmenu';\nimport { AddMascot } from '../addMascot';\nimport { MyLogo } from '../myLogo';\nimport { SaveDesign } from '../saveDesign';\nexport const MiddleMenu = ({onApply}) => {\n const [selectedStepper, toggleSaveDesign, loadingLogo] = use3dddPlus(\n (state) => [\n state.selectedStepper,\n state.toggleSaveDesign,\n state.loadingLogo,\n ],\n shallow\n );\n React.useEffect(() => {\n if (selectedStepper === 2) loadingLogo('');\n }, []);\n return (\n <>\n <div className=\" flex flex-col md:flex-row flex-1 z-0 w-[90%] h-full\">\n <div className=\"flex w-[70%] h-[100%]\">\n <Canvas />\n </div>\n {toggleSaveDesign.status && <SaveDesign />}\n <div className=\"flex-1 z-10 h-[100%] \">\n <Rightmenu />\n </div>\n </div>\n {selectedStepper === 1 && <UploadLogo />}\n {selectedStepper === 4 && <AddMascot />}\n {selectedStepper === 2 && <MyLogo onApply={onApply}/>}\n </>\n );\n};\n","import React from 'react';\nimport './index.css';\nimport { use3dddPlus } from './store';\n// import { createRoot } from 'react-dom/client';\nimport * as Components from './components';\nimport * as services from './services';\nimport { LeftMenu } from './components/leftMenu';\nimport { MiddleMenu } from './components/middleMenu';\n// import { Modal } from './components';\n\n// import { ToastContainer, toast } from 'react-toastify';\n// Please do not use types off of a default export module or else Storybook Docs will suffer.\n// see: https://github.com/storybookjs/storybook/issues/9556\n/**\n * A custom App component. Neat!\n */\nconst LogoEditor = ({\n stepperId,\n onApply,\n customLogoColorList,\n defaultColorList,\n logoData,\n}) => {\n const [setSelectedStepper, myLogoHandler] = use3dddPlus((state) => [\n state.setSelectedStepper,\n state.myLogoHandler,\n ]);\n React.useEffect(() => {\n setSelectedStepper(stepperId);\n if (stepperId == undefined) {\n myLogoHandler(logoData);\n }\n }, [stepperId]);\n\n React.useEffect(() => {\n use3dddPlus.setState({ customUploadLogoColorList: customLogoColorList });\n }, [customLogoColorList]);\n React.useEffect(() => {\n use3dddPlus.setState({ defaultColorList: defaultColorList });\n }, [defaultColorList]);\n\n return (\n // <Modal\n // backdropStyle={`z-[7]`}\n // contentStyle={\n // 'top-0 absolute overflow-hidden border-2 border-indigo-600 roboto-bold h-[88vh] m-[auto] z-[7] !mr-[auto] max-w-[73%] w-[100%] md:w-[auto] p-0'\n // }\n // >\n <div className=\" flex flex-col md:flex-row w-full h-[88vh]\">\n <div className=\"lg:w-[10%]\">\n <LeftMenu />\n </div>\n <div className=\" flex h-full w-[90%]\">\n <MiddleMenu onApply={onApply} />\n </div>\n </div>\n // </Modal>\n );\n};\n// const container = document.getElementById('root');\n// const root = createRoot(container!); // createRoot(container!) if you use TypeScript\n// // const [customUploadLogoColorList, defaultColorList] = use3dddPlus((state) => [\n// // state.customUploadLogoColorList,\n// // state.defaultColorList,\n// // ]);\n// root.render(\n// <LogoEditor\n// stepperId={1}\n// onApply={''}\n// // customLogoColorList={customUploadLogoColorList}\n// // defaultColorList={defaultColorList}\n// logoData={[]}\n// />\n// );\n\nexport { LogoEditor, Components, use3dddPlus, services };\n"],"names":["graphqlSlice","set","get","displayLoginModal","showProductBreakUpModal","status","value","loadDesignModal","productInfoModal","toggleSaveDesign","key","title","details","showModalAfterLogin","undefined","selectedDesign","changeModel","alert","confirmDesignModal","confirmUpdateDesignModal","toggleSuccessfullDesign","designUpdateSuccessfulModal","getListFromRack","setSelectedDesign","selected","setLoadDesignModal","loadDesign","setToggleSaveDesign","setConfirmDesignModal","setConfirmUpdateDesignModal","state","setToggleSuccessfullDesign","setProductInfoModal","editDesignInfo","saveDesignModal","use3dddPlus","setState","current","getState","navigateTo","designName","designNotes","designTag","string","characters","i","charAt","Math","floor","random","length","designNumber","customerId","toggleLoginModal","setShowModalAfterLogin","disableSaveButton","_unused","share","saveRackSuccessfulModal","setSaveRackSuccessfulModal","toggleAction","toogleShowProductBreakUpModal","disableUpdate","productBreakup","baseURL","process","env","REACT_APP_LAMBDA_URL","instance","axios","create","timeout","headers","Authorization","responseBody","response","data","requests","url","then","post","body","put","_delete","lambdaSlice","_set","_get","lambdaClient","loadingLogo","_loadingLogo","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","wrap","_callee$","_context","prev","next","loading","Error","sent","retriveLogoDesign","abrupt","t0","console","error","stop","_x","apply","arguments","getStockLogos","_getStockLogos","_callee2","_callee2$","_context2","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","id","name","path","ProductMedium","Image_URL","type","__typename","flipY","getImageURL","getCookie","cname","decodedCookie","decodeURIComponent","document","cookie","ca","split","c","substring","indexOf","setCookie","cvalue","exdays","d","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","e","x","which","keycode","preventDefault","clearSessionStorage","sessionStorage","removeItem","getSessionStorage","sName","getItem","setSessionStorage","setItem","authSlice","customUploadLogoColorList","defaultColorList","priceLevel","clearLoginInfo","authType","cardCode","customerEmail","customerType","generateCustomizerToken","setInCookies","customizerToken","setCustomizerToken","_extends","isLoggedIn","historySlice","history","page","concat","goBack","previousPage","pop","fabricSlice","logoData","setLogoData","allColor","selectedStepper","setSelectedStepper","storeHistory","fabricCanvas","popupCanv","textInfo","uploadImageModalDisplay","currentSelection","activeSelection","selectedAll","colorFill","storeAllObject","iconImage","HideControls","tl","tr","bl","br","ml","mt","mr","mb","mtr","showContextMenu","forStoringAllObject","unshift","forIconCapture","activeObject","getActiveObject","dataURL","toDataURL","left","top","width","scaleX","height","scaleY","nameCounter","duplicateObject","clipboard","clone","cloned","clonedObj","discardActiveObject","evented","canvas","forEachObject","obj","add","setCoords","setActiveObject","requestRenderAll","_objects","updateModifaction","deleteButtonControls","count","skipEvent","undo","clear","renderAll","loadFromJSON","redo","moveDown","element","moveUp","moveRight","moveLeft","applyColorFill","canvasData","toJSON","canvasGetobject","getObjects","objects","forEach","index","toSet","push","contextMenuCoordinates","y","stockLogoHandler","log","logos","now","testSVG","fabric","loadSVGFromURL","options","loadedObject","util","groupSVGElements","scaleToWidth","scaleToHeight","objImage","_Fills","ele","strokeWidth","fillColor","fill","removeDuplicates","fillColors","centerObject","icon","myLogoHandler","jsonData","logo_config_url","requestOptions","method","fetch","text","result","loadingRetrivedFiles","filter","reduce","colors","uploadLogoConfig","_uploadLogoConfig","jsonConfig","bucketName","region","S3","microTime","filePath","params","s3UrlPath","REACT_APP_BUCKET","REACT_APP_REGION","AWS","config","update","accessKeyId","REACT_APP_ACCESSKEY","secretAccessKey","REACT_APP_SECRET_ACCESSKEY","Bucket","Key","Body","ContentType","Promise","resolve","reject","putObject","err","TIFFParser","tiffDataView","littleEndian","fileDirectories","prototype","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","r","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","ceil","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","j","pixelSamples","red","green","blue","opacity","k","invertValue","samples","colorMapIndex","fillRect","converterSlice","file","setFile","tiffConvert","_tiffConvert","tiffParser","canvasEl","arrayBuffer","tiffCanvas","imageUrl","imageToSVG","ImageTracer","svgstr","loadSVGFromString","_C","RGBToHex","setControlVisible","arr","rgb","sep","substr","changeSVGColor","property","color","previousColor","addText","Text","lineHeight","fontFamily","fontWeight","stroke","paintFirst","padding","fontSize","charSpacing","lockScalingFlip","layer0","setControlsVisibility","pdfConverter","_resolve","reader","FileReader","onload","readAsArrayBuffer","threedddPlusState","actionSlice","subscribeWithSelector","datasbase","Button","_ref","label","icons","onClick","className","children","React","IconButtonLabel","_ref$className","_ref$label","_ref$iconPosition","iconPosition","props","_objectWithoutPropertiesLoose","_excluded","EditButton","SECONDARY_COLOR","BORDER_COLOR_1","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","SEARCH_ICON_COLOR","SEARCHBAR_BORDER_COLOR","CANVAS_MENU_TEXT","TAG_TEXT_COLOR","SAVERACK_TEXT_COLOR","SAVEBUTTON_BG_COLOR","EDIT_DESIGN_INFO_TEXT_COLOR_1","EDIT_DESIGN_INFO_TEXT_COLOR_2","EDIT_DESIGN_INFO_TEXT_COLOR_3","EDIT_DESIGN_INFO_INPUT_BORDER_COLOR","EDIT_DESIGN_INFO_BG_COLOR_4","INPUT_ERROR_BORDER_COLOR","INPUT_ERROR_TEXT_COLOR","Icon","forwardRef","ref","tooltip","useTooltipState","placement","TooltipReference","as","Tooltip","style","zIndex","IconButton","_ref2","_ref2$size","size","_ref2$icon","_excluded2","IconContext","Provider","RLogo","GenIcon","tag","attr","xmlns","viewBox","child","fillRule","transform","MyLogo","AddMascots","AddText","ProductColor","FlipH","FlipV","SelectAll","rx","Copy","Paste","SendToBack","SendToFront","SendAObject","SendUnderObject","EyeDropper","Delete","ActionButtons","_use3dddPlus","shallow","selectAllHandler","sel","ActiveSelection","deleteHandler","remove","splice","canvasActions","disabled","visible","MdLayers","CgUndo","CgRedo","initCanvas","onObjectSelected","_e$selected","_e$selected$","canv","getAllColors","onObjectDeselected","onObjectUpdated","_e$selected2","_e$selected2$","onObjectMoving","target","getBoundingRect","max","min","Canvas","centeredScaling","preserveObjectStacking","backgroundColor","stopContextMenu","deleteImg","src","rotateImg","settingImg","Object","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","render","settingControl","rect","getElement","getBoundingClientRect","clientX","clientY","eventData","canvasTarget","actionHandler","controlsUtils","rotationWithSnapping","actionName","withConnection","Set","_canv$getObjects","flat","on","ContextMenu","activeObj","sendBackwards","bringForward","sendToBack","bringToFront","copy","menu","onclick","canvasRef","useRef","resizeCanvas","outerCanvasContainer","getElementById","parentElement","containerWidth","clientWidth","scale","getWidth","zoom","getZoom","setWidth","setHeight","parseInt","clientHeight","getHeight","setViewportTransform","useEffect","addEventListener","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","event","selectedFile","_event$target$files","files","handleDragEnter","handleDragLeave","handleDrop","droppedFile","dataTransfer","onDragEnter","onDragLeave","onDragOver","onDrop","htmlFor","MdOutlineFileUpload","_fileInputRef$current","onChange","accept","ColorPalette","_ref$previousClass","previousClass","_ref$mainIndex","mainIndex","handleColorChange","_ref$mainClass","mainClass","selectColor","setSelectColor","colorList","handleColorClick","ColorBox","boxClass","_ref2$boxClass","ColorImpl","displayPallet","setdisplayPallet","_useState2","setColor","handleChange","background","mClass","Initpopup","popupcanvas","toActiveSelection","cursorUrl","defaultCursor","hoverCursor","PopUpCanvas","popupCanvas","colorCount","setColorCount","handleColorCountChange","Number","mouseClick","getPointer","containsPoint","popupCanvasCancel","popupCanvasContinue","objs","alltogetherObj","Group","keys","_Object$keys","CgArrowRight","GiDrop","MdOutlineCancel","UploadLogo","setSelectedFile","svgConverter","ext","pdfData","tiffData","objectURL","lastIndexOf","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","SortButton","SortByDropdown","isDropdownOpen","setIsDropdownOpen","toggleDropdown","BsSortDown","Loader","_ref$position","_ref$height","loaderRef","onApply","_React$useState","logoSelected","setLogoSelected","handleEditLogo","handleApplyLogo","Fragment","logo_url","LeftMenu","StepperList","display","step","ImageEdit","nudgeMove","flipX","_activeSelection$ownM","ownMatrixCache","fontFamilies","Rightmenu","initTE","Tab","textSelected","textAlignDisplay","setTextAlignDisplay","outlineVal","setOutlineVal","_useState3","spacingVal","setSpacinglineVal","_useState4","sliderValue","setSliderValue","_useState5","bold","italic","underline","fontStyle","setFontStyle","_useState6","activeButton","setActiveButton","onTextChange","lines","textAlignHandler","handleSliderChange","fontChange","font","FontFace","load","_document$fonts","fonts","classList","textColorChange","aCoords","textOutlineHandler","valueAsNumber","strokeColorChange","textSpacingHandler","textStyle","_extends2","layerHandle","num","currentObject","changeArr","fromIndex","toIndex","deleteElement","changeSVGTextColor","SelectedObjet","onSave","unSub","subscribe","_current","_previous","list","FiAlignLeft","FiAlignCenter","FiAlignRight","AddMascot","MdOutlineArrowForwardIos","SaveDesignModal","SaveDesign","designNameValidation","setDesignNameValidation","tagName","setTagName","commaInTagName","setCommaInTagName","closeModal","checkValidations","nameValidation","reg","regTest","test","onSaveHandler","dataCh","S3UrlPath","raw","customer_id","base64_image","handleTagChange","_event$target","handleKeyDown","keyCode","handleAdd","handleBackspace","handleNameChange","newList","trim","Boolean","handleDelete","onCancelHandler","_e$target","_e$target$value","trimStart","Array","isArray","el","onKeyDown","MiddleMenu","LogoEditor","stepperId","customLogoColorList"],"mappings":"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"}
|