diff --git a/packages/core/src/cursor_manager/cursor.css b/packages/core/src/cursor_manager/cursor.css index fc99d10b..f234e3ba 100644 --- a/packages/core/src/cursor_manager/cursor.css +++ b/packages/core/src/cursor_manager/cursor.css @@ -1,13 +1,15 @@ /* * in lib mode, vite can't handle image url in css, so we need to convert it to base64 manually - TODO: find a way to handle it + * TODO: find a way to handle it */ .suika-cursor-default { + /* cursor: url('./cursor-icons/suika-cursor-default.png') 5 5 auto; */ cursor: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANbSURBVHgB7VZNSxtRFJ3J93eaNGk0jRKsO3HlqtiFK6GuulFK3fgPlLaLLgSlKwkUXXVV0C4EG+syC+nCuii0a4luBMEGxS8kftSkSWZ6zus8CEPaYhy7yoXHG97Me/e8e869cxWlznRdV5X/bOrfAKiqyjXOunKbAAwnKueRkRHb0dGRWI/H48JxNpvVJEaCshwAZ+l8c3PTXiwW7ZqmiXd7e3vawMBAlWCWl5d1mthgUVTqr2Pr6+uzT0xMxAYHB590d3dnxaLNpjmdzqrH46kmEolqV1eX1tPTo09NTelWUqQODw/bMXvuwKrV6m6lUvm+tbX1fHZ29iHW20OhUBRzCMOL4eL309PTNkM3N+eFh6VSKS8dgYIPc3Nz+sLCggj58fHxx0wm0+/z+dqDwWAsEomEk8mkj0AwHNyr/KbxRkAEADi4m8/nX8zPzzOsejqdFkB2dnb0w8PDldXV1ader/d+IBCI430YtPgxu0Gf04hic0B4C/DuZgQQ9n46JID6MTY2JoBcXFx83djYeIm1DgmkPiLN0CI38IAwRqpWqxV5ezMICWRtbU0vl8sFRgvUJMPhcITRgEBdMhLKdYyokW4OPAb9fn8beF+ho0YA5MD3gh4K9uTkJJPL5XpJI6OgNCNM0mBwGt/e3n4tdfAvEIwGI3Z5efkWINqMizQHAJOHOlhcXBxqpAMOZKqOeiEcl0ql/P7+/pvJyckHsVgsSB3hm+tTYJhKDjGHofQO3orOzM4J7Ozs7Btu+wzfpSjEaDTKGuHBcJLOpjLB2ORA2Q0w509PTz+ZdYAM0QuFwntUxjS0ksDaHZmKDD0F2HQ9YFk1FMyUukcdsCBJ5+Pj40Jwo6OjvSxIBIpM8UjHigXFSADgoXiMLi0tPZY6YEqSkpmZmUdG7gdIl6kcW1OSeTDLLSuerAcEwuLDsFNs+NSJIUqwYqXJesDw8qZXV1df6Bw9wjvqgsCo9BtxXWc28wJ/rfz3o7JVXC5X+fz8PNfZ2bmLtVdut/sHIvATxaaGJqVmxW/Y1miRjQed4MaVg4ODz+vr60NYLgFUGRlQQYQ0qzqjhqcwtLI1wxAgkXY6lM/iUxMbLeqIHH96wT6QtwTXOjug+ne32aSazdw1Ky1rWctaZrX9AlYw33XoyEJlAAAAAElFTkSuQmCC) 5 5, auto; } .suika-cursor-move { + /* cursor: url('./cursor-icons/suika-cursor-move.png') 16 16 auto; */ cursor: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANUSURBVHgB7VY7TxtBEN47mxjf2Q7YRiYIEAWKAhQg8Qfo8gv4EaRNKkAyUUBCRBQUFKmgc0FJlwaKJE4B4hGBFBqUpOBpy7F9fpwfl/kuu87JxrGFHxISI61ub2ZnZ3Ye3y5jj/SASaIhT09P2/i8fWQYhjQ5OdkRDodH9vb2XhCrg3isnWRfX18fKBQKP/L5/M/l5eXBqakpOxxjrSYY8nq9Hl3Xvy0sLBgYmUzmE4k8kLFWpQOnQ779fr87Fot92NzcRMzNgXkikQhBRv921gqik8qBQECNRCIrBwcHRldXV8kBzMG7ublZoX8Va1kzCRsODw87Li8v587Pz42hoaGScTHAg+z6+nq2v7/fSbzGneBFJdPmnVdXVzNGGVHOzVFOFxcXM6TXScPGGiAz5wg7ToWNVVUNeDweL8l6k8nkV+EA5iTrJb4Pa7AWOtCtVZhytZOTom1nZ0c5PT0Napq2BD59c/F4XKNi02RZLpY2obnT6dTGxsYSNpstx9cuQffk5EREor7u4GG3d3d3P6WThVBcyK/xF2kCvNJ9ZCAsIoC52+32Ed+tKMozrIUOdNEx4GPPmjghjK+trQ2it9FeotpBMJRKpb7gSyD0WziAuZAhHdxZUxd7ADMAXEDP8kiUeyQfHx8/Hx0d/bi4uDhA1V8SkKEKhw8PD83vxMREhWx3d7c0xz7z8/O/jo6OXm5vb3+n/3/psyphYS6Xk3g0WLMIe0mSVNeG5iWzuro6gLBtbGxUpECMainA15oC7IF0IgXE62C18IF3gIn3KCBrEaLFUIRE/ruKEDK0o7UIUcgWiK4owgrc5qHKEwZodILXBK9xasc35mK7XSeeHo1GpfKQOhwO/fb2ViecwCkZ6TCav3e5XO/oN4097zpw1XBsbW0VoDg+Ph6kU82BR1fvEwIYNZvNKtaWwpyMK2RQpXSYDlBEZn0+31s6SKqa8boI9wCH4lf1QjFgGzqsGfeBcAIXDOC1nsuoqcatTvT19Sn/u44ho3+16cYF4XLq6elxobLRXsIBzDnkuvgjtXUkWjSdTn8OBoMGBjCDRG5+87WWgDE4Je4LPEox8CjlON82MhETT/L9/f2RRozfO1/06ilSUUbPzs4ioVCoyB7podIfhkqg+BNNERwAAAAASUVORK5CYII=) 16 16, auto; diff --git a/packages/suika/src/index.tsx b/packages/suika/src/index.tsx index ec0eec03..55c861e3 100644 --- a/packages/suika/src/index.tsx +++ b/packages/suika/src/index.tsx @@ -2,6 +2,9 @@ import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import App from './App'; +// vite does not automatically import styles when referencing other packages, you need to manually import them +import '@suika/core/dist/style.css'; +import '@suika/components/dist/style.css'; // vite does not automatically import styles when referencing other packages, you need to manually import them // TODO: FIXME: find a better way to do this diff --git a/scripts/dev.js b/scripts/dev.js index 23d7d7f3..5e567130 100644 --- a/scripts/dev.js +++ b/scripts/dev.js @@ -2,6 +2,7 @@ const { context } = require('esbuild'); const args = require('minimist')(process.argv.slice(2)); const path = require('path'); const { sassPlugin } = require('esbuild-sass-plugin'); +const fs = require('fs'); const setup = async () => { const target = args._[0]; @@ -28,6 +29,7 @@ const setup = async () => { ], outfile, bundle: true, + metafile: true, external: Object.keys({ ...pkgJson.dependencies, ...pkgJson.peerDependencies, @@ -38,7 +40,7 @@ const setup = async () => { platform: 'browser', plugins: [ sassPlugin({ - type: 'style', + type: 'css', }), { name: 'watch-build', @@ -46,8 +48,27 @@ const setup = async () => { build.onEnd((result) => { if (result.errors.length) { console.error('build failed:', result.errors); - } else { - console.log('watch build succeeded:', relativeOutputFile); + return; + } + console.log('watch build succeeded:', relativeOutputFile); + + // rename output CSS file + if (result.metafile) { + const outputs = result.metafile.outputs; + Object.keys(outputs).forEach((output) => { + const oldPath = path.resolve(output); + let newPath; + if (output.endsWith('.css')) { + // .es.css ---> style.css + newPath = oldPath.replace( + `dist/${target}.es.css`, + 'dist/style.css', + ); + } + if (newPath && oldPath !== newPath) { + fs.renameSync(oldPath, newPath); + } + }); } }); },