mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-10-31 05:24:13 +00:00 
			
		
		
		
	
							parent
							
								
									4f04421cb3
								
							
						
					
					
						commit
						26928ab407
					
				
					 5 changed files with 47 additions and 265 deletions
				
			
		|  | @ -60,9 +60,6 @@ | ||||||
| 		"@types/jsonld": "1.5.6", | 		"@types/jsonld": "1.5.6", | ||||||
| 		"@types/katex": "0.11.1", | 		"@types/katex": "0.11.1", | ||||||
| 		"@types/koa": "2.13.4", | 		"@types/koa": "2.13.4", | ||||||
| 		"@types/koa__cors": "3.0.3", |  | ||||||
| 		"@types/koa__multer": "2.0.3", |  | ||||||
| 		"@types/koa__router": "8.0.8", |  | ||||||
| 		"@types/koa-bodyparser": "4.3.3", | 		"@types/koa-bodyparser": "4.3.3", | ||||||
| 		"@types/koa-cors": "0.0.2", | 		"@types/koa-cors": "0.0.2", | ||||||
| 		"@types/koa-favicon": "2.0.21", | 		"@types/koa-favicon": "2.0.21", | ||||||
|  | @ -70,6 +67,9 @@ | ||||||
| 		"@types/koa-mount": "4.0.1", | 		"@types/koa-mount": "4.0.1", | ||||||
| 		"@types/koa-send": "4.1.3", | 		"@types/koa-send": "4.1.3", | ||||||
| 		"@types/koa-views": "7.0.0", | 		"@types/koa-views": "7.0.0", | ||||||
|  | 		"@types/koa__cors": "3.0.3", | ||||||
|  | 		"@types/koa__multer": "2.0.3", | ||||||
|  | 		"@types/koa__router": "8.0.8", | ||||||
| 		"@types/markdown-it": "12.2.3", | 		"@types/markdown-it": "12.2.3", | ||||||
| 		"@types/matter-js": "0.17.5", | 		"@types/matter-js": "0.17.5", | ||||||
| 		"@types/mocha": "8.2.3", | 		"@types/mocha": "8.2.3", | ||||||
|  | @ -106,7 +106,6 @@ | ||||||
| 		"@typescript-eslint/parser": "5.0.0", | 		"@typescript-eslint/parser": "5.0.0", | ||||||
| 		"@vue/compiler-sfc": "3.2.20", | 		"@vue/compiler-sfc": "3.2.20", | ||||||
| 		"abort-controller": "3.0.0", | 		"abort-controller": "3.0.0", | ||||||
| 		"apexcharts": "3.28.3", |  | ||||||
| 		"autobind-decorator": "2.4.0", | 		"autobind-decorator": "2.4.0", | ||||||
| 		"autosize": "4.0.4", | 		"autosize": "4.0.4", | ||||||
| 		"autwh": "0.1.0", | 		"autwh": "0.1.0", | ||||||
|  |  | ||||||
|  | @ -89,6 +89,16 @@ export default defineComponent({ | ||||||
| 			required: false, | 			required: false, | ||||||
| 			default: false | 			default: false | ||||||
| 		}, | 		}, | ||||||
|  | 		stacked: { | ||||||
|  | 			type: Boolean, | ||||||
|  | 			required: false, | ||||||
|  | 			default: false | ||||||
|  | 		}, | ||||||
|  | 		aspectRatio: { | ||||||
|  | 			type: Number, | ||||||
|  | 			required: false, | ||||||
|  | 			default: null | ||||||
|  | 		}, | ||||||
| 	}, | 	}, | ||||||
| 
 | 
 | ||||||
