@jbrowse/core 2.0.1 → 2.1.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/BaseFeatureWidget/BaseFeatureDetail.d.ts +6 -0
- package/BaseFeatureWidget/BaseFeatureDetail.js +313 -592
- package/BaseFeatureWidget/SequenceFeatureDetails.js +213 -479
- package/BaseFeatureWidget/index.js +88 -126
- package/BaseFeatureWidget/types.js +1 -4
- package/BaseFeatureWidget/util.js +40 -75
- package/CorePlugin.js +55 -94
- package/Plugin.js +9 -34
- package/PluginLoader.js +153 -422
- package/PluginManager.d.ts +17 -14
- package/PluginManager.js +377 -666
- package/ReExports/Attributes.js +3 -10
- package/ReExports/BaseCard.js +3 -10
- package/ReExports/DataGrid.js +5 -12
- package/ReExports/FeatureDetails.js +3 -10
- package/ReExports/index.js +6 -12
- package/ReExports/list.d.ts +5 -0
- package/ReExports/list.js +271 -7
- package/ReExports/material-ui-colors.js +15 -16
- package/ReExports/modules.d.ts +0 -1
- package/ReExports/modules.js +453 -798
- package/TextSearch/BaseResults.js +51 -123
- package/TextSearch/TextSearchManager.js +66 -144
- package/assemblyManager/assembly.js +280 -555
- package/assemblyManager/assemblyConfigSchema.js +47 -64
- package/assemblyManager/assemblyManager.js +126 -272
- package/assemblyManager/index.js +9 -22
- package/configuration/configurationSchema.js +167 -203
- package/configuration/configurationSlot.js +248 -326
- package/configuration/index.js +19 -35
- package/configuration/util.js +131 -173
- package/data_adapters/BaseAdapter.d.ts +2 -2
- package/data_adapters/BaseAdapter.js +132 -521
- package/data_adapters/CytobandAdapter.js +40 -126
- package/data_adapters/dataAdapterCache.js +77 -158
- package/package.json +4 -5
- package/pluggableElementTypes/AdapterType.js +24 -79
- package/pluggableElementTypes/AddTrackWorkflowType.d.ts +17 -0
- package/pluggableElementTypes/AddTrackWorkflowType.js +20 -0
- package/pluggableElementTypes/ConnectionType.js +22 -65
- package/pluggableElementTypes/DisplayType.js +35 -82
- package/pluggableElementTypes/InternetAccountType.js +23 -64
- package/pluggableElementTypes/PluggableElementBase.js +8 -20
- package/pluggableElementTypes/RpcMethodType.js +85 -427
- package/pluggableElementTypes/TextSearchAdapterType.js +16 -55
- package/pluggableElementTypes/TrackType.js +26 -70
- package/pluggableElementTypes/ViewType.js +21 -63
- package/pluggableElementTypes/WidgetType.js +21 -64
- package/pluggableElementTypes/index.d.ts +4 -3
- package/pluggableElementTypes/index.js +42 -125
- package/pluggableElementTypes/models/BaseConnectionModelFactory.js +28 -43
- package/pluggableElementTypes/models/BaseDisplayModel.js +58 -95
- package/pluggableElementTypes/models/BaseTrackModel.js +139 -199
- package/pluggableElementTypes/models/BaseViewModel.js +24 -40
- package/pluggableElementTypes/models/InternetAccountModel.js +116 -263
- package/pluggableElementTypes/models/baseConnectionConfig.js +14 -25
- package/pluggableElementTypes/models/baseInternetAccountConfig.js +29 -38
- package/pluggableElementTypes/models/baseTrackConfig.js +106 -133
- package/pluggableElementTypes/models/index.js +21 -70
- package/pluggableElementTypes/renderers/BoxRendererType.js +132 -291
- package/pluggableElementTypes/renderers/CircularChordRendererType.js +8 -38
- package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +60 -192
- package/pluggableElementTypes/renderers/FeatureRendererType.d.ts +0 -2
- package/pluggableElementTypes/renderers/FeatureRendererType.js +89 -264
- package/pluggableElementTypes/renderers/RendererType.js +31 -105
- package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +61 -72
- package/pluggableElementTypes/renderers/ServerSideRendererType.js +112 -265
- package/pluggableElementTypes/renderers/index.js +19 -62
- package/pluggableElementTypes/renderers/util/serializableFilterChain.js +27 -65
- package/rpc/BaseRpcDriver.js +169 -405
- package/rpc/MainThreadRpcDriver.js +27 -150
- package/rpc/RpcManager.js +58 -159
- package/rpc/WebWorkerRpcDriver.js +54 -171
- package/rpc/configSchema.js +25 -49
- package/rpc/coreRpcMethods.js +221 -959
- package/rpc/remoteAbortSignals.js +46 -70
- package/tsconfig.build.tsbuildinfo +1 -1
- package/ui/AboutDialog.js +106 -162
- package/ui/App.js +157 -242
- package/ui/AssemblySelector.js +59 -120
- package/ui/CascadingMenu.js +101 -196
- package/ui/ColorPicker.d.ts +16 -0
- package/ui/ColorPicker.js +97 -0
- package/ui/Drawer.js +28 -61
- package/ui/DrawerWidget.js +108 -202
- package/ui/DropDownMenu.js +60 -91
- package/ui/EditableTypography.js +87 -149
- package/ui/ErrorMessage.js +41 -56
- package/ui/FactoryResetDialog.js +24 -57
- package/ui/FatalErrorDialog.js +59 -91
- package/ui/FileSelector/FileSelector.js +123 -189
- package/ui/FileSelector/LocalFileChooser.js +44 -75
- package/ui/FileSelector/UrlChooser.js +17 -38
- package/ui/FileSelector/index.js +6 -12
- package/ui/Icons.js +45 -69
- package/ui/Logo.js +57 -110
- package/ui/Menu.js +232 -354
- package/ui/PrerenderedCanvas.js +63 -87
- package/ui/ResizeHandle.js +87 -116
- package/ui/ReturnToImportFormDialog.js +32 -63
- package/ui/SanitizedHTML.js +64 -47
- package/ui/Snackbar.js +74 -101
- package/ui/SnackbarModel.js +37 -51
- package/ui/Tooltip.js +49 -76
- package/ui/ViewContainer.js +113 -196
- package/ui/colors.d.ts +10 -0
- package/ui/colors.js +78 -0
- package/ui/index.js +51 -181
- package/ui/react-colorful.d.ts +17 -0
- package/ui/react-colorful.js +455 -0
- package/ui/theme.js +199 -247
- package/util/Base1DUtils.js +163 -202
- package/util/Base1DViewModel.js +121 -168
- package/util/QuickLRU.js +84 -332
- package/util/TimeTraveller.d.ts +19 -0
- package/util/TimeTraveller.js +86 -0
- package/util/aborting.js +49 -127
- package/util/analytics.js +91 -154
- package/util/blockTypes.js +106 -240
- package/util/calculateDynamicBlocks.js +98 -128
- package/util/calculateStaticBlocks.js +105 -125
- package/util/color/cssColorsLevel4.js +156 -160
- package/util/color/index.js +33 -55
- package/util/compositeMap.js +49 -333
- package/util/formatFastaStrings.js +9 -14
- package/util/idMaker.js +18 -31
- package/util/index.d.ts +7 -20
- package/util/index.js +742 -1188
- package/util/io/RemoteFileWithRangeCache.js +88 -257
- package/util/io/index.js +95 -169
- package/util/jexl.js +60 -115
- package/util/jexlStrings.js +24 -29
- package/util/layouts/BaseLayout.js +1 -4
- package/util/layouts/GranularRectLayout.js +388 -555
- package/util/layouts/MultiLayout.js +41 -109
- package/util/layouts/PrecomputedLayout.js +56 -112
- package/util/layouts/PrecomputedMultiLayout.js +22 -59
- package/util/layouts/SceneGraph.js +127 -197
- package/util/layouts/index.js +29 -66
- package/util/mst-reflection.js +55 -71
- package/util/offscreenCanvasPonyfill.js +66 -134
- package/util/offscreenCanvasUtils.d.ts +2 -7
- package/util/offscreenCanvasUtils.js +49 -146
- package/util/range.js +29 -40
- package/util/rxjs.js +20 -27
- package/util/simpleFeature.js +88 -152
- package/util/stats.js +91 -151
- package/util/tracks.js +130 -173
- package/util/types/index.js +110 -179
- package/util/types/mst.js +91 -146
- package/util/types/util.js +1 -4
- package/util/when.js +54 -101
- package/BaseFeatureWidget/SequenceFeatureDetails.test.js +0 -122
- package/BaseFeatureWidget/index.test.js +0 -69
- package/TextSearch/BaseResults.test.js +0 -42
- package/configuration/configurationSchema.test.js +0 -266
- package/configuration/configurationSlot.test.js +0 -69
- package/configuration/util.test.js +0 -39
- package/data_adapters/BaseAdapter.test.js +0 -200
- package/declare.d.js +0 -1
- package/pluggableElementTypes/RpcMethodType.test.js +0 -118
- package/pluggableElementTypes/renderers/declare.d.js +0 -1
- package/pluggableElementTypes/renderers/util/serializableFilterChain.test.js +0 -20
- package/rpc/BaseRpcDriver.test.js +0 -540
- package/rpc/declaration.d.js +0 -1
- package/ui/FatalErrorDialog.test.js +0 -82
- package/ui/SanitizedHTML.test.js +0 -36
- package/ui/theme.test.js +0 -92
- package/util/Base1DViewModel.test.js +0 -130
- package/util/calculateDynamicBlocks.test.js +0 -74
- package/util/calculateStaticBlocks.test.js +0 -297
- package/util/declare.d.js +0 -1
- package/util/formatFastaStrings.test.js +0 -40
- package/util/index.test.js +0 -213
- package/util/jexlStrings.test.js +0 -48
- package/util/layouts/GranularRectLayout.test.js +0 -99
- package/util/range.test.js +0 -64
- package/util/simpleFeature.test.js +0 -34
- package/util/stats.test.js +0 -172
|
@@ -1,128 +1,108 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
// clamp those to the region range, and then make blocks for that range
|
|
32
|
-
var assemblyName = region.assemblyName,
|
|
33
|
-
refName = region.refName,
|
|
34
|
-
regionStart = region.start,
|
|
35
|
-
regionEnd = region.end,
|
|
36
|
-
reversed = region.reversed;
|
|
37
|
-
var regionBlockCount = Math.ceil((regionEnd - regionStart) / blockSizeBp);
|
|
38
|
-
var windowRightBlockNum = Math.floor((windowRightBp - regionBpOffset) / blockSizeBp) + extra;
|
|
39
|
-
|
|
40
|
-
if (windowRightBlockNum >= regionBlockCount) {
|
|
41
|
-
windowRightBlockNum = regionBlockCount - 1;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
var windowLeftBlockNum = Math.floor((windowLeftBp - regionBpOffset) / blockSizeBp) - extra;
|
|
45
|
-
|
|
46
|
-
if (windowLeftBlockNum < 0) {
|
|
47
|
-
windowLeftBlockNum = 0;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
var regionWidthPx = (regionEnd - regionStart) / bpPerPx;
|
|
51
|
-
|
|
52
|
-
for (var blockNum = windowLeftBlockNum; blockNum <= windowRightBlockNum; blockNum += 1) {
|
|
53
|
-
var start = void 0;
|
|
54
|
-
var end = void 0;
|
|
55
|
-
var isLeftEndOfDisplayedRegion = void 0;
|
|
56
|
-
var isRightEndOfDisplayedRegion = void 0;
|
|
57
|
-
|
|
58
|
-
if (reversed) {
|
|
59
|
-
start = Math.max(regionStart, regionEnd - (blockNum + 1) * blockSizeBp);
|
|
60
|
-
end = regionEnd - blockNum * blockSizeBp;
|
|
61
|
-
isLeftEndOfDisplayedRegion = end === regionEnd;
|
|
62
|
-
isRightEndOfDisplayedRegion = start === regionStart;
|
|
63
|
-
} else {
|
|
64
|
-
start = regionStart + blockNum * blockSizeBp;
|
|
65
|
-
end = Math.min(regionEnd, regionStart + (blockNum + 1) * blockSizeBp);
|
|
66
|
-
isLeftEndOfDisplayedRegion = start === regionStart;
|
|
67
|
-
isRightEndOfDisplayedRegion = end === regionEnd;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
var widthPx = (end - start) / bpPerPx;
|
|
71
|
-
var blockData = {
|
|
72
|
-
assemblyName: assemblyName,
|
|
73
|
-
refName: refName,
|
|
74
|
-
start: start,
|
|
75
|
-
end: end,
|
|
76
|
-
reversed: reversed,
|
|
77
|
-
offsetPx: (regionBpOffset + blockNum * blockSizeBp) / bpPerPx,
|
|
78
|
-
parentRegion: region,
|
|
79
|
-
regionNumber: regionNumber,
|
|
80
|
-
widthPx: widthPx,
|
|
81
|
-
isLeftEndOfDisplayedRegion: isLeftEndOfDisplayedRegion,
|
|
82
|
-
isRightEndOfDisplayedRegion: isRightEndOfDisplayedRegion,
|
|
83
|
-
key: ''
|
|
84
|
-
};
|
|
85
|
-
blockData.key = "".concat((0, _.assembleLocString)(blockData), "-").concat(regionNumber).concat(reversed ? '-reversed' : '');
|
|
86
|
-
|
|
87
|
-
if (padding && regionNumber === 0 && blockNum === 0) {
|
|
88
|
-
blocks.push(new _blockTypes.InterRegionPaddingBlock({
|
|
89
|
-
key: "".concat(blockData.key, "-beforeFirstRegion"),
|
|
90
|
-
widthPx: width,
|
|
91
|
-
offsetPx: blockData.offsetPx - width,
|
|
92
|
-
variant: 'boundary'
|
|
93
|
-
}));
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
if (elision && regionWidthPx < minimumBlockWidth) {
|
|
97
|
-
blocks.push(new _blockTypes.ElidedBlock(blockData));
|
|
98
|
-
} else {
|
|
99
|
-
blocks.push(new _blockTypes.ContentBlock(blockData));
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
if (padding) {
|
|
103
|
-
// insert a inter-region padding block if we are crossing a displayed region
|
|
104
|
-
if (regionWidthPx >= minimumBlockWidth && blockData.isRightEndOfDisplayedRegion && regionNumber < displayedRegions.length - 1) {
|
|
105
|
-
regionBpOffset += interRegionPaddingWidth * bpPerPx;
|
|
106
|
-
blocks.push(new _blockTypes.InterRegionPaddingBlock({
|
|
107
|
-
key: "".concat(blockData.key, "-rightpad"),
|
|
108
|
-
widthPx: interRegionPaddingWidth,
|
|
109
|
-
offsetPx: blockData.offsetPx + blockData.widthPx
|
|
110
|
-
}));
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const _1 = require(".");
|
|
4
|
+
const blockTypes_1 = require("./blockTypes");
|
|
5
|
+
function calculateStaticBlocks(model, padding = true, elision = true, extra = 0,
|
|
6
|
+
// on the main thread, window.innerWidth is used because this reduces
|
|
7
|
+
// recalculating the blocks, otherwise, model.width for cases such as
|
|
8
|
+
// off-main-thread. also this is not a ternary because our window.innerWidth
|
|
9
|
+
// might be undefined on off-main-thread, so instead use || model.width
|
|
10
|
+
width = (typeof window !== 'undefined' && window.innerWidth) || model.width) {
|
|
11
|
+
const { offsetPx, displayedRegions, bpPerPx, minimumBlockWidth, interRegionPaddingWidth, } = model;
|
|
12
|
+
const windowLeftBp = offsetPx * bpPerPx;
|
|
13
|
+
const windowRightBp = (offsetPx + width) * bpPerPx;
|
|
14
|
+
const blockSizePx = width;
|
|
15
|
+
const blockSizeBp = Math.ceil(blockSizePx * bpPerPx);
|
|
16
|
+
// for each displayed region
|
|
17
|
+
let regionBpOffset = 0;
|
|
18
|
+
const blocks = new blockTypes_1.BlockSet();
|
|
19
|
+
displayedRegions.forEach((region, regionNumber) => {
|
|
20
|
+
// find the block numbers of the left and right window sides,
|
|
21
|
+
// clamp those to the region range, and then make blocks for that range
|
|
22
|
+
const { assemblyName, refName, start: regionStart, end: regionEnd, reversed, } = region;
|
|
23
|
+
const regionBlockCount = Math.ceil((regionEnd - regionStart) / blockSizeBp);
|
|
24
|
+
let windowRightBlockNum = Math.floor((windowRightBp - regionBpOffset) / blockSizeBp) + extra;
|
|
25
|
+
if (windowRightBlockNum >= regionBlockCount) {
|
|
26
|
+
windowRightBlockNum = regionBlockCount - 1;
|
|
27
|
+
}
|
|
28
|
+
let windowLeftBlockNum = Math.floor((windowLeftBp - regionBpOffset) / blockSizeBp) - extra;
|
|
29
|
+
if (windowLeftBlockNum < 0) {
|
|
30
|
+
windowLeftBlockNum = 0;
|
|
111
31
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
32
|
+
const regionWidthPx = (regionEnd - regionStart) / bpPerPx;
|
|
33
|
+
for (let blockNum = windowLeftBlockNum; blockNum <= windowRightBlockNum; blockNum += 1) {
|
|
34
|
+
let start;
|
|
35
|
+
let end;
|
|
36
|
+
let isLeftEndOfDisplayedRegion;
|
|
37
|
+
let isRightEndOfDisplayedRegion;
|
|
38
|
+
if (reversed) {
|
|
39
|
+
start = Math.max(regionStart, regionEnd - (blockNum + 1) * blockSizeBp);
|
|
40
|
+
end = regionEnd - blockNum * blockSizeBp;
|
|
41
|
+
isLeftEndOfDisplayedRegion = end === regionEnd;
|
|
42
|
+
isRightEndOfDisplayedRegion = start === regionStart;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
start = regionStart + blockNum * blockSizeBp;
|
|
46
|
+
end = Math.min(regionEnd, regionStart + (blockNum + 1) * blockSizeBp);
|
|
47
|
+
isLeftEndOfDisplayedRegion = start === regionStart;
|
|
48
|
+
isRightEndOfDisplayedRegion = end === regionEnd;
|
|
49
|
+
}
|
|
50
|
+
const widthPx = (end - start) / bpPerPx;
|
|
51
|
+
const blockData = {
|
|
52
|
+
assemblyName,
|
|
53
|
+
refName,
|
|
54
|
+
start,
|
|
55
|
+
end,
|
|
56
|
+
reversed,
|
|
57
|
+
offsetPx: (regionBpOffset + blockNum * blockSizeBp) / bpPerPx,
|
|
58
|
+
parentRegion: region,
|
|
59
|
+
regionNumber,
|
|
60
|
+
widthPx,
|
|
61
|
+
isLeftEndOfDisplayedRegion,
|
|
62
|
+
isRightEndOfDisplayedRegion,
|
|
63
|
+
key: '',
|
|
64
|
+
};
|
|
65
|
+
blockData.key = `${(0, _1.assembleLocString)(blockData)}-${regionNumber}${reversed ? '-reversed' : ''}`;
|
|
66
|
+
if (padding && regionNumber === 0 && blockNum === 0) {
|
|
67
|
+
blocks.push(new blockTypes_1.InterRegionPaddingBlock({
|
|
68
|
+
key: `${blockData.key}-beforeFirstRegion`,
|
|
69
|
+
widthPx: width,
|
|
70
|
+
offsetPx: blockData.offsetPx - width,
|
|
71
|
+
variant: 'boundary',
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
if (elision && regionWidthPx < minimumBlockWidth) {
|
|
75
|
+
blocks.push(new blockTypes_1.ElidedBlock(blockData));
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
blocks.push(new blockTypes_1.ContentBlock(blockData));
|
|
79
|
+
}
|
|
80
|
+
if (padding) {
|
|
81
|
+
// insert a inter-region padding block if we are crossing a displayed region
|
|
82
|
+
if (regionWidthPx >= minimumBlockWidth &&
|
|
83
|
+
blockData.isRightEndOfDisplayedRegion &&
|
|
84
|
+
regionNumber < displayedRegions.length - 1) {
|
|
85
|
+
regionBpOffset += interRegionPaddingWidth * bpPerPx;
|
|
86
|
+
blocks.push(new blockTypes_1.InterRegionPaddingBlock({
|
|
87
|
+
key: `${blockData.key}-rightpad`,
|
|
88
|
+
widthPx: interRegionPaddingWidth,
|
|
89
|
+
offsetPx: blockData.offsetPx + blockData.widthPx,
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
if (regionNumber === displayedRegions.length - 1 &&
|
|
93
|
+
blockData.isRightEndOfDisplayedRegion) {
|
|
94
|
+
regionBpOffset += interRegionPaddingWidth * bpPerPx;
|
|
95
|
+
blocks.push(new blockTypes_1.InterRegionPaddingBlock({
|
|
96
|
+
key: `${blockData.key}-afterLastRegion`,
|
|
97
|
+
widthPx: width,
|
|
98
|
+
offsetPx: blockData.offsetPx + blockData.widthPx,
|
|
99
|
+
variant: 'boundary',
|
|
100
|
+
}));
|
|
101
|
+
}
|
|
102
|
+
}
|
|
121
103
|
}
|
|
122
|
-
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
return blocks;
|
|
128
|
-
}
|
|
104
|
+
regionBpOffset += regionEnd - regionStart;
|
|
105
|
+
});
|
|
106
|
+
return blocks;
|
|
107
|
+
}
|
|
108
|
+
exports.default = calculateStaticBlocks;
|
|
@@ -1,166 +1,162 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.isNamedColor = isNamedColor;
|
|
7
|
-
exports.namedColorToHex = namedColorToHex;
|
|
8
2
|
// from https://www.w3.org/TR/css-color-4/#named-colors
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.isNamedColor = exports.namedColorToHex = void 0;
|
|
5
|
+
const colors = {
|
|
6
|
+
aliceblue: '#F0F8FF',
|
|
7
|
+
antiquewhite: '#FAEBD7',
|
|
8
|
+
aqua: '#00FFFF',
|
|
9
|
+
aquamarine: '#7FFFD4',
|
|
10
|
+
azure: '#F0FFFF',
|
|
11
|
+
beige: '#F5F5DC',
|
|
12
|
+
bisque: '#FFE4C4',
|
|
13
|
+
black: '#000000',
|
|
14
|
+
blanchedalmond: '#FFEBCD',
|
|
15
|
+
blue: '#0000FF',
|
|
16
|
+
blueviolet: '#8A2BE2',
|
|
17
|
+
brown: '#A52A2A',
|
|
18
|
+
burlywood: '#DEB887',
|
|
19
|
+
cadetblue: '#5F9EA0',
|
|
20
|
+
chartreuse: '#7FFF00',
|
|
21
|
+
chocolate: '#D2691E',
|
|
22
|
+
coral: '#FF7F50',
|
|
23
|
+
cornflowerblue: '#6495ED',
|
|
24
|
+
cornsilk: '#FFF8DC',
|
|
25
|
+
crimson: '#DC143C',
|
|
26
|
+
cyan: '#00FFFF',
|
|
27
|
+
darkblue: '#00008B',
|
|
28
|
+
darkcyan: '#008B8B',
|
|
29
|
+
darkgoldenrod: '#B8860B',
|
|
30
|
+
darkgray: '#A9A9A9',
|
|
31
|
+
darkgreen: '#006400',
|
|
32
|
+
darkgrey: '#A9A9A9',
|
|
33
|
+
darkkhaki: '#BDB76B',
|
|
34
|
+
darkmagenta: '#8B008B',
|
|
35
|
+
darkolivegreen: '#556B2F',
|
|
36
|
+
darkorange: '#FF8C00',
|
|
37
|
+
darkorchid: '#9932CC',
|
|
38
|
+
darkred: '#8B0000',
|
|
39
|
+
darksalmon: '#E9967A',
|
|
40
|
+
darkseagreen: '#8FBC8F',
|
|
41
|
+
darkslateblue: '#483D8B',
|
|
42
|
+
darkslategray: '#2F4F4F',
|
|
43
|
+
darkslategrey: '#2F4F4F',
|
|
44
|
+
darkturquoise: '#00CED1',
|
|
45
|
+
darkviolet: '#9400D3',
|
|
46
|
+
deeppink: '#FF1493',
|
|
47
|
+
deepskyblue: '#00BFFF',
|
|
48
|
+
dimgray: '#696969',
|
|
49
|
+
dimgrey: '#696969',
|
|
50
|
+
dodgerblue: '#1E90FF',
|
|
51
|
+
firebrick: '#B22222',
|
|
52
|
+
floralwhite: '#FFFAF0',
|
|
53
|
+
forestgreen: '#228B22',
|
|
54
|
+
fuchsia: '#FF00FF',
|
|
55
|
+
gainsboro: '#DCDCDC',
|
|
56
|
+
ghostwhite: '#F8F8FF',
|
|
57
|
+
gold: '#FFD700',
|
|
58
|
+
goldenrod: '#DAA520',
|
|
59
|
+
gray: '#808080',
|
|
60
|
+
green: '#008000',
|
|
61
|
+
greenyellow: '#ADFF2F',
|
|
62
|
+
grey: '#808080',
|
|
63
|
+
honeydew: '#F0FFF0',
|
|
64
|
+
hotpink: '#FF69B4',
|
|
65
|
+
indianred: '#CD5C5C',
|
|
66
|
+
indigo: '#4B0082',
|
|
67
|
+
ivory: '#FFFFF0',
|
|
68
|
+
khaki: '#F0E68C',
|
|
69
|
+
lavender: '#E6E6FA',
|
|
70
|
+
lavenderblush: '#FFF0F5',
|
|
71
|
+
lawngreen: '#7CFC00',
|
|
72
|
+
lemonchiffon: '#FFFACD',
|
|
73
|
+
lightblue: '#ADD8E6',
|
|
74
|
+
lightcoral: '#F08080',
|
|
75
|
+
lightcyan: '#E0FFFF',
|
|
76
|
+
lightgoldenrodyellow: '#FAFAD2',
|
|
77
|
+
lightgray: '#D3D3D3',
|
|
78
|
+
lightgreen: '#90EE90',
|
|
79
|
+
lightgrey: '#D3D3D3',
|
|
80
|
+
lightpink: '#FFB6C1',
|
|
81
|
+
lightsalmon: '#FFA07A',
|
|
82
|
+
lightseagreen: '#20B2AA',
|
|
83
|
+
lightskyblue: '#87CEFA',
|
|
84
|
+
lightslategray: '#778899',
|
|
85
|
+
lightslategrey: '#778899',
|
|
86
|
+
lightsteelblue: '#B0C4DE',
|
|
87
|
+
lightyellow: '#FFFFE0',
|
|
88
|
+
lime: '#00FF00',
|
|
89
|
+
limegreen: '#32CD32',
|
|
90
|
+
linen: '#FAF0E6',
|
|
91
|
+
magenta: '#FF00FF',
|
|
92
|
+
maroon: '#800000',
|
|
93
|
+
mediumaquamarine: '#66CDAA',
|
|
94
|
+
mediumblue: '#0000CD',
|
|
95
|
+
mediumorchid: '#BA55D3',
|
|
96
|
+
mediumpurple: '#9370DB',
|
|
97
|
+
mediumseagreen: '#3CB371',
|
|
98
|
+
mediumslateblue: '#7B68EE',
|
|
99
|
+
mediumspringgreen: '#00FA9A',
|
|
100
|
+
mediumturquoise: '#48D1CC',
|
|
101
|
+
mediumvioletred: '#C71585',
|
|
102
|
+
midnightblue: '#191970',
|
|
103
|
+
mintcream: '#F5FFFA',
|
|
104
|
+
mistyrose: '#FFE4E1',
|
|
105
|
+
moccasin: '#FFE4B5',
|
|
106
|
+
navajowhite: '#FFDEAD',
|
|
107
|
+
navy: '#000080',
|
|
108
|
+
oldlace: '#FDF5E6',
|
|
109
|
+
olive: '#808000',
|
|
110
|
+
olivedrab: '#6B8E23',
|
|
111
|
+
orange: '#FFA500',
|
|
112
|
+
orangered: '#FF4500',
|
|
113
|
+
orchid: '#DA70D6',
|
|
114
|
+
palegoldenrod: '#EEE8AA',
|
|
115
|
+
palegreen: '#98FB98',
|
|
116
|
+
paleturquoise: '#AFEEEE',
|
|
117
|
+
palevioletred: '#DB7093',
|
|
118
|
+
papayawhip: '#FFEFD5',
|
|
119
|
+
peachpuff: '#FFDAB9',
|
|
120
|
+
peru: '#CD853F',
|
|
121
|
+
pink: '#FFC0CB',
|
|
122
|
+
plum: '#DDA0DD',
|
|
123
|
+
powderblue: '#B0E0E6',
|
|
124
|
+
purple: '#800080',
|
|
125
|
+
rebeccapurple: '#663399',
|
|
126
|
+
red: '#FF0000',
|
|
127
|
+
rosybrown: '#BC8F8F',
|
|
128
|
+
royalblue: '#4169E1',
|
|
129
|
+
saddlebrown: '#8B4513',
|
|
130
|
+
salmon: '#FA8072',
|
|
131
|
+
sandybrown: '#F4A460',
|
|
132
|
+
seagreen: '#2E8B57',
|
|
133
|
+
seashell: '#FFF5EE',
|
|
134
|
+
sienna: '#A0522D',
|
|
135
|
+
silver: '#C0C0C0',
|
|
136
|
+
skyblue: '#87CEEB',
|
|
137
|
+
slateblue: '#6A5ACD',
|
|
138
|
+
slategray: '#708090',
|
|
139
|
+
slategrey: '#708090',
|
|
140
|
+
snow: '#FFFAFA',
|
|
141
|
+
springgreen: '#00FF7F',
|
|
142
|
+
steelblue: '#4682B4',
|
|
143
|
+
tan: '#D2B48C',
|
|
144
|
+
teal: '#008080',
|
|
145
|
+
thistle: '#D8BFD8',
|
|
146
|
+
tomato: '#FF6347',
|
|
147
|
+
turquoise: '#40E0D0',
|
|
148
|
+
violet: '#EE82EE',
|
|
149
|
+
wheat: '#F5DEB3',
|
|
150
|
+
white: '#FFFFFF',
|
|
151
|
+
whitesmoke: '#F5F5F5',
|
|
152
|
+
yellow: '#FFFF00',
|
|
153
|
+
yellowgreen: '#9ACD32',
|
|
158
154
|
};
|
|
159
|
-
|
|
160
155
|
function namedColorToHex(name) {
|
|
161
|
-
|
|
156
|
+
return colors[name];
|
|
162
157
|
}
|
|
163
|
-
|
|
158
|
+
exports.namedColorToHex = namedColorToHex;
|
|
164
159
|
function isNamedColor(name) {
|
|
165
|
-
|
|
166
|
-
}
|
|
160
|
+
return !!colors[name];
|
|
161
|
+
}
|
|
162
|
+
exports.isNamedColor = isNamedColor;
|