@next-bricks/data-view 1.9.1 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +6 -2
- package/dist/chunks/{1491.19fdfb95.js → 1491.345114bf.js} +3 -3
- package/dist/chunks/1491.345114bf.js.map +1 -0
- package/dist/chunks/2785.3bc16dc7.js +1 -0
- package/dist/chunks/{4837.1794b642.js → 4837.26a827bd.js} +2 -2
- package/dist/chunks/{4837.1794b642.js.map → 4837.26a827bd.js.map} +1 -1
- package/dist/chunks/5235.ad56bd82.js +2 -0
- package/dist/chunks/5235.ad56bd82.js.map +1 -0
- package/dist/chunks/{7218.258c9866.js → 7218.446f491e.js} +2 -2
- package/dist/chunks/{7218.258c9866.js.map → 7218.446f491e.js.map} +1 -1
- package/dist/chunks/8763.298c81f7.js +1 -0
- package/dist/chunks/8826.2d0820ed.js +2 -0
- package/dist/chunks/8826.2d0820ed.js.map +1 -0
- package/dist/chunks/china-map-chart.52890013.js +2 -0
- package/dist/chunks/china-map-chart.52890013.js.map +1 -0
- package/dist/chunks/china-map.c8780d37.js +2 -0
- package/dist/chunks/china-map.c8780d37.js.map +1 -0
- package/dist/chunks/{complex-search.8ce479ba.js → complex-search.edc01a8a.js} +2 -2
- package/dist/chunks/{complex-search.8ce479ba.js.map → complex-search.edc01a8a.js.map} +1 -1
- package/dist/chunks/main.e8031b63.js +2 -0
- package/dist/chunks/main.e8031b63.js.map +1 -0
- package/dist/chunks/{modern-style-treemap.4b2c0feb.js → modern-style-treemap.eb1d71e0.js} +3 -3
- package/dist/chunks/{modern-style-treemap.4b2c0feb.js.map → modern-style-treemap.eb1d71e0.js.map} +1 -1
- package/dist/examples.json +3 -0
- package/dist/index.38a026f6.js +2 -0
- package/dist/index.38a026f6.js.map +1 -0
- package/dist/manifest.json +44 -1
- package/dist/types.json +102 -1
- package/dist-types/bootstrap.d.ts +1 -0
- package/dist-types/china-map/index.d.ts +37 -0
- package/dist-types/china-map/index.spec.d.ts +1 -0
- package/docs/china-map.md +58 -0
- package/package.json +3 -3
- package/dist/chunks/1491.19fdfb95.js.map +0 -1
- package/dist/chunks/32.b45f5151.js +0 -2
- package/dist/chunks/32.b45f5151.js.map +0 -1
- package/dist/chunks/china-map-chart.331f7837.js +0 -2
- package/dist/chunks/china-map-chart.331f7837.js.map +0 -1
- package/dist/chunks/main.e9cbbef8.js +0 -2
- package/dist/chunks/main.e9cbbef8.js.map +0 -1
- package/dist/index.d23f893b.js +0 -2
- package/dist/index.d23f893b.js.map +0 -1
- /package/dist/chunks/{1491.19fdfb95.js.LICENSE.txt → 1491.345114bf.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{modern-style-treemap.4b2c0feb.js.LICENSE.txt → modern-style-treemap.eb1d71e0.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/5235.ad56bd82.js","mappings":"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","sources":["webpack:///../../node_modules/d3-array/src/fsum.js","webpack:///../../node_modules/d3-geo/src/identity.js","webpack:///../../node_modules/d3-geo/src/math.js","webpack:///../../node_modules/d3-geo/src/noop.js","webpack:///../../node_modules/d3-geo/src/path/bounds.js","webpack:///../../node_modules/d3-geo/src/path/area.js","webpack:///../../node_modules/d3-geo/src/path/centroid.js","webpack:///../../node_modules/d3-geo/src/path/context.js","webpack:///../../node_modules/d3-geo/src/path/measure.js","webpack:///../../node_modules/d3-geo/src/path/string.js","webpack:///../../node_modules/d3-geo/src/path/index.js","webpack:///../../node_modules/d3-geo/src/compose.js","webpack:///../../node_modules/d3-geo/src/rotation.js","webpack:///../../node_modules/d3-geo/src/clip/buffer.js","webpack:///../../node_modules/d3-geo/src/pointEqual.js","webpack:///../../node_modules/d3-geo/src/clip/rejoin.js","webpack:///../../node_modules/d3-geo/src/cartesian.js","webpack:///../../node_modules/d3-geo/src/polygonContains.js","webpack:///../../node_modules/d3-array/src/merge.js","webpack:///../../node_modules/d3-geo/src/clip/index.js","webpack:///../../node_modules/d3-geo/src/clip/antimeridian.js","webpack:///../../node_modules/d3-geo/src/circle.js","webpack:///../../node_modules/d3-geo/src/clip/rectangle.js","webpack:///../../node_modules/d3-geo/src/transform.js","webpack:///../../node_modules/d3-geo/src/projection/fit.js","webpack:///../../node_modules/d3-geo/src/projection/resample.js","webpack:///../../node_modules/d3-geo/src/projection/index.js","webpack:///../../node_modules/d3-geo/src/clip/circle.js","webpack:///../../node_modules/d3-geo/src/clip/line.js","webpack:///../../node_modules/d3-geo/src/projection/mercator.js","webpack:///../../node_modules/d3-geo/src/stream.js"],"sourcesContent":["// https://github.com/python/cpython/blob/a74eea238f5baba15797e2e8b570d153bc8690a7/Modules/mathmodule.c#L1423\nexport class Adder {\n constructor() {\n this._partials = new Float64Array(32);\n this._n = 0;\n }\n add(x) {\n const p = this._partials;\n let i = 0;\n for (let j = 0; j < this._n && j < 32; j++) {\n const y = p[j],\n hi = x + y,\n lo = Math.abs(x) < Math.abs(y) ? x - (hi - y) : y - (hi - x);\n if (lo) p[i++] = lo;\n x = hi;\n }\n p[i] = x;\n this._n = i + 1;\n return this;\n }\n valueOf() {\n const p = this._partials;\n let n = this._n, x, y, lo, hi = 0;\n if (n > 0) {\n hi = p[--n];\n while (n > 0) {\n x = hi;\n y = p[--n];\n hi = x + y;\n lo = y - (hi - x);\n if (lo) break;\n }\n if (n > 0 && ((lo < 0 && p[n - 1] < 0) || (lo > 0 && p[n - 1] > 0))) {\n y = lo * 2;\n x = hi + y;\n if (y == x - hi) hi = x;\n }\n }\n return hi;\n }\n}\n\nexport function fsum(values, valueof) {\n const adder = new Adder();\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n adder.add(value);\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n adder.add(value);\n }\n }\n }\n return +adder;\n}\n\nexport function fcumsum(values, valueof) {\n const adder = new Adder();\n let index = -1;\n return Float64Array.from(values, valueof === undefined\n ? v => adder.add(+v || 0)\n : v => adder.add(+valueof(v, ++index, values) || 0)\n );\n}\n","export default x => x;\n","export var epsilon = 1e-6;\nexport var epsilon2 = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var quarterPi = pi / 4;\nexport var tau = pi * 2;\n\nexport var degrees = 180 / pi;\nexport var radians = pi / 180;\n\nexport var abs = Math.abs;\nexport var atan = Math.atan;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var ceil = Math.ceil;\nexport var exp = Math.exp;\nexport var floor = Math.floor;\nexport var hypot = Math.hypot;\nexport var log = Math.log;\nexport var pow = Math.pow;\nexport var sin = Math.sin;\nexport var sign = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; };\nexport var sqrt = Math.sqrt;\nexport var tan = Math.tan;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);\n}\n\nexport function haversin(x) {\n return (x = sin(x / 2)) * x;\n}\n","export default function noop() {}\n","import noop from \"../noop.js\";\n\nvar x0 = Infinity,\n y0 = x0,\n x1 = -x0,\n y1 = x1;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop,\n result: function() {\n var bounds = [[x0, y0], [x1, y1]];\n x1 = y1 = -(y0 = x0 = Infinity);\n return bounds;\n }\n};\n\nfunction boundsPoint(x, y) {\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n}\n\nexport default boundsStream;\n","import {Adder} from \"d3-array\";\nimport {abs} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nvar areaSum = new Adder(),\n areaRingSum = new Adder(),\n x00,\n y00,\n x0,\n y0;\n\nvar areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function() {\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n areaStream.lineStart = areaStream.lineEnd = areaStream.point = noop;\n areaSum.add(abs(areaRingSum));\n areaRingSum = new Adder();\n },\n result: function() {\n var area = areaSum / 2;\n areaSum = new Adder();\n return area;\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaPointFirst(x, y) {\n areaStream.point = areaPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction areaPoint(x, y) {\n areaRingSum.add(y0 * x - x0 * y);\n x0 = x, y0 = y;\n}\n\nfunction areaRingEnd() {\n areaPoint(x00, y00);\n}\n\nexport default areaStream;\n","import {sqrt} from \"../math.js\";\n\n// TODO Enforce positive area for exterior, negative area for interior?\n\nvar X0 = 0,\n Y0 = 0,\n Z0 = 0,\n X1 = 0,\n Y1 = 0,\n Z1 = 0,\n X2 = 0,\n Y2 = 0,\n Z2 = 0,\n x00,\n y00,\n x0,\n y0;\n\nvar centroidStream = {\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.point = centroidPoint;\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n },\n result: function() {\n var centroid = Z2 ? [X2 / Z2, Y2 / Z2]\n : Z1 ? [X1 / Z1, Y1 / Z1]\n : Z0 ? [X0 / Z0, Y0 / Z0]\n : [NaN, NaN];\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n return centroid;\n }\n};\n\nfunction centroidPoint(x, y) {\n X0 += x;\n Y0 += y;\n ++Z0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidPointFirstLine;\n}\n\nfunction centroidPointFirstLine(x, y) {\n centroidStream.point = centroidPointLine;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidPointLine(x, y) {\n var dx = x - x0, dy = y - y0, z = sqrt(dx * dx + dy * dy);\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingStart() {\n centroidStream.point = centroidPointFirstRing;\n}\n\nfunction centroidRingEnd() {\n centroidPointRing(x00, y00);\n}\n\nfunction centroidPointFirstRing(x, y) {\n centroidStream.point = centroidPointRing;\n centroidPoint(x00 = x0 = x, y00 = y0 = y);\n}\n\nfunction centroidPointRing(x, y) {\n var dx = x - x0,\n dy = y - y0,\n z = sqrt(dx * dx + dy * dy);\n\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n\n z = y0 * x - x0 * y;\n X2 += z * (x0 + x);\n Y2 += z * (y0 + y);\n Z2 += z * 3;\n centroidPoint(x0 = x, y0 = y);\n}\n\nexport default centroidStream;\n","import {tau} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nexport default function PathContext(context) {\n this._context = context;\n}\n\nPathContext.prototype = {\n _radius: 4.5,\n pointRadius: function(_) {\n return this._radius = _, this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._context.closePath();\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._context.moveTo(x, y);\n this._point = 1;\n break;\n }\n case 1: {\n this._context.lineTo(x, y);\n break;\n }\n default: {\n this._context.moveTo(x + this._radius, y);\n this._context.arc(x, y, this._radius, 0, tau);\n break;\n }\n }\n },\n result: noop\n};\n","import {Adder} from \"d3-array\";\nimport {sqrt} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nvar lengthSum = new Adder(),\n lengthRing,\n x00,\n y00,\n x0,\n y0;\n\nvar lengthStream = {\n point: noop,\n lineStart: function() {\n lengthStream.point = lengthPointFirst;\n },\n lineEnd: function() {\n if (lengthRing) lengthPoint(x00, y00);\n lengthStream.point = noop;\n },\n polygonStart: function() {\n lengthRing = true;\n },\n polygonEnd: function() {\n lengthRing = null;\n },\n result: function() {\n var length = +lengthSum;\n lengthSum = new Adder();\n return length;\n }\n};\n\nfunction lengthPointFirst(x, y) {\n lengthStream.point = lengthPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction lengthPoint(x, y) {\n x0 -= x, y0 -= y;\n lengthSum.add(sqrt(x0 * x0 + y0 * y0));\n x0 = x, y0 = y;\n}\n\nexport default lengthStream;\n","// Simple caching for constant-radius points.\nlet cacheDigits, cacheAppend, cacheRadius, cacheCircle;\n\nexport default class PathString {\n constructor(digits) {\n this._append = digits == null ? append : appendRound(digits);\n this._radius = 4.5;\n this._ = \"\";\n }\n pointRadius(_) {\n this._radius = +_;\n return this;\n }\n polygonStart() {\n this._line = 0;\n }\n polygonEnd() {\n this._line = NaN;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {\n if (this._line === 0) this._ += \"Z\";\n this._point = NaN;\n }\n point(x, y) {\n switch (this._point) {\n case 0: {\n this._append`M${x},${y}`;\n this._point = 1;\n break;\n }\n case 1: {\n this._append`L${x},${y}`;\n break;\n }\n default: {\n this._append`M${x},${y}`;\n if (this._radius !== cacheRadius || this._append !== cacheAppend) {\n const r = this._radius;\n const s = this._;\n this._ = \"\"; // stash the old string so we can cache the circle path fragment\n this._append`m0,${r}a${r},${r} 0 1,1 0,${-2 * r}a${r},${r} 0 1,1 0,${2 * r}z`;\n cacheRadius = r;\n cacheAppend = this._append;\n cacheCircle = this._;\n this._ = s;\n }\n this._ += cacheCircle;\n break;\n }\n }\n }\n result() {\n const result = this._;\n this._ = \"\";\n return result.length ? result : null;\n }\n}\n\nfunction append(strings) {\n let i = 1;\n this._ += strings[0];\n for (const j = strings.length; i < j; ++i) {\n this._ += arguments[i] + strings[i];\n }\n}\n\nfunction appendRound(digits) {\n const d = Math.floor(digits);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${digits}`);\n if (d > 15) return append;\n if (d !== cacheDigits) {\n const k = 10 ** d;\n cacheDigits = d;\n cacheAppend = function append(strings) {\n let i = 1;\n this._ += strings[0];\n for (const j = strings.length; i < j; ++i) {\n this._ += Math.round(arguments[i] * k) / k + strings[i];\n }\n };\n }\n return cacheAppend;\n}\n","import identity from \"../identity.js\";\nimport stream from \"../stream.js\";\nimport pathArea from \"./area.js\";\nimport pathBounds from \"./bounds.js\";\nimport pathCentroid from \"./centroid.js\";\nimport PathContext from \"./context.js\";\nimport pathMeasure from \"./measure.js\";\nimport PathString from \"./string.js\";\n\nexport default function(projection, context) {\n let digits = 3,\n pointRadius = 4.5,\n projectionStream,\n contextStream;\n\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n stream(object, projectionStream(contextStream));\n }\n return contextStream.result();\n }\n\n path.area = function(object) {\n stream(object, projectionStream(pathArea));\n return pathArea.result();\n };\n\n path.measure = function(object) {\n stream(object, projectionStream(pathMeasure));\n return pathMeasure.result();\n };\n\n path.bounds = function(object) {\n stream(object, projectionStream(pathBounds));\n return pathBounds.result();\n };\n\n path.centroid = function(object) {\n stream(object, projectionStream(pathCentroid));\n return pathCentroid.result();\n };\n\n path.projection = function(_) {\n if (!arguments.length) return projection;\n projectionStream = _ == null ? (projection = null, identity) : (projection = _).stream;\n return path;\n };\n\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = _ == null ? (context = null, new PathString(digits)) : new PathContext(context = _);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return path;\n };\n\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n\n path.digits = function(_) {\n if (!arguments.length) return digits;\n if (_ == null) digits = null;\n else {\n const d = Math.floor(_);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${_}`);\n digits = d;\n }\n if (context === null) contextStream = new PathString(digits);\n return path;\n };\n\n return path.projection(projection).digits(digits).context(context);\n}\n","export default function(a, b) {\n\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n\n return compose;\n}\n","import compose from \"./compose.js\";\nimport {abs, asin, atan2, cos, degrees, pi, radians, sin, tau} from \"./math.js\";\n\nfunction rotationIdentity(lambda, phi) {\n if (abs(lambda) > pi) lambda -= Math.round(lambda / tau) * tau;\n return [lambda, phi];\n}\n\nrotationIdentity.invert = rotationIdentity;\n\nexport function rotateRadians(deltaLambda, deltaPhi, deltaGamma) {\n return (deltaLambda %= tau) ? (deltaPhi || deltaGamma ? compose(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma))\n : rotationLambda(deltaLambda))\n : (deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma)\n : rotationIdentity);\n}\n\nfunction forwardRotationLambda(deltaLambda) {\n return function(lambda, phi) {\n lambda += deltaLambda;\n if (abs(lambda) > pi) lambda -= Math.round(lambda / tau) * tau;\n return [lambda, phi];\n };\n}\n\nfunction rotationLambda(deltaLambda) {\n var rotation = forwardRotationLambda(deltaLambda);\n rotation.invert = forwardRotationLambda(-deltaLambda);\n return rotation;\n}\n\nfunction rotationPhiGamma(deltaPhi, deltaGamma) {\n var cosDeltaPhi = cos(deltaPhi),\n sinDeltaPhi = sin(deltaPhi),\n cosDeltaGamma = cos(deltaGamma),\n sinDeltaGamma = sin(deltaGamma);\n\n function rotation(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaPhi + x * sinDeltaPhi;\n return [\n atan2(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi),\n asin(k * cosDeltaGamma + y * sinDeltaGamma)\n ];\n }\n\n rotation.invert = function(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaGamma - y * sinDeltaGamma;\n return [\n atan2(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi),\n asin(k * cosDeltaPhi - x * sinDeltaPhi)\n ];\n };\n\n return rotation;\n}\n\nexport default function(rotate) {\n rotate = rotateRadians(rotate[0] * radians, rotate[1] * radians, rotate.length > 2 ? rotate[2] * radians : 0);\n\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n }\n\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n };\n\n return forward;\n}\n","import noop from \"../noop.js\";\n\nexport default function() {\n var lines = [],\n line;\n return {\n point: function(x, y, m) {\n line.push([x, y, m]);\n },\n lineStart: function() {\n lines.push(line = []);\n },\n lineEnd: noop,\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n },\n result: function() {\n var result = lines;\n lines = [];\n line = null;\n return result;\n }\n };\n}\n","import {abs, epsilon} from \"./math.js\";\n\nexport default function(a, b) {\n return abs(a[0] - b[0]) < epsilon && abs(a[1] - b[1]) < epsilon;\n}\n","import pointEqual from \"../pointEqual.js\";\nimport {epsilon} from \"../math.js\";\n\nfunction Intersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other; // another intersection\n this.e = entry; // is an entry?\n this.v = false; // visited\n this.n = this.p = null; // next & previous\n}\n\n// A generalized polygon clipping algorithm: given a polygon that has been cut\n// into its visible line segments, and rejoins the segments by interpolating\n// along the clip edge.\nexport default function(segments, compareIntersection, startInside, interpolate, stream) {\n var subject = [],\n clip = [],\n i,\n n;\n\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n], x;\n\n if (pointEqual(p0, p1)) {\n if (!p0[2] && !p1[2]) {\n stream.lineStart();\n for (i = 0; i < n; ++i) stream.point((p0 = segment[i])[0], p0[1]);\n stream.lineEnd();\n return;\n }\n // handle degenerate cases by moving the point\n p1[0] += 2 * epsilon;\n }\n\n subject.push(x = new Intersection(p0, segment, null, true));\n clip.push(x.o = new Intersection(p0, null, x, false));\n subject.push(x = new Intersection(p1, segment, null, false));\n clip.push(x.o = new Intersection(p1, null, x, true));\n });\n\n if (!subject.length) return;\n\n clip.sort(compareIntersection);\n link(subject);\n link(clip);\n\n for (i = 0, n = clip.length; i < n; ++i) {\n clip[i].e = startInside = !startInside;\n }\n\n var start = subject[0],\n points,\n point;\n\n while (1) {\n // Find first unvisited intersection.\n var current = start,\n isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n stream.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (i = 0, n = points.length; i < n; ++i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, stream);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (i = points.length - 1; i >= 0; --i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, stream);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n stream.lineEnd();\n }\n}\n\nfunction link(array) {\n if (!(n = array.length)) return;\n var n,\n i = 0,\n a = array[0],\n b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n}\n","import {asin, atan2, cos, sin, sqrt} from \"./math.js\";\n\nexport function spherical(cartesian) {\n return [atan2(cartesian[1], cartesian[0]), asin(cartesian[2])];\n}\n\nexport function cartesian(spherical) {\n var lambda = spherical[0], phi = spherical[1], cosPhi = cos(phi);\n return [cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi)];\n}\n\nexport function cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n\nexport function cartesianCross(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n}\n\n// TODO return a\nexport function cartesianAddInPlace(a, b) {\n a[0] += b[0], a[1] += b[1], a[2] += b[2];\n}\n\nexport function cartesianScale(vector, k) {\n return [vector[0] * k, vector[1] * k, vector[2] * k];\n}\n\n// TODO return d\nexport function cartesianNormalizeInPlace(d) {\n var l = sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l, d[1] /= l, d[2] /= l;\n}\n","import {Adder} from \"d3-array\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace} from \"./cartesian.js\";\nimport {abs, asin, atan2, cos, epsilon, epsilon2, halfPi, pi, quarterPi, sign, sin, tau} from \"./math.js\";\n\nfunction longitude(point) {\n return abs(point[0]) <= pi ? point[0] : sign(point[0]) * ((abs(point[0]) + pi) % tau - pi);\n}\n\nexport default function(polygon, point) {\n var lambda = longitude(point),\n phi = point[1],\n sinPhi = sin(phi),\n normal = [sin(lambda), -cos(lambda), 0],\n angle = 0,\n winding = 0;\n\n var sum = new Adder();\n\n if (sinPhi === 1) phi = halfPi + epsilon;\n else if (sinPhi === -1) phi = -halfPi - epsilon;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n if (!(m = (ring = polygon[i]).length)) continue;\n var ring,\n m,\n point0 = ring[m - 1],\n lambda0 = longitude(point0),\n phi0 = point0[1] / 2 + quarterPi,\n sinPhi0 = sin(phi0),\n cosPhi0 = cos(phi0);\n\n for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {\n var point1 = ring[j],\n lambda1 = longitude(point1),\n phi1 = point1[1] / 2 + quarterPi,\n sinPhi1 = sin(phi1),\n cosPhi1 = cos(phi1),\n delta = lambda1 - lambda0,\n sign = delta >= 0 ? 1 : -1,\n absDelta = sign * delta,\n antimeridian = absDelta > pi,\n k = sinPhi0 * sinPhi1;\n\n sum.add(atan2(k * sign * sin(absDelta), cosPhi0 * cosPhi1 + k * cos(absDelta)));\n angle += antimeridian ? delta + sign * tau : delta;\n\n // Are the longitudes either side of the point’s meridian (lambda),\n // and are the latitudes smaller than the parallel (phi)?\n if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) {\n var arc = cartesianCross(cartesian(point0), cartesian(point1));\n cartesianNormalizeInPlace(arc);\n var intersection = cartesianCross(normal, arc);\n cartesianNormalizeInPlace(intersection);\n var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * asin(intersection[2]);\n if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) {\n winding += antimeridian ^ delta >= 0 ? 1 : -1;\n }\n }\n }\n }\n\n // First, determine whether the South pole is inside or outside:\n //\n // It is inside if:\n // * the polygon winds around it in a clockwise direction.\n // * the polygon does not (cumulatively) wind around it, but has a negative\n // (counter-clockwise) area.\n //\n // Second, count the (signed) number of times a segment crosses a lambda\n // from the point to the South pole. If it is zero, then the point is the\n // same side as the South pole.\n\n return (angle < -epsilon || angle < epsilon && sum < -epsilon2) ^ (winding & 1);\n}\n","function* flatten(arrays) {\n for (const array of arrays) {\n yield* array;\n }\n}\n\nexport default function merge(arrays) {\n return Array.from(flatten(arrays));\n}\n","import clipBuffer from \"./buffer.js\";\nimport clipRejoin from \"./rejoin.js\";\nimport {epsilon, halfPi} from \"../math.js\";\nimport polygonContains from \"../polygonContains.js\";\nimport {merge} from \"d3-array\";\n\nexport default function(pointVisible, clipLine, interpolate, start) {\n return function(sink) {\n var line = clipLine(sink),\n ringBuffer = clipBuffer(),\n ringSink = clipLine(ringBuffer),\n polygonStarted = false,\n polygon,\n segments,\n ring;\n\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = merge(segments);\n var startInside = polygonContains(polygon, start);\n if (segments.length) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n clipRejoin(segments, compareIntersection, startInside, interpolate, sink);\n } else if (startInside) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n }\n if (polygonStarted) sink.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n sink.polygonStart();\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n sink.polygonEnd();\n }\n };\n\n function point(lambda, phi) {\n if (pointVisible(lambda, phi)) sink.point(lambda, phi);\n }\n\n function pointLine(lambda, phi) {\n line.point(lambda, phi);\n }\n\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n\n function pointRing(lambda, phi) {\n ring.push([lambda, phi]);\n ringSink.point(lambda, phi);\n }\n\n function ringStart() {\n ringSink.lineStart();\n ring = [];\n }\n\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringSink.lineEnd();\n\n var clean = ringSink.clean(),\n ringSegments = ringBuffer.result(),\n i, n = ringSegments.length, m,\n segment,\n point;\n\n ring.pop();\n polygon.push(ring);\n ring = null;\n\n if (!n) return;\n\n // No intersections.\n if (clean & 1) {\n segment = ringSegments[0];\n if ((m = segment.length - 1) > 0) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n for (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]);\n sink.lineEnd();\n }\n return;\n }\n\n // Rejoin connected segments.\n // TODO reuse ringBuffer.rejoin()?\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n\n segments.push(ringSegments.filter(validSegment));\n }\n\n return clip;\n };\n}\n\nfunction validSegment(segment) {\n return segment.length > 1;\n}\n\n// Intersections are sorted along the clip edge. For both antimeridian cutting\n// and circle clipping, the same comparison is used.\nfunction compareIntersection(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - halfPi - epsilon : halfPi - a[1])\n - ((b = b.x)[0] < 0 ? b[1] - halfPi - epsilon : halfPi - b[1]);\n}\n","import clip from \"./index.js\";\nimport {abs, atan, cos, epsilon, halfPi, pi, sin} from \"../math.js\";\n\nexport default clip(\n function() { return true; },\n clipAntimeridianLine,\n clipAntimeridianInterpolate,\n [-pi, -halfPi]\n);\n\n// Takes a line and cuts into visible segments. Return values: 0 - there were\n// intersections or the line was empty; 1 - no intersections; 2 - there were\n// intersections, and the first and last segments should be rejoined.\nfunction clipAntimeridianLine(stream) {\n var lambda0 = NaN,\n phi0 = NaN,\n sign0 = NaN,\n clean; // no intersections\n\n return {\n lineStart: function() {\n stream.lineStart();\n clean = 1;\n },\n point: function(lambda1, phi1) {\n var sign1 = lambda1 > 0 ? pi : -pi,\n delta = abs(lambda1 - lambda0);\n if (abs(delta - pi) < epsilon) { // line crosses a pole\n stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? halfPi : -halfPi);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n stream.point(lambda1, phi0);\n clean = 0;\n } else if (sign0 !== sign1 && delta >= pi) { // line crosses antimeridian\n if (abs(lambda0 - sign0) < epsilon) lambda0 -= sign0 * epsilon; // handle degeneracies\n if (abs(lambda1 - sign1) < epsilon) lambda1 -= sign1 * epsilon;\n phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n clean = 0;\n }\n stream.point(lambda0 = lambda1, phi0 = phi1);\n sign0 = sign1;\n },\n lineEnd: function() {\n stream.lineEnd();\n lambda0 = phi0 = NaN;\n },\n clean: function() {\n return 2 - clean; // if intersections, rejoin first and last segments\n }\n };\n}\n\nfunction clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) {\n var cosPhi0,\n cosPhi1,\n sinLambda0Lambda1 = sin(lambda0 - lambda1);\n return abs(sinLambda0Lambda1) > epsilon\n ? atan((sin(phi0) * (cosPhi1 = cos(phi1)) * sin(lambda1)\n - sin(phi1) * (cosPhi0 = cos(phi0)) * sin(lambda0))\n / (cosPhi0 * cosPhi1 * sinLambda0Lambda1))\n : (phi0 + phi1) / 2;\n}\n\nfunction clipAntimeridianInterpolate(from, to, direction, stream) {\n var phi;\n if (from == null) {\n phi = direction * halfPi;\n stream.point(-pi, phi);\n stream.point(0, phi);\n stream.point(pi, phi);\n stream.point(pi, 0);\n stream.point(pi, -phi);\n stream.point(0, -phi);\n stream.point(-pi, -phi);\n stream.point(-pi, 0);\n stream.point(-pi, phi);\n } else if (abs(from[0] - to[0]) > epsilon) {\n var lambda = from[0] < to[0] ? pi : -pi;\n phi = direction * lambda / 2;\n stream.point(-lambda, phi);\n stream.point(0, phi);\n stream.point(lambda, phi);\n } else {\n stream.point(to[0], to[1]);\n }\n}\n","import {cartesian, cartesianNormalizeInPlace, spherical} from \"./cartesian.js\";\nimport constant from \"./constant.js\";\nimport {acos, cos, degrees, epsilon, radians, sin, tau} from \"./math.js\";\nimport {rotateRadians} from \"./rotation.js\";\n\n// Generates a circle centered at [0°, 0°], with a given radius and precision.\nexport function circleStream(stream, radius, delta, direction, t0, t1) {\n if (!delta) return;\n var cosRadius = cos(radius),\n sinRadius = sin(radius),\n step = direction * delta;\n if (t0 == null) {\n t0 = radius + direction * tau;\n t1 = radius - step / 2;\n } else {\n t0 = circleRadius(cosRadius, t0);\n t1 = circleRadius(cosRadius, t1);\n if (direction > 0 ? t0 < t1 : t0 > t1) t0 += direction * tau;\n }\n for (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) {\n point = spherical([cosRadius, -sinRadius * cos(t), -sinRadius * sin(t)]);\n stream.point(point[0], point[1]);\n }\n}\n\n// Returns the signed angle of a cartesian point relative to [cosRadius, 0, 0].\nfunction circleRadius(cosRadius, point) {\n point = cartesian(point), point[0] -= cosRadius;\n cartesianNormalizeInPlace(point);\n var radius = acos(-point[1]);\n return ((-point[2] < 0 ? -radius : radius) + tau - epsilon) % tau;\n}\n\nexport default function() {\n var center = constant([0, 0]),\n radius = constant(90),\n precision = constant(2),\n ring,\n rotate,\n stream = {point: point};\n\n function point(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= degrees, x[1] *= degrees;\n }\n\n function circle() {\n var c = center.apply(this, arguments),\n r = radius.apply(this, arguments) * radians,\n p = precision.apply(this, arguments) * radians;\n ring = [];\n rotate = rotateRadians(-c[0] * radians, -c[1] * radians, 0).invert;\n circleStream(stream, r, p, 1);\n c = {type: \"Polygon\", coordinates: [ring]};\n ring = rotate = null;\n return c;\n }\n\n circle.center = function(_) {\n return arguments.length ? (center = typeof _ === \"function\" ? _ : constant([+_[0], +_[1]]), circle) : center;\n };\n\n circle.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), circle) : radius;\n };\n\n circle.precision = function(_) {\n return arguments.length ? (precision = typeof _ === \"function\" ? _ : constant(+_), circle) : precision;\n };\n\n return circle;\n}\n","import {abs, epsilon} from \"../math.js\";\nimport clipBuffer from \"./buffer.js\";\nimport clipLine from \"./line.js\";\nimport clipRejoin from \"./rejoin.js\";\nimport {merge} from \"d3-array\";\n\nvar clipMax = 1e9, clipMin = -clipMax;\n\n// TODO Use d3-polygon’s polygonContains here for the ring check?\n// TODO Eliminate duplicate buffering in clipBuffer and polygon.push?\n\nexport default function clipRectangle(x0, y0, x1, y1) {\n\n function visible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n\n function interpolate(from, to, direction, stream) {\n var a = 0, a1 = 0;\n if (from == null\n || (a = corner(from, direction)) !== (a1 = corner(to, direction))\n || comparePoint(from, to) < 0 ^ direction > 0) {\n do stream.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n stream.point(to[0], to[1]);\n }\n }\n\n function corner(p, direction) {\n return abs(p[0] - x0) < epsilon ? direction > 0 ? 0 : 3\n : abs(p[0] - x1) < epsilon ? direction > 0 ? 2 : 1\n : abs(p[1] - y0) < epsilon ? direction > 0 ? 1 : 0\n : direction > 0 ? 3 : 2; // abs(p[1] - y1) < epsilon\n }\n\n function compareIntersection(a, b) {\n return comparePoint(a.x, b.x);\n }\n\n function comparePoint(a, b) {\n var ca = corner(a, 1),\n cb = corner(b, 1);\n return ca !== cb ? ca - cb\n : ca === 0 ? b[1] - a[1]\n : ca === 1 ? a[0] - b[0]\n : ca === 2 ? a[1] - b[1]\n : b[0] - a[0];\n }\n\n return function(stream) {\n var activeStream = stream,\n bufferStream = clipBuffer(),\n segments,\n polygon,\n ring,\n x__, y__, v__, // first point\n x_, y_, v_, // previous point\n first,\n clean;\n\n var clipStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: polygonStart,\n polygonEnd: polygonEnd\n };\n\n function point(x, y) {\n if (visible(x, y)) activeStream.point(x, y);\n }\n\n function polygonInside() {\n var winding = 0;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n for (var ring = polygon[i], j = 1, m = ring.length, point = ring[0], a0, a1, b0 = point[0], b1 = point[1]; j < m; ++j) {\n a0 = b0, a1 = b1, point = ring[j], b0 = point[0], b1 = point[1];\n if (a1 <= y1) { if (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0)) ++winding; }\n else { if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0)) --winding; }\n }\n }\n\n return winding;\n }\n\n // Buffer geometry within a polygon and then clip it en masse.\n function polygonStart() {\n activeStream = bufferStream, segments = [], polygon = [], clean = true;\n }\n\n function polygonEnd() {\n var startInside = polygonInside(),\n cleanInside = clean && startInside,\n visible = (segments = merge(segments)).length;\n if (cleanInside || visible) {\n stream.polygonStart();\n if (cleanInside) {\n stream.lineStart();\n interpolate(null, null, 1, stream);\n stream.lineEnd();\n }\n if (visible) {\n clipRejoin(segments, compareIntersection, startInside, interpolate, stream);\n }\n stream.polygonEnd();\n }\n activeStream = stream, segments = polygon = ring = null;\n }\n\n function lineStart() {\n clipStream.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n\n // TODO rather than special-case polygons, simply handle them separately.\n // Ideally, coincident intersection points should be jittered to avoid\n // clipping issues.\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferStream.rejoin();\n segments.push(bufferStream.result());\n }\n clipStream.point = point;\n if (v_) activeStream.lineEnd();\n }\n\n function linePoint(x, y) {\n var v = visible(x, y);\n if (polygon) ring.push([x, y]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n }\n } else {\n if (v && v_) activeStream.point(x, y);\n else {\n var a = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))],\n b = [x = Math.max(clipMin, Math.min(clipMax, x)), y = Math.max(clipMin, Math.min(clipMax, y))];\n if (clipLine(a, b, x0, y0, x1, y1)) {\n if (!v_) {\n activeStream.lineStart();\n activeStream.point(a[0], a[1]);\n }\n activeStream.point(b[0], b[1]);\n if (!v) activeStream.lineEnd();\n clean = false;\n } else if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n\n return clipStream;\n };\n}\n","export default function(methods) {\n return {\n stream: transformer(methods)\n };\n}\n\nexport function transformer(methods) {\n return function(stream) {\n var s = new TransformStream;\n for (var key in methods) s[key] = methods[key];\n s.stream = stream;\n return s;\n };\n}\n\nfunction TransformStream() {}\n\nTransformStream.prototype = {\n constructor: TransformStream,\n point: function(x, y) { this.stream.point(x, y); },\n sphere: function() { this.stream.sphere(); },\n lineStart: function() { this.stream.lineStart(); },\n lineEnd: function() { this.stream.lineEnd(); },\n polygonStart: function() { this.stream.polygonStart(); },\n polygonEnd: function() { this.stream.polygonEnd(); }\n};\n","import {default as geoStream} from \"../stream.js\";\nimport boundsStream from \"../path/bounds.js\";\n\nfunction fit(projection, fitBounds, object) {\n var clip = projection.clipExtent && projection.clipExtent();\n projection.scale(150).translate([0, 0]);\n if (clip != null) projection.clipExtent(null);\n geoStream(object, projection.stream(boundsStream));\n fitBounds(boundsStream.result());\n if (clip != null) projection.clipExtent(clip);\n return projection;\n}\n\nexport function fitExtent(projection, extent, object) {\n return fit(projection, function(b) {\n var w = extent[1][0] - extent[0][0],\n h = extent[1][1] - extent[0][1],\n k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])),\n x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2,\n y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitSize(projection, size, object) {\n return fitExtent(projection, [[0, 0], size], object);\n}\n\nexport function fitWidth(projection, width, object) {\n return fit(projection, function(b) {\n var w = +width,\n k = w / (b[1][0] - b[0][0]),\n x = (w - k * (b[1][0] + b[0][0])) / 2,\n y = -k * b[0][1];\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitHeight(projection, height, object) {\n return fit(projection, function(b) {\n var h = +height,\n k = h / (b[1][1] - b[0][1]),\n x = -k * b[0][0],\n y = (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n","import {cartesian} from \"../cartesian.js\";\nimport {abs, asin, atan2, cos, epsilon, radians, sqrt} from \"../math.js\";\nimport {transformer} from \"../transform.js\";\n\nvar maxDepth = 16, // maximum depth of subdivision\n cosMinDistance = cos(30 * radians); // cos(minimum angular distance)\n\nexport default function(project, delta2) {\n return +delta2 ? resample(project, delta2) : resampleNone(project);\n}\n\nfunction resampleNone(project) {\n return transformer({\n point: function(x, y) {\n x = project(x, y);\n this.stream.point(x[0], x[1]);\n }\n });\n}\n\nfunction resample(project, delta2) {\n\n function resampleLineTo(x0, y0, lambda0, a0, b0, c0, x1, y1, lambda1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0,\n dy = y1 - y0,\n d2 = dx * dx + dy * dy;\n if (d2 > 4 * delta2 && depth--) {\n var a = a0 + a1,\n b = b0 + b1,\n c = c0 + c1,\n m = sqrt(a * a + b * b + c * c),\n phi2 = asin(c /= m),\n lambda2 = abs(abs(c) - 1) < epsilon || abs(lambda0 - lambda1) < epsilon ? (lambda0 + lambda1) / 2 : atan2(b, a),\n p = project(lambda2, phi2),\n x2 = p[0],\n y2 = p[1],\n dx2 = x2 - x0,\n dy2 = y2 - y0,\n dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > delta2 // perpendicular projected distance\n || abs((dx * dx2 + dy * dy2) / d2 - 0.5) > 0.3 // midpoint close to an end\n || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x2, y2, lambda2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, lambda2, a, b, c, x1, y1, lambda1, a1, b1, c1, depth, stream);\n }\n }\n }\n return function(stream) {\n var lambda00, x00, y00, a00, b00, c00, // first point\n lambda0, x0, y0, a0, b0, c0; // previous point\n\n var resampleStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() { stream.polygonStart(); resampleStream.lineStart = ringStart; },\n polygonEnd: function() { stream.polygonEnd(); resampleStream.lineStart = lineStart; }\n };\n\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n\n function lineStart() {\n x0 = NaN;\n resampleStream.point = linePoint;\n stream.lineStart();\n }\n\n function linePoint(lambda, phi) {\n var c = cartesian([lambda, phi]), p = project(lambda, phi);\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x0 = p[0], y0 = p[1], lambda0 = lambda, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n\n function lineEnd() {\n resampleStream.point = point;\n stream.lineEnd();\n }\n\n function ringStart() {\n lineStart();\n resampleStream.point = ringPoint;\n resampleStream.lineEnd = ringEnd;\n }\n\n function ringPoint(lambda, phi) {\n linePoint(lambda00 = lambda, phi), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resampleStream.point = linePoint;\n }\n\n function ringEnd() {\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x00, y00, lambda00, a00, b00, c00, maxDepth, stream);\n resampleStream.lineEnd = lineEnd;\n lineEnd();\n }\n\n return resampleStream;\n };\n}\n","import clipAntimeridian from \"../clip/antimeridian.js\";\nimport clipCircle from \"../clip/circle.js\";\nimport clipRectangle from \"../clip/rectangle.js\";\nimport compose from \"../compose.js\";\nimport identity from \"../identity.js\";\nimport {cos, degrees, radians, sin, sqrt} from \"../math.js\";\nimport {rotateRadians} from \"../rotation.js\";\nimport {transformer} from \"../transform.js\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit.js\";\nimport resample from \"./resample.js\";\n\nvar transformRadians = transformer({\n point: function(x, y) {\n this.stream.point(x * radians, y * radians);\n }\n});\n\nfunction transformRotate(rotate) {\n return transformer({\n point: function(x, y) {\n var r = rotate(x, y);\n return this.stream.point(r[0], r[1]);\n }\n });\n}\n\nfunction scaleTranslate(k, dx, dy, sx, sy) {\n function transform(x, y) {\n x *= sx; y *= sy;\n return [dx + k * x, dy - k * y];\n }\n transform.invert = function(x, y) {\n return [(x - dx) / k * sx, (dy - y) / k * sy];\n };\n return transform;\n}\n\nfunction scaleTranslateRotate(k, dx, dy, sx, sy, alpha) {\n if (!alpha) return scaleTranslate(k, dx, dy, sx, sy);\n var cosAlpha = cos(alpha),\n sinAlpha = sin(alpha),\n a = cosAlpha * k,\n b = sinAlpha * k,\n ai = cosAlpha / k,\n bi = sinAlpha / k,\n ci = (sinAlpha * dy - cosAlpha * dx) / k,\n fi = (sinAlpha * dx + cosAlpha * dy) / k;\n function transform(x, y) {\n x *= sx; y *= sy;\n return [a * x - b * y + dx, dy - b * x - a * y];\n }\n transform.invert = function(x, y) {\n return [sx * (ai * x - bi * y + ci), sy * (fi - bi * x - ai * y)];\n };\n return transform;\n}\n\nexport default function projection(project) {\n return projectionMutator(function() { return project; })();\n}\n\nexport function projectionMutator(projectAt) {\n var project,\n k = 150, // scale\n x = 480, y = 250, // translate\n lambda = 0, phi = 0, // center\n deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, // pre-rotate\n alpha = 0, // post-rotate angle\n sx = 1, // reflectX\n sy = 1, // reflectX\n theta = null, preclip = clipAntimeridian, // pre-clip angle\n x0 = null, y0, x1, y1, postclip = identity, // post-clip extent\n delta2 = 0.5, // precision\n projectResample,\n projectTransform,\n projectRotateTransform,\n cache,\n cacheStream;\n\n function projection(point) {\n return projectRotateTransform(point[0] * radians, point[1] * radians);\n }\n\n function invert(point) {\n point = projectRotateTransform.invert(point[0], point[1]);\n return point && [point[0] * degrees, point[1] * degrees];\n }\n\n projection.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));\n };\n\n projection.preclip = function(_) {\n return arguments.length ? (preclip = _, theta = undefined, reset()) : preclip;\n };\n\n projection.postclip = function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n };\n\n projection.clipAngle = function(_) {\n return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees;\n };\n\n projection.clipExtent = function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n projection.scale = function(_) {\n return arguments.length ? (k = +_, recenter()) : k;\n };\n\n projection.translate = function(_) {\n return arguments.length ? (x = +_[0], y = +_[1], recenter()) : [x, y];\n };\n\n projection.center = function(_) {\n return arguments.length ? (lambda = _[0] % 360 * radians, phi = _[1] % 360 * radians, recenter()) : [lambda * degrees, phi * degrees];\n };\n\n projection.rotate = function(_) {\n return arguments.length ? (deltaLambda = _[0] % 360 * radians, deltaPhi = _[1] % 360 * radians, deltaGamma = _.length > 2 ? _[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees, deltaPhi * degrees, deltaGamma * degrees];\n };\n\n projection.angle = function(_) {\n return arguments.length ? (alpha = _ % 360 * radians, recenter()) : alpha * degrees;\n };\n\n projection.reflectX = function(_) {\n return arguments.length ? (sx = _ ? -1 : 1, recenter()) : sx < 0;\n };\n\n projection.reflectY = function(_) {\n return arguments.length ? (sy = _ ? -1 : 1, recenter()) : sy < 0;\n };\n\n projection.precision = function(_) {\n return arguments.length ? (projectResample = resample(projectTransform, delta2 = _ * _), reset()) : sqrt(delta2);\n };\n\n projection.fitExtent = function(extent, object) {\n return fitExtent(projection, extent, object);\n };\n\n projection.fitSize = function(size, object) {\n return fitSize(projection, size, object);\n };\n\n projection.fitWidth = function(width, object) {\n return fitWidth(projection, width, object);\n };\n\n projection.fitHeight = function(height, object) {\n return fitHeight(projection, height, object);\n };\n\n function recenter() {\n var center = scaleTranslateRotate(k, 0, 0, sx, sy, alpha).apply(null, project(lambda, phi)),\n transform = scaleTranslateRotate(k, x - center[0], y - center[1], sx, sy, alpha);\n rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma);\n projectTransform = compose(project, transform);\n projectRotateTransform = compose(rotate, projectTransform);\n projectResample = resample(projectTransform, delta2);\n return reset();\n }\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return recenter();\n };\n}\n","import {cartesian, cartesianAddInPlace, cartesianCross, cartesianDot, cartesianScale, spherical} from \"../cartesian.js\";\nimport {circleStream} from \"../circle.js\";\nimport {abs, cos, epsilon, pi, radians, sqrt} from \"../math.js\";\nimport pointEqual from \"../pointEqual.js\";\nimport clip from \"./index.js\";\n\nexport default function(radius) {\n var cr = cos(radius),\n delta = 2 * radians,\n smallRadius = cr > 0,\n notHemisphere = abs(cr) > epsilon; // TODO optimise for this common case\n\n function interpolate(from, to, direction, stream) {\n circleStream(stream, radius, delta, direction, from, to);\n }\n\n function visible(lambda, phi) {\n return cos(lambda) * cos(phi) > cr;\n }\n\n // Takes a line and cuts into visible segments. Return values used for polygon\n // clipping: 0 - there were intersections or the line was empty; 1 - no\n // intersections 2 - there were intersections, and the first and last segments\n // should be rejoined.\n function clipLine(stream) {\n var point0, // previous point\n c0, // code for previous point\n v0, // visibility of previous point\n v00, // visibility of first point\n clean; // no intersections\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(lambda, phi) {\n var point1 = [lambda, phi],\n point2,\n v = visible(lambda, phi),\n c = smallRadius\n ? v ? 0 : code(lambda, phi)\n : v ? code(lambda + (lambda < 0 ? pi : -pi), phi) : 0;\n if (!point0 && (v00 = v0 = v)) stream.lineStart();\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (!point2 || pointEqual(point0, point2) || pointEqual(point1, point2))\n point1[2] = 1;\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n // outside going in\n stream.lineStart();\n point2 = intersect(point1, point0);\n stream.point(point2[0], point2[1]);\n } else {\n // inside going out\n point2 = intersect(point0, point1);\n stream.point(point2[0], point2[1], 2);\n stream.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n // If the codes for two points are different, or are both zero,\n // and there this segment intersects with the small circle.\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n } else {\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n stream.lineStart();\n stream.point(t[0][0], t[0][1], 3);\n }\n }\n }\n if (v && (!point0 || !pointEqual(point0, point1))) {\n stream.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) stream.lineEnd();\n point0 = null;\n },\n // Rejoin first and last segments if there were intersections and the first\n // and last points were visible.\n clean: function() {\n return clean | ((v00 && v0) << 1);\n }\n };\n }\n\n // Intersects the great circle between a and b with the clip circle.\n function intersect(a, b, two) {\n var pa = cartesian(a),\n pb = cartesian(b);\n\n // We have two planes, n1.p = d1 and n2.p = d2.\n // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2).\n var n1 = [1, 0, 0], // normal\n n2 = cartesianCross(pa, pb),\n n2n2 = cartesianDot(n2, n2),\n n1n2 = n2[0], // cartesianDot(n1, n2),\n determinant = n2n2 - n1n2 * n1n2;\n\n // Two polar points.\n if (!determinant) return !two && a;\n\n var c1 = cr * n2n2 / determinant,\n c2 = -cr * n1n2 / determinant,\n n1xn2 = cartesianCross(n1, n2),\n A = cartesianScale(n1, c1),\n B = cartesianScale(n2, c2);\n cartesianAddInPlace(A, B);\n\n // Solve |p(t)|^2 = 1.\n var u = n1xn2,\n w = cartesianDot(A, u),\n uu = cartesianDot(u, u),\n t2 = w * w - uu * (cartesianDot(A, A) - 1);\n\n if (t2 < 0) return;\n\n var t = sqrt(t2),\n q = cartesianScale(u, (-w - t) / uu);\n cartesianAddInPlace(q, A);\n q = spherical(q);\n\n if (!two) return q;\n\n // Two intersection points.\n var lambda0 = a[0],\n lambda1 = b[0],\n phi0 = a[1],\n phi1 = b[1],\n z;\n\n if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z;\n\n var delta = lambda1 - lambda0,\n polar = abs(delta - pi) < epsilon,\n meridian = polar || delta < epsilon;\n\n if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z;\n\n // Check that the first point is between a and b.\n if (meridian\n ? polar\n ? phi0 + phi1 > 0 ^ q[1] < (abs(q[0] - lambda0) < epsilon ? phi0 : phi1)\n : phi0 <= q[1] && q[1] <= phi1\n : delta > pi ^ (lambda0 <= q[0] && q[0] <= lambda1)) {\n var q1 = cartesianScale(u, (-w + t) / uu);\n cartesianAddInPlace(q1, A);\n return [q, spherical(q1)];\n }\n }\n\n // Generates a 4-bit vector representing the location of a point relative to\n // the small circle's bounding box.\n function code(lambda, phi) {\n var r = smallRadius ? radius : pi - radius,\n code = 0;\n if (lambda < -r) code |= 1; // left\n else if (lambda > r) code |= 2; // right\n if (phi < -r) code |= 4; // below\n else if (phi > r) code |= 8; // above\n return code;\n }\n\n return clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi, radius - pi]);\n}\n","export default function(a, b, x0, y0, x1, y1) {\n var ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n if (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy;\n if (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy;\n return true;\n}\n","import {atan, exp, halfPi, log, pi, tan, tau} from \"../math.js\";\nimport rotation from \"../rotation.js\";\nimport projection from \"./index.js\";\n\nexport function mercatorRaw(lambda, phi) {\n return [lambda, log(tan((halfPi + phi) / 2))];\n}\n\nmercatorRaw.invert = function(x, y) {\n return [x, 2 * atan(exp(y)) - halfPi];\n};\n\nexport default function() {\n return mercatorProjection(mercatorRaw)\n .scale(961 / tau);\n}\n\nexport function mercatorProjection(project) {\n var m = projection(project),\n center = m.center,\n scale = m.scale,\n translate = m.translate,\n clipExtent = m.clipExtent,\n x0 = null, y0, x1, y1; // clip extent\n\n m.scale = function(_) {\n return arguments.length ? (scale(_), reclip()) : scale();\n };\n\n m.translate = function(_) {\n return arguments.length ? (translate(_), reclip()) : translate();\n };\n\n m.center = function(_) {\n return arguments.length ? (center(_), reclip()) : center();\n };\n\n m.clipExtent = function(_) {\n return arguments.length ? ((_ == null ? x0 = y0 = x1 = y1 = null : (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1])), reclip()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n function reclip() {\n var k = pi * scale(),\n t = m(rotation(m.rotate()).invert([0, 0]));\n return clipExtent(x0 == null\n ? [[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]] : project === mercatorRaw\n ? [[Math.max(t[0] - k, x0), y0], [Math.min(t[0] + k, x1), y1]]\n : [[x0, Math.max(t[1] - k, y0)], [x1, Math.min(t[1] + k, y1)]]);\n }\n\n return reclip();\n}\n","function streamGeometry(geometry, stream) {\n if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {\n streamGeometryType[geometry.type](geometry, stream);\n }\n}\n\nvar streamObjectType = {\n Feature: function(object, stream) {\n streamGeometry(object.geometry, stream);\n },\n FeatureCollection: function(object, stream) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) streamGeometry(features[i].geometry, stream);\n }\n};\n\nvar streamGeometryType = {\n Sphere: function(object, stream) {\n stream.sphere();\n },\n Point: function(object, stream) {\n object = object.coordinates;\n stream.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], stream.point(object[0], object[1], object[2]);\n },\n LineString: function(object, stream) {\n streamLine(object.coordinates, stream, 0);\n },\n MultiLineString: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamLine(coordinates[i], stream, 0);\n },\n Polygon: function(object, stream) {\n streamPolygon(object.coordinates, stream);\n },\n MultiPolygon: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamPolygon(coordinates[i], stream);\n },\n GeometryCollection: function(object, stream) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) streamGeometry(geometries[i], stream);\n }\n};\n\nfunction streamLine(coordinates, stream, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n stream.lineStart();\n while (++i < n) coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]);\n stream.lineEnd();\n}\n\nfunction streamPolygon(coordinates, stream) {\n var i = -1, n = coordinates.length;\n stream.polygonStart();\n while (++i < n) streamLine(coordinates[i], stream, 1);\n stream.polygonEnd();\n}\n\nexport default function(object, stream) {\n if (object && streamObjectType.hasOwnProperty(object.type)) {\n streamObjectType[object.type](object, stream);\n } else {\n streamGeometry(object, stream);\n }\n}\n"],"names":["Adder","constructor","this","_partials","Float64Array","_n","add","x","p","i","j","y","hi","lo","Math","abs","valueOf","n","epsilon","epsilon2","pi","PI","halfPi","quarterPi","tau","degrees","radians","atan","atan2","cos","exp","ceil","log","floor","hypot","sin","pow","sign","sqrt","tan","acos","asin","noop","x0","Infinity","y0","x1","y1","point","lineStart","lineEnd","polygonStart","polygonEnd","result","bounds","x00","y00","areaSum","areaRingSum","areaStream","areaRingStart","areaRingEnd","area","areaPointFirst","areaPoint","X0","Y0","Z0","X1","Y1","Z1","X2","Y2","Z2","centroidStream","centroidPoint","centroidLineStart","centroidLineEnd","centroidRingStart","centroidRingEnd","centroid","NaN","centroidPointFirstLine","centroidPointLine","dx","dy","z","centroidPointFirstRing","centroidPointRing","PathContext","context","_context","prototype","_radius","pointRadius","_","_line","_point","closePath","moveTo","lineTo","arc","lengthRing","lengthSum","lengthStream","lengthPointFirst","lengthPoint","length","cacheDigits","cacheAppend","cacheRadius","cacheCircle","PathString","digits","_append","append","d","RangeError","k","strings","round","arguments","appendRound","r","s","projection","projectionStream","contextStream","path","object","apply","stream","measure","identity","a","b","compose","invert","rotationIdentity","lambda","phi","deltaLambda","deltaPhi","deltaGamma","rotationLambda","rotationPhiGamma","forwardRotationLambda","rotation","cosDeltaPhi","sinDeltaPhi","cosDeltaGamma","sinDeltaGamma","cosPhi","line","lines","m","push","rejoin","pop","concat","shift","Intersection","points","other","entry","o","e","v","segments","compareIntersection","startInside","interpolate","subject","clip","forEach","segment","p0","p1","pointEqual","sort","start","current","isSubject","array","spherical","cartesian","cartesianDot","cartesianCross","cartesianAddInPlace","cartesianScale","vector","cartesianNormalizeInPlace","l","longitude","merge","arrays","Array","from","flatten","pointVisible","clipLine","sink","polygon","ring","ringBuffer","ringSink","polygonStarted","pointRing","ringStart","ringEnd","sinPhi","normal","angle","winding","sum","point0","lambda0","phi0","sinPhi0","cosPhi0","lambda1","sinPhi1","cosPhi1","point1","phi1","delta","absDelta","antimeridian","intersection","phiArc","polygonContains","sphere","pointLine","clean","ringSegments","filter","validSegment","sign0","sign1","sinLambda0Lambda1","clipAntimeridianIntersect","to","direction","circleRadius","cosRadius","radius","clipMax","clipMin","transformer","methods","TransformStream","key","fit","fitBounds","clipExtent","scale","translate","fitExtent","extent","w","h","min","maxDepth","cosMinDistance","project","delta2","resampleLineTo","a0","b0","c0","a1","b1","c1","depth","d2","c","phi2","lambda2","x2","y2","dx2","dy2","dz","lambda00","a00","b00","c00","resampleStream","linePoint","ringPoint","resampleNone","transformRadians","scaleTranslateRotate","sx","sy","alpha","transform","scaleTranslate","cosAlpha","sinAlpha","ai","bi","ci","fi","projectAt","rotate","projectResample","projectTransform","projectRotateTransform","cache","cacheStream","theta","preclip","postclip","recenter","center","resample","reset","transformRotate","undefined","clipAngle","cr","smallRadius","notHemisphere","visible","intersect","two","n1","n2","n2n2","n1n2","determinant","c2","n1xn2","A","u","uu","t2","t","q","polar","q1","code","v0","v00","point2","t0","t1","sinRadius","step","circleStream","corner","comparePoint","ca","cb","x__","y__","v__","x_","y_","v_","first","activeStream","bufferStream","clipStream","polygonInside","cleanInside","max","ax","ay","clipRectangle","reflectX","reflectY","precision","fitSize","size","fitWidth","width","fitHeight","height","projectionMutator","mercatorRaw","reclip","forward","coordinates","mercatorProjection","streamGeometry","geometry","streamGeometryType","hasOwnProperty","type","streamObjectType","Feature","FeatureCollection","features","Sphere","Point","MultiPoint","LineString","streamLine","MultiLineString","Polygon","streamPolygon","MultiPolygon","GeometryCollection","geometries","closed","coordinate"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[7218,4837],{64837:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>s,ReactUseMultipleBricks:()=>u,asyncWrapBrick:()=>k,useCurrentApp:()=>l,useCurrentTheme:()=>o,useLazyWrapBrick:()=>_,useNavConfig:()=>w,useProvider:()=>v,useRecentApps:()=>i,useRouteRender:()=>d});var n=t(18769),c=t(
|
|
2
|
-
//# sourceMappingURL=7218.
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[7218,4837],{64837:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>s,ReactUseMultipleBricks:()=>u,asyncWrapBrick:()=>k,useCurrentApp:()=>l,useCurrentTheme:()=>o,useLazyWrapBrick:()=>_,useNavConfig:()=>w,useProvider:()=>v,useRecentApps:()=>i,useRouteRender:()=>d});var n=t(18769),c=t(4899);let s=function(e){let{useBrick:r,data:t,errorBoundary:s,refCallback:u,ignoredCallback:a}=e;const[o,i]=(0,n.useState)(null),l=(0,n.useRef)(),[d,f]=(0,n.useState)(),p=(0,n.useRef)(0),g=(0,n.useMemo)((()=>{var e;return null===(e=c.__secret_internals.getRenderId)||void 0===e?void 0:e.call(c.__secret_internals)}),[]);(0,n.useEffect)((()=>{let e=!1;return async function(){try{const n=await c.__secret_internals.renderUseBrick(r,t,s);if(e)return;i(n),f(++p.current)}catch(n){!e&&function(e){var r;const t=null===(r=c.__secret_internals.getRenderId)||void 0===r?void 0:r.call(c.__secret_internals);return!e||!t||e===t}(g)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,c.handleHttpError)(n))}}(),()=>{e=!0}}),[t,r,g,s]);const y=(0,n.useCallback)((e=>{e?l.current=c.__secret_internals.mountUseBrick(o,e):(c.__secret_internals.unmountUseBrick(o,l.current),l.current=void 0),null==u||u(e)}),[u,o]);if(!o)return null;const{tagName:v}=o;if(null===v)return null==a||a(),null;const m=v;return n.createElement(m,{key:d,ref:y})},u=function(e){let{useBrick:r,data:t,errorBoundary:c}=e;return Array.isArray(r)?n.createElement(n.Fragment,null,r.map(((e,r)=>n.createElement(s,{key:r,useBrick:e,data:t,errorBoundary:c})))):n.createElement(s,{useBrick:r,data:t,errorBoundary:c})};const a=(0,c.getV2RuntimeFromDll)();if(a){const{SingleBrickAsComponentFactory:e,BrickAsComponentFactory:r}=a;e&&r&&(s=e(n),u=r(n))}function o(){const[e,r]=(0,n.useState)(c.getCurrentTheme);return(0,n.useEffect)((()=>{const e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function i(){const[e,r]=n.useState((()=>(0,c.getRuntime)().getRecentApps()));return n.useEffect((()=>{const e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function l(){return i().currentApp}function d(){const[e,r]=n.useState(null);return n.useEffect((()=>{const e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}const f={provider:"",customOptions:{onError:()=>{},transform:(e,r)=>r,data:void 0,loading:!1,suspense:!1,cache:!0},dependencies:void 0},p=Object.entries(f).reduce(((e,r)=>{let[t,n]=r;return"[object Object]"===Object.prototype.toString.call(n)?{...e,...n}:{...e,[t]:n}}),{});var g=t(72445);const y=new Map;function v(){const{provider:e,customOptions:r,dependencies:t,requestInit:s}=function(e,r,t){const c=(0,n.useMemo)((()=>"string"==typeof e?e:f.provider),[e,r]),s=(0,n.useMemo)((()=>{let t={};return(0,g.isObject)(e)?t=e:(0,g.isObject)(r)&&(t=r),{...p,...t}}),[e,r]),u=(0,n.useMemo)((()=>{const e=[...Object.keys(f),...Object.keys(f.customOptions)],{args:r=null,...t}=Object.keys(s).reduce(((r,t)=>(e.includes(t)||(r[t]=s[t]),r)),{});return{options:{...t},args:r}}),[s]),a=(0,n.useMemo)((()=>Array.isArray(r)?r:Array.isArray(t)?t:p.dependencies),[r,t]),o=s.loading||Array.isArray(a);return{provider:c,customOptions:(0,n.useMemo)((()=>({...Object.keys(f.customOptions).reduce(((e,r)=>(e[r]=s[r],e)),{}),loading:o})),[s]),requestInit:u,dependencies:a}}(...arguments),{onError:u,transform:a,suspense:o,cache:i,...l}=r,[d,v]=(0,n.useState)(l.loading),m=(0,n.useRef)("pending"),k=(0,n.useRef)(),w=(0,n.useRef)(!1),_=(0,n.useRef)(),h=(0,n.useRef)(),b=(0,n.useRef)(l.data),B=(0,n.useReducer)((()=>({})),[])[1],E=(0,n.useCallback)((async(e,r)=>{try{_.current=void 0,o||v(!0);const t=await async function(e,r,t){let n;const s=function(e){const r=e=>Object.keys(e).sort().map((r=>({[r]:e[r]})));for(var t=arguments.length,n=new Array(t>1?t-1:0),c=1;c<t;c++)n[c-1]=arguments[c];try{const t="object"!=typeof(s=n)||null===s||Array.isArray(s)?n.map((e=>function(e){return"string"==typeof e}(e)?e:r(e))):r(n);return JSON.stringify({provider:e,args:t})}catch(r){return JSON.stringify({provider:e,args:n})}var s}(e,...t);return!r&&y.has(s)&&y.delete(s),y.has(s)?n=y.get(s):(n=(0,c.fetchByProvider)(e,t,{cache:r?"default":"reload"}),r&&y.set(s,n)),n}(e,i,r);h.current=t,b.current=a(b.current,t)}catch(e){_.current=e,b.current=void 0}return o||v(!1),_.current&&u(_.current),b.current}),[e,r,t,s,o,a,l.data,u,i]),O=(0,n.useCallback)((async(r,t)=>{let n=e,c=[];return(0,g.isString)(r)&&(n=r),(0,g.isObject)(r)?c=r:(0,g.isObject)(t)&&(c=t),o?(async()=>(k.current=E(n,c).then((e=>(m.current="success",e)),(e=>(m.current="error",e.current=e,e))),B(),await k.current))():E(n,c)}),[E]),R=(0,n.useMemo)((()=>Object.defineProperties({query:O},{loading:{get:()=>d},data:{get:()=>b.current},error:{get:()=>_.current}})),[O]);if((0,n.useEffect)((()=>(w.current=!0,Array.isArray(t)&&e&&R.query(e,s.args),()=>w.current=!1)),t),o&&k.current)switch(m.current){case"pending":throw k.current;case"error":throw _.current}return Object.assign([R,h.current,d,_.current],{request:R,...R,response:h.current,data:b.current,loading:d,error:_.current})}var m=t(24295);async function k(e,r){return await c.__secret_internals.loadBricks([e]),(0,m.wrapBrick)(e,r)}function w(){const[e,r]=(0,n.useState)((()=>(0,c.getRuntime)().getNavConfig()));return(0,n.useEffect)((()=>{const e=e=>{r(e.detail)};return window.addEventListener("navConfig.change",e),()=>window.removeEventListener("navConfig.change",e)}),[]),e}function _(e,r){return(0,n.useMemo)((()=>null!=e?(0,n.lazy)((async()=>({default:await k(e,r)}))):null),[e,r])}}}]);
|
|
2
|
+
//# sourceMappingURL=7218.446f491e.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/7218.258c9866.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgsDefaults.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/fetch.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProvider.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgs.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/asyncWrapBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useNavConfig.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useLazyWrapBrick.js"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError, getV2RuntimeFromDll } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrick = function ReactUseBrick(_ref) {\n let {\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback\n } = _ref;\n const [renderResult, setRenderResult] = useState(null);\n const mountResult = useRef();\n const [renderKey, setRenderKey] = useState();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(useBrick, data, errorBoundary);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (!ignore && isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n const _refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult, element);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n refCallback === null || refCallback === void 0 || refCallback(element);\n }, [refCallback, renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n const {\n tagName\n } = renderResult;\n if (tagName === null) {\n ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();\n return null;\n }\n const WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: _refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n const newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n let {\n useBrick,\n data,\n errorBoundary\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data,\n errorBoundary: errorBoundary\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data,\n errorBoundary: errorBoundary\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n const [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n const listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n const [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n const listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n const [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n const listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map","export const useProviderArgsDefaults = {\n provider: \"\",\n customOptions: {\n onError: () => {\n /* Do nothing.. */\n },\n transform: (oldData, newData) => newData,\n data: undefined,\n loading: false,\n suspense: false,\n cache: true\n },\n dependencies: undefined\n};\nexport default Object.entries(useProviderArgsDefaults).reduce((acc, _ref) => {\n let [key, value] = _ref;\n if (Object.prototype.toString.call(value) === \"[object Object]\") return {\n ...acc,\n ...value\n };\n return {\n ...acc,\n [key]: value\n };\n}, {});\n//# sourceMappingURL=useProviderArgsDefaults.js.map","import { fetchByProvider } from \"@next-core/runtime\";\nconst cacheMap = new Map();\nfunction isObj(v) {\n return typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\nfunction isString(v) {\n return typeof v === \"string\";\n}\nfunction buildSortedCacheKey(provider) {\n const sortObj = obj => Object.keys(obj).sort().map(k => ({\n [k]: obj[k]\n }));\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n try {\n const sortedArgs = isObj(args) ? sortObj(args) : args.map(arg => isString(arg) ? arg : sortObj(arg));\n return JSON.stringify({\n provider,\n args: sortedArgs\n });\n } catch (e) {\n return JSON.stringify({\n provider,\n args\n });\n }\n}\nexport default async function fetch(provider, cache, args) {\n let promise;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const cacheKey = buildSortedCacheKey(provider, ...args);\n !cache && cacheMap.has(cacheKey) && cacheMap.delete(cacheKey);\n if (cacheMap.has(cacheKey)) {\n promise = cacheMap.get(cacheKey);\n } else {\n promise = (() => {\n return fetchByProvider(provider, args, {\n cache: cache ? \"default\" : \"reload\"\n });\n })();\n cache && cacheMap.set(cacheKey, promise);\n }\n return promise;\n}\n//# sourceMappingURL=fetch.js.map","import { useCallback, useEffect, useMemo, useReducer, useRef, useState } from \"react\";\nimport useProviderArgs from \"./useProviderArgs.js\";\nimport { isObject, isString } from \"lodash\";\nimport fetch from \"./fetch.js\";\nexport function useProvider() {\n const {\n provider,\n customOptions,\n dependencies,\n requestInit\n } = useProviderArgs(...arguments);\n const {\n onError,\n transform,\n suspense,\n cache,\n ...defaults\n } = customOptions;\n const [loading, setLoading] = useState(defaults.loading);\n const suspenseStatus = useRef(\"pending\");\n const suspender = useRef();\n const mounted = useRef(false);\n const error = useRef();\n const response = useRef();\n const data = useRef(defaults.data);\n const forceUpdate = useReducer(() => ({}), [])[1];\n const doFetch = useCallback(async (provider, providerArgs) => {\n try {\n error.current = undefined;\n if (!suspense) setLoading(true);\n const newRes = await fetch(provider, cache, providerArgs);\n response.current = newRes;\n data.current = transform(data.current, newRes);\n } catch (e) {\n error.current = e;\n data.current = undefined;\n }\n if (!suspense) setLoading(false);\n if (error.current) onError(error.current);\n return data.current;\n }, [provider, customOptions, dependencies, requestInit, suspense, transform, defaults.data, onError, cache]);\n const makeFetch = useCallback(async (providerOrBody, args) => {\n let providerStr = provider;\n let providerArgs = [];\n if (isString(providerOrBody)) {\n providerStr = providerOrBody;\n }\n if (isObject(providerOrBody)) {\n providerArgs = providerOrBody;\n } else if (isObject(args)) {\n providerArgs = args;\n }\n if (suspense) {\n return (async () => {\n suspender.current = doFetch(providerStr, providerArgs).then(newData => {\n suspenseStatus.current = \"success\";\n return newData;\n }, error => {\n /* istanbul ignore next */\n suspenseStatus.current = \"error\";\n error.current = error;\n return error;\n });\n forceUpdate();\n return await suspender.current;\n })();\n }\n return doFetch(providerStr, providerArgs);\n }, [doFetch]);\n const request = useMemo(() => Object.defineProperties({\n query: makeFetch\n }, {\n loading: {\n get() {\n return loading;\n }\n },\n data: {\n get() {\n return data.current;\n }\n },\n error: {\n get() {\n return error.current;\n }\n }\n }), [makeFetch]);\n\n // onMount/onUpdate\n useEffect(() => {\n mounted.current = true;\n if (Array.isArray(dependencies) && provider) {\n request.query(provider, requestInit.args);\n }\n return () => mounted.current = false;\n }, dependencies);\n if (suspense && suspender.current) {\n switch (suspenseStatus.current) {\n case \"pending\":\n throw suspender.current;\n /* istanbul ignore next */\n case \"error\":\n throw error.current;\n }\n }\n return Object.assign([request, response.current, loading, error.current], {\n request,\n ...request,\n response: response.current,\n data: data.current,\n loading,\n error: error.current\n });\n}\n//# sourceMappingURL=useProvider.js.map","import { useMemo } from \"react\";\nimport defaults, { useProviderArgsDefaults } from \"./useProviderArgsDefaults.js\";\nimport { isObject } from \"lodash\";\nexport default function useProviderArgs(providerOrParamsOrGlobalOptions, globalOptionsOrDeps, deps) {\n const provider = useMemo(() => {\n if (typeof providerOrParamsOrGlobalOptions === \"string\") {\n return providerOrParamsOrGlobalOptions;\n }\n return useProviderArgsDefaults.provider;\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const options = useMemo(() => {\n let localOptions = {};\n if (isObject(providerOrParamsOrGlobalOptions)) {\n localOptions = providerOrParamsOrGlobalOptions;\n } else if (isObject(globalOptionsOrDeps)) {\n localOptions = globalOptionsOrDeps;\n }\n return {\n ...defaults,\n ...localOptions\n };\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const requestInit = useMemo(() => {\n const customOptionKeys = [...Object.keys(useProviderArgsDefaults), ...Object.keys(useProviderArgsDefaults.customOptions)];\n const {\n args = null,\n ...restOptions\n } = Object.keys(options).reduce((acc, key) => {\n if (!customOptionKeys.includes(key)) acc[key] = options[key];\n return acc;\n }, {});\n return {\n options: {\n ...restOptions\n },\n args\n };\n }, [options]);\n const dependencies = useMemo(() => {\n if (Array.isArray(globalOptionsOrDeps)) return globalOptionsOrDeps;\n if (Array.isArray(deps)) return deps;\n return defaults.dependencies;\n }, [globalOptionsOrDeps, deps]);\n const loading = options.loading || Array.isArray(dependencies);\n const customOptions = useMemo(() => {\n const customOptionKeys = Object.keys(useProviderArgsDefaults.customOptions);\n const customOptions = customOptionKeys.reduce((opts, key) => {\n opts[key] = options[key];\n return opts;\n }, {});\n return {\n ...customOptions,\n loading\n };\n }, [options]);\n return {\n provider,\n customOptions,\n requestInit,\n dependencies\n };\n}\n//# sourceMappingURL=useProviderArgs.js.map","import { __secret_internals } from \"@next-core/runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\nexport async function asyncWrapBrick(brickName, eventsMapping) {\n await __secret_internals.loadBricks([brickName]);\n return wrapBrick(brickName, eventsMapping);\n}\n//# sourceMappingURL=asyncWrapBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useNavConfig() {\n const [navConfig, setNavConfig] = useState(() => getRuntime().getNavConfig());\n useEffect(() => {\n const listener = event => {\n setNavConfig(event.detail);\n };\n window.addEventListener(\"navConfig.change\", listener);\n return () => window.removeEventListener(\"navConfig.change\", listener);\n }, []);\n return navConfig;\n}\n//# sourceMappingURL=useNavConfig.js.map","import { lazy, useMemo } from \"react\";\nimport { asyncWrapBrick } from \"./asyncWrapBrick.js\";\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\nexport function useLazyWrapBrick(brickName, eventsMapping) {\n return useMemo(() => {\n if (brickName != null) {\n return /*#__PURE__*/lazy(async () => ({\n default: await asyncWrapBrick(brickName, eventsMapping)\n }));\n }\n return null;\n }, [brickName, eventsMapping]);\n}\n//# sourceMappingURL=useLazyWrapBrick.js.map"],"names":["ReactUseBrick","_ref","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","async","newRender","renderUseBrick","current","error","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","_refCallback","useCallback","element","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","key","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","window","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender","useProviderArgsDefaults","provider","customOptions","onError","transform","oldData","newData","loading","suspense","cache","dependencies","Object","entries","reduce","acc","value","prototype","toString","cacheMap","Map","useProvider","requestInit","providerOrParamsOrGlobalOptions","globalOptionsOrDeps","deps","options","localOptions","isObject","customOptionKeys","keys","args","restOptions","includes","opts","useProviderArgs","arguments","defaults","setLoading","suspenseStatus","suspender","mounted","response","forceUpdate","useReducer","doFetch","providerArgs","newRes","promise","cacheKey","sortObj","obj","sort","k","_len","length","_key","sortedArgs","v","arg","isString","JSON","stringify","e","buildSortedCacheKey","has","delete","get","fetchByProvider","set","fetch","makeFetch","providerOrBody","providerStr","then","request","defineProperties","query","assign","asyncWrapBrick","brickName","eventsMapping","loadBricks","wrapBrick","useNavConfig","navConfig","setNavConfig","getNavConfig","useLazyWrapBrick","lazy","default"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/7218.446f491e.js","mappings":"gZAIA,IAAIA,EAAgB,SAAuBC,GACzC,IAAI,SACFC,EAAQ,KACRC,EAAI,cACJC,EAAa,YACbC,EAAW,gBACXC,GACEL,EACJ,MAAOM,EAAcC,IAAmB,IAAAC,UAAS,MAC3CC,GAAc,IAAAC,WACbC,EAAWC,IAAgB,IAAAJ,YAC5BK,GAAe,IAAAH,QAAO,GACtBI,GAAkB,IAAAC,UAAQ,KAC9B,IAAIC,EACJ,OAAmE,QAA3DA,EAAuB,EAAAC,mBAAmBC,mBAAkD,IAAzBF,OAAkC,EAASA,EAAqBG,KAAK,EAAAF,mBAAmB,GAClK,KACH,IAAAG,YAAU,KACR,IAAIC,GAAS,EAkBb,OAjBAC,iBACE,IACE,MAAMC,QAAkB,EAAAN,mBAAmBO,eAAevB,EAAUC,EAAMC,GAC1E,GAAIkB,EACF,OAEFd,EAAgBgB,GAChBX,IAAyBC,EA6ClBY,QA5CT,CAAE,MAAOC,IACFL,GA6Cb,SAAyBP,GACvB,IAAIa,EACJ,MAAMC,EAA2E,QAA5DD,EAAwB,EAAAV,mBAAmBC,mBAAmD,IAA1BS,OAAmC,EAASA,EAAsBR,KAAK,EAAAF,oBAChK,OAAQH,IAAoBc,GAAed,IAAoBc,CACjE,CAjDuBC,CAAgBf,KAE7BgB,QAAQJ,MAAM,0BAA2BzB,EAAU,aAAcC,IACjE,IAAA6B,iBAAgBL,GAEpB,CACF,CACAM,GACO,KACLX,GAAS,CAAI,CACd,GACA,CAACnB,EAAMD,EAAUa,EAAiBX,IACrC,MAAM8B,GAAe,IAAAC,cAAYC,IAC3BA,EACF1B,EAAYgB,QAAU,EAAAR,mBAAmBmB,cAEzC9B,EAAc6B,IAGd,EAAAlB,mBAAmBoB,gBAAgB/B,EAAcG,EAAYgB,SAC7DhB,EAAYgB,aAAUa,GAExBlC,SAAkDA,EAAY+B,EAAQ,GACrE,CAAC/B,EAAaE,IACjB,IAAKA,EAEH,OAAO,KAGT,MAAM,QACJiC,GACEjC,EACJ,GAAgB,OAAZiC,EAEF,OADAlC,SAA0DA,IACnD,KAET,MAAMmC,EAAeD,EACrB,OAAoB,gBAAoBC,EAAc,CACpDC,IAAK9B,EACL+B,IAAKT,GAET,EASIU,EAAyB,SAAgCC,GAC3D,IAAI,SACF3C,EAAQ,KACRC,EAAI,cACJC,GACEyC,EACJ,OAAIC,MAAMC,QAAQ7C,GACI,gBAAoB,WAAgB,KAAMA,EAAS8C,KAAI,CAACC,EAAMC,IAAuB,gBAAoBlD,EAAe,CAC1I0C,IAAKQ,EACLhD,SAAU+C,EACV9C,KAAMA,EACNC,cAAeA,OAGC,gBAAoBJ,EAAe,CACrDE,SAAUA,EACVC,KAAMA,EACNC,cAAeA,GAEnB,EAIA,MAAM+C,GAAQ,IAAAC,uBAEd,GAAID,EAAO,CACT,MAAM,8BACJE,EAA6B,wBAC7BC,GACEH,EACAE,GAAiCC,IACnCtD,EAAgBqD,EAA8B,GAC9CT,EAAyBU,EAAwB,GAErD,CCjHO,SAASC,IACd,MAAOC,EAAcC,IAAmB,IAAAhD,UAAS,EAAAiD,iBAUjD,OATA,IAAArC,YAAU,KACR,MAAMsC,EAAsBC,IAC1BH,EAAgBG,EAAMC,OAAO,EAG/B,OADAC,OAAOC,iBAAiB,eAAgBJ,GACjC,KACLG,OAAOE,oBAAoB,eAAgBL,EAAoB,CAChE,GACA,IACIH,CACT,CCZO,SAASS,IACd,MAAOC,EAAYC,GAAiB,YAAe,KAAM,IAAAC,cAAaC,kBAQtE,OAPA,aAAgB,KACd,MAAMC,EAAWV,IACfO,EAAcP,EAAMC,OAAO,EAG7B,OADAC,OAAOC,iBAAiB,aAAcO,GAC/B,IAAMR,OAAOE,oBAAoB,aAAcM,EAAS,GAC9D,IACIJ,CACT,CCIO,SAASK,IACd,OAAON,IAAgBO,UACzB,CCjBO,SAASC,IACd,MAAOC,EAAaC,GAAkB,WAAe,MAQrD,OAPA,aAAgB,KACd,MAAML,EAAWV,IACfe,EAAef,EAAMC,OAAO,EAG9B,OADAC,OAAOC,iBAAiB,eAAgBO,GACjC,IAAMR,OAAOE,oBAAoB,eAAgBM,EAAS,GAChE,IACII,CACT,CCXO,MAAME,EAA0B,CACrCC,SAAU,GACVC,cAAe,CACbC,QAAS,OAGTC,UAAW,CAACC,EAASC,IAAYA,EACjC/E,UAAMoC,EACN4C,SAAS,EACTC,UAAU,EACVC,OAAO,GAETC,kBAAc/C,GAEhB,EAAegD,OAAOC,QAAQZ,GAAyBa,QAAO,CAACC,EAAKzF,KAClE,IAAKyC,EAAKiD,GAAS1F,EACnB,MAA8C,oBAA1CsF,OAAOK,UAAUC,SAASzE,KAAKuE,GAAqC,IACnED,KACAC,GAEE,IACFD,EACH,CAAChD,GAAMiD,EACR,GACA,CAAC,G,eCvBJ,MAAMG,EAAW,IAAIC,ICGd,SAASC,IACd,MAAM,SACJnB,EAAQ,cACRC,EAAa,aACbQ,EAAY,YACZW,GCNW,SAAyBC,EAAiCC,EAAqBC,GAC5F,MAAMvB,GAAW,IAAA7D,UAAQ,IACwB,iBAApCkF,EACFA,EAEFtB,EAAwBC,UAC9B,CAACqB,EAAiCC,IAC/BE,GAAU,IAAArF,UAAQ,KACtB,IAAIsF,EAAe,CAAC,EAMpB,OALI,IAAAC,UAASL,GACXI,EAAeJ,GACN,IAAAK,UAASJ,KAClBG,EAAeH,GAEV,IACF,KACAG,EACJ,GACA,CAACJ,EAAiCC,IAC/BF,GAAc,IAAAjF,UAAQ,KAC1B,MAAMwF,EAAmB,IAAIjB,OAAOkB,KAAK7B,MAA6BW,OAAOkB,KAAK7B,EAAwBE,iBACpG,KACJ4B,EAAO,QACJC,GACDpB,OAAOkB,KAAKJ,GAASZ,QAAO,CAACC,EAAKhD,KAC/B8D,EAAiBI,SAASlE,KAAMgD,EAAIhD,GAAO2D,EAAQ3D,IACjDgD,IACN,CAAC,GACJ,MAAO,CACLW,QAAS,IACJM,GAELD,OACD,GACA,CAACL,IACEf,GAAe,IAAAtE,UAAQ,IACvB8B,MAAMC,QAAQoD,GAA6BA,EAC3CrD,MAAMC,QAAQqD,GAAcA,EACzB,EAASd,cACf,CAACa,EAAqBC,IACnBjB,EAAUkB,EAAQlB,SAAWrC,MAAMC,QAAQuC,GAYjD,MAAO,CACLT,WACAC,eAboB,IAAA9D,UAAQ,KAMrB,IALkBuE,OAAOkB,KAAK7B,EAAwBE,eACtBW,QAAO,CAACoB,EAAMnE,KACnDmE,EAAKnE,GAAO2D,EAAQ3D,GACbmE,IACN,CAAC,GAGF1B,aAED,CAACkB,IAIFJ,cACAX,eAEJ,CDnDMwB,IAAmBC,YACjB,QACJhC,EAAO,UACPC,EAAS,SACTI,EAAQ,MACRC,KACG2B,GACDlC,GACGK,EAAS8B,IAAc,IAAAxG,UAASuG,EAAS7B,SAC1C+B,GAAiB,IAAAvG,QAAO,WACxBwG,GAAY,IAAAxG,UACZyG,GAAU,IAAAzG,SAAO,GACjBgB,GAAQ,IAAAhB,UACR0G,GAAW,IAAA1G,UACXR,GAAO,IAAAQ,QAAOqG,EAAS7G,MACvBmH,GAAc,IAAAC,aAAW,KAAM,CAAG,IAAG,IAAI,GACzCC,GAAU,IAAArF,cAAYZ,MAAOsD,EAAU4C,KAC3C,IACE9F,EAAMD,aAAUa,EACX6C,GAAU6B,GAAW,GAC1B,MAAMS,QDFGnG,eAAqBsD,EAAUQ,EAAOqB,GACnD,IAAIiB,EAGJ,MAAMC,EAxBR,SAA6B/C,GAC3B,MAAMgD,EAAUC,GAAOvC,OAAOkB,KAAKqB,GAAKC,OAAO/E,KAAIgF,IAAK,CACtD,CAACA,GAAIF,EAAIE,OAEX,IAAK,IAAIC,EAAOlB,UAAUmB,OAAQxB,EAAO,IAAI5D,MAAMmF,EAAO,EAAIA,EAAO,EAAI,GAAIE,EAAO,EAAGA,EAAOF,EAAME,IAClGzB,EAAKyB,EAAO,GAAKpB,UAAUoB,GAE7B,IACE,MAAMC,EAbY,iBADPC,EAcc3B,IAbW,OAAN2B,GAAevF,MAAMC,QAAQsF,GAaV3B,EAAK1D,KAAIsF,GAX9D,SAAkBD,GAChB,MAAoB,iBAANA,CAChB,CASqEE,CAASD,GAAOA,EAAMT,EAAQS,KAA9DT,EAAQnB,GACzC,OAAO8B,KAAKC,UAAU,CACpB5D,WACA6B,KAAM0B,GAEV,CAAE,MAAOM,GACP,OAAOF,KAAKC,UAAU,CACpB5D,WACA6B,QAEJ,CAxBF,IAAe2B,CAyBf,CAKmBM,CAAoB9D,KAAa6B,GAYlD,OAXCrB,GAASS,EAAS8C,IAAIhB,IAAa9B,EAAS+C,OAAOjB,GAChD9B,EAAS8C,IAAIhB,GACfD,EAAU7B,EAASgD,IAAIlB,IAEvBD,GACS,IAAAoB,iBAAgBlE,EAAU6B,EAAM,CACrCrB,MAAOA,EAAQ,UAAY,WAG/BA,GAASS,EAASkD,IAAIpB,EAAUD,IAE3BA,CACT,CCf2BsB,CAAMpE,EAAUQ,EAAOoC,GAC5CJ,EAAS3F,QAAUgG,EACnBvH,EAAKuB,QAAUsD,EAAU7E,EAAKuB,QAASgG,EACzC,CAAE,MAAOgB,GACP/G,EAAMD,QAAUgH,EAChBvI,EAAKuB,aAAUa,CACjB,CAGA,OAFK6C,GAAU6B,GAAW,GACtBtF,EAAMD,SAASqD,EAAQpD,EAAMD,SAC1BvB,EAAKuB,OAAO,GAClB,CAACmD,EAAUC,EAAeQ,EAAcW,EAAab,EAAUJ,EAAWgC,EAAS7G,KAAM4E,EAASM,IAC/F6D,GAAY,IAAA/G,cAAYZ,MAAO4H,EAAgBzC,KACnD,IAAI0C,EAAcvE,EACd4C,EAAe,GASnB,OARI,IAAAc,UAASY,KACXC,EAAcD,IAEZ,IAAA5C,UAAS4C,GACX1B,EAAe0B,GACN,IAAA5C,UAASG,KAClBe,EAAef,GAEbtB,EACK,WACL+B,EAAUzF,QAAU8F,EAAQ4B,EAAa3B,GAAc4B,MAAKnE,IAC1DgC,EAAexF,QAAU,UAClBwD,KACNvD,IAEDuF,EAAexF,QAAU,QACzBC,EAAMD,QAAUC,EACTA,KAET2F,UACaH,EAAUzF,SAXlB,GAcF8F,EAAQ4B,EAAa3B,EAAa,GACxC,CAACD,IACE8B,GAAU,IAAAtI,UAAQ,IAAMuE,OAAOgE,iBAAiB,CACpDC,MAAON,GACN,CACD/D,QAAS,CACP2D,IAAG,IACM3D,GAGXhF,KAAM,CACJ2I,IAAG,IACM3I,EAAKuB,SAGhBC,MAAO,CACLmH,IAAG,IACMnH,EAAMD,YAGf,CAACwH,IAUL,IAPA,IAAA7H,YAAU,KACR+F,EAAQ1F,SAAU,EACdoB,MAAMC,QAAQuC,IAAiBT,GACjCyE,EAAQE,MAAM3E,EAAUoB,EAAYS,MAE/B,IAAMU,EAAQ1F,SAAU,IAC9B4D,GACCF,GAAY+B,EAAUzF,QACxB,OAAQwF,EAAexF,SACrB,IAAK,UACH,MAAMyF,EAAUzF,QAElB,IAAK,QACH,MAAMC,EAAMD,QAGlB,OAAO6D,OAAOkE,OAAO,CAACH,EAASjC,EAAS3F,QAASyD,EAASxD,EAAMD,SAAU,CACxE4H,aACGA,EACHjC,SAAUA,EAAS3F,QACnBvB,KAAMA,EAAKuB,QACXyD,UACAxD,MAAOA,EAAMD,SAEjB,C,eEjGOH,eAAemI,EAAeC,EAAWC,GAE9C,aADM,EAAA1I,mBAAmB2I,WAAW,CAACF,KAC9B,IAAAG,WAAUH,EAAWC,EAC9B,CClBO,SAASG,IACd,MAAOC,EAAWC,IAAgB,IAAAxJ,WAAS,KAAM,IAAA2D,cAAa8F,iBAQ9D,OAPA,IAAA7I,YAAU,KACR,MAAMiD,EAAWV,IACfqG,EAAarG,EAAMC,OAAO,EAG5B,OADAC,OAAOC,iBAAiB,mBAAoBO,GACrC,IAAMR,OAAOE,oBAAoB,mBAAoBM,EAAS,GACpE,IACI0F,CACT,CC2CO,SAASG,EAAiBR,EAAWC,GAC1C,OAAO,IAAA5I,UAAQ,IACI,MAAb2I,GACkB,IAAAS,OAAK7I,UAAY,CACnC8I,cAAeX,EAAeC,EAAWC,OAGtC,MACN,CAACD,EAAWC,GACjB,C","sources":["webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgsDefaults.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/fetch.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProvider.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgs.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/asyncWrapBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useNavConfig.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useLazyWrapBrick.js"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError, getV2RuntimeFromDll } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrick = function ReactUseBrick(_ref) {\n let {\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback\n } = _ref;\n const [renderResult, setRenderResult] = useState(null);\n const mountResult = useRef();\n const [renderKey, setRenderKey] = useState();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(useBrick, data, errorBoundary);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (!ignore && isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n const _refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult, element);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n refCallback === null || refCallback === void 0 || refCallback(element);\n }, [refCallback, renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n const {\n tagName\n } = renderResult;\n if (tagName === null) {\n ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();\n return null;\n }\n const WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: _refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n const newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n let {\n useBrick,\n data,\n errorBoundary\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data,\n errorBoundary: errorBoundary\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data,\n errorBoundary: errorBoundary\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n const [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n const listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n const [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n const listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n const [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n const listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map","export const useProviderArgsDefaults = {\n provider: \"\",\n customOptions: {\n onError: () => {\n /* Do nothing.. */\n },\n transform: (oldData, newData) => newData,\n data: undefined,\n loading: false,\n suspense: false,\n cache: true\n },\n dependencies: undefined\n};\nexport default Object.entries(useProviderArgsDefaults).reduce((acc, _ref) => {\n let [key, value] = _ref;\n if (Object.prototype.toString.call(value) === \"[object Object]\") return {\n ...acc,\n ...value\n };\n return {\n ...acc,\n [key]: value\n };\n}, {});\n//# sourceMappingURL=useProviderArgsDefaults.js.map","import { fetchByProvider } from \"@next-core/runtime\";\nconst cacheMap = new Map();\nfunction isObj(v) {\n return typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\nfunction isString(v) {\n return typeof v === \"string\";\n}\nfunction buildSortedCacheKey(provider) {\n const sortObj = obj => Object.keys(obj).sort().map(k => ({\n [k]: obj[k]\n }));\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n try {\n const sortedArgs = isObj(args) ? sortObj(args) : args.map(arg => isString(arg) ? arg : sortObj(arg));\n return JSON.stringify({\n provider,\n args: sortedArgs\n });\n } catch (e) {\n return JSON.stringify({\n provider,\n args\n });\n }\n}\nexport default async function fetch(provider, cache, args) {\n let promise;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const cacheKey = buildSortedCacheKey(provider, ...args);\n !cache && cacheMap.has(cacheKey) && cacheMap.delete(cacheKey);\n if (cacheMap.has(cacheKey)) {\n promise = cacheMap.get(cacheKey);\n } else {\n promise = (() => {\n return fetchByProvider(provider, args, {\n cache: cache ? \"default\" : \"reload\"\n });\n })();\n cache && cacheMap.set(cacheKey, promise);\n }\n return promise;\n}\n//# sourceMappingURL=fetch.js.map","import { useCallback, useEffect, useMemo, useReducer, useRef, useState } from \"react\";\nimport useProviderArgs from \"./useProviderArgs.js\";\nimport { isObject, isString } from \"lodash\";\nimport fetch from \"./fetch.js\";\nexport function useProvider() {\n const {\n provider,\n customOptions,\n dependencies,\n requestInit\n } = useProviderArgs(...arguments);\n const {\n onError,\n transform,\n suspense,\n cache,\n ...defaults\n } = customOptions;\n const [loading, setLoading] = useState(defaults.loading);\n const suspenseStatus = useRef(\"pending\");\n const suspender = useRef();\n const mounted = useRef(false);\n const error = useRef();\n const response = useRef();\n const data = useRef(defaults.data);\n const forceUpdate = useReducer(() => ({}), [])[1];\n const doFetch = useCallback(async (provider, providerArgs) => {\n try {\n error.current = undefined;\n if (!suspense) setLoading(true);\n const newRes = await fetch(provider, cache, providerArgs);\n response.current = newRes;\n data.current = transform(data.current, newRes);\n } catch (e) {\n error.current = e;\n data.current = undefined;\n }\n if (!suspense) setLoading(false);\n if (error.current) onError(error.current);\n return data.current;\n }, [provider, customOptions, dependencies, requestInit, suspense, transform, defaults.data, onError, cache]);\n const makeFetch = useCallback(async (providerOrBody, args) => {\n let providerStr = provider;\n let providerArgs = [];\n if (isString(providerOrBody)) {\n providerStr = providerOrBody;\n }\n if (isObject(providerOrBody)) {\n providerArgs = providerOrBody;\n } else if (isObject(args)) {\n providerArgs = args;\n }\n if (suspense) {\n return (async () => {\n suspender.current = doFetch(providerStr, providerArgs).then(newData => {\n suspenseStatus.current = \"success\";\n return newData;\n }, error => {\n /* istanbul ignore next */\n suspenseStatus.current = \"error\";\n error.current = error;\n return error;\n });\n forceUpdate();\n return await suspender.current;\n })();\n }\n return doFetch(providerStr, providerArgs);\n }, [doFetch]);\n const request = useMemo(() => Object.defineProperties({\n query: makeFetch\n }, {\n loading: {\n get() {\n return loading;\n }\n },\n data: {\n get() {\n return data.current;\n }\n },\n error: {\n get() {\n return error.current;\n }\n }\n }), [makeFetch]);\n\n // onMount/onUpdate\n useEffect(() => {\n mounted.current = true;\n if (Array.isArray(dependencies) && provider) {\n request.query(provider, requestInit.args);\n }\n return () => mounted.current = false;\n }, dependencies);\n if (suspense && suspender.current) {\n switch (suspenseStatus.current) {\n case \"pending\":\n throw suspender.current;\n /* istanbul ignore next */\n case \"error\":\n throw error.current;\n }\n }\n return Object.assign([request, response.current, loading, error.current], {\n request,\n ...request,\n response: response.current,\n data: data.current,\n loading,\n error: error.current\n });\n}\n//# sourceMappingURL=useProvider.js.map","import { useMemo } from \"react\";\nimport defaults, { useProviderArgsDefaults } from \"./useProviderArgsDefaults.js\";\nimport { isObject } from \"lodash\";\nexport default function useProviderArgs(providerOrParamsOrGlobalOptions, globalOptionsOrDeps, deps) {\n const provider = useMemo(() => {\n if (typeof providerOrParamsOrGlobalOptions === \"string\") {\n return providerOrParamsOrGlobalOptions;\n }\n return useProviderArgsDefaults.provider;\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const options = useMemo(() => {\n let localOptions = {};\n if (isObject(providerOrParamsOrGlobalOptions)) {\n localOptions = providerOrParamsOrGlobalOptions;\n } else if (isObject(globalOptionsOrDeps)) {\n localOptions = globalOptionsOrDeps;\n }\n return {\n ...defaults,\n ...localOptions\n };\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const requestInit = useMemo(() => {\n const customOptionKeys = [...Object.keys(useProviderArgsDefaults), ...Object.keys(useProviderArgsDefaults.customOptions)];\n const {\n args = null,\n ...restOptions\n } = Object.keys(options).reduce((acc, key) => {\n if (!customOptionKeys.includes(key)) acc[key] = options[key];\n return acc;\n }, {});\n return {\n options: {\n ...restOptions\n },\n args\n };\n }, [options]);\n const dependencies = useMemo(() => {\n if (Array.isArray(globalOptionsOrDeps)) return globalOptionsOrDeps;\n if (Array.isArray(deps)) return deps;\n return defaults.dependencies;\n }, [globalOptionsOrDeps, deps]);\n const loading = options.loading || Array.isArray(dependencies);\n const customOptions = useMemo(() => {\n const customOptionKeys = Object.keys(useProviderArgsDefaults.customOptions);\n const customOptions = customOptionKeys.reduce((opts, key) => {\n opts[key] = options[key];\n return opts;\n }, {});\n return {\n ...customOptions,\n loading\n };\n }, [options]);\n return {\n provider,\n customOptions,\n requestInit,\n dependencies\n };\n}\n//# sourceMappingURL=useProviderArgs.js.map","import { __secret_internals } from \"@next-core/runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\nexport async function asyncWrapBrick(brickName, eventsMapping) {\n await __secret_internals.loadBricks([brickName]);\n return wrapBrick(brickName, eventsMapping);\n}\n//# sourceMappingURL=asyncWrapBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useNavConfig() {\n const [navConfig, setNavConfig] = useState(() => getRuntime().getNavConfig());\n useEffect(() => {\n const listener = event => {\n setNavConfig(event.detail);\n };\n window.addEventListener(\"navConfig.change\", listener);\n return () => window.removeEventListener(\"navConfig.change\", listener);\n }, []);\n return navConfig;\n}\n//# sourceMappingURL=useNavConfig.js.map","import { lazy, useMemo } from \"react\";\nimport { asyncWrapBrick } from \"./asyncWrapBrick.js\";\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\nexport function useLazyWrapBrick(brickName, eventsMapping) {\n return useMemo(() => {\n if (brickName != null) {\n return /*#__PURE__*/lazy(async () => ({\n default: await asyncWrapBrick(brickName, eventsMapping)\n }));\n }\n return null;\n }, [brickName, eventsMapping]);\n}\n//# sourceMappingURL=useLazyWrapBrick.js.map"],"names":["ReactUseBrick","_ref","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","async","newRender","renderUseBrick","current","error","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","_refCallback","useCallback","element","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","key","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","window","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender","useProviderArgsDefaults","provider","customOptions","onError","transform","oldData","newData","loading","suspense","cache","dependencies","Object","entries","reduce","acc","value","prototype","toString","cacheMap","Map","useProvider","requestInit","providerOrParamsOrGlobalOptions","globalOptionsOrDeps","deps","options","localOptions","isObject","customOptionKeys","keys","args","restOptions","includes","opts","useProviderArgs","arguments","defaults","setLoading","suspenseStatus","suspender","mounted","response","forceUpdate","useReducer","doFetch","providerArgs","newRes","promise","cacheKey","sortObj","obj","sort","k","_len","length","_key","sortedArgs","v","arg","isString","JSON","stringify","e","buildSortedCacheKey","has","delete","get","fetchByProvider","set","fetch","makeFetch","providerOrBody","providerStr","then","request","defineProperties","query","assign","asyncWrapBrick","brickName","eventsMapping","loadBricks","wrapBrick","useNavConfig","navConfig","setNavConfig","getNavConfig","useLazyWrapBrick","lazy","default"],"sourceRoot":""}
|