From d996de100e2260c84abb8bac14b704cdce02a9f0 Mon Sep 17 00:00:00 2001 From: Haoyu Date: Wed, 26 Nov 2025 20:57:23 -0500 Subject: [PATCH 01/22] upload --- .eslintrc.json | 27 - .gitignore | 1 - .stylelintignore | 2 - INSTRUCTIONS.md | 78 - README.md | 1 - css/styles.css | 71 + data/HZ_Center.geojson | 8 + data/RAW/data.cpg | 1 + data/RAW/data.dbf | Bin 0 -> 883772 bytes data/RAW/data.prj | 1 + data/RAW/data.sbn | Bin 0 -> 100860 bytes data/RAW/data.sbx | Bin 0 -> 7748 bytes data/RAW/data.shp | Bin 0 -> 1631380 bytes data/RAW/data.shx | Bin 0 -> 77780 bytes data/amenity.geojson | 2450 ++++++++++ data/data.geojson | 9717 +++++++++++++++++++++++++++++++++++++ data/metrostation.geojson | 320 ++ data/park.geojson | 980 ++++ data/trans.py | 21 + index.html | 92 + js/legend_style.js | 26 + js/main.js | 29 + js/map.js | 112 + js/map_style.js | 89 + js/pie.js | 143 + js/search.js | 72 + js/select.js | 36 + js/slider.js | 46 + mockup/css/styles.css | 137 - mockup/img/location.png | Bin 2048 -> 0 bytes mockup/img/location.svg | 56 - mockup/index.html | 77 - package-lock.json | 4529 ----------------- package.json | 20 - 34 files changed, 14214 insertions(+), 4928 deletions(-) delete mode 100644 .eslintrc.json delete mode 100644 .gitignore delete mode 100644 .stylelintignore delete mode 100644 INSTRUCTIONS.md delete mode 100644 README.md create mode 100644 css/styles.css create mode 100644 data/HZ_Center.geojson create mode 100644 data/RAW/data.cpg create mode 100644 data/RAW/data.dbf create mode 100644 data/RAW/data.prj create mode 100644 data/RAW/data.sbn create mode 100644 data/RAW/data.sbx create mode 100644 data/RAW/data.shp create mode 100644 data/RAW/data.shx create mode 100644 data/amenity.geojson create mode 100644 data/data.geojson create mode 100644 data/metrostation.geojson create mode 100644 data/park.geojson create mode 100644 data/trans.py create mode 100644 index.html create mode 100644 js/legend_style.js create mode 100644 js/main.js create mode 100644 js/map.js create mode 100644 js/map_style.js create mode 100644 js/pie.js create mode 100644 js/search.js create mode 100644 js/select.js create mode 100644 js/slider.js delete mode 100644 mockup/css/styles.css delete mode 100644 mockup/img/location.png delete mode 100644 mockup/img/location.svg delete mode 100644 mockup/index.html delete mode 100644 package-lock.json delete mode 100644 package.json diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 4677d22..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "extends": ["eslint:recommended", "google"], - "parserOptions": { - "ecmaVersion": "latest", - "sourceType": "module" - }, - "env": { - "browser": true, - "es6": true - }, - "ignorePatterns": ["examples/**/*.js"], - "globals": { - "L": "readonly", - "d3": "readonly" - }, - "rules": { - "indent": ["error", 2, { "VariableDeclarator": 1 }], - "max-len": "off", - "object-curly-spacing": "off", - "operator-linebreak": [ - "error", - "after", - { "overrides": { "?": "ignore", ":": "ignore" } } - ], - "require-jsdoc": "off" - } -} diff --git a/.gitignore b/.gitignore deleted file mode 100644 index c2658d7..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules/ diff --git a/.stylelintignore b/.stylelintignore deleted file mode 100644 index 2069575..0000000 --- a/.stylelintignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules/**/* -examples/**/* \ No newline at end of file diff --git a/INSTRUCTIONS.md b/INSTRUCTIONS.md deleted file mode 100644 index 81b009b..0000000 --- a/INSTRUCTIONS.md +++ /dev/null @@ -1,78 +0,0 @@ -Dashboards are the bread and butter of spatial data displays. They are highly interactive websites, usually with real-time updates that show data in an accessible way. - - -## Timeline - -We will allocate weeks 5-8 (four weeks) of the semester to this project. - - -## Samples - -Find examples from previous years at . - - -## Instructions - -### Step 1: Choose a topic - -- [ ] **Choose a topic** that is fruitfully explained with some combination of narrative and geographic elements. This might be as general as public transit, bike share, real estate development, national parks, etc. Stick with the data domain that you chose for your story map if you can. - -- [ ] **Choose your users** -- Who do you want to empower with information to make decisions in your domain. For example, if you chose public transit, then are you interested in empowering riders? Dispatchers? If you chose national parks, are you interested in visitors? Park rangers? Try not to build one thing for _everyone_ -- that usually leads to a product that is not very useful for anyone. - -- [ ] **Decide what your users could do with better information** -- Make a list of the particular decisions you want to enable with your dashboard. This can be a blue-sky list, but you will likely end up refining your scope later. - -- [ ] **Figure out what data you need to enable the decisions.** -- You should use this list of decisions you want to enable to evaluate any dataset or interactive element you add to your dashboard, to determine whether it actually supports making those decisions. Whatever data you use, **be sure to include citations somewhere in your app interface**. - -### Step 2: Create a map on your browser - -The main component of the dashboard is the map displaying spatial information. This is the building block of all your other features! - -* Create basic html with head and body elements, linking to your css stylesheet and javascript file -* Create map element in html document -* Style map element in CSS to give it height -* Create map object in Javascript referencing leaflet quickstart https://leafletjs.com/examples/quick-start/ (will need to link to leaflet documents in your html) -* Add a basemap tile layer - use OpenStreetMap, Stamen, Mapbox, or another source - you can customize this! -* NOTE: you may want to separate the code for creating the map into a different javascript file for organization. If you do this, wrap the creation of the map into a function and export that function, and then import it in your main.js file. - -### Step 3: Add data to your map - -* Add data file to your repository folder (usually in a data subfolder) - remember geojson files work best, csv files work too but must be parsed using csv parse https://csv.js.org/parse/ or papa parse https://www.papaparse.com/ . See [the course resources](https://github.com/musa-6110-fall-2023/course-info/blob/main/resources/data-format-csv.md) for a guide to getting started with those libraries. -* Use fetch API https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API to load your data into your environment (remember, fetch returns a promise, not a file, and a file needs to be extracted from the promise) -* Create map layer to display data (ie LayerGroup, Marker, etc.. see documentation https://leafletjs.com/reference.html) - style the layer here, not in CSS because CSS cannot access styles within the map -* Display data through your map layer (either create an empty layer and pass the data through in a separate function, or input the data directly when you create the layer) -* optional: attach popup https://leafletjs.com/reference.html#popup and tooltip https://leafletjs.com/reference.html#tooltip to your data layer for more interactivity - -### Step 4: Create an interactive element (ie search, highlight, print data, etc) - -This is the most broad step because you could do so many different things like: -* button to filter data shown on map -* checkbox to filter data shown on map -* search bar to type in to filter data shown on map (more difficult - try only if you've already accomplished the button) -* paste/display text of data attributes when you click on the data layer on the map -* graph data shown on map - -The general steps to accomplish these are: -* create an html element for the interactive piece (ie button, checkbox, searchbar, graph) ps. if you're interactive event will be clicking on the map, no extra element is needed -* create a DOM (document object model) element in javascript to set up an event listener - reference DOM exercise we did in class https://github.com/musa-6110-fall-2023/dom-exercises -* create an event listener (event examples: click a button, check a checkbox, click a map data layer) -* create a function which responds when the event has happened -* create a function to parse through data (will require for loop) and accomplish one of the following: - * clear data layer and display only the filtered data - * print in space outside map (new html element) information about the data - * pass data shown on map through a graph and display - -### Step 5: Finishing touches (styling, linting, accessibility) - -* style the map and data to your liking, which can include doing things like: - * customizing your basemap tiles - * customizing your marker/data layer style (using your own image in replace for the marker image) - * changing fonts and colors in the csv - -Make sure to lint use eslint or stylelint to ensure your code is using the widely acceptable syntax - -Check for accessibility using: -* Axe DevTools in browser -* accessible colors for someone looking at your map, reference colorbrewer or other sites for help with this - - - diff --git a/README.md b/README.md deleted file mode 100644 index 39691fc..0000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -Add a readme for your dashboard here. Include content overview, data citations, and any relevant technical details. \ No newline at end of file diff --git a/css/styles.css b/css/styles.css new file mode 100644 index 0000000..a699fb5 --- /dev/null +++ b/css/styles.css @@ -0,0 +1,71 @@ +html, +body { + padding: 0; + /* border-box doesn't include margin, only padding */ + margin: 0; + height: 100%; + overflow: hidden; +} + +/* layout style */ +html { + font-family: sans-serif; + box-sizing: border-box; + height: 100%; + /* overflow: hidden; */ +} + +header { + height: 7vh; + padding: 0vh; + font-size: 10px; + box-sizing: border-box; + background: linear-gradient(0deg, rgba(67, 92, 92, 0.75) 0%, rgb(66, 77, 92) 100%); +} + +h1 { + color: rgb(255, 255, 255); + font-size: 2rem; +} + +main { + display:flex; + box-sizing: border-box; + flex-direction: row; + height: 93vh; + padding: 0vh; + background: rgba(123, 152, 152, 0.75); +} + +.map { + width: 100%; + height: 100%; + box-sizing: border-box; +} + +.left-side { + /* border: 1px solid blue; */ + width: 500px; + padding: 2vh; + display: flex; + flex-direction: column; + box-sizing: border-box; +} +.legend-box { + padding: 10px; + background: white; + border: 1px solid #ccc; + border-radius: 6px; + font-size: 14px; + line-height: 18px; + margin-bottom: 10px; +} + +.legend-color { + display: inline-block; + width: 18px; + height: 18px; + margin-right: 6px; + border: 1px solid #00000055; + vertical-align: middle; +} diff --git a/data/HZ_Center.geojson b/data/HZ_Center.geojson new file mode 100644 index 0000000..fb20abe --- /dev/null +++ b/data/HZ_Center.geojson @@ -0,0 +1,8 @@ +{ +"type": "FeatureCollection", +"name": "HZ_Center", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "name": "杭州中心城区 Central District of Hangzhou" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 120.610401, 30.171272 ], [ 120.606001, 30.154207 ], [ 120.594664, 30.148139 ], [ 120.546929, 30.159982 ], [ 120.51196, 30.156909 ], [ 120.491672, 30.174433 ], [ 120.456653, 30.16842 ], [ 120.458553, 30.161703 ], [ 120.45493, 30.155441 ], [ 120.446348, 30.151909 ], [ 120.435382, 30.136685 ], [ 120.421978, 30.132702 ], [ 120.421489, 30.146614 ], [ 120.416455, 30.155138 ], [ 120.406275, 30.151896 ], [ 120.406897, 30.134056 ], [ 120.400156, 30.13184 ], [ 120.381266, 30.159711 ], [ 120.3483, 30.153928 ], [ 120.335046, 30.144353 ], [ 120.322965, 30.127202 ], [ 120.312851, 30.131602 ], [ 120.308537, 30.140115 ], [ 120.295217, 30.132434 ], [ 120.293385, 30.129496 ], [ 120.299691, 30.128219 ], [ 120.282664, 30.109688 ], [ 120.283798, 30.104993 ], [ 120.292274, 30.100406 ], [ 120.310751, 30.106876 ], [ 120.319152, 30.10071 ], [ 120.325493, 30.104009 ], [ 120.330776, 30.096378 ], [ 120.327707, 30.0789 ], [ 120.333085, 30.061508 ], [ 120.326795, 30.053988 ], [ 120.320203, 30.052808 ], [ 120.319667, 30.048085 ], [ 120.34359, 30.033297 ], [ 120.355187, 30.00668 ], [ 120.353999, 29.995553 ], [ 120.3598, 29.981876 ], [ 120.357402, 29.976926 ], [ 120.339454, 29.976694 ], [ 120.336205, 29.958818 ], [ 120.32278, 29.948417 ], [ 120.31042, 29.930995 ], [ 120.286816, 29.937009 ], [ 120.277728, 29.923768 ], [ 120.268634, 29.922615 ], [ 120.260507, 29.925183 ], [ 120.260332, 29.93438 ], [ 120.251843, 29.944724 ], [ 120.239265, 29.941203 ], [ 120.218277, 29.94461 ], [ 120.206631, 29.939094 ], [ 120.217125, 29.935901 ], [ 120.215652, 29.93171 ], [ 120.197859, 29.935796 ], [ 120.195207, 29.932565 ], [ 120.200206, 29.924624 ], [ 120.182873, 29.906987 ], [ 120.174035, 29.910633 ], [ 120.169588, 29.917909 ], [ 120.161406, 29.919083 ], [ 120.145432, 29.907574 ], [ 120.142058, 29.897038 ], [ 120.144246, 29.884426 ], [ 120.137183, 29.872903 ], [ 120.128125, 29.861601 ], [ 120.108491, 29.848878 ], [ 120.09931, 29.849054 ], [ 120.072705, 29.890074 ], [ 120.078321, 29.894575 ], [ 120.085051, 29.918522 ], [ 120.091298, 29.922497 ], [ 120.096649, 29.939418 ], [ 120.08911, 29.946749 ], [ 120.088879, 29.953599 ], [ 120.097835, 29.961919 ], [ 120.100466, 29.980846 ], [ 120.120807, 29.996002 ], [ 120.125889, 30.00647 ], [ 120.131942, 30.031085 ], [ 120.129572, 30.046471 ], [ 120.119823, 30.050801 ], [ 120.13172, 30.061302 ], [ 120.129601, 30.082737 ], [ 120.14389, 30.091716 ], [ 120.14058, 30.099979 ], [ 120.124695, 30.101187 ], [ 120.108594, 30.084514 ], [ 120.079598, 30.081555 ], [ 120.055206, 30.095157 ], [ 120.044889, 30.091287 ], [ 120.025797, 30.09875 ], [ 120.007369, 30.118024 ], [ 119.997556, 30.118511 ], [ 120.014479, 30.166084 ], [ 120.010933, 30.182814 ], [ 119.993489, 30.186159 ], [ 119.977829, 30.176784 ], [ 119.951317, 30.172781 ], [ 119.936247, 30.161989 ], [ 119.929492, 30.165381 ], [ 119.9293, 30.18814 ], [ 119.916245, 30.194853 ], [ 119.89861, 30.191159 ], [ 119.891012, 30.196315 ], [ 119.882772, 30.189441 ], [ 119.849554, 30.178647 ], [ 119.831429, 30.201032 ], [ 119.859888, 30.24043 ], [ 119.863558, 30.256317 ], [ 119.858323, 30.263372 ], [ 119.860137, 30.275837 ], [ 119.823324, 30.274027 ], [ 119.824094, 30.28646 ], [ 119.833112, 30.29282 ], [ 119.830596, 30.309713 ], [ 119.821836, 30.309536 ], [ 119.805125, 30.298382 ], [ 119.795525, 30.301958 ], [ 119.804132, 30.335491 ], [ 119.802201, 30.345295 ], [ 119.787716, 30.350523 ], [ 119.787702, 30.360174 ], [ 119.772878, 30.368938 ], [ 119.770957, 30.378628 ], [ 119.764005, 30.382148 ], [ 119.753644, 30.377585 ], [ 119.745772, 30.38655 ], [ 119.749907, 30.388693 ], [ 119.747759, 30.392363 ], [ 119.739503, 30.398103 ], [ 119.728317, 30.401577 ], [ 119.715203, 30.391131 ], [ 119.67726, 30.4111 ], [ 119.688994, 30.427587 ], [ 119.701538, 30.432056 ], [ 119.698786, 30.448895 ], [ 119.690348, 30.455989 ], [ 119.705542, 30.490766 ], [ 119.70543, 30.511722 ], [ 119.68776, 30.559815 ], [ 119.716422, 30.565097 ], [ 119.726085, 30.554764 ], [ 119.74891, 30.553562 ], [ 119.762121, 30.558493 ], [ 119.767239, 30.55224 ], [ 119.762507, 30.52407 ], [ 119.757403, 30.518407 ], [ 119.797237, 30.506477 ], [ 119.816512, 30.512731 ], [ 119.831391, 30.498809 ], [ 119.84607, 30.501365 ], [ 119.871619, 30.475083 ], [ 119.870014, 30.462643 ], [ 119.909225, 30.459942 ], [ 119.915084, 30.463469 ], [ 119.932645, 30.447664 ], [ 119.940195, 30.449933 ], [ 119.959609, 30.432116 ], [ 119.982577, 30.448301 ], [ 119.997988, 30.447524 ], [ 120.009453, 30.4384 ], [ 120.025125, 30.440679 ], [ 120.0337, 30.437615 ], [ 120.033608, 30.428449 ], [ 120.059881, 30.432334 ], [ 120.063521, 30.447606 ], [ 120.054705, 30.460022 ], [ 120.054769, 30.473305 ], [ 120.06401, 30.499846 ], [ 120.095634, 30.49771 ], [ 120.091786, 30.487254 ], [ 120.110076, 30.476698 ], [ 120.136446, 30.485132 ], [ 120.14619, 30.470031 ], [ 120.177983, 30.482461 ], [ 120.173584, 30.490462 ], [ 120.178198, 30.503111 ], [ 120.197365, 30.5118 ], [ 120.225321, 30.511784 ], [ 120.237784, 30.506771 ], [ 120.274242, 30.507672 ], [ 120.295452, 30.522093 ], [ 120.314546, 30.523174 ], [ 120.321958, 30.498689 ], [ 120.322265, 30.472785 ], [ 120.335155, 30.474122 ], [ 120.338677, 30.46647 ], [ 120.332828, 30.466692 ], [ 120.332264, 30.460453 ], [ 120.336537, 30.444041 ], [ 120.327543, 30.427577 ], [ 120.328317, 30.418262 ], [ 120.301763, 30.39987 ], [ 120.301567, 30.395633 ], [ 120.309885, 30.397289 ], [ 120.316605, 30.379611 ], [ 120.337021, 30.378587 ], [ 120.340234, 30.370085 ], [ 120.395342, 30.386253 ], [ 120.396194, 30.375272 ], [ 120.38331, 30.372598 ], [ 120.373061, 30.347126 ], [ 120.408358, 30.318838 ], [ 120.434106, 30.376121 ], [ 120.44115, 30.382382 ], [ 120.502378, 30.392518 ], [ 120.636348, 30.3895 ], [ 120.675744, 30.375304 ], [ 120.702018, 30.356449 ], [ 120.72549, 30.299437 ], [ 120.702871, 30.280665 ], [ 120.688122, 30.261981 ], [ 120.665391, 30.235108 ], [ 120.640252, 30.220153 ], [ 120.610401, 30.171272 ] ] ] } } +] +} diff --git a/data/RAW/data.cpg b/data/RAW/data.cpg new file mode 100644 index 0000000..3ad133c --- /dev/null +++ b/data/RAW/data.cpg @@ -0,0 +1 @@ +UTF-8 \ No newline at end of file diff --git a/data/RAW/data.dbf b/data/RAW/data.dbf new file mode 100644 index 0000000000000000000000000000000000000000..3e56edee6b2cc84bfdeefb1f3b13a3116c930574 GIT binary patch literal 883772 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 z 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
i$Lgem`px10ZQ-=^i3=T67HGP~p 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 literal 0 HcmV?d00001 diff --git a/data/RAW/data.prj b/data/RAW/data.prj new file mode 100644 index 0000000..f45cbad --- /dev/null +++ b/data/RAW/data.prj @@ -0,0 +1 @@ +GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]] \ No newline at end of file diff --git a/data/RAW/data.sbn b/data/RAW/data.sbn new file mode 100644 index 0000000000000000000000000000000000000000..05cbf9addbae52524bd22de6d0a73346cce3319b GIT binary patch literal 100860 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℞H}{M!4Y;_Z6$$v!Ue7|i`BxNl!uj9an31Uww-p=&E_CI_^(VymeE`WNGt zO5#r&?Uls4OtvcG|1)i^BK|&d4k0I|yxO=KUu()SSm-Sn`(L2i3bV-ywNz|2)j~HL zt1HRZX|z<5?+K%|l6+5^%vI#OXxdywzDvl(Ya!0p7Cri9my7Ls^vkZ4*bL~GFE80@ zK)-y2eoHC1{BAvNlngB~;Ks?&y@su2#PM3e9HI3USL@L$dlwHY^vd2Vw(8L<`(KIK zfL{4cC7TWCl`qj(m%=A6)LTm7lW){pOW~6j8O&wmyWg<6jC>Cux0BYl0WU!KHQMZk z?FE>ZbS~dhh}Jw@QMy9$LOa9JU8oo{K!m>p8eVHS`<2d=dXP7dNg( zPDt+d_2AM_2%;8IUVi>v6+nXujT93N9}&;6}{QU4~6%#M_Z`6gg~(-hf;=uP-S@ zpZw1TeHnd?_hL*B^|Yi4>3CgV(~>6K0gd&n^QJ-n=DFRQ0o^O4wi5qLNNXkjxp!R~ zxO#*4_BL=eu8lCgzMQp!4m`3YQAmbHd2aP4LGSnIyeZHJgte{2KN1pKiGS?9wGCXo z-m7Z^SN|C~&rnWdstbL}UmDX~=u`gcT<1m~U+TQwjXu82g&Xxkhg@k*;QWj3bZ3b5< z+`49P6^oqbeEW(Mv{-L=%Pm3zG{UpSdkb`zN8^o$whM8s#IFmtv=aZoyQU3Xo#WNC zfvf+7oId2lw1f+h;452J3(?S3~05zX+a#O}yu_*DMLJ%-$nx;Q)f1OI1R<3KNWt4-rTFPCVK ztH*Kfe)}!;SQqzzV@(6`cO9Ar;_u=6kJGy9!tLk_yjZu|j=sQ4wp9-Faavo11ASb) zEz*HLF2NpN4-$mp;Pv@;=nGk~WyS!zEuoAk$ zv)mgB6+9u{o1tD|Su62(g%z#D-}5eS16QYcL)yUAcnmTpkh8R9u@DTtq$NmL3SH_^ zd4r(M9<_G~v_)9lO8kNl)JmNCU!eZRWiI3^KWkj!Lca2I=W;jl`8%BwA*23IXY&H!>k8W+2eul%?%$c236Cr*_c{d}%d?M6SJ=UUtZ z&Ud+jn!x#Px4M~*|Ay}$q;=FSv!f^Q?Yb3q^aQ?RTkb#)7iSA`poi1gm(_!F_u5y~ zgL7?;j-He{x))kd^wBl=n4E!U636;f#+;02iCzw+td#9aWVGA_28Uf52^>} zybe_Z@iPu}1M#!SdC`|6w+G_;->PHnO6X~u!oh*BwgozPXrx_U56(5)*?MrU#i3{* z{-z_af%sd<8Agt#ZjoJ#@1L(@>=NigoxfcMeZ%JGVBoviCUW30%7xj)4k>h%eNjF9 zoXgJC!_T?x{`K&4e|3l&$T#N@H;`{0`6rPdQmwF{SJ7jZTd^L+=VsQ5^(eluC~9z= zO|=BpU_I>ZR(UNrd!Lo91!wQa_rHYikEs@0kf-P}FS4Rn@v)h)qF3>W+24v@#itg( z8myB|vWRNX&)#Mc*TByvTNl;B&+fD`weYjMtp2s|v+c-znaDw~#_oHNSx;wKOs)lcr`qttF9&d~9!^=PN#P=t*Bq2{ckhnbwdE!BxCz<%WIw6_( zdr2)Rv>tiV_7qwV{hn@&a$@mBZrN3YOr3WDbB6MI+<>*JAw3%{|D6fqw)X% literal 0 HcmV?d00001 diff --git a/data/RAW/data.sbx b/data/RAW/data.sbx new file mode 100644 index 0000000000000000000000000000000000000000..a6f624ab339284b1b877aee3dfd526396c60c4c1 GIT binary patch literal 7748 zcmZvfUu@O&8OFbB3?U8aNV7BxG2L$+tE^+4t5}g?cRacZ9abz*ut0%=6$)19q{tbR zQuT-x3skLAwP?YLRjMAKYSjV<(kx`@l3p}Rv-F}DTy#k0xyjvV|^+5dki3L$qf|5k0=z5fdz z!*E#$`SXY`3E>|4nZBnEE`^}kid-0lup%yPeHWsw4|#vIdB#rXO73nxSC&KiuI%;qhio2s z57{2ZDHw%NV)xnw6Og@1Z13f82$J`wBC*RE%M=^o`VeBnaC-<3EAL_D#g!Mgyt_h( zH$nQvC*hV59w~!sp!sI*BfTDf)O_Oq(Q0@%w7SKxNAKpF{r{W+W6{Z&K_i?y1gvYWV{U0la^m)wu#^8YTtm{=Ju2-2K`mVD3;Ct1mzpu`L z_lB_A_M*?~R!H9J5!YqeFcv~tCFJL%tPK(`vwHfJ-GS8oB_GCM9c0hH*gSh5^!GIx z@MoNE5oDh=){pp_4oJT>1TnZ;#ud})+gmo+6d{_#Jud_Px*O`CQW3JcR_eZZUk+wZd z+r7wNKk9nJJl7knFYg=dZbr)^f5Qk|3}<01gi7nT3bw+#q0J?~avUxRVPmGpH&#OG zHzqy4aR73!O&K2FRPOOj+IN%fYjK-H|EILyQ`+w-n-k-G%Hvh$mwQ#kA@`_Kzbfmu z5Zw-$UzLXVteSAWIUC}0v+WUsEs&qP&7F|^&9|Y&XCQvISRQ`1v_krB>4NOL#qJUd zVQUT~zO@F@XKMoTbFj4o(r@b!B!8>zMZfAeB)_^1l3(2e7r=hVKGlPex@y~#x@~!o zx@~okx^0$6eA^vJ{kA!O-(KeL+igB|+xuV)PDAQ;*dEmFsE5RNbVK^?nDlr}vBzs_ zJzit?AYL=!@tuVp-&yVPop#??2s=k1{deU-_TFW4j8%|1yV@Xqb}8>^%Uc-2(>8B0 zw0<$z4e9gr6vSt3E~LJ;0>)qmq)+WQB>qemB>qes#$Xas|BQVX;=3~-@!dAZwC!~l ztcUzO>^5H!OhJoJK=SwGz!)_D^xM+|iSHSO#OpF)43&4UqU=>qp(*A-D|Ad3;|XWWRlla4ozI`M&!mAinq6cUm68v-xl#TmcurGRVE3 ztrc4!{h#fY9+bAbS>CL(-u$8Ki(mvRrOl`54(XIQESeAMo|`A;!3bR{T_c^8mXGJm zht-XVGtT|l5WoA)2l4&7>wdfId~`zZ^0Qxl_RG(H`8i;IxXXb>o`0ZNtPrgq{SUN? zJz`q4`&j+7vqAkDtRL?Ug`U@-dpFcdw}@ThfH*2zKj!{5ODqseMZ1^9o5W7BUmOvq zoX=;9`C?qG789cG^?XWtSe$eowEdWSFi$Lj{5%~jm#!0&Fyg&edPtmre7D97$bA}f z{JpVAv_AA}G+%tjM)hm7e#~v`76-*KamINlTPzgI#9BzdLk-exqWm3_zeDDaIfv$) zFDw#^#R{=rY!!RNv^Xx#LiRbF3Hg0IZ2lr>{n-Do`Q!KXa1CVc;U=+D>=#GGDQCj^ zk)OyH`$D%Oa)(^1{&sP1%hMDZzSQ>K_N#v$LKNxquQ7vG^Np?HUw zf_#^z+tPQO$1=oRj~^?Rt`O@X{f=qRW7_kW_B^INk7>_l?b)n7n{7|#HdlMUX7d%H z)u&l~n$@RSeU7WoarHTFeYpE^-RpRhbf?%aj)=NfOQ!3Ve29;h66q@G2I)4jR~!;2 z#5w1Si$vY&#R}wGCkEE3DbIx#7Bi-QpVFX>J%P5b-HSz>`$D%zd+ zZZ9`Vw~Kv{Kd)XMmY#Gb=Rx`>b0NQX$wIxCLH?XcRzm8M*3Wc{wE2tBLvRU{uUE_$ z@2}W?yuVT{w(8w{*!!6Cgw0>Z|3a5|{Dk?B&`GgZG~d*nusgz6^Zor*^U1!iYR;=R z=U()n;uFqRn-hi5S|FB-4Um4VUD9dkDc7%Mi^cx_n)xIDwKlz{q{p2nGa>U&mU#T6 z_BpA2PWI~E_KC=whV*+q*Y)dh>3ZpQv0v{K&bBOnZ!40n7Hxm-*_MX$q0Qm@w%vjJ z9-Yd7%sW*mRzdPk)k@nuzW1pVjNqtfcSoN#pY%DsLRxcA+gywHi6i2S^UNZ#1Tz0j zophV@0L14R)tymYyVa53UJCin?N!pcXS>}K|LwX@yWJ-W;f;Bo_ePO)rI--AM7vW& z{vF7iH?v*8Su9;6t$AaA|Q4~dh`jx5o9Qr}_s zj9`nj?%6S-_ZjEgc9$rGx9y%r^GW^Nc2CnO>2cTZWQh4W-bm%Aa<=Yj=!7cz13z=mUY=Mg+Po-)_uAlm*eN|I+I~?8@6Qtp#Bxaf`&H6SVz)RXPCC1?M7t0E zy5zS@e!I+X#QTV-?{{vI>vJVy4W#~@`Hf&odK~g|f6ng1@8t*CkUM@*C|wRCbOWUR zgD&Z`c*pr+rf79h2p?8J@;_{nw*5>GOWV9Cgl>J0?iJG2qW0_VlOBQ8ch9*#pC{^j zoY(g_-=_DJ=bs;UeIdj31^K&R{`mXN1^W*4y^vI1uV_BG$Au}^A7zWhko=Eoq^-`h z&5PiuIP2`m72{$pB)_L!x?g$%a`ztFZ+-|L+dY~8ae>D_u9R++?uHTZA?az?7js-+ z)Vzx}FACvetJo)wh%*pBpX9mzq*S^=x#nSTkx%rET_lm>fwDXG`Nc|Ua=~`*|`@;N1 z#K%PY`9Ob}Cze9$zig21kT!qzKIQKz`Af-PO8!#jkGxb0^5;NmNcs9+m-W3a7y0|; zO3%OCBHbfBBAP$?T(Nody<*>MKGglM*!}srzS0Ky@9`C@kKk=+`7^Gs>U&?cdg52* z_p13dZTBSq>ZtUr>;8P#{hHTr^O)0bb@=MB>d;oCZ~O-zZS;;i$#T*$odbl309r|C|`2gM2J_w&R8 z(R`BseL~uNn!YVPz>!mC;8WP&+F#XwB2()w7I6Ioi}pC6_7jMsE}@i{Jrc(Qd+)msQ!lP)2dHf zJ^Q6=JwM$lZGQQENsqd|nc?x9wkO~BW?b6p$h)a|H#P63=H0Y;OGCJ2dy;p{>X>({ T9!9Vo^80bCNBXun1sD7eY~Na;yA~;BNzGVO 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�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 + + + + + + + + + Inundation Risk Index Dashboard + + + + + + + + + + + + + +

+

Inundation Risk Index in Hangzhou Center Districts

+
+
+ +
+
+
+ Zoom into one category +
+ + + +
+ +
+ +
+ +
+
+
+ +
+
+
+ +
+

Risk Units Distribution

+ +
+ + + + +
+ +
+ + +
+ +
+ +
+ +
+ + + + + + + + + \ No newline at end of file diff --git a/js/legend_style.js b/js/legend_style.js new file mode 100644 index 0000000..d93802c --- /dev/null +++ b/js/legend_style.js @@ -0,0 +1,26 @@ +const matrixLegend = ` +Risk Matrix
+
Low-Low
+
Low-Medium
+
Low-High
+
Medium-Low
+
Medium-Medium
+
Medium-High
+
High-Low
+
High-Medium
+
High-High
+`; + +const imperviousLegend = ` +Impervious
+
Low
+
High
+`; + +const inundationLegend = ` +Inundation
+
Low
+
High
+`; + +export { matrixLegend, imperviousLegend, inundationLegend }; diff --git a/js/main.js b/js/main.js new file mode 100644 index 0000000..0bd6794 --- /dev/null +++ b/js/main.js @@ -0,0 +1,29 @@ +import { initializeMap, initialMatrix } from './map.js'; +import { initSelect } from './select.js'; +import { initSearch } from './search.js'; +import { initPieChart } from './pie.js'; + +const hz_matrix = await fetch('data/data.geojson'); +const matrix = await hz_matrix.json(); + +const pieChart = initPieChart(matrix); + +const hz_metro = await fetch("data/metrostation.geojson"); +const metro = await hz_metro.json(); + +window.matrixMap = initializeMap(matrix); +window.initialMatrix = initialMatrix; + +window.matrixMap.createPane('metroPane'); +window.matrixMap.getPane('metroPane').style.zIndex = 650; +window.matrixMap.getPane('metroPane').style.pointerEvents = 'auto'; + +window.metroLayer = L.geoJSON(metro, { + pane: 'metroPane', + pointToLayer: (feature, latlng) => L.circleMarker(latlng, { + radius: 3, fillColor: "blue", color: "#000", weight: 1, fillOpacity: 0.9 + }) +}).addTo(window.matrixMap); + +initSearch(); +initSelect(); diff --git a/js/map.js b/js/map.js new file mode 100644 index 0000000..46e7a42 --- /dev/null +++ b/js/map.js @@ -0,0 +1,112 @@ +import { calMatrix, calImpervious, calInundation } from './map_style.js'; +import { onSliderChange } from './slider.js'; +import { matrixLegend, imperviousLegend, inundationLegend } from './legend_style.js'; + +let initialMatrix,map,impervious,inundation; +let legend; + +const sliderContainer = document.getElementById("slider-container"); + +function initializeMap(matrix) { // remember to input all the layers specify below + map = L.map('map', {zoomSnap: 0}).setView([30.25, 120.15], 11); // zoomSnap 0 make the zoom level to real number + const baseTileLayer = L.tileLayer('https://api.mapbox.com/styles/v1/junyiy/clng7r3oq083901qx0eu9gaor/tiles/256/{z}/{x}/{y}@2x?access_token=pk.eyJ1IjoianVueWl5IiwiYSI6ImNsdWVxcHowcDBxbWUyam92MWx5aW40MnkifQ.QR9kni83fZBO-EFBXAaX7g', { + maxZoom: 19, + zoomOffset: -1, + tileSize: 512, + attribution: `© Mapbox © OpenStreetMap Improve this map`, + }); + baseTileLayer.addTo(map); + + // initial matrix layer + initialMatrix = L.geoJSON(matrix, + {style: calMatrix, + }).bindTooltip((l) => { + return ` +

+ Impervious Percentage: ${(l.feature.properties.pct_2025 * 100).toFixed(2)}%
+ Inundation: ${l.feature.properties.inund_mean.toFixed(2)} +

`; + }).addTo(map); + + //change to impervious layer; + impervious = L.geoJSON(matrix, + {style: calImpervious, + }).bindTooltip((l) => { + return ` +

+ Impervious Percentage: ${(l.feature.properties.pct_2025 * 100).toFixed(2)}%
+ Inundation: ${l.feature.properties.inund_mean.toFixed(2)} +

`; + }); + //change to inundation layer; + inundation = L.geoJSON(matrix, + {style: calInundation, + }).bindTooltip((l) => { + return ` +

+ Impervious Percentage: ${(l.feature.properties.pct_2025 * 100).toFixed(2)}%
+ Inundation: ${l.feature.properties.inund_mean.toFixed(2)} +

`; + }); + + map.fitBounds(initialMatrix.getBounds()); + + //create legend + legend = L.control({ position: 'bottomright' }); + //create legend context + legend.onAdd = function() { + this.div = L.DomUtil.create('div', 'legend-box'); + return this.div; + }; + legend.addTo(map); + + // initail legend + setLegend(matrixLegend); + + // slider change + onSliderChange(() => { + initialMatrix.eachLayer((layer) => { + layer.setStyle(calMatrix(layer.feature)); + }); + }); + + return map; +} +//change legend +function setLegend(html) { + if (legend && legend.div) { + legend.div.innerHTML = html; + } +} + +function resetLayers() { + map.removeLayer(initialMatrix); + map.removeLayer(impervious); + map.removeLayer(inundation); +} + +document.getElementById("setmatrix").addEventListener("click", () => { + resetLayers(); + initialMatrix.addTo(map); + sliderContainer.style.display = "block"; + setLegend(matrixLegend); +}); +document.getElementById("impervious").addEventListener("click", () => { + resetLayers(); + impervious.addTo(map); + sliderContainer.style.display = "none"; + setLegend(imperviousLegend); +}); +document.getElementById("inundation").addEventListener("click", () => { + resetLayers(); + inundation.addTo(map); + sliderContainer.style.display = "none"; + setLegend(inundationLegend); +}); + +export { + initializeMap, + initialMatrix, + impervious, + inundation +}; \ No newline at end of file diff --git a/js/map_style.js b/js/map_style.js new file mode 100644 index 0000000..50a505c --- /dev/null +++ b/js/map_style.js @@ -0,0 +1,89 @@ +import { getImpThresholds, getInuThresholds} from './slider.js'; + +const colorMapMatrix = { + 'Low Impervious - Low Inundation': '#4575b4', + 'Low Impervious - Medium Inundation': '#91bfdb', + 'Low Impervious - High Inundation': '#e0f3f8', + 'Medium Impervious - Low Inundation': '#fee090', + 'Medium Impervious - Medium Inundation': '#fc8d59', + 'Medium Impervious - High Inundation': '#d73027', + 'High Impervious - Low Inundation': '#fdae61', + 'High Impervious - Medium Inundation': '#f46d43', + 'High Impervious - High Inundation': '#a50026', +}; + + +function calMatrix(feature) { + const pct = feature.properties.pct_2025; + const inund = feature.properties.inund_mean; + + const { impMid, impHigh } = getImpThresholds(); + const { inuMid, inuHigh } = getInuThresholds(); + + let imperv = 'Low'; + if (pct > impHigh) { + imperv = 'High'; + } else if (pct > impMid) { + imperv = 'Medium'; + } + + let inun = 'Low'; + if (inund > inuHigh) { + inun = 'High'; + } else if (inund > inuMid) { + inun = 'Medium'; + } + + const riskMatrix = `${imperv} Impervious - ${inun} Inundation`; + + const color = colorMapMatrix[riskMatrix] || 'transparent'; + + return { + stroke: true, + color: '#ffffffff', + weight: 0.5, + fillColor: color, + fillOpacity: color === 'transparent' ? 0 : 0.8, + }; +}; + +function calImpervious(feature) { + const pct = feature.properties.pct_2025; + + const r = Math.round(255 * pct); + const g = Math.round(255 * (1 - pct)); + const b = 0; + + const color = `rgb(${r},${g},${b})`; + + return { + stroke: true, + color: '#ffffffff', + weight: 0.5, + fillColor: color, + fillOpacity: 0.6 + }; + }; + +function calInundation(feature) { + const inund = feature.properties.inund_mean; + + const r = Math.round(255 * inund); + const g = Math.round(255 * (1 - inund)); + const b = 0; + + const color = `rgb(${r},${g},${b})`; + + return { + stroke: true, + color: '#ffffffff', + weight: 0.5, + fillColor: color, + fillOpacity: 0.6 + }; + }; + + +export { calMatrix }; +export { calImpervious }; +export { calInundation }; \ No newline at end of file diff --git a/js/pie.js b/js/pie.js new file mode 100644 index 0000000..5903113 --- /dev/null +++ b/js/pie.js @@ -0,0 +1,143 @@ +import { getImpThresholds, getInuThresholds, onSliderChange } from './slider.js'; + +let pieChart; + +export function initPieChart(matrix) { + const Chart = window.Chart; + + if (!Chart) { + console.error('Chart.js is not loaded'); + return null; + } + + const ctx = document.getElementById('riskPieChart')?.getContext('2d'); + if (!ctx) { + console.error('Canvas element not found'); + return null; + } + + const data = computeDistribution(matrix); + + const colorMap = { + 'Low Impervious - Low Inundation': '#4575b4', + 'Low Impervious - Medium Inundation': '#91bfdb', + 'Low Impervious - High Inundation': '#e0f3f8', + 'Medium Impervious - Low Inundation': '#fee090', + 'Medium Impervious - Medium Inundation': '#fc8d59', + 'Medium Impervious - High Inundation': '#d73027', + 'High Impervious - Low Inundation': '#fdae61', + 'High Impervious - Medium Inundation': '#f46d43', + 'High Impervious - High Inundation': '#a50026', + }; + + const labels = Object.keys(data); + const values = Object.values(data); + const colors = labels.map(label => colorMap[label] || '#cccccc'); + + pieChart = new Chart(ctx, { + type: 'pie', + data: { + labels: labels, + datasets: [{ + label: 'Risk Units', + data: values, + backgroundColor: colors + }] + }, + options: { + responsive: true, + plugins: { + legend: { + display: false + }, + tooltip: { + callbacks: { + label: function(context) { + const total = context.dataset.data.reduce((a,b)=>a+b,0); + const value = context.raw; + const percentage = ((value/total)*100).toFixed(1); + return `${context.label}: ${value} (${percentage}%)`; + } + } + }, + datalabels: { + color: '#ffffffff', + font: { + weight: 'bold', + size: 12 + }, + anchor: 'end', + align: 'end', + offset: 2, + formatter: (value, context) => { + return value; + } + } + }, + radius: '70%' + }, + plugins: [ChartDataLabels] + }); + + onSliderChange(() => updatePieChart(matrix)); + + return pieChart; +} + +function computeDistribution(matrix) { + const { impMid, impHigh } = getImpThresholds(); + const { inuMid, inuHigh } = getInuThresholds(); + + const counts = {}; + + matrix.features.forEach(f => { + const pct = f.properties.pct_2025; + const inund = f.properties.inund_mean; + + let imperv = 'Low'; + if (pct > impHigh) { + imperv = 'High'; + } else if (pct > impMid) { + imperv = 'Medium'; + } + + let inun = 'Low'; + if (inund > inuHigh) { + inun = 'High'; + } else if (inund > inuMid) { + inun = 'Medium'; + } + + const riskMatrix = `${imperv} Impervious - ${inun} Inundation`; + counts[riskMatrix] = (counts[riskMatrix] || 0) + 1; + }); + + return counts; +} + +function updatePieChart(matrix) { + if (!pieChart) return; + + const data = computeDistribution(matrix); + + const colorMap = { + 'Low Impervious - Low Inundation': '#4575b4', + 'Low Impervious - Medium Inundation': '#91bfdb', + 'Low Impervious - High Inundation': '#e0f3f8', + 'Medium Impervious - Low Inundation': '#fee090', + 'Medium Impervious - Medium Inundation': '#fc8d59', + 'Medium Impervious - High Inundation': '#d73027', + 'High Impervious - Low Inundation': '#fdae61', + 'High Impervious - Medium Inundation': '#f46d43', + 'High Impervious - High Inundation': '#a50026', + }; + + const labels = Object.keys(data); + const values = Object.values(data); + const colors = labels.map(label => colorMap[label] || '#cccccc'); + + pieChart.data.labels = labels; + pieChart.data.datasets[0].data = values; + pieChart.data.datasets[0].backgroundColor = colors; + pieChart.update(); +} \ No newline at end of file diff --git a/js/search.js b/js/search.js new file mode 100644 index 0000000..57025e1 --- /dev/null +++ b/js/search.js @@ -0,0 +1,72 @@ +export function initSearch() { + const input = document.getElementById('entry'); + const clearBtn = document.getElementById('clear-entry'); + const suggestionsDiv = document.getElementById('search-suggestions'); + + if (!window.metroLayer) { + console.error("metroLayer not initialized yet!"); + return; + } + + const features = []; + [window.metroLayer].forEach(layerGroup => { + layerGroup.eachLayer(layer => { + if (layer.feature && layer.feature.properties && layer.feature.properties.name) { + features.push({ name: layer.feature.properties.name, layer }); + } + }); + }); + + features.sort((a,b) => a.name.localeCompare(b.name)); + + input.addEventListener('input', () => { + const text = input.value.trim().toLowerCase(); + suggestionsDiv.innerHTML = ''; + + if (!text) return; + + const matches = features.filter(f => f.name.toLowerCase().includes(text)); + matches.forEach(f => { + const div = document.createElement('div'); + div.className = 'suggestion-item'; + div.textContent = f.name; + + div.addEventListener('click', () => { + const layer = f.layer; + + if (layer.getBounds) { + window.matrixMap.fitBounds(layer.getBounds()); + layer.setStyle({ fillOpacity: 0.9 }); + } else if (layer.getLatLng) { + window.matrixMap.setView(layer.getLatLng(), 16); + layer.setStyle({ fillOpacity: 1 }); + } + + input.value = f.name; + suggestionsDiv.innerHTML = ''; + + [window.metroLayer].forEach(lg => { + lg.eachLayer(l => { + if (l !== layer) l.setStyle({ fillOpacity: 0.8 }); + }); + }); + }); + + suggestionsDiv.appendChild(div); + }); + }); + + clearBtn.addEventListener('click', () => { + input.value = ''; + suggestionsDiv.innerHTML = ''; + [window.metroLayer].forEach(lg => { + lg.eachLayer(l => l.setStyle({ fillOpacity: 0.8 })); + }); + }); + + document.addEventListener('click', (e) => { + if (!input.contains(e.target) && !suggestionsDiv.contains(e.target)) { + suggestionsDiv.innerHTML = ''; + } + }); +} diff --git a/js/select.js b/js/select.js new file mode 100644 index 0000000..927b2a2 --- /dev/null +++ b/js/select.js @@ -0,0 +1,36 @@ +// select.js +export function initSelect() { + const searchSelect = document.getElementById('select'); + + const features = []; + window.metroLayer.eachLayer(layer => { + if (layer.feature.properties.name) { + features.push({ name: layer.feature.properties.name, layer: layer }); + } + }); + + features.sort((a,b) => a.name.localeCompare(b.name)); + + searchSelect.innerHTML = ''; + + features.forEach(f => { + const option = document.createElement('option'); + option.value = f.name; + option.textContent = f.name; + searchSelect.appendChild(option); + }); + + searchSelect.featureMap = {}; + features.forEach(f => searchSelect.featureMap[f.name] = f.layer); + + searchSelect.addEventListener('change', () => { + const selected = searchSelect.value; + if (!selected) return; + + const layer = searchSelect.featureMap[selected]; + window.matrixMap.setView(layer.getLatLng(), 16); + layer.setStyle({ fillOpacity: 1 }); + + window.metroLayer.eachLayer(l => { if(l !== layer) l.setStyle({ fillOpacity: 0.8 }); }); + }); +} diff --git a/js/slider.js b/js/slider.js new file mode 100644 index 0000000..b926b53 --- /dev/null +++ b/js/slider.js @@ -0,0 +1,46 @@ +const impSlider = document.getElementById('imp-slider'); +const inuSlider = document.getElementById('inu-slider'); + +noUiSlider.create(impSlider, { + start: [0.4, 0.8], + connect: true, + range: {min: 0,max: 1}, + tooltips: [true, true], + format: { + to: v => v.toFixed(2), + from: v => parseFloat(v) + } +}); + +noUiSlider.create(inuSlider, { + start: [0.5, 3], + connect: true, + step: 0.5, + range: {min: 0,max: 5}, + tooltips: [true, true], + format: { + to: v => v.toFixed(1), + from: v => parseFloat(v) + } +}); + +export function getImpThresholds() { + const values = impSlider.noUiSlider.get(); + return { + impMid: Number(values[0]), + impHigh: Number(values[1]) + }; +} + +export function getInuThresholds() { + const values = inuSlider.noUiSlider.get(); + return { + inuMid: Number(values[0]), + inuHigh: Number(values[1]) + }; +} + +export function onSliderChange(callback) { + impSlider.noUiSlider.on('update', callback); + inuSlider.noUiSlider.on('update', callback); +} diff --git a/mockup/css/styles.css b/mockup/css/styles.css deleted file mode 100644 index 829ab01..0000000 --- a/mockup/css/styles.css +++ /dev/null @@ -1,137 +0,0 @@ -html { - font-size: 24px; - font-family: sans-serif; -} - -body { - padding: 0; - margin: 0; -} - -.map-section { - position: relative; - width: 100%; - height: 50vh; - background-color: silver; -} - -.map-search-controls { - display: flex; - box-sizing: border-box; - margin: 0; - border: none; - padding: 0.5rem; - width: 100%; - gap: 0.5rem; - justify-content: space-between; - position: relative; - z-index: 1; -} - -.map-search-controls input { - box-sizing: border-box; - border: 1px solid gray; - border-radius: 4px; - font-size: 0.9rem; - font-family: monospace; -} - -[name="address-search"] { - background-image: url("../img/location.svg"); - background-size: 1em; - background-repeat: no-repeat; - background-position: 98% center; - padding-right: 1.2em; - width: 60% -} - -[name="time-search"] { - width: 40%; -} - -.map { - position: absolute; - top: 0; - width: 100%; - height: 100%; - display: flex; - justify-content: center; - align-items: center; -} - -.bike-search-controls { - border: 0; - padding: 0.5rem; - display: flex; - justify-content: space-between -} - -.station-list { - list-style-type: none; - padding: 0; - margin: 0; -} - -.station-list .station { - display: grid; - grid-template-areas: "name name" - "blank distance" - "bikes-info docks-info" - "drop-off-info pick-up-info" - "details details"; - grid-template-columns: 1fr 1fr; - - padding: 0.5rem; - border-bottom: 1px solid black; -} - -.station-list .station:first-child { - border-top: 1px solid black; -} - -.station .name { - grid-area: name; - font-weight: bold; -} - -.station .distance { - grid-area: distance; - justify-self: end; - - font-size: 0.8em; - font-style: italic; - padding-bottom: 0.5rem -} - -.station .available-bikes { - grid-area: bikes-info; -} - -.station .available-docks { - grid-area: docks-info; - text-align: right; -} - -.station .next-drop-off-est { - grid-area: drop-off-info; -} - -.station .next-pick-up-est { - grid-area: pick-up-info; - text-align: right; -} - -.station .details { - grid-area: details; - justify-self: center; -} - -.station .details .chart { - box-sizing: border-box; - margin-top: 0.5rem; - padding: 0.5rem; - width: 100%; - height: 4rem; - background-color: silver; - -} \ No newline at end of file diff --git a/mockup/img/location.png b/mockup/img/location.png deleted file mode 100644 index 7a3e7ef8d93115a72e9fd0255f53d511b95c0caf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2048 zcmV+b2>~28c`bsY(j$)K}?&ZJVGBI5Kd`@N=ktbyjl~r z6_m7%N_k0bqViNfv`rx8Q-BcEDp6z$2($=QR!ds}3L&IPZKth`s2!7+AEzI7wmEmW zyE}WmyLOK>((K+d=YP(BW@mTK%=JWsJjC<70uNzLz+g1_1HkaqMV;C`2&W5{?A7_w|11HLgW2*4lm z6PAO|0P|BET}9wo3u6MfXG#eG?y;O20@F0XYjy@BfzJ#4qoB60RL3@Bftf@5C9Z_zbNpdz{M5XX)>j{g7%kK zo$x21kOu+Zvz|fc*%H1Lr!lx!dY(*D?Y8*unlHO20uiWI}*>X7%j*xI>#? z*nuryzFanM-Yh*mJ<`|LC;k2X($mu;n>KBdWy_Y8BjPCsoTrq2Uy?Z`2?1ZSp4mk) z`rpxkG&VNM&Ye3YPIm0rA;n_RCgJWFtn(;+C0~;T0b3Nn%Q3o3fU!Wot*uRZdwXMp z59ILS!_wN?stFhcT4ONxD*az(LBQV?z+ExAy8_(>3l_+sLx-G$59Hv%gVNB@ph@^` z3}&a&J&-B^z&X~Cyf8v{iPqh=ZCm2t1KGNDtNkdnMc}qsx=m>kaJ4c#g2^O>=xz*j zTUuIVe0;oO0>;M1q`A3S2lc}U+$#K4VxW74OKerRNwcc&7lRlg*94WdYu8d$Rp|x|0_oKQ$c0LiWQFL!==5wU0*JWQP;kmb3P2!(&G3UyqwdomoZ>YgzlYzZhd{d3=a=i{2Ck@8j`xY zI{g~FJpy+Q>gy9|cZ$uCfEkpgsIQ99ZNh*41dxpzH&#r*h7B8Z@F$7b90ArS-4npf z)Ce#DZzzDD#OOW|=+@NKNOyO4;^4cwx};DjXaas7gZY5c{eyE{2?%&Z0UQ9TB6R2D zPeKC7ym|9v&z?Qb!SCL^TjtK4tAigPVt)aDF8e^~Kb!>tiz!`lUKyi*1^z2h04Wp- zvVQ$~85|r84SZl=Ksq}+rMkLW2Y-r~G?_L0BiAZ+NwhcUdEV>5XU*j<5&3eA{yN}S zz!|~4S+i!bX3ZK_u3X8&g$n`b>+56h-o12nb#eUoac$xhaI1(s8-ue8_@cRdT|`zo z2j$9?A!;3^Ovff3fX`8y!gekFz~v71zhJfddZL&T5>O4irNG_+Y8={~2|Pq;8au3v z;7@3wuUcid#`qAl{WA$u?1>04psOv1?@Q2jHvTU07W~Zb`=-1G{2KTQFgt<0`z&8p zC5|U)0|UHWfgS^zE3q?~g1;LT)*{Kk`5kChXfWJaSk|ZMnx)lBpurN0Qj01OC z!!MQndPnS=EbKcfwlxVSswmy<86?Fs0TH-oUGcj6)Av!}012gI`VQ*XRS2wwZ!cGw=^C1x_6VYBLCa7Jkw*z$F>Nr0gjV-rLy$#W;bIJnh%HkYPo`y%{xL12GNYPM5!vJO8j9XR<%DmeL3 z#%>j*xrhOvVcHR3oW0SS5Wkgz&2L*a6D@XfCBQhmM>#tToHGeqO~8MYy_ZS(i!%!X z7U8ex0;hjB30p5JJIBc2BwFeO7{~9mhV69~*yylqO!`!4o&*%|kF5pH_XG11v_BL7 zG#>7Pu{R-gG92UcX}XI6$yAdgvrxTLr)rSw$UqnY}cF#)ys zpT$zNf%ZY#@r75&m^#=|9e}qy=aZO7COpte2!}})n+c&M>LU)1xp9v_NLL=oASJIN{ zA17_`JZ~}nEFT - - - - - - - - - - diff --git a/mockup/index.html b/mockup/index.html deleted file mode 100644 index bef07e2..0000000 --- a/mockup/index.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - Bikeshare Station Availability Dashboard - - - - -
-
-
- - -
- -
Map
-
- -
-
- - - -
- -
    - -
  • -
    Long Station Name To See How It Behaves With Text Wrapping
    - 0.2 mi - 4 bikes - 8 docks - (~10 min) - (~15 min) - -
    -
    Distribution of time between drop-offs
    -
    Distribution of time between pick-ups
    -
    -
  • - - -
-
-
- - \ No newline at end of file diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 1d7be08..0000000 --- a/package-lock.json +++ /dev/null @@ -1,4529 +0,0 @@ -{ - "name": "dashboard-project", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "dashboard-project", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "eslint": "^8.48.0", - "eslint-config-google": "^0.14.0", - "stylelint": "^15.10.3", - "stylelint-config-standard": "^34.0.0" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@csstools/css-parser-algorithms": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.2.tgz", - "integrity": "sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": "^14 || ^16 || >=18" - }, - "peerDependencies": { - "@csstools/css-tokenizer": "^2.2.1" - } - }, - "node_modules/@csstools/css-tokenizer": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.1.tgz", - "integrity": "sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": "^14 || ^16 || >=18" - } - }, - "node_modules/@csstools/media-query-list-parser": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.5.tgz", - "integrity": "sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": "^14 || ^16 || >=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1" - } - }, - "node_modules/@csstools/selector-specificity": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz", - "integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": "^14 || ^16 || >=18" - }, - "peerDependencies": { - "postcss-selector-parser": "^6.0.13" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.0.tgz", - "integrity": "sha512-zJmuCWj2VLBt4c25CfBIbMZLGLyhkvs7LznyVX5HfpzeocThgIj5XQK4L+g3U36mMcx8bPMhGyPpwCATamC4jQ==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", - "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", - "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@types/minimist": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.3.tgz", - "integrity": "sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A==", - "dev": true - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.2.tgz", - "integrity": "sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase-keys": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", - "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", - "dev": true, - "dependencies": { - "camelcase": "^6.3.0", - "map-obj": "^4.1.0", - "quick-lru": "^5.1.1", - "type-fest": "^1.2.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase-keys/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", - "dev": true, - "dependencies": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-functions-list": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.0.tgz", - "integrity": "sha512-d/jBMPyYybkkLVypgtGv12R+pIFw4/f/IHtCTxWpZc8ofTYOPigIgmA6vu5rMHartZC+WuXhBUHfnyNUIQSYrg==", - "dev": true, - "engines": { - "node": ">=12.22" - } - }, - "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", - "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", - "dev": true, - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decamelize-keys/node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", - "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.50.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-google": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.14.0.tgz", - "integrity": "sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "eslint": ">=5.16.0" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", - "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", - "dev": true, - "dependencies": { - "flatted": "^3.2.7", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/globals": { - "version": "13.22.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", - "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globjoin": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", - "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", - "dev": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/html-tags": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", - "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/keyv": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", - "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/known-css-properties": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.28.0.tgz", - "integrity": "sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==", - "dev": true - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mathml-tag-names": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", - "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "dev": true - }, - "node_modules/meow": { - "version": "10.1.5", - "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz", - "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.2", - "camelcase-keys": "^7.0.0", - "decamelize": "^5.0.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.2", - "read-pkg-up": "^8.0.0", - "redent": "^4.0.0", - "trim-newlines": "^4.0.2", - "type-fest": "^1.2.2", - "yargs-parser": "^20.2.9" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/postcss": { - "version": "8.4.30", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz", - "integrity": "sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-resolve-nested-selector": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", - "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", - "dev": true - }, - "node_modules/postcss-safe-parser": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", - "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", - "dev": true, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.3.3" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", - "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^3.0.2", - "parse-json": "^5.2.0", - "type-fest": "^1.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", - "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", - "dev": true, - "dependencies": { - "find-up": "^5.0.0", - "read-pkg": "^6.0.0", - "type-fest": "^1.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/redent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", - "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", - "dev": true, - "dependencies": { - "indent-string": "^5.0.0", - "strip-indent": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.15", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.15.tgz", - "integrity": "sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==", - "dev": true - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", - "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/style-search": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", - "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", - "dev": true - }, - "node_modules/stylelint": { - "version": "15.10.3", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.10.3.tgz", - "integrity": "sha512-aBQMMxYvFzJJwkmg+BUUg3YfPyeuCuKo2f+LOw7yYbU8AZMblibwzp9OV4srHVeQldxvSFdz0/Xu8blq2AesiA==", - "dev": true, - "dependencies": { - "@csstools/css-parser-algorithms": "^2.3.1", - "@csstools/css-tokenizer": "^2.2.0", - "@csstools/media-query-list-parser": "^2.1.4", - "@csstools/selector-specificity": "^3.0.0", - "balanced-match": "^2.0.0", - "colord": "^2.9.3", - "cosmiconfig": "^8.2.0", - "css-functions-list": "^3.2.0", - "css-tree": "^2.3.1", - "debug": "^4.3.4", - "fast-glob": "^3.3.1", - "fastest-levenshtein": "^1.0.16", - "file-entry-cache": "^6.0.1", - "global-modules": "^2.0.0", - "globby": "^11.1.0", - "globjoin": "^0.1.4", - "html-tags": "^3.3.1", - "ignore": "^5.2.4", - "import-lazy": "^4.0.0", - "imurmurhash": "^0.1.4", - "is-plain-object": "^5.0.0", - "known-css-properties": "^0.28.0", - "mathml-tag-names": "^2.1.3", - "meow": "^10.1.5", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.27", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^6.0.0", - "postcss-selector-parser": "^6.0.13", - "postcss-value-parser": "^4.2.0", - "resolve-from": "^5.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "style-search": "^0.1.0", - "supports-hyperlinks": "^3.0.0", - "svg-tags": "^1.0.0", - "table": "^6.8.1", - "write-file-atomic": "^5.0.1" - }, - "bin": { - "stylelint": "bin/stylelint.mjs" - }, - "engines": { - "node": "^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/stylelint" - } - }, - "node_modules/stylelint-config-recommended": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-13.0.0.tgz", - "integrity": "sha512-EH+yRj6h3GAe/fRiyaoO2F9l9Tgg50AOFhaszyfov9v6ayXJ1IkSHwTxd7lB48FmOeSGDPLjatjO11fJpmarkQ==", - "dev": true, - "engines": { - "node": "^14.13.1 || >=16.0.0" - }, - "peerDependencies": { - "stylelint": "^15.10.0" - } - }, - "node_modules/stylelint-config-standard": { - "version": "34.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-34.0.0.tgz", - "integrity": "sha512-u0VSZnVyW9VSryBG2LSO+OQTjN7zF9XJaAJRX/4EwkmU0R2jYwmBSN10acqZisDitS0CLiEiGjX7+Hrq8TAhfQ==", - "dev": true, - "dependencies": { - "stylelint-config-recommended": "^13.0.0" - }, - "engines": { - "node": "^14.13.1 || >=16.0.0" - }, - "peerDependencies": { - "stylelint": "^15.10.0" - } - }, - "node_modules/stylelint/node_modules/balanced-match": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", - "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", - "dev": true - }, - "node_modules/stylelint/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz", - "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=14.18" - } - }, - "node_modules/svg-tags": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", - "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", - "dev": true - }, - "node_modules/table": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", - "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/trim-newlines": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz", - "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/write-file-atomic": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", - "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true - }, - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true - }, - "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@csstools/css-parser-algorithms": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.2.tgz", - "integrity": "sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==", - "dev": true, - "requires": {} - }, - "@csstools/css-tokenizer": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.1.tgz", - "integrity": "sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==", - "dev": true - }, - "@csstools/media-query-list-parser": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.5.tgz", - "integrity": "sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==", - "dev": true, - "requires": {} - }, - "@csstools/selector-specificity": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz", - "integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==", - "dev": true, - "requires": {} - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.0.tgz", - "integrity": "sha512-zJmuCWj2VLBt4c25CfBIbMZLGLyhkvs7LznyVX5HfpzeocThgIj5XQK4L+g3U36mMcx8bPMhGyPpwCATamC4jQ==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - } - }, - "@eslint/js": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", - "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", - "dev": true - }, - "@humanwhocodes/config-array": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", - "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@types/minimist": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.3.tgz", - "integrity": "sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A==", - "dev": true - }, - "@types/normalize-package-data": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.2.tgz", - "integrity": "sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==", - "dev": true - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "camelcase-keys": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", - "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", - "dev": true, - "requires": { - "camelcase": "^6.3.0", - "map-obj": "^4.1.0", - "quick-lru": "^5.1.1", - "type-fest": "^1.2.1" - }, - "dependencies": { - "type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true - } - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", - "dev": true, - "requires": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "css-functions-list": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.0.tgz", - "integrity": "sha512-d/jBMPyYybkkLVypgtGv12R+pIFw4/f/IHtCTxWpZc8ofTYOPigIgmA6vu5rMHartZC+WuXhBUHfnyNUIQSYrg==", - "dev": true - }, - "css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "dev": true, - "requires": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - } - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", - "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", - "dev": true - }, - "decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", - "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true - } - } - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "eslint": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", - "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.50.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - } - }, - "eslint-config-google": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.14.0.tgz", - "integrity": "sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==", - "dev": true, - "requires": {} - }, - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true - }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", - "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", - "dev": true, - "requires": { - "flatted": "^3.2.7", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "globals": { - "version": "13.22.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", - "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "globjoin": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", - "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", - "dev": true - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "html-tags": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", - "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "dev": true - }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "keyv": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", - "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", - "dev": true, - "requires": { - "json-buffer": "3.0.1" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "known-css-properties": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.28.0.tgz", - "integrity": "sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==", - "dev": true - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true - }, - "mathml-tag-names": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", - "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", - "dev": true - }, - "mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "dev": true - }, - "meow": { - "version": "10.1.5", - "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz", - "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==", - "dev": true, - "requires": { - "@types/minimist": "^1.2.2", - "camelcase-keys": "^7.0.0", - "decamelize": "^5.0.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.2", - "read-pkg-up": "^8.0.0", - "redent": "^4.0.0", - "trim-newlines": "^4.0.2", - "type-fest": "^1.2.2", - "yargs-parser": "^20.2.9" - }, - "dependencies": { - "type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true - } - } - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "requires": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "postcss": { - "version": "8.4.30", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz", - "integrity": "sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==", - "dev": true, - "requires": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-resolve-nested-selector": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", - "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", - "dev": true - }, - "postcss-safe-parser": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", - "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", - "dev": true, - "requires": {} - }, - "postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true - }, - "read-pkg": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", - "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^3.0.2", - "parse-json": "^5.2.0", - "type-fest": "^1.0.1" - }, - "dependencies": { - "type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", - "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", - "dev": true, - "requires": { - "find-up": "^5.0.0", - "read-pkg": "^6.0.0", - "type-fest": "^1.0.1" - }, - "dependencies": { - "type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true - } - } - }, - "redent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", - "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", - "dev": true, - "requires": { - "indent-string": "^5.0.0", - "strip-indent": "^4.0.0" - } - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true - }, - "spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.15", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.15.tgz", - "integrity": "sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", - "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", - "dev": true, - "requires": { - "min-indent": "^1.0.1" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "style-search": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", - "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", - "dev": true - }, - "stylelint": { - "version": "15.10.3", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.10.3.tgz", - "integrity": "sha512-aBQMMxYvFzJJwkmg+BUUg3YfPyeuCuKo2f+LOw7yYbU8AZMblibwzp9OV4srHVeQldxvSFdz0/Xu8blq2AesiA==", - "dev": true, - "requires": { - "@csstools/css-parser-algorithms": "^2.3.1", - "@csstools/css-tokenizer": "^2.2.0", - "@csstools/media-query-list-parser": "^2.1.4", - "@csstools/selector-specificity": "^3.0.0", - "balanced-match": "^2.0.0", - "colord": "^2.9.3", - "cosmiconfig": "^8.2.0", - "css-functions-list": "^3.2.0", - "css-tree": "^2.3.1", - "debug": "^4.3.4", - "fast-glob": "^3.3.1", - "fastest-levenshtein": "^1.0.16", - "file-entry-cache": "^6.0.1", - "global-modules": "^2.0.0", - "globby": "^11.1.0", - "globjoin": "^0.1.4", - "html-tags": "^3.3.1", - "ignore": "^5.2.4", - "import-lazy": "^4.0.0", - "imurmurhash": "^0.1.4", - "is-plain-object": "^5.0.0", - "known-css-properties": "^0.28.0", - "mathml-tag-names": "^2.1.3", - "meow": "^10.1.5", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.27", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^6.0.0", - "postcss-selector-parser": "^6.0.13", - "postcss-value-parser": "^4.2.0", - "resolve-from": "^5.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "style-search": "^0.1.0", - "supports-hyperlinks": "^3.0.0", - "svg-tags": "^1.0.0", - "table": "^6.8.1", - "write-file-atomic": "^5.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", - "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", - "dev": true - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "stylelint-config-recommended": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-13.0.0.tgz", - "integrity": "sha512-EH+yRj6h3GAe/fRiyaoO2F9l9Tgg50AOFhaszyfov9v6ayXJ1IkSHwTxd7lB48FmOeSGDPLjatjO11fJpmarkQ==", - "dev": true, - "requires": {} - }, - "stylelint-config-standard": { - "version": "34.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-34.0.0.tgz", - "integrity": "sha512-u0VSZnVyW9VSryBG2LSO+OQTjN7zF9XJaAJRX/4EwkmU0R2jYwmBSN10acqZisDitS0CLiEiGjX7+Hrq8TAhfQ==", - "dev": true, - "requires": { - "stylelint-config-recommended": "^13.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-hyperlinks": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz", - "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - } - }, - "svg-tags": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", - "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", - "dev": true - }, - "table": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", - "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", - "dev": true, - "requires": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "trim-newlines": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz", - "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==", - "dev": true - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "write-file-atomic": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", - "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^4.0.1" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 72a1821..0000000 --- a/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "dashboard-project", - "version": "1.0.0", - "description": "", - "main": "index.js", - "type": "module", - "directories": {}, - "scripts": { - "css-lint": "stylelint --color \"**/*.css\"", - "js-lint": "eslint --color **/*.js" - }, - "author": "", - "license": "ISC", - "devDependencies": { - "eslint": "^8.48.0", - "eslint-config-google": "^0.14.0", - "stylelint": "^15.10.3", - "stylelint-config-standard": "^34.0.0" - } -} From 9644d1de6a1526bd2f7996d938b41dfdee86d0cd Mon Sep 17 00:00:00 2001 From: Haoyu Date: Thu, 27 Nov 2025 16:32:34 -0500 Subject: [PATCH 02/22] update --- js/main.js | 69 +++++++++++++++++++++++++++-- js/search.js | 50 +++++++++++++++++---- png/metrostationicon.png | Bin 0 -> 27182 bytes png/metrostationicon_highlight.png | Bin 0 -> 41177 bytes 4 files changed, 107 insertions(+), 12 deletions(-) create mode 100644 png/metrostationicon.png create mode 100644 png/metrostationicon_highlight.png diff --git a/js/main.js b/js/main.js index 0bd6794..033d08c 100644 --- a/js/main.js +++ b/js/main.js @@ -11,6 +11,9 @@ const pieChart = initPieChart(matrix); const hz_metro = await fetch("data/metrostation.geojson"); const metro = await hz_metro.json(); +const hz_amenity = await fetch("data/amenity.geojson"); +const amenity = await hz_amenity.json(); + window.matrixMap = initializeMap(matrix); window.initialMatrix = initialMatrix; @@ -18,12 +21,72 @@ window.matrixMap.createPane('metroPane'); window.matrixMap.getPane('metroPane').style.zIndex = 650; window.matrixMap.getPane('metroPane').style.pointerEvents = 'auto'; +window.metroIcon = L.icon({ + iconUrl: 'png/metrostationicon.png', + iconSize: [20, 20], + iconAnchor: [10, 10] +}); + +window.metroIconHighlight = L.icon({ + iconUrl: 'png/metrostationicon_highlight.png', + iconSize: [40, 40], + iconAnchor: [20, 20] +}); + window.metroLayer = L.geoJSON(metro, { - pane: 'metroPane', + pane: 'metroPane', + pointToLayer: (feature, latlng) => + L.marker(latlng, { icon: window.metroIcon }) +}); + +const METRO_MIN_ZOOM = 12; + +window.matrixMap.on('zoomend', () => { + const z = window.matrixMap.getZoom(); + + if (z >= METRO_MIN_ZOOM) { + if (!window.matrixMap.hasLayer(window.metroLayer)) { + window.matrixMap.addLayer(window.metroLayer); + + window.metroLayer.eachLayer(layer => { + if (!layer._label) { + layer._label = L.tooltip({ + permanent: false, + direction: 'top', + offset: [0, -10], + className: 'point-label' + }) + .setContent(` +
+ ${layer.feature.properties.name}
+ ${layer.feature.properties.address || ''} +
+ `) + .setLatLng(layer.getLatLng()); + + window.matrixMap.addLayer(layer._label); + } + }); + } + } else { + if (window.matrixMap.hasLayer(window.metroLayer)) { + window.metroLayer.eachLayer(layer => { + if (layer._label) { + window.matrixMap.removeLayer(layer._label); + layer._label = null; + } + }); + window.matrixMap.removeLayer(window.metroLayer); + } + } +}); + +window.amenityLayer = L.geoJSON(amenity, { + pane: 'amenityPane', pointToLayer: (feature, latlng) => L.circleMarker(latlng, { - radius: 3, fillColor: "blue", color: "#000", weight: 1, fillOpacity: 0.9 + radius: 0, fillColor: "#ffffff", color: "#ffffff", weight: 0, fillOpacity: 0.9 }) -}).addTo(window.matrixMap); +}); initSearch(); initSelect(); diff --git a/js/search.js b/js/search.js index 57025e1..0bc804a 100644 --- a/js/search.js +++ b/js/search.js @@ -8,6 +8,7 @@ export function initSearch() { return; } + // 收集所有有 name 属性的点 const features = []; [window.metroLayer].forEach(layerGroup => { layerGroup.eachLayer(layer => { @@ -17,8 +18,10 @@ export function initSearch() { }); }); - features.sort((a,b) => a.name.localeCompare(b.name)); + // 按名字排序 + features.sort((a, b) => a.name.localeCompare(b.name)); + // 输入框监听 input.addEventListener('input', () => { const text = input.value.trim().toLowerCase(); suggestionsDiv.innerHTML = ''; @@ -26,6 +29,7 @@ export function initSearch() { if (!text) return; const matches = features.filter(f => f.name.toLowerCase().includes(text)); + matches.forEach(f => { const div = document.createElement('div'); div.className = 'suggestion-item'; @@ -34,20 +38,40 @@ export function initSearch() { div.addEventListener('click', () => { const layer = f.layer; - if (layer.getBounds) { - window.matrixMap.fitBounds(layer.getBounds()); - layer.setStyle({ fillOpacity: 0.9 }); - } else if (layer.getLatLng) { - window.matrixMap.setView(layer.getLatLng(), 16); - layer.setStyle({ fillOpacity: 1 }); + // 1. zoom 到 marker + window.matrixMap.setView(layer.getLatLng(), 14); + + // 2. 高亮 marker(换成高亮 PNG) + layer.setIcon(window.metroIconHighlight); + + // 3. 显示名称 tooltip + if (layer._label) { + window.matrixMap.removeLayer(layer._label); } + layer._label = L.tooltip({ + permanent: true, + direction: 'top', + offset: [0, -10], + className: 'point-label' + }) + .setContent(f.name) + .setLatLng(layer.getLatLng()); + window.matrixMap.addLayer(layer._label); + // 4. 更新输入框 & 清空建议 input.value = f.name; suggestionsDiv.innerHTML = ''; + // 5. 其他 marker 恢复默认 icon 并移除 label [window.metroLayer].forEach(lg => { lg.eachLayer(l => { - if (l !== layer) l.setStyle({ fillOpacity: 0.8 }); + if (l !== layer) { + l.setIcon(window.metroIcon); // 普通 icon + if (l._label) { + window.matrixMap.removeLayer(l._label); + l._label = null; + } + } }); }); }); @@ -56,14 +80,22 @@ export function initSearch() { }); }); + // 清空按钮 clearBtn.addEventListener('click', () => { input.value = ''; suggestionsDiv.innerHTML = ''; [window.metroLayer].forEach(lg => { - lg.eachLayer(l => l.setStyle({ fillOpacity: 0.8 })); + lg.eachLayer(l => { + l.setIcon(window.metroIcon); // 恢复普通 icon + if (l._label) { + window.matrixMap.removeLayer(l._label); + l._label = null; + } + }); }); }); + // 点击页面空白处关闭建议列表 document.addEventListener('click', (e) => { if (!input.contains(e.target) && !suggestionsDiv.contains(e.target)) { suggestionsDiv.innerHTML = ''; diff --git a/png/metrostationicon.png b/png/metrostationicon.png new file mode 100644 index 0000000000000000000000000000000000000000..c4b459bb52a2078acedf527a8f4b3eaa928b7979 GIT binary patch literal 27182 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 F{|^^}rSJd% literal 0 HcmV?d00001 From 673fb916f0a8040ede085896f7fe8b1b8fc0a4f5 Mon Sep 17 00:00:00 2001 From: Haoyu Date: Fri, 28 Nov 2025 17:40:19 -0500 Subject: [PATCH 03/22] update --- css/styles.css | 282 +++++++++++++++++++++++++++++++++++++------- index.html | 167 +++++++++++++------------- js/legend_style.js | 8 +- js/main.js | 187 ++++++++++++++++------------- js/map_style.js | 6 +- js/pie.js | 6 +- js/reset.js | 36 ++++++ js/search.js | 175 +++++++++++++++++---------- js/select.js | 3 +- js/slider.js | 25 +++- png/hospital.png | Bin 0 -> 15192 bytes png/hospital_hl.png | Bin 0 -> 15192 bytes png/market.png | Bin 0 -> 14440 bytes png/market_hl.png | Bin 0 -> 14440 bytes png/school.png | Bin 0 -> 17114 bytes png/school_hl.png | Bin 0 -> 17114 bytes 16 files changed, 604 insertions(+), 291 deletions(-) create mode 100644 js/reset.js create mode 100644 png/hospital.png create mode 100644 png/hospital_hl.png create mode 100644 png/market.png create mode 100644 png/market_hl.png create mode 100644 png/school.png create mode 100644 png/school_hl.png diff --git a/css/styles.css b/css/styles.css index a699fb5..0efdec3 100644 --- a/css/styles.css +++ b/css/styles.css @@ -1,71 +1,273 @@ -html, -body { +/* Reset body/html */ +html, body { padding: 0; - /* border-box doesn't include margin, only padding */ margin: 0; height: 100%; overflow: hidden; -} - -/* layout style */ -html { font-family: sans-serif; box-sizing: border-box; - height: 100%; - /* overflow: hidden; */ } +/* Header */ header { height: 7vh; - padding: 0vh; - font-size: 10px; - box-sizing: border-box; + padding: 0; background: linear-gradient(0deg, rgba(67, 92, 92, 0.75) 0%, rgb(66, 77, 92) 100%); + display: flex; + align-items: left; + justify-content: left; } h1 { - color: rgb(255, 255, 255); - font-size: 2rem; + color: #fff; + font-size: 1.8rem; + margin: 0; + padding: 0.5rem; + text-align: left; } +/* Main layout */ main { - display:flex; - box-sizing: border-box; - flex-direction: row; - height: 93vh; - padding: 0vh; + display: flex; + height: calc(100vh - 7vh); +} + +/* Left sidebar */ +.left-side { + display: flex; + flex-direction: column; + width: 30%; + padding: 1vh 1vw; background: rgba(123, 152, 152, 0.75); + overflow-y: auto; + box-sizing: border-box; + gap: 0.5rem; } -.map { +/* Labels */ +label { + display: block; + font-weight: bold; + font-size: 1.2rem; + color: rgb(66, 77, 92); + text-align: center; width: 100%; - height: 100%; - box-sizing: border-box; + margin: 0; + padding: 0; } -.left-side { - /* border: 1px solid blue; */ - width: 500px; - padding: 2vh; +/* Sections */ +.control-section, .pie-section, .search-section { display: flex; flex-direction: column; - box-sizing: border-box; + gap: 0.2rem; + padding: 1rem; +} + +.control-section { + flex-shrink: 0; + margin: 0; + background: rgba(255, 255, 255, 0.85); + border-radius: 16px; + box-shadow: 0 2px 4px rgba(0,0,0,0.1); +} + +.pie-section { + flex-shrink: 1; + max-height: 35%; + overflow: hidden; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.search-section { + flex-shrink: 0; + margin: 0; + background: rgba(255, 255, 255, 0.85); + border-radius: 16px; + box-shadow: 0 2px 4px rgba(0,0,0,0.1); +} + +/* Category buttons */ +.category-buttons { + display: flex; + flex-wrap: wrap; + gap: 8px; + margin-top: 0; +} + +.category-buttons button { + flex: 1; + padding: 6px 12px; + border: none; + border-radius: 4px; + background-color: #46707f; + color: white; + font-size: 0.85rem; + cursor: pointer; + transition: background-color 0.2s, transform 0.1s; +} + +.category-buttons button:hover { + background-color: #99c4d5; + transform: translateY(-1px); +} + +/* Slider */ +#slider-container { + display: flex; + flex-direction: column; + gap: 0.2rem; + margin-top: 0; +} + +#slider-container label { + display: block; + margin-bottom: 0.25rem; + margin-top: 0.5rem; + font-size: 0.85rem; + font-weight: normal; + color: #423d52; + text-align: left; +} + +.noUi-target { + height: 6px !important; + border-radius: 5px !important; + background: #ddd !important; + margin-bottom: 1rem; + border: none !important; +} + +.noUi-connect { + background: #46707f !important; +} + +.noUi-handle { + width: 20px !important; + height: 20px !important; + border-radius: 50% !important; + background: #95b4bf !important; + border: 1px solid #ffffff !important; + cursor: pointer; + box-shadow: 0 2px 4px rgba(0,0,0,0.3) !important; + transition: transform 0.2s; + top: -7px !important; + right: -10px !important; +} + +.noUi-handle:hover { + transform: scale(1.2); + border-color: #2e4a55 !important; +} + +.noUi-handle:before, +.noUi-handle:after { + display: none !important; +} + +.noUi-horizontal .noUi-tooltip { + background: none !important; + border: none !important; + color: #2e4a55 !important; + font-size: 0.75rem; + padding: 0 !important; + top: 19px !important; + transform: translateX(-50%); + box-shadow: none !important; +} + +/* Search */ +#search-wrapper { + position: relative; + width: 100%; +} + +#search-container { + display: flex; + align-items: center; +} + +#entry { + flex: 1; + padding: 6px 8px; + border: 1px solid #ccc; + border-radius: 4px 0 0 4px; + outline: none; +} + +#clear-entry { + width: 24px; + height: 24px; + border: 1px solid #ccc; + border-left: 0; + border-radius: 0 4px 4px 0; + background: #f2f2f2; + cursor: pointer; + padding: 0; + line-height: 1; +} + +#search-suggestions { + position: absolute; + top: 100%; + left: 0; + right: 0; + background: #fff; + border: 1px solid #ccc; + border-top: 0; + max-height: 200px; + overflow-y: auto; + z-index: 1000; + display: none; +} + +/* Selects side by side */ +.selects-row { + display: flex; + gap: 10px; + margin-top: 0.5rem; +} + +.selects-row select { + flex: 1; + padding: 4px 6px; + border-radius: 4px; + border: 1px solid #ccc; +} + +/* Map */ +.map { + flex: 1; + min-height: 0; } + +/* Metro label */ +.metro-label { + background: rgba(255,255,255,0.8); + border-radius: 4px; + padding: 2px 4px; + font-size: 8px; + text-align: center; + box-shadow: none !important; +} + +/* Legend */ .legend-box { - padding: 10px; - background: white; - border: 1px solid #ccc; - border-radius: 6px; - font-size: 14px; - line-height: 18px; - margin-bottom: 10px; + background: white; + border-radius: 6px; + font-size: 14px; + line-height: 18px; + margin-bottom: 10px; + padding: 6px; } .legend-color { - display: inline-block; - width: 18px; - height: 18px; - margin-right: 6px; - border: 1px solid #00000055; - vertical-align: middle; + display: inline-block; + width: 18px; + height: 18px; + margin-right: 6px; + vertical-align: middle; } diff --git a/index.html b/index.html index 33a489b..17e519f 100644 --- a/index.html +++ b/index.html @@ -1,92 +1,87 @@ - - - - - - - - Inundation Risk Index Dashboard - - - - - - - - - - - - - -
-

