labellife-design-tool 2.1.8 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +38 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/model/store.js +30 -2
- package/dist/cjs/model/store.js.map +1 -1
- package/dist/cjs/toolbar/toolbar.js +8 -5
- package/dist/cjs/toolbar/toolbar.js.map +1 -1
- package/dist/esm/index.js +38 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/model/store.js +30 -2
- package/dist/esm/model/store.js.map +1 -1
- package/dist/esm/toolbar/toolbar.js +8 -5
- package/dist/esm/toolbar/toolbar.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar.js","sources":["../../../src/utils/fonts.js","../../../src/utils/l10n.js","../../../src/config.js","../../../src/toolbar/toolbar.js"],"sourcesContent":["const GOOGLE_FONTS_API = 'https://www.googleapis.com/webfonts/v1/webfonts';\n\nlet cachedFonts = null;\n\nexport async function fetchGoogleFonts(apiKey) {\n if (cachedFonts) return cachedFonts;\n\n try {\n const url = apiKey\n ? `${GOOGLE_FONTS_API}?key=${apiKey}&sort=popularity`\n : `${GOOGLE_FONTS_API}?sort=popularity`;\n const response = await fetch(url);\n const data = await response.json();\n cachedFonts = (data.items || []).map((font) => ({\n fontFamily: font.family,\n variants: font.variants || [],\n category: font.category,\n url: `https://fonts.googleapis.com/css2?family=${encodeURIComponent(\n font.family\n )}&display=swap`,\n }));\n return cachedFonts;\n } catch (e) {\n console.warn('Failed to fetch Google Fonts list', e);\n return [];\n }\n}\n\nexport async function loadGoogleFont(fontFamily) {\n const id = `google-font-${fontFamily.replace(/\\s+/g, '-').toLowerCase()}`;\n const existing = document.getElementById(id);\n\n if (!existing) {\n // Add the stylesheet and wait for it to load before checking fonts\n await new Promise((resolve) => {\n const link = document.createElement('link');\n link.id = id;\n link.href = `https://fonts.googleapis.com/css2?family=${encodeURIComponent(\n fontFamily\n )}:wght@100;200;300;400;500;600;700;800;900&display=swap`;\n link.rel = 'stylesheet';\n link.onload = () => resolve();\n link.onerror = () => resolve();\n document.head.appendChild(link);\n });\n }\n\n // Now that the CSS is loaded, wait for the actual font files to download\n try {\n await document.fonts.load(`16px \"${fontFamily}\"`);\n await document.fonts.load(`bold 16px \"${fontFamily}\"`);\n await document.fonts.ready;\n } catch (e) {\n console.warn(`Font \"${fontFamily}\" may not have loaded correctly.`, e);\n }\n}\n\nexport function clearFontCache() {\n cachedFonts = null;\n}\n\n// Comprehensive list of Google Fonts matching Polotno's font library\nexport const DEFAULT_FONTS = [\n 'ABeeZee','Abel','Abhaya Libre','Abril Fatface','Aclonica','Acme','Actor',\n 'Adamina','Advent Pro','Aguafina Script','Akronim','Aladin','Alata','Alatsi',\n 'Albert Sans','Aldrich','Alef','Alegreya','Alegreya Sans','Alegreya Sans SC',\n 'Alegreya SC','Aleo','Alex Brush','Alfa Slab One','Alice','Alike',\n 'Alike Angular','Allan','Allerta','Allerta Stencil','Allison','Allura',\n 'Almarai','Almendra','Almendra Display','Almendra SC','Alumni Sans',\n 'Alumni Sans Inline One','Amarante','Amaranth','Amatic SC','Amethysta',\n 'Amiko','Amiri','Amita','Anaheim','Andada Pro','Andika','Anek Bangla',\n 'Anek Devanagari','Anek Gujarati','Anek Gurmukhi','Anek Kannada',\n 'Anek Latin','Anek Malayalam','Anek Odia','Anek Tamil','Anek Telugu',\n 'Angkor','Annie Use Your Telescope','Anonymous Pro','Antic','Antic Didone',\n 'Antic Slab','Anton','Antonio','Anybody','Arapey','Arbutus','Arbutus Slab',\n 'Architects Daughter','Archivo','Archivo Black','Archivo Narrow','Are You Serious',\n 'Aref Ruqaa','Arima','Arimo','Arizonia','Armata','Arsenal','Artifika',\n 'Arvo','Arya','Asap','Asap Condensed','Asar','Asset','Assistant',\n 'Astloch','Asul','Athiti','Atkinson Hyperlegible','Atma','Atomic Age',\n 'Aubrey','Audiowide','Autour One','Average','Average Sans','Averia Gruesa Libre',\n 'Averia Libre','Averia Sans Libre','Averia Serif Libre',\n 'Azeret Mono','B612','B612 Mono','Bad Script','Bahiana','Bahianita',\n 'Bai Jamjuree','Bakbak One','Ballet','Baloo 2','Baloo Bhai 2',\n 'Baloo Bhaijaan 2','Baloo Bhaina 2','Baloo Chettan 2','Baloo Da 2',\n 'Baloo Paaji 2','Baloo Tamma 2','Baloo Tammudu 2','Baloo Thambi 2',\n 'Balsamiq Sans','Balthazar','Bangers','Barlow','Barlow Condensed',\n 'Barlow Semi Condensed','Barriecito','Barrio','Basic','Baskervville',\n 'Battambang','Baumans','Bayon','Be Vietnam Pro','Beau Rivage',\n 'Bebas Neue','Belgrano','Bellefair','Belleza','Bellota','Bellota Text',\n 'BenchNine','Benne','Bentham','Berkshire Swash','Besley','Beth Ellen',\n 'Bevan','BIZ UDGothic','BIZ UDMincho','BIZ UDPGothic','BIZ UDPMincho',\n 'Big Shoulders Display','Big Shoulders Inline Display',\n 'Big Shoulders Inline Text','Big Shoulders Stencil Display',\n 'Big Shoulders Stencil Text','Big Shoulders Text','Bigelow Rules',\n 'Bigshot One','Bilbo','Bilbo Swash Caps','BioRhyme','BioRhyme Expanded',\n 'Birthstone','Birthstone Bounce','Bitter','Black And White Picture',\n 'Black Han Sans','Black Ops One','Blaka','Blaka Hollow','Blaka Ink',\n 'Blinker','Bodoni Moda','Bokor','Bona Nova','Bonbon','Bonheur Royale',\n 'Boogaloo','Bowlby One','Bowlby One SC','Brawler','Bree Serif',\n 'Brygada 1918','Bubblegum Sans','Bubbler One','Buda','Buenard',\n 'Bungee','Bungee Hairline','Bungee Inline','Bungee Outline',\n 'Bungee Shade','Bungee Spice','Butcherman','Butterfly Kids',\n 'Cabin','Cabin Condensed','Cabin Sketch','Caesar Dressing','Cagliostro',\n 'Cairo','Cairo Play','Caladea','Calistoga','Calligraffitti','Cambay',\n 'Cambo','Candal','Cantarell','Cantata One','Cantora One','Caprasimo',\n 'Capriola','Caramel','Carattere','Cardo','Carlito','Carme','Carrois Gothic',\n 'Carrois Gothic SC','Carter One','Castoro','Catamaran','Caudex','Caveat',\n 'Caveat Brush','Cedarville Cursive','Ceviche One','Chakra Petch',\n 'Changa','Changa One','Chango','Charis SIL','Charm','Charmonman',\n 'Chathura','Chau Philomene One','Chela One','Chelsea Market',\n 'Chenla','Cherry Bomb One','Cherry Cream Soda','Cherry Swash',\n 'Chewy','Chicle','Chilanka','Chivo','Chivo Mono','Chonburi',\n 'Cinzel','Cinzel Decorative','Clicker Script','Coda','Coda Caption',\n 'Codystar','Coiny','Combo','Comfortaa','Comforter','Comforter Brush',\n 'Comic Neue','Coming Soon','Commissioner','Concert One','Condiment',\n 'Content','Contrail One','Convergence','Cookie','Copse','Corben',\n 'Corinthia','Cormorant','Cormorant Garamond','Cormorant Infant',\n 'Cormorant SC','Cormorant Unicase','Cormorant Upright','Courgette',\n 'Courier Prime','Cousine','Coustard','Covered By Your Grace',\n 'Crafty Girls','Creepster','Crete Round','Crimson Pro','Crimson Text',\n 'Croissant One','Crushed','Cuprum','Cute Font','Cutive','Cutive Mono',\n 'DM Mono','DM Sans','DM Serif Display','DM Serif Text',\n 'Damion','Dancing Script','Dangrek','Darker Grotesque','David Libre',\n 'Dawning of a New Day','Days One','Dekko','Dela Gothic One','Delius',\n 'Delius Swash Caps','Delius Unicase','Della Respira','Denk One',\n 'Devonshire','Dhurjati','Didact Gothic','Diplomata','Diplomata SC',\n 'Do Hyeon','Dokdo','Domine','Donegal One','Dongle','Doppio One',\n 'Dorsa','Dosis','DotGothic16','Dr Sugiyama','Duru Sans',\n 'DynaPuff','Dynalight',\n 'EB Garamond','Eagle Lake','East Sea Dokdo','Eater','Economica',\n 'Eczar','El Messiri','Electrolize','Elsie','Elsie Swash Caps',\n 'Emblema One','Emilys Candy','Encode Sans','Encode Sans Condensed',\n 'Encode Sans Expanded','Encode Sans SC','Encode Sans Semi Condensed',\n 'Encode Sans Semi Expanded','Engagement','Englebert','Enriqueta',\n 'Ephesis','Epilogue','Erica One','Esteban','Estonia','Euphoria Script',\n 'Ewert','Exo','Exo 2','Expletus Sans','Explora',\n 'Fahkwang','Familjen Grotesk','Fanwood Text','Farro','Farsan',\n 'Fascinate','Fascinate Inline','Faster One','Fasthand','Fauna One',\n 'Faustina','Federant','Federo','Felipa','Fenix','Festive',\n 'Finger Paint','Finlandica','Fira Code','Fira Mono','Fira Sans',\n 'Fira Sans Condensed','Fira Sans Extra Condensed','Fjalla One',\n 'Fjord One','Flamenco','Flavors','Fleur De Leah','Flow Block',\n 'Flow Circular','Flow Rounded','Fondamento','Fontdiner Swanky',\n 'Forum','Fragment Mono','Francois One','Frank Ruhl Libre',\n 'Fraunces','Freckle Face','Fredericka the Great','Fredoka',\n 'Freehand','Fresca','Frijole','Fruktur','Fugaz One','Fuggles',\n 'Fuzzy Bubbles',\n 'GFS Didot','GFS Neohellenic','Gabriela','Gaegu','Gafata',\n 'Galada','Galdeano','Galindo','Gamja Flower','Gantari',\n 'Gas','Gayathri','Gelasio','Gemunu Libre','Genos',\n 'Gentium Book Plus','Gentium Plus','Geo','Georama','Geostar',\n 'Geostar Fill','Germania One','Gideon Roman','Gidugu',\n 'Gilda Display','Girassol','Give You Glory','Glass Antiqua',\n 'Glegoo','Gloria Hallelujah','Glory','Gluten','Goblin One',\n 'Gochi Hand','Goldman','Goldplay','Golos Text','Gorditas',\n 'Gothic A1','Gotu','Goudy Bookletter 1911','Gowun Batang',\n 'Gowun Dodum','Graduate','Grand Hotel','Grandstander',\n 'Grape Nuts','Gravitas One','Great Vibes','Grechen Fuemen',\n 'Grenze','Grenze Gotisch','Grey Qo','Griffy','Gruppo',\n 'Gudea','Gugi','Gulzar','Gupter','Gurajada','Gwendolyn',\n 'Habibi','Hachi Maru Pop','Hahmlet','Halant','Hammersmith One',\n 'Hanalei','Hanalei Fill','Handlee','Hanken Grotesk','Hanuman',\n 'Happy Monkey','Harmattan','Headland One','Heebo','Henny Penny',\n 'Hepta Slab','Herr Von Muellerhoff','Hi Melody','Hina Mincho',\n 'Hind','Hind Guntur','Hind Madurai','Hind Siliguri','Hind Vadodara',\n 'Holtwood One SC','Homemade Apple','Homenaje','Hubballi',\n 'Hurricane','IBM Plex Mono','IBM Plex Sans','IBM Plex Sans Arabic',\n 'IBM Plex Sans Condensed','IBM Plex Sans Devanagari','IBM Plex Sans Hebrew',\n 'IBM Plex Sans JP','IBM Plex Sans KR','IBM Plex Sans Thai',\n 'IBM Plex Sans Thai Looped','IBM Plex Serif','Iceberg','Iceland',\n 'Imbue','Imperial Script','Imprima','Inconsolata','Inder',\n 'Indie Flower','Ingrid Darling','Inika','Inknut Antiqua',\n 'Inria Sans','Inria Serif','Inspiration','Inter','Inter Tight',\n 'Irish Grover','Island Moments','Istok Web','Italiana','Italianno',\n 'Itim','Jacques Francois','Jacques Francois Shadow',\n 'Jaldi','JetBrains Mono','Jim Nightshade','Joan','Jockey One',\n 'Jolly Lodger','Jomhuria','Jomolhari','Josefin Sans','Josefin Slab',\n 'Jost','Joti One','Jua','Judson','Julee','Julius Sans One',\n 'Junge','Jura',\n 'K2D','Kadwa','Kaisei Decol','Kaisei HarunoUmi','Kaisei Opti',\n 'Kaisei Tokumin','Kalam','Kameron','Kanit','Kantumruy Pro',\n 'Karantina','Karla','Karma','Katibeh','Kaushan Script','Kavivanar',\n 'Kavoon','Kdam Thmor Pro','Keania One','Kelly Slab','Kenia',\n 'Khand','Khmer','Khula','Kings','Kirang Haerang','Kite One',\n 'Kiwi Maru','Klee One','Knewave','KoHo','Kodchasan','Koh Santepheap',\n 'Kolker Brush','Konkhmer Sleokchher','Kosugi','Kosugi Maru',\n 'Kotta One','Koulen','Kranky','Kreon','Kristi','Krona One',\n 'Krub','Kufam','Kulim Park','Kumar One','Kumar One Outline',\n 'Kumbh Sans','Kurale',\n 'La Belle Aurore','Lacquer','Laila','Lakki Reddy','Lalezar',\n 'Lancelot','Langar','Lango','Lateef','Lato','Lavishly Yours',\n 'League Gothic','League Script','League Spartan','Leckerli One',\n 'Ledger','Lekton','Lemon','Lemonada','Lexend','Lexend Deca',\n 'Lexend Exa','Lexend Giga','Lexend Mega','Lexend Peta',\n 'Lexend Tera','Lexend Zetta','Libre Barcode 128',\n 'Libre Barcode 128 Text','Libre Barcode 39','Libre Barcode 39 Extended',\n 'Libre Barcode 39 Extended Text','Libre Barcode 39 Text',\n 'Libre Barcode EAN13 Text','Libre Baskerville','Libre Bodoni',\n 'Libre Caslon Display','Libre Caslon Text','Libre Franklin',\n 'Licorice','Life Savers','Lilita One','Lily Script One',\n 'Limelight','Linden Hill','Lingua Franca','Literata','Liu Jian Mao Cao',\n 'Livvic','Lobster','Lobster Two','Londrina Outline',\n 'Londrina Shadow','Londrina Sketch','Londrina Solid','Long Cang',\n 'Lora','Love Light','Love Ya Like A Sister','Loved by the King',\n 'Lovers Quarrel','Luckiest Guy','Lusitana','Lustria','Luxurious Roman',\n 'Luxurious Script',\n 'M PLUS 1','M PLUS 1 Code','M PLUS 1p','M PLUS 2','M PLUS Code Latin',\n 'M PLUS Rounded 1c','Ma Shan Zheng','Macondo','Macondo Swash Caps',\n 'Mada','Magra','Maiden Orange','Maitree','Major Mono Display',\n 'Mako','Mali','Mallanna','Mandali','Manjari','Manrope','Mansalva',\n 'Manuale','Marcellus','Marcellus SC','Marck Script','Margarine',\n 'Marhey','Markazi Text','Marko One','Marmelad','Martel',\n 'Martel Sans','Marvel','Mate','Mate SC','Maven Pro',\n 'McLaren','Mea Culpa','Meddon','MedievalSharp','Medula One',\n 'Meera Inimai','Megrim','Meie Script','Meow Script','Merienda',\n 'Merriweather','Merriweather Sans','Metal','Metal Mania',\n 'Metamorphous','Metrophobic','Michroma','Milonga','Miltonian',\n 'Miltonian Tattoo','Mina','Miniver','Miriam Libre','Mirza',\n 'Miss Fajardose','Mitr','Mochiy Pop One','Mochiy Pop P One',\n 'Modak','Modern Antiqua','Mogra','Mohave','Moirai One','Molengo',\n 'Molle','Monda','Monofett','Monoton','Monsieur La Doulaise',\n 'Montaga','Montagu Slab','MonteCarlo','Montez','Montserrat',\n 'Montserrat Alternates','Montserrat Subrayada','Moon Dance',\n 'Moul','Moulpali','Mountains of Christmas','Mouse Memoirs',\n 'Mr Bedfort','Mr Dafoe','Mr De Haviland','Mrs Saint Delafield',\n 'Mrs Sheppards','Mukta','Mukta Mahee','Mukta Malar','Mukta Vaani',\n 'Mulish','Murecho','MuseoModerno','My Soul','Mynerve','Mystery Quest',\n 'NTR','Nabla','Nanum Brush Script','Nanum Gothic',\n 'Nanum Gothic Coding','Nanum Myeongjo','Nanum Pen Script',\n 'Neonderthaw','Nerko One','Neucha','Neuton','New Rocker',\n 'New Tegomin','News Cycle','Newsreader','Niconne','Niramit',\n 'Nixie One','Nobile','Nokora','Norican','Nosifer',\n 'Notable','Nothing You Could Do','Noticia Text','Noto Color Emoji',\n 'Noto Emoji','Noto Kufi Arabic','Noto Music','Noto Naskh Arabic',\n 'Noto Nastaliq Urdu','Noto Sans','Noto Sans Arabic',\n 'Noto Sans Display','Noto Sans Mono','Noto Serif',\n 'Noto Serif Display','Nova Cut','Nova Flat','Nova Mono',\n 'Nova Oval','Nova Round','Nova Script','Nova Slim','Nova Square',\n 'Numans','Nunito','Nunito Sans',\n 'Odibee Sans','Odor Mean Chey','Offside','Oi','Old Standard TT',\n 'Oldenburg','Ole','Oleo Script','Oleo Script Swash Caps',\n 'Oooh Baby','Open Sans','Oranienbaum','Orbit','Orbitron',\n 'Oregano','Orelega One','Orienta','Original Surfer','Oswald',\n 'Outfit','Over the Rainbow','Overlock','Overlock SC','Overpass',\n 'Overpass Mono','Ovo','Oxanium','Oxygen','Oxygen Mono',\n 'PT Mono','PT Sans','PT Sans Caption','PT Sans Narrow','PT Serif',\n 'PT Serif Caption','Pacifico','Padauk','Padyakke Expanded One',\n 'Palanquin','Palanquin Dark','Palette Mosaic','Pangolin','Paprika',\n 'Parisienne','Passero One','Passion One','Passions Conflict',\n 'Pathway Extreme','Pathway Gothic One','Patrick Hand','Patrick Hand SC',\n 'Pattaya','Patua One','Pavanam','Paytone One','Peddana',\n 'Peralta','Permanent Marker','Petit Formal Script','Petrona',\n 'Philosopher','Phudu','Piazzolla','Piedra','Pinyon Script',\n 'Pirata One','Plaster','Play','Playball','Playfair Display',\n 'Playfair Display SC','Playpen Sans','Plus Jakarta Sans',\n 'Podkova','Poiret One','Poller One','Poltawski Nowy','Poly',\n 'Pompiere','Pontano Sans','Poor Story','Poppins','Port Lligat Sans',\n 'Port Lligat Slab','Potta One','Pragati Narrow','Praise',\n 'Prata','Preahvihear','Press Start 2P','Pridi','Princess Sofia',\n 'Prociono','Prompt','Prosto One','Proza Libre','Public Sans',\n 'Puppies Play','Puritan','Purple Purse','Pushster',\n 'Quando','Quantico','Quattrocento','Quattrocento Sans',\n 'Questrial','Quicksand','Quintessential','Qwigley','Qwitcher Grypen',\n 'REM','Racing Sans One','Radio Canada','Radley','Rajdhani',\n 'Rakkas','Raleway','Raleway Dots','Ramabhadra','Ramaraja',\n 'Rambla','Rammetto One','Rampart One','Ranchers','Rancho',\n 'Ranga','Rasa','Rationale','Ravi Prakash','Readex Pro',\n 'Recursive','Red Hat Display','Red Hat Mono','Red Hat Text',\n 'Red Rose','Redacted','Redacted Script','Redressed','Reem Kufi',\n 'Reem Kufi Fun','Reem Kufi Ink','Reenie Beanie','Reggae One',\n 'Revalia','Rhodium Libre','Ribeye','Ribeye Marrow','Righteous',\n 'Risque','Road Rage','RocknRoll One','Rokkitt','Romanesco',\n 'Ropa Sans','Rosario','Rosarivo','Rouge Script','Rowdies',\n 'Rozha One','Rubik','Rubik Beastly','Rubik Bubbles',\n 'Rubik Burned','Rubik Dirt','Rubik Distressed','Rubik Gemstones',\n 'Rubik Glitch','Rubik Iso','Rubik Marker Hatch','Rubik Maze',\n 'Rubik Microbe','Rubik Mono One','Rubik Moonrocks',\n 'Rubik Pixels','Rubik Puddles','Rubik Spray Paint',\n 'Rubik Storm','Rubik Vinyl','Rubik Wet Paint','Ruda','Rufina',\n 'Ruge Boogie','Ruluko','Rum Raisin','Ruslan Display',\n 'Russo One','Ruthie','Rye',\n 'STIX Two Text','Sacramento','Sahitya','Sail','Saira',\n 'Saira Condensed','Saira Extra Condensed','Saira Semi Condensed',\n 'Saira Stencil One','Salsa','Sanchez','Sancreek','Sansita',\n 'Sansita Swashed','Sarabun','Sarala','Sarina','Sarpanch',\n 'Sassybold','Satisfy','Sawarabi Gothic','Sawarabi Mincho',\n 'Scada','Scheherazade New','Schoolbell','Scope One',\n 'Seaweed Script','Secular One','Sedgwick Ave','Sedgwick Ave Display',\n 'Sen','Send Flowers','Sevillana','Seymour One','Shadows Into Light',\n 'Shadows Into Light Two','Shalimar','Shanti','Share',\n 'Share Tech','Share Tech Mono','Shippori Antique','Shippori Antique B1',\n 'Shippori Mincho','Shippori Mincho B1','Shizuru','Shojumaru',\n 'Short Stack','Shrikhand','Siemreap','Sigmar One','Signika',\n 'Signika Negative','Silkscreen','Simonetta','Single Day',\n 'Sintony','Sirin Stencil','Six Caps','Skranji','Slabo 13px',\n 'Slabo 27px','Slackey','Smokum','Smooch','Smooch Sans',\n 'Smythe','Sniglet','Snippet','Snowburst One','Sofadi One',\n 'Sofia','Sofia Sans','Sofia Sans Condensed','Sofia Sans Extra Condensed',\n 'Sofia Sans Semi Condensed','Solitreo','Solway','Song Myung',\n 'Sono','Sonsie One','Sora','Sorts Mill Goudy','Source Code Pro',\n 'Source Sans 3','Source Sans Pro','Source Serif 4','Source Serif Pro',\n 'Space Grotesk','Space Mono','Special Elite','Spectral',\n 'Spectral SC','Spicy Rice','Spinnaker','Spirax','Splash',\n 'Spline Sans','Spline Sans Mono','Squada One','Square Peg',\n 'Sree Krushnadevaraya','Sriracha','Srisakdi','Staatliches',\n 'Stalemate','Stalinist One','Stardos Stencil','Stick',\n 'Stick No Bills','Stint Ultra Condensed','Stint Ultra Expanded',\n 'Stoke','Strait','Style Script','Stylish','Sue Ellen Francisco',\n 'Suez One','Sulphur Point','Sumana','Sunflower','Sunshiney',\n 'Supermercado One','Sura','Suranna','Suravaram','Suwannaphum',\n 'Swanky and Moo Moo','Syncopate','Syne','Syne Mono','Syne Tactile',\n 'Tac One','Tai Heritage Pro','Tajawal','Tangerine','Tapestry',\n 'Taprom','Tauri','Taviraj','Teko','Telex','Tenali Ramakrishna',\n 'Tenor Sans','Text Me One','Texturina','Thasadith',\n 'The Girl Next Door','The Nautigal','Tienne','Tillana',\n 'Tilt Neon','Tilt Prism','Tilt Warp','Timmana','Tinos',\n 'Tiro Bangla','Tiro Devanagari Marathi','Tiro Devanagari Sanskrit',\n 'Tiro Gurmukhi','Tiro Kannada','Tiro Tamil','Tiro Telugu',\n 'Titan One','Titillium Web','Tomorrow','Tourney','Trade Winds',\n 'Train One','Trirong','Trispace','Trocchi','Trochut','Truculenta',\n 'Trykker','Tsukimi Rounded','Tulpen One','Turret Road',\n 'Twinkle Star','Ubuntu','Ubuntu Condensed','Ubuntu Mono','Uchen',\n 'Ultra','Unbounded','Uncial Antiqua','Underdog','Unica One',\n 'UnifrakturCook','UnifrakturMaguntia','Unkempt','Unlock',\n 'Unna','Updock','Urbanist','Vast Shadow','Vazirmatn',\n 'Vesper Libre','Viaoda Libre','Vibes','Vibur',\n 'Vidaloka','Viga','Voces','Volkhov','Vollkorn','Vollkorn SC',\n 'Voltaire','Vujahday Script',\n 'Waiting for the Sunrise','Wallpoet','Walter Turncoat',\n 'Warnes','Waterfall','Wavefont','Wellfleet','Wendy One',\n 'Whisper','WindSong','Wire One','Work Sans','Wix Madefor Display',\n 'Wix Madefor Text',\n 'Xanh Mono','Yaldevi','Yanone Kaffeesatz','Yantramanav',\n 'Yatra One','Yellowtail','Yeon Sung','Yeseva One','Yesteryear',\n 'Yomogi','Yrsa','Ysabeau','Ysabeau Infant','Ysabeau Office',\n 'Ysabeau SC','Yuji Boku','Yuji Hentaigana Akari',\n 'Yuji Hentaigana Akebono','Yuji Mai','Yuji Syuku','Yusei Magic',\n 'ZCOOL KuaiLe','ZCOOL QingKe HuangYou','ZCOOL XiaoWei',\n 'Zen Antique','Zen Antique Soft','Zen Dots','Zen Kaku Gothic Antique',\n 'Zen Kaku Gothic New','Zen Kurenaido','Zen Loop','Zen Maru Gothic',\n 'Zen Old Mincho','Zen Tokyo Zoo','Zeyada','Zhi Mang Xing',\n 'Zilla Slab','Zilla Slab Highlight',\n];\n","// Use a window-level singleton so that all Rollup bundles (config, toolbar,\n// side-panel, canvas) share the same translations object. Without this each\n// bundle gets its own copy of this module with a separate local variable.\nconst GLOBAL_KEY = '__labellife_translations__';\nif (typeof window !== 'undefined' && !window[GLOBAL_KEY]) {\n window[GLOBAL_KEY] = {};\n}\n\nfunction _get() {\n return (typeof window !== 'undefined' && window[GLOBAL_KEY]) || {};\n}\n\nfunction deepMerge(target, source) {\n const result = { ...target };\n for (const key of Object.keys(source)) {\n if (\n source[key] &&\n typeof source[key] === 'object' &&\n !Array.isArray(source[key]) &&\n target[key] &&\n typeof target[key] === 'object' &&\n !Array.isArray(target[key])\n ) {\n result[key] = deepMerge(target[key], source[key]);\n } else {\n result[key] = source[key];\n }\n }\n return result;\n}\n\nexport function setTranslations(newTranslations) {\n if (typeof window !== 'undefined') {\n window[GLOBAL_KEY] = deepMerge(_get(), newTranslations);\n }\n}\n\nexport function getTranslations() {\n return _get();\n}\n\nexport function t(key, defaultValue) {\n // Support dot-notation paths like 'toolbar.duration'\n const parts = key.split('.');\n let current = _get();\n for (const part of parts) {\n if (current == null || typeof current !== 'object') {\n return defaultValue || key;\n }\n current = current[part];\n }\n if (current !== undefined && current !== null && typeof current !== 'object') {\n return current;\n }\n return defaultValue || key;\n}\n","import { setTranslations as _setTranslations, getTranslations, t } from './utils/l10n';\n\nlet _theme = 'light';\nlet _customTheme = {};\n\nexport function setTranslations(translations) {\n _setTranslations(translations);\n}\n\nexport { getTranslations, t };\n\nexport function setTheme(theme) {\n _theme = theme;\n}\n\nexport function getTheme() {\n return _theme;\n}\n\nexport function setCustomTheme(customTheme) {\n _customTheme = { ..._customTheme, ...customTheme };\n}\n\nexport function getCustomTheme() {\n return _customTheme;\n}\n\n// ── Input Fields Dialog Config ───────────────────────────────────────\nconst INPUT_FIELDS_CONFIG_KEY = '__labellife_input_fields_config__';\nif (typeof window !== 'undefined' && !window[INPUT_FIELDS_CONFIG_KEY]) {\n window[INPUT_FIELDS_CONFIG_KEY] = {};\n}\n\nexport function setInputFieldsConfig(config) {\n if (typeof window !== 'undefined') {\n window[INPUT_FIELDS_CONFIG_KEY] = { ...window[INPUT_FIELDS_CONFIG_KEY], ...config };\n }\n}\n\nexport function getInputFieldsConfig() {\n return (typeof window !== 'undefined' && window[INPUT_FIELDS_CONFIG_KEY]) || {};\n}\n","import React, { useState, useCallback, useEffect, useRef, memo } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport { Box, IconButton, Divider, Tooltip, TextField, Slider, Typography, ToggleButton, ToggleButtonGroup, Button, Popover, Select, MenuItem, CircularProgress, Menu, ListItemIcon, ListItemText, Autocomplete } from '@mui/material';\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\nimport FileUploadIcon from '@mui/icons-material/FileUpload';\nimport { DEFAULT_FONTS } from '../utils/fonts';\nimport { t } from '../config';\nimport UndoIcon from '@mui/icons-material/Undo';\nimport RedoIcon from '@mui/icons-material/Redo';\nimport DeleteOutlineIcon from '@mui/icons-material/DeleteOutline';\nimport ContentCopyIcon from '@mui/icons-material/ContentCopy';\nimport LockIcon from '@mui/icons-material/Lock';\nimport LockOpenIcon from '@mui/icons-material/LockOpen';\nimport FormatBoldIcon from '@mui/icons-material/FormatBold';\nimport FormatItalicIcon from '@mui/icons-material/FormatItalic';\nimport FormatUnderlinedIcon from '@mui/icons-material/FormatUnderlined';\nimport StrikethroughSIcon from '@mui/icons-material/StrikethroughS';\nimport FormatAlignLeftIcon from '@mui/icons-material/FormatAlignLeft';\nimport FormatAlignCenterIcon from '@mui/icons-material/FormatAlignCenter';\nimport FormatAlignRightIcon from '@mui/icons-material/FormatAlignRight';\nimport OpacityIcon from '@mui/icons-material/Opacity';\nimport CropIcon from '@mui/icons-material/Crop';\nimport ArrowUpwardIcon from '@mui/icons-material/ArrowUpward';\nimport ArrowDownwardIcon from '@mui/icons-material/ArrowDownward';\nimport AutoAwesomeIcon from '@mui/icons-material/AutoAwesome';\nimport SwapHorizIcon from '@mui/icons-material/SwapHoriz';\nimport SwapVertIcon from '@mui/icons-material/SwapVert';\n\n// ── Font preview: lightweight Google Font subsets for dropdown ──\nconst _fontPreviewLoaded = new Set();\nfunction loadFontPreview(fontFamily) {\n if (_fontPreviewLoaded.has(fontFamily)) return;\n _fontPreviewLoaded.add(fontFamily);\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = `https://fonts.googleapis.com/css2?family=${encodeURIComponent(fontFamily)}&text=${encodeURIComponent(fontFamily)}&display=swap`;\n document.head.appendChild(link);\n}\n\nconst FontPreviewOption = memo(function FontPreviewOption({ fontFamily, ...liProps }) {\n const ref = useRef(null);\n useEffect(() => {\n const el = ref.current;\n if (!el) return;\n const io = new IntersectionObserver(\n ([entry]) => { if (entry.isIntersecting) { loadFontPreview(fontFamily); io.disconnect(); } },\n { rootMargin: '200px' }\n );\n io.observe(el);\n return () => io.disconnect();\n }, [fontFamily]);\n return (\n <li ref={ref} {...liProps}>\n <span style={{ fontFamily: `'${fontFamily}', sans-serif`, fontSize: 14 }}>{fontFamily}</span>\n </li>\n );\n});\n\n// Text-specific toolbar\nconst TextToolbar = observer(({ element, store }) => {\n const handleFontSizeChange = (e) => {\n const val = parseInt(e.target.value);\n if (!isNaN(val) && val > 0) {\n element.set({ fontSize: val });\n store.history.addUndoState();\n }\n };\n\n const toggleBold = () => {\n element.set({ fontWeight: element.fontWeight === 'bold' ? 'normal' : 'bold' });\n store.history.addUndoState();\n };\n\n const toggleItalic = () => {\n element.set({ fontStyle: element.fontStyle === 'italic' ? 'normal' : 'italic' });\n store.history.addUndoState();\n };\n\n const toggleUnderline = () => {\n element.set({\n textDecoration: element.textDecoration === 'underline' ? '' : 'underline',\n });\n store.history.addUndoState();\n };\n\n const toggleStrikethrough = () => {\n element.set({\n textDecoration: element.textDecoration === 'line-through' ? '' : 'line-through',\n });\n store.history.addUndoState();\n };\n\n const handleAlignChange = (_, value) => {\n if (value) {\n element.set({ align: value });\n store.history.addUndoState();\n }\n };\n\n const handleColorChange = (e) => {\n element.set({ fill: e.target.value });\n store.history.addUndoState();\n };\n\n return (\n <>\n {/* Font family */}\n <Autocomplete\n size=\"small\"\n value={element.fontFamily}\n onChange={(_, value) => {\n if (value) {\n element.set({ fontFamily: value });\n store.loadFont(value);\n store.history.addUndoState();\n }\n }}\n options={(() => {\n const fonts = [...DEFAULT_FONTS];\n if (element.fontFamily && !fonts.includes(element.fontFamily)) {\n fonts.unshift(element.fontFamily);\n }\n return fonts;\n })()}\n disableClearable\n renderOption={(props, option) => (\n <FontPreviewOption key={option} fontFamily={option} {...props} />\n )}\n renderInput={(params) => (\n <TextField\n {...params}\n sx={{ width: 170, '& .MuiInputBase-input': { fontSize: 12, py: 0.5, fontFamily: `'${element.fontFamily}', sans-serif` } }}\n />\n )}\n ListboxProps={{ style: { maxHeight: 300 } }}\n sx={{ width: 170 }}\n />\n\n {/* Font size */}\n <TextField\n size=\"small\"\n type=\"number\"\n value={element.fontSize}\n onChange={handleFontSizeChange}\n onFocus={(e) => e.target.select()}\n sx={{ width: 85, '& .MuiInputBase-input': { fontSize: 13, py: 0.5, textAlign: 'center' } }}\n inputProps={{ min: 1, max: 500 }}\n />\n\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 0.5 }} />\n\n {/* Color */}\n <Tooltip title=\"Text color\">\n <input\n type=\"color\"\n value={element.fill || '#000000'}\n onChange={handleColorChange}\n style={{ width: 28, height: 28, border: '1px solid #ccc', borderRadius: 4, cursor: 'pointer', padding: 0 }}\n />\n </Tooltip>\n\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 0.5 }} />\n\n {/* Bold, Italic, Underline, Strikethrough */}\n <Tooltip title=\"Bold\">\n <IconButton size=\"small\" onClick={toggleBold} color={element.fontWeight === 'bold' ? 'primary' : 'default'}>\n <FormatBoldIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Italic\">\n <IconButton size=\"small\" onClick={toggleItalic} color={element.fontStyle === 'italic' ? 'primary' : 'default'}>\n <FormatItalicIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Underline\">\n <IconButton size=\"small\" onClick={toggleUnderline} color={element.textDecoration === 'underline' ? 'primary' : 'default'}>\n <FormatUnderlinedIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Strikethrough\">\n <IconButton size=\"small\" onClick={toggleStrikethrough} color={element.textDecoration === 'line-through' ? 'primary' : 'default'}>\n <StrikethroughSIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 0.5 }} />\n\n {/* Alignment */}\n <ToggleButtonGroup size=\"small\" value={element.align} exclusive onChange={handleAlignChange}>\n <ToggleButton value=\"left\" sx={{ p: 0.5 }}>\n <FormatAlignLeftIcon sx={{ fontSize: 16 }} />\n </ToggleButton>\n <ToggleButton value=\"center\" sx={{ p: 0.5 }}>\n <FormatAlignCenterIcon sx={{ fontSize: 16 }} />\n </ToggleButton>\n <ToggleButton value=\"right\" sx={{ p: 0.5 }}>\n <FormatAlignRightIcon sx={{ fontSize: 16 }} />\n </ToggleButton>\n </ToggleButtonGroup>\n\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 0.5 }} />\n\n <Button\n size=\"small\"\n sx={{\n textTransform: 'none', fontSize: 12, whiteSpace: 'nowrap', px: 1.5, minWidth: 'auto',\n ...(store._toolbarPanel?.type === 'effects' ? { backgroundColor: '#e3f2fd', color: '#0d83cd' } : {}),\n }}\n startIcon={<AutoAwesomeIcon sx={{ fontSize: '16px !important' }} />}\n onClick={() => {\n if (store._toolbarPanel?.type === 'effects') {\n store.closeToolbarPanel();\n } else {\n store.openToolbarPanel('effects');\n }\n }}\n >\n {t('toolbar.effects', 'Effects')}\n </Button>\n </>\n );\n});\n\n// Toolbar text button style (matches Polotno)\nconst toolbarBtnSx = {\n textTransform: 'none',\n fontWeight: 500,\n fontSize: '13px',\n color: '#333',\n minWidth: 'auto',\n px: 1.5,\n py: 0.5,\n borderRadius: '6px',\n '&:hover': { backgroundColor: '#f0f0f0' },\n};\n\n// Image-specific toolbar\nconst ImageToolbar = observer(({ element, store }) => {\n const [flipAnchor, setFlipAnchor] = useState(null);\n\n const handleFlipX = () => {\n element.set({ flipX: !element.flipX });\n store.history.addUndoState();\n setFlipAnchor(null);\n };\n\n const handleFlipY = () => {\n element.set({ flipY: !element.flipY });\n store.history.addUndoState();\n setFlipAnchor(null);\n };\n\n const handleCrop = () => {\n if (element.toggleCropMode) {\n element.toggleCropMode();\n }\n };\n\n const handleFitToPage = () => {\n element.set({\n x: 0,\n y: 0,\n width: store.width,\n height: store.height,\n });\n store.history.addUndoState();\n };\n\n const handleEffects = () => {\n if (store._toolbarPanel?.type === 'effects') {\n store.closeToolbarPanel();\n } else {\n store.openToolbarPanel('effects');\n }\n };\n\n const handleMask = () => {\n if (element.clipSrc) {\n element.set({ clipSrc: '' });\n store.history.addUndoState();\n } else {\n if (store._toolbarPanel?.type === 'mask') {\n store.closeToolbarPanel();\n } else {\n store.openToolbarPanel('mask');\n }\n }\n };\n\n const hasMask = !!element.clipSrc;\n\n return (\n <>\n {/* Flip dropdown */}\n <Button\n size=\"small\"\n sx={toolbarBtnSx}\n onClick={(e) => setFlipAnchor(e.currentTarget)}\n >\n {t('toolbar.flip', 'Flip')}\n </Button>\n <Menu\n anchorEl={flipAnchor}\n open={Boolean(flipAnchor)}\n onClose={() => setFlipAnchor(null)}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}\n transformOrigin={{ vertical: 'top', horizontal: 'left' }}\n slotProps={{ paper: { sx: { mt: 0.5, borderRadius: '8px', minWidth: 200 } } }}\n >\n <MenuItem onClick={handleFlipX} sx={{ py: 1 }}>\n <ListItemIcon><SwapHorizIcon fontSize=\"small\" sx={{ color: '#555' }} /></ListItemIcon>\n <ListItemText primaryTypographyProps={{ fontSize: 13 }}>{t('toolbar.flipHorizontally', 'Flip horizontally')}</ListItemText>\n </MenuItem>\n <MenuItem onClick={handleFlipY} sx={{ py: 1 }}>\n <ListItemIcon><SwapVertIcon fontSize=\"small\" sx={{ color: '#555' }} /></ListItemIcon>\n <ListItemText primaryTypographyProps={{ fontSize: 13 }}>{t('toolbar.flipVertically', 'Flip vertically')}</ListItemText>\n </MenuItem>\n </Menu>\n\n {/* Effects */}\n <Button\n size=\"small\"\n sx={{\n ...toolbarBtnSx,\n ...(store._toolbarPanel?.type === 'effects' ? { backgroundColor: '#e3f2fd', color: '#0d83cd' } : {}),\n }}\n startIcon={<AutoAwesomeIcon sx={{ fontSize: '16px !important' }} />}\n onClick={handleEffects}\n >\n {t('toolbar.effects', 'Effects')}\n </Button>\n\n {/* Fit to page */}\n <Button size=\"small\" sx={toolbarBtnSx} onClick={handleFitToPage}>\n {t('toolbar.fitToBackground', 'Fit to page')}\n </Button>\n\n {/* Apply mask / Remove mask */}\n <Button\n size=\"small\"\n sx={{\n ...toolbarBtnSx,\n ...(hasMask ? { color: '#d32f2f' } : {}),\n ...(store._toolbarPanel?.type === 'mask' ? { backgroundColor: '#e3f2fd', color: '#0d83cd' } : {}),\n }}\n onClick={handleMask}\n >\n {hasMask ? t('toolbar.removeMask', 'Remove mask') : t('toolbar.clip', 'Apply mask')}\n </Button>\n\n {/* Crop */}\n {/* <Tooltip title={t('toolbar.crop', 'Crop')}>\n <IconButton size=\"small\" onClick={handleCrop}>\n <CropIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip> */}\n </>\n );\n});\n\n// Figure-specific toolbar\nconst FigureToolbar = observer(({ element, store }) => {\n const handleFillChange = (e) => {\n element.set({ fill: e.target.value });\n store.history.addUndoState();\n };\n\n const handleStrokeChange = (e) => {\n element.set({ stroke: e.target.value });\n store.history.addUndoState();\n };\n\n const handleStrokeWidthChange = (e) => {\n const val = parseInt(e.target.value);\n if (!isNaN(val) && val >= 0) {\n element.set({ strokeWidth: val });\n store.history.addUndoState();\n }\n };\n\n const handleCornerRadiusChange = (e) => {\n const val = parseInt(e.target.value);\n if (!isNaN(val) && val >= 0) {\n element.set({ cornerRadius: val });\n store.history.addUndoState();\n }\n };\n\n return (\n <>\n <Tooltip title={t('toolbar.fill', 'Fill color')}>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Typography variant=\"caption\" sx={{ fontSize: 10 }}>{t('toolbar.fill', 'Fill')}</Typography>\n <input\n type=\"color\"\n value={element.fill || '#000000'}\n onChange={handleFillChange}\n style={{ width: 28, height: 28, border: '1px solid #ccc', borderRadius: 4, cursor: 'pointer', padding: 0 }}\n />\n </Box>\n </Tooltip>\n <Tooltip title={t('toolbar.textStroke', 'Stroke color')}>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Typography variant=\"caption\" sx={{ fontSize: 10 }}>{t('toolbar.textStroke', 'Stroke')}</Typography>\n <input\n type=\"color\"\n value={element.stroke || '#000000'}\n onChange={handleStrokeChange}\n style={{ width: 28, height: 28, border: '1px solid #ccc', borderRadius: 4, cursor: 'pointer', padding: 0 }}\n />\n </Box>\n </Tooltip>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Typography variant=\"caption\" sx={{ fontSize: 10 }}>{t('toolbar.border', 'Border')}</Typography>\n <TextField\n size=\"small\"\n type=\"number\"\n value={element.strokeWidth || 0}\n onChange={handleStrokeWidthChange}\n onFocus={(e) => e.target.select()}\n sx={{ width: 50, '& .MuiInputBase-input': { fontSize: 11, py: 0.5, textAlign: 'center' } }}\n inputProps={{ min: 0 }}\n />\n </Box>\n {element.subType === 'rect' && (\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Typography variant=\"caption\" sx={{ fontSize: 10 }}>{t('toolbar.cornerRadius', 'Radius')}</Typography>\n <TextField\n size=\"small\"\n type=\"number\"\n value={element.cornerRadius || 0}\n onChange={handleCornerRadiusChange}\n onFocus={(e) => e.target.select()}\n sx={{ width: 50, '& .MuiInputBase-input': { fontSize: 11, py: 0.5, textAlign: 'center' } }}\n inputProps={{ min: 0 }}\n />\n </Box>\n )}\n </>\n );\n});\n\n// Line-specific toolbar\nconst LineToolbar = observer(({ element, store }) => {\n const handleColorChange = (e) => {\n element.set({ color: e.target.value });\n store.history.addUndoState();\n };\n\n return (\n <>\n <Tooltip title={t('toolbar.color', 'Line color')}>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Typography variant=\"caption\" sx={{ fontSize: 10 }}>{t('toolbar.color', 'Color')}</Typography>\n <input\n type=\"color\"\n value={element.color || '#000000'}\n onChange={handleColorChange}\n style={{ width: 28, height: 28, border: '1px solid #ccc', borderRadius: 4, cursor: 'pointer', padding: 0 }}\n />\n </Box>\n </Tooltip>\n </>\n );\n});\n\n// Common controls for all element types\nconst CommonControls = observer(({ element, store }) => {\n const isLocked = element.locked;\n\n const handleDuplicate = () => {\n if (element.clone) {\n element.clone({ x: (element.x || 0) + 20, y: (element.y || 0) + 20 });\n store.history.addUndoState();\n }\n };\n\n const handleDelete = () => {\n store.deleteElements([element.id]);\n store.history.addUndoState();\n };\n\n const handleToggleLock = () => {\n if (isLocked) {\n element.set({ draggable: true, resizable: true, contentEditable: true, styleEditable: true });\n } else {\n element.set({ draggable: false, resizable: false, contentEditable: false, styleEditable: false });\n }\n store.history.addUndoState();\n };\n\n const handleOpacityChange = (_, value) => {\n element.set({ opacity: value });\n };\n\n const handleOpacityCommit = () => {\n store.history.addUndoState();\n };\n\n const handleMoveUp = () => {\n element.moveUp();\n store.history.addUndoState();\n };\n\n const handleMoveDown = () => {\n element.moveDown();\n store.history.addUndoState();\n };\n\n return (\n <>\n {/* Opacity */}\n <Tooltip title={t('toolbar.opacity', 'Opacity')}>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5, width: 100 }}>\n <OpacityIcon sx={{ fontSize: 16, color: '#666' }} />\n <Slider\n size=\"small\"\n value={element.opacity}\n onChange={handleOpacityChange}\n onChangeCommitted={handleOpacityCommit}\n min={0}\n max={1}\n step={0.01}\n sx={{ py: 0 }}\n />\n </Box>\n </Tooltip>\n\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 0.5 }} />\n\n {/* Z-order */}\n <Tooltip title={t('toolbar.up', 'Move up')}>\n <IconButton size=\"small\" onClick={handleMoveUp}>\n <ArrowUpwardIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n <Tooltip title={t('toolbar.down', 'Move down')}>\n <IconButton size=\"small\" onClick={handleMoveDown}>\n <ArrowDownwardIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 0.5 }} />\n\n {/* Lock */}\n <Tooltip title={isLocked ? t('toolbar.unlockedDescription', 'Unlock') : t('toolbar.lockedDescription', 'Lock')}>\n <IconButton size=\"small\" onClick={handleToggleLock}>\n {isLocked ? <LockIcon fontSize=\"small\" /> : <LockOpenIcon fontSize=\"small\" />}\n </IconButton>\n </Tooltip>\n\n {/* Duplicate */}\n <Tooltip title={t('toolbar.duplicateElements', 'Duplicate')}>\n <IconButton size=\"small\" onClick={handleDuplicate}>\n <ContentCopyIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n\n {/* Delete */}\n <Tooltip title={t('toolbar.removeElements', 'Delete')}>\n <IconButton size=\"small\" onClick={handleDelete}>\n <DeleteOutlineIcon fontSize=\"small\" sx={{ color: '#d32f2f' }} />\n </IconButton>\n </Tooltip>\n </>\n );\n});\n\n// Download button with format/quality popover\nconst DefaultDownloadButton = observer(({ store }) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const [fileType, setFileType] = useState('png');\n const [quality, setQuality] = useState(1);\n const [exporting, setExporting] = useState(false);\n\n const open = Boolean(anchorEl);\n\n const handleClick = (e) => {\n setAnchorEl(e.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const qualityToPixelRatio = (q) => Math.max(0.5, q * 3);\n\n const resWidth = Math.round(store.width * qualityToPixelRatio(quality));\n const resHeight = Math.round(store.height * qualityToPixelRatio(quality));\n\n const handleDownload = useCallback(async () => {\n setExporting(true);\n try {\n const pixelRatio = qualityToPixelRatio(quality);\n switch (fileType) {\n case 'png':\n await store.saveAsImage({\n fileName: 'design.png',\n mimeType: 'image/png',\n pixelRatio,\n });\n break;\n case 'jpeg':\n await store.saveAsImage({\n fileName: 'design.jpg',\n mimeType: 'image/jpeg',\n quality,\n pixelRatio,\n });\n break;\n case 'pdf':\n await store.saveAsPDF({\n fileName: 'design.pdf',\n pixelRatio,\n });\n break;\n case 'json':\n store.saveAsJSON({ fileName: 'design.json' });\n break;\n default:\n break;\n }\n } catch (err) {\n console.error('Export failed:', err);\n } finally {\n setExporting(false);\n handleClose();\n }\n }, [store, fileType, quality]);\n\n const fileTypeLabel = {\n png: 'PNG',\n jpeg: 'JPEG',\n pdf: 'PDF',\n json: 'JSON',\n };\n\n return (\n <>\n <Button\n variant=\"contained\"\n size=\"small\"\n onClick={handleClick}\n endIcon={<ArrowDropDownIcon />}\n sx={{\n textTransform: 'none',\n fontWeight: 600,\n fontSize: '13px',\n px: 2,\n py: 0.5,\n borderRadius: '6px',\n backgroundColor: '#3d5afe',\n '&:hover': { backgroundColor: '#304ffe' },\n }}\n >\n {t('toolbar.download', 'Download')}\n </Button>\n <Popover\n open={open}\n anchorEl={anchorEl}\n onClose={handleClose}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\n slotProps={{\n paper: {\n sx: {\n mt: 1,\n p: 2,\n width: 260,\n borderRadius: '10px',\n backgroundColor: '#2b2d31',\n color: '#e0e0e0',\n },\n },\n }}\n >\n {/* File type */}\n <Typography variant=\"caption\" sx={{ color: '#aaa', mb: 0.5, display: 'block' }}>\n {t('toolbar.fileType', 'File type')}\n </Typography>\n <Select\n value={fileType}\n onChange={(e) => setFileType(e.target.value)}\n size=\"small\"\n fullWidth\n sx={{\n mb: 2,\n color: '#fff',\n backgroundColor: '#1e1f22',\n borderRadius: '6px',\n '& .MuiSelect-icon': { color: '#aaa' },\n '& .MuiOutlinedInput-notchedOutline': {\n borderColor: '#555',\n },\n '&:hover .MuiOutlinedInput-notchedOutline': {\n borderColor: '#777',\n },\n '&.Mui-focused .MuiOutlinedInput-notchedOutline': {\n borderColor: '#3d5afe',\n },\n }}\n >\n <MenuItem value=\"png\">PNG</MenuItem>\n <MenuItem value=\"jpeg\">JPEG</MenuItem>\n <MenuItem value=\"pdf\">PDF</MenuItem>\n <MenuItem value=\"json\">JSON</MenuItem>\n </Select>\n\n {/* Quality slider (only for image/pdf) */}\n {fileType !== 'json' && (\n <>\n <Typography variant=\"caption\" sx={{ color: '#aaa', mb: 0.5, display: 'block' }}>\n {t('toolbar.quality', 'Quality')}\n </Typography>\n <Slider\n value={quality}\n onChange={(_, v) => setQuality(v)}\n min={0.1}\n max={1}\n step={0.05}\n size=\"small\"\n sx={{\n color: '#3d5afe',\n mb: 1,\n '& .MuiSlider-thumb': { width: 14, height: 14 },\n }}\n />\n <Typography variant=\"caption\" sx={{ color: '#888', mb: 2, display: 'block' }}>\n {resWidth} x {resHeight} px\n </Typography>\n </>\n )}\n\n {/* Download action */}\n <Button\n variant=\"contained\"\n fullWidth\n onClick={handleDownload}\n disabled={exporting}\n sx={{\n textTransform: 'none',\n fontWeight: 600,\n fontSize: '14px',\n py: 1,\n borderRadius: '8px',\n backgroundColor: '#3d5afe',\n '&:hover': { backgroundColor: '#304ffe' },\n }}\n >\n {exporting ? (\n <CircularProgress size={20} sx={{ color: '#fff' }} />\n ) : (\n `${t('toolbar.download', 'Download')} ${fileTypeLabel[fileType]}`\n )}\n </Button>\n </Popover>\n </>\n );\n});\n\n// Import button — loads a JSON template file into the store\nconst DefaultImportButton = observer(({ store }) => {\n const [importing, setImporting] = useState(false);\n const fileInputRef = React.useRef(null);\n\n const handleFileChange = useCallback(\n async (e) => {\n const file = e.target.files?.[0];\n if (!file) return;\n\n setImporting(true);\n try {\n const text = await file.text();\n const jsonData = JSON.parse(text);\n store.loadJSON(jsonData);\n } catch (err) {\n console.error('Error loading template JSON:', err);\n } finally {\n setImporting(false);\n if (fileInputRef.current) fileInputRef.current.value = '';\n }\n },\n [store]\n );\n\n return (\n <>\n <input\n ref={fileInputRef}\n type=\"file\"\n accept=\".json,application/json\"\n onChange={handleFileChange}\n style={{ display: 'none' }}\n />\n <Button\n variant=\"outlined\"\n size=\"small\"\n onClick={() => fileInputRef.current?.click()}\n disabled={importing}\n startIcon={\n importing ? (\n <CircularProgress size={16} />\n ) : (\n <FileUploadIcon sx={{ fontSize: 18 }} />\n )\n }\n sx={{\n textTransform: 'none',\n fontWeight: 600,\n fontSize: '13px',\n px: 2,\n py: 0.5,\n mr: 1,\n borderRadius: '6px',\n borderColor: '#3d5afe',\n color: '#3d5afe',\n '&:hover': {\n borderColor: '#304ffe',\n backgroundColor: 'rgba(61,90,254,0.04)',\n },\n }}\n >\n {t('toolbar.import', 'Import')}\n </Button>\n </>\n );\n});\n\nconst TYPE_TOOLBARS = {\n text: TextToolbar,\n image: ImageToolbar,\n figure: FigureToolbar,\n line: LineToolbar,\n svg: ImageToolbar, // SVG uses same toolbar as image\n};\n\nconst rowSx = {\n display: 'flex',\n alignItems: 'center',\n gap: 0.5,\n px: 1.5,\n py: 0.75,\n overflowX: 'auto',\n overflowY: 'hidden',\n scrollbarWidth: 'none',\n '&::-webkit-scrollbar': { display: 'none' },\n};\n\nconst Toolbar = observer(({ store, components = {} }) => {\n const { ActionControls } = components;\n const ImportButton =\n 'ImportButton' in components\n ? components.ImportButton\n : DefaultImportButton;\n const DownloadButton =\n 'DownloadButton' in components\n ? components.DownloadButton\n : DefaultDownloadButton;\n\n const selectedElements = store.selectedElements;\n const element = selectedElements.length === 1 ? selectedElements[0] : null;\n\n const TypeToolbar = element ? TYPE_TOOLBARS[element.type] : null;\n\n return (\n <Box\n sx={{\n borderBottom: '1px solid #e0e0e0',\n backgroundColor: '#ffffff',\n flexShrink: 0,\n }}\n >\n {/* ── Row 1: undo/redo + type-specific tools + right-side actions ── */}\n <Box sx={{ ...rowSx, minHeight: 52, borderBottom: element ? '1px solid #f0f0f0' : 'none' }}>\n {/* Undo / Redo */}\n <Tooltip title={t('toolbar.undo', 'Undo')}>\n <span>\n <IconButton\n size=\"small\"\n onClick={() => store.history.undo()}\n disabled={!store.history.canUndo}\n >\n <UndoIcon fontSize=\"small\" />\n </IconButton>\n </span>\n </Tooltip>\n <Tooltip title={t('toolbar.redo', 'Redo')}>\n <span>\n <IconButton\n size=\"small\"\n onClick={() => store.history.redo()}\n disabled={!store.history.canRedo}\n >\n <RedoIcon fontSize=\"small\" />\n </IconButton>\n </span>\n </Tooltip>\n\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 0.5 }} />\n\n {/* Multi-select: Group + Delete */}\n {selectedElements.length > 1 && (\n <>\n <Button\n size=\"small\"\n onClick={() => {\n const ids = selectedElements.map((el) => el.id);\n const group = store.groupElements(ids);\n if (group) {\n store.selectElements([group.id]);\n store.history.addUndoState();\n }\n }}\n sx={{\n textTransform: 'none',\n fontSize: 13,\n fontWeight: 500,\n px: 1.5,\n py: 0.3,\n minWidth: 0,\n color: '#333',\n '&:hover': { backgroundColor: 'rgba(13,131,205,0.08)' },\n }}\n >\n {t('toolbar.group', 'Group')}\n </Button>\n <Tooltip title={t('toolbar.removeElements', 'Delete')}>\n <IconButton\n size=\"small\"\n onClick={() => {\n store.deleteElements(selectedElements.map((el) => el.id));\n store.history.addUndoState();\n }}\n >\n <DeleteOutlineIcon fontSize=\"small\" sx={{ color: '#d32f2f' }} />\n </IconButton>\n </Tooltip>\n </>\n )}\n\n {/* Single group selected: Ungroup */}\n {element && element.type === 'group' && (\n <Button\n size=\"small\"\n onClick={() => {\n store.ungroupElements([element.id]);\n store.history.addUndoState();\n }}\n sx={{\n textTransform: 'none',\n fontSize: 13,\n fontWeight: 500,\n px: 1.5,\n py: 0.3,\n minWidth: 0,\n color: '#333',\n '&:hover': { backgroundColor: 'rgba(13,131,205,0.08)' },\n }}\n >\n {t('toolbar.ungroup', 'Ungroup')}\n </Button>\n )}\n\n {/* Type-specific toolbar */}\n {element && TypeToolbar && (\n <TypeToolbar element={element} store={store} />\n )}\n\n {/* Spacer */}\n <Box sx={{ flex: 1 }} />\n\n {/* Custom action controls */}\n {ActionControls && <ActionControls store={store} />}\n\n {/* Import button */}\n {ImportButton && <ImportButton store={store} />}\n\n {/* Download button */}\n {DownloadButton && <DownloadButton store={store} />}\n </Box>\n\n {/* ── Row 2: common element controls (only when element selected) ── */}\n {element && (\n <Box sx={{ ...rowSx, minHeight: 44, backgroundColor: '#fafafa' }}>\n <CommonControls element={element} store={store} />\n </Box>\n )}\n </Box>\n );\n});\n\nToolbar.displayName = 'Toolbar';\nexport default Toolbar;\nexport { Toolbar };\n"],"names":["DEFAULT_FONTS","GLOBAL_KEY","window","_get","t","key","defaultValue","parts","split","current","_iterator","_createForOfIteratorHelper","_step","s","n","done","part","value","_typeof","err","e","f","undefined","INPUT_FIELDS_CONFIG_KEY","_fontPreviewLoaded","Set","loadFontPreview","fontFamily","has","add","link","document","createElement","rel","href","concat","encodeURIComponent","head","appendChild","FontPreviewOption","memo","_ref","liProps","_objectWithoutProperties","_excluded","ref","useRef","useEffect","el","io","IntersectionObserver","_ref2","_ref3","_slicedToArray","entry","isIntersecting","disconnect","rootMargin","observe","_jsx","_objectSpread","children","style","fontSize","TextToolbar","observer","_ref4","_store$_toolbarPanel","element","store","handleFontSizeChange","val","parseInt","target","isNaN","set","history","addUndoState","toggleBold","fontWeight","toggleItalic","fontStyle","toggleUnderline","textDecoration","toggleStrikethrough","handleAlignChange","_","align","handleColorChange","fill","_jsxs","_Fragment","Autocomplete","size","onChange","loadFont","options","fonts","_toConsumableArray","includes","unshift","disableClearable","renderOption","props","option","renderInput","params","TextField","sx","width","py","ListboxProps","maxHeight","type","onFocus","select","textAlign","inputProps","min","max","Divider","orientation","flexItem","mx","Tooltip","title","height","border","borderRadius","cursor","padding","IconButton","onClick","color","FormatBoldIcon","FormatItalicIcon","FormatUnderlinedIcon","StrikethroughSIcon","ToggleButtonGroup","exclusive","ToggleButton","p","FormatAlignLeftIcon","FormatAlignCenterIcon","FormatAlignRightIcon","Button","textTransform","whiteSpace","px","minWidth","_toolbarPanel","backgroundColor","startIcon","AutoAwesomeIcon","_store$_toolbarPanel2","closeToolbarPanel","openToolbarPanel","toolbarBtnSx","ImageToolbar","_ref5","_store$_toolbarPanel5","_store$_toolbarPanel6","_useState","useState","_useState2","flipAnchor","setFlipAnchor","handleFlipX","flipX","handleFlipY","flipY","handleFitToPage","x","y","handleEffects","_store$_toolbarPanel3","handleMask","clipSrc","_store$_toolbarPanel4","hasMask","currentTarget","Menu","anchorEl","open","Boolean","onClose","anchorOrigin","vertical","horizontal","transformOrigin","slotProps","paper","mt","MenuItem","ListItemIcon","SwapHorizIcon","ListItemText","primaryTypographyProps","SwapVertIcon","FigureToolbar","_ref6","handleFillChange","handleStrokeChange","stroke","handleStrokeWidthChange","strokeWidth","handleCornerRadiusChange","cornerRadius","Box","display","alignItems","gap","Typography","variant","subType","LineToolbar","_ref7","CommonControls","_ref8","isLocked","locked","handleDuplicate","clone","handleDelete","deleteElements","id","handleToggleLock","draggable","resizable","contentEditable","styleEditable","handleOpacityChange","opacity","handleOpacityCommit","handleMoveUp","moveUp","handleMoveDown","moveDown","OpacityIcon","Slider","onChangeCommitted","step","ArrowUpwardIcon","ArrowDownwardIcon","LockIcon","LockOpenIcon","ContentCopyIcon","DeleteOutlineIcon","DefaultDownloadButton","_ref9","_useState3","_useState4","setAnchorEl","_useState5","_useState6","fileType","setFileType","_useState7","_useState8","quality","setQuality","_useState9","_useState0","exporting","setExporting","handleClick","handleClose","qualityToPixelRatio","q","Math","resWidth","round","resHeight","handleDownload","useCallback","_asyncToGenerator","_regenerator","m","_callee","pixelRatio","_t","_t2","w","_context","saveAsImage","fileName","mimeType","a","saveAsPDF","saveAsJSON","v","console","error","fileTypeLabel","png","jpeg","pdf","json","endIcon","ArrowDropDownIcon","Popover","mb","Select","fullWidth","borderColor","disabled","CircularProgress","DefaultImportButton","_ref1","_useState1","_useState10","importing","setImporting","fileInputRef","React","handleFileChange","_ref10","_callee2","_e$target$files","file","text","jsonData","_t3","_context2","files","JSON","parse","loadJSON","_x","apply","arguments","accept","_fileInputRef$current","click","FileUploadIcon","mr","TYPE_TOOLBARS","image","figure","line","svg","rowSx","overflowX","overflowY","scrollbarWidth","Toolbar","_ref11","_ref11$components","components","ActionControls","ImportButton","DownloadButton","selectedElements","length","TypeToolbar","borderBottom","flexShrink","minHeight","undo","canUndo","UndoIcon","redo","canRedo","RedoIcon","ids","map","group","groupElements","selectElements","ungroupElements","flex","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toolbar.js","sources":["../../../src/utils/fonts.js","../../../src/utils/l10n.js","../../../src/config.js","../../../src/toolbar/toolbar.js"],"sourcesContent":["const GOOGLE_FONTS_API = 'https://www.googleapis.com/webfonts/v1/webfonts';\n\nlet cachedFonts = null;\n\nexport async function fetchGoogleFonts(apiKey) {\n if (cachedFonts) return cachedFonts;\n\n try {\n const url = apiKey\n ? `${GOOGLE_FONTS_API}?key=${apiKey}&sort=popularity`\n : `${GOOGLE_FONTS_API}?sort=popularity`;\n const response = await fetch(url);\n const data = await response.json();\n cachedFonts = (data.items || []).map((font) => ({\n fontFamily: font.family,\n variants: font.variants || [],\n category: font.category,\n url: `https://fonts.googleapis.com/css2?family=${encodeURIComponent(\n font.family\n )}&display=swap`,\n }));\n return cachedFonts;\n } catch (e) {\n console.warn('Failed to fetch Google Fonts list', e);\n return [];\n }\n}\n\nexport async function loadGoogleFont(fontFamily) {\n const id = `google-font-${fontFamily.replace(/\\s+/g, '-').toLowerCase()}`;\n const existing = document.getElementById(id);\n\n if (!existing) {\n // Add the stylesheet and wait for it to load before checking fonts\n await new Promise((resolve) => {\n const link = document.createElement('link');\n link.id = id;\n link.href = `https://fonts.googleapis.com/css2?family=${encodeURIComponent(\n fontFamily\n )}:wght@100;200;300;400;500;600;700;800;900&display=swap`;\n link.rel = 'stylesheet';\n link.onload = () => resolve();\n link.onerror = () => resolve();\n document.head.appendChild(link);\n });\n }\n\n // Now that the CSS is loaded, wait for the actual font files to download\n try {\n await document.fonts.load(`16px \"${fontFamily}\"`);\n await document.fonts.load(`bold 16px \"${fontFamily}\"`);\n await document.fonts.ready;\n } catch (e) {\n console.warn(`Font \"${fontFamily}\" may not have loaded correctly.`, e);\n }\n}\n\nexport function clearFontCache() {\n cachedFonts = null;\n}\n\n// Comprehensive list of Google Fonts matching Polotno's font library\nexport const DEFAULT_FONTS = [\n 'ABeeZee','Abel','Abhaya Libre','Abril Fatface','Aclonica','Acme','Actor',\n 'Adamina','Advent Pro','Aguafina Script','Akronim','Aladin','Alata','Alatsi',\n 'Albert Sans','Aldrich','Alef','Alegreya','Alegreya Sans','Alegreya Sans SC',\n 'Alegreya SC','Aleo','Alex Brush','Alfa Slab One','Alice','Alike',\n 'Alike Angular','Allan','Allerta','Allerta Stencil','Allison','Allura',\n 'Almarai','Almendra','Almendra Display','Almendra SC','Alumni Sans',\n 'Alumni Sans Inline One','Amarante','Amaranth','Amatic SC','Amethysta',\n 'Amiko','Amiri','Amita','Anaheim','Andada Pro','Andika','Anek Bangla',\n 'Anek Devanagari','Anek Gujarati','Anek Gurmukhi','Anek Kannada',\n 'Anek Latin','Anek Malayalam','Anek Odia','Anek Tamil','Anek Telugu',\n 'Angkor','Annie Use Your Telescope','Anonymous Pro','Antic','Antic Didone',\n 'Antic Slab','Anton','Antonio','Anybody','Arapey','Arbutus','Arbutus Slab',\n 'Architects Daughter','Archivo','Archivo Black','Archivo Narrow','Are You Serious',\n 'Aref Ruqaa','Arima','Arimo','Arizonia','Armata','Arsenal','Artifika',\n 'Arvo','Arya','Asap','Asap Condensed','Asar','Asset','Assistant',\n 'Astloch','Asul','Athiti','Atkinson Hyperlegible','Atma','Atomic Age',\n 'Aubrey','Audiowide','Autour One','Average','Average Sans','Averia Gruesa Libre',\n 'Averia Libre','Averia Sans Libre','Averia Serif Libre',\n 'Azeret Mono','B612','B612 Mono','Bad Script','Bahiana','Bahianita',\n 'Bai Jamjuree','Bakbak One','Ballet','Baloo 2','Baloo Bhai 2',\n 'Baloo Bhaijaan 2','Baloo Bhaina 2','Baloo Chettan 2','Baloo Da 2',\n 'Baloo Paaji 2','Baloo Tamma 2','Baloo Tammudu 2','Baloo Thambi 2',\n 'Balsamiq Sans','Balthazar','Bangers','Barlow','Barlow Condensed',\n 'Barlow Semi Condensed','Barriecito','Barrio','Basic','Baskervville',\n 'Battambang','Baumans','Bayon','Be Vietnam Pro','Beau Rivage',\n 'Bebas Neue','Belgrano','Bellefair','Belleza','Bellota','Bellota Text',\n 'BenchNine','Benne','Bentham','Berkshire Swash','Besley','Beth Ellen',\n 'Bevan','BIZ UDGothic','BIZ UDMincho','BIZ UDPGothic','BIZ UDPMincho',\n 'Big Shoulders Display','Big Shoulders Inline Display',\n 'Big Shoulders Inline Text','Big Shoulders Stencil Display',\n 'Big Shoulders Stencil Text','Big Shoulders Text','Bigelow Rules',\n 'Bigshot One','Bilbo','Bilbo Swash Caps','BioRhyme','BioRhyme Expanded',\n 'Birthstone','Birthstone Bounce','Bitter','Black And White Picture',\n 'Black Han Sans','Black Ops One','Blaka','Blaka Hollow','Blaka Ink',\n 'Blinker','Bodoni Moda','Bokor','Bona Nova','Bonbon','Bonheur Royale',\n 'Boogaloo','Bowlby One','Bowlby One SC','Brawler','Bree Serif',\n 'Brygada 1918','Bubblegum Sans','Bubbler One','Buda','Buenard',\n 'Bungee','Bungee Hairline','Bungee Inline','Bungee Outline',\n 'Bungee Shade','Bungee Spice','Butcherman','Butterfly Kids',\n 'Cabin','Cabin Condensed','Cabin Sketch','Caesar Dressing','Cagliostro',\n 'Cairo','Cairo Play','Caladea','Calistoga','Calligraffitti','Cambay',\n 'Cambo','Candal','Cantarell','Cantata One','Cantora One','Caprasimo',\n 'Capriola','Caramel','Carattere','Cardo','Carlito','Carme','Carrois Gothic',\n 'Carrois Gothic SC','Carter One','Castoro','Catamaran','Caudex','Caveat',\n 'Caveat Brush','Cedarville Cursive','Ceviche One','Chakra Petch',\n 'Changa','Changa One','Chango','Charis SIL','Charm','Charmonman',\n 'Chathura','Chau Philomene One','Chela One','Chelsea Market',\n 'Chenla','Cherry Bomb One','Cherry Cream Soda','Cherry Swash',\n 'Chewy','Chicle','Chilanka','Chivo','Chivo Mono','Chonburi',\n 'Cinzel','Cinzel Decorative','Clicker Script','Coda','Coda Caption',\n 'Codystar','Coiny','Combo','Comfortaa','Comforter','Comforter Brush',\n 'Comic Neue','Coming Soon','Commissioner','Concert One','Condiment',\n 'Content','Contrail One','Convergence','Cookie','Copse','Corben',\n 'Corinthia','Cormorant','Cormorant Garamond','Cormorant Infant',\n 'Cormorant SC','Cormorant Unicase','Cormorant Upright','Courgette',\n 'Courier Prime','Cousine','Coustard','Covered By Your Grace',\n 'Crafty Girls','Creepster','Crete Round','Crimson Pro','Crimson Text',\n 'Croissant One','Crushed','Cuprum','Cute Font','Cutive','Cutive Mono',\n 'DM Mono','DM Sans','DM Serif Display','DM Serif Text',\n 'Damion','Dancing Script','Dangrek','Darker Grotesque','David Libre',\n 'Dawning of a New Day','Days One','Dekko','Dela Gothic One','Delius',\n 'Delius Swash Caps','Delius Unicase','Della Respira','Denk One',\n 'Devonshire','Dhurjati','Didact Gothic','Diplomata','Diplomata SC',\n 'Do Hyeon','Dokdo','Domine','Donegal One','Dongle','Doppio One',\n 'Dorsa','Dosis','DotGothic16','Dr Sugiyama','Duru Sans',\n 'DynaPuff','Dynalight',\n 'EB Garamond','Eagle Lake','East Sea Dokdo','Eater','Economica',\n 'Eczar','El Messiri','Electrolize','Elsie','Elsie Swash Caps',\n 'Emblema One','Emilys Candy','Encode Sans','Encode Sans Condensed',\n 'Encode Sans Expanded','Encode Sans SC','Encode Sans Semi Condensed',\n 'Encode Sans Semi Expanded','Engagement','Englebert','Enriqueta',\n 'Ephesis','Epilogue','Erica One','Esteban','Estonia','Euphoria Script',\n 'Ewert','Exo','Exo 2','Expletus Sans','Explora',\n 'Fahkwang','Familjen Grotesk','Fanwood Text','Farro','Farsan',\n 'Fascinate','Fascinate Inline','Faster One','Fasthand','Fauna One',\n 'Faustina','Federant','Federo','Felipa','Fenix','Festive',\n 'Finger Paint','Finlandica','Fira Code','Fira Mono','Fira Sans',\n 'Fira Sans Condensed','Fira Sans Extra Condensed','Fjalla One',\n 'Fjord One','Flamenco','Flavors','Fleur De Leah','Flow Block',\n 'Flow Circular','Flow Rounded','Fondamento','Fontdiner Swanky',\n 'Forum','Fragment Mono','Francois One','Frank Ruhl Libre',\n 'Fraunces','Freckle Face','Fredericka the Great','Fredoka',\n 'Freehand','Fresca','Frijole','Fruktur','Fugaz One','Fuggles',\n 'Fuzzy Bubbles',\n 'GFS Didot','GFS Neohellenic','Gabriela','Gaegu','Gafata',\n 'Galada','Galdeano','Galindo','Gamja Flower','Gantari',\n 'Gas','Gayathri','Gelasio','Gemunu Libre','Genos',\n 'Gentium Book Plus','Gentium Plus','Geo','Georama','Geostar',\n 'Geostar Fill','Germania One','Gideon Roman','Gidugu',\n 'Gilda Display','Girassol','Give You Glory','Glass Antiqua',\n 'Glegoo','Gloria Hallelujah','Glory','Gluten','Goblin One',\n 'Gochi Hand','Goldman','Goldplay','Golos Text','Gorditas',\n 'Gothic A1','Gotu','Goudy Bookletter 1911','Gowun Batang',\n 'Gowun Dodum','Graduate','Grand Hotel','Grandstander',\n 'Grape Nuts','Gravitas One','Great Vibes','Grechen Fuemen',\n 'Grenze','Grenze Gotisch','Grey Qo','Griffy','Gruppo',\n 'Gudea','Gugi','Gulzar','Gupter','Gurajada','Gwendolyn',\n 'Habibi','Hachi Maru Pop','Hahmlet','Halant','Hammersmith One',\n 'Hanalei','Hanalei Fill','Handlee','Hanken Grotesk','Hanuman',\n 'Happy Monkey','Harmattan','Headland One','Heebo','Henny Penny',\n 'Hepta Slab','Herr Von Muellerhoff','Hi Melody','Hina Mincho',\n 'Hind','Hind Guntur','Hind Madurai','Hind Siliguri','Hind Vadodara',\n 'Holtwood One SC','Homemade Apple','Homenaje','Hubballi',\n 'Hurricane','IBM Plex Mono','IBM Plex Sans','IBM Plex Sans Arabic',\n 'IBM Plex Sans Condensed','IBM Plex Sans Devanagari','IBM Plex Sans Hebrew',\n 'IBM Plex Sans JP','IBM Plex Sans KR','IBM Plex Sans Thai',\n 'IBM Plex Sans Thai Looped','IBM Plex Serif','Iceberg','Iceland',\n 'Imbue','Imperial Script','Imprima','Inconsolata','Inder',\n 'Indie Flower','Ingrid Darling','Inika','Inknut Antiqua',\n 'Inria Sans','Inria Serif','Inspiration','Inter','Inter Tight',\n 'Irish Grover','Island Moments','Istok Web','Italiana','Italianno',\n 'Itim','Jacques Francois','Jacques Francois Shadow',\n 'Jaldi','JetBrains Mono','Jim Nightshade','Joan','Jockey One',\n 'Jolly Lodger','Jomhuria','Jomolhari','Josefin Sans','Josefin Slab',\n 'Jost','Joti One','Jua','Judson','Julee','Julius Sans One',\n 'Junge','Jura',\n 'K2D','Kadwa','Kaisei Decol','Kaisei HarunoUmi','Kaisei Opti',\n 'Kaisei Tokumin','Kalam','Kameron','Kanit','Kantumruy Pro',\n 'Karantina','Karla','Karma','Katibeh','Kaushan Script','Kavivanar',\n 'Kavoon','Kdam Thmor Pro','Keania One','Kelly Slab','Kenia',\n 'Khand','Khmer','Khula','Kings','Kirang Haerang','Kite One',\n 'Kiwi Maru','Klee One','Knewave','KoHo','Kodchasan','Koh Santepheap',\n 'Kolker Brush','Konkhmer Sleokchher','Kosugi','Kosugi Maru',\n 'Kotta One','Koulen','Kranky','Kreon','Kristi','Krona One',\n 'Krub','Kufam','Kulim Park','Kumar One','Kumar One Outline',\n 'Kumbh Sans','Kurale',\n 'La Belle Aurore','Lacquer','Laila','Lakki Reddy','Lalezar',\n 'Lancelot','Langar','Lango','Lateef','Lato','Lavishly Yours',\n 'League Gothic','League Script','League Spartan','Leckerli One',\n 'Ledger','Lekton','Lemon','Lemonada','Lexend','Lexend Deca',\n 'Lexend Exa','Lexend Giga','Lexend Mega','Lexend Peta',\n 'Lexend Tera','Lexend Zetta','Libre Barcode 128',\n 'Libre Barcode 128 Text','Libre Barcode 39','Libre Barcode 39 Extended',\n 'Libre Barcode 39 Extended Text','Libre Barcode 39 Text',\n 'Libre Barcode EAN13 Text','Libre Baskerville','Libre Bodoni',\n 'Libre Caslon Display','Libre Caslon Text','Libre Franklin',\n 'Licorice','Life Savers','Lilita One','Lily Script One',\n 'Limelight','Linden Hill','Lingua Franca','Literata','Liu Jian Mao Cao',\n 'Livvic','Lobster','Lobster Two','Londrina Outline',\n 'Londrina Shadow','Londrina Sketch','Londrina Solid','Long Cang',\n 'Lora','Love Light','Love Ya Like A Sister','Loved by the King',\n 'Lovers Quarrel','Luckiest Guy','Lusitana','Lustria','Luxurious Roman',\n 'Luxurious Script',\n 'M PLUS 1','M PLUS 1 Code','M PLUS 1p','M PLUS 2','M PLUS Code Latin',\n 'M PLUS Rounded 1c','Ma Shan Zheng','Macondo','Macondo Swash Caps',\n 'Mada','Magra','Maiden Orange','Maitree','Major Mono Display',\n 'Mako','Mali','Mallanna','Mandali','Manjari','Manrope','Mansalva',\n 'Manuale','Marcellus','Marcellus SC','Marck Script','Margarine',\n 'Marhey','Markazi Text','Marko One','Marmelad','Martel',\n 'Martel Sans','Marvel','Mate','Mate SC','Maven Pro',\n 'McLaren','Mea Culpa','Meddon','MedievalSharp','Medula One',\n 'Meera Inimai','Megrim','Meie Script','Meow Script','Merienda',\n 'Merriweather','Merriweather Sans','Metal','Metal Mania',\n 'Metamorphous','Metrophobic','Michroma','Milonga','Miltonian',\n 'Miltonian Tattoo','Mina','Miniver','Miriam Libre','Mirza',\n 'Miss Fajardose','Mitr','Mochiy Pop One','Mochiy Pop P One',\n 'Modak','Modern Antiqua','Mogra','Mohave','Moirai One','Molengo',\n 'Molle','Monda','Monofett','Monoton','Monsieur La Doulaise',\n 'Montaga','Montagu Slab','MonteCarlo','Montez','Montserrat',\n 'Montserrat Alternates','Montserrat Subrayada','Moon Dance',\n 'Moul','Moulpali','Mountains of Christmas','Mouse Memoirs',\n 'Mr Bedfort','Mr Dafoe','Mr De Haviland','Mrs Saint Delafield',\n 'Mrs Sheppards','Mukta','Mukta Mahee','Mukta Malar','Mukta Vaani',\n 'Mulish','Murecho','MuseoModerno','My Soul','Mynerve','Mystery Quest',\n 'NTR','Nabla','Nanum Brush Script','Nanum Gothic',\n 'Nanum Gothic Coding','Nanum Myeongjo','Nanum Pen Script',\n 'Neonderthaw','Nerko One','Neucha','Neuton','New Rocker',\n 'New Tegomin','News Cycle','Newsreader','Niconne','Niramit',\n 'Nixie One','Nobile','Nokora','Norican','Nosifer',\n 'Notable','Nothing You Could Do','Noticia Text','Noto Color Emoji',\n 'Noto Emoji','Noto Kufi Arabic','Noto Music','Noto Naskh Arabic',\n 'Noto Nastaliq Urdu','Noto Sans','Noto Sans Arabic',\n 'Noto Sans Display','Noto Sans Mono','Noto Serif',\n 'Noto Serif Display','Nova Cut','Nova Flat','Nova Mono',\n 'Nova Oval','Nova Round','Nova Script','Nova Slim','Nova Square',\n 'Numans','Nunito','Nunito Sans',\n 'Odibee Sans','Odor Mean Chey','Offside','Oi','Old Standard TT',\n 'Oldenburg','Ole','Oleo Script','Oleo Script Swash Caps',\n 'Oooh Baby','Open Sans','Oranienbaum','Orbit','Orbitron',\n 'Oregano','Orelega One','Orienta','Original Surfer','Oswald',\n 'Outfit','Over the Rainbow','Overlock','Overlock SC','Overpass',\n 'Overpass Mono','Ovo','Oxanium','Oxygen','Oxygen Mono',\n 'PT Mono','PT Sans','PT Sans Caption','PT Sans Narrow','PT Serif',\n 'PT Serif Caption','Pacifico','Padauk','Padyakke Expanded One',\n 'Palanquin','Palanquin Dark','Palette Mosaic','Pangolin','Paprika',\n 'Parisienne','Passero One','Passion One','Passions Conflict',\n 'Pathway Extreme','Pathway Gothic One','Patrick Hand','Patrick Hand SC',\n 'Pattaya','Patua One','Pavanam','Paytone One','Peddana',\n 'Peralta','Permanent Marker','Petit Formal Script','Petrona',\n 'Philosopher','Phudu','Piazzolla','Piedra','Pinyon Script',\n 'Pirata One','Plaster','Play','Playball','Playfair Display',\n 'Playfair Display SC','Playpen Sans','Plus Jakarta Sans',\n 'Podkova','Poiret One','Poller One','Poltawski Nowy','Poly',\n 'Pompiere','Pontano Sans','Poor Story','Poppins','Port Lligat Sans',\n 'Port Lligat Slab','Potta One','Pragati Narrow','Praise',\n 'Prata','Preahvihear','Press Start 2P','Pridi','Princess Sofia',\n 'Prociono','Prompt','Prosto One','Proza Libre','Public Sans',\n 'Puppies Play','Puritan','Purple Purse','Pushster',\n 'Quando','Quantico','Quattrocento','Quattrocento Sans',\n 'Questrial','Quicksand','Quintessential','Qwigley','Qwitcher Grypen',\n 'REM','Racing Sans One','Radio Canada','Radley','Rajdhani',\n 'Rakkas','Raleway','Raleway Dots','Ramabhadra','Ramaraja',\n 'Rambla','Rammetto One','Rampart One','Ranchers','Rancho',\n 'Ranga','Rasa','Rationale','Ravi Prakash','Readex Pro',\n 'Recursive','Red Hat Display','Red Hat Mono','Red Hat Text',\n 'Red Rose','Redacted','Redacted Script','Redressed','Reem Kufi',\n 'Reem Kufi Fun','Reem Kufi Ink','Reenie Beanie','Reggae One',\n 'Revalia','Rhodium Libre','Ribeye','Ribeye Marrow','Righteous',\n 'Risque','Road Rage','RocknRoll One','Rokkitt','Romanesco',\n 'Ropa Sans','Rosario','Rosarivo','Rouge Script','Rowdies',\n 'Rozha One','Rubik','Rubik Beastly','Rubik Bubbles',\n 'Rubik Burned','Rubik Dirt','Rubik Distressed','Rubik Gemstones',\n 'Rubik Glitch','Rubik Iso','Rubik Marker Hatch','Rubik Maze',\n 'Rubik Microbe','Rubik Mono One','Rubik Moonrocks',\n 'Rubik Pixels','Rubik Puddles','Rubik Spray Paint',\n 'Rubik Storm','Rubik Vinyl','Rubik Wet Paint','Ruda','Rufina',\n 'Ruge Boogie','Ruluko','Rum Raisin','Ruslan Display',\n 'Russo One','Ruthie','Rye',\n 'STIX Two Text','Sacramento','Sahitya','Sail','Saira',\n 'Saira Condensed','Saira Extra Condensed','Saira Semi Condensed',\n 'Saira Stencil One','Salsa','Sanchez','Sancreek','Sansita',\n 'Sansita Swashed','Sarabun','Sarala','Sarina','Sarpanch',\n 'Sassybold','Satisfy','Sawarabi Gothic','Sawarabi Mincho',\n 'Scada','Scheherazade New','Schoolbell','Scope One',\n 'Seaweed Script','Secular One','Sedgwick Ave','Sedgwick Ave Display',\n 'Sen','Send Flowers','Sevillana','Seymour One','Shadows Into Light',\n 'Shadows Into Light Two','Shalimar','Shanti','Share',\n 'Share Tech','Share Tech Mono','Shippori Antique','Shippori Antique B1',\n 'Shippori Mincho','Shippori Mincho B1','Shizuru','Shojumaru',\n 'Short Stack','Shrikhand','Siemreap','Sigmar One','Signika',\n 'Signika Negative','Silkscreen','Simonetta','Single Day',\n 'Sintony','Sirin Stencil','Six Caps','Skranji','Slabo 13px',\n 'Slabo 27px','Slackey','Smokum','Smooch','Smooch Sans',\n 'Smythe','Sniglet','Snippet','Snowburst One','Sofadi One',\n 'Sofia','Sofia Sans','Sofia Sans Condensed','Sofia Sans Extra Condensed',\n 'Sofia Sans Semi Condensed','Solitreo','Solway','Song Myung',\n 'Sono','Sonsie One','Sora','Sorts Mill Goudy','Source Code Pro',\n 'Source Sans 3','Source Sans Pro','Source Serif 4','Source Serif Pro',\n 'Space Grotesk','Space Mono','Special Elite','Spectral',\n 'Spectral SC','Spicy Rice','Spinnaker','Spirax','Splash',\n 'Spline Sans','Spline Sans Mono','Squada One','Square Peg',\n 'Sree Krushnadevaraya','Sriracha','Srisakdi','Staatliches',\n 'Stalemate','Stalinist One','Stardos Stencil','Stick',\n 'Stick No Bills','Stint Ultra Condensed','Stint Ultra Expanded',\n 'Stoke','Strait','Style Script','Stylish','Sue Ellen Francisco',\n 'Suez One','Sulphur Point','Sumana','Sunflower','Sunshiney',\n 'Supermercado One','Sura','Suranna','Suravaram','Suwannaphum',\n 'Swanky and Moo Moo','Syncopate','Syne','Syne Mono','Syne Tactile',\n 'Tac One','Tai Heritage Pro','Tajawal','Tangerine','Tapestry',\n 'Taprom','Tauri','Taviraj','Teko','Telex','Tenali Ramakrishna',\n 'Tenor Sans','Text Me One','Texturina','Thasadith',\n 'The Girl Next Door','The Nautigal','Tienne','Tillana',\n 'Tilt Neon','Tilt Prism','Tilt Warp','Timmana','Tinos',\n 'Tiro Bangla','Tiro Devanagari Marathi','Tiro Devanagari Sanskrit',\n 'Tiro Gurmukhi','Tiro Kannada','Tiro Tamil','Tiro Telugu',\n 'Titan One','Titillium Web','Tomorrow','Tourney','Trade Winds',\n 'Train One','Trirong','Trispace','Trocchi','Trochut','Truculenta',\n 'Trykker','Tsukimi Rounded','Tulpen One','Turret Road',\n 'Twinkle Star','Ubuntu','Ubuntu Condensed','Ubuntu Mono','Uchen',\n 'Ultra','Unbounded','Uncial Antiqua','Underdog','Unica One',\n 'UnifrakturCook','UnifrakturMaguntia','Unkempt','Unlock',\n 'Unna','Updock','Urbanist','Vast Shadow','Vazirmatn',\n 'Vesper Libre','Viaoda Libre','Vibes','Vibur',\n 'Vidaloka','Viga','Voces','Volkhov','Vollkorn','Vollkorn SC',\n 'Voltaire','Vujahday Script',\n 'Waiting for the Sunrise','Wallpoet','Walter Turncoat',\n 'Warnes','Waterfall','Wavefont','Wellfleet','Wendy One',\n 'Whisper','WindSong','Wire One','Work Sans','Wix Madefor Display',\n 'Wix Madefor Text',\n 'Xanh Mono','Yaldevi','Yanone Kaffeesatz','Yantramanav',\n 'Yatra One','Yellowtail','Yeon Sung','Yeseva One','Yesteryear',\n 'Yomogi','Yrsa','Ysabeau','Ysabeau Infant','Ysabeau Office',\n 'Ysabeau SC','Yuji Boku','Yuji Hentaigana Akari',\n 'Yuji Hentaigana Akebono','Yuji Mai','Yuji Syuku','Yusei Magic',\n 'ZCOOL KuaiLe','ZCOOL QingKe HuangYou','ZCOOL XiaoWei',\n 'Zen Antique','Zen Antique Soft','Zen Dots','Zen Kaku Gothic Antique',\n 'Zen Kaku Gothic New','Zen Kurenaido','Zen Loop','Zen Maru Gothic',\n 'Zen Old Mincho','Zen Tokyo Zoo','Zeyada','Zhi Mang Xing',\n 'Zilla Slab','Zilla Slab Highlight',\n];\n","// Use a window-level singleton so that all Rollup bundles (config, toolbar,\n// side-panel, canvas) share the same translations object. Without this each\n// bundle gets its own copy of this module with a separate local variable.\nconst GLOBAL_KEY = '__labellife_translations__';\nif (typeof window !== 'undefined' && !window[GLOBAL_KEY]) {\n window[GLOBAL_KEY] = {};\n}\n\nfunction _get() {\n return (typeof window !== 'undefined' && window[GLOBAL_KEY]) || {};\n}\n\nfunction deepMerge(target, source) {\n const result = { ...target };\n for (const key of Object.keys(source)) {\n if (\n source[key] &&\n typeof source[key] === 'object' &&\n !Array.isArray(source[key]) &&\n target[key] &&\n typeof target[key] === 'object' &&\n !Array.isArray(target[key])\n ) {\n result[key] = deepMerge(target[key], source[key]);\n } else {\n result[key] = source[key];\n }\n }\n return result;\n}\n\nexport function setTranslations(newTranslations) {\n if (typeof window !== 'undefined') {\n window[GLOBAL_KEY] = deepMerge(_get(), newTranslations);\n }\n}\n\nexport function getTranslations() {\n return _get();\n}\n\nexport function t(key, defaultValue) {\n // Support dot-notation paths like 'toolbar.duration'\n const parts = key.split('.');\n let current = _get();\n for (const part of parts) {\n if (current == null || typeof current !== 'object') {\n return defaultValue || key;\n }\n current = current[part];\n }\n if (current !== undefined && current !== null && typeof current !== 'object') {\n return current;\n }\n return defaultValue || key;\n}\n","import { setTranslations as _setTranslations, getTranslations, t } from './utils/l10n';\n\nlet _theme = 'light';\nlet _customTheme = {};\n\nexport function setTranslations(translations) {\n _setTranslations(translations);\n}\n\nexport { getTranslations, t };\n\nexport function setTheme(theme) {\n _theme = theme;\n}\n\nexport function getTheme() {\n return _theme;\n}\n\nexport function setCustomTheme(customTheme) {\n _customTheme = { ..._customTheme, ...customTheme };\n}\n\nexport function getCustomTheme() {\n return _customTheme;\n}\n\n// ── Input Fields Dialog Config ───────────────────────────────────────\nconst INPUT_FIELDS_CONFIG_KEY = '__labellife_input_fields_config__';\nif (typeof window !== 'undefined' && !window[INPUT_FIELDS_CONFIG_KEY]) {\n window[INPUT_FIELDS_CONFIG_KEY] = {};\n}\n\nexport function setInputFieldsConfig(config) {\n if (typeof window !== 'undefined') {\n window[INPUT_FIELDS_CONFIG_KEY] = { ...window[INPUT_FIELDS_CONFIG_KEY], ...config };\n }\n}\n\nexport function getInputFieldsConfig() {\n return (typeof window !== 'undefined' && window[INPUT_FIELDS_CONFIG_KEY]) || {};\n}\n","import React, { useState, useCallback, useEffect, useRef, memo } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport { Box, IconButton, Divider, Tooltip, TextField, Slider, Typography, ToggleButton, ToggleButtonGroup, Button, Popover, Select, MenuItem, CircularProgress, Menu, ListItemIcon, ListItemText, Autocomplete } from '@mui/material';\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\nimport FileUploadIcon from '@mui/icons-material/FileUpload';\nimport { DEFAULT_FONTS } from '../utils/fonts';\nimport { t } from '../config';\nimport UndoIcon from '@mui/icons-material/Undo';\nimport RedoIcon from '@mui/icons-material/Redo';\nimport DeleteOutlineIcon from '@mui/icons-material/DeleteOutline';\nimport ContentCopyIcon from '@mui/icons-material/ContentCopy';\nimport LockIcon from '@mui/icons-material/Lock';\nimport LockOpenIcon from '@mui/icons-material/LockOpen';\nimport FormatBoldIcon from '@mui/icons-material/FormatBold';\nimport FormatItalicIcon from '@mui/icons-material/FormatItalic';\nimport FormatUnderlinedIcon from '@mui/icons-material/FormatUnderlined';\nimport StrikethroughSIcon from '@mui/icons-material/StrikethroughS';\nimport FormatAlignLeftIcon from '@mui/icons-material/FormatAlignLeft';\nimport FormatAlignCenterIcon from '@mui/icons-material/FormatAlignCenter';\nimport FormatAlignRightIcon from '@mui/icons-material/FormatAlignRight';\nimport OpacityIcon from '@mui/icons-material/Opacity';\nimport CropIcon from '@mui/icons-material/Crop';\nimport ArrowUpwardIcon from '@mui/icons-material/ArrowUpward';\nimport ArrowDownwardIcon from '@mui/icons-material/ArrowDownward';\nimport AutoAwesomeIcon from '@mui/icons-material/AutoAwesome';\nimport SwapHorizIcon from '@mui/icons-material/SwapHoriz';\nimport SwapVertIcon from '@mui/icons-material/SwapVert';\n\n// ── Font preview: lightweight Google Font subsets for dropdown ──\nconst _fontPreviewLoaded = new Set();\nfunction loadFontPreview(fontFamily) {\n if (_fontPreviewLoaded.has(fontFamily)) return;\n _fontPreviewLoaded.add(fontFamily);\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = `https://fonts.googleapis.com/css2?family=${encodeURIComponent(fontFamily)}&text=${encodeURIComponent(fontFamily)}&display=swap`;\n document.head.appendChild(link);\n}\n\nconst FontPreviewOption = memo(function FontPreviewOption({ fontFamily, ...liProps }) {\n const ref = useRef(null);\n useEffect(() => {\n const el = ref.current;\n if (!el) return;\n const io = new IntersectionObserver(\n ([entry]) => { if (entry.isIntersecting) { loadFontPreview(fontFamily); io.disconnect(); } },\n { rootMargin: '200px' }\n );\n io.observe(el);\n return () => io.disconnect();\n }, [fontFamily]);\n return (\n <li ref={ref} {...liProps}>\n <span style={{ fontFamily: `'${fontFamily}', sans-serif`, fontSize: 14 }}>{fontFamily}</span>\n </li>\n );\n});\n\n// Text-specific toolbar\nconst TextToolbar = observer(({ element, store }) => {\n const handleFontSizeChange = (e) => {\n const val = parseInt(e.target.value);\n if (!isNaN(val) && val > 0) {\n element.set({ fontSize: val });\n store.history.addUndoState();\n }\n };\n\n const toggleBold = () => {\n element.set({ fontWeight: element.fontWeight === 'bold' ? 'normal' : 'bold' });\n store.history.addUndoState();\n };\n\n const toggleItalic = () => {\n element.set({ fontStyle: element.fontStyle === 'italic' ? 'normal' : 'italic' });\n store.history.addUndoState();\n };\n\n const toggleUnderline = () => {\n element.set({\n textDecoration: element.textDecoration === 'underline' ? '' : 'underline',\n });\n store.history.addUndoState();\n };\n\n const toggleStrikethrough = () => {\n element.set({\n textDecoration: element.textDecoration === 'line-through' ? '' : 'line-through',\n });\n store.history.addUndoState();\n };\n\n const handleAlignChange = (_, value) => {\n if (value) {\n element.set({ align: value });\n store.history.addUndoState();\n }\n };\n\n const handleColorChange = (e) => {\n element.set({ fill: e.target.value });\n store.history.addUndoState();\n };\n\n return (\n <>\n {/* Font family */}\n <Autocomplete\n size=\"small\"\n value={element.fontFamily}\n onChange={(_, value) => {\n if (value) {\n element.set({ fontFamily: value });\n store.loadFont(value);\n store.history.addUndoState();\n }\n }}\n options={(() => {\n const fonts = [...DEFAULT_FONTS];\n if (element.fontFamily && !fonts.includes(element.fontFamily)) {\n fonts.unshift(element.fontFamily);\n }\n return fonts;\n })()}\n disableClearable\n renderOption={(props, option) => (\n <FontPreviewOption key={option} fontFamily={option} {...props} />\n )}\n renderInput={(params) => (\n <TextField\n {...params}\n sx={{ width: 170, '& .MuiInputBase-input': { fontSize: 12, py: 0.5, fontFamily: `'${element.fontFamily}', sans-serif` } }}\n />\n )}\n ListboxProps={{ style: { maxHeight: 300 } }}\n sx={{ width: 170 }}\n />\n\n {/* Font size */}\n <TextField\n size=\"small\"\n type=\"number\"\n value={element.fontSize}\n onChange={handleFontSizeChange}\n onFocus={(e) => e.target.select()}\n sx={{ width: 85, '& .MuiInputBase-input': { fontSize: 13, py: 0.5, textAlign: 'center' } }}\n inputProps={{ min: 1, max: 500 }}\n />\n\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 0.5 }} />\n\n {/* Color */}\n <Tooltip title=\"Text color\">\n <input\n type=\"color\"\n value={element.fill || '#000000'}\n onChange={handleColorChange}\n style={{ width: 28, height: 28, border: '1px solid #ccc', borderRadius: 4, cursor: 'pointer', padding: 0 }}\n />\n </Tooltip>\n\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 0.5 }} />\n\n {/* Bold, Italic, Underline, Strikethrough */}\n <Tooltip title=\"Bold\">\n <IconButton size=\"small\" onClick={toggleBold} color={element.fontWeight === 'bold' ? 'primary' : 'default'}>\n <FormatBoldIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Italic\">\n <IconButton size=\"small\" onClick={toggleItalic} color={element.fontStyle === 'italic' ? 'primary' : 'default'}>\n <FormatItalicIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Underline\">\n <IconButton size=\"small\" onClick={toggleUnderline} color={element.textDecoration === 'underline' ? 'primary' : 'default'}>\n <FormatUnderlinedIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Strikethrough\">\n <IconButton size=\"small\" onClick={toggleStrikethrough} color={element.textDecoration === 'line-through' ? 'primary' : 'default'}>\n <StrikethroughSIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 0.5 }} />\n\n {/* Alignment */}\n <ToggleButtonGroup size=\"small\" value={element.align} exclusive onChange={handleAlignChange}>\n <ToggleButton value=\"left\" sx={{ p: 0.5 }}>\n <FormatAlignLeftIcon sx={{ fontSize: 16 }} />\n </ToggleButton>\n <ToggleButton value=\"center\" sx={{ p: 0.5 }}>\n <FormatAlignCenterIcon sx={{ fontSize: 16 }} />\n </ToggleButton>\n <ToggleButton value=\"right\" sx={{ p: 0.5 }}>\n <FormatAlignRightIcon sx={{ fontSize: 16 }} />\n </ToggleButton>\n </ToggleButtonGroup>\n\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 0.5 }} />\n\n <Button\n size=\"small\"\n sx={{\n textTransform: 'none', fontSize: 12, whiteSpace: 'nowrap', px: 1.5, minWidth: 'auto',\n ...(store._toolbarPanel?.type === 'effects' ? { backgroundColor: '#e3f2fd', color: '#0d83cd' } : {}),\n }}\n startIcon={<AutoAwesomeIcon sx={{ fontSize: '16px !important' }} />}\n onClick={() => {\n if (store._toolbarPanel?.type === 'effects') {\n store.closeToolbarPanel();\n } else {\n store.openToolbarPanel('effects');\n }\n }}\n >\n {t('toolbar.effects', 'Effects')}\n </Button>\n </>\n );\n});\n\n// Toolbar text button style (matches Polotno)\nconst toolbarBtnSx = {\n textTransform: 'none',\n fontWeight: 500,\n fontSize: '13px',\n color: '#333',\n minWidth: 'auto',\n px: 1.5,\n py: 0.5,\n borderRadius: '6px',\n '&:hover': { backgroundColor: '#f0f0f0' },\n};\n\n// Image-specific toolbar\nconst ImageToolbar = observer(({ element, store }) => {\n const [flipAnchor, setFlipAnchor] = useState(null);\n\n const handleFlipX = () => {\n element.set({ flipX: !element.flipX });\n store.history.addUndoState();\n setFlipAnchor(null);\n };\n\n const handleFlipY = () => {\n element.set({ flipY: !element.flipY });\n store.history.addUndoState();\n setFlipAnchor(null);\n };\n\n const handleCrop = () => {\n if (element.toggleCropMode) {\n element.toggleCropMode();\n }\n };\n\n const handleFitToPage = () => {\n element.set({\n x: 0,\n y: 0,\n width: store.width,\n height: store.height,\n });\n store.history.addUndoState();\n };\n\n const handleEffects = () => {\n if (store._toolbarPanel?.type === 'effects') {\n store.closeToolbarPanel();\n } else {\n store.openToolbarPanel('effects');\n }\n };\n\n const handleMask = () => {\n if (element.clipSrc) {\n element.set({ clipSrc: '' });\n store.history.addUndoState();\n } else {\n if (store._toolbarPanel?.type === 'mask') {\n store.closeToolbarPanel();\n } else {\n store.openToolbarPanel('mask');\n }\n }\n };\n\n const hasMask = !!element.clipSrc;\n\n return (\n <>\n {/* Flip dropdown */}\n <Button\n size=\"small\"\n sx={toolbarBtnSx}\n onClick={(e) => setFlipAnchor(e.currentTarget)}\n >\n {t('toolbar.flip', 'Flip')}\n </Button>\n <Menu\n anchorEl={flipAnchor}\n open={Boolean(flipAnchor)}\n onClose={() => setFlipAnchor(null)}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}\n transformOrigin={{ vertical: 'top', horizontal: 'left' }}\n slotProps={{ paper: { sx: { mt: 0.5, borderRadius: '8px', minWidth: 200 } } }}\n >\n <MenuItem onClick={handleFlipX} sx={{ py: 1 }}>\n <ListItemIcon><SwapHorizIcon fontSize=\"small\" sx={{ color: '#555' }} /></ListItemIcon>\n <ListItemText primaryTypographyProps={{ fontSize: 13 }}>{t('toolbar.flipHorizontally', 'Flip horizontally')}</ListItemText>\n </MenuItem>\n <MenuItem onClick={handleFlipY} sx={{ py: 1 }}>\n <ListItemIcon><SwapVertIcon fontSize=\"small\" sx={{ color: '#555' }} /></ListItemIcon>\n <ListItemText primaryTypographyProps={{ fontSize: 13 }}>{t('toolbar.flipVertically', 'Flip vertically')}</ListItemText>\n </MenuItem>\n </Menu>\n\n {/* Effects */}\n <Button\n size=\"small\"\n sx={{\n ...toolbarBtnSx,\n ...(store._toolbarPanel?.type === 'effects' ? { backgroundColor: '#e3f2fd', color: '#0d83cd' } : {}),\n }}\n startIcon={<AutoAwesomeIcon sx={{ fontSize: '16px !important' }} />}\n onClick={handleEffects}\n >\n {t('toolbar.effects', 'Effects')}\n </Button>\n\n {/* Fit to page */}\n <Button size=\"small\" sx={toolbarBtnSx} onClick={handleFitToPage}>\n {t('toolbar.fitToBackground', 'Fit to page')}\n </Button>\n\n {/* Apply mask / Remove mask */}\n <Button\n size=\"small\"\n sx={{\n ...toolbarBtnSx,\n ...(hasMask ? { color: '#d32f2f' } : {}),\n ...(store._toolbarPanel?.type === 'mask' ? { backgroundColor: '#e3f2fd', color: '#0d83cd' } : {}),\n }}\n onClick={handleMask}\n >\n {hasMask ? t('toolbar.removeMask', 'Remove mask') : t('toolbar.clip', 'Apply mask')}\n </Button>\n\n {/* Crop */}\n {/* <Tooltip title={t('toolbar.crop', 'Crop')}>\n <IconButton size=\"small\" onClick={handleCrop}>\n <CropIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip> */}\n </>\n );\n});\n\n// Figure-specific toolbar\nconst FigureToolbar = observer(({ element, store }) => {\n const handleFillChange = (e) => {\n element.set({ fill: e.target.value });\n store.history.addUndoState();\n };\n\n const handleStrokeChange = (e) => {\n element.set({ stroke: e.target.value });\n store.history.addUndoState();\n };\n\n const handleStrokeWidthChange = (e) => {\n const val = parseInt(e.target.value);\n if (!isNaN(val) && val >= 0) {\n element.set({ strokeWidth: val });\n store.history.addUndoState();\n }\n };\n\n const handleCornerRadiusChange = (e) => {\n const val = parseInt(e.target.value);\n if (!isNaN(val) && val >= 0) {\n element.set({ cornerRadius: val });\n store.history.addUndoState();\n }\n };\n\n return (\n <>\n <Tooltip title={t('toolbar.fill', 'Fill color')}>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Typography variant=\"caption\" sx={{ fontSize: 10 }}>{t('toolbar.fill', 'Fill')}</Typography>\n <input\n type=\"color\"\n value={element.fill || '#000000'}\n onChange={handleFillChange}\n style={{ width: 28, height: 28, border: '1px solid #ccc', borderRadius: 4, cursor: 'pointer', padding: 0 }}\n />\n </Box>\n </Tooltip>\n <Tooltip title={t('toolbar.textStroke', 'Stroke color')}>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Typography variant=\"caption\" sx={{ fontSize: 10 }}>{t('toolbar.textStroke', 'Stroke')}</Typography>\n <input\n type=\"color\"\n value={element.stroke || '#000000'}\n onChange={handleStrokeChange}\n style={{ width: 28, height: 28, border: '1px solid #ccc', borderRadius: 4, cursor: 'pointer', padding: 0 }}\n />\n </Box>\n </Tooltip>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Typography variant=\"caption\" sx={{ fontSize: 10 }}>{t('toolbar.border', 'Border')}</Typography>\n <TextField\n size=\"small\"\n type=\"number\"\n value={element.strokeWidth || 0}\n onChange={handleStrokeWidthChange}\n onFocus={(e) => e.target.select()}\n sx={{ width: 50, '& .MuiInputBase-input': { fontSize: 11, py: 0.5, textAlign: 'center' } }}\n inputProps={{ min: 0 }}\n />\n </Box>\n {element.subType === 'rect' && (\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Typography variant=\"caption\" sx={{ fontSize: 10 }}>{t('toolbar.cornerRadius', 'Radius')}</Typography>\n <TextField\n size=\"small\"\n type=\"number\"\n value={element.cornerRadius || 0}\n onChange={handleCornerRadiusChange}\n onFocus={(e) => e.target.select()}\n sx={{ width: 50, '& .MuiInputBase-input': { fontSize: 11, py: 0.5, textAlign: 'center' } }}\n inputProps={{ min: 0 }}\n />\n </Box>\n )}\n </>\n );\n});\n\n// Line-specific toolbar\nconst LineToolbar = observer(({ element, store }) => {\n const handleColorChange = (e) => {\n element.set({ color: e.target.value });\n store.history.addUndoState();\n };\n\n return (\n <>\n <Tooltip title={t('toolbar.color', 'Line color')}>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Typography variant=\"caption\" sx={{ fontSize: 10 }}>{t('toolbar.color', 'Color')}</Typography>\n <input\n type=\"color\"\n value={element.color || '#000000'}\n onChange={handleColorChange}\n style={{ width: 28, height: 28, border: '1px solid #ccc', borderRadius: 4, cursor: 'pointer', padding: 0 }}\n />\n </Box>\n </Tooltip>\n </>\n );\n});\n\n// Common controls for all element types\nconst CommonControls = observer(({ element, store }) => {\n const isLocked = element.locked;\n\n const handleDuplicate = () => {\n if (element.clone) {\n element.clone({ x: (element.x || 0) + 20, y: (element.y || 0) + 20 });\n store.history.addUndoState();\n }\n };\n\n const handleDelete = () => {\n store.deleteElements([element.id]);\n store.history.addUndoState();\n };\n\n const handleToggleLock = () => {\n if (isLocked) {\n element.set({ draggable: true, resizable: true, contentEditable: true, styleEditable: true });\n } else {\n element.set({ draggable: false, resizable: false, contentEditable: false, styleEditable: false });\n }\n store.history.addUndoState();\n };\n\n const handleOpacityChange = (_, value) => {\n element.set({ opacity: value });\n };\n\n const handleOpacityCommit = () => {\n store.history.addUndoState();\n };\n\n const handleMoveUp = () => {\n element.moveUp();\n store.history.addUndoState();\n };\n\n const handleMoveDown = () => {\n element.moveDown();\n store.history.addUndoState();\n };\n\n return (\n <>\n {/* Opacity */}\n <Tooltip title={t('toolbar.opacity', 'Opacity')}>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5, width: 100 }}>\n <OpacityIcon sx={{ fontSize: 16, color: '#666' }} />\n <Slider\n size=\"small\"\n value={element.opacity}\n onChange={handleOpacityChange}\n onChangeCommitted={handleOpacityCommit}\n min={0}\n max={1}\n step={0.01}\n sx={{ py: 0 }}\n />\n </Box>\n </Tooltip>\n\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 0.5 }} />\n\n {/* Z-order */}\n <Tooltip title={t('toolbar.up', 'Move up')}>\n <IconButton size=\"small\" onClick={handleMoveUp}>\n <ArrowUpwardIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n <Tooltip title={t('toolbar.down', 'Move down')}>\n <IconButton size=\"small\" onClick={handleMoveDown}>\n <ArrowDownwardIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 0.5 }} />\n\n {/* Lock */}\n <Tooltip title={isLocked ? t('toolbar.unlockedDescription', 'Unlock') : t('toolbar.lockedDescription', 'Lock')}>\n <IconButton size=\"small\" onClick={handleToggleLock}>\n {isLocked ? <LockIcon fontSize=\"small\" /> : <LockOpenIcon fontSize=\"small\" />}\n </IconButton>\n </Tooltip>\n\n {/* Duplicate */}\n <Tooltip title={t('toolbar.duplicateElements', 'Duplicate')}>\n <IconButton size=\"small\" onClick={handleDuplicate}>\n <ContentCopyIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n\n {/* Delete */}\n <Tooltip title={t('toolbar.removeElements', 'Delete')}>\n <IconButton size=\"small\" onClick={handleDelete}>\n <DeleteOutlineIcon fontSize=\"small\" sx={{ color: '#d32f2f' }} />\n </IconButton>\n </Tooltip>\n </>\n );\n});\n\n// Download button with format/quality popover\nconst DefaultDownloadButton = observer(({ store }) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const [fileType, setFileType] = useState('png');\n // Default quality so pixelRatio=1 (output = template's own pixel size).\n // qualityToPixelRatio(q) = q * 3, so q = 1/3 → pixelRatio = 1.\n const [quality, setQuality] = useState(1 / 3);\n const [exporting, setExporting] = useState(false);\n\n const open = Boolean(anchorEl);\n\n const handleClick = (e) => {\n setAnchorEl(e.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const qualityToPixelRatio = (q) => Math.max(0.5, q * 3);\n\n const resWidth = Math.round(store.width * qualityToPixelRatio(quality));\n const resHeight = Math.round(store.height * qualityToPixelRatio(quality));\n\n const handleDownload = useCallback(async () => {\n setExporting(true);\n try {\n const pixelRatio = qualityToPixelRatio(quality);\n switch (fileType) {\n case 'png':\n await store.saveAsImage({\n fileName: 'design.png',\n mimeType: 'image/png',\n pixelRatio,\n });\n break;\n case 'jpeg':\n await store.saveAsImage({\n fileName: 'design.jpg',\n mimeType: 'image/jpeg',\n quality,\n pixelRatio,\n });\n break;\n case 'pdf':\n await store.saveAsPDF({\n fileName: 'design.pdf',\n pixelRatio,\n });\n break;\n case 'json':\n store.saveAsJSON({ fileName: 'design.json' });\n break;\n default:\n break;\n }\n } catch (err) {\n console.error('Export failed:', err);\n } finally {\n setExporting(false);\n handleClose();\n }\n }, [store, fileType, quality]);\n\n const fileTypeLabel = {\n png: 'PNG',\n jpeg: 'JPEG',\n pdf: 'PDF',\n json: 'JSON',\n };\n\n return (\n <>\n <Button\n variant=\"contained\"\n size=\"small\"\n onClick={handleClick}\n endIcon={<ArrowDropDownIcon />}\n sx={{\n textTransform: 'none',\n fontWeight: 600,\n fontSize: '13px',\n px: 2,\n py: 0.5,\n borderRadius: '6px',\n backgroundColor: '#3d5afe',\n '&:hover': { backgroundColor: '#304ffe' },\n }}\n >\n {t('toolbar.download', 'Download')}\n </Button>\n <Popover\n open={open}\n anchorEl={anchorEl}\n onClose={handleClose}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\n slotProps={{\n paper: {\n sx: {\n mt: 1,\n p: 2,\n width: 260,\n borderRadius: '10px',\n backgroundColor: '#2b2d31',\n color: '#e0e0e0',\n },\n },\n }}\n >\n {/* File type */}\n <Typography variant=\"caption\" sx={{ color: '#aaa', mb: 0.5, display: 'block' }}>\n {t('toolbar.fileType', 'File type')}\n </Typography>\n <Select\n value={fileType}\n onChange={(e) => setFileType(e.target.value)}\n size=\"small\"\n fullWidth\n sx={{\n mb: 2,\n color: '#fff',\n backgroundColor: '#1e1f22',\n borderRadius: '6px',\n '& .MuiSelect-icon': { color: '#aaa' },\n '& .MuiOutlinedInput-notchedOutline': {\n borderColor: '#555',\n },\n '&:hover .MuiOutlinedInput-notchedOutline': {\n borderColor: '#777',\n },\n '&.Mui-focused .MuiOutlinedInput-notchedOutline': {\n borderColor: '#3d5afe',\n },\n }}\n >\n <MenuItem value=\"png\">PNG</MenuItem>\n <MenuItem value=\"jpeg\">JPEG</MenuItem>\n <MenuItem value=\"pdf\">PDF</MenuItem>\n <MenuItem value=\"json\">JSON</MenuItem>\n </Select>\n\n {/* Quality slider (only for image/pdf) */}\n {fileType !== 'json' && (\n <>\n <Typography variant=\"caption\" sx={{ color: '#aaa', mb: 0.5, display: 'block' }}>\n {t('toolbar.quality', 'Quality')}\n </Typography>\n <Slider\n value={quality}\n onChange={(_, v) => setQuality(v)}\n min={0.1}\n max={1}\n step={0.05}\n size=\"small\"\n sx={{\n color: '#3d5afe',\n mb: 1,\n '& .MuiSlider-thumb': { width: 14, height: 14 },\n }}\n />\n <Typography variant=\"caption\" sx={{ color: '#888', mb: 2, display: 'block' }}>\n {resWidth} x {resHeight} px\n </Typography>\n </>\n )}\n\n {/* Download action */}\n <Button\n variant=\"contained\"\n fullWidth\n onClick={handleDownload}\n disabled={exporting}\n sx={{\n textTransform: 'none',\n fontWeight: 600,\n fontSize: '14px',\n py: 1,\n borderRadius: '8px',\n backgroundColor: '#3d5afe',\n '&:hover': { backgroundColor: '#304ffe' },\n }}\n >\n {exporting ? (\n <CircularProgress size={20} sx={{ color: '#fff' }} />\n ) : (\n `${t('toolbar.download', 'Download')} ${fileTypeLabel[fileType]}`\n )}\n </Button>\n </Popover>\n </>\n );\n});\n\n// Import button — loads a JSON template file into the store\nconst DefaultImportButton = observer(({ store }) => {\n const [importing, setImporting] = useState(false);\n const fileInputRef = React.useRef(null);\n\n const handleFileChange = useCallback(\n async (e) => {\n const file = e.target.files?.[0];\n if (!file) return;\n\n setImporting(true);\n try {\n const text = await file.text();\n const jsonData = JSON.parse(text);\n store.loadJSON(jsonData);\n } catch (err) {\n console.error('Error loading template JSON:', err);\n } finally {\n setImporting(false);\n if (fileInputRef.current) fileInputRef.current.value = '';\n }\n },\n [store]\n );\n\n return (\n <>\n <input\n ref={fileInputRef}\n type=\"file\"\n accept=\".json,application/json\"\n onChange={handleFileChange}\n style={{ display: 'none' }}\n />\n <Button\n variant=\"outlined\"\n size=\"small\"\n onClick={() => fileInputRef.current?.click()}\n disabled={importing}\n startIcon={\n importing ? (\n <CircularProgress size={16} />\n ) : (\n <FileUploadIcon sx={{ fontSize: 18 }} />\n )\n }\n sx={{\n textTransform: 'none',\n fontWeight: 600,\n fontSize: '13px',\n px: 2,\n py: 0.5,\n mr: 1,\n borderRadius: '6px',\n borderColor: '#3d5afe',\n color: '#3d5afe',\n '&:hover': {\n borderColor: '#304ffe',\n backgroundColor: 'rgba(61,90,254,0.04)',\n },\n }}\n >\n {t('toolbar.import', 'Import')}\n </Button>\n </>\n );\n});\n\nconst TYPE_TOOLBARS = {\n text: TextToolbar,\n image: ImageToolbar,\n figure: FigureToolbar,\n line: LineToolbar,\n svg: ImageToolbar, // SVG uses same toolbar as image\n};\n\nconst rowSx = {\n display: 'flex',\n alignItems: 'center',\n gap: 0.5,\n px: 1.5,\n py: 0.75,\n overflowX: 'auto',\n overflowY: 'hidden',\n scrollbarWidth: 'none',\n '&::-webkit-scrollbar': { display: 'none' },\n};\n\nconst Toolbar = observer(({ store, components = {} }) => {\n const { ActionControls } = components;\n const ImportButton =\n 'ImportButton' in components\n ? components.ImportButton\n : DefaultImportButton;\n const DownloadButton =\n 'DownloadButton' in components\n ? components.DownloadButton\n : DefaultDownloadButton;\n\n const selectedElements = store.selectedElements;\n const element = selectedElements.length === 1 ? selectedElements[0] : null;\n\n const TypeToolbar = element ? TYPE_TOOLBARS[element.type] : null;\n\n return (\n <Box\n sx={{\n borderBottom: '1px solid #e0e0e0',\n backgroundColor: '#ffffff',\n flexShrink: 0,\n }}\n >\n {/* ── Row 1: undo/redo + type-specific tools + right-side actions ── */}\n <Box sx={{ ...rowSx, minHeight: 52, borderBottom: '1px solid #f0f0f0' }}>\n {/* Undo / Redo */}\n <Tooltip title={t('toolbar.undo', 'Undo')}>\n <span>\n <IconButton\n size=\"small\"\n onClick={() => store.history.undo()}\n disabled={!store.history.canUndo}\n >\n <UndoIcon fontSize=\"small\" />\n </IconButton>\n </span>\n </Tooltip>\n <Tooltip title={t('toolbar.redo', 'Redo')}>\n <span>\n <IconButton\n size=\"small\"\n onClick={() => store.history.redo()}\n disabled={!store.history.canRedo}\n >\n <RedoIcon fontSize=\"small\" />\n </IconButton>\n </span>\n </Tooltip>\n\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 0.5 }} />\n\n {/* Multi-select: Group + Delete */}\n {selectedElements.length > 1 && (\n <>\n <Button\n size=\"small\"\n onClick={() => {\n const ids = selectedElements.map((el) => el.id);\n const group = store.groupElements(ids);\n if (group) {\n store.selectElements([group.id]);\n store.history.addUndoState();\n }\n }}\n sx={{\n textTransform: 'none',\n fontSize: 13,\n fontWeight: 500,\n px: 1.5,\n py: 0.3,\n minWidth: 0,\n color: '#333',\n '&:hover': { backgroundColor: 'rgba(13,131,205,0.08)' },\n }}\n >\n {t('toolbar.group', 'Group')}\n </Button>\n <Tooltip title={t('toolbar.removeElements', 'Delete')}>\n <IconButton\n size=\"small\"\n onClick={() => {\n store.deleteElements(selectedElements.map((el) => el.id));\n store.history.addUndoState();\n }}\n >\n <DeleteOutlineIcon fontSize=\"small\" sx={{ color: '#d32f2f' }} />\n </IconButton>\n </Tooltip>\n </>\n )}\n\n {/* Single group selected: Ungroup */}\n {element && element.type === 'group' && (\n <Button\n size=\"small\"\n onClick={() => {\n store.ungroupElements([element.id]);\n store.history.addUndoState();\n }}\n sx={{\n textTransform: 'none',\n fontSize: 13,\n fontWeight: 500,\n px: 1.5,\n py: 0.3,\n minWidth: 0,\n color: '#333',\n '&:hover': { backgroundColor: 'rgba(13,131,205,0.08)' },\n }}\n >\n {t('toolbar.ungroup', 'Ungroup')}\n </Button>\n )}\n\n {/* Type-specific toolbar */}\n {element && TypeToolbar && (\n <TypeToolbar element={element} store={store} />\n )}\n\n {/* Spacer */}\n <Box sx={{ flex: 1 }} />\n\n {/* Custom action controls */}\n {ActionControls && <ActionControls store={store} />}\n\n {/* Import button */}\n {ImportButton && <ImportButton store={store} />}\n\n {/* Download button */}\n {DownloadButton && <DownloadButton store={store} />}\n </Box>\n\n {/* ── Row 2: always rendered to reserve height and prevent layout shift ── */}\n <Box sx={{ ...rowSx, minHeight: 44, backgroundColor: '#fafafa', visibility: element ? 'visible' : 'hidden' }}>\n {element && <CommonControls element={element} store={store} />}\n </Box>\n </Box>\n );\n});\n\nToolbar.displayName = 'Toolbar';\nexport default Toolbar;\nexport { Toolbar };\n"],"names":["DEFAULT_FONTS","GLOBAL_KEY","window","_get","t","key","defaultValue","parts","split","current","_iterator","_createForOfIteratorHelper","_step","s","n","done","part","value","_typeof","err","e","f","undefined","INPUT_FIELDS_CONFIG_KEY","_fontPreviewLoaded","Set","loadFontPreview","fontFamily","has","add","link","document","createElement","rel","href","concat","encodeURIComponent","head","appendChild","FontPreviewOption","memo","_ref","liProps","_objectWithoutProperties","_excluded","ref","useRef","useEffect","el","io","IntersectionObserver","_ref2","_ref3","_slicedToArray","entry","isIntersecting","disconnect","rootMargin","observe","_jsx","_objectSpread","children","style","fontSize","TextToolbar","observer","_ref4","_store$_toolbarPanel","element","store","handleFontSizeChange","val","parseInt","target","isNaN","set","history","addUndoState","toggleBold","fontWeight","toggleItalic","fontStyle","toggleUnderline","textDecoration","toggleStrikethrough","handleAlignChange","_","align","handleColorChange","fill","_jsxs","_Fragment","Autocomplete","size","onChange","loadFont","options","fonts","_toConsumableArray","includes","unshift","disableClearable","renderOption","props","option","renderInput","params","TextField","sx","width","py","ListboxProps","maxHeight","type","onFocus","select","textAlign","inputProps","min","max","Divider","orientation","flexItem","mx","Tooltip","title","height","border","borderRadius","cursor","padding","IconButton","onClick","color","FormatBoldIcon","FormatItalicIcon","FormatUnderlinedIcon","StrikethroughSIcon","ToggleButtonGroup","exclusive","ToggleButton","p","FormatAlignLeftIcon","FormatAlignCenterIcon","FormatAlignRightIcon","Button","textTransform","whiteSpace","px","minWidth","_toolbarPanel","backgroundColor","startIcon","AutoAwesomeIcon","_store$_toolbarPanel2","closeToolbarPanel","openToolbarPanel","toolbarBtnSx","ImageToolbar","_ref5","_store$_toolbarPanel5","_store$_toolbarPanel6","_useState","useState","_useState2","flipAnchor","setFlipAnchor","handleFlipX","flipX","handleFlipY","flipY","handleFitToPage","x","y","handleEffects","_store$_toolbarPanel3","handleMask","clipSrc","_store$_toolbarPanel4","hasMask","currentTarget","Menu","anchorEl","open","Boolean","onClose","anchorOrigin","vertical","horizontal","transformOrigin","slotProps","paper","mt","MenuItem","ListItemIcon","SwapHorizIcon","ListItemText","primaryTypographyProps","SwapVertIcon","FigureToolbar","_ref6","handleFillChange","handleStrokeChange","stroke","handleStrokeWidthChange","strokeWidth","handleCornerRadiusChange","cornerRadius","Box","display","alignItems","gap","Typography","variant","subType","LineToolbar","_ref7","CommonControls","_ref8","isLocked","locked","handleDuplicate","clone","handleDelete","deleteElements","id","handleToggleLock","draggable","resizable","contentEditable","styleEditable","handleOpacityChange","opacity","handleOpacityCommit","handleMoveUp","moveUp","handleMoveDown","moveDown","OpacityIcon","Slider","onChangeCommitted","step","ArrowUpwardIcon","ArrowDownwardIcon","LockIcon","LockOpenIcon","ContentCopyIcon","DeleteOutlineIcon","DefaultDownloadButton","_ref9","_useState3","_useState4","setAnchorEl","_useState5","_useState6","fileType","setFileType","_useState7","_useState8","quality","setQuality","_useState9","_useState0","exporting","setExporting","handleClick","handleClose","qualityToPixelRatio","q","Math","resWidth","round","resHeight","handleDownload","useCallback","_asyncToGenerator","_regenerator","m","_callee","pixelRatio","_t","_t2","w","_context","saveAsImage","fileName","mimeType","a","saveAsPDF","saveAsJSON","v","console","error","fileTypeLabel","png","jpeg","pdf","json","endIcon","ArrowDropDownIcon","Popover","mb","Select","fullWidth","borderColor","disabled","CircularProgress","DefaultImportButton","_ref1","_useState1","_useState10","importing","setImporting","fileInputRef","React","handleFileChange","_ref10","_callee2","_e$target$files","file","text","jsonData","_t3","_context2","files","JSON","parse","loadJSON","_x","apply","arguments","accept","_fileInputRef$current","click","FileUploadIcon","mr","TYPE_TOOLBARS","image","figure","line","svg","rowSx","overflowX","overflowY","scrollbarWidth","Toolbar","_ref11","_ref11$components","components","ActionControls","ImportButton","DownloadButton","selectedElements","length","TypeToolbar","borderBottom","flexShrink","minHeight","undo","canUndo","UndoIcon","redo","canRedo","RedoIcon","ids","map","group","groupElements","selectElements","ungroupElements","flex","visibility","displayName"],"mappings":"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"}
|