@bytechain.cn/colamd 1.5.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.
Files changed (157) hide show
  1. package/.github/workflows/release.yml +66 -0
  2. package/.trae/documents/fix-mermaid-colors-and-sankey.md +50 -0
  3. package/CLAUDE.md +87 -0
  4. package/LICENSE +21 -0
  5. package/README.md +540 -0
  6. package/README_CN.md +543 -0
  7. package/demo.md +486 -0
  8. package/dist/main/index.js +735 -0
  9. package/dist/preload/index.js +71 -0
  10. package/dist/renderer/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  11. package/dist/renderer/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  12. package/dist/renderer/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  13. package/dist/renderer/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  14. package/dist/renderer/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  15. package/dist/renderer/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  16. package/dist/renderer/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  17. package/dist/renderer/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  18. package/dist/renderer/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  19. package/dist/renderer/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  20. package/dist/renderer/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  21. package/dist/renderer/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  22. package/dist/renderer/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  23. package/dist/renderer/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  24. package/dist/renderer/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  25. package/dist/renderer/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  26. package/dist/renderer/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  27. package/dist/renderer/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  28. package/dist/renderer/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  29. package/dist/renderer/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  30. package/dist/renderer/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  31. package/dist/renderer/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  32. package/dist/renderer/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  33. package/dist/renderer/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  34. package/dist/renderer/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  35. package/dist/renderer/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  36. package/dist/renderer/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  37. package/dist/renderer/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  38. package/dist/renderer/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  39. package/dist/renderer/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  40. package/dist/renderer/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  41. package/dist/renderer/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  42. package/dist/renderer/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  43. package/dist/renderer/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  44. package/dist/renderer/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  45. package/dist/renderer/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  46. package/dist/renderer/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  47. package/dist/renderer/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  48. package/dist/renderer/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  49. package/dist/renderer/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  50. package/dist/renderer/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  51. package/dist/renderer/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  52. package/dist/renderer/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  53. package/dist/renderer/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  54. package/dist/renderer/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  55. package/dist/renderer/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  56. package/dist/renderer/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  57. package/dist/renderer/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  58. package/dist/renderer/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  59. package/dist/renderer/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  60. package/dist/renderer/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  61. package/dist/renderer/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  62. package/dist/renderer/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  63. package/dist/renderer/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  64. package/dist/renderer/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  65. package/dist/renderer/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  66. package/dist/renderer/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  67. package/dist/renderer/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  68. package/dist/renderer/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  69. package/dist/renderer/assets/arc-tTbbM8LO.js +131 -0
  70. package/dist/renderer/assets/architectureDiagram-3BPJPVTR-CEgYow6c.js +8720 -0
  71. package/dist/renderer/assets/blockDiagram-GPEHLZMM-LHyVtPwW.js +3825 -0
  72. package/dist/renderer/assets/c4Diagram-AAUBKEIU-C1P1eJrf.js +2482 -0
  73. package/dist/renderer/assets/channel-upve91Tq.js +7 -0
  74. package/dist/renderer/assets/chunk-2J33WTMH-lag2vhq9.js +24 -0
  75. package/dist/renderer/assets/chunk-4BX2VUAB-BXJ8Ggh-.js +16 -0
  76. package/dist/renderer/assets/chunk-55IACEB6-CiBpxRa1.js +13 -0
  77. package/dist/renderer/assets/chunk-727SXJPM-ODeKQFXC.js +2016 -0
  78. package/dist/renderer/assets/chunk-AQP2D5EJ-BK7xJolB.js +1953 -0
  79. package/dist/renderer/assets/chunk-FMBD7UC4-BxpCZPtz.js +19 -0
  80. package/dist/renderer/assets/chunk-ND2GUHAM-CqqaU9Ue.js +116 -0
  81. package/dist/renderer/assets/chunk-QZHKN3VN-Biq_K124.js +19 -0
  82. package/dist/renderer/assets/classDiagram-4FO5ZUOK-Cq95X99o.js +23 -0
  83. package/dist/renderer/assets/classDiagram-v2-Q7XG4LA2-Cq95X99o.js +23 -0
  84. package/dist/renderer/assets/cose-bilkent-S5V4N54A-XasiD0bu.js +4942 -0
  85. package/dist/renderer/assets/cytoscape.esm-CpHeHM5e.js +30269 -0
  86. package/dist/renderer/assets/dagre-BM42HDAG-Nq84Gfx4.js +705 -0
  87. package/dist/renderer/assets/defaultLocale-B2RvLBDe.js +206 -0
  88. package/dist/renderer/assets/diagram-2AECGRRQ-DwuB1GWt.js +301 -0
  89. package/dist/renderer/assets/diagram-5GNKFQAL-C2tgeI1h.js +169 -0
  90. package/dist/renderer/assets/diagram-KO2AKTUF-D5KzjNBc.js +632 -0
  91. package/dist/renderer/assets/diagram-LMA3HP47-C12xHS1c.js +212 -0
  92. package/dist/renderer/assets/diagram-OG6HWLK6-CnxI9oEa.js +851 -0
  93. package/dist/renderer/assets/erDiagram-TEJ5UH35-D_uPaKwn.js +1227 -0
  94. package/dist/renderer/assets/flowDiagram-I6XJVG4X-B6q_1-tE.js +2332 -0
  95. package/dist/renderer/assets/ganttDiagram-6RSMTGT7-CFo7ifF9.js +3720 -0
  96. package/dist/renderer/assets/gitGraphDiagram-PVQCEYII-WSexHTnq.js +1373 -0
  97. package/dist/renderer/assets/graph-DyX_9f6d.js +1988 -0
  98. package/dist/renderer/assets/index-DW7LS8C1.js +72292 -0
  99. package/dist/renderer/assets/index-dyHEFYvY.css +2184 -0
  100. package/dist/renderer/assets/infoDiagram-5YYISTIA-DaeJdLRq.js +31 -0
  101. package/dist/renderer/assets/init-ZxktEp_H.js +16 -0
  102. package/dist/renderer/assets/ishikawaDiagram-YF4QCWOH-DDCZc35f.js +967 -0
  103. package/dist/renderer/assets/journeyDiagram-JHISSGLW-BEdmpAgl.js +1255 -0
  104. package/dist/renderer/assets/kanban-definition-UN3LZRKU-BEFtQcFb.js +1052 -0
  105. package/dist/renderer/assets/layout-CAJgQHdw.js +2610 -0
  106. package/dist/renderer/assets/linear-B2ggJ8Am.js +340 -0
  107. package/dist/renderer/assets/mindmap-definition-RKZ34NQL-DSxVgHB5.js +1180 -0
  108. package/dist/renderer/assets/ordinal-DSZU4PqD.js +76 -0
  109. package/dist/renderer/assets/pieDiagram-4H26LBE5-CwYoJBuL.js +246 -0
  110. package/dist/renderer/assets/quadrantDiagram-W4KKPZXB-CST9Fvg9.js +1344 -0
  111. package/dist/renderer/assets/requirementDiagram-4Y6WPE33-DtrH52jS.js +1204 -0
  112. package/dist/renderer/assets/sankeyDiagram-5OEKKPKP-ca1tPzJ_.js +1274 -0
  113. package/dist/renderer/assets/sequenceDiagram-3UESZ5HK-Dfp1EJZ7.js +4514 -0
  114. package/dist/renderer/assets/stateDiagram-AJRCARHV-Bha2QoNB.js +450 -0
  115. package/dist/renderer/assets/stateDiagram-v2-BHNVJYJU-DWgFUYu1.js +21 -0
  116. package/dist/renderer/assets/timeline-definition-PNZ67QCA-C3h_-OTj.js +1596 -0
  117. package/dist/renderer/assets/vennDiagram-CIIHVFJN-DFzjSrZi.js +2486 -0
  118. package/dist/renderer/assets/wardley-L42UT6IY-Cx-VbqoS.js +30699 -0
  119. package/dist/renderer/assets/wardleyDiagram-YWT4CUSO-S2D9XqX6.js +975 -0
  120. package/dist/renderer/assets/xychartDiagram-2RQKCTM6-Cfxigbts.js +1932 -0
  121. package/dist/renderer/index.html +19 -0
  122. package/docs/agent-diff-view.md +48 -0
  123. package/electron-builder.yml +57 -0
  124. package/electron.vite.config.ts +30 -0
  125. package/package.json +40 -0
  126. package/resources/entitlements.mac.plist +12 -0
  127. package/resources/icon.icns +0 -0
  128. package/resources/icon.png +0 -0
  129. package/resources/icon.svg +23 -0
  130. package/resources/templates/slides/icon.png +0 -0
  131. package/resources/templates/slides/slides-template.md +74 -0
  132. package/resources/templates/slides/template.html +535 -0
  133. package/scripts/afterPack.js +13 -0
  134. package/src/main/index.ts +881 -0
  135. package/src/preload/index.ts +110 -0
  136. package/src/renderer/editor/editor.ts +204 -0
  137. package/src/renderer/editor/html-view.ts +15 -0
  138. package/src/renderer/editor/plugins/index.ts +76 -0
  139. package/src/renderer/editor/plugins/math-plugin.ts +297 -0
  140. package/src/renderer/editor/plugins/mermaid-plugin-custom.css +431 -0
  141. package/src/renderer/editor/plugins/mermaid-plugin-dark.css +428 -0
  142. package/src/renderer/editor/plugins/mermaid-plugin-elegant.css +443 -0
  143. package/src/renderer/editor/plugins/mermaid-plugin-newsprint.css +208 -0
  144. package/src/renderer/editor/plugins/mermaid-plugin.css +111 -0
  145. package/src/renderer/editor/plugins/mermaid-plugin.ts +679 -0
  146. package/src/renderer/env.d.ts +7 -0
  147. package/src/renderer/index.html +18 -0
  148. package/src/renderer/main.ts +303 -0
  149. package/src/renderer/themes/base.css +509 -0
  150. package/src/renderer/themes/theme-manager.ts +40 -0
  151. package/themes/README.md +280 -0
  152. package/themes/elegant.css +664 -0
  153. package/themes/guizang.css +732 -0
  154. package/tsconfig.json +14 -0
  155. package/tsconfig.main.json +11 -0
  156. package/tsconfig.preload.json +11 -0
  157. package/tsconfig.renderer.json +12 -0
