@threedddplus/logoeditor 0.0.1 → 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.
@@ -1 +1 @@
1
- {"version":3,"file":"logoeditor.esm.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';\r\nimport { use3dddPlus } from '..';\r\nimport { Design } from '../customize/types';\r\n\r\nexport interface ActionSlice {\r\n displayLoginModal: boolean;\r\n showProductBreakUpModal: { status: boolean; value: any };\r\n loadDesignModal: boolean;\r\n productInfoModal: any;\r\n toggleSaveDesign: {\r\n key: string;\r\n status: boolean;\r\n title: string;\r\n details: any;\r\n };\r\n showModalAfterLogin?: void;\r\n changeModel: () => void;\r\n editDesignInfo: () => void;\r\n\r\n saveDesignModal: () => void;\r\n setLoadDesignModal: (loadDesign: boolean) => void;\r\n setProductInfoModal: () => any;\r\n setToggleSaveDesign: (\r\n key: string,\r\n status: boolean,\r\n title: string,\r\n details: any\r\n ) => void;\r\n share: () => void;\r\n toggleLoginModal: () => void;\r\n confirmDesignModal: { status: boolean; value: string };\r\n setConfirmDesignModal: (status: boolean, value: string) => void;\r\n toggleSuccessfullDesign: boolean;\r\n setToggleSuccessfullDesign: () => void;\r\n selectedDesign: any;\r\n setSelectedDesign: (selected: Design) => void;\r\n saveRackSuccessfulModal: boolean;\r\n setSaveRackSuccessfulModal: () => void;\r\n setShowModalAfterLogin: (toggleAction: any) => void; //Due to current functionality, toggleAction can have callback function of different types\r\n disableUpdate: boolean;\r\n confirmUpdateDesignModal: boolean;\r\n setConfirmUpdateDesignModal: () => void;\r\n designUpdateSuccessfulModal: boolean;\r\n getListFromRack: () => boolean;\r\n toogleShowProductBreakUpModal: (status: boolean, value: any) => void;\r\n productBreakup: any[];\r\n}\r\n\r\nconst graphqlSlice: StateCreator<ActionSlice> = (set, get) => {\r\n return {\r\n displayLoginModal: false,\r\n showProductBreakUpModal: {\r\n status: false,\r\n value: {},\r\n },\r\n loadDesignModal: false,\r\n productInfoModal: false,\r\n toggleSaveDesign: { key: 'save', status: false, title: '', details: {} },\r\n showModalAfterLogin: undefined,\r\n selectedDesign: {},\r\n changeModel: () => {\r\n alert('function not implemented');\r\n },\r\n confirmDesignModal: { status: false, value: '' },\r\n confirmUpdateDesignModal: false,\r\n toggleSuccessfullDesign: false,\r\n designUpdateSuccessfulModal: false,\r\n getListFromRack: () => {\r\n return false;\r\n },\r\n setSelectedDesign: (selected) => {\r\n set({ selectedDesign: selected });\r\n },\r\n setLoadDesignModal: (loadDesign) => {\r\n set({ loadDesignModal: loadDesign });\r\n },\r\n setToggleSaveDesign: (key, status, title, details) => {\r\n set({\r\n toggleSaveDesign: {\r\n key: key,\r\n status: status,\r\n title: title,\r\n details: details,\r\n },\r\n });\r\n },\r\n setConfirmDesignModal: (status, value) => {\r\n set({ confirmDesignModal: { status: status, value: value } });\r\n },\r\n setConfirmUpdateDesignModal: () => {\r\n set((state) => ({\r\n confirmUpdateDesignModal: !state.confirmUpdateDesignModal,\r\n }));\r\n },\r\n setToggleSuccessfullDesign: () => {\r\n set((state) => ({\r\n toggleSuccessfullDesign: !state.toggleSuccessfullDesign,\r\n }));\r\n },\r\n setProductInfoModal: () => {\r\n set((state) => ({ productInfoModal: !state.productInfoModal }));\r\n },\r\n\r\n editDesignInfo: () => {\r\n alert('function not implemented');\r\n },\r\n // rack: () => {\r\n // alert('function not implemented');\r\n // },\r\n\r\n saveDesignModal: () => {\r\n try {\r\n use3dddPlus.setState({ current: 'saveCTA' });\r\n use3dddPlus.getState().navigateTo('savePopUp');\r\n use3dddPlus.setState({ designName: '' });\r\n use3dddPlus.setState({ designNotes: '' });\r\n use3dddPlus.setState({ designTag: [] });\r\n let string = '';\r\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\r\n\r\n for (let i = 0; i < 7; i++) {\r\n string += characters.charAt(\r\n Math.floor(Math.random() * characters.length)\r\n );\r\n }\r\n use3dddPlus.setState({ designNumber: string });\r\n\r\n\r\n if (!use3dddPlus.getState().customerId) {\r\n get().toggleLoginModal();\r\n get().setShowModalAfterLogin(() => {\r\n use3dddPlus\r\n .getState()\r\n .setToggleSaveDesign('save', true, 'Save Your Design', {});\r\n });\r\n return;\r\n }\r\n get().setToggleSaveDesign('save', true, 'Save Your Design', {});\r\n use3dddPlus.setState({ disableSaveButton: false });\r\n } catch {}\r\n },\r\n\r\n \r\n share: () => {\r\n alert('function not implemented');\r\n },\r\n toggleLoginModal: () => {\r\n set((state) => ({ displayLoginModal: !state.displayLoginModal }));\r\n },\r\n\r\n saveRackSuccessfulModal: false,\r\n setSaveRackSuccessfulModal: () => {\r\n set((state) => ({\r\n saveRackSuccessfulModal: !state.saveRackSuccessfulModal,\r\n }));\r\n },\r\n setShowModalAfterLogin: (toggleAction) => {\r\n use3dddPlus.setState({ showModalAfterLogin: toggleAction });\r\n },\r\n toogleShowProductBreakUpModal: (status, value) => {\r\n set({ showProductBreakUpModal: { status: status, value: value } });\r\n },\r\n disableUpdate: false,\r\n productBreakup: [],\r\n };\r\n};\r\n\r\nexport default graphqlSlice;\r\n","import axios, { AxiosInstance, AxiosResponse } from 'axios';\r\n\r\nexport const baseURL = process.env.REACT_APP_LAMBDA_URL;\r\n\r\n// TODO remove ts-ignore; CreateAxiosDefaults<any> not building npm package. \r\n// @ts-ignore\r\nexport const instance: AxiosInstance = axios.create({\r\n baseURL: baseURL,\r\n timeout: 15000,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'jxnhh7rk7gpjtnp1o1besdaip3pd2560',\r\n },\r\n});\r\n\r\nexport const responseBody = (response: AxiosResponse) => response.data;\r\n\r\nexport const requests = {\r\n get: (url: string) => instance.get(url).then(responseBody),\r\n post: (url: string, body: {}) => instance.post(url, body).then(responseBody),\r\n put: (url: string, body: {}) => instance.put(url, body).then(responseBody),\r\n delete: (url: string) => instance.delete(url).then(responseBody),\r\n};\r\n","import { StateCreator } from 'zustand';\r\nimport { requests } from '../../axios/index';\r\nimport { use3dddPlus } from '..';\r\n\r\n// const useSampleResponses = process.env.REACT_APP_USE_SAMPLE_RESPONSES;\r\n\r\n\r\nexport interface LambdaSlice {\r\n\r\n lambdaClient: any;\r\n\r\n loadingLogo: (data: any) => void;\r\n getStockLogos: () => void;\r\n saveLogo: (data: any) => any; \r\n}\r\n\r\nconst lambdaSlice: StateCreator<LambdaSlice> = (_set, _get) => {\r\n return {\r\n lambdaClient: requests,\r\n\r\n loadingLogo: async (data: any) => {\r\n try {\r\n use3dddPlus.setState({ loading: true });\r\n if (!requests) {\r\n throw new Error('lambdaClient Not Found');\r\n }\r\n const response = await requests.get(\r\n `/editor-logo/117015?searchText=+${data}`\r\n );\r\n use3dddPlus.setState({ loading: false });\r\n const res = await response;\r\n use3dddPlus.setState({ retriveLogoDesign: res });\r\n return response;\r\n } catch (error) {\r\n console.error(error);\r\n use3dddPlus.setState({ loading: false });\r\n throw new Error(error);\r\n }\r\n },\r\n getStockLogos: async () => {\r\n try {\r\n use3dddPlus.setState({ loading: true });\r\n if (!requests) {\r\n throw new Error('lambdaClient Not Found');\r\n }\r\n const response = await requests.get('/mascot-logos');\r\n use3dddPlus.setState({ loading: false });\r\n const res = await response;\r\n use3dddPlus.setState({ stockLogos: res });\r\n return res;\r\n } catch (error) {\r\n console.error(error);\r\n use3dddPlus.setState({ loading: false });\r\n throw new Error(error);\r\n }\r\n },\r\n saveLogo: async (logo) => {\r\n try {\r\n use3dddPlus.setState({ loading: true });\r\n if (!requests) {\r\n throw new Error('lambdaClient Not Found');\r\n }\r\n const response = await requests.post('/editor-logo', logo);\r\n use3dddPlus.setState({ loading: false });\r\n return response;\r\n } catch (error) {\r\n console.error(error);\r\n use3dddPlus.setState({ loading: false });\r\n throw new Error(error);\r\n }\r\n },\r\n };\r\n};\r\n\r\nexport default lambdaSlice;\r\n","import { StateCreator } from 'zustand';\r\nexport interface SaveDesignSlice {\r\n disableSaveButton: boolean;\r\n designNumber: string;\r\n designImageUrl: string;\r\n designProofPdfUrl: string;\r\n designTag: string[];\r\n designName: string;\r\n designNotes: string;\r\n designConfig: string;\r\n designId: number;\r\n hasDesignNumber: () => boolean;\r\n showSaveCTA: boolean;\r\n showSaveRackCTA: boolean;\r\n}\r\n\r\nexport const saveDesignSlice: StateCreator<SaveDesignSlice> = (_set, get) => {\r\n return {\r\n disableSaveButton: false,\r\n designNumber: '',\r\n designImageUrl: '',\r\n designProofPdfUrl: '',\r\n designTag: [],\r\n designName: '',\r\n designNotes: '',\r\n designConfig: '',\r\n designId: undefined,\r\n hasDesignNumber: () => !!get().designNumber,\r\n showSaveCTA: true,\r\n showSaveRackCTA: true,\r\n };\r\n};\r\n\r\nexport default SaveDesignSlice;\r\n","\r\n// import { Texture } from '../store/customize/types';\r\n\r\nconst _oldURL = process.env.REACT_APP_IMAGE_URL_OLD!;\r\nconst _newURL = process.env.REACT_APP_IMAGE_URL!;\r\nexport const URLMapping = (url: string) => {\r\n // check if th url has old or new url paths\r\n if (url.includes(_oldURL)) {\r\n return url.replace(_oldURL, _newURL);\r\n }\r\n // if it has old then relace to new\r\n else if (url.includes(_newURL)) return url;\r\n // if it doesnot have nay then add new\r\n else {\r\n return _newURL + url;\r\n }\r\n};\r\n\r\n// export const getTextureDataFromId = (id) => {\r\n// const textureData = use3dddPlus.getState().productTextures;\r\n\r\n// // const textureData = [];\r\n// return textureData.filter((texture) => texture.id === id).filter(Boolean)[0];\r\n// };\r\n\r\nexport const constructMappingItem = (texture?: any, item?: any) => {\r\n return {\r\n id: item?.id,\r\n name: item?.name,\r\n path: item?.ProductMedium.Image_URL,\r\n type: item?.__typename,\r\n flipY: texture ? texture.flipY : false,\r\n };\r\n};\r\n\r\nexport const getImageURL = (path: string) => {\r\n return process.env.REACT_APP_IMAGE_URL + path; //item?.ProductMedium?.Image_URL\r\n};\r\n","export function getCookie(cname: string) {\r\n let name = cname + '=';\r\n let decodedCookie = decodeURIComponent(document.cookie);\r\n let ca = decodedCookie.split(';');\r\n for (let i = 0; i < ca.length; i++) {\r\n let c = ca[i];\r\n while (c.charAt(0) == ' ') {\r\n c = c.substring(1);\r\n }\r\n if (c.indexOf(name) == 0) {\r\n return c.substring(name.length, c.length);\r\n }\r\n }\r\n return '';\r\n}\r\n\r\nexport function setCookie(cname: string, cvalue: any, exdays: number) {\r\n const d = new Date();\r\n d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);\r\n let expires = 'expires=' + d.toUTCString();\r\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/';\r\n}\r\n\r\nexport const clearCookie = (cname: string, cvalue = '') => {\r\n const d = new Date();\r\n d.setTime(d.getTime());\r\n let expires = 'expires=' + d.toUTCString();\r\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/';\r\n};\r\n","import CryptoJS from 'crypto-js';\r\nexport const encryptToken = (data: any) => {\r\n return CryptoJS.AES.encrypt(\r\n JSON.stringify(data),\r\n 'secret key 123'\r\n ).toString();\r\n};\r\nexport const decryptToken = (ciphertext: string) => {\r\n var bytes = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');\r\n return JSON.parse(bytes.toString(CryptoJS.enc.Utf8));\r\n};\r\n\r\nexport const getProjectId = () => {\r\n const queryString = window.location.search;\r\n const urlParams = new URLSearchParams(queryString);\r\n const projectId = urlParams.get('projectId');\r\n return projectId || process.env.REACT_APP_3DDDPLUS_PROJECTID;\r\n};\r\n\r\nexport function parseJwt(token) {\r\n var base64Url = token.split('.')[1];\r\n var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\r\n var jsonPayload = decodeURIComponent(\r\n window\r\n ?.atob(base64)\r\n ?.split('')\r\n ?.map(function (c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n })\r\n .join('')\r\n );\r\n\r\n return JSON.parse(jsonPayload);\r\n}\r\n","//import { use3dddPlus } from '../store';\r\n\r\n// export const getDomImage = () => {\r\n// var strMime = 'image/jpeg';\r\n// const imgData = use3dddPlus.getState().gl.domElement.toDataURL(strMime);\r\n\r\n// return dataURItoBlob(imgData);\r\n// };\r\n\r\nexport function dataURItoBlob(dataURI) {\r\n // convert base64 to raw binary data held in a string\r\n // doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this\r\n var byteString = atob(dataURI.split(',')[1]);\r\n\r\n // separate out the mime component\r\n // var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];\r\n\r\n // write the bytes of the string to an ArrayBuffer\r\n var ab = new ArrayBuffer(byteString.length);\r\n var ia = new Uint8Array(ab);\r\n for (var i = 0; i < byteString.length; i++) {\r\n ia[i] = byteString.charCodeAt(i);\r\n }\r\n\r\n //Old Code\r\n //write the ArrayBuffer to a blob, and you're done\r\n //var bb = new BlobBuilder();\r\n //bb.append(ab);\r\n //return bb.getBlob(mimeString);\r\n\r\n //New Code\r\n return new File([ab], new Date().getTime() + '_configuration' + '.jpg', {\r\n type: 'image/jpeg',\r\n // lastModified: new Date(),\r\n });\r\n}\r\n","// function called to save image\r\nexport const saveFile = function (strData: string, filename: string) {\r\n let link = document.createElement('a');\r\n document.body.appendChild(link);\r\n link.download = filename;\r\n link.href = strData;\r\n link.click();\r\n document.body.removeChild(link);\r\n};\r\n","// The key code condition we provided refers to the following key ranges:\r\n// 1. `(x >= 97 && x <= 122)`: This condition checks for lowercase alphabets in the ASCII range. Key codes 97 to 122 correspond to the characters 'a' to 'z'.\r\n// 2. `(x >= 48 && x <= 57)`: This condition checks for numeric key codes in the ASCII range. Key codes 48 to 57 correspond to the digits '0' to '9'.\r\n// 3. `(x >= 65 && x <= 90)`: This condition checks for uppercase alphabets in the ASCII range. Key codes 65 to 90 correspond to the characters 'A' to 'Z'.\r\n// 4. `(x >= 32 && x <= 32)`: This condition checks for the spacebar key. The key code 32 represents the space character.\r\n// By using these key code conditions, we are checking if the pressed key falls within the range of lowercase alphabets, numeric digits, uppercase alphabets, or the space character.\r\n\r\n\r\nexport const restrictSpecialCharacters = function (e) {\r\n const x = e.which || e.keycode;\r\n if (\r\n (x >= 97 && x <= 122) ||\r\n (x >= 48 && x <= 57) ||\r\n (x >= 65 && x <= 90) ||\r\n (x >= 32 && x <= 32)\r\n ) {\r\n return true;\r\n } else return e.preventDefault();\r\n};","export const clearSessionStorage = (cname: string) => {\r\n sessionStorage.removeItem(cname);\r\n};\r\n\r\nexport const getSessionStorage = (sName: string) => {\r\n return sessionStorage.getItem(sName);\r\n};\r\n\r\nexport const setSessionStorage = (cname: string, cvalue: any) => {\r\n sessionStorage.setItem(cname, cvalue);\r\n};\r\n","import { StateCreator } from 'zustand';\r\nimport {\r\n clearCookie,\r\n decryptToken,\r\n encryptToken,\r\n getCookie,\r\n setCookie,\r\n} from '../../services';\r\nimport {\r\n clearSessionStorage,\r\n getSessionStorage,\r\n setSessionStorage,\r\n} from '../../services/sessionStorage';\r\n\r\nexport interface AuthSlice {\r\n authType?: string;\r\n cardCode?: string;\r\n customerEmail?: string;\r\n customerId?: number;\r\n customerType?: string;\r\n priceLevel: string;\r\n token?: string;\r\n clearLoginInfo: () => void;\r\n generateCustomizerToken: (setInCookies?: boolean) => void;\r\n setCustomizerToken: () => void;\r\n isLoggedIn: () => boolean;\r\n}\r\n\r\nexport const authSlice: StateCreator<AuthSlice> = (set, get) => {\r\n return {\r\n priceLevel: '',\r\n token: '',\r\n clearLoginInfo: () => {\r\n clearCookie('customizerToken');\r\n clearSessionStorage('customizerToken');\r\n set({\r\n authType: '',\r\n cardCode: '',\r\n customerEmail: '',\r\n customerId: null,\r\n customerType: '',\r\n priceLevel: '',\r\n token: '',\r\n });\r\n },\r\n generateCustomizerToken: (setInCookies = true) => {\r\n const authType = get().authType;\r\n const cardCode = get().cardCode;\r\n const customerEmail = get().customerEmail;\r\n const customerId = get().customerId;\r\n const customerType = get().priceLevel;\r\n const token = get().token;\r\n\r\n const customizerToken = encryptToken({\r\n authType,\r\n cardCode,\r\n customerEmail,\r\n customerId,\r\n customerType,\r\n token,\r\n });\r\n if (setInCookies) {\r\n setCookie('customizerToken', customizerToken, 1);\r\n } else {\r\n setSessionStorage('customizerToken', customizerToken);\r\n }\r\n },\r\n setCustomizerToken: () => {\r\n const customizerToken: any =\r\n getSessionStorage('customizerToken') || getCookie('customizerToken');\r\n\r\n if (!customizerToken) return;\r\n const decrypt: any = decryptToken(customizerToken);\r\n\r\n set({\r\n ...decrypt,\r\n });\r\n },\r\n isLoggedIn: () => (!!get().customerId ? true : false),\r\n };\r\n};\r\n\r\nexport default AuthSlice;\r\n","import { StateCreator } from 'zustand';\r\n// import { use3dddPlus } from '..';\r\n\r\nexport interface HistorySlice {\r\n history: string[];\r\n current: string;\r\n navigateTo: (page: string) => void;\r\n goBack: () => void;\r\n}\r\n\r\nexport const historySlice: StateCreator<HistorySlice> = (set, _get) => {\r\n return {\r\n history: [],\r\n current: '',\r\n navigateTo: (page: string) => {\r\n set((state) => ({\r\n history: [...state.history, state.current],\r\n current: page,\r\n }));\r\n },\r\n goBack: () => {\r\n set((state) => {\r\n if (state.history.length > 0) {\r\n const previousPage = state.history.pop()!;\r\n return {\r\n history: [...state.history],\r\n current: previousPage,\r\n };\r\n }\r\n return state;\r\n });\r\n },\r\n }\r\n}\r\nexport default HistorySlice;\r\n","import { StateCreator } from 'zustand';\r\nimport { fabric } from 'fabric';\r\nimport { use3dddPlus } from '..';\r\nimport AWS from 'aws-sdk';\r\nexport interface FabricSlice {\r\n loading: Boolean;\r\n selectedStepper?: any;\r\n setSelectedStepper?: (selectedStepper: any) => void;\r\n storeHistory: any;\r\n count: number;\r\n stockLogos: [];\r\n retriveLogoDesign: [];\r\n fabricCanvas: any;\r\n popupCanv: any;\r\n textInfo: string;\r\n uploadImageModalDisplay: boolean;\r\n currentSelection: string;\r\n activeSelection: any;\r\n selectedAll: boolean;\r\n colorFill: any;\r\n // colorFillPopup : {},\r\n storeAllObject: [];\r\n iconImage: string;\r\n HideControls: any;\r\n showContextMenu: boolean;\r\n forStoringAllObject: (data: any) => void;\r\n forIconCapture: () => void;\r\n duplicateObject: () => void;\r\n deleteButtonControls: () => void;\r\n undo: () => void;\r\n redo: () => void;\r\n moveDown: (element) => void;\r\n moveUp: (element) => void;\r\n moveRight: (element) => void;\r\n moveLeft: (element) => void;\r\n applyColorFill :()=> any;\r\n updateModifaction: (saveHistory: boolean) => void;\r\n nameCounter: any;\r\n contextMenuCoordinates: { x: number; y: number };\r\n stockLogoHandler: (e: any) => void;\r\n testSVG: (data: any) => void;\r\n myLogoHandler: (logo: any) => void;\r\n loadingRetrivedFiles: (data: any) => void;\r\n allColor: any;\r\n uploadLogoConfig: (jsonConfig: any, customerId: any) => any;\r\n logoData: any;\r\n setLogoData: (logo: any) => void;\r\n}\r\n\r\nexport const fabricSlice: StateCreator<FabricSlice> = (set, get) => {\r\n return {\r\n logoData: null,\r\n setLogoData: (logoData) => set({ logoData }),\r\n allColor: [],\r\n loading: true,\r\n selectedStepper: 1,\r\n setSelectedStepper: (selectedStepper) => set({ selectedStepper }),\r\n storeHistory: [],\r\n stockLogos: [],\r\n retriveLogoDesign: [],\r\n fabricCanvas: null,\r\n popupCanv: null,\r\n textInfo: 'NEW TEXT',\r\n uploadImageModalDisplay: false,\r\n currentSelection: 'layer',\r\n activeSelection: null,\r\n selectedAll: false,\r\n colorFill: {},\r\n // colorFillPopup : {},\r\n storeAllObject: [],\r\n iconImage: '',\r\n HideControls: {\r\n tl: true,\r\n tr: true,\r\n bl: true, //false\r\n br: true,\r\n ml: false,\r\n mt: false,\r\n mr: false,\r\n mb: false,\r\n mtr: true,\r\n // 'cornerColor':'yellow'\r\n },\r\n showContextMenu: false,\r\n\r\n forStoringAllObject: (data) => {\r\n //@ts-ignore\r\n get().storeAllObject.unshift(data); //FOR PUSHING THE ARRAY RESERVE\r\n },\r\n forIconCapture: () => {\r\n const activeObject = get().fabricCanvas.getActiveObject();\r\n if (activeObject) {\r\n const dataURL = get().fabricCanvas.toDataURL({\r\n left: activeObject.left,\r\n top: activeObject.top,\r\n width: activeObject.width * activeObject.scaleX,\r\n height: activeObject.height * activeObject.scaleY,\r\n });\r\n set({ iconImage: dataURL });\r\n }\r\n },\r\n nameCounter: 0,\r\n duplicateObject: () => {\r\n let clipboard;\r\n get()\r\n .fabricCanvas.getActiveObject()\r\n .clone((cloned) => {\r\n clipboard = cloned;\r\n });\r\n clipboard.clone((clonedObj) => {\r\n get().fabricCanvas.discardActiveObject();\r\n clonedObj.set({\r\n left: clonedObj.left + 10,\r\n top: clonedObj.top + 10,\r\n evented: true,\r\n });\r\n if (clonedObj.type === 'activeSelection') {\r\n clonedObj.canvas = get().fabricCanvas;\r\n clonedObj.forEachObject((obj: any) => {\r\n get().fabricCanvas.add(obj);\r\n });\r\n clonedObj.setCoords();\r\n } else {\r\n get().fabricCanvas.add(clonedObj);\r\n }\r\n clipboard.top += 10;\r\n clipboard.left += 10;\r\n get().fabricCanvas.setActiveObject(clonedObj);\r\n get().fabricCanvas.requestRenderAll();\r\n clonedObj._objects.map((data) => {\r\n get().forStoringAllObject(data);\r\n });\r\n });\r\n get().updateModifaction(true);\r\n },\r\n deleteButtonControls: () => {\r\n // console.log(deleteIcon,'SELECTED......',getObj);\r\n },\r\n count: 0,\r\n skipEvent: false,\r\n undo: () => {\r\n if (get().count < get().storeHistory.length) {\r\n get().fabricCanvas.clear().renderAll();\r\n get().fabricCanvas.loadFromJSON(\r\n get().storeHistory[get().storeHistory.length - 1 - get().count - 1]\r\n );\r\n get().fabricCanvas.renderAll();\r\n get().count += 1;\r\n }\r\n },\r\n redo: () => {\r\n if (get().count > 0) {\r\n get().fabricCanvas.clear().renderAll();\r\n get().fabricCanvas.loadFromJSON(\r\n get().storeHistory[get().storeHistory.length - 1 - get().count + 1]\r\n );\r\n get().fabricCanvas.renderAll();\r\n get().count -= 1;\r\n }\r\n },\r\n moveDown: (element) => {\r\n element.top = element.top + 2;\r\n get().fabricCanvas.renderAll();\r\n },\r\n moveUp: (element) => {\r\n element.top = element.top - 2;\r\n get().fabricCanvas.renderAll();\r\n },\r\n moveRight: (element) => {\r\n element.left = element.left + 2;\r\n get().fabricCanvas.renderAll();\r\n },\r\n moveLeft: (element) => {\r\n element.left = element.left - 2;\r\n get().fabricCanvas.renderAll();\r\n },\r\n applyColorFill : ()=>{\r\n const canvasData = get().fabricCanvas.toJSON();\r\n const canvasGetobject = get().fabricCanvas.getObjects();\r\n canvasData.objects.forEach((element : any,index : any) => {\r\n element.colorFill = canvasGetobject[index].colorFill; \r\n });\r\n return canvasData;\r\n }, \r\n updateModifaction : (toSet)=>{ \r\n if(toSet){\r\n get().storeHistory.push(get().applyColorFill()); \r\n }\r\n },\r\n \r\n contextMenuCoordinates: { x: 0, y: 0 },\r\n stockLogoHandler: (e: any) => {\r\n console.log(e);\r\n // let logos = get().stockLogos[e.target.id];\r\n //@ts-ignore\r\n let logos = e + '?timestamp=' + Date.now();\r\n use3dddPlus.setState({ selectedStepper: undefined });\r\n get().testSVG(logos);\r\n },\r\n testSVG: (data) => {\r\n fabric.loadSVGFromURL(data, (objects, options) => {\r\n const loadedObject = fabric.util.groupSVGElements(objects, options);\r\n // console.log(svg)\r\n loadedObject.scaleToWidth(100);\r\n loadedObject.scaleToHeight(100);\r\n //@ts-ignore\r\n let objImage = loadedObject._objects;\r\n let _Fills = [];\r\n objImage.forEach((ele) => {\r\n ele.set({ strokeWidth: 0 });\r\n use3dddPlus.setState({ fillColor: [...ele.fill] });\r\n _Fills.push(ele.fill);\r\n });\r\n use3dddPlus.setState({\r\n //@ts-ignore\r\n fillColor: use3dddPlus.getState().removeDuplicates(_Fills),\r\n });\r\n //@ts-ignore\r\n _Fills = use3dddPlus.getState().removeDuplicates(_Fills);\r\n const fillColors = {};\r\n _Fills.map((item, index) => {\r\n fillColors['layer' + index] = item;\r\n });\r\n use3dddPlus.setState({ colorFill: fillColors });\r\n loadedObject.set({\r\n //@ts-ignore\r\n colorFill: fillColors,\r\n });\r\n get().fabricCanvas.add(loadedObject).renderAll();\r\n get().fabricCanvas.centerObject(loadedObject);\r\n get().fabricCanvas.setActiveObject(loadedObject);\r\n use3dddPlus.setState({ activeSelection: loadedObject });\r\n use3dddPlus.getState().forStoringAllObject(loadedObject);\r\n get()\r\n .fabricCanvas.getActiveObject()\r\n .toDataURL(function (data) {\r\n console.log('00000', data);\r\n });\r\n\r\n use3dddPlus.getState().forIconCapture();\r\n //@ts-ignore\r\n loadedObject.icon = use3dddPlus.getState().iconImage;\r\n });\r\n },\r\n myLogoHandler: (logo: any) => {\r\n\r\n let jsonData = logo.logo_config_url;\r\n var requestOptions = {\r\n method: 'GET',\r\n };\r\n fetch(jsonData, requestOptions)\r\n .then((response) => response.text())\r\n .then((result) => get().loadingRetrivedFiles(result))\r\n .catch((error) => console.log('error', error));\r\n },\r\n loadingRetrivedFiles: (data: any) => {\r\n let canvas = use3dddPlus.getState().fabricCanvas;\r\n canvas.loadFromJSON(JSON.parse(data), function () {\r\n canvas.renderAll.bind(canvas);\r\n use3dddPlus.setState({ selectedStepper: undefined });\r\n let objImage = canvas.getObjects()._objects;\r\n let _Fills = [];\r\n objImage?.forEach((ele) => {\r\n ele.set({ strokeWidth: 0 });\r\n use3dddPlus.setState({ fillColor: [...ele.fill] });\r\n _Fills.push(ele.fill);\r\n });\r\n use3dddPlus.setState({\r\n //@ts-ignore\r\n fillColor: use3dddPlus.getState().removeDuplicates(_Fills),\r\n });\r\n //@ts-ignore\r\n _Fills = use3dddPlus.getState().removeDuplicates(_Fills);\r\n const fillColors = {};\r\n _Fills.map((item, index) => {\r\n fillColors['layer' + index] = item;\r\n });\r\n use3dddPlus.setState({ colorFill: fillColors });\r\n canvas.getObjects().set({\r\n colorFill: fillColors,\r\n // setControlVisible:false,\r\n });\r\n });\r\n },\r\n uploadLogoConfig: async (jsonConfig, customerId) => {\r\n const bucketName = process.env.REACT_APP_BUCKET;\r\n const region = process.env.REACT_APP_REGION;\r\n AWS.config.update({\r\n accessKeyId: process.env.REACT_APP_ACCESSKEY,\r\n secretAccessKey: process.env.REACT_APP_SECRET_ACCESSKEY,\r\n });\r\n const S3 = new AWS.S3({\r\n params: { Bucket: bucketName },\r\n region: region,\r\n });\r\n\r\n const microTime = Date.now();\r\n const filePath = `my-logos/logo-config/${customerId}/${microTime}.json`;\r\n const params = {\r\n Bucket: bucketName,\r\n Key: filePath,\r\n Body: jsonConfig,\r\n ContentType: 'application/json',\r\n };\r\n\r\n const s3UrlPath = `https://${bucketName}.s3.${region}.amazonaws.com/${filePath}`;\r\n return new Promise((resolve, reject) => {\r\n S3.putObject(params, function (err: any) {\r\n if (err) {\r\n console.log('Error occurred while connecting S3 bucket!', err);\r\n reject(err);\r\n } else {\r\n resolve(s3UrlPath);\r\n }\r\n });\r\n });\r\n },\r\n };\r\n};\r\n\r\nexport default FabricSlice;\r\n","/* This Source Code Form is subject to the terms of the Mozilla Public\r\n * License, v. 2.0. If a copy of the MPL was not distributed with this\r\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\r\n\r\n'use strict';\r\n\r\nexport function TIFFParser() {\r\n this.tiffDataView = undefined;\r\n this.littleEndian = undefined;\r\n this.fileDirectories = [];\r\n}\r\n\r\nTIFFParser.prototype = {\r\n isLittleEndian: function () {\r\n // Get byte order mark.\r\n var BOM = this.getBytes(2, 0);\r\n\r\n // Find out the endianness.\r\n if (BOM === 0x4949) {\r\n this.littleEndian = true;\r\n } else if (BOM === 0x4d4d) {\r\n this.littleEndian = false;\r\n } else {\r\n console.log(BOM);\r\n throw TypeError('Invalid byte order value.');\r\n }\r\n\r\n return this.littleEndian;\r\n },\r\n\r\n hasTowel: function () {\r\n // Check for towel.\r\n if (this.getBytes(2, 2) !== 42) {\r\n throw RangeError('You forgot your towel!');\r\n return false;\r\n }\r\n\r\n return true;\r\n },\r\n\r\n getFieldTagName: function (fieldTag) {\r\n // See: http://www.digitizationguidelines.gov/guidelines/TIFF_Metadata_Final.pdf\r\n // See: http://www.digitalpreservation.gov/formats/content/tiff_tags.shtml\r\n var fieldTagNames = {\r\n // TIFF Baseline\r\n 0x013b: 'Artist',\r\n 0x0102: 'BitsPerSample',\r\n 0x0109: 'CellLength',\r\n 0x0108: 'CellWidth',\r\n 0x0140: 'ColorMap',\r\n 0x0103: 'Compression',\r\n 0x8298: 'Copyright',\r\n 0x0132: 'DateTime',\r\n 0x0152: 'ExtraSamples',\r\n 0x010a: 'FillOrder',\r\n 0x0121: 'FreeByteCounts',\r\n 0x0120: 'FreeOffsets',\r\n 0x0123: 'GrayResponseCurve',\r\n 0x0122: 'GrayResponseUnit',\r\n 0x013c: 'HostComputer',\r\n 0x010e: 'ImageDescription',\r\n 0x0101: 'ImageLength',\r\n 0x0100: 'ImageWidth',\r\n 0x010f: 'Make',\r\n 0x0119: 'MaxSampleValue',\r\n 0x0118: 'MinSampleValue',\r\n 0x0110: 'Model',\r\n 0x00fe: 'NewSubfileType',\r\n 0x0112: 'Orientation',\r\n 0x0106: 'PhotometricInterpretation',\r\n 0x011c: 'PlanarConfiguration',\r\n 0x0128: 'ResolutionUnit',\r\n 0x0116: 'RowsPerStrip',\r\n 0x0115: 'SamplesPerPixel',\r\n 0x0131: 'Software',\r\n 0x0117: 'StripByteCounts',\r\n 0x0111: 'StripOffsets',\r\n 0x00ff: 'SubfileType',\r\n 0x0107: 'Threshholding',\r\n 0x011a: 'XResolution',\r\n 0x011b: 'YResolution',\r\n\r\n // TIFF Extended\r\n 0x0146: 'BadFaxLines',\r\n 0x0147: 'CleanFaxData',\r\n 0x0157: 'ClipPath',\r\n 0x0148: 'ConsecutiveBadFaxLines',\r\n 0x01b1: 'Decode',\r\n 0x01b2: 'DefaultImageColor',\r\n 0x010d: 'DocumentName',\r\n 0x0150: 'DotRange',\r\n 0x0141: 'HalftoneHints',\r\n 0x015a: 'Indexed',\r\n 0x015b: 'JPEGTables',\r\n 0x011d: 'PageName',\r\n 0x0129: 'PageNumber',\r\n 0x013d: 'Predictor',\r\n 0x013f: 'PrimaryChromaticities',\r\n 0x0214: 'ReferenceBlackWhite',\r\n 0x0153: 'SampleFormat',\r\n 0x022f: 'StripRowCounts',\r\n 0x014a: 'SubIFDs',\r\n 0x0124: 'T4Options',\r\n 0x0125: 'T6Options',\r\n 0x0145: 'TileByteCounts',\r\n 0x0143: 'TileLength',\r\n 0x0144: 'TileOffsets',\r\n 0x0142: 'TileWidth',\r\n 0x012d: 'TransferFunction',\r\n 0x013e: 'WhitePoint',\r\n 0x0158: 'XClipPathUnits',\r\n 0x011e: 'XPosition',\r\n 0x0211: 'YCbCrCoefficients',\r\n 0x0213: 'YCbCrPositioning',\r\n 0x0212: 'YCbCrSubSampling',\r\n 0x0159: 'YClipPathUnits',\r\n 0x011f: 'YPosition',\r\n\r\n // EXIF\r\n 0x9202: 'ApertureValue',\r\n 0xa001: 'ColorSpace',\r\n 0x9004: 'DateTimeDigitized',\r\n 0x9003: 'DateTimeOriginal',\r\n 0x8769: 'Exif IFD',\r\n 0x9000: 'ExifVersion',\r\n 0x829a: 'ExposureTime',\r\n 0xa300: 'FileSource',\r\n 0x9209: 'Flash',\r\n 0xa000: 'FlashpixVersion',\r\n 0x829d: 'FNumber',\r\n 0xa420: 'ImageUniqueID',\r\n 0x9208: 'LightSource',\r\n 0x927c: 'MakerNote',\r\n 0x9201: 'ShutterSpeedValue',\r\n 0x9286: 'UserComment',\r\n\r\n // IPTC\r\n 0x83bb: 'IPTC',\r\n\r\n // ICC\r\n 0x8773: 'ICC Profile',\r\n\r\n // XMP\r\n 0x02bc: 'XMP',\r\n\r\n // GDAL\r\n 0xa480: 'GDAL_METADATA',\r\n 0xa481: 'GDAL_NODATA',\r\n\r\n // Photoshop\r\n 0x8649: 'Photoshop',\r\n };\r\n\r\n var fieldTagName;\r\n\r\n if (fieldTag in fieldTagNames) {\r\n fieldTagName = fieldTagNames[fieldTag];\r\n } else {\r\n console.log('Unknown Field Tag:', fieldTag);\r\n fieldTagName = 'Tag' + fieldTag;\r\n }\r\n\r\n return fieldTagName;\r\n },\r\n\r\n getFieldTypeName: function (fieldType) {\r\n var fieldTypeNames = {\r\n 0x0001: 'BYTE',\r\n 0x0002: 'ASCII',\r\n 0x0003: 'SHORT',\r\n 0x0004: 'LONG',\r\n 0x0005: 'RATIONAL',\r\n 0x0006: 'SBYTE',\r\n 0x0007: 'UNDEFINED',\r\n 0x0008: 'SSHORT',\r\n 0x0009: 'SLONG',\r\n 0x000a: 'SRATIONAL',\r\n 0x000b: 'FLOAT',\r\n 0x000c: 'DOUBLE',\r\n };\r\n\r\n var fieldTypeName;\r\n\r\n if (fieldType in fieldTypeNames) {\r\n fieldTypeName = fieldTypeNames[fieldType];\r\n }\r\n\r\n return fieldTypeName;\r\n },\r\n\r\n getFieldTypeLength: function (fieldTypeName) {\r\n var fieldTypeLength;\r\n\r\n if (['BYTE', 'ASCII', 'SBYTE', 'UNDEFINED'].indexOf(fieldTypeName) !== -1) {\r\n fieldTypeLength = 1;\r\n } else if (['SHORT', 'SSHORT'].indexOf(fieldTypeName) !== -1) {\r\n fieldTypeLength = 2;\r\n } else if (['LONG', 'SLONG', 'FLOAT'].indexOf(fieldTypeName) !== -1) {\r\n fieldTypeLength = 4;\r\n } else if (\r\n ['RATIONAL', 'SRATIONAL', 'DOUBLE'].indexOf(fieldTypeName) !== -1\r\n ) {\r\n fieldTypeLength = 8;\r\n }\r\n\r\n return fieldTypeLength;\r\n },\r\n\r\n getBits: function (numBits, byteOffset, bitOffset) {\r\n bitOffset = bitOffset || 0;\r\n var extraBytes = Math.floor(bitOffset / 8);\r\n var newByteOffset = byteOffset + extraBytes;\r\n var totalBits = bitOffset + numBits;\r\n var shiftRight = 32 - numBits;\r\n\r\n if (totalBits <= 0) {\r\n console.log(numBits, byteOffset, bitOffset);\r\n throw RangeError('No bits requested');\r\n } else if (totalBits <= 8) {\r\n var shiftLeft = 24 + bitOffset;\r\n var rawBits = this.tiffDataView.getUint8(\r\n newByteOffset,\r\n this.littleEndian\r\n );\r\n } else if (totalBits <= 16) {\r\n var shiftLeft = 16 + bitOffset;\r\n var rawBits = this.tiffDataView.getUint16(\r\n newByteOffset,\r\n this.littleEndian\r\n );\r\n } else if (totalBits <= 32) {\r\n var shiftLeft = bitOffset;\r\n var rawBits = this.tiffDataView.getUint32(\r\n newByteOffset,\r\n this.littleEndian\r\n );\r\n } else {\r\n console.log(numBits, byteOffset, bitOffset);\r\n throw RangeError('Too many bits requested');\r\n }\r\n\r\n var chunkInfo = {\r\n bits: (rawBits << shiftLeft) >>> shiftRight,\r\n byteOffset: newByteOffset + Math.floor(totalBits / 8),\r\n bitOffset: totalBits % 8,\r\n };\r\n\r\n return chunkInfo;\r\n },\r\n\r\n getBytes: function (numBytes, offset) {\r\n if (numBytes <= 0) {\r\n console.log(numBytes, offset);\r\n throw RangeError('No bytes requested');\r\n } else if (numBytes <= 1) {\r\n return this.tiffDataView.getUint8(offset, this.littleEndian);\r\n } else if (numBytes <= 2) {\r\n return this.tiffDataView.getUint16(offset, this.littleEndian);\r\n } else if (numBytes <= 3) {\r\n return this.tiffDataView.getUint32(offset, this.littleEndian) >>> 8;\r\n } else if (numBytes <= 4) {\r\n return this.tiffDataView.getUint32(offset, this.littleEndian);\r\n } else {\r\n console.log(numBytes, offset);\r\n throw RangeError('Too many bytes requested');\r\n }\r\n },\r\n\r\n getFieldValues: function (\r\n fieldTagName,\r\n fieldTypeName,\r\n typeCount,\r\n valueOffset\r\n ) {\r\n var fieldValues = [];\r\n\r\n var fieldTypeLength = this.getFieldTypeLength(fieldTypeName);\r\n var fieldValueSize = fieldTypeLength * typeCount;\r\n\r\n if (fieldValueSize <= 4) {\r\n // The value is stored at the big end of the valueOffset.\r\n if (this.littleEndian === false) {\r\n var value = valueOffset >>> ((4 - fieldTypeLength) * 8);\r\n } else {\r\n var value = valueOffset;\r\n }\r\n\r\n fieldValues.push(value);\r\n } else {\r\n for (var i = 0; i < typeCount; i++) {\r\n var indexOffset = fieldTypeLength * i;\r\n\r\n if (fieldTypeLength >= 8) {\r\n if (['RATIONAL', 'SRATIONAL'].indexOf(fieldTypeName) !== -1) {\r\n // Numerator\r\n fieldValues.push(this.getBytes(4, valueOffset + indexOffset));\r\n // Denominator\r\n fieldValues.push(this.getBytes(4, valueOffset + indexOffset + 4));\r\n //\t\t\t\t\t} else if (['DOUBLE'].indexOf(fieldTypeName) !== -1) {\r\n //\t\t\t\t\t\tfieldValues.push(this.getBytes(4, valueOffset + indexOffset) + this.getBytes(4, valueOffset + indexOffset + 4));\r\n } else {\r\n console.log(fieldTypeName, typeCount, fieldValueSize);\r\n throw TypeError(\"Can't handle this field type or size\");\r\n }\r\n } else {\r\n fieldValues.push(\r\n this.getBytes(fieldTypeLength, valueOffset + indexOffset)\r\n );\r\n }\r\n }\r\n }\r\n\r\n if (fieldTypeName === 'ASCII') {\r\n fieldValues.forEach(function (e, i, a) {\r\n a[i] = String.fromCharCode(e);\r\n });\r\n }\r\n\r\n return fieldValues;\r\n },\r\n\r\n clampColorSample: function (colorSample, bitsPerSample) {\r\n var multiplier = Math.pow(2, 8 - bitsPerSample);\r\n\r\n return Math.floor(colorSample * multiplier + (multiplier - 1));\r\n },\r\n\r\n makeRGBAFillValue: function (r, g, b, a) {\r\n if (typeof a === 'undefined') {\r\n a = 1.0;\r\n }\r\n return 'rgba(' + r + ', ' + g + ', ' + b + ', ' + a + ')';\r\n },\r\n\r\n parseFileDirectory: function (byteOffset) {\r\n var numDirEntries = this.getBytes(2, byteOffset);\r\n\r\n var tiffFields = [];\r\n\r\n for (\r\n var i = byteOffset + 2, entryCount = 0;\r\n entryCount < numDirEntries;\r\n i += 12, entryCount++\r\n ) {\r\n var fieldTag = this.getBytes(2, i);\r\n var fieldType = this.getBytes(2, i + 2);\r\n var typeCount = this.getBytes(4, i + 4);\r\n var valueOffset = this.getBytes(4, i + 8);\r\n\r\n var fieldTagName = this.getFieldTagName(fieldTag);\r\n var fieldTypeName = this.getFieldTypeName(fieldType);\r\n\r\n var fieldValues = this.getFieldValues(\r\n fieldTagName,\r\n fieldTypeName,\r\n typeCount,\r\n valueOffset\r\n );\r\n\r\n tiffFields[fieldTagName] = { type: fieldTypeName, values: fieldValues };\r\n }\r\n\r\n this.fileDirectories.push(tiffFields);\r\n\r\n var nextIFDByteOffset = this.getBytes(4, i);\r\n\r\n if (nextIFDByteOffset === 0x00000000) {\r\n return this.fileDirectories;\r\n } else {\r\n return this.parseFileDirectory(nextIFDByteOffset);\r\n }\r\n },\r\n\r\n parseTIFF: function (tiffArrayBuffer, canvas) {\r\n canvas = canvas || document.createElement('canvas');\r\n\r\n console.log(tiffArrayBuffer);\r\n\r\n this.tiffDataView = new DataView(tiffArrayBuffer);\r\n this.canvas = canvas;\r\n\r\n this.littleEndian = this.isLittleEndian(this.tiffDataView);\r\n\r\n if (!this.hasTowel(this.tiffDataView, this.littleEndian)) {\r\n return;\r\n }\r\n\r\n var firstIFDByteOffset = this.getBytes(4, 4);\r\n\r\n this.fileDirectories = this.parseFileDirectory(firstIFDByteOffset);\r\n\r\n var fileDirectory = this.fileDirectories[0];\r\n\r\n console.log(fileDirectory);\r\n\r\n var imageWidth = fileDirectory.ImageWidth.values[0];\r\n var imageLength = fileDirectory.ImageLength.values[0];\r\n\r\n this.canvas.width = imageWidth;\r\n this.canvas.height = imageLength;\r\n\r\n var strips = [];\r\n\r\n var compression = fileDirectory.Compression\r\n ? fileDirectory.Compression.values[0]\r\n : 1;\r\n\r\n var samplesPerPixel = fileDirectory.SamplesPerPixel.values[0];\r\n\r\n var sampleProperties = [];\r\n\r\n var bitsPerPixel = 0;\r\n var hasBytesPerPixel = false;\r\n\r\n fileDirectory.BitsPerSample.values.forEach(function (\r\n bitsPerSample,\r\n i,\r\n bitsPerSampleValues\r\n ) {\r\n sampleProperties[i] = {\r\n bitsPerSample: bitsPerSample,\r\n hasBytesPerSample: false,\r\n bytesPerSample: undefined,\r\n };\r\n\r\n if (bitsPerSample % 8 === 0) {\r\n sampleProperties[i].hasBytesPerSample = true;\r\n sampleProperties[i].bytesPerSample = bitsPerSample / 8;\r\n }\r\n\r\n bitsPerPixel += bitsPerSample;\r\n },\r\n this);\r\n\r\n if (bitsPerPixel % 8 === 0) {\r\n hasBytesPerPixel = true;\r\n var bytesPerPixel = bitsPerPixel / 8;\r\n }\r\n\r\n var stripOffsetValues = fileDirectory.StripOffsets.values;\r\n var numStripOffsetValues = stripOffsetValues.length;\r\n\r\n // StripByteCounts is supposed to be required, but see if we can recover anyway.\r\n if (fileDirectory.StripByteCounts) {\r\n var stripByteCountValues = fileDirectory.StripByteCounts.values;\r\n } else {\r\n console.log('Missing StripByteCounts!');\r\n\r\n // Infer StripByteCounts, if possible.\r\n if (numStripOffsetValues === 1) {\r\n var stripByteCountValues = [\r\n Math.ceil((imageWidth * imageLength * bitsPerPixel) / 8),\r\n ];\r\n } else {\r\n throw Error('Cannot recover from missing StripByteCounts');\r\n }\r\n }\r\n\r\n // Loop through strips and decompress as necessary.\r\n for (var i = 0; i < numStripOffsetValues; i++) {\r\n var stripOffset = stripOffsetValues[i];\r\n strips[i] = [];\r\n\r\n var stripByteCount = stripByteCountValues[i];\r\n\r\n // Loop through pixels.\r\n for (\r\n var byteOffset = 0,\r\n bitOffset = 0,\r\n jIncrement = 1,\r\n getHeader = true,\r\n pixel = [],\r\n numBytes = 0,\r\n sample = 0,\r\n currentSample = 0;\r\n byteOffset < stripByteCount;\r\n byteOffset += jIncrement\r\n ) {\r\n // Decompress strip.\r\n switch (compression) {\r\n // Uncompressed\r\n case 1:\r\n // Loop through samples (sub-pixels).\r\n for (var m = 0, pixel = []; m < samplesPerPixel; m++) {\r\n if (sampleProperties[m].hasBytesPerSample) {\r\n // XXX: This is wrong!\r\n var sampleOffset = sampleProperties[m].bytesPerSample * m;\r\n\r\n pixel.push(\r\n this.getBytes(\r\n sampleProperties[m].bytesPerSample,\r\n stripOffset + byteOffset + sampleOffset\r\n )\r\n );\r\n } else {\r\n var sampleInfo = this.getBits(\r\n sampleProperties[m].bitsPerSample,\r\n stripOffset + byteOffset,\r\n bitOffset\r\n );\r\n\r\n pixel.push(sampleInfo.bits);\r\n\r\n byteOffset = sampleInfo.byteOffset - stripOffset;\r\n bitOffset = sampleInfo.bitOffset;\r\n\r\n throw RangeError('Cannot handle sub-byte bits per sample');\r\n }\r\n }\r\n\r\n strips[i].push(pixel);\r\n\r\n if (hasBytesPerPixel) {\r\n jIncrement = bytesPerPixel;\r\n } else {\r\n jIncrement = 0;\r\n\r\n throw RangeError('Cannot handle sub-byte bits per pixel');\r\n }\r\n break;\r\n\r\n // CITT Group 3 1-Dimensional Modified Huffman run-length encoding\r\n case 2:\r\n // XXX: Use PDF.js code?\r\n break;\r\n\r\n // Group 3 Fax\r\n case 3:\r\n // XXX: Use PDF.js code?\r\n break;\r\n\r\n // Group 4 Fax\r\n case 4:\r\n // XXX: Use PDF.js code?\r\n break;\r\n\r\n // LZW\r\n case 5:\r\n // XXX: Use PDF.js code?\r\n break;\r\n\r\n // Old-style JPEG (TIFF 6.0)\r\n case 6:\r\n // XXX: Use PDF.js code?\r\n break;\r\n\r\n // New-style JPEG (TIFF Specification Supplement 2)\r\n case 7:\r\n // XXX: Use PDF.js code?\r\n break;\r\n\r\n // PackBits\r\n case 32773:\r\n // Are we ready for a new block?\r\n if (getHeader) {\r\n getHeader = false;\r\n\r\n var blockLength = 1;\r\n var iterations = 1;\r\n\r\n // The header byte is signed.\r\n var header = this.tiffDataView.getInt8(\r\n stripOffset + byteOffset,\r\n this.littleEndian\r\n );\r\n\r\n if (header >= 0 && header <= 127) {\r\n // Normal pixels.\r\n blockLength = header + 1;\r\n } else if (header >= -127 && header <= -1) {\r\n // Collapsed pixels.\r\n iterations = -header + 1;\r\n } /*if (header === -128)*/ else {\r\n // Placeholder byte?\r\n getHeader = true;\r\n }\r\n } else {\r\n var currentByte = this.getBytes(1, stripOffset + byteOffset);\r\n\r\n // Duplicate bytes, if necessary.\r\n for (var m = 0; m < iterations; m++) {\r\n if (sampleProperties[sample].hasBytesPerSample) {\r\n // We're reading one byte at a time, so we need to handle multi-byte samples.\r\n currentSample =\r\n (currentSample << (8 * numBytes)) | currentByte;\r\n numBytes++;\r\n\r\n // Is our sample complete?\r\n if (numBytes === sampleProperties[sample].bytesPerSample) {\r\n pixel.push(currentSample);\r\n currentSample = numBytes = 0;\r\n sample++;\r\n }\r\n } else {\r\n throw RangeError('Cannot handle sub-byte bits per sample');\r\n }\r\n\r\n // Is our pixel complete?\r\n if (sample === samplesPerPixel) {\r\n strips[i].push(pixel);\r\n\r\n pixel = [];\r\n sample = 0;\r\n }\r\n }\r\n\r\n blockLength--;\r\n\r\n // Is our block complete?\r\n if (blockLength === 0) {\r\n getHeader = true;\r\n }\r\n }\r\n\r\n jIncrement = 1;\r\n break;\r\n\r\n // Unknown compression algorithm\r\n default:\r\n // Do not attempt to parse the image data.\r\n break;\r\n }\r\n }\r\n\r\n //\t\t\tconsole.log( strips[i] );\r\n }\r\n\r\n //\t\tconsole.log( strips );\r\n\r\n if (canvas.getContext) {\r\n var ctx = this.canvas.getContext('2d');\r\n\r\n // Set a default fill style.\r\n ctx.fillStyle = this.makeRGBAFillValue(255, 255, 255, 0);\r\n\r\n // If RowsPerStrip is missing, the whole image is in one strip.\r\n if (fileDirectory.RowsPerStrip) {\r\n var rowsPerStrip = fileDirectory.RowsPerStrip.values[0];\r\n } else {\r\n var rowsPerStrip = imageLength;\r\n }\r\n\r\n var numStrips = strips.length;\r\n\r\n var imageLengthModRowsPerStrip = imageLength % rowsPerStrip;\r\n var rowsInLastStrip =\r\n imageLengthModRowsPerStrip === 0\r\n ? rowsPerStrip\r\n : imageLengthModRowsPerStrip;\r\n\r\n var numRowsInStrip = rowsPerStrip;\r\n var numRowsInPreviousStrip = 0;\r\n\r\n var photometricInterpretation =\r\n fileDirectory.PhotometricInterpretation.values[0];\r\n\r\n var extraSamplesValues = [];\r\n var numExtraSamples = 0;\r\n\r\n if (fileDirectory.ExtraSamples) {\r\n extraSamplesValues = fileDirectory.ExtraSamples.values;\r\n numExtraSamples = extraSamplesValues.length;\r\n }\r\n\r\n if (fileDirectory.ColorMap) {\r\n var colorMapValues = fileDirectory.ColorMap.values;\r\n var colorMapSampleSize = Math.pow(2, sampleProperties[0].bitsPerSample);\r\n }\r\n\r\n // Loop through the strips in the image.\r\n for (var i = 0; i < numStrips; i++) {\r\n // The last strip may be short.\r\n if (i + 1 === numStrips) {\r\n numRowsInStrip = rowsInLastStrip;\r\n }\r\n\r\n var numPixels = strips[i].length;\r\n var yPadding = numRowsInPreviousStrip * i;\r\n\r\n // Loop through the rows in the strip.\r\n for (var y = 0, j = 0; y < numRowsInStrip, j < numPixels; y++) {\r\n // Loop through the pixels in the row.\r\n for (var x = 0; x < imageWidth; x++, j++) {\r\n var pixelSamples = strips[i][j];\r\n\r\n var red = 0;\r\n var green = 0;\r\n var blue = 0;\r\n var opacity = 1.0;\r\n\r\n if (numExtraSamples > 0) {\r\n for (var k = 0; k < numExtraSamples; k++) {\r\n if (\r\n extraSamplesValues[k] === 1 ||\r\n extraSamplesValues[k] === 2\r\n ) {\r\n // Clamp opacity to the range [0,1].\r\n opacity = pixelSamples[3 + k] / 256;\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n switch (photometricInterpretation) {\r\n // Bilevel or Grayscale\r\n // WhiteIsZero\r\n case 0:\r\n if (sampleProperties[0].hasBytesPerSample) {\r\n var invertValue = Math.pow(\r\n 0x10,\r\n sampleProperties[0].bytesPerSample * 2\r\n );\r\n }\r\n\r\n // Invert samples.\r\n pixelSamples.forEach(function (sample, index, samples) {\r\n samples[index] = invertValue - sample;\r\n });\r\n\r\n // Bilevel or Grayscale\r\n // BlackIsZero\r\n case 1:\r\n red =\r\n green =\r\n blue =\r\n this.clampColorSample(\r\n pixelSamples[0],\r\n sampleProperties[0].bitsPerSample\r\n );\r\n break;\r\n\r\n // RGB Full Color\r\n case 2:\r\n red = this.clampColorSample(\r\n pixelSamples[0],\r\n sampleProperties[0].bitsPerSample\r\n );\r\n green = this.clampColorSample(\r\n pixelSamples[1],\r\n sampleProperties[1].bitsPerSample\r\n );\r\n blue = this.clampColorSample(\r\n pixelSamples[2],\r\n sampleProperties[2].bitsPerSample\r\n );\r\n break;\r\n\r\n // RGB Color Palette\r\n case 3:\r\n if (colorMapValues === undefined) {\r\n throw Error('Palette image missing color map');\r\n }\r\n\r\n var colorMapIndex = pixelSamples[0];\r\n\r\n red = this.clampColorSample(colorMapValues[colorMapIndex], 16);\r\n green = this.clampColorSample(\r\n colorMapValues[colorMapSampleSize + colorMapIndex],\r\n 16\r\n );\r\n blue = this.clampColorSample(\r\n colorMapValues[2 * colorMapSampleSize + colorMapIndex],\r\n 16\r\n );\r\n break;\r\n\r\n // Transparency mask\r\n case 4:\r\n throw RangeError('Not Yet Implemented: Transparency mask');\r\n break;\r\n\r\n // CMYK\r\n case 5:\r\n throw RangeError('Not Yet Implemented: CMYK');\r\n break;\r\n\r\n // YCbCr\r\n case 6:\r\n throw RangeError('Not Yet Implemented: YCbCr');\r\n break;\r\n\r\n // CIELab\r\n case 8:\r\n throw RangeError('Not Yet Implemented: CIELab');\r\n break;\r\n\r\n // Unknown Photometric Interpretation\r\n default:\r\n throw RangeError(\r\n 'Unknown Photometric Interpretation:',\r\n photometricInterpretation\r\n );\r\n break;\r\n }\r\n\r\n ctx.fillStyle = this.makeRGBAFillValue(red, green, blue, opacity);\r\n ctx.fillRect(x, yPadding + y, 1, 1);\r\n }\r\n }\r\n\r\n numRowsInPreviousStrip = numRowsInStrip;\r\n }\r\n }\r\n\r\n /*\t\tfor (var i = 0, numFileDirectories = this.fileDirectories.length; i < numFileDirectories; i++) {\r\n // Stuff\r\n }*/\r\n\r\n return this.canvas;\r\n },\r\n};\r\n","import { StateCreator } from 'zustand';\r\nimport { TIFFParser } from '../../loaders/tiffParser';\r\nimport { use3dddPlus } from '..';\r\nimport { fabric } from 'fabric';\r\nimport ImageTracer from 'imagetracerjs';\r\n// import * as pdfjsLib from 'pdfjs-dist/build/pdf';\r\n// pdfjsLib.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjsLib.version}/pdf.worker.js`;\r\nexport interface ConverterSlice {\r\n fillColor: string[];\r\n pdfConverter: (data: any) => void;\r\n // convertPdfToImages: (buffer: any) => any;\r\n tiffConvert: (data: any) => void;\r\n imageToSVG: (data: any) => void;\r\n removeDuplicates: (arr: any) => void;\r\n RGBToHex: (rgb: any) => void;\r\n changeSVGColor: (property: any, color: any) => void;\r\n setFile: (file: any) => void;\r\n file: any;\r\n addText: () => void;\r\n}\r\n\r\nexport const converterSlice: StateCreator<ConverterSlice> = (set, get) => {\r\n return {\r\n fillColor: [],\r\n file: {},\r\n setFile: (file) => {\r\n set({ file });\r\n },\r\n // return new Promise((resolve, reject) => {\r\n // if (data) {\r\n // const reader = new FileReader();\r\n // reader.onload = async () => {\r\n // const buffer = reader.result;\r\n // try {\r\n // const _B = await get().convertPdfToImages(buffer);\r\n // resolve(_B);\r\n // } catch (error) {\r\n // reject(error);\r\n // }\r\n // };\r\n // reader.readAsArrayBuffer(data);\r\n // } else {\r\n // reject(new Error('No data provided.'));\r\n // }\r\n // });\r\n // },\r\n // convertPdfToImages: async (buffer) => {\r\n // const pdf = await pdfjsLib.getDocument({ data: new Uint8Array(buffer) })\r\n // .promise;\r\n // const scale = 2;\r\n // for (let pageNum = 1; pageNum <= pdf.numPages; pageNum++) {\r\n // const page = await pdf.getPage(pageNum);\r\n // const viewport = page.getViewport({ scale });\r\n // const canvasEl = document.createElement('canvas');\r\n // canvasEl.width = viewport.width;\r\n // canvasEl.height = viewport.height;\r\n // const context = canvasEl.getContext('2d');\r\n // await page.render({\r\n // canvasContext: context,\r\n // viewport,\r\n // background: 'rgba(0,0,0,0)',\r\n // }).promise;\r\n // // let objectURL = URL.createObjectURL(canvasEl);\r\n // const imageUrl = canvasEl.toDataURL();\r\n // return imageUrl;\r\n // // svgConverter(imageUrl);\r\n // /* */\r\n // }\r\n // },\r\n tiffConvert: async (data) => {\r\n const tiffParser = new TIFFParser();\r\n const canvasEl = document.createElement('canvas');\r\n canvasEl.width = 500;\r\n canvasEl.height = 500;\r\n // const context = canvasEl.getContext(\"2d\");\r\n const arrayBuffer = await data.arrayBuffer();\r\n var tiffCanvas = tiffParser.parseTIFF(arrayBuffer, canvasEl);\r\n const imageUrl = tiffCanvas.toDataURL();\r\n return imageUrl;\r\n },\r\n imageToSVG: (data) => {\r\n use3dddPlus.setState({ uploadImageModalDisplay: true }); // FOR POPUP CANVAS VISIBLE\r\n ImageTracer.imageToSVG(\r\n data,\r\n function (svgstr) {\r\n fabric.loadSVGFromString(\r\n //@ts-ignore\r\n new String(svgstr),\r\n function (objects, options) {\r\n let loadedObject = fabric.util.groupSVGElements(objects, options);\r\n // console.log(\"LOADEDOBJECT--->\",data);\r\n loadedObject.scaleToHeight(100);\r\n loadedObject.scaleToWidth(100);\r\n //@ts-ignore\r\n let objImage = loadedObject?._objects;\r\n let _Fills = [];\r\n objImage.forEach((ele: any) => {\r\n ele.set({ strokeWidth: 0 });\r\n set({ fillColor: [...ele.fill] });\r\n // setFillColor([...ele.fill]);\r\n let _C = get().RGBToHex(ele.fill);\r\n _Fills.push(_C);\r\n });\r\n //@ts-ignore\r\n set({ fillColor: get().removeDuplicates(_Fills) });\r\n //setFillColor(get().removeDuplicates(_Fills));\r\n //@ts-ignore\r\n _Fills = get().removeDuplicates(_Fills);\r\n // console.log(_Fills);\r\n const fillColors = {};\r\n _Fills.map((item, index) => {\r\n fillColors['layer' + index] = item;\r\n });\r\n use3dddPlus.setState({ colorFill: fillColors });\r\n //FOR POPUP CANVAS\r\n // loadedObject.set({\r\n // colorFill : fillColors,\r\n // hasControls:false,\r\n // hasBorders : false,\r\n // lockMovementX:true,\r\n // lockMovementY:true,\r\n\r\n // })\r\n // for main canvas use this\r\n loadedObject.set({\r\n colorFill: fillColors,\r\n //@ts-ignore\r\n setControlVisible: false,\r\n });\r\n // var maxWidth = 300; // your maximum width value\r\n // var maxHeight = 300; // your maximum height value\r\n // if (loadedObject.width > maxWidth || loadedObject.height > maxHeight) {\r\n // // Calculate new dimensions while maintaining aspect ratio\r\n // var aspectRatio = loadedObject.width / loadedObject.height;\r\n // if (aspectRatio > maxWidth / maxHeight) {\r\n // loadedObject.scaleToWidth(maxWidth);\r\n // } else {\r\n // loadedObject.scaleToHeight(maxHeight);\r\n // }\r\n // }\r\n\r\n //-------- use CANVAS INSTEAD OF POPCANVAS--------\r\n console.log('loadedObject--->', loadedObject);\r\n use3dddPlus.getState().popupCanv.add(loadedObject).renderAll();\r\n use3dddPlus.getState().popupCanv.centerObject(loadedObject);\r\n use3dddPlus.getState().popupCanv.setActiveObject(loadedObject);\r\n use3dddPlus.setState({ activeSelection: loadedObject });\r\n // loadedObject.setControlVisible(\"mtr\", false);\r\n // use3dddPlus.getState().forStoringAllObject(loadedObject);//for pushing the data into array for layers\r\n }\r\n );\r\n }\r\n // options\r\n //@ts-ignore\r\n //optionpresets.default\r\n );\r\n },\r\n removeDuplicates: (arr) => {\r\n return arr.filter((item, index) => arr.indexOf(item) === index);\r\n },\r\n\r\n RGBToHex: (rgb) => {\r\n let sep = rgb.indexOf(',') > -1 ? ',' : ' ';\r\n rgb = rgb.substr(4).split(')')[0].split(sep);\r\n let r = (+rgb[0]).toString(16),\r\n g = (+rgb[1]).toString(16),\r\n b = (+rgb[2]).toString(16);\r\n\r\n if (r.length == 1) r = '0' + r;\r\n if (g.length == 1) g = '0' + g;\r\n if (b.length == 1) b = '0' + b;\r\n return '#' + r + g + b;\r\n },\r\n changeSVGColor: (property, color) => {\r\n const fillColor = { ...use3dddPlus.getState().colorFill };\r\n const previousColor = fillColor[property];\r\n //const SelectedObjet = use3dddPlus.getState().activeSelection;\r\n // console.log(\"Color_CHANGING--->\",SelectedObjet.colorFill);\r\n // let _newObj = SelectedObjet.colorFill;\r\n /* Object.entries(_newObj).forEach(([key, value]) => {\r\n if(`${value}` === previousColor){\r\n console.log(`${key}: ${value}` , previousColor);\r\n _newObj[`${key}`] = color;\r\n }\r\n // console.log(`${key}: ${value}`)\r\n});*/\r\n // const sel = new fabric.ActiveSelection(popupCanvas.getObjects(), {\r\n // popupCanvas: popupCanvas,\r\n // });\r\n\r\n // popupCanvas.setActiveObject(sel);\r\n // popupCanvas.requestRenderAll();\r\n\r\n // let objImage = SelectedObjet._objects;\r\n let objImage = use3dddPlus\r\n .getState()\r\n .popupCanv.getActiveObject()._objects;\r\n objImage.forEach((ele) => {\r\n const _C = ele.fill.includes('#') ? ele.fill : get().RGBToHex(ele.fill);\r\n if (_C === previousColor) {\r\n ele.set({\r\n fill: color,\r\n });\r\n }\r\n });\r\n use3dddPlus.getState().popupCanv.renderAll();\r\n fillColor[property] = color;\r\n use3dddPlus.setState({ colorFill: fillColor });\r\n },\r\n addText: () => {\r\n use3dddPlus.getState().fabricCanvas.discardActiveObject();\r\n const text = new fabric.Text('NEW TEXT', {\r\n lineHeight: 1,\r\n fill: '#fff',\r\n fontFamily: 'Arial',\r\n fontWeight: 'normal',\r\n top: use3dddPlus.getState().fabricCanvas.height / 2 - 40,\r\n left: use3dddPlus.getState().fabricCanvas.width / 2 - 205,\r\n stroke: '#eb4034',\r\n strokeWidth: 0,\r\n paintFirst: 'stroke',\r\n //charSpacing: 0,\r\n padding: -1,\r\n fontSize: 20,\r\n name: 'text',\r\n charSpacing: -10,\r\n lockScalingFlip: true,\r\n });\r\n const fillColors = { layer0: text.fill };\r\n text.set({\r\n //@ts-ignore\r\n colorFill: fillColors,\r\n });\r\n use3dddPlus.getState().forIconCapture();\r\n //@ts-ignore\r\n text.icon = use3dddPlus.getState().iconImage;\r\n use3dddPlus.getState().fabricCanvas.add(text);\r\n use3dddPlus.getState().fabricCanvas.setActiveObject(text);\r\n use3dddPlus.setState({ currentSelection: 'text' });\r\n //@ts-ignore\r\n use3dddPlus.getState().deleteButtonControls(text);\r\n text.setControlsVisibility(use3dddPlus.getState().HideControls);\r\n use3dddPlus.getState().nameCounter++;\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forStoringAllObject(text); //for pushing the data into array for layers\r\n // use3dddPlus.setState({storeAllObject : });\r\n },\r\n pdfConverter :(data) => {\r\n return new Promise((_resolve, reject) => {\r\n if (data) {\r\n const reader = new FileReader();\r\n reader.onload = async () => {\r\n //const buffer = reader.result;\r\n // try {\r\n // const _B = await get().convertPdfToImages(buffer);\r\n // resolve(_B);\r\n // } catch (error) {\r\n // reject(error);\r\n // }\r\n };\r\n reader.readAsArrayBuffer(data);\r\n } else {\r\n reject(new Error('No data provided.'));\r\n }\r\n });\r\n },\r\n // convertPdfToImages: async (buffer: any) => {\r\n // const pdf = await pdfjsLib.getDocument({ data: new Uint8Array(buffer) })\r\n // .promise;\r\n // const scale = 2;\r\n // for (let pageNum = 1; pageNum <= pdf.numPages; pageNum++) {\r\n // const page = await pdf.getPage(pageNum);\r\n // const viewport = page.getViewport({ scale });\r\n // const canvasEl = document.createElement('canvas');\r\n // canvasEl.width = viewport.width;\r\n // canvasEl.height = viewport.height;\r\n // const context = canvasEl.getContext('2d');\r\n // await page.render({\r\n // canvasContext: context,\r\n // viewport,\r\n // background: 'rgba(0,0,0,0)',\r\n // }).promise;\r\n // const imageUrl = canvasEl.toDataURL();\r\n // return imageUrl;\r\n // }\r\n // return null;\r\n // },\r\n };\r\n};\r\nexport default ConverterSlice;\r\n","import { create, StateCreator } from 'zustand';\r\nimport {\r\n // createJSONStorage,\r\n // persist,\r\n subscribeWithSelector,\r\n} from 'zustand/middleware';\r\nimport actionSlice, { ActionSlice } from './actions';\r\nimport lambdaSlice, { LambdaSlice } from './lambda/index';\r\nimport SaveDesignSlice, { saveDesignSlice } from './saveDesign';\r\nimport AuthSlice, { authSlice } from './auth';\r\nimport HistorySlice, { historySlice } from './history';\r\nimport FabricSlice, { fabricSlice } from './fabric';\r\nimport ConverterSlice, { converterSlice} from './converters';\r\nexport type ThreedddPlus = \r\n ActionSlice &\r\n LambdaSlice &\r\n SaveDesignSlice &\r\n AuthSlice &\r\n HistorySlice &\r\n ConverterSlice &\r\n FabricSlice;\r\n\r\nexport const threedddPlusState: StateCreator<ThreedddPlus> = (...args) => {\r\n return {\r\n ...actionSlice(...args),\r\n ...lambdaSlice(...args),\r\n ...saveDesignSlice(...args),\r\n ...authSlice(...args),\r\n ...historySlice(...args),\r\n ...converterSlice(...args),\r\n ...fabricSlice(...args)\r\n };\r\n};\r\n\r\nexport const use3dddPlus = create(\r\n // persist(\r\n subscribeWithSelector<ThreedddPlus>(threedddPlusState)\r\n // , {\r\n // name: 'editor-store', // unique name\r\n // storage: createJSONStorage(() => sessionStorage), // (optional) by default, 'localStorage' is used\r\n // }\r\n // )\r\n);\r\n\r\n(window as any).datasbase = use3dddPlus;\r\n","import React from \"react\";\r\n\r\nexport const Button = ({ label, icons, onClick, className, children }) => {\r\n return (\r\n <button\r\n onClick={onClick}\r\n className={`flex rounded-none gap-3 w-full items-center p-2 m-2 ${className}`}\r\n >\r\n {icons}\r\n {label}\r\n {children}\r\n </button>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { Button } from 'reakit';\r\n\r\nexport const IconButtonLabel = ({\r\n icon,\r\n onClick,\r\n className = '',\r\n label = '',\r\n iconPosition = 'left',\r\n ...props\r\n}) => {\r\n return (\r\n <Button\r\n className={`flex items-center gap-2 text-base font-bold flex-1 justify-center focus:outline-none ${className}`}\r\n onClick={onClick}\r\n {...props}\r\n >\r\n {iconPosition === 'left' && (\r\n <>\r\n {icon}\r\n {label}\r\n </>\r\n )}\r\n {iconPosition === 'right' && (\r\n <>\r\n {label}\r\n {icon}\r\n </>\r\n )}\r\n </Button>\r\n );\r\n};\r\n","import React from \"react\";\r\n\r\nexport const EditButton = ({ label, icons, onClick, className, children }) => {\r\n return (\r\n <button\r\n onClick={onClick}\r\n className={`flex rounded-none gap-3 items-center ${className}`}\r\n >\r\n {icons}\r\n {label}\r\n {children}\r\n </button>\r\n );\r\n };","export const PRIMARY_COLOR = 'text-[#cf132b]'; //rgb(30 58 138);\r\nexport const SECONDARY_COLOR = 'text-[#e11a38]'; //rgb(156 163 175);\r\nexport const BORDER_COLOR = 'border-[#e0e0e0]'; //rgb(156 163 175)\r\nexport const BORDER_COLOR_1 = 'border-[#ecebed]';\r\nexport const BORDER_COLOR_2 = 'border-[#c2c2c2]';\r\nexport const BORDER_COLOR_3 = 'border-[#e11a38]';\r\nexport const SIDEBAR_BG_COLOR = 'bg-[#f7f7f7]';\r\nexport const SELECT_BG_COLOR = 'bg-[#e11a38]'; //rgb(203 213 225)\r\nexport const BG_COLOR_1 = 'bg-[#e11a38]'; //rgb(203 213 225)\r\nexport const SELECT_TEXT_COLOR = 'text-white'\r\nexport const TEXT_SIZE_1 = 'text-xs'; //font-size: 12px (0.75rem)\r\nexport const TEXT_SIZE_2 = 'text-2xl'; //font-size: 24px; (1.5rem)\r\nexport const TEXT_SIZE_3 = 'text-[15px]';\r\nexport const TEXT_SIZE_4 = 'text-[17px]';\r\nexport const TEXT_SIZE_5 = 'text-[28px]';\r\nexport const TEXT_SIZE_6 = 'text-[14px]';\r\nexport const TEXT_SIZE_7 = 'text-[30px]';\r\nexport const TEXT_SIZE_8 = 'text-[21px]';\r\nexport const TEXT_SIZE_9 = 'text-[13px]';\r\nexport const TEXT_SIZE_11 = 'text-[18px]';\r\nexport const TEXT_SIZE_12 = 'text-[11px]';\r\nexport const TEXT_SIZE_13 = 'text-[12px]';\r\nexport const TEXT_SIZE_14 = 'text-[16px]';\r\nexport const TEXT_SIZE_15 = 'text-[25px]';\r\nexport const TEXT_SIZE_16 = 'text-[26px]';\r\nexport const TEXT_SIZE_17 = 'text-[22px]';\r\nexport const TEXT_SIZE_18 = 'text-[16px]';\r\nexport const ACTIVE_BG_COLOR = 'bg-[#cf132b]'; //rgb(30 58 138);\r\nexport const BUTTON_TEXT_COLOR = 'text-white';\r\nexport const BUTTON_BG_COLOR = 'bg-black'; //rgb(0 0 0)\r\nexport const INPUT_BG_COLOR = 'bg-white';\r\nexport const TEXT_COLOR_1 = 'text-[#5d5d5d]';\r\nexport const BACKDROP_BLUR = 'backdrop-blur-[21px]';\r\nexport const BACKDROP_BLUR_BG_COLOR = 'bg-[#00000046]';\r\nexport const MODAL_BG_COLOR = 'bg-[#ffffff]';\r\nexport const CARD_BG_COLOR = 'bg-white'; //rgb(255 255 255)\r\nexport const INPUT_TEXT_DISABLE_COLOR = 'text-slate-300'\r\nexport const CHECKBOX_CHECKED_COLOR = '#e11a38'\r\nexport const LOAD_DESIGN_BORDER_COLOR = '#e0e0e0'\r\nexport const LOAD_DESIGN_TEXT_COLOR = 'text-[#e11a38]';\r\nexport const SEARCH_ICON_COLOR = 'text-[#727272]'\r\nexport const SEARCHBAR_BORDER_COLOR = 'border-[#bebebe]'\r\nexport const MY_DESIGN_TEXT_COLOR = 'text-[#353535]'\r\nexport const SEARCH_TEXT_COLOR = 'text-[#353535]'\r\nexport const NO_SEARCHRESULT_TEXT_COLOR_1 = 'text-[#727272]'\r\nexport const NO_SEARCHRESULT_TEXT_COLOR_2 = 'text-[#5d5d5d]'\r\nexport const CANVAS_MENU_TEXT = 'text-[#353535]';\r\nexport const CANVAS_MENU_BORDER = 'border-[#f4f4f4]';\r\nexport const CANVAS_MENU_BG_COLOR = 'bg-white';\r\nexport const CANVAS_MENU_DROPDOWN_BG_COLOR = 'bg-white';\r\nexport const DECORATION_BG_COLOR = 'bg-[#F1F1F1]'\r\nexport const DROPDOWN_BACKGROUND_COLOR = 'bg-[#FCE8EB]'\r\nexport const TAG_BG_COLOR = 'bg-[#FCE8EB]'\r\nexport const TAG_TEXT_COLOR = 'text-[#e11a38]'\r\nexport const CARD_LAST_UPDATE_COLOR = 'text-[#727272]'\r\nexport const CARD_DOWNLAOD_ICON_COLOR = 'text-[#353535]'\r\nexport const CARD_DESCRIPTION_COLOR = 'text-[#353535]'\r\nexport const FOOTER_TEXT_COLOR = 'text-[#ffffff]'\r\nexport const FOOTER_RACK_BG_COLOR = 'bg-[#E21938]'\r\nexport const FOOTER_PRICE_COLOR = 'text-[#353535]'\r\nexport const FOOTER_RACK_COUNT_COLOR = 'text-[#E21938]'\r\nexport const FOOTER_ROSTER_COLOR = 'text-[#353535]'\r\nexport const FOOTER_ROSTER_BORDER_COLOR = 'border-[#353535]'\r\nexport const FOOTER_SUMMARY_BG_COLOR = 'bg-[#353535]'\r\nexport const FOOTER_SUMMARY_TEXT_COLOR = 'text-white'\r\nexport const CONFIRMDESIGN_DISCARD_BORDER_COLOR = 'border-[#707070]';\r\nexport const CONFIRMDESIGN_TEXT_COLOR_1 = 'text-[#5d5d5d]';\r\nexport const CONFIRMDESIGN_TEXT_COLOR_2 = 'text-[#E11A38]';\r\nexport const CONFIRMDESIGN_TEXT_COLOR_3 = 'text-[#353535]';\r\nexport const CONFIRMDESIGN_TEXT_COLOR_4 = 'text-[#ffffff]';\r\nexport const CONFIRMDESIGN_SAVEBUTTON_BG_COLOR = 'bg-[#E11A38]';\r\nexport const DESIGNSUCCESS_CLOSE_BORDER_COLOR = 'border-[#707070]';\r\nexport const DESIGNSUCCESS_TEXT_COLOR_1 = 'text-[#5d5d5d]';\r\nexport const DESIGNSUCCESS_TEXT_COLOR_2 = 'text-[#E21938]';\r\nexport const DESIGNSUCCESS_TEXT_COLOR_3 = 'text-[#353535]';\r\n\r\nexport const SAVERACK_BORDER_COLOR = 'border-[#707070]'\r\nexport const SAVERACK_TEXT_COLOR = 'text-[#707070]'\r\nexport const SAVEBUTTON_BG_COLOR = 'bg-[#E11A38]'\r\nexport const TOASTER_SUCCESS_BG_COLOR = 'bg-[#D5F2EA]'\r\nexport const TOASTER_FAILURE_BG_COLOR = 'bg-[#FCE8EB]'\r\nexport const TOASTER_INFO_BG_COLOR = 'bg-[#D5E9FA]'\r\nexport const TOASTER_WARNING_BG_COLOR = 'bg-[#FFF8E7]'\r\nexport const RESET_BUTTON_BG_COLOR = 'text-[#9A9A9A]'\r\nexport const PRODUCTINFO_TEXT_COLOR_1 = 'text-[#353535]'\r\nexport const PRODUCTINFO_TEXT_COLOR_2 = 'text-[#c2c2c2]'\r\nexport const PRODUCTINFO_TEXT_COLOR_3 = 'text-[#e11a38]'\r\nexport const PRODUCTINFO_TEXT_COLOR_4 = 'text-[#5d5d5d]'\r\nexport const UPDATESUCCESS_RACK_BORDER_COLOR = 'border-[#E11938]';\r\nexport const UPDATESUCCESS_TEXT_COLOR_1 = 'text-[#E11938]';\r\nexport const RACK_CARD_BORDER_COLOR = 'border-[#e5e5e5]';\r\nexport const RACK_CARD_TEXT_COLOR_1 = 'text-[#E11A38]';\r\nexport const RACK_CARD_TEXT_COLOR_2 = 'text-[#353535]';\r\nexport const RACK_CARD_TEXT_COLOR_3 = 'text-[#9f9f9f]';\r\nexport const RACK_CARD_MENU_TEXT = 'text-[#353535]';\r\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_1 = 'text-[#E11A38]';\r\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_2 = 'text-[#727272]';\r\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_3 = 'text-[#353535]';\r\nexport const EDIT_DESIGN_INFO_TEXT_COLOR_4 = 'text-[#ffffff]';\r\nexport const EDIT_DESIGN_INFO_INPUT_BORDER_COLOR = 'border-[#ECEBED]';\r\nexport const EDIT_DESIGN_INFO_DISABLED_BG_COLOR_1 = 'bg-[#F8F8F8]';\r\nexport const EDIT_DESIGN_INFO_BG_COLOR_2 = 'bg-[#ffffff]';\r\nexport const EDIT_DESIGN_INFO_BG_COLOR_3 = 'bg-[#e11a38]';\r\nexport const EDIT_DESIGN_INFO_BG_COLOR_4 = 'bg-[#fce8eb]';\r\nexport const INPUT_ERROR_BORDER_COLOR = 'border-[#E11A38]';\r\nexport const INPUT_ERROR_TEXT_COLOR = 'text-[#E11A38]';\r\nexport const PRICEBREAKUP_TEXT_COLOR_1 = 'text-[#353535]';\r\nexport const PRICEBREAKUP_TEXT_COLOR_2 = 'text-[#747474]';\r\nexport const PRICEBREAKUP_TEXT_BORDER_COLOR_1 = 'border-[#c2c2c2]';\r\nexport const PRICEBREAKUP_TEXT_BORDER_COLOR_2 = 'border-[#ebebeb]';","import React from 'react';\r\nimport { IconContext, IconType } from 'react-icons';\r\nimport { Button, Tooltip, TooltipReference, useTooltipState } from 'reakit';\r\n\r\nexport interface IconButtonProps\r\n extends Exclude<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\r\n icon?: React.ReactElement<IconType>;\r\n label: string;\r\n}\r\nconst Icon = React.forwardRef<HTMLButtonElement, IconButtonProps>(\r\n ({ label, icon, className, ...props }, ref) => {\r\n const tooltip = useTooltipState({ placement: 'top' });\r\n return (\r\n <>\r\n <TooltipReference\r\n ref={ref}\r\n {...props}\r\n {...tooltip}\r\n as={Button}\r\n className={`${className} flex relative items-center justify-center align-middle w-auto text-sm font-semibold h-5 first:rounded-l last:rounded-r focus:outline-none`}\r\n aria-label={label}\r\n >\r\n {icon}\r\n </TooltipReference>\r\n {label && label !== '' && (\r\n <Tooltip\r\n {...tooltip}\r\n className={`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`}\r\n style={{ zIndex: 10 }}\r\n >\r\n {label}\r\n </Tooltip>\r\n )}\r\n </>\r\n );\r\n }\r\n);\r\n\r\nexport const IconButton = ({\r\n label,\r\n\r\n className,\r\n size = '2rem',\r\n icon = undefined,\r\n ...props\r\n}) => {\r\n return (\r\n <IconContext.Provider\r\n value={{\r\n size: size,\r\n className: 'pointer-events-auto cursor-pointer',\r\n }}\r\n >\r\n <Icon label={label} icon={icon} className={className} {...props} />\r\n </IconContext.Provider>\r\n );\r\n};\r\n\r\n\r\nexport {\r\n IoIosColorPalette,\r\n IoMdCheckmarkCircle,\r\n IoIosArrowForward,\r\n} from 'react-icons/io';\r\nexport { HiOutlineDownload, HiDotsVertical } from 'react-icons/hi';\r\nexport {\r\n FaRegSave,\r\n FaRegShareSquare,\r\n FaPlus,\r\n FaRegListAlt,\r\n FaEye,\r\n FaEyeSlash,\r\n} from 'react-icons/fa';\r\nexport { BiReset, BiAddToQueue } from 'react-icons/bi';\r\nexport { GiBilledCap, GiCardboardBox } from 'react-icons/gi';\r\nexport { TbWindowMinimize } from 'react-icons/tb';\r\nexport { RxCross2 } from 'react-icons/rx';\r\nexport { IoInformationCircleOutline, IoLogInOutline } from 'react-icons/io5';\r\nexport { CgMenuBoxed } from 'react-icons/cg';\r\nexport { IoIosInformationCircleOutline } from 'react-icons/io';\r\nexport { LuFlipHorizontal2, LuFlipVertical2 } from 'react-icons/lu';\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const RLogo = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '36.672',\r\n height: '34.349',\r\n viewBox: '0 0 36.672 34.349',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { id: 'a' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n fill: 'none',\r\n fillRule: 'evenodd',\r\n transform:\"translate(-0.001)\",\r\n d: 'M1.99,0H29.149a1.993,1.993,0,0,1,1.99,1.99V29.011a1.986,1.986,0,0,1-.584,1.4v0A1.985,1.985,0,0,1,29.149,31H1.99A1.993,1.993,0,0,1,0,29.011V1.99A1.983,1.983,0,0,1,.585.587v0A1.985,1.985,0,0,1,1.99,0',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n fill: 'none',\r\n stroke: '#fff',\r\n fillRule: 'evenodd',\r\n transform:\"translate(-1.117 -1.116)\",\r\n strokeWidth: '2px',\r\n d: 'M2.526,2.442l-.043.043a.875.875,0,0,0-.26.62V30.127a.887.887,0,0,0,.882.882h27.16a.877.877,0,0,0,.58-.219l.043-.043a.876.876,0,0,0,.26-.621V3.105a.887.887,0,0,0-.882-.882H3.105a.876.876,0,0,0-.579.219',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n fill: '#fff',\r\n fillRule: 'evenodd',\r\n transform:\"translate(-3.386 -6.517)\",\r\n d: 'M17.761,19.938a.317.317,0,0,1-.064.191c-.009.011-.018.023-.028.035a28.71,28.71,0,0,0-5.566,10.1.408.408,0,0,1-.425.267c-.479,0-3.211-.01-4.535-.01-.325,0-.353-.273-.242-.526a52.346,52.346,0,0,1,7.018-9.774,2.034,2.034,0,0,1,1.665-.577c.288-.018,1.3-.034,1.86-.019a.317.317,0,0,1,.317.317m11.5,7.6h0a26.686,26.686,0,0,1,1.788,2.517c.172.193.163.475-.13.475H25.887a.593.593,0,0,1-.5-.279c-.041-.059-.084-.118-.128-.178-2.739-4.256-4.547-5.186-8.643-6.328a.289.289,0,0,1-.153-.4,16.3,16.3,0,0,1,.994-1.485.424.424,0,0,1,.243-.113,10.774,10.774,0,0,0,2.58-.144c2.338-.627,2.872-2,2.789-2.969-.021-1.525-1.992-2.28-5.547-2.214-2.524,0-3.5-.036-6.741-.033-1.269.025-2.793-.712-3.965-2.816-.193-.339.02-.591.242-.585,2.812.029,9.023-.022,13.067.079,6.085.309,7.622,2.866,7.7,5.1.041,3.026-2.349,4.423-3.37,5.1a18.519,18.519,0,0,1,4.805,4.272',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const MyLogo = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '26.381',\r\n height: '23.778',\r\n viewBox: '0 0 26.381 23.778',\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { id: 'a' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n strokeWidth:\"1\",\r\n d: 'M19.698 7.853c.571-.475 1.11-.938 1.664-1.382a22.426 22.426 0 0 1 3.1-2.231 2.543 2.543 0 0 1 .612-.246.621.621 0 0 1 .769.8 4.073 4.073 0 0 1-.4.893 27.867 27.867 0 0 1-2.478 3.343c-.795.962-1.61 1.906-2.411 2.863a.509.509 0 0 0-.111.285 11.208 11.208 0 0 1-4.658 8.872 11.121 11.121 0 0 1-5.4 2.144 10.707 10.707 0 0 1-6.8-1.464 6.79 6.79 0 0 1-2.179-1.877 4.01 4.01 0 0 1-.491-4.3 3.571 3.571 0 0 1 1.06-1.273c.414-.331.841-.646 1.244-.989a1.774 1.774 0 0 0 .645-1.65 1.75 1.75 0 0 0-.635-1.151c-.374-.316-.76-.618-1.149-.914A3.763 3.763 0 0 1 .518 6.224a4.115 4.115 0 0 1 .855-2.262 7.56 7.56 0 0 1 2.733-2.204A11.038 11.038 0 0 1 8.162.542a10.878 10.878 0 0 1 4.744.658 11.321 11.321 0 0 1 4.686 3.2 11.249 11.249 0 0 1 2 3.214c.03.074.064.146.108.245m-.282 5.322c-.092.1-.143.148-.192.2-.958 1.023-1.91 2.052-2.879 3.066a1.725 1.725 0 0 0-.558.945 1.758 1.758 0 0 1-.121.361 4.187 4.187 0 0 1-2.709 2.693 7.042 7.042 0 0 1-4.627-.317.433.433 0 0 1-.291-.515.464.464 0 0 1 .452-.388 1.061 1.061 0 0 0 .994-.853c.161-.6.286-1.213.448-1.814a3.442 3.442 0 0 1 .8-1.513 3.653 3.653 0 0 1 2.092-1.027.823.823 0 0 0 .4-.195c.952-.9 1.884-1.816 2.841-2.707.9-.841 1.83-1.656 2.746-2.483.069-.062.134-.105.087-.231a10.636 10.636 0 0 0-2.107-3.49 10.45 10.45 0 0 0-3.874-2.7 10.109 10.109 0 0 0-4.27-.765 10 10 0 0 0-4.044 1.106 6.858 6.858 0 0 0-2.52 2.016 3.015 3.015 0 0 0 .526 4.236c.338.253.671.514 1 .778a2.9 2.9 0 0 1 1.061 1.408 2.668 2.668 0 0 1-.767 2.935c-.429.393-.9.737-1.362 1.1A2.9 2.9 0 0 0 1.66 18.4a4.238 4.238 0 0 0 1.474 1.875 9.636 9.636 0 0 0 6.836 2.016 10.206 10.206 0 0 0 4.484-1.48 10.431 10.431 0 0 0 4.233-4.893 9.948 9.948 0 0 0 .729-2.745m5.19-7.862-.074-.074a99.034 99.034 0 0 0-10.583 9.169l1.591 1.545a98.291 98.291 0 0 0 9.066-10.64M9.871 19.6a6.541 6.541 0 0 0 2 .118 3.378 3.378 0 0 0 1.869-.76 3.885 3.885 0 0 0 1.183-1.969.286.286 0 0 0-.077-.334c-.441-.431-.87-.874-1.306-1.311-.475-.477-.477-.478-1.117-.271a2.024 2.024 0 0 0-1.338 1.1 12.7 12.7 0 0 0-.425 1.313c-.163.536-.305 1.079-.483 1.611a2.526 2.526 0 0 1-.311.5',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M15.289 10.865a2.043 2.043 0 0 1-1.97-2.233 2.052 2.052 0 1 1 1.97 2.233m1.18-2.029a1.112 1.112 0 0 0-2.224-.01 1.124 1.124 0 0 0 1.123 1.1 1.093 1.093 0 0 0 1.1-1.094',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M5.279 9.17a2.037 2.037 0 1 1 2.036-2.152A2.031 2.031 0 0 1 5.279 9.17m-.011-.939a1.1 1.1 0 1 0-1.109-1.11 1.1 1.1 0 0 0 1.109 1.11',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M8.679 5.605a2.048 2.048 0 1 1 2.064 2.006 2.024 2.024 0 0 1-2.064-2.006m.934-.03a1.115 1.115 0 1 0 1.1-1.1 1.117 1.117 0 0 0-1.1 1.1',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n fill: '#5d5d5d',\r\n\r\n fillRule: 'evenodd',\r\n\r\n transform: 'translate(-78.659 -351.017)',\r\n d: 'M7.895 17.255a2.045 2.045 0 1 1-2.079-2.031 2.032 2.032 0 0 1 2.079 2.031m-.934.021a1.111 1.111 0 1 0-1.131 1.091 1.108 1.108 0 0 0 1.131-1.091',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const AddMascots = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '17.794',\r\n height: '17.8',\r\n viewBox: '0 0 17.794 17.8',\r\n },\r\n child: [\r\n {\r\n tag: 'defs',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'clipPath',\r\n attr: { id: 'a' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: { d: 'M0 0h17.794v17.8H0z' },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'g',\r\n attr: { 'clip-path': 'url(#a)' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: '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',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'm5.938 8.903 1.483 2.433 2.965-6.388 4.443 8.889H2.975l2.963-4.934',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\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',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const AddText = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '21',\r\n height: '21',\r\n viewBox: '0 0 21 21',\r\n },\r\n\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M16 19H2V5h9V3H2a2.006 2.006 0 0 0-2 2v14a2.006 2.006 0 0 0 2 2h14a2.006 2.006 0 0 0 2-2v-9h-2Zm2-16V0h-2v3h-3c.01.01 0 2 0 2h3v2.99c.01.01 2 0 2 0V5h3V3Z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M8.438 15.791v-5.365h-.889v.859h-1.8c0-.643-.027-1.281.009-1.914a.841.841 0 0 1 .858-.762q2.725-.01 5.45 0a.841.841 0 0 1 .857.764c.036.634.009 1.271.009 1.919h-1.784v-.862h-.9v5.361Z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const ProductColor = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '22.89',\r\n height: '24',\r\n viewBox: '0 0 22.89 24',\r\n },\r\n child: [\r\n {\r\n tag: 'defs',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'clipPath',\r\n attr: { id: 'a' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: { d: 'M0 0h22.89v24H0z' },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'g',\r\n attr: { 'clip-path': 'url(#a)' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: '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',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\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',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\nexport const FlipH = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n width: '25.969',\r\n height: '22.478',\r\n viewBox: '0 0 25.969 22.478',\r\n ...props,\r\n },\r\n child: [\r\n {\r\n tag: 'defs',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'clipPath',\r\n attr: { id: 'a' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 336',\r\n fill: '#353535',\r\n d: 'M0 0h25.969v22.478H0z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'g',\r\n attr: {\r\n 'data-name': 'Group 577',\r\n 'clip-path': 'url(#a)',\r\n fill: '#353535',\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Path 4546',\r\n d: 'm25.969 3.647-10.359 8.46 10.359 8.632Z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Path 4547',\r\n d: 'M0 3.469v17.276l10.366-8.466L0 3.469m1.719 3.593 5.914 5.218-5.914 4.87Z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 329',\r\n d: 'M12.151 0h1.683v1.674h-1.683z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 330',\r\n d: 'M12.154 3.462h1.677v1.686h-1.677z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 331',\r\n d: 'M12.152 6.937h1.68v1.671h-1.68z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 332',\r\n d: 'M12.144 10.406h1.679v1.669h-1.679z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 333',\r\n d: 'M12.149 13.869h1.686v1.678h-1.686z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 334',\r\n d: 'M12.143 17.334h1.686v1.683h-1.686z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 335',\r\n d: 'M12.154 20.8h1.668v1.678h-1.668z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n// https://www.svgviewer.dev/ use this website to compress and load the paths\r\n// source: https://raw.githubusercontent.com/alisamar/react-icons-all-files/master/ai/AiFillAccountBook.esm.js\r\nexport const FlipV = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '22.48',\r\n height: '29.57.',\r\n viewBox: '9 9 22.48 25.97',\r\n },\r\n child: [\r\n {\r\n tag: 'defs',\r\n attr:{},\r\n child: [\r\n {\r\n tag: 'clipPath',\r\n attr: { id: 'a' },\r\n\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 336',\r\n fill: '#353535',\r\n d: 'M0 0h25.969v22.478H0z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'g',\r\n attr: { 'data-name': 'Group 773' },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n 'data-name': 'Rectangle 337',\r\n fill: '#fff',\r\n stroke: '#ebebeb',\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: { d: 'M0 0h45v45H0z', stroke: 'none' },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: { fill: 'none', d: 'M.5.5h44v44H.5z' },\r\n child: [],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'g',\r\n attr: { 'data-name': 'Group 631' },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n 'data-name': 'Group 577',\r\n 'clip-path': 'url(#a)',\r\n fill: '#353535',\r\n transform: 'rotate(90 12.239 21.239)',\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Path 4546',\r\n d: 'm0 3.647 10.359 8.46L0 20.74',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Path 4547',\r\n d: 'M25.969 3.469v17.276L15.603 12.28l10.366-8.811M24.25 7.062l-5.914 5.218 5.914 4.87',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 329',\r\n d: 'M12.135 0h1.683v1.674h-1.683z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 330',\r\n d: 'M12.138 3.462h1.677v1.686h-1.677z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 331',\r\n d: 'M12.136 6.937h1.68v1.671h-1.68z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 332',\r\n d: 'M12.146 10.406h1.679v1.669h-1.679z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 333',\r\n d: 'M12.134 13.869h1.686v1.678h-1.686z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 334',\r\n d: 'M12.14 17.334h1.686v1.683H12.14z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 335',\r\n d: 'M12.147 20.8h1.668v1.678h-1.668z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\nexport const SelectAll = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '18.641',\r\n height: '18.063',\r\n viewBox: '0 0 18.641 18.063',\r\n className: 'group',\r\n ...props,\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { 'data-name': 'Group 1075' },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n fill: 'none',\r\n stroke: '#5d5d5d',\r\n strokeWidth: '1',\r\n },\r\n child: [\r\n {\r\n tag: 'rect',\r\n attr: { width: '16', height: '16', rx: '4', stroke: 'none' },\r\n child: [],\r\n },\r\n {\r\n tag: 'rect',\r\n attr: {\r\n x: '.75',\r\n y: '.75',\r\n width: '14.5',\r\n height: '14.5',\r\n rx: '3.25',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'm7.049 8.602.146-.137 3.2-3.2a.766.766 0 0 1 .5-.267.652.652 0 0 1 .539 1.082c-.03.035-.064.066-.1.1l-3.836 3.829a.664.664 0 0 1-1.1-.068c-.415-.549-.826-1.1-1.24-1.649a.657.657 0 0 1-.083-.755.65.65 0 0 1 1.085-.093c.253.311.486.638.728.959l.151.2',\r\n className: 'group-hover:fill-[#E11A38]',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M5.892 18.063c-.1-.023-.2-.043-.3-.07a1.976 1.976 0 0 1-1.385-1.249h10.599a2.39 2.39 0 0 0 2.327-1.536 2.873 2.873 0 0 0 .177-.988c.013-2.859.008-5.717.008-8.576V3.671a1.652 1.652 0 0 1 .708.43 1.927 1.927 0 0 1 .58 1.124.871.871 0 0 0 .033.114v9.182a1.686 1.686 0 0 0-.031.167 3.713 3.713 0 0 1-2.515 3.16 10.1 10.1 0 0 1-1 .214Z',\r\n className: 'group-hover:fill-[#E11A38]',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const Copy = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '18',\r\n height: '18',\r\n viewBox: '0 0 18 18',\r\n ...props,\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n 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',\r\n },\r\n child: [],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const Paste = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '23.063',\r\n height: '23.063',\r\n viewBox: '0 0 23.063 23.063',\r\n ...props,\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { 'data-name': 'Group 1076' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\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',\r\n transform: 'translate(-1179.709 -514.264)',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Line 590',\r\n fill: 'none',\r\n 'stroke-linecap': 'round',\r\n 'stroke-width': '1.5',\r\n d: 'M1189.779 526.5h6',\r\n transform: 'translate(-1179.709 -514.264)',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Line 591',\r\n fill: 'none',\r\n 'stroke-linecap': 'round',\r\n 'stroke-width': '1.5',\r\n d: 'M1189.779 530.5h8',\r\n transform: 'translate(-1179.709 -514.264)',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const SendToBack = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '26.551',\r\n height: '23.495',\r\n viewBox: '0 0 26.551 23.495',\r\n ...props,\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M17861.625-13909.535h14.069v14.069h-14.069Z',\r\n transform: 'translate(-17856.939 13913.36)',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 387',\r\n fill: 'none',\r\n 'stroke-miterlimit': '10',\r\n 'stroke-width': '2',\r\n d: 'M17857.939-13912.36h10.72v7.664h-10.72z',\r\n transform: 'translate(-17856.939 13913.36)',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 388',\r\n fill: 'none',\r\n 'stroke-miterlimit': '10',\r\n 'stroke-width': '2',\r\n d: 'M17871.771-13898.529h10.72v7.664h-10.72z',\r\n transform: 'translate(-17856.939 13913.36)',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const SendToFront = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '26.551',\r\n height: '23.495',\r\n viewBox: '0 0 26.551 23.495',\r\n ...props,\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {\r\n fill: 'none',\r\n 'stroke-miterlimit': '10',\r\n 'stroke-width': '2',\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M1.001.999h10.72v7.664H1.001z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M14.833 14.831h10.72v7.664h-10.72z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M4.686 4.496h14.069v14.069H4.686z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\nexport const SendAObject = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '23.098',\r\n height: '22.48',\r\n viewBox: '0 0 23.098 22.48',\r\n ...props,\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { 'data-name': 'Group 642' },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: { 'data-name': 'Group 643' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 383',\r\n fill: 'none',\r\n 'stroke-miterlimit': '10',\r\n 'stroke-width': '2',\r\n d: 'M1 1h16v16H1z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n 'data-name': 'Rectangle 385',\r\n d: 'M7.097 6.481h16v16h-16z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\nexport const SendUnderObject = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '23.098',\r\n height: '22.48',\r\n viewBox: '0 0 23.098 22.48',\r\n ...props,\r\n },\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M7.097 6.481h16v16h-16',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'g',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n fill: 'none',\r\n 'stroke-miterlimit': '10',\r\n 'stroke-width': '2',\r\n d: 'M1 1h16v16H1z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\n\r\nexport const EyeDropper = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '21.595',\r\n height: '21.61',\r\n viewBox: '0 0 21.595 21.61',\r\n },\r\n child: [\r\n {\r\n tag: 'defs',\r\n attr: {},\r\n child: [\r\n {\r\n tag: 'clipPath',\r\n attr: { id: 'a' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: { d: 'M0 0h21.595v21.61H0z' },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n tag: 'g',\r\n attr: { 'clip-path': 'url(#a)' },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M1.228 21.609a2.184 2.184 0 0 1-1.019-.812.946.946 0 0 1-.009-1.18q.455-.7.922-1.386a3.7 3.7 0 0 0 .667-1.553 5.591 5.591 0 0 0 .054-.608 2.553 2.553 0 0 1 .814-1.771q3.351-3.342 6.7-6.692a2.115 2.115 0 0 1 .222-.168c-.232-.224-.428-.405-.615-.6a.509.509 0 0 1-.008-.81q.925-.938 1.862-1.865a.507.507 0 0 1 .812 0q2.91 2.9 5.813 5.814a.509.509 0 0 1 0 .812q-.926.937-1.864 1.863a.508.508 0 0 1-.81 0c-.2-.192-.381-.393-.58-.6-.06.05-.1.082-.141.119-2.268 2.244-4.543 4.48-6.8 6.737a2.813 2.813 0 0 1-2.027.876 2.969 2.969 0 0 0-1.611.549c-.5.331-.99.667-1.492.99a5.8 5.8 0 0 1-.556.281Zm2.234-3.431a5.564 5.564 0 0 1 1.852-.385.8.8 0 0 0 .473-.228q3.425-3.372 6.836-6.758a.764.764 0 0 1 .128-.091l-1.869-1.881a1.682 1.682 0 0 1-.132.166q-3.233 3.237-6.473 6.466a1.283 1.283 0 0 0-.483 1.1.6.6 0 0 1-.021.188c-.1.47-.206.94-.312 1.422',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n d: 'M21.595 4.022c-.052.217-.1.436-.157.649a3.645 3.645 0 0 1-.967 1.581q-1.1 1.094-2.191 2.19a.537.537 0 0 1-.9 0l-4.217-4.218a.531.531 0 0 1 0-.885c.806-.8 1.585-1.636 2.429-2.4a3.378 3.378 0 0 1 3.571-.712 3.5 3.5 0 0 1 2.388 2.854c.011.061.029.121.044.181Z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import { GenIcon } from 'react-icons/lib';\r\nexport const Delete = (props) => {\r\n return GenIcon({\r\n tag: 'svg',\r\n attr: {\r\n id: 'ICONS',\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n width: '18',\r\n height: '18',\r\n viewBox: '0 0 18 18',\r\n ...props,\r\n },\r\n child: [\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_3953',\r\n 'data-name': 'Path 3953',\r\n d: 'M7,8A1,1,0,0,0,6,9v4a1,1,0,0,0,2,0V9A1,1,0,0,0,7,8Z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_3954',\r\n 'data-name': 'Path 3954',\r\n d: 'M11,8a1,1,0,0,0-1,1v4a1,1,0,0,0,2,0V9a1,1,0,0,0-1-1Z',\r\n },\r\n child: [],\r\n },\r\n {\r\n tag: 'path',\r\n attr: {\r\n id: 'Path_3955',\r\n 'data-name': 'Path 3955',\r\n d: 'M17,4H13A4,4,0,1,0,5,4H1A1,1,0,0,0,1,6H2v9a3,3,0,0,0,3,3h8a3,3,0,0,0,3-3V6h1a1,1,0,0,0,0-2ZM9,2a2,2,0,0,1,2,2H7A2,2,0,0,1,9,2Zm5,13a1,1,0,0,1-1,1H5a1,1,0,0,1-1-1V6H14Z',\r\n },\r\n child: [],\r\n },\r\n ],\r\n })(props);\r\n};\r\n","import React from 'react';\r\nimport { use3dddPlus } from '../../store';\r\nimport { CANVAS_MENU_TEXT } from '../../theme';\r\nimport { Copy, Delete, IconButton, SelectAll } from '../icon';\r\nimport { MdLayers } from 'react-icons/md';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { fabric } from 'fabric';\r\nimport { CgRedo, CgUndo } from 'react-icons/cg';\r\nconst ActionButtons = () => {\r\n const [canvas, activeSelection] = use3dddPlus(\r\n (state) => [state.fabricCanvas, state.activeSelection],\r\n shallow\r\n );\r\n const selectAllHandler = () => {\r\n canvas.discardActiveObject();\r\n const sel = new fabric.ActiveSelection(canvas.getObjects(), {\r\n canvas: canvas,\r\n });\r\n canvas.setActiveObject(sel);\r\n canvas.requestRenderAll();\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.setState({ selectedAll: true });\r\n use3dddPlus.setState({ currentSelection: 'selectAll' });\r\n const fillColors = {};\r\n use3dddPlus.setState({ colorFill: fillColors });\r\n };\r\n const deleteHandler = () => {\r\n canvas.remove(activeSelection);\r\n use3dddPlus.getState().updateModifaction(true);\r\n canvas.requestRenderAll();\r\n use3dddPlus.setState({ selectedAll: false });\r\n removeItem(activeSelection);\r\n };\r\n const removeItem = (value: any) => {\r\n //@ts-ignore\r\n var index = use3dddPlus.getState().storeAllObject.indexOf(value);\r\n if (index > -1) {\r\n use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n }\r\n use3dddPlus.setState({\r\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\r\n });\r\n };\r\n const canvasActions = [\r\n {\r\n icon: <SelectAll />,\r\n onClick: selectAllHandler,\r\n id: 'select-action',\r\n label: 'Select all',\r\n disabled: false,\r\n visible: true,\r\n },\r\n {\r\n icon: <Copy />,\r\n onClick: () => {\r\n use3dddPlus.getState().duplicateObject();\r\n },\r\n id: 'duplicate-action',\r\n label: 'Duplicate',\r\n disabled: false,\r\n visible: true,\r\n },\r\n {\r\n icon: <MdLayers />,\r\n onClick: () => {\r\n use3dddPlus.setState({ currentSelection: 'layer' });\r\n },\r\n id: 'layes-action',\r\n label: 'Layers',\r\n disabled: false,\r\n visible: true,\r\n },\r\n {\r\n icon: <Delete />,\r\n onClick: deleteHandler,\r\n id: 'delete-action',\r\n label: 'Delete',\r\n disabled: false,\r\n visible: true,\r\n },\r\n {\r\n icon: <CgUndo />,\r\n onClick: () => {\r\n use3dddPlus.getState().undo();\r\n },\r\n id: 'undo-action',\r\n label: 'Undo',\r\n disabled: false,\r\n visible: true,\r\n },\r\n {\r\n icon: <CgRedo />,\r\n onClick: () => {\r\n use3dddPlus.getState().redo();\r\n },\r\n id: 'redo-action',\r\n label: 'Redo',\r\n disabled: false,\r\n visible: true,\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n <div className=\"w-100 flex absolute top-0 right-0 px-3 items-center z-10\">\r\n <div className={`flex py-[16px]`}>\r\n {canvasActions.map(\r\n (item) =>\r\n item?.visible && (\r\n <div\r\n key={item.id}\r\n className={`${\r\n item.disabled\r\n ? 'disableButton'\r\n : `${CANVAS_MENU_TEXT} cursor-pointer hover:text-[#e11a38] hover:underline hover:underline-offset-4 hover:decoration-2`\r\n } flex gap-[5px] items-center pt-[2.5px] font-bold uppercase mr-[10px] lg:mr-[30px] md-[20px] `}\r\n onClick={item.onClick}\r\n >\r\n <span>\r\n <IconButton\r\n label=\"\"\r\n icon={item.icon}\r\n className={`${\r\n item.disabled\r\n ? 'iconDisable'\r\n : 'pointer-events-auto cursor-pointer'\r\n } m-auto`}\r\n size=\"1.125rem\"\r\n ></IconButton>\r\n </span>\r\n </div>\r\n )\r\n )}\r\n </div>\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nexport default ActionButtons;\r\n","import { fabric } from 'fabric';\r\n//@ts-ignore\r\n// import deleteIcon from '../../assets/images/delete.png';\r\n// //@ts-ignore\r\n// import rotateIcon from '../../assets/images/rotate.png';\r\n// //@ts-ignore\r\n// import settingIcon from '../../assets/images/settings.png';\r\nimport { use3dddPlus } from '..';\r\n\r\nexport const initCanvas = () => {\r\n const onObjectSelected = (e) => {\r\n if (e?.selected?.[0]?.colorFill) {\r\n use3dddPlus.setState({ colorFill: e.selected[0].colorFill });\r\n }\r\n use3dddPlus.setState({\r\n currentSelection: canv.getActiveObject().get('type'),\r\n });\r\n use3dddPlus.setState({ activeSelection: canv.getActiveObject() });\r\n getAllColors();\r\n };\r\n const onObjectDeselected = () => {\r\n use3dddPlus.setState({ currentSelection: 'none' });\r\n use3dddPlus.setState({ showContextMenu: false });\r\n getAllColors();\r\n };\r\n const onObjectUpdated = (e) => {\r\n // use3dddPlus.setState({colorFill : \"\"})\r\n if (e?.selected?.[0]?.colorFill) {\r\n use3dddPlus.setState({ colorFill: e.selected[0].colorFill });\r\n }\r\n use3dddPlus.setState({\r\n currentSelection: canv.getActiveObject().get('type'),\r\n });\r\n use3dddPlus.setState({ activeSelection: e.selected[0] });\r\n use3dddPlus.setState({ textInfo: e.selected[0].text });\r\n use3dddPlus.setState({ showContextMenu: false });\r\n getAllColors();\r\n };\r\n const onObjectMoving = (e : any) => {\r\n use3dddPlus.getState().updateModifaction(false); \r\n const obj = e.target;\r\n if(obj.getBoundingRect().width > obj.canvas.height || obj.getBoundingRect().height > obj.canvas.width){\r\n return;\r\n } \r\n obj.setCoords(); \r\n if(obj.getBoundingRect().top < 0 || obj.getBoundingRect().left < 0){\r\n obj.top = Math.max(obj.top, obj.top-obj.getBoundingRect().top);\r\n obj.left = Math.max(obj.left, obj.left-obj.getBoundingRect().left);\r\n }\r\n if(obj.getBoundingRect().top+obj.getBoundingRect().height > obj.canvas.height || obj.getBoundingRect().left+obj.getBoundingRect().width > obj.canvas.width){\r\n obj.top = Math.min(obj.top, obj.canvas.height-obj.getBoundingRect().height+obj.top-obj.getBoundingRect().top);\r\n obj.left = Math.min(obj.left, obj.canvas.width-obj.getBoundingRect().width+obj.left-obj.getBoundingRect().left);\r\n }\r\n }\r\n \r\n const canv = new fabric.Canvas('canvas', {\r\n centeredScaling: true,\r\n preserveObjectStacking: true,\r\n backgroundColor: '#ffff00',\r\n stopContextMenu: false,\r\n });\r\n // console.log('HISTORY-->',historyInit());\r\n let deleteImg = document.createElement('img');\r\n deleteImg.src =\r\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/delete.png';\r\n let rotateImg = document.createElement('img');\r\n rotateImg.src =\r\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/rotate.png';\r\n let settingImg = document.createElement('img');\r\n settingImg.src =\r\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/settings.png';\r\n fabric.Object.prototype.objectCaching = true;\r\n fabric.Object.prototype.transparentCorners = false;\r\n fabric.Object.prototype.cornerColor = '#14caf7';\r\n fabric.Object.prototype.cornerStrokeColor = '#045791';\r\n fabric.Object.prototype.borderColor = '#14caf7';\r\n fabric.Object.prototype.cornerSize = 16;\r\n // fabric.Object.prototype.padding = 10;\r\n fabric.Object.prototype.cornerStyle = 'circle';\r\n fabric.Object.prototype.borderDashArray = [5, 5];\r\n\r\n function renderIcon(icon) {\r\n return function renderIcon(ctx, left, top, fabricObject) {\r\n var size = this.cornerSize;\r\n ctx.save();\r\n ctx.translate(left, top);\r\n ctx.rotate(fabric.util.degreesToRadians(fabricObject.angle));\r\n ctx.drawImage(icon, -size / 2, -size / 2, size, size);\r\n ctx.restore();\r\n };\r\n }\r\n\r\n fabric.Object.prototype.controls.deleteControl = new fabric.Control({\r\n x: 0.53,\r\n y: -0.53,\r\n offsetY: -16,\r\n offsetX: 16,\r\n cursorStyle: 'pointer',\r\n //@ts-ignore\r\n mouseUpHandler: deleteObject,\r\n render: renderIcon(deleteImg),\r\n cornerSize: 28,\r\n });\r\n fabric.Object.prototype.controls.settingControl = new fabric.Control({\r\n x: -0.53,\r\n y: -0.53,\r\n offsetY: -16,\r\n offsetX: -16,\r\n cursorStyle: 'pointer',\r\n //@ts-ignore\r\n mouseUpHandler: function (e) {\r\n use3dddPlus.setState({\r\n showContextMenu: true,\r\n });\r\n\r\n const rect = canv.getElement().getBoundingClientRect();\r\n const x = e.clientX - rect.left;\r\n const y = e.clientY - rect.top;\r\n // You can add your context menu rendering logic here\r\n // Example: Render a simple alert with the coordinates\r\n use3dddPlus.setState({ contextMenuCoordinates: { x: x, y: y } });\r\n // alert(`Context menu clicked at (${x}, ${y})`);\r\n },\r\n render: renderIcon(settingImg),\r\n cornerSize: 28,\r\n });\r\n //@ts-ignore\r\n function deleteObject(eventData, transform) {\r\n const canvasTarget = transform.target;\r\n const canvas = canvasTarget.canvas;\r\n if (use3dddPlus.getState().selectedAll) {\r\n const target = transform.target._objects;\r\n target.forEach((element) => {\r\n canvas.remove(element);\r\n canvas.requestRenderAll();\r\n removeItem(element);\r\n });\r\n use3dddPlus.setState({ selectedAll: false });\r\n canvas.discardActiveObject().renderAll();\r\n } else {\r\n canvas.remove(canvasTarget);\r\n canvas.requestRenderAll();\r\n removeItem(canvasTarget);\r\n }\r\n }\r\n const removeItem = (value: any) => {\r\n //@ts-ignore\r\n var index = use3dddPlus.getState().storeAllObject.indexOf(value);\r\n if (index > -1) {\r\n use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n }\r\n use3dddPlus.setState({\r\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\r\n });\r\n };\r\n\r\n fabric.Object.prototype.controls.mtr = new fabric.Control({\r\n x: 0,\r\n y: -0.5,\r\n offsetY: -40,\r\n cursorStyle: 'crosshair',\r\n //@ts-ignore\r\n actionHandler: fabric?.controlsUtils.rotationWithSnapping,\r\n actionName: 'rotate',\r\n // mouseover:function hover(eventData,transform){\r\n // let target = transform.target;\r\n // console.log('TARGET-->',target);\r\n // },\r\n render: function renderIcon(ctx, left, top, fabricObject) {\r\n var size = this.cornerSize;\r\n ctx.save();\r\n ctx.translate(left, top);\r\n ctx.rotate(fabric.util.degreesToRadians(fabricObject.angle));\r\n ctx.drawImage(rotateImg, -size / 2, -size / 2, size, size);\r\n ctx.restore();\r\n },\r\n //@ts-ignore\r\n cornerSize: 28,\r\n withConnection: true,\r\n });\r\n const getAllColors = () => {\r\n if (!canv?.getObjects()) {\r\n return;\r\n }\r\n const allColor = [\r\n //@ts-ignore\r\n ...new Set(\r\n canv\r\n ?.getObjects()\r\n ?.map((item) => Object.values(item['colorFill']))\r\n .flat()\r\n ),\r\n ]; // FOR REMOVING ALL DUPLICATE COLOR CODES\r\n // const allColor =[];\r\n use3dddPlus.setState({ allColor: allColor });\r\n };\r\n canv.on('after:render', getAllColors);\r\n canv.on('selection:created', onObjectSelected);\r\n canv.on('selection:cleared', onObjectDeselected);\r\n canv.on('selection:updated', onObjectUpdated);\r\n canv.on('object:moving', onObjectMoving);\r\n canv.on('object:modified',function(){\r\n use3dddPlus.getState().updateModifaction(true);\r\n })\r\n return canv;\r\n};\r\n","import React from 'react';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport {\r\n Copy,\r\n IconButton,\r\n Paste,\r\n SendAObject,\r\n SendToBack,\r\n SendToFront,\r\n SendUnderObject,\r\n} from '../icon';\r\n\r\n\r\nexport const ContextMenu = () => {\r\n const [activeObj, canvas] = use3dddPlus(\r\n (state) => [state.activeSelection, state.fabricCanvas],\r\n shallow\r\n );\r\n\r\n // const flipX = () => {\r\n // activeObj.set({\r\n // flipX: !activeObj.flipX,\r\n // });\r\n // use3dddPlus.getState().updateModifaction(true);\r\n // canvas.renderAll();\r\n // use3dddPlus.setState({\r\n // showContextMenu: false,\r\n // });\r\n // };\r\n // const flipY = () => {\r\n // activeObj.set({\r\n // flipY: !activeObj.flipY,\r\n // });\r\n // use3dddPlus.getState().updateModifaction(true);\r\n // // activeObj.\r\n // canvas.renderAll();\r\n // use3dddPlus.setState({\r\n // showContextMenu: false,\r\n // });\r\n // };\r\n const sendBackwards = () => {\r\n canvas.sendBackwards(activeObj);\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n };\r\n const bringForward = () => {\r\n canvas.bringForward(activeObj);\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n };\r\n const sendToBack = () => {\r\n console.log('hiii');\r\n canvas.sendToBack(activeObj);\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n };\r\n const bringToFront = () => {\r\n canvas.bringToFront(activeObj);\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n };\r\n // const snapToCenter = () => {\r\n // activeObj.set({\r\n // left: canvas.width / 2,\r\n // originX: 'center',\r\n // });\r\n // use3dddPlus.getState().updateModifaction(true);\r\n // canvas.renderAll();\r\n // use3dddPlus.setState({\r\n // showContextMenu: false,\r\n // });\r\n // };\r\n const copy = () => {\r\n use3dddPlus.getState().duplicateObject();\r\n use3dddPlus.setState({\r\n showContextMenu: false,\r\n });\r\n };\r\n const menu = [\r\n {\r\n id: 1,\r\n name: 'Copy',\r\n onclick: copy,\r\n icon: <Copy />,\r\n },\r\n {\r\n id: 2,\r\n name: 'Paste',\r\n onclick: copy,\r\n icon: <Paste />,\r\n },\r\n {\r\n id: 3,\r\n name: 'Bring to front',\r\n onclick: bringForward,\r\n icon: <SendToFront />,\r\n },\r\n {\r\n id: 4,\r\n name: 'Send to back',\r\n onclick: sendBackwards,\r\n icon: <SendToBack />,\r\n },\r\n {\r\n id: 5,\r\n name: 'Bring above objects',\r\n onclick: bringToFront,\r\n icon: <SendAObject />,\r\n },\r\n {\r\n id: 6,\r\n name: 'Send under objects',\r\n onclick: sendToBack,\r\n icon: <SendUnderObject />,\r\n },\r\n // {\r\n // id: 7,\r\n // name: 'Flip Horizontal - Left/right horizontal',\r\n // onclick: flipX,\r\n // icon: <FlipH />,\r\n // },\r\n // {\r\n // id: 8,\r\n // name: 'Flip Vertical- Left/right vertical',\r\n // onclick: flipY,\r\n // icon: <FlipV />,\r\n // },\r\n // {\r\n // id: 9,\r\n // name: 'Snap to center',\r\n // onclick: snapToCenter,\r\n // icon: '',\r\n // },\r\n ];\r\n return (\r\n <ul>\r\n {menu.map((item, index) => {\r\n return (\r\n <li\r\n className=\"flex cursor-pointer hover:text-[#e11a38] border border-b-[1px] border-[#EBEBEB] px-[30px] py-[14px] \"\r\n onClick={item.onclick}\r\n key={index}\r\n >\r\n <span>\r\n <IconButton\r\n label=\"\"\r\n icon={item.icon}\r\n className=\"pointer-events-auto cursor-pointer m-auto\"\r\n size=\"1.125rem\"\r\n ></IconButton>\r\n </span>\r\n <span className=\" pl-[20px] text-sm font-bold uppercase\">\r\n {item.name}\r\n </span>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n );\r\n};\r\n","import React, { useRef } from 'react';\r\nimport './canvas.css';\r\nimport { use3dddPlus } from '../../store';\r\nimport ActionButtons from './canvasButtons'; //Importing Action button component which is displaying buttons\r\nimport { initCanvas } from '../../store/fabric/fabricCanvas';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { ContextMenu } from '../contextMenu';\r\n\r\nconst canvas = () => {\r\n const [contextMenuCoordinates, showContextMenu] = use3dddPlus(\r\n (state) => [state.contextMenuCoordinates, state.showContextMenu],\r\n shallow\r\n );\r\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\r\n const resizeCanvas = () => {\r\n const canvas = use3dddPlus.getState().fabricCanvas;\r\n const outerCanvasContainer =\r\n document.getElementById('fabCanvas').parentElement;\r\n const containerWidth = outerCanvasContainer.clientWidth;\r\n const scale = containerWidth / canvas.getWidth();\r\n const zoom = canvas.getZoom() * scale;\r\n canvas.setWidth(containerWidth);\r\n //@ts-ignore\r\n canvas.setHeight(parseInt(outerCanvasContainer.clientHeight));\r\n console.log('--->', canvas.getHeight(), canvas.getHeight());\r\n canvas.setViewportTransform([zoom, 0, 0, zoom, 0, 0]);\r\n canvas.renderAll();\r\n };\r\n React.useEffect(() => {\r\n const canv = initCanvas();\r\n use3dddPlus.setState({ fabricCanvas: canv });\r\n resizeCanvas();\r\n window.addEventListener('resize', resizeCanvas);\r\n }, []);\r\n\r\n return (\r\n <div className=\" w-full h-full relative\">\r\n <ActionButtons />\r\n <div id=\"fabCanvas\">\r\n <canvas ref={canvasRef} id=\"canvas\"></canvas>\r\n {showContextMenu && (\r\n <div\r\n style={{\r\n position: 'absolute',\r\n zIndex: 1000,\r\n left: contextMenuCoordinates.x,\r\n top: contextMenuCoordinates.y,\r\n backgroundColor: 'white',\r\n border: '1px solid #ccc',\r\n boxShadow: '2px 2px 5px rgba(0,0,0,0.5)',\r\n }}\r\n onBlur={() => {\r\n use3dddPlus.setState({ showContextMenu: false });\r\n }}\r\n >\r\n <ContextMenu />\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default canvas;\r\n","import React from 'react';\r\n\r\nexport interface CardProps {\r\n cardClass?: string;\r\n children?: React.ReactNode;\r\n onClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\r\n style?: React.CSSProperties;\r\n key?:string\r\n \r\n}\r\n\r\nexport const Card = ({ cardClass,children, onClick,style,key }: CardProps) => {\r\n return (\r\n <>\r\n <div\r\n className={`card bg-base-100 relative ${cardClass}`}\r\n onClick={onClick}\r\n style={style}\r\n key={ key}\r\n >\r\n {children}\r\n </div>\r\n </>\r\n );\r\n};","import React from 'react';\r\n\r\nexport interface CardBodyProps {\r\n bodyClass?: string;\r\n children?: React.ReactNode;\r\n}\r\nexport const CardBody = ({ bodyClass, children }: CardBodyProps) => {\r\n return (\r\n <>\r\n <div className={`card-body items-center text-center ${bodyClass}`}>\r\n {children}\r\n </div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { TEXT_SIZE_2 } from '../../theme';\r\nimport { IoMdCheckmarkCircle, IconButton } from '../icon';\r\n\r\nexport interface CardCheckMarkProps {\r\n checkMarkClass?: string;\r\n size?: any;\r\n}\r\nexport const CardCheckMark = ({ checkMarkClass, size }: CardCheckMarkProps) => {\r\n return (\r\n <>\r\n <div\r\n className={`absolute top-1/2 left-2/4 ${TEXT_SIZE_2} ${checkMarkClass}`}\r\n style={{ transform: 'translate(-50%, -50%)' }}\r\n >\r\n <IconButton\r\n label={''}\r\n icon={<IoMdCheckmarkCircle />}\r\n className={`pointer-events-auto cursor-pointer`}\r\n size={size}\r\n ></IconButton>\r\n </div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { HiOutlineDownload, IconButton } from '../icon';\r\n\r\nexport interface CardDownIconProps {\r\n downloadClass?: string;\r\n downloadIconClass?: string;\r\n iconClass?: string;\r\n pdfUrl?: string;\r\n}\r\nexport const CardDownloadIcon = ({\r\n downloadClass,\r\n downloadIconClass,\r\n iconClass,\r\n pdfUrl,\r\n}: CardDownIconProps) => {\r\n return (\r\n <>\r\n <a\r\n href={pdfUrl}\r\n download={'Design Sheet'}\r\n target=\"_blank\"\r\n className={`flex items-center gap-[0.4375rem] ${downloadIconClass}`}\r\n >\r\n <IconButton\r\n label={''}\r\n icon={<HiOutlineDownload />}\r\n className={`pointer-events-auto cursor-pointer ${iconClass}`}\r\n size=\"1rem\"\r\n ></IconButton>\r\n\r\n <span className={`${downloadClass}`}>VIEW DESIGN SHEET</span>\r\n </a>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\n\r\nexport interface CardFlagProps {\r\n flag?: string;\r\n flagClass?: string;\r\n}\r\nexport const CardFlag = ({ flag, flagClass }: CardFlagProps) => {\r\n return (\r\n <>\r\n <div className={`absolute top-0 left-0 ${flagClass}`}>{flag}</div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nimport './card.css';\r\n\r\nexport interface CardMediaProps {\r\n alt?: string;\r\n imageClass?: string;\r\n src?: string;\r\n}\r\nexport const CardMedia = ({ alt, imageClass, src }: CardMediaProps) => {\r\n return (\r\n <>\r\n <div\r\n role=\"img\"\r\n aria-label={alt}\r\n className={`cardImage ${imageClass}`}\r\n style={{ backgroundImage: `url('${src}')` }}\r\n ></div>\r\n </>\r\n );\r\n};","import React from 'react';\r\nimport { TAG_TEXT_COLOR } from '../../theme';\r\nexport interface CardTagsProps {\r\n children?: React.ReactNode;\r\n tagsClass?: string;\r\n}\r\nexport const CardTags = ({ children, tagsClass }: CardTagsProps) => {\r\n return (\r\n <>\r\n <div\r\n className={`${tagsClass} flex capitalize rounded px-[11px] py-[5px] text-center items-center align-baseline ${TAG_TEXT_COLOR} font-normal`}\r\n >\r\n {children}\r\n </div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nexport interface CardTitleProps {\r\n name?: string;\r\n titleClass?: string;\r\n}\r\nexport const CardTitle = ({ name, titleClass }: CardTitleProps) => {\r\n return (\r\n <>\r\n <p className={`card-title ${titleClass}`}>{name}</p>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\n\r\nexport interface CardDescProps {\r\n children?: React.ReactNode;\r\n descriptionClass?: string;\r\n}\r\nexport const CardDescription = ({ children, descriptionClass }: CardDescProps) => {\r\n return (\r\n <>\r\n <p className={`${descriptionClass}`}>{children}</p>\r\n </>\r\n );\r\n};\r\n","import React, { useRef, useState } from 'react';\r\nimport { MdOutlineFileUpload } from 'react-icons/md';\r\nimport { IconButton } from '../icon';\r\ninterface FileUploadButtonProps {\r\n onFileSelect: (file: File) => void;\r\n}\r\n\r\nconst FileUploadButton: React.FC<FileUploadButtonProps> = ({\r\n onFileSelect,\r\n}) => {\r\n const fileInputRef = useRef<HTMLInputElement>(null);\r\n const [isDragging, setIsDragging] = useState(false);\r\n\r\n const handleFileSelect = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n const selectedFile = event.target.files?.[0];\r\n\r\n if (selectedFile) {\r\n onFileSelect(selectedFile);\r\n }\r\n };\r\n\r\n const handleDragEnter = (event: React.DragEvent<HTMLDivElement>) => {\r\n event.preventDefault();\r\n setIsDragging(true);\r\n };\r\n\r\n const handleDragLeave = (event: React.DragEvent<HTMLDivElement>) => {\r\n event.preventDefault();\r\n setIsDragging(false);\r\n };\r\n\r\n const handleDrop = (event: React.DragEvent<HTMLDivElement>) => {\r\n event.preventDefault();\r\n setIsDragging(false);\r\n\r\n const droppedFile = event.dataTransfer.files[0];\r\n if (droppedFile) {\r\n onFileSelect(droppedFile);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div\r\n className={`flex items-center justify-center w-full relative h-full ${\r\n isDragging ? 'dragging' : ''\r\n }`}\r\n onDragEnter={handleDragEnter}\r\n onDragLeave={handleDragLeave}\r\n onDragOver={(event) => event.preventDefault()}\r\n onDrop={handleDrop}\r\n >\r\n <label\r\n htmlFor=\"file-upload\"\r\n className=\"flex flex-col items-center justify-center gap-y-[12px] text-center absolute -translate-x-2/4 md:-translate-y-2/4 -translate-y-[30%] left-2/4 2xl:top-2/4 top-[42%] p-[50px] border-2 border-gray-300 border-dashed rounded-lg cursor-pointer bg-gray-50 dark:hover:bg-bray-800 dark:bg-gray-700 hover:bg-gray-100 dark:border-gray-600 dark:hover:border-gray-500 dark:hover:bg-gray-600\"\r\n >\r\n <div className=\" text-center flex flex-col gap-[8px]\">\r\n <IconButton\r\n label=\"\"\r\n icon={<MdOutlineFileUpload />}\r\n className={\r\n 'pointer-events-auto cursor-pointer m-auto text-[#E11A38] bg-[#FCE8EB] p-[16px] h-[unset] !rounded-full'\r\n }\r\n size=\"1.125rem\"\r\n ></IconButton>\r\n <div className=\"text-[#5D5D5D] text-base font-bold\">\r\n Drag Files To Upload\r\n </div>\r\n <div className=\"text-[#5D5D5D] text-base font-bold\">Or</div>\r\n </div>\r\n <div>\r\n {' '}\r\n <button\r\n onClick={() => fileInputRef.current?.click()}\r\n className=\"text-center py-[11.2px] border border-[#E11A38] text-[#E11A38] font-bold px-[20px] rounded-none hover:bg-[#E11A38] hover:text-white transition-all ease-in-out duration-300 cursor-pointer max-w-[220px]\"\r\n >\r\n BROWSE FILE\r\n </button>\r\n </div>\r\n\r\n <div className=\" text-center text-[#727272] text-sm\">\r\n <p>Max file size: 25M</p>\r\n <p>Supported files types: JPG, JPEG, PNG, GIF, EPS, PDF, SVG, AI</p>\r\n </div>\r\n <input\r\n id=\"file-upload\"\r\n ref={fileInputRef}\r\n type=\"file\"\r\n onChange={handleFileSelect}\r\n className=\"hidden\"\r\n accept=\"image/png, image/jpeg , image/gif , image/svg+xml , .eps , .ai , .pdf\"\r\n />\r\n </label>\r\n </div>{' '}\r\n </>\r\n );\r\n};\r\n\r\nexport default FileUploadButton;\r\n","import React, { useState } from 'react';\r\nimport { TEXT_SIZE_9 } from '../../theme';\r\nimport './colorPalette.css';\r\n\r\nexport interface ColorPaletteProps {\r\n previousColor?: string[];\r\n previousClass?: string;\r\n mainIndex?: any;\r\n handleColorChange?: any;\r\n mainClass?: string;\r\n index?: any;\r\n boxWidth?: number;\r\n gap?: number;\r\n}\r\n\r\nexport const ColorPalette = ({\r\n previousColor,\r\n previousClass = '',\r\n mainIndex = '',\r\n handleColorChange,\r\n mainClass = '',\r\n\r\n}: ColorPaletteProps) => {\r\n const [selectColor, setSelectColor] = useState(null);\r\n const colorList = [\r\n 'transparent',\r\n '#FF0000', // Red\r\n '#00FF00', // Green\r\n '#0000FF', // Blue\r\n '#FFFF00', // Yellow\r\n '#800080', // Purple\r\n '#FFA500', // Orange\r\n '#FFC0CB', // Pink\r\n '#008080', // Teal\r\n '#A52A2A', // Brown\r\n '#808080', // Gray\r\n '#000000', // Black\r\n '#FFFFFF', // White\r\n ];\r\n const handleColorClick = (color, index) => {\r\n setSelectColor(color);\r\n handleColorChange(color, index);\r\n };\r\n\r\n return (\r\n <>\r\n <div\r\n 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`}\r\n >\r\n {colorList?.length > 0 && (\r\n <>\r\n <p\r\n className={`${TEXT_SIZE_9} leading-[1.125rem] font-bold pb-[1.125rem] text-left`}\r\n >\r\n Choose color\r\n </p>\r\n <div\r\n className={`flex flex-wrap gap-x-[0.8125rem] gap-y-[0.3125rem] pb-[2.0938rem] max-h-[3.75rem] overflow-y-auto`}\r\n >\r\n {colorList?.map((color, index) => (\r\n <ColorBox\r\n color={color}\r\n index={index}\r\n onClick={() => handleColorClick(color, mainIndex)}\r\n boxClass={`w-[1.875rem] h-[1.875rem] ${\r\n selectColor === color ? 'border border-[red]' : ''\r\n }`}\r\n />\r\n ))}\r\n </div>\r\n </>\r\n )}\r\n {previousColor?.length > 0 && (\r\n <>\r\n <div\r\n className={`flex flex-row gap-x-[0.875rem] pt-[1.3438rem] border-t border-t-[#EBEBEB]`}\r\n >\r\n <p\r\n className={`${TEXT_SIZE_9} leading-[1.125rem] font-bold pb-[1.125rem]`}\r\n >\r\n Previously used\r\n </p>\r\n <div\r\n className={`flex flex-wrap gap-x-[0.8125rem] gap-y-[0.3125rem] border-b border-b-[#EBEBEB] ${previousClass}`}\r\n >\r\n {previousColor?.map((color, index) => (\r\n <ColorBox\r\n color={color}\r\n index={'previous' + index}\r\n onClick={() =>\r\n handleColorClick(color, mainIndex + 'Choose' + index)\r\n }\r\n boxClass={`w-[1.875rem] h-[1.875rem] ${\r\n selectColor === color ? 'border border-[red]' : ''\r\n }`}\r\n />\r\n ))}\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nexport interface BoxColorProps {\r\n color?: string;\r\n index?: any;\r\n boxClass?: string;\r\n onClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\r\n onChange?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\r\n children?: React.ReactNode;\r\n}\r\n\r\nexport const ColorBox = ({\r\n color,\r\n index,\r\n boxClass = '',\r\n onClick,\r\n onChange,\r\n children,\r\n}: BoxColorProps) => {\r\n return (\r\n <div\r\n key={index}\r\n style={{ backgroundColor: color }}\r\n className={`w-10 h-10 border border-[#D6D6D6] ${boxClass}`}\r\n onClick={onClick}\r\n onChange={onChange}\r\n >\r\n {children}\r\n </div>\r\n );\r\n};\r\n","import React, { useState } from 'react';\r\n// import { ChromePicker } from 'react-color';\r\nimport { ColorPalette } from './colorPalette';\r\n\r\nexport const ColorImpl = (props) => {\r\n const [displayPallet, setdisplayPallet] = useState(false);\r\n const [, setColor] = useState(props.color);\r\n\r\n const handleColorClick = (color: string) => {\r\n console.log(color);\r\n setColor(color);\r\n props.handleChange(props.property, color);\r\n };\r\n return (\r\n <>\r\n <div className=\"\">\r\n <div\r\n className={`border border-gray-600 w-[30px] h-[30px] group `}\r\n style={{ background: props.color }}\r\n onClick={() => {\r\n setdisplayPallet((prev) => !prev);\r\n }}\r\n onBlur={() => setdisplayPallet(false)}\r\n >\r\n {displayPallet && (\r\n <ColorPalette\r\n mainClass={`left-0 ${props.mClass}`}\r\n handleColorChange={handleColorClick}\r\n />\r\n // <div\r\n // className=\"absolute\"\r\n // style={{ zIndex: '100' }}\r\n // tabIndex={0}\r\n // onBlur={() => setdisplayPallet(false)}\r\n // >\r\n // <ChromePicker\r\n // color={color.hex}\r\n // onChangeComplete={onChangeComplete}\r\n // onChange={onChangeComplete}\r\n // disableAlpha={true}\r\n // />\r\n // <hr />\r\n // </div>\r\n )}\r\n </div>\r\n </div>\r\n </>\r\n );\r\n};\r\n","import { fabric } from 'fabric';\r\n\r\nexport const Initpopup = () => {\r\n const onObjectSelected = () => {\r\n if (!popupcanvas.getActiveObject()) {\r\n return;\r\n }\r\n if (popupcanvas.getActiveObject().type !== 'group') {\r\n return;\r\n }\r\n //@ts-ignore\r\n popupcanvas.getActiveObject().toActiveSelection();\r\n popupcanvas.requestRenderAll();\r\n };\r\n const cursorUrl =\r\n 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/eyedropper.svg';\r\n\r\n const popupcanvas = new fabric.Canvas('popupCanvas', {\r\n centeredScaling: true,\r\n preserveObjectStacking: true,\r\n backgroundColor: '#F7F7F7',\r\n defaultCursor: `url(\" ${cursorUrl} \"), auto`,\r\n hoverCursor: `url(\" ${cursorUrl} \"), auto`,\r\n });\r\n\r\n popupcanvas.on('selection:created', onObjectSelected);\r\n return popupcanvas;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { fabric } from 'fabric';\r\nimport { ColorImpl } from '../colorPallet';\r\nimport { Initpopup } from '../../store/fabric/Popupcanvas';\r\nimport { CgArrowRight } from 'react-icons/cg';\r\nimport { EyeDropper, IconButton } from '../icon';\r\nimport { GiDrop } from 'react-icons/gi';\r\nimport { MdOutlineCancel } from 'react-icons/md';\r\n// import { Button } from 'reakit';\r\nexport const PopUpCanvas = () => {\r\n const [popupCanvas, canvas, colorFill, changeSVGColor] = use3dddPlus(\r\n (state) => [\r\n state.popupCanv,\r\n state.fabricCanvas,\r\n state.colorFill,\r\n state.changeSVGColor,\r\n ],\r\n shallow\r\n );\r\n const [colorCount, setColorCount] = useState(3);\r\n\r\n // const colors = [\r\n // 'red',\r\n // 'green',\r\n // 'blue',\r\n // 'yellow',\r\n // 'purple',\r\n // 'indigo',\r\n // 'orange',\r\n // 'light green',\r\n // ];\r\n // const selectedColors = colors.slice(0, colorCount);\r\n const handleColorCountChange = (e) => {\r\n setColorCount(Number(e.target.value));\r\n };\r\n const resizeCanvas = () => {\r\n const canvas = use3dddPlus.getState().popupCanv;\r\n const outerCanvasContainer =\r\n document.getElementById('imageCanvas').parentElement;\r\n console.log(outerCanvasContainer);\r\n const containerWidth = outerCanvasContainer.clientWidth;\r\n const scale = containerWidth / canvas.getWidth();\r\n const zoom = canvas.getZoom() * scale;\r\n canvas.setWidth(containerWidth);\r\n //@ts-ignore\r\n canvas.setHeight(parseInt(outerCanvasContainer.clientHeight));\r\n canvas.setViewportTransform([zoom, 0, 0, zoom, 0, 0]);\r\n canvas.renderAll();\r\n };\r\n useEffect(() => {\r\n const popupCanv = Initpopup();\r\n use3dddPlus.setState({ popupCanv: popupCanv });\r\n resizeCanvas();\r\n window.addEventListener('resize', resizeCanvas);\r\n //FOR REMOVING COLOR\r\n\r\n popupCanv.on('mouse:down', function (event) {\r\n popupCanv.discardActiveObject();\r\n var mouseClick = popupCanv.getPointer(event.e);\r\n // console.log('MOUSE-CLICK-->',mouseClick);\r\n // Iterate through objects on the canvas and check if any intersect with the mouse click\r\n popupCanv.forEachObject(function (obj) {\r\n if (obj.type === 'path') {\r\n //@ts-ignore\r\n if (obj.containsPoint(mouseClick)) {\r\n popupCanv.remove(obj);\r\n popupCanv.renderAll();\r\n }\r\n }\r\n });\r\n });\r\n }, []);\r\n const popupCanvasCancel = () => {\r\n use3dddPlus.setState({ uploadImageModalDisplay: false });\r\n console.log(popupCanvas.getObjects()[0]);\r\n popupCanvas.remove(...popupCanvas.getObjects());\r\n };\r\n const popupCanvasContinue = () => {\r\n //@ts-ignore\r\n use3dddPlus.setState({ uploadImageModalDisplay: false });\r\n use3dddPlus.setState({ selectedStepper: undefined });\r\n const sel = new fabric.ActiveSelection(popupCanvas.getObjects(), {\r\n //@ts-ignore\r\n popupCanvas: popupCanvas,\r\n });\r\n popupCanvas.setActiveObject(sel);\r\n // popupCanvas.remove(...popupCanvas.getObjects());\r\n\r\n popupCanvas.requestRenderAll();\r\n let clipboard;\r\n popupCanvas.getActiveObject().clone(function (cloned) {\r\n clipboard = cloned;\r\n });\r\n if (clipboard.type === 'activeSelection') {\r\n clipboard.canvas = canvas;\r\n const objs = [];\r\n clipboard.forEachObject(function (obj) {\r\n objs.push(obj);\r\n });\r\n const alltogetherObj = new fabric.Group(objs, {});\r\n canvas.centerObject(alltogetherObj);\r\n canvas.add(alltogetherObj);\r\n canvas.setActiveObject(alltogetherObj);\r\n alltogetherObj.setCoords();\r\n use3dddPlus.getState().forStoringAllObject(alltogetherObj); //for pushing the data into array for layers\r\n } else {\r\n canvas.add(clipboard);\r\n }\r\n canvas.requestRenderAll();\r\n popupCanvas.clear();\r\n };\r\n return (\r\n <>\r\n {/* <div\r\n className=\"relative z-10\"\r\n aria-labelledby=\"modal-title\"\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n style={uploadImageModalDisplay ? {} : { display: 'none' }}\r\n > */}\r\n <div className=\"flex z-10 overflow-y-auto\">\r\n <div className=\"flex flex-1 w-full\">\r\n <div className=\"relative w-full overflow-hidden bg-white\">\r\n <div className=\"bg-white\">\r\n <div className=\"flex flex-row\">\r\n <div className=\"flex flex-row text-center w-[70%] \">\r\n <div className=\" w-full h-full \">\r\n <div id=\"imageCanvas\">\r\n <canvas\r\n className=\"pointer\"\r\n id=\"popupCanvas\"\r\n ></canvas>\r\n </div>\r\n <div className=\"absolute bottom-[40px] flex flex-wrap left-[60px]\">\r\n <span className=\"border border-[#E11A38] p-1 bg-white mr-2 text-[#E11A38] \">\r\n <EyeDropper />\r\n </span>\r\n\r\n <span className=\"text-[#E11A38] text-[13px] font-bold \">\r\n Use the eyedropper tool do clicking on a color you wish\r\n to remove form you image\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"text-left flex-1 h-[100%] px-[36px] pt-[31px]\">\r\n <div className=\"flex flex-col gap-y-5\">\r\n <h1 className=\"text-[22px] font-bold\">\r\n Match and Combine colors\r\n </h1>\r\n <p className=\"text-[15px]\">\r\n Select how many colors are in your image\r\n </p>\r\n <select\r\n value={colorCount}\r\n onChange={handleColorCountChange}\r\n className=\"border-[1px] border-[#D7D7D7] p-2\"\r\n >\r\n <option value={1}>1 Colors</option>\r\n <option value={2}>2 Colors</option>\r\n <option value={3}>3 Colors</option>\r\n <option value={4}>4 Colors</option>\r\n <option value={5}>5 Colors</option>\r\n <option value={6}>6 Colors</option>\r\n <option value={7}>7 Colors</option>\r\n <option value={8}>8 Colors</option>\r\n </select>\r\n {/* {Object.keys(colorFill)?.map((item) => {\r\n return (\r\n <>\r\n <ColorImpl\r\n handleChange={changeSVGColor}\r\n property={item}\r\n color={colorFill[item]}\r\n />\r\n </>\r\n );\r\n })} */}\r\n <div className=\"flex flex-col gap-y-3.5 items-center overflow-y-auto py-[5px] 2xl:h-[50vh] sm:h-[42vh] h-[42vh]\">\r\n {Object.keys(colorFill)?.map((item, index) => (\r\n <div className=\"flex flex-row items-center\" key={index}>\r\n <ColorImpl\r\n className=\"w-[30px] h-[30px] m-2 \"\r\n handleChange={changeSVGColor}\r\n property={item}\r\n color={colorFill[item]}\r\n />\r\n <div className=\"mx-[20px] text-[#c2c2c2]\">\r\n <CgArrowRight />\r\n </div>\r\n <div className=\"flex flex-row border-[1px] border-[#D6D6D6]\">\r\n <span className=\" border-r-[1px] border-[#D6D6D6] bg-[#fce8eb]\">\r\n <IconButton\r\n label=\"Select Color\"\r\n icon={<GiDrop />}\r\n className={\r\n '!rounded-none pointer-events-auto cursor-pointer flex text-[#E11A38] w-[30px] h-[30px] p-[9px]'\r\n }\r\n size=\"1.125rem\"\r\n ></IconButton>\r\n </span>\r\n <span className=\"py-[6px] pl-[10px] pr-[27px] font-medium text-[13px] bg-[#F1F1F1]\">\r\n Select Color\r\n </span>\r\n </div>\r\n <span className=\"\">\r\n <IconButton\r\n label=\"Delete Color\"\r\n icon={<MdOutlineCancel />}\r\n className={\r\n 'pointer-events-auto cursor-pointer m-autoflex w-[30px] h-[30px] p-[9px] text-[#c2c2c2]'\r\n }\r\n size=\"1rem\"\r\n ></IconButton>\r\n </span>\r\n </div>\r\n ))}\r\n </div>\r\n <div className=\" flex flex-col\">\r\n <button\r\n type=\"button\"\r\n onClick={popupCanvasContinue}\r\n className=\"mt-3 inline-flex w-full justify-center bg-white px-[110px] py-2 text-sm font-medium text-[#E11A38] shadow-sm ring-1 ring-inset ring-[#E11A38] hover:bg-gray-50 sm:mt-0 sm:w-auto\"\r\n >\r\n Continue\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={popupCanvasCancel}\r\n className=\"mt-3 inline-flex w-full justify-center bg-white px-[110px] py-2 text-sm font-medium text-[#E11A38] shadow-sm ring-1 ring-inset ring-[#E11A38] hover:bg-gray-50 sm:mt-0 sm:w-auto\"\r\n >\r\n Cancel\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n {/* </div> */}\r\n </>\r\n );\r\n};\r\n","import React, { useState } from 'react';\r\n\r\nimport FileUploadButton from './fileuploadButton';\r\nimport { use3dddPlus } from '../../store';\r\nimport {shallow} from 'zustand/shallow';\r\nimport { PopUpCanvas } from '../canvas/popUpCanvas';\r\n\r\nexport const UploadLogo = () => {\r\n const [, setSelectedFile,] = useState<File | null>(null);\r\n const [\r\n tiffConvert,\r\n imageToSVG,\r\n setFile,\r\n uploadImageModalDisplay,\r\n pdfConverter,\r\n ] = use3dddPlus(\r\n (state) => [\r\n state.tiffConvert,\r\n state.imageToSVG,\r\n state.setFile,\r\n state.uploadImageModalDisplay,\r\n state.pdfConverter,\r\n ],\r\n shallow\r\n );\r\n const handleFileSelect = (file: File) => {\r\n setSelectedFile(file);\r\n setFile(file)\r\n svgConverter(file);\r\n // You can perform further actions with the selected file here.\r\n };\r\n\r\n const svgConverter = async (data) => {\r\n // canvas.discardActiveObject();\r\n const ext = data.name.substring(data.name.lastIndexOf('.') + 1);\r\n if (ext === 'pdf') {\r\n let pdfData = await pdfConverter(data);\r\n imageToSVG(pdfData);\r\n }\r\n if (ext === 'tif' || ext === 'tiff') {\r\n const tiffData = await tiffConvert(data);\r\n imageToSVG(tiffData);\r\n } else {\r\n let objectURL = URL.createObjectURL(data);\r\n imageToSVG(objectURL);\r\n }\r\n setSelectedFile(null);\r\n };\r\n return (\r\n <>\r\n <div className=\"bg-[#F7F7F7] absolute z-10 w-[90%] h-full \">\r\n <div className=\"relative w-full h-full\">\r\n <div className=\"flex justify-center w-full h-full text-center\">\r\n <FileUploadButton onFileSelect={handleFileSelect} />\r\n </div>\r\n <div className=\"absolute md:bottom-[20px] bottom-[10px] px-[80px]\">\r\n <p className=\" text-[#E11A38] text-base font-bold\">\r\n Privacy Notice\r\n </p>\r\n <p className=\"text-[#727272] text-sm font-medium pt-2 pb-2\">\r\n Your uploaded images are safe, secure, and remain your property.\r\n By proceeding you acknowledge that you have full legal rights and\r\n permissions to use the images you upload.We reserve the right to\r\n reject any order.\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n {uploadImageModalDisplay && (\r\n <div className=\"bg-[#F7F7F7] absolute z-10 w-[90%] h-full\">\r\n <PopUpCanvas />\r\n </div>\r\n )}\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nimport {\r\n SEARCHBAR_BORDER_COLOR,\r\n SEARCH_ICON_COLOR,\r\n TEXT_COLOR_1,\r\n TEXT_SIZE_3,\r\n} from '../../theme';\r\n\r\nexport interface SearchBarProps {\r\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\r\n onKeyPress?: (e: React.KeyboardEvent<HTMLDivElement>) => void;\r\n onPaste?: (e: React.ClipboardEvent<HTMLInputElement>) => void;\r\n placeholder?: string;\r\n searchBarMainClass?: string;\r\n value?: string;\r\n disabled?: boolean;\r\n}\r\nexport const Searchbar = ({\r\n onChange,\r\n onKeyPress,\r\n onPaste,\r\n placeholder,\r\n searchBarMainClass,\r\n value,\r\n disabled,\r\n}: SearchBarProps) => {\r\n return (\r\n <>\r\n <div\r\n className={`${searchBarMainClass} h-[40px] relative flex w-full flex-wrap items-stretch border border-solid ${SEARCHBAR_BORDER_COLOR} outline-none transition duration-200 ease-in-out focus:z-[3] focus:shadow-[inset_0_0_0_1px_rgb(212,212,212)] focus:outline-none bg-[#FFFFFF]`}\r\n >\r\n <input\r\n type=\"search\"\r\n className={`leading-[20px] relative m-0 -mr-0.5 block w-[1px] min-w-0 focus-visible:outline-0 flex-auto bg-transparent bg-clip-padding px-[15px] py-[10px] ${TEXT_SIZE_3} font-normal ${TEXT_COLOR_1} placeholder:${TEXT_SIZE_3} placeholder:${TEXT_COLOR_1} placeholder:leading-[20px]`}\r\n placeholder={placeholder}\r\n aria-label=\"Search\"\r\n aria-describedby=\"button-addon3\"\r\n value={value}\r\n onChange={onChange}\r\n onKeyPress={onKeyPress}\r\n disabled={disabled}\r\n onPaste={onPaste}\r\n onClick={(e) => {\r\n e.currentTarget.focus();\r\n }}\r\n />\r\n <span\r\n className={`flex justify-center items-center rounded-none pl-2 pr-[14px]`}\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n className={`h-5 w-5 ${SEARCH_ICON_COLOR}`}\r\n >\r\n <path d=\"M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { Input as InputImpl, InputHTMLProps } from 'reakit';\r\n\r\nexport const input = React.forwardRef<HTMLInputElement, InputHTMLProps>(\r\n (props, ref) => {\r\n return (\r\n <InputImpl\r\n // @ts-ignore\r\n ref={ref}\r\n {...props}\r\n className={`${props.className} block w-full border border-dark py-2 px-4 mb-4`}\r\n />\r\n );\r\n }\r\n);\r\n\r\n","import React from 'react';\r\nimport { IconButton, RxCross2 } from '../icon';\r\nimport { BACKDROP_BLUR, BACKDROP_BLUR_BG_COLOR, SAVERACK_TEXT_COLOR } from '../../theme';\r\n\r\nexport interface GlobalModalProps {\r\n backdropStyle?: string;\r\n children?: React.ReactNode;\r\n contentStyle?: string;\r\n crossOnClick?: () => void;\r\n modalStyle?: string;\r\n}\r\n\r\nexport const Modal = ({\r\n backdropStyle,\r\n children,\r\n contentStyle,\r\n crossOnClick,\r\n modalStyle,\r\n}: GlobalModalProps) => {\r\n return (\r\n <div>\r\n <div\r\n className={`${backdropStyle} absolute top-0 left-0 h-screen w-full ${BACKDROP_BLUR} ${BACKDROP_BLUR_BG_COLOR}`}\r\n ></div>\r\n\r\n <dialog\r\n open\r\n className={`${contentStyle} absolute shadow-[0 2px 8px rgba(0, 0, 0, 0.26)] ml-[auto] md:mr-[0%] mr-[auto]`}\r\n >\r\n <IconButton\r\n label={''}\r\n icon={<RxCross2 strokeWidth={1} onClick={crossOnClick} />}\r\n className={\r\n `z-10 pointer-events-auto cursor-pointer ${SAVERACK_TEXT_COLOR} font-bold !absolute right-[0.6875rem] top-[0.6875rem] px-[0.75rem] py-[1.25rem] hover:bg-[#E11A38] hover:text-[#ffffff] hover:rounded-none`\r\n }\r\n size=\"1.2rem\"\r\n ></IconButton>\r\n <div\r\n className={`flex flex-col justify-center gap-[1.75rem] ${modalStyle}`}\r\n >\r\n {children}\r\n </div>\r\n </dialog>\r\n </div>\r\n );\r\n};\r\n","import React from 'react';\r\nexport interface ModalButtonsProps {\r\n buttonMainClass?: string;\r\n buttons?: {\r\n buttonClass?: string;\r\n label?: string;\r\n onClick?: () => void;\r\n style?: React.CSSProperties;\r\n }[];\r\n}\r\nexport const ModalButtons = ({ buttonMainClass, buttons }: ModalButtonsProps) => {\r\n return (\r\n <div\r\n className={`flex flex-col lg:flex-row gap-[1.5625rem] leading-[1.4375rem] font-bold ${buttonMainClass}`}\r\n >\r\n {buttons?.map((button, index) => (\r\n <button\r\n key={index}\r\n onClick={button.onClick}\r\n className={`w-full py-[0.7188rem] rounded-none font-bold uppercase ${button.buttonClass}`}\r\n style={button.style}\r\n >\r\n {button.label}\r\n </button>\r\n ))}\r\n </div>\r\n );\r\n};\r\n\r\n","import React from 'react';\r\nimport { HiOutlineDownload, IconButton } from '../icon';\r\n\r\nexport interface ModalDownLoadIconProps {\r\n downloadClass?: string;\r\n downloadIconClass?: string;\r\n iconClass?: string;\r\n pdfUrl?: string;\r\n}\r\nexport const ModalDownloadIcon = ({\r\n downloadClass,\r\n downloadIconClass,\r\n iconClass,\r\n pdfUrl,\r\n}: ModalDownLoadIconProps) => {\r\n return (\r\n <>\r\n <div className={`flex justify-center items-center`}>\r\n <a\r\n href={pdfUrl}\r\n download={'Design Sheet'}\r\n target=\"_blank\"\r\n className={`flex items-center cursor-pointer gap-[0.6875rem] font-bold ${downloadIconClass}`}\r\n >\r\n <IconButton\r\n label={''}\r\n icon={<HiOutlineDownload />}\r\n className={`pointer-events-auto ${iconClass}`}\r\n size=\"1.1rem\"\r\n ></IconButton>\r\n\r\n <span className={`uppercase ${downloadClass}`}>\r\n VIEW DESIGN SHEET\r\n </span>\r\n </a>\r\n </div>\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\n\r\nexport interface ModalHeadingProps {\r\n children?: React.ReactNode;\r\n headingStyle?: string;\r\n}\r\nexport const ModalHeading = ({ children, headingStyle }: ModalHeadingProps) => {\r\n return (\r\n <>\r\n <div\r\n className={`flex flex-col gap-[1.625rem] justify-center items-center text-center ${headingStyle}`}\r\n >\r\n {children}\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\n","import React from 'react';\r\n\r\nexport interface ModalLabelProps {\r\n children?: React.ReactNode;\r\n labelStyle?: string;\r\n}\r\nexport const ModalLabel = ({ children, labelStyle }: ModalLabelProps) => {\r\n return (\r\n <>\r\n <p className={`${labelStyle}`}>{children}</p>\r\n </>\r\n );\r\n};\r\n\r\n","import React from 'react';\r\nimport { IconButton } from '../icon';\r\n\r\nexport interface ModalStatusProps {\r\n icon?: JSX.Element;\r\n onIconClick?: () => void;\r\n children?: React.ReactNode;\r\n iconStyle?: string;\r\n}\r\nexport const ModalStatusIcon = ({\r\n icon,\r\n onIconClick,\r\n iconStyle,\r\n children,\r\n}: ModalStatusProps) => {\r\n return (\r\n <>\r\n <div className={`flex justify-center`} onClick={onIconClick}>\r\n <IconButton\r\n label={''}\r\n icon={icon}\r\n className={`pointer-events-auto cursor-pointer h-[auto] ${iconStyle}`}\r\n size=\"6.3rem\"\r\n ></IconButton>\r\n {children}\r\n </div>\r\n </>\r\n );\r\n};\r\n","import React from \"react\";\r\n\r\nexport const SortButton = ({ label, icons, onClick, className }) => {\r\n return (\r\n <button\r\n onClick={onClick}\r\n className={`flex rounded-none gap-3 items-center p-2 mr-[24px] ${className}`}\r\n >\r\n {icons}\r\n {label}\r\n \r\n </button>\r\n );\r\n };\r\n \r\n\r\n ","import React, { useState } from 'react';\r\nimport { SortButton } from './sortButton';\r\nimport { BsSortDown } from 'react-icons/bs';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nexport const SortByDropdown = () => {\r\n const [loadingLogo] = use3dddPlus((state) => [state.loadingLogo], shallow);\r\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\r\n\r\n const toggleDropdown = () => {\r\n setIsDropdownOpen(!isDropdownOpen);\r\n };\r\n\r\n return (\r\n <div className=\"absolute\">\r\n <SortButton\r\n onClick={toggleDropdown}\r\n label=\"Sort by\"\r\n icons={<BsSortDown />}\r\n className=\" bg-[#FFFFFF]\"\r\n />\r\n {isDropdownOpen && (\r\n <div className=\"dropdown-content h-[200px] w-[210px] bg-[#FFFFFF] flex flex-col absolute z-10\">\r\n {/* Dropdown content goes here */}\r\n <button\r\n className=\"flex items-center h-[45px] mt-[12px] pl-[27.85px] border-b-[1px] border-[#F4F4F4] \"\r\n onClick={() => {\r\n toggleDropdown();\r\n loadingLogo('&sortBy=updated_at&sortDir=DESC');\r\n }}\r\n >\r\n NEWEST\r\n </button>\r\n <button\r\n className=\"flex items-center h-[45px] pl-[27.85px] border-b-[1px] border-[#F4F4F4]\"\r\n onClick={() => {\r\n toggleDropdown();\r\n loadingLogo('&sortBy=updated_at&sortDir=ASC');\r\n }}\r\n >\r\n OLDEST\r\n </button>\r\n <button\r\n className=\"flex items-center h-[45px] pl-[27.85px] border-b-[1px] border-[#F4F4F4]\"\r\n onClick={() => {\r\n toggleDropdown();\r\n loadingLogo('&sortBy=name&sortDir=ASC');\r\n }}\r\n >\r\n A TO Z\r\n </button>\r\n <button\r\n className=\"flex items-center h-[45px] pl-[27.85px] border-[#F4F4F4]\"\r\n onClick={() => {\r\n toggleDropdown();\r\n loadingLogo('&sortBy=name&sortDir=DESC');\r\n }}\r\n >\r\n Z TO A\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n","import React from 'react';\r\nimport './loader.css';\r\n\r\nexport const Loader = ({ position = 'overlay', height = '100%' }) => {\r\n const loaderRef = React.useRef<any>();\r\n React.useEffect(() => {\r\n if (!loaderRef) return;\r\n loaderRef.current.style.height = height;\r\n }, [loaderRef]);\r\n return (\r\n <section\r\n ref={loaderRef}\r\n id=\"ls\"\r\n style={\r\n position === 'overlay'\r\n ? { position: 'absolute', opacity: 0.8, top: 0 }\r\n : {}\r\n }\r\n className=\"w-full h-full\"\r\n >\r\n <div id=\"l\"></div>\r\n </section>\r\n );\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport { Searchbar } from '../searchbar';\r\nimport { Card, CardMedia, CardBody, CardTitle } from '../card';\r\nimport { SortByDropdown } from '../SortByDropdown';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { Loader } from '../loader';\r\n\r\nexport const MyLogo = ({ onApply }) => {\r\n const [logoSelected, setLogoSelected] = React.useState(false);\r\n const [\r\n retriveLogoDesign,\r\n myLogoHandler,\r\n loadingLogo,\r\n loading,\r\n setLogoData,\r\n logoData,\r\n ] = use3dddPlus(\r\n (state) => [\r\n state.retriveLogoDesign,\r\n state.myLogoHandler,\r\n state.loadingLogo,\r\n state.loading,\r\n state.setLogoData,\r\n state.logoData,\r\n ],\r\n shallow\r\n );\r\n useEffect(() => {\r\n loadingLogo('');\r\n }, []);\r\n const handleEditLogo = (logo) => {\r\n if (logo) {\r\n myLogoHandler(logo);\r\n setLogoSelected(false);\r\n }\r\n };\r\n const handleApplyLogo = (logo) => {\r\n if (logo) {\r\n onApply();\r\n setLogoSelected(false);\r\n }\r\n };\r\n return (\r\n <>\r\n <div className=\"bg-[#F7F7F7] absolute z-100 w-[90%] h-full pr-[56px]\">\r\n <div className=\" w-full flex mt-[50px] flex-row\">\r\n <div className=\" flex w-1/2 justify-end\">\r\n <SortByDropdown />\r\n </div>\r\n <div className=\" flex-1\">\r\n <Searchbar\r\n placeholder={'Search by Logo name or tags'}\r\n onChange={(e) => loadingLogo(e.target.value)}\r\n ></Searchbar>\r\n </div>\r\n </div>\r\n <div className=\"flex ml-[33px] mt-[30px] overflow-y-auto overflow-x-hidden h-[65vh]\">\r\n <div className=\"max-h-[140px] grid gap-3.5 grid-cols-3 md:grid-cols-4 lg:grid-cols-5 w-full \">\r\n {retriveLogoDesign.length > 0\r\n ? retriveLogoDesign.map((logo) => (\r\n <>\r\n <Card\r\n cardClass={`rounded-none bg-white cursor-pointer`}\r\n style={{ boxShadow: '0px 0px 6px #98989829' }}\r\n onClick={() => {\r\n if (logo) {\r\n setLogoData(logo);\r\n setLogoSelected(true);\r\n }\r\n }}\r\n >\r\n <CardMedia\r\n //@ts-ignore\r\n src={logo.logo_url}\r\n imageClass=\"h-[50px] mt-[26px]\"\r\n />\r\n\r\n <CardBody bodyClass=\"p-2.5 mt-[13px]\">\r\n <CardTitle\r\n titleClass={`text-[11px] uppercase`}\r\n //@ts-ignore\r\n name={logo.name}\r\n />\r\n </CardBody>\r\n </Card>\r\n </>\r\n ))\r\n : 'No Saved Mascots'}\r\n <div className={`flex gap-2 h-[48px]`}>\r\n <button\r\n className={`border border-[black] p-3`}\r\n onClick={() => handleEditLogo(logoData)}\r\n >\r\n Edit\r\n </button>\r\n <button\r\n onClick={() => handleApplyLogo(logoData)}\r\n className={`border p-3 ${\r\n logoSelected\r\n ? 'border-[#e11a38] text-[#e11a38]'\r\n : 'border-[black] text-black'\r\n }`}\r\n >\r\n Apply\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n {loading && <Loader />}\r\n </>\r\n );\r\n};\r\n","import React, { useEffect } from 'react';\r\n//import { StepperTypes } from '../../store/actions/types';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport {\r\n SELECT_BG_COLOR,\r\n //BORDER_COLOR,\r\n TEXT_SIZE_1,\r\n TEXT_SIZE_2,\r\n SELECT_TEXT_COLOR,\r\n BUTTON_TEXT_COLOR,\r\n TEXT_COLOR_1,\r\n} from '../../theme';\r\nimport {\r\n AddText,\r\n IconButton,\r\n MyLogo,\r\n ProductColor,\r\n RLogo,\r\n AddMascots,\r\n} from '../icon';\r\nimport { MdOutlineFileUpload } from 'react-icons/md';\r\n\r\nexport const LeftMenu = () => {\r\n const [\r\n setSelectedStepper,\r\n selectedStepper,\r\n addText,\r\n getStockLogos,\r\n loadingLogo,\r\n ] = use3dddPlus(\r\n (state) => [\r\n state.setSelectedStepper,\r\n state.selectedStepper,\r\n state.addText,\r\n state.getStockLogos,\r\n state.loadingLogo,\r\n ],\r\n shallow\r\n );\r\n const StepperList = [\r\n {\r\n name: 'Upload File',\r\n icon: <MdOutlineFileUpload />,\r\n id: 1,\r\n display: true,\r\n },\r\n {\r\n name: 'My Logos',\r\n icon: <MyLogo />,\r\n id: 2,\r\n display: true,\r\n },\r\n {\r\n name: 'Add Text',\r\n icon: <AddText />,\r\n id: 3,\r\n display: true,\r\n },\r\n {\r\n name: 'Add Mascots',\r\n icon: <AddMascots />,\r\n id: 4,\r\n display: true,\r\n },\r\n {\r\n name: 'product Color',\r\n icon: <ProductColor />,\r\n id: 5,\r\n display: true,\r\n },\r\n ];\r\n\r\n useEffect(() => {\r\n return () => {};\r\n }, []);\r\n\r\n return (\r\n <div className=\"flex flex-row md:flex-col\">\r\n <div\r\n className={` flex flex-row md:flex-col sticky md:relative md:w-[100%] md:max-w-[100%]`}\r\n style={{ boxShadow: '0px 0px 6px #98989829' }}\r\n >\r\n <div\r\n className={`${SELECT_BG_COLOR} flex justify-center cursor-pointer p-2.5 `}\r\n >\r\n <div className=\" flex flex-col items-center justify-center\">\r\n <span className={`stepper-icon-active ${TEXT_SIZE_2} mb-2`}>\r\n <IconButton\r\n label={''}\r\n icon={<RLogo />}\r\n size=\"2rem\"\r\n className={`${TEXT_COLOR_1} pointer-events-auto cursor-pointer m-auto`}\r\n ></IconButton>\r\n </span>\r\n <span\r\n className={`${SELECT_TEXT_COLOR} ${TEXT_SIZE_1} uppercase font-bold text-center`}\r\n >\r\n Logo Designer\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n className={` flex h-[100%] flex-row md:flex-col sticky md:relative md:w-[100%] md:max-w-[100%]`}\r\n style={{ boxShadow: '0px 0px 6px #98989829' }}\r\n >\r\n {StepperList?.map((step) => (\r\n <div\r\n className={\r\n step.id === selectedStepper\r\n ? `${SELECT_BG_COLOR} flex justify-center cursor-pointer p-2.5 `\r\n : 'flex justify-center cursor-pointer p-2.5 '\r\n }\r\n key={step.id}\r\n style={!step.display ? { display: 'none' } : {}}\r\n >\r\n <div\r\n className=\"flex flex-col items-center justify-center \"\r\n onClick={(e) => {\r\n e.preventDefault();\r\n setSelectedStepper(step.id);\r\n if (step.id === 3) {\r\n addText();\r\n }\r\n if (step.id === 4) {\r\n getStockLogos();\r\n }\r\n if (step.id === 2) {\r\n loadingLogo('');\r\n }\r\n }}\r\n >\r\n <span\r\n className={\r\n step.id === selectedStepper\r\n ? `stepper-icon-active ${TEXT_SIZE_2} mb-2`\r\n : `stepper-icon ${TEXT_SIZE_2} mb-2`\r\n }\r\n >\r\n <IconButton\r\n label={''}\r\n icon={step.icon}\r\n size=\"2rem\"\r\n className={`${\r\n step.id === selectedStepper\r\n ? BUTTON_TEXT_COLOR\r\n : TEXT_COLOR_1\r\n } pointer-events-auto cursor-pointer m-auto`}\r\n ></IconButton>\r\n </span>\r\n <span\r\n className={\r\n step.id === selectedStepper\r\n ? `${SELECT_TEXT_COLOR} ${TEXT_SIZE_1} uppercase font-bold text-center`\r\n : `${TEXT_COLOR_1} ${TEXT_SIZE_1} uppercase font-bold text-center`\r\n }\r\n >\r\n {step.name}\r\n </span>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { ColorImpl } from '../colorPallet';\r\nimport { IconButton, FlipH, FlipV } from '../icon';\r\nexport const ImageEdit = ({\r\n nudgeMove,\r\n flipX,\r\n flipY,\r\n changeSVGColor,\r\n activeSelection,\r\n}) => {\r\n return (\r\n <>\r\n <div className=\"uppercase font-bold pt-[17px]\">Color in Canvas</div>\r\n <div className=\"flex gap-x-[1rem] mt-[12px]\">\r\n {activeSelection.colorFill &&\r\n Object.keys(activeSelection?.colorFill)?.map((item) => {\r\n return (\r\n <ColorImpl\r\n mClass={'ml-[36px]'}\r\n key={\r\n activeSelection.colorFill[item] +\r\n activeSelection?.ownMatrixCache?.key\r\n }\r\n handleChange={changeSVGColor}\r\n property={item}\r\n color={activeSelection.colorFill[item]}\r\n />\r\n );\r\n })}\r\n </div>\r\n <div>\r\n <div className=\"font-bold uppercase mt-[17px]\">Flip</div>\r\n <div className=\"flex gap-x-[1rem] mt-[12px]\">\r\n <IconButton\r\n key={`index`}\r\n label=\"\"\r\n icon={<FlipH />}\r\n onClick={flipX}\r\n className={`w-[45px] h-[45px] bg-[#fff] cursor-pointer border border-[#EBEBEB]`}\r\n size=\"1.8rem\"\r\n ></IconButton>\r\n <IconButton\r\n key={`index`}\r\n label=\"\"\r\n onClick={flipY}\r\n icon={<FlipV />}\r\n className={`w-[45px] h-[45px] bg-[#fff] cursor-pointer border border-[#EBEBEB]`}\r\n size=\"1.8rem\"\r\n ></IconButton>\r\n </div>\r\n </div>\r\n <div className=\"mt-[30px]\">\r\n <h3 className=\"font-extrabold\">Nudge</h3>\r\n <button\r\n onClick={nudgeMove}\r\n id=\"down\"\r\n className=\"font-medium text-orange-400\"\r\n >\r\n DOWN\r\n </button>\r\n <button\r\n onClick={nudgeMove}\r\n id=\"up\"\r\n className=\"font-medium text-orange-300 text-lime-400 px-1\"\r\n >\r\n UP\r\n </button>\r\n <button\r\n onClick={nudgeMove}\r\n id=\"left\"\r\n className=\"font-medium text-orange-300 text-teal-500\"\r\n >\r\n LEFT\r\n </button>\r\n <button\r\n onClick={nudgeMove}\r\n id=\"right\"\r\n className=\"font-medium text-orange-300 text-violet-600 px-1\"\r\n >\r\n RIGHT\r\n </button>\r\n </div>\r\n </>\r\n );\r\n};\r\n","import { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { useEffect, useState } from 'react';\r\nimport { ColorImpl } from '../colorPallet';\r\nimport React from 'react';\r\nimport { Tab, initTE } from 'tw-elements';\r\nimport {\r\n BORDER_COLOR_1,\r\n INPUT_BG_COLOR,\r\n SELECT_BG_COLOR,\r\n TEXT_COLOR_1,\r\n TEXT_SIZE_3,\r\n TEXT_SIZE_9,\r\n} from '../../theme';\r\nimport { ImageEdit } from './imageEdit';\r\nimport './rightMenu.css';\r\nimport { FiAlignCenter, FiAlignLeft, FiAlignRight } from 'react-icons/fi';\r\nconst fontFamilies = [\r\n {\r\n name: 'Athletic Block',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/athletic.ttf',\r\n },\r\n {\r\n name: 'Ballpark',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/ballpark.TTF ',\r\n },\r\n {\r\n name: 'Pro Block',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/pro_block.woff',\r\n },\r\n {\r\n name: 'Full Block',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/full_block.woff',\r\n },\r\n {\r\n name: 'Brush Script',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/brush-script-3.ttf',\r\n },\r\n {\r\n name: 'City Block',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/cityb.woff',\r\n },\r\n {\r\n name: 'Tiffany',\r\n src: 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/fonts/tiffany.woff',\r\n },\r\n];\r\n\r\nexport const Rightmenu = () => {\r\n initTE({ Tab });\r\n const textSelected = use3dddPlus.getState().activeSelection;\r\n const canvas = use3dddPlus.getState().fabricCanvas;\r\n const [\r\n colorFill,\r\n currentSelection,\r\n activeSelection,\r\n textInfo,\r\n activeObj,\r\n storeAllObject,\r\n allColor,\r\n setToggleSaveDesign,\r\n ] = use3dddPlus(\r\n (state) => [\r\n state.colorFill,\r\n state.currentSelection,\r\n state.activeSelection,\r\n state.textInfo,\r\n state.activeSelection,\r\n state.storeAllObject,\r\n state.allColor,\r\n state.setToggleSaveDesign,\r\n ],\r\n shallow\r\n );\r\n const [textAlignDisplay, setTextAlignDisplay] = useState(false);\r\n const [outlineVal, setOutlineVal] = useState(0);\r\n const [spacingVal, setSpacinglineVal] = useState(1);\r\n const [sliderValue, setSliderValue] = useState(50);\r\n const [fontStyle, setFontStyle] = useState({\r\n bold: false,\r\n italic: false,\r\n underline: false,\r\n });\r\n const [activeButton, setActiveButton] = useState<string | null>(null);\r\n useEffect(() => {\r\n if (!activeSelection) return;\r\n use3dddPlus.setState({ textInfo: activeSelection.text });\r\n }, [activeSelection]);\r\n\r\n const onTextChange = (e) => {\r\n const lines = e.target.value.split('\\n');\r\n lines.length == 1 ? setTextAlignDisplay(false) : setTextAlignDisplay(true);\r\n use3dddPlus.setState({ textInfo: e.target.value });\r\n textSelected.set('text', use3dddPlus.getState().textInfo);\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n canvas.renderAll();\r\n };\r\n const textAlignHandler = (e) => {\r\n console.log(e.target.id);\r\n setActiveButton(e.target.id);\r\n textSelected.set('textAlign', e.target.id);\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n canvas.renderAll();\r\n };\r\n const handleSliderChange = (event) => {\r\n textSelected.set('fontSize', event.target.value);\r\n canvas.renderAll();\r\n setSliderValue(event.target.value);\r\n };\r\n const fontChange = (e) => {\r\n fontFamilies.map((item) => {\r\n console.log(e, item);\r\n if (item.name == e.target.value) {\r\n const font = new FontFace(item.name, `url('${item.src}')`);\r\n font.load().then((value) => {\r\n //@ts-ignore\r\n document.fonts?.add(value);\r\n document.body.classList.add('fonts-loaded');\r\n textSelected.set('fontFamily', item.name);\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n canvas.renderAll();\r\n });\r\n }\r\n });\r\n };\r\n const textColorChange = (property, color: any) => {\r\n console.log(property);\r\n textSelected.set({\r\n fill: color,\r\n colorFill: { layer0: color },\r\n });\r\n //textSelected.set('fill', color);\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n canvas.renderAll();\r\n };\r\n const nudgeMove = (e) => {\r\n if (e.target.id === 'down') {\r\n if(textSelected.aCoords.br.y > canvas.height - 2)return\r\n use3dddPlus.getState().moveDown(textSelected);\r\n use3dddPlus.getState().updateModifaction(true);\r\n } else if (e.target.id === 'up') {\r\n if(textSelected.aCoords.tr.y < 5)return\r\n use3dddPlus.getState().moveUp(textSelected);\r\n use3dddPlus.getState().updateModifaction(true);\r\n } else if (e.target.id === 'right') {\r\n if(textSelected.aCoords.tr.x > canvas.height - 2)return\r\n use3dddPlus.getState().moveRight(textSelected);\r\n use3dddPlus.getState().updateModifaction(true);\r\n } else if (e.target.id === 'left') {\r\n if(textSelected.aCoords.tl.x < 2)return\r\n use3dddPlus.getState().moveLeft(textSelected);\r\n use3dddPlus.getState().updateModifaction(true);\r\n }\r\n };\r\n const textOutlineHandler = (e) => {\r\n setOutlineVal(e.target.valueAsNumber);\r\n textSelected.strokeWidth = e.target.valueAsNumber;\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n canvas.renderAll();\r\n };\r\n const strokeColorChange = (property, color) => {\r\n console.log(property);\r\n textSelected.set('stroke', color);\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n canvas.renderAll();\r\n };\r\n const textSpacingHandler = (e) => {\r\n setSpacinglineVal(e.target.valueAsNumber);\r\n textSelected.charSpacing = e.target.valueAsNumber; \r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n canvas.renderAll();\r\n if(textSelected.aCoords.tr.x > 480){\r\n return;\r\n }\r\n };\r\n const textStyle = (e: any, key: string, value: any) => {\r\n if (fontStyle[e.target.id]) textSelected.set(key, '');\r\n else textSelected.set(key, value);\r\n setFontStyle((state) => ({ ...state, [e.target.id]: !state[e.target.id] }));\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n canvas.renderAll();\r\n };\r\n const layerHandle = (element, index, num) => {\r\n const currentObject = [...use3dddPlus.getState().storeAllObject];\r\n if (num === 'minus') {\r\n canvas.sendToBack(element);\r\n use3dddPlus.setState({\r\n storeAllObject: changeArr(currentObject, index, index + 1),\r\n });\r\n } else {\r\n canvas.bringToFront(element);\r\n use3dddPlus.setState({\r\n storeAllObject: changeArr(currentObject, index, index - 1),\r\n });\r\n }\r\n };\r\n const changeArr = (arr, fromIndex, toIndex) => {\r\n const element = arr.splice(fromIndex, 1)[0];\r\n arr.splice(toIndex, 0, element);\r\n return arr;\r\n };\r\n const deleteElement = (item) => {\r\n canvas.remove(item);\r\n canvas.requestRenderAll();\r\n removeItem(item);\r\n };\r\n const removeItem = (value: any) => {\r\n //@ts-ignore\r\n var index = use3dddPlus.getState().storeAllObject.indexOf(value);\r\n if (index > -1) {\r\n use3dddPlus.getState().storeAllObject.splice(index, 1);\r\n }\r\n use3dddPlus.setState({\r\n storeAllObject: [...use3dddPlus.getState().storeAllObject],\r\n });\r\n };\r\n const changeSVGTextColor = (property, color) => {\r\n const previousColor = property;\r\n canvas.getObjects().map((data) => {\r\n // console.log(data.type);\r\n if (data.type === 'text') {\r\n let _C = data.fill;\r\n if (_C === previousColor) {\r\n data.set({\r\n fill: color,\r\n colorFill: { layer0: color },\r\n });\r\n }\r\n // canvas.renderAll();\r\n } else if (data.type === 'group') {\r\n // console.log(data);\r\n let objImage = data._objects;\r\n objImage.forEach((ele) => {\r\n const _C = ele.fill.includes('#') ? ele.fill : RGBToHex(ele.fill);\r\n console.log('ele', ele);\r\n if (_C === previousColor) {\r\n ele.set({\r\n fill: color,\r\n // colorFill : colorFill,\r\n });\r\n }\r\n });\r\n const colorFill = { ...data.colorFill };\r\n Object.keys(colorFill).forEach((item) => {\r\n console.log(item);\r\n if (colorFill[item] === previousColor) {\r\n colorFill[item] = color;\r\n }\r\n });\r\n data.set({\r\n colorFill: colorFill,\r\n });\r\n }\r\n });\r\n canvas.renderAll();\r\n };\r\n const changeSVGColor = (property, color) => {\r\n const fillColor = colorFill;\r\n const previousColor = fillColor[property];\r\n const SelectedObjet = use3dddPlus.getState().activeSelection;\r\n let objImage = SelectedObjet._objects;\r\n objImage.forEach((ele) => {\r\n const _C = ele.fill.includes('#') ? ele.fill : RGBToHex(ele.fill);\r\n if (_C === previousColor) {\r\n ele.set({\r\n fill: color,\r\n });\r\n }\r\n });\r\n canvas.renderAll();\r\n fillColor[property] = color;\r\n use3dddPlus.setState({ colorFill: fillColor });\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n };\r\n\r\n const RGBToHex = (rgb) => {\r\n let sep = rgb.indexOf(',') > -1 ? ',' : ' ';\r\n\r\n rgb = rgb.substr(4).split(')')[0].split(sep);\r\n let r = (+rgb[0]).toString(16),\r\n g = (+rgb[1]).toString(16),\r\n b = (+rgb[2]).toString(16);\r\n\r\n if (r.length == 1) r = '0' + r;\r\n if (g.length == 1) g = '0' + g;\r\n if (b.length == 1) b = '0' + b;\r\n return '#' + r + g + b;\r\n };\r\n const flipX = () => {\r\n activeObj.set({\r\n flipX: !activeObj.flipX,\r\n });\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n canvas.renderAll();\r\n };\r\n const flipY = () => {\r\n activeObj.set({\r\n flipY: !activeObj.flipY,\r\n });\r\n use3dddPlus.getState().updateModifaction(true);\r\n use3dddPlus.getState().forIconCapture();\r\n textSelected.icon = use3dddPlus.getState().iconImage;\r\n // activeObj.\r\n canvas.renderAll();\r\n };\r\n const onSave = () => {\r\n if (canvas.getObjects().length > 0) {\r\n setToggleSaveDesign('save', true, 'Save Logo', {});\r\n } else {\r\n alert('NOTHING TO SAVE...');\r\n }\r\n };\r\n useEffect(() => {\r\n const unSub = use3dddPlus.subscribe(\r\n (state) => state.colorFill,\r\n (_current, _previous) => {\r\n // console.log(\"_PREVIUS_COLORFIL\" , _previous);\r\n // console.log(\"_CURRENT_COLOR\",_current);\r\n }\r\n );\r\n return unSub;\r\n }, []);\r\n // console.log(\"====>\",activeSelection,currentSelection)\r\n return (\r\n <div className=\"text-left flex-1 h-[100vh] px-[36px] pt-[23px] relative \">\r\n <div className=\"flex flex-col \">\r\n <h1 className=\"text-[22px] font-bold\">Edit Design</h1>\r\n <ul\r\n className=\" flex list-none mt-[16px] flex-col md:flex-row border-b-0 pl-0\"\r\n role=\"tablist\"\r\n data-te-nav-ref\r\n >\r\n <li\r\n role=\"presentation\"\r\n className=\"flex-grow basis-0 text-center\"\r\n onClick={() => {\r\n use3dddPlus.setState({ currentSelection: 'none' });\r\n canvas.discardActiveObject();\r\n canvas.renderAll();\r\n }}\r\n >\r\n <a\r\n href=\"#tabs-properties\"\r\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]`}\r\n data-te-toggle=\"pill\"\r\n data-te-target=\"#tabs-properties\"\r\n data-te-nav-active\r\n role=\"tab\"\r\n aria-controls=\"tabs-properties\"\r\n aria-selected=\"true\"\r\n >\r\n Properties\r\n </a>\r\n </li>\r\n <li\r\n role=\"presentation\"\r\n className=\"flex-grow basis-0 text-center\"\r\n onClick={() => use3dddPlus.setState({ currentSelection: 'layer' })}\r\n >\r\n <a\r\n href=\"#tabs-layers\"\r\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]`}\r\n data-te-toggle=\"pill\"\r\n data-te-target=\"#tabs-layers\"\r\n role=\"tab\"\r\n aria-controls=\"tabs-layers\"\r\n aria-selected=\"false\"\r\n >\r\n Layers\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n <div\r\n className=\"hidden opacity-100 transition-opacity duration-150 ease-linear data-[te-tab-active]:block\"\r\n id=\"tabs-properties\"\r\n role=\"tabpanel\"\r\n aria-labelledby=\"tabs-home-tab02\"\r\n data-te-tab-active\r\n >\r\n <div className=\"h-[50vh] sm:h-[55vh] 2xl:h-[60vh] overflow-y-auto overflow-x-hidden\">\r\n {currentSelection === 'text' && (\r\n <div className=\" \">\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n Enter Text\r\n </div>\r\n <textarea\r\n value={textInfo}\r\n onChange={onTextChange}\r\n className=\"w-[100%] border border-solid-[1px] border-[#9A9A9A] py-[10px] pl-[16px] mb-[16.5px]\"\r\n placeholder=\"LOGO TEXT\"\r\n />\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n Select Font\r\n </div>\r\n <select\r\n name=\"FontStyleNumber\"\r\n id=\"FontStyleNumber\"\r\n onChange={fontChange}\r\n className={`${INPUT_BG_COLOR} font-bold ${TEXT_COLOR_1} ${TEXT_SIZE_3} border border-solid\t ${BORDER_COLOR_1} select select-bordered w-full rounded-none focus:outline-current focus:outline-offset-0 focus:rounded-sm mb-[16.5px]`}\r\n >\r\n {fontFamilies.map((list) => {\r\n return (\r\n <>\r\n <option value={list.name}>{list.name}</option>\r\n </>\r\n );\r\n })}\r\n </select>\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n TEXT SIZE\r\n </div>\r\n <input\r\n type=\"range\"\r\n value={sliderValue}\r\n onChange={handleSliderChange}\r\n className=\" rangeSlider w-full mb-[16.5px]\"\r\n id=\"slider\"\r\n style={{\r\n background: `linear-gradient(to right, #e11a38 0%, #e11a38 ${sliderValue}%, #fff ${sliderValue}%, #fff 100%)`,\r\n }}\r\n />\r\n\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n Style\r\n </div>\r\n <div className=\"flex gap-x-[15px] mb-[16.5px]\">\r\n {' '}\r\n <button\r\n className={\r\n fontStyle.bold\r\n ? `${SELECT_BG_COLOR} text-[#fff] text-base cursor-pointer border font-bold border-[#EBEBEB] py-[7px] px-[39px] `\r\n : 'bg-[#fff] font-bold text-base cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px]'\r\n }\r\n onClick={(e) => textStyle(e, 'fontWeight', 'bold')}\r\n id=\"bold\"\r\n >\r\n B\r\n </button>\r\n <button\r\n className={\r\n fontStyle.italic\r\n ? `${SELECT_BG_COLOR} text-[#fff] text-base cursor-pointer border italic border-[#EBEBEB] py-[7px] px-[39px] `\r\n : 'bg-[#fff] italic text-base cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px]'\r\n }\r\n onClick={(e) => textStyle(e, 'fontStyle', 'italic')}\r\n id=\"italic\"\r\n >\r\n I\r\n </button>\r\n <button\r\n className={\r\n fontStyle.underline\r\n ? `${SELECT_BG_COLOR} text-[#fff] text-base cursor-pointer border underline border-[#EBEBEB] py-[7px] px-[39px] `\r\n : 'bg-[#fff] underline text-base cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px]'\r\n }\r\n onClick={(e) =>\r\n textStyle(e, 'underline', !fontStyle.underline)\r\n }\r\n id=\"underline\"\r\n >\r\n U\r\n </button>\r\n </div>\r\n\r\n {textAlignDisplay === true && (\r\n <div className=\"textAlign\">\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n Align\r\n </div>\r\n <div className=\"flex gap-x-[15px] mb-[16.5px]\">\r\n <button\r\n type=\"button\"\r\n className={\r\n 'left' === activeButton\r\n ? `${SELECT_BG_COLOR} text-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px] `\r\n : 'bg-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px]'\r\n }\r\n id=\"left\"\r\n onClick={textAlignHandler}\r\n >\r\n <FiAlignLeft id=\"left\" onClick={textAlignHandler} />\r\n </button>\r\n <button\r\n type=\"button\"\r\n className={\r\n 'center' === activeButton\r\n ? `${SELECT_BG_COLOR} text-[#fff] cursor-pointer border border-[#EBEBEB] y-[7px] px-[39px] `\r\n : 'bg-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px]'\r\n }\r\n id=\"center\"\r\n onClick={textAlignHandler}\r\n >\r\n <FiAlignCenter id=\"center\" onClick={textAlignHandler} />\r\n </button>\r\n <button\r\n type=\"button\"\r\n className={\r\n 'right' === activeButton\r\n ? `${SELECT_BG_COLOR} text-[#fff] cursor-pointer border border-[#EBEBEB] y-[7px] px-[39px] `\r\n : 'bg-[#fff] cursor-pointer border border-[#EBEBEB] py-[7px] px-[39px]'\r\n }\r\n id=\"right\"\r\n onClick={textAlignHandler}\r\n >\r\n <FiAlignRight id=\"right\" onClick={textAlignHandler} />\r\n </button>\r\n </div>\r\n </div>\r\n )}\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n Text Color\r\n </div>\r\n <div className=\"relative\">\r\n <ColorImpl\r\n mClass={'ml-0'}\r\n handleChange={textColorChange}\r\n property={'backgroundColor'}\r\n name={'backgroundColor'}\r\n color={activeSelection.fill}\r\n />\r\n </div>\r\n <div className=\"flex gap-2 mt-4\">\r\n <div>\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n Outline Size\r\n </div>\r\n <input\r\n type=\"number\"\r\n id=\"outlineSize\"\r\n name=\"outlineSize\"\r\n step=\"0.2\"\r\n value={outlineVal}\r\n className=\"border border-[#EBEBEB] py-[10px] pl-[16px] mb-[16.5px] w-[145px]\"\r\n onChange={textOutlineHandler}\r\n ></input>\r\n </div>\r\n <div>\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n Outline Color\r\n </div>\r\n <div className=\"relative\">\r\n {' '}\r\n <ColorImpl\r\n mClass={'ml-0'}\r\n handleChange={strokeColorChange}\r\n property={'backgroundColor'}\r\n name={'backgroundColor'}\r\n color={activeSelection.stroke}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"flex gap-2\">\r\n <div>\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n Letter Spacing\r\n </div>\r\n <input\r\n type=\"number\"\r\n id=\"spacing\"\r\n name=\"spacing\"\r\n step=\"10\"\r\n value={spacingVal}\r\n className=\"border border-[#EBEBEB] py-[10px] pl-[16px] mb-[16.5px] w-[145px]\"\r\n onChange={textSpacingHandler}\r\n ></input>\r\n </div>\r\n <div>\r\n <div className=\"uppercase font-bold text-sm mb-[8.5px]\">\r\n Nudge\r\n </div>\r\n <button\r\n onClick={nudgeMove}\r\n id=\"down\"\r\n className=\"font-medium text-orange-400\"\r\n >\r\n DOWN\r\n </button>\r\n <button\r\n onClick={nudgeMove}\r\n id=\"up\"\r\n className=\"font-medium text-orange-300 text-lime-400 px-1\"\r\n >\r\n UP\r\n </button>\r\n <button\r\n onClick={nudgeMove}\r\n id=\"left\"\r\n className=\"font-medium text-orange-300 text-teal-500\"\r\n >\r\n LEFT\r\n </button>\r\n <button\r\n onClick={nudgeMove}\r\n id=\"right\"\r\n className=\"font-medium text-orange-300 text-violet-600 px-1\"\r\n >\r\n RIGHT\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n {currentSelection === 'group' && (\r\n <ImageEdit\r\n flipX={flipX}\r\n flipY={flipY}\r\n changeSVGColor={changeSVGColor}\r\n nudgeMove={nudgeMove}\r\n activeSelection={activeSelection}\r\n />\r\n )}\r\n {currentSelection === 'selectAll' && (\r\n <>\r\n <div className=\"uppercase font-bold pt-[17px]\">\r\n Color in Canvas\r\n </div>\r\n <div className=\"flex gap-x-[1rem] mt-[12px] mb-[12px]\">\r\n {allColor?.map((item) => {\r\n return (\r\n <ColorImpl\r\n mClass={'ml-[36px]'}\r\n key={item}\r\n handleChange={changeSVGTextColor}\r\n property={item}\r\n color={item}\r\n />\r\n );\r\n })}\r\n </div>\r\n <button\r\n onClick={nudgeMove}\r\n id=\"down\"\r\n className=\"font-medium text-orange-400\"\r\n >\r\n DOWN\r\n </button>\r\n <button\r\n onClick={nudgeMove}\r\n id=\"up\"\r\n className=\"font-medium text-orange-300 text-lime-400 px-1\"\r\n >\r\n UP\r\n </button>\r\n <button\r\n onClick={nudgeMove}\r\n id=\"left\"\r\n className=\"font-medium text-orange-300 text-teal-500\"\r\n >\r\n LEFT\r\n </button>\r\n <button\r\n onClick={nudgeMove}\r\n id=\"right\"\r\n className=\"font-medium text-orange-300 text-violet-600 px-1\"\r\n >\r\n RIGHT\r\n </button>\r\n {\r\n // console.log(storeAllObject);\r\n storeAllObject.map((item, index) => {\r\n return (\r\n <div className=\"innerLayer bg-slate-300 my-1\">\r\n <img\r\n className=\"rounded-lg w-14 h-8\"\r\n src={item ? item['icon'] : ''}\r\n ></img>\r\n <button\r\n className=\"up mx-1 px-2 border-solid border-2 border-slate-500 \"\r\n onClick={() => layerHandle(item, index, 'plus')}\r\n >\r\n UP\r\n </button>\r\n <button\r\n className=\"down mx-1 px-2 border-solid border-2 border-slate-500\"\r\n onClick={() => layerHandle(item, index, 'minus')}\r\n >\r\n DOWN\r\n </button>\r\n <button\r\n className=\"close mx-1 px-2 border-solid border-2 border-slate-500\"\r\n onClick={() => deleteElement(item)}\r\n >\r\n DELETE\r\n </button>\r\n </div>\r\n );\r\n })\r\n }\r\n </>\r\n )}\r\n {currentSelection === 'none' && (\r\n <>\r\n <div className=\"uppercase font-bold pt-[17px]\">\r\n Color in Canvas\r\n </div>\r\n <div className=\"flex gap-x-[1rem] mt-[12px]\">\r\n {allColor?.map((item) => {\r\n return (\r\n <ColorImpl\r\n mClass={'ml-[36px]'}\r\n key={item}\r\n handleChange={changeSVGTextColor}\r\n property={item}\r\n color={item}\r\n />\r\n );\r\n })}\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n\r\n <button\r\n type=\"button\"\r\n className=\"mt-3 inline-flex justify-center bg-white px-[110px] py-2 text-sm font-medium text-[#E11A38] shadow-sm ring-1 ring-inset ring-[#E11A38] hover:bg-gray-50 sm:mt-0 w-full\"\r\n onClick={onSave}\r\n >\r\n Save\r\n </button>\r\n </div>\r\n <div\r\n className=\"hidden opacity-0 transition-opacity duration-150 ease-linear data-[te-tab-active]:block\"\r\n id=\"tabs-layers\"\r\n role=\"tabpanel\"\r\n aria-labelledby=\"tabs-profile-tab02\"\r\n >\r\n {currentSelection === 'layer' && (\r\n <div className=\"\">\r\n {storeAllObject.map((item, index) => {\r\n return (\r\n <div className=\"innerLayer bg-slate-300 my-1\">\r\n <img\r\n className=\"rounded-lg w-14 h-8\"\r\n src={item ? item['icon'] : ''}\r\n ></img>\r\n <button\r\n className=\"up mx-1 px-2 border-solid border-2 border-slate-500 \"\r\n onClick={() => layerHandle(item, index, 'plus')}\r\n >\r\n UP\r\n </button>\r\n <button\r\n className=\"down mx-1 px-2 border-solid border-2 border-slate-500\"\r\n onClick={() => layerHandle(item, index, 'minus')}\r\n >\r\n DOWN\r\n </button>\r\n <button\r\n className=\"close mx-1 px-2 border-solid border-2 border-slate-500\"\r\n onClick={() => deleteElement(item)}\r\n >\r\n DELETE\r\n </button>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { MdOutlineArrowForwardIos } from 'react-icons/md';\r\nimport { Searchbar } from '../searchbar';\r\nimport { Card, CardMedia, CardBody, CardTitle } from '../card';\r\nimport { Button } from '../button';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { use3dddPlus } from '../../store';\r\nimport { Loader } from '../loader';\r\nexport const AddMascot = () => {\r\n const [stockLogos, stockLogoHandler, loading] = use3dddPlus(\r\n (state) => [state.stockLogos, state.stockLogoHandler, state.loading],\r\n shallow\r\n );\r\n return (\r\n <>\r\n <div className=\"bg-[#F7F7F7] absolute z-100 w-[90%] h-full pr-[56px]\">\r\n <div className=\"w-full flex mt-[50px] flex-row\">\r\n <div className=\"w-1/2 flex justify-end\">\r\n <select className=\"w-[168px] mr-[24px]\">\r\n <option value={'all'}>All</option>\r\n </select>\r\n </div>\r\n <div className=\" flex-1 justify-end\">\r\n <Searchbar placeholder={'Search Stock Logos'}></Searchbar>\r\n </div>\r\n </div>\r\n <div className=\"flex flex-row gap-2\">\r\n <div className=\" bg-[#FFFFFF] ml-[27px] pt-[28px] w-[30%] mt-[30px]\">\r\n <h3 className=\"ml-[38px] mt-[28px] font-bold\">MASCOTS CATEGORY</h3>\r\n <Button\r\n label=\"Namedrops\"\r\n className=\"text-[15px] !w-[auto] flex-row ml-[30px] mt-[10px] bg-transparent focus:text-[#e11a38]\"\r\n icons={<MdOutlineArrowForwardIos />}\r\n onClick={undefined}\r\n children={undefined}\r\n />\r\n <Button\r\n label=\"Arrows\"\r\n className=\"text-[15px] !w-[auto] flex-row ml-[30px] mt-[-22px] bg-transparent focus:text-[#e11a38]\"\r\n icons={<MdOutlineArrowForwardIos />}\r\n onClick={undefined}\r\n children={undefined}\r\n />\r\n <Button\r\n label=\"Bears\"\r\n className=\"flex-row ml-[30px] mt-[-22px] bg-transparent focus:text-[#e11a38] text-[15px] !w-[auto]\"\r\n icons={<MdOutlineArrowForwardIos />}\r\n onClick={undefined}\r\n children={undefined}\r\n />\r\n <Button\r\n label=\"Boar\"\r\n className=\"flex-row ml-[30px] mt-[-22px] bg-transparent focus:text-[#e11a38] text-[15px] !w-[auto]\"\r\n icons={<MdOutlineArrowForwardIos />}\r\n onClick={undefined}\r\n children={undefined}\r\n />\r\n </div>\r\n <div className=\"flex mt-[30px] overflow-y-auto overflow-x-hidden h-[65vh] w-[70%]\">\r\n <div className=\"max-h-[140px] grid gap-3.5 grid-cols-3 md:grid-cols-3 lg:grid-cols-4 w-full \">\r\n {stockLogos.length > 0\r\n ? stockLogos.map((logo, index) => (\r\n <Card\r\n key={'logoImage' + index}\r\n cardClass={`rounded-none bg-white cursor-pointer `}\r\n style={{ boxShadow: '0px 0px 6px #98989829' }}\r\n onClick={() => stockLogoHandler(logo)}\r\n >\r\n <CardMedia src={logo} imageClass=\"h-[50px] mt-[26px]\" />\r\n\r\n <CardBody bodyClass=\"p-2.5 mt-[13px]\">\r\n <CardTitle\r\n titleClass={`text-[11px] uppercase`}\r\n name={'LOGO NAME'}\r\n />\r\n </CardBody>\r\n </Card>\r\n ))\r\n : 'No Stock Logos'}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n {loading && <Loader />}\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\n// import { use3dddPlus } from '../../store';\r\nimport { BACKDROP_BLUR, MODAL_BG_COLOR } from '../../theme';\r\n\r\nexport interface ModalProps {\r\n children?: React.ReactNode;\r\n className?: string;\r\n}\r\n\r\nexport const SaveDesignModal = ({ children, className = '' }: ModalProps) => {\r\n // const closeDesign = use3dddPlus((state) => state.setToggleSaveDesign);\r\n return (\r\n <>\r\n <div className={`modal modal-middle modal-open`}>\r\n <div className={`${className} modal-box ${MODAL_BG_COLOR} `}>\r\n {children}\r\n </div>\r\n <form method=\"dialog\" className={`modal-backdrop ${BACKDROP_BLUR}`}>\r\n <button>close</button>\r\n </form>\r\n </div>\r\n </>\r\n );\r\n};","import React, { useState, useEffect } from 'react';\r\nimport {\r\n BUTTON_TEXT_COLOR,\r\n EDIT_DESIGN_INFO_BG_COLOR_4,\r\n EDIT_DESIGN_INFO_INPUT_BORDER_COLOR,\r\n EDIT_DESIGN_INFO_TEXT_COLOR_1,\r\n EDIT_DESIGN_INFO_TEXT_COLOR_2,\r\n EDIT_DESIGN_INFO_TEXT_COLOR_3,\r\n INPUT_ERROR_BORDER_COLOR,\r\n INPUT_ERROR_TEXT_COLOR,\r\n SAVEBUTTON_BG_COLOR,\r\n SECONDARY_COLOR,\r\n TEXT_SIZE_12,\r\n TEXT_SIZE_4,\r\n TEXT_SIZE_5,\r\n TEXT_SIZE_9,\r\n} from '../../theme';\r\nimport { RxCross2 } from 'react-icons/rx';\r\nimport { use3dddPlus } from '../../store';\r\nimport { SaveDesignModal } from './saveDesignModal';\r\nimport './saveDesign.css';\r\n\r\nexport const SaveDesign = () => {\r\n const [designNameValidation, setDesignNameValidation] = useState('');\r\n const [tagName, setTagName] = useState('');\r\n const [commaInTagName, setCommaInTagName] = useState(false);\r\n const [\r\n canvas,\r\n designName,\r\n designTag,\r\n closeModal,\r\n toggleSaveDesign,\r\n disableSaveButton,\r\n saveLogo,\r\n uploadLogoConfig,\r\n ] = use3dddPlus((state) => [\r\n state.fabricCanvas,\r\n state.designName,\r\n state.designTag,\r\n state.setToggleSaveDesign,\r\n state.toggleSaveDesign,\r\n state.disableSaveButton,\r\n state.saveLogo,\r\n state.uploadLogoConfig,\r\n ]);\r\n\r\n useEffect(() => {\r\n return () => {};\r\n }, []);\r\n\r\n const checkValidations = () => {\r\n const nameValidation = designName.length >= 3;\r\n if (!nameValidation) {\r\n setDesignNameValidation('length');\r\n return nameValidation;\r\n } else {\r\n const reg = /^[a-zA-Z0-9 ]+$/;\r\n const regTest = reg.test(designName);\r\n if (!!regTest) {\r\n setDesignNameValidation('');\r\n return nameValidation;\r\n }\r\n return false;\r\n }\r\n };\r\n const onSaveHandler = async () => {\r\n if (!checkValidations()) return;\r\n const dataURL = canvas.toDataURL();\r\n\r\n const canvasData = use3dddPlus.getState().applyColorFill();\r\n // const canvasGetobject = canvas.getObjects();\r\n // canvasData.objects.forEach((element, index) => {\r\n // element.colorFill = canvasGetobject[index].colorFill;\r\n // });\r\n const dataCh = JSON.stringify(canvasData);\r\n const S3UrlPath = await uploadLogoConfig(dataCh, 117015);\r\n const raw = JSON.stringify({\r\n customer_id: 117015,\r\n tag: designTag.join(''),\r\n name: designName,\r\n base64_image: dataURL,\r\n logo_config_url: S3UrlPath,\r\n });\r\n saveLogo(raw).then(() => {\r\n closeModal('', false, '', {});\r\n alert('Logo Saved Successfully');\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (tagName !== '') {\r\n const reg = /^[a-zA-Z0-9 ]+$/;\r\n const regTest = reg.test(tagName);\r\n\r\n if (!regTest) {\r\n setCommaInTagName(true);\r\n } else if (!!commaInTagName) {\r\n setCommaInTagName(false);\r\n }\r\n } else if (!!commaInTagName) {\r\n setCommaInTagName(false);\r\n }\r\n }, [tagName]);\r\n\r\n useEffect(() => {\r\n if (designName !== '') {\r\n const reg = /^[a-zA-Z0-9 ]+$/;\r\n const regTest = reg.test(designName);\r\n if (!regTest) {\r\n setDesignNameValidation('specialCharacter');\r\n } else if (designNameValidation === 'specialCharacter') {\r\n setDesignNameValidation('');\r\n }\r\n } else if (designNameValidation === 'specialCharacter') {\r\n setDesignNameValidation('');\r\n }\r\n }, [designName]);\r\n\r\n const handleTagChange = (event: any) => {\r\n if (event?.target?.value !== ' ') {\r\n setTagName(event.target.value);\r\n }\r\n };\r\n\r\n const handleKeyDown = (event: any) => {\r\n if (designTag.length > 4 && tagName !== '') {\r\n event.preventDefault();\r\n alert('Maximum number of tag can be 5');\r\n setTagName('');\r\n return;\r\n }\r\n\r\n if (\r\n event.key === 'Enter' ||\r\n event.key === 'Tab' ||\r\n (event.keyCode === 188 && tagName !== '') ||\r\n (event.type === 'blur' && tagName !== '')\r\n ) {\r\n event.preventDefault();\r\n\r\n const reg = /^[a-zA-Z0-9 ]+$/;\r\n const regTest = reg.test(tagName);\r\n if (!regTest) {\r\n setCommaInTagName(true);\r\n return;\r\n }\r\n if (!!regTest) {\r\n tagName !== '' && handleAdd();\r\n }\r\n } else if (tagName === '' && event.key === 'Backspace') {\r\n handleBackspace();\r\n }\r\n };\r\n\r\n const handleNameChange = (value) => {\r\n use3dddPlus.setState({ designName: value });\r\n if (designNameValidation === 'length') {\r\n setDesignNameValidation('');\r\n }\r\n };\r\n\r\n const handleAdd = () => {\r\n let newList = [...designTag];\r\n if (!newList.includes(tagName.trim())) {\r\n newList.push(tagName.trim());\r\n }\r\n use3dddPlus.setState({ designTag: newList.filter(Boolean) });\r\n setTagName('');\r\n };\r\n\r\n const handleBackspace = () => {\r\n let newList = [...designTag];\r\n newList.pop();\r\n use3dddPlus.setState({ designTag: newList.filter(Boolean) });\r\n };\r\n\r\n const handleDelete = (e) => {\r\n const newList = designTag.filter((item) => item !== e);\r\n use3dddPlus.setState({ designTag: newList });\r\n };\r\n const onCancelHandler = () => {\r\n closeModal('', false, '', {});\r\n };\r\n return (\r\n <SaveDesignModal\r\n className={`md:absolute md:right-30 rounded-none p-0 md:h-auto max-h-screen max-w-[37.125rem] w-[80%] md:w-full m-[auto]\r\n `}\r\n >\r\n <button\r\n className=\"absolute right-[0.6875rem] top-[0.6875rem] px-[0.75rem] py-[0.75rem] hover:bg-[#E11A38] hover:text-[#ffffff] hover:rounded-none\"\r\n onClick={() => {\r\n use3dddPlus.getState().goBack();\r\n closeModal('', false, '', {});\r\n }}\r\n >\r\n <RxCross2 strokeWidth={1} />\r\n </button>\r\n\r\n <div className={`flex h-max w-full`}>\r\n <div\r\n className={`w-full md:px-[112px] md:p-[98px] p-[30px] bg-white h-full flex justify-center`}\r\n >\r\n <div className=\"w-full\">\r\n <span\r\n className={`block mb-6 font-bold text-2xl lh-1 ${SECONDARY_COLOR} uppercase leading-[2.3125rem] font-bold ${EDIT_DESIGN_INFO_TEXT_COLOR_1} ${TEXT_SIZE_5}\r\n `}\r\n >\r\n {toggleSaveDesign.title}\r\n </span>\r\n <div>\r\n <div className=\"relative\">\r\n <input\r\n type=\"text\"\r\n id=\"exampleFormControlInput2\"\r\n name=\"designName\"\r\n className={`${\r\n designNameValidation === 'length'\r\n ? 'mb-[1rem]'\r\n : 'mb-[1.25rem]'\r\n } ${\r\n designNameValidation === 'length'\r\n ? `border ${INPUT_ERROR_BORDER_COLOR}`\r\n : `border ${EDIT_DESIGN_INFO_INPUT_BORDER_COLOR}`\r\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`}\r\n placeholder=\" \"\r\n value={designName}\r\n onChange={(e) =>\r\n handleNameChange(e?.target?.value?.trimStart())\r\n }\r\n onClick={(e) => {\r\n e.currentTarget.focus();\r\n }}\r\n />\r\n <label\r\n htmlFor=\"exampleFormControlInput2\"\r\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`}\r\n >\r\n Design Name\r\n </label>\r\n </div>\r\n {designNameValidation === 'length' && (\r\n <div\r\n role=\"alert\"\r\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-[1.25rem]`}\r\n >\r\n * Please enter a name with at least 3 characters\r\n </div>\r\n )}\r\n {designNameValidation === 'specialCharacter' && (\r\n <div\r\n role=\"alert\"\r\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-[1.25rem]`}\r\n >\r\n * Design Name can not have any special characters\r\n </div>\r\n )}\r\n <div\r\n className={`relative flex flex-row py-[0.695rem] border ${EDIT_DESIGN_INFO_INPUT_BORDER_COLOR} mb-5 flex-wrap place-content-start`}\r\n >\r\n <div className=\"flex flex-row gap-[0.5rem] flex-wrap items-center px-[1rem]\">\r\n {Array.isArray(designTag) &&\r\n designTag?.map((el: any, i) => (\r\n <div\r\n key={i}\r\n className={`${TEXT_SIZE_12} leading-[0.8125rem] flex h-[1.5rem] items-center pt-[0.375rem] pb-[0.3125rem] px-[0.5rem] rounded gap-[0.4375rem] ${EDIT_DESIGN_INFO_TEXT_COLOR_1} ${EDIT_DESIGN_INFO_BG_COLOR_4}`}\r\n >\r\n {el}\r\n <button onClick={() => handleDelete(el)}>\r\n <RxCross2\r\n className={`${EDIT_DESIGN_INFO_TEXT_COLOR_1} font-bold`}\r\n />\r\n </button>\r\n </div>\r\n ))}\r\n\r\n <div>\r\n <input\r\n name=\"tags\"\r\n type=\"text\"\r\n placeholder=\" \"\r\n className={`designTagsInput ${EDIT_DESIGN_INFO_TEXT_COLOR_3} font-medium block w-[6.25rem] focus:outline-none`}\r\n value={tagName}\r\n onChange={handleTagChange}\r\n onKeyDown={handleKeyDown}\r\n onBlur={handleKeyDown}\r\n id=\"exampleFormControlInput3\"\r\n onClick={(e) => {\r\n e.currentTarget.focus();\r\n }}\r\n />\r\n <label\r\n htmlFor=\"exampleFormControlInput3\"\r\n className={`py-[0.695rem] ${\r\n designTag?.length > 0 ? 'tagClass' : ''\r\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`}\r\n >\r\n Tags\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n {!!commaInTagName && (\r\n <div\r\n role=\"alert\"\r\n className={`text-sm ${INPUT_ERROR_TEXT_COLOR} mb-5`}\r\n >\r\n * Tag Name can not have any special characters\r\n </div>\r\n )}\r\n\r\n <div\r\n className={`${\r\n !disableSaveButton ? 'flex flex-col lg:flex-row' : ''\r\n } gap-[19px] leading-[23px] font-bold ${TEXT_SIZE_4}`}\r\n >\r\n {toggleSaveDesign.key === 'save' && (\r\n <>\r\n <button\r\n className={`md:btn-md lg:w-2/5 w-full rounded-none uppercase active:bg-violet-700 ${SAVEBUTTON_BG_COLOR} ${BUTTON_TEXT_COLOR}`}\r\n onClick={() => onSaveHandler()}\r\n >\r\n SAVE\r\n </button>\r\n <button\r\n className={`md:btn-md lg:w-2/5 w-full rounded-none uppercase border border-1 border-[#5d5d5d] hover:text-[#ffffff] hover:bg-[#E11A38] hover:border-[#E11A38] justify-center items-center `}\r\n onClick={() => onCancelHandler()}\r\n >\r\n Cancel\r\n </button>\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </SaveDesignModal>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { Canvas } from '../canvas';\r\nimport { use3dddPlus } from '../../store';\r\nimport { shallow } from 'zustand/shallow';\r\nimport { UploadLogo } from '../uploadLogo';\r\nimport { Rightmenu } from '../Rightmenu';\r\nimport { AddMascot } from '../addMascot';\r\nimport { MyLogo } from '../myLogo';\r\nimport { SaveDesign } from '../saveDesign';\r\nexport const MiddleMenu = ({onApply}) => {\r\n const [selectedStepper, toggleSaveDesign, loadingLogo] = use3dddPlus(\r\n (state) => [\r\n state.selectedStepper,\r\n state.toggleSaveDesign,\r\n state.loadingLogo,\r\n ],\r\n shallow\r\n );\r\n React.useEffect(() => {\r\n if (selectedStepper === 2) loadingLogo('');\r\n }, []);\r\n return (\r\n <>\r\n <div className=\" flex flex-col md:flex-row flex-1 z-0 w-[90%] h-full\">\r\n <div className=\"flex w-[70%] h-[100%]\">\r\n <Canvas />\r\n </div>\r\n {toggleSaveDesign.status && <SaveDesign />}\r\n <div className=\"flex-1 z-10 h-[100%] \">\r\n <Rightmenu />\r\n </div>\r\n </div>\r\n {selectedStepper === 1 && <UploadLogo />}\r\n {selectedStepper === 4 && <AddMascot />}\r\n {selectedStepper === 2 && <MyLogo onApply={onApply}/>}\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nimport './index.css';\r\nimport { use3dddPlus } from './store';\r\n// import { createRoot } from 'react-dom/client';\r\nimport * as Components from './components';\r\nimport * as services from './services';\r\nimport { LeftMenu } from './components/leftMenu';\r\nimport { MiddleMenu } from './components/middleMenu';\r\n// import { Modal } from './components';\r\n\r\n// import { ToastContainer, toast } from 'react-toastify';\r\n// Please do not use types off of a default export module or else Storybook Docs will suffer.\r\n// see: https://github.com/storybookjs/storybook/issues/9556\r\n/**\r\n * A custom App component. Neat!\r\n */\r\nconst LogoEditor = ({ stepperId, onApply }) => {\r\n const [setSelectedStepper] = use3dddPlus((state) => [\r\n state.setSelectedStepper,\r\n ]);\r\n React.useEffect(() => {\r\n setSelectedStepper(stepperId);\r\n }, [stepperId]);\r\n\r\n return (\r\n // <Modal\r\n // backdropStyle={`z-[7]`}\r\n // contentStyle={\r\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'\r\n // }\r\n // >\r\n <div className=\" flex flex-col md:flex-row w-full h-[88vh]\">\r\n <div className=\"lg:w-[10%]\">\r\n <LeftMenu />\r\n </div>\r\n <div className=\" flex h-full w-[90%]\">\r\n <MiddleMenu onApply={onApply} />\r\n </div>\r\n </div>\r\n // </Modal>\r\n );\r\n};\r\n// const container = document.getElementById('root');\r\n// const root = createRoot(container!); // createRoot(container!) if you use TypeScript\r\n// root.render(<LogoEditor stepperId={1} onApply={undefined} />);\r\n\r\nexport { LogoEditor, Components, use3dddPlus, services };\r\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","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"],"mappings":"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"}
1
+ {"version":3,"file":"logoeditor.esm.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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"}