diff --git a/ts/editor/BUILD.bazel b/ts/editor/BUILD.bazel index f9a03e975..5b21fc4d8 100644 --- a/ts/editor/BUILD.bazel +++ b/ts/editor/BUILD.bazel @@ -2,6 +2,7 @@ load("@npm//@bazel/typescript:index.bzl", "ts_library") load("//ts:prettier.bzl", "prettier_test") load("//ts:eslint.bzl", "eslint_test") load("//ts:esbuild.bzl", "esbuild") +load("//ts:vendor.bzl", "vendor_js_lib", "pkg_from_name") load("@io_bazel_rules_sass//:defs.bzl", "sass_binary") sass_binary( @@ -25,12 +26,23 @@ ts_library( ], ) +vendor_js_lib( + name = "bootstrap-icons", + pkg = pkg_from_name("bootstrap-icons"), + include = [ + "icons/pin-angle.svg", + ], + strip_prefix = "icons/", + visibility = ["//visibility:public"], +) + esbuild( name = "editor", entry_point = "index_wrapper.ts", visibility = ["//visibility:public"], deps = [ "editor_ts", + "bootstrap-icons", ], ) diff --git a/ts/editor/labelContainer.ts b/ts/editor/labelContainer.ts index 27148fbbb..e34a59a95 100644 --- a/ts/editor/labelContainer.ts +++ b/ts/editor/labelContainer.ts @@ -1,4 +1,5 @@ import { bridgeCommand } from "./lib"; +// import pinIcon from "./pin-angle.svg"; function removeHoverIcon(evt: Event): void { const icon = evt.currentTarget as HTMLElement; diff --git a/ts/esbuild/upstream.bzl b/ts/esbuild/upstream.bzl index 53afb7e43..74c292089 100644 --- a/ts/esbuild/upstream.bzl +++ b/ts/esbuild/upstream.bzl @@ -66,6 +66,7 @@ def _esbuild_impl(ctx): args.add_joined(["--platform", ctx.attr.platform], join_with = "=") args.add_joined(["--target", ctx.attr.target], join_with = "=") args.add_joined(["--log-level", "info"], join_with = "=") + args.add_joined(["--loader", ".svg=text"], join_with = ":") args.add_joined(["--metafile", metafile.path], join_with = "=") args.add_all(ctx.attr.define, format_each = "--define:%s") args.add_all(ctx.attr.external, format_each = "--external:%s") diff --git a/ts/vendor.bzl b/ts/vendor.bzl index 0688cdec4..75bd21f0e 100644 --- a/ts/vendor.bzl +++ b/ts/vendor.bzl @@ -26,7 +26,7 @@ vendor_js_lib = rule( }, ) -def _pkg_from_name(name): +def pkg_from_name(name): return "@npm//{0}:{0}__files".format(name) # @@ -37,7 +37,7 @@ def _pkg_from_name(name): def copy_jquery(name = "jquery", visibility = ["//visibility:public"]): vendor_js_lib( name = name, - pkg = _pkg_from_name(name), + pkg = pkg_from_name(name), include = [ "dist/jquery.min.js", ], @@ -48,7 +48,7 @@ def copy_jquery(name = "jquery", visibility = ["//visibility:public"]): def copy_jquery_ui(name = "jquery-ui", visibility = ["//visibility:public"]): vendor_js_lib( name = name, - pkg = _pkg_from_name("jquery-ui-dist"), + pkg = pkg_from_name("jquery-ui-dist"), base = "external/npm/node_modules/jquery-ui-dist/", include = [ "jquery-ui.min.js", @@ -59,7 +59,7 @@ def copy_jquery_ui(name = "jquery-ui", visibility = ["//visibility:public"]): def copy_protobufjs(name = "protobufjs", visibility = ["//visibility:public"]): vendor_js_lib( name = name, - pkg = _pkg_from_name(name), + pkg = pkg_from_name(name), include = [ "dist/protobuf.min.js", ], @@ -70,7 +70,7 @@ def copy_protobufjs(name = "protobufjs", visibility = ["//visibility:public"]): def copy_mathjax(name = "mathjax", visibility = ["//visibility:public"]): vendor_js_lib( name = name, - pkg = _pkg_from_name(name), + pkg = pkg_from_name(name), include = [ "es5/tex-chtml.js", "es5/input/tex/extensions", @@ -88,7 +88,7 @@ def copy_mathjax(name = "mathjax", visibility = ["//visibility:public"]): def copy_css_browser_selector(name = "css-browser-selector", visibility = ["//visibility:public"]): vendor_js_lib( name = name, - pkg = _pkg_from_name(name), + pkg = pkg_from_name(name), include = [ "css_browser_selector.min.js", ], @@ -98,7 +98,7 @@ def copy_css_browser_selector(name = "css-browser-selector", visibility = ["//vi def copy_bootstrap_js(name = "bootstrap-js", visibility = ["//visibility:public"]): vendor_js_lib( name = name, - pkg = _pkg_from_name(name), + pkg = pkg_from_name(name), include = [ "dist/js/bootstrap.bundle.min.js", ], @@ -109,7 +109,7 @@ def copy_bootstrap_js(name = "bootstrap-js", visibility = ["//visibility:public" def copy_bootstrap_css(name = "bootstrap-css", visibility = ["//visibility:public"]): vendor_js_lib( name = name, - pkg = _pkg_from_name(name), + pkg = pkg_from_name(name), include = [ "dist/css/bootstrap.min.css", ],