├── .github ├── FUNDING.yml ├── maskable-demo.gif └── workflows │ └── main.yml ├── partials ├── ad.hbs ├── github.hbs ├── donate.hbs ├── navbar.hbs ├── meta.hbs ├── clippaths.hbs └── controls.hbs ├── public ├── demo │ ├── proxx.png │ ├── big-island-buses.png │ ├── color-breakdown.png │ ├── svgomg.svg │ ├── spec.svg │ └── insightful-energy.svg ├── favicon │ ├── editor_192.png │ ├── favicon_16.png │ ├── favicon_196.png │ ├── favicon_32.png │ ├── favicon_512.png │ ├── logo.afdesign │ ├── github_social.png │ ├── maskable.afdesign │ ├── maskable_512.png │ ├── monochrome_256.png │ ├── editor.svg │ ├── favicon.svg │ └── maskable.svg ├── toggle │ ├── moon.svg │ └── sun.svg ├── css │ ├── settings.css │ ├── editor.css │ └── viewer.css ├── tigeroakes.svg ├── manifest.json └── kofi.svg ├── .gitignore ├── .editorconfig ├── netlify.toml ├── src ├── viewer │ ├── load-url.js │ ├── libs.js │ ├── keys.js │ ├── change-mask.js │ ├── masks.js │ ├── dialog.js │ └── upload-icon.js ├── settings │ └── mask-settings.js ├── missing-types.d.ts └── editor │ ├── options.js │ ├── history.js │ ├── layer.js │ ├── export.js │ ├── canvas.js │ └── main.js ├── tsconfig.json ├── eslint.config.js ├── netlify └── edge-functions │ └── open.ts ├── LICENSE ├── tests ├── editor │ ├── layer.spec.ts │ └── canvas.spec.ts ├── e2e │ ├── viewer.spec.ts │ ├── settings.spec.ts │ └── export.spec.ts └── viewer │ └── masks.spec.ts ├── README.md ├── playwright.config.ts ├── package.json ├── vite.config.js ├── index.html ├── settings.html └── editor.html /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | ko_fi: notwoods 2 | -------------------------------------------------------------------------------- /partials/ad.hbs: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /public/demo/proxx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotWoods/maskable/HEAD/public/demo/proxx.png -------------------------------------------------------------------------------- /.github/maskable-demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotWoods/maskable/HEAD/.github/maskable-demo.gif -------------------------------------------------------------------------------- /public/favicon/editor_192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotWoods/maskable/HEAD/public/favicon/editor_192.png -------------------------------------------------------------------------------- /public/favicon/favicon_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotWoods/maskable/HEAD/public/favicon/favicon_16.png -------------------------------------------------------------------------------- /public/favicon/favicon_196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotWoods/maskable/HEAD/public/favicon/favicon_196.png -------------------------------------------------------------------------------- /public/favicon/favicon_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotWoods/maskable/HEAD/public/favicon/favicon_32.png -------------------------------------------------------------------------------- /public/favicon/favicon_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotWoods/maskable/HEAD/public/favicon/favicon_512.png -------------------------------------------------------------------------------- /public/favicon/logo.afdesign: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotWoods/maskable/HEAD/public/favicon/logo.afdesign -------------------------------------------------------------------------------- /public/demo/big-island-buses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotWoods/maskable/HEAD/public/demo/big-island-buses.png -------------------------------------------------------------------------------- /public/demo/color-breakdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotWoods/maskable/HEAD/public/demo/color-breakdown.png -------------------------------------------------------------------------------- /public/favicon/github_social.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotWoods/maskable/HEAD/public/favicon/github_social.png -------------------------------------------------------------------------------- /public/favicon/maskable.afdesign: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotWoods/maskable/HEAD/public/favicon/maskable.afdesign -------------------------------------------------------------------------------- /public/favicon/maskable_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotWoods/maskable/HEAD/public/favicon/maskable_512.png -------------------------------------------------------------------------------- /public/favicon/monochrome_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NotWoods/maskable/HEAD/public/favicon/monochrome_256.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | 3 | dist 4 | /test-results/ 5 | /playwright-report/ 6 | /blob-report/ 7 | /playwright/.cache/ 8 | -------------------------------------------------------------------------------- /partials/github.hbs: -------------------------------------------------------------------------------- 1 |2 | Edit on 3 | GitHub 4 |
-------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | tab_width = 4 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /public/toggle/moon.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/css/settings.css: -------------------------------------------------------------------------------- 1 | .settings { 2 | max-width: 40rem; 3 | margin: 0 auto; 4 | } 5 | .mask-settings { 6 | columns: 2; 7 | column-gap: 1rem; 8 | } 9 | 10 | @media (max-width: 40rem) { 11 | .mask-settings { 12 | columns: 1; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /netlify.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | publish = "dist/" 3 | command = "npm run build" 4 | 5 | [build.environment] 6 | NODE_VERSION = "20" 7 | NPM_VERSION = "9.4.0" 8 | 9 | [[plugins]] 10 | # Installs the Lighthouse Build Plugin for all deploy contexts 11 | package = "@netlify/plugin-lighthouse" 12 | 13 | [[edge_functions]] 14 | path = "/open" 15 | function = "open" 16 | -------------------------------------------------------------------------------- /public/demo/svgomg.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /partials/donate.hbs: -------------------------------------------------------------------------------- 1 |