├── .gitattributes ├── .gitignore ├── .prettierrc ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── example ├── echarts-bar.md ├── echarts-calendar.md ├── echarts-pie.md ├── echarts-treemap.md ├── echarts-wordcloud.md └── echarts-wordcloud2.md ├── manifest.json ├── package-lock.json ├── package.json ├── rollup.config.js ├── src ├── main.ts ├── modal.ts ├── renderer.ts └── type.ts └── tsconfig.json /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist/ 3 | main.js 4 | styles.css 5 | obsidian-agtable.7z 6 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 80, 3 | "tabWidth": 2, 4 | "semi": false, 5 | "singleQuote": true, 6 | "trailingComma": "es5", 7 | "bracketSpacing": true, 8 | "arrowParens": "always" 9 | } 10 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.defaultFormatter": "esbenp.prettier-vscode", 3 | "[javascript]": { 4 | "editor.defaultFormatter": "esbenp.prettier-vscode" 5 | }, 6 | "editor.formatOnType": true, 7 | "editor.formatOnSave": true 8 | } 9 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 cumany 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # obsidian-echarts 2 | Render echarts in obsidian,[Apache ECharts](https://echarts.apache.org/en/index.html),An Open Source JavaScript Visualization Library 3 | 一个可以在obsidian 里运行echarts 的插件,具体可以参考[官方示例库](https://echarts.apache.org/examples/en/index.html)代码。插件需要依赖dataview插件,[example](https://github.com/cumany/obsidian-echarts/tree/main/example)文件夹是一些基本例子。 更多示例可以关注[Blue-topaz-examples](https://github.com/cumany/Blue-topaz-examples) 4 | --- 5 | A plugin that can run echarts in obsidian, see [official example library](https://echarts.apache.org/examples/en/index.html) code for details. The plugin depends on the dataview plugin, the [examples](https://github.com/cumany/obsidian-echarts/tree/main/example) folder is for some basic examples. More examples can be found at [blue-topaz-examples](https://github.com/cumany/Blue-topaz-examples) 6 | 7 | ![GIF 2022-06-02 13-31-49](https://user-images.githubusercontent.com/42957010/171559841-cfa4e5e2-69be-4506-a32f-beac33842052.gif) 8 | ![image](https://user-images.githubusercontent.com/42957010/171442642-fce4d273-ee06-4a3b-bb8c-e312f8763ce6.png) 9 | ![image](https://user-images.githubusercontent.com/42957010/171442781-67127459-5c35-4535-a80c-1c79059c3853.png) 10 | ![image](https://user-images.githubusercontent.com/42957010/171444744-5ba1e0e8-b01c-4f4b-b9e1-4ef448ded02f.png) 11 | 12 | 13 | ## 点击事件绑定 14 | 15 | 通过在源数据添加下面字段绑定点击事件效果。 16 | 目前支持的类型有 tag,content,file,path 指定这类类型可以点击事件调用Obsidian Search operators 17 | 如果指定的是file和path类型 需要添加字段比如 data['file']='filename' 可以实现组合搜索 18 | 假设datas是要展示的数据。 19 | --- 20 | The click event effect is bound by adding the following fields to the source data. 21 | Currently supported types are tag, content, file, path 22 | If you define file and path types, you need to add fields such as data['file']='filename' to achieve a combined search. 23 | Assume datas is the data to be displayed. 24 | 25 | 26 | ``` 27 | datas.forEach((data)=>{ 28 | data['search']='tag' 29 | data['file']='filename' 30 | data['path']='path' 31 | }) 32 | ``` 33 | 34 | **如果不指定,默认绑定的是传入的 data 数组中的 index 对应的文件。** 35 | **If not specified, the default binding is to the file with index in the incoming data array. ** 36 | 37 | ## 渲染容器 38 | 将下方代码到option 选项后即可渲染 39 | Render the code below after putting it into the option 40 | ``` 41 | app.plugins.plugins['obsidian-echarts'].render(option, this.container) 42 | ``` 43 | 44 | -------------------------------------------------------------------------------- /example/echarts-bar.md: -------------------------------------------------------------------------------- 1 | # 标签柱形图 2 | ```dataviewjs 3 | const pages = dv.pages("#Movie").filter((page) => {return page.rating && typeof(page.rating) == "number"}) 4 | const ratingList = [] 5 | const fileList = [] 6 | pages.forEach((page)=>{ 7 | fileList.push(page.name) 8 | ratingList.push(page.rating) 9 | }) 10 | const option = { 11 | width: 600, 12 | height: 400, 13 | grid: { 14 | bottom: 200, 15 | }, 16 | title: { 17 | text: '电影评分' 18 | }, 19 | tooltip: {}, 20 | legend: { 21 | data: ['评分'] 22 | }, 23 | xAxis: { 24 | type: 'category', 25 | name: '电影', 26 | axisTick:{length: 0.1}, 27 | axisLabel: {rotate: 30,interval: 0, textStyle: {fontSize: "12"}, height: 100}, 28 | data: fileList 29 | }, 30 | yAxis: {name: "评分"}, 31 | series: [{ 32 | type: "bar", 33 | name: "评分", 34 | data: ratingList 35 | }] 36 | } 37 | app.plugins.plugins['obsidian-echarts'].render(option, this.container) 38 | ``` 39 | 40 | 41 | 42 | 43 | 44 | 45 | ```dataviewjs 46 | const pages = dv.pages() 47 | .groupBy(p => p.file.folder) 48 | .sort(p=> p.rows.length) 49 | .map(p => ({folder: p.key || "根目录", count: p.rows.length})) 50 | .array(); 51 | const valueList = [] 52 | const fileList = [] 53 | pages.forEach((page)=>{ 54 | fileList.push(page.folder) 55 | valueList.push(page.count) 56 | }) 57 | const option = { 58 | 59 | grid: { 60 | left: '3%', 61 | right: '4%', 62 | bottom: '10%', 63 | containLabel: true 64 | }, 65 | title: { 66 | text: '文件夹文件数量分布' 67 | }, 68 | tooltip: {}, 69 | legend: { 70 | data: ['数量'] 71 | }, 72 | yAxis: { 73 | type: 'category', 74 | name: '文件夹', 75 | axisTick:{length: 0.1}, 76 | axisLabel: {rotate: 30,interval: 0, textStyle: {fontSize: "12"}, height: 100}, 77 | data: fileList 78 | }, 79 | xAxis: {name: "数量"}, 80 | series: [{ 81 | type: "bar", 82 | name: "评分", 83 | data: valueList 84 | }] 85 | } 86 | app.plugins.plugins['obsidian-echarts'].render(option, this.container) 87 | 88 | ``` 89 | 90 | ```dataviewjs 91 | const pages = dv.pages() 92 | .groupBy(p => p.file.folder) 93 | .sort(p=> p.rows.length) 94 | .map(p => ({name: p.key || "根目录", value: p.rows.length})) 95 | .array().reverse(); 96 | let itemStyle 97 | const colorList = ['#f36c6c', '#e6cf4e', '#20d180', '#0093ff']; 98 | const datas = pages 99 | const option = { 100 | 101 | title: { 102 | text: '文件夹文件数量分布' 103 | }, 104 | tooltip: { 105 | trigger: 'axis', 106 | axisPointer: { 107 | type: 'shadow' 108 | } 109 | }, 110 | legend: { 111 | show: false 112 | }, 113 | grid: { 114 | left: '0%', 115 | right: '4%', 116 | bottom: '20%', 117 | containLabel:true 118 | }, 119 | xAxis: { 120 | show: false, 121 | type: 'value' 122 | 123 | }, 124 | yAxis: [{ 125 | type: 'category', 126 | inverse: true, 127 | axisLine: { 128 | show: false 129 | }, 130 | axisTick: { 131 | show: false 132 | }, 133 | axisPointer: { 134 | label: { 135 | show: true, 136 | margin: 30 137 | } 138 | }, 139 | data: datas.map(item => item.name), 140 | axisLabel: { 141 | rotate: 30, 142 | interval: 0, 143 | textStyle: {fontSize: "12"} 144 | } 145 | }, { 146 | type: 'category', 147 | inverse: true, 148 | axisTick: 'none', 149 | axisLine: 'none', 150 | show: true, 151 | data: datas.map(item => item.value), 152 | axisLabel: { 153 | show:true, 154 | fontSize: 14, 155 | color: '#333', 156 | formatter:'' 157 | } 158 | }], 159 | series: [{ 160 | z: 2, 161 | name: 'value', 162 | type: 'bar', 163 | barWidth: 20, 164 | zlevel: 1, 165 | data: datas.map((item, i) => { 166 | itemStyle = { 167 | color: i > 3 ? colorList[3] : colorList[i] 168 | } 169 | return { 170 | value: item.value, 171 | itemStyle: itemStyle 172 | }; 173 | }), 174 | label: { 175 | show: true, 176 | position: 'right', 177 | fontSize: 12, 178 | offset: [5, 0] 179 | } 180 | }, 181 | { 182 | name: '背景', 183 | type: 'bar', 184 | barWidth: 20, 185 | barGap: '-100%', 186 | itemStyle: { 187 | normal: { 188 | color: 'rgba(118, 111, 111, 0)' 189 | } 190 | }, 191 | 192 | } 193 | 194 | ] 195 | }; 196 | 197 | app.plugins.plugins['obsidian-echarts'].render(option, this.container) 198 | 199 | ```` 200 | 201 | 202 | 203 | 204 | 205 | ```dataviewjs 206 | 207 | const pages = dv.pages() 208 | .groupBy(p => p.file.folder) 209 | .sort(p=> p.rows.length) 210 | .map(p => ({name: p.key || "根目录", value: p.rows.length})) 211 | .array().reverse(); 212 | const colorList = ['#f36c6c', '#e6cf4e', '#20d180', '#0093ff']; 213 | const datas = pages 214 | 215 | const option = { 216 | title: { 217 | text: '文件夹文件数量矩阵图' 218 | }, 219 | series: { 220 | type: 'treemap', 221 | itemStyle: { 222 | color: 'rgba(109, 40, 40, 1)', 223 | borderWidth: 2, 224 | borderColor: 'rgba(255, 255, 0, 0)', 225 | }, 226 | data: pages 227 | 228 | }, 229 | type: 'basicTreemap', 230 | }; 231 | 232 | app.plugins.plugins['obsidian-echarts'].render(option, this.container) 233 | ``` 234 | 235 | 236 | -------------------------------------------------------------------------------- /example/echarts-calendar.md: -------------------------------------------------------------------------------- 1 | # 日历 2 | ```dataviewjs 3 | const echarts = app.plugins.plugins['obsidian-echarts'].echarts() 4 | function getVirtulData(year) { 5 | year = year || '2017'; 6 | var date = +echarts.number.parseDate(year + '-01-01'); 7 | var end = +echarts.number.parseDate(+year + 1 + '-01-01'); 8 | var dayTime = 3600 * 24 * 1000; 9 | var data = []; 10 | for (var time = date; time < end; time += dayTime) { 11 | data.push([ 12 | echarts.format.formatTime('yyyy-MM-dd', time), 13 | Math.floor(Math.random() * 10000) 14 | ]); 15 | } 16 | return data; 17 | } 18 | const options = { 19 | width:1200, 20 | height: 300, 21 | title: { 22 | top: 30, 23 | left: 'center', 24 | text: 'Daily Step Count' 25 | }, 26 | tooltip: {}, 27 | visualMap: { 28 | min: 0, 29 | max: 10000, 30 | type: 'piecewise', 31 | orient: 'horizontal', 32 | left: 'center', 33 | top: 65 34 | }, 35 | calendar: { 36 | top: 120, 37 | left: 30, 38 | right: 30, 39 | cellSize: ['auto', 13], 40 | range: '2016', 41 | itemStyle: { 42 | borderWidth: 0.5 43 | }, 44 | yearLabel: { show: false } 45 | }, 46 | series: { 47 | type: 'heatmap', 48 | coordinateSystem: 'calendar', 49 | data: getVirtulData('2016') 50 | } 51 | }; 52 | 53 | app.plugins.plugins['obsidian-echarts'].render(options, this.container) 54 | ``` 55 | -------------------------------------------------------------------------------- /example/echarts-pie.md: -------------------------------------------------------------------------------- 1 | # 扇形图 2 | ```dataviewjs 3 | const data = [] 4 | app.vault.root.children.forEach((child)=>{ 5 | if(child.path.split(".")[1] != "md"){ 6 | //console.log(child.path) 7 | data.push({name: child.path, value: dv.pages(`"${child.path}"`).length}) 8 | } 9 | }) 10 | 11 | const options = { 12 | backgroundColor: 'transparent', 13 | title: { 14 | text: '根文件夹包含笔记数量', 15 | left: 'center', 16 | top: 20, 17 | textStyle: { 18 | color: '#ccc' 19 | } 20 | }, 21 | tooltip: { 22 | trigger: 'item' 23 | }, 24 | visualMap: { 25 | show: false, 26 | min: 0, 27 | max: 50, 28 | inRange: { 29 | colorLightness: [1, 0] 30 | } 31 | }, 32 | series: [ 33 | { 34 | name: '笔记数量', 35 | type: 'pie', 36 | radius: '75%', 37 | center: ['50%', '50%'], 38 | data: data.sort(function (a, b) { 39 | return a.value - b.value; 40 | }), 41 | roseType: 'radius', 42 | label: { 43 | color: 'rgba(255, 255, 255, 0.3)' 44 | }, 45 | labelLine: { 46 | lineStyle: { 47 | color: 'rgba(255, 255, 255, 0.3)' 48 | }, 49 | smooth: 0.2, 50 | length: 10, 51 | length2: 20 52 | }, 53 | itemStyle: { 54 | color: '#c23531', 55 | shadowBlur: 200, 56 | shadowColor: 'rgba(0, 0, 0, 0.5)' 57 | }, 58 | animationType: 'scale', 59 | animationEasing: 'elasticOut', 60 | animationDelay: function (idx) { 61 | return Math.random() * 200; 62 | } 63 | } 64 | ] 65 | }; 66 | app.plugins.plugins['obsidian-echarts'].render(options, this.container) 67 | ``` -------------------------------------------------------------------------------- /example/echarts-treemap.md: -------------------------------------------------------------------------------- 1 | # 标签柱形图 2 | ```dataviewjs 3 | const pages = dv.pages("#Movie").filter((page) => {return page.rating && typeof(page.rating) == "number"}) 4 | const ratingList = [] 5 | const fileList = [] 6 | pages.forEach((page)=>{ 7 | fileList.push(page.name) 8 | ratingList.push(page.rating) 9 | }) 10 | const option = { 11 | width: 600, 12 | height: 400, 13 | grid: { 14 | bottom: 200, 15 | }, 16 | title: { 17 | text: '电影评分' 18 | }, 19 | tooltip: {}, 20 | legend: { 21 | data: ['评分'] 22 | }, 23 | xAxis: { 24 | type: 'category', 25 | name: '电影', 26 | axisTick:{length: 0.1}, 27 | axisLabel: {rotate: 30,interval: 0, textStyle: {fontSize: "12"}, height: 100}, 28 | data: fileList 29 | }, 30 | yAxis: {name: "评分"}, 31 | series: [{ 32 | type: "bar", 33 | name: "评分", 34 | data: ratingList 35 | }] 36 | } 37 | app.plugins.plugins['obsidian-echarts'].render(option, this.container) 38 | ``` 39 | 40 | 41 | 42 | 43 | 44 | 45 | ```dataviewjs 46 | const pages = dv.pages() 47 | .groupBy(p => p.file.folder) 48 | .sort(p=> p.rows.length) 49 | .map(p => ({folder: p.key || "根目录", count: p.rows.length})) 50 | .array(); 51 | const valueList = [] 52 | const fileList = [] 53 | pages.forEach((page)=>{ 54 | fileList.push(page.folder) 55 | valueList.push(page.count) 56 | }) 57 | const option = { 58 | 59 | grid: { 60 | left: '3%', 61 | right: '4%', 62 | bottom: '10%', 63 | containLabel: true 64 | }, 65 | title: { 66 | text: '文件夹文件数量分布' 67 | }, 68 | tooltip: {}, 69 | legend: { 70 | data: ['数量'] 71 | }, 72 | yAxis: { 73 | type: 'category', 74 | name: '文件夹', 75 | axisTick:{length: 0.1}, 76 | axisLabel: {rotate: 30,interval: 0, textStyle: {fontSize: "12"}, height: 100}, 77 | data: fileList 78 | }, 79 | xAxis: {name: "数量"}, 80 | series: [{ 81 | type: "bar", 82 | name: "评分", 83 | data: valueList 84 | }] 85 | } 86 | app.plugins.plugins['obsidian-echarts'].render(option, this.container) 87 | 88 | ``` 89 | 90 | ```dataviewjs 91 | const pages = dv.pages() 92 | .groupBy(p => p.file.folder) 93 | .sort(p=> p.rows.length) 94 | .map(p => ({name: p.key || "根目录", value: p.rows.length})) 95 | .array().reverse(); 96 | let itemStyle 97 | const colorList = ['#f36c6c', '#e6cf4e', '#20d180', '#0093ff']; 98 | const datas = pages 99 | const option = { 100 | 101 | title: { 102 | text: '文件夹文件数量分布' 103 | }, 104 | tooltip: { 105 | trigger: 'axis', 106 | axisPointer: { 107 | type: 'shadow' 108 | } 109 | }, 110 | legend: { 111 | show: false 112 | }, 113 | grid: { 114 | left: '0%', 115 | right: '4%', 116 | bottom: '20%', 117 | containLabel:true 118 | }, 119 | xAxis: { 120 | show: false, 121 | type: 'value' 122 | 123 | }, 124 | yAxis: [{ 125 | type: 'category', 126 | inverse: true, 127 | axisLine: { 128 | show: false 129 | }, 130 | axisTick: { 131 | show: false 132 | }, 133 | axisPointer: { 134 | label: { 135 | show: true, 136 | margin: 30 137 | } 138 | }, 139 | data: datas.map(item => item.name), 140 | axisLabel: { 141 | rotate: 30, 142 | interval: 0, 143 | textStyle: {fontSize: "12"} 144 | } 145 | }, { 146 | type: 'category', 147 | inverse: true, 148 | axisTick: 'none', 149 | axisLine: 'none', 150 | show: true, 151 | data: datas.map(item => item.value), 152 | axisLabel: { 153 | show:true, 154 | fontSize: 14, 155 | color: '#333', 156 | formatter:'' 157 | } 158 | }], 159 | series: [{ 160 | z: 2, 161 | name: 'value', 162 | type: 'bar', 163 | barWidth: 20, 164 | zlevel: 1, 165 | data: datas.map((item, i) => { 166 | itemStyle = { 167 | color: i > 3 ? colorList[3] : colorList[i] 168 | } 169 | return { 170 | value: item.value, 171 | itemStyle: itemStyle 172 | }; 173 | }), 174 | label: { 175 | show: true, 176 | position: 'right', 177 | fontSize: 12, 178 | offset: [5, 0] 179 | } 180 | }, 181 | { 182 | name: '背景', 183 | type: 'bar', 184 | barWidth: 20, 185 | barGap: '-100%', 186 | itemStyle: { 187 | normal: { 188 | color: 'rgba(118, 111, 111, 0)' 189 | } 190 | }, 191 | 192 | } 193 | 194 | ] 195 | }; 196 | 197 | app.plugins.plugins['obsidian-echarts'].render(option, this.container) 198 | 199 | ```` 200 | 201 | 202 | 203 | 204 | 205 | ```dataviewjs 206 | 207 | const pages = dv.pages() 208 | .groupBy(p => p.file.folder) 209 | .sort(p=> p.rows.length) 210 | .map(p => ({name: p.key || "根目录", value: p.rows.length})) 211 | .array().reverse(); 212 | const colorList = ['#f36c6c', '#e6cf4e', '#20d180', '#0093ff']; 213 | const datas = pages 214 | 215 | const option = { 216 | title: { 217 | text: '文件夹文件数量矩阵图' 218 | }, 219 | series: { 220 | type: 'treemap', 221 | itemStyle: { 222 | color: 'rgba(109, 40, 40, 1)', 223 | borderWidth: 2, 224 | borderColor: 'rgba(255, 255, 0, 0)', 225 | }, 226 | data: pages 227 | 228 | }, 229 | type: 'basicTreemap', 230 | }; 231 | 232 | app.plugins.plugins['obsidian-echarts'].render(option, this.container) 233 | ``` 234 | 235 | 236 | -------------------------------------------------------------------------------- /example/echarts-wordcloud.md: -------------------------------------------------------------------------------- 1 | ```dataviewjs 2 | var option = { 3 | tooltip: {}, 4 | series: [{ 5 | type: 'wordCloud', 6 | // The shape of the "cloud" to draw. Can be any polar equation represented as a 7 | // callback function, or a keyword present. Available presents are circle (default), 8 | // cardioid (apple or heart shape curve, the most known polar equation), diamond ( 9 | // alias of square), triangle-forward, triangle, (alias of triangle-upright, pentagon, and star. 10 | shape: 'circle', 11 | // Keep aspect ratio of maskImage or 1:1 for shapes 12 | // This option is supported from echarts-wordcloud@2.1.0 13 | keepAspect: false, 14 | // A silhouette image which the white area will be excluded from drawing texts. 15 | // The shape option will continue to apply as the shape of the cloud to grow. 16 | // Folllowing left/top/width/height/right/bottom are used for positioning the word cloud 17 | // Default to be put in the center and has 75% x 80% size. 18 | left: 'center', 19 | top: 'center', 20 | width: '70%', 21 | height: '80%', 22 | right: null, 23 | bottom: null, 24 | // Text size range which the value in data will be mapped to. 25 | // Default to have minimum 12px and maximum 60px size. 26 | sizeRange: [12, 60], 27 | // Text rotation range and step in degree. Text will be rotated randomly in range [-90, 90] by rotationStep 45 28 | rotationRange: [-90, 90], 29 | rotationStep: 45, 30 | // size of the grid in pixels for marking the availability of the canvas 31 | // the larger the grid size, the bigger the gap between words. 32 | gridSize: 8, 33 | // set to true to allow word being draw partly outside of the canvas. 34 | // Allow word bigger than the size of the canvas to be drawn 35 | drawOutOfBound: false, 36 | // If perform layout animation. 37 | // NOTE disable it will lead to UI blocking when there is lots of words. 38 | layoutAnimation: true, 39 | // Global text style 40 | textStyle: { 41 | fontFamily: 'sans-serif', 42 | fontWeight: 'bold', 43 | // Color can be a callback function or a color string 44 | color: function () { 45 | // Random color 46 | return 'rgb(' + [ 47 | Math.round(Math.random() * 160), 48 | Math.round(Math.random() * 160), 49 | Math.round(Math.random() * 160) 50 | ].join(',') + ')'; 51 | } 52 | }, 53 | emphasis: { 54 | focus: 'self', 55 | textStyle: { 56 | textShadowBlur: 10, 57 | textShadowColor: '#333' 58 | } 59 | }, 60 | // Data is an array. Each array item must have name and value property. 61 | data: [{ 62 | name: 'Farrah Abraham', 63 | value: 366, 64 | },{name: "Test"}] 65 | }] 66 | } 67 | app.plugins.plugins['obsidian-echarts'].render(option, this.container) 68 | ```` -------------------------------------------------------------------------------- /example/echarts-wordcloud2.md: -------------------------------------------------------------------------------- 1 | xD 2 | 3 | ```dataviewjs 4 | const datas=dv.pages().flatMap(p => p.file.etags).groupBy(p => p).map(p => ({name: p.key.replace("#",""), value: p.rows.length})).array(); 5 | const search='tag' // content 6 | datas.forEach((data)=>{ 7 | data['search']=search 8 | }) 9 | console.log(datas) 10 | var option = { 11 | tooltip: {}, 12 | series: [{ 13 | type: 'wordCloud', 14 | 15 | // The shape of the "cloud" to draw. Can be any polar equation represented as a 16 | // callback function, or a keyword present. Available presents are circle (default), 17 | // cardioid (apple or heart shape curve, the most known polar equation), diamond ( 18 | // alias of square), triangle-forward, triangle, (alias of triangle-upright, pentagon, and star. 19 | 20 | shape: 'pentagon', 21 | 22 | // Keep aspect ratio of maskImage or 1:1 for shapes 23 | // This option is supported from echarts-wordcloud@2.1.0 24 | keepAspect: false, 25 | 26 | // A silhouette image which the white area will be excluded from drawing texts. 27 | // The shape option will continue to apply as the shape of the cloud to grow. 28 | 29 | 30 | // Folllowing left/top/width/height/right/bottom are used for positioning the word cloud 31 | // Default to be put in the center and has 75% x 80% size. 32 | 33 | width: '100%', 34 | height: '80%', 35 | right: null, 36 | bottom: null, 37 | 38 | // Text size range which the value in data will be mapped to. 39 | // Default to have minimum 12px and maximum 60px size. 40 | 41 | sizeRange: [20, 80], 42 | 43 | // Text rotation range and step in degree. Text will be rotated randomly in range [-90, 90] by rotationStep 45 44 | 45 | rotationRange: [-30, -30], 46 | rotationStep: 45, 47 | 48 | // size of the grid in pixels for marking the availability of the canvas 49 | // the larger the grid size, the bigger the gap between words. 50 | 51 | gridSize: 8, 52 | 53 | // set to true to allow word being draw partly outside of the canvas. 54 | // Allow word bigger than the size of the canvas to be drawn 55 | drawOutOfBound: false, 56 | 57 | // If perform layout animation. 58 | // NOTE disable it will lead to UI blocking when there is lots of words. 59 | layoutAnimation: true, 60 | 61 | // Global text style 62 | textStyle: { 63 | fontFamily: 'sans-serif', 64 | fontWeight: 'bold', 65 | // Color can be a callback function or a color string 66 | color: function () { 67 | // Random color 68 | return 'rgb(' + [ 69 | Math.round(Math.random() * 200) + 50, 70 | Math.round(Math.random() * 150), 71 | Math.round(Math.random() * 150) + 50 72 | ].join(',') + ')'; 73 | } 74 | }, 75 | emphasis: { 76 | textStyle: { 77 | textShadowBlur: 2, 78 | color: '#528' 79 | } 80 | }, 81 | 82 | // Data is an array. Each array item must have name and value property. 83 | data: datas 84 | }] 85 | } 86 | app.plugins.plugins['obsidian-echarts'].render(option, this.container) 87 | ``` 88 | -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "obsidian-echarts", 3 | "name": "obsidian echarts", 4 | "version": "0.0.3", 5 | "minAppVersion": "0.9.12", 6 | "description": "obsidian echarts", 7 | "author": "windily-cloud && Cuman", 8 | "authorUrl": "https://github.com/cumany", 9 | "isDesktopOnly": false 10 | } 11 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "obsidian-echarts", 3 | "version": "0.0.1", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "obsidian-echarts", 9 | "version": "0.0.1", 10 | "license": "ISC", 11 | "dependencies": { 12 | "echarts": "^5.3.2", 13 | "echarts-wordcloud": "^2.0.0" 14 | }, 15 | "devDependencies": { 16 | "@rollup/plugin-commonjs": "^21.0.2", 17 | "@rollup/plugin-node-resolve": "^13.1.3", 18 | "@rollup/plugin-typescript": "^8.3.0", 19 | "@types/node": "^17.0.20", 20 | "obsidian": "^0.13.26", 21 | "obsidian-dataview": "^0.5.20", 22 | "prettier": "^2.6.0", 23 | "rollup": "^2.68.0", 24 | "rollup-plugin-postcss": "^4.0.2", 25 | "tslib": "^2.3.1", 26 | "typescript": "^4.5.5" 27 | } 28 | }, 29 | "node_modules/@codemirror/rangeset": { 30 | "version": "0.19.9", 31 | "resolved": "https://registry.npmmirror.com/@codemirror/rangeset/-/rangeset-0.19.9.tgz", 32 | "integrity": "sha512-V8YUuOvK+ew87Xem+71nKcqu1SXd5QROMRLMS/ljT5/3MCxtgrRie1Cvild0G/Z2f1fpWxzX78V0U4jjXBorBQ==", 33 | "dev": true, 34 | "dependencies": { 35 | "@codemirror/state": "^0.19.0" 36 | } 37 | }, 38 | "node_modules/@codemirror/state": { 39 | "version": "0.19.9", 40 | "resolved": "https://registry.npmmirror.com/@codemirror/state/-/state-0.19.9.tgz", 41 | "integrity": "sha512-psOzDolKTZkx4CgUqhBQ8T8gBc0xN5z4gzed109aF6x7D7umpDRoimacI/O6d9UGuyl4eYuDCZmDFr2Rq7aGOw==", 42 | "dev": true, 43 | "dependencies": { 44 | "@codemirror/text": "^0.19.0" 45 | } 46 | }, 47 | "node_modules/@codemirror/text": { 48 | "version": "0.19.6", 49 | "resolved": "https://registry.npmmirror.com/@codemirror/text/-/text-0.19.6.tgz", 50 | "integrity": "sha512-T9jnREMIygx+TPC1bOuepz18maGq/92q2a+n4qTqObKwvNMg+8cMTslb8yxeEDEq7S3kpgGWxgO1UWbQRij0dA==", 51 | "dev": true 52 | }, 53 | "node_modules/@codemirror/view": { 54 | "version": "0.19.48", 55 | "resolved": "https://registry.npmmirror.com/@codemirror/view/-/view-0.19.48.tgz", 56 | "integrity": "sha512-0eg7D2Nz4S8/caetCTz61rK0tkHI17V/d15Jy0kLOT8dTLGGNJUponDnW28h2B6bERmPlVHKh8MJIr5OCp1nGw==", 57 | "dev": true, 58 | "dependencies": { 59 | "@codemirror/rangeset": "^0.19.5", 60 | "@codemirror/state": "^0.19.3", 61 | "@codemirror/text": "^0.19.0", 62 | "style-mod": "^4.0.0", 63 | "w3c-keyname": "^2.2.4" 64 | } 65 | }, 66 | "node_modules/@rollup/plugin-commonjs": { 67 | "version": "21.1.0", 68 | "resolved": "https://registry.npmmirror.com/@rollup/plugin-commonjs/-/plugin-commonjs-21.1.0.tgz", 69 | "integrity": "sha512-6ZtHx3VHIp2ReNNDxHjuUml6ur+WcQ28N1yHgCQwsbNkQg2suhxGMDQGJOn/KuDxKtd1xuZP5xSTwBA4GQ8hbA==", 70 | "dev": true, 71 | "dependencies": { 72 | "@rollup/pluginutils": "^3.1.0", 73 | "commondir": "^1.0.1", 74 | "estree-walker": "^2.0.1", 75 | "glob": "^7.1.6", 76 | "is-reference": "^1.2.1", 77 | "magic-string": "^0.25.7", 78 | "resolve": "^1.17.0" 79 | }, 80 | "engines": { 81 | "node": ">= 8.0.0" 82 | }, 83 | "peerDependencies": { 84 | "rollup": "^2.38.3" 85 | } 86 | }, 87 | "node_modules/@rollup/plugin-node-resolve": { 88 | "version": "13.3.0", 89 | "resolved": "https://registry.npmmirror.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz", 90 | "integrity": "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==", 91 | "dev": true, 92 | "dependencies": { 93 | "@rollup/pluginutils": "^3.1.0", 94 | "@types/resolve": "1.17.1", 95 | "deepmerge": "^4.2.2", 96 | "is-builtin-module": "^3.1.0", 97 | "is-module": "^1.0.0", 98 | "resolve": "^1.19.0" 99 | }, 100 | "engines": { 101 | "node": ">= 10.0.0" 102 | }, 103 | "peerDependencies": { 104 | "rollup": "^2.42.0" 105 | } 106 | }, 107 | "node_modules/@rollup/plugin-typescript": { 108 | "version": "8.3.2", 109 | "resolved": "https://registry.npmmirror.com/@rollup/plugin-typescript/-/plugin-typescript-8.3.2.tgz", 110 | "integrity": "sha512-MtgyR5LNHZr3GyN0tM7gNO9D0CS+Y+vflS4v/PHmrX17JCkHUYKvQ5jN5o3cz1YKllM3duXUqu3yOHwMPUxhDg==", 111 | "dev": true, 112 | "dependencies": { 113 | "@rollup/pluginutils": "^3.1.0", 114 | "resolve": "^1.17.0" 115 | }, 116 | "engines": { 117 | "node": ">=8.0.0" 118 | }, 119 | "peerDependencies": { 120 | "rollup": "^2.14.0", 121 | "tslib": "*", 122 | "typescript": ">=3.7.0" 123 | } 124 | }, 125 | "node_modules/@rollup/pluginutils": { 126 | "version": "3.1.0", 127 | "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", 128 | "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", 129 | "dev": true, 130 | "dependencies": { 131 | "@types/estree": "0.0.39", 132 | "estree-walker": "^1.0.1", 133 | "picomatch": "^2.2.2" 134 | }, 135 | "engines": { 136 | "node": ">= 8.0.0" 137 | }, 138 | "peerDependencies": { 139 | "rollup": "^1.20.0||^2.0.0" 140 | } 141 | }, 142 | "node_modules/@rollup/pluginutils/node_modules/estree-walker": { 143 | "version": "1.0.1", 144 | "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-1.0.1.tgz", 145 | "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", 146 | "dev": true 147 | }, 148 | "node_modules/@trysound/sax": { 149 | "version": "0.2.0", 150 | "resolved": "https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz", 151 | "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", 152 | "dev": true, 153 | "engines": { 154 | "node": ">=10.13.0" 155 | } 156 | }, 157 | "node_modules/@types/codemirror": { 158 | "version": "0.0.108", 159 | "resolved": "https://registry.npmmirror.com/@types/codemirror/-/codemirror-0.0.108.tgz", 160 | "integrity": "sha512-3FGFcus0P7C2UOGCNUVENqObEb4SFk+S8Dnxq7K6aIsLVs/vDtlangl3PEO0ykaKXyK56swVF6Nho7VsA44uhw==", 161 | "dev": true, 162 | "dependencies": { 163 | "@types/tern": "*" 164 | } 165 | }, 166 | "node_modules/@types/estree": { 167 | "version": "0.0.39", 168 | "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-0.0.39.tgz", 169 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", 170 | "dev": true 171 | }, 172 | "node_modules/@types/node": { 173 | "version": "17.0.31", 174 | "resolved": "https://registry.npmmirror.com/@types/node/-/node-17.0.31.tgz", 175 | "integrity": "sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==", 176 | "dev": true 177 | }, 178 | "node_modules/@types/resolve": { 179 | "version": "1.17.1", 180 | "resolved": "https://registry.npmmirror.com/@types/resolve/-/resolve-1.17.1.tgz", 181 | "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", 182 | "dev": true, 183 | "dependencies": { 184 | "@types/node": "*" 185 | } 186 | }, 187 | "node_modules/@types/tern": { 188 | "version": "0.23.4", 189 | "resolved": "https://registry.npmmirror.com/@types/tern/-/tern-0.23.4.tgz", 190 | "integrity": "sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==", 191 | "dev": true, 192 | "dependencies": { 193 | "@types/estree": "*" 194 | } 195 | }, 196 | "node_modules/ansi-styles": { 197 | "version": "4.3.0", 198 | "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", 199 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 200 | "dev": true, 201 | "dependencies": { 202 | "color-convert": "^2.0.1" 203 | }, 204 | "engines": { 205 | "node": ">=8" 206 | } 207 | }, 208 | "node_modules/balanced-match": { 209 | "version": "1.0.2", 210 | "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", 211 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 212 | "dev": true 213 | }, 214 | "node_modules/boolbase": { 215 | "version": "1.0.0", 216 | "resolved": "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz", 217 | "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", 218 | "dev": true 219 | }, 220 | "node_modules/brace-expansion": { 221 | "version": "1.1.11", 222 | "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", 223 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 224 | "dev": true, 225 | "dependencies": { 226 | "balanced-match": "^1.0.0", 227 | "concat-map": "0.0.1" 228 | } 229 | }, 230 | "node_modules/browserslist": { 231 | "version": "4.20.3", 232 | "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.20.3.tgz", 233 | "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", 234 | "dev": true, 235 | "dependencies": { 236 | "caniuse-lite": "^1.0.30001332", 237 | "electron-to-chromium": "^1.4.118", 238 | "escalade": "^3.1.1", 239 | "node-releases": "^2.0.3", 240 | "picocolors": "^1.0.0" 241 | }, 242 | "bin": { 243 | "browserslist": "cli.js" 244 | }, 245 | "engines": { 246 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 247 | } 248 | }, 249 | "node_modules/builtin-modules": { 250 | "version": "3.2.0", 251 | "resolved": "https://registry.npmmirror.com/builtin-modules/-/builtin-modules-3.2.0.tgz", 252 | "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", 253 | "dev": true, 254 | "engines": { 255 | "node": ">=6" 256 | } 257 | }, 258 | "node_modules/caniuse-api": { 259 | "version": "3.0.0", 260 | "resolved": "https://registry.npmmirror.com/caniuse-api/-/caniuse-api-3.0.0.tgz", 261 | "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", 262 | "dev": true, 263 | "dependencies": { 264 | "browserslist": "^4.0.0", 265 | "caniuse-lite": "^1.0.0", 266 | "lodash.memoize": "^4.1.2", 267 | "lodash.uniq": "^4.5.0" 268 | } 269 | }, 270 | "node_modules/caniuse-lite": { 271 | "version": "1.0.30001336", 272 | "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001336.tgz", 273 | "integrity": "sha512-/YxSlBmL7iKXTbIJ48IQTnAOBk7XmWsxhBF1PZLOko5Dt9qc4Pl+84lfqG3Tc4EuavurRn1QLoVJGxY2iSycfw==", 274 | "dev": true 275 | }, 276 | "node_modules/chalk": { 277 | "version": "4.1.2", 278 | "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", 279 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 280 | "dev": true, 281 | "dependencies": { 282 | "ansi-styles": "^4.1.0", 283 | "supports-color": "^7.1.0" 284 | }, 285 | "engines": { 286 | "node": ">=10" 287 | } 288 | }, 289 | "node_modules/color-convert": { 290 | "version": "2.0.1", 291 | "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", 292 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 293 | "dev": true, 294 | "dependencies": { 295 | "color-name": "~1.1.4" 296 | }, 297 | "engines": { 298 | "node": ">=7.0.0" 299 | } 300 | }, 301 | "node_modules/color-name": { 302 | "version": "1.1.4", 303 | "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", 304 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 305 | "dev": true 306 | }, 307 | "node_modules/colord": { 308 | "version": "2.9.2", 309 | "resolved": "https://registry.npmmirror.com/colord/-/colord-2.9.2.tgz", 310 | "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", 311 | "dev": true 312 | }, 313 | "node_modules/commander": { 314 | "version": "7.2.0", 315 | "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", 316 | "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", 317 | "dev": true, 318 | "engines": { 319 | "node": ">= 10" 320 | } 321 | }, 322 | "node_modules/commondir": { 323 | "version": "1.0.1", 324 | "resolved": "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz", 325 | "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", 326 | "dev": true 327 | }, 328 | "node_modules/concat-map": { 329 | "version": "0.0.1", 330 | "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", 331 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 332 | "dev": true 333 | }, 334 | "node_modules/concat-with-sourcemaps": { 335 | "version": "1.1.0", 336 | "resolved": "https://registry.npmmirror.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", 337 | "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", 338 | "dev": true, 339 | "dependencies": { 340 | "source-map": "^0.6.1" 341 | } 342 | }, 343 | "node_modules/css-declaration-sorter": { 344 | "version": "6.2.2", 345 | "resolved": "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz", 346 | "integrity": "sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg==", 347 | "dev": true, 348 | "engines": { 349 | "node": "^10 || ^12 || >=14" 350 | }, 351 | "peerDependencies": { 352 | "postcss": "^8.0.9" 353 | } 354 | }, 355 | "node_modules/css-select": { 356 | "version": "4.3.0", 357 | "resolved": "https://registry.npmmirror.com/css-select/-/css-select-4.3.0.tgz", 358 | "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", 359 | "dev": true, 360 | "dependencies": { 361 | "boolbase": "^1.0.0", 362 | "css-what": "^6.0.1", 363 | "domhandler": "^4.3.1", 364 | "domutils": "^2.8.0", 365 | "nth-check": "^2.0.1" 366 | } 367 | }, 368 | "node_modules/css-tree": { 369 | "version": "1.1.3", 370 | "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-1.1.3.tgz", 371 | "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", 372 | "dev": true, 373 | "dependencies": { 374 | "mdn-data": "2.0.14", 375 | "source-map": "^0.6.1" 376 | }, 377 | "engines": { 378 | "node": ">=8.0.0" 379 | } 380 | }, 381 | "node_modules/css-what": { 382 | "version": "6.1.0", 383 | "resolved": "https://registry.npmmirror.com/css-what/-/css-what-6.1.0.tgz", 384 | "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", 385 | "dev": true, 386 | "engines": { 387 | "node": ">= 6" 388 | } 389 | }, 390 | "node_modules/cssesc": { 391 | "version": "3.0.0", 392 | "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz", 393 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 394 | "dev": true, 395 | "bin": { 396 | "cssesc": "bin/cssesc" 397 | }, 398 | "engines": { 399 | "node": ">=4" 400 | } 401 | }, 402 | "node_modules/cssnano": { 403 | "version": "5.1.7", 404 | "resolved": "https://registry.npmmirror.com/cssnano/-/cssnano-5.1.7.tgz", 405 | "integrity": "sha512-pVsUV6LcTXif7lvKKW9ZrmX+rGRzxkEdJuVJcp5ftUjWITgwam5LMZOgaTvUrWPkcORBey6he7JKb4XAJvrpKg==", 406 | "dev": true, 407 | "dependencies": { 408 | "cssnano-preset-default": "^5.2.7", 409 | "lilconfig": "^2.0.3", 410 | "yaml": "^1.10.2" 411 | }, 412 | "engines": { 413 | "node": "^10 || ^12 || >=14.0" 414 | }, 415 | "peerDependencies": { 416 | "postcss": "^8.2.15" 417 | } 418 | }, 419 | "node_modules/cssnano-preset-default": { 420 | "version": "5.2.7", 421 | "resolved": "https://registry.npmmirror.com/cssnano-preset-default/-/cssnano-preset-default-5.2.7.tgz", 422 | "integrity": "sha512-JiKP38ymZQK+zVKevphPzNSGHSlTI+AOwlasoSRtSVMUU285O7/6uZyd5NbW92ZHp41m0sSHe6JoZosakj63uA==", 423 | "dev": true, 424 | "dependencies": { 425 | "css-declaration-sorter": "^6.2.2", 426 | "cssnano-utils": "^3.1.0", 427 | "postcss-calc": "^8.2.3", 428 | "postcss-colormin": "^5.3.0", 429 | "postcss-convert-values": "^5.1.0", 430 | "postcss-discard-comments": "^5.1.1", 431 | "postcss-discard-duplicates": "^5.1.0", 432 | "postcss-discard-empty": "^5.1.1", 433 | "postcss-discard-overridden": "^5.1.0", 434 | "postcss-merge-longhand": "^5.1.4", 435 | "postcss-merge-rules": "^5.1.1", 436 | "postcss-minify-font-values": "^5.1.0", 437 | "postcss-minify-gradients": "^5.1.1", 438 | "postcss-minify-params": "^5.1.2", 439 | "postcss-minify-selectors": "^5.2.0", 440 | "postcss-normalize-charset": "^5.1.0", 441 | "postcss-normalize-display-values": "^5.1.0", 442 | "postcss-normalize-positions": "^5.1.0", 443 | "postcss-normalize-repeat-style": "^5.1.0", 444 | "postcss-normalize-string": "^5.1.0", 445 | "postcss-normalize-timing-functions": "^5.1.0", 446 | "postcss-normalize-unicode": "^5.1.0", 447 | "postcss-normalize-url": "^5.1.0", 448 | "postcss-normalize-whitespace": "^5.1.1", 449 | "postcss-ordered-values": "^5.1.1", 450 | "postcss-reduce-initial": "^5.1.0", 451 | "postcss-reduce-transforms": "^5.1.0", 452 | "postcss-svgo": "^5.1.0", 453 | "postcss-unique-selectors": "^5.1.1" 454 | }, 455 | "engines": { 456 | "node": "^10 || ^12 || >=14.0" 457 | }, 458 | "peerDependencies": { 459 | "postcss": "^8.2.15" 460 | } 461 | }, 462 | "node_modules/cssnano-utils": { 463 | "version": "3.1.0", 464 | "resolved": "https://registry.npmmirror.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz", 465 | "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", 466 | "dev": true, 467 | "engines": { 468 | "node": "^10 || ^12 || >=14.0" 469 | }, 470 | "peerDependencies": { 471 | "postcss": "^8.2.15" 472 | } 473 | }, 474 | "node_modules/csso": { 475 | "version": "4.2.0", 476 | "resolved": "https://registry.npmmirror.com/csso/-/csso-4.2.0.tgz", 477 | "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", 478 | "dev": true, 479 | "dependencies": { 480 | "css-tree": "^1.1.2" 481 | }, 482 | "engines": { 483 | "node": ">=8.0.0" 484 | } 485 | }, 486 | "node_modules/deepmerge": { 487 | "version": "4.2.2", 488 | "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.2.2.tgz", 489 | "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", 490 | "dev": true, 491 | "engines": { 492 | "node": ">=0.10.0" 493 | } 494 | }, 495 | "node_modules/dom-serializer": { 496 | "version": "1.4.1", 497 | "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz", 498 | "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", 499 | "dev": true, 500 | "dependencies": { 501 | "domelementtype": "^2.0.1", 502 | "domhandler": "^4.2.0", 503 | "entities": "^2.0.0" 504 | } 505 | }, 506 | "node_modules/domelementtype": { 507 | "version": "2.3.0", 508 | "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", 509 | "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", 510 | "dev": true 511 | }, 512 | "node_modules/domhandler": { 513 | "version": "4.3.1", 514 | "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz", 515 | "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", 516 | "dev": true, 517 | "dependencies": { 518 | "domelementtype": "^2.2.0" 519 | }, 520 | "engines": { 521 | "node": ">= 4" 522 | } 523 | }, 524 | "node_modules/domutils": { 525 | "version": "2.8.0", 526 | "resolved": "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz", 527 | "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", 528 | "dev": true, 529 | "dependencies": { 530 | "dom-serializer": "^1.0.1", 531 | "domelementtype": "^2.2.0", 532 | "domhandler": "^4.2.0" 533 | } 534 | }, 535 | "node_modules/echarts": { 536 | "version": "5.3.2", 537 | "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.3.2.tgz", 538 | "integrity": "sha512-LWCt7ohOKdJqyiBJ0OGBmE9szLdfA9sGcsMEi+GGoc6+Xo75C+BkcT/6NNGRHAWtnQl2fNow05AQjznpap28TQ==", 539 | "dependencies": { 540 | "tslib": "2.3.0", 541 | "zrender": "5.3.1" 542 | } 543 | }, 544 | "node_modules/echarts-wordcloud": { 545 | "version": "2.0.0", 546 | "resolved": "https://registry.npmmirror.com/echarts-wordcloud/-/echarts-wordcloud-2.0.0.tgz", 547 | "integrity": "sha512-K7l6pTklqdW7ZWzT/1CS0KhBSINr/cd7c5N1fVMzZMwLQHEwT7x+nivK7g5hkVh7WNcAv4Dn6/ZS5zMKRozC1g==", 548 | "peerDependencies": { 549 | "echarts": "^5.0.1" 550 | } 551 | }, 552 | "node_modules/echarts/node_modules/tslib": { 553 | "version": "2.3.0", 554 | "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", 555 | "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" 556 | }, 557 | "node_modules/electron-to-chromium": { 558 | "version": "1.4.134", 559 | "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.134.tgz", 560 | "integrity": "sha512-OdD7M2no4Mi8PopfvoOuNcwYDJ2mNFxaBfurA6okG3fLBaMcFah9S+si84FhX+FIWLKkdaiHfl4A+5ep/gOVrg==", 561 | "dev": true 562 | }, 563 | "node_modules/emoji-regex": { 564 | "version": "10.1.0", 565 | "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-10.1.0.tgz", 566 | "integrity": "sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg==", 567 | "dev": true 568 | }, 569 | "node_modules/entities": { 570 | "version": "2.2.0", 571 | "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz", 572 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", 573 | "dev": true 574 | }, 575 | "node_modules/escalade": { 576 | "version": "3.1.1", 577 | "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz", 578 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 579 | "dev": true, 580 | "engines": { 581 | "node": ">=6" 582 | } 583 | }, 584 | "node_modules/estree-walker": { 585 | "version": "2.0.2", 586 | "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", 587 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", 588 | "dev": true 589 | }, 590 | "node_modules/eventemitter3": { 591 | "version": "4.0.7", 592 | "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz", 593 | "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", 594 | "dev": true 595 | }, 596 | "node_modules/fs.realpath": { 597 | "version": "1.0.0", 598 | "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", 599 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 600 | "dev": true 601 | }, 602 | "node_modules/fsevents": { 603 | "version": "2.3.2", 604 | "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz", 605 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 606 | "dev": true, 607 | "hasInstallScript": true, 608 | "optional": true, 609 | "os": [ 610 | "darwin" 611 | ], 612 | "engines": { 613 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 614 | } 615 | }, 616 | "node_modules/function-bind": { 617 | "version": "1.1.1", 618 | "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz", 619 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 620 | "dev": true 621 | }, 622 | "node_modules/generic-names": { 623 | "version": "4.0.0", 624 | "resolved": "https://registry.npmmirror.com/generic-names/-/generic-names-4.0.0.tgz", 625 | "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==", 626 | "dev": true, 627 | "dependencies": { 628 | "loader-utils": "^3.2.0" 629 | } 630 | }, 631 | "node_modules/glob": { 632 | "version": "7.2.0", 633 | "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.0.tgz", 634 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 635 | "dev": true, 636 | "dependencies": { 637 | "fs.realpath": "^1.0.0", 638 | "inflight": "^1.0.4", 639 | "inherits": "2", 640 | "minimatch": "^3.0.4", 641 | "once": "^1.3.0", 642 | "path-is-absolute": "^1.0.0" 643 | }, 644 | "engines": { 645 | "node": "*" 646 | } 647 | }, 648 | "node_modules/has": { 649 | "version": "1.0.3", 650 | "resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz", 651 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 652 | "dev": true, 653 | "dependencies": { 654 | "function-bind": "^1.1.1" 655 | }, 656 | "engines": { 657 | "node": ">= 0.4.0" 658 | } 659 | }, 660 | "node_modules/has-flag": { 661 | "version": "4.0.0", 662 | "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", 663 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 664 | "dev": true, 665 | "engines": { 666 | "node": ">=8" 667 | } 668 | }, 669 | "node_modules/icss-replace-symbols": { 670 | "version": "1.1.0", 671 | "resolved": "https://registry.npmmirror.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", 672 | "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==", 673 | "dev": true 674 | }, 675 | "node_modules/icss-utils": { 676 | "version": "5.1.0", 677 | "resolved": "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz", 678 | "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", 679 | "dev": true, 680 | "engines": { 681 | "node": "^10 || ^12 || >= 14" 682 | }, 683 | "peerDependencies": { 684 | "postcss": "^8.1.0" 685 | } 686 | }, 687 | "node_modules/immediate": { 688 | "version": "3.0.6", 689 | "resolved": "https://registry.npmmirror.com/immediate/-/immediate-3.0.6.tgz", 690 | "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", 691 | "dev": true 692 | }, 693 | "node_modules/import-cwd": { 694 | "version": "3.0.0", 695 | "resolved": "https://registry.npmmirror.com/import-cwd/-/import-cwd-3.0.0.tgz", 696 | "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", 697 | "dev": true, 698 | "dependencies": { 699 | "import-from": "^3.0.0" 700 | }, 701 | "engines": { 702 | "node": ">=8" 703 | } 704 | }, 705 | "node_modules/import-from": { 706 | "version": "3.0.0", 707 | "resolved": "https://registry.npmmirror.com/import-from/-/import-from-3.0.0.tgz", 708 | "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", 709 | "dev": true, 710 | "dependencies": { 711 | "resolve-from": "^5.0.0" 712 | }, 713 | "engines": { 714 | "node": ">=8" 715 | } 716 | }, 717 | "node_modules/inflight": { 718 | "version": "1.0.6", 719 | "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", 720 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 721 | "dev": true, 722 | "dependencies": { 723 | "once": "^1.3.0", 724 | "wrappy": "1" 725 | } 726 | }, 727 | "node_modules/inherits": { 728 | "version": "2.0.4", 729 | "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", 730 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 731 | "dev": true 732 | }, 733 | "node_modules/is-builtin-module": { 734 | "version": "3.1.0", 735 | "resolved": "https://registry.npmmirror.com/is-builtin-module/-/is-builtin-module-3.1.0.tgz", 736 | "integrity": "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==", 737 | "dev": true, 738 | "dependencies": { 739 | "builtin-modules": "^3.0.0" 740 | }, 741 | "engines": { 742 | "node": ">=6" 743 | } 744 | }, 745 | "node_modules/is-core-module": { 746 | "version": "2.9.0", 747 | "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.9.0.tgz", 748 | "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", 749 | "dev": true, 750 | "dependencies": { 751 | "has": "^1.0.3" 752 | } 753 | }, 754 | "node_modules/is-module": { 755 | "version": "1.0.0", 756 | "resolved": "https://registry.npmmirror.com/is-module/-/is-module-1.0.0.tgz", 757 | "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", 758 | "dev": true 759 | }, 760 | "node_modules/is-reference": { 761 | "version": "1.2.1", 762 | "resolved": "https://registry.npmmirror.com/is-reference/-/is-reference-1.2.1.tgz", 763 | "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", 764 | "dev": true, 765 | "dependencies": { 766 | "@types/estree": "*" 767 | } 768 | }, 769 | "node_modules/lie": { 770 | "version": "3.1.1", 771 | "resolved": "https://registry.npmmirror.com/lie/-/lie-3.1.1.tgz", 772 | "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", 773 | "dev": true, 774 | "dependencies": { 775 | "immediate": "~3.0.5" 776 | } 777 | }, 778 | "node_modules/lilconfig": { 779 | "version": "2.0.5", 780 | "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.0.5.tgz", 781 | "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", 782 | "dev": true, 783 | "engines": { 784 | "node": ">=10" 785 | } 786 | }, 787 | "node_modules/loader-utils": { 788 | "version": "3.2.0", 789 | "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-3.2.0.tgz", 790 | "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", 791 | "dev": true, 792 | "engines": { 793 | "node": ">= 12.13.0" 794 | } 795 | }, 796 | "node_modules/localforage": { 797 | "version": "1.10.0", 798 | "resolved": "https://registry.npmmirror.com/localforage/-/localforage-1.10.0.tgz", 799 | "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", 800 | "dev": true, 801 | "dependencies": { 802 | "lie": "3.1.1" 803 | } 804 | }, 805 | "node_modules/lodash.camelcase": { 806 | "version": "4.3.0", 807 | "resolved": "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", 808 | "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", 809 | "dev": true 810 | }, 811 | "node_modules/lodash.memoize": { 812 | "version": "4.1.2", 813 | "resolved": "https://registry.npmmirror.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz", 814 | "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", 815 | "dev": true 816 | }, 817 | "node_modules/lodash.uniq": { 818 | "version": "4.5.0", 819 | "resolved": "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz", 820 | "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", 821 | "dev": true 822 | }, 823 | "node_modules/luxon": { 824 | "version": "2.4.0", 825 | "resolved": "https://registry.npmmirror.com/luxon/-/luxon-2.4.0.tgz", 826 | "integrity": "sha512-w+NAwWOUL5hO0SgwOHsMBAmZ15SoknmQXhSO0hIbJCAmPKSsGeK8MlmhYh2w6Iib38IxN2M+/ooXWLbeis7GuA==", 827 | "dev": true, 828 | "engines": { 829 | "node": ">=12" 830 | } 831 | }, 832 | "node_modules/magic-string": { 833 | "version": "0.25.9", 834 | "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", 835 | "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", 836 | "dev": true, 837 | "dependencies": { 838 | "sourcemap-codec": "^1.4.8" 839 | } 840 | }, 841 | "node_modules/mdn-data": { 842 | "version": "2.0.14", 843 | "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz", 844 | "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", 845 | "dev": true 846 | }, 847 | "node_modules/minimatch": { 848 | "version": "3.1.2", 849 | "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", 850 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 851 | "dev": true, 852 | "dependencies": { 853 | "brace-expansion": "^1.1.7" 854 | }, 855 | "engines": { 856 | "node": "*" 857 | } 858 | }, 859 | "node_modules/moment": { 860 | "version": "2.29.1", 861 | "resolved": "https://registry.npmmirror.com/moment/-/moment-2.29.1.tgz", 862 | "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", 863 | "dev": true, 864 | "engines": { 865 | "node": "*" 866 | } 867 | }, 868 | "node_modules/nanoid": { 869 | "version": "3.3.4", 870 | "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz", 871 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", 872 | "dev": true, 873 | "peer": true, 874 | "bin": { 875 | "nanoid": "bin/nanoid.cjs" 876 | }, 877 | "engines": { 878 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 879 | } 880 | }, 881 | "node_modules/node-releases": { 882 | "version": "2.0.4", 883 | "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.4.tgz", 884 | "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==", 885 | "dev": true 886 | }, 887 | "node_modules/normalize-url": { 888 | "version": "6.1.0", 889 | "resolved": "https://registry.npmmirror.com/normalize-url/-/normalize-url-6.1.0.tgz", 890 | "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", 891 | "dev": true, 892 | "engines": { 893 | "node": ">=10" 894 | } 895 | }, 896 | "node_modules/nth-check": { 897 | "version": "2.0.1", 898 | "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.0.1.tgz", 899 | "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", 900 | "dev": true, 901 | "dependencies": { 902 | "boolbase": "^1.0.0" 903 | } 904 | }, 905 | "node_modules/obsidian": { 906 | "version": "0.13.30", 907 | "resolved": "https://registry.npmmirror.com/obsidian/-/obsidian-0.13.30.tgz", 908 | "integrity": "sha512-uAOrIyeHE9qYzg1Qjfpy/qlyLUFX9oyKWeHYO8NVDoI+pm5VUTMe7XWcsXPwb9iVsVmggVJcdV15Vqm9bljhxQ==", 909 | "dev": true, 910 | "dependencies": { 911 | "@codemirror/state": "^0.19.6", 912 | "@codemirror/view": "^0.19.31", 913 | "@types/codemirror": "0.0.108", 914 | "moment": "2.29.1" 915 | } 916 | }, 917 | "node_modules/obsidian-calendar-ui": { 918 | "version": "0.3.12", 919 | "resolved": "https://registry.npmmirror.com/obsidian-calendar-ui/-/obsidian-calendar-ui-0.3.12.tgz", 920 | "integrity": "sha512-hdoRqCPnukfRgCARgArXaqMQZ+Iai0eY7f0ZsFHHfywpv4gKg3Tx5p47UsLvRO5DD+4knlbrL7Gel57MkfcLTw==", 921 | "dev": true, 922 | "dependencies": { 923 | "obsidian-daily-notes-interface": "0.8.4", 924 | "svelte": "3.35.0", 925 | "tslib": "2.1.0" 926 | } 927 | }, 928 | "node_modules/obsidian-calendar-ui/node_modules/tslib": { 929 | "version": "2.1.0", 930 | "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.1.0.tgz", 931 | "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", 932 | "dev": true 933 | }, 934 | "node_modules/obsidian-daily-notes-interface": { 935 | "version": "0.8.4", 936 | "resolved": "https://registry.npmmirror.com/obsidian-daily-notes-interface/-/obsidian-daily-notes-interface-0.8.4.tgz", 937 | "integrity": "sha512-REKQtAuIOKDbvNH/th1C1gWmJWCP5tRn9T/mfZGZt4Zncgko7McXK0aSKFtEInipvgbZJ2nScivvyLdiWluSMw==", 938 | "dev": true, 939 | "dependencies": { 940 | "obsidian": "github:obsidianmd/obsidian-api#master", 941 | "tslib": "2.1.0" 942 | }, 943 | "bin": { 944 | "obsidian-daily-notes-interface": "dist/main.js" 945 | } 946 | }, 947 | "node_modules/obsidian-daily-notes-interface/node_modules/moment": { 948 | "version": "2.29.3", 949 | "resolved": "https://registry.npmmirror.com/moment/-/moment-2.29.3.tgz", 950 | "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==", 951 | "dev": true, 952 | "engines": { 953 | "node": "*" 954 | } 955 | }, 956 | "node_modules/obsidian-daily-notes-interface/node_modules/obsidian": { 957 | "version": "0.14.8", 958 | "resolved": "git+ssh://git@github.com/obsidianmd/obsidian-api.git#39efa39de0b3b51c52d5ac9a92bd19de396a9d3a", 959 | "dev": true, 960 | "license": "MIT", 961 | "dependencies": { 962 | "@codemirror/state": "^0.19.6", 963 | "@codemirror/view": "^0.19.31", 964 | "@types/codemirror": "0.0.108", 965 | "moment": "2.29.3" 966 | } 967 | }, 968 | "node_modules/obsidian-daily-notes-interface/node_modules/tslib": { 969 | "version": "2.1.0", 970 | "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.1.0.tgz", 971 | "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", 972 | "dev": true 973 | }, 974 | "node_modules/obsidian-dataview": { 975 | "version": "0.5.20", 976 | "resolved": "https://registry.npmmirror.com/obsidian-dataview/-/obsidian-dataview-0.5.20.tgz", 977 | "integrity": "sha512-VnZ5o12uiokIlnxNXYXcVsqNYBEb8dRwAeIxd5KD7r6zG7jz2WUvVosNZ+UqAapjceF84V2blb+X7dEVU2t+IA==", 978 | "dev": true, 979 | "dependencies": { 980 | "emoji-regex": "^10.0.0", 981 | "localforage": "^1.10.0", 982 | "luxon": "^2.0.2", 983 | "obsidian-calendar-ui": "^0.3.12", 984 | "papaparse": "^5.3.1", 985 | "parsimmon": "^1.18.0", 986 | "preact": "^10.6.5" 987 | } 988 | }, 989 | "node_modules/once": { 990 | "version": "1.4.0", 991 | "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", 992 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 993 | "dev": true, 994 | "dependencies": { 995 | "wrappy": "1" 996 | } 997 | }, 998 | "node_modules/p-finally": { 999 | "version": "1.0.0", 1000 | "resolved": "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz", 1001 | "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", 1002 | "dev": true, 1003 | "engines": { 1004 | "node": ">=4" 1005 | } 1006 | }, 1007 | "node_modules/p-queue": { 1008 | "version": "6.6.2", 1009 | "resolved": "https://registry.npmmirror.com/p-queue/-/p-queue-6.6.2.tgz", 1010 | "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", 1011 | "dev": true, 1012 | "dependencies": { 1013 | "eventemitter3": "^4.0.4", 1014 | "p-timeout": "^3.2.0" 1015 | }, 1016 | "engines": { 1017 | "node": ">=8" 1018 | } 1019 | }, 1020 | "node_modules/p-timeout": { 1021 | "version": "3.2.0", 1022 | "resolved": "https://registry.npmmirror.com/p-timeout/-/p-timeout-3.2.0.tgz", 1023 | "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", 1024 | "dev": true, 1025 | "dependencies": { 1026 | "p-finally": "^1.0.0" 1027 | }, 1028 | "engines": { 1029 | "node": ">=8" 1030 | } 1031 | }, 1032 | "node_modules/papaparse": { 1033 | "version": "5.3.2", 1034 | "resolved": "https://registry.npmmirror.com/papaparse/-/papaparse-5.3.2.tgz", 1035 | "integrity": "sha512-6dNZu0Ki+gyV0eBsFKJhYr+MdQYAzFUGlBMNj3GNrmHxmz1lfRa24CjFObPXtjcetlOv5Ad299MhIK0znp3afw==", 1036 | "dev": true 1037 | }, 1038 | "node_modules/parsimmon": { 1039 | "version": "1.18.1", 1040 | "resolved": "https://registry.npmmirror.com/parsimmon/-/parsimmon-1.18.1.tgz", 1041 | "integrity": "sha512-u7p959wLfGAhJpSDJVYXoyMCXWYwHia78HhRBWqk7AIbxdmlrfdp5wX0l3xv/iTSH5HvhN9K7o26hwwpgS5Nmw==", 1042 | "dev": true 1043 | }, 1044 | "node_modules/path-is-absolute": { 1045 | "version": "1.0.1", 1046 | "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1047 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 1048 | "dev": true, 1049 | "engines": { 1050 | "node": ">=0.10.0" 1051 | } 1052 | }, 1053 | "node_modules/path-parse": { 1054 | "version": "1.0.7", 1055 | "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", 1056 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 1057 | "dev": true 1058 | }, 1059 | "node_modules/picocolors": { 1060 | "version": "1.0.0", 1061 | "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", 1062 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 1063 | "dev": true 1064 | }, 1065 | "node_modules/picomatch": { 1066 | "version": "2.3.1", 1067 | "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", 1068 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1069 | "dev": true, 1070 | "engines": { 1071 | "node": ">=8.6" 1072 | } 1073 | }, 1074 | "node_modules/pify": { 1075 | "version": "5.0.0", 1076 | "resolved": "https://registry.npmmirror.com/pify/-/pify-5.0.0.tgz", 1077 | "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", 1078 | "dev": true, 1079 | "engines": { 1080 | "node": ">=10" 1081 | } 1082 | }, 1083 | "node_modules/postcss": { 1084 | "version": "8.4.13", 1085 | "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.13.tgz", 1086 | "integrity": "sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==", 1087 | "dev": true, 1088 | "peer": true, 1089 | "dependencies": { 1090 | "nanoid": "^3.3.3", 1091 | "picocolors": "^1.0.0", 1092 | "source-map-js": "^1.0.2" 1093 | }, 1094 | "engines": { 1095 | "node": "^10 || ^12 || >=14" 1096 | } 1097 | }, 1098 | "node_modules/postcss-calc": { 1099 | "version": "8.2.4", 1100 | "resolved": "https://registry.npmmirror.com/postcss-calc/-/postcss-calc-8.2.4.tgz", 1101 | "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", 1102 | "dev": true, 1103 | "dependencies": { 1104 | "postcss-selector-parser": "^6.0.9", 1105 | "postcss-value-parser": "^4.2.0" 1106 | }, 1107 | "peerDependencies": { 1108 | "postcss": "^8.2.2" 1109 | } 1110 | }, 1111 | "node_modules/postcss-colormin": { 1112 | "version": "5.3.0", 1113 | "resolved": "https://registry.npmmirror.com/postcss-colormin/-/postcss-colormin-5.3.0.tgz", 1114 | "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", 1115 | "dev": true, 1116 | "dependencies": { 1117 | "browserslist": "^4.16.6", 1118 | "caniuse-api": "^3.0.0", 1119 | "colord": "^2.9.1", 1120 | "postcss-value-parser": "^4.2.0" 1121 | }, 1122 | "engines": { 1123 | "node": "^10 || ^12 || >=14.0" 1124 | }, 1125 | "peerDependencies": { 1126 | "postcss": "^8.2.15" 1127 | } 1128 | }, 1129 | "node_modules/postcss-convert-values": { 1130 | "version": "5.1.0", 1131 | "resolved": "https://registry.npmmirror.com/postcss-convert-values/-/postcss-convert-values-5.1.0.tgz", 1132 | "integrity": "sha512-GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g==", 1133 | "dev": true, 1134 | "dependencies": { 1135 | "postcss-value-parser": "^4.2.0" 1136 | }, 1137 | "engines": { 1138 | "node": "^10 || ^12 || >=14.0" 1139 | }, 1140 | "peerDependencies": { 1141 | "postcss": "^8.2.15" 1142 | } 1143 | }, 1144 | "node_modules/postcss-discard-comments": { 1145 | "version": "5.1.1", 1146 | "resolved": "https://registry.npmmirror.com/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz", 1147 | "integrity": "sha512-5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ==", 1148 | "dev": true, 1149 | "engines": { 1150 | "node": "^10 || ^12 || >=14.0" 1151 | }, 1152 | "peerDependencies": { 1153 | "postcss": "^8.2.15" 1154 | } 1155 | }, 1156 | "node_modules/postcss-discard-duplicates": { 1157 | "version": "5.1.0", 1158 | "resolved": "https://registry.npmmirror.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", 1159 | "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", 1160 | "dev": true, 1161 | "engines": { 1162 | "node": "^10 || ^12 || >=14.0" 1163 | }, 1164 | "peerDependencies": { 1165 | "postcss": "^8.2.15" 1166 | } 1167 | }, 1168 | "node_modules/postcss-discard-empty": { 1169 | "version": "5.1.1", 1170 | "resolved": "https://registry.npmmirror.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", 1171 | "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", 1172 | "dev": true, 1173 | "engines": { 1174 | "node": "^10 || ^12 || >=14.0" 1175 | }, 1176 | "peerDependencies": { 1177 | "postcss": "^8.2.15" 1178 | } 1179 | }, 1180 | "node_modules/postcss-discard-overridden": { 1181 | "version": "5.1.0", 1182 | "resolved": "https://registry.npmmirror.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", 1183 | "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", 1184 | "dev": true, 1185 | "engines": { 1186 | "node": "^10 || ^12 || >=14.0" 1187 | }, 1188 | "peerDependencies": { 1189 | "postcss": "^8.2.15" 1190 | } 1191 | }, 1192 | "node_modules/postcss-load-config": { 1193 | "version": "3.1.4", 1194 | "resolved": "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz", 1195 | "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", 1196 | "dev": true, 1197 | "dependencies": { 1198 | "lilconfig": "^2.0.5", 1199 | "yaml": "^1.10.2" 1200 | }, 1201 | "engines": { 1202 | "node": ">= 10" 1203 | }, 1204 | "peerDependencies": { 1205 | "postcss": ">=8.0.9", 1206 | "ts-node": ">=9.0.0" 1207 | }, 1208 | "peerDependenciesMeta": { 1209 | "postcss": { 1210 | "optional": true 1211 | }, 1212 | "ts-node": { 1213 | "optional": true 1214 | } 1215 | } 1216 | }, 1217 | "node_modules/postcss-merge-longhand": { 1218 | "version": "5.1.4", 1219 | "resolved": "https://registry.npmmirror.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.4.tgz", 1220 | "integrity": "sha512-hbqRRqYfmXoGpzYKeW0/NCZhvNyQIlQeWVSao5iKWdyx7skLvCfQFGIUsP9NUs3dSbPac2IC4Go85/zG+7MlmA==", 1221 | "dev": true, 1222 | "dependencies": { 1223 | "postcss-value-parser": "^4.2.0", 1224 | "stylehacks": "^5.1.0" 1225 | }, 1226 | "engines": { 1227 | "node": "^10 || ^12 || >=14.0" 1228 | }, 1229 | "peerDependencies": { 1230 | "postcss": "^8.2.15" 1231 | } 1232 | }, 1233 | "node_modules/postcss-merge-rules": { 1234 | "version": "5.1.1", 1235 | "resolved": "https://registry.npmmirror.com/postcss-merge-rules/-/postcss-merge-rules-5.1.1.tgz", 1236 | "integrity": "sha512-8wv8q2cXjEuCcgpIB1Xx1pIy8/rhMPIQqYKNzEdyx37m6gpq83mQQdCxgIkFgliyEnKvdwJf/C61vN4tQDq4Ww==", 1237 | "dev": true, 1238 | "dependencies": { 1239 | "browserslist": "^4.16.6", 1240 | "caniuse-api": "^3.0.0", 1241 | "cssnano-utils": "^3.1.0", 1242 | "postcss-selector-parser": "^6.0.5" 1243 | }, 1244 | "engines": { 1245 | "node": "^10 || ^12 || >=14.0" 1246 | }, 1247 | "peerDependencies": { 1248 | "postcss": "^8.2.15" 1249 | } 1250 | }, 1251 | "node_modules/postcss-minify-font-values": { 1252 | "version": "5.1.0", 1253 | "resolved": "https://registry.npmmirror.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", 1254 | "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", 1255 | "dev": true, 1256 | "dependencies": { 1257 | "postcss-value-parser": "^4.2.0" 1258 | }, 1259 | "engines": { 1260 | "node": "^10 || ^12 || >=14.0" 1261 | }, 1262 | "peerDependencies": { 1263 | "postcss": "^8.2.15" 1264 | } 1265 | }, 1266 | "node_modules/postcss-minify-gradients": { 1267 | "version": "5.1.1", 1268 | "resolved": "https://registry.npmmirror.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", 1269 | "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", 1270 | "dev": true, 1271 | "dependencies": { 1272 | "colord": "^2.9.1", 1273 | "cssnano-utils": "^3.1.0", 1274 | "postcss-value-parser": "^4.2.0" 1275 | }, 1276 | "engines": { 1277 | "node": "^10 || ^12 || >=14.0" 1278 | }, 1279 | "peerDependencies": { 1280 | "postcss": "^8.2.15" 1281 | } 1282 | }, 1283 | "node_modules/postcss-minify-params": { 1284 | "version": "5.1.2", 1285 | "resolved": "https://registry.npmmirror.com/postcss-minify-params/-/postcss-minify-params-5.1.2.tgz", 1286 | "integrity": "sha512-aEP+p71S/urY48HWaRHasyx4WHQJyOYaKpQ6eXl8k0kxg66Wt/30VR6/woh8THgcpRbonJD5IeD+CzNhPi1L8g==", 1287 | "dev": true, 1288 | "dependencies": { 1289 | "browserslist": "^4.16.6", 1290 | "cssnano-utils": "^3.1.0", 1291 | "postcss-value-parser": "^4.2.0" 1292 | }, 1293 | "engines": { 1294 | "node": "^10 || ^12 || >=14.0" 1295 | }, 1296 | "peerDependencies": { 1297 | "postcss": "^8.2.15" 1298 | } 1299 | }, 1300 | "node_modules/postcss-minify-selectors": { 1301 | "version": "5.2.0", 1302 | "resolved": "https://registry.npmmirror.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz", 1303 | "integrity": "sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA==", 1304 | "dev": true, 1305 | "dependencies": { 1306 | "postcss-selector-parser": "^6.0.5" 1307 | }, 1308 | "engines": { 1309 | "node": "^10 || ^12 || >=14.0" 1310 | }, 1311 | "peerDependencies": { 1312 | "postcss": "^8.2.15" 1313 | } 1314 | }, 1315 | "node_modules/postcss-modules": { 1316 | "version": "4.3.1", 1317 | "resolved": "https://registry.npmmirror.com/postcss-modules/-/postcss-modules-4.3.1.tgz", 1318 | "integrity": "sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==", 1319 | "dev": true, 1320 | "dependencies": { 1321 | "generic-names": "^4.0.0", 1322 | "icss-replace-symbols": "^1.1.0", 1323 | "lodash.camelcase": "^4.3.0", 1324 | "postcss-modules-extract-imports": "^3.0.0", 1325 | "postcss-modules-local-by-default": "^4.0.0", 1326 | "postcss-modules-scope": "^3.0.0", 1327 | "postcss-modules-values": "^4.0.0", 1328 | "string-hash": "^1.1.1" 1329 | }, 1330 | "peerDependencies": { 1331 | "postcss": "^8.0.0" 1332 | } 1333 | }, 1334 | "node_modules/postcss-modules-extract-imports": { 1335 | "version": "3.0.0", 1336 | "resolved": "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", 1337 | "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", 1338 | "dev": true, 1339 | "engines": { 1340 | "node": "^10 || ^12 || >= 14" 1341 | }, 1342 | "peerDependencies": { 1343 | "postcss": "^8.1.0" 1344 | } 1345 | }, 1346 | "node_modules/postcss-modules-local-by-default": { 1347 | "version": "4.0.0", 1348 | "resolved": "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", 1349 | "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", 1350 | "dev": true, 1351 | "dependencies": { 1352 | "icss-utils": "^5.0.0", 1353 | "postcss-selector-parser": "^6.0.2", 1354 | "postcss-value-parser": "^4.1.0" 1355 | }, 1356 | "engines": { 1357 | "node": "^10 || ^12 || >= 14" 1358 | }, 1359 | "peerDependencies": { 1360 | "postcss": "^8.1.0" 1361 | } 1362 | }, 1363 | "node_modules/postcss-modules-scope": { 1364 | "version": "3.0.0", 1365 | "resolved": "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", 1366 | "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", 1367 | "dev": true, 1368 | "dependencies": { 1369 | "postcss-selector-parser": "^6.0.4" 1370 | }, 1371 | "engines": { 1372 | "node": "^10 || ^12 || >= 14" 1373 | }, 1374 | "peerDependencies": { 1375 | "postcss": "^8.1.0" 1376 | } 1377 | }, 1378 | "node_modules/postcss-modules-values": { 1379 | "version": "4.0.0", 1380 | "resolved": "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", 1381 | "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", 1382 | "dev": true, 1383 | "dependencies": { 1384 | "icss-utils": "^5.0.0" 1385 | }, 1386 | "engines": { 1387 | "node": "^10 || ^12 || >= 14" 1388 | }, 1389 | "peerDependencies": { 1390 | "postcss": "^8.1.0" 1391 | } 1392 | }, 1393 | "node_modules/postcss-normalize-charset": { 1394 | "version": "5.1.0", 1395 | "resolved": "https://registry.npmmirror.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", 1396 | "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", 1397 | "dev": true, 1398 | "engines": { 1399 | "node": "^10 || ^12 || >=14.0" 1400 | }, 1401 | "peerDependencies": { 1402 | "postcss": "^8.2.15" 1403 | } 1404 | }, 1405 | "node_modules/postcss-normalize-display-values": { 1406 | "version": "5.1.0", 1407 | "resolved": "https://registry.npmmirror.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", 1408 | "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", 1409 | "dev": true, 1410 | "dependencies": { 1411 | "postcss-value-parser": "^4.2.0" 1412 | }, 1413 | "engines": { 1414 | "node": "^10 || ^12 || >=14.0" 1415 | }, 1416 | "peerDependencies": { 1417 | "postcss": "^8.2.15" 1418 | } 1419 | }, 1420 | "node_modules/postcss-normalize-positions": { 1421 | "version": "5.1.0", 1422 | "resolved": "https://registry.npmmirror.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz", 1423 | "integrity": "sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ==", 1424 | "dev": true, 1425 | "dependencies": { 1426 | "postcss-value-parser": "^4.2.0" 1427 | }, 1428 | "engines": { 1429 | "node": "^10 || ^12 || >=14.0" 1430 | }, 1431 | "peerDependencies": { 1432 | "postcss": "^8.2.15" 1433 | } 1434 | }, 1435 | "node_modules/postcss-normalize-repeat-style": { 1436 | "version": "5.1.0", 1437 | "resolved": "https://registry.npmmirror.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz", 1438 | "integrity": "sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw==", 1439 | "dev": true, 1440 | "dependencies": { 1441 | "postcss-value-parser": "^4.2.0" 1442 | }, 1443 | "engines": { 1444 | "node": "^10 || ^12 || >=14.0" 1445 | }, 1446 | "peerDependencies": { 1447 | "postcss": "^8.2.15" 1448 | } 1449 | }, 1450 | "node_modules/postcss-normalize-string": { 1451 | "version": "5.1.0", 1452 | "resolved": "https://registry.npmmirror.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", 1453 | "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", 1454 | "dev": true, 1455 | "dependencies": { 1456 | "postcss-value-parser": "^4.2.0" 1457 | }, 1458 | "engines": { 1459 | "node": "^10 || ^12 || >=14.0" 1460 | }, 1461 | "peerDependencies": { 1462 | "postcss": "^8.2.15" 1463 | } 1464 | }, 1465 | "node_modules/postcss-normalize-timing-functions": { 1466 | "version": "5.1.0", 1467 | "resolved": "https://registry.npmmirror.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", 1468 | "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", 1469 | "dev": true, 1470 | "dependencies": { 1471 | "postcss-value-parser": "^4.2.0" 1472 | }, 1473 | "engines": { 1474 | "node": "^10 || ^12 || >=14.0" 1475 | }, 1476 | "peerDependencies": { 1477 | "postcss": "^8.2.15" 1478 | } 1479 | }, 1480 | "node_modules/postcss-normalize-unicode": { 1481 | "version": "5.1.0", 1482 | "resolved": "https://registry.npmmirror.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz", 1483 | "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==", 1484 | "dev": true, 1485 | "dependencies": { 1486 | "browserslist": "^4.16.6", 1487 | "postcss-value-parser": "^4.2.0" 1488 | }, 1489 | "engines": { 1490 | "node": "^10 || ^12 || >=14.0" 1491 | }, 1492 | "peerDependencies": { 1493 | "postcss": "^8.2.15" 1494 | } 1495 | }, 1496 | "node_modules/postcss-normalize-url": { 1497 | "version": "5.1.0", 1498 | "resolved": "https://registry.npmmirror.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", 1499 | "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", 1500 | "dev": true, 1501 | "dependencies": { 1502 | "normalize-url": "^6.0.1", 1503 | "postcss-value-parser": "^4.2.0" 1504 | }, 1505 | "engines": { 1506 | "node": "^10 || ^12 || >=14.0" 1507 | }, 1508 | "peerDependencies": { 1509 | "postcss": "^8.2.15" 1510 | } 1511 | }, 1512 | "node_modules/postcss-normalize-whitespace": { 1513 | "version": "5.1.1", 1514 | "resolved": "https://registry.npmmirror.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", 1515 | "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", 1516 | "dev": true, 1517 | "dependencies": { 1518 | "postcss-value-parser": "^4.2.0" 1519 | }, 1520 | "engines": { 1521 | "node": "^10 || ^12 || >=14.0" 1522 | }, 1523 | "peerDependencies": { 1524 | "postcss": "^8.2.15" 1525 | } 1526 | }, 1527 | "node_modules/postcss-ordered-values": { 1528 | "version": "5.1.1", 1529 | "resolved": "https://registry.npmmirror.com/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz", 1530 | "integrity": "sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw==", 1531 | "dev": true, 1532 | "dependencies": { 1533 | "cssnano-utils": "^3.1.0", 1534 | "postcss-value-parser": "^4.2.0" 1535 | }, 1536 | "engines": { 1537 | "node": "^10 || ^12 || >=14.0" 1538 | }, 1539 | "peerDependencies": { 1540 | "postcss": "^8.2.15" 1541 | } 1542 | }, 1543 | "node_modules/postcss-reduce-initial": { 1544 | "version": "5.1.0", 1545 | "resolved": "https://registry.npmmirror.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", 1546 | "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==", 1547 | "dev": true, 1548 | "dependencies": { 1549 | "browserslist": "^4.16.6", 1550 | "caniuse-api": "^3.0.0" 1551 | }, 1552 | "engines": { 1553 | "node": "^10 || ^12 || >=14.0" 1554 | }, 1555 | "peerDependencies": { 1556 | "postcss": "^8.2.15" 1557 | } 1558 | }, 1559 | "node_modules/postcss-reduce-transforms": { 1560 | "version": "5.1.0", 1561 | "resolved": "https://registry.npmmirror.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", 1562 | "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", 1563 | "dev": true, 1564 | "dependencies": { 1565 | "postcss-value-parser": "^4.2.0" 1566 | }, 1567 | "engines": { 1568 | "node": "^10 || ^12 || >=14.0" 1569 | }, 1570 | "peerDependencies": { 1571 | "postcss": "^8.2.15" 1572 | } 1573 | }, 1574 | "node_modules/postcss-selector-parser": { 1575 | "version": "6.0.10", 1576 | "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", 1577 | "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", 1578 | "dev": true, 1579 | "dependencies": { 1580 | "cssesc": "^3.0.0", 1581 | "util-deprecate": "^1.0.2" 1582 | }, 1583 | "engines": { 1584 | "node": ">=4" 1585 | } 1586 | }, 1587 | "node_modules/postcss-svgo": { 1588 | "version": "5.1.0", 1589 | "resolved": "https://registry.npmmirror.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz", 1590 | "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", 1591 | "dev": true, 1592 | "dependencies": { 1593 | "postcss-value-parser": "^4.2.0", 1594 | "svgo": "^2.7.0" 1595 | }, 1596 | "engines": { 1597 | "node": "^10 || ^12 || >=14.0" 1598 | }, 1599 | "peerDependencies": { 1600 | "postcss": "^8.2.15" 1601 | } 1602 | }, 1603 | "node_modules/postcss-unique-selectors": { 1604 | "version": "5.1.1", 1605 | "resolved": "https://registry.npmmirror.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", 1606 | "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", 1607 | "dev": true, 1608 | "dependencies": { 1609 | "postcss-selector-parser": "^6.0.5" 1610 | }, 1611 | "engines": { 1612 | "node": "^10 || ^12 || >=14.0" 1613 | }, 1614 | "peerDependencies": { 1615 | "postcss": "^8.2.15" 1616 | } 1617 | }, 1618 | "node_modules/postcss-value-parser": { 1619 | "version": "4.2.0", 1620 | "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 1621 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 1622 | "dev": true 1623 | }, 1624 | "node_modules/preact": { 1625 | "version": "10.7.3", 1626 | "resolved": "https://registry.npmmirror.com/preact/-/preact-10.7.3.tgz", 1627 | "integrity": "sha512-giqJXP8VbtA1tyGa3f1n9wiN7PrHtONrDyE3T+ifjr/tTkg+2N4d/6sjC9WyJKv8wM7rOYDveqy5ZoFmYlwo4w==", 1628 | "dev": true 1629 | }, 1630 | "node_modules/prettier": { 1631 | "version": "2.6.2", 1632 | "resolved": "https://registry.npmmirror.com/prettier/-/prettier-2.6.2.tgz", 1633 | "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", 1634 | "dev": true, 1635 | "bin": { 1636 | "prettier": "bin-prettier.js" 1637 | }, 1638 | "engines": { 1639 | "node": ">=10.13.0" 1640 | } 1641 | }, 1642 | "node_modules/promise.series": { 1643 | "version": "0.2.0", 1644 | "resolved": "https://registry.npmmirror.com/promise.series/-/promise.series-0.2.0.tgz", 1645 | "integrity": "sha512-VWQJyU2bcDTgZw8kpfBpB/ejZASlCrzwz5f2hjb/zlujOEB4oeiAhHygAWq8ubsX2GVkD4kCU5V2dwOTaCY5EQ==", 1646 | "dev": true, 1647 | "engines": { 1648 | "node": ">=0.12" 1649 | } 1650 | }, 1651 | "node_modules/resolve": { 1652 | "version": "1.22.0", 1653 | "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.0.tgz", 1654 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", 1655 | "dev": true, 1656 | "dependencies": { 1657 | "is-core-module": "^2.8.1", 1658 | "path-parse": "^1.0.7", 1659 | "supports-preserve-symlinks-flag": "^1.0.0" 1660 | }, 1661 | "bin": { 1662 | "resolve": "bin/resolve" 1663 | } 1664 | }, 1665 | "node_modules/resolve-from": { 1666 | "version": "5.0.0", 1667 | "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", 1668 | "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", 1669 | "dev": true, 1670 | "engines": { 1671 | "node": ">=8" 1672 | } 1673 | }, 1674 | "node_modules/rollup": { 1675 | "version": "2.72.0", 1676 | "resolved": "https://registry.npmmirror.com/rollup/-/rollup-2.72.0.tgz", 1677 | "integrity": "sha512-KqtR2YcO35/KKijg4nx4STO3569aqCUeGRkKWnJ6r+AvBBrVY9L4pmf4NHVrQr4mTOq6msbohflxr2kpihhaOA==", 1678 | "dev": true, 1679 | "bin": { 1680 | "rollup": "dist/bin/rollup" 1681 | }, 1682 | "engines": { 1683 | "node": ">=10.0.0" 1684 | }, 1685 | "optionalDependencies": { 1686 | "fsevents": "~2.3.2" 1687 | } 1688 | }, 1689 | "node_modules/rollup-plugin-postcss": { 1690 | "version": "4.0.2", 1691 | "resolved": "https://registry.npmmirror.com/rollup-plugin-postcss/-/rollup-plugin-postcss-4.0.2.tgz", 1692 | "integrity": "sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w==", 1693 | "dev": true, 1694 | "dependencies": { 1695 | "chalk": "^4.1.0", 1696 | "concat-with-sourcemaps": "^1.1.0", 1697 | "cssnano": "^5.0.1", 1698 | "import-cwd": "^3.0.0", 1699 | "p-queue": "^6.6.2", 1700 | "pify": "^5.0.0", 1701 | "postcss-load-config": "^3.0.0", 1702 | "postcss-modules": "^4.0.0", 1703 | "promise.series": "^0.2.0", 1704 | "resolve": "^1.19.0", 1705 | "rollup-pluginutils": "^2.8.2", 1706 | "safe-identifier": "^0.4.2", 1707 | "style-inject": "^0.3.0" 1708 | }, 1709 | "engines": { 1710 | "node": ">=10" 1711 | }, 1712 | "peerDependencies": { 1713 | "postcss": "8.x" 1714 | } 1715 | }, 1716 | "node_modules/rollup-pluginutils": { 1717 | "version": "2.8.2", 1718 | "resolved": "https://registry.npmmirror.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", 1719 | "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", 1720 | "dev": true, 1721 | "dependencies": { 1722 | "estree-walker": "^0.6.1" 1723 | } 1724 | }, 1725 | "node_modules/rollup-pluginutils/node_modules/estree-walker": { 1726 | "version": "0.6.1", 1727 | "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-0.6.1.tgz", 1728 | "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", 1729 | "dev": true 1730 | }, 1731 | "node_modules/safe-identifier": { 1732 | "version": "0.4.2", 1733 | "resolved": "https://registry.npmmirror.com/safe-identifier/-/safe-identifier-0.4.2.tgz", 1734 | "integrity": "sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==", 1735 | "dev": true 1736 | }, 1737 | "node_modules/source-map": { 1738 | "version": "0.6.1", 1739 | "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", 1740 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1741 | "dev": true, 1742 | "engines": { 1743 | "node": ">=0.10.0" 1744 | } 1745 | }, 1746 | "node_modules/source-map-js": { 1747 | "version": "1.0.2", 1748 | "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz", 1749 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 1750 | "dev": true, 1751 | "peer": true, 1752 | "engines": { 1753 | "node": ">=0.10.0" 1754 | } 1755 | }, 1756 | "node_modules/sourcemap-codec": { 1757 | "version": "1.4.8", 1758 | "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 1759 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", 1760 | "dev": true 1761 | }, 1762 | "node_modules/stable": { 1763 | "version": "0.1.8", 1764 | "resolved": "https://registry.npmmirror.com/stable/-/stable-0.1.8.tgz", 1765 | "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", 1766 | "dev": true 1767 | }, 1768 | "node_modules/string-hash": { 1769 | "version": "1.1.3", 1770 | "resolved": "https://registry.npmmirror.com/string-hash/-/string-hash-1.1.3.tgz", 1771 | "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==", 1772 | "dev": true 1773 | }, 1774 | "node_modules/style-inject": { 1775 | "version": "0.3.0", 1776 | "resolved": "https://registry.npmmirror.com/style-inject/-/style-inject-0.3.0.tgz", 1777 | "integrity": "sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==", 1778 | "dev": true 1779 | }, 1780 | "node_modules/style-mod": { 1781 | "version": "4.0.0", 1782 | "resolved": "https://registry.npmmirror.com/style-mod/-/style-mod-4.0.0.tgz", 1783 | "integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==", 1784 | "dev": true 1785 | }, 1786 | "node_modules/stylehacks": { 1787 | "version": "5.1.0", 1788 | "resolved": "https://registry.npmmirror.com/stylehacks/-/stylehacks-5.1.0.tgz", 1789 | "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==", 1790 | "dev": true, 1791 | "dependencies": { 1792 | "browserslist": "^4.16.6", 1793 | "postcss-selector-parser": "^6.0.4" 1794 | }, 1795 | "engines": { 1796 | "node": "^10 || ^12 || >=14.0" 1797 | }, 1798 | "peerDependencies": { 1799 | "postcss": "^8.2.15" 1800 | } 1801 | }, 1802 | "node_modules/supports-color": { 1803 | "version": "7.2.0", 1804 | "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", 1805 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 1806 | "dev": true, 1807 | "dependencies": { 1808 | "has-flag": "^4.0.0" 1809 | }, 1810 | "engines": { 1811 | "node": ">=8" 1812 | } 1813 | }, 1814 | "node_modules/supports-preserve-symlinks-flag": { 1815 | "version": "1.0.0", 1816 | "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1817 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1818 | "dev": true, 1819 | "engines": { 1820 | "node": ">= 0.4" 1821 | } 1822 | }, 1823 | "node_modules/svelte": { 1824 | "version": "3.35.0", 1825 | "resolved": "https://registry.npmmirror.com/svelte/-/svelte-3.35.0.tgz", 1826 | "integrity": "sha512-gknlZkR2sXheu/X+B7dDImwANVvK1R0QGQLd8CNIfxxGPeXBmePnxfzb6fWwTQRsYQG7lYkZXvpXJvxvpsoB7g==", 1827 | "dev": true, 1828 | "engines": { 1829 | "node": ">= 8" 1830 | } 1831 | }, 1832 | "node_modules/svgo": { 1833 | "version": "2.8.0", 1834 | "resolved": "https://registry.npmmirror.com/svgo/-/svgo-2.8.0.tgz", 1835 | "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", 1836 | "dev": true, 1837 | "dependencies": { 1838 | "@trysound/sax": "0.2.0", 1839 | "commander": "^7.2.0", 1840 | "css-select": "^4.1.3", 1841 | "css-tree": "^1.1.3", 1842 | "csso": "^4.2.0", 1843 | "picocolors": "^1.0.0", 1844 | "stable": "^0.1.8" 1845 | }, 1846 | "bin": { 1847 | "svgo": "bin/svgo" 1848 | }, 1849 | "engines": { 1850 | "node": ">=10.13.0" 1851 | } 1852 | }, 1853 | "node_modules/tslib": { 1854 | "version": "2.4.0", 1855 | "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.4.0.tgz", 1856 | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", 1857 | "dev": true 1858 | }, 1859 | "node_modules/typescript": { 1860 | "version": "4.6.4", 1861 | "resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.6.4.tgz", 1862 | "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", 1863 | "dev": true, 1864 | "bin": { 1865 | "tsc": "bin/tsc", 1866 | "tsserver": "bin/tsserver" 1867 | }, 1868 | "engines": { 1869 | "node": ">=4.2.0" 1870 | } 1871 | }, 1872 | "node_modules/util-deprecate": { 1873 | "version": "1.0.2", 1874 | "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", 1875 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 1876 | "dev": true 1877 | }, 1878 | "node_modules/w3c-keyname": { 1879 | "version": "2.2.4", 1880 | "resolved": "https://registry.npmmirror.com/w3c-keyname/-/w3c-keyname-2.2.4.tgz", 1881 | "integrity": "sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==", 1882 | "dev": true 1883 | }, 1884 | "node_modules/wrappy": { 1885 | "version": "1.0.2", 1886 | "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", 1887 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 1888 | "dev": true 1889 | }, 1890 | "node_modules/yaml": { 1891 | "version": "1.10.2", 1892 | "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz", 1893 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 1894 | "dev": true, 1895 | "engines": { 1896 | "node": ">= 6" 1897 | } 1898 | }, 1899 | "node_modules/zrender": { 1900 | "version": "5.3.1", 1901 | "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.3.1.tgz", 1902 | "integrity": "sha512-7olqIjy0gWfznKr6vgfnGBk7y4UtdMvdwFmK92vVQsQeDPyzkHW1OlrLEKg6GHz1W5ePf0FeN1q2vkl/HFqhXw==", 1903 | "dependencies": { 1904 | "tslib": "2.3.0" 1905 | } 1906 | }, 1907 | "node_modules/zrender/node_modules/tslib": { 1908 | "version": "2.3.0", 1909 | "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", 1910 | "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" 1911 | } 1912 | }, 1913 | "dependencies": { 1914 | "@codemirror/rangeset": { 1915 | "version": "0.19.9", 1916 | "resolved": "https://registry.npmmirror.com/@codemirror/rangeset/-/rangeset-0.19.9.tgz", 1917 | "integrity": "sha512-V8YUuOvK+ew87Xem+71nKcqu1SXd5QROMRLMS/ljT5/3MCxtgrRie1Cvild0G/Z2f1fpWxzX78V0U4jjXBorBQ==", 1918 | "dev": true, 1919 | "requires": { 1920 | "@codemirror/state": "^0.19.0" 1921 | } 1922 | }, 1923 | "@codemirror/state": { 1924 | "version": "0.19.9", 1925 | "resolved": "https://registry.npmmirror.com/@codemirror/state/-/state-0.19.9.tgz", 1926 | "integrity": "sha512-psOzDolKTZkx4CgUqhBQ8T8gBc0xN5z4gzed109aF6x7D7umpDRoimacI/O6d9UGuyl4eYuDCZmDFr2Rq7aGOw==", 1927 | "dev": true, 1928 | "requires": { 1929 | "@codemirror/text": "^0.19.0" 1930 | } 1931 | }, 1932 | "@codemirror/text": { 1933 | "version": "0.19.6", 1934 | "resolved": "https://registry.npmmirror.com/@codemirror/text/-/text-0.19.6.tgz", 1935 | "integrity": "sha512-T9jnREMIygx+TPC1bOuepz18maGq/92q2a+n4qTqObKwvNMg+8cMTslb8yxeEDEq7S3kpgGWxgO1UWbQRij0dA==", 1936 | "dev": true 1937 | }, 1938 | "@codemirror/view": { 1939 | "version": "0.19.48", 1940 | "resolved": "https://registry.npmmirror.com/@codemirror/view/-/view-0.19.48.tgz", 1941 | "integrity": "sha512-0eg7D2Nz4S8/caetCTz61rK0tkHI17V/d15Jy0kLOT8dTLGGNJUponDnW28h2B6bERmPlVHKh8MJIr5OCp1nGw==", 1942 | "dev": true, 1943 | "requires": { 1944 | "@codemirror/rangeset": "^0.19.5", 1945 | "@codemirror/state": "^0.19.3", 1946 | "@codemirror/text": "^0.19.0", 1947 | "style-mod": "^4.0.0", 1948 | "w3c-keyname": "^2.2.4" 1949 | } 1950 | }, 1951 | "@rollup/plugin-commonjs": { 1952 | "version": "21.1.0", 1953 | "resolved": "https://registry.npmmirror.com/@rollup/plugin-commonjs/-/plugin-commonjs-21.1.0.tgz", 1954 | "integrity": "sha512-6ZtHx3VHIp2ReNNDxHjuUml6ur+WcQ28N1yHgCQwsbNkQg2suhxGMDQGJOn/KuDxKtd1xuZP5xSTwBA4GQ8hbA==", 1955 | "dev": true, 1956 | "requires": { 1957 | "@rollup/pluginutils": "^3.1.0", 1958 | "commondir": "^1.0.1", 1959 | "estree-walker": "^2.0.1", 1960 | "glob": "^7.1.6", 1961 | "is-reference": "^1.2.1", 1962 | "magic-string": "^0.25.7", 1963 | "resolve": "^1.17.0" 1964 | } 1965 | }, 1966 | "@rollup/plugin-node-resolve": { 1967 | "version": "13.3.0", 1968 | "resolved": "https://registry.npmmirror.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz", 1969 | "integrity": "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==", 1970 | "dev": true, 1971 | "requires": { 1972 | "@rollup/pluginutils": "^3.1.0", 1973 | "@types/resolve": "1.17.1", 1974 | "deepmerge": "^4.2.2", 1975 | "is-builtin-module": "^3.1.0", 1976 | "is-module": "^1.0.0", 1977 | "resolve": "^1.19.0" 1978 | } 1979 | }, 1980 | "@rollup/plugin-typescript": { 1981 | "version": "8.3.2", 1982 | "resolved": "https://registry.npmmirror.com/@rollup/plugin-typescript/-/plugin-typescript-8.3.2.tgz", 1983 | "integrity": "sha512-MtgyR5LNHZr3GyN0tM7gNO9D0CS+Y+vflS4v/PHmrX17JCkHUYKvQ5jN5o3cz1YKllM3duXUqu3yOHwMPUxhDg==", 1984 | "dev": true, 1985 | "requires": { 1986 | "@rollup/pluginutils": "^3.1.0", 1987 | "resolve": "^1.17.0" 1988 | } 1989 | }, 1990 | "@rollup/pluginutils": { 1991 | "version": "3.1.0", 1992 | "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", 1993 | "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", 1994 | "dev": true, 1995 | "requires": { 1996 | "@types/estree": "0.0.39", 1997 | "estree-walker": "^1.0.1", 1998 | "picomatch": "^2.2.2" 1999 | }, 2000 | "dependencies": { 2001 | "estree-walker": { 2002 | "version": "1.0.1", 2003 | "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-1.0.1.tgz", 2004 | "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", 2005 | "dev": true 2006 | } 2007 | } 2008 | }, 2009 | "@trysound/sax": { 2010 | "version": "0.2.0", 2011 | "resolved": "https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz", 2012 | "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", 2013 | "dev": true 2014 | }, 2015 | "@types/codemirror": { 2016 | "version": "0.0.108", 2017 | "resolved": "https://registry.npmmirror.com/@types/codemirror/-/codemirror-0.0.108.tgz", 2018 | "integrity": "sha512-3FGFcus0P7C2UOGCNUVENqObEb4SFk+S8Dnxq7K6aIsLVs/vDtlangl3PEO0ykaKXyK56swVF6Nho7VsA44uhw==", 2019 | "dev": true, 2020 | "requires": { 2021 | "@types/tern": "*" 2022 | } 2023 | }, 2024 | "@types/estree": { 2025 | "version": "0.0.39", 2026 | "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-0.0.39.tgz", 2027 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", 2028 | "dev": true 2029 | }, 2030 | "@types/node": { 2031 | "version": "17.0.31", 2032 | "resolved": "https://registry.npmmirror.com/@types/node/-/node-17.0.31.tgz", 2033 | "integrity": "sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==", 2034 | "dev": true 2035 | }, 2036 | "@types/resolve": { 2037 | "version": "1.17.1", 2038 | "resolved": "https://registry.npmmirror.com/@types/resolve/-/resolve-1.17.1.tgz", 2039 | "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", 2040 | "dev": true, 2041 | "requires": { 2042 | "@types/node": "*" 2043 | } 2044 | }, 2045 | "@types/tern": { 2046 | "version": "0.23.4", 2047 | "resolved": "https://registry.npmmirror.com/@types/tern/-/tern-0.23.4.tgz", 2048 | "integrity": "sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==", 2049 | "dev": true, 2050 | "requires": { 2051 | "@types/estree": "*" 2052 | } 2053 | }, 2054 | "ansi-styles": { 2055 | "version": "4.3.0", 2056 | "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", 2057 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 2058 | "dev": true, 2059 | "requires": { 2060 | "color-convert": "^2.0.1" 2061 | } 2062 | }, 2063 | "balanced-match": { 2064 | "version": "1.0.2", 2065 | "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", 2066 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 2067 | "dev": true 2068 | }, 2069 | "boolbase": { 2070 | "version": "1.0.0", 2071 | "resolved": "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz", 2072 | "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", 2073 | "dev": true 2074 | }, 2075 | "brace-expansion": { 2076 | "version": "1.1.11", 2077 | "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", 2078 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 2079 | "dev": true, 2080 | "requires": { 2081 | "balanced-match": "^1.0.0", 2082 | "concat-map": "0.0.1" 2083 | } 2084 | }, 2085 | "browserslist": { 2086 | "version": "4.20.3", 2087 | "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.20.3.tgz", 2088 | "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", 2089 | "dev": true, 2090 | "requires": { 2091 | "caniuse-lite": "^1.0.30001332", 2092 | "electron-to-chromium": "^1.4.118", 2093 | "escalade": "^3.1.1", 2094 | "node-releases": "^2.0.3", 2095 | "picocolors": "^1.0.0" 2096 | } 2097 | }, 2098 | "builtin-modules": { 2099 | "version": "3.2.0", 2100 | "resolved": "https://registry.npmmirror.com/builtin-modules/-/builtin-modules-3.2.0.tgz", 2101 | "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", 2102 | "dev": true 2103 | }, 2104 | "caniuse-api": { 2105 | "version": "3.0.0", 2106 | "resolved": "https://registry.npmmirror.com/caniuse-api/-/caniuse-api-3.0.0.tgz", 2107 | "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", 2108 | "dev": true, 2109 | "requires": { 2110 | "browserslist": "^4.0.0", 2111 | "caniuse-lite": "^1.0.0", 2112 | "lodash.memoize": "^4.1.2", 2113 | "lodash.uniq": "^4.5.0" 2114 | } 2115 | }, 2116 | "caniuse-lite": { 2117 | "version": "1.0.30001336", 2118 | "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001336.tgz", 2119 | "integrity": "sha512-/YxSlBmL7iKXTbIJ48IQTnAOBk7XmWsxhBF1PZLOko5Dt9qc4Pl+84lfqG3Tc4EuavurRn1QLoVJGxY2iSycfw==", 2120 | "dev": true 2121 | }, 2122 | "chalk": { 2123 | "version": "4.1.2", 2124 | "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", 2125 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 2126 | "dev": true, 2127 | "requires": { 2128 | "ansi-styles": "^4.1.0", 2129 | "supports-color": "^7.1.0" 2130 | } 2131 | }, 2132 | "color-convert": { 2133 | "version": "2.0.1", 2134 | "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", 2135 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 2136 | "dev": true, 2137 | "requires": { 2138 | "color-name": "~1.1.4" 2139 | } 2140 | }, 2141 | "color-name": { 2142 | "version": "1.1.4", 2143 | "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", 2144 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 2145 | "dev": true 2146 | }, 2147 | "colord": { 2148 | "version": "2.9.2", 2149 | "resolved": "https://registry.npmmirror.com/colord/-/colord-2.9.2.tgz", 2150 | "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", 2151 | "dev": true 2152 | }, 2153 | "commander": { 2154 | "version": "7.2.0", 2155 | "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", 2156 | "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", 2157 | "dev": true 2158 | }, 2159 | "commondir": { 2160 | "version": "1.0.1", 2161 | "resolved": "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz", 2162 | "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", 2163 | "dev": true 2164 | }, 2165 | "concat-map": { 2166 | "version": "0.0.1", 2167 | "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", 2168 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 2169 | "dev": true 2170 | }, 2171 | "concat-with-sourcemaps": { 2172 | "version": "1.1.0", 2173 | "resolved": "https://registry.npmmirror.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", 2174 | "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", 2175 | "dev": true, 2176 | "requires": { 2177 | "source-map": "^0.6.1" 2178 | } 2179 | }, 2180 | "css-declaration-sorter": { 2181 | "version": "6.2.2", 2182 | "resolved": "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz", 2183 | "integrity": "sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg==", 2184 | "dev": true, 2185 | "requires": {} 2186 | }, 2187 | "css-select": { 2188 | "version": "4.3.0", 2189 | "resolved": "https://registry.npmmirror.com/css-select/-/css-select-4.3.0.tgz", 2190 | "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", 2191 | "dev": true, 2192 | "requires": { 2193 | "boolbase": "^1.0.0", 2194 | "css-what": "^6.0.1", 2195 | "domhandler": "^4.3.1", 2196 | "domutils": "^2.8.0", 2197 | "nth-check": "^2.0.1" 2198 | } 2199 | }, 2200 | "css-tree": { 2201 | "version": "1.1.3", 2202 | "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-1.1.3.tgz", 2203 | "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", 2204 | "dev": true, 2205 | "requires": { 2206 | "mdn-data": "2.0.14", 2207 | "source-map": "^0.6.1" 2208 | } 2209 | }, 2210 | "css-what": { 2211 | "version": "6.1.0", 2212 | "resolved": "https://registry.npmmirror.com/css-what/-/css-what-6.1.0.tgz", 2213 | "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", 2214 | "dev": true 2215 | }, 2216 | "cssesc": { 2217 | "version": "3.0.0", 2218 | "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz", 2219 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 2220 | "dev": true 2221 | }, 2222 | "cssnano": { 2223 | "version": "5.1.7", 2224 | "resolved": "https://registry.npmmirror.com/cssnano/-/cssnano-5.1.7.tgz", 2225 | "integrity": "sha512-pVsUV6LcTXif7lvKKW9ZrmX+rGRzxkEdJuVJcp5ftUjWITgwam5LMZOgaTvUrWPkcORBey6he7JKb4XAJvrpKg==", 2226 | "dev": true, 2227 | "requires": { 2228 | "cssnano-preset-default": "^5.2.7", 2229 | "lilconfig": "^2.0.3", 2230 | "yaml": "^1.10.2" 2231 | } 2232 | }, 2233 | "cssnano-preset-default": { 2234 | "version": "5.2.7", 2235 | "resolved": "https://registry.npmmirror.com/cssnano-preset-default/-/cssnano-preset-default-5.2.7.tgz", 2236 | "integrity": "sha512-JiKP38ymZQK+zVKevphPzNSGHSlTI+AOwlasoSRtSVMUU285O7/6uZyd5NbW92ZHp41m0sSHe6JoZosakj63uA==", 2237 | "dev": true, 2238 | "requires": { 2239 | "css-declaration-sorter": "^6.2.2", 2240 | "cssnano-utils": "^3.1.0", 2241 | "postcss-calc": "^8.2.3", 2242 | "postcss-colormin": "^5.3.0", 2243 | "postcss-convert-values": "^5.1.0", 2244 | "postcss-discard-comments": "^5.1.1", 2245 | "postcss-discard-duplicates": "^5.1.0", 2246 | "postcss-discard-empty": "^5.1.1", 2247 | "postcss-discard-overridden": "^5.1.0", 2248 | "postcss-merge-longhand": "^5.1.4", 2249 | "postcss-merge-rules": "^5.1.1", 2250 | "postcss-minify-font-values": "^5.1.0", 2251 | "postcss-minify-gradients": "^5.1.1", 2252 | "postcss-minify-params": "^5.1.2", 2253 | "postcss-minify-selectors": "^5.2.0", 2254 | "postcss-normalize-charset": "^5.1.0", 2255 | "postcss-normalize-display-values": "^5.1.0", 2256 | "postcss-normalize-positions": "^5.1.0", 2257 | "postcss-normalize-repeat-style": "^5.1.0", 2258 | "postcss-normalize-string": "^5.1.0", 2259 | "postcss-normalize-timing-functions": "^5.1.0", 2260 | "postcss-normalize-unicode": "^5.1.0", 2261 | "postcss-normalize-url": "^5.1.0", 2262 | "postcss-normalize-whitespace": "^5.1.1", 2263 | "postcss-ordered-values": "^5.1.1", 2264 | "postcss-reduce-initial": "^5.1.0", 2265 | "postcss-reduce-transforms": "^5.1.0", 2266 | "postcss-svgo": "^5.1.0", 2267 | "postcss-unique-selectors": "^5.1.1" 2268 | } 2269 | }, 2270 | "cssnano-utils": { 2271 | "version": "3.1.0", 2272 | "resolved": "https://registry.npmmirror.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz", 2273 | "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", 2274 | "dev": true, 2275 | "requires": {} 2276 | }, 2277 | "csso": { 2278 | "version": "4.2.0", 2279 | "resolved": "https://registry.npmmirror.com/csso/-/csso-4.2.0.tgz", 2280 | "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", 2281 | "dev": true, 2282 | "requires": { 2283 | "css-tree": "^1.1.2" 2284 | } 2285 | }, 2286 | "deepmerge": { 2287 | "version": "4.2.2", 2288 | "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.2.2.tgz", 2289 | "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", 2290 | "dev": true 2291 | }, 2292 | "dom-serializer": { 2293 | "version": "1.4.1", 2294 | "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz", 2295 | "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", 2296 | "dev": true, 2297 | "requires": { 2298 | "domelementtype": "^2.0.1", 2299 | "domhandler": "^4.2.0", 2300 | "entities": "^2.0.0" 2301 | } 2302 | }, 2303 | "domelementtype": { 2304 | "version": "2.3.0", 2305 | "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", 2306 | "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", 2307 | "dev": true 2308 | }, 2309 | "domhandler": { 2310 | "version": "4.3.1", 2311 | "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz", 2312 | "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", 2313 | "dev": true, 2314 | "requires": { 2315 | "domelementtype": "^2.2.0" 2316 | } 2317 | }, 2318 | "domutils": { 2319 | "version": "2.8.0", 2320 | "resolved": "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz", 2321 | "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", 2322 | "dev": true, 2323 | "requires": { 2324 | "dom-serializer": "^1.0.1", 2325 | "domelementtype": "^2.2.0", 2326 | "domhandler": "^4.2.0" 2327 | } 2328 | }, 2329 | "echarts": { 2330 | "version": "5.3.2", 2331 | "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.3.2.tgz", 2332 | "integrity": "sha512-LWCt7ohOKdJqyiBJ0OGBmE9szLdfA9sGcsMEi+GGoc6+Xo75C+BkcT/6NNGRHAWtnQl2fNow05AQjznpap28TQ==", 2333 | "requires": { 2334 | "tslib": "2.3.0", 2335 | "zrender": "5.3.1" 2336 | }, 2337 | "dependencies": { 2338 | "tslib": { 2339 | "version": "2.3.0", 2340 | "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", 2341 | "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" 2342 | } 2343 | } 2344 | }, 2345 | "echarts-wordcloud": { 2346 | "version": "2.0.0", 2347 | "resolved": "https://registry.npmmirror.com/echarts-wordcloud/-/echarts-wordcloud-2.0.0.tgz", 2348 | "integrity": "sha512-K7l6pTklqdW7ZWzT/1CS0KhBSINr/cd7c5N1fVMzZMwLQHEwT7x+nivK7g5hkVh7WNcAv4Dn6/ZS5zMKRozC1g==", 2349 | "requires": {} 2350 | }, 2351 | "electron-to-chromium": { 2352 | "version": "1.4.134", 2353 | "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.134.tgz", 2354 | "integrity": "sha512-OdD7M2no4Mi8PopfvoOuNcwYDJ2mNFxaBfurA6okG3fLBaMcFah9S+si84FhX+FIWLKkdaiHfl4A+5ep/gOVrg==", 2355 | "dev": true 2356 | }, 2357 | "emoji-regex": { 2358 | "version": "10.1.0", 2359 | "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-10.1.0.tgz", 2360 | "integrity": "sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg==", 2361 | "dev": true 2362 | }, 2363 | "entities": { 2364 | "version": "2.2.0", 2365 | "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz", 2366 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", 2367 | "dev": true 2368 | }, 2369 | "escalade": { 2370 | "version": "3.1.1", 2371 | "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz", 2372 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 2373 | "dev": true 2374 | }, 2375 | "estree-walker": { 2376 | "version": "2.0.2", 2377 | "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", 2378 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", 2379 | "dev": true 2380 | }, 2381 | "eventemitter3": { 2382 | "version": "4.0.7", 2383 | "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz", 2384 | "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", 2385 | "dev": true 2386 | }, 2387 | "fs.realpath": { 2388 | "version": "1.0.0", 2389 | "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", 2390 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 2391 | "dev": true 2392 | }, 2393 | "fsevents": { 2394 | "version": "2.3.2", 2395 | "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz", 2396 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 2397 | "dev": true, 2398 | "optional": true 2399 | }, 2400 | "function-bind": { 2401 | "version": "1.1.1", 2402 | "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz", 2403 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 2404 | "dev": true 2405 | }, 2406 | "generic-names": { 2407 | "version": "4.0.0", 2408 | "resolved": "https://registry.npmmirror.com/generic-names/-/generic-names-4.0.0.tgz", 2409 | "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==", 2410 | "dev": true, 2411 | "requires": { 2412 | "loader-utils": "^3.2.0" 2413 | } 2414 | }, 2415 | "glob": { 2416 | "version": "7.2.0", 2417 | "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.0.tgz", 2418 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 2419 | "dev": true, 2420 | "requires": { 2421 | "fs.realpath": "^1.0.0", 2422 | "inflight": "^1.0.4", 2423 | "inherits": "2", 2424 | "minimatch": "^3.0.4", 2425 | "once": "^1.3.0", 2426 | "path-is-absolute": "^1.0.0" 2427 | } 2428 | }, 2429 | "has": { 2430 | "version": "1.0.3", 2431 | "resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz", 2432 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 2433 | "dev": true, 2434 | "requires": { 2435 | "function-bind": "^1.1.1" 2436 | } 2437 | }, 2438 | "has-flag": { 2439 | "version": "4.0.0", 2440 | "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", 2441 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 2442 | "dev": true 2443 | }, 2444 | "icss-replace-symbols": { 2445 | "version": "1.1.0", 2446 | "resolved": "https://registry.npmmirror.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", 2447 | "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==", 2448 | "dev": true 2449 | }, 2450 | "icss-utils": { 2451 | "version": "5.1.0", 2452 | "resolved": "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz", 2453 | "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", 2454 | "dev": true, 2455 | "requires": {} 2456 | }, 2457 | "immediate": { 2458 | "version": "3.0.6", 2459 | "resolved": "https://registry.npmmirror.com/immediate/-/immediate-3.0.6.tgz", 2460 | "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", 2461 | "dev": true 2462 | }, 2463 | "import-cwd": { 2464 | "version": "3.0.0", 2465 | "resolved": "https://registry.npmmirror.com/import-cwd/-/import-cwd-3.0.0.tgz", 2466 | "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", 2467 | "dev": true, 2468 | "requires": { 2469 | "import-from": "^3.0.0" 2470 | } 2471 | }, 2472 | "import-from": { 2473 | "version": "3.0.0", 2474 | "resolved": "https://registry.npmmirror.com/import-from/-/import-from-3.0.0.tgz", 2475 | "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", 2476 | "dev": true, 2477 | "requires": { 2478 | "resolve-from": "^5.0.0" 2479 | } 2480 | }, 2481 | "inflight": { 2482 | "version": "1.0.6", 2483 | "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", 2484 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 2485 | "dev": true, 2486 | "requires": { 2487 | "once": "^1.3.0", 2488 | "wrappy": "1" 2489 | } 2490 | }, 2491 | "inherits": { 2492 | "version": "2.0.4", 2493 | "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", 2494 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 2495 | "dev": true 2496 | }, 2497 | "is-builtin-module": { 2498 | "version": "3.1.0", 2499 | "resolved": "https://registry.npmmirror.com/is-builtin-module/-/is-builtin-module-3.1.0.tgz", 2500 | "integrity": "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==", 2501 | "dev": true, 2502 | "requires": { 2503 | "builtin-modules": "^3.0.0" 2504 | } 2505 | }, 2506 | "is-core-module": { 2507 | "version": "2.9.0", 2508 | "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.9.0.tgz", 2509 | "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", 2510 | "dev": true, 2511 | "requires": { 2512 | "has": "^1.0.3" 2513 | } 2514 | }, 2515 | "is-module": { 2516 | "version": "1.0.0", 2517 | "resolved": "https://registry.npmmirror.com/is-module/-/is-module-1.0.0.tgz", 2518 | "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", 2519 | "dev": true 2520 | }, 2521 | "is-reference": { 2522 | "version": "1.2.1", 2523 | "resolved": "https://registry.npmmirror.com/is-reference/-/is-reference-1.2.1.tgz", 2524 | "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", 2525 | "dev": true, 2526 | "requires": { 2527 | "@types/estree": "*" 2528 | } 2529 | }, 2530 | "lie": { 2531 | "version": "3.1.1", 2532 | "resolved": "https://registry.npmmirror.com/lie/-/lie-3.1.1.tgz", 2533 | "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", 2534 | "dev": true, 2535 | "requires": { 2536 | "immediate": "~3.0.5" 2537 | } 2538 | }, 2539 | "lilconfig": { 2540 | "version": "2.0.5", 2541 | "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.0.5.tgz", 2542 | "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", 2543 | "dev": true 2544 | }, 2545 | "loader-utils": { 2546 | "version": "3.2.0", 2547 | "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-3.2.0.tgz", 2548 | "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", 2549 | "dev": true 2550 | }, 2551 | "localforage": { 2552 | "version": "1.10.0", 2553 | "resolved": "https://registry.npmmirror.com/localforage/-/localforage-1.10.0.tgz", 2554 | "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", 2555 | "dev": true, 2556 | "requires": { 2557 | "lie": "3.1.1" 2558 | } 2559 | }, 2560 | "lodash.camelcase": { 2561 | "version": "4.3.0", 2562 | "resolved": "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", 2563 | "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", 2564 | "dev": true 2565 | }, 2566 | "lodash.memoize": { 2567 | "version": "4.1.2", 2568 | "resolved": "https://registry.npmmirror.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz", 2569 | "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", 2570 | "dev": true 2571 | }, 2572 | "lodash.uniq": { 2573 | "version": "4.5.0", 2574 | "resolved": "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz", 2575 | "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", 2576 | "dev": true 2577 | }, 2578 | "luxon": { 2579 | "version": "2.4.0", 2580 | "resolved": "https://registry.npmmirror.com/luxon/-/luxon-2.4.0.tgz", 2581 | "integrity": "sha512-w+NAwWOUL5hO0SgwOHsMBAmZ15SoknmQXhSO0hIbJCAmPKSsGeK8MlmhYh2w6Iib38IxN2M+/ooXWLbeis7GuA==", 2582 | "dev": true 2583 | }, 2584 | "magic-string": { 2585 | "version": "0.25.9", 2586 | "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", 2587 | "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", 2588 | "dev": true, 2589 | "requires": { 2590 | "sourcemap-codec": "^1.4.8" 2591 | } 2592 | }, 2593 | "mdn-data": { 2594 | "version": "2.0.14", 2595 | "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz", 2596 | "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", 2597 | "dev": true 2598 | }, 2599 | "minimatch": { 2600 | "version": "3.1.2", 2601 | "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", 2602 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 2603 | "dev": true, 2604 | "requires": { 2605 | "brace-expansion": "^1.1.7" 2606 | } 2607 | }, 2608 | "moment": { 2609 | "version": "2.29.1", 2610 | "resolved": "https://registry.npmmirror.com/moment/-/moment-2.29.1.tgz", 2611 | "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", 2612 | "dev": true 2613 | }, 2614 | "nanoid": { 2615 | "version": "3.3.4", 2616 | "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz", 2617 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", 2618 | "dev": true, 2619 | "peer": true 2620 | }, 2621 | "node-releases": { 2622 | "version": "2.0.4", 2623 | "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.4.tgz", 2624 | "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==", 2625 | "dev": true 2626 | }, 2627 | "normalize-url": { 2628 | "version": "6.1.0", 2629 | "resolved": "https://registry.npmmirror.com/normalize-url/-/normalize-url-6.1.0.tgz", 2630 | "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", 2631 | "dev": true 2632 | }, 2633 | "nth-check": { 2634 | "version": "2.0.1", 2635 | "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.0.1.tgz", 2636 | "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", 2637 | "dev": true, 2638 | "requires": { 2639 | "boolbase": "^1.0.0" 2640 | } 2641 | }, 2642 | "obsidian": { 2643 | "version": "0.13.30", 2644 | "resolved": "https://registry.npmmirror.com/obsidian/-/obsidian-0.13.30.tgz", 2645 | "integrity": "sha512-uAOrIyeHE9qYzg1Qjfpy/qlyLUFX9oyKWeHYO8NVDoI+pm5VUTMe7XWcsXPwb9iVsVmggVJcdV15Vqm9bljhxQ==", 2646 | "dev": true, 2647 | "requires": { 2648 | "@codemirror/state": "^0.19.6", 2649 | "@codemirror/view": "^0.19.31", 2650 | "@types/codemirror": "0.0.108", 2651 | "moment": "2.29.1" 2652 | } 2653 | }, 2654 | "obsidian-calendar-ui": { 2655 | "version": "0.3.12", 2656 | "resolved": "https://registry.npmmirror.com/obsidian-calendar-ui/-/obsidian-calendar-ui-0.3.12.tgz", 2657 | "integrity": "sha512-hdoRqCPnukfRgCARgArXaqMQZ+Iai0eY7f0ZsFHHfywpv4gKg3Tx5p47UsLvRO5DD+4knlbrL7Gel57MkfcLTw==", 2658 | "dev": true, 2659 | "requires": { 2660 | "obsidian-daily-notes-interface": "0.8.4", 2661 | "svelte": "3.35.0", 2662 | "tslib": "2.1.0" 2663 | }, 2664 | "dependencies": { 2665 | "tslib": { 2666 | "version": "2.1.0", 2667 | "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.1.0.tgz", 2668 | "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", 2669 | "dev": true 2670 | } 2671 | } 2672 | }, 2673 | "obsidian-daily-notes-interface": { 2674 | "version": "0.8.4", 2675 | "resolved": "https://registry.npmmirror.com/obsidian-daily-notes-interface/-/obsidian-daily-notes-interface-0.8.4.tgz", 2676 | "integrity": "sha512-REKQtAuIOKDbvNH/th1C1gWmJWCP5tRn9T/mfZGZt4Zncgko7McXK0aSKFtEInipvgbZJ2nScivvyLdiWluSMw==", 2677 | "dev": true, 2678 | "requires": { 2679 | "obsidian": "github:obsidianmd/obsidian-api#master", 2680 | "tslib": "2.1.0" 2681 | }, 2682 | "dependencies": { 2683 | "moment": { 2684 | "version": "2.29.3", 2685 | "resolved": "https://registry.npmmirror.com/moment/-/moment-2.29.3.tgz", 2686 | "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==", 2687 | "dev": true 2688 | }, 2689 | "obsidian": { 2690 | "version": "git+ssh://git@github.com/obsidianmd/obsidian-api.git#39efa39de0b3b51c52d5ac9a92bd19de396a9d3a", 2691 | "dev": true, 2692 | "from": "obsidian@github:obsidianmd/obsidian-api#master", 2693 | "requires": { 2694 | "@codemirror/state": "^0.19.6", 2695 | "@codemirror/view": "^0.19.31", 2696 | "@types/codemirror": "0.0.108", 2697 | "moment": "2.29.3" 2698 | } 2699 | }, 2700 | "tslib": { 2701 | "version": "2.1.0", 2702 | "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.1.0.tgz", 2703 | "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", 2704 | "dev": true 2705 | } 2706 | } 2707 | }, 2708 | "obsidian-dataview": { 2709 | "version": "0.5.20", 2710 | "resolved": "https://registry.npmmirror.com/obsidian-dataview/-/obsidian-dataview-0.5.20.tgz", 2711 | "integrity": "sha512-VnZ5o12uiokIlnxNXYXcVsqNYBEb8dRwAeIxd5KD7r6zG7jz2WUvVosNZ+UqAapjceF84V2blb+X7dEVU2t+IA==", 2712 | "dev": true, 2713 | "requires": { 2714 | "emoji-regex": "^10.0.0", 2715 | "localforage": "^1.10.0", 2716 | "luxon": "^2.0.2", 2717 | "obsidian-calendar-ui": "^0.3.12", 2718 | "papaparse": "^5.3.1", 2719 | "parsimmon": "^1.18.0", 2720 | "preact": "^10.6.5" 2721 | } 2722 | }, 2723 | "once": { 2724 | "version": "1.4.0", 2725 | "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", 2726 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 2727 | "dev": true, 2728 | "requires": { 2729 | "wrappy": "1" 2730 | } 2731 | }, 2732 | "p-finally": { 2733 | "version": "1.0.0", 2734 | "resolved": "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz", 2735 | "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", 2736 | "dev": true 2737 | }, 2738 | "p-queue": { 2739 | "version": "6.6.2", 2740 | "resolved": "https://registry.npmmirror.com/p-queue/-/p-queue-6.6.2.tgz", 2741 | "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", 2742 | "dev": true, 2743 | "requires": { 2744 | "eventemitter3": "^4.0.4", 2745 | "p-timeout": "^3.2.0" 2746 | } 2747 | }, 2748 | "p-timeout": { 2749 | "version": "3.2.0", 2750 | "resolved": "https://registry.npmmirror.com/p-timeout/-/p-timeout-3.2.0.tgz", 2751 | "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", 2752 | "dev": true, 2753 | "requires": { 2754 | "p-finally": "^1.0.0" 2755 | } 2756 | }, 2757 | "papaparse": { 2758 | "version": "5.3.2", 2759 | "resolved": "https://registry.npmmirror.com/papaparse/-/papaparse-5.3.2.tgz", 2760 | "integrity": "sha512-6dNZu0Ki+gyV0eBsFKJhYr+MdQYAzFUGlBMNj3GNrmHxmz1lfRa24CjFObPXtjcetlOv5Ad299MhIK0znp3afw==", 2761 | "dev": true 2762 | }, 2763 | "parsimmon": { 2764 | "version": "1.18.1", 2765 | "resolved": "https://registry.npmmirror.com/parsimmon/-/parsimmon-1.18.1.tgz", 2766 | "integrity": "sha512-u7p959wLfGAhJpSDJVYXoyMCXWYwHia78HhRBWqk7AIbxdmlrfdp5wX0l3xv/iTSH5HvhN9K7o26hwwpgS5Nmw==", 2767 | "dev": true 2768 | }, 2769 | "path-is-absolute": { 2770 | "version": "1.0.1", 2771 | "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2772 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 2773 | "dev": true 2774 | }, 2775 | "path-parse": { 2776 | "version": "1.0.7", 2777 | "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", 2778 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 2779 | "dev": true 2780 | }, 2781 | "picocolors": { 2782 | "version": "1.0.0", 2783 | "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", 2784 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 2785 | "dev": true 2786 | }, 2787 | "picomatch": { 2788 | "version": "2.3.1", 2789 | "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", 2790 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 2791 | "dev": true 2792 | }, 2793 | "pify": { 2794 | "version": "5.0.0", 2795 | "resolved": "https://registry.npmmirror.com/pify/-/pify-5.0.0.tgz", 2796 | "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", 2797 | "dev": true 2798 | }, 2799 | "postcss": { 2800 | "version": "8.4.13", 2801 | "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.13.tgz", 2802 | "integrity": "sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==", 2803 | "dev": true, 2804 | "peer": true, 2805 | "requires": { 2806 | "nanoid": "^3.3.3", 2807 | "picocolors": "^1.0.0", 2808 | "source-map-js": "^1.0.2" 2809 | } 2810 | }, 2811 | "postcss-calc": { 2812 | "version": "8.2.4", 2813 | "resolved": "https://registry.npmmirror.com/postcss-calc/-/postcss-calc-8.2.4.tgz", 2814 | "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", 2815 | "dev": true, 2816 | "requires": { 2817 | "postcss-selector-parser": "^6.0.9", 2818 | "postcss-value-parser": "^4.2.0" 2819 | } 2820 | }, 2821 | "postcss-colormin": { 2822 | "version": "5.3.0", 2823 | "resolved": "https://registry.npmmirror.com/postcss-colormin/-/postcss-colormin-5.3.0.tgz", 2824 | "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", 2825 | "dev": true, 2826 | "requires": { 2827 | "browserslist": "^4.16.6", 2828 | "caniuse-api": "^3.0.0", 2829 | "colord": "^2.9.1", 2830 | "postcss-value-parser": "^4.2.0" 2831 | } 2832 | }, 2833 | "postcss-convert-values": { 2834 | "version": "5.1.0", 2835 | "resolved": "https://registry.npmmirror.com/postcss-convert-values/-/postcss-convert-values-5.1.0.tgz", 2836 | "integrity": "sha512-GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g==", 2837 | "dev": true, 2838 | "requires": { 2839 | "postcss-value-parser": "^4.2.0" 2840 | } 2841 | }, 2842 | "postcss-discard-comments": { 2843 | "version": "5.1.1", 2844 | "resolved": "https://registry.npmmirror.com/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz", 2845 | "integrity": "sha512-5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ==", 2846 | "dev": true, 2847 | "requires": {} 2848 | }, 2849 | "postcss-discard-duplicates": { 2850 | "version": "5.1.0", 2851 | "resolved": "https://registry.npmmirror.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", 2852 | "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", 2853 | "dev": true, 2854 | "requires": {} 2855 | }, 2856 | "postcss-discard-empty": { 2857 | "version": "5.1.1", 2858 | "resolved": "https://registry.npmmirror.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", 2859 | "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", 2860 | "dev": true, 2861 | "requires": {} 2862 | }, 2863 | "postcss-discard-overridden": { 2864 | "version": "5.1.0", 2865 | "resolved": "https://registry.npmmirror.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", 2866 | "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", 2867 | "dev": true, 2868 | "requires": {} 2869 | }, 2870 | "postcss-load-config": { 2871 | "version": "3.1.4", 2872 | "resolved": "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz", 2873 | "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", 2874 | "dev": true, 2875 | "requires": { 2876 | "lilconfig": "^2.0.5", 2877 | "yaml": "^1.10.2" 2878 | } 2879 | }, 2880 | "postcss-merge-longhand": { 2881 | "version": "5.1.4", 2882 | "resolved": "https://registry.npmmirror.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.4.tgz", 2883 | "integrity": "sha512-hbqRRqYfmXoGpzYKeW0/NCZhvNyQIlQeWVSao5iKWdyx7skLvCfQFGIUsP9NUs3dSbPac2IC4Go85/zG+7MlmA==", 2884 | "dev": true, 2885 | "requires": { 2886 | "postcss-value-parser": "^4.2.0", 2887 | "stylehacks": "^5.1.0" 2888 | } 2889 | }, 2890 | "postcss-merge-rules": { 2891 | "version": "5.1.1", 2892 | "resolved": "https://registry.npmmirror.com/postcss-merge-rules/-/postcss-merge-rules-5.1.1.tgz", 2893 | "integrity": "sha512-8wv8q2cXjEuCcgpIB1Xx1pIy8/rhMPIQqYKNzEdyx37m6gpq83mQQdCxgIkFgliyEnKvdwJf/C61vN4tQDq4Ww==", 2894 | "dev": true, 2895 | "requires": { 2896 | "browserslist": "^4.16.6", 2897 | "caniuse-api": "^3.0.0", 2898 | "cssnano-utils": "^3.1.0", 2899 | "postcss-selector-parser": "^6.0.5" 2900 | } 2901 | }, 2902 | "postcss-minify-font-values": { 2903 | "version": "5.1.0", 2904 | "resolved": "https://registry.npmmirror.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", 2905 | "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", 2906 | "dev": true, 2907 | "requires": { 2908 | "postcss-value-parser": "^4.2.0" 2909 | } 2910 | }, 2911 | "postcss-minify-gradients": { 2912 | "version": "5.1.1", 2913 | "resolved": "https://registry.npmmirror.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", 2914 | "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", 2915 | "dev": true, 2916 | "requires": { 2917 | "colord": "^2.9.1", 2918 | "cssnano-utils": "^3.1.0", 2919 | "postcss-value-parser": "^4.2.0" 2920 | } 2921 | }, 2922 | "postcss-minify-params": { 2923 | "version": "5.1.2", 2924 | "resolved": "https://registry.npmmirror.com/postcss-minify-params/-/postcss-minify-params-5.1.2.tgz", 2925 | "integrity": "sha512-aEP+p71S/urY48HWaRHasyx4WHQJyOYaKpQ6eXl8k0kxg66Wt/30VR6/woh8THgcpRbonJD5IeD+CzNhPi1L8g==", 2926 | "dev": true, 2927 | "requires": { 2928 | "browserslist": "^4.16.6", 2929 | "cssnano-utils": "^3.1.0", 2930 | "postcss-value-parser": "^4.2.0" 2931 | } 2932 | }, 2933 | "postcss-minify-selectors": { 2934 | "version": "5.2.0", 2935 | "resolved": "https://registry.npmmirror.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz", 2936 | "integrity": "sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA==", 2937 | "dev": true, 2938 | "requires": { 2939 | "postcss-selector-parser": "^6.0.5" 2940 | } 2941 | }, 2942 | "postcss-modules": { 2943 | "version": "4.3.1", 2944 | "resolved": "https://registry.npmmirror.com/postcss-modules/-/postcss-modules-4.3.1.tgz", 2945 | "integrity": "sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==", 2946 | "dev": true, 2947 | "requires": { 2948 | "generic-names": "^4.0.0", 2949 | "icss-replace-symbols": "^1.1.0", 2950 | "lodash.camelcase": "^4.3.0", 2951 | "postcss-modules-extract-imports": "^3.0.0", 2952 | "postcss-modules-local-by-default": "^4.0.0", 2953 | "postcss-modules-scope": "^3.0.0", 2954 | "postcss-modules-values": "^4.0.0", 2955 | "string-hash": "^1.1.1" 2956 | } 2957 | }, 2958 | "postcss-modules-extract-imports": { 2959 | "version": "3.0.0", 2960 | "resolved": "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", 2961 | "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", 2962 | "dev": true, 2963 | "requires": {} 2964 | }, 2965 | "postcss-modules-local-by-default": { 2966 | "version": "4.0.0", 2967 | "resolved": "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", 2968 | "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", 2969 | "dev": true, 2970 | "requires": { 2971 | "icss-utils": "^5.0.0", 2972 | "postcss-selector-parser": "^6.0.2", 2973 | "postcss-value-parser": "^4.1.0" 2974 | } 2975 | }, 2976 | "postcss-modules-scope": { 2977 | "version": "3.0.0", 2978 | "resolved": "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", 2979 | "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", 2980 | "dev": true, 2981 | "requires": { 2982 | "postcss-selector-parser": "^6.0.4" 2983 | } 2984 | }, 2985 | "postcss-modules-values": { 2986 | "version": "4.0.0", 2987 | "resolved": "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", 2988 | "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", 2989 | "dev": true, 2990 | "requires": { 2991 | "icss-utils": "^5.0.0" 2992 | } 2993 | }, 2994 | "postcss-normalize-charset": { 2995 | "version": "5.1.0", 2996 | "resolved": "https://registry.npmmirror.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", 2997 | "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", 2998 | "dev": true, 2999 | "requires": {} 3000 | }, 3001 | "postcss-normalize-display-values": { 3002 | "version": "5.1.0", 3003 | "resolved": "https://registry.npmmirror.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", 3004 | "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", 3005 | "dev": true, 3006 | "requires": { 3007 | "postcss-value-parser": "^4.2.0" 3008 | } 3009 | }, 3010 | "postcss-normalize-positions": { 3011 | "version": "5.1.0", 3012 | "resolved": "https://registry.npmmirror.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz", 3013 | "integrity": "sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ==", 3014 | "dev": true, 3015 | "requires": { 3016 | "postcss-value-parser": "^4.2.0" 3017 | } 3018 | }, 3019 | "postcss-normalize-repeat-style": { 3020 | "version": "5.1.0", 3021 | "resolved": "https://registry.npmmirror.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz", 3022 | "integrity": "sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw==", 3023 | "dev": true, 3024 | "requires": { 3025 | "postcss-value-parser": "^4.2.0" 3026 | } 3027 | }, 3028 | "postcss-normalize-string": { 3029 | "version": "5.1.0", 3030 | "resolved": "https://registry.npmmirror.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", 3031 | "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", 3032 | "dev": true, 3033 | "requires": { 3034 | "postcss-value-parser": "^4.2.0" 3035 | } 3036 | }, 3037 | "postcss-normalize-timing-functions": { 3038 | "version": "5.1.0", 3039 | "resolved": "https://registry.npmmirror.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", 3040 | "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", 3041 | "dev": true, 3042 | "requires": { 3043 | "postcss-value-parser": "^4.2.0" 3044 | } 3045 | }, 3046 | "postcss-normalize-unicode": { 3047 | "version": "5.1.0", 3048 | "resolved": "https://registry.npmmirror.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz", 3049 | "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==", 3050 | "dev": true, 3051 | "requires": { 3052 | "browserslist": "^4.16.6", 3053 | "postcss-value-parser": "^4.2.0" 3054 | } 3055 | }, 3056 | "postcss-normalize-url": { 3057 | "version": "5.1.0", 3058 | "resolved": "https://registry.npmmirror.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", 3059 | "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", 3060 | "dev": true, 3061 | "requires": { 3062 | "normalize-url": "^6.0.1", 3063 | "postcss-value-parser": "^4.2.0" 3064 | } 3065 | }, 3066 | "postcss-normalize-whitespace": { 3067 | "version": "5.1.1", 3068 | "resolved": "https://registry.npmmirror.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", 3069 | "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", 3070 | "dev": true, 3071 | "requires": { 3072 | "postcss-value-parser": "^4.2.0" 3073 | } 3074 | }, 3075 | "postcss-ordered-values": { 3076 | "version": "5.1.1", 3077 | "resolved": "https://registry.npmmirror.com/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz", 3078 | "integrity": "sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw==", 3079 | "dev": true, 3080 | "requires": { 3081 | "cssnano-utils": "^3.1.0", 3082 | "postcss-value-parser": "^4.2.0" 3083 | } 3084 | }, 3085 | "postcss-reduce-initial": { 3086 | "version": "5.1.0", 3087 | "resolved": "https://registry.npmmirror.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", 3088 | "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==", 3089 | "dev": true, 3090 | "requires": { 3091 | "browserslist": "^4.16.6", 3092 | "caniuse-api": "^3.0.0" 3093 | } 3094 | }, 3095 | "postcss-reduce-transforms": { 3096 | "version": "5.1.0", 3097 | "resolved": "https://registry.npmmirror.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", 3098 | "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", 3099 | "dev": true, 3100 | "requires": { 3101 | "postcss-value-parser": "^4.2.0" 3102 | } 3103 | }, 3104 | "postcss-selector-parser": { 3105 | "version": "6.0.10", 3106 | "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", 3107 | "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", 3108 | "dev": true, 3109 | "requires": { 3110 | "cssesc": "^3.0.0", 3111 | "util-deprecate": "^1.0.2" 3112 | } 3113 | }, 3114 | "postcss-svgo": { 3115 | "version": "5.1.0", 3116 | "resolved": "https://registry.npmmirror.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz", 3117 | "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", 3118 | "dev": true, 3119 | "requires": { 3120 | "postcss-value-parser": "^4.2.0", 3121 | "svgo": "^2.7.0" 3122 | } 3123 | }, 3124 | "postcss-unique-selectors": { 3125 | "version": "5.1.1", 3126 | "resolved": "https://registry.npmmirror.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", 3127 | "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", 3128 | "dev": true, 3129 | "requires": { 3130 | "postcss-selector-parser": "^6.0.5" 3131 | } 3132 | }, 3133 | "postcss-value-parser": { 3134 | "version": "4.2.0", 3135 | "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 3136 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 3137 | "dev": true 3138 | }, 3139 | "preact": { 3140 | "version": "10.7.3", 3141 | "resolved": "https://registry.npmmirror.com/preact/-/preact-10.7.3.tgz", 3142 | "integrity": "sha512-giqJXP8VbtA1tyGa3f1n9wiN7PrHtONrDyE3T+ifjr/tTkg+2N4d/6sjC9WyJKv8wM7rOYDveqy5ZoFmYlwo4w==", 3143 | "dev": true 3144 | }, 3145 | "prettier": { 3146 | "version": "2.6.2", 3147 | "resolved": "https://registry.npmmirror.com/prettier/-/prettier-2.6.2.tgz", 3148 | "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", 3149 | "dev": true 3150 | }, 3151 | "promise.series": { 3152 | "version": "0.2.0", 3153 | "resolved": "https://registry.npmmirror.com/promise.series/-/promise.series-0.2.0.tgz", 3154 | "integrity": "sha512-VWQJyU2bcDTgZw8kpfBpB/ejZASlCrzwz5f2hjb/zlujOEB4oeiAhHygAWq8ubsX2GVkD4kCU5V2dwOTaCY5EQ==", 3155 | "dev": true 3156 | }, 3157 | "resolve": { 3158 | "version": "1.22.0", 3159 | "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.0.tgz", 3160 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", 3161 | "dev": true, 3162 | "requires": { 3163 | "is-core-module": "^2.8.1", 3164 | "path-parse": "^1.0.7", 3165 | "supports-preserve-symlinks-flag": "^1.0.0" 3166 | } 3167 | }, 3168 | "resolve-from": { 3169 | "version": "5.0.0", 3170 | "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", 3171 | "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", 3172 | "dev": true 3173 | }, 3174 | "rollup": { 3175 | "version": "2.72.0", 3176 | "resolved": "https://registry.npmmirror.com/rollup/-/rollup-2.72.0.tgz", 3177 | "integrity": "sha512-KqtR2YcO35/KKijg4nx4STO3569aqCUeGRkKWnJ6r+AvBBrVY9L4pmf4NHVrQr4mTOq6msbohflxr2kpihhaOA==", 3178 | "dev": true, 3179 | "requires": { 3180 | "fsevents": "~2.3.2" 3181 | } 3182 | }, 3183 | "rollup-plugin-postcss": { 3184 | "version": "4.0.2", 3185 | "resolved": "https://registry.npmmirror.com/rollup-plugin-postcss/-/rollup-plugin-postcss-4.0.2.tgz", 3186 | "integrity": "sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w==", 3187 | "dev": true, 3188 | "requires": { 3189 | "chalk": "^4.1.0", 3190 | "concat-with-sourcemaps": "^1.1.0", 3191 | "cssnano": "^5.0.1", 3192 | "import-cwd": "^3.0.0", 3193 | "p-queue": "^6.6.2", 3194 | "pify": "^5.0.0", 3195 | "postcss-load-config": "^3.0.0", 3196 | "postcss-modules": "^4.0.0", 3197 | "promise.series": "^0.2.0", 3198 | "resolve": "^1.19.0", 3199 | "rollup-pluginutils": "^2.8.2", 3200 | "safe-identifier": "^0.4.2", 3201 | "style-inject": "^0.3.0" 3202 | } 3203 | }, 3204 | "rollup-pluginutils": { 3205 | "version": "2.8.2", 3206 | "resolved": "https://registry.npmmirror.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", 3207 | "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", 3208 | "dev": true, 3209 | "requires": { 3210 | "estree-walker": "^0.6.1" 3211 | }, 3212 | "dependencies": { 3213 | "estree-walker": { 3214 | "version": "0.6.1", 3215 | "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-0.6.1.tgz", 3216 | "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", 3217 | "dev": true 3218 | } 3219 | } 3220 | }, 3221 | "safe-identifier": { 3222 | "version": "0.4.2", 3223 | "resolved": "https://registry.npmmirror.com/safe-identifier/-/safe-identifier-0.4.2.tgz", 3224 | "integrity": "sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==", 3225 | "dev": true 3226 | }, 3227 | "source-map": { 3228 | "version": "0.6.1", 3229 | "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", 3230 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 3231 | "dev": true 3232 | }, 3233 | "source-map-js": { 3234 | "version": "1.0.2", 3235 | "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz", 3236 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 3237 | "dev": true, 3238 | "peer": true 3239 | }, 3240 | "sourcemap-codec": { 3241 | "version": "1.4.8", 3242 | "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 3243 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", 3244 | "dev": true 3245 | }, 3246 | "stable": { 3247 | "version": "0.1.8", 3248 | "resolved": "https://registry.npmmirror.com/stable/-/stable-0.1.8.tgz", 3249 | "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", 3250 | "dev": true 3251 | }, 3252 | "string-hash": { 3253 | "version": "1.1.3", 3254 | "resolved": "https://registry.npmmirror.com/string-hash/-/string-hash-1.1.3.tgz", 3255 | "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==", 3256 | "dev": true 3257 | }, 3258 | "style-inject": { 3259 | "version": "0.3.0", 3260 | "resolved": "https://registry.npmmirror.com/style-inject/-/style-inject-0.3.0.tgz", 3261 | "integrity": "sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==", 3262 | "dev": true 3263 | }, 3264 | "style-mod": { 3265 | "version": "4.0.0", 3266 | "resolved": "https://registry.npmmirror.com/style-mod/-/style-mod-4.0.0.tgz", 3267 | "integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==", 3268 | "dev": true 3269 | }, 3270 | "stylehacks": { 3271 | "version": "5.1.0", 3272 | "resolved": "https://registry.npmmirror.com/stylehacks/-/stylehacks-5.1.0.tgz", 3273 | "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==", 3274 | "dev": true, 3275 | "requires": { 3276 | "browserslist": "^4.16.6", 3277 | "postcss-selector-parser": "^6.0.4" 3278 | } 3279 | }, 3280 | "supports-color": { 3281 | "version": "7.2.0", 3282 | "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", 3283 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 3284 | "dev": true, 3285 | "requires": { 3286 | "has-flag": "^4.0.0" 3287 | } 3288 | }, 3289 | "supports-preserve-symlinks-flag": { 3290 | "version": "1.0.0", 3291 | "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 3292 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 3293 | "dev": true 3294 | }, 3295 | "svelte": { 3296 | "version": "3.35.0", 3297 | "resolved": "https://registry.npmmirror.com/svelte/-/svelte-3.35.0.tgz", 3298 | "integrity": "sha512-gknlZkR2sXheu/X+B7dDImwANVvK1R0QGQLd8CNIfxxGPeXBmePnxfzb6fWwTQRsYQG7lYkZXvpXJvxvpsoB7g==", 3299 | "dev": true 3300 | }, 3301 | "svgo": { 3302 | "version": "2.8.0", 3303 | "resolved": "https://registry.npmmirror.com/svgo/-/svgo-2.8.0.tgz", 3304 | "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", 3305 | "dev": true, 3306 | "requires": { 3307 | "@trysound/sax": "0.2.0", 3308 | "commander": "^7.2.0", 3309 | "css-select": "^4.1.3", 3310 | "css-tree": "^1.1.3", 3311 | "csso": "^4.2.0", 3312 | "picocolors": "^1.0.0", 3313 | "stable": "^0.1.8" 3314 | } 3315 | }, 3316 | "tslib": { 3317 | "version": "2.4.0", 3318 | "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.4.0.tgz", 3319 | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", 3320 | "dev": true 3321 | }, 3322 | "typescript": { 3323 | "version": "4.6.4", 3324 | "resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.6.4.tgz", 3325 | "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", 3326 | "dev": true 3327 | }, 3328 | "util-deprecate": { 3329 | "version": "1.0.2", 3330 | "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", 3331 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 3332 | "dev": true 3333 | }, 3334 | "w3c-keyname": { 3335 | "version": "2.2.4", 3336 | "resolved": "https://registry.npmmirror.com/w3c-keyname/-/w3c-keyname-2.2.4.tgz", 3337 | "integrity": "sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==", 3338 | "dev": true 3339 | }, 3340 | "wrappy": { 3341 | "version": "1.0.2", 3342 | "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", 3343 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 3344 | "dev": true 3345 | }, 3346 | "yaml": { 3347 | "version": "1.10.2", 3348 | "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz", 3349 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 3350 | "dev": true 3351 | }, 3352 | "zrender": { 3353 | "version": "5.3.1", 3354 | "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.3.1.tgz", 3355 | "integrity": "sha512-7olqIjy0gWfznKr6vgfnGBk7y4UtdMvdwFmK92vVQsQeDPyzkHW1OlrLEKg6GHz1W5ePf0FeN1q2vkl/HFqhXw==", 3356 | "requires": { 3357 | "tslib": "2.3.0" 3358 | }, 3359 | "dependencies": { 3360 | "tslib": { 3361 | "version": "2.3.0", 3362 | "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", 3363 | "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" 3364 | } 3365 | } 3366 | } 3367 | } 3368 | } 3369 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "obsidian-echarts", 3 | "version": "0.0.1", 4 | "description": "echarts for obsidian", 5 | "main": "./src/main.ts", 6 | "scripts": { 7 | "dev": "rollup --config rollup.config.js -w", 8 | "build": "rollup --config rollup.config.js" 9 | }, 10 | "author": "windily-cloud", 11 | "license": "ISC", 12 | "devDependencies": { 13 | "@rollup/plugin-commonjs": "^21.0.2", 14 | "@rollup/plugin-node-resolve": "^13.1.3", 15 | "@rollup/plugin-typescript": "^8.3.0", 16 | "@types/node": "^17.0.20", 17 | "obsidian": "^0.13.26", 18 | "obsidian-dataview": "^0.5.20", 19 | "prettier": "^2.6.0", 20 | "rollup": "^2.68.0", 21 | "rollup-plugin-postcss": "^4.0.2", 22 | "tslib": "^2.3.1", 23 | "typescript": "^4.5.5" 24 | }, 25 | "dependencies": { 26 | "echarts": "^5.3.2", 27 | "echarts-wordcloud": "^2.0.0" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import typescript from '@rollup/plugin-typescript' 2 | import { nodeResolve } from '@rollup/plugin-node-resolve' 3 | import commonjs from '@rollup/plugin-commonjs' 4 | import postcss from 'rollup-plugin-postcss' 5 | 6 | const isProd = process.env.BUILD === 'production' 7 | 8 | export default { 9 | input: './src/main.ts', 10 | output: { 11 | dir: '.', 12 | sourcemap: 'inline', 13 | sourcemapExcludeSources: isProd, 14 | format: 'cjs', 15 | exports: 'default', 16 | }, 17 | external: ['obsidian'], 18 | plugins: [ 19 | typescript(), 20 | nodeResolve({ browser: true }), 21 | commonjs(), 22 | postcss({ 23 | extract: true, 24 | extract: 'styles.css', 25 | }), 26 | ], 27 | } 28 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import { Plugin, parseYaml } from 'obsidian' 2 | import Renderer from 'renderer' 3 | import EchartsModal from 'modal'; 4 | import { OptionsType } from './type'; 5 | import * as echarts from 'echarts' 6 | 7 | export default class EchartsPlugin extends Plugin { 8 | async onload(): Promise { 9 | console.log('loading echarts plugin...') 10 | 11 | this.addCommand({ 12 | id: "echarts-create-charts", 13 | name: "create echarts", 14 | callback: () => { 15 | const creator = new EchartsModal(this.app,"pie") 16 | creator.createPie() 17 | }, 18 | }); 19 | 20 | this.registerMarkdownCodeBlockProcessor('echarts', (source, el) => { 21 | const options = parseYaml(source) 22 | if (!options) { 23 | return 24 | } 25 | const renderer = new Renderer(options, el) 26 | 27 | if (options.chartType === 'pie') { 28 | renderer.renderPie() 29 | } else { 30 | renderer.render() 31 | } 32 | }) 33 | } 34 | echarts() { 35 | return echarts 36 | } 37 | render(options:OptionsType, el: HTMLElement) { 38 | const renderer = new Renderer(options, el) 39 | renderer.render() 40 | } 41 | async onunload(): Promise {} 42 | } 43 | -------------------------------------------------------------------------------- /src/modal.ts: -------------------------------------------------------------------------------- 1 | var obsidian = require('obsidian'); 2 | import { App, Modal, Setting, Notice } from 'obsidian' 3 | 4 | export default class EchartsModal extends Modal { 5 | app: App 6 | chartType: string 7 | constructor(app: App, chartType: string) { 8 | super(app) 9 | this.chartType = chartType 10 | } 11 | createPie() { 12 | let option = { 13 | source: '', 14 | } 15 | new Setting(this.contentEl) 16 | .setName('pie') 17 | .setDesc('Enter a pie chart data source') 18 | .addText((text) => { 19 | text.onChange((value) => { 20 | option.source = value 21 | }) 22 | }) 23 | 24 | new Setting(this.contentEl).addButton((b) => { 25 | b.setButtonText('Create') 26 | b.onClick(() => { 27 | const view = this.app.workspace.getActiveViewOfType(obsidian.MarkdownView) 28 | if (!view) { 29 | return new Notice('Can only be created in editing mode',3000); 30 | } 31 | view.editor.replaceRange(`\`\`\`echarts\ntype:pie\nsource:${option.source}\n\`\`\``, view.editor.getCursor()) 32 | this.close() 33 | }) 34 | }) 35 | this.open() 36 | } 37 | 38 | 39 | 40 | onClose() { 41 | let { contentEl } = this 42 | contentEl.empty() 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/renderer.ts: -------------------------------------------------------------------------------- 1 | import * as echarts from 'echarts' 2 | import 'echarts-wordcloud' 3 | import { OptionsType } from './type' 4 | import { getAPI } from 'obsidian-dataview' 5 | import { Notice } from 'obsidian' 6 | 7 | export default class Renderer { 8 | constructor(public options: OptionsType, public el: HTMLElement) {} 9 | 10 | initChart() { 11 | const container = this.el.createDiv('echarts-container') 12 | let myChart = echarts.getInstanceByDom(container) 13 | let { width, height } = this.options 14 | if (!width || !height) { 15 | width = 800 16 | height = 600 17 | } 18 | 19 | if (!myChart) { 20 | myChart = echarts.init( 21 | container, 22 | Array.from(document.body.classList).includes('theme-dark') 23 | ? 'dark' 24 | : 'light', 25 | { width, height } 26 | ) 27 | } 28 | 29 | return myChart 30 | } 31 | 32 | renderPie() { 33 | const myChart = this.initChart() 34 | const { width, height, ...option } = this.options 35 | const source = option.source 36 | const dv = getAPI(app); 37 | if ( typeof dv == 'undefined' ) { return new Notice('Dataview is not installed. This plugin requires Dataview to work properly.',3000); } 38 | const pages = dv.pages(`"${source}"`) 39 | const data = pages.map((page) => { 40 | return { 41 | name: page.file.name, 42 | value: page.file.size 43 | } 44 | }) 45 | const chartOption = { 46 | backgroundColor: '#2c343c', 47 | title: { 48 | text: 'file size Pie', 49 | left: 'center', 50 | top: 20, 51 | textStyle: { 52 | color: '#ccc' 53 | } 54 | }, 55 | tooltip: { 56 | trigger: 'item' 57 | }, 58 | visualMap: { 59 | show: false, 60 | min: 80, 61 | max: 30000, 62 | inRange: { 63 | colorLightness: [0, 1] 64 | } 65 | }, 66 | series: [ 67 | { 68 | name: 'Access From', 69 | type: 'pie', 70 | radius: '55%', 71 | center: ['50%', '50%'], 72 | data: data, 73 | roseType: 'radius', 74 | label: { 75 | color: 'rgba(255, 255, 255, 0.3)' 76 | }, 77 | labelLine: { 78 | lineStyle: { 79 | color: 'rgba(255, 255, 255, 0.3)' 80 | }, 81 | smooth: 0.2, 82 | length: 10, 83 | length2: 20 84 | }, 85 | itemStyle: { 86 | color: '#c23531', 87 | shadowBlur: 200, 88 | shadowColor: 'rgba(0, 0, 0, 0.5)' 89 | }, 90 | animationType: 'scale', 91 | animationEasing: 'elasticOut', 92 | animationDelay: function (idx:number) { 93 | return Math.random() * 200; 94 | } 95 | } 96 | ] 97 | } 98 | 99 | myChart.setOption({ animation: false, ...chartOption }) 100 | } 101 | 102 | render() { 103 | const myChart = this.initChart() 104 | const { width, height, ...option } = this.options 105 | try { 106 | myChart.setOption({ animation: false, ...option }) 107 | myChart.on('click', function (params) { 108 | let prefix: string = '' 109 | let searchWord: string = '' 110 | if (params.data['search']) { 111 | let search = params.data['search'] 112 | if (search === 'tag') prefix = 'tag:' 113 | if (search === 'content') prefix = 'content:' 114 | if (search === 'path') prefix = 'path:' 115 | if (search === 'file') prefix = 'file:' 116 | searchWord = prefix + params.name 117 | } 118 | if (params.data['path']) { 119 | searchWord = searchWord + ' ' + 'path:' + params.data['path'] 120 | } 121 | if (params.data['file']) { 122 | searchWord = searchWord + ' ' + 'file:' + params.data['file'] 123 | } 124 | if (searchWord) { 125 | app.internalPlugins.getPluginById('global-search')?.instance.openGlobalSearch(searchWord); 126 | } else { 127 | const filePath = app.metadataCache.getFirstLinkpathDest( 128 | params.name, 129 | "" 130 | ) 131 | app.workspace.getUnpinnedLeaf().openFile(filePath) 132 | } 133 | }) 134 | } catch (err) { 135 | new Error(err) 136 | } 137 | } 138 | } 139 | -------------------------------------------------------------------------------- /src/type.ts: -------------------------------------------------------------------------------- 1 | export interface OptionsType extends echarts.EChartsOption{ 2 | width?: number 3 | height?: number 4 | chartType?: string 5 | source?: string 6 | } -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": "./src", 4 | "inlineSourceMap": true, 5 | "inlineSources": true, 6 | "module": "ESNext", 7 | "target": "es6", 8 | "allowJs": true, 9 | "noImplicitAny": true, 10 | "moduleResolution": "node", 11 | "importHelpers": true, 12 | "lib": [ 13 | "dom", 14 | "es5", 15 | "scripthost", 16 | "es2015" 17 | ], 18 | "jsx": "react", 19 | "allowSyntheticDefaultImports": true, 20 | "suppressImplicitAnyIndexErrors":true, 21 | }, 22 | "include": ["src/**/*.ts", "src/**/*tsx", "src/**/*.d"] 23 | } 24 | --------------------------------------------------------------------------------