mirror of
https://github.com/penpot/penpot.git
synced 2025-05-20 20:06:13 +02:00
♻️ Refactor bundle mechanism
Mainly leave shadow-cljs for build cljs stuff and use esbuild for bundle all js dependencies, completly avoiding all possible incompatibility issues between js libraries and google closure compiler.
This commit is contained in:
parent
366bca5f93
commit
607deb31dc
45 changed files with 2833 additions and 257 deletions
|
@ -86,7 +86,7 @@ jobs:
|
||||||
working_directory: "./frontend"
|
working_directory: "./frontend"
|
||||||
command: |
|
command: |
|
||||||
yarn install
|
yarn install
|
||||||
yarn test
|
yarn run test
|
||||||
|
|
||||||
- save_cache:
|
- save_cache:
|
||||||
paths:
|
paths:
|
||||||
|
@ -120,6 +120,7 @@ jobs:
|
||||||
yarn install
|
yarn install
|
||||||
yarn run build:app:assets
|
yarn run build:app:assets
|
||||||
yarn run build:app
|
yarn run build:app
|
||||||
|
yarn run build:app:libs
|
||||||
yarn run playwright install --with-deps chromium
|
yarn run playwright install --with-deps chromium
|
||||||
yarn run test:e2e
|
yarn run test:e2e
|
||||||
|
|
||||||
|
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -74,3 +74,5 @@ node_modules
|
||||||
/playwright-report/
|
/playwright-report/
|
||||||
/blob-report/
|
/blob-report/
|
||||||
/playwright/.cache/
|
/playwright/.cache/
|
||||||
|
/frontend/vendor/draft-js/.yarn/
|
||||||
|
/frontend/vendor/hljs/.yarn
|
|
@ -158,9 +158,9 @@
|
||||||
(if (= k :selrect)
|
(if (= k :selrect)
|
||||||
(let [buffer (clone-f32-array (.-buffer coll))]
|
(let [buffer (clone-f32-array (.-buffer coll))]
|
||||||
(write-selrect buffer v)
|
(write-selrect buffer v)
|
||||||
(ShapeWithBuffer. buffer (.-delegate coll)))
|
(ShapeWithBuffer. buffer (.-delegate ^ShapeWithBuffer coll)))
|
||||||
|
|
||||||
(let [delegate (.-delegate coll)
|
(let [delegate (.-delegate ^ShapeWithBuffer coll)
|
||||||
delegate' (assoc delegate k v)]
|
delegate' (assoc delegate k v)]
|
||||||
(if (identical? delegate' delegate)
|
(if (identical? delegate' delegate)
|
||||||
coll
|
coll
|
||||||
|
@ -170,7 +170,7 @@
|
||||||
#?(:cljs
|
#?(:cljs
|
||||||
(defn- impl-dissoc
|
(defn- impl-dissoc
|
||||||
[coll k]
|
[coll k]
|
||||||
(let [delegate (.-delegate coll)
|
(let [delegate (.-delegate ^ShapeWithBuffer coll)
|
||||||
delegate' (dissoc delegate k)]
|
delegate' (dissoc delegate k)]
|
||||||
(if (identical? delegate delegate')
|
(if (identical? delegate delegate')
|
||||||
coll
|
coll
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
"build:storybook": "yarn run build:storybook:assets && yarn run build:storybook:cljs && storybook build",
|
"build:storybook": "yarn run build:storybook:assets && yarn run build:storybook:cljs && storybook build",
|
||||||
"build:storybook:assets": "node ./scripts/build-storybook-assets.js",
|
"build:storybook:assets": "node ./scripts/build-storybook-assets.js",
|
||||||
"build:storybook:cljs": "clojure -M:dev:shadow-cljs compile storybook",
|
"build:storybook:cljs": "clojure -M:dev:shadow-cljs compile storybook",
|
||||||
"build:app": "clojure -M:dev:shadow-cljs release main",
|
"build:app": "clojure -M:dev:shadow-cljs release main worker",
|
||||||
"e2e:server": "node ./scripts/e2e-server.js",
|
"e2e:server": "node ./scripts/e2e-server.js",
|
||||||
"fmt:clj": "cljfmt fix --parallel=true src/ test/",
|
"fmt:clj": "cljfmt fix --parallel=true src/ test/",
|
||||||
"fmt:clj:check": "cljfmt check --parallel=false src/ test/",
|
"fmt:clj:check": "cljfmt check --parallel=false src/ test/",
|
||||||
|
@ -30,12 +30,13 @@
|
||||||
"lint:clj": "clj-kondo --parallel --lint src/",
|
"lint:clj": "clj-kondo --parallel --lint src/",
|
||||||
"lint:scss": "yarn run prettier -c resources/styles -c src/**/*.scss",
|
"lint:scss": "yarn run prettier -c resources/styles -c src/**/*.scss",
|
||||||
"lint:scss:fix": "yarn run prettier -c resources/styles -c src/**/*.scss -w",
|
"lint:scss:fix": "yarn run prettier -c resources/styles -c src/**/*.scss -w",
|
||||||
"test": "yarn run test:compile && yarn run test:run",
|
"build:test": "clojure -M:dev:shadow-cljs compile test-esm",
|
||||||
"test:compile": "clojure -M:dev:shadow-cljs compile test --config-merge '{:autorun false}'",
|
"test": "yarn run build:test && node target/tests/test.js",
|
||||||
"test:run": "node target/tests.cjs",
|
"watch:test": "concurrently \"clojure -M:dev:shadow-cljs watch test-esm\" \"nodemon -w target/tests/test.js --exec 'sleep 2 && node target/tests/test.js'\"",
|
||||||
"test:watch": "clojure -M:dev:shadow-cljs watch test",
|
|
||||||
"test:e2e": "playwright test --project default",
|
"test:e2e": "playwright test --project default",
|
||||||
"translations": "node ./scripts/translations.js",
|
"translations": "node ./scripts/translations.js",
|
||||||
|
"build:app:libs": "esbuild --bundle --outfile=resources/public/js/libs.js --format=iife target/index.js --minify",
|
||||||
|
"watch:app:libs": "esbuild --bundle --outfile=resources/public/js/libs.js --format=iife target/index.js --watch",
|
||||||
"watch": "yarn run watch:app:assets",
|
"watch": "yarn run watch:app:assets",
|
||||||
"watch:app:assets": "node ./scripts/watch.js",
|
"watch:app:assets": "node ./scripts/watch.js",
|
||||||
"watch:storybook": "concurrently \"clojure -M:dev:shadow-cljs watch storybook\" \"storybook dev -p 6006 --no-open\" \"yarn run watch:storybook:assets\"",
|
"watch:storybook": "concurrently \"clojure -M:dev:shadow-cljs watch storybook\" \"storybook dev -p 6006 --no-open\" \"yarn run watch:storybook:assets\"",
|
||||||
|
@ -51,7 +52,7 @@
|
||||||
"@types/node": "^22.7.7",
|
"@types/node": "^22.7.7",
|
||||||
"autoprefixer": "^10.4.20",
|
"autoprefixer": "^10.4.20",
|
||||||
"concurrently": "^9.0.1",
|
"concurrently": "^9.0.1",
|
||||||
"draft-js": "git+https://github.com/penpot/draft-js.git#commit=4a99b2a6020b2af97f6dc5fa1b4275ec16b559a0",
|
"esbuild": "^0.24.0",
|
||||||
"express": "^4.21.1",
|
"express": "^4.21.1",
|
||||||
"fancy-log": "^2.0.0",
|
"fancy-log": "^2.0.0",
|
||||||
"getopts": "^2.3.0",
|
"getopts": "^2.3.0",
|
||||||
|
@ -91,15 +92,18 @@
|
||||||
"workerpool": "^9.2.0"
|
"workerpool": "^9.2.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@penpot/draft-js": "file:./vendor/draft-js",
|
||||||
|
"@penpot/hljs": "file:./vendor/hljs",
|
||||||
|
"@penpot/mousetrap": "file:./vendor/mousetrap",
|
||||||
|
"@penpot/svgo": "penpot/svgo#c6fba7a4dcfbc27b643e7fc0c94fc98cf680b77b",
|
||||||
|
"@penpot/text-editor": "penpot/penpot-text-editor#bae79a69c3d484f4a9271c2ed44022e36fce3cfb",
|
||||||
"compression": "^1.7.4",
|
"compression": "^1.7.4",
|
||||||
"date-fns": "^4.1.0",
|
"date-fns": "^4.1.0",
|
||||||
"eventsource-parser": "^3.0.0",
|
"eventsource-parser": "^3.0.0",
|
||||||
"highlight.js": "^11.10.0",
|
|
||||||
"js-beautify": "^1.15.1",
|
"js-beautify": "^1.15.1",
|
||||||
"jszip": "^3.10.1",
|
"jszip": "^3.10.1",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"luxon": "^3.5.0",
|
"luxon": "^3.5.0",
|
||||||
"mousetrap": "^1.6.5",
|
|
||||||
"opentype.js": "^1.3.4",
|
"opentype.js": "^1.3.4",
|
||||||
"postcss-modules": "^6.0.0",
|
"postcss-modules": "^6.0.0",
|
||||||
"randomcolor": "^0.6.2",
|
"randomcolor": "^0.6.2",
|
||||||
|
@ -110,9 +114,8 @@
|
||||||
"rxjs": "8.0.0-alpha.14",
|
"rxjs": "8.0.0-alpha.14",
|
||||||
"sax": "^1.4.1",
|
"sax": "^1.4.1",
|
||||||
"source-map-support": "^0.5.21",
|
"source-map-support": "^0.5.21",
|
||||||
"svgo": "penpot/svgo#v3",
|
|
||||||
"tdigest": "^0.1.2",
|
"tdigest": "^0.1.2",
|
||||||
"ua-parser-js": "^1.0.39",
|
"ua-parser-js": "2.0.0-rc.1",
|
||||||
"xregexp": "^5.1.1"
|
"xregexp": "^5.1.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
if (!('dynamicImport' in window)) {
|
if (!('dynamicImport' in globalThis)) {
|
||||||
window.dynamicImport = function(uri) {
|
globalThis.dynamicImport = function(uri) {
|
||||||
return import(uri);
|
return import(uri);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var global = globalThis;
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
|
|
||||||
<link rel="icon" href="images/favicon.png" />
|
<link rel="icon" href="images/favicon.png" />
|
||||||
{{# manifest}}
|
{{# manifest}}
|
||||||
<script>window.penpotWorkerURI="{{& worker}}"</script>
|
<script>window.penpotWorkerURI="{{& worker_main}}"</script>
|
||||||
<script defer src="{{& config}}"></script>
|
<script defer src="{{& config}}"></script>
|
||||||
<script defer src="{{& polyfills}}"></script>
|
<script defer src="{{& polyfills}}"></script>
|
||||||
{{/manifest}}
|
{{/manifest}}
|
||||||
|
@ -46,6 +46,7 @@
|
||||||
<section id="modal"></section>
|
<section id="modal"></section>
|
||||||
|
|
||||||
{{# manifest}}
|
{{# manifest}}
|
||||||
|
<script defer src="js/libs.js?ts={{& ts}}"></script>
|
||||||
<script defer src="{{& shared}}"></script>
|
<script defer src="{{& shared}}"></script>
|
||||||
<script defer src="{{& main}}"></script>
|
<script defer src="{{& main}}"></script>
|
||||||
{{/manifest}}
|
{{/manifest}}
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{{# manifest}}
|
{{# manifest}}
|
||||||
<script>window.penpotWorkerURI="{{& worker}}"</script>
|
<script>window.penpotWorkerURI="{{& worker_main}}"</script>
|
||||||
<script src="{{& config}}"></script>
|
<script src="{{& config}}"></script>
|
||||||
<script src="{{& polyfills}}"></script>
|
<script src="{{& polyfills}}"></script>
|
||||||
{{/manifest}}
|
{{/manifest}}
|
||||||
|
@ -19,6 +19,7 @@
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
{{# manifest}}
|
{{# manifest}}
|
||||||
|
<script src="js/libs.js?ts={{& ts}}"></script>
|
||||||
<script src="{{& shared}}"></script>
|
<script src="{{& shared}}"></script>
|
||||||
<script src="{{& rasterizer}}"></script>
|
<script src="{{& rasterizer}}"></script>
|
||||||
{{/manifest}}
|
{{/manifest}}
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
{{# manifest}}
|
{{# manifest}}
|
||||||
|
<script src="js/libs.js?ts={{& ts}}"></script>
|
||||||
<script src="{{& shared}}"></script>
|
<script src="{{& shared}}"></script>
|
||||||
<script src="{{& render}}"></script>
|
<script src="{{& render}}"></script>
|
||||||
{{/manifest}}
|
{{/manifest}}
|
||||||
|
|
|
@ -180,12 +180,21 @@ export async function watch(baseDir, predicate, callback) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function readManifestFile(path) {
|
||||||
|
const manifestPath = "resources/public/js/manifest.json";
|
||||||
|
let content = await fs.readFile(manifestPath, { encoding: "utf8" });
|
||||||
|
return JSON.parse(content);
|
||||||
|
}
|
||||||
|
|
||||||
async function readShadowManifest() {
|
async function readShadowManifest() {
|
||||||
const ts = Date.now();
|
const ts = Date.now();
|
||||||
try {
|
try {
|
||||||
const manifestPath = "resources/public/js/manifest.json";
|
const content1 = await readManifestFile(
|
||||||
let content = await fs.readFile(manifestPath, { encoding: "utf8" });
|
"resources/public/js/manifest.json",
|
||||||
content = JSON.parse(content);
|
);
|
||||||
|
const content2 = await readManifestFile(
|
||||||
|
"resources/public/js/worker/manifest.json",
|
||||||
|
);
|
||||||
|
|
||||||
const index = {
|
const index = {
|
||||||
ts: ts,
|
ts: ts,
|
||||||
|
@ -193,10 +202,14 @@ async function readShadowManifest() {
|
||||||
polyfills: "js/polyfills.js?ts=" + ts,
|
polyfills: "js/polyfills.js?ts=" + ts,
|
||||||
};
|
};
|
||||||
|
|
||||||
for (let item of content) {
|
for (let item of content1) {
|
||||||
index[item.name] = "js/" + item["output-name"];
|
index[item.name] = "js/" + item["output-name"];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (let item of content2) {
|
||||||
|
index["worker_" + item.name] = "js/worker/" + item["output-name"];
|
||||||
|
}
|
||||||
|
|
||||||
return index;
|
return index;
|
||||||
} catch (cause) {
|
} catch (cause) {
|
||||||
return {
|
return {
|
||||||
|
@ -205,7 +218,7 @@ async function readShadowManifest() {
|
||||||
polyfills: "js/polyfills.js?ts=" + ts,
|
polyfills: "js/polyfills.js?ts=" + ts,
|
||||||
main: "js/main.js?ts=" + ts,
|
main: "js/main.js?ts=" + ts,
|
||||||
shared: "js/shared.js?ts=" + ts,
|
shared: "js/shared.js?ts=" + ts,
|
||||||
worker: "js/worker.js?ts=" + ts,
|
worker_main: "js/worker/main.js?ts=" + ts,
|
||||||
rasterizer: "js/rasterizer.js?ts=" + ts,
|
rasterizer: "js/rasterizer.js?ts=" + ts,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,8 +20,8 @@ yarn install || exit 1;
|
||||||
rm -rf resources/public;
|
rm -rf resources/public;
|
||||||
rm -rf target/dist;
|
rm -rf target/dist;
|
||||||
|
|
||||||
clojure -M:dev:shadow-cljs release main --config-merge "{:release-version \"${CURRENT_HASH}-${TS}\"}" $EXTRA_PARAMS || exit 1
|
yarn run build:app --config-merge "{:release-version \"${CURRENT_HASH}-${TS}\"}" $EXTRA_PARAMS || exit 1
|
||||||
|
yarn run build:app:libs || exit 1;
|
||||||
yarn run build:app:assets || exit 1;
|
yarn run build:app:assets || exit 1;
|
||||||
|
|
||||||
mkdir -p target/dist;
|
mkdir -p target/dist;
|
||||||
|
|
|
@ -52,11 +52,6 @@
|
||||||
:depends-on #{:shared}
|
:depends-on #{:shared}
|
||||||
:init-fn app.render/init}
|
:init-fn app.render/init}
|
||||||
|
|
||||||
:worker
|
|
||||||
{:entries [app.worker]
|
|
||||||
:web-worker true
|
|
||||||
:depends-on #{:shared}}
|
|
||||||
|
|
||||||
:rasterizer
|
:rasterizer
|
||||||
{:entries [app.rasterizer]
|
{:entries [app.rasterizer]
|
||||||
:depends-on #{:shared}
|
:depends-on #{:shared}
|
||||||
|
@ -64,9 +59,10 @@
|
||||||
|
|
||||||
:js-options
|
:js-options
|
||||||
{:entry-keys ["module" "browser" "main"]
|
{:entry-keys ["module" "browser" "main"]
|
||||||
:resolve {"penpot/vendor/text-editor-v2"
|
:export-conditions ["module" "import", "browser" "require" "default"]
|
||||||
{:target :file
|
:js-provider :external
|
||||||
:file "vendor/text_editor_v2.js"}}}
|
:external-index "target/index.js"
|
||||||
|
:external-index-format :esm}
|
||||||
|
|
||||||
:compiler-options
|
:compiler-options
|
||||||
{:output-feature-set :es2020
|
{:output-feature-set :es2020
|
||||||
|
@ -86,6 +82,40 @@
|
||||||
:anon-fn-naming-policy :off
|
:anon-fn-naming-policy :off
|
||||||
:source-map-detail-level :all}}}
|
:source-map-detail-level :all}}}
|
||||||
|
|
||||||
|
:worker
|
||||||
|
{:target :browser
|
||||||
|
:output-dir "resources/public/js/worker/"
|
||||||
|
:asset-path "/js/worker"
|
||||||
|
:devtools {:browser-inject :main
|
||||||
|
:watch-dir "resources/public"
|
||||||
|
:reload-strategy :full}
|
||||||
|
:build-options {:manifest-name "manifest.json"}
|
||||||
|
:modules
|
||||||
|
{:main
|
||||||
|
{:entries [app.worker]
|
||||||
|
:web-worker true
|
||||||
|
:depends-on #{}}}
|
||||||
|
|
||||||
|
:js-options
|
||||||
|
{:entry-keys ["module" "browser" "main"]
|
||||||
|
:export-conditions ["module" "import", "browser" "require" "default"]}
|
||||||
|
|
||||||
|
:compiler-options
|
||||||
|
{:output-feature-set :es2020
|
||||||
|
:output-wrapper false
|
||||||
|
:warnings {:fn-deprecated false}}
|
||||||
|
|
||||||
|
:release
|
||||||
|
{:compiler-options
|
||||||
|
{:fn-invoke-direct true
|
||||||
|
:optimizations #shadow/env ["PENPOT_BUILD_OPTIMIZATIONS" :as :keyword :default :advanced]
|
||||||
|
:output-wrapper true
|
||||||
|
:rename-prefix-namespace "PENPOT"
|
||||||
|
:source-map true
|
||||||
|
:elide-asserts true
|
||||||
|
:anon-fn-naming-policy :off
|
||||||
|
:source-map-detail-level :all}}}
|
||||||
|
|
||||||
;; FIXME: maybe rename to :components ? (there are nothing storybook
|
;; FIXME: maybe rename to :components ? (there are nothing storybook
|
||||||
;; related, is just an ESM export of components that will be used
|
;; related, is just an ESM export of components that will be used
|
||||||
;; initially on storybook but not limited to storybook)
|
;; initially on storybook but not limited to storybook)
|
||||||
|
@ -106,6 +136,18 @@
|
||||||
:output-wrapper false
|
:output-wrapper false
|
||||||
:warnings {:fn-deprecated false}}}
|
:warnings {:fn-deprecated false}}}
|
||||||
|
|
||||||
|
:test-esm
|
||||||
|
{:target :esm
|
||||||
|
:output-dir "target/tests"
|
||||||
|
:runtime :custom
|
||||||
|
|
||||||
|
:modules
|
||||||
|
{:test {:init-fn frontend-tests.runner/init}}}
|
||||||
|
|
||||||
|
;; :compiler-options
|
||||||
|
;; {:output-feature-set :es2020
|
||||||
|
;; :warnings {:fn-deprecated false}}}
|
||||||
|
|
||||||
:lib-penpot
|
:lib-penpot
|
||||||
{:target :esm
|
{:target :esm
|
||||||
:output-dir "resources/public/libs"
|
:output-dir "resources/public/libs"
|
||||||
|
@ -152,10 +194,7 @@
|
||||||
:autorun true
|
:autorun true
|
||||||
|
|
||||||
:js-options
|
:js-options
|
||||||
{:entry-keys ["module" "browser" "main"]
|
{:entry-keys ["module" "browser" "main"]}
|
||||||
:resolve {"penpot/vendor/text-editor-v2"
|
|
||||||
{:target :file
|
|
||||||
:file "vendor/text_editor_v2.js"}}}
|
|
||||||
|
|
||||||
:compiler-options
|
:compiler-options
|
||||||
{:output-feature-set :es2020
|
{:output-feature-set :es2020
|
||||||
|
@ -166,4 +205,3 @@
|
||||||
:warnings {:fn-deprecated false}}}
|
:warnings {:fn-deprecated false}}}
|
||||||
|
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
(ns app.main.data.events
|
(ns app.main.data.events
|
||||||
(:require
|
(:require
|
||||||
["ua-parser-js" :as UAParser]
|
["ua-parser-js" :as ua]
|
||||||
[app.common.data :as d]
|
[app.common.data :as d]
|
||||||
[app.common.logging :as l]
|
[app.common.logging :as l]
|
||||||
[app.config :as cf]
|
[app.config :as cf]
|
||||||
|
@ -38,7 +38,7 @@
|
||||||
|
|
||||||
(defn- collect-context
|
(defn- collect-context
|
||||||
[]
|
[]
|
||||||
(let [uagent (UAParser.)]
|
(let [uagent (new ua/UAParser)]
|
||||||
(merge
|
(merge
|
||||||
{:app-version (:full cf/version)
|
{:app-version (:full cf/version)
|
||||||
:locale @i18n/locale}
|
:locale @i18n/locale}
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
(ns app.main.data.shortcuts
|
(ns app.main.data.shortcuts
|
||||||
(:refer-clojure :exclude [meta reset!])
|
(:refer-clojure :exclude [meta reset!])
|
||||||
(:require
|
(:require
|
||||||
["./shortcuts_impl.js$default" :as mousetrap]
|
["@penpot/mousetrap$default" :as mousetrap]
|
||||||
[app.common.data.macros :as dm]
|
[app.common.data.macros :as dm]
|
||||||
[app.common.logging :as log]
|
[app.common.logging :as log]
|
||||||
[app.common.schema :as sm]
|
[app.common.schema :as sm]
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
/**
|
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
||||||
*
|
|
||||||
* Copyright (c) KALEIDOS INC
|
|
||||||
*/
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
import Mousetrap from 'mousetrap'
|
|
||||||
|
|
||||||
if (Mousetrap.addKeycodes) {
|
|
||||||
Mousetrap.addKeycodes({
|
|
||||||
219: '219'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
const target = Mousetrap.prototype || Mousetrap;
|
|
||||||
target.stopCallback = function (e, element, combo) {
|
|
||||||
// if the element has the data attribute "mousetrap-dont-stop" then no need
|
|
||||||
// to stop. It should be used like <div data-mousetrap-dont-stop>...</div>
|
|
||||||
// or :div {:data-mousetrap-dont-stop true}
|
|
||||||
if ('mousetrapDontStop' in element.dataset) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((' ' + element.className + ' ').indexOf(' mousetrap ') > -1) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ('composedPath' in e && typeof e.composedPath === 'function') {
|
|
||||||
// For open shadow trees, update `element` so that the following check works.
|
|
||||||
const initialEventTarget = e.composedPath()[0];
|
|
||||||
if (initialEventTarget !== e.target) {
|
|
||||||
element = initialEventTarget;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// stop for input, select, textarea and button
|
|
||||||
const shouldStop = element.tagName == "INPUT" ||
|
|
||||||
element.tagName == "SELECT" ||
|
|
||||||
element.tagName == "TEXTAREA" ||
|
|
||||||
(element.tagName == "BUTTON" && combo.includes("tab")) ||
|
|
||||||
(element.contentEditable && element.contentEditable == "true");
|
|
||||||
return shouldStop;
|
|
||||||
}
|
|
||||||
|
|
||||||
export default Mousetrap;
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
(ns app.main.data.workspace.media
|
(ns app.main.data.workspace.media
|
||||||
(:require
|
(:require
|
||||||
["svgo" :as svgo]
|
["@penpot/svgo$default" :as svgo]
|
||||||
[app.common.data :as d]
|
[app.common.data :as d]
|
||||||
[app.common.data.macros :as dm]
|
[app.common.data.macros :as dm]
|
||||||
[app.common.exceptions :as ex]
|
[app.common.exceptions :as ex]
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
(ns app.main.data.workspace.texts
|
(ns app.main.data.workspace.texts
|
||||||
(:require
|
(:require
|
||||||
["penpot/vendor/text-editor-v2" :as editor.v2]
|
["@penpot/text-editor" :as editor.v2]
|
||||||
[app.common.attrs :as attrs]
|
[app.common.attrs :as attrs]
|
||||||
[app.common.data :as d]
|
[app.common.data :as d]
|
||||||
[app.common.data.macros :as dm]
|
[app.common.data.macros :as dm]
|
||||||
|
|
|
@ -280,7 +280,7 @@
|
||||||
(fn [event]
|
(fn [event]
|
||||||
(st/emit! (dd/hide-file-menu))
|
(st/emit! (dd/hide-file-menu))
|
||||||
(when can-edit
|
(when can-edit
|
||||||
(let [offset (dom/get-offset-position (.-nativeEvent event))
|
(let [offset (dom/get-offset-position (dom/event->native-event event))
|
||||||
|
|
||||||
select-current? (not (contains? selected-files (:id file)))
|
select-current? (not (contains? selected-files (:id file)))
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
[app.main.render :as render]
|
[app.main.render :as render]
|
||||||
[app.main.store :as st]
|
[app.main.store :as st]
|
||||||
[app.main.ui.icons :as i]
|
[app.main.ui.icons :as i]
|
||||||
|
[app.util.dom :as dom]
|
||||||
[app.util.i18n :as i18n :refer [tr]]
|
[app.util.i18n :as i18n :refer [tr]]
|
||||||
[app.util.object :as obj]
|
[app.util.object :as obj]
|
||||||
[app.util.timers :as ts]
|
[app.util.timers :as ts]
|
||||||
|
@ -46,9 +47,10 @@
|
||||||
|
|
||||||
on-scroll
|
on-scroll
|
||||||
(fn [event]
|
(fn [event]
|
||||||
(if (pos? (.. event -nativeEvent -deltaY))
|
(let [event (dom/event->native-event event)]
|
||||||
|
(if (pos? (.-deltaY ^js event))
|
||||||
(on-right-arrow-click event)
|
(on-right-arrow-click event)
|
||||||
(on-left-arrow-click event)))
|
(on-left-arrow-click event))))
|
||||||
|
|
||||||
on-mount
|
on-mount
|
||||||
(fn []
|
(fn []
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
[app.main.ui.hooks :as h]
|
[app.main.ui.hooks :as h]
|
||||||
[app.main.ui.icons :as i]
|
[app.main.ui.icons :as i]
|
||||||
[app.util.color :as uc]
|
[app.util.color :as uc]
|
||||||
|
[app.util.dom :as dom]
|
||||||
[app.util.i18n :refer [tr]]
|
[app.util.i18n :refer [tr]]
|
||||||
[app.util.keyboard :as kbd]
|
[app.util.keyboard :as kbd]
|
||||||
[app.util.object :as obj]
|
[app.util.object :as obj]
|
||||||
|
@ -92,7 +93,9 @@
|
||||||
(mf/use-callback
|
(mf/use-callback
|
||||||
(mf/deps max-offset)
|
(mf/deps max-offset)
|
||||||
(fn [event]
|
(fn [event]
|
||||||
(let [delta (+ (.. event -nativeEvent -deltaY) (.. event -nativeEvent -deltaX))]
|
(let [event (dom/event->native-event event)
|
||||||
|
delta (+ (.. ^js event -deltaY)
|
||||||
|
(.. ^js event -deltaX))]
|
||||||
(if (pos? delta)
|
(if (pos? delta)
|
||||||
(on-right-arrow-click event)
|
(on-right-arrow-click event)
|
||||||
(on-left-arrow-click event)))))]
|
(on-left-arrow-click event)))))]
|
||||||
|
|
|
@ -61,8 +61,8 @@
|
||||||
nil)))
|
nil)))
|
||||||
|
|
||||||
(defn- styles-fn [shape styles content]
|
(defn- styles-fn [shape styles content]
|
||||||
(let [data (if (= (.getText content) "")
|
(let [data (if (= (.getText ^js content) "")
|
||||||
(-> (.getData content)
|
(-> ^js (.getData content)
|
||||||
(.toJS)
|
(.toJS)
|
||||||
(js->clj :keywordize-keys true))
|
(js->clj :keywordize-keys true))
|
||||||
(txt/styles-to-attrs styles))]
|
(txt/styles-to-attrs styles))]
|
||||||
|
|
|
@ -134,8 +134,8 @@
|
||||||
(let [children (-> (array/normalize-to-array children)
|
(let [children (-> (array/normalize-to-array children)
|
||||||
(array/without-nils))
|
(array/without-nils))
|
||||||
|
|
||||||
is-button? #(= :title-button (.. % -props -role))
|
is-button? #(as-> % $ (= :title-button (.. ^js $ -props -role)))
|
||||||
is-content? #(= :content (.. % -props -role))
|
is-content? #(as-> % $ (= :content (.. ^js $ -props -role)))
|
||||||
|
|
||||||
buttons (array/filter is-button? children)
|
buttons (array/filter is-button? children)
|
||||||
content (array/filter is-content? children)
|
content (array/filter is-content? children)
|
||||||
|
@ -222,7 +222,8 @@
|
||||||
|
|
||||||
(defn set-drag-image
|
(defn set-drag-image
|
||||||
[event item-ref num-selected]
|
[event item-ref num-selected]
|
||||||
(let [offset (dom/get-offset-position (.-nativeEvent event))
|
(let [offset (dom/get-offset-position
|
||||||
|
(dom/event->native-event event))
|
||||||
item-el (mf/ref-val item-ref)
|
item-el (mf/ref-val item-ref)
|
||||||
counter-el (create-counter-element num-selected)]
|
counter-el (create-counter-element num-selected)]
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
[app.main.store :as st]
|
[app.main.store :as st]
|
||||||
[app.main.ui.context :as ctx]
|
[app.main.ui.context :as ctx]
|
||||||
[app.main.ui.icons :as i]
|
[app.main.ui.icons :as i]
|
||||||
|
[app.util.dom :as dom]
|
||||||
[app.util.i18n :refer [tr]]
|
[app.util.i18n :refer [tr]]
|
||||||
[app.util.object :as obj]
|
[app.util.object :as obj]
|
||||||
[cuerdas.core :as str]
|
[cuerdas.core :as str]
|
||||||
|
@ -111,7 +112,9 @@
|
||||||
(mf/use-callback
|
(mf/use-callback
|
||||||
(mf/deps max-offset)
|
(mf/deps max-offset)
|
||||||
(fn [event]
|
(fn [event]
|
||||||
(let [delta (+ (.. event -nativeEvent -deltaY) (.. event -nativeEvent -deltaX))]
|
(let [event (dom/event->native-event event)
|
||||||
|
delta (+ (.. ^js event -deltaY)
|
||||||
|
(.. ^js event -deltaX))]
|
||||||
(if (pos? delta)
|
(if (pos? delta)
|
||||||
(on-right-arrow-click event)
|
(on-right-arrow-click event)
|
||||||
(on-left-arrow-click event)))))]
|
(on-left-arrow-click event)))))]
|
||||||
|
|
|
@ -65,15 +65,15 @@
|
||||||
(dom/stop-propagation bevent)
|
(dom/stop-propagation bevent)
|
||||||
|
|
||||||
(when-not @z?
|
(when-not @z?
|
||||||
(let [event (.-nativeEvent bevent)
|
(let [event (dom/event->native-event bevent)
|
||||||
ctrl? (kbd/ctrl? event)
|
ctrl? (kbd/ctrl? event)
|
||||||
meta? (kbd/meta? event)
|
meta? (kbd/meta? event)
|
||||||
shift? (kbd/shift? event)
|
shift? (kbd/shift? event)
|
||||||
alt? (kbd/alt? event)
|
alt? (kbd/alt? event)
|
||||||
mod? (kbd/mod? event)
|
mod? (kbd/mod? event)
|
||||||
|
|
||||||
left-click? (and (not panning) (= 1 (.-which event)))
|
left-click? (and (not panning) (dom/left-mouse? bevent))
|
||||||
middle-click? (and (not panning) (= 2 (.-which event)))]
|
middle-click? (and (not panning) (dom/middle-mouse? bevent))]
|
||||||
|
|
||||||
(cond
|
(cond
|
||||||
(or middle-click? (and left-click? @space?))
|
(or middle-click? (and left-click? @space?))
|
||||||
|
@ -120,12 +120,11 @@
|
||||||
(mf/use-callback
|
(mf/use-callback
|
||||||
(mf/deps @hover @hover-ids selected @space? @z? read-only?)
|
(mf/deps @hover @hover-ids selected @space? @z? read-only?)
|
||||||
(fn [bevent]
|
(fn [bevent]
|
||||||
(let [event (.-nativeEvent bevent)
|
(let [event (dom/event->native-event bevent)
|
||||||
shift? (kbd/shift? event)
|
shift? (kbd/shift? event)
|
||||||
mod? (kbd/mod? event)
|
mod? (kbd/mod? event)]
|
||||||
left-click? (= 1 (.-which event))]
|
|
||||||
|
|
||||||
(when (and left-click?
|
(when (and (dom/left-mouse? bevent)
|
||||||
(not mod?)
|
(not mod?)
|
||||||
(not shift?)
|
(not shift?)
|
||||||
(not @space?))
|
(not @space?))
|
||||||
|
@ -275,7 +274,7 @@
|
||||||
;; Release pointer on mouse up
|
;; Release pointer on mouse up
|
||||||
(.releasePointerCapture target (.-pointerId event)))
|
(.releasePointerCapture target (.-pointerId event)))
|
||||||
|
|
||||||
(let [event (.-nativeEvent event)
|
(let [event (dom/event->native-event event)
|
||||||
ctrl? (kbd/ctrl? event)
|
ctrl? (kbd/ctrl? event)
|
||||||
shift? (kbd/shift? event)
|
shift? (kbd/shift? event)
|
||||||
alt? (kbd/alt? event)
|
alt? (kbd/alt? event)
|
||||||
|
@ -475,7 +474,7 @@
|
||||||
(assoc :y final-y)))))
|
(assoc :y final-y)))))
|
||||||
|
|
||||||
(dnd/has-type? event "penpot/component")
|
(dnd/has-type? event "penpot/component")
|
||||||
(let [event (.-nativeEvent event)
|
(let [event (dom/event->native-event event)
|
||||||
ctrl? (kbd/ctrl? event)
|
ctrl? (kbd/ctrl? event)
|
||||||
shift? (kbd/shift? event)
|
shift? (kbd/shift? event)
|
||||||
alt? (kbd/alt? event)
|
alt? (kbd/alt? event)
|
||||||
|
|
|
@ -959,9 +959,8 @@
|
||||||
handle-pointer-down
|
handle-pointer-down
|
||||||
(mf/use-fn
|
(mf/use-fn
|
||||||
(fn [event]
|
(fn [event]
|
||||||
(let [left-click? (= 1 (.-which (.-nativeEvent event)))]
|
(when (dom/left-mouse? event)
|
||||||
(when left-click?
|
(dom/stop-propagation event))))
|
||||||
(dom/stop-propagation event)))))
|
|
||||||
|
|
||||||
handle-add-column
|
handle-add-column
|
||||||
(mf/use-fn
|
(mf/use-fn
|
||||||
|
|
|
@ -110,7 +110,7 @@
|
||||||
(mf/use-fn
|
(mf/use-fn
|
||||||
(mf/deps frame workspace-read-only?)
|
(mf/deps frame workspace-read-only?)
|
||||||
(fn [bevent]
|
(fn [bevent]
|
||||||
(let [event (.-nativeEvent bevent)
|
(let [event (dom/event->native-event bevent)
|
||||||
position (dom/get-client-position event)]
|
position (dom/get-client-position event)]
|
||||||
(dom/prevent-default event)
|
(dom/prevent-default event)
|
||||||
(dom/stop-propagation event)
|
(dom/stop-propagation event)
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
(ns app.util.code-highlight
|
(ns app.util.code-highlight
|
||||||
(:require
|
(:require
|
||||||
["highlight.js" :as hljs]
|
["@penpot/hljs" :as hljs]
|
||||||
[app.util.dom :as dom]))
|
[app.util.dom :as dom]))
|
||||||
|
|
||||||
(defn highlight!
|
(defn highlight!
|
||||||
|
|
|
@ -756,10 +756,17 @@
|
||||||
|
|
||||||
(trigger-download-uri filename mtype uri)))
|
(trigger-download-uri filename mtype uri)))
|
||||||
|
|
||||||
(defn left-mouse? [bevent]
|
(defn left-mouse?
|
||||||
|
[bevent]
|
||||||
(let [event (.-nativeEvent ^js bevent)]
|
(let [event (.-nativeEvent ^js bevent)]
|
||||||
(= 1 (.-which event))))
|
(= 1 (.-which event))))
|
||||||
|
|
||||||
|
(defn middle-mouse?
|
||||||
|
[bevent]
|
||||||
|
(let [event (.-nativeEvent ^js bevent)]
|
||||||
|
(= 2 (.-which event))))
|
||||||
|
|
||||||
|
|
||||||
;; Warning: need to protect against reverse tabnabbing attack
|
;; Warning: need to protect against reverse tabnabbing attack
|
||||||
;; https://www.comparitech.com/blog/information-security/reverse-tabnabbing/
|
;; https://www.comparitech.com/blog/information-security/reverse-tabnabbing/
|
||||||
(defn open-new-window
|
(defn open-new-window
|
||||||
|
|
|
@ -7,8 +7,7 @@
|
||||||
(ns app.util.text-editor
|
(ns app.util.text-editor
|
||||||
"Draft related abstraction functions."
|
"Draft related abstraction functions."
|
||||||
(:require
|
(:require
|
||||||
["./text_editor_impl.js" :as impl]
|
["@penpot/draft-js" :as impl]
|
||||||
["draft-js" :as draft]
|
|
||||||
[app.common.text :as txt]))
|
[app.common.text :as txt]))
|
||||||
|
|
||||||
;; --- CONVERSION
|
;; --- CONVERSION
|
||||||
|
@ -34,12 +33,12 @@
|
||||||
|
|
||||||
(defn import-content
|
(defn import-content
|
||||||
[content]
|
[content]
|
||||||
(-> content txt/convert-to-draft clj->js draft/convertFromRaw))
|
(-> content txt/convert-to-draft clj->js impl/convertFromRaw))
|
||||||
|
|
||||||
(defn export-content
|
(defn export-content
|
||||||
[content]
|
[content]
|
||||||
(-> content
|
(-> content
|
||||||
(draft/convertToRaw)
|
(impl/convertToRaw)
|
||||||
(js->clj :keywordize-keys true)
|
(js->clj :keywordize-keys true)
|
||||||
(txt/convert-from-draft)))
|
(txt/convert-from-draft)))
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,36 @@
|
||||||
|
|
||||||
(ns app.util.time
|
(ns app.util.time
|
||||||
(:require
|
(:require
|
||||||
["./time_impl" :as impl]
|
["date-fns/format$default" :as dfn-format]
|
||||||
|
["date-fns/formatDistanceToNowStrict$default" :as dfn-distance-to-now]
|
||||||
|
["date-fns/locale/ar-SA$default" :as dfn-ar]
|
||||||
|
["date-fns/locale/ca$default" :as dfn-ca]
|
||||||
|
["date-fns/locale/cs$default" :as dfn-cs]
|
||||||
|
["date-fns/locale/de$default" :as dfn-de]
|
||||||
|
["date-fns/locale/el$default" :as dfn-el]
|
||||||
|
["date-fns/locale/en-US$default" :as df-en-us]
|
||||||
|
["date-fns/locale/es$default" :as dfn-es]
|
||||||
|
["date-fns/locale/eu$default" :as dfn-eu]
|
||||||
|
["date-fns/locale/fa-IR$default" :as dfn-fa-ir]
|
||||||
|
["date-fns/locale/fr$default" :as dfn-fr]
|
||||||
|
["date-fns/locale/gl$default" :as dfn-gl]
|
||||||
|
["date-fns/locale/he$default" :as dfn-he]
|
||||||
|
["date-fns/locale/hr$default" :as dfn-hr]
|
||||||
|
["date-fns/locale/id$default" :as dfn-id]
|
||||||
|
["date-fns/locale/it$default" :as dfn-it]
|
||||||
|
["date-fns/locale/ja$default" :as dfn-ja]
|
||||||
|
["date-fns/locale/ko$default" :as dfn-ko]
|
||||||
|
["date-fns/locale/lv$default" :as dfn-lv]
|
||||||
|
["date-fns/locale/nb$default" :as dfn-nb]
|
||||||
|
["date-fns/locale/nl$default" :as dfn-nl]
|
||||||
|
["date-fns/locale/pl$default" :as dfn-pl]
|
||||||
|
["date-fns/locale/pt$default" :as dfn-pt]
|
||||||
|
["date-fns/locale/pt-BR$default" :as dfn-pt-br]
|
||||||
|
["date-fns/locale/ro$default" :as dfn-ro]
|
||||||
|
["date-fns/locale/ru$default" :as dfn-ru]
|
||||||
|
["date-fns/locale/tr$default" :as dfn-tr]
|
||||||
|
["date-fns/locale/uk$default" :as dfn-uk]
|
||||||
|
["date-fns/locale/zh-CN$default" :as dfn-zh-cn]
|
||||||
[app.common.data.macros :as dm]
|
[app.common.data.macros :as dm]
|
||||||
[app.common.time :as common-time]
|
[app.common.time :as common-time]
|
||||||
[app.util.object :as obj]
|
[app.util.object :as obj]
|
||||||
|
@ -15,6 +44,42 @@
|
||||||
(dm/export common-time/DateTime)
|
(dm/export common-time/DateTime)
|
||||||
(dm/export common-time/Duration)
|
(dm/export common-time/Duration)
|
||||||
|
|
||||||
|
(def locales
|
||||||
|
#js {:ar dfn-ar
|
||||||
|
:ca dfn-ca
|
||||||
|
:de dfn-de
|
||||||
|
:el dfn-el
|
||||||
|
:en df-en-us
|
||||||
|
:en_us df-en-us
|
||||||
|
:es dfn-es
|
||||||
|
:es_es dfn-es
|
||||||
|
:fa dfn-fa-ir
|
||||||
|
:fa_ir dfn-fa-ir
|
||||||
|
:fr dfn-fr
|
||||||
|
:he dfn-he
|
||||||
|
:pt dfn-pt
|
||||||
|
:pt_pt dfn-pt
|
||||||
|
:pt_br dfn-pt-br
|
||||||
|
:ro dfn-ro
|
||||||
|
:ru dfn-ru
|
||||||
|
:tr dfn-tr
|
||||||
|
:zh-cn dfn-zh-cn
|
||||||
|
:nl dfn-nl
|
||||||
|
:eu dfn-eu
|
||||||
|
:gl dfn-gl
|
||||||
|
:hr dfn-hr
|
||||||
|
:it dfn-it
|
||||||
|
:nb dfn-nb
|
||||||
|
:nb_no dfn-nb
|
||||||
|
:pl dfn-pl
|
||||||
|
:id dfn-id
|
||||||
|
:uk dfn-uk
|
||||||
|
:cs dfn-cs
|
||||||
|
:lv dfn-lv
|
||||||
|
:ko dfn-ko
|
||||||
|
:ja dfn-ja
|
||||||
|
:ja_jp dfn-ja})
|
||||||
|
|
||||||
(defprotocol ITimeMath
|
(defprotocol ITimeMath
|
||||||
(plus [_ o])
|
(plus [_ o])
|
||||||
(minus [_ o]))
|
(minus [_ o]))
|
||||||
|
@ -199,18 +264,18 @@
|
||||||
(let [v (if (datetime? v) (format v :date) v)]
|
(let [v (if (datetime? v) (format v :date) v)]
|
||||||
(->> #js {:includeSeconds true
|
(->> #js {:includeSeconds true
|
||||||
:addSuffix true
|
:addSuffix true
|
||||||
:locale (obj/get impl/locales locale)}
|
:locale (obj/get locales locale)}
|
||||||
(impl/format-distance-to-now v))))))
|
(dfn-distance-to-now v))))))
|
||||||
|
|
||||||
(defn format-date-locale
|
(defn format-date-locale
|
||||||
([v] (format-date-locale v nil))
|
([v] (format-date-locale v nil))
|
||||||
([v {:keys [locale] :or {locale "en"}}]
|
([v {:keys [locale] :or {locale "en"}}]
|
||||||
(when v
|
(when v
|
||||||
(let [v (if (datetime? v) (format v :date) v)
|
(let [v (if (datetime? v) (format v :date) v)
|
||||||
locale (obj/get impl/locales locale)
|
locale (obj/get locales locale)
|
||||||
f (.date (.-formatLong ^js locale) v)]
|
f (.date (.-formatLong ^js locale) v)]
|
||||||
(->> #js {:locale locale}
|
(->> #js {:locale locale}
|
||||||
(impl/format v f))))))
|
(dfn-format v f))))))
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; Measurement Helpers
|
;; Measurement Helpers
|
||||||
|
|
|
@ -1,71 +0,0 @@
|
||||||
import {format as dfnFormat} from "date-fns/format";
|
|
||||||
import {formatDistanceToNowStrict as dfnFormatDistance} from "date-fns/formatDistanceToNowStrict";
|
|
||||||
|
|
||||||
import {arSA} from "date-fns/locale/ar-SA";
|
|
||||||
import {ca} from "date-fns/locale/ca";
|
|
||||||
import {de} from "date-fns/locale/de";
|
|
||||||
import {el} from "date-fns/locale/el";
|
|
||||||
import {enUS} from "date-fns/locale/en-US";
|
|
||||||
import {es} from "date-fns/locale/es";
|
|
||||||
import {faIR} from "date-fns/locale/fa-IR";
|
|
||||||
import {fr} from "date-fns/locale/fr";
|
|
||||||
import {he} from "date-fns/locale/he";
|
|
||||||
import {pt} from "date-fns/locale/pt";
|
|
||||||
import {ptBR} from "date-fns/locale/pt-BR";
|
|
||||||
import {ro} from "date-fns/locale/ro";
|
|
||||||
import {ru} from "date-fns/locale/ru";
|
|
||||||
import {tr} from "date-fns/locale/tr";
|
|
||||||
import {zhCN} from "date-fns/locale/zh-CN";
|
|
||||||
import {nl} from "date-fns/locale/nl";
|
|
||||||
import {eu} from "date-fns/locale/eu";
|
|
||||||
import {gl} from "date-fns/locale/gl";
|
|
||||||
import {hr} from "date-fns/locale/hr";
|
|
||||||
import {it} from "date-fns/locale/it";
|
|
||||||
import {nb} from "date-fns/locale/nb";
|
|
||||||
import {pl} from "date-fns/locale/pl";
|
|
||||||
import {id} from "date-fns/locale/id";
|
|
||||||
import {uk} from "date-fns/locale/uk";
|
|
||||||
import {cs} from "date-fns/locale/cs";
|
|
||||||
import {lv} from "date-fns/locale/lv";
|
|
||||||
import {ko} from "date-fns/locale/ko";
|
|
||||||
import {ja} from "date-fns/locale/ja";
|
|
||||||
|
|
||||||
export const locales = {
|
|
||||||
"ar": arSA,
|
|
||||||
"ca": ca,
|
|
||||||
"de": de,
|
|
||||||
"el": el,
|
|
||||||
"en": enUS,
|
|
||||||
"en_us": enUS,
|
|
||||||
"es": es,
|
|
||||||
"es_es": es,
|
|
||||||
"fa": faIR,
|
|
||||||
"fa_ir": faIR,
|
|
||||||
"fr": fr,
|
|
||||||
"he": he,
|
|
||||||
"pt": pt,
|
|
||||||
"pt_pt": pt,
|
|
||||||
"pt_br": ptBR,
|
|
||||||
"ro": ro,
|
|
||||||
"ru": ru,
|
|
||||||
"tr": tr,
|
|
||||||
"zh_cn": zhCN,
|
|
||||||
"nl": nl,
|
|
||||||
"eu": eu,
|
|
||||||
"gl": gl,
|
|
||||||
"hr": hr,
|
|
||||||
"it": it,
|
|
||||||
"nb": nb,
|
|
||||||
"nb_no": nb,
|
|
||||||
"pl": pl,
|
|
||||||
"id": id,
|
|
||||||
"uk": uk,
|
|
||||||
"cs": cs,
|
|
||||||
"lv": lv,
|
|
||||||
"ko": ko,
|
|
||||||
"ja": ja,
|
|
||||||
"ja_jp": ja,
|
|
||||||
};
|
|
||||||
|
|
||||||
export const format = dfnFormat;
|
|
||||||
export const format_distance_to_now = dfnFormatDistance;
|
|
34
frontend/test/frontend_tests/runner.cljs
Normal file
34
frontend/test/frontend_tests/runner.cljs
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
(ns frontend-tests.runner
|
||||||
|
(:require
|
||||||
|
[cljs.test :as t]
|
||||||
|
[frontend-tests.basic-shapes-test]
|
||||||
|
[frontend-tests.helpers-shapes-test]
|
||||||
|
[frontend-tests.logic.comp-remove-swap-slots-test]
|
||||||
|
[frontend-tests.logic.copying-and-duplicating-test]
|
||||||
|
[frontend-tests.logic.frame-guides-test]
|
||||||
|
[frontend-tests.logic.groups-test]
|
||||||
|
[frontend-tests.plugins.context-shapes-test]
|
||||||
|
[frontend-tests.util-range-tree-test]
|
||||||
|
[frontend-tests.util-simple-math-test]
|
||||||
|
[frontend-tests.util-snap-data-test]))
|
||||||
|
|
||||||
|
(enable-console-print!)
|
||||||
|
|
||||||
|
(defmethod cljs.test/report [:cljs.test/default :end-run-tests] [m]
|
||||||
|
(if (cljs.test/successful? m)
|
||||||
|
(.exit js/process 0)
|
||||||
|
(.exit js/process 1)))
|
||||||
|
|
||||||
|
|
||||||
|
(defn init
|
||||||
|
[]
|
||||||
|
(t/run-tests 'frontend-tests.helpers-shapes-test
|
||||||
|
'frontend-tests.logic.comp-remove-swap-slots-test
|
||||||
|
'frontend-tests.logic.copying-and-duplicating-test
|
||||||
|
'frontend-tests.logic.frame-guides-test
|
||||||
|
'frontend-tests.logic.groups-test
|
||||||
|
'frontend-tests.plugins.context-shapes-test
|
||||||
|
'frontend-tests.util-range-tree-test
|
||||||
|
'frontend-tests.util-snap-data-test
|
||||||
|
'frontend-tests.util-simple-math-test
|
||||||
|
'frontend-tests.basic-shapes-test))
|
|
@ -16,6 +16,8 @@ import {
|
||||||
Modifier,
|
Modifier,
|
||||||
RichTextEditorUtil,
|
RichTextEditorUtil,
|
||||||
SelectionState,
|
SelectionState,
|
||||||
|
convertFromRaw,
|
||||||
|
convertToRaw
|
||||||
} from "draft-js";
|
} from "draft-js";
|
||||||
|
|
||||||
import DraftPasteProcessor from 'draft-js/lib/DraftPasteProcessor';
|
import DraftPasteProcessor from 'draft-js/lib/DraftPasteProcessor';
|
||||||
|
@ -406,3 +408,8 @@ export function selectionEquals(selection, other) {
|
||||||
selection.getFocusOffset() === other.getFocusOffset() &&
|
selection.getFocusOffset() === other.getFocusOffset() &&
|
||||||
selection.getIsBackward() === other.getIsBackward();
|
selection.getIsBackward() === other.getIsBackward();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export {
|
||||||
|
convertToRaw,
|
||||||
|
convertFromRaw
|
||||||
|
};
|
20
frontend/vendor/draft-js/package.json
vendored
Normal file
20
frontend/vendor/draft-js/package.json
vendored
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"name": "@penpot/draft-js-wrapper",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "Penpot Draft-JS Wrapper",
|
||||||
|
"main": "index.js",
|
||||||
|
"module": " index.js",
|
||||||
|
"packageManager": "yarn@4.3.1",
|
||||||
|
"author": "Andrey Antukh",
|
||||||
|
"license": "MPL-2.0",
|
||||||
|
"dependencies": {
|
||||||
|
"draft-js": "penpot/draft-js.git#4a99b2a6020b2af97f6dc5fa1b4275ec16b559a0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": ">=0.17.0",
|
||||||
|
"react-dom": ">=0.17.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"esbuild": "^0.24.0"
|
||||||
|
}
|
||||||
|
}
|
416
frontend/vendor/draft-js/yarn.lock
vendored
Normal file
416
frontend/vendor/draft-js/yarn.lock
vendored
Normal file
|
@ -0,0 +1,416 @@
|
||||||
|
# This file is generated by running "yarn install" inside your project.
|
||||||
|
# Manual changes might be lost - proceed with caution!
|
||||||
|
|
||||||
|
__metadata:
|
||||||
|
version: 8
|
||||||
|
cacheKey: 10c0
|
||||||
|
|
||||||
|
"@esbuild/aix-ppc64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/aix-ppc64@npm:0.24.0"
|
||||||
|
conditions: os=aix & cpu=ppc64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/android-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/android-arm64@npm:0.24.0"
|
||||||
|
conditions: os=android & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/android-arm@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/android-arm@npm:0.24.0"
|
||||||
|
conditions: os=android & cpu=arm
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/android-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/android-x64@npm:0.24.0"
|
||||||
|
conditions: os=android & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/darwin-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/darwin-arm64@npm:0.24.0"
|
||||||
|
conditions: os=darwin & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/darwin-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/darwin-x64@npm:0.24.0"
|
||||||
|
conditions: os=darwin & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/freebsd-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/freebsd-arm64@npm:0.24.0"
|
||||||
|
conditions: os=freebsd & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/freebsd-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/freebsd-x64@npm:0.24.0"
|
||||||
|
conditions: os=freebsd & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-arm64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-arm@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-arm@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=arm
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-ia32@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-ia32@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=ia32
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-loong64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-loong64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=loong64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-mips64el@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-mips64el@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=mips64el
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-ppc64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-ppc64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=ppc64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-riscv64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-riscv64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=riscv64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-s390x@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-s390x@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=s390x
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-x64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/netbsd-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/netbsd-x64@npm:0.24.0"
|
||||||
|
conditions: os=netbsd & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/openbsd-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/openbsd-arm64@npm:0.24.0"
|
||||||
|
conditions: os=openbsd & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/openbsd-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/openbsd-x64@npm:0.24.0"
|
||||||
|
conditions: os=openbsd & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/sunos-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/sunos-x64@npm:0.24.0"
|
||||||
|
conditions: os=sunos & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/win32-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/win32-arm64@npm:0.24.0"
|
||||||
|
conditions: os=win32 & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/win32-ia32@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/win32-ia32@npm:0.24.0"
|
||||||
|
conditions: os=win32 & cpu=ia32
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/win32-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/win32-x64@npm:0.24.0"
|
||||||
|
conditions: os=win32 & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@penpot/draft-js-wrapper@workspace:.":
|
||||||
|
version: 0.0.0-use.local
|
||||||
|
resolution: "@penpot/draft-js-wrapper@workspace:."
|
||||||
|
dependencies:
|
||||||
|
draft-js: "penpot/draft-js.git#4a99b2a6020b2af97f6dc5fa1b4275ec16b559a0"
|
||||||
|
esbuild: "npm:^0.24.0"
|
||||||
|
peerDependencies:
|
||||||
|
react: ">=0.17.0"
|
||||||
|
react-dom: ">=0.17.0"
|
||||||
|
languageName: unknown
|
||||||
|
linkType: soft
|
||||||
|
|
||||||
|
"asap@npm:~2.0.3":
|
||||||
|
version: 2.0.6
|
||||||
|
resolution: "asap@npm:2.0.6"
|
||||||
|
checksum: 10c0/c6d5e39fe1f15e4b87677460bd66b66050cd14c772269cee6688824c1410a08ab20254bb6784f9afb75af9144a9f9a7692d49547f4d19d715aeb7c0318f3136d
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"cross-fetch@npm:^3.1.5":
|
||||||
|
version: 3.1.8
|
||||||
|
resolution: "cross-fetch@npm:3.1.8"
|
||||||
|
dependencies:
|
||||||
|
node-fetch: "npm:^2.6.12"
|
||||||
|
checksum: 10c0/4c5e022ffe6abdf380faa6e2373c0c4ed7ef75e105c95c972b6f627c3f083170b6886f19fb488a7fa93971f4f69dcc890f122b0d97f0bf5f41ca1d9a8f58c8af
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"draft-js@penpot/draft-js.git#4a99b2a6020b2af97f6dc5fa1b4275ec16b559a0":
|
||||||
|
version: 0.11.7
|
||||||
|
resolution: "draft-js@https://github.com/penpot/draft-js.git#commit=4a99b2a6020b2af97f6dc5fa1b4275ec16b559a0"
|
||||||
|
dependencies:
|
||||||
|
fbjs: "npm:^3.0.4"
|
||||||
|
immutable: "npm:~3.7.4"
|
||||||
|
object-assign: "npm:^4.1.1"
|
||||||
|
peerDependencies:
|
||||||
|
react: ">=0.14.0"
|
||||||
|
react-dom: ">=0.14.0"
|
||||||
|
checksum: 10c0/dcd6fd9481b445c0df31a414d5bf0b84ad691d50ac90d805b65c36fb4d26b1ada787f37a63cb437e2a1b6d8dc0f95b4f3c41f6a8082480235ab48b391900a43b
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"esbuild@npm:^0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "esbuild@npm:0.24.0"
|
||||||
|
dependencies:
|
||||||
|
"@esbuild/aix-ppc64": "npm:0.24.0"
|
||||||
|
"@esbuild/android-arm": "npm:0.24.0"
|
||||||
|
"@esbuild/android-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/android-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/darwin-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/darwin-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/freebsd-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/freebsd-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-arm": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-ia32": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-loong64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-mips64el": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-ppc64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-riscv64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-s390x": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/netbsd-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/openbsd-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/openbsd-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/sunos-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/win32-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/win32-ia32": "npm:0.24.0"
|
||||||
|
"@esbuild/win32-x64": "npm:0.24.0"
|
||||||
|
dependenciesMeta:
|
||||||
|
"@esbuild/aix-ppc64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/android-arm":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/android-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/android-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/darwin-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/darwin-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/freebsd-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/freebsd-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-arm":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-ia32":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-loong64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-mips64el":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-ppc64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-riscv64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-s390x":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/netbsd-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/openbsd-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/openbsd-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/sunos-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/win32-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/win32-ia32":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/win32-x64":
|
||||||
|
optional: true
|
||||||
|
bin:
|
||||||
|
esbuild: bin/esbuild
|
||||||
|
checksum: 10c0/9f1aadd8d64f3bff422ae78387e66e51a5e09de6935a6f987b6e4e189ed00fdc2d1bc03d2e33633b094008529c8b6e06c7ad1a9782fb09fec223bf95998c0683
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"fbjs-css-vars@npm:^1.0.0":
|
||||||
|
version: 1.0.2
|
||||||
|
resolution: "fbjs-css-vars@npm:1.0.2"
|
||||||
|
checksum: 10c0/dfb64116b125a64abecca9e31477b5edb9a2332c5ffe74326fe36e0a72eef7fc8a49b86adf36c2c293078d79f4524f35e80f5e62546395f53fb7c9e69821f54f
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"fbjs@npm:^3.0.4":
|
||||||
|
version: 3.0.5
|
||||||
|
resolution: "fbjs@npm:3.0.5"
|
||||||
|
dependencies:
|
||||||
|
cross-fetch: "npm:^3.1.5"
|
||||||
|
fbjs-css-vars: "npm:^1.0.0"
|
||||||
|
loose-envify: "npm:^1.0.0"
|
||||||
|
object-assign: "npm:^4.1.0"
|
||||||
|
promise: "npm:^7.1.1"
|
||||||
|
setimmediate: "npm:^1.0.5"
|
||||||
|
ua-parser-js: "npm:^1.0.35"
|
||||||
|
checksum: 10c0/66d0a2fc9a774f9066e35ac2ac4bf1245931d27f3ac287c7d47e6aa1fc152b243c2109743eb8f65341e025621fb51a12038fadb9fd8fda2e3ddae04ebab06f91
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"immutable@npm:~3.7.4":
|
||||||
|
version: 3.7.6
|
||||||
|
resolution: "immutable@npm:3.7.6"
|
||||||
|
checksum: 10c0/efe2bbb2620aa897afbb79545b9eda4dd3dc072e05ae7004895a7efb43187e4265612a88f8723f391eb1c87c46c52fd11e2d1968e42404450c63e49558d7ca4e
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"js-tokens@npm:^3.0.0 || ^4.0.0":
|
||||||
|
version: 4.0.0
|
||||||
|
resolution: "js-tokens@npm:4.0.0"
|
||||||
|
checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"loose-envify@npm:^1.0.0":
|
||||||
|
version: 1.4.0
|
||||||
|
resolution: "loose-envify@npm:1.4.0"
|
||||||
|
dependencies:
|
||||||
|
js-tokens: "npm:^3.0.0 || ^4.0.0"
|
||||||
|
bin:
|
||||||
|
loose-envify: cli.js
|
||||||
|
checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"node-fetch@npm:^2.6.12":
|
||||||
|
version: 2.7.0
|
||||||
|
resolution: "node-fetch@npm:2.7.0"
|
||||||
|
dependencies:
|
||||||
|
whatwg-url: "npm:^5.0.0"
|
||||||
|
peerDependencies:
|
||||||
|
encoding: ^0.1.0
|
||||||
|
peerDependenciesMeta:
|
||||||
|
encoding:
|
||||||
|
optional: true
|
||||||
|
checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"object-assign@npm:^4.1.0, object-assign@npm:^4.1.1":
|
||||||
|
version: 4.1.1
|
||||||
|
resolution: "object-assign@npm:4.1.1"
|
||||||
|
checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"promise@npm:^7.1.1":
|
||||||
|
version: 7.3.1
|
||||||
|
resolution: "promise@npm:7.3.1"
|
||||||
|
dependencies:
|
||||||
|
asap: "npm:~2.0.3"
|
||||||
|
checksum: 10c0/742e5c0cc646af1f0746963b8776299701ad561ce2c70b49365d62c8db8ea3681b0a1bf0d4e2fe07910bf72f02d39e51e8e73dc8d7503c3501206ac908be107f
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"setimmediate@npm:^1.0.5":
|
||||||
|
version: 1.0.5
|
||||||
|
resolution: "setimmediate@npm:1.0.5"
|
||||||
|
checksum: 10c0/5bae81bfdbfbd0ce992893286d49c9693c82b1bcc00dcaaf3a09c8f428fdeacf4190c013598b81875dfac2b08a572422db7df779a99332d0fce186d15a3e4d49
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"tr46@npm:~0.0.3":
|
||||||
|
version: 0.0.3
|
||||||
|
resolution: "tr46@npm:0.0.3"
|
||||||
|
checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"ua-parser-js@npm:^1.0.35":
|
||||||
|
version: 1.0.39
|
||||||
|
resolution: "ua-parser-js@npm:1.0.39"
|
||||||
|
bin:
|
||||||
|
ua-parser-js: script/cli.js
|
||||||
|
checksum: 10c0/c6452b0c683000f10975cb0a7e74cb1119ea95d4522ae85f396fa53b0b17884358a24ffdd86a66030c6b2981bdc502109a618c79fdaa217ee9032c9e46fcc78a
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"webidl-conversions@npm:^3.0.0":
|
||||||
|
version: 3.0.1
|
||||||
|
resolution: "webidl-conversions@npm:3.0.1"
|
||||||
|
checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"whatwg-url@npm:^5.0.0":
|
||||||
|
version: 5.0.0
|
||||||
|
resolution: "whatwg-url@npm:5.0.0"
|
||||||
|
dependencies:
|
||||||
|
tr46: "npm:~0.0.3"
|
||||||
|
webidl-conversions: "npm:^3.0.0"
|
||||||
|
checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
5
frontend/vendor/hljs/index.js
vendored
Normal file
5
frontend/vendor/hljs/index.js
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
import h from "highlight.js";
|
||||||
|
|
||||||
|
export function highlightElement(node) {
|
||||||
|
return h.highlightElement(node);
|
||||||
|
}
|
19
frontend/vendor/hljs/package.json
vendored
Normal file
19
frontend/vendor/hljs/package.json
vendored
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
"name": "@penpot/hljs",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "Penpot Hightlight.js ESM wrapper",
|
||||||
|
"module": "index.js",
|
||||||
|
"packageManager": "yarn@4.3.1",
|
||||||
|
"author": "Andrey Antukh",
|
||||||
|
"license": "MPL-2.0",
|
||||||
|
"type": "module",
|
||||||
|
"scripts": {
|
||||||
|
"build": "esbuild --bundle --platform=browser --format=esm --target=es2021 --outfile=dist/index.mjs index.js --minify"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"highlight.js": "^11.10.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"esbuild": "^0.24.0"
|
||||||
|
}
|
||||||
|
}
|
273
frontend/vendor/hljs/yarn.lock
vendored
Normal file
273
frontend/vendor/hljs/yarn.lock
vendored
Normal file
|
@ -0,0 +1,273 @@
|
||||||
|
# This file is generated by running "yarn install" inside your project.
|
||||||
|
# Manual changes might be lost - proceed with caution!
|
||||||
|
|
||||||
|
__metadata:
|
||||||
|
version: 8
|
||||||
|
cacheKey: 10c0
|
||||||
|
|
||||||
|
"@esbuild/aix-ppc64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/aix-ppc64@npm:0.24.0"
|
||||||
|
conditions: os=aix & cpu=ppc64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/android-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/android-arm64@npm:0.24.0"
|
||||||
|
conditions: os=android & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/android-arm@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/android-arm@npm:0.24.0"
|
||||||
|
conditions: os=android & cpu=arm
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/android-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/android-x64@npm:0.24.0"
|
||||||
|
conditions: os=android & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/darwin-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/darwin-arm64@npm:0.24.0"
|
||||||
|
conditions: os=darwin & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/darwin-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/darwin-x64@npm:0.24.0"
|
||||||
|
conditions: os=darwin & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/freebsd-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/freebsd-arm64@npm:0.24.0"
|
||||||
|
conditions: os=freebsd & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/freebsd-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/freebsd-x64@npm:0.24.0"
|
||||||
|
conditions: os=freebsd & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-arm64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-arm@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-arm@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=arm
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-ia32@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-ia32@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=ia32
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-loong64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-loong64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=loong64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-mips64el@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-mips64el@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=mips64el
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-ppc64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-ppc64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=ppc64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-riscv64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-riscv64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=riscv64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-s390x@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-s390x@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=s390x
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-x64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/netbsd-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/netbsd-x64@npm:0.24.0"
|
||||||
|
conditions: os=netbsd & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/openbsd-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/openbsd-arm64@npm:0.24.0"
|
||||||
|
conditions: os=openbsd & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/openbsd-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/openbsd-x64@npm:0.24.0"
|
||||||
|
conditions: os=openbsd & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/sunos-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/sunos-x64@npm:0.24.0"
|
||||||
|
conditions: os=sunos & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/win32-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/win32-arm64@npm:0.24.0"
|
||||||
|
conditions: os=win32 & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/win32-ia32@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/win32-ia32@npm:0.24.0"
|
||||||
|
conditions: os=win32 & cpu=ia32
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/win32-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/win32-x64@npm:0.24.0"
|
||||||
|
conditions: os=win32 & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@penpot/hljs@workspace:.":
|
||||||
|
version: 0.0.0-use.local
|
||||||
|
resolution: "@penpot/hljs@workspace:."
|
||||||
|
dependencies:
|
||||||
|
esbuild: "npm:^0.24.0"
|
||||||
|
highlight.js: "npm:^11.10.0"
|
||||||
|
languageName: unknown
|
||||||
|
linkType: soft
|
||||||
|
|
||||||
|
"esbuild@npm:^0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "esbuild@npm:0.24.0"
|
||||||
|
dependencies:
|
||||||
|
"@esbuild/aix-ppc64": "npm:0.24.0"
|
||||||
|
"@esbuild/android-arm": "npm:0.24.0"
|
||||||
|
"@esbuild/android-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/android-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/darwin-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/darwin-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/freebsd-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/freebsd-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-arm": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-ia32": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-loong64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-mips64el": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-ppc64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-riscv64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-s390x": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/netbsd-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/openbsd-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/openbsd-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/sunos-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/win32-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/win32-ia32": "npm:0.24.0"
|
||||||
|
"@esbuild/win32-x64": "npm:0.24.0"
|
||||||
|
dependenciesMeta:
|
||||||
|
"@esbuild/aix-ppc64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/android-arm":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/android-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/android-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/darwin-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/darwin-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/freebsd-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/freebsd-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-arm":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-ia32":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-loong64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-mips64el":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-ppc64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-riscv64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-s390x":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/netbsd-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/openbsd-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/openbsd-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/sunos-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/win32-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/win32-ia32":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/win32-x64":
|
||||||
|
optional: true
|
||||||
|
bin:
|
||||||
|
esbuild: bin/esbuild
|
||||||
|
checksum: 10c0/9f1aadd8d64f3bff422ae78387e66e51a5e09de6935a6f987b6e4e189ed00fdc2d1bc03d2e33633b094008529c8b6e06c7ad1a9782fb09fec223bf95998c0683
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"highlight.js@npm:^11.10.0":
|
||||||
|
version: 11.10.0
|
||||||
|
resolution: "highlight.js@npm:11.10.0"
|
||||||
|
checksum: 10c0/cd8bf7ef06cbd72ddb83580ecabe769f08f062be8bb82d2eb492d31c17f7480d1f8d14a66fc81deee0601645435f19f04c470510563f847242a41ccff0ab873e
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
3
frontend/vendor/mousetrap/.gitignore
vendored
Normal file
3
frontend/vendor/mousetrap/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
node_modules
|
||||||
|
*.sublime-workspace
|
||||||
|
/.yarn
|
193
frontend/vendor/mousetrap/LICENSE
vendored
Normal file
193
frontend/vendor/mousetrap/LICENSE
vendored
Normal file
|
@ -0,0 +1,193 @@
|
||||||
|
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
--- Exceptions to the Apache 2.0 License ----
|
||||||
|
|
||||||
|
As an exception, if, as a result of your compiling your source code, portions
|
||||||
|
of this Software are embedded into an Object form of such source code, you
|
||||||
|
may redistribute such embedded portions in such Object form without complying
|
||||||
|
with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
|
||||||
|
|
||||||
|
In addition, if you combine or link compiled forms of this Software with
|
||||||
|
software that is licensed under the GPLv2 ("Combined Software") and if a
|
||||||
|
court of competent jurisdiction determines that the patent provision (Section
|
||||||
|
3), the indemnity provision (Section 9) or other Section of the License
|
||||||
|
conflicts with the conditions of the GPLv2, you may retroactively and
|
||||||
|
prospectively choose to deem waived or otherwise exclude such Section(s) of
|
||||||
|
the License, but only in their entirety and only with respect to the Combined
|
||||||
|
Software.
|
1025
frontend/vendor/mousetrap/index.js
vendored
Normal file
1025
frontend/vendor/mousetrap/index.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
15
frontend/vendor/mousetrap/package.json
vendored
Normal file
15
frontend/vendor/mousetrap/package.json
vendored
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"name": "@penpot/mousetrap",
|
||||||
|
"version": "1.6.5",
|
||||||
|
"description": "Simple library for handling keyboard shortcuts",
|
||||||
|
"module": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"build": "esbuild --bundle --outfile=dist/index.js --format=esm index.js"
|
||||||
|
},
|
||||||
|
"packageManager": "yarn@4.3.1",
|
||||||
|
"author": "Craig Campbell",
|
||||||
|
"license": "Apache-2.0 WITH LLVM-exception",
|
||||||
|
"devDependencies": {
|
||||||
|
"esbuild": "^0.24.0"
|
||||||
|
}
|
||||||
|
}
|
265
frontend/vendor/mousetrap/yarn.lock
vendored
Normal file
265
frontend/vendor/mousetrap/yarn.lock
vendored
Normal file
|
@ -0,0 +1,265 @@
|
||||||
|
# This file is generated by running "yarn install" inside your project.
|
||||||
|
# Manual changes might be lost - proceed with caution!
|
||||||
|
|
||||||
|
__metadata:
|
||||||
|
version: 8
|
||||||
|
cacheKey: 10c0
|
||||||
|
|
||||||
|
"@esbuild/aix-ppc64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/aix-ppc64@npm:0.24.0"
|
||||||
|
conditions: os=aix & cpu=ppc64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/android-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/android-arm64@npm:0.24.0"
|
||||||
|
conditions: os=android & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/android-arm@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/android-arm@npm:0.24.0"
|
||||||
|
conditions: os=android & cpu=arm
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/android-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/android-x64@npm:0.24.0"
|
||||||
|
conditions: os=android & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/darwin-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/darwin-arm64@npm:0.24.0"
|
||||||
|
conditions: os=darwin & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/darwin-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/darwin-x64@npm:0.24.0"
|
||||||
|
conditions: os=darwin & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/freebsd-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/freebsd-arm64@npm:0.24.0"
|
||||||
|
conditions: os=freebsd & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/freebsd-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/freebsd-x64@npm:0.24.0"
|
||||||
|
conditions: os=freebsd & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-arm64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-arm@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-arm@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=arm
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-ia32@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-ia32@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=ia32
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-loong64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-loong64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=loong64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-mips64el@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-mips64el@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=mips64el
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-ppc64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-ppc64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=ppc64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-riscv64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-riscv64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=riscv64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-s390x@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-s390x@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=s390x
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-x64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/netbsd-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/netbsd-x64@npm:0.24.0"
|
||||||
|
conditions: os=netbsd & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/openbsd-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/openbsd-arm64@npm:0.24.0"
|
||||||
|
conditions: os=openbsd & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/openbsd-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/openbsd-x64@npm:0.24.0"
|
||||||
|
conditions: os=openbsd & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/sunos-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/sunos-x64@npm:0.24.0"
|
||||||
|
conditions: os=sunos & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/win32-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/win32-arm64@npm:0.24.0"
|
||||||
|
conditions: os=win32 & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/win32-ia32@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/win32-ia32@npm:0.24.0"
|
||||||
|
conditions: os=win32 & cpu=ia32
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/win32-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/win32-x64@npm:0.24.0"
|
||||||
|
conditions: os=win32 & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@penpot/mousetrap@workspace:.":
|
||||||
|
version: 0.0.0-use.local
|
||||||
|
resolution: "@penpot/mousetrap@workspace:."
|
||||||
|
dependencies:
|
||||||
|
esbuild: "npm:^0.24.0"
|
||||||
|
languageName: unknown
|
||||||
|
linkType: soft
|
||||||
|
|
||||||
|
"esbuild@npm:^0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "esbuild@npm:0.24.0"
|
||||||
|
dependencies:
|
||||||
|
"@esbuild/aix-ppc64": "npm:0.24.0"
|
||||||
|
"@esbuild/android-arm": "npm:0.24.0"
|
||||||
|
"@esbuild/android-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/android-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/darwin-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/darwin-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/freebsd-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/freebsd-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-arm": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-ia32": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-loong64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-mips64el": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-ppc64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-riscv64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-s390x": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/netbsd-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/openbsd-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/openbsd-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/sunos-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/win32-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/win32-ia32": "npm:0.24.0"
|
||||||
|
"@esbuild/win32-x64": "npm:0.24.0"
|
||||||
|
dependenciesMeta:
|
||||||
|
"@esbuild/aix-ppc64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/android-arm":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/android-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/android-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/darwin-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/darwin-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/freebsd-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/freebsd-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-arm":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-ia32":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-loong64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-mips64el":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-ppc64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-riscv64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-s390x":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/netbsd-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/openbsd-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/openbsd-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/sunos-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/win32-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/win32-ia32":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/win32-x64":
|
||||||
|
optional: true
|
||||||
|
bin:
|
||||||
|
esbuild: bin/esbuild
|
||||||
|
checksum: 10c0/9f1aadd8d64f3bff422ae78387e66e51a5e09de6935a6f987b6e4e189ed00fdc2d1bc03d2e33633b094008529c8b6e06c7ad1a9782fb09fec223bf95998c0683
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
3
frontend/vendor/text_editor_v2.js
vendored
3
frontend/vendor/text_editor_v2.js
vendored
File diff suppressed because one or more lines are too long
7
frontend/vendor/text_editor_v2.js.map
vendored
7
frontend/vendor/text_editor_v2.js.map
vendored
File diff suppressed because one or more lines are too long
|
@ -322,6 +322,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/aix-ppc64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/aix-ppc64@npm:0.24.0"
|
||||||
|
conditions: os=aix & cpu=ppc64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/android-arm64@npm:0.20.2":
|
"@esbuild/android-arm64@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/android-arm64@npm:0.20.2"
|
resolution: "@esbuild/android-arm64@npm:0.20.2"
|
||||||
|
@ -343,6 +350,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/android-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/android-arm64@npm:0.24.0"
|
||||||
|
conditions: os=android & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/android-arm@npm:0.20.2":
|
"@esbuild/android-arm@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/android-arm@npm:0.20.2"
|
resolution: "@esbuild/android-arm@npm:0.20.2"
|
||||||
|
@ -364,6 +378,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/android-arm@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/android-arm@npm:0.24.0"
|
||||||
|
conditions: os=android & cpu=arm
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/android-x64@npm:0.20.2":
|
"@esbuild/android-x64@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/android-x64@npm:0.20.2"
|
resolution: "@esbuild/android-x64@npm:0.20.2"
|
||||||
|
@ -385,6 +406,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/android-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/android-x64@npm:0.24.0"
|
||||||
|
conditions: os=android & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/darwin-arm64@npm:0.20.2":
|
"@esbuild/darwin-arm64@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/darwin-arm64@npm:0.20.2"
|
resolution: "@esbuild/darwin-arm64@npm:0.20.2"
|
||||||
|
@ -406,6 +434,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/darwin-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/darwin-arm64@npm:0.24.0"
|
||||||
|
conditions: os=darwin & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/darwin-x64@npm:0.20.2":
|
"@esbuild/darwin-x64@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/darwin-x64@npm:0.20.2"
|
resolution: "@esbuild/darwin-x64@npm:0.20.2"
|
||||||
|
@ -427,6 +462,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/darwin-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/darwin-x64@npm:0.24.0"
|
||||||
|
conditions: os=darwin & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/freebsd-arm64@npm:0.20.2":
|
"@esbuild/freebsd-arm64@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/freebsd-arm64@npm:0.20.2"
|
resolution: "@esbuild/freebsd-arm64@npm:0.20.2"
|
||||||
|
@ -448,6 +490,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/freebsd-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/freebsd-arm64@npm:0.24.0"
|
||||||
|
conditions: os=freebsd & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/freebsd-x64@npm:0.20.2":
|
"@esbuild/freebsd-x64@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/freebsd-x64@npm:0.20.2"
|
resolution: "@esbuild/freebsd-x64@npm:0.20.2"
|
||||||
|
@ -469,6 +518,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/freebsd-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/freebsd-x64@npm:0.24.0"
|
||||||
|
conditions: os=freebsd & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/linux-arm64@npm:0.20.2":
|
"@esbuild/linux-arm64@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/linux-arm64@npm:0.20.2"
|
resolution: "@esbuild/linux-arm64@npm:0.20.2"
|
||||||
|
@ -490,6 +546,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-arm64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/linux-arm@npm:0.20.2":
|
"@esbuild/linux-arm@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/linux-arm@npm:0.20.2"
|
resolution: "@esbuild/linux-arm@npm:0.20.2"
|
||||||
|
@ -511,6 +574,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-arm@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-arm@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=arm
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/linux-ia32@npm:0.20.2":
|
"@esbuild/linux-ia32@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/linux-ia32@npm:0.20.2"
|
resolution: "@esbuild/linux-ia32@npm:0.20.2"
|
||||||
|
@ -532,6 +602,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-ia32@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-ia32@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=ia32
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/linux-loong64@npm:0.20.2":
|
"@esbuild/linux-loong64@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/linux-loong64@npm:0.20.2"
|
resolution: "@esbuild/linux-loong64@npm:0.20.2"
|
||||||
|
@ -553,6 +630,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-loong64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-loong64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=loong64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/linux-mips64el@npm:0.20.2":
|
"@esbuild/linux-mips64el@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/linux-mips64el@npm:0.20.2"
|
resolution: "@esbuild/linux-mips64el@npm:0.20.2"
|
||||||
|
@ -574,6 +658,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-mips64el@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-mips64el@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=mips64el
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/linux-ppc64@npm:0.20.2":
|
"@esbuild/linux-ppc64@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/linux-ppc64@npm:0.20.2"
|
resolution: "@esbuild/linux-ppc64@npm:0.20.2"
|
||||||
|
@ -595,6 +686,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-ppc64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-ppc64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=ppc64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/linux-riscv64@npm:0.20.2":
|
"@esbuild/linux-riscv64@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/linux-riscv64@npm:0.20.2"
|
resolution: "@esbuild/linux-riscv64@npm:0.20.2"
|
||||||
|
@ -616,6 +714,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-riscv64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-riscv64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=riscv64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/linux-s390x@npm:0.20.2":
|
"@esbuild/linux-s390x@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/linux-s390x@npm:0.20.2"
|
resolution: "@esbuild/linux-s390x@npm:0.20.2"
|
||||||
|
@ -637,6 +742,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-s390x@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-s390x@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=s390x
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/linux-x64@npm:0.20.2":
|
"@esbuild/linux-x64@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/linux-x64@npm:0.20.2"
|
resolution: "@esbuild/linux-x64@npm:0.20.2"
|
||||||
|
@ -658,6 +770,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/linux-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/linux-x64@npm:0.24.0"
|
||||||
|
conditions: os=linux & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/netbsd-x64@npm:0.20.2":
|
"@esbuild/netbsd-x64@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/netbsd-x64@npm:0.20.2"
|
resolution: "@esbuild/netbsd-x64@npm:0.20.2"
|
||||||
|
@ -679,6 +798,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/netbsd-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/netbsd-x64@npm:0.24.0"
|
||||||
|
conditions: os=netbsd & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/openbsd-arm64@npm:0.23.1":
|
"@esbuild/openbsd-arm64@npm:0.23.1":
|
||||||
version: 0.23.1
|
version: 0.23.1
|
||||||
resolution: "@esbuild/openbsd-arm64@npm:0.23.1"
|
resolution: "@esbuild/openbsd-arm64@npm:0.23.1"
|
||||||
|
@ -686,6 +812,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/openbsd-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/openbsd-arm64@npm:0.24.0"
|
||||||
|
conditions: os=openbsd & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/openbsd-x64@npm:0.20.2":
|
"@esbuild/openbsd-x64@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/openbsd-x64@npm:0.20.2"
|
resolution: "@esbuild/openbsd-x64@npm:0.20.2"
|
||||||
|
@ -707,6 +840,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/openbsd-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/openbsd-x64@npm:0.24.0"
|
||||||
|
conditions: os=openbsd & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/sunos-x64@npm:0.20.2":
|
"@esbuild/sunos-x64@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/sunos-x64@npm:0.20.2"
|
resolution: "@esbuild/sunos-x64@npm:0.20.2"
|
||||||
|
@ -728,6 +868,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/sunos-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/sunos-x64@npm:0.24.0"
|
||||||
|
conditions: os=sunos & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/win32-arm64@npm:0.20.2":
|
"@esbuild/win32-arm64@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/win32-arm64@npm:0.20.2"
|
resolution: "@esbuild/win32-arm64@npm:0.20.2"
|
||||||
|
@ -749,6 +896,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/win32-arm64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/win32-arm64@npm:0.24.0"
|
||||||
|
conditions: os=win32 & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/win32-ia32@npm:0.20.2":
|
"@esbuild/win32-ia32@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/win32-ia32@npm:0.20.2"
|
resolution: "@esbuild/win32-ia32@npm:0.20.2"
|
||||||
|
@ -770,6 +924,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/win32-ia32@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/win32-ia32@npm:0.24.0"
|
||||||
|
conditions: os=win32 & cpu=ia32
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@esbuild/win32-x64@npm:0.20.2":
|
"@esbuild/win32-x64@npm:0.20.2":
|
||||||
version: 0.20.2
|
version: 0.20.2
|
||||||
resolution: "@esbuild/win32-x64@npm:0.20.2"
|
resolution: "@esbuild/win32-x64@npm:0.20.2"
|
||||||
|
@ -791,6 +952,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@esbuild/win32-x64@npm:0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "@esbuild/win32-x64@npm:0.24.0"
|
||||||
|
conditions: os=win32 & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@gulp-sourcemaps/identity-map@npm:^2.0.1":
|
"@gulp-sourcemaps/identity-map@npm:^2.0.1":
|
||||||
version: 2.0.1
|
version: 2.0.1
|
||||||
resolution: "@gulp-sourcemaps/identity-map@npm:2.0.1"
|
resolution: "@gulp-sourcemaps/identity-map@npm:2.0.1"
|
||||||
|
@ -1070,6 +1238,54 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@penpot/draft-js@file:./vendor/draft-js::locator=frontend%40workspace%3A.":
|
||||||
|
version: 1.0.0
|
||||||
|
resolution: "@penpot/draft-js@file:./vendor/draft-js#./vendor/draft-js::hash=841941&locator=frontend%40workspace%3A."
|
||||||
|
dependencies:
|
||||||
|
draft-js: "penpot/draft-js.git#4a99b2a6020b2af97f6dc5fa1b4275ec16b559a0"
|
||||||
|
peerDependencies:
|
||||||
|
react: ">=0.17.0"
|
||||||
|
react-dom: ">=0.17.0"
|
||||||
|
checksum: 10c0/49daa7a5ca10f585d6f3fb21a45a8a4809f4e9933b49758747cdcacfe7660ec0d184ae0cabecefcc62895382c43c548127408c1a6c5884c772a8cddbd74236be
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@penpot/hljs@file:./vendor/hljs::locator=frontend%40workspace%3A.":
|
||||||
|
version: 1.0.0
|
||||||
|
resolution: "@penpot/hljs@file:./vendor/hljs#./vendor/hljs::hash=06811a&locator=frontend%40workspace%3A."
|
||||||
|
dependencies:
|
||||||
|
highlight.js: "npm:^11.10.0"
|
||||||
|
checksum: 10c0/6a6d213fbb9608fc70706ff04609f10744ebee614f25b6df664e411e1998603f0f0714b52aaabe1015ec5d48807f4a3ce4e80d73348bb0f11ddc588bf3a10c43
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@penpot/mousetrap@file:./vendor/mousetrap::locator=frontend%40workspace%3A.":
|
||||||
|
version: 1.6.5
|
||||||
|
resolution: "@penpot/mousetrap@file:./vendor/mousetrap#./vendor/mousetrap::hash=0dc831&locator=frontend%40workspace%3A."
|
||||||
|
checksum: 10c0/d23776bc184b42cc692e1ff2127e7ec0b94b4db33d87c21f1746f9f626e20edb1877083c1886cd71d4e3bcd4845943d0d9198016c0d3a53acecd237698d4d8d4
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@penpot/svgo@penpot/svgo#c6fba7a4dcfbc27b643e7fc0c94fc98cf680b77b":
|
||||||
|
version: 4.0.0
|
||||||
|
resolution: "@penpot/svgo@https://github.com/penpot/svgo.git#commit=c6fba7a4dcfbc27b643e7fc0c94fc98cf680b77b"
|
||||||
|
dependencies:
|
||||||
|
"@trysound/sax": "npm:0.2.0"
|
||||||
|
css-select: "npm:^5.1.0"
|
||||||
|
css-tree: "npm:^3.0.0"
|
||||||
|
csso: "npm:^5.0.5"
|
||||||
|
lodash: "npm:^4.17.21"
|
||||||
|
checksum: 10c0/af452f31196bcd237c390a12fea2da4c1d4005ae6d759c38f2169c9975c2178f85ec72077e96a8a40ded38748c2c1449dbdaf0d15f37ca3237622d766ac49ec8
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@penpot/text-editor@penpot/penpot-text-editor#bae79a69c3d484f4a9271c2ed44022e36fce3cfb":
|
||||||
|
version: 0.0.0
|
||||||
|
resolution: "@penpot/text-editor@https://github.com/penpot/penpot-text-editor.git#commit=bae79a69c3d484f4a9271c2ed44022e36fce3cfb"
|
||||||
|
checksum: 10c0/3559ddafb87df9197da00dc91fbe196ddf720ea00fa37e9fba2d9521ccd229f28c42ee0c942bd0abf1674ae43496a16f2c80d82e0ca14168cadfea2d3444d746
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@pkgjs/parseargs@npm:^0.11.0":
|
"@pkgjs/parseargs@npm:^0.11.0":
|
||||||
version: 0.11.0
|
version: 0.11.0
|
||||||
resolution: "@pkgjs/parseargs@npm:0.11.0"
|
resolution: "@pkgjs/parseargs@npm:0.11.0"
|
||||||
|
@ -3746,6 +3962,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"detect-europe-js@npm:^0.1.1":
|
||||||
|
version: 0.1.1
|
||||||
|
resolution: "detect-europe-js@npm:0.1.1"
|
||||||
|
checksum: 10c0/4d283ca6ee4c297c6c199dab8536666f2a17f73efd846cbfd226a525c4a1de1de6afdb10dcac00eb36e5f3a095539d8d4c235ab24baa5230d9f562178a9eb2d4
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"detect-libc@npm:^1.0.3":
|
"detect-libc@npm:^1.0.3":
|
||||||
version: 1.0.3
|
version: 1.0.3
|
||||||
resolution: "detect-libc@npm:1.0.3"
|
resolution: "detect-libc@npm:1.0.3"
|
||||||
|
@ -3875,7 +4098,7 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"draft-js@git+https://github.com/penpot/draft-js.git#commit=4a99b2a6020b2af97f6dc5fa1b4275ec16b559a0":
|
"draft-js@penpot/draft-js.git#4a99b2a6020b2af97f6dc5fa1b4275ec16b559a0":
|
||||||
version: 0.11.7
|
version: 0.11.7
|
||||||
resolution: "draft-js@https://github.com/penpot/draft-js.git#commit=4a99b2a6020b2af97f6dc5fa1b4275ec16b559a0"
|
resolution: "draft-js@https://github.com/penpot/draft-js.git#commit=4a99b2a6020b2af97f6dc5fa1b4275ec16b559a0"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -4434,6 +4657,89 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"esbuild@npm:^0.24.0":
|
||||||
|
version: 0.24.0
|
||||||
|
resolution: "esbuild@npm:0.24.0"
|
||||||
|
dependencies:
|
||||||
|
"@esbuild/aix-ppc64": "npm:0.24.0"
|
||||||
|
"@esbuild/android-arm": "npm:0.24.0"
|
||||||
|
"@esbuild/android-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/android-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/darwin-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/darwin-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/freebsd-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/freebsd-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-arm": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-ia32": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-loong64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-mips64el": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-ppc64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-riscv64": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-s390x": "npm:0.24.0"
|
||||||
|
"@esbuild/linux-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/netbsd-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/openbsd-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/openbsd-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/sunos-x64": "npm:0.24.0"
|
||||||
|
"@esbuild/win32-arm64": "npm:0.24.0"
|
||||||
|
"@esbuild/win32-ia32": "npm:0.24.0"
|
||||||
|
"@esbuild/win32-x64": "npm:0.24.0"
|
||||||
|
dependenciesMeta:
|
||||||
|
"@esbuild/aix-ppc64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/android-arm":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/android-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/android-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/darwin-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/darwin-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/freebsd-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/freebsd-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-arm":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-ia32":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-loong64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-mips64el":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-ppc64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-riscv64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-s390x":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/linux-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/netbsd-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/openbsd-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/openbsd-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/sunos-x64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/win32-arm64":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/win32-ia32":
|
||||||
|
optional: true
|
||||||
|
"@esbuild/win32-x64":
|
||||||
|
optional: true
|
||||||
|
bin:
|
||||||
|
esbuild: bin/esbuild
|
||||||
|
checksum: 10c0/9f1aadd8d64f3bff422ae78387e66e51a5e09de6935a6f987b6e4e189ed00fdc2d1bc03d2e33633b094008529c8b6e06c7ad1a9782fb09fec223bf95998c0683
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"escalade@npm:^3.1.1, escalade@npm:^3.1.2":
|
"escalade@npm:^3.1.1, escalade@npm:^3.1.2":
|
||||||
version: 3.1.2
|
version: 3.1.2
|
||||||
resolution: "escalade@npm:3.1.2"
|
resolution: "escalade@npm:3.1.2"
|
||||||
|
@ -4884,6 +5190,11 @@ __metadata:
|
||||||
version: 0.0.0-use.local
|
version: 0.0.0-use.local
|
||||||
resolution: "frontend@workspace:."
|
resolution: "frontend@workspace:."
|
||||||
dependencies:
|
dependencies:
|
||||||
|
"@penpot/draft-js": "file:./vendor/draft-js"
|
||||||
|
"@penpot/hljs": "file:./vendor/hljs"
|
||||||
|
"@penpot/mousetrap": "file:./vendor/mousetrap"
|
||||||
|
"@penpot/svgo": "penpot/svgo#c6fba7a4dcfbc27b643e7fc0c94fc98cf680b77b"
|
||||||
|
"@penpot/text-editor": "penpot/penpot-text-editor#bae79a69c3d484f4a9271c2ed44022e36fce3cfb"
|
||||||
"@playwright/test": "npm:1.48.1"
|
"@playwright/test": "npm:1.48.1"
|
||||||
"@storybook/addon-essentials": "npm:^8.3.6"
|
"@storybook/addon-essentials": "npm:^8.3.6"
|
||||||
"@storybook/addon-themes": "npm:^8.3.6"
|
"@storybook/addon-themes": "npm:^8.3.6"
|
||||||
|
@ -4895,7 +5206,7 @@ __metadata:
|
||||||
compression: "npm:^1.7.4"
|
compression: "npm:^1.7.4"
|
||||||
concurrently: "npm:^9.0.1"
|
concurrently: "npm:^9.0.1"
|
||||||
date-fns: "npm:^4.1.0"
|
date-fns: "npm:^4.1.0"
|
||||||
draft-js: "git+https://github.com/penpot/draft-js.git#commit=4a99b2a6020b2af97f6dc5fa1b4275ec16b559a0"
|
esbuild: "npm:^0.24.0"
|
||||||
eventsource-parser: "npm:^3.0.0"
|
eventsource-parser: "npm:^3.0.0"
|
||||||
express: "npm:^4.21.1"
|
express: "npm:^4.21.1"
|
||||||
fancy-log: "npm:^2.0.0"
|
fancy-log: "npm:^2.0.0"
|
||||||
|
@ -4909,7 +5220,6 @@ __metadata:
|
||||||
gulp-sass: "npm:^5.1.0"
|
gulp-sass: "npm:^5.1.0"
|
||||||
gulp-sourcemaps: "npm:^3.0.0"
|
gulp-sourcemaps: "npm:^3.0.0"
|
||||||
gulp-svg-sprite: "npm:^2.0.3"
|
gulp-svg-sprite: "npm:^2.0.3"
|
||||||
highlight.js: "npm:^11.10.0"
|
|
||||||
js-beautify: "npm:^1.15.1"
|
js-beautify: "npm:^1.15.1"
|
||||||
jsdom: "npm:^25.0.1"
|
jsdom: "npm:^25.0.1"
|
||||||
jszip: "npm:^3.10.1"
|
jszip: "npm:^3.10.1"
|
||||||
|
@ -4918,7 +5228,6 @@ __metadata:
|
||||||
map-stream: "npm:0.0.7"
|
map-stream: "npm:0.0.7"
|
||||||
marked: "npm:^14.1.3"
|
marked: "npm:^14.1.3"
|
||||||
mkdirp: "npm:^3.0.1"
|
mkdirp: "npm:^3.0.1"
|
||||||
mousetrap: "npm:^1.6.5"
|
|
||||||
mustache: "npm:^4.2.0"
|
mustache: "npm:^4.2.0"
|
||||||
nodemon: "npm:^3.1.7"
|
nodemon: "npm:^3.1.7"
|
||||||
npm-run-all: "npm:^4.1.5"
|
npm-run-all: "npm:^4.1.5"
|
||||||
|
@ -4944,10 +5253,9 @@ __metadata:
|
||||||
source-map-support: "npm:^0.5.21"
|
source-map-support: "npm:^0.5.21"
|
||||||
storybook: "npm:^8.3.6"
|
storybook: "npm:^8.3.6"
|
||||||
svg-sprite: "npm:^2.0.4"
|
svg-sprite: "npm:^2.0.4"
|
||||||
svgo: "penpot/svgo#v3"
|
|
||||||
tdigest: "npm:^0.1.2"
|
tdigest: "npm:^0.1.2"
|
||||||
typescript: "npm:^5.6.3"
|
typescript: "npm:^5.6.3"
|
||||||
ua-parser-js: "npm:^1.0.39"
|
ua-parser-js: "npm:2.0.0-rc.1"
|
||||||
vite: "npm:^5.4.9"
|
vite: "npm:^5.4.9"
|
||||||
vitest: "npm:^2.1.3"
|
vitest: "npm:^2.1.3"
|
||||||
wasm-pack: "npm:^0.13.0"
|
wasm-pack: "npm:^0.13.0"
|
||||||
|
@ -6730,13 +7038,6 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"mousetrap@npm:^1.6.5":
|
|
||||||
version: 1.6.5
|
|
||||||
resolution: "mousetrap@npm:1.6.5"
|
|
||||||
checksum: 10c0/5c361bdbbff3966fd58d70f39b9fe1f8e32c78f3ce65989d83af7aad32a3a95313ce835a8dd8a55cb5de9eeb7c1f0c2b9048631a3073b5606241589e8fc0ba53
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"ms@npm:2.0.0":
|
"ms@npm:2.0.0":
|
||||||
version: 2.0.0
|
version: 2.0.0
|
||||||
resolution: "ms@npm:2.0.0"
|
resolution: "ms@npm:2.0.0"
|
||||||
|
@ -9317,19 +9618,6 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"svgo@penpot/svgo#v3":
|
|
||||||
version: 4.0.0
|
|
||||||
resolution: "svgo@https://github.com/penpot/svgo.git#commit=71c0db44c3c2665f2ffc0c4c5383acaebd5c524f"
|
|
||||||
dependencies:
|
|
||||||
"@trysound/sax": "npm:0.2.0"
|
|
||||||
css-select: "npm:^5.1.0"
|
|
||||||
css-tree: "npm:^3.0.0"
|
|
||||||
csso: "npm:^5.0.5"
|
|
||||||
lodash: "npm:^4.17.21"
|
|
||||||
checksum: 10c0/642c583372a610e484382cbf8a8fe28256dd354598d2e65ade2a3a63bf841b4d3dab4106f929f183ae3610007db2fc1413e82acc23793fe1a2e882bc923acc72
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"symbol-tree@npm:^3.2.4":
|
"symbol-tree@npm:^3.2.4":
|
||||||
version: 3.2.4
|
version: 3.2.4
|
||||||
resolution: "symbol-tree@npm:3.2.4"
|
resolution: "symbol-tree@npm:3.2.4"
|
||||||
|
@ -9706,6 +9994,17 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"ua-parser-js@npm:2.0.0-rc.1":
|
||||||
|
version: 2.0.0-rc.1
|
||||||
|
resolution: "ua-parser-js@npm:2.0.0-rc.1"
|
||||||
|
dependencies:
|
||||||
|
detect-europe-js: "npm:^0.1.1"
|
||||||
|
bin:
|
||||||
|
ua-parser-js: script/cli.js
|
||||||
|
checksum: 10c0/7b57e397ec617eefb391ee67e5a09f6f94ab486e4c261d86eb35bea35a647a439c614dc6f9f348ff46c0293f18239701ebe1bcba7b60102fb07b9400266425ac
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"ua-parser-js@npm:^1.0.35":
|
"ua-parser-js@npm:^1.0.35":
|
||||||
version: 1.0.37
|
version: 1.0.37
|
||||||
resolution: "ua-parser-js@npm:1.0.37"
|
resolution: "ua-parser-js@npm:1.0.37"
|
||||||
|
@ -9713,15 +10012,6 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"ua-parser-js@npm:^1.0.39":
|
|
||||||
version: 1.0.39
|
|
||||||
resolution: "ua-parser-js@npm:1.0.39"
|
|
||||||
bin:
|
|
||||||
ua-parser-js: script/cli.js
|
|
||||||
checksum: 10c0/c6452b0c683000f10975cb0a7e74cb1119ea95d4522ae85f396fa53b0b17884358a24ffdd86a66030c6b2981bdc502109a618c79fdaa217ee9032c9e46fcc78a
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"unbox-primitive@npm:^1.0.2":
|
"unbox-primitive@npm:^1.0.2":
|
||||||
version: 1.0.2
|
version: 1.0.2
|
||||||
resolution: "unbox-primitive@npm:1.0.2"
|
resolution: "unbox-primitive@npm:1.0.2"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue