@vielzeug/prism 3.0.0 → 26.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/_dev.cjs +1 -1
- package/dist/_dev.cjs.map +1 -1
- package/dist/_dev.js +1 -5
- package/dist/_dev.js.map +1 -1
- package/dist/animation/easing.cjs +1 -1
- package/dist/animation/easing.cjs.map +1 -1
- package/dist/animation/easing.js +1 -13
- package/dist/animation/easing.js.map +1 -1
- package/dist/animation/motion.cjs +1 -1
- package/dist/animation/motion.cjs.map +1 -1
- package/dist/animation/motion.js +1 -12
- package/dist/animation/motion.js.map +1 -1
- package/dist/animation/transition.cjs +1 -1
- package/dist/animation/transition.cjs.map +1 -1
- package/dist/animation/transition.js +1 -28
- package/dist/animation/transition.js.map +1 -1
- package/dist/animation/tween.cjs +1 -1
- package/dist/animation/tween.cjs.map +1 -1
- package/dist/animation/tween.js +1 -7
- package/dist/animation/tween.js.map +1 -1
- package/dist/axes/axis.cjs +1 -1
- package/dist/axes/axis.cjs.map +1 -1
- package/dist/axes/axis.js +1 -63
- package/dist/axes/axis.js.map +1 -1
- package/dist/axes/grid.cjs +1 -1
- package/dist/axes/grid.cjs.map +1 -1
- package/dist/axes/grid.js +1 -29
- package/dist/axes/grid.js.map +1 -1
- package/dist/axes/scale-utils.cjs +1 -1
- package/dist/axes/scale-utils.cjs.map +1 -1
- package/dist/axes/scale-utils.js +1 -10
- package/dist/axes/scale-utils.js.map +1 -1
- package/dist/charts/area/area-chart.cjs +1 -1
- package/dist/charts/area/area-chart.cjs.map +1 -1
- package/dist/charts/area/area-chart.js +1 -57
- package/dist/charts/area/area-chart.js.map +1 -1
- package/dist/charts/area/area-renderer.cjs +1 -1
- package/dist/charts/area/area-renderer.cjs.map +1 -1
- package/dist/charts/area/area-renderer.js +1 -73
- package/dist/charts/area/area-renderer.js.map +1 -1
- package/dist/charts/bar/bar-chart.cjs +1 -1
- package/dist/charts/bar/bar-chart.cjs.map +1 -1
- package/dist/charts/bar/bar-chart.js +1 -169
- package/dist/charts/bar/bar-chart.js.map +1 -1
- package/dist/charts/bar/bar-hit-test.cjs +1 -1
- package/dist/charts/bar/bar-hit-test.cjs.map +1 -1
- package/dist/charts/bar/bar-hit-test.js +1 -29
- package/dist/charts/bar/bar-hit-test.js.map +1 -1
- package/dist/charts/bar/bar-renderer.cjs +1 -1
- package/dist/charts/bar/bar-renderer.cjs.map +1 -1
- package/dist/charts/bar/bar-renderer.js +1 -106
- package/dist/charts/bar/bar-renderer.js.map +1 -1
- package/dist/charts/line/line-chart.cjs +1 -1
- package/dist/charts/line/line-chart.cjs.map +1 -1
- package/dist/charts/line/line-chart.js +1 -58
- package/dist/charts/line/line-chart.js.map +1 -1
- package/dist/charts/line/line-renderer.cjs +1 -1
- package/dist/charts/line/line-renderer.cjs.map +1 -1
- package/dist/charts/line/line-renderer.js +1 -100
- package/dist/charts/line/line-renderer.js.map +1 -1
- package/dist/charts/pie/pie-chart.cjs +1 -1
- package/dist/charts/pie/pie-chart.cjs.map +1 -1
- package/dist/charts/pie/pie-chart.js +1 -165
- package/dist/charts/pie/pie-chart.js.map +1 -1
- package/dist/charts/pie/pie-renderer.cjs +1 -1
- package/dist/charts/pie/pie-renderer.cjs.map +1 -1
- package/dist/charts/pie/pie-renderer.js +1 -76
- package/dist/charts/pie/pie-renderer.js.map +1 -1
- package/dist/charts/sparkline/sparkline.cjs +1 -1
- package/dist/charts/sparkline/sparkline.cjs.map +1 -1
- package/dist/charts/sparkline/sparkline.js +1 -191
- package/dist/charts/sparkline/sparkline.js.map +1 -1
- package/dist/core/cartesian-model.cjs +1 -1
- package/dist/core/cartesian-model.cjs.map +1 -1
- package/dist/core/cartesian-model.js +1 -30
- package/dist/core/cartesian-model.js.map +1 -1
- package/dist/core/cartesian-scales.cjs +1 -1
- package/dist/core/cartesian-scales.cjs.map +1 -1
- package/dist/core/cartesian-scales.js +1 -37
- package/dist/core/cartesian-scales.js.map +1 -1
- package/dist/core/chart-base.cjs +1 -1
- package/dist/core/chart-base.cjs.map +1 -1
- package/dist/core/chart-base.js +1 -53
- package/dist/core/chart-base.js.map +1 -1
- package/dist/core/chart-scaffold.cjs +1 -1
- package/dist/core/chart-scaffold.cjs.map +1 -1
- package/dist/core/chart-scaffold.js +1 -89
- package/dist/core/chart-scaffold.js.map +1 -1
- package/dist/core/layout.cjs +1 -1
- package/dist/core/layout.cjs.map +1 -1
- package/dist/core/layout.js +1 -22
- package/dist/core/layout.js.map +1 -1
- package/dist/core/responsive.cjs +1 -1
- package/dist/core/responsive.cjs.map +1 -1
- package/dist/core/responsive.js +1 -19
- package/dist/core/responsive.js.map +1 -1
- package/dist/devtools.cjs +1 -1
- package/dist/devtools.cjs.map +1 -1
- package/dist/devtools.js +1 -18
- package/dist/devtools.js.map +1 -1
- package/dist/errors.cjs +1 -1
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.js +1 -9
- package/dist/errors.js.map +1 -1
- package/dist/index.js +1 -11
- package/dist/interaction/crosshair.cjs +1 -1
- package/dist/interaction/crosshair.cjs.map +1 -1
- package/dist/interaction/crosshair.js +1 -45
- package/dist/interaction/crosshair.js.map +1 -1
- package/dist/interaction/events.cjs +1 -1
- package/dist/interaction/events.cjs.map +1 -1
- package/dist/interaction/events.js +1 -11
- package/dist/interaction/events.js.map +1 -1
- package/dist/interaction/legend.cjs +1 -1
- package/dist/interaction/legend.cjs.map +1 -1
- package/dist/interaction/legend.js +1 -30
- package/dist/interaction/legend.js.map +1 -1
- package/dist/interaction/series-interaction.cjs +1 -1
- package/dist/interaction/series-interaction.cjs.map +1 -1
- package/dist/interaction/series-interaction.js +1 -97
- package/dist/interaction/series-interaction.js.map +1 -1
- package/dist/interaction/tooltip.cjs +1 -1
- package/dist/interaction/tooltip.cjs.map +1 -1
- package/dist/interaction/tooltip.js +1 -63
- package/dist/interaction/tooltip.js.map +1 -1
- package/dist/prism.cjs +1 -1
- package/dist/prism.cjs.map +1 -1
- package/dist/prism.iife.js +1 -1
- package/dist/prism.iife.js.map +1 -1
- package/dist/prism.js +1 -1
- package/dist/prism.js.map +1 -1
- package/dist/scales/band.cjs +1 -1
- package/dist/scales/band.cjs.map +1 -1
- package/dist/scales/band.js +1 -39
- package/dist/scales/band.js.map +1 -1
- package/dist/scales/linear.cjs +1 -1
- package/dist/scales/linear.cjs.map +1 -1
- package/dist/scales/linear.js +1 -43
- package/dist/scales/linear.js.map +1 -1
- package/dist/scales/time.cjs +1 -1
- package/dist/scales/time.cjs.map +1 -1
- package/dist/scales/time.js +1 -61
- package/dist/scales/time.js.map +1 -1
- package/dist/svg/element.cjs +1 -1
- package/dist/svg/element.cjs.map +1 -1
- package/dist/svg/element.js +1 -22
- package/dist/svg/element.js.map +1 -1
- package/dist/svg/path.cjs +1 -1
- package/dist/svg/path.cjs.map +1 -1
- package/dist/svg/path.js +1 -48
- package/dist/svg/path.js.map +1 -1
- package/dist/svg/text.cjs +1 -1
- package/dist/svg/text.cjs.map +1 -1
- package/dist/svg/text.js +1 -9
- package/dist/svg/text.js.map +1 -1
- package/dist/theme/index.cjs +1 -1
- package/dist/theme/index.cjs.map +1 -1
- package/dist/theme/index.js +1 -19
- package/dist/theme/index.js.map +1 -1
- package/package.json +5 -5
package/dist/scales/band.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
require("../_dev.cjs");function
|
|
1
|
+
require("../_dev.cjs");function bandScale(e){let getDomain=()=>e.domain,getRange=()=>e.range,getBandwidth=()=>{let t=getDomain().length;if(t===0)return 0;let[n,r]=getRange(),i=e.padding??.1;return(r-n)/(t+(t-1)*i+(e.paddingOuter??i)*2)};return{bandwidth:getBandwidth,get domain(){return getDomain()},gap(){let t=e.padding??.1;return getBandwidth()*t},map(t){let n=getDomain().indexOf(t);if(n===-1)return`${t}`,0;let[r]=getRange(),i=getBandwidth(),a=e.padding??.1;return r+(e.paddingOuter??a)*i+n*(i+i*a)},get range(){return getRange()},ticks(e){let t=getDomain();if(e===void 0||e>=t.length)return[...t];if(e<=0)return[];let n=Math.ceil(t.length/e);return t.filter((e,t)=>t%n===0)}}}exports.bandScale=bandScale;
|
|
2
2
|
//# sourceMappingURL=band.cjs.map
|
package/dist/scales/band.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"band.cjs","names":[],"sources":["../../src/scales/band.ts"],"sourcesContent":["import { warn } from '../_dev';\nimport type { BandScale } from '../types';\nimport type { BandScaleConfig } from './types';\n\nexport function bandScale(config: BandScaleConfig): BandScale {\n // Every method below closes over `config`/these helpers directly instead of reading\n // `this` — the returned object stays fully functional when destructured, e.g.\n // `const { map } = bandScale(cfg)`.\n const getDomain = (): string[] => config.domain;\n const getRange = (): [number, number] => config.range;\n\n const getBandwidth = (): number => {\n const n = getDomain().length;\n\n if (n === 0) return 0;\n\n const [r0, r1] = getRange();\n const padding = config.padding ?? 0.1;\n const totalWidth = r1 - r0;\n\n return totalWidth / (n + (n - 1) * padding + (config.paddingOuter ?? padding) * 2);\n };\n\n return {\n bandwidth: getBandwidth,\n\n get domain(): string[] {\n return getDomain();\n },\n\n gap(): number {\n const padding = config.padding ?? 0.1;\n\n return getBandwidth() * padding;\n },\n\n map(value: string): number {\n const domain = getDomain();\n const idx = domain.indexOf(value);\n\n if (idx === -1) {\n warn(`bandScale.map: unknown category \"${value}\"`);\n\n return 0;\n }\n\n const [r0] = getRange();\n const bw = getBandwidth();\n const padding = config.padding ?? 0.1;\n const outer = config.paddingOuter ?? padding;\n\n return r0 + outer * bw + idx * (bw + bw * padding);\n },\n\n get range(): [number, number] {\n return getRange();\n },\n\n ticks(count?: number): string[] {\n const domain = getDomain();\n\n if (count === undefined || count >= domain.length) return [...domain];\n\n if (count <= 0) return [];\n\n const step = Math.ceil(domain.length / count);\n\n return domain.filter((_, i) => i % step === 0);\n },\n };\n}\n"],"mappings":"uBAIA,SAAgB,
|
|
1
|
+
{"version":3,"file":"band.cjs","names":[],"sources":["../../src/scales/band.ts"],"sourcesContent":["import { warn } from '../_dev';\nimport type { BandScale } from '../types';\nimport type { BandScaleConfig } from './types';\n\nexport function bandScale(config: BandScaleConfig): BandScale {\n // Every method below closes over `config`/these helpers directly instead of reading\n // `this` — the returned object stays fully functional when destructured, e.g.\n // `const { map } = bandScale(cfg)`.\n const getDomain = (): string[] => config.domain;\n const getRange = (): [number, number] => config.range;\n\n const getBandwidth = (): number => {\n const n = getDomain().length;\n\n if (n === 0) return 0;\n\n const [r0, r1] = getRange();\n const padding = config.padding ?? 0.1;\n const totalWidth = r1 - r0;\n\n return totalWidth / (n + (n - 1) * padding + (config.paddingOuter ?? padding) * 2);\n };\n\n return {\n bandwidth: getBandwidth,\n\n get domain(): string[] {\n return getDomain();\n },\n\n gap(): number {\n const padding = config.padding ?? 0.1;\n\n return getBandwidth() * padding;\n },\n\n map(value: string): number {\n const domain = getDomain();\n const idx = domain.indexOf(value);\n\n if (idx === -1) {\n warn(`bandScale.map: unknown category \"${value}\"`);\n\n return 0;\n }\n\n const [r0] = getRange();\n const bw = getBandwidth();\n const padding = config.padding ?? 0.1;\n const outer = config.paddingOuter ?? padding;\n\n return r0 + outer * bw + idx * (bw + bw * padding);\n },\n\n get range(): [number, number] {\n return getRange();\n },\n\n ticks(count?: number): string[] {\n const domain = getDomain();\n\n if (count === undefined || count >= domain.length) return [...domain];\n\n if (count <= 0) return [];\n\n const step = Math.ceil(domain.length / count);\n\n return domain.filter((_, i) => i % step === 0);\n },\n };\n}\n"],"mappings":"uBAIA,SAAgB,UAAU,EAAoC,CAI5D,IAAM,cAA4B,EAAO,OACnC,aAAmC,EAAO,MAE1C,iBAA6B,CACjC,IAAM,EAAI,UAAU,CAAC,CAAC,OAEtB,GAAI,IAAM,EAAG,MAAO,GAEpB,GAAM,CAAC,EAAI,GAAM,SAAS,EACpB,EAAU,EAAO,SAAW,GAGlC,OAFmB,EAAK,IAEH,GAAK,EAAI,GAAK,GAAW,EAAO,cAAgB,GAAW,EAClF,EAEA,MAAO,CACL,UAAW,aAEX,IAAI,QAAmB,CACrB,OAAO,UAAU,CACnB,EAEA,KAAc,CACZ,IAAM,EAAU,EAAO,SAAW,GAElC,OAAO,aAAa,EAAI,CAC1B,EAEA,IAAI,EAAuB,CAEzB,IAAM,EADS,UACH,CAAA,CAAO,QAAQ,CAAK,EAEhC,GAAI,IAAQ,GAGV,MAFK,GAAoC,EAApC,EAEE,EAGT,GAAM,CAAC,GAAM,SAAS,EAChB,EAAK,aAAa,EAClB,EAAU,EAAO,SAAW,GAGlC,OAAO,GAFO,EAAO,cAAgB,GAEjB,EAAK,GAAO,EAAK,EAAK,EAC5C,EAEA,IAAI,OAA0B,CAC5B,OAAO,SAAS,CAClB,EAEA,MAAM,EAA0B,CAC9B,IAAM,EAAS,UAAU,EAEzB,GAAI,IAAU,IAAA,IAAa,GAAS,EAAO,OAAQ,MAAO,CAAC,GAAG,CAAM,EAEpE,GAAI,GAAS,EAAG,MAAO,CAAC,EAExB,IAAM,EAAO,KAAK,KAAK,EAAO,OAAS,CAAK,EAE5C,OAAO,EAAO,QAAQ,EAAG,IAAM,EAAI,IAAS,CAAC,CAC/C,CACF,CACF"}
|
package/dist/scales/band.js
CHANGED
|
@@ -1,40 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
//#region src/scales/band.ts
|
|
3
|
-
function e(e) {
|
|
4
|
-
let t = () => e.domain, n = () => e.range, r = () => {
|
|
5
|
-
let r = t().length;
|
|
6
|
-
if (r === 0) return 0;
|
|
7
|
-
let [i, a] = n(), o = e.padding ?? .1;
|
|
8
|
-
return (a - i) / (r + (r - 1) * o + (e.paddingOuter ?? o) * 2);
|
|
9
|
-
};
|
|
10
|
-
return {
|
|
11
|
-
bandwidth: r,
|
|
12
|
-
get domain() {
|
|
13
|
-
return t();
|
|
14
|
-
},
|
|
15
|
-
gap() {
|
|
16
|
-
let t = e.padding ?? .1;
|
|
17
|
-
return r() * t;
|
|
18
|
-
},
|
|
19
|
-
map(i) {
|
|
20
|
-
let a = t().indexOf(i);
|
|
21
|
-
if (a === -1) return `${i}`, 0;
|
|
22
|
-
let [o] = n(), s = r(), c = e.padding ?? .1;
|
|
23
|
-
return o + (e.paddingOuter ?? c) * s + a * (s + s * c);
|
|
24
|
-
},
|
|
25
|
-
get range() {
|
|
26
|
-
return n();
|
|
27
|
-
},
|
|
28
|
-
ticks(e) {
|
|
29
|
-
let n = t();
|
|
30
|
-
if (e === void 0 || e >= n.length) return [...n];
|
|
31
|
-
if (e <= 0) return [];
|
|
32
|
-
let r = Math.ceil(n.length / e);
|
|
33
|
-
return n.filter((e, t) => t % r === 0);
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
//#endregion
|
|
38
|
-
export { e as bandScale };
|
|
39
|
-
|
|
1
|
+
import"../_dev.js";function bandScale(e){let getDomain=()=>e.domain,getRange=()=>e.range,getBandwidth=()=>{let t=getDomain().length;if(t===0)return 0;let[n,r]=getRange(),i=e.padding??.1;return(r-n)/(t+(t-1)*i+(e.paddingOuter??i)*2)};return{bandwidth:getBandwidth,get domain(){return getDomain()},gap(){let t=e.padding??.1;return getBandwidth()*t},map(t){let n=getDomain().indexOf(t);if(n===-1)return`${t}`,0;let[r]=getRange(),i=getBandwidth(),a=e.padding??.1;return r+(e.paddingOuter??a)*i+n*(i+i*a)},get range(){return getRange()},ticks(e){let t=getDomain();if(e===void 0||e>=t.length)return[...t];if(e<=0)return[];let n=Math.ceil(t.length/e);return t.filter((e,t)=>t%n===0)}}}export{bandScale};
|
|
40
2
|
//# sourceMappingURL=band.js.map
|
package/dist/scales/band.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"band.js","names":[],"sources":["../../src/scales/band.ts"],"sourcesContent":["import { warn } from '../_dev';\nimport type { BandScale } from '../types';\nimport type { BandScaleConfig } from './types';\n\nexport function bandScale(config: BandScaleConfig): BandScale {\n // Every method below closes over `config`/these helpers directly instead of reading\n // `this` — the returned object stays fully functional when destructured, e.g.\n // `const { map } = bandScale(cfg)`.\n const getDomain = (): string[] => config.domain;\n const getRange = (): [number, number] => config.range;\n\n const getBandwidth = (): number => {\n const n = getDomain().length;\n\n if (n === 0) return 0;\n\n const [r0, r1] = getRange();\n const padding = config.padding ?? 0.1;\n const totalWidth = r1 - r0;\n\n return totalWidth / (n + (n - 1) * padding + (config.paddingOuter ?? padding) * 2);\n };\n\n return {\n bandwidth: getBandwidth,\n\n get domain(): string[] {\n return getDomain();\n },\n\n gap(): number {\n const padding = config.padding ?? 0.1;\n\n return getBandwidth() * padding;\n },\n\n map(value: string): number {\n const domain = getDomain();\n const idx = domain.indexOf(value);\n\n if (idx === -1) {\n warn(`bandScale.map: unknown category \"${value}\"`);\n\n return 0;\n }\n\n const [r0] = getRange();\n const bw = getBandwidth();\n const padding = config.padding ?? 0.1;\n const outer = config.paddingOuter ?? padding;\n\n return r0 + outer * bw + idx * (bw + bw * padding);\n },\n\n get range(): [number, number] {\n return getRange();\n },\n\n ticks(count?: number): string[] {\n const domain = getDomain();\n\n if (count === undefined || count >= domain.length) return [...domain];\n\n if (count <= 0) return [];\n\n const step = Math.ceil(domain.length / count);\n\n return domain.filter((_, i) => i % step === 0);\n },\n };\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"band.js","names":[],"sources":["../../src/scales/band.ts"],"sourcesContent":["import { warn } from '../_dev';\nimport type { BandScale } from '../types';\nimport type { BandScaleConfig } from './types';\n\nexport function bandScale(config: BandScaleConfig): BandScale {\n // Every method below closes over `config`/these helpers directly instead of reading\n // `this` — the returned object stays fully functional when destructured, e.g.\n // `const { map } = bandScale(cfg)`.\n const getDomain = (): string[] => config.domain;\n const getRange = (): [number, number] => config.range;\n\n const getBandwidth = (): number => {\n const n = getDomain().length;\n\n if (n === 0) return 0;\n\n const [r0, r1] = getRange();\n const padding = config.padding ?? 0.1;\n const totalWidth = r1 - r0;\n\n return totalWidth / (n + (n - 1) * padding + (config.paddingOuter ?? padding) * 2);\n };\n\n return {\n bandwidth: getBandwidth,\n\n get domain(): string[] {\n return getDomain();\n },\n\n gap(): number {\n const padding = config.padding ?? 0.1;\n\n return getBandwidth() * padding;\n },\n\n map(value: string): number {\n const domain = getDomain();\n const idx = domain.indexOf(value);\n\n if (idx === -1) {\n warn(`bandScale.map: unknown category \"${value}\"`);\n\n return 0;\n }\n\n const [r0] = getRange();\n const bw = getBandwidth();\n const padding = config.padding ?? 0.1;\n const outer = config.paddingOuter ?? padding;\n\n return r0 + outer * bw + idx * (bw + bw * padding);\n },\n\n get range(): [number, number] {\n return getRange();\n },\n\n ticks(count?: number): string[] {\n const domain = getDomain();\n\n if (count === undefined || count >= domain.length) return [...domain];\n\n if (count <= 0) return [];\n\n const step = Math.ceil(domain.length / count);\n\n return domain.filter((_, i) => i % step === 0);\n },\n };\n}\n"],"mappings":"mBAIA,SAAgB,UAAU,EAAoC,CAI5D,IAAM,cAA4B,EAAO,OACnC,aAAmC,EAAO,MAE1C,iBAA6B,CACjC,IAAM,EAAI,UAAU,CAAC,CAAC,OAEtB,GAAI,IAAM,EAAG,MAAO,GAEpB,GAAM,CAAC,EAAI,GAAM,SAAS,EACpB,EAAU,EAAO,SAAW,GAGlC,OAFmB,EAAK,IAEH,GAAK,EAAI,GAAK,GAAW,EAAO,cAAgB,GAAW,EAClF,EAEA,MAAO,CACL,UAAW,aAEX,IAAI,QAAmB,CACrB,OAAO,UAAU,CACnB,EAEA,KAAc,CACZ,IAAM,EAAU,EAAO,SAAW,GAElC,OAAO,aAAa,EAAI,CAC1B,EAEA,IAAI,EAAuB,CAEzB,IAAM,EADS,UACH,CAAA,CAAO,QAAQ,CAAK,EAEhC,GAAI,IAAQ,GAGV,MAFK,GAAoC,EAApC,EAEE,EAGT,GAAM,CAAC,GAAM,SAAS,EAChB,EAAK,aAAa,EAClB,EAAU,EAAO,SAAW,GAGlC,OAAO,GAFO,EAAO,cAAgB,GAEjB,EAAK,GAAO,EAAK,EAAK,EAC5C,EAEA,IAAI,OAA0B,CAC5B,OAAO,SAAS,CAClB,EAEA,MAAM,EAA0B,CAC9B,IAAM,EAAS,UAAU,EAEzB,GAAI,IAAU,IAAA,IAAa,GAAS,EAAO,OAAQ,MAAO,CAAC,GAAG,CAAM,EAEpE,GAAI,GAAS,EAAG,MAAO,CAAC,EAExB,IAAM,EAAO,KAAK,KAAK,EAAO,OAAS,CAAK,EAE5C,OAAO,EAAO,QAAQ,EAAG,IAAM,EAAI,IAAS,CAAC,CAC/C,CACF,CACF"}
|
package/dist/scales/linear.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function
|
|
1
|
+
function niceNumber(e,t){let n=Math.floor(Math.log10(e)),r=e/10**n,i;return i=t?r<1.5?1:r<3?2:r<7?5:10:r<=1?1:r<=2?2:r<=5?5:10,i*10**n}function niceRange(e,t,n){if(!Number.isFinite(e)||!Number.isFinite(t))return[0,1];if(e>t&&([e,t]=[t,e]),e===t)return[e-1,t+1];let r=niceNumber(niceNumber(t-e,!1)/Math.max(1,n-1),!0);return[Math.floor(e/r)*r,Math.ceil(t/r)*r]}function linearScale(e){let getDomain=()=>e.nice===!1?e.domain:niceRange(e.domain[0],e.domain[1],10),getRange=()=>e.range;return{get domain(){return getDomain()},invert(e){let[t,n]=getDomain(),[r,i]=getRange();return i===r?t:t+(e-r)/(i-r)*(n-t)},map(t){let[n,r]=getDomain(),[i,a]=getRange();if(r===n)return i;let o=(t-n)/(r-n);return e.clamp&&(o=Math.max(0,Math.min(1,o))),i+o*(a-i)},get range(){return getRange()},ticks(e=10){if(e<=0)return[];let[t,n]=getDomain();if(t===n||e===1)return[t];let r=Math.min(t,n),i=Math.max(t,n),a=niceNumber(niceNumber(i-r,!1)/(e-1),!0),o=Math.ceil(r/a)*a,s=Math.floor(i/a)*a,c=[];for(let e=o;e<=s+a*.5;e+=a)c.push(Math.round(e*0xe8d4a51000)/0xe8d4a51000);return c}}}exports.linearScale=linearScale;
|
|
2
2
|
//# sourceMappingURL=linear.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linear.cjs","names":[],"sources":["../../src/scales/linear.ts"],"sourcesContent":["import type { Scale } from '../types';\nimport type { LinearScaleConfig } from './types';\n\nfunction niceNumber(value: number, round: boolean): number {\n const exp = Math.floor(Math.log10(value));\n const frac = value / 10 ** exp;\n let nice: number;\n\n if (round) {\n if (frac < 1.5) nice = 1;\n else if (frac < 3) nice = 2;\n else if (frac < 7) nice = 5;\n else nice = 10;\n } else {\n if (frac <= 1) nice = 1;\n else if (frac <= 2) nice = 2;\n else if (frac <= 5) nice = 5;\n else nice = 10;\n }\n\n return nice * 10 ** exp;\n}\n\nfunction niceRange(min: number, max: number, tickCount: number): [number, number] {\n if (!Number.isFinite(min) || !Number.isFinite(max)) return [0, 1];\n\n if (min > max) [min, max] = [max, min];\n\n if (min === max) return [min - 1, max + 1];\n\n const range = niceNumber(max - min, false);\n const step = niceNumber(range / Math.max(1, tickCount - 1), true);\n\n return [Math.floor(min / step) * step, Math.ceil(max / step) * step];\n}\n\nexport function linearScale(config: LinearScaleConfig): Scale<number> {\n // Every method below closes over `config`/these helpers directly instead of reading\n // `this` — the returned object stays fully functional when destructured, e.g.\n // `const { map } = linearScale(cfg)`.\n const getDomain = (): [number, number] =>\n config.nice === false ? config.domain : niceRange(config.domain[0], config.domain[1], 10);\n const getRange = (): [number, number] => config.range;\n\n return {\n get domain(): [number, number] {\n return getDomain();\n },\n\n invert(pixel: number): number {\n const [d0, d1] = getDomain();\n const [r0, r1] = getRange();\n\n if (r1 === r0) return d0;\n\n const t = (pixel - r0) / (r1 - r0);\n\n return d0 + t * (d1 - d0);\n },\n\n map(value: number): number {\n const [d0, d1] = getDomain();\n const [r0, r1] = getRange();\n\n if (d1 === d0) return r0;\n\n let t = (value - d0) / (d1 - d0);\n\n if (config.clamp) {\n t = Math.max(0, Math.min(1, t));\n }\n\n return r0 + t * (r1 - r0);\n },\n\n get range(): [number, number] {\n return getRange();\n },\n\n ticks(count = 10): number[] {\n if (count <= 0) return [];\n\n const [d0, d1] = getDomain();\n\n if (d0 === d1 || count === 1) return [d0];\n\n // Normalize ordering so a reversed domain (e.g. an explicitly inverted axis with\n // `nice: false`) doesn't feed a negative range into niceNumber()'s Math.log10.\n const lo = Math.min(d0, d1);\n const hi = Math.max(d0, d1);\n const range = niceNumber(hi - lo, false);\n const step = niceNumber(range / (count - 1), true);\n const start = Math.ceil(lo / step) * step;\n const end = Math.floor(hi / step) * step;\n const ticks: number[] = [];\n\n for (let v = start; v <= end + step * 0.5; v += step) {\n ticks.push(Math.round(v * 1e12) / 1e12);\n }\n\n return ticks;\n },\n };\n}\n"],"mappings":"AAGA,SAAS,
|
|
1
|
+
{"version":3,"file":"linear.cjs","names":[],"sources":["../../src/scales/linear.ts"],"sourcesContent":["import type { Scale } from '../types';\nimport type { LinearScaleConfig } from './types';\n\nfunction niceNumber(value: number, round: boolean): number {\n const exp = Math.floor(Math.log10(value));\n const frac = value / 10 ** exp;\n let nice: number;\n\n if (round) {\n if (frac < 1.5) nice = 1;\n else if (frac < 3) nice = 2;\n else if (frac < 7) nice = 5;\n else nice = 10;\n } else {\n if (frac <= 1) nice = 1;\n else if (frac <= 2) nice = 2;\n else if (frac <= 5) nice = 5;\n else nice = 10;\n }\n\n return nice * 10 ** exp;\n}\n\nfunction niceRange(min: number, max: number, tickCount: number): [number, number] {\n if (!Number.isFinite(min) || !Number.isFinite(max)) return [0, 1];\n\n if (min > max) [min, max] = [max, min];\n\n if (min === max) return [min - 1, max + 1];\n\n const range = niceNumber(max - min, false);\n const step = niceNumber(range / Math.max(1, tickCount - 1), true);\n\n return [Math.floor(min / step) * step, Math.ceil(max / step) * step];\n}\n\nexport function linearScale(config: LinearScaleConfig): Scale<number> {\n // Every method below closes over `config`/these helpers directly instead of reading\n // `this` — the returned object stays fully functional when destructured, e.g.\n // `const { map } = linearScale(cfg)`.\n const getDomain = (): [number, number] =>\n config.nice === false ? config.domain : niceRange(config.domain[0], config.domain[1], 10);\n const getRange = (): [number, number] => config.range;\n\n return {\n get domain(): [number, number] {\n return getDomain();\n },\n\n invert(pixel: number): number {\n const [d0, d1] = getDomain();\n const [r0, r1] = getRange();\n\n if (r1 === r0) return d0;\n\n const t = (pixel - r0) / (r1 - r0);\n\n return d0 + t * (d1 - d0);\n },\n\n map(value: number): number {\n const [d0, d1] = getDomain();\n const [r0, r1] = getRange();\n\n if (d1 === d0) return r0;\n\n let t = (value - d0) / (d1 - d0);\n\n if (config.clamp) {\n t = Math.max(0, Math.min(1, t));\n }\n\n return r0 + t * (r1 - r0);\n },\n\n get range(): [number, number] {\n return getRange();\n },\n\n ticks(count = 10): number[] {\n if (count <= 0) return [];\n\n const [d0, d1] = getDomain();\n\n if (d0 === d1 || count === 1) return [d0];\n\n // Normalize ordering so a reversed domain (e.g. an explicitly inverted axis with\n // `nice: false`) doesn't feed a negative range into niceNumber()'s Math.log10.\n const lo = Math.min(d0, d1);\n const hi = Math.max(d0, d1);\n const range = niceNumber(hi - lo, false);\n const step = niceNumber(range / (count - 1), true);\n const start = Math.ceil(lo / step) * step;\n const end = Math.floor(hi / step) * step;\n const ticks: number[] = [];\n\n for (let v = start; v <= end + step * 0.5; v += step) {\n ticks.push(Math.round(v * 1e12) / 1e12);\n }\n\n return ticks;\n },\n };\n}\n"],"mappings":"AAGA,SAAS,WAAW,EAAe,EAAwB,CACzD,IAAM,EAAM,KAAK,MAAM,KAAK,MAAM,CAAK,CAAC,EAClC,EAAO,EAAQ,IAAM,EACvB,EAcJ,MAZA,CASO,EATH,EACE,EAAO,IAAY,EACd,EAAO,EAAU,EACjB,EAAO,EAAU,EACd,GAER,GAAQ,EAAU,EACb,GAAQ,EAAU,EAClB,GAAQ,EAAU,EACf,GAGP,EAAO,IAAM,CACtB,CAEA,SAAS,UAAU,EAAa,EAAa,EAAqC,CAChF,GAAI,CAAC,OAAO,SAAS,CAAG,GAAK,CAAC,OAAO,SAAS,CAAG,EAAG,MAAO,CAAC,EAAG,CAAC,EAIhE,GAFI,EAAM,IAAK,CAAC,EAAK,GAAO,CAAC,EAAK,CAAG,GAEjC,IAAQ,EAAK,MAAO,CAAC,EAAM,EAAG,EAAM,CAAC,EAGzC,IAAM,EAAO,WADC,WAAW,EAAM,EAAK,EACZ,EAAQ,KAAK,IAAI,EAAG,EAAY,CAAC,EAAG,EAAI,EAEhE,MAAO,CAAC,KAAK,MAAM,EAAM,CAAI,EAAI,EAAM,KAAK,KAAK,EAAM,CAAI,EAAI,CAAI,CACrE,CAEA,SAAgB,YAAY,EAA0C,CAIpE,IAAM,cACJ,EAAO,OAAS,GAAQ,EAAO,OAAS,UAAU,EAAO,OAAO,GAAI,EAAO,OAAO,GAAI,EAAE,EACpF,aAAmC,EAAO,MAEhD,MAAO,CACL,IAAI,QAA2B,CAC7B,OAAO,UAAU,CACnB,EAEA,OAAO,EAAuB,CAC5B,GAAM,CAAC,EAAI,GAAM,UAAU,EACrB,CAAC,EAAI,GAAM,SAAS,EAM1B,OAJI,IAAO,EAAW,EAIf,GAFI,EAAQ,IAAO,EAAK,IAEd,EAAK,EACxB,EAEA,IAAI,EAAuB,CACzB,GAAM,CAAC,EAAI,GAAM,UAAU,EACrB,CAAC,EAAI,GAAM,SAAS,EAE1B,GAAI,IAAO,EAAI,OAAO,EAEtB,IAAI,GAAK,EAAQ,IAAO,EAAK,GAM7B,OAJI,EAAO,QACT,EAAI,KAAK,IAAI,EAAG,KAAK,IAAI,EAAG,CAAC,CAAC,GAGzB,EAAK,GAAK,EAAK,EACxB,EAEA,IAAI,OAA0B,CAC5B,OAAO,SAAS,CAClB,EAEA,MAAM,EAAQ,GAAc,CAC1B,GAAI,GAAS,EAAG,MAAO,CAAC,EAExB,GAAM,CAAC,EAAI,GAAM,UAAU,EAE3B,GAAI,IAAO,GAAM,IAAU,EAAG,MAAO,CAAC,CAAE,EAIxC,IAAM,EAAK,KAAK,IAAI,EAAI,CAAE,EACpB,EAAK,KAAK,IAAI,EAAI,CAAE,EAEpB,EAAO,WADC,WAAW,EAAK,EAAI,EACV,GAAS,EAAQ,GAAI,EAAI,EAC3C,EAAQ,KAAK,KAAK,EAAK,CAAI,EAAI,EAC/B,EAAM,KAAK,MAAM,EAAK,CAAI,EAAI,EAC9B,EAAkB,CAAC,EAEzB,IAAK,IAAI,EAAI,EAAO,GAAK,EAAM,EAAO,GAAK,GAAK,EAC9C,EAAM,KAAK,KAAK,MAAM,EAAI,YAAI,EAAI,YAAI,EAGxC,OAAO,CACT,CACF,CACF"}
|
package/dist/scales/linear.js
CHANGED
|
@@ -1,44 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
function e(e, t) {
|
|
3
|
-
let n = Math.floor(Math.log10(e)), r = e / 10 ** n, i;
|
|
4
|
-
return i = t ? r < 1.5 ? 1 : r < 3 ? 2 : r < 7 ? 5 : 10 : r <= 1 ? 1 : r <= 2 ? 2 : r <= 5 ? 5 : 10, i * 10 ** n;
|
|
5
|
-
}
|
|
6
|
-
function t(t, n, r) {
|
|
7
|
-
if (!Number.isFinite(t) || !Number.isFinite(n)) return [0, 1];
|
|
8
|
-
if (t > n && ([t, n] = [n, t]), t === n) return [t - 1, n + 1];
|
|
9
|
-
let i = e(e(n - t, !1) / Math.max(1, r - 1), !0);
|
|
10
|
-
return [Math.floor(t / i) * i, Math.ceil(n / i) * i];
|
|
11
|
-
}
|
|
12
|
-
function n(n) {
|
|
13
|
-
let r = () => n.nice === !1 ? n.domain : t(n.domain[0], n.domain[1], 10), i = () => n.range;
|
|
14
|
-
return {
|
|
15
|
-
get domain() {
|
|
16
|
-
return r();
|
|
17
|
-
},
|
|
18
|
-
invert(e) {
|
|
19
|
-
let [t, n] = r(), [a, o] = i();
|
|
20
|
-
return o === a ? t : t + (e - a) / (o - a) * (n - t);
|
|
21
|
-
},
|
|
22
|
-
map(e) {
|
|
23
|
-
let [t, a] = r(), [o, s] = i();
|
|
24
|
-
if (a === t) return o;
|
|
25
|
-
let c = (e - t) / (a - t);
|
|
26
|
-
return n.clamp && (c = Math.max(0, Math.min(1, c))), o + c * (s - o);
|
|
27
|
-
},
|
|
28
|
-
get range() {
|
|
29
|
-
return i();
|
|
30
|
-
},
|
|
31
|
-
ticks(t = 10) {
|
|
32
|
-
if (t <= 0) return [];
|
|
33
|
-
let [n, i] = r();
|
|
34
|
-
if (n === i || t === 1) return [n];
|
|
35
|
-
let a = Math.min(n, i), o = Math.max(n, i), s = e(e(o - a, !1) / (t - 1), !0), c = Math.ceil(a / s) * s, l = Math.floor(o / s) * s, u = [];
|
|
36
|
-
for (let e = c; e <= l + s * .5; e += s) u.push(Math.round(e * 0xe8d4a51000) / 0xe8d4a51000);
|
|
37
|
-
return u;
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
//#endregion
|
|
42
|
-
export { n as linearScale };
|
|
43
|
-
|
|
1
|
+
function niceNumber(e,t){let n=Math.floor(Math.log10(e)),r=e/10**n,i;return i=t?r<1.5?1:r<3?2:r<7?5:10:r<=1?1:r<=2?2:r<=5?5:10,i*10**n}function niceRange(e,t,n){if(!Number.isFinite(e)||!Number.isFinite(t))return[0,1];if(e>t&&([e,t]=[t,e]),e===t)return[e-1,t+1];let r=niceNumber(niceNumber(t-e,!1)/Math.max(1,n-1),!0);return[Math.floor(e/r)*r,Math.ceil(t/r)*r]}function linearScale(e){let getDomain=()=>e.nice===!1?e.domain:niceRange(e.domain[0],e.domain[1],10),getRange=()=>e.range;return{get domain(){return getDomain()},invert(e){let[t,n]=getDomain(),[r,i]=getRange();return i===r?t:t+(e-r)/(i-r)*(n-t)},map(t){let[n,r]=getDomain(),[i,a]=getRange();if(r===n)return i;let o=(t-n)/(r-n);return e.clamp&&(o=Math.max(0,Math.min(1,o))),i+o*(a-i)},get range(){return getRange()},ticks(e=10){if(e<=0)return[];let[t,n]=getDomain();if(t===n||e===1)return[t];let r=Math.min(t,n),i=Math.max(t,n),a=niceNumber(niceNumber(i-r,!1)/(e-1),!0),o=Math.ceil(r/a)*a,s=Math.floor(i/a)*a,c=[];for(let e=o;e<=s+a*.5;e+=a)c.push(Math.round(e*0xe8d4a51000)/0xe8d4a51000);return c}}}export{linearScale};
|
|
44
2
|
//# sourceMappingURL=linear.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linear.js","names":[],"sources":["../../src/scales/linear.ts"],"sourcesContent":["import type { Scale } from '../types';\nimport type { LinearScaleConfig } from './types';\n\nfunction niceNumber(value: number, round: boolean): number {\n const exp = Math.floor(Math.log10(value));\n const frac = value / 10 ** exp;\n let nice: number;\n\n if (round) {\n if (frac < 1.5) nice = 1;\n else if (frac < 3) nice = 2;\n else if (frac < 7) nice = 5;\n else nice = 10;\n } else {\n if (frac <= 1) nice = 1;\n else if (frac <= 2) nice = 2;\n else if (frac <= 5) nice = 5;\n else nice = 10;\n }\n\n return nice * 10 ** exp;\n}\n\nfunction niceRange(min: number, max: number, tickCount: number): [number, number] {\n if (!Number.isFinite(min) || !Number.isFinite(max)) return [0, 1];\n\n if (min > max) [min, max] = [max, min];\n\n if (min === max) return [min - 1, max + 1];\n\n const range = niceNumber(max - min, false);\n const step = niceNumber(range / Math.max(1, tickCount - 1), true);\n\n return [Math.floor(min / step) * step, Math.ceil(max / step) * step];\n}\n\nexport function linearScale(config: LinearScaleConfig): Scale<number> {\n // Every method below closes over `config`/these helpers directly instead of reading\n // `this` — the returned object stays fully functional when destructured, e.g.\n // `const { map } = linearScale(cfg)`.\n const getDomain = (): [number, number] =>\n config.nice === false ? config.domain : niceRange(config.domain[0], config.domain[1], 10);\n const getRange = (): [number, number] => config.range;\n\n return {\n get domain(): [number, number] {\n return getDomain();\n },\n\n invert(pixel: number): number {\n const [d0, d1] = getDomain();\n const [r0, r1] = getRange();\n\n if (r1 === r0) return d0;\n\n const t = (pixel - r0) / (r1 - r0);\n\n return d0 + t * (d1 - d0);\n },\n\n map(value: number): number {\n const [d0, d1] = getDomain();\n const [r0, r1] = getRange();\n\n if (d1 === d0) return r0;\n\n let t = (value - d0) / (d1 - d0);\n\n if (config.clamp) {\n t = Math.max(0, Math.min(1, t));\n }\n\n return r0 + t * (r1 - r0);\n },\n\n get range(): [number, number] {\n return getRange();\n },\n\n ticks(count = 10): number[] {\n if (count <= 0) return [];\n\n const [d0, d1] = getDomain();\n\n if (d0 === d1 || count === 1) return [d0];\n\n // Normalize ordering so a reversed domain (e.g. an explicitly inverted axis with\n // `nice: false`) doesn't feed a negative range into niceNumber()'s Math.log10.\n const lo = Math.min(d0, d1);\n const hi = Math.max(d0, d1);\n const range = niceNumber(hi - lo, false);\n const step = niceNumber(range / (count - 1), true);\n const start = Math.ceil(lo / step) * step;\n const end = Math.floor(hi / step) * step;\n const ticks: number[] = [];\n\n for (let v = start; v <= end + step * 0.5; v += step) {\n ticks.push(Math.round(v * 1e12) / 1e12);\n }\n\n return ticks;\n },\n };\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"linear.js","names":[],"sources":["../../src/scales/linear.ts"],"sourcesContent":["import type { Scale } from '../types';\nimport type { LinearScaleConfig } from './types';\n\nfunction niceNumber(value: number, round: boolean): number {\n const exp = Math.floor(Math.log10(value));\n const frac = value / 10 ** exp;\n let nice: number;\n\n if (round) {\n if (frac < 1.5) nice = 1;\n else if (frac < 3) nice = 2;\n else if (frac < 7) nice = 5;\n else nice = 10;\n } else {\n if (frac <= 1) nice = 1;\n else if (frac <= 2) nice = 2;\n else if (frac <= 5) nice = 5;\n else nice = 10;\n }\n\n return nice * 10 ** exp;\n}\n\nfunction niceRange(min: number, max: number, tickCount: number): [number, number] {\n if (!Number.isFinite(min) || !Number.isFinite(max)) return [0, 1];\n\n if (min > max) [min, max] = [max, min];\n\n if (min === max) return [min - 1, max + 1];\n\n const range = niceNumber(max - min, false);\n const step = niceNumber(range / Math.max(1, tickCount - 1), true);\n\n return [Math.floor(min / step) * step, Math.ceil(max / step) * step];\n}\n\nexport function linearScale(config: LinearScaleConfig): Scale<number> {\n // Every method below closes over `config`/these helpers directly instead of reading\n // `this` — the returned object stays fully functional when destructured, e.g.\n // `const { map } = linearScale(cfg)`.\n const getDomain = (): [number, number] =>\n config.nice === false ? config.domain : niceRange(config.domain[0], config.domain[1], 10);\n const getRange = (): [number, number] => config.range;\n\n return {\n get domain(): [number, number] {\n return getDomain();\n },\n\n invert(pixel: number): number {\n const [d0, d1] = getDomain();\n const [r0, r1] = getRange();\n\n if (r1 === r0) return d0;\n\n const t = (pixel - r0) / (r1 - r0);\n\n return d0 + t * (d1 - d0);\n },\n\n map(value: number): number {\n const [d0, d1] = getDomain();\n const [r0, r1] = getRange();\n\n if (d1 === d0) return r0;\n\n let t = (value - d0) / (d1 - d0);\n\n if (config.clamp) {\n t = Math.max(0, Math.min(1, t));\n }\n\n return r0 + t * (r1 - r0);\n },\n\n get range(): [number, number] {\n return getRange();\n },\n\n ticks(count = 10): number[] {\n if (count <= 0) return [];\n\n const [d0, d1] = getDomain();\n\n if (d0 === d1 || count === 1) return [d0];\n\n // Normalize ordering so a reversed domain (e.g. an explicitly inverted axis with\n // `nice: false`) doesn't feed a negative range into niceNumber()'s Math.log10.\n const lo = Math.min(d0, d1);\n const hi = Math.max(d0, d1);\n const range = niceNumber(hi - lo, false);\n const step = niceNumber(range / (count - 1), true);\n const start = Math.ceil(lo / step) * step;\n const end = Math.floor(hi / step) * step;\n const ticks: number[] = [];\n\n for (let v = start; v <= end + step * 0.5; v += step) {\n ticks.push(Math.round(v * 1e12) / 1e12);\n }\n\n return ticks;\n },\n };\n}\n"],"mappings":"AAGA,SAAS,WAAW,EAAe,EAAwB,CACzD,IAAM,EAAM,KAAK,MAAM,KAAK,MAAM,CAAK,CAAC,EAClC,EAAO,EAAQ,IAAM,EACvB,EAcJ,MAZA,CASO,EATH,EACE,EAAO,IAAY,EACd,EAAO,EAAU,EACjB,EAAO,EAAU,EACd,GAER,GAAQ,EAAU,EACb,GAAQ,EAAU,EAClB,GAAQ,EAAU,EACf,GAGP,EAAO,IAAM,CACtB,CAEA,SAAS,UAAU,EAAa,EAAa,EAAqC,CAChF,GAAI,CAAC,OAAO,SAAS,CAAG,GAAK,CAAC,OAAO,SAAS,CAAG,EAAG,MAAO,CAAC,EAAG,CAAC,EAIhE,GAFI,EAAM,IAAK,CAAC,EAAK,GAAO,CAAC,EAAK,CAAG,GAEjC,IAAQ,EAAK,MAAO,CAAC,EAAM,EAAG,EAAM,CAAC,EAGzC,IAAM,EAAO,WADC,WAAW,EAAM,EAAK,EACZ,EAAQ,KAAK,IAAI,EAAG,EAAY,CAAC,EAAG,EAAI,EAEhE,MAAO,CAAC,KAAK,MAAM,EAAM,CAAI,EAAI,EAAM,KAAK,KAAK,EAAM,CAAI,EAAI,CAAI,CACrE,CAEA,SAAgB,YAAY,EAA0C,CAIpE,IAAM,cACJ,EAAO,OAAS,GAAQ,EAAO,OAAS,UAAU,EAAO,OAAO,GAAI,EAAO,OAAO,GAAI,EAAE,EACpF,aAAmC,EAAO,MAEhD,MAAO,CACL,IAAI,QAA2B,CAC7B,OAAO,UAAU,CACnB,EAEA,OAAO,EAAuB,CAC5B,GAAM,CAAC,EAAI,GAAM,UAAU,EACrB,CAAC,EAAI,GAAM,SAAS,EAM1B,OAJI,IAAO,EAAW,EAIf,GAFI,EAAQ,IAAO,EAAK,IAEd,EAAK,EACxB,EAEA,IAAI,EAAuB,CACzB,GAAM,CAAC,EAAI,GAAM,UAAU,EACrB,CAAC,EAAI,GAAM,SAAS,EAE1B,GAAI,IAAO,EAAI,OAAO,EAEtB,IAAI,GAAK,EAAQ,IAAO,EAAK,GAM7B,OAJI,EAAO,QACT,EAAI,KAAK,IAAI,EAAG,KAAK,IAAI,EAAG,CAAC,CAAC,GAGzB,EAAK,GAAK,EAAK,EACxB,EAEA,IAAI,OAA0B,CAC5B,OAAO,SAAS,CAClB,EAEA,MAAM,EAAQ,GAAc,CAC1B,GAAI,GAAS,EAAG,MAAO,CAAC,EAExB,GAAM,CAAC,EAAI,GAAM,UAAU,EAE3B,GAAI,IAAO,GAAM,IAAU,EAAG,MAAO,CAAC,CAAE,EAIxC,IAAM,EAAK,KAAK,IAAI,EAAI,CAAE,EACpB,EAAK,KAAK,IAAI,EAAI,CAAE,EAEpB,EAAO,WADC,WAAW,EAAK,EAAI,EACV,GAAS,EAAQ,GAAI,EAAI,EAC3C,EAAQ,KAAK,KAAK,EAAK,CAAI,EAAI,EAC/B,EAAM,KAAK,MAAM,EAAK,CAAI,EAAI,EAC9B,EAAkB,CAAC,EAEzB,IAAK,IAAI,EAAI,EAAO,GAAK,EAAM,EAAO,GAAK,GAAK,EAC9C,EAAM,KAAK,KAAK,MAAM,EAAI,YAAI,EAAI,YAAI,EAGxC,OAAO,CACT,CACF,CACF"}
|
package/dist/scales/time.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=1e3,t=60*e,n=60*t,r=24*n,i=30*r,a=365*r,o=[e,5*e,15*e,30*e,t,5*t,15*t,30*t,n,3*n,6*n,12*n,r,7*r,i,3*i,6*i,a];function
|
|
1
|
+
var e=1e3,t=60*e,n=60*t,r=24*n,i=30*r,a=365*r,o=[e,5*e,15*e,30*e,t,5*t,15*t,30*t,n,3*n,6*n,12*n,r,7*r,i,3*i,6*i,a];function chooseInterval(e,t){let n=Math.abs(e)/Math.max(1,t);for(let e of o)if(e>=n)return e;return a}function niceDomain(e,t){let[n,r]=e;n.getTime()>r.getTime()&&([n,r]=[r,n]);let i=chooseInterval(r.getTime()-n.getTime(),t);return[new Date(Math.floor(n.getTime()/i)*i),new Date(Math.ceil(r.getTime()/i)*i)]}function timeScale(e){let getDomain=()=>e.nice===!1?e.domain:niceDomain(e.domain,10),getRange=()=>e.range;return{get domain(){return getDomain()},invert(e){let[t,n]=getDomain(),[r,i]=getRange();if(i===r)return t;let a=(e-r)/(i-r);return new Date(t.getTime()+a*(n.getTime()-t.getTime()))},map(e){let[t,n]=getDomain(),[r,i]=getRange(),a=n.getTime()-t.getTime();return a===0?r:r+(e.getTime()-t.getTime())/a*(i-r)},get range(){return getRange()},ticks(e=10){let[t,n]=getDomain(),r=chooseInterval(n.getTime()-t.getTime(),e),i=Math.ceil(t.getTime()/r)*r,a=[];for(let e=i;e<=n.getTime();e+=r)a.push(new Date(e));return a}}}exports.timeScale=timeScale;
|
|
2
2
|
//# sourceMappingURL=time.cjs.map
|
package/dist/scales/time.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.cjs","names":[],"sources":["../../src/scales/time.ts"],"sourcesContent":["import type { Scale } from '../types';\nimport type { TimeScaleConfig } from './types';\n\nconst SECOND = 1000;\nconst MINUTE = 60 * SECOND;\nconst HOUR = 60 * MINUTE;\nconst DAY = 24 * HOUR;\nconst MONTH = 30 * DAY;\nconst YEAR = 365 * DAY;\n\nconst TIME_INTERVALS = [\n SECOND,\n 5 * SECOND,\n 15 * SECOND,\n 30 * SECOND,\n MINUTE,\n 5 * MINUTE,\n 15 * MINUTE,\n 30 * MINUTE,\n HOUR,\n 3 * HOUR,\n 6 * HOUR,\n 12 * HOUR,\n DAY,\n 7 * DAY,\n MONTH,\n 3 * MONTH,\n 6 * MONTH,\n YEAR,\n];\n\nfunction chooseInterval(range: number, count: number): number {\n const target = Math.abs(range) / Math.max(1, count);\n\n for (const interval of TIME_INTERVALS) {\n if (interval >= target) return interval;\n }\n\n return YEAR;\n}\n\nfunction niceDomain(domain: [Date, Date], count: number): [Date, Date] {\n let [d0, d1] = domain;\n\n if (d0.getTime() > d1.getTime()) [d0, d1] = [d1, d0];\n\n const range = d1.getTime() - d0.getTime();\n const interval = chooseInterval(range, count);\n\n return [\n new Date(Math.floor(d0.getTime() / interval) * interval),\n new Date(Math.ceil(d1.getTime() / interval) * interval),\n ];\n}\n\nexport function timeScale(config: TimeScaleConfig): Scale<Date> {\n // Every method below closes over `config`/these helpers directly instead of reading\n // `this` — the returned object stays fully functional when destructured, e.g.\n // `const { map } = timeScale(cfg)`.\n const getDomain = (): [Date, Date] => (config.nice === false ? config.domain : niceDomain(config.domain, 10));\n const getRange = (): [number, number] => config.range;\n\n return {\n get domain(): [Date, Date] {\n return getDomain();\n },\n\n invert(pixel: number): Date {\n const [d0, d1] = getDomain();\n const [r0, r1] = getRange();\n\n if (r1 === r0) return d0;\n\n const t = (pixel - r0) / (r1 - r0);\n\n return new Date(d0.getTime() + t * (d1.getTime() - d0.getTime()));\n },\n\n map(value: Date): number {\n const [d0, d1] = getDomain();\n const [r0, r1] = getRange();\n const dRange = d1.getTime() - d0.getTime();\n\n if (dRange === 0) return r0;\n\n const t = (value.getTime() - d0.getTime()) / dRange;\n\n return r0 + t * (r1 - r0);\n },\n\n get range(): [number, number] {\n return getRange();\n },\n\n ticks(count = 10): Date[] {\n const [d0, d1] = getDomain();\n const range = d1.getTime() - d0.getTime();\n const interval = chooseInterval(range, count);\n const start = Math.ceil(d0.getTime() / interval) * interval;\n const ticks: Date[] = [];\n\n for (let t = start; t <= d1.getTime(); t += interval) {\n ticks.push(new Date(t));\n }\n\n return ticks;\n },\n };\n}\n"],"mappings":"AAGA,IAAM,EAAS,IACT,EAAS,GAAK,EACd,EAAO,GAAK,EACZ,EAAM,GAAK,EACX,EAAQ,GAAK,EACb,EAAO,IAAM,EAEb,EAAiB,CACrB,EACA,EAAI,EACJ,GAAK,EACL,GAAK,EACL,EACA,EAAI,EACJ,GAAK,EACL,GAAK,EACL,EACA,EAAI,EACJ,EAAI,EACJ,GAAK,EACL,EACA,EAAI,EACJ,EACA,EAAI,EACJ,EAAI,EACJ,CACF,EAEA,SAAS,
|
|
1
|
+
{"version":3,"file":"time.cjs","names":[],"sources":["../../src/scales/time.ts"],"sourcesContent":["import type { Scale } from '../types';\nimport type { TimeScaleConfig } from './types';\n\nconst SECOND = 1000;\nconst MINUTE = 60 * SECOND;\nconst HOUR = 60 * MINUTE;\nconst DAY = 24 * HOUR;\nconst MONTH = 30 * DAY;\nconst YEAR = 365 * DAY;\n\nconst TIME_INTERVALS = [\n SECOND,\n 5 * SECOND,\n 15 * SECOND,\n 30 * SECOND,\n MINUTE,\n 5 * MINUTE,\n 15 * MINUTE,\n 30 * MINUTE,\n HOUR,\n 3 * HOUR,\n 6 * HOUR,\n 12 * HOUR,\n DAY,\n 7 * DAY,\n MONTH,\n 3 * MONTH,\n 6 * MONTH,\n YEAR,\n];\n\nfunction chooseInterval(range: number, count: number): number {\n const target = Math.abs(range) / Math.max(1, count);\n\n for (const interval of TIME_INTERVALS) {\n if (interval >= target) return interval;\n }\n\n return YEAR;\n}\n\nfunction niceDomain(domain: [Date, Date], count: number): [Date, Date] {\n let [d0, d1] = domain;\n\n if (d0.getTime() > d1.getTime()) [d0, d1] = [d1, d0];\n\n const range = d1.getTime() - d0.getTime();\n const interval = chooseInterval(range, count);\n\n return [\n new Date(Math.floor(d0.getTime() / interval) * interval),\n new Date(Math.ceil(d1.getTime() / interval) * interval),\n ];\n}\n\nexport function timeScale(config: TimeScaleConfig): Scale<Date> {\n // Every method below closes over `config`/these helpers directly instead of reading\n // `this` — the returned object stays fully functional when destructured, e.g.\n // `const { map } = timeScale(cfg)`.\n const getDomain = (): [Date, Date] => (config.nice === false ? config.domain : niceDomain(config.domain, 10));\n const getRange = (): [number, number] => config.range;\n\n return {\n get domain(): [Date, Date] {\n return getDomain();\n },\n\n invert(pixel: number): Date {\n const [d0, d1] = getDomain();\n const [r0, r1] = getRange();\n\n if (r1 === r0) return d0;\n\n const t = (pixel - r0) / (r1 - r0);\n\n return new Date(d0.getTime() + t * (d1.getTime() - d0.getTime()));\n },\n\n map(value: Date): number {\n const [d0, d1] = getDomain();\n const [r0, r1] = getRange();\n const dRange = d1.getTime() - d0.getTime();\n\n if (dRange === 0) return r0;\n\n const t = (value.getTime() - d0.getTime()) / dRange;\n\n return r0 + t * (r1 - r0);\n },\n\n get range(): [number, number] {\n return getRange();\n },\n\n ticks(count = 10): Date[] {\n const [d0, d1] = getDomain();\n const range = d1.getTime() - d0.getTime();\n const interval = chooseInterval(range, count);\n const start = Math.ceil(d0.getTime() / interval) * interval;\n const ticks: Date[] = [];\n\n for (let t = start; t <= d1.getTime(); t += interval) {\n ticks.push(new Date(t));\n }\n\n return ticks;\n },\n };\n}\n"],"mappings":"AAGA,IAAM,EAAS,IACT,EAAS,GAAK,EACd,EAAO,GAAK,EACZ,EAAM,GAAK,EACX,EAAQ,GAAK,EACb,EAAO,IAAM,EAEb,EAAiB,CACrB,EACA,EAAI,EACJ,GAAK,EACL,GAAK,EACL,EACA,EAAI,EACJ,GAAK,EACL,GAAK,EACL,EACA,EAAI,EACJ,EAAI,EACJ,GAAK,EACL,EACA,EAAI,EACJ,EACA,EAAI,EACJ,EAAI,EACJ,CACF,EAEA,SAAS,eAAe,EAAe,EAAuB,CAC5D,IAAM,EAAS,KAAK,IAAI,CAAK,EAAI,KAAK,IAAI,EAAG,CAAK,EAElD,IAAK,IAAM,KAAY,EACrB,GAAI,GAAY,EAAQ,OAAO,EAGjC,OAAO,CACT,CAEA,SAAS,WAAW,EAAsB,EAA6B,CACrE,GAAI,CAAC,EAAI,GAAM,EAEX,EAAG,QAAQ,EAAI,EAAG,QAAQ,IAAG,CAAC,EAAI,GAAM,CAAC,EAAI,CAAE,GAGnD,IAAM,EAAW,eADH,EAAG,QAAQ,EAAI,EAAG,QAAQ,EACD,CAAK,EAE5C,MAAO,CACL,IAAI,KAAK,KAAK,MAAM,EAAG,QAAQ,EAAI,CAAQ,EAAI,CAAQ,EACvD,IAAI,KAAK,KAAK,KAAK,EAAG,QAAQ,EAAI,CAAQ,EAAI,CAAQ,CACxD,CACF,CAEA,SAAgB,UAAU,EAAsC,CAI9D,IAAM,cAAiC,EAAO,OAAS,GAAQ,EAAO,OAAS,WAAW,EAAO,OAAQ,EAAE,EACrG,aAAmC,EAAO,MAEhD,MAAO,CACL,IAAI,QAAuB,CACzB,OAAO,UAAU,CACnB,EAEA,OAAO,EAAqB,CAC1B,GAAM,CAAC,EAAI,GAAM,UAAU,EACrB,CAAC,EAAI,GAAM,SAAS,EAE1B,GAAI,IAAO,EAAI,OAAO,EAEtB,IAAM,GAAK,EAAQ,IAAO,EAAK,GAE/B,OAAO,IAAI,KAAK,EAAG,QAAQ,EAAI,GAAK,EAAG,QAAQ,EAAI,EAAG,QAAQ,EAAE,CAClE,EAEA,IAAI,EAAqB,CACvB,GAAM,CAAC,EAAI,GAAM,UAAU,EACrB,CAAC,EAAI,GAAM,SAAS,EACpB,EAAS,EAAG,QAAQ,EAAI,EAAG,QAAQ,EAMzC,OAJI,IAAW,EAAU,EAIlB,GAFI,EAAM,QAAQ,EAAI,EAAG,QAAQ,GAAK,GAE5B,EAAK,EACxB,EAEA,IAAI,OAA0B,CAC5B,OAAO,SAAS,CAClB,EAEA,MAAM,EAAQ,GAAY,CACxB,GAAM,CAAC,EAAI,GAAM,UAAU,EAErB,EAAW,eADH,EAAG,QAAQ,EAAI,EAAG,QAAQ,EACD,CAAK,EACtC,EAAQ,KAAK,KAAK,EAAG,QAAQ,EAAI,CAAQ,EAAI,EAC7C,EAAgB,CAAC,EAEvB,IAAK,IAAI,EAAI,EAAO,GAAK,EAAG,QAAQ,EAAG,GAAK,EAC1C,EAAM,KAAK,IAAI,KAAK,CAAC,CAAC,EAGxB,OAAO,CACT,CACF,CACF"}
|
package/dist/scales/time.js
CHANGED
|
@@ -1,62 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
var e = 1e3, t = 60 * e, n = 60 * t, r = 24 * n, i = 30 * r, a = 365 * r, o = [
|
|
3
|
-
e,
|
|
4
|
-
5 * e,
|
|
5
|
-
15 * e,
|
|
6
|
-
30 * e,
|
|
7
|
-
t,
|
|
8
|
-
5 * t,
|
|
9
|
-
15 * t,
|
|
10
|
-
30 * t,
|
|
11
|
-
n,
|
|
12
|
-
3 * n,
|
|
13
|
-
6 * n,
|
|
14
|
-
12 * n,
|
|
15
|
-
r,
|
|
16
|
-
7 * r,
|
|
17
|
-
i,
|
|
18
|
-
3 * i,
|
|
19
|
-
6 * i,
|
|
20
|
-
a
|
|
21
|
-
];
|
|
22
|
-
function s(e, t) {
|
|
23
|
-
let n = Math.abs(e) / Math.max(1, t);
|
|
24
|
-
for (let e of o) if (e >= n) return e;
|
|
25
|
-
return a;
|
|
26
|
-
}
|
|
27
|
-
function c(e, t) {
|
|
28
|
-
let [n, r] = e;
|
|
29
|
-
n.getTime() > r.getTime() && ([n, r] = [r, n]);
|
|
30
|
-
let i = s(r.getTime() - n.getTime(), t);
|
|
31
|
-
return [new Date(Math.floor(n.getTime() / i) * i), new Date(Math.ceil(r.getTime() / i) * i)];
|
|
32
|
-
}
|
|
33
|
-
function l(e) {
|
|
34
|
-
let t = () => e.nice === !1 ? e.domain : c(e.domain, 10), n = () => e.range;
|
|
35
|
-
return {
|
|
36
|
-
get domain() {
|
|
37
|
-
return t();
|
|
38
|
-
},
|
|
39
|
-
invert(e) {
|
|
40
|
-
let [r, i] = t(), [a, o] = n();
|
|
41
|
-
if (o === a) return r;
|
|
42
|
-
let s = (e - a) / (o - a);
|
|
43
|
-
return new Date(r.getTime() + s * (i.getTime() - r.getTime()));
|
|
44
|
-
},
|
|
45
|
-
map(e) {
|
|
46
|
-
let [r, i] = t(), [a, o] = n(), s = i.getTime() - r.getTime();
|
|
47
|
-
return s === 0 ? a : a + (e.getTime() - r.getTime()) / s * (o - a);
|
|
48
|
-
},
|
|
49
|
-
get range() {
|
|
50
|
-
return n();
|
|
51
|
-
},
|
|
52
|
-
ticks(e = 10) {
|
|
53
|
-
let [n, r] = t(), i = s(r.getTime() - n.getTime(), e), a = Math.ceil(n.getTime() / i) * i, o = [];
|
|
54
|
-
for (let e = a; e <= r.getTime(); e += i) o.push(new Date(e));
|
|
55
|
-
return o;
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
//#endregion
|
|
60
|
-
export { l as timeScale };
|
|
61
|
-
|
|
1
|
+
var e=1e3,t=60*e,n=60*t,r=24*n,i=30*r,a=365*r,o=[e,5*e,15*e,30*e,t,5*t,15*t,30*t,n,3*n,6*n,12*n,r,7*r,i,3*i,6*i,a];function chooseInterval(e,t){let n=Math.abs(e)/Math.max(1,t);for(let e of o)if(e>=n)return e;return a}function niceDomain(e,t){let[n,r]=e;n.getTime()>r.getTime()&&([n,r]=[r,n]);let i=chooseInterval(r.getTime()-n.getTime(),t);return[new Date(Math.floor(n.getTime()/i)*i),new Date(Math.ceil(r.getTime()/i)*i)]}function timeScale(e){let getDomain=()=>e.nice===!1?e.domain:niceDomain(e.domain,10),getRange=()=>e.range;return{get domain(){return getDomain()},invert(e){let[t,n]=getDomain(),[r,i]=getRange();if(i===r)return t;let a=(e-r)/(i-r);return new Date(t.getTime()+a*(n.getTime()-t.getTime()))},map(e){let[t,n]=getDomain(),[r,i]=getRange(),a=n.getTime()-t.getTime();return a===0?r:r+(e.getTime()-t.getTime())/a*(i-r)},get range(){return getRange()},ticks(e=10){let[t,n]=getDomain(),r=chooseInterval(n.getTime()-t.getTime(),e),i=Math.ceil(t.getTime()/r)*r,a=[];for(let e=i;e<=n.getTime();e+=r)a.push(new Date(e));return a}}}export{timeScale};
|
|
62
2
|
//# sourceMappingURL=time.js.map
|
package/dist/scales/time.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","names":[],"sources":["../../src/scales/time.ts"],"sourcesContent":["import type { Scale } from '../types';\nimport type { TimeScaleConfig } from './types';\n\nconst SECOND = 1000;\nconst MINUTE = 60 * SECOND;\nconst HOUR = 60 * MINUTE;\nconst DAY = 24 * HOUR;\nconst MONTH = 30 * DAY;\nconst YEAR = 365 * DAY;\n\nconst TIME_INTERVALS = [\n SECOND,\n 5 * SECOND,\n 15 * SECOND,\n 30 * SECOND,\n MINUTE,\n 5 * MINUTE,\n 15 * MINUTE,\n 30 * MINUTE,\n HOUR,\n 3 * HOUR,\n 6 * HOUR,\n 12 * HOUR,\n DAY,\n 7 * DAY,\n MONTH,\n 3 * MONTH,\n 6 * MONTH,\n YEAR,\n];\n\nfunction chooseInterval(range: number, count: number): number {\n const target = Math.abs(range) / Math.max(1, count);\n\n for (const interval of TIME_INTERVALS) {\n if (interval >= target) return interval;\n }\n\n return YEAR;\n}\n\nfunction niceDomain(domain: [Date, Date], count: number): [Date, Date] {\n let [d0, d1] = domain;\n\n if (d0.getTime() > d1.getTime()) [d0, d1] = [d1, d0];\n\n const range = d1.getTime() - d0.getTime();\n const interval = chooseInterval(range, count);\n\n return [\n new Date(Math.floor(d0.getTime() / interval) * interval),\n new Date(Math.ceil(d1.getTime() / interval) * interval),\n ];\n}\n\nexport function timeScale(config: TimeScaleConfig): Scale<Date> {\n // Every method below closes over `config`/these helpers directly instead of reading\n // `this` — the returned object stays fully functional when destructured, e.g.\n // `const { map } = timeScale(cfg)`.\n const getDomain = (): [Date, Date] => (config.nice === false ? config.domain : niceDomain(config.domain, 10));\n const getRange = (): [number, number] => config.range;\n\n return {\n get domain(): [Date, Date] {\n return getDomain();\n },\n\n invert(pixel: number): Date {\n const [d0, d1] = getDomain();\n const [r0, r1] = getRange();\n\n if (r1 === r0) return d0;\n\n const t = (pixel - r0) / (r1 - r0);\n\n return new Date(d0.getTime() + t * (d1.getTime() - d0.getTime()));\n },\n\n map(value: Date): number {\n const [d0, d1] = getDomain();\n const [r0, r1] = getRange();\n const dRange = d1.getTime() - d0.getTime();\n\n if (dRange === 0) return r0;\n\n const t = (value.getTime() - d0.getTime()) / dRange;\n\n return r0 + t * (r1 - r0);\n },\n\n get range(): [number, number] {\n return getRange();\n },\n\n ticks(count = 10): Date[] {\n const [d0, d1] = getDomain();\n const range = d1.getTime() - d0.getTime();\n const interval = chooseInterval(range, count);\n const start = Math.ceil(d0.getTime() / interval) * interval;\n const ticks: Date[] = [];\n\n for (let t = start; t <= d1.getTime(); t += interval) {\n ticks.push(new Date(t));\n }\n\n return ticks;\n },\n };\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"time.js","names":[],"sources":["../../src/scales/time.ts"],"sourcesContent":["import type { Scale } from '../types';\nimport type { TimeScaleConfig } from './types';\n\nconst SECOND = 1000;\nconst MINUTE = 60 * SECOND;\nconst HOUR = 60 * MINUTE;\nconst DAY = 24 * HOUR;\nconst MONTH = 30 * DAY;\nconst YEAR = 365 * DAY;\n\nconst TIME_INTERVALS = [\n SECOND,\n 5 * SECOND,\n 15 * SECOND,\n 30 * SECOND,\n MINUTE,\n 5 * MINUTE,\n 15 * MINUTE,\n 30 * MINUTE,\n HOUR,\n 3 * HOUR,\n 6 * HOUR,\n 12 * HOUR,\n DAY,\n 7 * DAY,\n MONTH,\n 3 * MONTH,\n 6 * MONTH,\n YEAR,\n];\n\nfunction chooseInterval(range: number, count: number): number {\n const target = Math.abs(range) / Math.max(1, count);\n\n for (const interval of TIME_INTERVALS) {\n if (interval >= target) return interval;\n }\n\n return YEAR;\n}\n\nfunction niceDomain(domain: [Date, Date], count: number): [Date, Date] {\n let [d0, d1] = domain;\n\n if (d0.getTime() > d1.getTime()) [d0, d1] = [d1, d0];\n\n const range = d1.getTime() - d0.getTime();\n const interval = chooseInterval(range, count);\n\n return [\n new Date(Math.floor(d0.getTime() / interval) * interval),\n new Date(Math.ceil(d1.getTime() / interval) * interval),\n ];\n}\n\nexport function timeScale(config: TimeScaleConfig): Scale<Date> {\n // Every method below closes over `config`/these helpers directly instead of reading\n // `this` — the returned object stays fully functional when destructured, e.g.\n // `const { map } = timeScale(cfg)`.\n const getDomain = (): [Date, Date] => (config.nice === false ? config.domain : niceDomain(config.domain, 10));\n const getRange = (): [number, number] => config.range;\n\n return {\n get domain(): [Date, Date] {\n return getDomain();\n },\n\n invert(pixel: number): Date {\n const [d0, d1] = getDomain();\n const [r0, r1] = getRange();\n\n if (r1 === r0) return d0;\n\n const t = (pixel - r0) / (r1 - r0);\n\n return new Date(d0.getTime() + t * (d1.getTime() - d0.getTime()));\n },\n\n map(value: Date): number {\n const [d0, d1] = getDomain();\n const [r0, r1] = getRange();\n const dRange = d1.getTime() - d0.getTime();\n\n if (dRange === 0) return r0;\n\n const t = (value.getTime() - d0.getTime()) / dRange;\n\n return r0 + t * (r1 - r0);\n },\n\n get range(): [number, number] {\n return getRange();\n },\n\n ticks(count = 10): Date[] {\n const [d0, d1] = getDomain();\n const range = d1.getTime() - d0.getTime();\n const interval = chooseInterval(range, count);\n const start = Math.ceil(d0.getTime() / interval) * interval;\n const ticks: Date[] = [];\n\n for (let t = start; t <= d1.getTime(); t += interval) {\n ticks.push(new Date(t));\n }\n\n return ticks;\n },\n };\n}\n"],"mappings":"AAGA,IAAM,EAAS,IACT,EAAS,GAAK,EACd,EAAO,GAAK,EACZ,EAAM,GAAK,EACX,EAAQ,GAAK,EACb,EAAO,IAAM,EAEb,EAAiB,CACrB,EACA,EAAI,EACJ,GAAK,EACL,GAAK,EACL,EACA,EAAI,EACJ,GAAK,EACL,GAAK,EACL,EACA,EAAI,EACJ,EAAI,EACJ,GAAK,EACL,EACA,EAAI,EACJ,EACA,EAAI,EACJ,EAAI,EACJ,CACF,EAEA,SAAS,eAAe,EAAe,EAAuB,CAC5D,IAAM,EAAS,KAAK,IAAI,CAAK,EAAI,KAAK,IAAI,EAAG,CAAK,EAElD,IAAK,IAAM,KAAY,EACrB,GAAI,GAAY,EAAQ,OAAO,EAGjC,OAAO,CACT,CAEA,SAAS,WAAW,EAAsB,EAA6B,CACrE,GAAI,CAAC,EAAI,GAAM,EAEX,EAAG,QAAQ,EAAI,EAAG,QAAQ,IAAG,CAAC,EAAI,GAAM,CAAC,EAAI,CAAE,GAGnD,IAAM,EAAW,eADH,EAAG,QAAQ,EAAI,EAAG,QAAQ,EACD,CAAK,EAE5C,MAAO,CACL,IAAI,KAAK,KAAK,MAAM,EAAG,QAAQ,EAAI,CAAQ,EAAI,CAAQ,EACvD,IAAI,KAAK,KAAK,KAAK,EAAG,QAAQ,EAAI,CAAQ,EAAI,CAAQ,CACxD,CACF,CAEA,SAAgB,UAAU,EAAsC,CAI9D,IAAM,cAAiC,EAAO,OAAS,GAAQ,EAAO,OAAS,WAAW,EAAO,OAAQ,EAAE,EACrG,aAAmC,EAAO,MAEhD,MAAO,CACL,IAAI,QAAuB,CACzB,OAAO,UAAU,CACnB,EAEA,OAAO,EAAqB,CAC1B,GAAM,CAAC,EAAI,GAAM,UAAU,EACrB,CAAC,EAAI,GAAM,SAAS,EAE1B,GAAI,IAAO,EAAI,OAAO,EAEtB,IAAM,GAAK,EAAQ,IAAO,EAAK,GAE/B,OAAO,IAAI,KAAK,EAAG,QAAQ,EAAI,GAAK,EAAG,QAAQ,EAAI,EAAG,QAAQ,EAAE,CAClE,EAEA,IAAI,EAAqB,CACvB,GAAM,CAAC,EAAI,GAAM,UAAU,EACrB,CAAC,EAAI,GAAM,SAAS,EACpB,EAAS,EAAG,QAAQ,EAAI,EAAG,QAAQ,EAMzC,OAJI,IAAW,EAAU,EAIlB,GAFI,EAAM,QAAQ,EAAI,EAAG,QAAQ,GAAK,GAE5B,EAAK,EACxB,EAEA,IAAI,OAA0B,CAC5B,OAAO,SAAS,CAClB,EAEA,MAAM,EAAQ,GAAY,CACxB,GAAM,CAAC,EAAI,GAAM,UAAU,EAErB,EAAW,eADH,EAAG,QAAQ,EAAI,EAAG,QAAQ,EACD,CAAK,EACtC,EAAQ,KAAK,KAAK,EAAG,QAAQ,EAAI,CAAQ,EAAI,EAC7C,EAAgB,CAAC,EAEvB,IAAK,IAAI,EAAI,EAAO,GAAK,EAAG,QAAQ,EAAG,GAAK,EAC1C,EAAM,KAAK,IAAI,KAAK,CAAC,CAAC,EAGxB,OAAO,CACT,CACF,CACF"}
|
package/dist/svg/element.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
require("../_dev.cjs");var e=`http://www.w3.org/2000/svg`;function
|
|
1
|
+
require("../_dev.cjs");var e=`http://www.w3.org/2000/svg`;function createSvgElement(t,n){let r=document.createElementNS(e,t);return n&&setAttributes(r,n),r}function setAttributes(e,t){for(let[n,r]of Object.entries(t)){if(r===void 0){e.removeAttribute(n);continue}typeof r==`number`&&!Number.isFinite(r)&&`${n}${e.tagName}${r}`,e.setAttribute(n,String(r))}}function removeChildren(e){for(;e.firstChild;)e.removeChild(e.firstChild)}exports.createSvgElement=createSvgElement,exports.removeChildren=removeChildren,exports.setAttributes=setAttributes;
|
|
2
2
|
//# sourceMappingURL=element.cjs.map
|
package/dist/svg/element.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.cjs","names":[],"sources":["../../src/svg/element.ts"],"sourcesContent":["import { warn } from '../_dev';\n\nconst SVG_NS = 'http://www.w3.org/2000/svg';\n\nexport function createSvgElement<K extends keyof SVGElementTagNameMap>(\n tag: K,\n attrs?: Record<string, number | string | undefined>,\n): SVGElementTagNameMap[K] {\n const el = document.createElementNS(SVG_NS, tag);\n\n if (attrs) setAttributes(el, attrs);\n\n return el;\n}\n\nexport function setAttributes(el: SVGElement, attrs: Record<string, number | string | undefined>): void {\n for (const [key, value] of Object.entries(attrs)) {\n if (value === undefined) {\n el.removeAttribute(key);\n\n continue;\n }\n\n if (typeof value === 'number' && !Number.isFinite(value)) {\n warn(\n `setAttributes: attribute \"${key}\" on <${el.tagName}> received a non-finite value (${value}) — check upstream scale/geometry math for invalid input.`,\n );\n }\n\n el.setAttribute(key, String(value));\n }\n}\n\nexport function removeChildren(el: SVGElement): void {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n}\n"],"mappings":"uBAEA,IAAM,EAAS,6BAEf,SAAgB,
|
|
1
|
+
{"version":3,"file":"element.cjs","names":[],"sources":["../../src/svg/element.ts"],"sourcesContent":["import { warn } from '../_dev';\n\nconst SVG_NS = 'http://www.w3.org/2000/svg';\n\nexport function createSvgElement<K extends keyof SVGElementTagNameMap>(\n tag: K,\n attrs?: Record<string, number | string | undefined>,\n): SVGElementTagNameMap[K] {\n const el = document.createElementNS(SVG_NS, tag);\n\n if (attrs) setAttributes(el, attrs);\n\n return el;\n}\n\nexport function setAttributes(el: SVGElement, attrs: Record<string, number | string | undefined>): void {\n for (const [key, value] of Object.entries(attrs)) {\n if (value === undefined) {\n el.removeAttribute(key);\n\n continue;\n }\n\n if (typeof value === 'number' && !Number.isFinite(value)) {\n warn(\n `setAttributes: attribute \"${key}\" on <${el.tagName}> received a non-finite value (${value}) — check upstream scale/geometry math for invalid input.`,\n );\n }\n\n el.setAttribute(key, String(value));\n }\n}\n\nexport function removeChildren(el: SVGElement): void {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n}\n"],"mappings":"uBAEA,IAAM,EAAS,6BAEf,SAAgB,iBACd,EACA,EACyB,CACzB,IAAM,EAAK,SAAS,gBAAgB,EAAQ,CAAG,EAI/C,OAFI,GAAO,cAAc,EAAI,CAAK,EAE3B,CACT,CAEA,SAAgB,cAAc,EAAgB,EAA0D,CACtG,IAAK,GAAM,CAAC,EAAK,KAAU,OAAO,QAAQ,CAAK,EAAG,CAChD,GAAI,IAAU,IAAA,GAAW,CACvB,EAAG,gBAAgB,CAAG,EAEtB,QACF,CAEI,OAAO,GAAU,UAAY,CAAC,OAAO,SAAS,CAAK,GAEnD,GAA6B,EAA7B,EAAyC,EAAG,QAA5C,EAAqF,EAArF,EAIJ,EAAG,aAAa,EAAK,OAAO,CAAK,CAAC,CACpC,CACF,CAEA,SAAgB,eAAe,EAAsB,CACnD,KAAO,EAAG,YACR,EAAG,YAAY,EAAG,UAAU,CAEhC"}
|
package/dist/svg/element.js
CHANGED
|
@@ -1,23 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
//#region src/svg/element.ts
|
|
3
|
-
var e = "http://www.w3.org/2000/svg";
|
|
4
|
-
function t(t, r) {
|
|
5
|
-
let i = document.createElementNS(e, t);
|
|
6
|
-
return r && n(i, r), i;
|
|
7
|
-
}
|
|
8
|
-
function n(e, t) {
|
|
9
|
-
for (let [n, r] of Object.entries(t)) {
|
|
10
|
-
if (r === void 0) {
|
|
11
|
-
e.removeAttribute(n);
|
|
12
|
-
continue;
|
|
13
|
-
}
|
|
14
|
-
typeof r == "number" && !Number.isFinite(r) && `${n}${e.tagName}${r}`, e.setAttribute(n, String(r));
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
function r(e) {
|
|
18
|
-
for (; e.firstChild;) e.removeChild(e.firstChild);
|
|
19
|
-
}
|
|
20
|
-
//#endregion
|
|
21
|
-
export { t as createSvgElement, r as removeChildren, n as setAttributes };
|
|
22
|
-
|
|
1
|
+
import"../_dev.js";var e=`http://www.w3.org/2000/svg`;function createSvgElement(t,n){let r=document.createElementNS(e,t);return n&&setAttributes(r,n),r}function setAttributes(e,t){for(let[n,r]of Object.entries(t)){if(r===void 0){e.removeAttribute(n);continue}typeof r==`number`&&!Number.isFinite(r)&&`${n}${e.tagName}${r}`,e.setAttribute(n,String(r))}}function removeChildren(e){for(;e.firstChild;)e.removeChild(e.firstChild)}export{createSvgElement,removeChildren,setAttributes};
|
|
23
2
|
//# sourceMappingURL=element.js.map
|
package/dist/svg/element.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.js","names":[],"sources":["../../src/svg/element.ts"],"sourcesContent":["import { warn } from '../_dev';\n\nconst SVG_NS = 'http://www.w3.org/2000/svg';\n\nexport function createSvgElement<K extends keyof SVGElementTagNameMap>(\n tag: K,\n attrs?: Record<string, number | string | undefined>,\n): SVGElementTagNameMap[K] {\n const el = document.createElementNS(SVG_NS, tag);\n\n if (attrs) setAttributes(el, attrs);\n\n return el;\n}\n\nexport function setAttributes(el: SVGElement, attrs: Record<string, number | string | undefined>): void {\n for (const [key, value] of Object.entries(attrs)) {\n if (value === undefined) {\n el.removeAttribute(key);\n\n continue;\n }\n\n if (typeof value === 'number' && !Number.isFinite(value)) {\n warn(\n `setAttributes: attribute \"${key}\" on <${el.tagName}> received a non-finite value (${value}) — check upstream scale/geometry math for invalid input.`,\n );\n }\n\n el.setAttribute(key, String(value));\n }\n}\n\nexport function removeChildren(el: SVGElement): void {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"element.js","names":[],"sources":["../../src/svg/element.ts"],"sourcesContent":["import { warn } from '../_dev';\n\nconst SVG_NS = 'http://www.w3.org/2000/svg';\n\nexport function createSvgElement<K extends keyof SVGElementTagNameMap>(\n tag: K,\n attrs?: Record<string, number | string | undefined>,\n): SVGElementTagNameMap[K] {\n const el = document.createElementNS(SVG_NS, tag);\n\n if (attrs) setAttributes(el, attrs);\n\n return el;\n}\n\nexport function setAttributes(el: SVGElement, attrs: Record<string, number | string | undefined>): void {\n for (const [key, value] of Object.entries(attrs)) {\n if (value === undefined) {\n el.removeAttribute(key);\n\n continue;\n }\n\n if (typeof value === 'number' && !Number.isFinite(value)) {\n warn(\n `setAttributes: attribute \"${key}\" on <${el.tagName}> received a non-finite value (${value}) — check upstream scale/geometry math for invalid input.`,\n );\n }\n\n el.setAttribute(key, String(value));\n }\n}\n\nexport function removeChildren(el: SVGElement): void {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n}\n"],"mappings":"mBAEA,IAAM,EAAS,6BAEf,SAAgB,iBACd,EACA,EACyB,CACzB,IAAM,EAAK,SAAS,gBAAgB,EAAQ,CAAG,EAI/C,OAFI,GAAO,cAAc,EAAI,CAAK,EAE3B,CACT,CAEA,SAAgB,cAAc,EAAgB,EAA0D,CACtG,IAAK,GAAM,CAAC,EAAK,KAAU,OAAO,QAAQ,CAAK,EAAG,CAChD,GAAI,IAAU,IAAA,GAAW,CACvB,EAAG,gBAAgB,CAAG,EAEtB,QACF,CAEI,OAAO,GAAU,UAAY,CAAC,OAAO,SAAS,CAAK,GAEnD,GAA6B,EAA7B,EAAyC,EAAG,QAA5C,EAAqF,EAArF,EAIJ,EAAG,aAAa,EAAK,OAAO,CAAK,CAAC,CACpC,CACF,CAEA,SAAgB,eAAe,EAAsB,CACnD,KAAO,EAAG,YACR,EAAG,YAAY,EAAG,UAAU,CAEhC"}
|
package/dist/svg/path.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function
|
|
1
|
+
function linePath(e){if(e.length===0)return``;let t=`M${e[0].x},${e[0].y}`;for(let n=1;n<e.length;n++)t+=`L${e[n].x},${e[n].y}`;return t}function monotonePath(e){if(e.length<3)return linePath(e);let t=e.length,n=[];for(let r=0;r<t;r++)r===0?n.push({x:e[1].x-e[0].x,y:e[1].y-e[0].y}):r===t-1?n.push({x:e[t-1].x-e[t-2].x,y:e[t-1].y-e[t-2].y}):n.push({x:(e[r+1].x-e[r-1].x)/2,y:(e[r+1].y-e[r-1].y)/2});let r=`M${e[0].x},${e[0].y}`;for(let i=0;i<t-1;i++){let t=e[i],a=e[i+1],o=n[i],s=n[i+1],c=(a.x-t.x)/3;r+=`C${t.x+c},${t.y+o.y/3},${a.x-c},${a.y-s.y/3},${a.x},${a.y}`}return r}function stepPath(e){if(e.length===0)return``;let t=`M${e[0].x},${e[0].y}`;for(let n=1;n<e.length;n++){let r=(e[n-1].x+e[n].x)/2;t+=`H${r}V${e[n].y}H${e[n].x}`}return t}function areaPath(e,t,n=`linear`){if(e.length===0)return``;let r=n===`monotone`?monotonePath(e):n===`step`?stepPath(e):linePath(e),i=[...t].reverse();if(i.length>0){r+=`L${i[0].x},${i[0].y}`;for(let e=1;e<i.length;e++)r+=`L${i[e].x},${i[e].y}`}return r+=`Z`,r}exports.areaPath=areaPath,exports.linePath=linePath,exports.monotonePath=monotonePath,exports.stepPath=stepPath;
|
|
2
2
|
//# sourceMappingURL=path.cjs.map
|
package/dist/svg/path.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.cjs","names":[],"sources":["../../src/svg/path.ts"],"sourcesContent":["export interface Point {\n x: number;\n y: number;\n}\n\nexport function linePath(points: Point[]): string {\n if (points.length === 0) return '';\n\n let d = `M${points[0].x},${points[0].y}`;\n\n for (let i = 1; i < points.length; i++) {\n d += `L${points[i].x},${points[i].y}`;\n }\n\n return d;\n}\n\nexport function monotonePath(points: Point[]): string {\n if (points.length < 3) return linePath(points);\n\n const n = points.length;\n const tangents: Point[] = [];\n\n for (let i = 0; i < n; i++) {\n if (i === 0) {\n tangents.push({ x: points[1].x - points[0].x, y: points[1].y - points[0].y });\n } else if (i === n - 1) {\n tangents.push({ x: points[n - 1].x - points[n - 2].x, y: points[n - 1].y - points[n - 2].y });\n } else {\n tangents.push({ x: (points[i + 1].x - points[i - 1].x) / 2, y: (points[i + 1].y - points[i - 1].y) / 2 });\n }\n }\n\n let d = `M${points[0].x},${points[0].y}`;\n\n for (let i = 0; i < n - 1; i++) {\n const p0 = points[i];\n const p1 = points[i + 1];\n const t0 = tangents[i];\n const t1 = tangents[i + 1];\n const dx = (p1.x - p0.x) / 3;\n\n d += `C${p0.x + dx},${p0.y + t0.y / 3},${p1.x - dx},${p1.y - t1.y / 3},${p1.x},${p1.y}`;\n }\n\n return d;\n}\n\nexport function stepPath(points: Point[]): string {\n if (points.length === 0) return '';\n\n let d = `M${points[0].x},${points[0].y}`;\n\n for (let i = 1; i < points.length; i++) {\n const midX = (points[i - 1].x + points[i].x) / 2;\n\n d += `H${midX}V${points[i].y}H${points[i].x}`;\n }\n\n return d;\n}\n\nexport function areaPath(\n topPoints: Point[],\n bottomPoints: Point[],\n curve: 'linear' | 'monotone' | 'step' = 'linear',\n): string {\n if (topPoints.length === 0) return '';\n\n const topPath =\n curve === 'monotone' ? monotonePath(topPoints) : curve === 'step' ? stepPath(topPoints) : linePath(topPoints);\n let d = topPath;\n const reversed = [...bottomPoints].reverse();\n\n if (reversed.length > 0) {\n d += `L${reversed[0].x},${reversed[0].y}`;\n for (let i = 1; i < reversed.length; i++) {\n d += `L${reversed[i].x},${reversed[i].y}`;\n }\n }\n\n d += 'Z';\n\n return d;\n}\n"],"mappings":"AAKA,SAAgB,
|
|
1
|
+
{"version":3,"file":"path.cjs","names":[],"sources":["../../src/svg/path.ts"],"sourcesContent":["export interface Point {\n x: number;\n y: number;\n}\n\nexport function linePath(points: Point[]): string {\n if (points.length === 0) return '';\n\n let d = `M${points[0].x},${points[0].y}`;\n\n for (let i = 1; i < points.length; i++) {\n d += `L${points[i].x},${points[i].y}`;\n }\n\n return d;\n}\n\nexport function monotonePath(points: Point[]): string {\n if (points.length < 3) return linePath(points);\n\n const n = points.length;\n const tangents: Point[] = [];\n\n for (let i = 0; i < n; i++) {\n if (i === 0) {\n tangents.push({ x: points[1].x - points[0].x, y: points[1].y - points[0].y });\n } else if (i === n - 1) {\n tangents.push({ x: points[n - 1].x - points[n - 2].x, y: points[n - 1].y - points[n - 2].y });\n } else {\n tangents.push({ x: (points[i + 1].x - points[i - 1].x) / 2, y: (points[i + 1].y - points[i - 1].y) / 2 });\n }\n }\n\n let d = `M${points[0].x},${points[0].y}`;\n\n for (let i = 0; i < n - 1; i++) {\n const p0 = points[i];\n const p1 = points[i + 1];\n const t0 = tangents[i];\n const t1 = tangents[i + 1];\n const dx = (p1.x - p0.x) / 3;\n\n d += `C${p0.x + dx},${p0.y + t0.y / 3},${p1.x - dx},${p1.y - t1.y / 3},${p1.x},${p1.y}`;\n }\n\n return d;\n}\n\nexport function stepPath(points: Point[]): string {\n if (points.length === 0) return '';\n\n let d = `M${points[0].x},${points[0].y}`;\n\n for (let i = 1; i < points.length; i++) {\n const midX = (points[i - 1].x + points[i].x) / 2;\n\n d += `H${midX}V${points[i].y}H${points[i].x}`;\n }\n\n return d;\n}\n\nexport function areaPath(\n topPoints: Point[],\n bottomPoints: Point[],\n curve: 'linear' | 'monotone' | 'step' = 'linear',\n): string {\n if (topPoints.length === 0) return '';\n\n const topPath =\n curve === 'monotone' ? monotonePath(topPoints) : curve === 'step' ? stepPath(topPoints) : linePath(topPoints);\n let d = topPath;\n const reversed = [...bottomPoints].reverse();\n\n if (reversed.length > 0) {\n d += `L${reversed[0].x},${reversed[0].y}`;\n for (let i = 1; i < reversed.length; i++) {\n d += `L${reversed[i].x},${reversed[i].y}`;\n }\n }\n\n d += 'Z';\n\n return d;\n}\n"],"mappings":"AAKA,SAAgB,SAAS,EAAyB,CAChD,GAAI,EAAO,SAAW,EAAG,MAAO,GAEhC,IAAI,EAAI,IAAI,EAAO,EAAE,CAAC,EAAE,GAAG,EAAO,EAAE,CAAC,IAErC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAO,OAAQ,IACjC,GAAK,IAAI,EAAO,EAAE,CAAC,EAAE,GAAG,EAAO,EAAE,CAAC,IAGpC,OAAO,CACT,CAEA,SAAgB,aAAa,EAAyB,CACpD,GAAI,EAAO,OAAS,EAAG,OAAO,SAAS,CAAM,EAE7C,IAAM,EAAI,EAAO,OACX,EAAoB,CAAC,EAE3B,IAAK,IAAI,EAAI,EAAG,EAAI,EAAG,IACjB,IAAM,EACR,EAAS,KAAK,CAAE,EAAG,EAAO,EAAE,CAAC,EAAI,EAAO,EAAE,CAAC,EAAG,EAAG,EAAO,EAAE,CAAC,EAAI,EAAO,EAAE,CAAC,CAAE,CAAC,EACnE,IAAM,EAAI,EACnB,EAAS,KAAK,CAAE,EAAG,EAAO,EAAI,EAAE,CAAC,EAAI,EAAO,EAAI,EAAE,CAAC,EAAG,EAAG,EAAO,EAAI,EAAE,CAAC,EAAI,EAAO,EAAI,EAAE,CAAC,CAAE,CAAC,EAE5F,EAAS,KAAK,CAAE,GAAI,EAAO,EAAI,EAAE,CAAC,EAAI,EAAO,EAAI,EAAE,CAAC,GAAK,EAAG,GAAI,EAAO,EAAI,EAAE,CAAC,EAAI,EAAO,EAAI,EAAE,CAAC,GAAK,CAAE,CAAC,EAI5G,IAAI,EAAI,IAAI,EAAO,EAAE,CAAC,EAAE,GAAG,EAAO,EAAE,CAAC,IAErC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAI,EAAG,IAAK,CAC9B,IAAM,EAAK,EAAO,GACZ,EAAK,EAAO,EAAI,GAChB,EAAK,EAAS,GACd,EAAK,EAAS,EAAI,GAClB,GAAM,EAAG,EAAI,EAAG,GAAK,EAE3B,GAAK,IAAI,EAAG,EAAI,EAAG,GAAG,EAAG,EAAI,EAAG,EAAI,EAAE,GAAG,EAAG,EAAI,EAAG,GAAG,EAAG,EAAI,EAAG,EAAI,EAAE,GAAG,EAAG,EAAE,GAAG,EAAG,GACtF,CAEA,OAAO,CACT,CAEA,SAAgB,SAAS,EAAyB,CAChD,GAAI,EAAO,SAAW,EAAG,MAAO,GAEhC,IAAI,EAAI,IAAI,EAAO,EAAE,CAAC,EAAE,GAAG,EAAO,EAAE,CAAC,IAErC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAO,OAAQ,IAAK,CACtC,IAAM,GAAQ,EAAO,EAAI,EAAE,CAAC,EAAI,EAAO,EAAE,CAAC,GAAK,EAE/C,GAAK,IAAI,EAAK,GAAG,EAAO,EAAE,CAAC,EAAE,GAAG,EAAO,EAAE,CAAC,GAC5C,CAEA,OAAO,CACT,CAEA,SAAgB,SACd,EACA,EACA,EAAwC,SAChC,CACR,GAAI,EAAU,SAAW,EAAG,MAAO,GAInC,IAAI,EADF,IAAU,WAAa,aAAa,CAAS,EAAI,IAAU,OAAS,SAAS,CAAS,EAAI,SAAS,CAAS,EAExG,EAAW,CAAC,GAAG,CAAY,CAAC,CAAC,QAAQ,EAE3C,GAAI,EAAS,OAAS,EAAG,CACvB,GAAK,IAAI,EAAS,EAAE,CAAC,EAAE,GAAG,EAAS,EAAE,CAAC,IACtC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAS,OAAQ,IACnC,GAAK,IAAI,EAAS,EAAE,CAAC,EAAE,GAAG,EAAS,EAAE,CAAC,GAE1C,CAIA,MAFA,IAAK,IAEE,CACT"}
|
package/dist/svg/path.js
CHANGED
|
@@ -1,49 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
function e(e) {
|
|
3
|
-
if (e.length === 0) return "";
|
|
4
|
-
let t = `M${e[0].x},${e[0].y}`;
|
|
5
|
-
for (let n = 1; n < e.length; n++) t += `L${e[n].x},${e[n].y}`;
|
|
6
|
-
return t;
|
|
7
|
-
}
|
|
8
|
-
function t(t) {
|
|
9
|
-
if (t.length < 3) return e(t);
|
|
10
|
-
let n = t.length, r = [];
|
|
11
|
-
for (let e = 0; e < n; e++) e === 0 ? r.push({
|
|
12
|
-
x: t[1].x - t[0].x,
|
|
13
|
-
y: t[1].y - t[0].y
|
|
14
|
-
}) : e === n - 1 ? r.push({
|
|
15
|
-
x: t[n - 1].x - t[n - 2].x,
|
|
16
|
-
y: t[n - 1].y - t[n - 2].y
|
|
17
|
-
}) : r.push({
|
|
18
|
-
x: (t[e + 1].x - t[e - 1].x) / 2,
|
|
19
|
-
y: (t[e + 1].y - t[e - 1].y) / 2
|
|
20
|
-
});
|
|
21
|
-
let i = `M${t[0].x},${t[0].y}`;
|
|
22
|
-
for (let e = 0; e < n - 1; e++) {
|
|
23
|
-
let n = t[e], a = t[e + 1], o = r[e], s = r[e + 1], c = (a.x - n.x) / 3;
|
|
24
|
-
i += `C${n.x + c},${n.y + o.y / 3},${a.x - c},${a.y - s.y / 3},${a.x},${a.y}`;
|
|
25
|
-
}
|
|
26
|
-
return i;
|
|
27
|
-
}
|
|
28
|
-
function n(e) {
|
|
29
|
-
if (e.length === 0) return "";
|
|
30
|
-
let t = `M${e[0].x},${e[0].y}`;
|
|
31
|
-
for (let n = 1; n < e.length; n++) {
|
|
32
|
-
let r = (e[n - 1].x + e[n].x) / 2;
|
|
33
|
-
t += `H${r}V${e[n].y}H${e[n].x}`;
|
|
34
|
-
}
|
|
35
|
-
return t;
|
|
36
|
-
}
|
|
37
|
-
function r(r, i, a = "linear") {
|
|
38
|
-
if (r.length === 0) return "";
|
|
39
|
-
let o = a === "monotone" ? t(r) : a === "step" ? n(r) : e(r), s = [...i].reverse();
|
|
40
|
-
if (s.length > 0) {
|
|
41
|
-
o += `L${s[0].x},${s[0].y}`;
|
|
42
|
-
for (let e = 1; e < s.length; e++) o += `L${s[e].x},${s[e].y}`;
|
|
43
|
-
}
|
|
44
|
-
return o += "Z", o;
|
|
45
|
-
}
|
|
46
|
-
//#endregion
|
|
47
|
-
export { r as areaPath, e as linePath, t as monotonePath, n as stepPath };
|
|
48
|
-
|
|
1
|
+
function linePath(e){if(e.length===0)return``;let t=`M${e[0].x},${e[0].y}`;for(let n=1;n<e.length;n++)t+=`L${e[n].x},${e[n].y}`;return t}function monotonePath(e){if(e.length<3)return linePath(e);let t=e.length,n=[];for(let r=0;r<t;r++)r===0?n.push({x:e[1].x-e[0].x,y:e[1].y-e[0].y}):r===t-1?n.push({x:e[t-1].x-e[t-2].x,y:e[t-1].y-e[t-2].y}):n.push({x:(e[r+1].x-e[r-1].x)/2,y:(e[r+1].y-e[r-1].y)/2});let r=`M${e[0].x},${e[0].y}`;for(let i=0;i<t-1;i++){let t=e[i],a=e[i+1],o=n[i],s=n[i+1],c=(a.x-t.x)/3;r+=`C${t.x+c},${t.y+o.y/3},${a.x-c},${a.y-s.y/3},${a.x},${a.y}`}return r}function stepPath(e){if(e.length===0)return``;let t=`M${e[0].x},${e[0].y}`;for(let n=1;n<e.length;n++){let r=(e[n-1].x+e[n].x)/2;t+=`H${r}V${e[n].y}H${e[n].x}`}return t}function areaPath(e,t,n=`linear`){if(e.length===0)return``;let r=n===`monotone`?monotonePath(e):n===`step`?stepPath(e):linePath(e),i=[...t].reverse();if(i.length>0){r+=`L${i[0].x},${i[0].y}`;for(let e=1;e<i.length;e++)r+=`L${i[e].x},${i[e].y}`}return r+=`Z`,r}export{areaPath,linePath,monotonePath,stepPath};
|
|
49
2
|
//# sourceMappingURL=path.js.map
|
package/dist/svg/path.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.js","names":[],"sources":["../../src/svg/path.ts"],"sourcesContent":["export interface Point {\n x: number;\n y: number;\n}\n\nexport function linePath(points: Point[]): string {\n if (points.length === 0) return '';\n\n let d = `M${points[0].x},${points[0].y}`;\n\n for (let i = 1; i < points.length; i++) {\n d += `L${points[i].x},${points[i].y}`;\n }\n\n return d;\n}\n\nexport function monotonePath(points: Point[]): string {\n if (points.length < 3) return linePath(points);\n\n const n = points.length;\n const tangents: Point[] = [];\n\n for (let i = 0; i < n; i++) {\n if (i === 0) {\n tangents.push({ x: points[1].x - points[0].x, y: points[1].y - points[0].y });\n } else if (i === n - 1) {\n tangents.push({ x: points[n - 1].x - points[n - 2].x, y: points[n - 1].y - points[n - 2].y });\n } else {\n tangents.push({ x: (points[i + 1].x - points[i - 1].x) / 2, y: (points[i + 1].y - points[i - 1].y) / 2 });\n }\n }\n\n let d = `M${points[0].x},${points[0].y}`;\n\n for (let i = 0; i < n - 1; i++) {\n const p0 = points[i];\n const p1 = points[i + 1];\n const t0 = tangents[i];\n const t1 = tangents[i + 1];\n const dx = (p1.x - p0.x) / 3;\n\n d += `C${p0.x + dx},${p0.y + t0.y / 3},${p1.x - dx},${p1.y - t1.y / 3},${p1.x},${p1.y}`;\n }\n\n return d;\n}\n\nexport function stepPath(points: Point[]): string {\n if (points.length === 0) return '';\n\n let d = `M${points[0].x},${points[0].y}`;\n\n for (let i = 1; i < points.length; i++) {\n const midX = (points[i - 1].x + points[i].x) / 2;\n\n d += `H${midX}V${points[i].y}H${points[i].x}`;\n }\n\n return d;\n}\n\nexport function areaPath(\n topPoints: Point[],\n bottomPoints: Point[],\n curve: 'linear' | 'monotone' | 'step' = 'linear',\n): string {\n if (topPoints.length === 0) return '';\n\n const topPath =\n curve === 'monotone' ? monotonePath(topPoints) : curve === 'step' ? stepPath(topPoints) : linePath(topPoints);\n let d = topPath;\n const reversed = [...bottomPoints].reverse();\n\n if (reversed.length > 0) {\n d += `L${reversed[0].x},${reversed[0].y}`;\n for (let i = 1; i < reversed.length; i++) {\n d += `L${reversed[i].x},${reversed[i].y}`;\n }\n }\n\n d += 'Z';\n\n return d;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"path.js","names":[],"sources":["../../src/svg/path.ts"],"sourcesContent":["export interface Point {\n x: number;\n y: number;\n}\n\nexport function linePath(points: Point[]): string {\n if (points.length === 0) return '';\n\n let d = `M${points[0].x},${points[0].y}`;\n\n for (let i = 1; i < points.length; i++) {\n d += `L${points[i].x},${points[i].y}`;\n }\n\n return d;\n}\n\nexport function monotonePath(points: Point[]): string {\n if (points.length < 3) return linePath(points);\n\n const n = points.length;\n const tangents: Point[] = [];\n\n for (let i = 0; i < n; i++) {\n if (i === 0) {\n tangents.push({ x: points[1].x - points[0].x, y: points[1].y - points[0].y });\n } else if (i === n - 1) {\n tangents.push({ x: points[n - 1].x - points[n - 2].x, y: points[n - 1].y - points[n - 2].y });\n } else {\n tangents.push({ x: (points[i + 1].x - points[i - 1].x) / 2, y: (points[i + 1].y - points[i - 1].y) / 2 });\n }\n }\n\n let d = `M${points[0].x},${points[0].y}`;\n\n for (let i = 0; i < n - 1; i++) {\n const p0 = points[i];\n const p1 = points[i + 1];\n const t0 = tangents[i];\n const t1 = tangents[i + 1];\n const dx = (p1.x - p0.x) / 3;\n\n d += `C${p0.x + dx},${p0.y + t0.y / 3},${p1.x - dx},${p1.y - t1.y / 3},${p1.x},${p1.y}`;\n }\n\n return d;\n}\n\nexport function stepPath(points: Point[]): string {\n if (points.length === 0) return '';\n\n let d = `M${points[0].x},${points[0].y}`;\n\n for (let i = 1; i < points.length; i++) {\n const midX = (points[i - 1].x + points[i].x) / 2;\n\n d += `H${midX}V${points[i].y}H${points[i].x}`;\n }\n\n return d;\n}\n\nexport function areaPath(\n topPoints: Point[],\n bottomPoints: Point[],\n curve: 'linear' | 'monotone' | 'step' = 'linear',\n): string {\n if (topPoints.length === 0) return '';\n\n const topPath =\n curve === 'monotone' ? monotonePath(topPoints) : curve === 'step' ? stepPath(topPoints) : linePath(topPoints);\n let d = topPath;\n const reversed = [...bottomPoints].reverse();\n\n if (reversed.length > 0) {\n d += `L${reversed[0].x},${reversed[0].y}`;\n for (let i = 1; i < reversed.length; i++) {\n d += `L${reversed[i].x},${reversed[i].y}`;\n }\n }\n\n d += 'Z';\n\n return d;\n}\n"],"mappings":"AAKA,SAAgB,SAAS,EAAyB,CAChD,GAAI,EAAO,SAAW,EAAG,MAAO,GAEhC,IAAI,EAAI,IAAI,EAAO,EAAE,CAAC,EAAE,GAAG,EAAO,EAAE,CAAC,IAErC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAO,OAAQ,IACjC,GAAK,IAAI,EAAO,EAAE,CAAC,EAAE,GAAG,EAAO,EAAE,CAAC,IAGpC,OAAO,CACT,CAEA,SAAgB,aAAa,EAAyB,CACpD,GAAI,EAAO,OAAS,EAAG,OAAO,SAAS,CAAM,EAE7C,IAAM,EAAI,EAAO,OACX,EAAoB,CAAC,EAE3B,IAAK,IAAI,EAAI,EAAG,EAAI,EAAG,IACjB,IAAM,EACR,EAAS,KAAK,CAAE,EAAG,EAAO,EAAE,CAAC,EAAI,EAAO,EAAE,CAAC,EAAG,EAAG,EAAO,EAAE,CAAC,EAAI,EAAO,EAAE,CAAC,CAAE,CAAC,EACnE,IAAM,EAAI,EACnB,EAAS,KAAK,CAAE,EAAG,EAAO,EAAI,EAAE,CAAC,EAAI,EAAO,EAAI,EAAE,CAAC,EAAG,EAAG,EAAO,EAAI,EAAE,CAAC,EAAI,EAAO,EAAI,EAAE,CAAC,CAAE,CAAC,EAE5F,EAAS,KAAK,CAAE,GAAI,EAAO,EAAI,EAAE,CAAC,EAAI,EAAO,EAAI,EAAE,CAAC,GAAK,EAAG,GAAI,EAAO,EAAI,EAAE,CAAC,EAAI,EAAO,EAAI,EAAE,CAAC,GAAK,CAAE,CAAC,EAI5G,IAAI,EAAI,IAAI,EAAO,EAAE,CAAC,EAAE,GAAG,EAAO,EAAE,CAAC,IAErC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAI,EAAG,IAAK,CAC9B,IAAM,EAAK,EAAO,GACZ,EAAK,EAAO,EAAI,GAChB,EAAK,EAAS,GACd,EAAK,EAAS,EAAI,GAClB,GAAM,EAAG,EAAI,EAAG,GAAK,EAE3B,GAAK,IAAI,EAAG,EAAI,EAAG,GAAG,EAAG,EAAI,EAAG,EAAI,EAAE,GAAG,EAAG,EAAI,EAAG,GAAG,EAAG,EAAI,EAAG,EAAI,EAAE,GAAG,EAAG,EAAE,GAAG,EAAG,GACtF,CAEA,OAAO,CACT,CAEA,SAAgB,SAAS,EAAyB,CAChD,GAAI,EAAO,SAAW,EAAG,MAAO,GAEhC,IAAI,EAAI,IAAI,EAAO,EAAE,CAAC,EAAE,GAAG,EAAO,EAAE,CAAC,IAErC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAO,OAAQ,IAAK,CACtC,IAAM,GAAQ,EAAO,EAAI,EAAE,CAAC,EAAI,EAAO,EAAE,CAAC,GAAK,EAE/C,GAAK,IAAI,EAAK,GAAG,EAAO,EAAE,CAAC,EAAE,GAAG,EAAO,EAAE,CAAC,GAC5C,CAEA,OAAO,CACT,CAEA,SAAgB,SACd,EACA,EACA,EAAwC,SAChC,CACR,GAAI,EAAU,SAAW,EAAG,MAAO,GAInC,IAAI,EADF,IAAU,WAAa,aAAa,CAAS,EAAI,IAAU,OAAS,SAAS,CAAS,EAAI,SAAS,CAAS,EAExG,EAAW,CAAC,GAAG,CAAY,CAAC,CAAC,QAAQ,EAE3C,GAAI,EAAS,OAAS,EAAG,CACvB,GAAK,IAAI,EAAS,EAAE,CAAC,EAAE,GAAG,EAAS,EAAE,CAAC,IACtC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAS,OAAQ,IACnC,GAAK,IAAI,EAAS,EAAE,CAAC,EAAE,GAAG,EAAS,EAAE,CAAC,GAE1C,CAIA,MAFA,IAAK,IAEE,CACT"}
|
package/dist/svg/text.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("./element.cjs");function
|
|
1
|
+
const e=require("./element.cjs");function createTextElement(t,n){let r=e.createSvgElement(`text`,n);return r.textContent=t,r}exports.createTextElement=createTextElement;
|
|
2
2
|
//# sourceMappingURL=text.cjs.map
|
package/dist/svg/text.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.cjs","names":[],"sources":["../../src/svg/text.ts"],"sourcesContent":["import { createSvgElement } from './element';\n\nexport function createTextElement(\n content: string,\n attrs?: Record<string, number | string | undefined>,\n): SVGTextElement {\n const text = createSvgElement('text', attrs);\n\n text.textContent = content;\n\n return text;\n}\n"],"mappings":"iCAEA,SAAgB,
|
|
1
|
+
{"version":3,"file":"text.cjs","names":[],"sources":["../../src/svg/text.ts"],"sourcesContent":["import { createSvgElement } from './element';\n\nexport function createTextElement(\n content: string,\n attrs?: Record<string, number | string | undefined>,\n): SVGTextElement {\n const text = createSvgElement('text', attrs);\n\n text.textContent = content;\n\n return text;\n}\n"],"mappings":"iCAEA,SAAgB,kBACd,EACA,EACgB,CAChB,IAAM,EAAO,EAAA,iBAAiB,OAAQ,CAAK,EAI3C,MAFA,GAAK,YAAc,EAEZ,CACT"}
|
package/dist/svg/text.js
CHANGED
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
//#region src/svg/text.ts
|
|
3
|
-
function t(t, n) {
|
|
4
|
-
let r = e("text", n);
|
|
5
|
-
return r.textContent = t, r;
|
|
6
|
-
}
|
|
7
|
-
//#endregion
|
|
8
|
-
export { t as createTextElement };
|
|
9
|
-
|
|
1
|
+
import{createSvgElement as e}from"./element.js";function createTextElement(t,n){let r=e(`text`,n);return r.textContent=t,r}export{createTextElement};
|
|
10
2
|
//# sourceMappingURL=text.js.map
|
package/dist/svg/text.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","names":[],"sources":["../../src/svg/text.ts"],"sourcesContent":["import { createSvgElement } from './element';\n\nexport function createTextElement(\n content: string,\n attrs?: Record<string, number | string | undefined>,\n): SVGTextElement {\n const text = createSvgElement('text', attrs);\n\n text.textContent = content;\n\n return text;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"text.js","names":[],"sources":["../../src/svg/text.ts"],"sourcesContent":["import { createSvgElement } from './element';\n\nexport function createTextElement(\n content: string,\n attrs?: Record<string, number | string | undefined>,\n): SVGTextElement {\n const text = createSvgElement('text', attrs);\n\n text.textContent = content;\n\n return text;\n}\n"],"mappings":"gDAEA,SAAgB,kBACd,EACA,EACgB,CAChB,IAAM,EAAO,EAAiB,OAAQ,CAAK,EAI3C,MAFA,GAAK,YAAc,EAEZ,CACT"}
|
package/dist/theme/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function
|
|
1
|
+
function setTheme(e){let t=document.documentElement;if(e.colors)for(let n=0;n<8;n++){let r=e.colors[n];r?t.style.setProperty(`--prism-color-${n+1}`,r):t.style.removeProperty(`--prism-color-${n+1}`)}e.fontFamily&&t.style.setProperty(`--prism-font-family`,e.fontFamily),e.gridColor&&t.style.setProperty(`--prism-grid-color`,e.gridColor),e.gridOpacity!==void 0&&t.style.setProperty(`--prism-grid-opacity`,String(e.gridOpacity))}function resetTheme(){let e=document.documentElement;for(let t=1;t<=8;t++)e.style.removeProperty(`--prism-color-${t}`);e.style.removeProperty(`--prism-font-family`),e.style.removeProperty(`--prism-grid-color`),e.style.removeProperty(`--prism-grid-opacity`)}function seriesColor(e,t){return t??`var(--prism-color-${e%8+1})`}exports.resetTheme=resetTheme,exports.seriesColor=seriesColor,exports.setTheme=setTheme;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/theme/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../../src/theme/index.ts"],"sourcesContent":["import type { PrismTheme } from '../types';\n\nconst MAX_THEME_COLORS = 8;\n\nexport function setTheme(theme: PrismTheme): void {\n const root = document.documentElement;\n\n if (theme.colors) {\n // Clear (not just overwrite) every color slot the previous setTheme() call may have\n // used — otherwise a theme with fewer colors than the last one leaves stale values\n // on the untouched higher-index custom properties.\n for (let i = 0; i < MAX_THEME_COLORS; i++) {\n const color = theme.colors[i];\n\n if (color) {\n root.style.setProperty(`--prism-color-${i + 1}`, color);\n } else {\n root.style.removeProperty(`--prism-color-${i + 1}`);\n }\n }\n }\n\n if (theme.fontFamily) root.style.setProperty('--prism-font-family', theme.fontFamily);\n\n if (theme.gridColor) root.style.setProperty('--prism-grid-color', theme.gridColor);\n\n if (theme.gridOpacity !== undefined) root.style.setProperty('--prism-grid-opacity', String(theme.gridOpacity));\n}\n\n/** Clears every CSS custom property `setTheme()` can set, restoring prism's default theme (from `prism.css`). */\nexport function resetTheme(): void {\n const root = document.documentElement;\n\n for (let i = 1; i <= MAX_THEME_COLORS; i++) root.style.removeProperty(`--prism-color-${i}`);\n\n root.style.removeProperty('--prism-font-family');\n root.style.removeProperty('--prism-grid-color');\n root.style.removeProperty('--prism-grid-opacity');\n}\n\nexport function seriesColor(index: number, override?: string): string {\n return override ?? `var(--prism-color-${(index % MAX_THEME_COLORS) + 1})`;\n}\n"],"mappings":"AAIA,SAAgB,
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../src/theme/index.ts"],"sourcesContent":["import type { PrismTheme } from '../types';\n\nconst MAX_THEME_COLORS = 8;\n\nexport function setTheme(theme: PrismTheme): void {\n const root = document.documentElement;\n\n if (theme.colors) {\n // Clear (not just overwrite) every color slot the previous setTheme() call may have\n // used — otherwise a theme with fewer colors than the last one leaves stale values\n // on the untouched higher-index custom properties.\n for (let i = 0; i < MAX_THEME_COLORS; i++) {\n const color = theme.colors[i];\n\n if (color) {\n root.style.setProperty(`--prism-color-${i + 1}`, color);\n } else {\n root.style.removeProperty(`--prism-color-${i + 1}`);\n }\n }\n }\n\n if (theme.fontFamily) root.style.setProperty('--prism-font-family', theme.fontFamily);\n\n if (theme.gridColor) root.style.setProperty('--prism-grid-color', theme.gridColor);\n\n if (theme.gridOpacity !== undefined) root.style.setProperty('--prism-grid-opacity', String(theme.gridOpacity));\n}\n\n/** Clears every CSS custom property `setTheme()` can set, restoring prism's default theme (from `prism.css`). */\nexport function resetTheme(): void {\n const root = document.documentElement;\n\n for (let i = 1; i <= MAX_THEME_COLORS; i++) root.style.removeProperty(`--prism-color-${i}`);\n\n root.style.removeProperty('--prism-font-family');\n root.style.removeProperty('--prism-grid-color');\n root.style.removeProperty('--prism-grid-opacity');\n}\n\nexport function seriesColor(index: number, override?: string): string {\n return override ?? `var(--prism-color-${(index % MAX_THEME_COLORS) + 1})`;\n}\n"],"mappings":"AAIA,SAAgB,SAAS,EAAyB,CAChD,IAAM,EAAO,SAAS,gBAEtB,GAAI,EAAM,OAIR,IAAK,IAAI,EAAI,EAAG,EAAI,EAAkB,IAAK,CACzC,IAAM,EAAQ,EAAM,OAAO,GAEvB,EACF,EAAK,MAAM,YAAY,iBAAiB,EAAI,IAAK,CAAK,EAEtD,EAAK,MAAM,eAAe,iBAAiB,EAAI,GAAG,CAEtD,CAGE,EAAM,YAAY,EAAK,MAAM,YAAY,sBAAuB,EAAM,UAAU,EAEhF,EAAM,WAAW,EAAK,MAAM,YAAY,qBAAsB,EAAM,SAAS,EAE7E,EAAM,cAAgB,IAAA,IAAW,EAAK,MAAM,YAAY,uBAAwB,OAAO,EAAM,WAAW,CAAC,CAC/G,CAGA,SAAgB,YAAmB,CACjC,IAAM,EAAO,SAAS,gBAEtB,IAAK,IAAI,EAAI,EAAG,GAAK,EAAkB,IAAK,EAAK,MAAM,eAAe,iBAAiB,GAAG,EAE1F,EAAK,MAAM,eAAe,qBAAqB,EAC/C,EAAK,MAAM,eAAe,oBAAoB,EAC9C,EAAK,MAAM,eAAe,sBAAsB,CAClD,CAEA,SAAgB,YAAY,EAAe,EAA2B,CACpE,OAAO,GAAY,qBAAsB,EAAQ,EAAoB,EAAE,EACzE"}
|