vega 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 854e0601118f529798b5850bc36babaff268a6df96932da17c3e3f9f96330234
4
- data.tar.gz: 50359706b33864f64a18e0db734eb4c3209b6f225aabaab3553cf6bfd583219f
3
+ metadata.gz: c647654effe7e3ffa6c7b3a362327194dc4b8d7191eff79aa16cdab069145c99
4
+ data.tar.gz: 6a5270fd82810cfa524532e65ff7affe90ef976c6b0fd0921a5f0cc8cebe0255
5
5
  SHA512:
6
- metadata.gz: 388eab29e442fcf3a33788b0a59522be829ef43dd5a56a7fd06a0f803c929be6bae6b72421ad2dc11cecb8ba3382d7e445ba4f2d822577a6f2622328911e70c7
7
- data.tar.gz: 683e03f32841bf0605c310cd31fd545ca2110f8c85b46a10391e90204676ac08e8b7b753061d14f9f27758b208daa06f0039b5786367b27e4a2b95651f0cb6ea
6
+ metadata.gz: 0b5d92c2fcec4da87095c75f22fdaa5ab6d2f829c855a23c504e5e7c7e6f851ca40ae6335046fc8d410a62dfe9f180c644216df1c0a4128d6474f970993e54fe
7
+ data.tar.gz: 212a02dce568a2058fc637909422ec1d31fa3309816c5dca450fbbb5535389e8e5d85de7dfa9fc3681363425bda322512e74bb6da41533b2eac879b9d84a067e
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.1.2 (2021-02-09)
2
+
3
+ - Updated Vega to 5.19.1, Vega-Lite to 4.17.0, and Vega-Embed to 6.15.1
4
+
1
5
  ## 0.1.1 (2020-09-27)
2
6
 
3
7
  - Added `repeat`, `resolve`, `spec` and `selection` methods
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  BSD 3-Clause License
2
2
 
3
- Copyright (c) 2020, Andrew Kane.
3
+ Copyright (c) 2020-2021, Andrew Kane.
4
4
  All rights reserved.
5
5
 
6
6
  Redistribution and use in source and binary forms, with or without