| 	setup(props) { | 	setup(props) { | ||||||
|  | @ -157,7 +167,7 @@ export default defineComponent({ | ||||||
| 					})), | 					})), | ||||||
| 				}, | 				}, | ||||||
| 				options: { | 				options: { | ||||||
| 					aspectRatio: 2.5, | 					aspectRatio: props.aspectRatio || 2.5, | ||||||
| 					layout: { | 					layout: { | ||||||
| 						padding: { | 						padding: { | ||||||
| 							left: 16, | 							left: 16, | ||||||
|  | @ -174,7 +184,6 @@ export default defineComponent({ | ||||||
| 								unit: props.span === 'day' ? 'month' : 'day', | 								unit: props.span === 'day' ? 'month' : 'day', | ||||||
| 							}, | 							}, | ||||||
| 							grid: { | 							grid: { | ||||||
| 								display: props.detailed, |  | ||||||
| 								color: gridColor, | 								color: gridColor, | ||||||
| 								borderColor: 'rgb(0, 0, 0, 0)', | 								borderColor: 'rgb(0, 0, 0, 0)', | ||||||
| 							}, | 							}, | ||||||
|  | @ -190,6 +199,7 @@ export default defineComponent({ | ||||||
| 						}, | 						}, | ||||||
| 						y: { | 						y: { | ||||||
| 							position: 'left', | 							position: 'left', | ||||||
|  | 							stacked: props.stacked, | ||||||
| 							grid: { | 							grid: { | ||||||
| 								color: gridColor, | 								color: gridColor, | ||||||
| 								borderColor: 'rgb(0, 0, 0, 0)', | 								borderColor: 'rgb(0, 0, 0, 0)', | ||||||
|  | @ -204,6 +214,7 @@ export default defineComponent({ | ||||||
| 					}, | 					}, | ||||||
| 					plugins: { | 					plugins: { | ||||||
| 						legend: { | 						legend: { | ||||||
|  | 							display: props.detailed, | ||||||
| 							position: 'bottom', | 							position: 'bottom', | ||||||
| 							labels: { | 							labels: { | ||||||
| 								boxWidth: 16, | 								boxWidth: 16, | ||||||
|  | @ -583,6 +594,30 @@ export default defineComponent({ | ||||||
| 			}; | 			}; | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
|  | 		const fetchPerUserNotesChart = async (): Promise<typeof data> => { | ||||||
|  | 			const raw = await os.api('charts/user/notes', { userId: props.args.user.id, limit: props.limit, span: props.span }); | ||||||
|  | 			return { | ||||||
|  | 				series: [...(props.args.withoutAll ? [] : [{ | ||||||
|  | 					name: 'All', | ||||||
|  | 					type: 'line', | ||||||
|  | 					borderDash: [5, 5], | ||||||
|  | 					data: format(sum(raw.inc, negate(raw.dec))), | ||||||
|  | 				}]), { | ||||||
|  | 					name: 'Renotes', | ||||||
|  | 					type: 'area', | ||||||
|  | 					data: format(raw.diffs.renote), | ||||||
|  | 				}, { | ||||||
|  | 					name: 'Replies', | ||||||
|  | 					type: 'area', | ||||||
|  | 					data: format(raw.diffs.reply), | ||||||
|  | 				}, { | ||||||
|  | 					name: 'Normal', | ||||||
|  | 					type: 'area', | ||||||
|  | 					data: format(raw.diffs.normal), | ||||||
|  | 				}], | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
| 		const fetchAndRender = async () => { | 		const fetchAndRender = async () => { | ||||||
| 			const fetchData = () => { | 			const fetchData = () => { | ||||||
| 				switch (props.src) { | 				switch (props.src) { | ||||||
|  | @ -611,6 +646,8 @@ export default defineComponent({ | ||||||
| 					case 'instance-drive-usage-total': return fetchInstanceDriveUsageChart(true); | 					case 'instance-drive-usage-total': return fetchInstanceDriveUsageChart(true); | ||||||
| 					case 'instance-drive-files': return fetchInstanceDriveFilesChart(false); | 					case 'instance-drive-files': return fetchInstanceDriveFilesChart(false); | ||||||
| 					case 'instance-drive-files-total': return fetchInstanceDriveFilesChart(true); | 					case 'instance-drive-files-total': return fetchInstanceDriveFilesChart(true); | ||||||
|  | 
 | ||||||
|  | 					case 'per-user-notes': return fetchPerUserNotesChart(); | ||||||
| 				} | 				} | ||||||
| 			}; | 			}; | ||||||
| 			fetching.value = true; | 			fetching.value = true; | ||||||
|  |  | ||||||
|  | @ -35,7 +35,6 @@ | ||||||
| <script lang="ts"> | <script lang="ts"> | ||||||
| import { defineComponent } from 'vue'; | import { defineComponent } from 'vue'; | ||||||
| import * as tinycolor from 'tinycolor2'; | import * as tinycolor from 'tinycolor2'; | ||||||
| import ApexCharts from 'apexcharts'; |  | ||||||
| import FormButton from '@client/components/debobigego/button.vue'; | import FormButton from '@client/components/debobigego/button.vue'; | ||||||
| import FormGroup from '@client/components/debobigego/group.vue'; | import FormGroup from '@client/components/debobigego/group.vue'; | ||||||
| import FormKeyValueView from '@client/components/debobigego/key-value-view.vue'; | import FormKeyValueView from '@client/components/debobigego/key-value-view.vue'; | ||||||
|  | @ -44,6 +43,8 @@ import * as os from '@client/os'; | ||||||
| import bytes from '@client/filters/bytes'; | import bytes from '@client/filters/bytes'; | ||||||
| import * as symbols from '@client/symbols'; | import * as symbols from '@client/symbols'; | ||||||
| 
 | 
 | ||||||
|  | // TODO: render chart | ||||||
|  | 
 | ||||||
| export default defineComponent({ | export default defineComponent({ | ||||||
| 	components: { | 	components: { | ||||||
| 		FormBase, | 		FormBase, | ||||||
|  | @ -117,104 +118,6 @@ export default defineComponent({ | ||||||
| 			}); | 			}); | ||||||
| 		}, | 		}, | ||||||
| 
 | 
 | ||||||
| 		renderChart() { |  | ||||||
| 			os.api('charts/user/drive', { |  | ||||||
| 				userId: this.$i.id, |  | ||||||
| 				span: 'day', |  | ||||||
| 				limit: 21 |  | ||||||
| 			}).then(stats => { |  | ||||||
| 				const addition = []; |  | ||||||
| 				const deletion = []; |  | ||||||
| 				const now = new Date(); |  | ||||||
| 				const y = now.getFullYear(); |  | ||||||
| 				const m = now.getMonth(); |  | ||||||
| 				const d = now.getDate(); |  | ||||||
| 				for (let i = 0; i < 21; i++) { |  | ||||||
| 					const x = new Date(y, m, d - i); |  | ||||||
| 					addition.push([ |  | ||||||
| 						x, |  | ||||||
| 						stats.incSize[i] |  | ||||||
| 					]); |  | ||||||
| 					deletion.push([ |  | ||||||
| 						x, |  | ||||||
| 						-stats.decSize[i] |  | ||||||
| 					]); |  | ||||||
| 				} |  | ||||||
| 				const chart = new ApexCharts(this.$refs.chart, { |  | ||||||
| 					chart: { |  | ||||||
| 						type: 'bar', |  | ||||||
| 						stacked: true, |  | ||||||
| 						height: 150, |  | ||||||
| 						toolbar: { |  | ||||||
| 							show: false |  | ||||||
| 						}, |  | ||||||
| 						zoom: { |  | ||||||
| 							enabled: false |  | ||||||
| 						} |  | ||||||
| 					}, |  | ||||||
| 					plotOptions: { |  | ||||||
| 						bar: { |  | ||||||
| 							columnWidth: '80%' |  | ||||||
| 						} |  | ||||||
| 					}, |  | ||||||
| 					grid: { |  | ||||||
| 						clipMarkers: false, |  | ||||||
| 						borderColor: 'rgba(0, 0, 0, 0.1)', |  | ||||||
| 						xaxis: { |  | ||||||
| 							lines: { |  | ||||||
| 								show: true, |  | ||||||
| 							} |  | ||||||
| 						}, |  | ||||||
| 					}, |  | ||||||
| 					tooltip: { |  | ||||||
| 						shared: true, |  | ||||||
| 						intersect: false, |  | ||||||
| 						theme: this.$store.state.darkMode ? 'dark' : 'light', |  | ||||||
| 					}, |  | ||||||
| 					dataLabels: { |  | ||||||
| 						enabled: false |  | ||||||
| 					}, |  | ||||||
| 					legend: { |  | ||||||
| 						show: false |  | ||||||
| 					}, |  | ||||||
| 					series: [{ |  | ||||||
| 						name: 'Additions', |  | ||||||
| 						data: addition |  | ||||||
| 					}, { |  | ||||||
| 						name: 'Deletions', |  | ||||||
| 						data: deletion |  | ||||||
| 					}], |  | ||||||
| 					xaxis: { |  | ||||||
| 						type: 'datetime', |  | ||||||
| 						labels: { |  | ||||||
| 							style: { |  | ||||||
| 								colors: tinycolor(getComputedStyle(document.documentElement).getPropertyValue('--fg')).toRgbString() |  | ||||||
| 							} |  | ||||||
| 						}, |  | ||||||
| 						axisBorder: { |  | ||||||
| 							color: 'rgba(0, 0, 0, 0.1)' |  | ||||||
| 						}, |  | ||||||
| 						axisTicks: { |  | ||||||
| 							color: 'rgba(0, 0, 0, 0.1)' |  | ||||||
| 						}, |  | ||||||
| 						crosshairs: { |  | ||||||
| 							width: 1, |  | ||||||
| 							opacity: 1 |  | ||||||
| 						} |  | ||||||
| 					}, |  | ||||||
| 					yaxis: { |  | ||||||
| 						labels: { |  | ||||||
| 							formatter: v => bytes(v, 0), |  | ||||||
| 							style: { |  | ||||||
| 								colors: tinycolor(getComputedStyle(document.documentElement).getPropertyValue('--fg')).toRgbString() |  | ||||||
| 							} |  | ||||||
| 						} |  | ||||||
| 					} |  | ||||||
| 				}); |  | ||||||
| 				chart.render(); |  | ||||||
| 			}); |  | ||||||
| 		}, |  | ||||||
| 
 |  | ||||||
| 		bytes | 		bytes | ||||||
| 	} | 	} | ||||||
| }); | }); | ||||||
|  |  | ||||||
|  | @ -3,20 +3,21 @@ | ||||||
| 	<template #header><i class="fas fa-chart-bar" style="margin-right: 0.5em;"></i>{{ $ts.activity }}</template> | 	<template #header><i class="fas fa-chart-bar" style="margin-right: 0.5em;"></i>{{ $ts.activity }}</template> | ||||||
| 
 | 
 | ||||||
| 	<div style="padding: 8px;"> | 	<div style="padding: 8px;"> | ||||||
| 		<div ref="chart"></div> | 		<MkChart src="per-user-notes" :args="{ user, withoutAll: true }" span="day" :limit="limit" :stacked="true" :detailed="false" :aspect-ratio="6"/> | ||||||
| 	</div> | 	</div> | ||||||
| </MkContainer> | </MkContainer> | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script lang="ts"> | <script lang="ts"> | ||||||
| import { defineComponent } from 'vue'; | import { defineComponent } from 'vue'; | ||||||
| import ApexCharts from 'apexcharts'; |  | ||||||
| import * as os from '@client/os'; | import * as os from '@client/os'; | ||||||
| import MkContainer from '@client/components/ui/container.vue'; | import MkContainer from '@client/components/ui/container.vue'; | ||||||
|  | import MkChart from '@client/components/chart.vue'; | ||||||
| 
 | 
 | ||||||
| export default defineComponent({ | export default defineComponent({ | ||||||
| 	components: { | 	components: { | ||||||
| 		MkContainer, | 		MkContainer, | ||||||
|  | 		MkChart, | ||||||
| 	}, | 	}, | ||||||
| 	props: { | 	props: { | ||||||
| 		user: { | 		user: { | ||||||
|  | @ -29,96 +30,5 @@ export default defineComponent({ | ||||||
| 			default: 40 | 			default: 40 | ||||||
| 		} | 		} | ||||||
| 	}, | 	}, | ||||||
| 	data() { |  | ||||||
| 		return { |  | ||||||
| 			fetching: true, |  | ||||||
| 			data: [], |  | ||||||
| 			peak: null, |  | ||||||
| 		}; |  | ||||||
| 	}, |  | ||||||
| 	mounted() { |  | ||||||
| 		os.api('charts/user/notes', { |  | ||||||
| 			userId: this.user.id, |  | ||||||
| 			span: 'day', |  | ||||||
| 			limit: this.limit |  | ||||||
| 		}).then(stats => { |  | ||||||
| 			const normal = []; |  | ||||||
| 			const reply = []; |  | ||||||
| 			const renote = []; |  | ||||||
| 
 |  | ||||||
| 			const now = new Date(); |  | ||||||
| 			const y = now.getFullYear(); |  | ||||||
| 			const m = now.getMonth(); |  | ||||||
| 			const d = now.getDate(); |  | ||||||
| 
 |  | ||||||
| 			for (let i = 0; i < this.limit; i++) { |  | ||||||
| 				const x = new Date(y, m, d - i); |  | ||||||
| 				normal.push([ |  | ||||||
| 					x, |  | ||||||
| 					stats.diffs.normal[i] |  | ||||||
| 				]); |  | ||||||
| 				reply.push([ |  | ||||||
| 					x, |  | ||||||
| 					stats.diffs.reply[i] |  | ||||||
| 				]); |  | ||||||
| 				renote.push([ |  | ||||||
| 					x, |  | ||||||
| 					stats.diffs.renote[i] |  | ||||||
| 				]); |  | ||||||
| 			} |  | ||||||
| 
 |  | ||||||
| 			const chart = new ApexCharts(this.$refs.chart, { |  | ||||||
| 				chart: { |  | ||||||
| 					type: 'bar', |  | ||||||
| 					stacked: true, |  | ||||||
| 					height: 100, |  | ||||||
| 					sparkline: { |  | ||||||
| 						enabled: true |  | ||||||
| 					}, |  | ||||||
| 				}, |  | ||||||
| 				plotOptions: { |  | ||||||
| 					bar: { |  | ||||||
| 						columnWidth: '40%' |  | ||||||
| 					} |  | ||||||
| 				}, |  | ||||||
| 				dataLabels: { |  | ||||||
| 					enabled: false |  | ||||||
| 				}, |  | ||||||
| 				grid: { |  | ||||||
| 					clipMarkers: false, |  | ||||||
| 					padding: { |  | ||||||
| 						top: 0, |  | ||||||
| 						right: 8, |  | ||||||
| 						bottom: 0, |  | ||||||
| 						left: 8 |  | ||||||
| 					} |  | ||||||
| 				}, |  | ||||||
| 				tooltip: { |  | ||||||
| 					shared: true, |  | ||||||
| 					intersect: false, |  | ||||||
| 					theme: this.$store.state.darkMode ? 'dark' : 'light', |  | ||||||
| 				}, |  | ||||||
| 				series: [{ |  | ||||||
| 					name: 'Normal', |  | ||||||
| 					data: normal |  | ||||||
| 				}, { |  | ||||||
| 					name: 'Reply', |  | ||||||
| 					data: reply |  | ||||||
| 				}, { |  | ||||||
| 					name: 'Renote', |  | ||||||
| 					data: renote |  | ||||||
| 				}], |  | ||||||
| 				xaxis: { |  | ||||||
| 					type: 'datetime', |  | ||||||
| 					crosshairs: { |  | ||||||
| 						width: 1, |  | ||||||
| 						opacity: 1 |  | ||||||
| 					} |  | ||||||
| 				} |  | ||||||
| 			}); |  | ||||||
| 
 |  | ||||||
| 			chart.render(); |  | ||||||
| 		}); |  | ||||||
| 	} |  | ||||||
| }); | }); | ||||||
| </script> | </script> | ||||||
|  |  | ||||||
							
								
								
									
										67
									
								
								yarn.lock
									
										
									
									
									
								
							
							
						
						
									
										67
									
								
								yarn.lock
									
										
									
									
									
								
							|  | @ -1809,18 +1809,6 @@ anymatch@~3.1.1: | ||||||
|     normalize-path "^3.0.0" |     normalize-path "^3.0.0" | ||||||
|     picomatch "^2.0.4" |     picomatch "^2.0.4" | ||||||
| 
 | 
 | ||||||
| apexcharts@3.28.3: |  | ||||||
|   version "3.28.3" |  | ||||||
|   resolved "https://registry.yarnpkg.com/apexcharts/-/apexcharts-3.28.3.tgz#22a6d9b234c82f6c2e1dd4aebba05b7603e2b1d2" |  | ||||||
|   integrity sha512-EhghB2P27/Gjhwct8sSS0V63mdpRMx/ikH34dwUTqZQnkAEyOS/RKDmYjXBNA7zsAKBE/pThOdoTya6ADyk6zQ== |  | ||||||
|   dependencies: |  | ||||||
|     svg.draggable.js "^2.2.2" |  | ||||||
|     svg.easing.js "^2.0.0" |  | ||||||
|     svg.filter.js "^2.0.2" |  | ||||||
|     svg.pathmorphing.js "^0.1.3" |  | ||||||
|     svg.resize.js "^1.4.3" |  | ||||||
|     svg.select.js "^3.0.1" |  | ||||||
| 
 |  | ||||||
| app-root-path@^3.0.0: | app-root-path@^3.0.0: | ||||||
|   version "3.0.0" |   version "3.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-3.0.0.tgz#210b6f43873227e18a4b810a032283311555d5ad" |   resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-3.0.0.tgz#210b6f43873227e18a4b810a032283311555d5ad" | ||||||
|  | @ -10529,61 +10517,6 @@ sver-compat@^1.5.0: | ||||||
|     es6-iterator "^2.0.1" |     es6-iterator "^2.0.1" | ||||||
|     es6-symbol "^3.1.1" |     es6-symbol "^3.1.1" | ||||||
| 
 | 
 | ||||||
| svg.draggable.js@^2.2.2: |  | ||||||
|   version "2.2.2" |  | ||||||
|   resolved "https://registry.yarnpkg.com/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz#c514a2f1405efb6f0263e7958f5b68fce50603ba" |  | ||||||
|   integrity sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw== |  | ||||||
|   dependencies: |  | ||||||
|     svg.js "^2.0.1" |  | ||||||
| 
 |  | ||||||
| svg.easing.js@^2.0.0: |  | ||||||
|   version "2.0.0" |  | ||||||
|   resolved "https://registry.yarnpkg.com/svg.easing.js/-/svg.easing.js-2.0.0.tgz#8aa9946b0a8e27857a5c40a10eba4091e5691f12" |  | ||||||
|   integrity sha1-iqmUawqOJ4V6XEChDrpAkeVpHxI= |  | ||||||
|   dependencies: |  | ||||||
|     svg.js ">=2.3.x" |  | ||||||
| 
 |  | ||||||
| svg.filter.js@^2.0.2: |  | ||||||
|   version "2.0.2" |  | ||||||
|   resolved "https://registry.yarnpkg.com/svg.filter.js/-/svg.filter.js-2.0.2.tgz#91008e151389dd9230779fcbe6e2c9a362d1c203" |  | ||||||
|   integrity sha1-kQCOFROJ3ZIwd5/L5uLJo2LRwgM= |  | ||||||
|   dependencies: |  | ||||||
|     svg.js "^2.2.5" |  | ||||||
| 
 |  | ||||||
| svg.js@>=2.3.x, svg.js@^2.0.1, svg.js@^2.2.5, svg.js@^2.4.0, svg.js@^2.6.5: |  | ||||||
|   version "2.7.1" |  | ||||||
|   resolved "https://registry.yarnpkg.com/svg.js/-/svg.js-2.7.1.tgz#eb977ed4737001eab859949b4a398ee1bb79948d" |  | ||||||
|   integrity sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA== |  | ||||||
| 
 |  | ||||||
| svg.pathmorphing.js@^0.1.3: |  | ||||||
|   version "0.1.3" |  | ||||||
|   resolved "https://registry.yarnpkg.com/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz#c25718a1cc7c36e852ecabc380e758ac09bb2b65" |  | ||||||
|   integrity sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww== |  | ||||||
|   dependencies: |  | ||||||
|     svg.js "^2.4.0" |  | ||||||
| 
 |  | ||||||
| svg.resize.js@^1.4.3: |  | ||||||
|   version "1.4.3" |  | ||||||
|   resolved "https://registry.yarnpkg.com/svg.resize.js/-/svg.resize.js-1.4.3.tgz#885abd248e0cd205b36b973c4b578b9a36f23332" |  | ||||||
|   integrity sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw== |  | ||||||
|   dependencies: |  | ||||||
|     svg.js "^2.6.5" |  | ||||||
|     svg.select.js "^2.1.2" |  | ||||||
| 
 |  | ||||||
| svg.select.js@^2.1.2: |  | ||||||
|   version "2.1.2" |  | ||||||
|   resolved "https://registry.yarnpkg.com/svg.select.js/-/svg.select.js-2.1.2.tgz#e41ce13b1acff43a7441f9f8be87a2319c87be73" |  | ||||||
|   integrity sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ== |  | ||||||
|   dependencies: |  | ||||||
|     svg.js "^2.2.5" |  | ||||||
| 
 |  | ||||||
| svg.select.js@^3.0.1: |  | ||||||
|   version "3.0.1" |  | ||||||
|   resolved "https://registry.yarnpkg.com/svg.select.js/-/svg.select.js-3.0.1.tgz#a4198e359f3825739226415f82176a90ea5cc917" |  | ||||||
|   integrity sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw== |  | ||||||
|   dependencies: |  | ||||||
|     svg.js "^2.6.5" |  | ||||||
| 
 |  | ||||||
| svgo@^0.7.0: | svgo@^0.7.0: | ||||||
|   version "0.7.2" |   version "0.7.2" | ||||||
|   resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" |   resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue