├── .github └── workflows │ └── release.yml ├── .gitignore ├── LICENSE ├── README.md ├── docs ├── Directus-Extension-Field-Actions.png └── screenshots │ ├── display-config-2023-03.png │ ├── display-copy.png │ ├── follow-link-confirmation-detail.png │ ├── follow-link-confirmation.png │ ├── interface-config-2023-03.png │ ├── item-copy-button.png │ └── item-copy-hover.png ├── package.json ├── pnpm-lock.yaml ├── src ├── display │ ├── display.vue │ ├── index.ts │ └── shims.d.ts ├── interface │ ├── index.ts │ ├── interface.vue │ └── shims.d.ts └── shared │ ├── components │ └── linkWrapper.vue │ ├── composable │ ├── use-clipboard.ts │ ├── use-prefix.ts │ └── use-prefixed-values.ts │ └── options │ └── sharedConfigOptions.ts └── tsconfig.json /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | # This is a basic workflow to help you get started with Actions 2 | 3 | name: Release 4 | 5 | # Controls when the workflow will run 6 | on: 7 | push: 8 | tags: 9 | - 'v*' 10 | 11 | # Allows you to run this workflow manually from the Actions tab 12 | #workflow_dispatch: 13 | 14 | jobs: 15 | 16 | release: 17 | runs-on: ubuntu-latest 18 | steps: 19 | # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it 20 | - name: Checkout 🛎 21 | uses: actions/checkout@v4 22 | 23 | - name: Setup node 👷🏽‍♂️ 24 | uses: actions/setup-node@v4 25 | with: 26 | node-version: '18.x' 27 | registry-url: 'https://registry.npmjs.org' 28 | 29 | - name: Install pnpm 👷🏽‍♂️ 30 | uses: pnpm/action-setup@v3 31 | id: pnpm-install 32 | with: 33 | version: 8 34 | run_install: false 35 | 36 | - name: Install dependencies 👨🏻‍💻 37 | run: pnpm install 38 | 39 | - name: Run tests 🧪 40 | run: pnpm test 41 | 42 | - name: Build files 🔨 43 | run: pnpm build 44 | 45 | - name: Add release to Github 💾 46 | uses: utomic-media/release-action@main 47 | with: 48 | artifacts: "dist/app.js,dist/api.js,package.json" 49 | token: ${{ secrets.GITHUB_TOKEN }} 50 | generateReleaseNotes: true 51 | 52 | - name: Add release to npm 💾 53 | run: pnpm publish --no-git-checks # --no-git-checks as we're not on a branch but a tag! 54 | env: 55 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 56 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Custom 2 | dist/ 3 | 4 | # GENERAL 5 | .DS_Store 6 | node_modules 7 | /dist 8 | 9 | # ENV FILES 10 | .env.local 11 | .env.*.local 12 | .secrets 13 | .env* 14 | !.env.example 15 | 16 | 17 | # LOG FILES 18 | npm-debug.log* 19 | yarn-debug.log* 20 | yarn-error.log* 21 | 22 | # EDITOR FILES 23 | .idea 24 | .vscode 25 | *.suo 26 | *.ntvs* 27 | *.njsproj 28 | *.sln 29 | *.sw? 30 | *.sublime-settings 31 | 32 | # DATABASE - FILES 33 | *.db 34 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU General Public License is a free, copyleft license for 11 | software and other kinds of works. 12 | 13 | The licenses for most software and other practical works are designed 14 | to take away your freedom to share and change the works. By contrast, 15 | the GNU General Public License is intended to guarantee your freedom to 16 | share and change all versions of a program--to make sure it remains free 17 | software for all its users. We, the Free Software Foundation, use the 18 | GNU General Public License for most of our software; it applies also to 19 | any other work released this way by its authors. You can apply it to 20 | your programs, too. 21 | 22 | When we speak of free software, we are referring to freedom, not 23 | price. Our General Public Licenses are designed to make sure that you 24 | have the freedom to distribute copies of free software (and charge for 25 | them if you wish), that you receive source code or can get it if you 26 | want it, that you can change the software or use pieces of it in new 27 | free programs, and that you know you can do these things. 28 | 29 | To protect your rights, we need to prevent others from denying you 30 | these rights or asking you to surrender the rights. Therefore, you have 31 | certain responsibilities if you distribute copies of the software, or if 32 | you modify it: responsibilities to respect the freedom of others. 33 | 34 | For example, if you distribute copies of such a program, whether 35 | gratis or for a fee, you must pass on to the recipients the same 36 | freedoms that you received. You must make sure that they, too, receive 37 | or can get the source code. And you must show them these terms so they 38 | know their rights. 39 | 40 | Developers that use the GNU GPL protect your rights with two steps: 41 | (1) assert copyright on the software, and (2) offer you this License 42 | giving you legal permission to copy, distribute and/or modify it. 43 | 44 | For the developers' and authors' protection, the GPL clearly explains 45 | that there is no warranty for this free software. For both users' and 46 | authors' sake, the GPL requires that modified versions be marked as 47 | changed, so that their problems will not be attributed erroneously to 48 | authors of previous versions. 49 | 50 | Some devices are designed to deny users access to install or run 51 | modified versions of the software inside them, although the manufacturer 52 | can do so. This is fundamentally incompatible with the aim of 53 | protecting users' freedom to change the software. The systematic 54 | pattern of such abuse occurs in the area of products for individuals to 55 | use, which is precisely where it is most unacceptable. Therefore, we 56 | have designed this version of the GPL to prohibit the practice for those 57 | products. If such problems arise substantially in other domains, we 58 | stand ready to extend this provision to those domains in future versions 59 | of the GPL, as needed to protect the freedom of users. 60 | 61 | Finally, every program is threatened constantly by software patents. 62 | States should not allow patents to restrict development and use of 63 | software on general-purpose computers, but in those that do, we wish to 64 | avoid the special danger that patents applied to a free program could 65 | make it effectively proprietary. To prevent this, the GPL assures that 66 | patents cannot be used to render the program non-free. 67 | 68 | The precise terms and conditions for copying, distribution and 69 | modification follow. 70 | 71 | TERMS AND CONDITIONS 72 | 73 | 0. Definitions. 74 | 75 | "This License" refers to version 3 of the GNU General Public License. 76 | 77 | "Copyright" also means copyright-like laws that apply to other kinds of 78 | works, such as semiconductor masks. 79 | 80 | "The Program" refers to any copyrightable work licensed under this 81 | License. Each licensee is addressed as "you". "Licensees" and 82 | "recipients" may be individuals or organizations. 83 | 84 | To "modify" a work means to copy from or adapt all or part of the work 85 | in a fashion requiring copyright permission, other than the making of an 86 | exact copy. The resulting work is called a "modified version" of the 87 | earlier work or a work "based on" the earlier work. 88 | 89 | A "covered work" means either the unmodified Program or a work based 90 | on the Program. 91 | 92 | To "propagate" a work means to do anything with it that, without 93 | permission, would make you directly or secondarily liable for 94 | infringement under applicable copyright law, except executing it on a 95 | computer or modifying a private copy. Propagation includes copying, 96 | distribution (with or without modification), making available to the 97 | public, and in some countries other activities as well. 98 | 99 | To "convey" a work means any kind of propagation that enables other 100 | parties to make or receive copies. Mere interaction with a user through 101 | a computer network, with no transfer of a copy, is not conveying. 102 | 103 | An interactive user interface displays "Appropriate Legal Notices" 104 | to the extent that it includes a convenient and prominently visible 105 | feature that (1) displays an appropriate copyright notice, and (2) 106 | tells the user that there is no warranty for the work (except to the 107 | extent that warranties are provided), that licensees may convey the 108 | work under this License, and how to view a copy of this License. If 109 | the interface presents a list of user commands or options, such as a 110 | menu, a prominent item in the list meets this criterion. 111 | 112 | 1. Source Code. 113 | 114 | The "source code" for a work means the preferred form of the work 115 | for making modifications to it. "Object code" means any non-source 116 | form of a work. 117 | 118 | A "Standard Interface" means an interface that either is an official 119 | standard defined by a recognized standards body, or, in the case of 120 | interfaces specified for a particular programming language, one that 121 | is widely used among developers working in that language. 122 | 123 | The "System Libraries" of an executable work include anything, other 124 | than the work as a whole, that (a) is included in the normal form of 125 | packaging a Major Component, but which is not part of that Major 126 | Component, and (b) serves only to enable use of the work with that 127 | Major Component, or to implement a Standard Interface for which an 128 | implementation is available to the public in source code form. A 129 | "Major Component", in this context, means a major essential component 130 | (kernel, window system, and so on) of the specific operating system 131 | (if any) on which the executable work runs, or a compiler used to 132 | produce the work, or an object code interpreter used to run it. 133 | 134 | The "Corresponding Source" for a work in object code form means all 135 | the source code needed to generate, install, and (for an executable 136 | work) run the object code and to modify the work, including scripts to 137 | control those activities. However, it does not include the work's 138 | System Libraries, or general-purpose tools or generally available free 139 | programs which are used unmodified in performing those activities but 140 | which are not part of the work. For example, Corresponding Source 141 | includes interface definition files associated with source files for 142 | the work, and the source code for shared libraries and dynamically 143 | linked subprograms that the work is specifically designed to require, 144 | such as by intimate data communication or control flow between those 145 | subprograms and other parts of the work. 146 | 147 | The Corresponding Source need not include anything that users 148 | can regenerate automatically from other parts of the Corresponding 149 | Source. 150 | 151 | The Corresponding Source for a work in source code form is that 152 | same work. 153 | 154 | 2. Basic Permissions. 155 | 156 | All rights granted under this License are granted for the term of 157 | copyright on the Program, and are irrevocable provided the stated 158 | conditions are met. This License explicitly affirms your unlimited 159 | permission to run the unmodified Program. The output from running a 160 | covered work is covered by this License only if the output, given its 161 | content, constitutes a covered work. This License acknowledges your 162 | rights of fair use or other equivalent, as provided by copyright law. 163 | 164 | You may make, run and propagate covered works that you do not 165 | convey, without conditions so long as your license otherwise remains 166 | in force. You may convey covered works to others for the sole purpose 167 | of having them make modifications exclusively for you, or provide you 168 | with facilities for running those works, provided that you comply with 169 | the terms of this License in conveying all material for which you do 170 | not control copyright. Those thus making or running the covered works 171 | for you must do so exclusively on your behalf, under your direction 172 | and control, on terms that prohibit them from making any copies of 173 | your copyrighted material outside their relationship with you. 174 | 175 | Conveying under any other circumstances is permitted solely under 176 | the conditions stated below. Sublicensing is not allowed; section 10 177 | makes it unnecessary. 178 | 179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 180 | 181 | No covered work shall be deemed part of an effective technological 182 | measure under any applicable law fulfilling obligations under article 183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 184 | similar laws prohibiting or restricting circumvention of such 185 | measures. 186 | 187 | When you convey a covered work, you waive any legal power to forbid 188 | circumvention of technological measures to the extent such circumvention 189 | is effected by exercising rights under this License with respect to 190 | the covered work, and you disclaim any intention to limit operation or 191 | modification of the work as a means of enforcing, against the work's 192 | users, your or third parties' legal rights to forbid circumvention of 193 | technological measures. 194 | 195 | 4. Conveying Verbatim Copies. 196 | 197 | You may convey verbatim copies of the Program's source code as you 198 | receive it, in any medium, provided that you conspicuously and 199 | appropriately publish on each copy an appropriate copyright notice; 200 | keep intact all notices stating that this License and any 201 | non-permissive terms added in accord with section 7 apply to the code; 202 | keep intact all notices of the absence of any warranty; and give all 203 | recipients a copy of this License along with the Program. 204 | 205 | You may charge any price or no price for each copy that you convey, 206 | and you may offer support or warranty protection for a fee. 207 | 208 | 5. Conveying Modified Source Versions. 209 | 210 | You may convey a work based on the Program, or the modifications to 211 | produce it from the Program, in the form of source code under the 212 | terms of section 4, provided that you also meet all of these conditions: 213 | 214 | a) The work must carry prominent notices stating that you modified 215 | it, and giving a relevant date. 216 | 217 | b) The work must carry prominent notices stating that it is 218 | released under this License and any conditions added under section 219 | 7. This requirement modifies the requirement in section 4 to 220 | "keep intact all notices". 221 | 222 | c) You must license the entire work, as a whole, under this 223 | License to anyone who comes into possession of a copy. This 224 | License will therefore apply, along with any applicable section 7 225 | additional terms, to the whole of the work, and all its parts, 226 | regardless of how they are packaged. This License gives no 227 | permission to license the work in any other way, but it does not 228 | invalidate such permission if you have separately received it. 229 | 230 | d) If the work has interactive user interfaces, each must display 231 | Appropriate Legal Notices; however, if the Program has interactive 232 | interfaces that do not display Appropriate Legal Notices, your 233 | work need not make them do so. 234 | 235 | A compilation of a covered work with other separate and independent 236 | works, which are not by their nature extensions of the covered work, 237 | and which are not combined with it such as to form a larger program, 238 | in or on a volume of a storage or distribution medium, is called an 239 | "aggregate" if the compilation and its resulting copyright are not 240 | used to limit the access or legal rights of the compilation's users 241 | beyond what the individual works permit. Inclusion of a covered work 242 | in an aggregate does not cause this License to apply to the other 243 | parts of the aggregate. 244 | 245 | 6. Conveying Non-Source Forms. 246 | 247 | You may convey a covered work in object code form under the terms 248 | of sections 4 and 5, provided that you also convey the 249 | machine-readable Corresponding Source under the terms of this License, 250 | in one of these ways: 251 | 252 | a) Convey the object code in, or embodied in, a physical product 253 | (including a physical distribution medium), accompanied by the 254 | Corresponding Source fixed on a durable physical medium 255 | customarily used for software interchange. 256 | 257 | b) Convey the object code in, or embodied in, a physical product 258 | (including a physical distribution medium), accompanied by a 259 | written offer, valid for at least three years and valid for as 260 | long as you offer spare parts or customer support for that product 261 | model, to give anyone who possesses the object code either (1) a 262 | copy of the Corresponding Source for all the software in the 263 | product that is covered by this License, on a durable physical 264 | medium customarily used for software interchange, for a price no 265 | more than your reasonable cost of physically performing this 266 | conveying of source, or (2) access to copy the 267 | Corresponding Source from a network server at no charge. 268 | 269 | c) Convey individual copies of the object code with a copy of the 270 | written offer to provide the Corresponding Source. This 271 | alternative is allowed only occasionally and noncommercially, and 272 | only if you received the object code with such an offer, in accord 273 | with subsection 6b. 274 | 275 | d) Convey the object code by offering access from a designated 276 | place (gratis or for a charge), and offer equivalent access to the 277 | Corresponding Source in the same way through the same place at no 278 | further charge. You need not require recipients to copy the 279 | Corresponding Source along with the object code. If the place to 280 | copy the object code is a network server, the Corresponding Source 281 | may be on a different server (operated by you or a third party) 282 | that supports equivalent copying facilities, provided you maintain 283 | clear directions next to the object code saying where to find the 284 | Corresponding Source. Regardless of what server hosts the 285 | Corresponding Source, you remain obligated to ensure that it is 286 | available for as long as needed to satisfy these requirements. 287 | 288 | e) Convey the object code using peer-to-peer transmission, provided 289 | you inform other peers where the object code and Corresponding 290 | Source of the work are being offered to the general public at no 291 | charge under subsection 6d. 292 | 293 | A separable portion of the object code, whose source code is excluded 294 | from the Corresponding Source as a System Library, need not be 295 | included in conveying the object code work. 296 | 297 | A "User Product" is either (1) a "consumer product", which means any 298 | tangible personal property which is normally used for personal, family, 299 | or household purposes, or (2) anything designed or sold for incorporation 300 | into a dwelling. In determining whether a product is a consumer product, 301 | doubtful cases shall be resolved in favor of coverage. For a particular 302 | product received by a particular user, "normally used" refers to a 303 | typical or common use of that class of product, regardless of the status 304 | of the particular user or of the way in which the particular user 305 | actually uses, or expects or is expected to use, the product. A product 306 | is a consumer product regardless of whether the product has substantial 307 | commercial, industrial or non-consumer uses, unless such uses represent 308 | the only significant mode of use of the product. 309 | 310 | "Installation Information" for a User Product means any methods, 311 | procedures, authorization keys, or other information required to install 312 | and execute modified versions of a covered work in that User Product from 313 | a modified version of its Corresponding Source. The information must 314 | suffice to ensure that the continued functioning of the modified object 315 | code is in no case prevented or interfered with solely because 316 | modification has been made. 317 | 318 | If you convey an object code work under this section in, or with, or 319 | specifically for use in, a User Product, and the conveying occurs as 320 | part of a transaction in which the right of possession and use of the 321 | User Product is transferred to the recipient in perpetuity or for a 322 | fixed term (regardless of how the transaction is characterized), the 323 | Corresponding Source conveyed under this section must be accompanied 324 | by the Installation Information. But this requirement does not apply 325 | if neither you nor any third party retains the ability to install 326 | modified object code on the User Product (for example, the work has 327 | been installed in ROM). 328 | 329 | The requirement to provide Installation Information does not include a 330 | requirement to continue to provide support service, warranty, or updates 331 | for a work that has been modified or installed by the recipient, or for 332 | the User Product in which it has been modified or installed. Access to a 333 | network may be denied when the modification itself materially and 334 | adversely affects the operation of the network or violates the rules and 335 | protocols for communication across the network. 336 | 337 | Corresponding Source conveyed, and Installation Information provided, 338 | in accord with this section must be in a format that is publicly 339 | documented (and with an implementation available to the public in 340 | source code form), and must require no special password or key for 341 | unpacking, reading or copying. 342 | 343 | 7. Additional Terms. 344 | 345 | "Additional permissions" are terms that supplement the terms of this 346 | License by making exceptions from one or more of its conditions. 347 | Additional permissions that are applicable to the entire Program shall 348 | be treated as though they were included in this License, to the extent 349 | that they are valid under applicable law. If additional permissions 350 | apply only to part of the Program, that part may be used separately 351 | under those permissions, but the entire Program remains governed by 352 | this License without regard to the additional permissions. 353 | 354 | When you convey a copy of a covered work, you may at your option 355 | remove any additional permissions from that copy, or from any part of 356 | it. (Additional permissions may be written to require their own 357 | removal in certain cases when you modify the work.) You may place 358 | additional permissions on material, added by you to a covered work, 359 | for which you have or can give appropriate copyright permission. 360 | 361 | Notwithstanding any other provision of this License, for material you 362 | add to a covered work, you may (if authorized by the copyright holders of 363 | that material) supplement the terms of this License with terms: 364 | 365 | a) Disclaiming warranty or limiting liability differently from the 366 | terms of sections 15 and 16 of this License; or 367 | 368 | b) Requiring preservation of specified reasonable legal notices or 369 | author attributions in that material or in the Appropriate Legal 370 | Notices displayed by works containing it; or 371 | 372 | c) Prohibiting misrepresentation of the origin of that material, or 373 | requiring that modified versions of such material be marked in 374 | reasonable ways as different from the original version; or 375 | 376 | d) Limiting the use for publicity purposes of names of licensors or 377 | authors of the material; or 378 | 379 | e) Declining to grant rights under trademark law for use of some 380 | trade names, trademarks, or service marks; or 381 | 382 | f) Requiring indemnification of licensors and authors of that 383 | material by anyone who conveys the material (or modified versions of 384 | it) with contractual assumptions of liability to the recipient, for 385 | any liability that these contractual assumptions directly impose on 386 | those licensors and authors. 387 | 388 | All other non-permissive additional terms are considered "further 389 | restrictions" within the meaning of section 10. If the Program as you 390 | received it, or any part of it, contains a notice stating that it is 391 | governed by this License along with a term that is a further 392 | restriction, you may remove that term. If a license document contains 393 | a further restriction but permits relicensing or conveying under this 394 | License, you may add to a covered work material governed by the terms 395 | of that license document, provided that the further restriction does 396 | not survive such relicensing or conveying. 397 | 398 | If you add terms to a covered work in accord with this section, you 399 | must place, in the relevant source files, a statement of the 400 | additional terms that apply to those files, or a notice indicating 401 | where to find the applicable terms. 402 | 403 | Additional terms, permissive or non-permissive, may be stated in the 404 | form of a separately written license, or stated as exceptions; 405 | the above requirements apply either way. 406 | 407 | 8. Termination. 408 | 409 | You may not propagate or modify a covered work except as expressly 410 | provided under this License. Any attempt otherwise to propagate or 411 | modify it is void, and will automatically terminate your rights under 412 | this License (including any patent licenses granted under the third 413 | paragraph of section 11). 414 | 415 | However, if you cease all violation of this License, then your 416 | license from a particular copyright holder is reinstated (a) 417 | provisionally, unless and until the copyright holder explicitly and 418 | finally terminates your license, and (b) permanently, if the copyright 419 | holder fails to notify you of the violation by some reasonable means 420 | prior to 60 days after the cessation. 421 | 422 | Moreover, your license from a particular copyright holder is 423 | reinstated permanently if the copyright holder notifies you of the 424 | violation by some reasonable means, this is the first time you have 425 | received notice of violation of this License (for any work) from that 426 | copyright holder, and you cure the violation prior to 30 days after 427 | your receipt of the notice. 428 | 429 | Termination of your rights under this section does not terminate the 430 | licenses of parties who have received copies or rights from you under 431 | this License. If your rights have been terminated and not permanently 432 | reinstated, you do not qualify to receive new licenses for the same 433 | material under section 10. 434 | 435 | 9. Acceptance Not Required for Having Copies. 436 | 437 | You are not required to accept this License in order to receive or 438 | run a copy of the Program. Ancillary propagation of a covered work 439 | occurring solely as a consequence of using peer-to-peer transmission 440 | to receive a copy likewise does not require acceptance. However, 441 | nothing other than this License grants you permission to propagate or 442 | modify any covered work. These actions infringe copyright if you do 443 | not accept this License. Therefore, by modifying or propagating a 444 | covered work, you indicate your acceptance of this License to do so. 445 | 446 | 10. Automatic Licensing of Downstream Recipients. 447 | 448 | Each time you convey a covered work, the recipient automatically 449 | receives a license from the original licensors, to run, modify and 450 | propagate that work, subject to this License. You are not responsible 451 | for enforcing compliance by third parties with this License. 452 | 453 | An "entity transaction" is a transaction transferring control of an 454 | organization, or substantially all assets of one, or subdividing an 455 | organization, or merging organizations. If propagation of a covered 456 | work results from an entity transaction, each party to that 457 | transaction who receives a copy of the work also receives whatever 458 | licenses to the work the party's predecessor in interest had or could 459 | give under the previous paragraph, plus a right to possession of the 460 | Corresponding Source of the work from the predecessor in interest, if 461 | the predecessor has it or can get it with reasonable efforts. 462 | 463 | You may not impose any further restrictions on the exercise of the 464 | rights granted or affirmed under this License. For example, you may 465 | not impose a license fee, royalty, or other charge for exercise of 466 | rights granted under this License, and you may not initiate litigation 467 | (including a cross-claim or counterclaim in a lawsuit) alleging that 468 | any patent claim is infringed by making, using, selling, offering for 469 | sale, or importing the Program or any portion of it. 470 | 471 | 11. Patents. 472 | 473 | A "contributor" is a copyright holder who authorizes use under this 474 | License of the Program or a work on which the Program is based. The 475 | work thus licensed is called the contributor's "contributor version". 476 | 477 | A contributor's "essential patent claims" are all patent claims 478 | owned or controlled by the contributor, whether already acquired or 479 | hereafter acquired, that would be infringed by some manner, permitted 480 | by this License, of making, using, or selling its contributor version, 481 | but do not include claims that would be infringed only as a 482 | consequence of further modification of the contributor version. For 483 | purposes of this definition, "control" includes the right to grant 484 | patent sublicenses in a manner consistent with the requirements of 485 | this License. 486 | 487 | Each contributor grants you a non-exclusive, worldwide, royalty-free 488 | patent license under the contributor's essential patent claims, to 489 | make, use, sell, offer for sale, import and otherwise run, modify and 490 | propagate the contents of its contributor version. 491 | 492 | In the following three paragraphs, a "patent license" is any express 493 | agreement or commitment, however denominated, not to enforce a patent 494 | (such as an express permission to practice a patent or covenant not to 495 | sue for patent infringement). To "grant" such a patent license to a 496 | party means to make such an agreement or commitment not to enforce a 497 | patent against the party. 498 | 499 | If you convey a covered work, knowingly relying on a patent license, 500 | and the Corresponding Source of the work is not available for anyone 501 | to copy, free of charge and under the terms of this License, through a 502 | publicly available network server or other readily accessible means, 503 | then you must either (1) cause the Corresponding Source to be so 504 | available, or (2) arrange to deprive yourself of the benefit of the 505 | patent license for this particular work, or (3) arrange, in a manner 506 | consistent with the requirements of this License, to extend the patent 507 | license to downstream recipients. "Knowingly relying" means you have 508 | actual knowledge that, but for the patent license, your conveying the 509 | covered work in a country, or your recipient's use of the covered work 510 | in a country, would infringe one or more identifiable patents in that 511 | country that you have reason to believe are valid. 512 | 513 | If, pursuant to or in connection with a single transaction or 514 | arrangement, you convey, or propagate by procuring conveyance of, a 515 | covered work, and grant a patent license to some of the parties 516 | receiving the covered work authorizing them to use, propagate, modify 517 | or convey a specific copy of the covered work, then the patent license 518 | you grant is automatically extended to all recipients of the covered 519 | work and works based on it. 520 | 521 | A patent license is "discriminatory" if it does not include within 522 | the scope of its coverage, prohibits the exercise of, or is 523 | conditioned on the non-exercise of one or more of the rights that are 524 | specifically granted under this License. You may not convey a covered 525 | work if you are a party to an arrangement with a third party that is 526 | in the business of distributing software, under which you make payment 527 | to the third party based on the extent of your activity of conveying 528 | the work, and under which the third party grants, to any of the 529 | parties who would receive the covered work from you, a discriminatory 530 | patent license (a) in connection with copies of the covered work 531 | conveyed by you (or copies made from those copies), or (b) primarily 532 | for and in connection with specific products or compilations that 533 | contain the covered work, unless you entered into that arrangement, 534 | or that patent license was granted, prior to 28 March 2007. 535 | 536 | Nothing in this License shall be construed as excluding or limiting 537 | any implied license or other defenses to infringement that may 538 | otherwise be available to you under applicable patent law. 539 | 540 | 12. No Surrender of Others' Freedom. 541 | 542 | If conditions are imposed on you (whether by court order, agreement or 543 | otherwise) that contradict the conditions of this License, they do not 544 | excuse you from the conditions of this License. If you cannot convey a 545 | covered work so as to satisfy simultaneously your obligations under this 546 | License and any other pertinent obligations, then as a consequence you may 547 | not convey it at all. For example, if you agree to terms that obligate you 548 | to collect a royalty for further conveying from those to whom you convey 549 | the Program, the only way you could satisfy both those terms and this 550 | License would be to refrain entirely from conveying the Program. 551 | 552 | 13. Use with the GNU Affero General Public License. 553 | 554 | Notwithstanding any other provision of this License, you have 555 | permission to link or combine any covered work with a work licensed 556 | under version 3 of the GNU Affero General Public License into a single 557 | combined work, and to convey the resulting work. The terms of this 558 | License will continue to apply to the part which is the covered work, 559 | but the special requirements of the GNU Affero General Public License, 560 | section 13, concerning interaction through a network will apply to the 561 | combination as such. 562 | 563 | 14. Revised Versions of this License. 564 | 565 | The Free Software Foundation may publish revised and/or new versions of 566 | the GNU General Public License from time to time. Such new versions will 567 | be similar in spirit to the present version, but may differ in detail to 568 | address new problems or concerns. 569 | 570 | Each version is given a distinguishing version number. If the 571 | Program specifies that a certain numbered version of the GNU General 572 | Public License "or any later version" applies to it, you have the 573 | option of following the terms and conditions either of that numbered 574 | version or of any later version published by the Free Software 575 | Foundation. If the Program does not specify a version number of the 576 | GNU General Public License, you may choose any version ever published 577 | by the Free Software Foundation. 578 | 579 | If the Program specifies that a proxy can decide which future 580 | versions of the GNU General Public License can be used, that proxy's 581 | public statement of acceptance of a version permanently authorizes you 582 | to choose that version for the Program. 583 | 584 | Later license versions may give you additional or different 585 | permissions. However, no additional obligations are imposed on any 586 | author or copyright holder as a result of your choosing to follow a 587 | later version. 588 | 589 | 15. Disclaimer of Warranty. 590 | 591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 599 | 600 | 16. Limitation of Liability. 601 | 602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 610 | SUCH DAMAGES. 611 | 612 | 17. Interpretation of Sections 15 and 16. 613 | 614 | If the disclaimer of warranty and limitation of liability provided 615 | above cannot be given local legal effect according to their terms, 616 | reviewing courts shall apply local law that most closely approximates 617 | an absolute waiver of all civil liability in connection with the 618 | Program, unless a warranty or assumption of liability accompanies a 619 | copy of the Program in return for a fee. 620 | 621 | END OF TERMS AND CONDITIONS 622 | 623 | How to Apply These Terms to Your New Programs 624 | 625 | If you develop a new program, and you want it to be of the greatest 626 | possible use to the public, the best way to achieve this is to make it 627 | free software which everyone can redistribute and change under these terms. 628 | 629 | To do so, attach the following notices to the program. It is safest 630 | to attach them to the start of each source file to most effectively 631 | state the exclusion of warranty; and each file should have at least 632 | the "copyright" line and a pointer to where the full notice is found. 633 | 634 | 635 | Copyright (C) 636 | 637 | This program is free software: you can redistribute it and/or modify 638 | it under the terms of the GNU General Public License as published by 639 | the Free Software Foundation, either version 3 of the License, or 640 | (at your option) any later version. 641 | 642 | This program is distributed in the hope that it will be useful, 643 | but WITHOUT ANY WARRANTY; without even the implied warranty of 644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 645 | GNU General Public License for more details. 646 | 647 | You should have received a copy of the GNU General Public License 648 | along with this program. If not, see . 649 | 650 | Also add information on how to contact you by electronic and paper mail. 651 | 652 | If the program does terminal interaction, make it output a short 653 | notice like this when it starts in an interactive mode: 654 | 655 | Copyright (C) 656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 657 | This is free software, and you are welcome to redistribute it 658 | under certain conditions; type `show c' for details. 659 | 660 | The hypothetical commands `show w' and `show c' should show the appropriate 661 | parts of the General Public License. Of course, your program's commands 662 | might be different; for a GUI interface, you would use an "about box". 663 | 664 | You should also get your employer (if you work as a programmer) or school, 665 | if any, to sign a "copyright disclaimer" for the program, if necessary. 666 | For more information on this, and how to apply and follow the GNU GPL, see 667 | . 668 | 669 | The GNU General Public License does not permit incorporating your program 670 | into proprietary programs. If your program is a subroutine library, you 671 | may consider it more useful to permit linking proprietary applications with 672 | the library. If this is what you want to do, use the GNU Lesser General 673 | Public License instead of this License. But first, please read 674 | . 675 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![](https://raw.githubusercontent.com/utomic-media/directus-extension-field-actions/main/docs/Directus-Extension-Field-Actions.png) 2 | 3 | 4 | # 🐰 Directus extension: Text action display & interface 5 | > 💡 Add `link` & `copy to clipboard` functionalities to your directus fields. Supports interfaces as well as displays. 6 | > 7 | > The actions can be performed by a button next to the items or by clicking on the value. The settings allow customisations for a bunch of different use-cases. 8 | 9 |
10 | 11 | ## ✨ Supports 12 | ### 📋 Copy action 13 | Each value can be copied by a custom button. It's also possible to copy a value by just clickung on it (setting: *click-action*) 14 | 15 | ### ➡️ Links 16 | When using the link-option it supports ➡️ HTTP-, 📧 mail-, and 📞 phone- links. Each link can be opened by the custom button. If enabled it's also possible to open the link by just clicking on the value (setting: *click-action*). 17 | 18 | 19 | ### 🖱 Click-Action 20 | The click action defines what should happen when you click on the value. This is supported for displays as well as readonly interfaces.Actions can be: 21 | * default action (does nothing custom) 22 | * Copy-action (copied the value) 23 | * Link-action (openes the link in a new tab) 24 | 25 | ### ⚙ Settings 26 | #### Icon position 27 | - The icons can be placed before or after the content 28 | - The setting can be set for the interface and display, as well as the copy and link button indipendently 29 | - Example in the screenshots below 30 | 31 | #### Custom prefix 32 | - You can set custom prefixes for copy-/ and link-actions. 33 | - Prefixes can be entered manually or use a defined variable ([Project URL setting](https://docs.directus.io/configuration/project-settings.html#general)) 34 | - The setting can be set for the copy and link button indipendently, each for the interface and the display 35 | - Example in the screenshots below 36 | 37 | #### Link target 38 | - Set the link-target to the same, or a new tab 39 | 40 | #### Warn before following external links 41 | - Enabling this setting prompts users with a confirmation popup displaying the full link when clicking on external links 42 | - If disabled, external links open directly. 43 | 44 | #### Hide field value (_display only_) 45 | - Hides the field value for a button only mode 46 | - Mostly to be used in combinaiton with button labels 47 | 48 | #### Button labels (_display only_) 49 | - Add custom labels to the copy-/ and link icons for the display 50 | - Mostly to be used in combinaiton with the "Hide field value" option for a button only mode 51 | 52 |
53 | 54 | ## ⚙️ Installation (marketplace) 55 | The extension can easily be installed through the in-build directus marketplace. 56 | Just go to `settings -> marketplace` and search for `field-actions`. 57 | 58 | ## ⚙️ Installation (npm) 59 | ``` 60 | npm i directus-extension-field-actions 61 | ``` 62 | 63 | or 64 | 65 | ``` 66 | pnpm i directus-extension-field-actions 67 | ``` 68 | 69 | ## ⚙️ Installation (manually) 70 | 1. Download the `app.js`, `api.js` and `package.json` from the [latest release](https://raw.githubusercontent.com/utomic-media/directus-extension-field-actions/releases) 71 | 72 | 2. Create a folder named `directus-extension-field-actions` in your extension folder (e.g `/extensions/directus-extension-field-actions`) and a `/dist` folder inside. 73 | 74 | 3. Move the `package.json` to the created extension folder and the `app.js` and `api.js` into the `/dist` folder. 75 | 76 | 4. Restart directus 77 | 78 | **The result should look like this:** 79 | ``` 80 | ├── extensions 81 | │ ├── directus-extension-field-actions 82 | │ │ ├── dist 83 | │ │ │ ├── app.js 84 | │ │ │ ├── api.js 85 | │ │ ├── package.json 86 | ``` 87 | 88 | 89 |
90 | 91 | ## 🖼 Screenshots 92 | ![](https://raw.githubusercontent.com/utomic-media/directus-extension-field-actions/main/docs/screenshots/display-copy.png) 93 | *↑ Copy values from table views directly by clicking on them or an icon (configurable)* 94 | 95 | --- 96 | 97 | ![](https://raw.githubusercontent.com/utomic-media/directus-extension-field-actions/main/docs/screenshots/item-copy-hover.png) 98 | *↑ Copy field-values by clicking on it (only for readonly-fields and displays)* 99 | 100 | --- 101 | 102 | ![](https://raw.githubusercontent.com/utomic-media/directus-extension-field-actions/main/docs/screenshots/item-copy-button.png) 103 | *↑ Add link- and copy-to-clipboard buttons to each field* 104 | 105 | --- 106 | 107 | ![](https://raw.githubusercontent.com/utomic-media/directus-extension-field-actions/main/docs/screenshots/follow-link-confirmation-detail.png) 108 | 109 | *↑ Link preview and verification on external links (optionally)* 110 | 111 | --- 112 | 113 | ![](https://raw.githubusercontent.com/utomic-media/directus-extension-field-actions/main/docs/screenshots/interface-config-2023-03.png) 114 | *↑ Interfaces settings* 115 | 116 | --- 117 | 118 | ![](https://raw.githubusercontent.com/utomic-media/directus-extension-field-actions/main/docs/screenshots/display-config-2023-03.png) 119 | *↑ Displays settings* 120 | 121 | --- 122 | 123 | -------------------------------------------------------------------------------- /docs/Directus-Extension-Field-Actions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utomic-media/directus-extension-field-actions/a846f2a05ac303ff238f50a4e4f1b827f84fc20d/docs/Directus-Extension-Field-Actions.png -------------------------------------------------------------------------------- /docs/screenshots/display-config-2023-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utomic-media/directus-extension-field-actions/a846f2a05ac303ff238f50a4e4f1b827f84fc20d/docs/screenshots/display-config-2023-03.png -------------------------------------------------------------------------------- /docs/screenshots/display-copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utomic-media/directus-extension-field-actions/a846f2a05ac303ff238f50a4e4f1b827f84fc20d/docs/screenshots/display-copy.png -------------------------------------------------------------------------------- /docs/screenshots/follow-link-confirmation-detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utomic-media/directus-extension-field-actions/a846f2a05ac303ff238f50a4e4f1b827f84fc20d/docs/screenshots/follow-link-confirmation-detail.png -------------------------------------------------------------------------------- /docs/screenshots/follow-link-confirmation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utomic-media/directus-extension-field-actions/a846f2a05ac303ff238f50a4e4f1b827f84fc20d/docs/screenshots/follow-link-confirmation.png -------------------------------------------------------------------------------- /docs/screenshots/interface-config-2023-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utomic-media/directus-extension-field-actions/a846f2a05ac303ff238f50a4e4f1b827f84fc20d/docs/screenshots/interface-config-2023-03.png -------------------------------------------------------------------------------- /docs/screenshots/item-copy-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utomic-media/directus-extension-field-actions/a846f2a05ac303ff238f50a4e4f1b827f84fc20d/docs/screenshots/item-copy-button.png -------------------------------------------------------------------------------- /docs/screenshots/item-copy-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utomic-media/directus-extension-field-actions/a846f2a05ac303ff238f50a4e4f1b827f84fc20d/docs/screenshots/item-copy-hover.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "directus-extension-field-actions", 3 | "version": "1.9.0", 4 | "type": "module", 5 | "icon": "web_traffic", 6 | "directus:extension": { 7 | "host": "^10.10.0", 8 | "type": "bundle", 9 | "path": { 10 | "app": "dist/app.js", 11 | "api": "dist/api.js" 12 | }, 13 | "entries": [ 14 | { 15 | "type": "interface", 16 | "name": "interface", 17 | "source": "src/interface/index.ts" 18 | }, 19 | { 20 | "type": "display", 21 | "name": "display", 22 | "source": "src/display/index.ts" 23 | } 24 | ] 25 | }, 26 | "description": "Add advanced link & copy functionalities to your directus fields. Supports interfaces as well as displays.", 27 | "scripts": { 28 | "build": "directus-extension build", 29 | "dev": "directus-extension build -w --no-minify", 30 | "link": "directus-extension link", 31 | "add": "directus-extension add", 32 | "test": "echo \\\"No test specified\\\" && exit 0" 33 | }, 34 | "repository": { 35 | "type": "git", 36 | "url": "https://github.com/utomic-media/directus-extension-field-actions.git" 37 | }, 38 | "keywords": [ 39 | "directus", 40 | "directus-extension", 41 | "directus-interface", 42 | "directus-display", 43 | "directus-field-action", 44 | "directus-copy-to-clipboard", 45 | "directus-link", 46 | "directus-custom-bundle" 47 | ], 48 | "author": "Dominic Marcelino | Utomic Media", 49 | "license": "GPL-3.0", 50 | "bugs": { 51 | "url": "https://github.com/utomic-media/directus-extension-field-actions/issues" 52 | }, 53 | "homepage": "https://github.com/utomic-media/directus-extension-field-actions.git#readme", 54 | "devDependencies": { 55 | "@directus/extensions-sdk": "^11.0.2", 56 | "sass": "^1.74.1", 57 | "sass-loader": "^14.1.1", 58 | "typescript": "^5.4.3", 59 | "vue": "^3.4.21" 60 | }, 61 | "files": [ 62 | "dist/**/*" 63 | ] 64 | } 65 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | devDependencies: 11 | '@directus/extensions-sdk': 12 | specifier: ^11.0.2 13 | version: 11.0.2(@types/node@20.12.4)(@unhead/vue@1.9.4(vue@3.4.21(typescript@5.4.3)))(knex@3.1.0)(pinia@2.1.7(typescript@5.4.3)(vue@3.4.21(typescript@5.4.3)))(sass@1.74.1)(terser@5.30.3)(typescript@5.4.3) 14 | sass: 15 | specifier: ^1.74.1 16 | version: 1.74.1 17 | sass-loader: 18 | specifier: ^14.1.1 19 | version: 14.1.1(sass@1.74.1) 20 | typescript: 21 | specifier: ^5.4.3 22 | version: 5.4.3 23 | vue: 24 | specifier: ^3.4.21 25 | version: 3.4.21(typescript@5.4.3) 26 | 27 | packages: 28 | 29 | '@babel/code-frame@7.24.2': 30 | resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} 31 | engines: {node: '>=6.9.0'} 32 | 33 | '@babel/helper-string-parser@7.24.1': 34 | resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} 35 | engines: {node: '>=6.9.0'} 36 | 37 | '@babel/helper-validator-identifier@7.22.20': 38 | resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} 39 | engines: {node: '>=6.9.0'} 40 | 41 | '@babel/highlight@7.24.2': 42 | resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} 43 | engines: {node: '>=6.9.0'} 44 | 45 | '@babel/parser@7.24.4': 46 | resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} 47 | engines: {node: '>=6.0.0'} 48 | hasBin: true 49 | 50 | '@babel/types@7.24.0': 51 | resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} 52 | engines: {node: '>=6.9.0'} 53 | 54 | '@directus/composables@10.1.12': 55 | resolution: {integrity: sha512-yoFuzaPLEYTq1NMkAtIrWL0c7sBEuMWnSzVyLw9iuhCnF5w565L0sroCs+7fw8E+IXKBVPXKBs51drKhKdN9Ng==} 56 | peerDependencies: 57 | vue: ^3.4 58 | 59 | '@directus/constants@11.0.3': 60 | resolution: {integrity: sha512-+Pd7V6VZ/HzPwWDfVzfOMNzLW2dYMeMUpQvOOfvyvDyxnTsd7/31Gqs1DSL13DdBdvqgh+3Ho8Ai/Zn1GvQYcg==} 61 | 62 | '@directus/extensions-sdk@11.0.2': 63 | resolution: {integrity: sha512-tEPSKEBakO4/APd1wFa1yrY9OEGG1VAnsZg/Bqi//A4sLgPBLzjBe/8559Ez5cG5nDxNVXismz34DFq7eDVjgg==} 64 | engines: {node: '>=12.20.0'} 65 | hasBin: true 66 | 67 | '@directus/extensions@1.0.2': 68 | resolution: {integrity: sha512-deTLqktWjK7eR+7QRdejhtBIqKwLHZflwiFzrD3RquA9olzA6WKzt8wY7vr421IyLV1Lv7DxTI83+2f5UutzFw==} 69 | peerDependencies: 70 | knex: '3' 71 | pino: '8' 72 | vue: ^3.4 73 | vue-router: '4' 74 | peerDependenciesMeta: 75 | knex: 76 | optional: true 77 | pino: 78 | optional: true 79 | vue: 80 | optional: true 81 | vue-router: 82 | optional: true 83 | 84 | '@directus/schema@11.0.1': 85 | resolution: {integrity: sha512-I8YaZcFdzY1Livv3fW2L0GTBan+MGIYancj9GM/AoZpfeI5PjCecqASna/ijD/WVwDlUUvx6b7aJcQ1OLXBDug==} 86 | 87 | '@directus/system-data@1.0.2': 88 | resolution: {integrity: sha512-PweDAwTz4zImEGJnhoaX8apOCvcAfE0aGQrCSk+3cf1sLso0ShNlcDvUymtVfrqOXy0qT9sLa833bpJVaXF5ng==} 89 | 90 | '@directus/themes@0.3.6': 91 | resolution: {integrity: sha512-69LkviIMLG1/ne0p4lawwvE8KcEe/Xlg19kXUr5tHqkdr27Z4FpSd3fk17ESqhW402JkcPe8OSjxZvFmi1IMRA==} 92 | peerDependencies: 93 | '@unhead/vue': '1' 94 | pinia: '2' 95 | vue: ^3.4 96 | 97 | '@directus/types@11.0.8': 98 | resolution: {integrity: sha512-JJrfuzzUlr/gE6o+Mn/Wapg1xikRBiievDJi7Q6RJusv+97AyT6yAkgJpEhuYUtAQcW0+qwbw/su+TbL/x7jvA==} 99 | peerDependencies: 100 | knex: '3' 101 | vue: ^3.4 102 | peerDependenciesMeta: 103 | knex: 104 | optional: true 105 | vue: 106 | optional: true 107 | 108 | '@directus/utils@11.0.7': 109 | resolution: {integrity: sha512-NJIO8mPnNMLhYlZ6VrmgY5iTqS0VZnRFPohB/rQMRIIQeAf5P3QKtEGYwrxXoLFUyWgZsX84RMCW/YP5H3kpYA==} 110 | peerDependencies: 111 | vue: ^3.4 112 | peerDependenciesMeta: 113 | vue: 114 | optional: true 115 | 116 | '@esbuild/android-arm64@0.17.19': 117 | resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} 118 | engines: {node: '>=12'} 119 | cpu: [arm64] 120 | os: [android] 121 | 122 | '@esbuild/android-arm64@0.18.20': 123 | resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} 124 | engines: {node: '>=12'} 125 | cpu: [arm64] 126 | os: [android] 127 | 128 | '@esbuild/android-arm@0.17.19': 129 | resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} 130 | engines: {node: '>=12'} 131 | cpu: [arm] 132 | os: [android] 133 | 134 | '@esbuild/android-arm@0.18.20': 135 | resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} 136 | engines: {node: '>=12'} 137 | cpu: [arm] 138 | os: [android] 139 | 140 | '@esbuild/android-x64@0.17.19': 141 | resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} 142 | engines: {node: '>=12'} 143 | cpu: [x64] 144 | os: [android] 145 | 146 | '@esbuild/android-x64@0.18.20': 147 | resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} 148 | engines: {node: '>=12'} 149 | cpu: [x64] 150 | os: [android] 151 | 152 | '@esbuild/darwin-arm64@0.17.19': 153 | resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} 154 | engines: {node: '>=12'} 155 | cpu: [arm64] 156 | os: [darwin] 157 | 158 | '@esbuild/darwin-arm64@0.18.20': 159 | resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} 160 | engines: {node: '>=12'} 161 | cpu: [arm64] 162 | os: [darwin] 163 | 164 | '@esbuild/darwin-x64@0.17.19': 165 | resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} 166 | engines: {node: '>=12'} 167 | cpu: [x64] 168 | os: [darwin] 169 | 170 | '@esbuild/darwin-x64@0.18.20': 171 | resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} 172 | engines: {node: '>=12'} 173 | cpu: [x64] 174 | os: [darwin] 175 | 176 | '@esbuild/freebsd-arm64@0.17.19': 177 | resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} 178 | engines: {node: '>=12'} 179 | cpu: [arm64] 180 | os: [freebsd] 181 | 182 | '@esbuild/freebsd-arm64@0.18.20': 183 | resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} 184 | engines: {node: '>=12'} 185 | cpu: [arm64] 186 | os: [freebsd] 187 | 188 | '@esbuild/freebsd-x64@0.17.19': 189 | resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} 190 | engines: {node: '>=12'} 191 | cpu: [x64] 192 | os: [freebsd] 193 | 194 | '@esbuild/freebsd-x64@0.18.20': 195 | resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} 196 | engines: {node: '>=12'} 197 | cpu: [x64] 198 | os: [freebsd] 199 | 200 | '@esbuild/linux-arm64@0.17.19': 201 | resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} 202 | engines: {node: '>=12'} 203 | cpu: [arm64] 204 | os: [linux] 205 | 206 | '@esbuild/linux-arm64@0.18.20': 207 | resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} 208 | engines: {node: '>=12'} 209 | cpu: [arm64] 210 | os: [linux] 211 | 212 | '@esbuild/linux-arm@0.17.19': 213 | resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} 214 | engines: {node: '>=12'} 215 | cpu: [arm] 216 | os: [linux] 217 | 218 | '@esbuild/linux-arm@0.18.20': 219 | resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} 220 | engines: {node: '>=12'} 221 | cpu: [arm] 222 | os: [linux] 223 | 224 | '@esbuild/linux-ia32@0.17.19': 225 | resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} 226 | engines: {node: '>=12'} 227 | cpu: [ia32] 228 | os: [linux] 229 | 230 | '@esbuild/linux-ia32@0.18.20': 231 | resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} 232 | engines: {node: '>=12'} 233 | cpu: [ia32] 234 | os: [linux] 235 | 236 | '@esbuild/linux-loong64@0.17.19': 237 | resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} 238 | engines: {node: '>=12'} 239 | cpu: [loong64] 240 | os: [linux] 241 | 242 | '@esbuild/linux-loong64@0.18.20': 243 | resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} 244 | engines: {node: '>=12'} 245 | cpu: [loong64] 246 | os: [linux] 247 | 248 | '@esbuild/linux-mips64el@0.17.19': 249 | resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} 250 | engines: {node: '>=12'} 251 | cpu: [mips64el] 252 | os: [linux] 253 | 254 | '@esbuild/linux-mips64el@0.18.20': 255 | resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} 256 | engines: {node: '>=12'} 257 | cpu: [mips64el] 258 | os: [linux] 259 | 260 | '@esbuild/linux-ppc64@0.17.19': 261 | resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} 262 | engines: {node: '>=12'} 263 | cpu: [ppc64] 264 | os: [linux] 265 | 266 | '@esbuild/linux-ppc64@0.18.20': 267 | resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} 268 | engines: {node: '>=12'} 269 | cpu: [ppc64] 270 | os: [linux] 271 | 272 | '@esbuild/linux-riscv64@0.17.19': 273 | resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} 274 | engines: {node: '>=12'} 275 | cpu: [riscv64] 276 | os: [linux] 277 | 278 | '@esbuild/linux-riscv64@0.18.20': 279 | resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} 280 | engines: {node: '>=12'} 281 | cpu: [riscv64] 282 | os: [linux] 283 | 284 | '@esbuild/linux-s390x@0.17.19': 285 | resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} 286 | engines: {node: '>=12'} 287 | cpu: [s390x] 288 | os: [linux] 289 | 290 | '@esbuild/linux-s390x@0.18.20': 291 | resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} 292 | engines: {node: '>=12'} 293 | cpu: [s390x] 294 | os: [linux] 295 | 296 | '@esbuild/linux-x64@0.17.19': 297 | resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} 298 | engines: {node: '>=12'} 299 | cpu: [x64] 300 | os: [linux] 301 | 302 | '@esbuild/linux-x64@0.18.20': 303 | resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} 304 | engines: {node: '>=12'} 305 | cpu: [x64] 306 | os: [linux] 307 | 308 | '@esbuild/netbsd-x64@0.17.19': 309 | resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} 310 | engines: {node: '>=12'} 311 | cpu: [x64] 312 | os: [netbsd] 313 | 314 | '@esbuild/netbsd-x64@0.18.20': 315 | resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} 316 | engines: {node: '>=12'} 317 | cpu: [x64] 318 | os: [netbsd] 319 | 320 | '@esbuild/openbsd-x64@0.17.19': 321 | resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} 322 | engines: {node: '>=12'} 323 | cpu: [x64] 324 | os: [openbsd] 325 | 326 | '@esbuild/openbsd-x64@0.18.20': 327 | resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} 328 | engines: {node: '>=12'} 329 | cpu: [x64] 330 | os: [openbsd] 331 | 332 | '@esbuild/sunos-x64@0.17.19': 333 | resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} 334 | engines: {node: '>=12'} 335 | cpu: [x64] 336 | os: [sunos] 337 | 338 | '@esbuild/sunos-x64@0.18.20': 339 | resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} 340 | engines: {node: '>=12'} 341 | cpu: [x64] 342 | os: [sunos] 343 | 344 | '@esbuild/win32-arm64@0.17.19': 345 | resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} 346 | engines: {node: '>=12'} 347 | cpu: [arm64] 348 | os: [win32] 349 | 350 | '@esbuild/win32-arm64@0.18.20': 351 | resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} 352 | engines: {node: '>=12'} 353 | cpu: [arm64] 354 | os: [win32] 355 | 356 | '@esbuild/win32-ia32@0.17.19': 357 | resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} 358 | engines: {node: '>=12'} 359 | cpu: [ia32] 360 | os: [win32] 361 | 362 | '@esbuild/win32-ia32@0.18.20': 363 | resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} 364 | engines: {node: '>=12'} 365 | cpu: [ia32] 366 | os: [win32] 367 | 368 | '@esbuild/win32-x64@0.17.19': 369 | resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} 370 | engines: {node: '>=12'} 371 | cpu: [x64] 372 | os: [win32] 373 | 374 | '@esbuild/win32-x64@0.18.20': 375 | resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} 376 | engines: {node: '>=12'} 377 | cpu: [x64] 378 | os: [win32] 379 | 380 | '@hapi/hoek@9.3.0': 381 | resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} 382 | 383 | '@hapi/topo@5.1.0': 384 | resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} 385 | 386 | '@jridgewell/gen-mapping@0.3.5': 387 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 388 | engines: {node: '>=6.0.0'} 389 | 390 | '@jridgewell/resolve-uri@3.1.2': 391 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 392 | engines: {node: '>=6.0.0'} 393 | 394 | '@jridgewell/set-array@1.2.1': 395 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 396 | engines: {node: '>=6.0.0'} 397 | 398 | '@jridgewell/source-map@0.3.6': 399 | resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} 400 | 401 | '@jridgewell/sourcemap-codec@1.4.15': 402 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 403 | 404 | '@jridgewell/trace-mapping@0.3.25': 405 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 406 | 407 | '@ljharb/through@2.3.13': 408 | resolution: {integrity: sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==} 409 | engines: {node: '>= 0.4'} 410 | 411 | '@rollup/plugin-commonjs@25.0.7': 412 | resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} 413 | engines: {node: '>=14.0.0'} 414 | peerDependencies: 415 | rollup: ^2.68.0||^3.0.0||^4.0.0 416 | peerDependenciesMeta: 417 | rollup: 418 | optional: true 419 | 420 | '@rollup/plugin-json@6.1.0': 421 | resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} 422 | engines: {node: '>=14.0.0'} 423 | peerDependencies: 424 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 425 | peerDependenciesMeta: 426 | rollup: 427 | optional: true 428 | 429 | '@rollup/plugin-node-resolve@15.2.3': 430 | resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} 431 | engines: {node: '>=14.0.0'} 432 | peerDependencies: 433 | rollup: ^2.78.0||^3.0.0||^4.0.0 434 | peerDependenciesMeta: 435 | rollup: 436 | optional: true 437 | 438 | '@rollup/plugin-replace@5.0.5': 439 | resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} 440 | engines: {node: '>=14.0.0'} 441 | peerDependencies: 442 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 443 | peerDependenciesMeta: 444 | rollup: 445 | optional: true 446 | 447 | '@rollup/plugin-terser@0.4.4': 448 | resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} 449 | engines: {node: '>=14.0.0'} 450 | peerDependencies: 451 | rollup: ^2.0.0||^3.0.0||^4.0.0 452 | peerDependenciesMeta: 453 | rollup: 454 | optional: true 455 | 456 | '@rollup/plugin-virtual@3.0.2': 457 | resolution: {integrity: sha512-10monEYsBp3scM4/ND4LNH5Rxvh3e/cVeL3jWTgZ2SrQ+BmUoQcopVQvnaMcOnykb1VkxUFuDAN+0FnpTFRy2A==} 458 | engines: {node: '>=14.0.0'} 459 | peerDependencies: 460 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 461 | peerDependenciesMeta: 462 | rollup: 463 | optional: true 464 | 465 | '@rollup/pluginutils@4.2.1': 466 | resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} 467 | engines: {node: '>= 8.0.0'} 468 | 469 | '@rollup/pluginutils@5.1.0': 470 | resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} 471 | engines: {node: '>=14.0.0'} 472 | peerDependencies: 473 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 474 | peerDependenciesMeta: 475 | rollup: 476 | optional: true 477 | 478 | '@sideway/address@4.1.5': 479 | resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} 480 | 481 | '@sideway/formula@3.0.1': 482 | resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} 483 | 484 | '@sideway/pinpoint@2.0.0': 485 | resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} 486 | 487 | '@sinclair/typebox@0.32.15': 488 | resolution: {integrity: sha512-5Lrwo7VOiWEBJBhHmqNmf3TPB9ll8gcEshvYJyAIJyCZ2PF48MFOtiDHJNj8+FsNcqImaQYmxVkKBCBlyAa/wg==} 489 | 490 | '@trysound/sax@0.2.0': 491 | resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} 492 | engines: {node: '>=10.13.0'} 493 | 494 | '@types/body-parser@1.19.5': 495 | resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} 496 | 497 | '@types/connect@3.4.38': 498 | resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} 499 | 500 | '@types/cssnano@5.1.0': 501 | resolution: {integrity: sha512-ikR+18UpFGgvaWSur4og6SJYF/6QEYHXvrIt36dp81p1MG3cAPTYDMBJGeyWa3LCnqEbgNMHKRb+FP0NrXtoWQ==} 502 | deprecated: This is a stub types definition. cssnano provides its own type definitions, so you do not need this installed. 503 | 504 | '@types/estree@1.0.5': 505 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} 506 | 507 | '@types/express-serve-static-core@4.17.43': 508 | resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==} 509 | 510 | '@types/express@4.17.21': 511 | resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} 512 | 513 | '@types/geojson@7946.0.14': 514 | resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==} 515 | 516 | '@types/http-errors@2.0.4': 517 | resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} 518 | 519 | '@types/mime@1.3.5': 520 | resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} 521 | 522 | '@types/node@20.12.4': 523 | resolution: {integrity: sha512-E+Fa9z3wSQpzgYQdYmme5X3OTuejnnTx88A6p6vkkJosR3KBz+HpE3kqNm98VE6cfLFcISx7zW7MsJkH6KwbTw==} 524 | 525 | '@types/parse-json@4.0.2': 526 | resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} 527 | 528 | '@types/qs@6.9.14': 529 | resolution: {integrity: sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA==} 530 | 531 | '@types/range-parser@1.2.7': 532 | resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} 533 | 534 | '@types/resolve@1.20.2': 535 | resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} 536 | 537 | '@types/send@0.17.4': 538 | resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} 539 | 540 | '@types/serve-static@1.15.7': 541 | resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} 542 | 543 | '@unhead/dom@1.9.4': 544 | resolution: {integrity: sha512-nEaHOcCL0u56g4XOV5XGwRMFZ05eEINfp8nxVrPiIGLrS9BoFrZS7/6IYSkalkNRTmw8M5xqxt6BalBr594SaA==} 545 | 546 | '@unhead/schema@1.9.4': 547 | resolution: {integrity: sha512-/J6KYQ+aqKO5uLDTU9BXfiRAfJ3mQNmF5gh3Iyd4qZaWfqjsDGYIaAe4xAGPnJxwBn6FHlnvQvZBSGqru1MByw==} 548 | 549 | '@unhead/shared@1.9.4': 550 | resolution: {integrity: sha512-ErP6SUzPPRX9Df4fqGlwlLInoG+iBiH0nDudRuIpoFGyTnv1uO9BQ+lfFld8s1gI1WCdoBwVkISBp9/f/E/GLA==} 551 | 552 | '@unhead/vue@1.9.4': 553 | resolution: {integrity: sha512-F37bDhhieWQJyXvFV8NmrOXoIVJMhxVI/0ZUDrI9uTkMCofjfKWDJ+Gz0iYdhYF9mjQ5BN+pM31Zpxi+fN5Cfg==} 554 | peerDependencies: 555 | vue: '>=2.7 || >=3' 556 | 557 | '@vitejs/plugin-vue@4.6.2': 558 | resolution: {integrity: sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==} 559 | engines: {node: ^14.18.0 || >=16.0.0} 560 | peerDependencies: 561 | vite: ^4.0.0 || ^5.0.0 562 | vue: ^3.2.25 563 | 564 | '@vue/compiler-core@3.4.21': 565 | resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} 566 | 567 | '@vue/compiler-dom@3.4.21': 568 | resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} 569 | 570 | '@vue/compiler-sfc@3.4.21': 571 | resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} 572 | 573 | '@vue/compiler-ssr@3.4.21': 574 | resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} 575 | 576 | '@vue/devtools-api@6.6.1': 577 | resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} 578 | 579 | '@vue/reactivity@3.4.21': 580 | resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} 581 | 582 | '@vue/runtime-core@3.4.21': 583 | resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} 584 | 585 | '@vue/runtime-dom@3.4.21': 586 | resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} 587 | 588 | '@vue/server-renderer@3.4.21': 589 | resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} 590 | peerDependencies: 591 | vue: 3.4.21 592 | 593 | '@vue/shared@3.4.21': 594 | resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} 595 | 596 | acorn@8.11.3: 597 | resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} 598 | engines: {node: '>=0.4.0'} 599 | hasBin: true 600 | 601 | ansi-escapes@4.3.2: 602 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 603 | engines: {node: '>=8'} 604 | 605 | ansi-regex@5.0.1: 606 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 607 | engines: {node: '>=8'} 608 | 609 | ansi-regex@6.0.1: 610 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 611 | engines: {node: '>=12'} 612 | 613 | ansi-styles@3.2.1: 614 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 615 | engines: {node: '>=4'} 616 | 617 | ansi-styles@4.3.0: 618 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 619 | engines: {node: '>=8'} 620 | 621 | anymatch@3.1.3: 622 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 623 | engines: {node: '>= 8'} 624 | 625 | argparse@2.0.1: 626 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 627 | 628 | asynckit@0.4.0: 629 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} 630 | 631 | axios@1.6.7: 632 | resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} 633 | 634 | balanced-match@1.0.2: 635 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 636 | 637 | base64-js@1.5.1: 638 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 639 | 640 | binary-extensions@2.3.0: 641 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 642 | engines: {node: '>=8'} 643 | 644 | bl@4.1.0: 645 | resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} 646 | 647 | bl@5.1.0: 648 | resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} 649 | 650 | boolbase@1.0.0: 651 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} 652 | 653 | brace-expansion@2.0.1: 654 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 655 | 656 | braces@3.0.3: 657 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 658 | engines: {node: '>=8'} 659 | 660 | browserslist@4.23.0: 661 | resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} 662 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 663 | hasBin: true 664 | 665 | buffer-from@1.1.2: 666 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 667 | 668 | buffer@5.7.1: 669 | resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 670 | 671 | buffer@6.0.3: 672 | resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} 673 | 674 | builtin-modules@3.3.0: 675 | resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} 676 | engines: {node: '>=6'} 677 | 678 | call-bind@1.0.7: 679 | resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} 680 | engines: {node: '>= 0.4'} 681 | 682 | callsites@3.1.0: 683 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 684 | engines: {node: '>=6'} 685 | 686 | caniuse-api@3.0.0: 687 | resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} 688 | 689 | caniuse-lite@1.0.30001605: 690 | resolution: {integrity: sha512-nXwGlFWo34uliI9z3n6Qc0wZaf7zaZWA1CPZ169La5mV3I/gem7bst0vr5XQH5TJXZIMfDeZyOrZnSlVzKxxHQ==} 691 | 692 | chalk@2.4.2: 693 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 694 | engines: {node: '>=4'} 695 | 696 | chalk@4.1.2: 697 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 698 | engines: {node: '>=10'} 699 | 700 | chalk@5.3.0: 701 | resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} 702 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 703 | 704 | chardet@0.7.0: 705 | resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} 706 | 707 | chokidar@3.6.0: 708 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 709 | engines: {node: '>= 8.10.0'} 710 | 711 | cli-cursor@3.1.0: 712 | resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} 713 | engines: {node: '>=8'} 714 | 715 | cli-cursor@4.0.0: 716 | resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} 717 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 718 | 719 | cli-spinners@2.9.2: 720 | resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} 721 | engines: {node: '>=6'} 722 | 723 | cli-width@4.1.0: 724 | resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} 725 | engines: {node: '>= 12'} 726 | 727 | clone@1.0.4: 728 | resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} 729 | engines: {node: '>=0.8'} 730 | 731 | color-convert@1.9.3: 732 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 733 | 734 | color-convert@2.0.1: 735 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 736 | engines: {node: '>=7.0.0'} 737 | 738 | color-name@1.1.3: 739 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 740 | 741 | color-name@1.1.4: 742 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 743 | 744 | colord@2.9.3: 745 | resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} 746 | 747 | colorette@2.0.19: 748 | resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} 749 | 750 | combined-stream@1.0.8: 751 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} 752 | engines: {node: '>= 0.8'} 753 | 754 | commander@10.0.1: 755 | resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} 756 | engines: {node: '>=14'} 757 | 758 | commander@2.20.3: 759 | resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} 760 | 761 | commander@7.2.0: 762 | resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} 763 | engines: {node: '>= 10'} 764 | 765 | commondir@1.0.1: 766 | resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} 767 | 768 | cosmiconfig@7.1.0: 769 | resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} 770 | engines: {node: '>=10'} 771 | 772 | cross-spawn@7.0.3: 773 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 774 | engines: {node: '>= 8'} 775 | 776 | css-declaration-sorter@6.4.1: 777 | resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} 778 | engines: {node: ^10 || ^12 || >=14} 779 | peerDependencies: 780 | postcss: ^8.0.9 781 | 782 | css-select@4.3.0: 783 | resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} 784 | 785 | css-tree@1.1.3: 786 | resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} 787 | engines: {node: '>=8.0.0'} 788 | 789 | css-what@6.1.0: 790 | resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} 791 | engines: {node: '>= 6'} 792 | 793 | cssesc@3.0.0: 794 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 795 | engines: {node: '>=4'} 796 | hasBin: true 797 | 798 | cssnano-preset-default@5.2.14: 799 | resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} 800 | engines: {node: ^10 || ^12 || >=14.0} 801 | peerDependencies: 802 | postcss: ^8.2.15 803 | 804 | cssnano-utils@3.1.0: 805 | resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} 806 | engines: {node: ^10 || ^12 || >=14.0} 807 | peerDependencies: 808 | postcss: ^8.2.15 809 | 810 | cssnano@5.1.15: 811 | resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} 812 | engines: {node: ^10 || ^12 || >=14.0} 813 | peerDependencies: 814 | postcss: ^8.2.15 815 | 816 | csso@4.2.0: 817 | resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} 818 | engines: {node: '>=8.0.0'} 819 | 820 | csstype@3.1.3: 821 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 822 | 823 | date-fns@3.6.0: 824 | resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} 825 | 826 | debug@4.3.4: 827 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 828 | engines: {node: '>=6.0'} 829 | peerDependencies: 830 | supports-color: '*' 831 | peerDependenciesMeta: 832 | supports-color: 833 | optional: true 834 | 835 | decamelize@6.0.0: 836 | resolution: {integrity: sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==} 837 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 838 | 839 | decode-uri-component@0.2.2: 840 | resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} 841 | engines: {node: '>=0.10'} 842 | 843 | deepmerge@4.3.1: 844 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 845 | engines: {node: '>=0.10.0'} 846 | 847 | defaults@1.0.4: 848 | resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} 849 | 850 | define-data-property@1.1.4: 851 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 852 | engines: {node: '>= 0.4'} 853 | 854 | delayed-stream@1.0.0: 855 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} 856 | engines: {node: '>=0.4.0'} 857 | 858 | dom-serializer@1.4.1: 859 | resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} 860 | 861 | domelementtype@2.3.0: 862 | resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} 863 | 864 | domhandler@4.3.1: 865 | resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} 866 | engines: {node: '>= 4'} 867 | 868 | domutils@2.8.0: 869 | resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} 870 | 871 | electron-to-chromium@1.4.726: 872 | resolution: {integrity: sha512-xtjfBXn53RORwkbyKvDfTajtnTp0OJoPOIBzXvkNbb7+YYvCHJflba3L7Txyx/6Fov3ov2bGPr/n5MTixmPhdQ==} 873 | 874 | emoji-regex@8.0.0: 875 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 876 | 877 | entities@2.2.0: 878 | resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} 879 | 880 | entities@4.5.0: 881 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} 882 | engines: {node: '>=0.12'} 883 | 884 | error-ex@1.3.2: 885 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 886 | 887 | es-define-property@1.0.0: 888 | resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} 889 | engines: {node: '>= 0.4'} 890 | 891 | es-errors@1.3.0: 892 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 893 | engines: {node: '>= 0.4'} 894 | 895 | es-module-lexer@1.5.0: 896 | resolution: {integrity: sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==} 897 | 898 | esbuild@0.17.19: 899 | resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} 900 | engines: {node: '>=12'} 901 | hasBin: true 902 | 903 | esbuild@0.18.20: 904 | resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} 905 | engines: {node: '>=12'} 906 | hasBin: true 907 | 908 | escalade@3.1.2: 909 | resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} 910 | engines: {node: '>=6'} 911 | 912 | escape-string-regexp@1.0.5: 913 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 914 | engines: {node: '>=0.8.0'} 915 | 916 | esm@3.2.25: 917 | resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} 918 | engines: {node: '>=6'} 919 | 920 | estree-walker@2.0.2: 921 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 922 | 923 | eventemitter3@4.0.7: 924 | resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} 925 | 926 | execa@7.2.0: 927 | resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} 928 | engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} 929 | 930 | external-editor@3.1.0: 931 | resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} 932 | engines: {node: '>=4'} 933 | 934 | figures@3.2.0: 935 | resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} 936 | engines: {node: '>=8'} 937 | 938 | fill-range@7.1.1: 939 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 940 | engines: {node: '>=8'} 941 | 942 | filter-obj@1.1.0: 943 | resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} 944 | engines: {node: '>=0.10.0'} 945 | 946 | flat@6.0.1: 947 | resolution: {integrity: sha512-/3FfIa8mbrg3xE7+wAhWeV+bd7L2Mof+xtZb5dRDKZ+wDvYJK4WDYeIOuOhre5Yv5aQObZrlbRmk3RTSiuQBtw==} 948 | engines: {node: '>=18'} 949 | hasBin: true 950 | 951 | follow-redirects@1.15.6: 952 | resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} 953 | engines: {node: '>=4.0'} 954 | peerDependencies: 955 | debug: '*' 956 | peerDependenciesMeta: 957 | debug: 958 | optional: true 959 | 960 | form-data@4.0.0: 961 | resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} 962 | engines: {node: '>= 6'} 963 | 964 | fs-extra@10.1.0: 965 | resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} 966 | engines: {node: '>=12'} 967 | 968 | fs-extra@11.2.0: 969 | resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} 970 | engines: {node: '>=14.14'} 971 | 972 | fs.realpath@1.0.0: 973 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 974 | 975 | fsevents@2.3.3: 976 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 977 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 978 | os: [darwin] 979 | 980 | function-bind@1.1.2: 981 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 982 | 983 | get-intrinsic@1.2.4: 984 | resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} 985 | engines: {node: '>= 0.4'} 986 | 987 | get-package-type@0.1.0: 988 | resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} 989 | engines: {node: '>=8.0.0'} 990 | 991 | get-stream@6.0.1: 992 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 993 | engines: {node: '>=10'} 994 | 995 | getopts@2.3.0: 996 | resolution: {integrity: sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==} 997 | 998 | glob-parent@5.1.2: 999 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1000 | engines: {node: '>= 6'} 1001 | 1002 | glob@8.1.0: 1003 | resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} 1004 | engines: {node: '>=12'} 1005 | deprecated: Glob versions prior to v9 are no longer supported 1006 | 1007 | gopd@1.0.1: 1008 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 1009 | 1010 | graceful-fs@4.2.11: 1011 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1012 | 1013 | has-flag@3.0.0: 1014 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1015 | engines: {node: '>=4'} 1016 | 1017 | has-flag@4.0.0: 1018 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1019 | engines: {node: '>=8'} 1020 | 1021 | has-property-descriptors@1.0.2: 1022 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 1023 | 1024 | has-proto@1.0.3: 1025 | resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} 1026 | engines: {node: '>= 0.4'} 1027 | 1028 | has-symbols@1.0.3: 1029 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1030 | engines: {node: '>= 0.4'} 1031 | 1032 | hasown@2.0.2: 1033 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1034 | engines: {node: '>= 0.4'} 1035 | 1036 | hookable@5.5.3: 1037 | resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} 1038 | 1039 | human-signals@4.3.1: 1040 | resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} 1041 | engines: {node: '>=14.18.0'} 1042 | 1043 | iconv-lite@0.4.24: 1044 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 1045 | engines: {node: '>=0.10.0'} 1046 | 1047 | icss-utils@5.1.0: 1048 | resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} 1049 | engines: {node: ^10 || ^12 || >= 14} 1050 | peerDependencies: 1051 | postcss: ^8.1.0 1052 | 1053 | ieee754@1.2.1: 1054 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 1055 | 1056 | immutable@4.3.5: 1057 | resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} 1058 | 1059 | import-fresh@3.3.0: 1060 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1061 | engines: {node: '>=6'} 1062 | 1063 | inflight@1.0.6: 1064 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1065 | deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. 1066 | 1067 | inherits@2.0.4: 1068 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1069 | 1070 | inquirer@9.2.16: 1071 | resolution: {integrity: sha512-qzgbB+yNjgSzk2omeqMDtO9IgJet/UL67luT1MaaggRpGK73DBQct5Q4pipwFQcIKK1GbMODYd4UfsRCkSP1DA==} 1072 | engines: {node: '>=18'} 1073 | 1074 | interpret@2.2.0: 1075 | resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==} 1076 | engines: {node: '>= 0.10'} 1077 | 1078 | is-arrayish@0.2.1: 1079 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1080 | 1081 | is-binary-path@2.1.0: 1082 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1083 | engines: {node: '>=8'} 1084 | 1085 | is-builtin-module@3.2.1: 1086 | resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} 1087 | engines: {node: '>=6'} 1088 | 1089 | is-core-module@2.13.1: 1090 | resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} 1091 | 1092 | is-extglob@2.1.1: 1093 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1094 | engines: {node: '>=0.10.0'} 1095 | 1096 | is-fullwidth-code-point@3.0.0: 1097 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1098 | engines: {node: '>=8'} 1099 | 1100 | is-glob@4.0.3: 1101 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1102 | engines: {node: '>=0.10.0'} 1103 | 1104 | is-interactive@1.0.0: 1105 | resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} 1106 | engines: {node: '>=8'} 1107 | 1108 | is-interactive@2.0.0: 1109 | resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} 1110 | engines: {node: '>=12'} 1111 | 1112 | is-module@1.0.0: 1113 | resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} 1114 | 1115 | is-number@7.0.0: 1116 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1117 | engines: {node: '>=0.12.0'} 1118 | 1119 | is-reference@1.2.1: 1120 | resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} 1121 | 1122 | is-stream@3.0.0: 1123 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 1124 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1125 | 1126 | is-unicode-supported@0.1.0: 1127 | resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} 1128 | engines: {node: '>=10'} 1129 | 1130 | is-unicode-supported@1.3.0: 1131 | resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} 1132 | engines: {node: '>=12'} 1133 | 1134 | isexe@2.0.0: 1135 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1136 | 1137 | joi@17.12.2: 1138 | resolution: {integrity: sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==} 1139 | 1140 | joycon@3.1.1: 1141 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 1142 | engines: {node: '>=10'} 1143 | 1144 | js-tokens@4.0.0: 1145 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1146 | 1147 | js-yaml@4.1.0: 1148 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1149 | hasBin: true 1150 | 1151 | json-parse-even-better-errors@2.3.1: 1152 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1153 | 1154 | jsonc-parser@3.2.1: 1155 | resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} 1156 | 1157 | jsonfile@6.1.0: 1158 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} 1159 | 1160 | knex@3.1.0: 1161 | resolution: {integrity: sha512-GLoII6hR0c4ti243gMs5/1Rb3B+AjwMOfjYm97pu0FOQa7JH56hgBxYf5WK2525ceSbBY1cjeZ9yk99GPMB6Kw==} 1162 | engines: {node: '>=16'} 1163 | hasBin: true 1164 | peerDependencies: 1165 | better-sqlite3: '*' 1166 | mysql: '*' 1167 | mysql2: '*' 1168 | pg: '*' 1169 | pg-native: '*' 1170 | sqlite3: '*' 1171 | tedious: '*' 1172 | peerDependenciesMeta: 1173 | better-sqlite3: 1174 | optional: true 1175 | mysql: 1176 | optional: true 1177 | mysql2: 1178 | optional: true 1179 | pg: 1180 | optional: true 1181 | pg-native: 1182 | optional: true 1183 | sqlite3: 1184 | optional: true 1185 | tedious: 1186 | optional: true 1187 | 1188 | lilconfig@2.1.0: 1189 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 1190 | engines: {node: '>=10'} 1191 | 1192 | lines-and-columns@1.2.4: 1193 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1194 | 1195 | lodash-es@4.17.21: 1196 | resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} 1197 | 1198 | lodash.memoize@4.1.2: 1199 | resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} 1200 | 1201 | lodash.uniq@4.5.0: 1202 | resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} 1203 | 1204 | lodash@4.17.21: 1205 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1206 | 1207 | log-symbols@4.1.0: 1208 | resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} 1209 | engines: {node: '>=10'} 1210 | 1211 | log-symbols@5.1.0: 1212 | resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} 1213 | engines: {node: '>=12'} 1214 | 1215 | magic-string@0.30.9: 1216 | resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==} 1217 | engines: {node: '>=12'} 1218 | 1219 | mdn-data@2.0.14: 1220 | resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} 1221 | 1222 | merge-stream@2.0.0: 1223 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 1224 | 1225 | micromustache@8.0.3: 1226 | resolution: {integrity: sha512-SXjrEPuYNtWq0reR9LR2nHdzdQx/3re9HPcDGjm00L7hi2RsH5KMRBhYEBvPdyQC51RW/2TznjwX/sQLPPyHNw==} 1227 | engines: {node: '>=8'} 1228 | 1229 | mime-db@1.52.0: 1230 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 1231 | engines: {node: '>= 0.6'} 1232 | 1233 | mime-types@2.1.35: 1234 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 1235 | engines: {node: '>= 0.6'} 1236 | 1237 | mimic-fn@2.1.0: 1238 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 1239 | engines: {node: '>=6'} 1240 | 1241 | mimic-fn@4.0.0: 1242 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 1243 | engines: {node: '>=12'} 1244 | 1245 | minimatch@5.1.6: 1246 | resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} 1247 | engines: {node: '>=10'} 1248 | 1249 | ms@2.1.2: 1250 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1251 | 1252 | mute-stream@1.0.0: 1253 | resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} 1254 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 1255 | 1256 | nanoid@3.3.7: 1257 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 1258 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1259 | hasBin: true 1260 | 1261 | nanoid@5.0.6: 1262 | resolution: {integrity: sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA==} 1263 | engines: {node: ^18 || >=20} 1264 | hasBin: true 1265 | 1266 | neo-async@2.6.2: 1267 | resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} 1268 | 1269 | node-releases@2.0.14: 1270 | resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} 1271 | 1272 | normalize-path@3.0.0: 1273 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1274 | engines: {node: '>=0.10.0'} 1275 | 1276 | normalize-url@6.1.0: 1277 | resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} 1278 | engines: {node: '>=10'} 1279 | 1280 | npm-run-path@5.3.0: 1281 | resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} 1282 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1283 | 1284 | nth-check@2.1.1: 1285 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} 1286 | 1287 | once@1.4.0: 1288 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1289 | 1290 | onetime@5.1.2: 1291 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 1292 | engines: {node: '>=6'} 1293 | 1294 | onetime@6.0.0: 1295 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 1296 | engines: {node: '>=12'} 1297 | 1298 | ora@5.4.1: 1299 | resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} 1300 | engines: {node: '>=10'} 1301 | 1302 | ora@6.3.1: 1303 | resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} 1304 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1305 | 1306 | os-tmpdir@1.0.2: 1307 | resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} 1308 | engines: {node: '>=0.10.0'} 1309 | 1310 | p-finally@1.0.0: 1311 | resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} 1312 | engines: {node: '>=4'} 1313 | 1314 | p-queue@6.6.2: 1315 | resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} 1316 | engines: {node: '>=8'} 1317 | 1318 | p-timeout@3.2.0: 1319 | resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} 1320 | engines: {node: '>=8'} 1321 | 1322 | parent-module@1.0.1: 1323 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1324 | engines: {node: '>=6'} 1325 | 1326 | parse-json@5.2.0: 1327 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 1328 | engines: {node: '>=8'} 1329 | 1330 | path-key@3.1.1: 1331 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1332 | engines: {node: '>=8'} 1333 | 1334 | path-key@4.0.0: 1335 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 1336 | engines: {node: '>=12'} 1337 | 1338 | path-parse@1.0.7: 1339 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1340 | 1341 | path-type@4.0.0: 1342 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1343 | engines: {node: '>=8'} 1344 | 1345 | pg-connection-string@2.6.2: 1346 | resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} 1347 | 1348 | picocolors@1.0.0: 1349 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 1350 | 1351 | picomatch@2.3.1: 1352 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1353 | engines: {node: '>=8.6'} 1354 | 1355 | pinia@2.1.7: 1356 | resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} 1357 | peerDependencies: 1358 | '@vue/composition-api': ^1.4.0 1359 | typescript: '>=4.4.4' 1360 | vue: ^2.6.14 || ^3.3.0 1361 | peerDependenciesMeta: 1362 | '@vue/composition-api': 1363 | optional: true 1364 | typescript: 1365 | optional: true 1366 | 1367 | postcss-calc@8.2.4: 1368 | resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} 1369 | peerDependencies: 1370 | postcss: ^8.2.2 1371 | 1372 | postcss-colormin@5.3.1: 1373 | resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} 1374 | engines: {node: ^10 || ^12 || >=14.0} 1375 | peerDependencies: 1376 | postcss: ^8.2.15 1377 | 1378 | postcss-convert-values@5.1.3: 1379 | resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} 1380 | engines: {node: ^10 || ^12 || >=14.0} 1381 | peerDependencies: 1382 | postcss: ^8.2.15 1383 | 1384 | postcss-discard-comments@5.1.2: 1385 | resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} 1386 | engines: {node: ^10 || ^12 || >=14.0} 1387 | peerDependencies: 1388 | postcss: ^8.2.15 1389 | 1390 | postcss-discard-duplicates@5.1.0: 1391 | resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} 1392 | engines: {node: ^10 || ^12 || >=14.0} 1393 | peerDependencies: 1394 | postcss: ^8.2.15 1395 | 1396 | postcss-discard-empty@5.1.1: 1397 | resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} 1398 | engines: {node: ^10 || ^12 || >=14.0} 1399 | peerDependencies: 1400 | postcss: ^8.2.15 1401 | 1402 | postcss-discard-overridden@5.1.0: 1403 | resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} 1404 | engines: {node: ^10 || ^12 || >=14.0} 1405 | peerDependencies: 1406 | postcss: ^8.2.15 1407 | 1408 | postcss-merge-longhand@5.1.7: 1409 | resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} 1410 | engines: {node: ^10 || ^12 || >=14.0} 1411 | peerDependencies: 1412 | postcss: ^8.2.15 1413 | 1414 | postcss-merge-rules@5.1.4: 1415 | resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} 1416 | engines: {node: ^10 || ^12 || >=14.0} 1417 | peerDependencies: 1418 | postcss: ^8.2.15 1419 | 1420 | postcss-minify-font-values@5.1.0: 1421 | resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} 1422 | engines: {node: ^10 || ^12 || >=14.0} 1423 | peerDependencies: 1424 | postcss: ^8.2.15 1425 | 1426 | postcss-minify-gradients@5.1.1: 1427 | resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} 1428 | engines: {node: ^10 || ^12 || >=14.0} 1429 | peerDependencies: 1430 | postcss: ^8.2.15 1431 | 1432 | postcss-minify-params@5.1.4: 1433 | resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} 1434 | engines: {node: ^10 || ^12 || >=14.0} 1435 | peerDependencies: 1436 | postcss: ^8.2.15 1437 | 1438 | postcss-minify-selectors@5.2.1: 1439 | resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} 1440 | engines: {node: ^10 || ^12 || >=14.0} 1441 | peerDependencies: 1442 | postcss: ^8.2.15 1443 | 1444 | postcss-modules-extract-imports@3.1.0: 1445 | resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} 1446 | engines: {node: ^10 || ^12 || >= 14} 1447 | peerDependencies: 1448 | postcss: ^8.1.0 1449 | 1450 | postcss-modules-local-by-default@4.0.5: 1451 | resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} 1452 | engines: {node: ^10 || ^12 || >= 14} 1453 | peerDependencies: 1454 | postcss: ^8.1.0 1455 | 1456 | postcss-modules-scope@3.2.0: 1457 | resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} 1458 | engines: {node: ^10 || ^12 || >= 14} 1459 | peerDependencies: 1460 | postcss: ^8.1.0 1461 | 1462 | postcss-modules-values@4.0.0: 1463 | resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} 1464 | engines: {node: ^10 || ^12 || >= 14} 1465 | peerDependencies: 1466 | postcss: ^8.1.0 1467 | 1468 | postcss-normalize-charset@5.1.0: 1469 | resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} 1470 | engines: {node: ^10 || ^12 || >=14.0} 1471 | peerDependencies: 1472 | postcss: ^8.2.15 1473 | 1474 | postcss-normalize-display-values@5.1.0: 1475 | resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} 1476 | engines: {node: ^10 || ^12 || >=14.0} 1477 | peerDependencies: 1478 | postcss: ^8.2.15 1479 | 1480 | postcss-normalize-positions@5.1.1: 1481 | resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} 1482 | engines: {node: ^10 || ^12 || >=14.0} 1483 | peerDependencies: 1484 | postcss: ^8.2.15 1485 | 1486 | postcss-normalize-repeat-style@5.1.1: 1487 | resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} 1488 | engines: {node: ^10 || ^12 || >=14.0} 1489 | peerDependencies: 1490 | postcss: ^8.2.15 1491 | 1492 | postcss-normalize-string@5.1.0: 1493 | resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} 1494 | engines: {node: ^10 || ^12 || >=14.0} 1495 | peerDependencies: 1496 | postcss: ^8.2.15 1497 | 1498 | postcss-normalize-timing-functions@5.1.0: 1499 | resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} 1500 | engines: {node: ^10 || ^12 || >=14.0} 1501 | peerDependencies: 1502 | postcss: ^8.2.15 1503 | 1504 | postcss-normalize-unicode@5.1.1: 1505 | resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} 1506 | engines: {node: ^10 || ^12 || >=14.0} 1507 | peerDependencies: 1508 | postcss: ^8.2.15 1509 | 1510 | postcss-normalize-url@5.1.0: 1511 | resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} 1512 | engines: {node: ^10 || ^12 || >=14.0} 1513 | peerDependencies: 1514 | postcss: ^8.2.15 1515 | 1516 | postcss-normalize-whitespace@5.1.1: 1517 | resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} 1518 | engines: {node: ^10 || ^12 || >=14.0} 1519 | peerDependencies: 1520 | postcss: ^8.2.15 1521 | 1522 | postcss-ordered-values@5.1.3: 1523 | resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} 1524 | engines: {node: ^10 || ^12 || >=14.0} 1525 | peerDependencies: 1526 | postcss: ^8.2.15 1527 | 1528 | postcss-reduce-initial@5.1.2: 1529 | resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} 1530 | engines: {node: ^10 || ^12 || >=14.0} 1531 | peerDependencies: 1532 | postcss: ^8.2.15 1533 | 1534 | postcss-reduce-transforms@5.1.0: 1535 | resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} 1536 | engines: {node: ^10 || ^12 || >=14.0} 1537 | peerDependencies: 1538 | postcss: ^8.2.15 1539 | 1540 | postcss-selector-parser@6.0.16: 1541 | resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} 1542 | engines: {node: '>=4'} 1543 | 1544 | postcss-svgo@5.1.0: 1545 | resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} 1546 | engines: {node: ^10 || ^12 || >=14.0} 1547 | peerDependencies: 1548 | postcss: ^8.2.15 1549 | 1550 | postcss-unique-selectors@5.1.1: 1551 | resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} 1552 | engines: {node: ^10 || ^12 || >=14.0} 1553 | peerDependencies: 1554 | postcss: ^8.2.15 1555 | 1556 | postcss-value-parser@4.2.0: 1557 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 1558 | 1559 | postcss@8.4.38: 1560 | resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} 1561 | engines: {node: ^10 || ^12 || >=14} 1562 | 1563 | proxy-from-env@1.1.0: 1564 | resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} 1565 | 1566 | query-string@7.1.3: 1567 | resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} 1568 | engines: {node: '>=6'} 1569 | 1570 | randombytes@2.1.0: 1571 | resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} 1572 | 1573 | readable-stream@3.6.2: 1574 | resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} 1575 | engines: {node: '>= 6'} 1576 | 1577 | readdirp@3.6.0: 1578 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1579 | engines: {node: '>=8.10.0'} 1580 | 1581 | rechoir@0.8.0: 1582 | resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} 1583 | engines: {node: '>= 10.13.0'} 1584 | 1585 | resolve-from@4.0.0: 1586 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1587 | engines: {node: '>=4'} 1588 | 1589 | resolve-from@5.0.0: 1590 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 1591 | engines: {node: '>=8'} 1592 | 1593 | resolve@1.22.8: 1594 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 1595 | hasBin: true 1596 | 1597 | restore-cursor@3.1.0: 1598 | resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} 1599 | engines: {node: '>=8'} 1600 | 1601 | restore-cursor@4.0.0: 1602 | resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} 1603 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1604 | 1605 | rollup-plugin-esbuild@5.0.0: 1606 | resolution: {integrity: sha512-1cRIOHAPh8WQgdQQyyvFdeOdxuiyk+zB5zJ5+YOwrZP4cJ0MT3Fs48pQxrZeyZHcn+klFherytILVfE4aYrneg==} 1607 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 1608 | peerDependencies: 1609 | esbuild: '>=0.10.1' 1610 | rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 1611 | 1612 | rollup-plugin-styles@4.0.0: 1613 | resolution: {integrity: sha512-A2K2sao84OsTmDxXG83JTCdXWrmgvQkkI38XDat46rdtpGMRm9tSYqeCdlwwGDJF4kKIafhV1mUidqu8MxUGig==} 1614 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1615 | peerDependencies: 1616 | rollup: ^2.63.0 1617 | 1618 | rollup@3.29.4: 1619 | resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} 1620 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 1621 | hasBin: true 1622 | 1623 | run-async@3.0.0: 1624 | resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} 1625 | engines: {node: '>=0.12.0'} 1626 | 1627 | rxjs@7.8.1: 1628 | resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} 1629 | 1630 | safe-buffer@5.2.1: 1631 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1632 | 1633 | safer-buffer@2.1.2: 1634 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1635 | 1636 | sass-loader@14.1.1: 1637 | resolution: {integrity: sha512-QX8AasDg75monlybel38BZ49JP5Z+uSKfKwF2rO7S74BywaRmGQMUBw9dtkS+ekyM/QnP+NOrRYq8ABMZ9G8jw==} 1638 | engines: {node: '>= 18.12.0'} 1639 | peerDependencies: 1640 | '@rspack/core': 0.x || 1.x 1641 | node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 1642 | sass: ^1.3.0 1643 | sass-embedded: '*' 1644 | webpack: ^5.0.0 1645 | peerDependenciesMeta: 1646 | '@rspack/core': 1647 | optional: true 1648 | node-sass: 1649 | optional: true 1650 | sass: 1651 | optional: true 1652 | sass-embedded: 1653 | optional: true 1654 | webpack: 1655 | optional: true 1656 | 1657 | sass@1.74.1: 1658 | resolution: {integrity: sha512-w0Z9p/rWZWelb88ISOLyvqTWGmtmu2QJICqDBGyNnfG4OUnPX9BBjjYIXUpXCMOOg5MQWNpqzt876la1fsTvUA==} 1659 | engines: {node: '>=14.0.0'} 1660 | hasBin: true 1661 | 1662 | serialize-javascript@6.0.2: 1663 | resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} 1664 | 1665 | set-function-length@1.2.2: 1666 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 1667 | engines: {node: '>= 0.4'} 1668 | 1669 | shebang-command@2.0.0: 1670 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1671 | engines: {node: '>=8'} 1672 | 1673 | shebang-regex@3.0.0: 1674 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1675 | engines: {node: '>=8'} 1676 | 1677 | signal-exit@3.0.7: 1678 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 1679 | 1680 | smob@1.5.0: 1681 | resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} 1682 | 1683 | source-map-js@1.2.0: 1684 | resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} 1685 | engines: {node: '>=0.10.0'} 1686 | 1687 | source-map-support@0.5.21: 1688 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 1689 | 1690 | source-map@0.6.1: 1691 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1692 | engines: {node: '>=0.10.0'} 1693 | 1694 | split-on-first@1.1.0: 1695 | resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} 1696 | engines: {node: '>=6'} 1697 | 1698 | stable@0.1.8: 1699 | resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} 1700 | deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' 1701 | 1702 | stdin-discarder@0.1.0: 1703 | resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} 1704 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1705 | 1706 | strict-uri-encode@2.0.0: 1707 | resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} 1708 | engines: {node: '>=4'} 1709 | 1710 | string-width@4.2.3: 1711 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1712 | engines: {node: '>=8'} 1713 | 1714 | string_decoder@1.3.0: 1715 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 1716 | 1717 | strip-ansi@6.0.1: 1718 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1719 | engines: {node: '>=8'} 1720 | 1721 | strip-ansi@7.1.0: 1722 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1723 | engines: {node: '>=12'} 1724 | 1725 | strip-final-newline@3.0.0: 1726 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 1727 | engines: {node: '>=12'} 1728 | 1729 | stylehacks@5.1.1: 1730 | resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} 1731 | engines: {node: ^10 || ^12 || >=14.0} 1732 | peerDependencies: 1733 | postcss: ^8.2.15 1734 | 1735 | supports-color@5.5.0: 1736 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1737 | engines: {node: '>=4'} 1738 | 1739 | supports-color@7.2.0: 1740 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1741 | engines: {node: '>=8'} 1742 | 1743 | supports-preserve-symlinks-flag@1.0.0: 1744 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1745 | engines: {node: '>= 0.4'} 1746 | 1747 | svgo@2.8.0: 1748 | resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} 1749 | engines: {node: '>=10.13.0'} 1750 | hasBin: true 1751 | 1752 | tarn@3.0.2: 1753 | resolution: {integrity: sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==} 1754 | engines: {node: '>=8.0.0'} 1755 | 1756 | terser@5.30.3: 1757 | resolution: {integrity: sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==} 1758 | engines: {node: '>=10'} 1759 | hasBin: true 1760 | 1761 | tildify@2.0.0: 1762 | resolution: {integrity: sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==} 1763 | engines: {node: '>=8'} 1764 | 1765 | tmp@0.0.33: 1766 | resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} 1767 | engines: {node: '>=0.6.0'} 1768 | 1769 | to-fast-properties@2.0.0: 1770 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 1771 | engines: {node: '>=4'} 1772 | 1773 | to-regex-range@5.0.1: 1774 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1775 | engines: {node: '>=8.0'} 1776 | 1777 | tslib@2.6.2: 1778 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} 1779 | 1780 | type-fest@0.21.3: 1781 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 1782 | engines: {node: '>=10'} 1783 | 1784 | typescript@5.4.3: 1785 | resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} 1786 | engines: {node: '>=14.17'} 1787 | hasBin: true 1788 | 1789 | undici-types@5.26.5: 1790 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 1791 | 1792 | unhead@1.9.4: 1793 | resolution: {integrity: sha512-QVU0y3KowRu2cLjXxfemTKNohK4vdEwyahoszlEnRz0E5BTNRZQSs8AnommorGmVM7DvB2t4dwWadB51wDlPzw==} 1794 | 1795 | universalify@2.0.1: 1796 | resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} 1797 | engines: {node: '>= 10.0.0'} 1798 | 1799 | update-browserslist-db@1.0.13: 1800 | resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} 1801 | hasBin: true 1802 | peerDependencies: 1803 | browserslist: '>= 4.21.0' 1804 | 1805 | util-deprecate@1.0.2: 1806 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1807 | 1808 | vite@4.5.2: 1809 | resolution: {integrity: sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==} 1810 | engines: {node: ^14.18.0 || >=16.0.0} 1811 | hasBin: true 1812 | peerDependencies: 1813 | '@types/node': '>= 14' 1814 | less: '*' 1815 | lightningcss: ^1.21.0 1816 | sass: '*' 1817 | stylus: '*' 1818 | sugarss: '*' 1819 | terser: ^5.4.0 1820 | peerDependenciesMeta: 1821 | '@types/node': 1822 | optional: true 1823 | less: 1824 | optional: true 1825 | lightningcss: 1826 | optional: true 1827 | sass: 1828 | optional: true 1829 | stylus: 1830 | optional: true 1831 | sugarss: 1832 | optional: true 1833 | terser: 1834 | optional: true 1835 | 1836 | vue-demi@0.14.7: 1837 | resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} 1838 | engines: {node: '>=12'} 1839 | hasBin: true 1840 | peerDependencies: 1841 | '@vue/composition-api': ^1.0.0-rc.1 1842 | vue: ^3.0.0-0 || ^2.6.0 1843 | peerDependenciesMeta: 1844 | '@vue/composition-api': 1845 | optional: true 1846 | 1847 | vue@3.4.21: 1848 | resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} 1849 | peerDependencies: 1850 | typescript: '*' 1851 | peerDependenciesMeta: 1852 | typescript: 1853 | optional: true 1854 | 1855 | wcwidth@1.0.1: 1856 | resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} 1857 | 1858 | which@2.0.2: 1859 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1860 | engines: {node: '>= 8'} 1861 | hasBin: true 1862 | 1863 | wrap-ansi@6.2.0: 1864 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} 1865 | engines: {node: '>=8'} 1866 | 1867 | wrappy@1.0.2: 1868 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1869 | 1870 | yaml@1.10.2: 1871 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 1872 | engines: {node: '>= 6'} 1873 | 1874 | zhead@2.2.4: 1875 | resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==} 1876 | 1877 | zod@3.22.4: 1878 | resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} 1879 | 1880 | snapshots: 1881 | 1882 | '@babel/code-frame@7.24.2': 1883 | dependencies: 1884 | '@babel/highlight': 7.24.2 1885 | picocolors: 1.0.0 1886 | 1887 | '@babel/helper-string-parser@7.24.1': {} 1888 | 1889 | '@babel/helper-validator-identifier@7.22.20': {} 1890 | 1891 | '@babel/highlight@7.24.2': 1892 | dependencies: 1893 | '@babel/helper-validator-identifier': 7.22.20 1894 | chalk: 2.4.2 1895 | js-tokens: 4.0.0 1896 | picocolors: 1.0.0 1897 | 1898 | '@babel/parser@7.24.4': 1899 | dependencies: 1900 | '@babel/types': 7.24.0 1901 | 1902 | '@babel/types@7.24.0': 1903 | dependencies: 1904 | '@babel/helper-string-parser': 7.24.1 1905 | '@babel/helper-validator-identifier': 7.22.20 1906 | to-fast-properties: 2.0.0 1907 | 1908 | '@directus/composables@10.1.12(vue@3.4.21(typescript@5.4.3))': 1909 | dependencies: 1910 | '@directus/constants': 11.0.3 1911 | '@directus/utils': 11.0.7(vue@3.4.21(typescript@5.4.3)) 1912 | axios: 1.6.7 1913 | lodash-es: 4.17.21 1914 | nanoid: 5.0.6 1915 | vue: 3.4.21(typescript@5.4.3) 1916 | transitivePeerDependencies: 1917 | - debug 1918 | 1919 | '@directus/constants@11.0.3': {} 1920 | 1921 | '@directus/extensions-sdk@11.0.2(@types/node@20.12.4)(@unhead/vue@1.9.4(vue@3.4.21(typescript@5.4.3)))(knex@3.1.0)(pinia@2.1.7(typescript@5.4.3)(vue@3.4.21(typescript@5.4.3)))(sass@1.74.1)(terser@5.30.3)(typescript@5.4.3)': 1922 | dependencies: 1923 | '@directus/composables': 10.1.12(vue@3.4.21(typescript@5.4.3)) 1924 | '@directus/constants': 11.0.3 1925 | '@directus/extensions': 1.0.2(@unhead/vue@1.9.4(vue@3.4.21(typescript@5.4.3)))(knex@3.1.0)(pinia@2.1.7(typescript@5.4.3)(vue@3.4.21(typescript@5.4.3)))(vue@3.4.21(typescript@5.4.3)) 1926 | '@directus/themes': 0.3.6(@unhead/vue@1.9.4(vue@3.4.21(typescript@5.4.3)))(pinia@2.1.7(typescript@5.4.3)(vue@3.4.21(typescript@5.4.3)))(vue@3.4.21(typescript@5.4.3)) 1927 | '@directus/types': 11.0.8(knex@3.1.0)(vue@3.4.21(typescript@5.4.3)) 1928 | '@directus/utils': 11.0.7(vue@3.4.21(typescript@5.4.3)) 1929 | '@rollup/plugin-commonjs': 25.0.7(rollup@3.29.4) 1930 | '@rollup/plugin-json': 6.1.0(rollup@3.29.4) 1931 | '@rollup/plugin-node-resolve': 15.2.3(rollup@3.29.4) 1932 | '@rollup/plugin-replace': 5.0.5(rollup@3.29.4) 1933 | '@rollup/plugin-terser': 0.4.4(rollup@3.29.4) 1934 | '@rollup/plugin-virtual': 3.0.2(rollup@3.29.4) 1935 | '@vitejs/plugin-vue': 4.6.2(vite@4.5.2(@types/node@20.12.4)(sass@1.74.1)(terser@5.30.3))(vue@3.4.21(typescript@5.4.3)) 1936 | chalk: 5.3.0 1937 | commander: 10.0.1 1938 | esbuild: 0.17.19 1939 | execa: 7.2.0 1940 | fs-extra: 11.2.0 1941 | inquirer: 9.2.16 1942 | ora: 6.3.1 1943 | rollup: 3.29.4 1944 | rollup-plugin-esbuild: 5.0.0(esbuild@0.17.19)(rollup@3.29.4) 1945 | rollup-plugin-styles: 4.0.0(rollup@3.29.4) 1946 | vite: 4.5.2(@types/node@20.12.4)(sass@1.74.1)(terser@5.30.3) 1947 | vue: 3.4.21(typescript@5.4.3) 1948 | transitivePeerDependencies: 1949 | - '@types/node' 1950 | - '@unhead/vue' 1951 | - better-sqlite3 1952 | - debug 1953 | - knex 1954 | - less 1955 | - lightningcss 1956 | - mysql 1957 | - mysql2 1958 | - pg 1959 | - pg-native 1960 | - pinia 1961 | - pino 1962 | - sass 1963 | - sqlite3 1964 | - stylus 1965 | - sugarss 1966 | - supports-color 1967 | - tedious 1968 | - terser 1969 | - typescript 1970 | - vue-router 1971 | 1972 | '@directus/extensions@1.0.2(@unhead/vue@1.9.4(vue@3.4.21(typescript@5.4.3)))(knex@3.1.0)(pinia@2.1.7(typescript@5.4.3)(vue@3.4.21(typescript@5.4.3)))(vue@3.4.21(typescript@5.4.3))': 1973 | dependencies: 1974 | '@directus/constants': 11.0.3 1975 | '@directus/themes': 0.3.6(@unhead/vue@1.9.4(vue@3.4.21(typescript@5.4.3)))(pinia@2.1.7(typescript@5.4.3)(vue@3.4.21(typescript@5.4.3)))(vue@3.4.21(typescript@5.4.3)) 1976 | '@directus/types': 11.0.8(knex@3.1.0)(vue@3.4.21(typescript@5.4.3)) 1977 | '@directus/utils': 11.0.7(vue@3.4.21(typescript@5.4.3)) 1978 | '@types/express': 4.17.21 1979 | fs-extra: 11.2.0 1980 | lodash-es: 4.17.21 1981 | zod: 3.22.4 1982 | optionalDependencies: 1983 | knex: 3.1.0 1984 | vue: 3.4.21(typescript@5.4.3) 1985 | transitivePeerDependencies: 1986 | - '@unhead/vue' 1987 | - better-sqlite3 1988 | - mysql 1989 | - mysql2 1990 | - pg 1991 | - pg-native 1992 | - pinia 1993 | - sqlite3 1994 | - supports-color 1995 | - tedious 1996 | 1997 | '@directus/schema@11.0.1': 1998 | dependencies: 1999 | knex: 3.1.0 2000 | transitivePeerDependencies: 2001 | - better-sqlite3 2002 | - mysql 2003 | - mysql2 2004 | - pg 2005 | - pg-native 2006 | - sqlite3 2007 | - supports-color 2008 | - tedious 2009 | 2010 | '@directus/system-data@1.0.2': {} 2011 | 2012 | '@directus/themes@0.3.6(@unhead/vue@1.9.4(vue@3.4.21(typescript@5.4.3)))(pinia@2.1.7(typescript@5.4.3)(vue@3.4.21(typescript@5.4.3)))(vue@3.4.21(typescript@5.4.3))': 2013 | dependencies: 2014 | '@directus/utils': 11.0.7(vue@3.4.21(typescript@5.4.3)) 2015 | '@sinclair/typebox': 0.32.15 2016 | '@unhead/vue': 1.9.4(vue@3.4.21(typescript@5.4.3)) 2017 | decamelize: 6.0.0 2018 | flat: 6.0.1 2019 | lodash-es: 4.17.21 2020 | pinia: 2.1.7(typescript@5.4.3)(vue@3.4.21(typescript@5.4.3)) 2021 | vue: 3.4.21(typescript@5.4.3) 2022 | 2023 | '@directus/types@11.0.8(knex@3.1.0)(vue@3.4.21(typescript@5.4.3))': 2024 | dependencies: 2025 | '@directus/constants': 11.0.3 2026 | '@directus/schema': 11.0.1 2027 | '@types/geojson': 7946.0.14 2028 | optionalDependencies: 2029 | knex: 3.1.0 2030 | vue: 3.4.21(typescript@5.4.3) 2031 | transitivePeerDependencies: 2032 | - better-sqlite3 2033 | - mysql 2034 | - mysql2 2035 | - pg 2036 | - pg-native 2037 | - sqlite3 2038 | - supports-color 2039 | - tedious 2040 | 2041 | '@directus/utils@11.0.7(vue@3.4.21(typescript@5.4.3))': 2042 | dependencies: 2043 | '@directus/constants': 11.0.3 2044 | '@directus/system-data': 1.0.2 2045 | date-fns: 3.6.0 2046 | fs-extra: 11.2.0 2047 | joi: 17.12.2 2048 | js-yaml: 4.1.0 2049 | lodash-es: 4.17.21 2050 | micromustache: 8.0.3 2051 | optionalDependencies: 2052 | vue: 3.4.21(typescript@5.4.3) 2053 | 2054 | '@esbuild/android-arm64@0.17.19': 2055 | optional: true 2056 | 2057 | '@esbuild/android-arm64@0.18.20': 2058 | optional: true 2059 | 2060 | '@esbuild/android-arm@0.17.19': 2061 | optional: true 2062 | 2063 | '@esbuild/android-arm@0.18.20': 2064 | optional: true 2065 | 2066 | '@esbuild/android-x64@0.17.19': 2067 | optional: true 2068 | 2069 | '@esbuild/android-x64@0.18.20': 2070 | optional: true 2071 | 2072 | '@esbuild/darwin-arm64@0.17.19': 2073 | optional: true 2074 | 2075 | '@esbuild/darwin-arm64@0.18.20': 2076 | optional: true 2077 | 2078 | '@esbuild/darwin-x64@0.17.19': 2079 | optional: true 2080 | 2081 | '@esbuild/darwin-x64@0.18.20': 2082 | optional: true 2083 | 2084 | '@esbuild/freebsd-arm64@0.17.19': 2085 | optional: true 2086 | 2087 | '@esbuild/freebsd-arm64@0.18.20': 2088 | optional: true 2089 | 2090 | '@esbuild/freebsd-x64@0.17.19': 2091 | optional: true 2092 | 2093 | '@esbuild/freebsd-x64@0.18.20': 2094 | optional: true 2095 | 2096 | '@esbuild/linux-arm64@0.17.19': 2097 | optional: true 2098 | 2099 | '@esbuild/linux-arm64@0.18.20': 2100 | optional: true 2101 | 2102 | '@esbuild/linux-arm@0.17.19': 2103 | optional: true 2104 | 2105 | '@esbuild/linux-arm@0.18.20': 2106 | optional: true 2107 | 2108 | '@esbuild/linux-ia32@0.17.19': 2109 | optional: true 2110 | 2111 | '@esbuild/linux-ia32@0.18.20': 2112 | optional: true 2113 | 2114 | '@esbuild/linux-loong64@0.17.19': 2115 | optional: true 2116 | 2117 | '@esbuild/linux-loong64@0.18.20': 2118 | optional: true 2119 | 2120 | '@esbuild/linux-mips64el@0.17.19': 2121 | optional: true 2122 | 2123 | '@esbuild/linux-mips64el@0.18.20': 2124 | optional: true 2125 | 2126 | '@esbuild/linux-ppc64@0.17.19': 2127 | optional: true 2128 | 2129 | '@esbuild/linux-ppc64@0.18.20': 2130 | optional: true 2131 | 2132 | '@esbuild/linux-riscv64@0.17.19': 2133 | optional: true 2134 | 2135 | '@esbuild/linux-riscv64@0.18.20': 2136 | optional: true 2137 | 2138 | '@esbuild/linux-s390x@0.17.19': 2139 | optional: true 2140 | 2141 | '@esbuild/linux-s390x@0.18.20': 2142 | optional: true 2143 | 2144 | '@esbuild/linux-x64@0.17.19': 2145 | optional: true 2146 | 2147 | '@esbuild/linux-x64@0.18.20': 2148 | optional: true 2149 | 2150 | '@esbuild/netbsd-x64@0.17.19': 2151 | optional: true 2152 | 2153 | '@esbuild/netbsd-x64@0.18.20': 2154 | optional: true 2155 | 2156 | '@esbuild/openbsd-x64@0.17.19': 2157 | optional: true 2158 | 2159 | '@esbuild/openbsd-x64@0.18.20': 2160 | optional: true 2161 | 2162 | '@esbuild/sunos-x64@0.17.19': 2163 | optional: true 2164 | 2165 | '@esbuild/sunos-x64@0.18.20': 2166 | optional: true 2167 | 2168 | '@esbuild/win32-arm64@0.17.19': 2169 | optional: true 2170 | 2171 | '@esbuild/win32-arm64@0.18.20': 2172 | optional: true 2173 | 2174 | '@esbuild/win32-ia32@0.17.19': 2175 | optional: true 2176 | 2177 | '@esbuild/win32-ia32@0.18.20': 2178 | optional: true 2179 | 2180 | '@esbuild/win32-x64@0.17.19': 2181 | optional: true 2182 | 2183 | '@esbuild/win32-x64@0.18.20': 2184 | optional: true 2185 | 2186 | '@hapi/hoek@9.3.0': {} 2187 | 2188 | '@hapi/topo@5.1.0': 2189 | dependencies: 2190 | '@hapi/hoek': 9.3.0 2191 | 2192 | '@jridgewell/gen-mapping@0.3.5': 2193 | dependencies: 2194 | '@jridgewell/set-array': 1.2.1 2195 | '@jridgewell/sourcemap-codec': 1.4.15 2196 | '@jridgewell/trace-mapping': 0.3.25 2197 | 2198 | '@jridgewell/resolve-uri@3.1.2': {} 2199 | 2200 | '@jridgewell/set-array@1.2.1': {} 2201 | 2202 | '@jridgewell/source-map@0.3.6': 2203 | dependencies: 2204 | '@jridgewell/gen-mapping': 0.3.5 2205 | '@jridgewell/trace-mapping': 0.3.25 2206 | 2207 | '@jridgewell/sourcemap-codec@1.4.15': {} 2208 | 2209 | '@jridgewell/trace-mapping@0.3.25': 2210 | dependencies: 2211 | '@jridgewell/resolve-uri': 3.1.2 2212 | '@jridgewell/sourcemap-codec': 1.4.15 2213 | 2214 | '@ljharb/through@2.3.13': 2215 | dependencies: 2216 | call-bind: 1.0.7 2217 | 2218 | '@rollup/plugin-commonjs@25.0.7(rollup@3.29.4)': 2219 | dependencies: 2220 | '@rollup/pluginutils': 5.1.0(rollup@3.29.4) 2221 | commondir: 1.0.1 2222 | estree-walker: 2.0.2 2223 | glob: 8.1.0 2224 | is-reference: 1.2.1 2225 | magic-string: 0.30.9 2226 | optionalDependencies: 2227 | rollup: 3.29.4 2228 | 2229 | '@rollup/plugin-json@6.1.0(rollup@3.29.4)': 2230 | dependencies: 2231 | '@rollup/pluginutils': 5.1.0(rollup@3.29.4) 2232 | optionalDependencies: 2233 | rollup: 3.29.4 2234 | 2235 | '@rollup/plugin-node-resolve@15.2.3(rollup@3.29.4)': 2236 | dependencies: 2237 | '@rollup/pluginutils': 5.1.0(rollup@3.29.4) 2238 | '@types/resolve': 1.20.2 2239 | deepmerge: 4.3.1 2240 | is-builtin-module: 3.2.1 2241 | is-module: 1.0.0 2242 | resolve: 1.22.8 2243 | optionalDependencies: 2244 | rollup: 3.29.4 2245 | 2246 | '@rollup/plugin-replace@5.0.5(rollup@3.29.4)': 2247 | dependencies: 2248 | '@rollup/pluginutils': 5.1.0(rollup@3.29.4) 2249 | magic-string: 0.30.9 2250 | optionalDependencies: 2251 | rollup: 3.29.4 2252 | 2253 | '@rollup/plugin-terser@0.4.4(rollup@3.29.4)': 2254 | dependencies: 2255 | serialize-javascript: 6.0.2 2256 | smob: 1.5.0 2257 | terser: 5.30.3 2258 | optionalDependencies: 2259 | rollup: 3.29.4 2260 | 2261 | '@rollup/plugin-virtual@3.0.2(rollup@3.29.4)': 2262 | optionalDependencies: 2263 | rollup: 3.29.4 2264 | 2265 | '@rollup/pluginutils@4.2.1': 2266 | dependencies: 2267 | estree-walker: 2.0.2 2268 | picomatch: 2.3.1 2269 | 2270 | '@rollup/pluginutils@5.1.0(rollup@3.29.4)': 2271 | dependencies: 2272 | '@types/estree': 1.0.5 2273 | estree-walker: 2.0.2 2274 | picomatch: 2.3.1 2275 | optionalDependencies: 2276 | rollup: 3.29.4 2277 | 2278 | '@sideway/address@4.1.5': 2279 | dependencies: 2280 | '@hapi/hoek': 9.3.0 2281 | 2282 | '@sideway/formula@3.0.1': {} 2283 | 2284 | '@sideway/pinpoint@2.0.0': {} 2285 | 2286 | '@sinclair/typebox@0.32.15': {} 2287 | 2288 | '@trysound/sax@0.2.0': {} 2289 | 2290 | '@types/body-parser@1.19.5': 2291 | dependencies: 2292 | '@types/connect': 3.4.38 2293 | '@types/node': 20.12.4 2294 | 2295 | '@types/connect@3.4.38': 2296 | dependencies: 2297 | '@types/node': 20.12.4 2298 | 2299 | '@types/cssnano@5.1.0(postcss@8.4.38)': 2300 | dependencies: 2301 | cssnano: 5.1.15(postcss@8.4.38) 2302 | transitivePeerDependencies: 2303 | - postcss 2304 | 2305 | '@types/estree@1.0.5': {} 2306 | 2307 | '@types/express-serve-static-core@4.17.43': 2308 | dependencies: 2309 | '@types/node': 20.12.4 2310 | '@types/qs': 6.9.14 2311 | '@types/range-parser': 1.2.7 2312 | '@types/send': 0.17.4 2313 | 2314 | '@types/express@4.17.21': 2315 | dependencies: 2316 | '@types/body-parser': 1.19.5 2317 | '@types/express-serve-static-core': 4.17.43 2318 | '@types/qs': 6.9.14 2319 | '@types/serve-static': 1.15.7 2320 | 2321 | '@types/geojson@7946.0.14': {} 2322 | 2323 | '@types/http-errors@2.0.4': {} 2324 | 2325 | '@types/mime@1.3.5': {} 2326 | 2327 | '@types/node@20.12.4': 2328 | dependencies: 2329 | undici-types: 5.26.5 2330 | 2331 | '@types/parse-json@4.0.2': {} 2332 | 2333 | '@types/qs@6.9.14': {} 2334 | 2335 | '@types/range-parser@1.2.7': {} 2336 | 2337 | '@types/resolve@1.20.2': {} 2338 | 2339 | '@types/send@0.17.4': 2340 | dependencies: 2341 | '@types/mime': 1.3.5 2342 | '@types/node': 20.12.4 2343 | 2344 | '@types/serve-static@1.15.7': 2345 | dependencies: 2346 | '@types/http-errors': 2.0.4 2347 | '@types/node': 20.12.4 2348 | '@types/send': 0.17.4 2349 | 2350 | '@unhead/dom@1.9.4': 2351 | dependencies: 2352 | '@unhead/schema': 1.9.4 2353 | '@unhead/shared': 1.9.4 2354 | 2355 | '@unhead/schema@1.9.4': 2356 | dependencies: 2357 | hookable: 5.5.3 2358 | zhead: 2.2.4 2359 | 2360 | '@unhead/shared@1.9.4': 2361 | dependencies: 2362 | '@unhead/schema': 1.9.4 2363 | 2364 | '@unhead/vue@1.9.4(vue@3.4.21(typescript@5.4.3))': 2365 | dependencies: 2366 | '@unhead/schema': 1.9.4 2367 | '@unhead/shared': 1.9.4 2368 | hookable: 5.5.3 2369 | unhead: 1.9.4 2370 | vue: 3.4.21(typescript@5.4.3) 2371 | 2372 | '@vitejs/plugin-vue@4.6.2(vite@4.5.2(@types/node@20.12.4)(sass@1.74.1)(terser@5.30.3))(vue@3.4.21(typescript@5.4.3))': 2373 | dependencies: 2374 | vite: 4.5.2(@types/node@20.12.4)(sass@1.74.1)(terser@5.30.3) 2375 | vue: 3.4.21(typescript@5.4.3) 2376 | 2377 | '@vue/compiler-core@3.4.21': 2378 | dependencies: 2379 | '@babel/parser': 7.24.4 2380 | '@vue/shared': 3.4.21 2381 | entities: 4.5.0 2382 | estree-walker: 2.0.2 2383 | source-map-js: 1.2.0 2384 | 2385 | '@vue/compiler-dom@3.4.21': 2386 | dependencies: 2387 | '@vue/compiler-core': 3.4.21 2388 | '@vue/shared': 3.4.21 2389 | 2390 | '@vue/compiler-sfc@3.4.21': 2391 | dependencies: 2392 | '@babel/parser': 7.24.4 2393 | '@vue/compiler-core': 3.4.21 2394 | '@vue/compiler-dom': 3.4.21 2395 | '@vue/compiler-ssr': 3.4.21 2396 | '@vue/shared': 3.4.21 2397 | estree-walker: 2.0.2 2398 | magic-string: 0.30.9 2399 | postcss: 8.4.38 2400 | source-map-js: 1.2.0 2401 | 2402 | '@vue/compiler-ssr@3.4.21': 2403 | dependencies: 2404 | '@vue/compiler-dom': 3.4.21 2405 | '@vue/shared': 3.4.21 2406 | 2407 | '@vue/devtools-api@6.6.1': {} 2408 | 2409 | '@vue/reactivity@3.4.21': 2410 | dependencies: 2411 | '@vue/shared': 3.4.21 2412 | 2413 | '@vue/runtime-core@3.4.21': 2414 | dependencies: 2415 | '@vue/reactivity': 3.4.21 2416 | '@vue/shared': 3.4.21 2417 | 2418 | '@vue/runtime-dom@3.4.21': 2419 | dependencies: 2420 | '@vue/runtime-core': 3.4.21 2421 | '@vue/shared': 3.4.21 2422 | csstype: 3.1.3 2423 | 2424 | '@vue/server-renderer@3.4.21(vue@3.4.21(typescript@5.4.3))': 2425 | dependencies: 2426 | '@vue/compiler-ssr': 3.4.21 2427 | '@vue/shared': 3.4.21 2428 | vue: 3.4.21(typescript@5.4.3) 2429 | 2430 | '@vue/shared@3.4.21': {} 2431 | 2432 | acorn@8.11.3: {} 2433 | 2434 | ansi-escapes@4.3.2: 2435 | dependencies: 2436 | type-fest: 0.21.3 2437 | 2438 | ansi-regex@5.0.1: {} 2439 | 2440 | ansi-regex@6.0.1: {} 2441 | 2442 | ansi-styles@3.2.1: 2443 | dependencies: 2444 | color-convert: 1.9.3 2445 | 2446 | ansi-styles@4.3.0: 2447 | dependencies: 2448 | color-convert: 2.0.1 2449 | 2450 | anymatch@3.1.3: 2451 | dependencies: 2452 | normalize-path: 3.0.0 2453 | picomatch: 2.3.1 2454 | 2455 | argparse@2.0.1: {} 2456 | 2457 | asynckit@0.4.0: {} 2458 | 2459 | axios@1.6.7: 2460 | dependencies: 2461 | follow-redirects: 1.15.6 2462 | form-data: 4.0.0 2463 | proxy-from-env: 1.1.0 2464 | transitivePeerDependencies: 2465 | - debug 2466 | 2467 | balanced-match@1.0.2: {} 2468 | 2469 | base64-js@1.5.1: {} 2470 | 2471 | binary-extensions@2.3.0: {} 2472 | 2473 | bl@4.1.0: 2474 | dependencies: 2475 | buffer: 5.7.1 2476 | inherits: 2.0.4 2477 | readable-stream: 3.6.2 2478 | 2479 | bl@5.1.0: 2480 | dependencies: 2481 | buffer: 6.0.3 2482 | inherits: 2.0.4 2483 | readable-stream: 3.6.2 2484 | 2485 | boolbase@1.0.0: {} 2486 | 2487 | brace-expansion@2.0.1: 2488 | dependencies: 2489 | balanced-match: 1.0.2 2490 | 2491 | braces@3.0.3: 2492 | dependencies: 2493 | fill-range: 7.1.1 2494 | 2495 | browserslist@4.23.0: 2496 | dependencies: 2497 | caniuse-lite: 1.0.30001605 2498 | electron-to-chromium: 1.4.726 2499 | node-releases: 2.0.14 2500 | update-browserslist-db: 1.0.13(browserslist@4.23.0) 2501 | 2502 | buffer-from@1.1.2: {} 2503 | 2504 | buffer@5.7.1: 2505 | dependencies: 2506 | base64-js: 1.5.1 2507 | ieee754: 1.2.1 2508 | 2509 | buffer@6.0.3: 2510 | dependencies: 2511 | base64-js: 1.5.1 2512 | ieee754: 1.2.1 2513 | 2514 | builtin-modules@3.3.0: {} 2515 | 2516 | call-bind@1.0.7: 2517 | dependencies: 2518 | es-define-property: 1.0.0 2519 | es-errors: 1.3.0 2520 | function-bind: 1.1.2 2521 | get-intrinsic: 1.2.4 2522 | set-function-length: 1.2.2 2523 | 2524 | callsites@3.1.0: {} 2525 | 2526 | caniuse-api@3.0.0: 2527 | dependencies: 2528 | browserslist: 4.23.0 2529 | caniuse-lite: 1.0.30001605 2530 | lodash.memoize: 4.1.2 2531 | lodash.uniq: 4.5.0 2532 | 2533 | caniuse-lite@1.0.30001605: {} 2534 | 2535 | chalk@2.4.2: 2536 | dependencies: 2537 | ansi-styles: 3.2.1 2538 | escape-string-regexp: 1.0.5 2539 | supports-color: 5.5.0 2540 | 2541 | chalk@4.1.2: 2542 | dependencies: 2543 | ansi-styles: 4.3.0 2544 | supports-color: 7.2.0 2545 | 2546 | chalk@5.3.0: {} 2547 | 2548 | chardet@0.7.0: {} 2549 | 2550 | chokidar@3.6.0: 2551 | dependencies: 2552 | anymatch: 3.1.3 2553 | braces: 3.0.3 2554 | glob-parent: 5.1.2 2555 | is-binary-path: 2.1.0 2556 | is-glob: 4.0.3 2557 | normalize-path: 3.0.0 2558 | readdirp: 3.6.0 2559 | optionalDependencies: 2560 | fsevents: 2.3.3 2561 | 2562 | cli-cursor@3.1.0: 2563 | dependencies: 2564 | restore-cursor: 3.1.0 2565 | 2566 | cli-cursor@4.0.0: 2567 | dependencies: 2568 | restore-cursor: 4.0.0 2569 | 2570 | cli-spinners@2.9.2: {} 2571 | 2572 | cli-width@4.1.0: {} 2573 | 2574 | clone@1.0.4: {} 2575 | 2576 | color-convert@1.9.3: 2577 | dependencies: 2578 | color-name: 1.1.3 2579 | 2580 | color-convert@2.0.1: 2581 | dependencies: 2582 | color-name: 1.1.4 2583 | 2584 | color-name@1.1.3: {} 2585 | 2586 | color-name@1.1.4: {} 2587 | 2588 | colord@2.9.3: {} 2589 | 2590 | colorette@2.0.19: {} 2591 | 2592 | combined-stream@1.0.8: 2593 | dependencies: 2594 | delayed-stream: 1.0.0 2595 | 2596 | commander@10.0.1: {} 2597 | 2598 | commander@2.20.3: {} 2599 | 2600 | commander@7.2.0: {} 2601 | 2602 | commondir@1.0.1: {} 2603 | 2604 | cosmiconfig@7.1.0: 2605 | dependencies: 2606 | '@types/parse-json': 4.0.2 2607 | import-fresh: 3.3.0 2608 | parse-json: 5.2.0 2609 | path-type: 4.0.0 2610 | yaml: 1.10.2 2611 | 2612 | cross-spawn@7.0.3: 2613 | dependencies: 2614 | path-key: 3.1.1 2615 | shebang-command: 2.0.0 2616 | which: 2.0.2 2617 | 2618 | css-declaration-sorter@6.4.1(postcss@8.4.38): 2619 | dependencies: 2620 | postcss: 8.4.38 2621 | 2622 | css-select@4.3.0: 2623 | dependencies: 2624 | boolbase: 1.0.0 2625 | css-what: 6.1.0 2626 | domhandler: 4.3.1 2627 | domutils: 2.8.0 2628 | nth-check: 2.1.1 2629 | 2630 | css-tree@1.1.3: 2631 | dependencies: 2632 | mdn-data: 2.0.14 2633 | source-map: 0.6.1 2634 | 2635 | css-what@6.1.0: {} 2636 | 2637 | cssesc@3.0.0: {} 2638 | 2639 | cssnano-preset-default@5.2.14(postcss@8.4.38): 2640 | dependencies: 2641 | css-declaration-sorter: 6.4.1(postcss@8.4.38) 2642 | cssnano-utils: 3.1.0(postcss@8.4.38) 2643 | postcss: 8.4.38 2644 | postcss-calc: 8.2.4(postcss@8.4.38) 2645 | postcss-colormin: 5.3.1(postcss@8.4.38) 2646 | postcss-convert-values: 5.1.3(postcss@8.4.38) 2647 | postcss-discard-comments: 5.1.2(postcss@8.4.38) 2648 | postcss-discard-duplicates: 5.1.0(postcss@8.4.38) 2649 | postcss-discard-empty: 5.1.1(postcss@8.4.38) 2650 | postcss-discard-overridden: 5.1.0(postcss@8.4.38) 2651 | postcss-merge-longhand: 5.1.7(postcss@8.4.38) 2652 | postcss-merge-rules: 5.1.4(postcss@8.4.38) 2653 | postcss-minify-font-values: 5.1.0(postcss@8.4.38) 2654 | postcss-minify-gradients: 5.1.1(postcss@8.4.38) 2655 | postcss-minify-params: 5.1.4(postcss@8.4.38) 2656 | postcss-minify-selectors: 5.2.1(postcss@8.4.38) 2657 | postcss-normalize-charset: 5.1.0(postcss@8.4.38) 2658 | postcss-normalize-display-values: 5.1.0(postcss@8.4.38) 2659 | postcss-normalize-positions: 5.1.1(postcss@8.4.38) 2660 | postcss-normalize-repeat-style: 5.1.1(postcss@8.4.38) 2661 | postcss-normalize-string: 5.1.0(postcss@8.4.38) 2662 | postcss-normalize-timing-functions: 5.1.0(postcss@8.4.38) 2663 | postcss-normalize-unicode: 5.1.1(postcss@8.4.38) 2664 | postcss-normalize-url: 5.1.0(postcss@8.4.38) 2665 | postcss-normalize-whitespace: 5.1.1(postcss@8.4.38) 2666 | postcss-ordered-values: 5.1.3(postcss@8.4.38) 2667 | postcss-reduce-initial: 5.1.2(postcss@8.4.38) 2668 | postcss-reduce-transforms: 5.1.0(postcss@8.4.38) 2669 | postcss-svgo: 5.1.0(postcss@8.4.38) 2670 | postcss-unique-selectors: 5.1.1(postcss@8.4.38) 2671 | 2672 | cssnano-utils@3.1.0(postcss@8.4.38): 2673 | dependencies: 2674 | postcss: 8.4.38 2675 | 2676 | cssnano@5.1.15(postcss@8.4.38): 2677 | dependencies: 2678 | cssnano-preset-default: 5.2.14(postcss@8.4.38) 2679 | lilconfig: 2.1.0 2680 | postcss: 8.4.38 2681 | yaml: 1.10.2 2682 | 2683 | csso@4.2.0: 2684 | dependencies: 2685 | css-tree: 1.1.3 2686 | 2687 | csstype@3.1.3: {} 2688 | 2689 | date-fns@3.6.0: {} 2690 | 2691 | debug@4.3.4: 2692 | dependencies: 2693 | ms: 2.1.2 2694 | 2695 | decamelize@6.0.0: {} 2696 | 2697 | decode-uri-component@0.2.2: {} 2698 | 2699 | deepmerge@4.3.1: {} 2700 | 2701 | defaults@1.0.4: 2702 | dependencies: 2703 | clone: 1.0.4 2704 | 2705 | define-data-property@1.1.4: 2706 | dependencies: 2707 | es-define-property: 1.0.0 2708 | es-errors: 1.3.0 2709 | gopd: 1.0.1 2710 | 2711 | delayed-stream@1.0.0: {} 2712 | 2713 | dom-serializer@1.4.1: 2714 | dependencies: 2715 | domelementtype: 2.3.0 2716 | domhandler: 4.3.1 2717 | entities: 2.2.0 2718 | 2719 | domelementtype@2.3.0: {} 2720 | 2721 | domhandler@4.3.1: 2722 | dependencies: 2723 | domelementtype: 2.3.0 2724 | 2725 | domutils@2.8.0: 2726 | dependencies: 2727 | dom-serializer: 1.4.1 2728 | domelementtype: 2.3.0 2729 | domhandler: 4.3.1 2730 | 2731 | electron-to-chromium@1.4.726: {} 2732 | 2733 | emoji-regex@8.0.0: {} 2734 | 2735 | entities@2.2.0: {} 2736 | 2737 | entities@4.5.0: {} 2738 | 2739 | error-ex@1.3.2: 2740 | dependencies: 2741 | is-arrayish: 0.2.1 2742 | 2743 | es-define-property@1.0.0: 2744 | dependencies: 2745 | get-intrinsic: 1.2.4 2746 | 2747 | es-errors@1.3.0: {} 2748 | 2749 | es-module-lexer@1.5.0: {} 2750 | 2751 | esbuild@0.17.19: 2752 | optionalDependencies: 2753 | '@esbuild/android-arm': 0.17.19 2754 | '@esbuild/android-arm64': 0.17.19 2755 | '@esbuild/android-x64': 0.17.19 2756 | '@esbuild/darwin-arm64': 0.17.19 2757 | '@esbuild/darwin-x64': 0.17.19 2758 | '@esbuild/freebsd-arm64': 0.17.19 2759 | '@esbuild/freebsd-x64': 0.17.19 2760 | '@esbuild/linux-arm': 0.17.19 2761 | '@esbuild/linux-arm64': 0.17.19 2762 | '@esbuild/linux-ia32': 0.17.19 2763 | '@esbuild/linux-loong64': 0.17.19 2764 | '@esbuild/linux-mips64el': 0.17.19 2765 | '@esbuild/linux-ppc64': 0.17.19 2766 | '@esbuild/linux-riscv64': 0.17.19 2767 | '@esbuild/linux-s390x': 0.17.19 2768 | '@esbuild/linux-x64': 0.17.19 2769 | '@esbuild/netbsd-x64': 0.17.19 2770 | '@esbuild/openbsd-x64': 0.17.19 2771 | '@esbuild/sunos-x64': 0.17.19 2772 | '@esbuild/win32-arm64': 0.17.19 2773 | '@esbuild/win32-ia32': 0.17.19 2774 | '@esbuild/win32-x64': 0.17.19 2775 | 2776 | esbuild@0.18.20: 2777 | optionalDependencies: 2778 | '@esbuild/android-arm': 0.18.20 2779 | '@esbuild/android-arm64': 0.18.20 2780 | '@esbuild/android-x64': 0.18.20 2781 | '@esbuild/darwin-arm64': 0.18.20 2782 | '@esbuild/darwin-x64': 0.18.20 2783 | '@esbuild/freebsd-arm64': 0.18.20 2784 | '@esbuild/freebsd-x64': 0.18.20 2785 | '@esbuild/linux-arm': 0.18.20 2786 | '@esbuild/linux-arm64': 0.18.20 2787 | '@esbuild/linux-ia32': 0.18.20 2788 | '@esbuild/linux-loong64': 0.18.20 2789 | '@esbuild/linux-mips64el': 0.18.20 2790 | '@esbuild/linux-ppc64': 0.18.20 2791 | '@esbuild/linux-riscv64': 0.18.20 2792 | '@esbuild/linux-s390x': 0.18.20 2793 | '@esbuild/linux-x64': 0.18.20 2794 | '@esbuild/netbsd-x64': 0.18.20 2795 | '@esbuild/openbsd-x64': 0.18.20 2796 | '@esbuild/sunos-x64': 0.18.20 2797 | '@esbuild/win32-arm64': 0.18.20 2798 | '@esbuild/win32-ia32': 0.18.20 2799 | '@esbuild/win32-x64': 0.18.20 2800 | 2801 | escalade@3.1.2: {} 2802 | 2803 | escape-string-regexp@1.0.5: {} 2804 | 2805 | esm@3.2.25: {} 2806 | 2807 | estree-walker@2.0.2: {} 2808 | 2809 | eventemitter3@4.0.7: {} 2810 | 2811 | execa@7.2.0: 2812 | dependencies: 2813 | cross-spawn: 7.0.3 2814 | get-stream: 6.0.1 2815 | human-signals: 4.3.1 2816 | is-stream: 3.0.0 2817 | merge-stream: 2.0.0 2818 | npm-run-path: 5.3.0 2819 | onetime: 6.0.0 2820 | signal-exit: 3.0.7 2821 | strip-final-newline: 3.0.0 2822 | 2823 | external-editor@3.1.0: 2824 | dependencies: 2825 | chardet: 0.7.0 2826 | iconv-lite: 0.4.24 2827 | tmp: 0.0.33 2828 | 2829 | figures@3.2.0: 2830 | dependencies: 2831 | escape-string-regexp: 1.0.5 2832 | 2833 | fill-range@7.1.1: 2834 | dependencies: 2835 | to-regex-range: 5.0.1 2836 | 2837 | filter-obj@1.1.0: {} 2838 | 2839 | flat@6.0.1: {} 2840 | 2841 | follow-redirects@1.15.6: {} 2842 | 2843 | form-data@4.0.0: 2844 | dependencies: 2845 | asynckit: 0.4.0 2846 | combined-stream: 1.0.8 2847 | mime-types: 2.1.35 2848 | 2849 | fs-extra@10.1.0: 2850 | dependencies: 2851 | graceful-fs: 4.2.11 2852 | jsonfile: 6.1.0 2853 | universalify: 2.0.1 2854 | 2855 | fs-extra@11.2.0: 2856 | dependencies: 2857 | graceful-fs: 4.2.11 2858 | jsonfile: 6.1.0 2859 | universalify: 2.0.1 2860 | 2861 | fs.realpath@1.0.0: {} 2862 | 2863 | fsevents@2.3.3: 2864 | optional: true 2865 | 2866 | function-bind@1.1.2: {} 2867 | 2868 | get-intrinsic@1.2.4: 2869 | dependencies: 2870 | es-errors: 1.3.0 2871 | function-bind: 1.1.2 2872 | has-proto: 1.0.3 2873 | has-symbols: 1.0.3 2874 | hasown: 2.0.2 2875 | 2876 | get-package-type@0.1.0: {} 2877 | 2878 | get-stream@6.0.1: {} 2879 | 2880 | getopts@2.3.0: {} 2881 | 2882 | glob-parent@5.1.2: 2883 | dependencies: 2884 | is-glob: 4.0.3 2885 | 2886 | glob@8.1.0: 2887 | dependencies: 2888 | fs.realpath: 1.0.0 2889 | inflight: 1.0.6 2890 | inherits: 2.0.4 2891 | minimatch: 5.1.6 2892 | once: 1.4.0 2893 | 2894 | gopd@1.0.1: 2895 | dependencies: 2896 | get-intrinsic: 1.2.4 2897 | 2898 | graceful-fs@4.2.11: {} 2899 | 2900 | has-flag@3.0.0: {} 2901 | 2902 | has-flag@4.0.0: {} 2903 | 2904 | has-property-descriptors@1.0.2: 2905 | dependencies: 2906 | es-define-property: 1.0.0 2907 | 2908 | has-proto@1.0.3: {} 2909 | 2910 | has-symbols@1.0.3: {} 2911 | 2912 | hasown@2.0.2: 2913 | dependencies: 2914 | function-bind: 1.1.2 2915 | 2916 | hookable@5.5.3: {} 2917 | 2918 | human-signals@4.3.1: {} 2919 | 2920 | iconv-lite@0.4.24: 2921 | dependencies: 2922 | safer-buffer: 2.1.2 2923 | 2924 | icss-utils@5.1.0(postcss@8.4.38): 2925 | dependencies: 2926 | postcss: 8.4.38 2927 | 2928 | ieee754@1.2.1: {} 2929 | 2930 | immutable@4.3.5: {} 2931 | 2932 | import-fresh@3.3.0: 2933 | dependencies: 2934 | parent-module: 1.0.1 2935 | resolve-from: 4.0.0 2936 | 2937 | inflight@1.0.6: 2938 | dependencies: 2939 | once: 1.4.0 2940 | wrappy: 1.0.2 2941 | 2942 | inherits@2.0.4: {} 2943 | 2944 | inquirer@9.2.16: 2945 | dependencies: 2946 | '@ljharb/through': 2.3.13 2947 | ansi-escapes: 4.3.2 2948 | chalk: 5.3.0 2949 | cli-cursor: 3.1.0 2950 | cli-width: 4.1.0 2951 | external-editor: 3.1.0 2952 | figures: 3.2.0 2953 | lodash: 4.17.21 2954 | mute-stream: 1.0.0 2955 | ora: 5.4.1 2956 | run-async: 3.0.0 2957 | rxjs: 7.8.1 2958 | string-width: 4.2.3 2959 | strip-ansi: 6.0.1 2960 | wrap-ansi: 6.2.0 2961 | 2962 | interpret@2.2.0: {} 2963 | 2964 | is-arrayish@0.2.1: {} 2965 | 2966 | is-binary-path@2.1.0: 2967 | dependencies: 2968 | binary-extensions: 2.3.0 2969 | 2970 | is-builtin-module@3.2.1: 2971 | dependencies: 2972 | builtin-modules: 3.3.0 2973 | 2974 | is-core-module@2.13.1: 2975 | dependencies: 2976 | hasown: 2.0.2 2977 | 2978 | is-extglob@2.1.1: {} 2979 | 2980 | is-fullwidth-code-point@3.0.0: {} 2981 | 2982 | is-glob@4.0.3: 2983 | dependencies: 2984 | is-extglob: 2.1.1 2985 | 2986 | is-interactive@1.0.0: {} 2987 | 2988 | is-interactive@2.0.0: {} 2989 | 2990 | is-module@1.0.0: {} 2991 | 2992 | is-number@7.0.0: {} 2993 | 2994 | is-reference@1.2.1: 2995 | dependencies: 2996 | '@types/estree': 1.0.5 2997 | 2998 | is-stream@3.0.0: {} 2999 | 3000 | is-unicode-supported@0.1.0: {} 3001 | 3002 | is-unicode-supported@1.3.0: {} 3003 | 3004 | isexe@2.0.0: {} 3005 | 3006 | joi@17.12.2: 3007 | dependencies: 3008 | '@hapi/hoek': 9.3.0 3009 | '@hapi/topo': 5.1.0 3010 | '@sideway/address': 4.1.5 3011 | '@sideway/formula': 3.0.1 3012 | '@sideway/pinpoint': 2.0.0 3013 | 3014 | joycon@3.1.1: {} 3015 | 3016 | js-tokens@4.0.0: {} 3017 | 3018 | js-yaml@4.1.0: 3019 | dependencies: 3020 | argparse: 2.0.1 3021 | 3022 | json-parse-even-better-errors@2.3.1: {} 3023 | 3024 | jsonc-parser@3.2.1: {} 3025 | 3026 | jsonfile@6.1.0: 3027 | dependencies: 3028 | universalify: 2.0.1 3029 | optionalDependencies: 3030 | graceful-fs: 4.2.11 3031 | 3032 | knex@3.1.0: 3033 | dependencies: 3034 | colorette: 2.0.19 3035 | commander: 10.0.1 3036 | debug: 4.3.4 3037 | escalade: 3.1.2 3038 | esm: 3.2.25 3039 | get-package-type: 0.1.0 3040 | getopts: 2.3.0 3041 | interpret: 2.2.0 3042 | lodash: 4.17.21 3043 | pg-connection-string: 2.6.2 3044 | rechoir: 0.8.0 3045 | resolve-from: 5.0.0 3046 | tarn: 3.0.2 3047 | tildify: 2.0.0 3048 | transitivePeerDependencies: 3049 | - supports-color 3050 | 3051 | lilconfig@2.1.0: {} 3052 | 3053 | lines-and-columns@1.2.4: {} 3054 | 3055 | lodash-es@4.17.21: {} 3056 | 3057 | lodash.memoize@4.1.2: {} 3058 | 3059 | lodash.uniq@4.5.0: {} 3060 | 3061 | lodash@4.17.21: {} 3062 | 3063 | log-symbols@4.1.0: 3064 | dependencies: 3065 | chalk: 4.1.2 3066 | is-unicode-supported: 0.1.0 3067 | 3068 | log-symbols@5.1.0: 3069 | dependencies: 3070 | chalk: 5.3.0 3071 | is-unicode-supported: 1.3.0 3072 | 3073 | magic-string@0.30.9: 3074 | dependencies: 3075 | '@jridgewell/sourcemap-codec': 1.4.15 3076 | 3077 | mdn-data@2.0.14: {} 3078 | 3079 | merge-stream@2.0.0: {} 3080 | 3081 | micromustache@8.0.3: {} 3082 | 3083 | mime-db@1.52.0: {} 3084 | 3085 | mime-types@2.1.35: 3086 | dependencies: 3087 | mime-db: 1.52.0 3088 | 3089 | mimic-fn@2.1.0: {} 3090 | 3091 | mimic-fn@4.0.0: {} 3092 | 3093 | minimatch@5.1.6: 3094 | dependencies: 3095 | brace-expansion: 2.0.1 3096 | 3097 | ms@2.1.2: {} 3098 | 3099 | mute-stream@1.0.0: {} 3100 | 3101 | nanoid@3.3.7: {} 3102 | 3103 | nanoid@5.0.6: {} 3104 | 3105 | neo-async@2.6.2: {} 3106 | 3107 | node-releases@2.0.14: {} 3108 | 3109 | normalize-path@3.0.0: {} 3110 | 3111 | normalize-url@6.1.0: {} 3112 | 3113 | npm-run-path@5.3.0: 3114 | dependencies: 3115 | path-key: 4.0.0 3116 | 3117 | nth-check@2.1.1: 3118 | dependencies: 3119 | boolbase: 1.0.0 3120 | 3121 | once@1.4.0: 3122 | dependencies: 3123 | wrappy: 1.0.2 3124 | 3125 | onetime@5.1.2: 3126 | dependencies: 3127 | mimic-fn: 2.1.0 3128 | 3129 | onetime@6.0.0: 3130 | dependencies: 3131 | mimic-fn: 4.0.0 3132 | 3133 | ora@5.4.1: 3134 | dependencies: 3135 | bl: 4.1.0 3136 | chalk: 4.1.2 3137 | cli-cursor: 3.1.0 3138 | cli-spinners: 2.9.2 3139 | is-interactive: 1.0.0 3140 | is-unicode-supported: 0.1.0 3141 | log-symbols: 4.1.0 3142 | strip-ansi: 6.0.1 3143 | wcwidth: 1.0.1 3144 | 3145 | ora@6.3.1: 3146 | dependencies: 3147 | chalk: 5.3.0 3148 | cli-cursor: 4.0.0 3149 | cli-spinners: 2.9.2 3150 | is-interactive: 2.0.0 3151 | is-unicode-supported: 1.3.0 3152 | log-symbols: 5.1.0 3153 | stdin-discarder: 0.1.0 3154 | strip-ansi: 7.1.0 3155 | wcwidth: 1.0.1 3156 | 3157 | os-tmpdir@1.0.2: {} 3158 | 3159 | p-finally@1.0.0: {} 3160 | 3161 | p-queue@6.6.2: 3162 | dependencies: 3163 | eventemitter3: 4.0.7 3164 | p-timeout: 3.2.0 3165 | 3166 | p-timeout@3.2.0: 3167 | dependencies: 3168 | p-finally: 1.0.0 3169 | 3170 | parent-module@1.0.1: 3171 | dependencies: 3172 | callsites: 3.1.0 3173 | 3174 | parse-json@5.2.0: 3175 | dependencies: 3176 | '@babel/code-frame': 7.24.2 3177 | error-ex: 1.3.2 3178 | json-parse-even-better-errors: 2.3.1 3179 | lines-and-columns: 1.2.4 3180 | 3181 | path-key@3.1.1: {} 3182 | 3183 | path-key@4.0.0: {} 3184 | 3185 | path-parse@1.0.7: {} 3186 | 3187 | path-type@4.0.0: {} 3188 | 3189 | pg-connection-string@2.6.2: {} 3190 | 3191 | picocolors@1.0.0: {} 3192 | 3193 | picomatch@2.3.1: {} 3194 | 3195 | pinia@2.1.7(typescript@5.4.3)(vue@3.4.21(typescript@5.4.3)): 3196 | dependencies: 3197 | '@vue/devtools-api': 6.6.1 3198 | vue: 3.4.21(typescript@5.4.3) 3199 | vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.3)) 3200 | optionalDependencies: 3201 | typescript: 5.4.3 3202 | 3203 | postcss-calc@8.2.4(postcss@8.4.38): 3204 | dependencies: 3205 | postcss: 8.4.38 3206 | postcss-selector-parser: 6.0.16 3207 | postcss-value-parser: 4.2.0 3208 | 3209 | postcss-colormin@5.3.1(postcss@8.4.38): 3210 | dependencies: 3211 | browserslist: 4.23.0 3212 | caniuse-api: 3.0.0 3213 | colord: 2.9.3 3214 | postcss: 8.4.38 3215 | postcss-value-parser: 4.2.0 3216 | 3217 | postcss-convert-values@5.1.3(postcss@8.4.38): 3218 | dependencies: 3219 | browserslist: 4.23.0 3220 | postcss: 8.4.38 3221 | postcss-value-parser: 4.2.0 3222 | 3223 | postcss-discard-comments@5.1.2(postcss@8.4.38): 3224 | dependencies: 3225 | postcss: 8.4.38 3226 | 3227 | postcss-discard-duplicates@5.1.0(postcss@8.4.38): 3228 | dependencies: 3229 | postcss: 8.4.38 3230 | 3231 | postcss-discard-empty@5.1.1(postcss@8.4.38): 3232 | dependencies: 3233 | postcss: 8.4.38 3234 | 3235 | postcss-discard-overridden@5.1.0(postcss@8.4.38): 3236 | dependencies: 3237 | postcss: 8.4.38 3238 | 3239 | postcss-merge-longhand@5.1.7(postcss@8.4.38): 3240 | dependencies: 3241 | postcss: 8.4.38 3242 | postcss-value-parser: 4.2.0 3243 | stylehacks: 5.1.1(postcss@8.4.38) 3244 | 3245 | postcss-merge-rules@5.1.4(postcss@8.4.38): 3246 | dependencies: 3247 | browserslist: 4.23.0 3248 | caniuse-api: 3.0.0 3249 | cssnano-utils: 3.1.0(postcss@8.4.38) 3250 | postcss: 8.4.38 3251 | postcss-selector-parser: 6.0.16 3252 | 3253 | postcss-minify-font-values@5.1.0(postcss@8.4.38): 3254 | dependencies: 3255 | postcss: 8.4.38 3256 | postcss-value-parser: 4.2.0 3257 | 3258 | postcss-minify-gradients@5.1.1(postcss@8.4.38): 3259 | dependencies: 3260 | colord: 2.9.3 3261 | cssnano-utils: 3.1.0(postcss@8.4.38) 3262 | postcss: 8.4.38 3263 | postcss-value-parser: 4.2.0 3264 | 3265 | postcss-minify-params@5.1.4(postcss@8.4.38): 3266 | dependencies: 3267 | browserslist: 4.23.0 3268 | cssnano-utils: 3.1.0(postcss@8.4.38) 3269 | postcss: 8.4.38 3270 | postcss-value-parser: 4.2.0 3271 | 3272 | postcss-minify-selectors@5.2.1(postcss@8.4.38): 3273 | dependencies: 3274 | postcss: 8.4.38 3275 | postcss-selector-parser: 6.0.16 3276 | 3277 | postcss-modules-extract-imports@3.1.0(postcss@8.4.38): 3278 | dependencies: 3279 | postcss: 8.4.38 3280 | 3281 | postcss-modules-local-by-default@4.0.5(postcss@8.4.38): 3282 | dependencies: 3283 | icss-utils: 5.1.0(postcss@8.4.38) 3284 | postcss: 8.4.38 3285 | postcss-selector-parser: 6.0.16 3286 | postcss-value-parser: 4.2.0 3287 | 3288 | postcss-modules-scope@3.2.0(postcss@8.4.38): 3289 | dependencies: 3290 | postcss: 8.4.38 3291 | postcss-selector-parser: 6.0.16 3292 | 3293 | postcss-modules-values@4.0.0(postcss@8.4.38): 3294 | dependencies: 3295 | icss-utils: 5.1.0(postcss@8.4.38) 3296 | postcss: 8.4.38 3297 | 3298 | postcss-normalize-charset@5.1.0(postcss@8.4.38): 3299 | dependencies: 3300 | postcss: 8.4.38 3301 | 3302 | postcss-normalize-display-values@5.1.0(postcss@8.4.38): 3303 | dependencies: 3304 | postcss: 8.4.38 3305 | postcss-value-parser: 4.2.0 3306 | 3307 | postcss-normalize-positions@5.1.1(postcss@8.4.38): 3308 | dependencies: 3309 | postcss: 8.4.38 3310 | postcss-value-parser: 4.2.0 3311 | 3312 | postcss-normalize-repeat-style@5.1.1(postcss@8.4.38): 3313 | dependencies: 3314 | postcss: 8.4.38 3315 | postcss-value-parser: 4.2.0 3316 | 3317 | postcss-normalize-string@5.1.0(postcss@8.4.38): 3318 | dependencies: 3319 | postcss: 8.4.38 3320 | postcss-value-parser: 4.2.0 3321 | 3322 | postcss-normalize-timing-functions@5.1.0(postcss@8.4.38): 3323 | dependencies: 3324 | postcss: 8.4.38 3325 | postcss-value-parser: 4.2.0 3326 | 3327 | postcss-normalize-unicode@5.1.1(postcss@8.4.38): 3328 | dependencies: 3329 | browserslist: 4.23.0 3330 | postcss: 8.4.38 3331 | postcss-value-parser: 4.2.0 3332 | 3333 | postcss-normalize-url@5.1.0(postcss@8.4.38): 3334 | dependencies: 3335 | normalize-url: 6.1.0 3336 | postcss: 8.4.38 3337 | postcss-value-parser: 4.2.0 3338 | 3339 | postcss-normalize-whitespace@5.1.1(postcss@8.4.38): 3340 | dependencies: 3341 | postcss: 8.4.38 3342 | postcss-value-parser: 4.2.0 3343 | 3344 | postcss-ordered-values@5.1.3(postcss@8.4.38): 3345 | dependencies: 3346 | cssnano-utils: 3.1.0(postcss@8.4.38) 3347 | postcss: 8.4.38 3348 | postcss-value-parser: 4.2.0 3349 | 3350 | postcss-reduce-initial@5.1.2(postcss@8.4.38): 3351 | dependencies: 3352 | browserslist: 4.23.0 3353 | caniuse-api: 3.0.0 3354 | postcss: 8.4.38 3355 | 3356 | postcss-reduce-transforms@5.1.0(postcss@8.4.38): 3357 | dependencies: 3358 | postcss: 8.4.38 3359 | postcss-value-parser: 4.2.0 3360 | 3361 | postcss-selector-parser@6.0.16: 3362 | dependencies: 3363 | cssesc: 3.0.0 3364 | util-deprecate: 1.0.2 3365 | 3366 | postcss-svgo@5.1.0(postcss@8.4.38): 3367 | dependencies: 3368 | postcss: 8.4.38 3369 | postcss-value-parser: 4.2.0 3370 | svgo: 2.8.0 3371 | 3372 | postcss-unique-selectors@5.1.1(postcss@8.4.38): 3373 | dependencies: 3374 | postcss: 8.4.38 3375 | postcss-selector-parser: 6.0.16 3376 | 3377 | postcss-value-parser@4.2.0: {} 3378 | 3379 | postcss@8.4.38: 3380 | dependencies: 3381 | nanoid: 3.3.7 3382 | picocolors: 1.0.0 3383 | source-map-js: 1.2.0 3384 | 3385 | proxy-from-env@1.1.0: {} 3386 | 3387 | query-string@7.1.3: 3388 | dependencies: 3389 | decode-uri-component: 0.2.2 3390 | filter-obj: 1.1.0 3391 | split-on-first: 1.1.0 3392 | strict-uri-encode: 2.0.0 3393 | 3394 | randombytes@2.1.0: 3395 | dependencies: 3396 | safe-buffer: 5.2.1 3397 | 3398 | readable-stream@3.6.2: 3399 | dependencies: 3400 | inherits: 2.0.4 3401 | string_decoder: 1.3.0 3402 | util-deprecate: 1.0.2 3403 | 3404 | readdirp@3.6.0: 3405 | dependencies: 3406 | picomatch: 2.3.1 3407 | 3408 | rechoir@0.8.0: 3409 | dependencies: 3410 | resolve: 1.22.8 3411 | 3412 | resolve-from@4.0.0: {} 3413 | 3414 | resolve-from@5.0.0: {} 3415 | 3416 | resolve@1.22.8: 3417 | dependencies: 3418 | is-core-module: 2.13.1 3419 | path-parse: 1.0.7 3420 | supports-preserve-symlinks-flag: 1.0.0 3421 | 3422 | restore-cursor@3.1.0: 3423 | dependencies: 3424 | onetime: 5.1.2 3425 | signal-exit: 3.0.7 3426 | 3427 | restore-cursor@4.0.0: 3428 | dependencies: 3429 | onetime: 5.1.2 3430 | signal-exit: 3.0.7 3431 | 3432 | rollup-plugin-esbuild@5.0.0(esbuild@0.17.19)(rollup@3.29.4): 3433 | dependencies: 3434 | '@rollup/pluginutils': 5.1.0(rollup@3.29.4) 3435 | debug: 4.3.4 3436 | es-module-lexer: 1.5.0 3437 | esbuild: 0.17.19 3438 | joycon: 3.1.1 3439 | jsonc-parser: 3.2.1 3440 | rollup: 3.29.4 3441 | transitivePeerDependencies: 3442 | - supports-color 3443 | 3444 | rollup-plugin-styles@4.0.0(rollup@3.29.4): 3445 | dependencies: 3446 | '@rollup/pluginutils': 4.2.1 3447 | '@types/cssnano': 5.1.0(postcss@8.4.38) 3448 | cosmiconfig: 7.1.0 3449 | cssnano: 5.1.15(postcss@8.4.38) 3450 | fs-extra: 10.1.0 3451 | icss-utils: 5.1.0(postcss@8.4.38) 3452 | mime-types: 2.1.35 3453 | p-queue: 6.6.2 3454 | postcss: 8.4.38 3455 | postcss-modules-extract-imports: 3.1.0(postcss@8.4.38) 3456 | postcss-modules-local-by-default: 4.0.5(postcss@8.4.38) 3457 | postcss-modules-scope: 3.2.0(postcss@8.4.38) 3458 | postcss-modules-values: 4.0.0(postcss@8.4.38) 3459 | postcss-value-parser: 4.2.0 3460 | query-string: 7.1.3 3461 | resolve: 1.22.8 3462 | rollup: 3.29.4 3463 | source-map-js: 1.2.0 3464 | tslib: 2.6.2 3465 | 3466 | rollup@3.29.4: 3467 | optionalDependencies: 3468 | fsevents: 2.3.3 3469 | 3470 | run-async@3.0.0: {} 3471 | 3472 | rxjs@7.8.1: 3473 | dependencies: 3474 | tslib: 2.6.2 3475 | 3476 | safe-buffer@5.2.1: {} 3477 | 3478 | safer-buffer@2.1.2: {} 3479 | 3480 | sass-loader@14.1.1(sass@1.74.1): 3481 | dependencies: 3482 | neo-async: 2.6.2 3483 | optionalDependencies: 3484 | sass: 1.74.1 3485 | 3486 | sass@1.74.1: 3487 | dependencies: 3488 | chokidar: 3.6.0 3489 | immutable: 4.3.5 3490 | source-map-js: 1.2.0 3491 | 3492 | serialize-javascript@6.0.2: 3493 | dependencies: 3494 | randombytes: 2.1.0 3495 | 3496 | set-function-length@1.2.2: 3497 | dependencies: 3498 | define-data-property: 1.1.4 3499 | es-errors: 1.3.0 3500 | function-bind: 1.1.2 3501 | get-intrinsic: 1.2.4 3502 | gopd: 1.0.1 3503 | has-property-descriptors: 1.0.2 3504 | 3505 | shebang-command@2.0.0: 3506 | dependencies: 3507 | shebang-regex: 3.0.0 3508 | 3509 | shebang-regex@3.0.0: {} 3510 | 3511 | signal-exit@3.0.7: {} 3512 | 3513 | smob@1.5.0: {} 3514 | 3515 | source-map-js@1.2.0: {} 3516 | 3517 | source-map-support@0.5.21: 3518 | dependencies: 3519 | buffer-from: 1.1.2 3520 | source-map: 0.6.1 3521 | 3522 | source-map@0.6.1: {} 3523 | 3524 | split-on-first@1.1.0: {} 3525 | 3526 | stable@0.1.8: {} 3527 | 3528 | stdin-discarder@0.1.0: 3529 | dependencies: 3530 | bl: 5.1.0 3531 | 3532 | strict-uri-encode@2.0.0: {} 3533 | 3534 | string-width@4.2.3: 3535 | dependencies: 3536 | emoji-regex: 8.0.0 3537 | is-fullwidth-code-point: 3.0.0 3538 | strip-ansi: 6.0.1 3539 | 3540 | string_decoder@1.3.0: 3541 | dependencies: 3542 | safe-buffer: 5.2.1 3543 | 3544 | strip-ansi@6.0.1: 3545 | dependencies: 3546 | ansi-regex: 5.0.1 3547 | 3548 | strip-ansi@7.1.0: 3549 | dependencies: 3550 | ansi-regex: 6.0.1 3551 | 3552 | strip-final-newline@3.0.0: {} 3553 | 3554 | stylehacks@5.1.1(postcss@8.4.38): 3555 | dependencies: 3556 | browserslist: 4.23.0 3557 | postcss: 8.4.38 3558 | postcss-selector-parser: 6.0.16 3559 | 3560 | supports-color@5.5.0: 3561 | dependencies: 3562 | has-flag: 3.0.0 3563 | 3564 | supports-color@7.2.0: 3565 | dependencies: 3566 | has-flag: 4.0.0 3567 | 3568 | supports-preserve-symlinks-flag@1.0.0: {} 3569 | 3570 | svgo@2.8.0: 3571 | dependencies: 3572 | '@trysound/sax': 0.2.0 3573 | commander: 7.2.0 3574 | css-select: 4.3.0 3575 | css-tree: 1.1.3 3576 | csso: 4.2.0 3577 | picocolors: 1.0.0 3578 | stable: 0.1.8 3579 | 3580 | tarn@3.0.2: {} 3581 | 3582 | terser@5.30.3: 3583 | dependencies: 3584 | '@jridgewell/source-map': 0.3.6 3585 | acorn: 8.11.3 3586 | commander: 2.20.3 3587 | source-map-support: 0.5.21 3588 | 3589 | tildify@2.0.0: {} 3590 | 3591 | tmp@0.0.33: 3592 | dependencies: 3593 | os-tmpdir: 1.0.2 3594 | 3595 | to-fast-properties@2.0.0: {} 3596 | 3597 | to-regex-range@5.0.1: 3598 | dependencies: 3599 | is-number: 7.0.0 3600 | 3601 | tslib@2.6.2: {} 3602 | 3603 | type-fest@0.21.3: {} 3604 | 3605 | typescript@5.4.3: {} 3606 | 3607 | undici-types@5.26.5: {} 3608 | 3609 | unhead@1.9.4: 3610 | dependencies: 3611 | '@unhead/dom': 1.9.4 3612 | '@unhead/schema': 1.9.4 3613 | '@unhead/shared': 1.9.4 3614 | hookable: 5.5.3 3615 | 3616 | universalify@2.0.1: {} 3617 | 3618 | update-browserslist-db@1.0.13(browserslist@4.23.0): 3619 | dependencies: 3620 | browserslist: 4.23.0 3621 | escalade: 3.1.2 3622 | picocolors: 1.0.0 3623 | 3624 | util-deprecate@1.0.2: {} 3625 | 3626 | vite@4.5.2(@types/node@20.12.4)(sass@1.74.1)(terser@5.30.3): 3627 | dependencies: 3628 | esbuild: 0.18.20 3629 | postcss: 8.4.38 3630 | rollup: 3.29.4 3631 | optionalDependencies: 3632 | '@types/node': 20.12.4 3633 | fsevents: 2.3.3 3634 | sass: 1.74.1 3635 | terser: 5.30.3 3636 | 3637 | vue-demi@0.14.7(vue@3.4.21(typescript@5.4.3)): 3638 | dependencies: 3639 | vue: 3.4.21(typescript@5.4.3) 3640 | 3641 | vue@3.4.21(typescript@5.4.3): 3642 | dependencies: 3643 | '@vue/compiler-dom': 3.4.21 3644 | '@vue/compiler-sfc': 3.4.21 3645 | '@vue/runtime-dom': 3.4.21 3646 | '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.4.3)) 3647 | '@vue/shared': 3.4.21 3648 | optionalDependencies: 3649 | typescript: 5.4.3 3650 | 3651 | wcwidth@1.0.1: 3652 | dependencies: 3653 | defaults: 1.0.4 3654 | 3655 | which@2.0.2: 3656 | dependencies: 3657 | isexe: 2.0.0 3658 | 3659 | wrap-ansi@6.2.0: 3660 | dependencies: 3661 | ansi-styles: 4.3.0 3662 | string-width: 4.2.3 3663 | strip-ansi: 6.0.1 3664 | 3665 | wrappy@1.0.2: {} 3666 | 3667 | yaml@1.10.2: {} 3668 | 3669 | zhead@2.2.4: {} 3670 | 3671 | zod@3.22.4: {} 3672 | -------------------------------------------------------------------------------- /src/display/display.vue: -------------------------------------------------------------------------------- 1 | 64 | 65 | 66 | 67 | 68 | 178 | 179 | 180 | 202 | 203 | 250 | -------------------------------------------------------------------------------- /src/display/index.ts: -------------------------------------------------------------------------------- 1 | import { defineDisplay, } from '@directus/extensions-sdk'; 2 | import DisplayComponent from './display.vue'; 3 | import { getSharedConfigOptions, getClickActionChoices } from '../shared/options/sharedConfigOptions'; 4 | 5 | export default defineDisplay({ 6 | id: 'field-actions', 7 | name: 'Action display', 8 | icon: 'ads_click', 9 | description: 'Display content with linking and copy to clipboard options', 10 | component: DisplayComponent, 11 | types: ['uuid', 'string', 'text', 'bigInteger', 'integer', 'decimal', 'float'], 12 | options: ({ field }): any => { 13 | const isString = ['string', 'text'].includes(field.type ?? 'unknown'); 14 | 15 | const sharedOptions = getSharedConfigOptions(isString); 16 | 17 | const customOptionsBeforeShared = [ 18 | { 19 | field: 'hideFieldValue', 20 | name: 'Hide field value', 21 | type: 'boolean', 22 | meta: { 23 | width: 'full', 24 | interface: 'v-checkbox', 25 | note: 'When enabled the field value will be hidden. Can be used to only show the actions', 26 | }, 27 | schema: { 28 | default_value: false, 29 | }, 30 | }, 31 | { 32 | field: 'clickAction', 33 | name: 'Click Action (when clicking on the value)', 34 | type: 'string', 35 | meta: { 36 | width: 'full', 37 | interface: 'select-dropdown', 38 | options: { 39 | choices: getClickActionChoices(isString), 40 | } 41 | }, 42 | schema: { 43 | default_value: 'default', 44 | }, 45 | }, 46 | ]; 47 | 48 | const customOptionsAfterShared = [ 49 | { 50 | field: 'copyButtonLabel', 51 | name: 'Copy button label', 52 | type: 'string', 53 | meta: { 54 | width: 'half', 55 | interface: 'system-input-translated-string', 56 | group: 'groupCopySettings', 57 | note: 'When used the copy icon will be shown as button with the given label', 58 | }, 59 | schema: { 60 | default_value: '', 61 | }, 62 | }, 63 | { 64 | field: 'linkButtonLabel', 65 | name: 'Link button label', 66 | type: 'string', 67 | meta: { 68 | width: 'half', 69 | interface: 'system-input-translated-string', 70 | group: 'groupLinkSettings', 71 | note: 'When used the link icon will be shown as button with the given label', 72 | }, 73 | schema: { 74 | default_value: '', 75 | }, 76 | }, 77 | ]; 78 | 79 | return [ ...customOptionsBeforeShared, ...sharedOptions, ...customOptionsAfterShared ]; 80 | }, 81 | }); 82 | 83 | -------------------------------------------------------------------------------- /src/display/shims.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.vue' { 2 | import { DefineComponent } from 'vue'; 3 | const component: DefineComponent<{}, {}, any>; 4 | export default component; 5 | } 6 | -------------------------------------------------------------------------------- /src/interface/index.ts: -------------------------------------------------------------------------------- 1 | import { defineInterface } from '@directus/extensions-sdk'; 2 | import InterfaceComponent from './interface.vue'; 3 | import { getSharedConfigOptions, getClickActionChoices } from '../shared/options/sharedConfigOptions'; 4 | 5 | export default defineInterface({ 6 | id: 'field-actions', 7 | name: 'Action interface', 8 | icon: 'ads_click', 9 | description: 'Display content with linking and copy to clipboard options', 10 | component: InterfaceComponent, 11 | types: ['uuid', 'string', 'text', 'bigInteger', 'integer', 'decimal', 'float'], 12 | options: ({ field }): any => { 13 | const isStringField = ['string', 'text'].includes(field.type ?? 'unknown'); 14 | const isNumericField = ['bigInteger', 'integer', 'float', 'decimal'].includes(field.type ?? 'unknown'); 15 | 16 | const sharedOptions = getSharedConfigOptions(isStringField); 17 | // TODO: add custom options: softLength, clear, font 18 | 19 | const interfaceOptions = [ 20 | { 21 | field: 'placeholder', 22 | name: '$t:placeholder', 23 | meta: { 24 | width: 'half', 25 | interface: 'system-input-translated-string', 26 | options: { 27 | placeholder: '$t:enter_a_placeholder', 28 | }, 29 | }, 30 | }, 31 | { 32 | field: 'iconLeft', 33 | name: '$t:icon_left', 34 | type: 'string', 35 | meta: { 36 | width: 'half', 37 | interface: 'select-icon', 38 | }, 39 | }, 40 | { 41 | field: 'iconRight', 42 | name: '$t:icon_right', 43 | type: 'string', 44 | meta: { 45 | width: 'half', 46 | interface: 'select-icon', 47 | }, 48 | }, 49 | ]; 50 | 51 | 52 | const readOnlyOptions = [ 53 | { 54 | field: 'clickAction', 55 | name: 'Click Action (when clicking on the value)', 56 | type: 'string', 57 | meta: { 58 | width: 'full', 59 | interface: 'select-dropdown', 60 | options: { 61 | choices: getClickActionChoices(isStringField), 62 | } 63 | }, 64 | schema: { 65 | default_value: 'default', 66 | }, 67 | }, 68 | ]; 69 | 70 | const numberOptions = [ 71 | { 72 | field: 'min', 73 | name: '$t:interfaces.input.minimum_value', 74 | type: 'integer', 75 | meta: { 76 | width: 'half', 77 | interface: 'input', 78 | }, 79 | }, 80 | { 81 | field: 'max', 82 | name: '$t:interfaces.input.maximum_value', 83 | type: 'integer', 84 | meta: { 85 | width: 'half', 86 | interface: 'input', 87 | }, 88 | }, 89 | { 90 | field: 'step', 91 | name: '$t:interfaces.input.step_interval', 92 | type: 'integer', 93 | meta: { 94 | width: 'half', 95 | interface: 'input', 96 | }, 97 | schema: { 98 | default_value: 1, 99 | }, 100 | } 101 | ]; 102 | 103 | 104 | return [ 105 | ...interfaceOptions, 106 | ...(isNumericField ? numberOptions : []), 107 | ...(field.meta?.readonly ? readOnlyOptions : []), 108 | ...sharedOptions, 109 | ]; 110 | }, 111 | }); 112 | -------------------------------------------------------------------------------- /src/interface/interface.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 71 | 72 | 193 | 194 | 195 | 196 | 197 | 211 | 212 | 213 | 237 | -------------------------------------------------------------------------------- /src/interface/shims.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.vue' { 2 | import { DefineComponent } from 'vue'; 3 | const component: DefineComponent<{}, {}, any>; 4 | export default component; 5 | } 6 | -------------------------------------------------------------------------------- /src/shared/components/linkWrapper.vue: -------------------------------------------------------------------------------- 1 | 36 | 37 | 38 | 39 | 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /src/shared/composable/use-clipboard.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Composable to access the clipboard api 3 | * and check if the api is available 4 | * 5 | * Based on the apps own composable 6 | * @see https://github.com/directus/directus/blob/main/app/src/composables/use-clipboard.ts 7 | * 8 | * @NOTE in contrast to the onirinal app's solution we need to pass the notification sotre instance. 9 | * That's to make sure that the instance exists and is available 10 | */ 11 | 12 | 13 | import { computed } from 'vue'; 14 | import { useI18n } from 'vue-i18n'; 15 | 16 | 17 | type Message = { 18 | success?: string; 19 | fail?: string; 20 | }; 21 | 22 | 23 | 24 | export function useClipboard() { 25 | const { t } = useI18n(); 26 | 27 | const isCopySupported = computed(() => { 28 | return !!navigator?.clipboard?.writeText; 29 | }); 30 | 31 | const isPasteSupported = computed(() => { 32 | return !!navigator?.clipboard?.readText; 33 | }); 34 | 35 | return { isCopySupported, isPasteSupported, copyToClipboard, pasteFromClipboard }; 36 | 37 | async function copyToClipboard(value: string, notificationStore: any, message?: Message): Promise { 38 | try { 39 | await navigator?.clipboard?.writeText(value); 40 | notificationStore.add({ 41 | title: message?.success ?? t('copy_raw_value_success'), 42 | }); 43 | return true; 44 | } catch (err: any) { 45 | notificationStore.add({ 46 | type: 'error', 47 | title: message?.fail ?? t('copy_raw_value_fail'), 48 | }); 49 | return false; 50 | } 51 | } 52 | 53 | async function pasteFromClipboard(notificationStore: any, message?: Message): Promise { 54 | try { 55 | const pasteValue = await navigator?.clipboard?.readText(); 56 | notificationStore.add({ 57 | title: message?.success ?? t('paste_raw_value_success'), 58 | }); 59 | return pasteValue; 60 | } catch (err: any) { 61 | notificationStore.add({ 62 | type: 'error', 63 | title: message?.fail ?? t('paste_raw_value_fail'), 64 | }); 65 | return null; 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/shared/composable/use-prefix.ts: -------------------------------------------------------------------------------- 1 | import { computed } from 'vue'; 2 | import { useStores } from '@directus/extensions-sdk'; 3 | 4 | 5 | export function usePrefix(prefixProp: any) { 6 | const computedPrefix = computed(() => { 7 | if (prefixProp === '$project_url') { 8 | const settingsStore = useStores().useSettingsStore(); 9 | return settingsStore.settings?.project_url || ""; 10 | } 11 | 12 | return prefixProp || ''; 13 | }); 14 | 15 | return computedPrefix; 16 | } 17 | 18 | -------------------------------------------------------------------------------- /src/shared/composable/use-prefixed-values.ts: -------------------------------------------------------------------------------- 1 | import { computed } from 'vue'; 2 | import { usePrefix } from './use-prefix'; 3 | 4 | export function usePrefixedValues(props: any) { 5 | 6 | // TODO: make sure it's always a valid link (absolute + relative) 7 | 8 | const computedLink = computed(() => { 9 | const prefix = usePrefix(props.linkPrefix); 10 | return prefix.value + props.value; 11 | }); 12 | 13 | const computedCopyValue = computed(() => { 14 | const prefix = usePrefix(props.copyPrefix); 15 | return prefix.value + props.value; 16 | }); 17 | 18 | return { computedLink, computedCopyValue }; 19 | } 20 | -------------------------------------------------------------------------------- /src/shared/options/sharedConfigOptions.ts: -------------------------------------------------------------------------------- 1 | import { DisplayConfig } from '@directus/shared/types'; 2 | 3 | 4 | export function getSharedConfigOptions(isString: boolean) { 5 | const options: DisplayConfig['options'] = [ 6 | { 7 | field: 'groupCopySettings', 8 | name: 'Copy item settings', 9 | type: 'alias', 10 | meta: { 11 | field: 'groupCopySettings', // NOTE: NEEDED FOR OTHER FIELDS TO REFERENCE THIS GROUP 12 | interface: 'group-detail', 13 | special: ['alias', 'no-data', 'group'], // NOTE: NEEDED FOR ALIAS! 14 | options: { 15 | start: "closed", 16 | headerIcon: "content_copy", 17 | }, 18 | }, 19 | }, 20 | { 21 | field: 'groupLinkSettings', 22 | name: 'Link item settings', 23 | type: 'alias', 24 | meta: { 25 | field: 'groupLinkSettings', // NOTE: NEEDED FOR OTHER FIELDS TO REFERENCE THIS GROUP 26 | interface: 'group-detail', 27 | special: ['alias', 'no-data', 'group'], // NOTE: NEEDED FOR ALIAS! 28 | options: { 29 | start: "closed", 30 | headerIcon: "open_in_new", 31 | }, 32 | }, 33 | }, 34 | { 35 | field: 'showCopy', 36 | name: 'Display copy icon', 37 | type: 'boolean', 38 | meta: { 39 | width: 'full', 40 | interface: 'boolean', 41 | options: { 42 | label: 'Display a copy button next to the item', 43 | }, 44 | group: 'groupCopySettings', 45 | }, 46 | schema: { 47 | default_value: false, 48 | }, 49 | }, 50 | { 51 | field: 'copyPosition', 52 | name: 'Copy icon position', 53 | type: 'string', 54 | meta: { 55 | width: 'half', 56 | interface: 'select-radio', 57 | options: { 58 | choices: [ 59 | { text: 'Start', value: 'start' }, 60 | { text: 'End', value: 'end' } 61 | ], 62 | }, 63 | group: 'groupCopySettings', 64 | }, 65 | schema: { 66 | default_value: 'end', 67 | }, 68 | }, 69 | { 70 | field: 'copyPrefix', 71 | name: 'Copy value prefix', 72 | type: 'string', 73 | meta: { 74 | width: 'half', 75 | interface: 'select-dropdown', 76 | options: { 77 | placeholder: 'Enter prefix or select variable', 78 | choices: [ 79 | { text: '$project_url', value: '$project_url' }, 80 | { text: 'https://', value: 'https://' } 81 | ], 82 | allowOther: true, 83 | allowNone: true, 84 | }, 85 | note: 'Copies the field value with the given prefix', 86 | group: 'groupCopySettings', 87 | }, 88 | schema: { 89 | default_value: '', 90 | }, 91 | }, 92 | { 93 | field: 'showLink', 94 | name: 'Display link icon', 95 | type: 'boolean', 96 | meta: { 97 | width: 'full', 98 | interface: 'boolean', 99 | options: { 100 | label: 'Display a link button next to the item', 101 | }, 102 | group: 'groupLinkSettings', 103 | }, 104 | schema: { 105 | default_value: false, 106 | }, 107 | }, 108 | { 109 | field: 'linkPosition', 110 | name: 'Link icon position', 111 | type: 'string', 112 | meta: { 113 | width: 'half', 114 | interface: 'select-radio', 115 | options: { 116 | choices: [ 117 | { text: 'Start', value: 'start' }, 118 | { text: 'End', value: 'end' } 119 | ], 120 | }, 121 | group: 'groupLinkSettings', 122 | }, 123 | schema: { 124 | default_value: 'end', 125 | }, 126 | }, 127 | { 128 | field: 'linkPrefix', 129 | name: 'Link value prefix', 130 | type: 'string', 131 | meta: { 132 | width: 'half', 133 | interface: 'select-dropdown', 134 | options: { 135 | placeholder: 'Enter prefix or select variable', 136 | choices: [ 137 | { text: '$project_url', value: '$project_url' }, 138 | { text: 'Mail-Link (mailto:)', value: 'mailto:' }, 139 | { text: 'Phole-Link (tel:)', value: 'tel:' }, 140 | { text: 'https://', value: 'https://' } 141 | ], 142 | allowOther: true, 143 | allowNone: true, 144 | }, 145 | note: 'Links to the field value with the given prefix', 146 | group: 'groupLinkSettings', 147 | }, 148 | schema: { 149 | default_value: '', 150 | }, 151 | }, 152 | { 153 | field: 'openLinkAsNewTab', 154 | name: 'Link target', 155 | type: 'boolean', 156 | meta: { 157 | width: 'full', 158 | interface: 'select-radio', 159 | options: { 160 | choices: [ 161 | { text: 'New Tab', value: true }, 162 | { text: 'Current Tab', value: false } 163 | ], 164 | }, 165 | group: 'groupLinkSettings', 166 | }, 167 | schema: { 168 | default_value: true, 169 | }, 170 | }, 171 | { 172 | field: 'openLinkSafeMode', 173 | name: 'Warn before following external links', 174 | type: 'string', 175 | meta: { 176 | width: 'full', 177 | interface: 'select-radio', 178 | options: { 179 | choices: [ 180 | { text: 'Never', value: 'never' }, 181 | { text: 'Always', value: 'always' } 182 | ], 183 | }, 184 | group: 'groupLinkSettings', 185 | }, 186 | schema: { 187 | default_value: 'never', 188 | }, 189 | }, 190 | ]; 191 | 192 | return options; 193 | } 194 | 195 | 196 | // dynamically build push Options 197 | // TODO: allow link only if phone, url or mail is selected 198 | export function getClickActionChoices(isString: boolean) { 199 | const selectChoices = [ 200 | { 201 | text: 'Copy to clipboard', 202 | value: 'copy', 203 | },{ 204 | text: 'Default click action', 205 | value: 'default', 206 | }, 207 | ]; 208 | 209 | if (isString) { 210 | selectChoices.push( 211 | { 212 | text: 'Open link', 213 | value: 'link', 214 | }, 215 | ); 216 | } 217 | 218 | return selectChoices; 219 | } 220 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2019", 4 | "lib": ["ES2019", "DOM"], 5 | "moduleResolution": "node", 6 | "strict": true, 7 | "noFallthroughCasesInSwitch": true, 8 | "esModuleInterop": true, 9 | "noImplicitAny": true, 10 | "noImplicitThis": true, 11 | "noImplicitReturns": true, 12 | "noUnusedLocals": true, 13 | "noUncheckedIndexedAccess": true, 14 | "noUnusedParameters": true, 15 | "alwaysStrict": true, 16 | "strictNullChecks": true, 17 | "strictFunctionTypes": true, 18 | "strictBindCallApply": true, 19 | "strictPropertyInitialization": true, 20 | "resolveJsonModule": false, 21 | "skipLibCheck": true, 22 | "forceConsistentCasingInFileNames": true, 23 | "allowSyntheticDefaultImports": true, 24 | "isolatedModules": true, 25 | "rootDir": "./src" 26 | }, 27 | "include": ["./src/**/*.ts"] 28 | } 29 | --------------------------------------------------------------------------------