data/README.md CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Interactive charts for Ruby, powered by [Vega](https://vega.github.io/vega/) and [Vega-Lite](https://vega.github.io/vega-lite/)
4
4
 
5
- [See what’s possible](https://vega.github.io/vega-lite/examples/)
5
+ [See it in action](https://vega.dokkuapp.com)
6
6
 
7
7
  Works with Rails, iRuby, and other frameworks
8
8
 
9
- [![Build Status](https://travis-ci.org/ankane/vega.svg?branch=master)](https://travis-ci.org/ankane/vega)
9
+ [![Build Status](https://github.com/ankane/vega/workflows/build/badge.svg?branch=master)](https://github.com/ankane/vega/actions)
10
10
 
11
11
  ## Installation
12
12
 
@@ -85,7 +85,7 @@ Vega.lite
85
85
  .data([{city: "A", sales: 28}, {city: "B", sales: 55}, {city: "C", sales: 43}])
86
86
  .mark(type: "bar", tooltip: true)
87
87
  .encoding(
88
- x: {field: "city", type: "ordinal"},
88
+ x: {field: "city", type: "nominal"},
89
89
  y: {field: "sales", type: "quantitative"}
90
90
  )
91
91
  ```
data/lib/vega/spec.rb CHANGED
@@ -25,9 +25,9 @@ module Vega
25
25
  <script>
26
26
  require.config({
27
27
  paths: {
28
- 'vega': 'https://cdn.jsdelivr.net/npm/vega@5.16.1?noext',
29
- 'vega-lite': 'https://cdn.jsdelivr.net/npm/vega-lite@4.16.2?noext',
30
- 'vega-embed': 'https://cdn.jsdelivr.net/npm/vega-embed@6.12.2?noext'
28
+ 'vega': 'https://cdn.jsdelivr.net/npm/vega@5.19.1?noext',
29
+ 'vega-lite': 'https://cdn.jsdelivr.net/npm/vega-lite@4.17.0?noext',
30
+ 'vega-embed': 'https://cdn.jsdelivr.net/npm/vega-embed@6.15.1?noext'
31
31
  }
32
32
  });
33
33
  require(['vega', 'vega-lite', 'vega-embed'], function(vega, vegaLite, vegaEmbed) {
data/lib/vega/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Vega
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -5,30 +5,154 @@
5
5
  }(this, (function (vegaImport, vegaLiteImport) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
- if (e && e.__esModule) { return e; } else {
9
- var n = Object.create(null);
10
- if (e) {
11
- Object.keys(e).forEach(function (k) {
12
- if (k !== 'default') {
13
- var d = Object.getOwnPropertyDescriptor(e, k);
14
- Object.defineProperty(n, k, d.get ? d : {
15
- enumerable: true,
16
- get: function () {
17
- return e[k];
18
- }
19
- });
20
- }
21
- });
22
- }
23
- n['default'] = e;
24
- return Object.freeze(n);
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () {
17
+ return e[k];
18
+ }
19
+ });
20
+ }
21
+ });
25
22
  }
23
+ n['default'] = e;
24
+ return Object.freeze(n);
26
25
  }
27
26
 
28
27
  var vegaImport__namespace = /*#__PURE__*/_interopNamespace(vegaImport);
29
28
  var vegaLiteImport__namespace = /*#__PURE__*/_interopNamespace(vegaLiteImport);
30
29
 
31
- var version = "6.12.2";
30
+ var name = "vega-embed";
31
+ var version = "6.15.1";
32
+ var description = "Publish Vega visualizations as embedded web components.";
33
+ var keywords = [
34
+ "vega",
35
+ "data",
36
+ "visualization",
37
+ "component",
38
+ "embed"
39
+ ];
40
+ var repository = {
41
+ type: "git",
42
+ url: "http://github.com/vega/vega-embed.git"
43
+ };
44
+ var author = {
45
+ name: "UW Interactive Data Lab",
46
+ url: "http://idl.cs.washington.edu"
47
+ };
48
+ var contributors = [
49
+ {
50
+ name: "Dominik Moritz",
51
+ url: "https://www.domoritz.de"
52
+ }
53
+ ];
54
+ var bugs = {
55
+ url: "https://github.com/vega/vega-embed/issues"
56
+ };
57
+ var homepage = "https://github.com/vega/vega-embed#readme";
58
+ var license = "BSD-3-Clause";
59
+ var main = "build/vega-embed.js";
60
+ var module = "build/vega-embed.module.js";
61
+ var unpkg = "build/vega-embed.min.js";
62
+ var jsdelivr = "build/vega-embed.min.js";
63
+ var types = "build/vega-embed.module.d.ts";
64
+ var files = [
65
+ "src",
66
+ "build",
67
+ "build-es5"
68
+ ];
69
+ var devDependencies = {
70
+ "@rollup/plugin-commonjs": "17.1.0",
71
+ "@rollup/plugin-json": "^4.1.0",
72
+ "@rollup/plugin-node-resolve": "^11.1.1",
73
+ "@types/semver": "^7.3.4",
74
+ "@wessberg/rollup-plugin-ts": "^1.3.8",
75
+ "browser-sync": "^2.26.14",
76
+ concurrently: "^5.3.0",
77
+ "jest-canvas-mock": "^2.3.0",
78
+ "node-sass": "^5.0.0",
79
+ rollup: "^2.38.3",
80
+ "rollup-plugin-bundle-size": "^1.0.3",
81
+ "rollup-plugin-terser": "^7.0.2",
82
+ typescript: "^4.1.3",
83
+ vega: "^5.10.0",
84
+ "vega-lite": "^4.7.0",
85
+ "vega-lite-dev-config": "^0.14.8"
86
+ };
87
+ var peerDependencies = {
88
+ vega: "^5.13.0",
89
+ "vega-lite": "*"
90
+ };
91
+ var dependencies = {
92
+ "fast-json-patch": "^3.0.0-1",
93
+ "json-stringify-pretty-compact": "^2.0.0",
94
+ semver: "^7.3.4",
95
+ "vega-schema-url-parser": "^2.1.0",
96
+ "vega-themes": "^2.9.1",
97
+ "vega-tooltip": "^0.25.0"
98
+ };
99
+ var scripts = {
100
+ prebuild: "yarn clean && yarn build:style",
101
+ build: "rollup -c",
102
+ "build:style": "./build-style.sh",
103
+ clean: "rimraf build && rimraf build-es5 && rimraf src/style.ts",
104
+ prepublishOnly: "yarn clean && yarn build",
105
+ preversion: "yarn lint && yarn test",
106
+ serve: "browser-sync start --directory -s -f build *.html",
107
+ start: "yarn build && concurrently --kill-others -n Server,Rollup 'yarn serve' 'rollup -c -w'",
108
+ pretest: "yarn build:style",
109
+ test: "beemo jest",
110
+ "test:inspect": "node --inspect-brk ./node_modules/.bin/jest --runInBand",
111
+ prepare: "beemo create-config",
112
+ prettierbase: "beemo prettier '*.{css,scss,html}'",
113
+ eslintbase: "beemo eslint .",
114
+ format: "yarn eslintbase --fix && yarn prettierbase --write",
115
+ lint: "yarn eslintbase && yarn prettierbase --check"
116
+ };
117
+ var beemo = {
118
+ module: "vega-lite-dev-config",
119
+ drivers: [
120
+ "typescript",
121
+ "prettier",
122
+ "eslint",
123
+ "babel",
124
+ "jest"
125
+ ],
126
+ jest: {
127
+ testURL: "http://localhost/",
128
+ setupFiles: [
129
+ "jest-canvas-mock"
130
+ ]
131
+ }
132
+ };
133
+ var pkg = {
134
+ name: name,
135
+ version: version,
136
+ description: description,
137
+ keywords: keywords,
138
+ repository: repository,
139
+ author: author,
140
+ contributors: contributors,
141
+ bugs: bugs,
142
+ homepage: homepage,
143
+ license: license,
144
+ main: main,
145
+ module: module,
146
+ unpkg: unpkg,
147
+ jsdelivr: jsdelivr,
148
+ types: types,
149
+ files: files,
150
+ devDependencies: devDependencies,
151
+ peerDependencies: peerDependencies,
152
+ dependencies: dependencies,
153
+ scripts: scripts,
154
+ beemo: beemo
155
+ };
32
156
 
33
157
  /*! *****************************************************************************
34
158
  Copyright (c) Microsoft Corporation.
@@ -960,18 +1084,9 @@
960
1084
  })(passedObj, "", 0);
961
1085
  };
962
1086
 
963
- function createCommonjsModule(fn, basedir, module) {
964
- return module = {
965
- path: basedir,
966
- exports: {},
967
- require: function (path, base) {
968
- return commonjsRequire(path, (base === undefined || base === null) ? module.path : base);
969
- }
970
- }, fn(module, module.exports), module.exports;
971
- }
972
-
973
- function commonjsRequire () {
974
- throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
1087
+ function createCommonjsModule(fn) {
1088
+ var module = { exports: {} };
1089
+ return fn(module, module.exports), module.exports;
975
1090
  }
976
1091
 
977
1092
  // Note: this is the semver.org version of the spec that it implements
@@ -1187,6 +1302,18 @@
1187
1302
  createToken('GTE0PRE', '^\\s*>=\\s*0\.0\.0-0\\s*$');
1188
1303
  });
1189
1304
 
1305
+ // parse out just the options we care about so we always get a consistent
1306
+ // obj with keys in a consistent order.
1307
+ const opts = ['includePrerelease', 'loose', 'rtl'];
1308
+ const parseOptions = options =>
1309
+ !options ? {}
1310
+ : typeof options !== 'object' ? { loose: true }
1311
+ : opts.filter(k => options[k]).reduce((options, k) => {
1312
+ options[k] = true;
1313
+ return options
1314
+ }, {});
1315
+ var parseOptions_1 = parseOptions;
1316
+
1190
1317
  const numeric = /^[0-9]+$/;
1191
1318
  const compareIdentifiers = (a, b) => {
1192
1319
  const anum = numeric.test(a);
@@ -1214,15 +1341,12 @@
1214
1341
  const { MAX_LENGTH: MAX_LENGTH$1, MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$1 } = constants;
1215
1342
  const { re, t } = re_1;
1216
1343
 
1344
+
1217
1345
  const { compareIdentifiers: compareIdentifiers$1 } = identifiers;
1218
1346
  class SemVer {
1219
1347
  constructor (version, options) {
1220
- if (!options || typeof options !== 'object') {
1221
- options = {
1222
- loose: !!options,
1223
- includePrerelease: false
1224
- };
1225
- }
1348
+ options = parseOptions_1(options);
1349
+
1226
1350
  if (version instanceof SemVer) {
1227
1351
  if (version.loose === !!options.loose &&
1228
1352
  version.includePrerelease === !!options.includePrerelease) {
@@ -1505,13 +1629,9 @@
1505
1629
  const { re: re$1, t: t$1 } = re_1;
1506
1630
 
1507
1631
 
1632
+
1508
1633
  const parse = (version, options) => {
1509
- if (!options || typeof options !== 'object') {
1510
- options = {
1511
- loose: !!options,
1512
- includePrerelease: false
1513
- };
1514
- }
1634
+ options = parseOptions_1(options);
1515
1635
 
1516
1636
  if (version instanceof semver) {
1517
1637
  return version
@@ -1735,15 +1855,777 @@
1735
1855
  };
1736
1856
  var coerce_1 = coerce;
1737
1857
 
1858
+ var iterator = function (Yallist) {
1859
+ Yallist.prototype[Symbol.iterator] = function* () {
1860
+ for (let walker = this.head; walker; walker = walker.next) {
1861
+ yield walker.value;
1862
+ }
1863
+ };
1864
+ };
1865
+
1866
+ var yallist = Yallist;
1867
+
1868
+ Yallist.Node = Node;
1869
+ Yallist.create = Yallist;
1870
+
1871
+ function Yallist (list) {
1872
+ var self = this;
1873
+ if (!(self instanceof Yallist)) {
1874
+ self = new Yallist();
1875
+ }
1876
+
1877
+ self.tail = null;
1878
+ self.head = null;
1879
+ self.length = 0;
1880
+
1881
+ if (list && typeof list.forEach === 'function') {
1882
+ list.forEach(function (item) {
1883
+ self.push(item);
1884
+ });
1885
+ } else if (arguments.length > 0) {
1886
+ for (var i = 0, l = arguments.length; i < l; i++) {
1887
+ self.push(arguments[i]);
1888
+ }
1889
+ }
1890
+
1891
+ return self
1892
+ }
1893
+
1894
+ Yallist.prototype.removeNode = function (node) {
1895
+ if (node.list !== this) {
1896
+ throw new Error('removing node which does not belong to this list')
1897
+ }
1898
+
1899
+ var next = node.next;
1900
+ var prev = node.prev;
1901
+
1902
+ if (next) {
1903
+ next.prev = prev;
1904
+ }
1905
+
1906
+ if (prev) {
1907
+ prev.next = next;
1908
+ }
1909
+
1910
+ if (node === this.head) {
1911
+ this.head = next;
1912
+ }
1913
+ if (node === this.tail) {
1914
+ this.tail = prev;
1915
+ }
1916
+
1917
+ node.list.length--;
1918
+ node.next = null;
1919
+ node.prev = null;
1920
+ node.list = null;
1921
+
1922
+ return next
1923
+ };
1924
+
1925
+ Yallist.prototype.unshiftNode = function (node) {
1926
+ if (node === this.head) {
1927
+ return
1928
+ }
1929
+
1930
+ if (node.list) {
1931
+ node.list.removeNode(node);
1932
+ }
1933
+
1934
+ var head = this.head;
1935
+ node.list = this;
1936
+ node.next = head;
1937
+ if (head) {
1938
+ head.prev = node;
1939
+ }
1940
+
1941
+ this.head = node;
1942
+ if (!this.tail) {
1943
+ this.tail = node;
1944
+ }
1945
+ this.length++;
1946
+ };
1947
+
1948
+ Yallist.prototype.pushNode = function (node) {
1949
+ if (node === this.tail) {
1950
+ return
1951
+ }
1952
+
1953
+ if (node.list) {
1954
+ node.list.removeNode(node);
1955
+ }
1956
+
1957
+ var tail = this.tail;
1958
+ node.list = this;
1959
+ node.prev = tail;
1960
+ if (tail) {
1961
+ tail.next = node;
1962
+ }
1963
+
1964
+ this.tail = node;
1965
+ if (!this.head) {
1966
+ this.head = node;
1967
+ }
1968
+ this.length++;
1969
+ };
1970
+
1971
+ Yallist.prototype.push = function () {
1972
+ for (var i = 0, l = arguments.length; i < l; i++) {
1973
+ push(this, arguments[i]);
1974
+ }
1975
+ return this.length
1976
+ };
1977
+
1978
+ Yallist.prototype.unshift = function () {
1979
+ for (var i = 0, l = arguments.length; i < l; i++) {
1980
+ unshift(this, arguments[i]);
1981
+ }
1982
+ return this.length
1983
+ };
1984
+
1985
+ Yallist.prototype.pop = function () {
1986
+ if (!this.tail) {
1987
+ return undefined
1988
+ }
1989
+
1990
+ var res = this.tail.value;
1991
+ this.tail = this.tail.prev;
1992
+ if (this.tail) {
1993
+ this.tail.next = null;
1994
+ } else {
1995
+ this.head = null;
1996
+ }
1997
+ this.length--;
1998
+ return res
1999
+ };
2000
+
2001
+ Yallist.prototype.shift = function () {
2002
+ if (!this.head) {
2003
+ return undefined
2004
+ }
2005
+
2006
+ var res = this.head.value;
2007
+ this.head = this.head.next;
2008
+ if (this.head) {
2009
+ this.head.prev = null;
2010
+ } else {
2011
+ this.tail = null;
2012
+ }
2013
+ this.length--;
2014
+ return res
2015
+ };
2016
+
2017
+ Yallist.prototype.forEach = function (fn, thisp) {
2018
+ thisp = thisp || this;
2019
+ for (var walker = this.head, i = 0; walker !== null; i++) {
2020
+ fn.call(thisp, walker.value, i, this);
2021
+ walker = walker.next;
2022
+ }
2023
+ };
2024
+
2025
+ Yallist.prototype.forEachReverse = function (fn, thisp) {
2026
+ thisp = thisp || this;
2027
+ for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {
2028
+ fn.call(thisp, walker.value, i, this);
2029
+ walker = walker.prev;
2030
+ }
2031
+ };
2032
+
2033
+ Yallist.prototype.get = function (n) {
2034
+ for (var i = 0, walker = this.head; walker !== null && i < n; i++) {
2035
+ // abort out of the list early if we hit a cycle
2036
+ walker = walker.next;
2037
+ }
2038
+ if (i === n && walker !== null) {
2039
+ return walker.value
2040
+ }
2041
+ };
2042
+
2043
+ Yallist.prototype.getReverse = function (n) {
2044
+ for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {
2045
+ // abort out of the list early if we hit a cycle
2046
+ walker = walker.prev;
2047
+ }
2048
+ if (i === n && walker !== null) {
2049
+ return walker.value
2050
+ }
2051
+ };
2052
+
2053
+ Yallist.prototype.map = function (fn, thisp) {
2054
+ thisp = thisp || this;
2055
+ var res = new Yallist();
2056
+ for (var walker = this.head; walker !== null;) {
2057
+ res.push(fn.call(thisp, walker.value, this));
2058
+ walker = walker.next;
2059
+ }
2060
+ return res
2061
+ };
2062
+
2063
+ Yallist.prototype.mapReverse = function (fn, thisp) {
2064
+ thisp = thisp || this;
2065
+ var res = new Yallist();
2066
+ for (var walker = this.tail; walker !== null;) {
2067
+ res.push(fn.call(thisp, walker.value, this));
2068
+ walker = walker.prev;
2069
+ }
2070
+ return res
2071
+ };
2072
+
2073
+ Yallist.prototype.reduce = function (fn, initial) {
2074
+ var acc;
2075
+ var walker = this.head;
2076
+ if (arguments.length > 1) {
2077
+ acc = initial;
2078
+ } else if (this.head) {
2079
+ walker = this.head.next;
2080
+ acc = this.head.value;
2081
+ } else {
2082
+ throw new TypeError('Reduce of empty list with no initial value')
2083
+ }
2084
+
2085
+ for (var i = 0; walker !== null; i++) {
2086
+ acc = fn(acc, walker.value, i);
2087
+ walker = walker.next;
2088
+ }
2089
+
2090
+ return acc
2091
+ };
2092
+
2093
+ Yallist.prototype.reduceReverse = function (fn, initial) {
2094
+ var acc;
2095
+ var walker = this.tail;
2096
+ if (arguments.length > 1) {
2097
+ acc = initial;
2098
+ } else if (this.tail) {
2099
+ walker = this.tail.prev;
2100
+ acc = this.tail.value;
2101
+ } else {
2102
+ throw new TypeError('Reduce of empty list with no initial value')
2103
+ }
2104
+
2105
+ for (var i = this.length - 1; walker !== null; i--) {
2106
+ acc = fn(acc, walker.value, i);
2107
+ walker = walker.prev;
2108
+ }
2109
+
2110
+ return acc
2111
+ };
2112
+
2113
+ Yallist.prototype.toArray = function () {
2114
+ var arr = new Array(this.length);
2115
+ for (var i = 0, walker = this.head; walker !== null; i++) {
2116
+ arr[i] = walker.value;
2117
+ walker = walker.next;
2118
+ }
2119
+ return arr
2120
+ };
2121
+
2122
+ Yallist.prototype.toArrayReverse = function () {
2123
+ var arr = new Array(this.length);
2124
+ for (var i = 0, walker = this.tail; walker !== null; i++) {
2125
+ arr[i] = walker.value;
2126
+ walker = walker.prev;
2127
+ }
2128
+ return arr
2129
+ };
2130
+
2131
+ Yallist.prototype.slice = function (from, to) {
2132
+ to = to || this.length;
2133
+ if (to < 0) {
2134
+ to += this.length;
2135
+ }
2136
+ from = from || 0;
2137
+ if (from < 0) {
2138
+ from += this.length;
2139
+ }
2140
+ var ret = new Yallist();
2141
+ if (to < from || to < 0) {
2142
+ return ret
2143
+ }
2144
+ if (from < 0) {
2145
+ from = 0;
2146
+ }
2147
+ if (to > this.length) {
2148
+ to = this.length;
2149
+ }
2150
+ for (var i = 0, walker = this.head; walker !== null && i < from; i++) {
2151
+ walker = walker.next;
2152
+ }
2153
+ for (; walker !== null && i < to; i++, walker = walker.next) {
2154
+ ret.push(walker.value);
2155
+ }
2156
+ return ret
2157
+ };
2158
+
2159
+ Yallist.prototype.sliceReverse = function (from, to) {
2160
+ to = to || this.length;
2161
+ if (to < 0) {
2162
+ to += this.length;
2163
+ }
2164
+ from = from || 0;
2165
+ if (from < 0) {
2166
+ from += this.length;
2167
+ }
2168
+ var ret = new Yallist();
2169
+ if (to < from || to < 0) {
2170
+ return ret
2171
+ }
2172
+ if (from < 0) {
2173
+ from = 0;
2174
+ }
2175
+ if (to > this.length) {
2176
+ to = this.length;
2177
+ }
2178
+ for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {
2179
+ walker = walker.prev;
2180
+ }
2181
+ for (; walker !== null && i > from; i--, walker = walker.prev) {
2182
+ ret.push(walker.value);
2183
+ }
2184
+ return ret
2185
+ };
2186
+
2187
+ Yallist.prototype.splice = function (start, deleteCount, ...nodes) {
2188
+ if (start > this.length) {
2189
+ start = this.length - 1;
2190
+ }
2191
+ if (start < 0) {
2192
+ start = this.length + start;
2193
+ }
2194
+
2195
+ for (var i = 0, walker = this.head; walker !== null && i < start; i++) {
2196
+ walker = walker.next;
2197
+ }
2198
+
2199
+ var ret = [];
2200
+ for (var i = 0; walker && i < deleteCount; i++) {
2201
+ ret.push(walker.value);
2202
+ walker = this.removeNode(walker);
2203
+ }
2204
+ if (walker === null) {
2205
+ walker = this.tail;
2206
+ }
2207
+
2208
+ if (walker !== this.head && walker !== this.tail) {
2209
+ walker = walker.prev;
2210
+ }
2211
+
2212
+ for (var i = 0; i < nodes.length; i++) {
2213
+ walker = insert(this, walker, nodes[i]);
2214
+ }
2215
+ return ret;
2216
+ };
2217
+
2218
+ Yallist.prototype.reverse = function () {
2219
+ var head = this.head;
2220
+ var tail = this.tail;
2221
+ for (var walker = head; walker !== null; walker = walker.prev) {
2222
+ var p = walker.prev;
2223
+ walker.prev = walker.next;
2224
+ walker.next = p;
2225
+ }
2226
+ this.head = tail;
2227
+ this.tail = head;
2228
+ return this
2229
+ };
2230
+
2231
+ function insert (self, node, value) {
2232
+ var inserted = node === self.head ?
2233
+ new Node(value, null, node, self) :
2234
+ new Node(value, node, node.next, self);
2235
+
2236
+ if (inserted.next === null) {
2237
+ self.tail = inserted;
2238
+ }
2239
+ if (inserted.prev === null) {
2240
+ self.head = inserted;
2241
+ }
2242
+
2243
+ self.length++;
2244
+
2245
+ return inserted
2246
+ }
2247
+
2248
+ function push (self, item) {
2249
+ self.tail = new Node(item, self.tail, null, self);
2250
+ if (!self.head) {
2251
+ self.head = self.tail;
2252
+ }
2253
+ self.length++;
2254
+ }
2255
+
2256
+ function unshift (self, item) {
2257
+ self.head = new Node(item, null, self.head, self);
2258
+ if (!self.tail) {
2259
+ self.tail = self.head;
2260
+ }
2261
+ self.length++;
2262
+ }
2263
+
2264
+ function Node (value, prev, next, list) {
2265
+ if (!(this instanceof Node)) {
2266
+ return new Node(value, prev, next, list)
2267
+ }
2268
+
2269
+ this.list = list;
2270
+ this.value = value;
2271
+
2272
+ if (prev) {
2273
+ prev.next = this;
2274
+ this.prev = prev;
2275
+ } else {
2276
+ this.prev = null;
2277
+ }
2278
+
2279
+ if (next) {
2280
+ next.prev = this;
2281
+ this.next = next;
2282
+ } else {
2283
+ this.next = null;
2284
+ }
2285
+ }
2286
+
2287
+ try {
2288
+ // add if support for Symbol.iterator is present
2289
+ iterator(Yallist);
2290
+ } catch (er) {}
2291
+
2292
+ // A linked list to keep track of recently-used-ness
2293
+
2294
+
2295
+ const MAX = Symbol('max');
2296
+ const LENGTH = Symbol('length');
2297
+ const LENGTH_CALCULATOR = Symbol('lengthCalculator');
2298
+ const ALLOW_STALE = Symbol('allowStale');
2299
+ const MAX_AGE = Symbol('maxAge');
2300
+ const DISPOSE = Symbol('dispose');
2301
+ const NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet');
2302
+ const LRU_LIST = Symbol('lruList');
2303
+ const CACHE = Symbol('cache');
2304
+ const UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet');
2305
+
2306
+ const naiveLength = () => 1;
2307
+
2308
+ // lruList is a yallist where the head is the youngest
2309
+ // item, and the tail is the oldest. the list contains the Hit
2310
+ // objects as the entries.
2311
+ // Each Hit object has a reference to its Yallist.Node. This
2312
+ // never changes.
2313
+ //
2314
+ // cache is a Map (or PseudoMap) that matches the keys to
2315
+ // the Yallist.Node object.
2316
+ class LRUCache {
2317
+ constructor (options) {
2318
+ if (typeof options === 'number')
2319
+ options = { max: options };
2320
+
2321
+ if (!options)
2322
+ options = {};
2323
+
2324
+ if (options.max && (typeof options.max !== 'number' || options.max < 0))
2325
+ throw new TypeError('max must be a non-negative number')
2326
+ // Kind of weird to have a default max of Infinity, but oh well.
2327
+ this[MAX] = options.max || Infinity;
2328
+
2329
+ const lc = options.length || naiveLength;
2330
+ this[LENGTH_CALCULATOR] = (typeof lc !== 'function') ? naiveLength : lc;
2331
+ this[ALLOW_STALE] = options.stale || false;
2332
+ if (options.maxAge && typeof options.maxAge !== 'number')
2333
+ throw new TypeError('maxAge must be a number')
2334
+ this[MAX_AGE] = options.maxAge || 0;
2335
+ this[DISPOSE] = options.dispose;
2336
+ this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false;
2337
+ this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false;
2338
+ this.reset();
2339
+ }
2340
+
2341
+ // resize the cache when the max changes.
2342
+ set max (mL) {
2343
+ if (typeof mL !== 'number' || mL < 0)
2344
+ throw new TypeError('max must be a non-negative number')
2345
+
2346
+ this[MAX] = mL || Infinity;
2347
+ trim(this);
2348
+ }
2349
+ get max () {
2350
+ return this[MAX]
2351
+ }
2352
+
2353
+ set allowStale (allowStale) {
2354
+ this[ALLOW_STALE] = !!allowStale;
2355
+ }
2356
+ get allowStale () {
2357
+ return this[ALLOW_STALE]
2358
+ }
2359
+
2360
+ set maxAge (mA) {
2361
+ if (typeof mA !== 'number')
2362
+ throw new TypeError('maxAge must be a non-negative number')
2363
+
2364
+ this[MAX_AGE] = mA;
2365
+ trim(this);
2366
+ }
2367
+ get maxAge () {
2368
+ return this[MAX_AGE]
2369
+ }
2370
+
2371
+ // resize the cache when the lengthCalculator changes.
2372
+ set lengthCalculator (lC) {
2373
+ if (typeof lC !== 'function')
2374
+ lC = naiveLength;
2375
+
2376
+ if (lC !== this[LENGTH_CALCULATOR]) {
2377
+ this[LENGTH_CALCULATOR] = lC;
2378
+ this[LENGTH] = 0;
2379
+ this[LRU_LIST].forEach(hit => {
2380
+ hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key);
2381
+ this[LENGTH] += hit.length;
2382
+ });
2383
+ }
2384
+ trim(this);
2385
+ }
2386
+ get lengthCalculator () { return this[LENGTH_CALCULATOR] }
2387
+
2388
+ get length () { return this[LENGTH] }
2389
+ get itemCount () { return this[LRU_LIST].length }
2390
+
2391
+ rforEach (fn, thisp) {
2392
+ thisp = thisp || this;
2393
+ for (let walker = this[LRU_LIST].tail; walker !== null;) {
2394
+ const prev = walker.prev;
2395
+ forEachStep(this, fn, walker, thisp);
2396
+ walker = prev;
2397
+ }
2398
+ }
2399
+
2400
+ forEach (fn, thisp) {
2401
+ thisp = thisp || this;
2402
+ for (let walker = this[LRU_LIST].head; walker !== null;) {
2403
+ const next = walker.next;
2404
+ forEachStep(this, fn, walker, thisp);
2405
+ walker = next;
2406
+ }
2407
+ }
2408
+
2409
+ keys () {
2410
+ return this[LRU_LIST].toArray().map(k => k.key)
2411
+ }
2412
+
2413
+ values () {
2414
+ return this[LRU_LIST].toArray().map(k => k.value)
2415
+ }
2416
+
2417
+ reset () {
2418
+ if (this[DISPOSE] &&
2419
+ this[LRU_LIST] &&
2420
+ this[LRU_LIST].length) {
2421
+ this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value));
2422
+ }
2423
+
2424
+ this[CACHE] = new Map(); // hash of items by key
2425
+ this[LRU_LIST] = new yallist(); // list of items in order of use recency
2426
+ this[LENGTH] = 0; // length of items in the list
2427
+ }
2428
+
2429
+ dump () {
2430
+ return this[LRU_LIST].map(hit =>
2431
+ isStale(this, hit) ? false : {
2432
+ k: hit.key,
2433
+ v: hit.value,
2434
+ e: hit.now + (hit.maxAge || 0)
2435
+ }).toArray().filter(h => h)
2436
+ }
2437
+
2438
+ dumpLru () {
2439
+ return this[LRU_LIST]
2440
+ }
2441
+
2442
+ set (key, value, maxAge) {
2443
+ maxAge = maxAge || this[MAX_AGE];
2444
+
2445
+ if (maxAge && typeof maxAge !== 'number')
2446
+ throw new TypeError('maxAge must be a number')
2447
+
2448
+ const now = maxAge ? Date.now() : 0;
2449
+ const len = this[LENGTH_CALCULATOR](value, key);
2450
+
2451
+ if (this[CACHE].has(key)) {
2452
+ if (len > this[MAX]) {
2453
+ del(this, this[CACHE].get(key));
2454
+ return false
2455
+ }
2456
+
2457
+ const node = this[CACHE].get(key);
2458
+ const item = node.value;
2459
+
2460
+ // dispose of the old one before overwriting
2461
+ // split out into 2 ifs for better coverage tracking
2462
+ if (this[DISPOSE]) {
2463
+ if (!this[NO_DISPOSE_ON_SET])
2464
+ this[DISPOSE](key, item.value);
2465
+ }
2466
+
2467
+ item.now = now;
2468
+ item.maxAge = maxAge;
2469
+ item.value = value;
2470
+ this[LENGTH] += len - item.length;
2471
+ item.length = len;
2472
+ this.get(key);
2473
+ trim(this);
2474
+ return true
2475
+ }
2476
+
2477
+ const hit = new Entry(key, value, len, now, maxAge);
2478
+
2479
+ // oversized objects fall out of cache automatically.
2480
+ if (hit.length > this[MAX]) {
2481
+ if (this[DISPOSE])
2482
+ this[DISPOSE](key, value);
2483
+
2484
+ return false
2485
+ }
2486
+
2487
+ this[LENGTH] += hit.length;
2488
+ this[LRU_LIST].unshift(hit);
2489
+ this[CACHE].set(key, this[LRU_LIST].head);
2490
+ trim(this);
2491
+ return true
2492
+ }
2493
+
2494
+ has (key) {
2495
+ if (!this[CACHE].has(key)) return false
2496
+ const hit = this[CACHE].get(key).value;
2497
+ return !isStale(this, hit)
2498
+ }
2499
+
2500
+ get (key) {
2501
+ return get(this, key, true)
2502
+ }
2503
+
2504
+ peek (key) {
2505
+ return get(this, key, false)
2506
+ }
2507
+
2508
+ pop () {
2509
+ const node = this[LRU_LIST].tail;
2510
+ if (!node)
2511
+ return null
2512
+
2513
+ del(this, node);
2514
+ return node.value
2515
+ }
2516
+
2517
+ del (key) {
2518
+ del(this, this[CACHE].get(key));
2519
+ }
2520
+
2521
+ load (arr) {
2522
+ // reset the cache
2523
+ this.reset();
2524
+
2525
+ const now = Date.now();
2526
+ // A previous serialized cache has the most recent items first
2527
+ for (let l = arr.length - 1; l >= 0; l--) {
2528
+ const hit = arr[l];
2529
+ const expiresAt = hit.e || 0;
2530
+ if (expiresAt === 0)
2531
+ // the item was created without expiration in a non aged cache
2532
+ this.set(hit.k, hit.v);
2533
+ else {
2534
+ const maxAge = expiresAt - now;
2535
+ // dont add already expired items
2536
+ if (maxAge > 0) {
2537
+ this.set(hit.k, hit.v, maxAge);
2538
+ }
2539
+ }
2540
+ }
2541
+ }
2542
+
2543
+ prune () {
2544
+ this[CACHE].forEach((value, key) => get(this, key, false));
2545
+ }
2546
+ }
2547
+
2548
+ const get = (self, key, doUse) => {
2549
+ const node = self[CACHE].get(key);
2550
+ if (node) {
2551
+ const hit = node.value;
2552
+ if (isStale(self, hit)) {
2553
+ del(self, node);
2554
+ if (!self[ALLOW_STALE])
2555
+ return undefined
2556
+ } else {
2557
+ if (doUse) {
2558
+ if (self[UPDATE_AGE_ON_GET])
2559
+ node.value.now = Date.now();
2560
+ self[LRU_LIST].unshiftNode(node);
2561
+ }
2562
+ }
2563
+ return hit.value
2564
+ }
2565
+ };
2566
+
2567
+ const isStale = (self, hit) => {
2568
+ if (!hit || (!hit.maxAge && !self[MAX_AGE]))
2569
+ return false
2570
+
2571
+ const diff = Date.now() - hit.now;
2572
+ return hit.maxAge ? diff > hit.maxAge
2573
+ : self[MAX_AGE] && (diff > self[MAX_AGE])
2574
+ };
2575
+
2576
+ const trim = self => {
2577
+ if (self[LENGTH] > self[MAX]) {
2578
+ for (let walker = self[LRU_LIST].tail;
2579
+ self[LENGTH] > self[MAX] && walker !== null;) {
2580
+ // We know that we're about to delete this one, and also
2581
+ // what the next least recently used key will be, so just
2582
+ // go ahead and set it now.
2583
+ const prev = walker.prev;
2584
+ del(self, walker);
2585
+ walker = prev;
2586
+ }
2587
+ }
2588
+ };
2589
+
2590
+ const del = (self, node) => {
2591
+ if (node) {
2592
+ const hit = node.value;
2593
+ if (self[DISPOSE])
2594
+ self[DISPOSE](hit.key, hit.value);
2595
+
2596
+ self[LENGTH] -= hit.length;
2597
+ self[CACHE].delete(hit.key);
2598
+ self[LRU_LIST].removeNode(node);
2599
+ }
2600
+ };
2601
+
2602
+ class Entry {
2603
+ constructor (key, value, length, now, maxAge) {
2604
+ this.key = key;
2605
+ this.value = value;
2606
+ this.length = length;
2607
+ this.now = now;
2608
+ this.maxAge = maxAge || 0;
2609
+ }
2610
+ }
2611
+
2612
+ const forEachStep = (self, fn, node, thisp) => {
2613
+ let hit = node.value;
2614
+ if (isStale(self, hit)) {
2615
+ del(self, node);
2616
+ if (!self[ALLOW_STALE])
2617
+ hit = undefined;
2618
+ }
2619
+ if (hit)
2620
+ fn.call(thisp, hit.value, hit.key, self);
2621
+ };
2622
+
2623
+ var lruCache = LRUCache;
2624
+
1738
2625
  // hoisted class for cyclic dependency
1739
2626
  class Range {
1740
2627
  constructor (range, options) {
1741
- if (!options || typeof options !== 'object') {
1742
- options = {
1743
- loose: !!options,
1744
- includePrerelease: false
1745
- };
1746
- }
2628
+ options = parseOptions_1(options);
1747
2629
 
1748
2630
  if (range instanceof Range) {
1749
2631
  if (
@@ -1783,6 +2665,24 @@
1783
2665
  throw new TypeError(`Invalid SemVer Range: ${range}`)
1784
2666
  }
1785
2667
 
2668
+ // if we have any that are not the null set, throw out null sets.
2669
+ if (this.set.length > 1) {
2670
+ // keep the first one, in case they're all null sets
2671
+ const first = this.set[0];
2672
+ this.set = this.set.filter(c => !isNullSet(c[0]));
2673
+ if (this.set.length === 0)
2674
+ this.set = [first];
2675
+ else if (this.set.length > 1) {
2676
+ // if we have any that are *, then the range is just *
2677
+ for (const c of this.set) {
2678
+ if (c.length === 1 && isAny(c[0])) {
2679
+ this.set = [c];
2680
+ break
2681
+ }
2682
+ }
2683
+ }
2684
+ }
2685
+
1786
2686
  this.format();
1787
2687
  }
1788
2688
 
@@ -1801,8 +2701,17 @@
1801
2701
  }
1802
2702
 
1803
2703
  parseRange (range) {
1804
- const loose = this.options.loose;
1805
2704
  range = range.trim();
2705
+
2706
+ // memoize range parsing for performance.
2707
+ // this is a very hot path, and fully deterministic.
2708
+ const memoOpts = Object.keys(this.options).join(',');
2709
+ const memoKey = `parseRange:${memoOpts}:${range}`;
2710
+ const cached = cache.get(memoKey);
2711
+ if (cached)
2712
+ return cached
2713
+
2714
+ const loose = this.options.loose;
1806
2715
  // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
1807
2716
  const hr = loose ? re$3[t$3.HYPHENRANGELOOSE] : re$3[t$3.HYPHENRANGE];
1808
2717
  range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
@@ -1824,15 +2733,33 @@
1824
2733
  // ready to be split into comparators.
1825
2734
 
1826
2735
  const compRe = loose ? re$3[t$3.COMPARATORLOOSE] : re$3[t$3.COMPARATOR];
1827
- return range
2736
+ const rangeList = range
1828
2737
  .split(' ')
1829
2738
  .map(comp => parseComparator(comp, this.options))
1830
2739
  .join(' ')
1831
2740
  .split(/\s+/)
2741
+ // >=0.0.0 is equivalent to *
1832
2742
  .map(comp => replaceGTE0(comp, this.options))
1833
2743
  // in loose mode, throw out any that are not valid comparators
1834
2744
  .filter(this.options.loose ? comp => !!comp.match(compRe) : () => true)
1835
- .map(comp => new comparator(comp, this.options))
2745
+ .map(comp => new comparator(comp, this.options));
2746
+
2747
+ // if any comparators are the null set, then replace with JUST null set
2748
+ // if more than one comparator, remove any * comparators
2749
+ // also, don't include the same comparator more than once
2750
+ rangeList.length;
2751
+ const rangeMap = new Map();
2752
+ for (const comp of rangeList) {
2753
+ if (isNullSet(comp))
2754
+ return [comp]
2755
+ rangeMap.set(comp.value, comp);
2756
+ }
2757
+ if (rangeMap.size > 1 && rangeMap.has(''))
2758
+ rangeMap.delete('');
2759
+
2760
+ const result = [...rangeMap.values()];
2761
+ cache.set(memoKey, result);
2762
+ return result
1836
2763
  }
1837
2764
 
1838
2765
  intersects (range, options) {
@@ -1882,6 +2809,10 @@
1882
2809
  var range = Range;
1883
2810
 
1884
2811
 
2812
+ const cache = new lruCache({ max: 1000 });
2813
+
2814
+
2815
+
1885
2816
 
1886
2817
 
1887
2818
  const {
@@ -1892,6 +2823,9 @@
1892
2823
  caretTrimReplace
1893
2824
  } = re_1;
1894
2825
 
2826
+ const isNullSet = c => c.value === '<0.0.0-0';
2827
+ const isAny = c => c.value === '';
2828
+
1895
2829
  // take a set of comparators and determine whether there
1896
2830
  // exists a version which can satisfy it
1897
2831
  const isSatisfiable = (comparators, options) => {
@@ -2206,12 +3140,7 @@
2206
3140
  return ANY
2207
3141
  }
2208
3142
  constructor (comp, options) {
2209
- if (!options || typeof options !== 'object') {
2210
- options = {
2211
- loose: !!options,
2212
- includePrerelease: false
2213
- };
2214
- }
3143
+ options = parseOptions_1(options);
2215
3144
 
2216
3145
  if (comp instanceof Comparator) {
2217
3146
  if (comp.loose === !!options.loose) {
@@ -2333,6 +3262,7 @@
2333
3262
 
2334
3263
  var comparator = Comparator;
2335
3264
 
3265
+
2336
3266
  const {re: re$4, t: t$4} = re_1;
2337
3267
 
2338
3268
  const satisfies = (version, range$1, options) => {
@@ -2415,6 +3345,7 @@
2415
3345
  for (let i = 0; i < range$1.set.length; ++i) {
2416
3346
  const comparators = range$1.set[i];
2417
3347
 
3348
+ let setMin = null;
2418
3349
  comparators.forEach((comparator) => {
2419
3350
  // Clone to avoid manipulating the comparator's semver object.
2420
3351
  const compver = new semver(comparator.semver.version);
@@ -2429,8 +3360,8 @@
2429
3360
  /* fallthrough */
2430
3361
  case '':
2431
3362
  case '>=':
2432
- if (!minver || gt_1(minver, compver)) {
2433
- minver = compver;
3363
+ if (!setMin || gt_1(compver, setMin)) {
3364
+ setMin = compver;
2434
3365
  }
2435
3366
  break
2436
3367
  case '<':
@@ -2442,6 +3373,8 @@
2442
3373
  throw new Error(`Unexpected operation: ${comparator.operator}`)
2443
3374
  }
2444
3375
  });
3376
+ if (setMin && (!minver || gt_1(minver, setMin)))
3377
+ minver = setMin;
2445
3378
  }
2446
3379
 
2447
3380
  if (minver && range$1.test(minver)) {
@@ -2495,7 +3428,7 @@
2495
3428
  throw new TypeError('Must provide a hilo val of "<" or ">"')
2496
3429
  }
2497
3430
 
2498
- // If it satisifes the range it is not outside
3431
+ // If it satisfies the range it is not outside
2499
3432
  if (satisfies_1(version, range$1, options)) {
2500
3433
  return false
2501
3434
  }
@@ -2625,15 +3558,18 @@
2625
3558
  // - If EQ satisfies every C, return true
2626
3559
  // - Else return false
2627
3560
  // - If GT
2628
- // - If GT is lower than any > or >= comp in C, return false
3561
+ // - If GT.semver is lower than any > or >= comp in C, return false
2629
3562
  // - If GT is >=, and GT.semver does not satisfy every C, return false
2630
3563
  // - If LT
2631
- // - If LT.semver is greater than that of any > comp in C, return false
3564
+ // - If LT.semver is greater than any < or <= comp in C, return false
2632
3565
  // - If LT is <=, and LT.semver does not satisfy every C, return false
2633
3566
  // - If any C is a = range, and GT or LT are set, return false
2634
3567
  // - Else return true
2635
3568
 
2636
3569
  const subset = (sub, dom, options) => {
3570
+ if (sub === dom)
3571
+ return true
3572
+
2637
3573
  sub = new range(sub, options);
2638
3574
  dom = new range(dom, options);
2639
3575
  let sawNonNull = false;
@@ -2656,6 +3592,9 @@
2656
3592
  };
2657
3593
 
2658
3594
  const simpleSubset = (sub, dom, options) => {
3595
+ if (sub === dom)
3596
+ return true
3597
+
2659
3598
  if (sub.length === 1 && sub[0].semver === ANY$2)
2660
3599
  return dom.length === 1 && dom[0].semver === ANY$2
2661
3600
 
@@ -2694,6 +3633,7 @@
2694
3633
  if (!satisfies_1(eq, String(c), options))
2695
3634
  return false
2696
3635
  }
3636
+
2697
3637
  return true
2698
3638
  }
2699
3639
 
@@ -2705,7 +3645,7 @@
2705
3645
  if (gt) {
2706
3646
  if (c.operator === '>' || c.operator === '>=') {
2707
3647
  higher = higherGT(gt, c, options);
2708
- if (higher === c)
3648
+ if (higher === c && higher !== gt)
2709
3649
  return false
2710
3650
  } else if (gt.operator === '>=' && !satisfies_1(gt.semver, String(c), options))
2711
3651
  return false
@@ -2713,7 +3653,7 @@
2713
3653
  if (lt) {
2714
3654
  if (c.operator === '<' || c.operator === '<=') {
2715
3655
  lower = lowerLT(lt, c, options);
2716
- if (lower === c)
3656
+ if (lower === c && lower !== lt)
2717
3657
  return false
2718
3658
  } else if (lt.operator === '<=' && !satisfies_1(lt.semver, String(c), options))
2719
3659
  return false
@@ -2809,21 +3749,21 @@
2809
3749
 
2810
3750
  function schemaParser(e){const[n,r]=/\/schema\/([\w-]+)\/([\w\.\-]+)\.json$/g.exec(e).slice(1,3);return {library:n,version:r}}
2811
3751
 
2812
- var name = "vega-themes";
2813
- var version$1 = "2.9.0";
2814
- var description = "Themes for stylized Vega and Vega-Lite visualizations.";
2815
- var keywords = [
3752
+ var name$1 = "vega-themes";
3753
+ var version$1 = "2.9.1";
3754
+ var description$1 = "Themes for stylized Vega and Vega-Lite visualizations.";
3755
+ var keywords$1 = [
2816
3756
  "vega",
2817
3757
  "vega-lite",
2818
3758
  "themes",
2819
3759
  "style"
2820
3760
  ];
2821
- var license = "BSD-3-Clause";
2822
- var author = {
3761
+ var license$1 = "BSD-3-Clause";
3762
+ var author$1 = {
2823
3763
  name: "UW Interactive Data Lab",
2824
3764
  url: "https://idl.cs.washington.edu"
2825
3765
  };
2826
- var contributors = [
3766
+ var contributors$1 = [
2827
3767
  {
2828
3768
  name: "Emily Gu",
2829
3769
  url: "https://github.com/emilygu"
@@ -2841,20 +3781,20 @@
2841
3781
  url: "https://www.domoritz.de"
2842
3782
  }
2843
3783
  ];
2844
- var main = "build/vega-themes.js";
2845
- var module = "build/vega-themes.module.js";
2846
- var unpkg = "build/vega-themes.min.js";
2847
- var jsdelivr = "build/vega-themes.min.js";
2848
- var types = "build/vega-themes.module.d.ts";
2849
- var repository = {
3784
+ var main$1 = "build/vega-themes.js";
3785
+ var module$1 = "build/vega-themes.module.js";
3786
+ var unpkg$1 = "build/vega-themes.min.js";
3787
+ var jsdelivr$1 = "build/vega-themes.min.js";
3788
+ var types$1 = "build/vega-themes.module.d.ts";
3789
+ var repository$1 = {
2850
3790
  type: "git",
2851
3791
  url: "https://github.com/vega/vega-themes.git"
2852
3792
  };
2853
- var files = [
3793
+ var files$1 = [
2854
3794
  "src",
2855
3795
  "build"
2856
3796
  ];
2857
- var scripts = {
3797
+ var scripts$1 = {
2858
3798
  prebuild: "yarn clean",
2859
3799
  build: "rollup -c",
2860
3800
  clean: "rimraf build && rimraf examples/build",
@@ -2870,26 +3810,26 @@
2870
3810
  format: "yarn eslintbase --fix",
2871
3811
  lint: "yarn eslintbase"
2872
3812
  };
2873
- var devDependencies = {
3813
+ var devDependencies$1 = {
2874
3814
  "@rollup/plugin-json": "^4.1.0",
2875
3815
  "@rollup/plugin-node-resolve": "^9.0.0",
2876
3816
  "@wessberg/rollup-plugin-ts": "^1.3.4",
2877
- "browser-sync": "^2.26.7",
2878
- concurrently: "^5.2.0",
3817
+ "browser-sync": "^2.26.12",
3818
+ concurrently: "^5.3.0",
2879
3819
  "gh-pages": "^3.1.0",
2880
- rollup: "^2.26.10",
3820
+ rollup: "^2.26.11",
2881
3821
  "rollup-plugin-bundle-size": "^1.0.3",
2882
3822
  "rollup-plugin-terser": "^7.0.2",
2883
3823
  typescript: "^4.0.2",
2884
3824
  vega: "^5.10.0",
2885
3825
  "vega-lite": "^4.8.1",
2886
- "vega-lite-dev-config": "^0.14.2"
3826
+ "vega-lite-dev-config": "^0.14.6"
2887
3827
  };
2888
- var peerDependencies = {
3828
+ var peerDependencies$1 = {
2889
3829
  vega: "*",
2890
3830
  "vega-lite": "*"
2891
3831
  };
2892
- var beemo = {
3832
+ var beemo$1 = {
2893
3833
  module: "vega-lite-dev-config",
2894
3834
  drivers: [
2895
3835
  "typescript",
@@ -2897,25 +3837,25 @@
2897
3837
  "eslint"
2898
3838
  ]
2899
3839
  };
2900
- var pkg = {
2901
- name: name,
3840
+ var pkg$1 = {
3841
+ name: name$1,
2902
3842
  version: version$1,
2903
- description: description,
2904
- keywords: keywords,
2905
- license: license,
2906
- author: author,
2907
- contributors: contributors,
2908
- main: main,
2909
- module: module,
2910
- unpkg: unpkg,
2911
- jsdelivr: jsdelivr,
2912
- types: types,
2913
- repository: repository,
2914
- files: files,
2915
- scripts: scripts,
2916
- devDependencies: devDependencies,
2917
- peerDependencies: peerDependencies,
2918
- beemo: beemo
3843
+ description: description$1,
3844
+ keywords: keywords$1,
3845
+ license: license$1,
3846
+ author: author$1,
3847
+ contributors: contributors$1,
3848
+ main: main$1,
3849
+ module: module$1,
3850
+ unpkg: unpkg$1,
3851
+ jsdelivr: jsdelivr$1,
3852
+ types: types$1,
3853
+ repository: repository$1,
3854
+ files: files$1,
3855
+ scripts: scripts$1,
3856
+ devDependencies: devDependencies$1,
3857
+ peerDependencies: peerDependencies$1,
3858
+ beemo: beemo$1
2919
3859
  };
2920
3860
 
2921
3861
  const lightColor = '#fff';
@@ -3484,7 +4424,7 @@
3484
4424
  },
3485
4425
  };
3486
4426
 
3487
- const version$1$1 = pkg.version;
4427
+ const version$1$1 = pkg$1.version;
3488
4428
 
3489
4429
  var themes = /*#__PURE__*/Object.freeze({
3490
4430
  __proto__: null,
@@ -3500,43 +4440,44 @@
3500
4440
  vox: voxTheme
3501
4441
  });
3502
4442
 
3503
- function accessor(fn, fields, name) {
4443
+ function accessor (fn, fields, name) {
3504
4444
  fn.fields = fields || [];
3505
4445
  fn.fname = name;
3506
4446
  return fn;
3507
4447
  }
3508
4448
 
3509
- function getter(path) {
4449
+ function getter (path) {
3510
4450
  return path.length === 1 ? get1(path[0]) : getN(path);
3511
4451
  }
3512
4452
 
3513
- const get1 = field => function(obj) {
4453
+ const get1 = field => function (obj) {
3514
4454
  return obj[field];
3515
4455
  };
3516
4456
 
3517
4457
  const getN = path => {
3518
4458
  const len = path.length;
3519
- return function(obj) {
4459
+ return function (obj) {
3520
4460
  for (let i = 0; i < len; ++i) {
3521
4461
  obj = obj[path[i]];
3522
4462
  }
4463
+
3523
4464
  return obj;
3524
4465
  };
3525
4466
  };
3526
4467
 
3527
- function error(message) {
4468
+ function error (message) {
3528
4469
  throw Error(message);
3529
4470
  }
3530
4471
 
3531
- function splitAccessPath(p) {
4472
+ function splitAccessPath (p) {
3532
4473
  const path = [],
3533
4474
  n = p.length;
3534
-
3535
4475
  let q = null,
3536
4476
  b = 0,
3537
4477
  s = '',
3538
- i, j, c;
3539
-
4478
+ i,
4479
+ j,
4480
+ c;
3540
4481
  p = p + '';
3541
4482
 
3542
4483
  function push() {
@@ -3545,8 +4486,9 @@
3545
4486
  i = j + 1;
3546
4487
  }
3547
4488
 
3548
- for (i=j=0; j<n; ++j) {
4489
+ for (i = j = 0; j < n; ++j) {
3549
4490
  c = p[j];
4491
+
3550
4492
  if (c === '\\') {
3551
4493
  s += p.substring(i, j);
3552
4494
  s += p.substring(++j, ++j);
@@ -3591,35 +4533,26 @@
3591
4533
  return path;
3592
4534
  }
3593
4535
 
3594
- function field(field, name, opt) {
4536
+ function field (field, name, opt) {
3595
4537
  const path = splitAccessPath(field);
3596
4538
  field = path.length === 1 ? path[0] : field;
3597
- return accessor(
3598
- (opt && opt.get || getter)(path),
3599
- [field],
3600
- name || field
3601
- );
4539
+ return accessor((opt && opt.get || getter)(path), [field], name || field);
3602
4540
  }
3603
4541
 
3604
- const id = field('id');
3605
-
3606
- const identity = accessor(_ => _, [], 'identity');
3607
-
3608
- const zero = accessor(() => 0, [], 'zero');
3609
-
3610
- const one = accessor(() => 1, [], 'one');
3611
-
3612
- const truthy = accessor(() => true, [], 'true');
3613
-
3614
- const falsy = accessor(() => false, [], 'false');
4542
+ field('id');
4543
+ accessor(_ => _, [], 'identity');
4544
+ accessor(() => 0, [], 'zero');
4545
+ accessor(() => 1, [], 'one');
4546
+ accessor(() => true, [], 'true');
4547
+ accessor(() => false, [], 'false');
3615
4548
 
3616
4549
  var isArray = Array.isArray;
3617
4550
 
3618
- function isObject(_) {
4551
+ function isObject (_) {
3619
4552
  return _ === Object(_);
3620
4553
  }
3621
4554
 
3622
- function isString(_) {
4555
+ function isString (_) {
3623
4556
  return typeof _ === 'string';
3624
4557
  }
3625
4558
 
@@ -3851,6 +4784,7 @@
3851
4784
  constructor(options) {
3852
4785
  this.options = Object.assign(Object.assign({}, DEFAULT_OPTIONS), options);
3853
4786
  const elementId = this.options.id;
4787
+ this.el = null;
3854
4788
  // bind this to call
3855
4789
  this.call = this.tooltipHandler.bind(this);
3856
4790
  // prepend a default stylesheet for tooltips to the head
@@ -3866,21 +4800,22 @@
3866
4800
  head.appendChild(style);
3867
4801
  }
3868
4802
  }
3869
- // append a div element that we use as a tooltip unless it already exists
3870
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
3871
- this.el = document.getElementById(elementId);
3872
- if (!this.el) {
3873
- this.el = document.createElement('div');
3874
- this.el.setAttribute('id', elementId);
3875
- this.el.classList.add('vg-tooltip');
3876
- document.body.appendChild(this.el);
3877
- }
3878
4803
  }
3879
4804
  /**
3880
4805
  * The tooltip handler function.
3881
4806
  */
3882
4807
  tooltipHandler(handler, event, item, value) {
3883
4808
  // console.log(handler, event, item, value);
4809
+ // append a div element that we use as a tooltip unless it already exists
4810
+ this.el = document.getElementById(this.options.id);
4811
+ if (!this.el) {
4812
+ this.el = document.createElement('div');
4813
+ this.el.setAttribute('id', this.options.id);
4814
+ this.el.classList.add('vg-tooltip');
4815
+ document.body.appendChild(this.el);
4816
+ }
4817
+ const tooltipContainer = document.fullscreenElement != null ? document.fullscreenElement : document.body;
4818
+ tooltipContainer.appendChild(this.el);
3884
4819
  // hide tooltip for null, undefined, or empty string values
3885
4820
  if (value == null || value === '') {
3886
4821
  this.el.classList.remove('visible', `${this.options.theme}-theme`);
@@ -3927,7 +4862,7 @@
3927
4862
  }
3928
4863
 
3929
4864
  // generated with build-style.sh
3930
- var embedStyle = ".vega-embed {\n position: relative;\n display: inline-block;\n box-sizing: border-box; }\n .vega-embed.has-actions {\n padding-right: 38px; }\n .vega-embed details:not([open]) > :not(summary) {\n display: none !important; }\n .vega-embed summary {\n list-style: none;\n position: absolute;\n top: 0;\n right: 0;\n padding: 6px;\n z-index: 1000;\n background: white;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);\n color: #1b1e23;\n border: 1px solid #aaa;\n border-radius: 999px;\n opacity: 0.2;\n transition: opacity 0.4s ease-in;\n outline: none;\n cursor: pointer;\n line-height: 0px; }\n .vega-embed summary::-webkit-details-marker {\n display: none; }\n .vega-embed summary:active {\n box-shadow: #aaa 0px 0px 0px 1px inset; }\n .vega-embed summary svg {\n width: 14px;\n height: 14px; }\n .vega-embed details[open] summary {\n opacity: 0.7; }\n .vega-embed:hover summary,\n .vega-embed:focus summary {\n opacity: 1 !important;\n transition: opacity 0.2s ease; }\n .vega-embed .vega-actions {\n position: absolute;\n z-index: 1001;\n top: 35px;\n right: -9px;\n display: flex;\n flex-direction: column;\n padding-bottom: 8px;\n padding-top: 8px;\n border-radius: 4px;\n box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);\n border: 1px solid #d9d9d9;\n background: white;\n animation-duration: 0.15s;\n animation-name: scale-in;\n animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);\n text-align: left; }\n .vega-embed .vega-actions a {\n padding: 8px 16px;\n font-family: sans-serif;\n font-size: 14px;\n font-weight: 600;\n white-space: nowrap;\n color: #434a56;\n text-decoration: none; }\n .vega-embed .vega-actions a:hover {\n background-color: #f7f7f9;\n color: black; }\n .vega-embed .vega-actions::before, .vega-embed .vega-actions::after {\n content: \"\";\n display: inline-block;\n position: absolute; }\n .vega-embed .vega-actions::before {\n left: auto;\n right: 14px;\n top: -16px;\n border: 8px solid #0000;\n border-bottom-color: #d9d9d9; }\n .vega-embed .vega-actions::after {\n left: auto;\n right: 15px;\n top: -14px;\n border: 7px solid #0000;\n border-bottom-color: #fff; }\n .vega-embed .chart-wrapper {\n width: 100%;\n height: 100%; }\n\n.vega-embed-wrapper {\n max-width: 100%;\n overflow: scroll;\n padding-right: 14px; }\n\n@keyframes scale-in {\n from {\n opacity: 0;\n transform: scale(0.6); }\n to {\n opacity: 1;\n transform: scale(1); } }\n";
4865
+ var embedStyle = ".vega-embed {\n position: relative;\n display: inline-block;\n box-sizing: border-box; }\n .vega-embed.has-actions {\n padding-right: 38px; }\n .vega-embed details:not([open]) > :not(summary) {\n display: none !important; }\n .vega-embed summary {\n list-style: none;\n position: absolute;\n top: 0;\n right: 0;\n padding: 6px;\n z-index: 1000;\n background: white;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);\n color: #1b1e23;\n border: 1px solid #aaa;\n border-radius: 999px;\n opacity: 0.2;\n transition: opacity 0.4s ease-in;\n outline: none;\n cursor: pointer;\n line-height: 0px; }\n .vega-embed summary::-webkit-details-marker {\n display: none; }\n .vega-embed summary:active {\n box-shadow: #aaa 0px 0px 0px 1px inset; }\n .vega-embed summary svg {\n width: 14px;\n height: 14px; }\n .vega-embed details[open] summary {\n opacity: 0.7; }\n .vega-embed:hover summary,\n .vega-embed:focus summary {\n opacity: 1 !important;\n transition: opacity 0.2s ease; }\n .vega-embed .vega-actions {\n position: absolute;\n z-index: 1001;\n top: 35px;\n right: -9px;\n display: flex;\n flex-direction: column;\n padding-bottom: 8px;\n padding-top: 8px;\n border-radius: 4px;\n box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);\n border: 1px solid #d9d9d9;\n background: white;\n animation-duration: 0.15s;\n animation-name: scale-in;\n animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);\n text-align: left; }\n .vega-embed .vega-actions a {\n padding: 8px 16px;\n font-family: sans-serif;\n font-size: 14px;\n font-weight: 600;\n white-space: nowrap;\n color: #434a56;\n text-decoration: none; }\n .vega-embed .vega-actions a:hover {\n background-color: #f7f7f9;\n color: black; }\n .vega-embed .vega-actions::before, .vega-embed .vega-actions::after {\n content: \"\";\n display: inline-block;\n position: absolute; }\n .vega-embed .vega-actions::before {\n left: auto;\n right: 14px;\n top: -16px;\n border: 8px solid #0000;\n border-bottom-color: #d9d9d9; }\n .vega-embed .vega-actions::after {\n left: auto;\n right: 15px;\n top: -14px;\n border: 7px solid #0000;\n border-bottom-color: #fff; }\n .vega-embed .chart-wrapper {\n width: 100%;\n height: 100%; }\n\n.vega-embed-wrapper {\n max-width: 100%;\n overflow: auto;\n padding-right: 14px; }\n\n@keyframes scale-in {\n from {\n opacity: 0;\n transform: scale(0.6); }\n to {\n opacity: 1;\n transform: scale(1); } }\n";
3931
4866
 
3932
4867
  // polyfill for IE
3933
4868
  if (!String.prototype.startsWith) {
@@ -4036,6 +4971,13 @@
4036
4971
  function isLoader(o) {
4037
4972
  return !!(o && 'load' in o);
4038
4973
  }
4974
+ function createLoader(opts) {
4975
+ return isLoader(opts) ? opts : vega.loader(opts);
4976
+ }
4977
+ function embedOptionsFromUsermeta(parsedSpec) {
4978
+ var _a;
4979
+ return (_a = (parsedSpec.usermeta && parsedSpec.usermeta['embedOptions'])) !== null && _a !== void 0 ? _a : {};
4980
+ }
4039
4981
  /**
4040
4982
  * Embed a Vega visualization component in a web page. This function returns a promise.
4041
4983
  *
@@ -4048,31 +4990,35 @@
4048
4990
  var _a, _b, _c;
4049
4991
  if (opts === void 0) { opts = {}; }
4050
4992
  return __awaiter(this, void 0, void 0, function () {
4051
- var loader, parsedSpec, _d, _e, _f, usermetaOpts, parsedOpts, mergedOpts;
4052
- return __generator(this, function (_g) {
4053
- switch (_g.label) {
4993
+ var parsedSpec, loader, _d, _e, usermetaLoader, usermetaOpts, parsedOpts, mergedOpts;
4994
+ return __generator(this, function (_f) {
4995
+ switch (_f.label) {
4054
4996
  case 0:
4055
- loader = isLoader(opts.loader) ? opts.loader : vega.loader(opts.loader);
4056
4997
  if (!vegaImport.isString(spec)) return [3 /*break*/, 2];
4057
- _f = (_e = JSON).parse;
4998
+ loader = createLoader(opts.loader);
4999
+ _e = (_d = JSON).parse;
4058
5000
  return [4 /*yield*/, loader.load(spec)];
4059
5001
  case 1:
4060
- _d = _f.apply(_e, [_g.sent()]);
5002
+ parsedSpec = _e.apply(_d, [_f.sent()]);
4061
5003
  return [3 /*break*/, 3];
4062
5004
  case 2:
4063
- _d = spec;
4064
- _g.label = 3;
5005
+ parsedSpec = spec;
5006
+ _f.label = 3;
4065
5007
  case 3:
4066
- parsedSpec = _d;
4067
- return [4 /*yield*/, loadOpts((_a = (parsedSpec.usermeta && parsedSpec.usermeta['embedOptions'])) !== null && _a !== void 0 ? _a : {}, loader)];
5008
+ usermetaLoader = embedOptionsFromUsermeta(parsedSpec).loader;
5009
+ // either create the loader for the first time or create a new loader if the spec has new loader options
5010
+ if (!loader || usermetaLoader) {
5011
+ loader = createLoader((_a = opts.loader) !== null && _a !== void 0 ? _a : usermetaLoader);
5012
+ }
5013
+ return [4 /*yield*/, loadOpts(embedOptionsFromUsermeta(parsedSpec), loader)];
4068
5014
  case 4:
4069
- usermetaOpts = _g.sent();
5015
+ usermetaOpts = _f.sent();
4070
5016
  return [4 /*yield*/, loadOpts(opts, loader)];
4071
5017
  case 5:
4072
- parsedOpts = _g.sent();
5018
+ parsedOpts = _f.sent();
4073
5019
  mergedOpts = __assign(__assign({}, mergeDeep(parsedOpts, usermetaOpts)), { config: vegaImport.mergeConfig((_b = parsedOpts.config) !== null && _b !== void 0 ? _b : {}, (_c = usermetaOpts.config) !== null && _c !== void 0 ? _c : {}) });
4074
5020
  return [4 /*yield*/, _embed(el, parsedSpec, mergedOpts, loader)];
4075
- case 6: return [2 /*return*/, _g.sent()];
5021
+ case 6: return [2 /*return*/, _f.sent()];
4076
5022
  }
4077
5023
  });
4078
5024
  });
@@ -4131,7 +5077,7 @@
4131
5077
  }
4132
5078
  view.finalize();
4133
5079
  }
4134
- var config, actions, i18n, renderer, logLevel, downloadFileName, div, ID, _g, root, rootContainer, style, mode, vgSpec, parsed, target, chartWrapper, patch, ast, runtime, view, handler, hover, _h, hoverSet, updateSet, documentClickHandler, wrapper, details_1, summary, ctrl, _loop_1, _i, _j, ext, viewSourceLink, compileLink, editorUrl_1, editorLink;
5080
+ var config, actions, i18n, renderer, logLevel, downloadFileName, element, ID, _g, root, rootContainer, style, mode, vgSpec, parsed, container, chartWrapper, patch, ast, runtime, view, handler, hover, _h, hoverSet, updateSet, documentClickHandler, wrapper, details_1, summary, ctrl, _loop_1, _i, _j, ext, viewSourceLink, compileLink, editorUrl_1, editorLink;
4135
5081
  return __generator(this, function (_k) {
4136
5082
  switch (_k.label) {
4137
5083
  case 0:
@@ -4141,13 +5087,13 @@
4141
5087
  renderer = (_c = opts.renderer) !== null && _c !== void 0 ? _c : 'canvas';
4142
5088
  logLevel = (_d = opts.logLevel) !== null && _d !== void 0 ? _d : vega.Warn;
4143
5089
  downloadFileName = (_e = opts.downloadFileName) !== null && _e !== void 0 ? _e : 'visualization';
4144
- div = typeof el === 'string' ? document.querySelector(el) : el;
4145
- if (!div) {
5090
+ element = typeof el === 'string' ? document.querySelector(el) : el;
5091
+ if (!element) {
4146
5092
  throw new Error(el + " does not exist");
4147
5093
  }
4148
5094
  if (opts.defaultStyle !== false) {
4149
5095
  ID = 'vega-embed-style';
4150
- _g = getRoot(div), root = _g.root, rootContainer = _g.rootContainer;
5096
+ _g = getRoot(element), root = _g.root, rootContainer = _g.rootContainer;
4151
5097
  if (!root.getElementById(ID)) {
4152
5098
  style = document.createElement('style');
4153
5099
  style.id = ID;
@@ -4168,17 +5114,17 @@
4168
5114
  }
4169
5115
  }
4170
5116
  }
4171
- div.classList.add('vega-embed');
5117
+ element.classList.add('vega-embed');
4172
5118
  if (actions) {
4173
- div.classList.add('has-actions');
5119
+ element.classList.add('has-actions');
4174
5120
  }
4175
- div.innerHTML = ''; // clear container
4176
- target = div;
5121
+ element.innerHTML = ''; // clear container
5122
+ container = element;
4177
5123
  if (actions) {
4178
5124
  chartWrapper = document.createElement('div');
4179
5125
  chartWrapper.classList.add(CHART_WRAPPER_CLASS);
4180
- div.appendChild(chartWrapper);
4181
- target = chartWrapper;
5126
+ element.appendChild(chartWrapper);
5127
+ container = chartWrapper;
4182
5128
  }
4183
5129
  patch = opts.patch;
4184
5130
  if (patch) {
@@ -4231,15 +5177,15 @@
4231
5177
  view.padding(opts.padding);
4232
5178
  }
4233
5179
  }
4234
- return [4 /*yield*/, view.initialize(target).runAsync()];
5180
+ return [4 /*yield*/, view.initialize(container, opts.bind).runAsync()];
4235
5181
  case 1:
4236
5182
  _k.sent();
4237
5183
  if (actions !== false) {
4238
- wrapper = div;
5184
+ wrapper = element;
4239
5185
  if (opts.defaultStyle !== false) {
4240
5186
  details_1 = document.createElement('details');
4241
5187
  details_1.title = i18n.CLICK_TO_VIEW_ACTIONS;
4242
- div.append(details_1);
5188
+ element.append(details_1);
4243
5189
  wrapper = details_1;
4244
5190
  summary = document.createElement('summary');
4245
5191
  summary.innerHTML = SVG_CIRCLES;
@@ -4390,7 +5336,7 @@
4390
5336
  wrapper.embed = embed;
4391
5337
  wrapper.vega = vega;
4392
5338
  wrapper["default"] = embed;
4393
- wrapper.version = version;
5339
+ wrapper.version = pkg.version;
4394
5340
 
4395
5341
  return wrapper;
4396
5342