@@ -0,0 +1,340 @@
1
+ import { b8 as constant, b9 as interpolateNumber, ba as color, bb as interpolateRgb, bc as interpolateString } from "./index-DW7LS8C1.js";
2
+ import { i as initRange } from "./init-ZxktEp_H.js";
3
+ import { e as exponent, f as formatSpecifier, a as formatPrefix, b as format } from "./defaultLocale-B2RvLBDe.js";
4
+ function ascending(a, b) {
5
+ return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
6
+ }
7
+ function descending(a, b) {
8
+ return a == null || b == null ? NaN : b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;
9
+ }
10
+ function bisector(f) {
11
+ let compare1, compare2, delta;
12
+ if (f.length !== 2) {
13
+ compare1 = ascending;
14
+ compare2 = (d, x) => ascending(f(d), x);
15
+ delta = (d, x) => f(d) - x;
16
+ } else {
17
+ compare1 = f === ascending || f === descending ? f : zero;
18
+ compare2 = f;
19
+ delta = f;
20
+ }
21
+ function left(a, x, lo = 0, hi = a.length) {
22
+ if (lo < hi) {
23
+ if (compare1(x, x) !== 0) return hi;
24
+ do {
25
+ const mid = lo + hi >>> 1;
26
+ if (compare2(a[mid], x) < 0) lo = mid + 1;
27
+ else hi = mid;
28
+ } while (lo < hi);
29
+ }
30
+ return lo;
31
+ }
32
+ function right(a, x, lo = 0, hi = a.length) {
33
+ if (lo < hi) {
34
+ if (compare1(x, x) !== 0) return hi;
35
+ do {
36
+ const mid = lo + hi >>> 1;
37
+ if (compare2(a[mid], x) <= 0) lo = mid + 1;
38
+ else hi = mid;
39
+ } while (lo < hi);
40
+ }
41
+ return lo;
42
+ }
43
+ function center(a, x, lo = 0, hi = a.length) {
44
+ const i = left(a, x, lo, hi - 1);
45
+ return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;
46
+ }
47
+ return { left, center, right };
48
+ }
49
+ function zero() {
50
+ return 0;
51
+ }
52
+ function number$1(x) {
53
+ return x === null ? NaN : +x;
54
+ }
55
+ const ascendingBisect = bisector(ascending);
56
+ const bisectRight = ascendingBisect.right;
57
+ bisector(number$1).center;
58
+ const e10 = Math.sqrt(50), e5 = Math.sqrt(10), e2 = Math.sqrt(2);
59
+ function tickSpec(start, stop, count) {
60
+ const step = (stop - start) / Math.max(0, count), power = Math.floor(Math.log10(step)), error = step / Math.pow(10, power), factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;
61
+ let i1, i2, inc;
62
+ if (power < 0) {
63
+ inc = Math.pow(10, -power) / factor;
64
+ i1 = Math.round(start * inc);
65
+ i2 = Math.round(stop * inc);
66
+ if (i1 / inc < start) ++i1;
67
+ if (i2 / inc > stop) --i2;
68
+ inc = -inc;
69
+ } else {
70
+ inc = Math.pow(10, power) * factor;
71
+ i1 = Math.round(start / inc);
72
+ i2 = Math.round(stop / inc);
73
+ if (i1 * inc < start) ++i1;
74
+ if (i2 * inc > stop) --i2;
75
+ }
76
+ if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2);
77
+ return [i1, i2, inc];
78
+ }
79
+ function ticks(start, stop, count) {
80
+ stop = +stop, start = +start, count = +count;
81
+ if (!(count > 0)) return [];
82
+ if (start === stop) return [start];
83
+ const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count);
84
+ if (!(i2 >= i1)) return [];
85
+ const n = i2 - i1 + 1, ticks2 = new Array(n);
86
+ if (reverse) {
87
+ if (inc < 0) for (let i = 0; i < n; ++i) ticks2[i] = (i2 - i) / -inc;
88
+ else for (let i = 0; i < n; ++i) ticks2[i] = (i2 - i) * inc;
89
+ } else {
90
+ if (inc < 0) for (let i = 0; i < n; ++i) ticks2[i] = (i1 + i) / -inc;
91
+ else for (let i = 0; i < n; ++i) ticks2[i] = (i1 + i) * inc;
92
+ }
93
+ return ticks2;
94
+ }
95
+ function tickIncrement(start, stop, count) {
96
+ stop = +stop, start = +start, count = +count;
97
+ return tickSpec(start, stop, count)[2];
98
+ }
99
+ function tickStep(start, stop, count) {
100
+ stop = +stop, start = +start, count = +count;
101
+ const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count);
102
+ return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);
103
+ }
104
+ function numberArray(a, b) {
105
+ if (!b) b = [];
106
+ var n = a ? Math.min(b.length, a.length) : 0, c = b.slice(), i;
107
+ return function(t) {
108
+ for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;
109
+ return c;
110
+ };
111
+ }
112
+ function isNumberArray(x) {
113
+ return ArrayBuffer.isView(x) && !(x instanceof DataView);
114
+ }
115
+ function genericArray(a, b) {
116
+ var nb = b ? b.length : 0, na = a ? Math.min(nb, a.length) : 0, x = new Array(na), c = new Array(nb), i;
117
+ for (i = 0; i < na; ++i) x[i] = interpolate(a[i], b[i]);
118
+ for (; i < nb; ++i) c[i] = b[i];
119
+ return function(t) {
120
+ for (i = 0; i < na; ++i) c[i] = x[i](t);
121
+ return c;
122
+ };
123
+ }
124
+ function date(a, b) {
125
+ var d = /* @__PURE__ */ new Date();
126
+ return a = +a, b = +b, function(t) {
127
+ return d.setTime(a * (1 - t) + b * t), d;
128
+ };
129
+ }
130
+ function object(a, b) {
131
+ var i = {}, c = {}, k;
132
+ if (a === null || typeof a !== "object") a = {};
133
+ if (b === null || typeof b !== "object") b = {};
134
+ for (k in b) {
135
+ if (k in a) {
136
+ i[k] = interpolate(a[k], b[k]);
137
+ } else {
138
+ c[k] = b[k];
139
+ }
140
+ }
141
+ return function(t) {
142
+ for (k in i) c[k] = i[k](t);
143
+ return c;
144
+ };
145
+ }
146
+ function interpolate(a, b) {
147
+ var t = typeof b, c;
148
+ return b == null || t === "boolean" ? constant(b) : (t === "number" ? interpolateNumber : t === "string" ? (c = color(b)) ? (b = c, interpolateRgb) : interpolateString : b instanceof color ? interpolateRgb : b instanceof Date ? date : isNumberArray(b) ? numberArray : Array.isArray(b) ? genericArray : typeof b.valueOf !== "function" && typeof b.toString !== "function" || isNaN(b) ? object : interpolateNumber)(a, b);
149
+ }
150
+ function interpolateRound(a, b) {
151
+ return a = +a, b = +b, function(t) {
152
+ return Math.round(a * (1 - t) + b * t);
153
+ };
154
+ }
155
+ function precisionFixed(step) {
156
+ return Math.max(0, -exponent(Math.abs(step)));
157
+ }
158
+ function precisionPrefix(step, value) {
159
+ return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));
160
+ }
161
+ function precisionRound(step, max) {
162
+ step = Math.abs(step), max = Math.abs(max) - step;
163
+ return Math.max(0, exponent(max) - exponent(step)) + 1;
164
+ }
165
+ function constants(x) {
166
+ return function() {
167
+ return x;
168
+ };
169
+ }
170
+ function number(x) {
171
+ return +x;
172
+ }
173
+ var unit = [0, 1];
174
+ function identity(x) {
175
+ return x;
176
+ }
177
+ function normalize(a, b) {
178
+ return (b -= a = +a) ? function(x) {
179
+ return (x - a) / b;
180
+ } : constants(isNaN(b) ? NaN : 0.5);
181
+ }
182
+ function clamper(a, b) {
183
+ var t;
184
+ if (a > b) t = a, a = b, b = t;
185
+ return function(x) {
186
+ return Math.max(a, Math.min(b, x));
187
+ };
188
+ }
189
+ function bimap(domain, range, interpolate2) {
190
+ var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];
191
+ if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate2(r1, r0);
192
+ else d0 = normalize(d0, d1), r0 = interpolate2(r0, r1);
193
+ return function(x) {
194
+ return r0(d0(x));
195
+ };
196
+ }
197
+ function polymap(domain, range, interpolate2) {
198
+ var j = Math.min(domain.length, range.length) - 1, d = new Array(j), r = new Array(j), i = -1;
199
+ if (domain[j] < domain[0]) {
200
+ domain = domain.slice().reverse();
201
+ range = range.slice().reverse();
202
+ }
203
+ while (++i < j) {
204
+ d[i] = normalize(domain[i], domain[i + 1]);
205
+ r[i] = interpolate2(range[i], range[i + 1]);
206
+ }
207
+ return function(x) {
208
+ var i2 = bisectRight(domain, x, 1, j) - 1;
209
+ return r[i2](d[i2](x));
210
+ };
211
+ }
212
+ function copy(source, target) {
213
+ return target.domain(source.domain()).range(source.range()).interpolate(source.interpolate()).clamp(source.clamp()).unknown(source.unknown());
214
+ }
215
+ function transformer() {
216
+ var domain = unit, range = unit, interpolate$1 = interpolate, transform, untransform, unknown, clamp = identity, piecewise, output, input;
217
+ function rescale() {
218
+ var n = Math.min(domain.length, range.length);
219
+ if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);
220
+ piecewise = n > 2 ? polymap : bimap;
221
+ output = input = null;
222
+ return scale;
223
+ }
224
+ function scale(x) {
225
+ return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate$1)))(transform(clamp(x)));
226
+ }
227
+ scale.invert = function(y) {
228
+ return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));
229
+ };
230
+ scale.domain = function(_) {
231
+ return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();
232
+ };
233
+ scale.range = function(_) {
234
+ return arguments.length ? (range = Array.from(_), rescale()) : range.slice();
235
+ };
236
+ scale.rangeRound = function(_) {
237
+ return range = Array.from(_), interpolate$1 = interpolateRound, rescale();
238
+ };
239
+ scale.clamp = function(_) {
240
+ return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;
241
+ };
242
+ scale.interpolate = function(_) {
243
+ return arguments.length ? (interpolate$1 = _, rescale()) : interpolate$1;
244
+ };
245
+ scale.unknown = function(_) {
246
+ return arguments.length ? (unknown = _, scale) : unknown;
247
+ };
248
+ return function(t, u) {
249
+ transform = t, untransform = u;
250
+ return rescale();
251
+ };
252
+ }
253
+ function continuous() {
254
+ return transformer()(identity, identity);
255
+ }
256
+ function tickFormat(start, stop, count, specifier) {
257
+ var step = tickStep(start, stop, count), precision;
258
+ specifier = formatSpecifier(specifier == null ? ",f" : specifier);
259
+ switch (specifier.type) {
260
+ case "s": {
261
+ var value = Math.max(Math.abs(start), Math.abs(stop));
262
+ if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;
263
+ return formatPrefix(specifier, value);
264
+ }
265
+ case "":
266
+ case "e":
267
+ case "g":
268
+ case "p":
269
+ case "r": {
270
+ if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === "e");
271
+ break;
272
+ }
273
+ case "f":
274
+ case "%": {
275
+ if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === "%") * 2;
276
+ break;
277
+ }
278
+ }
279
+ return format(specifier);
280
+ }
281
+ function linearish(scale) {
282
+ var domain = scale.domain;
283
+ scale.ticks = function(count) {
284
+ var d = domain();
285
+ return ticks(d[0], d[d.length - 1], count == null ? 10 : count);
286
+ };
287
+ scale.tickFormat = function(count, specifier) {
288
+ var d = domain();
289
+ return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);
290
+ };
291
+ scale.nice = function(count) {
292
+ if (count == null) count = 10;
293
+ var d = domain();
294
+ var i0 = 0;
295
+ var i1 = d.length - 1;
296
+ var start = d[i0];
297
+ var stop = d[i1];
298
+ var prestep;
299
+ var step;
300
+ var maxIter = 10;
301
+ if (stop < start) {
302
+ step = start, start = stop, stop = step;
303
+ step = i0, i0 = i1, i1 = step;
304
+ }
305
+ while (maxIter-- > 0) {
306
+ step = tickIncrement(start, stop, count);
307
+ if (step === prestep) {
308
+ d[i0] = start;
309
+ d[i1] = stop;
310
+ return domain(d);
311
+ } else if (step > 0) {
312
+ start = Math.floor(start / step) * step;
313
+ stop = Math.ceil(stop / step) * step;
314
+ } else if (step < 0) {
315
+ start = Math.ceil(start * step) / step;
316
+ stop = Math.floor(stop * step) / step;
317
+ } else {
318
+ break;
319
+ }
320
+ prestep = step;
321
+ }
322
+ return scale;
323
+ };
324
+ return scale;
325
+ }
326
+ function linear() {
327
+ var scale = continuous();
328
+ scale.copy = function() {
329
+ return copy(scale, linear());
330
+ };
331
+ initRange.apply(scale, arguments);
332
+ return linearish(scale);
333
+ }
334
+ export {
335
+ copy as a,
336
+ bisector as b,
337
+ continuous as c,
338
+ linear as l,
339
+ tickStep as t
340
+ };