Inundation Risk Index in Hangzhou Center Districts

-
-
- -
-
-
- Zoom into one category -
- - - -
- -
- -
- -
-
-
- -
-
-
- -
-

Risk Units Distribution

- + + + +Inundation Risk Index Dashboard + + + + + + + + + + + + + + + +
+

Inundation Risk Index in Hangzhou Center Districts

+
+ +
+
+ + + +
+
+ + + + +
+ +
+ +
+ +
+
+ + + +
+ +
- - - -
- -
- - -
+ + +
+
+ + +
+
+
+ +
- -
- -
- - - - - - - - - \ No newline at end of file + +
+ + +
+
+ + + + + + + + + + diff --git a/js/legend_style.js b/js/legend_style.js index d93802c..9041f79 100644 --- a/js/legend_style.js +++ b/js/legend_style.js @@ -13,14 +13,14 @@ const matrixLegend = ` const imperviousLegend = ` Impervious
-
Low
-
High
+
Low Percent
+
High Percent
`; const inundationLegend = ` Inundation
-
Low
-
High
+
Low Risk
+
High Risk
`; export { matrixLegend, imperviousLegend, inundationLegend }; diff --git a/js/main.js b/js/main.js index 033d08c..37f2335 100644 --- a/js/main.js +++ b/js/main.js @@ -1,92 +1,113 @@ -import { initializeMap, initialMatrix } from './map.js'; +import { initializeMap } from './map.js'; import { initSelect } from './select.js'; import { initSearch } from './search.js'; import { initPieChart } from './pie.js'; +import { impSlider, inuSlider } from './slider.js'; // ✅ 导入 slider +import { resetManager } from './reset.js'; + +export async function initApp(resetLeftSide = false) { + // 1. 获取数据 + const hz_matrix = await fetch('data/data.geojson'); + const matrix = await hz_matrix.json(); + + const hz_metro = await fetch("data/metrostation.geojson"); + const metro = await hz_metro.json(); + + const hz_amenity = await fetch("data/amenity.geojson"); + const amenity = await hz_amenity.json(); + + // 2. 初始化地图 + if (window.matrixMap) window.matrixMap.remove(); // 清理旧地图 + window.matrixMap = initializeMap(matrix); + + // 保存初始 matrix,用于 pieChart reset + window.initialMatrix = window.initialMatrix || matrix; + + // 3. 创建 Pane + const createPane = (name, zIndex) => { + window.matrixMap.createPane(name); + const pane = window.matrixMap.getPane(name); + pane.style.zIndex = zIndex; + pane.style.pointerEvents = 'auto'; + }; + createPane('metroPane', 650); + createPane('amenityPane', 640); + + // 4. 初始化图标 + window.metroIcon = L.icon({ + iconUrl: 'png/metrostationicon.png', + iconSize: [20, 20], + iconAnchor: [10, 10] + }); + window.metroIconHighlight = L.icon({ + iconUrl: 'png/metrostationicon_highlight.png', + iconSize: [40, 40], + iconAnchor: [20, 20] + }); + + window.amenityIcons = { + school: L.icon({ iconUrl: "png/school.png", iconSize: [20, 20], iconAnchor: [10, 10] }), + hospital: L.icon({ iconUrl: "png/hospital.png", iconSize: [20, 20], iconAnchor: [10, 10] }), + market: L.icon({ iconUrl: "png/market.png", iconSize: [20, 20], iconAnchor: [10, 10] }), + }; + window.amenityIconsHighlight = { + school: L.icon({ iconUrl: "png/school_hl.png", iconSize: [40, 40], iconAnchor: [20, 20] }), + hospital: L.icon({ iconUrl: "png/hospital_hl.png", iconSize: [40, 40], iconAnchor: [20, 20] }), + market: L.icon({ iconUrl: "png/market_hl.png", iconSize: [40, 40], iconAnchor: [20, 20] }), + }; + window.defaultAmenityIcon = L.icon({ iconUrl: "png/market.png", iconSize: [20, 20], iconAnchor: [10, 10] }); + window.defaultAmenityIconHighlight = L.icon({ iconUrl: "png/market_hl.png", iconSize: [40, 40], iconAnchor: [20, 20] }); + + // 5. 初始化 geoJSON 图层 + window.metroLayer = L.geoJSON(metro, { + pane: 'metroPane', + pointToLayer: (feature, latlng) => { + const marker = L.marker(latlng, { icon: window.metroIcon }); + const name = feature.properties.name || ''; + const address = feature.properties.address || ''; + const labelHtml = `
${name}
${address}
`; + marker.bindTooltip(labelHtml, { permanent: true, direction: 'right', className: 'metro-label' }); + return marker; + } + }); + + window.amenityLayer = L.geoJSON(amenity, { + pane: 'amenityPane', + pointToLayer: (feature, latlng) => { + const cat = feature.properties.category; + const icon = window.amenityIcons[cat] || window.defaultAmenityIcon; + return L.marker(latlng, { icon }); + } + }); + + // 6. 绑定地图 zoom 事件 + window.matrixMap.on('zoomend', () => { + const z = window.matrixMap.getZoom(); + if (z >= 12) { + if (!window.matrixMap.hasLayer(window.metroLayer)) window.matrixMap.addLayer(window.metroLayer); + } else { + if (window.matrixMap.hasLayer(window.metroLayer)) window.matrixMap.removeLayer(window.metroLayer); + } + }); -const hz_matrix = await fetch('data/data.geojson'); -const matrix = await hz_matrix.json(); - -const pieChart = initPieChart(matrix); - -const hz_metro = await fetch("data/metrostation.geojson"); -const metro = await hz_metro.json(); - -const hz_amenity = await fetch("data/amenity.geojson"); -const amenity = await hz_amenity.json(); - -window.matrixMap = initializeMap(matrix); -window.initialMatrix = initialMatrix; - -window.matrixMap.createPane('metroPane'); -window.matrixMap.getPane('metroPane').style.zIndex = 650; -window.matrixMap.getPane('metroPane').style.pointerEvents = 'auto'; - -window.metroIcon = L.icon({ - iconUrl: 'png/metrostationicon.png', - iconSize: [20, 20], - iconAnchor: [10, 10] -}); - -window.metroIconHighlight = L.icon({ - iconUrl: 'png/metrostationicon_highlight.png', - iconSize: [40, 40], - iconAnchor: [20, 20] -}); + // 7. 初始化 Pie Chart + if (window.pieChart) window.pieChart.destroy(); + window.pieChart = initPieChart(matrix); -window.metroLayer = L.geoJSON(metro, { - pane: 'metroPane', - pointToLayer: (feature, latlng) => - L.marker(latlng, { icon: window.metroIcon }) -}); + // 8. 初始化控件 + initSearch(); + initSelect(); -const METRO_MIN_ZOOM = 12; - -window.matrixMap.on('zoomend', () => { - const z = window.matrixMap.getZoom(); - - if (z >= METRO_MIN_ZOOM) { - if (!window.matrixMap.hasLayer(window.metroLayer)) { - window.matrixMap.addLayer(window.metroLayer); - - window.metroLayer.eachLayer(layer => { - if (!layer._label) { - layer._label = L.tooltip({ - permanent: false, - direction: 'top', - offset: [0, -10], - className: 'point-label' - }) - .setContent(` -
- ${layer.feature.properties.name}
- ${layer.feature.properties.address || ''} -
- `) - .setLatLng(layer.getLatLng()); - - window.matrixMap.addLayer(layer._label); - } - }); - } - } else { - if (window.matrixMap.hasLayer(window.metroLayer)) { - window.metroLayer.eachLayer(layer => { - if (layer._label) { - window.matrixMap.removeLayer(layer._label); - layer._label = null; - } - }); - window.matrixMap.removeLayer(window.metroLayer); - } + // 9. Reset 左侧界面(Matrix + Slider + 下拉 + 搜索) + if (resetLeftSide) { + resetManager.resetLeftSide(); // ✅ 调用 resetManager 内的逻辑 } -}); +} -window.amenityLayer = L.geoJSON(amenity, { - pane: 'amenityPane', - pointToLayer: (feature, latlng) => L.circleMarker(latlng, { - radius: 0, fillColor: "#ffffff", color: "#ffffff", weight: 0, fillOpacity: 0.9 - }) -}); +// 首次初始化 +await initApp(true); -initSearch(); -initSelect(); +// reset 按钮调用 +document.getElementById("reset").addEventListener("click", async () => { + await initApp(true); +}); diff --git a/js/map_style.js b/js/map_style.js index 50a505c..205d090 100644 --- a/js/map_style.js +++ b/js/map_style.js @@ -52,7 +52,7 @@ function calImpervious(feature) { const r = Math.round(255 * pct); const g = Math.round(255 * (1 - pct)); - const b = 0; + const b = 100; const color = `rgb(${r},${g},${b})`; @@ -68,9 +68,9 @@ function calImpervious(feature) { function calInundation(feature) { const inund = feature.properties.inund_mean; - const r = Math.round(255 * inund); + const r = 100; const g = Math.round(255 * (1 - inund)); - const b = 0; + const b = Math.round(255 * inund); const color = `rgb(${r},${g},${b})`; diff --git a/js/pie.js b/js/pie.js index 5903113..341b03d 100644 --- a/js/pie.js +++ b/js/pie.js @@ -64,17 +64,17 @@ export function initPieChart(matrix) { color: '#ffffffff', font: { weight: 'bold', - size: 12 + size: 10 }, anchor: 'end', align: 'end', - offset: 2, + offset: 0, formatter: (value, context) => { return value; } } }, - radius: '70%' + radius: '80%' }, plugins: [ChartDataLabels] }); diff --git a/js/reset.js b/js/reset.js new file mode 100644 index 0000000..8876693 --- /dev/null +++ b/js/reset.js @@ -0,0 +1,36 @@ +import { initApp } from './main.js'; +import { impSlider, inuSlider } from './slider.js'; // ✅ 导入 slider + +export const resetManager = { + resetAll: async function() { + await initApp(true); + }, + + resetMapView: async function() { + await initApp(false); + }, + + resetLeftSide: function() { + const matrixBtn = document.getElementById("setmatrix"); + if (matrixBtn) matrixBtn.click(); + + const sliderContainer = document.getElementById("slider-container"); + if (sliderContainer) sliderContainer.style.display = "block"; + + // ✅ 重置 slider + if (impSlider && inuSlider) { + impSlider.noUiSlider.set([0.4, 0.8]); + inuSlider.noUiSlider.set([0.5, 3]); + } + + const selStation = document.getElementById("select"); + const selAmenity = document.getElementById("select-amenity"); + if (selStation) selStation.selectedIndex = 0; + if (selAmenity) selAmenity.selectedIndex = 0; + + const entry = document.getElementById("entry"); + if (entry) entry.value = ""; + const sug = document.getElementById("search-suggestions"); + if (sug) sug.style.display = "none"; + } +}; diff --git a/js/search.js b/js/search.js index 0bc804a..e290439 100644 --- a/js/search.js +++ b/js/search.js @@ -3,102 +3,149 @@ export function initSearch() { const clearBtn = document.getElementById('clear-entry'); const suggestionsDiv = document.getElementById('search-suggestions'); - if (!window.metroLayer) { - console.error("metroLayer not initialized yet!"); + if (!window.metroLayer || !window.amenityLayer) { + console.error("Layers not initialized yet!"); return; } - // 收集所有有 name 属性的点 + // -------------------------------- + // 1. 生成搜索数据 + // -------------------------------- const features = []; - [window.metroLayer].forEach(layerGroup => { + + function collectFeatures(layerGroup, type) { layerGroup.eachLayer(layer => { - if (layer.feature && layer.feature.properties && layer.feature.properties.name) { - features.push({ name: layer.feature.properties.name, layer }); + const props = layer.feature?.properties; + if (props?.name) { + features.push({ + name: props.name, + category: props.category || null, + type, + layer + }); } }); - }); + } + + collectFeatures(window.metroLayer, "metro"); + collectFeatures(window.amenityLayer, "amenity"); - // 按名字排序 features.sort((a, b) => a.name.localeCompare(b.name)); - // 输入框监听 + // -------------------------------- + // 2. 输入监听 + // -------------------------------- input.addEventListener('input', () => { const text = input.value.trim().toLowerCase(); suggestionsDiv.innerHTML = ''; - + suggestionsDiv.style.display = text ? 'block' : 'none'; if (!text) return; - const matches = features.filter(f => f.name.toLowerCase().includes(text)); + const matches = features.filter(f => + f.name.toLowerCase().includes(text) + ); matches.forEach(f => { const div = document.createElement('div'); div.className = 'suggestion-item'; div.textContent = f.name; - - div.addEventListener('click', () => { - const layer = f.layer; - - // 1. zoom 到 marker - window.matrixMap.setView(layer.getLatLng(), 14); - - // 2. 高亮 marker(换成高亮 PNG) - layer.setIcon(window.metroIconHighlight); - - // 3. 显示名称 tooltip - if (layer._label) { - window.matrixMap.removeLayer(layer._label); - } - layer._label = L.tooltip({ - permanent: true, - direction: 'top', - offset: [0, -10], - className: 'point-label' - }) - .setContent(f.name) - .setLatLng(layer.getLatLng()); - window.matrixMap.addLayer(layer._label); - - // 4. 更新输入框 & 清空建议 - input.value = f.name; - suggestionsDiv.innerHTML = ''; - - // 5. 其他 marker 恢复默认 icon 并移除 label - [window.metroLayer].forEach(lg => { - lg.eachLayer(l => { - if (l !== layer) { - l.setIcon(window.metroIcon); // 普通 icon - if (l._label) { - window.matrixMap.removeLayer(l._label); - l._label = null; - } - } - }); - }); - }); - + div.addEventListener('click', () => handleSelect(f)); suggestionsDiv.appendChild(div); }); }); - // 清空按钮 + // -------------------------------- + // 3. 选择搜索结果 + // -------------------------------- + function handleSelect(f) { + const layer = f.layer; + const latlng = layer.getLatLng(); + + // 移动地图 + window.matrixMap.setView(latlng, 13); + + // 重置所有 icon & 隐藏所有 amenity + resetAllIcons(); + + if (f.type === "metro") { + layer.setIcon(window.metroIconHighlight); + } else if (f.type === "amenity") { + const cat = f.category; + const highlightIcon = + window.amenityIconsHighlight?.[cat] || window.defaultAmenityIconHighlight; + layer.setIcon(highlightIcon); + + // 只显示选中的 amenity + if (!window.matrixMap.hasLayer(layer)) { + window.matrixMap.addLayer(layer); + } + } + + // tooltip label + if (layer._label) { + window.matrixMap.removeLayer(layer._label); + } + layer._label = L.tooltip({ + permanent: true, + direction: 'top', + offset: [0, -10], + className: 'point-label' + }) + .setContent(f.name) + .setLatLng(latlng); + window.matrixMap.addLayer(layer._label); + + // 输入框填入内容 & 清空建议 + input.value = f.name; + suggestionsDiv.innerHTML = ''; + suggestionsDiv.style.display = 'none'; + } + + // -------------------------------- + // 4. reset all icons & 隐藏所有 amenity + // -------------------------------- + function resetAllIcons() { + // metro + window.metroLayer.eachLayer(l => { + if (l.setIcon) l.setIcon(window.metroIcon); + if (l._label) { + window.matrixMap.removeLayer(l._label); + l._label = null; + } + }); + + // amenity 默认隐藏 + window.amenityLayer.eachLayer(l => { + if (window.matrixMap.hasLayer(l)) { + window.matrixMap.removeLayer(l); + } + const cat = l.feature?.properties?.category; + const icon = window.amenityIcons?.[cat] || window.defaultAmenityIcon; + if (l.setIcon) l.setIcon(icon); + if (l._label) { + window.matrixMap.removeLayer(l._label); + l._label = null; + } + }); + } + + // -------------------------------- + // 5. 清空按钮 + // -------------------------------- clearBtn.addEventListener('click', () => { input.value = ''; suggestionsDiv.innerHTML = ''; - [window.metroLayer].forEach(lg => { - lg.eachLayer(l => { - l.setIcon(window.metroIcon); // 恢复普通 icon - if (l._label) { - window.matrixMap.removeLayer(l._label); - l._label = null; - } - }); - }); + suggestionsDiv.style.display = 'none'; + resetAllIcons(); }); - // 点击页面空白处关闭建议列表 + // -------------------------------- + // 6. 点击空白隐藏建议 + // -------------------------------- document.addEventListener('click', (e) => { if (!input.contains(e.target) && !suggestionsDiv.contains(e.target)) { suggestionsDiv.innerHTML = ''; + suggestionsDiv.style.display = 'none'; } }); } diff --git a/js/select.js b/js/select.js index 927b2a2..d5d69bd 100644 --- a/js/select.js +++ b/js/select.js @@ -11,8 +11,6 @@ export function initSelect() { features.sort((a,b) => a.name.localeCompare(b.name)); - searchSelect.innerHTML = ''; - features.forEach(f => { const option = document.createElement('option'); option.value = f.name; @@ -34,3 +32,4 @@ export function initSelect() { window.metroLayer.eachLayer(l => { if(l !== layer) l.setStyle({ fillOpacity: 0.8 }); }); }); } + diff --git a/js/slider.js b/js/slider.js index b926b53..ed10438 100644 --- a/js/slider.js +++ b/js/slider.js @@ -1,22 +1,24 @@ const impSlider = document.getElementById('imp-slider'); const inuSlider = document.getElementById('inu-slider'); +// 初始化 impervious slider noUiSlider.create(impSlider, { - start: [0.4, 0.8], - connect: true, - range: {min: 0,max: 1}, - tooltips: [true, true], + start: [0.4, 0.8], + connect: true, + range: { min: 0, max: 1 }, + tooltips: [true, true], format: { to: v => v.toFixed(2), from: v => parseFloat(v) } }); +// 初始化 inundation slider noUiSlider.create(inuSlider, { - start: [0.5, 3], + start: [0.5, 3], connect: true, step: 0.5, - range: {min: 0,max: 5}, + range: { min: 0, max: 5 }, tooltips: [true, true], format: { to: v => v.toFixed(1), @@ -24,6 +26,7 @@ noUiSlider.create(inuSlider, { } }); +// 获取当前阈值 export function getImpThresholds() { const values = impSlider.noUiSlider.get(); return { @@ -40,7 +43,17 @@ export function getInuThresholds() { }; } +// 监听 slider 更新事件 export function onSliderChange(callback) { impSlider.noUiSlider.on('update', callback); inuSlider.noUiSlider.on('update', callback); } + +// **新增**:提供重置 slider 的函数 +export function resetSliders() { + impSlider.noUiSlider.set([0.4, 0.8]); + inuSlider.noUiSlider.set([0.5, 3]); +} + +// 导出 slider DOM(供 main.js 使用) +export { impSlider, inuSlider }; diff --git a/png/hospital.png b/png/hospital.png new file mode 100644 index 0000000000000000000000000000000000000000..b1c756286436227a224a60792ae623dc5dbfb676 GIT binary patch literal 15192 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 NDU+u~ej6c@{x>OOXj=dP literal 0 HcmV?d00001 diff --git a/png/hospital_hl.png b/png/hospital_hl.png new file mode 100644 index 0000000000000000000000000000000000000000..b1c756286436227a224a60792ae623dc5dbfb676 GIT binary patch literal 15192 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 NDU+u~ej6c@{x>OOXj=dP literal 0 HcmV?d00001 diff --git a/png/market.png b/png/market.png new file mode 100644 index 0000000000000000000000000000000000000000..e58caa4a68caa97cf87fbd0b30719f2b3de91f3d GIT binary patch literal 14440 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 literal 0 HcmV?d00001 diff --git a/png/school_hl.png b/png/school_hl.png new file mode 100644 index 0000000000000000000000000000000000000000..72162267bc837680edbabb8130e16ba1f7e97f13 GIT binary patch literal 17114 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 literal 0 HcmV?d00001 From e6604da557c876b2e73ddf274dd3909d87e51d79 Mon Sep 17 00:00:00 2001 From: Haoyu Date: Fri, 28 Nov 2025 20:53:14 -0500 Subject: [PATCH 04/22] update --- css/styles.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/css/styles.css b/css/styles.css index 0efdec3..099ea41 100644 --- a/css/styles.css +++ b/css/styles.css @@ -256,9 +256,9 @@ label { /* Legend */ .legend-box { - background: white; + background: rgba(255, 255, 255, 0.354); border-radius: 6px; - font-size: 14px; + font-size: 0.85rem; line-height: 18px; margin-bottom: 10px; padding: 6px; From 1c347ecdeba431fa16b6387118bc7ca45eb4cc04 Mon Sep 17 00:00:00 2001 From: Haoyu Date: Sat, 29 Nov 2025 15:57:21 -0500 Subject: [PATCH 05/22] update --- css/styles.css | 95 ++++++++++++++++++++++++++++++++------- index.html | 11 +++-- js/lang.js | 77 ++++++++++++++++++++++++++++++++ js/main.js | 25 ++++------- js/pie.js | 2 +- js/search.js | 25 ----------- js/select.js | 118 ++++++++++++++++++++++++++++++++++++++++++++++--- 7 files changed, 286 insertions(+), 67 deletions(-) create mode 100644 js/lang.js diff --git a/css/styles.css b/css/styles.css index 099ea41..a26a567 100644 --- a/css/styles.css +++ b/css/styles.css @@ -14,8 +14,26 @@ header { padding: 0; background: linear-gradient(0deg, rgba(67, 92, 92, 0.75) 0%, rgb(66, 77, 92) 100%); display: flex; - align-items: left; - justify-content: left; + align-items: center; + justify-content: space-between; + padding: 0 1rem; +} + +#lang-toggle { + padding: 6px 16px; + border: 2px solid #fff; + border-radius: 20px; + background: rgba(255, 255, 255, 0.2); + color: #fff; + font-size: 0.9rem; + font-weight: bold; + cursor: pointer; + transition: all 0.3s; +} + +#lang-toggle:hover { + background: rgba(255, 255, 255, 0.3); + transform: scale(1.05); } h1 { @@ -183,28 +201,27 @@ label { #search-wrapper { position: relative; width: 100%; -} - -#search-container { - display: flex; - align-items: center; + display: flex; + align-items: center; + flex-wrap: wrap; } #entry { flex: 1; + min-width: 0; padding: 6px 8px; border: 1px solid #ccc; - border-radius: 4px 0 0 4px; + border-radius: 4px; outline: none; } #clear-entry { width: 24px; height: 24px; - border: 1px solid #ccc; - border-left: 0; - border-radius: 0 4px 4px 0; - background: #f2f2f2; + border: 0px; + border-left: 1px; + border-radius: 4px; + background: #ffffff; cursor: pointer; padding: 0; line-height: 1; @@ -212,7 +229,7 @@ label { #search-suggestions { position: absolute; - top: 100%; + bottom: 100%; left: 0; right: 0; background: #fff; @@ -222,6 +239,14 @@ label { overflow-y: auto; z-index: 1000; display: none; + font-size: 0.8rem; + color: #595959; + line-height: 1.4; + padding: 4px 8px; +} + +#search-suggestions div:hover { + background-color: #f0f0f0; } /* Selects side by side */ @@ -229,13 +254,51 @@ label { display: flex; gap: 10px; margin-top: 0.5rem; + width: 100%; } .selects-row select { flex: 1; - padding: 4px 6px; + min-width: 0; + padding: 6px 8px; border-radius: 4px; border: 1px solid #ccc; + background-color: #fff; + font-size: 0.8rem; + color: #6a6a6a; + cursor: pointer; + outline: none; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.selects-row select:hover { + border-color: #46707f; + background-color: #f9f9f9; +} + +.selects-row select:focus { + border-color: #46707f; + box-shadow: 0 0 0 2px rgba(70, 112, 127, 0.2); +} + +.selects-row select option { + padding: 6px 8px; + font-size: 0.8rem; + color: #595959;; + background-color: #fff; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.selects-row select option:hover { + background-color: #f0f0f0; +} + +.selects-row select option:disabled { + color: #999; } /* Map */ @@ -256,7 +319,7 @@ label { /* Legend */ .legend-box { - background: rgba(255, 255, 255, 0.354); + background: rgba(255, 255, 255, 0.567); border-radius: 6px; font-size: 0.85rem; line-height: 18px; @@ -271,3 +334,5 @@ label { margin-right: 6px; vertical-align: middle; } + +/* map */ diff --git a/index.html b/index.html index 17e519f..d66c5b1 100644 --- a/index.html +++ b/index.html @@ -21,7 +21,11 @@
-

Inundation Risk Index in Hangzhou Center Districts

+

+ Inundation Risk Index in Hangzhou Center Districts +

+
@@ -55,13 +59,14 @@

Inundation Risk Index in Hangzhou Center Districts

- +
- diff --git a/js/map.js b/js/map.js index 0fae28c..096e93f 100644 --- a/js/map.js +++ b/js/map.js @@ -2,13 +2,15 @@ import { calMatrix, calImpervious, calInundation } from './map_style.js'; import { onSliderChange } from './slider.js'; import { matrixLegend, imperviousLegend, inundationLegend } from './legend_style.js'; -let initialMatrix,map,impervious,inundation; +let initialMatrix, map, impervious, inundation; let legend; +let selectedLayers = new Set(); +let currentLayer; const sliderContainer = document.getElementById("slider-container"); -function initializeMap(matrix) { // remember to input all the layers specify below - map = L.map('map', {zoomSnap: 0}).setView([30.25, 120.15], 11); // zoomSnap 0 make the zoom level to real number +function initializeMap(matrix) { + map = L.map('map', {zoomSnap: 0}).setView([30.25, 120.15], 11); const baseTileLayer = L.tileLayer('https://api.mapbox.com/styles/v1/junyiy/clng7r3oq083901qx0eu9gaor/tiles/256/{z}/{x}/{y}@2x?access_token=pk.eyJ1IjoianVueWl5IiwiYSI6ImNsdWVxcHowcDBxbWUyam92MWx5aW40MnkifQ.QR9kni83fZBO-EFBXAaX7g', { maxZoom: 19, zoomOffset: -1, @@ -17,101 +19,109 @@ function initializeMap(matrix) { // remember to input all the layers specify bel }); baseTileLayer.addTo(map); -function hexTooltipContent(l) { - const imp = (l.feature.properties.pct_2025 * 100).toFixed(2); - const inu = l.feature.properties.inund_mean.toFixed(2); + function hexTooltipContent(l) { + const imp = (l.feature.properties.pct_2025 * 100).toFixed(2); + const inu = l.feature.properties.inund_mean.toFixed(2); - return ` -
- Imp ${imp}%
- Inu ${inu} -
- `; -} + return ` +
+ Imp ${imp}%
+ Inu ${inu} +
+ `; + } -const tooltipOptions = { - direction: "center", - offset: [0, 0], - opacity: 1, - className: "my-tooltip", - permanent: false -}; + const tooltipOptions = { + direction: "center", + offset: [0, 0], + opacity: 1, + className: "hex-tooltip", + permanent: false + }; + + function attachHexEvents(layer) { + layer.unbindTooltip(); + + layer.on("mouseover", () => { + if (!selectedLayers.has(layer)) { + L.DomUtil.addClass(layer._path, "hex-hover"); + } + }); + + layer.on("mouseout", () => { + if (!selectedLayers.has(layer)) { + L.DomUtil.removeClass(layer._path, "hex-hover"); + } + }); -let selectedLayers = new Set(); + layer.on("click", () => { + if (selectedLayers.has(layer)) { + selectedLayers.delete(layer); + L.DomUtil.removeClass(layer._path, "hex-selected"); + layer.unbindTooltip(); + } else { + selectedLayers.add(layer); + L.DomUtil.addClass(layer._path, "hex-selected"); + + layer.bindTooltip(hexTooltipContent(layer), { + ...tooltipOptions, + permanent: true + }).openTooltip(); + } + }); + } -function attachHexEvents(layer) { + initialMatrix = L.geoJSON(matrix, { + style: calMatrix, + onEachFeature: (feature, layer) => attachHexEvents(layer) + }).addTo(map); - layer.unbindTooltip(); - - layer.on("mouseover", () => { - if (!selectedLayers.has(layer)) { - L.DomUtil.addClass(layer._path, "hex-hover"); - } - }); - - layer.on("mouseout", () => { - if (!selectedLayers.has(layer)) { - L.DomUtil.removeClass(layer._path, "hex-hover"); - } + impervious = L.geoJSON(matrix, { + style: calImpervious, + onEachFeature: (feature, layer) => attachHexEvents(layer) }); - layer.on("click", () => { - if (selectedLayers.has(layer)) { - selectedLayers.delete(layer); - L.DomUtil.removeClass(layer._path, "hex-selected"); - layer.unbindTooltip(); - } else { - selectedLayers.add(layer); - L.DomUtil.addClass(layer._path, "hex-selected"); - - layer.bindTooltip(hexTooltipContent(layer), { - ...tooltipOptions, - permanent: true - }).openTooltip(); - } + inundation = L.geoJSON(matrix, { + style: calInundation, + onEachFeature: (feature, layer) => attachHexEvents(layer) }); -} - -initialMatrix = L.geoJSON(matrix, { - style: calMatrix, - onEachFeature: (feature, layer) => attachHexEvents(layer) -}) -.addTo(map); -impervious = L.geoJSON(matrix, { - style: calImpervious, - onEachFeature: (feature, layer) => attachHexEvents(layer) -}) + map.fitBounds(initialMatrix.getBounds()); -inundation = L.geoJSON(matrix, { - style: calInundation, - onEachFeature: (feature, layer) => attachHexEvents(layer) -}) + // 设置当前图层 + currentLayer = initialMatrix; -map.fitBounds(initialMatrix.getBounds()); + // 创建全局访问对象,供 pie chart 使用 + window.mapLayers = { + selectedLayers: selectedLayers, + currentLayer: currentLayer, + map: map, + hexTooltipContent: hexTooltipContent, + tooltipOptions: tooltipOptions + }; - //create legend + // 创建 legend legend = L.control({ position: 'bottomright' }); - //create legend context legend.onAdd = function() { - this.div = L.DomUtil.create('div', 'legend-box'); - return this.div; - }; + this.div = L.DomUtil.create('div', 'legend-box'); + return this.div; + }; legend.addTo(map); - // initail legend + // 初始 legend setLegend(matrixLegend); // slider change onSliderChange(() => { - initialMatrix.eachLayer((layer) => { - layer.setStyle(calMatrix(layer.feature)); - }); + initialMatrix.eachLayer((layer) => { + layer.setStyle(calMatrix(layer.feature)); }); + }); return map; } -//change legend + +// 改变 legend function setLegend(html) { if (legend && legend.div) { legend.div.innerHTML = html; @@ -119,9 +129,17 @@ function setLegend(html) { } function resetLayers() { - map.removeLayer(initialMatrix); - map.removeLayer(impervious); - map.removeLayer(inundation); + // 清除所有选中状态 + selectedLayers.forEach(layer => { + L.DomUtil.removeClass(layer._path, "hex-selected"); + layer.unbindTooltip(); + }); + selectedLayers.clear(); + + // 移除图层 + if (map.hasLayer(initialMatrix)) map.removeLayer(initialMatrix); + if (map.hasLayer(impervious)) map.removeLayer(impervious); + if (map.hasLayer(inundation)) map.removeLayer(inundation); } document.getElementById("matrix").addEventListener("click", () => { @@ -129,18 +147,26 @@ document.getElementById("matrix").addEventListener("click", () => { initialMatrix.addTo(map); sliderContainer.style.display = "block"; setLegend(matrixLegend); + currentLayer = initialMatrix; + window.mapLayers.currentLayer = initialMatrix; }); + document.getElementById("impervious").addEventListener("click", () => { resetLayers(); impervious.addTo(map); sliderContainer.style.display = "none"; setLegend(imperviousLegend); + currentLayer = impervious; + window.mapLayers.currentLayer = impervious; }); + document.getElementById("inundation").addEventListener("click", () => { resetLayers(); inundation.addTo(map); sliderContainer.style.display = "none"; setLegend(inundationLegend); + currentLayer = inundation; + window.mapLayers.currentLayer = inundation; }); export { diff --git a/js/pie.js b/js/pie.js index 2e1d5d6..874c2d5 100644 --- a/js/pie.js +++ b/js/pie.js @@ -1,10 +1,10 @@ import { getImpThresholds, getInuThresholds, onSliderChange } from './slider.js'; let pieChart; +let selectedSegments = new Set(); export function initPieChart(matrix) { const Chart = window.Chart; - if (!Chart) { console.error('Chart.js is not loaded'); return null; @@ -41,15 +41,15 @@ export function initPieChart(matrix) { datasets: [{ label: 'Risk Units', data: values, - backgroundColor: colors + backgroundColor: colors, + borderWidth: Array(values.length).fill(2), + borderColor: Array(values.length).fill('#ffffff') }] }, options: { responsive: true, plugins: { - legend: { - display: false - }, + legend: { display: false }, tooltip: { callbacks: { label: function(context) { @@ -61,33 +61,106 @@ export function initPieChart(matrix) { } }, datalabels: { - color: '#ffffffff', - font: { - weight: 'bold', - size: 12 - }, - anchor: 'end', - align: 'end', - offset: 0, - formatter: (value, context) => { - return value; + color: '#423d52', + font: { weight: 'bold', size: 12 }, + anchor: 'end', + align: 'end', + offset: 0, + formatter: (value) => value + } + }, + radius: '80%', + onClick: (event, elements) => { + if (elements.length > 0) { + const index = elements[0].index; + if (selectedSegments.has(index)) { + selectedSegments.delete(index); + } else { + selectedSegments.add(index); } + updateBorderWidth(); + highlightHexByMultipleRisks(matrix); } - }, - radius: '80%' + } }, - plugins: [ChartDataLabels] + plugins: [ChartDataLabels] }); onSliderChange(() => updatePieChart(matrix)); + window.pieChartControls = { + clearSelection: () => { + selectedSegments.clear(); + updateBorderWidth(); + highlightHexByMultipleRisks(matrix); + } + }; + return pieChart; } -function computeDistribution(matrix) { +function updateBorderWidth() { + if (!pieChart) return; + const dataset = pieChart.data.datasets[0]; + dataset.borderColor = dataset.data.map((_, i) => + selectedSegments.has(i) ? '#000000' : '#ffffff'); + pieChart.update(); +} + +function highlightHexByMultipleRisks(matrix) { + if (!window.mapLayers) { + console.error('Map layers not available'); + return; + } + const { impMid, impHigh } = getImpThresholds(); const { inuMid, inuHigh } = getInuThresholds(); + window.mapLayers.currentLayer.eachLayer(layer => { + if (window.mapLayers.selectedLayers.has(layer)) { + window.mapLayers.selectedLayers.delete(layer); + L.DomUtil.removeClass(layer._path, "hex-selected"); + layer.unbindTooltip(); + } + }); + + if (selectedSegments.size === 0) { + if (window.updateSelectionCount) { + window.updateSelectionCount(); + } + return; + } + + const selectedLabels = Array.from(selectedSegments).map(i => pieChart.data.labels[i]); + + window.mapLayers.currentLayer.eachLayer(layer => { + const f = layer.feature; + const pct = f.properties.pct_2025; + const inund = f.properties.inund_mean; + + let imperv = 'Low'; + if (pct > impHigh) imperv = 'High'; + else if (pct > impMid) imperv = 'Medium'; + + let inun = 'Low'; + if (inund > inuHigh) inun = 'High'; + else if (inund > inuMid) inun = 'Medium'; + + const hexRisk = `${imperv} Impervious - ${inun} Inundation`; + + if (selectedLabels.includes(hexRisk)) { + window.mapLayers.selectedLayers.add(layer); + L.DomUtil.addClass(layer._path, "hex-selected"); + } + }); + if (window.updateSelectionCount) { + window.updateSelectionCount(); + } +} + +function computeDistribution(matrix) { + const { impMid, impHigh } = getImpThresholds(); + const { inuMid, inuHigh } = getInuThresholds(); const counts = {}; matrix.features.forEach(f => { @@ -95,18 +168,12 @@ function computeDistribution(matrix) { const inund = f.properties.inund_mean; let imperv = 'Low'; - if (pct > impHigh) { - imperv = 'High'; - } else if (pct > impMid) { - imperv = 'Medium'; - } + if (pct > impHigh) imperv = 'High'; + else if (pct > impMid) imperv = 'Medium'; let inun = 'Low'; - if (inund > inuHigh) { - inun = 'High'; - } else if (inund > inuMid) { - inun = 'Medium'; - } + if (inund > inuHigh) inun = 'High'; + else if (inund > inuMid) inun = 'Medium'; const riskMatrix = `${imperv} Impervious - ${inun} Inundation`; counts[riskMatrix] = (counts[riskMatrix] || 0) + 1; @@ -117,9 +184,8 @@ function computeDistribution(matrix) { function updatePieChart(matrix) { if (!pieChart) return; - const data = computeDistribution(matrix); - + const colorMap = { 'Low Impervious - Low Inundation': '#4575b4', 'Low Impervious - Medium Inundation': '#91bfdb', @@ -139,5 +205,14 @@ function updatePieChart(matrix) { pieChart.data.labels = labels; pieChart.data.datasets[0].data = values; pieChart.data.datasets[0].backgroundColor = colors; + + selectedSegments.clear(); + pieChart.data.datasets[0].borderWidth = Array(values.length).fill(2); + pieChart.data.datasets[0].borderColor = Array(values.length).fill('#ffffff'); + pieChart.update(); + + if (window.updateSelectionCount) { + window.updateSelectionCount(); + } } \ No newline at end of file diff --git a/js/selection_tools.js b/js/selection_tools.js new file mode 100644 index 0000000..336f81b --- /dev/null +++ b/js/selection_tools.js @@ -0,0 +1,73 @@ +export function initSelectionTools() { + const countElement = document.getElementById('selected-count'); + const clearBtn = document.getElementById('clear-selection'); + const exportBtn = document.getElementById('export-selection'); + + // 更新选中数量 + function updateCount() { + if (!window.mapLayers) return; + const count = window.mapLayers.selectedLayers.size; + countElement.textContent = count; + + // 如果没有选中,禁用导出按钮 + exportBtn.disabled = count === 0; + } + + // 清除所有选中 + clearBtn.addEventListener('click', () => { + if (!window.mapLayers) return; + + window.mapLayers.selectedLayers.forEach(layer => { + L.DomUtil.removeClass(layer._path, "hex-selected"); + layer.unbindTooltip(); + }); + window.mapLayers.selectedLayers.clear(); + + // 同时清除 pie chart 的选中状态 + if (window.pieChartControls) { + window.pieChartControls.clearSelection(); + } + + updateCount(); + }); + + // 导出选中的 hexagons + exportBtn.addEventListener('click', () => { + if (!window.mapLayers || window.mapLayers.selectedLayers.size === 0) { + alert('No hexagons selected!'); + return; + } + + const features = []; + + window.mapLayers.selectedLayers.forEach(layer => { + features.push(layer.feature); + }); + + const geojson = { + type: "FeatureCollection", + features: features + }; + + // 创建下载 + const dataStr = JSON.stringify(geojson, null, 2); + const blob = new Blob([dataStr], { type: 'application/json' }); + const url = URL.createObjectURL(blob); + + const link = document.createElement('a'); + link.href = url; + link.download = `selected_hexagons_${new Date().toISOString().slice(0, 10)}.geojson`; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + URL.revokeObjectURL(url); + }); + + // 初始更新 + updateCount(); + + // 暴露更新函数 + window.updateSelectionCount = updateCount; + + return { updateCount }; +} \ No newline at end of file From d93941092448c0d27a07b283fd48b46806b37dd2 Mon Sep 17 00:00:00 2001 From: Haoyu Date: Sun, 30 Nov 2025 14:19:17 -0500 Subject: [PATCH 08/22] update --- js/main.js | 64 ++++++++++++++++---------- js/selection_tools.js | 102 +++++++++++++++++++++--------------------- 2 files changed, 92 insertions(+), 74 deletions(-) diff --git a/js/main.js b/js/main.js index f1ebc34..e7d09b7 100644 --- a/js/main.js +++ b/js/main.js @@ -5,8 +5,22 @@ import { initPieChart } from './pie.js'; import { impSlider, inuSlider } from './slider.js'; import { resetManager } from './reset.js'; import { initLanguageToggle } from './lang.js'; +import { initSelectionTools } from './selection_tools.js'; export async function initApp(resetLeftSide = false) { + // ----------- 全局变量初始化 ----------- + window.mapLayers = window.mapLayers || {}; + window.mapLayers.selectedLayers = window.mapLayers.selectedLayers || new Set(); + + // 全局计数更新函数 + window.updateSelectionCount = () => { + const countEl = document.getElementById('selected-count'); + if (!countEl) return; + const size = window.mapLayers.selectedLayers.size || 0; + countEl.textContent = size; + }; + + // ----------- 读取数据 ----------- const hz_matrix = await fetch('data/data.geojson'); const matrix = await hz_matrix.json(); @@ -16,9 +30,9 @@ export async function initApp(resetLeftSide = false) { const hz_amenity = await fetch("data/amenity.geojson"); const amenity = await hz_amenity.json(); + // ----------- 初始化地图 ----------- if (window.matrixMap) window.matrixMap.remove(); window.matrixMap = initializeMap(matrix); - window.initialMatrix = window.initialMatrix || matrix; const createPane = (name, zIndex) => { @@ -30,28 +44,25 @@ export async function initApp(resetLeftSide = false) { createPane('metroPane', 650); createPane('amenityPane', 640); - window.metroIcon = L.icon({ - iconUrl: 'png/metrostationicon.png', - iconSize: [10, 10], iconAnchor: [5, 5] - }); - window.metroIconHighlight = L.icon({ - iconUrl: 'png/metrostationicon_highlight.png', - iconSize: [30, 30], iconAnchor: [15, 15] - }); + // ----------- 地铁图标 ----------- + window.metroIcon = L.icon({ iconUrl: 'png/metrostationicon.png', iconSize: [10,10], iconAnchor: [5,5] }); + window.metroIconHighlight = L.icon({ iconUrl: 'png/metrostationicon_highlight.png', iconSize: [30,30], iconAnchor: [15,15] }); + // ----------- 公共设施图标 ----------- window.amenityIcons = { - school: L.icon({ iconUrl: "png/school.png", iconSize: [10, 10], iconAnchor: [5, 5] }), - hospital: L.icon({ iconUrl: "png/hospital.png", iconSize: [10, 10], iconAnchor: [5, 5] }), - market: L.icon({ iconUrl: "png/market.png", iconSize: [10, 10], iconAnchor: [5, 5] }), + school: L.icon({ iconUrl: "png/school.png", iconSize: [10,10], iconAnchor: [5,5] }), + hospital: L.icon({ iconUrl: "png/hospital.png", iconSize: [10,10], iconAnchor: [5,5] }), + market: L.icon({ iconUrl: "png/market.png", iconSize: [10,10], iconAnchor: [5,5] }), }; window.amenityIconsHighlight = { - school: L.icon({ iconUrl: "png/school_hl.png", iconSize: [30, 30], iconAnchor: [15, 15] }), - hospital: L.icon({ iconUrl: "png/hospital_hl.png", iconSize: [30, 30], iconAnchor: [15, 15] }), - market: L.icon({ iconUrl: "png/market_hl.png", iconSize: [30, 30], iconAnchor: [15, 15] }), + school: L.icon({ iconUrl: "png/school_hl.png", iconSize: [30,30], iconAnchor: [15,15] }), + hospital: L.icon({ iconUrl: "png/hospital_hl.png", iconSize: [30,30], iconAnchor: [15,15] }), + market: L.icon({ iconUrl: "png/market_hl.png", iconSize: [30,30], iconAnchor: [15,15] }), }; - window.defaultAmenityIcon = L.icon({ iconUrl: "png/market.png", iconSize: [10, 10], iconAnchor: [5, 5] }); - window.defaultAmenityIconHighlight = L.icon({ iconUrl: "png/market_hl.png", iconSize: [30, 30], iconAnchor: [15, 15] }); + window.defaultAmenityIcon = L.icon({ iconUrl: "png/market.png", iconSize: [10,10], iconAnchor: [5,5] }); + window.defaultAmenityIconHighlight = L.icon({ iconUrl: "png/market_hl.png", iconSize: [30,30], iconAnchor: [15,15] }); + // ----------- 地铁图层 ----------- window.metroLayer = L.geoJSON(metro, { pane: 'metroPane', pointToLayer: (feature, latlng) => { @@ -65,7 +76,6 @@ export async function initApp(resetLeftSide = false) { marker.on('mouseover', () => { if (marker.isClicking) return; - if (!marker.tooltipShown) { marker.bindTooltip(labelHtml, { permanent: true, @@ -78,19 +88,17 @@ export async function initApp(resetLeftSide = false) { }); marker.on('click', () => { marker.isClicking = true; - if (marker.getTooltip()) { marker.unbindTooltip(); marker.tooltipShown = false; - } - setTimeout(() => { - marker.isClicking = false; - }, 100); + } + setTimeout(() => marker.isClicking = false, 100); }); return marker; } }); + // ----------- 公共设施图层 ----------- window.amenityLayer = L.geoJSON(amenity, { pane: 'amenityPane', pointToLayer: (feature, latlng) => { @@ -100,6 +108,7 @@ export async function initApp(resetLeftSide = false) { } }); + // ----------- 地铁图层按缩放显示 ----------- window.matrixMap.on('zoomend', () => { const z = window.matrixMap.getZoom(); if (z >= 12) { @@ -109,21 +118,30 @@ export async function initApp(resetLeftSide = false) { } }); + // ----------- 初始化 Pie Chart ----------- if (window.pieChart) window.pieChart.destroy(); window.pieChart = initPieChart(matrix); + window.updateSelectionCount(); // 初始化选中计数 + // ----------- 初始化搜索和选择控件 ----------- initSearch(); stationSelect(); amenitySelect(); + // ----------- 重置左侧面板 ----------- if (resetLeftSide) { resetManager.resetLeftSide(); } } +// ----------- 初始化语言切换和应用 ----------- initLanguageToggle(); await initApp(true); +// ----------- Reset 按钮 ----------- document.getElementById("reset").addEventListener("click", async () => { await initApp(true); }); + +// ----------- 初始化 selection tools ----------- +initSelectionTools(); diff --git a/js/selection_tools.js b/js/selection_tools.js index 336f81b..eff366b 100644 --- a/js/selection_tools.js +++ b/js/selection_tools.js @@ -5,69 +5,69 @@ export function initSelectionTools() { // 更新选中数量 function updateCount() { - if (!window.mapLayers) return; - const count = window.mapLayers.selectedLayers.size; + if (!window.mapLayers || !countElement) return; + const count = window.mapLayers.selectedLayers.size || 0; countElement.textContent = count; - - // 如果没有选中,禁用导出按钮 - exportBtn.disabled = count === 0; + + if (exportBtn) exportBtn.disabled = count === 0; } // 清除所有选中 - clearBtn.addEventListener('click', () => { - if (!window.mapLayers) return; - - window.mapLayers.selectedLayers.forEach(layer => { - L.DomUtil.removeClass(layer._path, "hex-selected"); - layer.unbindTooltip(); - }); - window.mapLayers.selectedLayers.clear(); - - // 同时清除 pie chart 的选中状态 - if (window.pieChartControls) { - window.pieChartControls.clearSelection(); - } - - updateCount(); - }); + if (clearBtn) { + clearBtn.addEventListener('click', () => { + if (!window.mapLayers) return; + + window.mapLayers.selectedLayers.forEach(layer => { + if (layer._path) L.DomUtil.removeClass(layer._path, "hex-selected"); + if (layer.unbindTooltip) layer.unbindTooltip(); + }); + window.mapLayers.selectedLayers.clear(); - // 导出选中的 hexagons - exportBtn.addEventListener('click', () => { - if (!window.mapLayers || window.mapLayers.selectedLayers.size === 0) { - alert('No hexagons selected!'); - return; - } + // 清除 pie chart 选中状态 + if (window.pieChartControls && typeof window.pieChartControls.clearSelection === 'function') { + window.pieChartControls.clearSelection(); + } - const features = []; - - window.mapLayers.selectedLayers.forEach(layer => { - features.push(layer.feature); + updateCount(); }); + } + + // 导出选中 hexagons + if (exportBtn) { + exportBtn.addEventListener('click', () => { + if (!window.mapLayers || window.mapLayers.selectedLayers.size === 0) { + alert('No hexagons selected!'); + return; + } - const geojson = { - type: "FeatureCollection", - features: features - }; + const features = Array.from(window.mapLayers.selectedLayers, l => l.feature); - // 创建下载 - const dataStr = JSON.stringify(geojson, null, 2); - const blob = new Blob([dataStr], { type: 'application/json' }); - const url = URL.createObjectURL(blob); - - const link = document.createElement('a'); - link.href = url; - link.download = `selected_hexagons_${new Date().toISOString().slice(0, 10)}.geojson`; - document.body.appendChild(link); - link.click(); - document.body.removeChild(link); - URL.revokeObjectURL(url); - }); + const geojson = { + type: "FeatureCollection", + features: features + }; + + const dataStr = JSON.stringify(geojson, null, 2); + const blob = new Blob([dataStr], { type: 'application/json' }); + const url = URL.createObjectURL(blob); + + const link = document.createElement('a'); + link.href = url; + link.download = `selected_hexagons_${new Date().toISOString().slice(0, 10)}.geojson`; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + URL.revokeObjectURL(url); + }); + } // 初始更新 updateCount(); - // 暴露更新函数 - window.updateSelectionCount = updateCount; + // 挂载全局更新函数,保证 pie chart 可以调用 + if (!window.updateSelectionCount) { + window.updateSelectionCount = updateCount; + } return { updateCount }; -} \ No newline at end of file +} From 2765bb95fe5b806372f1b3830edf5c8adb2b5705 Mon Sep 17 00:00:00 2001 From: Haoyu Date: Sun, 30 Nov 2025 14:28:59 -0500 Subject: [PATCH 09/22] update --- js/main.js | 31 ++++++++----- js/map.js | 134 +++++++++++++++++++++-------------------------------- 2 files changed, 72 insertions(+), 93 deletions(-) diff --git a/js/main.js b/js/main.js index e7d09b7..dc308f4 100644 --- a/js/main.js +++ b/js/main.js @@ -16,8 +16,11 @@ export async function initApp(resetLeftSide = false) { window.updateSelectionCount = () => { const countEl = document.getElementById('selected-count'); if (!countEl) return; - const size = window.mapLayers.selectedLayers.size || 0; - countEl.textContent = size; + countEl.textContent = window.mapLayers.selectedLayers.size || 0; + + // 如果没有选中,禁用导出按钮 + const exportBtn = document.getElementById('export-selection'); + if (exportBtn) exportBtn.disabled = window.mapLayers.selectedLayers.size === 0; }; // ----------- 读取数据 ----------- @@ -77,12 +80,7 @@ export async function initApp(resetLeftSide = false) { marker.on('mouseover', () => { if (marker.isClicking) return; if (!marker.tooltipShown) { - marker.bindTooltip(labelHtml, { - permanent: true, - direction: 'top', - className: 'metro-label', - opacity: 0.9 - }).openTooltip(); + marker.bindTooltip(labelHtml, { permanent: true, direction: 'top', className: 'metro-label', opacity: 0.9 }).openTooltip(); marker.tooltipShown = true; } }); @@ -118,7 +116,7 @@ export async function initApp(resetLeftSide = false) { } }); - // ----------- 初始化 Pie Chart ----------- + // ----------- 初始化 Pie Chart ----------- if (window.pieChart) window.pieChart.destroy(); window.pieChart = initPieChart(matrix); window.updateSelectionCount(); // 初始化选中计数 @@ -129,9 +127,7 @@ export async function initApp(resetLeftSide = false) { amenitySelect(); // ----------- 重置左侧面板 ----------- - if (resetLeftSide) { - resetManager.resetLeftSide(); - } + if (resetLeftSide) resetManager.resetLeftSide(); } // ----------- 初始化语言切换和应用 ----------- @@ -140,6 +136,17 @@ await initApp(true); // ----------- Reset 按钮 ----------- document.getElementById("reset").addEventListener("click", async () => { + // 清空 mapLayers 的 selectedLayers + if (window.mapLayers?.selectedLayers) { + window.mapLayers.selectedLayers.forEach(layer => { + L.DomUtil.removeClass(layer._path, "hex-selected"); + layer.unbindTooltip(); + }); + window.mapLayers.selectedLayers.clear(); + } + // 更新计数 + if (window.updateSelectionCount) window.updateSelectionCount(); + await initApp(true); }); diff --git a/js/map.js b/js/map.js index 096e93f..db6b285 100644 --- a/js/map.js +++ b/js/map.js @@ -2,27 +2,31 @@ import { calMatrix, calImpervious, calInundation } from './map_style.js'; import { onSliderChange } from './slider.js'; import { matrixLegend, imperviousLegend, inundationLegend } from './legend_style.js'; -let initialMatrix, map, impervious, inundation; +let initialMatrix, impervious, inundation; let legend; -let selectedLayers = new Set(); let currentLayer; const sliderContainer = document.getElementById("slider-container"); +// 统一使用全局 selectedLayers +const selectedLayers = window.mapLayers?.selectedLayers || new Set(); + function initializeMap(matrix) { - map = L.map('map', {zoomSnap: 0}).setView([30.25, 120.15], 11); - const baseTileLayer = L.tileLayer('https://api.mapbox.com/styles/v1/junyiy/clng7r3oq083901qx0eu9gaor/tiles/256/{z}/{x}/{y}@2x?access_token=pk.eyJ1IjoianVueWl5IiwiYSI6ImNsdWVxcHowcDBxbWUyam92MWx5aW40MnkifQ.QR9kni83fZBO-EFBXAaX7g', { - maxZoom: 19, - zoomOffset: -1, - tileSize: 512, - attribution: `© Mapbox © OpenStreetMap Improve this map`, - }); + const map = L.map('map', {zoomSnap: 0}).setView([30.25, 120.15], 11); + const baseTileLayer = L.tileLayer( + 'https://api.mapbox.com/styles/v1/junyiy/clng7r3oq083901qx0eu9gaor/tiles/256/{z}/{x}/{y}@2x?access_token=pk.eyJ1IjoianVueWl5IiwiYSI6ImNsdWVxcHowcDBxbWUyam92MWx5aW40MnkifQ.QR9kni83fZBO-EFBXAaX7g', + { + maxZoom: 19, + zoomOffset: -1, + tileSize: 512, + attribution: `© Mapbox © OpenStreetMap`, + } + ); baseTileLayer.addTo(map); - function hexTooltipContent(l) { - const imp = (l.feature.properties.pct_2025 * 100).toFixed(2); - const inu = l.feature.properties.inund_mean.toFixed(2); - + function hexTooltipContent(layer) { + const imp = (layer.feature.properties.pct_2025 * 100).toFixed(2); + const inu = layer.feature.properties.inund_mean.toFixed(2); return `
Imp ${imp}%
@@ -32,8 +36,8 @@ function initializeMap(matrix) { } const tooltipOptions = { - direction: "center", - offset: [0, 0], + direction: "center", + offset: [0, 0], opacity: 1, className: "hex-tooltip", permanent: false @@ -41,17 +45,13 @@ function initializeMap(matrix) { function attachHexEvents(layer) { layer.unbindTooltip(); - + layer.on("mouseover", () => { - if (!selectedLayers.has(layer)) { - L.DomUtil.addClass(layer._path, "hex-hover"); - } + if (!selectedLayers.has(layer)) L.DomUtil.addClass(layer._path, "hex-hover"); }); - + layer.on("mouseout", () => { - if (!selectedLayers.has(layer)) { - L.DomUtil.removeClass(layer._path, "hex-hover"); - } + if (!selectedLayers.has(layer)) L.DomUtil.removeClass(layer._path, "hex-hover"); }); layer.on("click", () => { @@ -62,60 +62,39 @@ function initializeMap(matrix) { } else { selectedLayers.add(layer); L.DomUtil.addClass(layer._path, "hex-selected"); - - layer.bindTooltip(hexTooltipContent(layer), { - ...tooltipOptions, - permanent: true - }).openTooltip(); + layer.bindTooltip(hexTooltipContent(layer), { ...tooltipOptions, permanent: true }).openTooltip(); } + + if (window.updateSelectionCount) window.updateSelectionCount(); }); } - initialMatrix = L.geoJSON(matrix, { - style: calMatrix, - onEachFeature: (feature, layer) => attachHexEvents(layer) - }).addTo(map); - - impervious = L.geoJSON(matrix, { - style: calImpervious, - onEachFeature: (feature, layer) => attachHexEvents(layer) - }); - - inundation = L.geoJSON(matrix, { - style: calInundation, - onEachFeature: (feature, layer) => attachHexEvents(layer) - }); + // 初始化各个图层 + initialMatrix = L.geoJSON(matrix, { style: calMatrix, onEachFeature: attachHexEvents }).addTo(map); + impervious = L.geoJSON(matrix, { style: calImpervious, onEachFeature: attachHexEvents }); + inundation = L.geoJSON(matrix, { style: calInundation, onEachFeature: attachHexEvents }); map.fitBounds(initialMatrix.getBounds()); - - // 设置当前图层 currentLayer = initialMatrix; - // 创建全局访问对象,供 pie chart 使用 + // 保存全局对象 window.mapLayers = { - selectedLayers: selectedLayers, - currentLayer: currentLayer, - map: map, - hexTooltipContent: hexTooltipContent, - tooltipOptions: tooltipOptions + selectedLayers, + currentLayer, + map, + hexTooltipContent, + tooltipOptions }; // 创建 legend legend = L.control({ position: 'bottomright' }); - legend.onAdd = function() { - this.div = L.DomUtil.create('div', 'legend-box'); - return this.div; - }; + legend.onAdd = () => (legend.div = L.DomUtil.create('div', 'legend-box')); legend.addTo(map); - - // 初始 legend setLegend(matrixLegend); // slider change onSliderChange(() => { - initialMatrix.eachLayer((layer) => { - layer.setStyle(calMatrix(layer.feature)); - }); + initialMatrix.eachLayer(layer => layer.setStyle(calMatrix(layer.feature))); }); return map; @@ -123,28 +102,24 @@ function initializeMap(matrix) { // 改变 legend function setLegend(html) { - if (legend && legend.div) { - legend.div.innerHTML = html; - } + if (legend?.div) legend.div.innerHTML = html; } -function resetLayers() { - // 清除所有选中状态 +// 图层切换或 reset 时清空选中 +function clearSelection() { selectedLayers.forEach(layer => { L.DomUtil.removeClass(layer._path, "hex-selected"); layer.unbindTooltip(); }); selectedLayers.clear(); - - // 移除图层 - if (map.hasLayer(initialMatrix)) map.removeLayer(initialMatrix); - if (map.hasLayer(impervious)) map.removeLayer(impervious); - if (map.hasLayer(inundation)) map.removeLayer(inundation); + if (window.updateSelectionCount) window.updateSelectionCount(); } +// 图层切换事件 document.getElementById("matrix").addEventListener("click", () => { - resetLayers(); - initialMatrix.addTo(map); + clearSelection(); + if (window.mapLayers?.currentLayer) window.mapLayers.currentLayer.remove(); + initialMatrix.addTo(window.mapLayers.map); sliderContainer.style.display = "block"; setLegend(matrixLegend); currentLayer = initialMatrix; @@ -152,8 +127,9 @@ document.getElementById("matrix").addEventListener("click", () => { }); document.getElementById("impervious").addEventListener("click", () => { - resetLayers(); - impervious.addTo(map); + clearSelection(); + if (window.mapLayers?.currentLayer) window.mapLayers.currentLayer.remove(); + impervious.addTo(window.mapLayers.map); sliderContainer.style.display = "none"; setLegend(imperviousLegend); currentLayer = impervious; @@ -161,17 +137,13 @@ document.getElementById("impervious").addEventListener("click", () => { }); document.getElementById("inundation").addEventListener("click", () => { - resetLayers(); - inundation.addTo(map); + clearSelection(); + if (window.mapLayers?.currentLayer) window.mapLayers.currentLayer.remove(); + inundation.addTo(window.mapLayers.map); sliderContainer.style.display = "none"; setLegend(inundationLegend); currentLayer = inundation; window.mapLayers.currentLayer = inundation; }); -export { - initializeMap, - initialMatrix, - impervious, - inundation -}; \ No newline at end of file +export { initializeMap, initialMatrix, impervious, inundation }; From 719559c2204534ac6397e9eef626ecff6521b9fa Mon Sep 17 00:00:00 2001 From: Haoyu Date: Sun, 30 Nov 2025 14:29:57 -0500 Subject: [PATCH 10/22] Update map.js --- js/map.js | 144 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 91 insertions(+), 53 deletions(-) diff --git a/js/map.js b/js/map.js index db6b285..c9a5ec9 100644 --- a/js/map.js +++ b/js/map.js @@ -2,31 +2,27 @@ import { calMatrix, calImpervious, calInundation } from './map_style.js'; import { onSliderChange } from './slider.js'; import { matrixLegend, imperviousLegend, inundationLegend } from './legend_style.js'; -let initialMatrix, impervious, inundation; +let initialMatrix, map, impervious, inundation; let legend; +let selectedLayers = new Set(); let currentLayer; const sliderContainer = document.getElementById("slider-container"); -// 统一使用全局 selectedLayers -const selectedLayers = window.mapLayers?.selectedLayers || new Set(); - function initializeMap(matrix) { - const map = L.map('map', {zoomSnap: 0}).setView([30.25, 120.15], 11); - const baseTileLayer = L.tileLayer( - 'https://api.mapbox.com/styles/v1/junyiy/clng7r3oq083901qx0eu9gaor/tiles/256/{z}/{x}/{y}@2x?access_token=pk.eyJ1IjoianVueWl5IiwiYSI6ImNsdWVxcHowcDBxbWUyam92MWx5aW40MnkifQ.QR9kni83fZBO-EFBXAaX7g', - { - maxZoom: 19, - zoomOffset: -1, - tileSize: 512, - attribution: `© Mapbox © OpenStreetMap`, - } - ); + map = L.map('map', {zoomSnap: 0}).setView([30.25, 120.15], 11); + const baseTileLayer = L.tileLayer('https://api.mapbox.com/styles/v1/junyiy/clng7r3oq083901qx0eu9gaor/tiles/256/{z}/{x}/{y}@2x?access_token=pk.eyJ1IjoianVueWl5IiwiYSI6ImNsdWVxcHowcDBxbWUyam92MWx5aW40MnkifQ.QR9kni83fZBO-EFBXAaX7g', { + maxZoom: 19, + zoomOffset: -1, + tileSize: 512, + attribution: `© Mapbox © OpenStreetMap Improve this map`, + }); baseTileLayer.addTo(map); - function hexTooltipContent(layer) { - const imp = (layer.feature.properties.pct_2025 * 100).toFixed(2); - const inu = layer.feature.properties.inund_mean.toFixed(2); + function hexTooltipContent(l) { + const imp = (l.feature.properties.pct_2025 * 100).toFixed(2); + const inu = l.feature.properties.inund_mean.toFixed(2); + return `
Imp ${imp}%
@@ -36,8 +32,8 @@ function initializeMap(matrix) { } const tooltipOptions = { - direction: "center", - offset: [0, 0], + direction: "center", + offset: [0, 0], opacity: 1, className: "hex-tooltip", permanent: false @@ -45,13 +41,17 @@ function initializeMap(matrix) { function attachHexEvents(layer) { layer.unbindTooltip(); - + layer.on("mouseover", () => { - if (!selectedLayers.has(layer)) L.DomUtil.addClass(layer._path, "hex-hover"); + if (!selectedLayers.has(layer)) { + L.DomUtil.addClass(layer._path, "hex-hover"); + } }); - + layer.on("mouseout", () => { - if (!selectedLayers.has(layer)) L.DomUtil.removeClass(layer._path, "hex-hover"); + if (!selectedLayers.has(layer)) { + L.DomUtil.removeClass(layer._path, "hex-hover"); + } }); layer.on("click", () => { @@ -62,39 +62,65 @@ function initializeMap(matrix) { } else { selectedLayers.add(layer); L.DomUtil.addClass(layer._path, "hex-selected"); - layer.bindTooltip(hexTooltipContent(layer), { ...tooltipOptions, permanent: true }).openTooltip(); + + layer.bindTooltip(hexTooltipContent(layer), { + ...tooltipOptions, + permanent: true + }).openTooltip(); + } + + // 更新选中计数 + if (window.updateSelectionCount) { + window.updateSelectionCount(); } - - if (window.updateSelectionCount) window.updateSelectionCount(); }); } - // 初始化各个图层 - initialMatrix = L.geoJSON(matrix, { style: calMatrix, onEachFeature: attachHexEvents }).addTo(map); - impervious = L.geoJSON(matrix, { style: calImpervious, onEachFeature: attachHexEvents }); - inundation = L.geoJSON(matrix, { style: calInundation, onEachFeature: attachHexEvents }); + initialMatrix = L.geoJSON(matrix, { + style: calMatrix, + onEachFeature: (feature, layer) => attachHexEvents(layer) + }).addTo(map); + + impervious = L.geoJSON(matrix, { + style: calImpervious, + onEachFeature: (feature, layer) => attachHexEvents(layer) + }); + + inundation = L.geoJSON(matrix, { + style: calInundation, + onEachFeature: (feature, layer) => attachHexEvents(layer) + }); map.fitBounds(initialMatrix.getBounds()); + + // 设置当前图层 currentLayer = initialMatrix; - // 保存全局对象 + // 创建全局访问对象,供 pie chart 使用 window.mapLayers = { - selectedLayers, - currentLayer, - map, - hexTooltipContent, - tooltipOptions + selectedLayers: selectedLayers, + currentLayer: currentLayer, + map: map, + hexTooltipContent: hexTooltipContent, + tooltipOptions: tooltipOptions }; // 创建 legend legend = L.control({ position: 'bottomright' }); - legend.onAdd = () => (legend.div = L.DomUtil.create('div', 'legend-box')); + legend.onAdd = function() { + this.div = L.DomUtil.create('div', 'legend-box'); + return this.div; + }; legend.addTo(map); + + // 初始 legend setLegend(matrixLegend); // slider change onSliderChange(() => { - initialMatrix.eachLayer(layer => layer.setStyle(calMatrix(layer.feature))); + initialMatrix.eachLayer((layer) => { + layer.setStyle(calMatrix(layer.feature)); + }); }); return map; @@ -102,24 +128,33 @@ function initializeMap(matrix) { // 改变 legend function setLegend(html) { - if (legend?.div) legend.div.innerHTML = html; + if (legend && legend.div) { + legend.div.innerHTML = html; + } } -// 图层切换或 reset 时清空选中 -function clearSelection() { +function resetLayers() { + // 清除所有选中状态 selectedLayers.forEach(layer => { L.DomUtil.removeClass(layer._path, "hex-selected"); layer.unbindTooltip(); }); selectedLayers.clear(); - if (window.updateSelectionCount) window.updateSelectionCount(); + + // 更新选中计数 + if (window.updateSelectionCount) { + window.updateSelectionCount(); + } + + // 移除图层 + if (map.hasLayer(initialMatrix)) map.removeLayer(initialMatrix); + if (map.hasLayer(impervious)) map.removeLayer(impervious); + if (map.hasLayer(inundation)) map.removeLayer(inundation); } -// 图层切换事件 document.getElementById("matrix").addEventListener("click", () => { - clearSelection(); - if (window.mapLayers?.currentLayer) window.mapLayers.currentLayer.remove(); - initialMatrix.addTo(window.mapLayers.map); + resetLayers(); + initialMatrix.addTo(map); sliderContainer.style.display = "block"; setLegend(matrixLegend); currentLayer = initialMatrix; @@ -127,9 +162,8 @@ document.getElementById("matrix").addEventListener("click", () => { }); document.getElementById("impervious").addEventListener("click", () => { - clearSelection(); - if (window.mapLayers?.currentLayer) window.mapLayers.currentLayer.remove(); - impervious.addTo(window.mapLayers.map); + resetLayers(); + impervious.addTo(map); sliderContainer.style.display = "none"; setLegend(imperviousLegend); currentLayer = impervious; @@ -137,13 +171,17 @@ document.getElementById("impervious").addEventListener("click", () => { }); document.getElementById("inundation").addEventListener("click", () => { - clearSelection(); - if (window.mapLayers?.currentLayer) window.mapLayers.currentLayer.remove(); - inundation.addTo(window.mapLayers.map); + resetLayers(); + inundation.addTo(map); sliderContainer.style.display = "none"; setLegend(inundationLegend); currentLayer = inundation; window.mapLayers.currentLayer = inundation; }); -export { initializeMap, initialMatrix, impervious, inundation }; +export { + initializeMap, + initialMatrix, + impervious, + inundation +}; \ No newline at end of file From e1a12e4d403bb0f278a1801848ff69cf203917da Mon Sep 17 00:00:00 2001 From: Haoyu Date: Sun, 30 Nov 2025 15:34:35 -0500 Subject: [PATCH 11/22] update --- css/styles.css | 264 ++++++++++++++++++++---------------------- js/main.js | 22 +--- js/map.js | 174 ++++++++++++++-------------- js/search.js | 4 +- js/selection_tools.js | 6 - 5 files changed, 214 insertions(+), 256 deletions(-) diff --git a/css/styles.css b/css/styles.css index 421ea02..dd8d7e7 100644 --- a/css/styles.css +++ b/css/styles.css @@ -4,9 +4,7 @@ html, body { margin: 0; height: 100%; overflow: hidden; - font-family: - "Arial","SimHei", - sans-serif; + font-family: "Arial","SimHei", sans-serif; box-sizing: border-box; } @@ -57,18 +55,17 @@ main { display: flex; flex-direction: column; width: 30%; - padding: 1vh 1vw; + padding: 1rem; background: rgba(123, 152, 152, 0.75); overflow-y: auto; - box-sizing: border-box; gap: 0.5rem; - padding: 1rem; + box-sizing: border-box; } label { display: block; font-weight: bold; - font-size: 1.2rem; + font-size: 1rem; color: rgb(66, 77, 92); text-align: left; width: 100%; @@ -80,7 +77,8 @@ label { font-size: 14px; color: #333; line-height: 1.2; - font-style: italic; + font-style: italic; + margin: 4px; } /* Sections */ @@ -89,14 +87,15 @@ label { flex-direction: column; gap: 0.2rem; padding: 1rem; + background: rgba(255, 255, 255, 0.85); + border-radius: 16px; + box-shadow: 0 2px 4px rgba(0,0,0,0.1); } - .selection-row { display: flex; align-items: left; - gap: 8px; - flex-wrap: wrap; + gap: 8px; } #selected-count { @@ -109,11 +108,11 @@ label { } .selection-row button { - padding: 4px 12px; + padding: 0px 12px; border-radius: 4px; border: none; - background-color: #46707f; - color: #fff; + background-color: #ffffff; + color: #46707f; cursor: pointer; font-size: 0.85rem; } @@ -122,20 +121,11 @@ label { background-color: #99c4d5; } -.category-section { - flex-shrink: 0; - margin: 0; - background: rgba(255, 255, 255, 0.85); - border-radius: 16px; - box-shadow: 0 2px 4px rgba(0,0,0,0.1); -} - /* Category buttons */ .category-buttons { display: flex; flex-wrap: wrap; gap: 8px; - margin-top: 0; } .category-buttons button { @@ -160,7 +150,6 @@ label { display: flex; flex-direction: column; gap: 0.2rem; - margin-top: 0; } #slider-container label { @@ -219,14 +208,6 @@ label { box-shadow: none !important; } -.location-section { - flex-shrink: 0; - margin: 0; - background: rgba(255, 255, 255, 0.85); - border-radius: 16px; - box-shadow: 0 2px 4px rgba(0,0,0,0.1); -} - /* Search */ #search-wrapper { position: relative; @@ -279,7 +260,25 @@ label { background-color: #f0f0f0; } -/* Selects side by side */ +.search-label::before, +.search-label::after { + display: none !important; +} + +.search-label { + background: none; /* 背景色 */ + color: #333; + font-size: 0.8rem; + border: none; + font-weight: bold; + padding: 1px; + border-radius: 4px; + box-shadow: 0 0px; + text-align: center; + font-size: 10px; +} + +/* Selects */ .selects-row { display: flex; gap: 10px; @@ -303,118 +302,43 @@ label { white-space: nowrap; } -.selects-row select:hover { - border-color: #46707f; - background-color: #f9f9f9; -} - -.selects-row select:focus { - border-color: #46707f; - box-shadow: 0 0 0 2px rgba(70, 112, 127, 0.2); -} - -.selects-row select option { - padding: 6px 8px; - font-size: 0.8rem; - color: #595959;; - background-color: #fff; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.selects-row select option:hover { - background-color: #f0f0f0; -} - -.selects-row select option:disabled { - color: #999; -} - /* Map */ .map { flex: 1; min-height: 0; + height: 100%; /* <- 关键修复:避免 offsetHeight = 0 */ } -/* Metro label */ +/* Metro label and hex */ .metro-label { background: rgba(255,255,255,0.8); border-radius: 4px; padding: 2px 4px; font-size: 8px; text-align: center; - box-shadow: none !important; } .hex-tooltip { - margin: 0; - padding: 0; -} - -.leaflet-interactive:focus, -.leaflet-interactive:active, -svg path:focus { - outline: none !important; + margin: 0; + padding: 0; + background: rgba(56, 56, 56, 0.6); + border: 1px; + border-radius: 4px; + font-size: 8px; + line-height: 1.2; + color: #fff; + padding: 1px; + box-shadow: none; } .hex-hover { - stroke: #ffffff !important; - stroke-width: 3px !important; + stroke: #fff !important; + stroke-width: 3px !important; } .hex-selected { - stroke: rgb(0, 0, 0) !important; - stroke-width: 2px !important; - pointer-events: auto; -} - -svg .hex-selected { - z-index: 1000 !important; -} - -.hex-tooltip { - background: rgba(56, 56, 56, 0.599); - border: 0px; - border-radius: 4px; - padding: 1px 1px; - font-size: 8px; - box-shadow: 0 0px; - white-space: nowrap; - line-height: 1.2; - color: #ffffff; -} - -.hex-tooltip .leaflet-tooltip-content { - margin: 0; - padding: 0; - line-height: 1; -} - -.hex-tooltip.leaflet-tooltip-top::before, -.hex-tooltip.leaflet-tooltip-bottom::before, -.hex-tooltip.leaflet-tooltip-left::before, -.hex-tooltip.leaflet-tooltip-right::before { - display: none !important; -} - -.search-label { - background: none; - border: 0px; - border-radius: 0px; - padding: 0px; - font-size: 10px; - font-weight: 600; - color: #2a333e; - box-shadow: 0 0px; - white-space: nowrap; -} - -.search-label.leaflet-tooltip-top::before, -.search-label.leaflet-tooltip-bottom::before, -.search-label.leaflet-tooltip-left::before, -.search-label.leaflet-tooltip-right::before { - display: none !important; + stroke: #000 !important; + stroke-width: 1px !important; } /* Legend */ @@ -425,27 +349,89 @@ svg .hex-selected { line-height: 18px; margin-bottom: 10px; padding: 6px; + font-size: 0.7rem; } .legend-color { display: inline-block; - width: 18px; - height: 18px; + width: 12px; + height: 12px; margin-right: 6px; vertical-align: middle; } -/* map */ -.metro-label { - background-color: rgba(255, 255, 255, 0.8); - border: 0px; - padding: 0px; - border-radius: 4px; - font-size: 8px; - color: rgb(66, 77, 92); - box-shadow: 0px; -} - -.metro-label .leaflet-tooltip-tip { - display: none; +/* ----------- Mobile Responsive ----------- */ +@media (max-width: 768px) { + main { + flex-direction: column; /* 地图在上,面板在下 */ + height: 100vh; + } + + /* 地图占上 40% */ + .map { + height: 40vh !important; + order: -1; /* 放到最上 */ + } + + /* 面板占下 60% */ + .left-side { + width: 100%; + height: 60vh; + overflow-y: auto; + padding: 0.5rem; + gap: 0.25rem; + } + + .category-buttons button { + flex: 1 1 48%; + padding: 4px 8px; + font-size: 0.8rem; + } + + #slider-container label { + font-size: 0.75rem; + } + + #riskPieChart { + width: 120px !important; + height: 120px !important; + margin: 0 auto; + } + + .selection-row { + gap: 4px; + } + + .selection-row button { + font-size: 0.75rem; + padding: 2px 8px; + } + + .selects-row { + flex-direction: column; + } + + .selects-row select { + width: 100%; + font-size: 0.75rem; + padding: 4px 6px; + } + + #search-wrapper input { + font-size: 0.75rem; + padding: 4px 6px; + } + + #search-suggestions { + font-size: 0.7rem; + } + + header h1 { + font-size: 1.2rem; + } + + #lang-toggle { + font-size: 0.8rem; + padding: 4px 12px; + } } diff --git a/js/main.js b/js/main.js index dc308f4..4e5f2d1 100644 --- a/js/main.js +++ b/js/main.js @@ -8,32 +8,25 @@ import { initLanguageToggle } from './lang.js'; import { initSelectionTools } from './selection_tools.js'; export async function initApp(resetLeftSide = false) { - // ----------- 全局变量初始化 ----------- window.mapLayers = window.mapLayers || {}; window.mapLayers.selectedLayers = window.mapLayers.selectedLayers || new Set(); - // 全局计数更新函数 window.updateSelectionCount = () => { const countEl = document.getElementById('selected-count'); if (!countEl) return; countEl.textContent = window.mapLayers.selectedLayers.size || 0; - // 如果没有选中,禁用导出按钮 const exportBtn = document.getElementById('export-selection'); if (exportBtn) exportBtn.disabled = window.mapLayers.selectedLayers.size === 0; }; - // ----------- 读取数据 ----------- const hz_matrix = await fetch('data/data.geojson'); const matrix = await hz_matrix.json(); - const hz_metro = await fetch("data/metrostation.geojson"); const metro = await hz_metro.json(); - const hz_amenity = await fetch("data/amenity.geojson"); const amenity = await hz_amenity.json(); - // ----------- 初始化地图 ----------- if (window.matrixMap) window.matrixMap.remove(); window.matrixMap = initializeMap(matrix); window.initialMatrix = window.initialMatrix || matrix; @@ -47,11 +40,9 @@ export async function initApp(resetLeftSide = false) { createPane('metroPane', 650); createPane('amenityPane', 640); - // ----------- 地铁图标 ----------- window.metroIcon = L.icon({ iconUrl: 'png/metrostationicon.png', iconSize: [10,10], iconAnchor: [5,5] }); window.metroIconHighlight = L.icon({ iconUrl: 'png/metrostationicon_highlight.png', iconSize: [30,30], iconAnchor: [15,15] }); - // ----------- 公共设施图标 ----------- window.amenityIcons = { school: L.icon({ iconUrl: "png/school.png", iconSize: [10,10], iconAnchor: [5,5] }), hospital: L.icon({ iconUrl: "png/hospital.png", iconSize: [10,10], iconAnchor: [5,5] }), @@ -65,7 +56,6 @@ export async function initApp(resetLeftSide = false) { window.defaultAmenityIcon = L.icon({ iconUrl: "png/market.png", iconSize: [10,10], iconAnchor: [5,5] }); window.defaultAmenityIconHighlight = L.icon({ iconUrl: "png/market_hl.png", iconSize: [30,30], iconAnchor: [15,15] }); - // ----------- 地铁图层 ----------- window.metroLayer = L.geoJSON(metro, { pane: 'metroPane', pointToLayer: (feature, latlng) => { @@ -96,7 +86,6 @@ export async function initApp(resetLeftSide = false) { } }); - // ----------- 公共设施图层 ----------- window.amenityLayer = L.geoJSON(amenity, { pane: 'amenityPane', pointToLayer: (feature, latlng) => { @@ -106,7 +95,6 @@ export async function initApp(resetLeftSide = false) { } }); - // ----------- 地铁图层按缩放显示 ----------- window.matrixMap.on('zoomend', () => { const z = window.matrixMap.getZoom(); if (z >= 12) { @@ -116,27 +104,21 @@ export async function initApp(resetLeftSide = false) { } }); - // ----------- 初始化 Pie Chart ----------- if (window.pieChart) window.pieChart.destroy(); window.pieChart = initPieChart(matrix); - window.updateSelectionCount(); // 初始化选中计数 + window.updateSelectionCount(); - // ----------- 初始化搜索和选择控件 ----------- initSearch(); stationSelect(); amenitySelect(); - // ----------- 重置左侧面板 ----------- if (resetLeftSide) resetManager.resetLeftSide(); } -// ----------- 初始化语言切换和应用 ----------- initLanguageToggle(); await initApp(true); -// ----------- Reset 按钮 ----------- document.getElementById("reset").addEventListener("click", async () => { - // 清空 mapLayers 的 selectedLayers if (window.mapLayers?.selectedLayers) { window.mapLayers.selectedLayers.forEach(layer => { L.DomUtil.removeClass(layer._path, "hex-selected"); @@ -144,11 +126,9 @@ document.getElementById("reset").addEventListener("click", async () => { }); window.mapLayers.selectedLayers.clear(); } - // 更新计数 if (window.updateSelectionCount) window.updateSelectionCount(); await initApp(true); }); -// ----------- 初始化 selection tools ----------- initSelectionTools(); diff --git a/js/map.js b/js/map.js index c9a5ec9..d415418 100644 --- a/js/map.js +++ b/js/map.js @@ -10,19 +10,22 @@ let currentLayer; const sliderContainer = document.getElementById("slider-container"); function initializeMap(matrix) { - map = L.map('map', {zoomSnap: 0}).setView([30.25, 120.15], 11); - const baseTileLayer = L.tileLayer('https://api.mapbox.com/styles/v1/junyiy/clng7r3oq083901qx0eu9gaor/tiles/256/{z}/{x}/{y}@2x?access_token=pk.eyJ1IjoianVueWl5IiwiYSI6ImNsdWVxcHowcDBxbWUyam92MWx5aW40MnkifQ.QR9kni83fZBO-EFBXAaX7g', { - maxZoom: 19, - zoomOffset: -1, - tileSize: 512, - attribution: `© Mapbox © OpenStreetMap Improve this map`, - }); + map = L.map('map', { zoomSnap: 0 }).setView([30.25, 120.15], 11); + + const baseTileLayer = L.tileLayer( + 'https://api.mapbox.com/styles/v1/junyiy/clng7r3oq083901qx0eu9gaor/tiles/256/{z}/{x}/{y}@2x?access_token=pk.eyJ1IjoianVueWl5IiwiYSI6ImNsdWVxcHowcDBxbWUyam92MWx5aW40MnkifQ.QR9kni83fZBO-EFBXAaX7g', + { + maxZoom: 19, + zoomOffset: -1, + tileSize: 512, + attribution: `© Mapbox © OpenStreetMap Improve this map`, + } + ); baseTileLayer.addTo(map); function hexTooltipContent(l) { const imp = (l.feature.properties.pct_2025 * 100).toFixed(2); const inu = l.feature.properties.inund_mean.toFixed(2); - return `
Imp ${imp}%
@@ -32,50 +35,69 @@ function initializeMap(matrix) { } const tooltipOptions = { - direction: "center", - offset: [0, 0], + direction: "center", + offset: [0, 0], opacity: 1, className: "hex-tooltip", - permanent: false + permanent: true }; function attachHexEvents(layer) { layer.unbindTooltip(); - + layer.on("mouseover", () => { - if (!selectedLayers.has(layer)) { - L.DomUtil.addClass(layer._path, "hex-hover"); - } + if (!selectedLayers.has(layer)) L.DomUtil.addClass(layer._path, "hex-hover"); }); - layer.on("mouseout", () => { - if (!selectedLayers.has(layer)) { - L.DomUtil.removeClass(layer._path, "hex-hover"); - } + if (!selectedLayers.has(layer)) L.DomUtil.removeClass(layer._path, "hex-hover"); }); layer.on("click", () => { if (selectedLayers.has(layer)) { selectedLayers.delete(layer); L.DomUtil.removeClass(layer._path, "hex-selected"); - layer.unbindTooltip(); + removeHexTooltip(layer); } else { selectedLayers.add(layer); L.DomUtil.addClass(layer._path, "hex-selected"); - - layer.bindTooltip(hexTooltipContent(layer), { - ...tooltipOptions, - permanent: true - }).openTooltip(); - } - - // 更新选中计数 - if (window.updateSelectionCount) { - window.updateSelectionCount(); + addHexTooltip(layer); } + + if (window.updateSelectionCount) window.updateSelectionCount(); }); } + function addHexTooltip(layer) { + if (!layer._tooltip) { + layer._tooltip = L.tooltip({ + permanent: true, + direction: "center", + offset: [0, 0], + className: "hex-tooltip" + }) + .setContent(hexTooltipContent(layer)) + .setLatLng(layer.getBounds().getCenter()); + layer._tooltip.addTo(map); + } + updateHexTooltipVisibility(layer); + } + + function removeHexTooltip(layer) { + if (layer._tooltip) { + map.removeLayer(layer._tooltip); + layer._tooltip = null; + } + } + + function updateHexTooltipVisibility(layer) { + if (!layer._tooltip) return; + const zoom = map.getZoom(); + const el = layer._tooltip.getElement(); + if (el) { + el.style.display = (selectedLayers.has(layer) && zoom >= 12) ? "block" : "none"; + } + } + initialMatrix = L.geoJSON(matrix, { style: calMatrix, onEachFeature: (feature, layer) => attachHexEvents(layer) @@ -92,96 +114,70 @@ function initializeMap(matrix) { }); map.fitBounds(initialMatrix.getBounds()); - - // 设置当前图层 currentLayer = initialMatrix; - // 创建全局访问对象,供 pie chart 使用 - window.mapLayers = { - selectedLayers: selectedLayers, - currentLayer: currentLayer, - map: map, - hexTooltipContent: hexTooltipContent, - tooltipOptions: tooltipOptions - }; + window.mapLayers = { selectedLayers, currentLayer, map, hexTooltipContent, tooltipOptions }; - // 创建 legend legend = L.control({ position: 'bottomright' }); legend.onAdd = function() { this.div = L.DomUtil.create('div', 'legend-box'); return this.div; }; legend.addTo(map); - - // 初始 legend setLegend(matrixLegend); - // slider change onSliderChange(() => { - initialMatrix.eachLayer((layer) => { - layer.setStyle(calMatrix(layer.feature)); - }); + initialMatrix.eachLayer(layer => layer.setStyle(calMatrix(layer.feature))); + }); + + map.whenReady(() => map.invalidateSize()); + window.addEventListener("resize", () => map.invalidateSize()); + + map.on("zoomend", () => { + selectedLayers.forEach(layer => updateHexTooltipVisibility(layer)); }); return map; } -// 改变 legend function setLegend(html) { - if (legend && legend.div) { - legend.div.innerHTML = html; - } + if (legend && legend.div) legend.div.innerHTML = html; } function resetLayers() { - // 清除所有选中状态 selectedLayers.forEach(layer => { L.DomUtil.removeClass(layer._path, "hex-selected"); - layer.unbindTooltip(); + removeHexTooltip(layer); }); selectedLayers.clear(); - // 更新选中计数 - if (window.updateSelectionCount) { - window.updateSelectionCount(); - } + if (window.updateSelectionCount) window.updateSelectionCount(); - // 移除图层 if (map.hasLayer(initialMatrix)) map.removeLayer(initialMatrix); if (map.hasLayer(impervious)) map.removeLayer(impervious); if (map.hasLayer(inundation)) map.removeLayer(inundation); } -document.getElementById("matrix").addEventListener("click", () => { +function addLayerWithInvalidate(layer, legendHtml, showSlider = false) { resetLayers(); - initialMatrix.addTo(map); - sliderContainer.style.display = "block"; - setLegend(matrixLegend); - currentLayer = initialMatrix; - window.mapLayers.currentLayer = initialMatrix; -}); + layer.addTo(map); + sliderContainer.style.display = showSlider ? "block" : "none"; + setLegend(legendHtml); + currentLayer = layer; + window.mapLayers.currentLayer = layer; + map.invalidateSize(); +} -document.getElementById("impervious").addEventListener("click", () => { - resetLayers(); - impervious.addTo(map); - sliderContainer.style.display = "none"; - setLegend(imperviousLegend); - currentLayer = impervious; - window.mapLayers.currentLayer = impervious; -}); - -document.getElementById("inundation").addEventListener("click", () => { - resetLayers(); - inundation.addTo(map); - sliderContainer.style.display = "none"; - setLegend(inundationLegend); - currentLayer = inundation; - window.mapLayers.currentLayer = inundation; -}); - -export { - initializeMap, - initialMatrix, - impervious, - inundation -}; \ No newline at end of file +document.getElementById("matrix").addEventListener("click", () => + addLayerWithInvalidate(initialMatrix, matrixLegend, true) +); + +document.getElementById("impervious").addEventListener("click", () => + addLayerWithInvalidate(impervious, imperviousLegend, false) +); + +document.getElementById("inundation").addEventListener("click", () => + addLayerWithInvalidate(inundation, inundationLegend, false) +); + +export { initializeMap, initialMatrix, impervious, inundation }; diff --git a/js/search.js b/js/search.js index b93f3bf..482e36d 100644 --- a/js/search.js +++ b/js/search.js @@ -53,7 +53,6 @@ export function initSearch() { const latlng = layer.getLatLng(); window.matrixMap.setView(latlng, 15); - resetAllIcons(); if (f.type === "metro") { @@ -69,9 +68,12 @@ export function initSearch() { } } + // 删除旧 label if (layer._label) { window.matrixMap.removeLayer(layer._label); } + + // tooltip 永远显示 layer._label = L.tooltip({ permanent: true, direction: 'bottom', diff --git a/js/selection_tools.js b/js/selection_tools.js index eff366b..cd85bf8 100644 --- a/js/selection_tools.js +++ b/js/selection_tools.js @@ -3,7 +3,6 @@ export function initSelectionTools() { const clearBtn = document.getElementById('clear-selection'); const exportBtn = document.getElementById('export-selection'); - // 更新选中数量 function updateCount() { if (!window.mapLayers || !countElement) return; const count = window.mapLayers.selectedLayers.size || 0; @@ -12,7 +11,6 @@ export function initSelectionTools() { if (exportBtn) exportBtn.disabled = count === 0; } - // 清除所有选中 if (clearBtn) { clearBtn.addEventListener('click', () => { if (!window.mapLayers) return; @@ -23,7 +21,6 @@ export function initSelectionTools() { }); window.mapLayers.selectedLayers.clear(); - // 清除 pie chart 选中状态 if (window.pieChartControls && typeof window.pieChartControls.clearSelection === 'function') { window.pieChartControls.clearSelection(); } @@ -32,7 +29,6 @@ export function initSelectionTools() { }); } - // 导出选中 hexagons if (exportBtn) { exportBtn.addEventListener('click', () => { if (!window.mapLayers || window.mapLayers.selectedLayers.size === 0) { @@ -61,10 +57,8 @@ export function initSelectionTools() { }); } - // 初始更新 updateCount(); - // 挂载全局更新函数,保证 pie chart 可以调用 if (!window.updateSelectionCount) { window.updateSelectionCount = updateCount; } From 9018082c110b41a72ef155f4e567af71f7b48412 Mon Sep 17 00:00:00 2001 From: Haoyu Date: Sun, 30 Nov 2025 15:48:38 -0500 Subject: [PATCH 12/22] update --- index.html | 79 ++++++++++++++++++++++++++++--------------- js/lang.js | 98 +++++++++++++++++++++--------------------------------- 2 files changed, 89 insertions(+), 88 deletions(-) diff --git a/index.html b/index.html index 2d43b40..8e7b54a 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ -Inundation Risk Index Dashboard +Inundation Risk Index Dashboard + + @@ -25,66 +36,80 @@ data-zh="杭州中心城区洪涝风险指数"> Inundation Risk Index in Hangzhou Center Districts - +
-

+

This tool helps identify areas for inundation actions.

-
    -
  1. - Category Selection: Adjust sliders and click pie chart segments. -
  2. -
  3. - Location Selection: Zoom in or use search/filter tools, then click hexagons. -
  4. -
+
    +
  1. + Category Selection: + + Adjust sliders and click pie chart segments. + +
  2. +
  3. + Location Selection: + + Zoom in or use search/filter tools, then click hexagons. + +
  4. +
- - - + + +
- +
- - - - + + + +
- +
- +
- +
- +
- + data-en-placeholder="Search a station/school/hospital/market" + data-zh-placeholder="搜索地铁站/学校/医院/市场" + placeholder="Search a station/school/hospital/market"> +
diff --git a/js/lang.js b/js/lang.js index 9d41326..e46f23f 100644 --- a/js/lang.js +++ b/js/lang.js @@ -1,77 +1,53 @@ -// lang.js -export const translations = { - en: { - title: "Inundation Risk Index in Hangzhou Center Districts", - zoomCategory: "Zoom into one category", - matrix: "Matrix", - impervious: "Impervious", - inundation: "Inundation", - reset: "Reset", - imperviousThreshold: "Impervious Thresholds:", - inundationThreshold: "Inundation Thresholds:", - riskDistribution: "Risk Units Distribution", - searchFilter: "Search & Filter", - searchPlaceholder: "Search a station/school/hospital/market", - selectStation: "--Select a station--", - selectAmenity: "--Select an amenity--" - }, - zh: { - title: "杭州中心城区洪涝风险指数", - zoomCategory: "聚焦某一类别", - matrix: "矩阵", - impervious: "不透水面", - inundation: "淹没", - reset: "重置", - imperviousThreshold: "不透水面阈值:", - inundationThreshold: "淹没阈值:", - riskDistribution: "风险单元分布", - searchFilter: "搜索与筛选", - searchPlaceholder: "搜索地铁站/学校/医院/市场", - selectStation: "--选择地铁站--", - selectAmenity: "--选择设施--" - } -}; - let currentLang = 'en'; export function initLanguageToggle() { const toggleBtn = document.getElementById('lang-toggle'); - + toggleBtn.addEventListener('click', () => { currentLang = currentLang === 'en' ? 'zh' : 'en'; toggleBtn.textContent = currentLang === 'en' ? '中文' : 'English'; updateLanguage(); }); + + // 页面加载时根据 currentLang 设置语言 + updateLanguage(); } function updateLanguage() { - const t = translations[currentLang]; - - // 更新标题 - document.querySelector('h1').textContent = t.title; - - // 更新 labels - const labels = document.querySelectorAll('label'); - labels[0].textContent = t.zoomCategory; - labels[1].textContent = t.imperviousThreshold; - labels[2].textContent = t.inundationThreshold; - labels[3].textContent = t.riskDistribution; - labels[4].textContent = t.searchFilter; - - // 更新按钮 - document.getElementById('setmatrix').textContent = t.matrix; - document.getElementById('impervious').textContent = t.impervious; - document.getElementById('inundation').textContent = t.inundation; - document.getElementById('reset').textContent = t.reset; - - // 更新搜索框 - document.getElementById('entry').placeholder = t.searchPlaceholder; - - // 更新 select 默认选项 - document.querySelector('#select-station option[value=""]').textContent = t.selectStation; - document.querySelector('#select-amenity option[value=""]').textContent = t.selectAmenity; + // 1. 更新带 data-en / data-zh 的元素文本 + document.querySelectorAll('[data-en][data-zh]').forEach(el => { + // 如果 el 里有子节点 等,保留它们,只替换文本节点 + el.childNodes.forEach(node => { + if (node.nodeType === Node.TEXT_NODE) { + node.textContent = currentLang === 'en' ? el.dataset.en : el.dataset.zh; + } + }); + }); + + // 2. 更新搜索框 placeholder + const searchInput = document.getElementById('entry'); + if (searchInput) { + const enPlaceholder = searchInput.dataset.enPlaceholder || "Search a station/school/hospital/market"; + const zhPlaceholder = searchInput.dataset.zhPlaceholder || "搜索地铁站/学校/医院/市场"; + searchInput.placeholder = currentLang === 'en' ? enPlaceholder : zhPlaceholder; + } + + // 3. 更新 select 默认选项 + const selectStation = document.querySelector('#select-station option[value=""]'); + if (selectStation) { + const enStation = selectStation.dataset.en || "--Select a station--"; + const zhStation = selectStation.dataset.zh || "--选择地铁站--"; + selectStation.textContent = currentLang === 'en' ? enStation : zhStation; + } + + const selectAmenity = document.querySelector('#select-amenity option[value=""]'); + if (selectAmenity) { + const enAmenity = selectAmenity.dataset.en || "--Select an amenity--"; + const zhAmenity = selectAmenity.dataset.zh || "--选择设施--"; + selectAmenity.textContent = currentLang === 'en' ? enAmenity : zhAmenity; + } } export function getCurrentLang() { return currentLang; -} \ No newline at end of file +} From ebb5e226b31f2eeaa0b56c5720a0ff5614e7af49 Mon Sep 17 00:00:00 2001 From: Haoyu Date: Sun, 30 Nov 2025 15:59:43 -0500 Subject: [PATCH 13/22] test --- js/map.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/map.js b/js/map.js index d415418..222dae9 100644 --- a/js/map.js +++ b/js/map.js @@ -13,7 +13,7 @@ function initializeMap(matrix) { map = L.map('map', { zoomSnap: 0 }).setView([30.25, 120.15], 11); const baseTileLayer = L.tileLayer( - 'https://api.mapbox.com/styles/v1/junyiy/clng7r3oq083901qx0eu9gaor/tiles/256/{z}/{x}/{y}@2x?access_token=pk.eyJ1IjoianVueWl5IiwiYSI6ImNsdWVxcHowcDBxbWUyam92MWx5aW40MnkifQ.QR9kni83fZBO-EFBXAaX7g', + 'https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}', { maxZoom: 19, zoomOffset: -1, From 7b06ba93e38c4bd9b3cd89ae47d3f41624fbeffa Mon Sep 17 00:00:00 2001 From: Haoyu Date: Sun, 30 Nov 2025 16:16:33 -0500 Subject: [PATCH 14/22] update --- css/styles.css | 12 ++++++------ js/map.js | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/css/styles.css b/css/styles.css index dd8d7e7..9c564b8 100644 --- a/css/styles.css +++ b/css/styles.css @@ -12,7 +12,7 @@ html, body { header { height: 7vh; padding: 0; - background: linear-gradient(0deg, rgba(67, 92, 92, 0.75) 0%, rgb(66, 77, 92) 100%); + background: linear-gradient(0deg, rgb(212, 218, 220) 100%); display: flex; align-items: center; justify-content: space-between; @@ -24,7 +24,7 @@ header { border: 2px solid #fff; border-radius: 20px; background: rgba(255, 255, 255, 0.2); - color: #fff; + color: #46707f; font-size: 0.9rem; font-weight: bold; cursor: pointer; @@ -37,7 +37,7 @@ header { } h1 { - color: #fff; + color: #46707f; font-size: 1.8rem; margin: 0; padding: 0.5rem; @@ -56,7 +56,7 @@ main { flex-direction: column; width: 30%; padding: 1rem; - background: rgba(123, 152, 152, 0.75); + background: rgb(242, 245, 242); overflow-y: auto; gap: 0.5rem; box-sizing: border-box; @@ -100,7 +100,7 @@ label { #selected-count { font-size: 16px; - background-color: rgba(255, 255, 255, 0.3); + background-color: rgb(255, 255, 255); padding: 2px 6px; border-radius: 4px; display: inline-block; @@ -229,7 +229,7 @@ label { #clear-entry { width: 24px; height: 24px; - border: 0px; + border: 1px solid #ccc; border-left: 1px; border-radius: 4px; background: #ffffff; diff --git a/js/map.js b/js/map.js index 222dae9..cb31f62 100644 --- a/js/map.js +++ b/js/map.js @@ -13,7 +13,7 @@ function initializeMap(matrix) { map = L.map('map', { zoomSnap: 0 }).setView([30.25, 120.15], 11); const baseTileLayer = L.tileLayer( - 'https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}', + 'https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png', { maxZoom: 19, zoomOffset: -1, From b9d94ff81c39aee3358c9037b7c521b275756091 Mon Sep 17 00:00:00 2001 From: Haoyu Date: Sun, 30 Nov 2025 16:23:29 -0500 Subject: [PATCH 15/22] update --- css/styles.css | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/css/styles.css b/css/styles.css index 9c564b8..5f4d61c 100644 --- a/css/styles.css +++ b/css/styles.css @@ -363,17 +363,15 @@ label { /* ----------- Mobile Responsive ----------- */ @media (max-width: 768px) { main { - flex-direction: column; /* 地图在上,面板在下 */ + flex-direction: column; height: 100vh; } - /* 地图占上 40% */ .map { height: 40vh !important; - order: -1; /* 放到最上 */ + order: -1; } - /* 面板占下 60% */ .left-side { width: 100%; height: 60vh; From 7555c51351ddc7ec46d57c3e21780ee93128182a Mon Sep 17 00:00:00 2001 From: Haoyu Date: Wed, 3 Dec 2025 20:35:39 -0500 Subject: [PATCH 16/22] update --- package-lock.json | 13 +++++++++++++ package.json | 20 ++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 package-lock.json create mode 100644 package.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..2261059 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,13 @@ +{ + "name": "dashboard-project", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "dashboard-project", + "version": "1.0.0", + "license": "ISC" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..06b280a --- /dev/null +++ b/package.json @@ -0,0 +1,20 @@ +{ + "name": "dashboard-project", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/haoyu25/dashboard-project.git" + }, + "keywords": [], + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/haoyu25/dashboard-project/issues" + }, + "homepage": "https://github.com/haoyu25/dashboard-project#readme" +} From c9bbe3f25e988e256223fdc9712c0dc05064ac3b Mon Sep 17 00:00:00 2001 From: Haoyu Date: Wed, 3 Dec 2025 21:14:55 -0500 Subject: [PATCH 17/22] elint --- .eslintrc.json | 27 + .gitignore | 1 + .stylelintignore | 2 + INSTRUCTIONS.md | 78 + README.md | 1 + css/styles.css | 96 +- js/lang.js | 80 +- js/main.js | 221 +- js/map.js | 72 +- js/map_style.js | 20 +- js/pie.js | 368 ++-- js/reset.js | 52 +- js/search.js | 216 +- js/select.js | 268 +-- js/selection_tools.js | 102 +- js/slider.js | 64 +- mockup/css/styles.css | 137 ++ mockup/img/location.png | Bin 0 -> 2048 bytes mockup/img/location.svg | 56 + mockup/index.html | 77 + package-lock.json | 4547 ++++++++++++++++++++++++++++++++++++++- package.json | 20 +- 22 files changed, 5715 insertions(+), 790 deletions(-) create mode 100644 .eslintrc.json create mode 100644 .gitignore create mode 100644 .stylelintignore create mode 100644 INSTRUCTIONS.md create mode 100644 README.md create mode 100644 mockup/css/styles.css create mode 100644 mockup/img/location.png create mode 100644 mockup/img/location.svg create mode 100644 mockup/index.html diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..4677d22 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,27 @@ +{ + "extends": ["eslint:recommended", "google"], + "parserOptions": { + "ecmaVersion": "latest", + "sourceType": "module" + }, + "env": { + "browser": true, + "es6": true + }, + "ignorePatterns": ["examples/**/*.js"], + "globals": { + "L": "readonly", + "d3": "readonly" + }, + "rules": { + "indent": ["error", 2, { "VariableDeclarator": 1 }], + "max-len": "off", + "object-curly-spacing": "off", + "operator-linebreak": [ + "error", + "after", + { "overrides": { "?": "ignore", ":": "ignore" } } + ], + "require-jsdoc": "off" + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c2658d7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules/ diff --git a/.stylelintignore b/.stylelintignore new file mode 100644 index 0000000..2069575 --- /dev/null +++ b/.stylelintignore @@ -0,0 +1,2 @@ +node_modules/**/* +examples/**/* \ No newline at end of file diff --git a/INSTRUCTIONS.md b/INSTRUCTIONS.md new file mode 100644 index 0000000..81b009b --- /dev/null +++ b/INSTRUCTIONS.md @@ -0,0 +1,78 @@ +Dashboards are the bread and butter of spatial data displays. They are highly interactive websites, usually with real-time updates that show data in an accessible way. + + +## Timeline + +We will allocate weeks 5-8 (four weeks) of the semester to this project. + + +## Samples + +Find examples from previous years at . + + +## Instructions + +### Step 1: Choose a topic + +- [ ] **Choose a topic** that is fruitfully explained with some combination of narrative and geographic elements. This might be as general as public transit, bike share, real estate development, national parks, etc. Stick with the data domain that you chose for your story map if you can. + +- [ ] **Choose your users** -- Who do you want to empower with information to make decisions in your domain. For example, if you chose public transit, then are you interested in empowering riders? Dispatchers? If you chose national parks, are you interested in visitors? Park rangers? Try not to build one thing for _everyone_ -- that usually leads to a product that is not very useful for anyone. + +- [ ] **Decide what your users could do with better information** -- Make a list of the particular decisions you want to enable with your dashboard. This can be a blue-sky list, but you will likely end up refining your scope later. + +- [ ] **Figure out what data you need to enable the decisions.** -- You should use this list of decisions you want to enable to evaluate any dataset or interactive element you add to your dashboard, to determine whether it actually supports making those decisions. Whatever data you use, **be sure to include citations somewhere in your app interface**. + +### Step 2: Create a map on your browser + +The main component of the dashboard is the map displaying spatial information. This is the building block of all your other features! + +* Create basic html with head and body elements, linking to your css stylesheet and javascript file +* Create map element in html document +* Style map element in CSS to give it height +* Create map object in Javascript referencing leaflet quickstart https://leafletjs.com/examples/quick-start/ (will need to link to leaflet documents in your html) +* Add a basemap tile layer - use OpenStreetMap, Stamen, Mapbox, or another source - you can customize this! +* NOTE: you may want to separate the code for creating the map into a different javascript file for organization. If you do this, wrap the creation of the map into a function and export that function, and then import it in your main.js file. + +### Step 3: Add data to your map + +* Add data file to your repository folder (usually in a data subfolder) - remember geojson files work best, csv files work too but must be parsed using csv parse https://csv.js.org/parse/ or papa parse https://www.papaparse.com/ . See [the course resources](https://github.com/musa-6110-fall-2023/course-info/blob/main/resources/data-format-csv.md) for a guide to getting started with those libraries. +* Use fetch API https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API to load your data into your environment (remember, fetch returns a promise, not a file, and a file needs to be extracted from the promise) +* Create map layer to display data (ie LayerGroup, Marker, etc.. see documentation https://leafletjs.com/reference.html) - style the layer here, not in CSS because CSS cannot access styles within the map +* Display data through your map layer (either create an empty layer and pass the data through in a separate function, or input the data directly when you create the layer) +* optional: attach popup https://leafletjs.com/reference.html#popup and tooltip https://leafletjs.com/reference.html#tooltip to your data layer for more interactivity + +### Step 4: Create an interactive element (ie search, highlight, print data, etc) + +This is the most broad step because you could do so many different things like: +* button to filter data shown on map +* checkbox to filter data shown on map +* search bar to type in to filter data shown on map (more difficult - try only if you've already accomplished the button) +* paste/display text of data attributes when you click on the data layer on the map +* graph data shown on map + +The general steps to accomplish these are: +* create an html element for the interactive piece (ie button, checkbox, searchbar, graph) ps. if you're interactive event will be clicking on the map, no extra element is needed +* create a DOM (document object model) element in javascript to set up an event listener - reference DOM exercise we did in class https://github.com/musa-6110-fall-2023/dom-exercises +* create an event listener (event examples: click a button, check a checkbox, click a map data layer) +* create a function which responds when the event has happened +* create a function to parse through data (will require for loop) and accomplish one of the following: + * clear data layer and display only the filtered data + * print in space outside map (new html element) information about the data + * pass data shown on map through a graph and display + +### Step 5: Finishing touches (styling, linting, accessibility) + +* style the map and data to your liking, which can include doing things like: + * customizing your basemap tiles + * customizing your marker/data layer style (using your own image in replace for the marker image) + * changing fonts and colors in the csv + +Make sure to lint use eslint or stylelint to ensure your code is using the widely acceptable syntax + +Check for accessibility using: +* Axe DevTools in browser +* accessible colors for someone looking at your map, reference colorbrewer or other sites for help with this + + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..39691fc --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +Add a readme for your dashboard here. Include content overview, data citations, and any relevant technical details. \ No newline at end of file diff --git a/css/styles.css b/css/styles.css index 5f4d61c..62dcf89 100644 --- a/css/styles.css +++ b/css/styles.css @@ -1,18 +1,19 @@ +/* stylelint-disable selector-class-pattern, selector-id-pattern */ + /* Reset body/html */ html, body { padding: 0; margin: 0; height: 100%; overflow: hidden; - font-family: "Arial","SimHei", sans-serif; + font-family: Arial,SimHei, sans-serif; box-sizing: border-box; } /* Header */ header { height: 7vh; - padding: 0; - background: linear-gradient(0deg, rgb(212, 218, 220) 100%); + background: linear-gradient(0deg, rgb(212 218 220) 100%); display: flex; align-items: center; justify-content: space-between; @@ -23,7 +24,7 @@ header { padding: 6px 16px; border: 2px solid #fff; border-radius: 20px; - background: rgba(255, 255, 255, 0.2); + background: rgb(255 255 255 / 20%); color: #46707f; font-size: 0.9rem; font-weight: bold; @@ -32,7 +33,7 @@ header { } #lang-toggle:hover { - background: rgba(255, 255, 255, 0.3); + background: rgb(255 255 255 / 30%); transform: scale(1.05); } @@ -56,7 +57,7 @@ main { flex-direction: column; width: 30%; padding: 1rem; - background: rgb(242, 245, 242); + background: rgb(242 245 242); overflow-y: auto; gap: 0.5rem; box-sizing: border-box; @@ -66,7 +67,7 @@ label { display: block; font-weight: bold; font-size: 1rem; - color: rgb(66, 77, 92); + color: rgb(66 77 92); text-align: left; width: 100%; margin: 0; @@ -87,11 +88,31 @@ label { flex-direction: column; gap: 0.2rem; padding: 1rem; - background: rgba(255, 255, 255, 0.85); + background: rgb(255 255 255 / 85%); border-radius: 16px; - box-shadow: 0 2px 4px rgba(0,0,0,0.1); + box-shadow: 0 2px 4px rgb(0 0 0 / 10%); +} + +/* Category buttons */ +.category-buttons { + display: flex; + flex-wrap: wrap; + gap: 8px; } +.category-buttons button { + flex: 1; + padding: 6px 12px; + border: none; + border-radius: 4px; + background-color: #46707f; + color: white; + font-size: 0.85rem; + cursor: pointer; + transition: background-color 0.2s, transform 0.1s; +} + +/* Selection row */ .selection-row { display: flex; align-items: left; @@ -100,7 +121,7 @@ label { #selected-count { font-size: 16px; - background-color: rgb(255, 255, 255); + background-color: rgb(255 255 255); padding: 2px 6px; border-radius: 4px; display: inline-block; @@ -108,10 +129,10 @@ label { } .selection-row button { - padding: 0px 12px; + padding: 0 12px; border-radius: 4px; border: none; - background-color: #ffffff; + background-color: #fff; color: #46707f; cursor: pointer; font-size: 0.85rem; @@ -121,25 +142,6 @@ label { background-color: #99c4d5; } -/* Category buttons */ -.category-buttons { - display: flex; - flex-wrap: wrap; - gap: 8px; -} - -.category-buttons button { - flex: 1; - padding: 6px 12px; - border: none; - border-radius: 4px; - background-color: #46707f; - color: white; - font-size: 0.85rem; - cursor: pointer; - transition: background-color 0.2s, transform 0.1s; -} - .category-buttons button:hover { background-color: #99c4d5; transform: translateY(-1px); @@ -162,6 +164,7 @@ label { text-align: left; } +/* noUiSlider 第三方类名保留原样 */ .noUi-target { height: 6px !important; border-radius: 5px !important; @@ -179,9 +182,9 @@ label { height: 20px !important; border-radius: 50% !important; background: #95b4bf !important; - border: 1px solid #ffffff !important; + border: 1px solid #fff !important; cursor: pointer; - box-shadow: 0 2px 4px rgba(0,0,0,0.3) !important; + box-shadow: 0 2px 4px rgb(0 0 0 / 30%) !important; transition: transform 0.2s; top: -7px !important; right: -10px !important; @@ -192,8 +195,8 @@ label { border-color: #2e4a55 !important; } -.noUi-handle:before, -.noUi-handle:after { +.noUi-handle::before, +.noUi-handle::after { display: none !important; } @@ -232,7 +235,7 @@ label { border: 1px solid #ccc; border-left: 1px; border-radius: 4px; - background: #ffffff; + background: #fff; cursor: pointer; padding: 0; line-height: 1; @@ -266,14 +269,13 @@ label { } .search-label { - background: none; /* 背景色 */ - color: #333; - font-size: 0.8rem; + background: none; + color: #333; border: none; font-weight: bold; padding: 1px; border-radius: 4px; - box-shadow: 0 0px; + box-shadow: 0 0; text-align: center; font-size: 10px; } @@ -306,12 +308,12 @@ label { .map { flex: 1; min-height: 0; - height: 100%; /* <- 关键修复:避免 offsetHeight = 0 */ + height: 100%; } /* Metro label and hex */ .metro-label { - background: rgba(255,255,255,0.8); + background: rgb(255 255 255 / 80%); border-radius: 4px; padding: 2px 4px; font-size: 8px; @@ -320,8 +322,7 @@ label { .hex-tooltip { margin: 0; - padding: 0; - background: rgba(56, 56, 56, 0.6); + background: rgb(56 56 56 / 60%); border: 1px; border-radius: 4px; font-size: 8px; @@ -343,9 +344,8 @@ label { /* Legend */ .legend-box { - background: rgba(255, 255, 255, 0.567); + background: rgb(255 255 255 / 56.7%); border-radius: 6px; - font-size: 0.85rem; line-height: 18px; margin-bottom: 10px; padding: 6px; @@ -361,7 +361,7 @@ label { } /* ----------- Mobile Responsive ----------- */ -@media (max-width: 768px) { +@media (width <= 768px) { main { flex-direction: column; height: 100vh; @@ -390,7 +390,7 @@ label { font-size: 0.75rem; } - #riskPieChart { + #risk-pie-chart { width: 120px !important; height: 120px !important; margin: 0 auto; diff --git a/js/lang.js b/js/lang.js index e46f23f..a5e3fce 100644 --- a/js/lang.js +++ b/js/lang.js @@ -1,53 +1,53 @@ let currentLang = 'en'; export function initLanguageToggle() { - const toggleBtn = document.getElementById('lang-toggle'); + const toggleBtn = document.getElementById('lang-toggle'); - toggleBtn.addEventListener('click', () => { - currentLang = currentLang === 'en' ? 'zh' : 'en'; - toggleBtn.textContent = currentLang === 'en' ? '中文' : 'English'; - updateLanguage(); - }); - - // 页面加载时根据 currentLang 设置语言 + toggleBtn.addEventListener('click', () => { + currentLang = currentLang === 'en' ? 'zh' : 'en'; + toggleBtn.textContent = currentLang === 'en' ? '中文' : 'English'; updateLanguage(); + }); + + // 页面加载时根据 currentLang 设置语言 + updateLanguage(); } function updateLanguage() { - // 1. 更新带 data-en / data-zh 的元素文本 - document.querySelectorAll('[data-en][data-zh]').forEach(el => { - // 如果 el 里有子节点 等,保留它们,只替换文本节点 - el.childNodes.forEach(node => { - if (node.nodeType === Node.TEXT_NODE) { - node.textContent = currentLang === 'en' ? el.dataset.en : el.dataset.zh; - } - }); + // 1. 更新带 data-en / data-zh 的元素文本 + document.querySelectorAll('[data-en][data-zh]').forEach((el) => { + // 如果 el 里有子节点 等,保留它们,只替换文本节点 + el.childNodes.forEach((node) => { + if (node.nodeType === Node.TEXT_NODE) { + node.textContent = currentLang === 'en' ? el.dataset.en : el.dataset.zh; + } }); - - // 2. 更新搜索框 placeholder - const searchInput = document.getElementById('entry'); - if (searchInput) { - const enPlaceholder = searchInput.dataset.enPlaceholder || "Search a station/school/hospital/market"; - const zhPlaceholder = searchInput.dataset.zhPlaceholder || "搜索地铁站/学校/医院/市场"; - searchInput.placeholder = currentLang === 'en' ? enPlaceholder : zhPlaceholder; - } - - // 3. 更新 select 默认选项 - const selectStation = document.querySelector('#select-station option[value=""]'); - if (selectStation) { - const enStation = selectStation.dataset.en || "--Select a station--"; - const zhStation = selectStation.dataset.zh || "--选择地铁站--"; - selectStation.textContent = currentLang === 'en' ? enStation : zhStation; - } - - const selectAmenity = document.querySelector('#select-amenity option[value=""]'); - if (selectAmenity) { - const enAmenity = selectAmenity.dataset.en || "--Select an amenity--"; - const zhAmenity = selectAmenity.dataset.zh || "--选择设施--"; - selectAmenity.textContent = currentLang === 'en' ? enAmenity : zhAmenity; - } + }); + + // 2. 更新搜索框 placeholder + const searchInput = document.getElementById('entry'); + if (searchInput) { + const enPlaceholder = searchInput.dataset.enPlaceholder || 'Search a station/school/hospital/market'; + const zhPlaceholder = searchInput.dataset.zhPlaceholder || '搜索地铁站/学校/医院/市场'; + searchInput.placeholder = currentLang === 'en' ? enPlaceholder : zhPlaceholder; + } + + // 3. 更新 select 默认选项 + const selectStation = document.querySelector('#select-station option[value=""]'); + if (selectStation) { + const enStation = selectStation.dataset.en || '--Select a station--'; + const zhStation = selectStation.dataset.zh || '--选择地铁站--'; + selectStation.textContent = currentLang === 'en' ? enStation : zhStation; + } + + const selectAmenity = document.querySelector('#select-amenity option[value=""]'); + if (selectAmenity) { + const enAmenity = selectAmenity.dataset.en || '--Select an amenity--'; + const zhAmenity = selectAmenity.dataset.zh || '--选择设施--'; + selectAmenity.textContent = currentLang === 'en' ? enAmenity : zhAmenity; + } } export function getCurrentLang() { - return currentLang; + return currentLang; } diff --git a/js/main.js b/js/main.js index 4e5f2d1..a98c935 100644 --- a/js/main.js +++ b/js/main.js @@ -2,133 +2,132 @@ import { initializeMap } from './map.js'; import { stationSelect, amenitySelect } from './select.js'; import { initSearch } from './search.js'; import { initPieChart } from './pie.js'; -import { impSlider, inuSlider } from './slider.js'; import { resetManager } from './reset.js'; import { initLanguageToggle } from './lang.js'; import { initSelectionTools } from './selection_tools.js'; export async function initApp(resetLeftSide = false) { - window.mapLayers = window.mapLayers || {}; - window.mapLayers.selectedLayers = window.mapLayers.selectedLayers || new Set(); - - window.updateSelectionCount = () => { - const countEl = document.getElementById('selected-count'); - if (!countEl) return; - countEl.textContent = window.mapLayers.selectedLayers.size || 0; - - const exportBtn = document.getElementById('export-selection'); - if (exportBtn) exportBtn.disabled = window.mapLayers.selectedLayers.size === 0; - }; - - const hz_matrix = await fetch('data/data.geojson'); - const matrix = await hz_matrix.json(); - const hz_metro = await fetch("data/metrostation.geojson"); - const metro = await hz_metro.json(); - const hz_amenity = await fetch("data/amenity.geojson"); - const amenity = await hz_amenity.json(); - - if (window.matrixMap) window.matrixMap.remove(); - window.matrixMap = initializeMap(matrix); - window.initialMatrix = window.initialMatrix || matrix; - - const createPane = (name, zIndex) => { - window.matrixMap.createPane(name); - const pane = window.matrixMap.getPane(name); - pane.style.zIndex = zIndex; - pane.style.pointerEvents = 'auto'; - }; - createPane('metroPane', 650); - createPane('amenityPane', 640); - - window.metroIcon = L.icon({ iconUrl: 'png/metrostationicon.png', iconSize: [10,10], iconAnchor: [5,5] }); - window.metroIconHighlight = L.icon({ iconUrl: 'png/metrostationicon_highlight.png', iconSize: [30,30], iconAnchor: [15,15] }); - - window.amenityIcons = { - school: L.icon({ iconUrl: "png/school.png", iconSize: [10,10], iconAnchor: [5,5] }), - hospital: L.icon({ iconUrl: "png/hospital.png", iconSize: [10,10], iconAnchor: [5,5] }), - market: L.icon({ iconUrl: "png/market.png", iconSize: [10,10], iconAnchor: [5,5] }), - }; - window.amenityIconsHighlight = { - school: L.icon({ iconUrl: "png/school_hl.png", iconSize: [30,30], iconAnchor: [15,15] }), - hospital: L.icon({ iconUrl: "png/hospital_hl.png", iconSize: [30,30], iconAnchor: [15,15] }), - market: L.icon({ iconUrl: "png/market_hl.png", iconSize: [30,30], iconAnchor: [15,15] }), - }; - window.defaultAmenityIcon = L.icon({ iconUrl: "png/market.png", iconSize: [10,10], iconAnchor: [5,5] }); - window.defaultAmenityIconHighlight = L.icon({ iconUrl: "png/market_hl.png", iconSize: [30,30], iconAnchor: [15,15] }); - - window.metroLayer = L.geoJSON(metro, { - pane: 'metroPane', - pointToLayer: (feature, latlng) => { - const marker = L.marker(latlng, { icon: window.metroIcon }); - const name = feature.properties.name || ''; - const address = feature.properties.address || ''; - const labelHtml = `
${name}
${address}
`; - - marker.tooltipShown = false; - marker.isClicking = false; - - marker.on('mouseover', () => { - if (marker.isClicking) return; - if (!marker.tooltipShown) { - marker.bindTooltip(labelHtml, { permanent: true, direction: 'top', className: 'metro-label', opacity: 0.9 }).openTooltip(); - marker.tooltipShown = true; - } - }); - marker.on('click', () => { - marker.isClicking = true; - if (marker.getTooltip()) { - marker.unbindTooltip(); - marker.tooltipShown = false; - } - setTimeout(() => marker.isClicking = false, 100); - }); - return marker; + window.mapLayers = window.mapLayers || {}; + window.mapLayers.selectedLayers = window.mapLayers.selectedLayers || new Set(); + + window.updateSelectionCount = () => { + const countEl = document.getElementById('selected-count'); + if (!countEl) return; + countEl.textContent = window.mapLayers.selectedLayers.size || 0; + + const exportBtn = document.getElementById('export-selection'); + if (exportBtn) exportBtn.disabled = window.mapLayers.selectedLayers.size === 0; + }; + + const hzmatrix = await fetch('data/data.geojson'); + const matrix = await hzmatrix.json(); + const hzmetro = await fetch('data/metrostation.geojson'); + const metro = await hzmetro.json(); + const hzamenity = await fetch('data/amenity.geojson'); + const amenity = await hzamenity.json(); + + if (window.matrixMap) window.matrixMap.remove(); + window.matrixMap = initializeMap(matrix); + window.initialMatrix = window.initialMatrix || matrix; + + const createPane = (name, zIndex) => { + window.matrixMap.createPane(name); + const pane = window.matrixMap.getPane(name); + pane.style.zIndex = zIndex; + pane.style.pointerEvents = 'auto'; + }; + createPane('metroPane', 650); + createPane('amenityPane', 640); + + window.metroIcon = L.icon({ iconUrl: 'png/metrostationicon.png', iconSize: [10, 10], iconAnchor: [5, 5] }); + window.metroIconHighlight = L.icon({ iconUrl: 'png/metrostationicon_highlight.png', iconSize: [30, 30], iconAnchor: [15, 15] }); + + window.amenityIcons = { + school: L.icon({ iconUrl: 'png/school.png', iconSize: [10, 10], iconAnchor: [5, 5] }), + hospital: L.icon({ iconUrl: 'png/hospital.png', iconSize: [10, 10], iconAnchor: [5, 5] }), + market: L.icon({ iconUrl: 'png/market.png', iconSize: [10, 10], iconAnchor: [5, 5] }), + }; + window.amenityIconsHighlight = { + school: L.icon({ iconUrl: 'png/school_hl.png', iconSize: [30, 30], iconAnchor: [15, 15] }), + hospital: L.icon({ iconUrl: 'png/hospital_hl.png', iconSize: [30, 30], iconAnchor: [15, 15] }), + market: L.icon({ iconUrl: 'png/market_hl.png', iconSize: [30, 30], iconAnchor: [15, 15] }), + }; + window.defaultAmenityIcon = L.icon({ iconUrl: 'png/market.png', iconSize: [10, 10], iconAnchor: [5, 5] }); + window.defaultAmenityIconHighlight = L.icon({ iconUrl: 'png/market_hl.png', iconSize: [30, 30], iconAnchor: [15, 15] }); + + window.metroLayer = L.geoJSON(metro, { + pane: 'metroPane', + pointToLayer: (feature, latlng) => { + const marker = L.marker(latlng, { icon: window.metroIcon }); + const name = feature.properties.name || ''; + const address = feature.properties.address || ''; + const labelHtml = `
${name}
${address}
`; + + marker.tooltipShown = false; + marker.isClicking = false; + + marker.on('mouseover', () => { + if (marker.isClicking) return; + if (!marker.tooltipShown) { + marker.bindTooltip(labelHtml, { permanent: true, direction: 'top', className: 'metro-label', opacity: 0.9 }).openTooltip(); + marker.tooltipShown = true; } - }); - - window.amenityLayer = L.geoJSON(amenity, { - pane: 'amenityPane', - pointToLayer: (feature, latlng) => { - const cat = feature.properties.category; - const icon = window.amenityIcons[cat] || window.defaultAmenityIcon; - return L.marker(latlng, { icon }); - } - }); - - window.matrixMap.on('zoomend', () => { - const z = window.matrixMap.getZoom(); - if (z >= 12) { - if (!window.matrixMap.hasLayer(window.metroLayer)) window.matrixMap.addLayer(window.metroLayer); - } else { - if (window.matrixMap.hasLayer(window.metroLayer)) window.matrixMap.removeLayer(window.metroLayer); + }); + marker.on('click', () => { + marker.isClicking = true; + if (marker.getTooltip()) { + marker.unbindTooltip(); + marker.tooltipShown = false; } - }); + setTimeout(() => marker.isClicking = false, 100); + }); + return marker; + }, + }); + + window.amenityLayer = L.geoJSON(amenity, { + pane: 'amenityPane', + pointToLayer: (feature, latlng) => { + const cat = feature.properties.category; + const icon = window.amenityIcons[cat] || window.defaultAmenityIcon; + return L.marker(latlng, { icon }); + }, + }); + + window.matrixMap.on('zoomend', () => { + const z = window.matrixMap.getZoom(); + if (z >= 12) { + if (!window.matrixMap.hasLayer(window.metroLayer)) window.matrixMap.addLayer(window.metroLayer); + } else { + if (window.matrixMap.hasLayer(window.metroLayer)) window.matrixMap.removeLayer(window.metroLayer); + } + }); - if (window.pieChart) window.pieChart.destroy(); - window.pieChart = initPieChart(matrix); - window.updateSelectionCount(); + if (window.pieChart) window.pieChart.destroy(); + window.pieChart = initPieChart(matrix); + window.updateSelectionCount(); - initSearch(); - stationSelect(); - amenitySelect(); + initSearch(); + stationSelect(); + amenitySelect(); - if (resetLeftSide) resetManager.resetLeftSide(); + if (resetLeftSide) resetManager.resetLeftSide(); } initLanguageToggle(); await initApp(true); -document.getElementById("reset").addEventListener("click", async () => { - if (window.mapLayers?.selectedLayers) { - window.mapLayers.selectedLayers.forEach(layer => { - L.DomUtil.removeClass(layer._path, "hex-selected"); - layer.unbindTooltip(); - }); - window.mapLayers.selectedLayers.clear(); - } - if (window.updateSelectionCount) window.updateSelectionCount(); +document.getElementById('reset').addEventListener('click', async () => { + if (window.mapLayers?.selectedLayers) { + window.mapLayers.selectedLayers.forEach((layer) => { + L.DomUtil.removeClass(layer._path, 'hex-selected'); + layer.unbindTooltip(); + }); + window.mapLayers.selectedLayers.clear(); + } + if (window.updateSelectionCount) window.updateSelectionCount(); - await initApp(true); + await initApp(true); }); initSelectionTools(); diff --git a/js/map.js b/js/map.js index cb31f62..2887227 100644 --- a/js/map.js +++ b/js/map.js @@ -1,13 +1,14 @@ + import { calMatrix, calImpervious, calInundation } from './map_style.js'; import { onSliderChange } from './slider.js'; import { matrixLegend, imperviousLegend, inundationLegend } from './legend_style.js'; -let initialMatrix, map, impervious, inundation; +let initialMatrix; let map; let impervious; let inundation; let legend; -let selectedLayers = new Set(); +const selectedLayers = new Set(); let currentLayer; -const sliderContainer = document.getElementById("slider-container"); +const sliderContainer = document.getElementById('slider-container'); function initializeMap(matrix) { map = L.map('map', { zoomSnap: 0 }).setView([30.25, 120.15], 11); @@ -19,7 +20,7 @@ function initializeMap(matrix) { zoomOffset: -1, tileSize: 512, attribution: `© Mapbox © OpenStreetMap Improve this map`, - } + }, ); baseTileLayer.addTo(map); @@ -35,31 +36,31 @@ function initializeMap(matrix) { } const tooltipOptions = { - direction: "center", + direction: 'center', offset: [0, 0], opacity: 1, - className: "hex-tooltip", - permanent: true + className: 'hex-tooltip', + permanent: true, }; function attachHexEvents(layer) { layer.unbindTooltip(); - layer.on("mouseover", () => { - if (!selectedLayers.has(layer)) L.DomUtil.addClass(layer._path, "hex-hover"); + layer.on('mouseover', () => { + if (!selectedLayers.has(layer)) L.DomUtil.addClass(layer._path, 'hex-hover'); }); - layer.on("mouseout", () => { - if (!selectedLayers.has(layer)) L.DomUtil.removeClass(layer._path, "hex-hover"); + layer.on('mouseout', () => { + if (!selectedLayers.has(layer)) L.DomUtil.removeClass(layer._path, 'hex-hover'); }); - layer.on("click", () => { + layer.on('click', () => { if (selectedLayers.has(layer)) { selectedLayers.delete(layer); - L.DomUtil.removeClass(layer._path, "hex-selected"); + L.DomUtil.removeClass(layer._path, 'hex-selected'); removeHexTooltip(layer); } else { selectedLayers.add(layer); - L.DomUtil.addClass(layer._path, "hex-selected"); + L.DomUtil.addClass(layer._path, 'hex-selected'); addHexTooltip(layer); } @@ -71,12 +72,12 @@ function initializeMap(matrix) { if (!layer._tooltip) { layer._tooltip = L.tooltip({ permanent: true, - direction: "center", + direction: 'center', offset: [0, 0], - className: "hex-tooltip" + className: 'hex-tooltip', }) - .setContent(hexTooltipContent(layer)) - .setLatLng(layer.getBounds().getCenter()); + .setContent(hexTooltipContent(layer)) + .setLatLng(layer.getBounds().getCenter()); layer._tooltip.addTo(map); } updateHexTooltipVisibility(layer); @@ -94,23 +95,23 @@ function initializeMap(matrix) { const zoom = map.getZoom(); const el = layer._tooltip.getElement(); if (el) { - el.style.display = (selectedLayers.has(layer) && zoom >= 12) ? "block" : "none"; + el.style.display = (selectedLayers.has(layer) && zoom >= 12) ? 'block' : 'none'; } } initialMatrix = L.geoJSON(matrix, { style: calMatrix, - onEachFeature: (feature, layer) => attachHexEvents(layer) + onEachFeature: (feature, layer) => attachHexEvents(layer), }).addTo(map); impervious = L.geoJSON(matrix, { style: calImpervious, - onEachFeature: (feature, layer) => attachHexEvents(layer) + onEachFeature: (feature, layer) => attachHexEvents(layer), }); inundation = L.geoJSON(matrix, { style: calInundation, - onEachFeature: (feature, layer) => attachHexEvents(layer) + onEachFeature: (feature, layer) => attachHexEvents(layer), }); map.fitBounds(initialMatrix.getBounds()); @@ -127,14 +128,14 @@ function initializeMap(matrix) { setLegend(matrixLegend); onSliderChange(() => { - initialMatrix.eachLayer(layer => layer.setStyle(calMatrix(layer.feature))); + initialMatrix.eachLayer((layer) => layer.setStyle(calMatrix(layer.feature))); }); map.whenReady(() => map.invalidateSize()); - window.addEventListener("resize", () => map.invalidateSize()); + window.addEventListener('resize', () => map.invalidateSize()); - map.on("zoomend", () => { - selectedLayers.forEach(layer => updateHexTooltipVisibility(layer)); + map.on('zoomend', () => { + selectedLayers.forEach((layer) => updateHexTooltipVisibility(layer)); }); return map; @@ -145,9 +146,8 @@ function setLegend(html) { } function resetLayers() { - selectedLayers.forEach(layer => { - L.DomUtil.removeClass(layer._path, "hex-selected"); - removeHexTooltip(layer); + selectedLayers.forEach((layer) => { + L.DomUtil.removeClass(layer._path, 'hex-selected'); }); selectedLayers.clear(); @@ -161,23 +161,23 @@ function resetLayers() { function addLayerWithInvalidate(layer, legendHtml, showSlider = false) { resetLayers(); layer.addTo(map); - sliderContainer.style.display = showSlider ? "block" : "none"; + sliderContainer.style.display = showSlider ? 'block' : 'none'; setLegend(legendHtml); currentLayer = layer; window.mapLayers.currentLayer = layer; map.invalidateSize(); } -document.getElementById("matrix").addEventListener("click", () => - addLayerWithInvalidate(initialMatrix, matrixLegend, true) +document.getElementById('matrix').addEventListener('click', () => + addLayerWithInvalidate(initialMatrix, matrixLegend, true), ); -document.getElementById("impervious").addEventListener("click", () => - addLayerWithInvalidate(impervious, imperviousLegend, false) +document.getElementById('impervious').addEventListener('click', () => + addLayerWithInvalidate(impervious, imperviousLegend, false), ); -document.getElementById("inundation").addEventListener("click", () => - addLayerWithInvalidate(inundation, inundationLegend, false) +document.getElementById('inundation').addEventListener('click', () => + addLayerWithInvalidate(inundation, inundationLegend, false), ); export { initializeMap, initialMatrix, impervious, inundation }; diff --git a/js/map_style.js b/js/map_style.js index 205d090..2b492f3 100644 --- a/js/map_style.js +++ b/js/map_style.js @@ -1,4 +1,4 @@ -import { getImpThresholds, getInuThresholds} from './slider.js'; +import { getImpThresholds, getInuThresholds} from './slider.js'; const colorMapMatrix = { 'Low Impervious - Low Inundation': '#4575b4', @@ -40,12 +40,12 @@ function calMatrix(feature) { return { stroke: true, - color: '#ffffffff', + color: '#ffffffff', weight: 0.5, fillColor: color, fillOpacity: color === 'transparent' ? 0 : 0.8, }; -}; +} function calImpervious(feature) { const pct = feature.properties.pct_2025; @@ -58,12 +58,12 @@ function calImpervious(feature) { return { stroke: true, - color: '#ffffffff', + color: '#ffffffff', weight: 0.5, fillColor: color, - fillOpacity: 0.6 - }; + fillOpacity: 0.6, }; +} function calInundation(feature) { const inund = feature.properties.inund_mean; @@ -76,14 +76,14 @@ function calInundation(feature) { return { stroke: true, - color: '#ffffffff', + color: '#ffffffff', weight: 0.5, fillColor: color, - fillOpacity: 0.6 - }; + fillOpacity: 0.6, }; +} export { calMatrix }; export { calImpervious }; -export { calInundation }; \ No newline at end of file +export { calInundation }; diff --git a/js/pie.js b/js/pie.js index 874c2d5..2293c3e 100644 --- a/js/pie.js +++ b/js/pie.js @@ -1,218 +1,220 @@ +/* global ChartDataLabels */ + import { getImpThresholds, getInuThresholds, onSliderChange } from './slider.js'; let pieChart; -let selectedSegments = new Set(); +const selectedSegments = new Set(); export function initPieChart(matrix) { - const Chart = window.Chart; - if (!Chart) { - console.error('Chart.js is not loaded'); - return null; - } - - const ctx = document.getElementById('riskPieChart')?.getContext('2d'); - if (!ctx) { - console.error('Canvas element not found'); - return null; - } - - const data = computeDistribution(matrix); - - const colorMap = { - 'Low Impervious - Low Inundation': '#4575b4', - 'Low Impervious - Medium Inundation': '#91bfdb', - 'Low Impervious - High Inundation': '#e0f3f8', - 'Medium Impervious - Low Inundation': '#fee090', - 'Medium Impervious - Medium Inundation': '#fc8d59', - 'Medium Impervious - High Inundation': '#d73027', - 'High Impervious - Low Inundation': '#fdae61', - 'High Impervious - Medium Inundation': '#f46d43', - 'High Impervious - High Inundation': '#a50026', - }; - - const labels = Object.keys(data); - const values = Object.values(data); - const colors = labels.map(label => colorMap[label] || '#cccccc'); - - pieChart = new Chart(ctx, { - type: 'pie', - data: { - labels: labels, - datasets: [{ - label: 'Risk Units', - data: values, - backgroundColor: colors, - borderWidth: Array(values.length).fill(2), - borderColor: Array(values.length).fill('#ffffff') - }] - }, - options: { - responsive: true, - plugins: { - legend: { display: false }, - tooltip: { - callbacks: { - label: function(context) { - const total = context.dataset.data.reduce((a,b)=>a+b,0); - const value = context.raw; - const percentage = ((value/total)*100).toFixed(1); - return `${value} (${percentage}%)`; - } - } - }, - datalabels: { - color: '#423d52', - font: { weight: 'bold', size: 12 }, - anchor: 'end', - align: 'end', - offset: 0, - formatter: (value) => value - } + const Chart = window.Chart; + if (!Chart) { + console.error('Chart.js is not loaded'); + return null; + } + + const ctx = document.getElementById('riskPieChart')?.getContext('2d'); + if (!ctx) { + console.error('Canvas element not found'); + return null; + } + + const data = computeDistribution(matrix); + + const colorMap = { + 'Low Impervious - Low Inundation': '#4575b4', + 'Low Impervious - Medium Inundation': '#91bfdb', + 'Low Impervious - High Inundation': '#e0f3f8', + 'Medium Impervious - Low Inundation': '#fee090', + 'Medium Impervious - Medium Inundation': '#fc8d59', + 'Medium Impervious - High Inundation': '#d73027', + 'High Impervious - Low Inundation': '#fdae61', + 'High Impervious - Medium Inundation': '#f46d43', + 'High Impervious - High Inundation': '#a50026', + }; + + const labels = Object.keys(data); + const values = Object.values(data); + const colors = labels.map((label) => colorMap[label] || '#cccccc'); + + pieChart = new Chart(ctx, { + type: 'pie', + data: { + labels: labels, + datasets: [{ + label: 'Risk Units', + data: values, + backgroundColor: colors, + borderWidth: Array(values.length).fill(2), + borderColor: Array(values.length).fill('#ffffff'), + }], + }, + options: { + responsive: true, + plugins: { + legend: { display: false }, + tooltip: { + callbacks: { + label: function(context) { + const total = context.dataset.data.reduce((a, b)=>a+b, 0); + const value = context.raw; + const percentage = ((value/total)*100).toFixed(1); + return `${value} (${percentage}%)`; }, - radius: '80%', - onClick: (event, elements) => { - if (elements.length > 0) { - const index = elements[0].index; - if (selectedSegments.has(index)) { - selectedSegments.delete(index); - } else { - selectedSegments.add(index); - } - updateBorderWidth(); - highlightHexByMultipleRisks(matrix); - } - } + }, }, - plugins: [ChartDataLabels] - }); - - onSliderChange(() => updatePieChart(matrix)); - - window.pieChartControls = { - clearSelection: () => { - selectedSegments.clear(); - updateBorderWidth(); - highlightHexByMultipleRisks(matrix); + datalabels: { + color: '#423d52', + font: { weight: 'bold', size: 12 }, + anchor: 'end', + align: 'end', + offset: 0, + formatter: (value) => value, + }, + }, + radius: '80%', + onClick: (event, elements) => { + if (elements.length > 0) { + const index = elements[0].index; + if (selectedSegments.has(index)) { + selectedSegments.delete(index); + } else { + selectedSegments.add(index); + } + updateBorderWidth(); + highlightHexByMultipleRisks(matrix); } - }; - - return pieChart; + }, + }, + plugins: [ChartDataLabels], + }); + + onSliderChange(() => updatePieChart(matrix)); + + window.pieChartControls = { + clearSelection: () => { + selectedSegments.clear(); + updateBorderWidth(); + highlightHexByMultipleRisks(matrix); + }, + }; + + return pieChart; } function updateBorderWidth() { - if (!pieChart) return; - const dataset = pieChart.data.datasets[0]; - dataset.borderColor = dataset.data.map((_, i) => - selectedSegments.has(i) ? '#000000' : '#ffffff'); - pieChart.update(); + if (!pieChart) return; + const dataset = pieChart.data.datasets[0]; + dataset.borderColor = dataset.data.map((_, i) => + selectedSegments.has(i) ? '#000000' : '#ffffff'); + pieChart.update(); } function highlightHexByMultipleRisks(matrix) { - if (!window.mapLayers) { - console.error('Map layers not available'); - return; + if (!window.mapLayers) { + console.error('Map layers not available'); + return; + } + + const { impMid, impHigh } = getImpThresholds(); + const { inuMid, inuHigh } = getInuThresholds(); + + window.mapLayers.currentLayer.eachLayer((layer) => { + if (window.mapLayers.selectedLayers.has(layer)) { + window.mapLayers.selectedLayers.delete(layer); + L.DomUtil.removeClass(layer._path, 'hex-selected'); + layer.unbindTooltip(); } + }); - const { impMid, impHigh } = getImpThresholds(); - const { inuMid, inuHigh } = getInuThresholds(); - - window.mapLayers.currentLayer.eachLayer(layer => { - if (window.mapLayers.selectedLayers.has(layer)) { - window.mapLayers.selectedLayers.delete(layer); - L.DomUtil.removeClass(layer._path, "hex-selected"); - layer.unbindTooltip(); - } - }); - - if (selectedSegments.size === 0) { - if (window.updateSelectionCount) { - window.updateSelectionCount(); - } - return; + if (selectedSegments.size === 0) { + if (window.updateSelectionCount) { + window.updateSelectionCount(); } + return; + } - const selectedLabels = Array.from(selectedSegments).map(i => pieChart.data.labels[i]); + const selectedLabels = Array.from(selectedSegments).map((i) => pieChart.data.labels[i]); - window.mapLayers.currentLayer.eachLayer(layer => { - const f = layer.feature; - const pct = f.properties.pct_2025; - const inund = f.properties.inund_mean; + window.mapLayers.currentLayer.eachLayer((layer) => { + const f = layer.feature; + const pct = f.properties.pct_2025; + const inund = f.properties.inund_mean; - let imperv = 'Low'; - if (pct > impHigh) imperv = 'High'; - else if (pct > impMid) imperv = 'Medium'; + let imperv = 'Low'; + if (pct > impHigh) imperv = 'High'; + else if (pct > impMid) imperv = 'Medium'; - let inun = 'Low'; - if (inund > inuHigh) inun = 'High'; - else if (inund > inuMid) inun = 'Medium'; + let inun = 'Low'; + if (inund > inuHigh) inun = 'High'; + else if (inund > inuMid) inun = 'Medium'; - const hexRisk = `${imperv} Impervious - ${inun} Inundation`; + const hexRisk = `${imperv} Impervious - ${inun} Inundation`; - if (selectedLabels.includes(hexRisk)) { - window.mapLayers.selectedLayers.add(layer); - L.DomUtil.addClass(layer._path, "hex-selected"); - } - }); - if (window.updateSelectionCount) { - window.updateSelectionCount(); + if (selectedLabels.includes(hexRisk)) { + window.mapLayers.selectedLayers.add(layer); + L.DomUtil.addClass(layer._path, 'hex-selected'); } + }); + if (window.updateSelectionCount) { + window.updateSelectionCount(); + } } function computeDistribution(matrix) { - const { impMid, impHigh } = getImpThresholds(); - const { inuMid, inuHigh } = getInuThresholds(); - const counts = {}; + const { impMid, impHigh } = getImpThresholds(); + const { inuMid, inuHigh } = getInuThresholds(); + const counts = {}; - matrix.features.forEach(f => { - const pct = f.properties.pct_2025; - const inund = f.properties.inund_mean; + matrix.features.forEach((f) => { + const pct = f.properties.pct_2025; + const inund = f.properties.inund_mean; - let imperv = 'Low'; - if (pct > impHigh) imperv = 'High'; - else if (pct > impMid) imperv = 'Medium'; + let imperv = 'Low'; + if (pct > impHigh) imperv = 'High'; + else if (pct > impMid) imperv = 'Medium'; - let inun = 'Low'; - if (inund > inuHigh) inun = 'High'; - else if (inund > inuMid) inun = 'Medium'; + let inun = 'Low'; + if (inund > inuHigh) inun = 'High'; + else if (inund > inuMid) inun = 'Medium'; - const riskMatrix = `${imperv} Impervious - ${inun} Inundation`; - counts[riskMatrix] = (counts[riskMatrix] || 0) + 1; - }); + const riskMatrix = `${imperv} Impervious - ${inun} Inundation`; + counts[riskMatrix] = (counts[riskMatrix] || 0) + 1; + }); - return counts; + return counts; } function updatePieChart(matrix) { - if (!pieChart) return; - const data = computeDistribution(matrix); - - const colorMap = { - 'Low Impervious - Low Inundation': '#4575b4', - 'Low Impervious - Medium Inundation': '#91bfdb', - 'Low Impervious - High Inundation': '#e0f3f8', - 'Medium Impervious - Low Inundation': '#fee090', - 'Medium Impervious - Medium Inundation': '#fc8d59', - 'Medium Impervious - High Inundation': '#d73027', - 'High Impervious - Low Inundation': '#fdae61', - 'High Impervious - Medium Inundation': '#f46d43', - 'High Impervious - High Inundation': '#a50026', - }; - - const labels = Object.keys(data); - const values = Object.values(data); - const colors = labels.map(label => colorMap[label] || '#cccccc'); - - pieChart.data.labels = labels; - pieChart.data.datasets[0].data = values; - pieChart.data.datasets[0].backgroundColor = colors; - - selectedSegments.clear(); - pieChart.data.datasets[0].borderWidth = Array(values.length).fill(2); - pieChart.data.datasets[0].borderColor = Array(values.length).fill('#ffffff'); - - pieChart.update(); - - if (window.updateSelectionCount) { - window.updateSelectionCount(); - } -} \ No newline at end of file + if (!pieChart) return; + const data = computeDistribution(matrix); + + const colorMap = { + 'Low Impervious - Low Inundation': '#4575b4', + 'Low Impervious - Medium Inundation': '#91bfdb', + 'Low Impervious - High Inundation': '#e0f3f8', + 'Medium Impervious - Low Inundation': '#fee090', + 'Medium Impervious - Medium Inundation': '#fc8d59', + 'Medium Impervious - High Inundation': '#d73027', + 'High Impervious - Low Inundation': '#fdae61', + 'High Impervious - Medium Inundation': '#f46d43', + 'High Impervious - High Inundation': '#a50026', + }; + + const labels = Object.keys(data); + const values = Object.values(data); + const colors = labels.map((label) => colorMap[label] || '#cccccc'); + + pieChart.data.labels = labels; + pieChart.data.datasets[0].data = values; + pieChart.data.datasets[0].backgroundColor = colors; + + selectedSegments.clear(); + pieChart.data.datasets[0].borderWidth = Array(values.length).fill(2); + pieChart.data.datasets[0].borderColor = Array(values.length).fill('#ffffff'); + + pieChart.update(); + + if (window.updateSelectionCount) { + window.updateSelectionCount(); + } +} diff --git a/js/reset.js b/js/reset.js index 8876693..616d90c 100644 --- a/js/reset.js +++ b/js/reset.js @@ -1,36 +1,36 @@ import { initApp } from './main.js'; -import { impSlider, inuSlider } from './slider.js'; // ✅ 导入 slider +import { impSlider, inuSlider } from './slider.js'; // ✅ 导入 slider export const resetManager = { - resetAll: async function() { - await initApp(true); - }, + resetAll: async function() { + await initApp(true); + }, - resetMapView: async function() { - await initApp(false); - }, + resetMapView: async function() { + await initApp(false); + }, - resetLeftSide: function() { - const matrixBtn = document.getElementById("setmatrix"); - if (matrixBtn) matrixBtn.click(); + resetLeftSide: function() { + const matrixBtn = document.getElementById('setmatrix'); + if (matrixBtn) matrixBtn.click(); - const sliderContainer = document.getElementById("slider-container"); - if (sliderContainer) sliderContainer.style.display = "block"; + const sliderContainer = document.getElementById('slider-container'); + if (sliderContainer) sliderContainer.style.display = 'block'; - // ✅ 重置 slider - if (impSlider && inuSlider) { - impSlider.noUiSlider.set([0.4, 0.8]); - inuSlider.noUiSlider.set([0.5, 3]); - } + // ✅ 重置 slider + if (impSlider && inuSlider) { + impSlider.noUiSlider.set([0.4, 0.8]); + inuSlider.noUiSlider.set([0.5, 3]); + } - const selStation = document.getElementById("select"); - const selAmenity = document.getElementById("select-amenity"); - if (selStation) selStation.selectedIndex = 0; - if (selAmenity) selAmenity.selectedIndex = 0; + const selStation = document.getElementById('select'); + const selAmenity = document.getElementById('select-amenity'); + if (selStation) selStation.selectedIndex = 0; + if (selAmenity) selAmenity.selectedIndex = 0; - const entry = document.getElementById("entry"); - if (entry) entry.value = ""; - const sug = document.getElementById("search-suggestions"); - if (sug) sug.style.display = "none"; - } + const entry = document.getElementById('entry'); + if (entry) entry.value = ''; + const sug = document.getElementById('search-suggestions'); + if (sug) sug.style.display = 'none'; + }, }; diff --git a/js/search.js b/js/search.js index 482e36d..148a46d 100644 --- a/js/search.js +++ b/js/search.js @@ -1,128 +1,128 @@ export function initSearch() { - const input = document.getElementById('entry'); - const clearBtn = document.getElementById('clear-entry'); - const suggestionsDiv = document.getElementById('search-suggestions'); - - if (!window.metroLayer || !window.amenityLayer) { - console.error("Layers not initialized yet!"); - return; - } - - const features = []; - - function collectFeatures(layerGroup, type) { - layerGroup.eachLayer(layer => { - const props = layer.feature?.properties; - if (props?.name) { - features.push({ - name: props.name, - category: props.category || null, - type, - layer - }); - } + const input = document.getElementById('entry'); + const clearBtn = document.getElementById('clear-entry'); + const suggestionsDiv = document.getElementById('search-suggestions'); + + if (!window.metroLayer || !window.amenityLayer) { + console.error('Layers not initialized yet!'); + return; + } + + const features = []; + + function collectFeatures(layerGroup, type) { + layerGroup.eachLayer((layer) => { + const props = layer.feature?.properties; + if (props?.name) { + features.push({ + name: props.name, + category: props.category || null, + type, + layer, }); - } + } + }); + } - collectFeatures(window.metroLayer, "metro"); - collectFeatures(window.amenityLayer, "amenity"); + collectFeatures(window.metroLayer, 'metro'); + collectFeatures(window.amenityLayer, 'amenity'); - features.sort((a, b) => a.name.localeCompare(b.name)); + features.sort((a, b) => a.name.localeCompare(b.name)); - input.addEventListener('input', () => { - const text = input.value.trim().toLowerCase(); - suggestionsDiv.innerHTML = ''; - suggestionsDiv.style.display = text ? 'block' : 'none'; - if (!text) return; + input.addEventListener('input', () => { + const text = input.value.trim().toLowerCase(); + suggestionsDiv.innerHTML = ''; + suggestionsDiv.style.display = text ? 'block' : 'none'; + if (!text) return; - const matches = features.filter(f => - f.name.toLowerCase().includes(text) - ); + const matches = features.filter((f) => + f.name.toLowerCase().includes(text), + ); - matches.forEach(f => { - const div = document.createElement('div'); - div.className = 'suggestion-item'; - div.textContent = f.name; - div.addEventListener('click', () => handleSelect(f)); - suggestionsDiv.appendChild(div); - }); + matches.forEach((f) => { + const div = document.createElement('div'); + div.className = 'suggestion-item'; + div.textContent = f.name; + div.addEventListener('click', () => handleSelect(f)); + suggestionsDiv.appendChild(div); }); + }); - function handleSelect(f) { - const layer = f.layer; - const latlng = layer.getLatLng(); + function handleSelect(f) { + const layer = f.layer; + const latlng = layer.getLatLng(); - window.matrixMap.setView(latlng, 15); - resetAllIcons(); + window.matrixMap.setView(latlng, 15); + resetAllIcons(); - if (f.type === "metro") { - layer.setIcon(window.metroIconHighlight); - } else if (f.type === "amenity") { - const cat = f.category; - const highlightIcon = + if (f.type === 'metro') { + layer.setIcon(window.metroIconHighlight); + } else if (f.type === 'amenity') { + const cat = f.category; + const highlightIcon = window.amenityIconsHighlight?.[cat] || window.defaultAmenityIconHighlight; - layer.setIcon(highlightIcon); - - if (!window.matrixMap.hasLayer(layer)) { - window.matrixMap.addLayer(layer); - } - } - - // 删除旧 label - if (layer._label) { - window.matrixMap.removeLayer(layer._label); - } - - // tooltip 永远显示 - layer._label = L.tooltip({ - permanent: true, - direction: 'bottom', - offset: [0, 10], - className: 'search-label' - }) - .setContent(f.name) - .setLatLng(latlng); - window.matrixMap.addLayer(layer._label); - - input.value = f.name; - suggestionsDiv.innerHTML = ''; - suggestionsDiv.style.display = 'none'; - } + layer.setIcon(highlightIcon); - function resetAllIcons() { - window.metroLayer.eachLayer(l => { - if (l.setIcon) l.setIcon(window.metroIcon); - if (l._label) { - window.matrixMap.removeLayer(l._label); - l._label = null; - } - }); + if (!window.matrixMap.hasLayer(layer)) { + window.matrixMap.addLayer(layer); + } + } - window.amenityLayer.eachLayer(l => { - if (window.matrixMap.hasLayer(l)) { - window.matrixMap.removeLayer(l); - } - const cat = l.feature?.properties?.category; - const icon = window.amenityIcons?.[cat] || window.defaultAmenityIcon; - if (l.setIcon) l.setIcon(icon); - if (l._label) { - window.matrixMap.removeLayer(l._label); - l._label = null; - } - }); + // 删除旧 label + if (layer._label) { + window.matrixMap.removeLayer(layer._label); } - clearBtn.addEventListener('click', () => { - input.value = ''; - suggestionsDiv.innerHTML = ''; - suggestionsDiv.style.display = 'none'; - resetAllIcons(); + // tooltip 永远显示 + layer._label = L.tooltip({ + permanent: true, + direction: 'bottom', + offset: [0, 10], + className: 'search-label', + }) + .setContent(f.name) + .setLatLng(latlng); + window.matrixMap.addLayer(layer._label); + + input.value = f.name; + suggestionsDiv.innerHTML = ''; + suggestionsDiv.style.display = 'none'; + } + + function resetAllIcons() { + window.metroLayer.eachLayer((l) => { + if (l.setIcon) l.setIcon(window.metroIcon); + if (l._label) { + window.matrixMap.removeLayer(l._label); + l._label = null; + } }); - document.addEventListener('click', (e) => { - if (!input.contains(e.target) && !suggestionsDiv.contains(e.target)) { - suggestionsDiv.innerHTML = ''; - suggestionsDiv.style.display = 'none'; - } + window.amenityLayer.eachLayer((l) => { + if (window.matrixMap.hasLayer(l)) { + window.matrixMap.removeLayer(l); + } + const cat = l.feature?.properties?.category; + const icon = window.amenityIcons?.[cat] || window.defaultAmenityIcon; + if (l.setIcon) l.setIcon(icon); + if (l._label) { + window.matrixMap.removeLayer(l._label); + l._label = null; + } }); + } + + clearBtn.addEventListener('click', () => { + input.value = ''; + suggestionsDiv.innerHTML = ''; + suggestionsDiv.style.display = 'none'; + resetAllIcons(); + }); + + document.addEventListener('click', (e) => { + if (!input.contains(e.target) && !suggestionsDiv.contains(e.target)) { + suggestionsDiv.innerHTML = ''; + suggestionsDiv.style.display = 'none'; + } + }); } diff --git a/js/select.js b/js/select.js index 14d6915..9955fd7 100644 --- a/js/select.js +++ b/js/select.js @@ -1,140 +1,140 @@ // select.js export function stationSelect() { - const searchSelect = document.getElementById('select-station'); - let previousLayer = null; - - const features = []; - window.metroLayer.eachLayer(layer => { - if (layer.feature.properties.name) { - features.push({ - name: layer.feature.properties.name, - layer: layer, - type: 'metro' - }); - } - }); - - features.sort((a,b) => a.name.localeCompare(b.name)); - - features.forEach(f => { - const option = document.createElement('option'); - option.value = f.name; - option.textContent = f.name; - searchSelect.appendChild(option); - }); - - searchSelect.featureMap = {}; - features.forEach(f => searchSelect.featureMap[f.name] = f.layer); - - searchSelect.addEventListener('change', () => { - const selected = searchSelect.value; - if (!selected) return; - - const layer = searchSelect.featureMap[selected]; - const latlng = layer.getLatLng(); - - if (previousLayer) { - previousLayer.setIcon(window.metroIcon); - if (previousLayer._label) { - window.matrixMap.removeLayer(previousLayer._label); - previousLayer._label = null; - } - } - - window.matrixMap.setView(latlng, 15); - - layer.setIcon(window.metroIconHighlight); - - if (layer._label) { - window.matrixMap.removeLayer(layer._label); - } - layer._label = L.tooltip({ - permanent: true, - direction: 'bottom', - offset: [0, 10], - className: 'search-label' - }) - .setContent(selected) - .setLatLng(latlng); - window.matrixMap.addLayer(layer._label); - - previousLayer = layer; - }); + const searchSelect = document.getElementById('select-station'); + let previousLayer = null; + + const features = []; + window.metroLayer.eachLayer((layer) => { + if (layer.feature.properties.name) { + features.push({ + name: layer.feature.properties.name, + layer: layer, + type: 'metro', + }); + } + }); + + features.sort((a, b) => a.name.localeCompare(b.name)); + + features.forEach((f) => { + const option = document.createElement('option'); + option.value = f.name; + option.textContent = f.name; + searchSelect.appendChild(option); + }); + + searchSelect.featureMap = {}; + features.forEach((f) => searchSelect.featureMap[f.name] = f.layer); + + searchSelect.addEventListener('change', () => { + const selected = searchSelect.value; + if (!selected) return; + + const layer = searchSelect.featureMap[selected]; + const latlng = layer.getLatLng(); + + if (previousLayer) { + previousLayer.setIcon(window.metroIcon); + if (previousLayer._label) { + window.matrixMap.removeLayer(previousLayer._label); + previousLayer._label = null; + } + } + + window.matrixMap.setView(latlng, 15); + + layer.setIcon(window.metroIconHighlight); + + if (layer._label) { + window.matrixMap.removeLayer(layer._label); + } + layer._label = L.tooltip({ + permanent: true, + direction: 'bottom', + offset: [0, 10], + className: 'search-label', + }) + .setContent(selected) + .setLatLng(latlng); + window.matrixMap.addLayer(layer._label); + + previousLayer = layer; + }); } // select amenity export function amenitySelect() { - const searchSelect = document.getElementById('select-amenity'); - let previousLayer = null; - let previousCategory = null; - - const features = []; - window.amenityLayer.eachLayer(layer => { - const props = layer.feature?.properties; - if (props?.name) { - features.push({ - name: props.name, - layer: layer, - category: props.category || null, - type: 'amenity' - }); - } - }); - - features.sort((a,b) => a.name.localeCompare(b.name)); - - features.forEach(f => { - const option = document.createElement('option'); - option.value = f.name; - option.textContent = f.name; - searchSelect.appendChild(option); - }); - - searchSelect.featureMap = {}; - features.forEach(f => searchSelect.featureMap[f.name] = { layer: f.layer, category: f.category }); - - searchSelect.addEventListener('change', () => { - const selected = searchSelect.value; - if (!selected) return; - - const { layer, category } = searchSelect.featureMap[selected]; - const latlng = layer.getLatLng(); - - if (previousLayer) { - const icon = window.amenityIcons?.[previousCategory] || window.defaultAmenityIcon; - previousLayer.setIcon(icon); - if (previousLayer._label) { - window.matrixMap.removeLayer(previousLayer._label); - previousLayer._label = null; - } - if (window.matrixMap.hasLayer(previousLayer)) { - window.matrixMap.removeLayer(previousLayer); - } - } - - window.matrixMap.setView(latlng, 15); - - const highlightIcon = window.amenityIconsHighlight?.[category] || window.defaultAmenityIconHighlight; - layer.setIcon(highlightIcon); - - if (!window.matrixMap.hasLayer(layer)) { - window.matrixMap.addLayer(layer); - } - - if (layer._label) { - window.matrixMap.removeLayer(layer._label); - } - layer._label = L.tooltip({ - permanent: true, - direction: 'bottom', - offset: [0, 10], - className: 'search-label' - }) - .setContent(selected) - .setLatLng(latlng); - window.matrixMap.addLayer(layer._label); - - previousLayer = layer; - previousCategory = category; - }); -} \ No newline at end of file + const searchSelect = document.getElementById('select-amenity'); + let previousLayer = null; + let previousCategory = null; + + const features = []; + window.amenityLayer.eachLayer((layer) => { + const props = layer.feature?.properties; + if (props?.name) { + features.push({ + name: props.name, + layer: layer, + category: props.category || null, + type: 'amenity', + }); + } + }); + + features.sort((a, b) => a.name.localeCompare(b.name)); + + features.forEach((f) => { + const option = document.createElement('option'); + option.value = f.name; + option.textContent = f.name; + searchSelect.appendChild(option); + }); + + searchSelect.featureMap = {}; + features.forEach((f) => searchSelect.featureMap[f.name] = { layer: f.layer, category: f.category }); + + searchSelect.addEventListener('change', () => { + const selected = searchSelect.value; + if (!selected) return; + + const { layer, category } = searchSelect.featureMap[selected]; + const latlng = layer.getLatLng(); + + if (previousLayer) { + const icon = window.amenityIcons?.[previousCategory] || window.defaultAmenityIcon; + previousLayer.setIcon(icon); + if (previousLayer._label) { + window.matrixMap.removeLayer(previousLayer._label); + previousLayer._label = null; + } + if (window.matrixMap.hasLayer(previousLayer)) { + window.matrixMap.removeLayer(previousLayer); + } + } + + window.matrixMap.setView(latlng, 15); + + const highlightIcon = window.amenityIconsHighlight?.[category] || window.defaultAmenityIconHighlight; + layer.setIcon(highlightIcon); + + if (!window.matrixMap.hasLayer(layer)) { + window.matrixMap.addLayer(layer); + } + + if (layer._label) { + window.matrixMap.removeLayer(layer._label); + } + layer._label = L.tooltip({ + permanent: true, + direction: 'bottom', + offset: [0, 10], + className: 'search-label', + }) + .setContent(selected) + .setLatLng(latlng); + window.matrixMap.addLayer(layer._label); + + previousLayer = layer; + previousCategory = category; + }); +} diff --git a/js/selection_tools.js b/js/selection_tools.js index cd85bf8..995f80b 100644 --- a/js/selection_tools.js +++ b/js/selection_tools.js @@ -1,67 +1,67 @@ export function initSelectionTools() { - const countElement = document.getElementById('selected-count'); - const clearBtn = document.getElementById('clear-selection'); - const exportBtn = document.getElementById('export-selection'); + const countElement = document.getElementById('selected-count'); + const clearBtn = document.getElementById('clear-selection'); + const exportBtn = document.getElementById('export-selection'); - function updateCount() { - if (!window.mapLayers || !countElement) return; - const count = window.mapLayers.selectedLayers.size || 0; - countElement.textContent = count; + function updateCount() { + if (!window.mapLayers || !countElement) return; + const count = window.mapLayers.selectedLayers.size || 0; + countElement.textContent = count; - if (exportBtn) exportBtn.disabled = count === 0; - } + if (exportBtn) exportBtn.disabled = count === 0; + } - if (clearBtn) { - clearBtn.addEventListener('click', () => { - if (!window.mapLayers) return; + if (clearBtn) { + clearBtn.addEventListener('click', () => { + if (!window.mapLayers) return; - window.mapLayers.selectedLayers.forEach(layer => { - if (layer._path) L.DomUtil.removeClass(layer._path, "hex-selected"); - if (layer.unbindTooltip) layer.unbindTooltip(); - }); - window.mapLayers.selectedLayers.clear(); + window.mapLayers.selectedLayers.forEach((layer) => { + if (layer._path) L.DomUtil.removeClass(layer._path, 'hex-selected'); + if (layer.unbindTooltip) layer.unbindTooltip(); + }); + window.mapLayers.selectedLayers.clear(); - if (window.pieChartControls && typeof window.pieChartControls.clearSelection === 'function') { - window.pieChartControls.clearSelection(); - } + if (window.pieChartControls && typeof window.pieChartControls.clearSelection === 'function') { + window.pieChartControls.clearSelection(); + } - updateCount(); - }); - } + updateCount(); + }); + } - if (exportBtn) { - exportBtn.addEventListener('click', () => { - if (!window.mapLayers || window.mapLayers.selectedLayers.size === 0) { - alert('No hexagons selected!'); - return; - } + if (exportBtn) { + exportBtn.addEventListener('click', () => { + if (!window.mapLayers || window.mapLayers.selectedLayers.size === 0) { + alert('No hexagons selected!'); + return; + } - const features = Array.from(window.mapLayers.selectedLayers, l => l.feature); + const features = Array.from(window.mapLayers.selectedLayers, (l) => l.feature); - const geojson = { - type: "FeatureCollection", - features: features - }; + const geojson = { + type: 'FeatureCollection', + features: features, + }; - const dataStr = JSON.stringify(geojson, null, 2); - const blob = new Blob([dataStr], { type: 'application/json' }); - const url = URL.createObjectURL(blob); + const dataStr = JSON.stringify(geojson, null, 2); + const blob = new Blob([dataStr], { type: 'application/json' }); + const url = URL.createObjectURL(blob); - const link = document.createElement('a'); - link.href = url; - link.download = `selected_hexagons_${new Date().toISOString().slice(0, 10)}.geojson`; - document.body.appendChild(link); - link.click(); - document.body.removeChild(link); - URL.revokeObjectURL(url); - }); - } + const link = document.createElement('a'); + link.href = url; + link.download = `selected_hexagons_${new Date().toISOString().slice(0, 10)}.geojson`; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + URL.revokeObjectURL(url); + }); + } - updateCount(); + updateCount(); - if (!window.updateSelectionCount) { - window.updateSelectionCount = updateCount; - } + if (!window.updateSelectionCount) { + window.updateSelectionCount = updateCount; + } - return { updateCount }; + return { updateCount }; } diff --git a/js/slider.js b/js/slider.js index ed10438..a5efe29 100644 --- a/js/slider.js +++ b/js/slider.js @@ -1,58 +1,60 @@ +/* global noUiSlider */ + const impSlider = document.getElementById('imp-slider'); const inuSlider = document.getElementById('inu-slider'); // 初始化 impervious slider noUiSlider.create(impSlider, { - start: [0.4, 0.8], - connect: true, - range: { min: 0, max: 1 }, - tooltips: [true, true], - format: { - to: v => v.toFixed(2), - from: v => parseFloat(v) - } + start: [0.4, 0.8], + connect: true, + range: { min: 0, max: 1 }, + tooltips: [true, true], + format: { + to: (v) => v.toFixed(2), + from: (v) => parseFloat(v), + }, }); // 初始化 inundation slider noUiSlider.create(inuSlider, { - start: [0.5, 3], - connect: true, - step: 0.5, - range: { min: 0, max: 5 }, - tooltips: [true, true], - format: { - to: v => v.toFixed(1), - from: v => parseFloat(v) - } + start: [0.5, 3], + connect: true, + step: 0.5, + range: { min: 0, max: 5 }, + tooltips: [true, true], + format: { + to: (v) => v.toFixed(1), + from: (v) => parseFloat(v), + }, }); // 获取当前阈值 export function getImpThresholds() { - const values = impSlider.noUiSlider.get(); - return { - impMid: Number(values[0]), - impHigh: Number(values[1]) - }; + const values = impSlider.noUiSlider.get(); + return { + impMid: Number(values[0]), + impHigh: Number(values[1]), + }; } export function getInuThresholds() { - const values = inuSlider.noUiSlider.get(); - return { - inuMid: Number(values[0]), - inuHigh: Number(values[1]) - }; + const values = inuSlider.noUiSlider.get(); + return { + inuMid: Number(values[0]), + inuHigh: Number(values[1]), + }; } // 监听 slider 更新事件 export function onSliderChange(callback) { - impSlider.noUiSlider.on('update', callback); - inuSlider.noUiSlider.on('update', callback); + impSlider.noUiSlider.on('update', callback); + inuSlider.noUiSlider.on('update', callback); } // **新增**:提供重置 slider 的函数 export function resetSliders() { - impSlider.noUiSlider.set([0.4, 0.8]); - inuSlider.noUiSlider.set([0.5, 3]); + impSlider.noUiSlider.set([0.4, 0.8]); + inuSlider.noUiSlider.set([0.5, 3]); } // 导出 slider DOM(供 main.js 使用) diff --git a/mockup/css/styles.css b/mockup/css/styles.css new file mode 100644 index 0000000..829ab01 --- /dev/null +++ b/mockup/css/styles.css @@ -0,0 +1,137 @@ +html { + font-size: 24px; + font-family: sans-serif; +} + +body { + padding: 0; + margin: 0; +} + +.map-section { + position: relative; + width: 100%; + height: 50vh; + background-color: silver; +} + +.map-search-controls { + display: flex; + box-sizing: border-box; + margin: 0; + border: none; + padding: 0.5rem; + width: 100%; + gap: 0.5rem; + justify-content: space-between; + position: relative; + z-index: 1; +} + +.map-search-controls input { + box-sizing: border-box; + border: 1px solid gray; + border-radius: 4px; + font-size: 0.9rem; + font-family: monospace; +} + +[name="address-search"] { + background-image: url("../img/location.svg"); + background-size: 1em; + background-repeat: no-repeat; + background-position: 98% center; + padding-right: 1.2em; + width: 60% +} + +[name="time-search"] { + width: 40%; +} + +.map { + position: absolute; + top: 0; + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; +} + +.bike-search-controls { + border: 0; + padding: 0.5rem; + display: flex; + justify-content: space-between +} + +.station-list { + list-style-type: none; + padding: 0; + margin: 0; +} + +.station-list .station { + display: grid; + grid-template-areas: "name name" + "blank distance" + "bikes-info docks-info" + "drop-off-info pick-up-info" + "details details"; + grid-template-columns: 1fr 1fr; + + padding: 0.5rem; + border-bottom: 1px solid black; +} + +.station-list .station:first-child { + border-top: 1px solid black; +} + +.station .name { + grid-area: name; + font-weight: bold; +} + +.station .distance { + grid-area: distance; + justify-self: end; + + font-size: 0.8em; + font-style: italic; + padding-bottom: 0.5rem +} + +.station .available-bikes { + grid-area: bikes-info; +} + +.station .available-docks { + grid-area: docks-info; + text-align: right; +} + +.station .next-drop-off-est { + grid-area: drop-off-info; +} + +.station .next-pick-up-est { + grid-area: pick-up-info; + text-align: right; +} + +.station .details { + grid-area: details; + justify-self: center; +} + +.station .details .chart { + box-sizing: border-box; + margin-top: 0.5rem; + padding: 0.5rem; + width: 100%; + height: 4rem; + background-color: silver; + +} \ No newline at end of file diff --git a/mockup/img/location.png b/mockup/img/location.png new file mode 100644 index 0000000000000000000000000000000000000000..7a3e7ef8d93115a72e9fd0255f53d511b95c0caf GIT binary patch literal 2048 zcmV+b2>~28c`bsY(j$)K}?&ZJVGBI5Kd`@N=ktbyjl~r z6_m7%N_k0bqViNfv`rx8Q-BcEDp6z$2($=QR!ds}3L&IPZKth`s2!7+AEzI7wmEmW zyE}WmyLOK>((K+d=YP(BW@mTK%=JWsJjC<70uNzLz+g1_1HkaqMV;C`2&W5{?A7_w|11HLgW2*4lm z6PAO|0P|BET}9wo3u6MfXG#eG?y;O20@F0XYjy@BfzJ#4qoB60RL3@Bftf@5C9Z_zbNpdz{M5XX)>j{g7%kK zo$x21kOu+Zvz|fc*%H1Lr!lx!dY(*D?Y8*unlHO20uiWI}*>X7%j*xI>#? z*nuryzFanM-Yh*mJ<`|LC;k2X($mu;n>KBdWy_Y8BjPCsoTrq2Uy?Z`2?1ZSp4mk) z`rpxkG&VNM&Ye3YPIm0rA;n_RCgJWFtn(;+C0~;T0b3Nn%Q3o3fU!Wot*uRZdwXMp z59ILS!_wN?stFhcT4ONxD*az(LBQV?z+ExAy8_(>3l_+sLx-G$59Hv%gVNB@ph@^` z3}&a&J&-B^z&X~Cyf8v{iPqh=ZCm2t1KGNDtNkdnMc}qsx=m>kaJ4c#g2^O>=xz*j zTUuIVe0;oO0>;M1q`A3S2lc}U+$#K4VxW74OKerRNwcc&7lRlg*94WdYu8d$Rp|x|0_oKQ$c0LiWQFL!==5wU0*JWQP;kmb3P2!(&G3UyqwdomoZ>YgzlYzZhd{d3=a=i{2Ck@8j`xY zI{g~FJpy+Q>gy9|cZ$uCfEkpgsIQ99ZNh*41dxpzH&#r*h7B8Z@F$7b90ArS-4npf z)Ce#DZzzDD#OOW|=+@NKNOyO4;^4cwx};DjXaas7gZY5c{eyE{2?%&Z0UQ9TB6R2D zPeKC7ym|9v&z?Qb!SCL^TjtK4tAigPVt)aDF8e^~Kb!>tiz!`lUKyi*1^z2h04Wp- zvVQ$~85|r84SZl=Ksq}+rMkLW2Y-r~G?_L0BiAZ+NwhcUdEV>5XU*j<5&3eA{yN}S zz!|~4S+i!bX3ZK_u3X8&g$n`b>+56h-o12nb#eUoac$xhaI1(s8-ue8_@cRdT|`zo z2j$9?A!;3^Ovff3fX`8y!gekFz~v71zhJfddZL&T5>O4irNG_+Y8={~2|Pq;8au3v z;7@3wuUcid#`qAl{WA$u?1>04psOv1?@Q2jHvTU07W~Zb`=-1G{2KTQFgt<0`z&8p zC5|U)0|UHWfgS^zE3q?~g1;LT)*{Kk`5kChXfWJaSk|ZMnx)lBpurN0Qj01OC z!!MQndPnS=EbKcfwlxVSswmy<86?Fs0TH-oUGcj6)Av!}012gI`VQ*XRS2wwZ!cGw=^C1x_6VYBLCa7Jkw*z$F>Nr0gjV-rLy$#W;bIJnh%HkYPo`y%{xL12GNYPM5!vJO8j9XR<%DmeL3 z#%>j*xrhOvVcHR3oW0SS5Wkgz&2L*a6D@XfCBQhmM>#tToHGeqO~8MYy_ZS(i!%!X z7U8ex0;hjB30p5JJIBc2BwFeO7{~9mhV69~*yylqO!`!4o&*%|kF5pH_XG11v_BL7 zG#>7Pu{R-gG92UcX}XI6$yAdgvrxTLr)rSw$UqnY}cF#)ys zpT$zNf%ZY#@r75&m^#=|9e}qy=aZO7COpte2!}})n+c&M>LU)1xp9v_NLL=oASJIN{ zA17_`JZ~}nEFT + + + + + + + + + + diff --git a/mockup/index.html b/mockup/index.html new file mode 100644 index 0000000..bef07e2 --- /dev/null +++ b/mockup/index.html @@ -0,0 +1,77 @@ + + + + + + + Bikeshare Station Availability Dashboard + + + + +
+
+
+ + +
+ +
Map
+
+ +
+
+ + + +
+ +
    + +
  • +
    Long Station Name To See How It Behaves With Text Wrapping
    + 0.2 mi + 4 bikes + 8 docks + (~10 min) + (~15 min) + +
    +
    Distribution of time between drop-offs
    +
    Distribution of time between pick-ups
    +
    +
  • + + +
+
+
+ + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 2261059..08d9149 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,13 +1,4556 @@ { "name": "dashboard-project", "version": "1.0.0", - "lockfileVersion": 3, + "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "dashboard-project", "version": "1.0.0", - "license": "ISC" + "license": "ISC", + "devDependencies": { + "eslint": "^8.48.0", + "eslint-config-google": "^0.14.0", + "stylelint": "^15.11.0", + "stylelint-config-standard": "^34.0.0" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.2.tgz", + "integrity": "sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^2.2.1" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.1.tgz", + "integrity": "sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + } + }, + "node_modules/@csstools/media-query-list-parser": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.5.tgz", + "integrity": "sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^2.3.2", + "@csstools/css-tokenizer": "^2.2.1" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz", + "integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.13" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.0.tgz", + "integrity": "sha512-zJmuCWj2VLBt4c25CfBIbMZLGLyhkvs7LznyVX5HfpzeocThgIj5XQK4L+g3U36mMcx8bPMhGyPpwCATamC4jQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", + "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@types/minimist": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.3.tgz", + "integrity": "sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.2.tgz", + "integrity": "sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "dev": true, + "dependencies": { + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-functions-list": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz", + "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12 || >=16" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", + "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys/node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", + "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.50.0", + "@humanwhocodes/config-array": "^0.11.11", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-google": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.14.0.tgz", + "integrity": "sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "eslint": ">=5.16.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "13.22.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", + "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/known-css-properties": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz", + "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, + "node_modules/meow": { + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz", + "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.2", + "camelcase-keys": "^7.0.0", + "decamelize": "^5.0.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.2", + "read-pkg-up": "^8.0.0", + "redent": "^4.0.0", + "trim-newlines": "^4.0.2", + "type-fest": "^1.2.2", + "yargs-parser": "^20.2.9" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.4.30", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz", + "integrity": "sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "dev": true + }, + "node_modules/postcss-safe-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", + "dev": true, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", + "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^3.0.2", + "parse-json": "^5.2.0", + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", + "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", + "dev": true, + "dependencies": { + "find-up": "^5.0.0", + "read-pkg": "^6.0.0", + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/redent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", + "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", + "dev": true, + "dependencies": { + "indent-string": "^5.0.0", + "strip-indent": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.15.tgz", + "integrity": "sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==", + "dev": true + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", + "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-search": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", + "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", + "dev": true + }, + "node_modules/stylelint": { + "version": "15.11.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.11.0.tgz", + "integrity": "sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@csstools/css-parser-algorithms": "^2.3.1", + "@csstools/css-tokenizer": "^2.2.0", + "@csstools/media-query-list-parser": "^2.1.4", + "@csstools/selector-specificity": "^3.0.0", + "balanced-match": "^2.0.0", + "colord": "^2.9.3", + "cosmiconfig": "^8.2.0", + "css-functions-list": "^3.2.1", + "css-tree": "^2.3.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.1", + "fastest-levenshtein": "^1.0.16", + "file-entry-cache": "^7.0.0", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.3.1", + "ignore": "^5.2.4", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.29.0", + "mathml-tag-names": "^2.1.3", + "meow": "^10.1.5", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.28", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^6.0.0", + "postcss-selector-parser": "^6.0.13", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "style-search": "^0.1.0", + "supports-hyperlinks": "^3.0.0", + "svg-tags": "^1.0.0", + "table": "^6.8.1", + "write-file-atomic": "^5.0.1" + }, + "bin": { + "stylelint": "bin/stylelint.mjs" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + } + }, + "node_modules/stylelint-config-recommended": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-13.0.0.tgz", + "integrity": "sha512-EH+yRj6h3GAe/fRiyaoO2F9l9Tgg50AOFhaszyfov9v6ayXJ1IkSHwTxd7lB48FmOeSGDPLjatjO11fJpmarkQ==", + "dev": true, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "stylelint": "^15.10.0" + } + }, + "node_modules/stylelint-config-standard": { + "version": "34.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-34.0.0.tgz", + "integrity": "sha512-u0VSZnVyW9VSryBG2LSO+OQTjN7zF9XJaAJRX/4EwkmU0R2jYwmBSN10acqZisDitS0CLiEiGjX7+Hrq8TAhfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "stylelint-config-recommended": "^13.0.0" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "stylelint": "^15.10.0" + } + }, + "node_modules/stylelint/node_modules/balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true + }, + "node_modules/stylelint/node_modules/file-entry-cache": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-7.0.2.tgz", + "integrity": "sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.2.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/stylelint/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz", + "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "node_modules/table": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/trim-newlines": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz", + "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, + "@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dev": true, + "requires": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true + }, + "@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@csstools/css-parser-algorithms": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.2.tgz", + "integrity": "sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==", + "dev": true, + "requires": {} + }, + "@csstools/css-tokenizer": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.1.tgz", + "integrity": "sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==", + "dev": true + }, + "@csstools/media-query-list-parser": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.5.tgz", + "integrity": "sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==", + "dev": true, + "requires": {} + }, + "@csstools/selector-specificity": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz", + "integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==", + "dev": true, + "requires": {} + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.0.tgz", + "integrity": "sha512-zJmuCWj2VLBt4c25CfBIbMZLGLyhkvs7LznyVX5HfpzeocThgIj5XQK4L+g3U36mMcx8bPMhGyPpwCATamC4jQ==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", + "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/minimist": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.3.tgz", + "integrity": "sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.2.tgz", + "integrity": "sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==", + "dev": true + }, + "acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "dev": true, + "requires": { + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" + }, + "dependencies": { + "type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true + } + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "requires": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css-functions-list": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz", + "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==", + "dev": true + }, + "css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "requires": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", + "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", + "dev": true + }, + "decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true + } + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", + "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.50.0", + "@humanwhocodes/config-array": "^0.11.11", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + } + }, + "eslint-config-google": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.14.0.tgz", + "integrity": "sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==", + "dev": true, + "requires": {} + }, + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "requires": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "13.22.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", + "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "known-css-properties": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz", + "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true + }, + "mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true + }, + "mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, + "meow": { + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz", + "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.2", + "camelcase-keys": "^7.0.0", + "decamelize": "^5.0.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.2", + "read-pkg-up": "^8.0.0", + "redent": "^4.0.0", + "trim-newlines": "^4.0.2", + "type-fest": "^1.2.2", + "yargs-parser": "^20.2.9" + }, + "dependencies": { + "type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true + } + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "postcss": { + "version": "8.4.30", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz", + "integrity": "sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==", + "dev": true, + "requires": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "dev": true + }, + "postcss-safe-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", + "dev": true, + "requires": {} + }, + "postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, + "read-pkg": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", + "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^3.0.2", + "parse-json": "^5.2.0", + "type-fest": "^1.0.1" + }, + "dependencies": { + "type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", + "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", + "dev": true, + "requires": { + "find-up": "^5.0.0", + "read-pkg": "^6.0.0", + "type-fest": "^1.0.1" + }, + "dependencies": { + "type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true + } + } + }, + "redent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", + "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", + "dev": true, + "requires": { + "indent-string": "^5.0.0", + "strip-indent": "^4.0.0" + } + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.15.tgz", + "integrity": "sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", + "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "dev": true, + "requires": { + "min-indent": "^1.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "style-search": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", + "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", + "dev": true + }, + "stylelint": { + "version": "15.11.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.11.0.tgz", + "integrity": "sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==", + "dev": true, + "requires": { + "@csstools/css-parser-algorithms": "^2.3.1", + "@csstools/css-tokenizer": "^2.2.0", + "@csstools/media-query-list-parser": "^2.1.4", + "@csstools/selector-specificity": "^3.0.0", + "balanced-match": "^2.0.0", + "colord": "^2.9.3", + "cosmiconfig": "^8.2.0", + "css-functions-list": "^3.2.1", + "css-tree": "^2.3.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.1", + "fastest-levenshtein": "^1.0.16", + "file-entry-cache": "^7.0.0", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.3.1", + "ignore": "^5.2.4", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.29.0", + "mathml-tag-names": "^2.1.3", + "meow": "^10.1.5", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.28", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^6.0.0", + "postcss-selector-parser": "^6.0.13", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "style-search": "^0.1.0", + "supports-hyperlinks": "^3.0.0", + "svg-tags": "^1.0.0", + "table": "^6.8.1", + "write-file-atomic": "^5.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true + }, + "file-entry-cache": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-7.0.2.tgz", + "integrity": "sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==", + "dev": true, + "requires": { + "flat-cache": "^3.2.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "stylelint-config-recommended": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-13.0.0.tgz", + "integrity": "sha512-EH+yRj6h3GAe/fRiyaoO2F9l9Tgg50AOFhaszyfov9v6ayXJ1IkSHwTxd7lB48FmOeSGDPLjatjO11fJpmarkQ==", + "dev": true, + "requires": {} + }, + "stylelint-config-standard": { + "version": "34.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-34.0.0.tgz", + "integrity": "sha512-u0VSZnVyW9VSryBG2LSO+OQTjN7zF9XJaAJRX/4EwkmU0R2jYwmBSN10acqZisDitS0CLiEiGjX7+Hrq8TAhfQ==", + "dev": true, + "requires": { + "stylelint-config-recommended": "^13.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz", + "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "table": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "trim-newlines": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz", + "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true } } } diff --git a/package.json b/package.json index 06b280a..ffd8149 100644 --- a/package.json +++ b/package.json @@ -3,18 +3,18 @@ "version": "1.0.0", "description": "", "main": "index.js", + "type": "module", + "directories": {}, "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "css-lint": "stylelint --color \"**/*.css\"", + "js-lint": "eslint --color **/*.js" }, - "repository": { - "type": "git", - "url": "git+https://github.com/haoyu25/dashboard-project.git" - }, - "keywords": [], "author": "", "license": "ISC", - "bugs": { - "url": "https://github.com/haoyu25/dashboard-project/issues" - }, - "homepage": "https://github.com/haoyu25/dashboard-project#readme" + "devDependencies": { + "eslint": "^8.48.0", + "eslint-config-google": "^0.14.0", + "stylelint": "^15.11.0", + "stylelint-config-standard": "^34.0.0" + } } From 6f6ec3f3425cf2fce9c9a01361df6c4bfa4a5a4b Mon Sep 17 00:00:00 2001 From: Haoyu Date: Wed, 3 Dec 2025 21:18:05 -0500 Subject: [PATCH 18/22] node --- .github/workflows/lint-css-files.yml | 4 ++-- .github/workflows/lint-js-files.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/lint-css-files.yml b/.github/workflows/lint-css-files.yml index 7f4e7b0..18a56fc 100644 --- a/.github/workflows/lint-css-files.yml +++ b/.github/workflows/lint-css-files.yml @@ -13,10 +13,10 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Set up Node.js 16.x + - name: Set up Node.js 20.x uses: actions/setup-node@v2 with: - node-version: 16.x + node-version: 20.x cache: 'npm' - name: Install dependencies run: npm install --only=dev diff --git a/.github/workflows/lint-js-files.yml b/.github/workflows/lint-js-files.yml index 9fafdd4..fd02980 100644 --- a/.github/workflows/lint-js-files.yml +++ b/.github/workflows/lint-js-files.yml @@ -13,10 +13,10 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Set up Node.js 16.x + - name: Set up Node.js 20.x uses: actions/setup-node@v2 with: - node-version: 16.x + node-version: 20.x cache: 'npm' - name: Install dependencies run: npm install --only=dev From 122cfce53f3692e6a20598c05f71a9293c755ece Mon Sep 17 00:00:00 2001 From: Haoyu Date: Wed, 3 Dec 2025 21:20:07 -0500 Subject: [PATCH 19/22] node --- .github/workflows/lint-css-files.yml | 4 ++-- .github/workflows/lint-js-files.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/lint-css-files.yml b/.github/workflows/lint-css-files.yml index 18a56fc..7f4e7b0 100644 --- a/.github/workflows/lint-css-files.yml +++ b/.github/workflows/lint-css-files.yml @@ -13,10 +13,10 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Set up Node.js 20.x + - name: Set up Node.js 16.x uses: actions/setup-node@v2 with: - node-version: 20.x + node-version: 16.x cache: 'npm' - name: Install dependencies run: npm install --only=dev diff --git a/.github/workflows/lint-js-files.yml b/.github/workflows/lint-js-files.yml index fd02980..9fafdd4 100644 --- a/.github/workflows/lint-js-files.yml +++ b/.github/workflows/lint-js-files.yml @@ -13,10 +13,10 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Set up Node.js 20.x + - name: Set up Node.js 16.x uses: actions/setup-node@v2 with: - node-version: 20.x + node-version: 16.x cache: 'npm' - name: Install dependencies run: npm install --only=dev From 53f6bb323d3b2c99f0092e6125936545c286f08a Mon Sep 17 00:00:00 2001 From: Haoyu <150293799+haoyu25@users.noreply.github.com> Date: Wed, 3 Dec 2025 21:28:24 -0500 Subject: [PATCH 20/22] update readme Added detailed information about the Inundation Risk Index dashboard, including usage instructions and data sources. --- README.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 39691fc..76bd829 100644 --- a/README.md +++ b/README.md @@ -1 +1,26 @@ -Add a readme for your dashboard here. Include content overview, data citations, and any relevant technical details. \ No newline at end of file +# Inundation Risk Index in Hangzhou Central Districts +[Live Dashboard](https://haoyu25.github.io/dashboard-project/) + +This dashboard is designed for government officials and urban planners. It helps identify high-risk areas for inundation and prioritize locations for mitigation actions. + +--- + +## How to Use + +### Category Selection +- Adjust the sliders to filter categories. +- Click on pie chart segments to focus on specific risk factors. + +### Location Selection +- Zoom in or use the search/filter tools. +- Click on hexagons to select units of interest. + +### Export +- The dashboard displays the number of selected units. +- Once your selection is complete, click the **Export** button to download a shapefile of the selected hexagons. + +--- + +## Data Sources +- **Inundation Risk Index:** From one of the author's projects: [Hangzhou Flooding Risk Detection](https://github.com/haoyu25/Hangzhou-Flooding-Risk-Detect) +- **Amenity and Station POIs:** GaoDe Open Platform ([高德开放平台](https://lbs.amap.com/)) From 249d4fea02a1bf342a3abc8f52a64eefd8395666 Mon Sep 17 00:00:00 2001 From: Haoyu <150293799+haoyu25@users.noreply.github.com> Date: Wed, 3 Dec 2025 21:33:16 -0500 Subject: [PATCH 21/22] update readme Enhanced the description of the dashboard's purpose and usage instructions, providing more specific guidance on budget adjustments and selection processes. --- README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 76bd829..cf8a063 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,24 @@ # Inundation Risk Index in Hangzhou Central Districts [Live Dashboard](https://haoyu25.github.io/dashboard-project/) -This dashboard is designed for government officials and urban planners. It helps identify high-risk areas for inundation and prioritize locations for mitigation actions. +This dashboard is designed for government officials and urban planners in Hangzhou. It helps identify high-risk inundation areas in the city's central districts, allowing authorities to prioritize locations for mitigation actions. The risk index combines inundation probability with impervious surface percentage. --- ## How to Use ### Category Selection -- Adjust the sliders to filter categories. -- Click on pie chart segments to focus on specific risk factors. +- Adjust the sliders to filter categories. + - For limited budgets, raise thresholds to focus on the most severe areas. + - For wider coverage, lower thresholds to include more areas. +- Click pie chart segments to focus on specific risk categories. ### Location Selection -- Zoom in or use the search/filter tools. -- Click on hexagons to select units of interest. +- Zoom in or use the search/filter tools to locate amenities or stations that need action. +- Click hexagons to select units of interest. ### Export -- The dashboard displays the number of selected units. +- The dashboard shows the number of selected units. - Once your selection is complete, click the **Export** button to download a shapefile of the selected hexagons. --- From b836cc4976fa7e8eeae2681ea893299ebc5cb4ad Mon Sep 17 00:00:00 2001 From: Haoyu <150293799+haoyu25@users.noreply.github.com> Date: Wed, 3 Dec 2025 21:40:07 -0500 Subject: [PATCH 22/22] update readme Expanded the description to include mitigation actions. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cf8a063..58c2ca1 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Inundation Risk Index in Hangzhou Central Districts [Live Dashboard](https://haoyu25.github.io/dashboard-project/) -This dashboard is designed for government officials and urban planners in Hangzhou. It helps identify high-risk inundation areas in the city's central districts, allowing authorities to prioritize locations for mitigation actions. The risk index combines inundation probability with impervious surface percentage. +This dashboard helps government officials and urban planners identify high-risk inundation areas in Hangzhou's central districts, allowing authorities to prioritize mitigation actions such as green infrastructure, drainage upgrades, and early-warning systems. The risk index combines inundation probability with impervious surface percentage. ---