diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index dd84ea7..0000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Desktop (please complete the following information):** - - OS: [e.g. iOS] - - Browser [e.g. chrome, safari] - - Version [e.g. 22] - -**Smartphone (please complete the following information):** - - Device: [e.g. iPhone6] - - OS: [e.g. iOS8.1] - - Browser [e.g. stock browser, safari] - - Version [e.g. 22] - -**Additional context** -Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..090e8c1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,54 @@ +name: ЁЯРЮ Bug +description: File a bug/issue +title: "[BUG]: " +labels: [Bug, Needs Triage] +body: +- type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the bug you encountered. + options: + - label: I have searched the existing issues + required: true +- type: textarea + attributes: + label: Current Behavior + description: A concise description of what you're experiencing. + validations: + required: true +- type: textarea + attributes: + label: Expected Behavior + description: A concise description of what you expected to happen. + validations: + required: false +- type: textarea + attributes: + label: Steps To Reproduce + description: Steps to reproduce the behavior. + placeholder: | + 1. In this environment... + 2. With this config... + 3. Run '...' + 4. See error... + validations: + required: true +- type: textarea + attributes: + label: Anything else? + description: | + Links? References? Anything that will give us more context about the issue you are encountering! + + Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. + validations: + required: false +- type: dropdown + id: browsers + attributes: + label: What browsers are you seeing the problem on? + multiple: true + options: + - Firefox + - Chrome + - Safari + - Microsoft Edge diff --git a/.github/ISSUE_TEMPLATE/feature_report.yml b/.github/ISSUE_TEMPLATE/feature_report.yml new file mode 100644 index 0000000..0ecc332 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_report.yml @@ -0,0 +1,55 @@ +name: ЁЯТб General Feature Request +description: Have a new idea/feature for rbjks? Let us know... +title: "[FEATURE]: <description>" +labels: ["enhancement"] +body: + - type: checkboxes + id: duplicates + attributes: + label: Is this a unique feature? + description: Increase the chances of your issue being accepted by making sure it has not been raised before. + options: + - label: I have checked "open" AND "closed" issues and this is not a duplicate + required: true + - type: textarea + attributes: + label: Is your feature request related to a problem/unavailable functionality? Please describe. + description: A clear and concise description of what the problem is (for example "I'm always frustrated when [...]"). + validations: + required: true + - type: textarea + id: description + attributes: + label: Proposed Solution + description: A clear description of the enhancement you propose. Please include relevant information and resources (for example another project's implementation of this feature). + validations: + required: true + - type: textarea + id: screenshots + attributes: + label: Screenshots + description: Please add screenshots of the before and/or after the proposed changes. + validations: + required: false + - type: dropdown + id: assignee + attributes: + label: Do you want to work on this issue? + multiple: false + options: + - "No" + - "Yes" + default: 0 + validations: + required: false + - type: textarea + id: extrainfo + attributes: + label: If "yes" to above, please explain how you would technically implement this + description: For example reference any existing code + validations: + required: false + - type: markdown + attributes: + value: | + You can also join our Discord community [here] diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index bbcbbe7..0000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/PULL_REQUEST_TEMPLATE.MD b/.github/PULL_REQUEST_TEMPLATE.MD index 49e6725..dd4b11f 100644 --- a/.github/PULL_REQUEST_TEMPLATE.MD +++ b/.github/PULL_REQUEST_TEMPLATE.MD @@ -1,13 +1,37 @@ +<!--- Provide a general summary of your changes in the Title above --> + +## Motivation and Context + +<!--- Why is this change required? What problem does it solve? --> +<!--- If it fixes an open issue, please link to the issue here. --> + Fixes # -Changes proposed +## Description + +<!--- Describe your changes in detail --> + +## How Has This Been Tested? + +<!--- Please describe in detail how you tested your changes. --> +<!--- Include details of your testing environment, the tests you ran to --> +<!--- see how your change affects other areas of the code, etc. --> + +## Screenshots (if appropriate): + +## Types of Changes + +<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> + +- [ ] Bug fix (non-breaking change that fixes an issue) +- [ ] New feature (non-breaking change that adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) -- -- -- +## Checklist: -Test Methodology and Results +<!--- Go over all the following points, and put an `x` in all the boxes that apply. --> +<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> -- -- -- +- [ ] My code follows the code style of this project. +- [ ] My change requires a change to the documentation. +- [ ] I have updated the documentation accordingly. diff --git a/.github/workflows/prettify.yml b/.github/workflows/prettify.yml new file mode 100644 index 0000000..e6ea92f --- /dev/null +++ b/.github/workflows/prettify.yml @@ -0,0 +1,34 @@ +name: Prettier Action + +on: push + +jobs: + prettier: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + ref: ${{ github.head_ref }} + # Make sure the value of GITHUB_TOKEN will not be persisted in repo's config + persist-credentials: false + + - name: Commit URL + run: git remote set-url origin https://github-actions:${{github.token}}@github.com/rbjks/rbjks.github.io.git + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: lts/* + cache: npm + + - name: Install Dependencies + run: npm ci + + - name: Prettify Code + uses: creyD/prettier_action@v4.3 + with: + dry: false + github_token: ${{ secrets.PERSONAL_GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000..d24fdfc --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npx lint-staged diff --git a/.lintstagedrc.js b/.lintstagedrc.js new file mode 100644 index 0000000..042a328 --- /dev/null +++ b/.lintstagedrc.js @@ -0,0 +1,3 @@ +export default { + '*': 'prettier --ignore-unknown --write', +}; diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..cffe8cd --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +save-exact=true diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..d5a1596 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +20.10.0 diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..d5f19d8 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,2 @@ +node_modules +package-lock.json diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..5cc6edb --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,7 @@ +// @ts-check + +/** @type {import("prettier").Config} */ +export default { + singleQuote: true, + plugins: ['prettier-plugin-packagejson'], +}; diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ef0841d..8374194 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,11 +1,9 @@ # Contributing Guidelines -First of all thanks for spending your time to contribute or showing interest to contribute to this project :smiley: +First of all thanks for spending your time to contribute or showing interest to contribute to this project :smiley: This documentation contains a set of `Guidelines` and `Steps` to help you during the contribution process. - - # ЁЯФС Guidelines for contributing : Here are some set of guidelines to follow while contributing to `rbjks.github.io` : @@ -13,39 +11,36 @@ Here are some set of guidelines to follow while contributing to `rbjks.github.io 1. Welcome to this repository, if you are here as an open-source program participant/contributor. 2. Participants/contributors have to **comment** on issues they would like to work on, and mentors or the maintainers will assign you. 3. Issues will be assigned on a **first-come, first-serve basis.** -4. Participants/contributors can also **open their issues**, but it needs to be verified and labelled by a mentor. We respect all your contributions, whether it is an Issue or a Pull Request. -5. Please check if the issue you want to is already listed, If its **already listed** chat in the comments to figure out whether someone is working on it or not, If issue is not listed then you can raise an issue, make sure you get it **assigned** to you before you start working on that project.A +4. Participants/contributors can also **open their issues**. We respect all your contributions, whether it is an Issue or a Pull Request. +5. Please check if the issue you want to is already listed, If its **already listed**, chat in the comments to figure out whether someone is working on it or not. If issue is not listed then you can raise an issue, make sure you get it **assigned** to you before you start working on that project. 6. Please don't pick up an issue already assigned to someone else. Work on the issues after it gets **assigned to you**. 7. Create your file in an appropriate folder with appropriate name and extension. 8. Pull requests will be merged after appropriate reviews. 9. We all are here to learn. You are allowed to make mistakes. That's how you learn, right!. - - - # тЦ╢я╕П Steps for contributing : + ## Fork this repository + <img align="right" width="300" alt="image" src="https://user-images.githubusercontent.com/110724849/230174676-887cfddf-0c2d-4811-9aa1-0758af091c6b.png"> <br> Fork this repository by clicking on the fork button on the top of this page. This will create a copy of this repository in your account. - ## Clone This Repository <img align="right" width="200" src="https://user-images.githubusercontent.com/110724849/230175272-c713e91d-f5bf-4cc3-8e37-b36f5d6881fb.png"> -Now clone the forked repository to your machine. +Now clone the forked repository to your machine. Go to your GitHub account, open the forked repository, click on the code button and then click the copy to clipboard icon. - Open a terminal and run the following git command: + ``` git clone https://github.com/<Your-Github-username>/rbjks.github.io.git ``` - ## Create a branch Change to the repository directory on your computer (if you are not already there): @@ -67,6 +62,7 @@ git checkout -b add-new-feature ``` ## Make necessary changes and commit those changes + If you go to the project directory and execute the command `git status`, you'll see there are changes. Add those changes to the branch you just created using the git add command: @@ -74,16 +70,21 @@ Add those changes to the branch you just created using the git add command: ``` git add . ``` + Now commit those changes using the git commit command: ``` git commit -m "Your commit message" ``` + ## Push changes to GitHub + Push the changes to the forked repository using: + ``` git push origin <Your-branch-name> ``` + Navigate to the original fork of this repository on your profile and click on the branch you had committed to. Then click on Contribute to create a Pull Request i.e create a PR on Github. (Don't just hit the create a pull request button, you must write a PR message to clarify why and what are you contributing) @@ -92,6 +93,7 @@ Then click on Contribute to create a Pull Request i.e create a PR on Github. (Do ## Are you a beginner in using Github? You can refer to the following articles on the basics of Git and Github and also contact me, in case you are stuck: + - [Forking a Repo](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) - [Cloning a Repo](https://help.github.com/en/desktop/contributing-to-projects/creating-an-issue-or-pull-request) - [How to create a Pull Request](https://opensource.com/article/19/7/create-pull-request-github) diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 20bfa6f..0000000 --- a/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,28 +0,0 @@ -<!--- Provide a general summary of your changes in the Title above --> - -## Description -<!--- Describe your changes in detail --> - -## Motivation and Context -<!--- Why is this change required? What problem does it solve? --> -<!--- If it fixes an open issue, please link to the issue here. --> - -## How Has This Been Tested? -<!--- Please describe in detail how you tested your changes. --> -<!--- Include details of your testing environment, the tests you ran to --> -<!--- see how your change affects other areas of the code, etc. --> - -## Screenshots (if appropriate): - -## Types of Changes -<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> -- [ ] Bug fix (non-breaking change that fixes an issue) -- [ ] New feature (non-breaking change that adds functionality) -- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - -## Checklist: -<!--- Go over all the following points, and put an `x` in all the boxes that apply. --> -<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> -- [ ] My code follows the code style of this project. -- [ ] My change requires a change to the documentation. -- [ ] I have updated the documentation accordingly. diff --git a/README.md b/README.md index e959f4a..70bdb35 100644 --- a/README.md +++ b/README.md @@ -5,14 +5,12 @@ Access this website at https://rbjks.github.io/index.html The aim for the website is as a static webpage for an NGO 'Ranjeet Bakhshi Jan Kalyan Sabha'. The NGO conducts many activites and crowd-funding campaigns to help people in lower-economic and social backgrounds to empower themselves. This website has to be duolingual with both English and Hindi as the required languages. - -Preferred colors for the website +Preferred colors for the website <span style="color:#22B9A8">Emerald - #22B9A8</span> ![Emerald](https://user-images.githubusercontent.com/115361239/220578047-1ed3c681-0282-4b1e-85bd-66e86b1344bd.png) - <span style="color:#ff9933">Deep Saffron - #ff9933</span> ![Deep Saffron](https://user-images.githubusercontent.com/115361239/220579735-fb87b37d-67f4-406c-8188-2d42f29f9847.png) diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..034e848 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,21 @@ +# Security Policy + +## Supported Versions + +Use this section to tell people about which versions of your project are +currently being supported with security updates. + +| Version | Supported | +| ------- | ------------------ | +| 5.1.x | :white_check_mark: | +| 5.0.x | :x: | +| 4.0.x | :white_check_mark: | +| < 4.0 | :x: | + +## Reporting a Vulnerability + +Use this section to tell people how to report a vulnerability. + +Tell them where to go, how often they can expect to get an update on a +reported vulnerability, what to expect if the vulnerability is accepted or +declined, etc. diff --git a/activities.html b/activities.html index 6256c46..1c297f5 100644 --- a/activities.html +++ b/activities.html @@ -1,68 +1,161 @@ -<!DOCTYPE html> +<!doctype html> <html lang="en"> - -<head> - <meta charset="UTF-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <head> + <meta charset="UTF-8" /> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>RBJKS::Activities - - - - - + + + + + + - +
-

Activities

-
-
+

Activities

+
+ + +
+
- - - - \ No newline at end of file + + + diff --git a/assets/css/activities.css b/assets/css/activities.css index 1fe7023..5c425b0 100644 --- a/assets/css/activities.css +++ b/assets/css/activities.css @@ -1,19 +1,16 @@ - .activities { - background-color: #EDC9AF; - padding-top: 5%; - /* + background-color: #edc9af; + padding-top: 5%; + /* display: flex; flex-direction: column; justify-content: space-between; */ - height: 100vh; - } - .activities h3{ - text-align: center; - margin-bottom: 5%; - - } - .twitter-activities * { - margin:auto; - } - \ No newline at end of file + min-height: 100vh; +} +.activities h3 { + text-align: center; + margin-bottom: 5%; +} +.twitter-activities * { + margin: auto; +} diff --git a/assets/css/contact.css b/assets/css/contact.css index 6b2204a..a109abd 100644 --- a/assets/css/contact.css +++ b/assets/css/contact.css @@ -1,344 +1,455 @@ * { - margin: 0; - padding: 0; - box-sizing: border-box; - font-family: 'Poppins', sans-serif; + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: 'Poppins', sans-serif; } #navbar { - width: 100%; - background-color: #EDC9AF; + width: 100%; + background-color: #edc9af; } nav { - width: 100%; - background-color: transparent; - background-color: #22B9A8; - display: flex; - align-items: center; - justify-content: space-between; + width: 100%; + background-color: transparent; + background-color: #22b9a8; + display: flex; + align-items: center; + justify-content: space-between; } nav ul { - display: flex; - align-items: center; - justify-content: center; - margin: 0 4rem; + display: flex; + align-items: center; + justify-content: center; + margin: 0 4rem; } nav .logo { - padding: 0.5rem 2rem; - width: 9%; - visibility: visible; + padding: 0.5rem 2rem; + width: 108px; + height: auto; + visibility: visible; } nav ul li { - list-style: none; - text-decoration: none; - transition: 0.25s all; - display: inline-block; - position: relative; + list-style: none; + text-decoration: none; + transition: 0.25s all; + display: inline-block; + position: relative; } nav ul li a { - padding: 1.35rem 2rem; - text-decoration: none; - color: #000; + padding: 1.35rem 2rem; + text-decoration: none; + color: #fff; } nav ul li::after { - content: ''; - border-radius: 20px; - position: absolute; - width: 100%; - transform: scaleX(0); - height: 4px; - bottom: -9px; - left: 0; - background-color: #000; - transition: transform 0.25s ease-out; + content: ''; + border-radius: 20px; + position: absolute; + width: 100%; + transform: scaleX(0); + height: 4px; + bottom: -9px; + left: 0; + background-color: #fff; + transition: transform 0.25s ease-out; } nav ul li:hover::after { - transform: scaleX(0.7); + transform: scaleX(0.7); } nav ul li:hover { - transform: scale(1.1); + transform: scale(1.1); } nav ul li a:active { - color: #000; + color: #fff; +} + +body { + /* background-color: #edc9af; */ } section { - display: flex; - justify-content: center; - align-items: center; - min-height: 100vh; - background-color: #edc9af; + display: flex; + justify-content: center; + align-items: center; + padding: 50px; + /* min-height: 100vh; */ + /* background-color: #edc9af; */ } .container { - position: relative; - min-width: 1100px; - min-height: 550px; - display: flex; - z-index: 1000; + position: relative; + min-width: 1100px; + min-height: 550px; + display: flex; + z-index: 1000; + display: flex; + flex-direction: row; + background-color: #edc9af; + +} + +.mainbody { + background-color: #edc9af; + overflow-x: hidden; } .container .contactInfo { - position: absolute; - top: 40px; - width: 350px; - height: calc(100% - 80px); - background: #22B9A8; - z-index: 1; - padding: 40px; - display: flex; - justify-content: center; - flex-direction: column; - justify-content: space-between; - box-shadow: 0 20px 25px rgba(0, 0, 0, 0.15); - border-radius: 22px; + position: relative; + top: 40px; + width: 40%; + height: calc(100% - 80px); + background: #22b9a8; + z-index: 1; + padding: 40px; + display: flex; + justify-content: center; + flex-direction: column; + justify-content: space-between; + box-shadow: 0 20px 25px rgba(0, 0, 0, 0.15); + border-radius: 22px; } .container .contactInfo h2 { - color: #000; - font-size: 24px; - font-weight: 700; + color: #000; + font-size: 24px; + font-weight: 700; } .container .contactInfo ul.info { - position: relative; - margin: 20px 0; + position: relative; + margin: 20px 0; } .container .contactInfo ul.info li { - position: relative; - list-style: none; - display: flex; - margin: 20px 0; - cursor: pointer; - align-items: flex-start; + position: relative; + list-style: none; + display: flex; + margin: 20px 0; + cursor: pointer; + align-items: flex-start; } .container .contactInfo ul.info li span:nth-child(1) { - width: 30px; - min-width: 30px; + width: 30px; + min-width: 30px; } - /* for gmail */ .container .contactInfo ul.info li span a { - color: #000; - text-decoration: none; - width: 30px; - min-width: 30px; + color: #000; + text-decoration: none; + width: 30px; + min-width: 30px; } .container .contactInfo ul.info li span:nth-child(1) img { - max-width: 100%; - filter: invert(0); + max-width: 100%; + filter: invert(0); } .container .contactInfo ul.info li span:nth-child(2) { - color: #000; - margin-left: 10px; - font-weight: 300; + color: #000; + margin-left: 10px; + font-weight: 300; } .container .contactInfo ul.sci { - position: relative; - display: flex; + position: relative; + display: flex; } .container .contactInfo ul.sci li { - list-style: none; - margin-right: 15px; + list-style: none; + margin-right: 15px; } .container .contactInfo ul.sci li a { - text-decoration: none; + text-decoration: none; } .container .contactInfo ul.sci li a img { - filter: invert(0); + filter: invert(0); } .container .contactForm { - position: absolute; - padding: 70px 50px; - padding-left: 250px; - margin-left: 150px; - width: calc(100% - 150px); - height: 100%; - background: #fff; - box-shadow: 0 50px 50px rgba(0, 0, 0, 0.25); - border-radius: 22px; + position: relative; + padding: 70px 50px; + /* padding-left: 250px; */ + margin-left: 50px; + width: 90%; + height: 100%; + background: #fff; + box-shadow: 0 50px 50px rgba(0, 0, 0, 0.25); + border-radius: 22px; } .container .contactForm h2 { - color: #22B9A8; - font-size: 24px; - font-weight: 500; + color: #22b9a8; + font-size: 24px; + font-weight: 500; } .container .contactForm .formBox { - position: relative; - display: flex; - justify-content: space-between; - flex-wrap: wrap; - padding-top: 30px; + position: relative; + display: flex; + justify-content: space-between; + flex-wrap: wrap; + padding-top: 30px; } .container .contactForm .formBox .inputBox { - position: relative; - margin-bottom: 35px; + position: relative; + margin-bottom: 35px; } .container .contactForm .formBox .inputBox.w50 { - width: 47%; + width: 47%; } .container .contactForm .formBox .inputBox.w100 { - width: 100%; + width: 100%; } .container .contactForm .formBox .inputBox input, .container .contactForm .formBox .inputBox textarea { - width: 100%; - resize: none; - padding: 5px 0; - font-size: 18px; - font-weight: 300; - color: #333; - border: none; - outline: none; - border-bottom: 1px solid #777; + width: 100%; + resize: none; + padding: 5px 0; + font-size: 18px; + font-weight: 300; + color: #333; + border: none; + outline: none; + border-bottom: 1px solid #777; } .container .contactForm .formBox .inputBox textarea { - height: 120px; + height: 120px; } .container .contactForm .formBox .inputBox span { - position: absolute; - left: 0; - padding: 5px 0; - pointer-events: none; - font-size: 18px; - font-weight: 300; - transition: 0.3s; -} - -.container .contactForm .formBox .inputBox input:focus~span, -.container .contactForm .formBox .inputBox input:valid~span, -.container .contactForm .formBox .inputBox textarea:focus~span, -.container .contactForm .formBox .inputBox textarea:valid~span { - transform: translateY(-20px); - font-size: 12px; - font-weight: 400; - letter-spacing: 1px; - color: #22B9A8; - font-weight: 500; + position: absolute; + left: 0; + padding: 5px 0; + pointer-events: none; + font-size: 18px; + font-weight: 300; + transition: 0.3s; +} + +.container .contactForm .formBox .inputBox input:focus ~ span, +.container .contactForm .formBox .inputBox input:valid ~ span, +.container .contactForm .formBox .inputBox textarea:focus ~ span, +.container .contactForm .formBox .inputBox textarea:valid ~ span { + transform: translateY(-20px); + font-size: 12px; + font-weight: 400; + letter-spacing: 1px; + color: #22b9a8; + font-weight: 500; } - /* Css for the submit button */ -.container .contactForm .formBox .inputBox input[type="submit"] { - position: relative; - cursor: pointer; - background: #22B9A8; - border-radius: 20px; - color: #000; - border: none; - max-width: 150px; - padding: 12px; +.container .contactForm .formBox .inputBox input[type='submit'] { + position: relative; + cursor: pointer; + background: #22b9a8; + border-radius: 20px; + color: #000; + border: none; + max-width: 150px; + padding: 12px; } -.container .contactForm .formBox .inputBox input[type="submit"]:hover { - background: #0d9480; +.container .contactForm .formBox .inputBox input[type='submit']:hover { + background: #0d9480; } - /* make the form responsive */ @media (max-width: 1200px) { - .container { - width: 90%; - min-width: auto; - margin: 20px; - box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2); - } - .container .contactInfo { - top: 0; - height: 550px; - position: relative; - box-shadow: none; - border-radius: 0px; - } - .container .contactForm { - position: relative; - width: calc(100% - 350px); - padding-left: 0; - margin-left: 0; - padding: 40px; - height: 550px; - box-shadow: none; - border-radius: 0px; - } + .container { + width: 90%; + min-width: auto; + margin: 20px; + box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2); + } + .container .contactInfo { + top: 0; + height: 550px; + position: relative; + box-shadow: none; + border-radius: 0px; + } + .container .contactForm { + position: relative; + width: calc(100% - 350px); + padding-left: 0; + margin-left: 0; + padding: 40px; + height: 550px; + box-shadow: none; + border-radius: 0px; + } } @media (max-width: 991px) { - section { - display: flex; - justify-content: center; - align-items: center; - min-height: 100vh; - background: #edc9af; - } - section::before { - display: none; - } - .container { - display: flex; - flex-direction: column-reverse; - } - .container .contactForm { - width: 100%; - height: auto; - border-radius: 0px; - } - .container .contactInfo { - width: 100%; - height: auto; - flex-direction: row; - border-radius: 0px; - } - .container .contactInfo ul.sci { - position: relative; - display: flex; - justify-content: center; - align-items: center; - } + section { + display: flex; + justify-content: center; + align-items: center; + /* min-height: 100vh; */ + /* background: #edc9af; */ + } + section::before { + display: none; + } + .container { + width: 100%; + display: flex; + flex-direction: column-reverse; + } + .container .contactForm { + width: 100%; + height: auto; + border-radius: 0px; + } + .container .contactInfo { + width: 100%; + height: auto; + flex-direction: row; + border-radius: 0px; + } + .container .contactInfo ul.sci { + position: relative; + display: flex; + justify-content: center; + align-items: center; + } } @media (max-width: 600px) { - .container .contactForm { - padding: 25px; - } - .container .contactInfo { - padding: 25px; - flex-direction: column; - align-items: flex-start; - } - .container .contactInfo ul.sci { - margin-top: 40px; - } - .container .contactForm .formBox .inputBox.w50 { - width: 100%; - } -} \ No newline at end of file + .container .contactForm { + padding: 25px; + } + .container .contactInfo { + padding: 25px; + flex-direction: column; + align-items: flex-start; + } + .container .contactInfo ul.sci { + margin-top: 40px; + } + .container .contactForm .formBox .inputBox.w50 { + width: 100%; + } +} + + +.body { + background-color: #edc9af; + overflow-x: hidden; +} + +#navbar ul.mobileNav { + display: none; +} + +@media (max-width: 768px) { + footer { + flex-direction: column; + align-items: center; + text-align: center; + word-break: break-all; + } + + .footer .flex-col { + align-items: center; + margin-bottom: 1em; + } + + .about--address { + width: 100%; + text-align: center; + } + + nav a.icon { + display: block; + margin-right: 15px; + color: white; + } + + nav ul { + display: none; + } + + #navbar ul.mobileNav.mobileVisible { + display: flex; + flex-direction: column; + align-items: center; + background-color: #22b9a8; + height: 30vh; + justify-content: space-evenly; + } + + #navbar ul.mobileNav.mobileVisible li { + list-style-type: none; + } + + #navbar ul.mobileNav.mobileVisible li a { + text-decoration: none; + color: white; + } +} + + +@media screen and (max-width: 480px) { + + .container{ + display: flex; + width: 100%; + background-color: white; + } + + nav a.icon { + display: block; + margin-right: 15px; + color: white; + } + + nav ul { + display: none; + } + + #navbar ul.mobileNav.mobileVisible { + display: flex; + flex-direction: column; + align-items: center; + background-color: #22b9a8; + height: 30vh; + justify-content: space-evenly; + } + + #navbar ul.mobileNav.mobileVisible li { + list-style-type: none; + } + + #navbar ul.mobileNav.mobileVisible li a { + text-decoration: none; + color: white; + } + .social-media-icons { + width: 100%; + } +} diff --git a/assets/css/gallery.css b/assets/css/gallery.css new file mode 100644 index 0000000..d639a46 --- /dev/null +++ b/assets/css/gallery.css @@ -0,0 +1,32 @@ +.body { + background-color: #edc9af; +} + +/* Basic styles for the gallery */ +.gallery-container { + padding: 8vh 5vh; +} +.gallery { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); + gap: 10px; +} + +/* Style for each image item */ +.gallery-item { + display: flex; + flex-direction: column; + border: 1px solid #ccc; + padding: 10px; +} + +.gallery-item img { + width: 100%; + height: auto; +} + +.gallery-item p { + margin-top: 10px; + font-size: 14px; + text-align: center; +} diff --git a/assets/css/style.css b/assets/css/style.css index c5184f6..43da7e9 100644 --- a/assets/css/style.css +++ b/assets/css/style.css @@ -1,116 +1,244 @@ * { - margin: 0; - padding: 0; - font-family: verdana; + margin: 0; + padding: 0; + font-family: verdana; +} + +html, +body { + height: 100%; } #navbar { - width: 100%; - background-color: #EDC9AF; + width: 100%; + background-color: #edc9af; } #navbar ul.mobileNav { - display: none; + display: none; } nav { - max-width: 100vw; - height: 85px; - background-color: transparent; - background-color: #22B9A8; - display: flex; - align-items: center; - justify-content: space-between; + max-width: 100vw; + height: 85px; + background-color: transparent; + background-color: #22b9a8; + display: flex; + align-items: center; + justify-content: space-between; } nav ul { - display: flex; - align-items: center; - justify-content: center; - margin: 0 4rem; + display: flex; + align-items: center; + justify-content: center; + margin: 0 4rem; } - nav .logo { - padding: 0.5rem 2rem; - width: 45px; - height: 45px; + padding: 0.5rem 2rem; + width: 45px; + height: 45px; } nav ul li { - /* margin-left: 3.5rem; */ - list-style: none; - text-decoration: none; - transition: 0.25s all; - display: inline-block; - position: relative; - white-space: nowrap; + /* margin-left: 3.5rem; */ + list-style: none; + text-decoration: none; + transition: 0.25s all; + display: inline-block; + position: relative; + white-space: nowrap; } nav a.icon { - display: none; + display: none; } nav ul li a { - padding: 1.35rem 2rem; - text-decoration: none; - color: #ccc; + padding: 1.35rem 2rem; + text-decoration: none; + color: #fff; } nav ul li::after { - content: ''; - border-radius: 20px; - position: absolute; - width: 100%; - transform: scaleX(0); - height: 4px; - bottom: -9px; - left: 0; - background-color: #000; - background-color: #ccc; - /* transform-origin: bottom right; */ - transition: transform 0.25s ease-out; + content: ''; + border-radius: 20px; + position: absolute; + width: 100%; + transform: scaleX(0); + height: 4px; + bottom: -9px; + left: 0; + background-color: #000; + background-color: #fff; + /* transform-origin: bottom right; */ + transition: transform 0.25s ease-out; } nav ul li:hover::after { - transform: scaleX(0.7); - /* transform-origin: bottom left; */ + transform: scaleX(0.7); + /* transform-origin: bottom left; */ } nav ul li:hover { - transform: scale(1.1); + transform: scale(1.1); } nav ul li a:active { - color: #ccc; + color: #fff; } .introduction { - background-color: #EDC9AF; - /* height: 85vh; */ - display: flex; - padding: 7.5vh 10vw; - justify-content: space-between; + background-color: #edc9af; + /* height: 85vh; */ + display: flex; + padding: 7.5vh 10vw; + justify-content: space-between; } .intro-image { - /* height: 84vh; + /* height: 84vh; width: 30vw; */ - border: 1px solid white; - border-radius: 4% 4% 25% 4%; - max-width: 80%; - height: auto; - position: relative; + border: 1px solid white; + border-radius: 4% 4% 25% 4%; + max-width: 80%; + height: auto; + position: relative; } .intro-text { - color: #ccc; - width: 40vw; - margin-top: 20vh; + color: #fff; + width: 40vw; + margin-top: 20vh; } .intro-text .title { - margin-bottom: 30px; + margin-bottom: 30px; +} + +/* contact.html CSS starts here */ + +.contact { + background-color: #edc9af; + display: flex; + flex-direction: column; + /* justify-content: space-evenly; */ + align-items: center; + height: 100vh; +} + +.container{ + background-color: white; +} + +.container .content { + display: flex; + align-items: center; + justify-content: space-between; +} + +.container .content .left-side { + width: 25%; + height: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + margin-top: 15px; + position: relative; +} + +.content .left-side::before { + content: ''; + position: absolute; + height: 70%; + width: 2px; + right: -15px; + top: 50%; + transform: translateY(-50%); + background: #afafb6; +} + +.content .left-side .details { + margin: 14px; + text-align: center; +} + +.content .left-side .details i { + font-size: 30px; + color: #3e2093; + margin-bottom: 10px; +} + +.content .left-side .details .topic { + font-size: 18px; + font-weight: 500; +} + +.content .left-side .details .text-one, +.content .left-side .details .text-two { + font-size: 14px; + color: #afafb6; +} + +.container .content .right-side { + width: 75%; + margin-left: 75px; +} + +.content .right-side .topic-text { + font-size: 23px; + font-weight: 600; + color: #1e1c21; +} + +.right-side .input-box { + height: 50px; + width: 100%; + margin: 12px 0; +} + +.right-side .input-box input, +.right-side .input-box textarea { + height: 100%; + width: 100%; + border: none; + outline: none; + font-size: 16px; + background: #f0f1f8; + border-radius: 6px; + padding: 0 15px; + resize: none; +} + +.right-side .message-box { + min-height: 110px; +} + +.right-side .input-box textarea { + padding-top: 6px; +} + +.right-side .button { + display: inline-block; + margin-top: 12px; +} + +.right-side .button input[type='button'] { + color: #fff; + font-size: 18px; + outline: none; + border: none; + padding: 8px 16px; + border-radius: 6px; + background: #3e2093; + cursor: pointer; + transition: all 0.3s ease; +} + +.button input[type='button']:hover { + background: #5029bc; } @@ -246,49 +374,63 @@ nav ul li a:active { } @media (max-width: 950px) { - .container { - width: 90%; - padding: 30px 40px 40px 35px; - } - .container .content .right-side { - width: 75%; - margin-left: 55px; - } + .container { + width: 90%; + padding: 30px 40px 40px 35px; + } + .container .content .right-side { + width: 75%; + margin-left: 55px; + } - .intro-text { - margin-top: 5px; - } + .intro-text { + margin-top: 5px; + } + } + @media (max-width: 820px) { - .container { - margin: 40px 0; - height: 100%; - } - .intro-text { - margin-top: 140px; - } - .container .content { - flex-direction: column-reverse; - } - .container .content .left-side { - width: 100%; - flex-direction: row; - margin-top: 40px; - justify-content: center; - flex-wrap: wrap; - } - .container .content .left-side::before { - display: none; - } - .container .content .right-side { - width: 100%; - margin-left: 0; + .container { + margin: 40px 0; + height: 100%; + } + .intro-text { + margin-top: 140px; } - .intro-image { - margin-top: 195px; - position: relative; - } + .container .content { + flex-direction: column-reverse; + } + .container .content .left-side { + width: 100%; + flex-direction: row; + margin-top: 40px; + justify-content: center; + flex-wrap: wrap; + } + .container .content .left-side::before { + display: none; + } + .container .content .right-side { + width: 100%; + margin-left: 0; + } + .intro-image { + margin-top: 195px; + position: relative; + } +} + +.activities { + background-color: #edc9af; + display: flex; + flex-direction: column; + /* justify-content: space-between; */ + min-height: 100vh; +} + +.activities1 { + margin-top: 7%; } .activities { @@ -306,98 +448,98 @@ nav ul li a:active { /* Footer */ -footer { - display: flex; - justify-content: space-around; - background-color: #22B9A8; - padding: 1rem 0; - font-weight: 600; +footer { + display: flex; + justify-content: space-around; + background-color: #22b9a8; + padding: 1rem 0; + font-weight: 600; + width: 100%; } .flex-col { - display: flex; - flex-direction: column; - justify-content: center; - align-items: flex-start; - text-align: left; - gap: 1rem; + display: flex; + flex-direction: column; + justify-content: center; + align-items: flex-start; + text-align: left; + gap: 1rem; } .about p { - opacity: 0.7; - display: flex; - align-items: center; + opacity: 0.7; + display: flex; + align-items: center; } .about img { - width: 1.5rem; - height: 1.5rem; - padding-right: 5px; + width: 1.5rem; + height: 1.5rem; + padding-right: 5px; } .about--address { - width: 50%; + width: 50%; } .social-media-icons { - font-size: 1.5rem; + font-size: 1.5rem; } .icons { - display: flex; - gap: 1rem; + display: flex; + gap: 1rem; } .icons img { - height: 1.5rem; - width: 1.5rem; + height: 1.5rem; + width: 1.5rem; } /* Media queries */ @media (max-width: 768px) { - footer { - flex-direction: column; - align-items: center; - text-align: center; - word-break: break-all; - } - - .footer .flex-col { - align-items: center; - margin-bottom: 1em; - - } - - .about--address { - width: 100%; - text-align: center; - } - - nav a.icon { - display: block; - margin-right: 15px; - color: white; - } - - nav ul { - display: none; - } - - #navbar ul.mobileNav.mobileVisible { - display: flex; - flex-direction: column; - align-items: center; - background-color: #22B9A8; - height: 30vh; - justify-content: space-evenly; - } - - #navbar ul.mobileNav.mobileVisible li { - list-style-type: none; - } - - #navbar ul.mobileNav.mobileVisible li a { - text-decoration: none; - color: white; - } -} \ No newline at end of file + footer { + flex-direction: column; + align-items: center; + text-align: center; + word-break: break-all; + } + + .footer .flex-col { + align-items: center; + margin-bottom: 1em; + } + + .about--address { + width: 100%; + text-align: center; + } + + nav a.icon { + display: block; + margin-right: 15px; + color: white; + } + + nav ul { + display: none; + } + + #navbar ul.mobileNav.mobileVisible { + display: flex; + flex-direction: column; + align-items: center; + background-color: #22b9a8; + height: 30vh; + justify-content: space-evenly; + } + + #navbar ul.mobileNav.mobileVisible li { + list-style-type: none; + } + + #navbar ul.mobileNav.mobileVisible li a { + text-decoration: none; + color: white; + } +} diff --git a/assets/images/faviconn.png b/assets/images/faviconn.png new file mode 100644 index 0000000..e35ac5c Binary files /dev/null and b/assets/images/faviconn.png differ diff --git a/contact.html b/contact.html index 842d87d..535dcdf 100644 --- a/contact.html +++ b/contact.html @@ -1,115 +1,171 @@ - + - - - - - + + + + RBJKS::Contact - - - - - + + + + + + + - + -
+
+
-
-
-

Contact Info

-
    -
  • - - PO Jassur, Tehsil - Nurpur,
    - District - Kangra, HP,
    - 176201
    - -
  • -
  • - - RBJKS.info@gmail.com -
  • -
  • - - +91 9418151074 -
  • - -
-
-
    -
  • - -
  • -
  • - -
  • -
+ +
+

Send a Message

+
+
+ + First Name +
+
+ + Last Name +
+
+ + Email Address +
+
+ + Mobile Number +
+
+ + Write your message here... +
+
+ +
-
-

Send a Message

-
-
- - First Name -
-
- - Last Name -
-
- - Email Address -
-
- - Mobile Number -
-
- - Write your message here... -
-
- -
-
-
-
- +
+ +
+ - - \ No newline at end of file + + + + diff --git a/images.json b/images.json new file mode 100644 index 0000000..fd07d24 --- /dev/null +++ b/images.json @@ -0,0 +1,40 @@ +{ + "images": [ + { + "url": "https://via.placeholder.com/300", + "caption": "Placeholder Image 1" + }, + { + "url": "https://via.placeholder.com/350", + "caption": "Placeholder Image 2" + }, + { + "url": "https://via.placeholder.com/400", + "caption": "Placeholder Image 3" + }, + { + "url": "https://via.placeholder.com/450", + "caption": "Placeholder Image 4" + }, + { + "url": "https://via.placeholder.com/500", + "caption": "Placeholder Image 5" + }, + { + "url": "https://via.placeholder.com/500", + "caption": "Placeholder Image 5" + }, + { + "url": "https://via.placeholder.com/500", + "caption": "Placeholder Image 5" + }, + { + "url": "https://via.placeholder.com/500", + "caption": "Placeholder Image 5" + }, + { + "url": "https://via.placeholder.com/500", + "caption": "Placeholder Image 5" + } + ] +} diff --git a/index.html b/index.html index 8f6d9b9..d90609c 100644 --- a/index.html +++ b/index.html @@ -1,71 +1,154 @@ - + - - - - - + + + + RBJKS::Home - - - + + + + - +
-
- -
-
-

Ranjeet Bakhshi Jan Kalyan Sabha

-

- An NGO set up in Nurpur, Himachal Pradesh, Ranjeet Bakhshi Jan Kalyan Sabha (RBJKS) aims to solve local community issues by means of organic crowdfunding.

-
- +
+ +
+
+

+ Ranjeet Bakhshi Jan Kalyan Sabha +

+

+ An NGO set up in Nurpur, Himachal Pradesh, Ranjeet Bakhshi Jan Kalyan + Sabha (RBJKS) aims to solve local community issues by means of organic + crowdfunding. +

+
- - - - \ No newline at end of file + + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..3a0fb0c --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1492 @@ +{ + "name": "rbjks.github.io", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "rbjks.github.io", + "devDependencies": { + "concurrently": "8.2.2", + "husky": "8.0.3", + "lint-staged": "15.2.0", + "prettier": "3.1.1", + "prettier-plugin-packagejson": "2.4.9" + }, + "engines": { + "node": ">=20.0.0 <21.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.7.tgz", + "integrity": "sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.0.tgz", + "integrity": "sha512-Zwq5OCzuwJC2jwqmpEQt7Ds1DTi6BWSwoGkbb1n9pO3hzb35BoJELx7c0T23iDkBGkh2e7tvOtjF3tr3OaQHDQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/ansi-escapes": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz", + "integrity": "sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==", + "dev": true, + "dependencies": { + "type-fest": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dev": true, + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "dev": true, + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/concurrently": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz", + "integrity": "sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.2", + "date-fns": "^2.30.0", + "lodash": "^4.17.21", + "rxjs": "^7.8.1", + "shell-quote": "^1.8.1", + "spawn-command": "0.0.2", + "supports-color": "^8.1.1", + "tree-kill": "^1.2.2", + "yargs": "^17.7.2" + }, + "bin": { + "conc": "dist/bin/concurrently.js", + "concurrently": "dist/bin/concurrently.js" + }, + "engines": { + "node": "^14.13.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/detect-indent": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-7.0.1.tgz", + "integrity": "sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==", + "dev": true, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/detect-newline": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-4.0.1.tgz", + "integrity": "sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true + }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", + "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", + "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-hooks-list": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-3.1.0.tgz", + "integrity": "sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==", + "dev": true, + "funding": { + "url": "https://github.com/fisker/git-hooks-list?sponsor=1" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dev": true, + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/husky": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", + "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "dev": true, + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/ignore": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/lilconfig": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/lint-staged": { + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.0.tgz", + "integrity": "sha512-TFZzUEV00f+2YLaVPWBWGAMq7So6yQx+GG8YRMDeOEIf95Zn5RyiLMsEiX4KTNl9vq/w+NqRJkLA1kPIo15ufQ==", + "dev": true, + "dependencies": { + "chalk": "5.3.0", + "commander": "11.1.0", + "debug": "4.3.4", + "execa": "8.0.1", + "lilconfig": "3.0.0", + "listr2": "8.0.0", + "micromatch": "4.0.5", + "pidtree": "0.6.0", + "string-argv": "0.3.2", + "yaml": "2.3.4" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/listr2": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.0.0.tgz", + "integrity": "sha512-u8cusxAcyqAiQ2RhYvV7kRKNLgUvtObIbhOX2NCXqvp1UU32xIg5CT22ykS2TPKJXZWJwtK3IKLiqAGlGNE+Zg==", + "dev": true, + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.0.0", + "rfdc": "^1.3.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/log-update": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz", + "integrity": "sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==", + "dev": true, + "dependencies": { + "ansi-escapes": "^6.2.0", + "cli-cursor": "^4.0.0", + "slice-ansi": "^7.0.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "dev": true, + "dependencies": { + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/npm-run-path": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", + "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/prettier": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", + "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-packagejson": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.4.9.tgz", + "integrity": "sha512-b3Q7agXVqxK3UpYEJr0xLD51SxriYXESWUCjmxOBUGqnPFZOg9jZGZ+Ptzq252I6OqzXN2rj1tJIFq6KOGLLJw==", + "dev": true, + "dependencies": { + "sort-package-json": "2.6.0", + "synckit": "0.9.0" + }, + "peerDependencies": { + "prettier": ">= 1.16.0" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + } + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/sort-object-keys": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", + "integrity": "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==", + "dev": true + }, + "node_modules/sort-package-json": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-2.6.0.tgz", + "integrity": "sha512-XSQ+lY9bAYA8ZsoChcEoPlgcSMaheziEp1beox1JVxy1SV4F2jSq9+h2rJ+3mC/Dhu9Ius1DLnInD5AWcsDXZw==", + "dev": true, + "dependencies": { + "detect-indent": "^7.0.1", + "detect-newline": "^4.0.0", + "get-stdin": "^9.0.0", + "git-hooks-list": "^3.0.0", + "globby": "^13.1.2", + "is-plain-obj": "^4.1.0", + "sort-object-keys": "^1.1.3" + }, + "bin": { + "sort-package-json": "cli.js" + } + }, + "node_modules/spawn-command": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", + "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", + "dev": true + }, + "node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-width": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz", + "integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==", + "dev": true, + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/synckit": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.0.tgz", + "integrity": "sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==", + "dev": true, + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..3dbed5a --- /dev/null +++ b/package.json @@ -0,0 +1,27 @@ +{ + "name": "rbjks.github.io", + "private": true, + "description": "Access this website at https://rbjks.github.io/index.html", + "sideEffects": false, + "type": "module", + "scripts": { + "fix": "concurrently --kill-others-on-fail --prefix-colors \"auto\" \"npm:fix:*\"", + "fix:prettier": "prettier --ignore-unknown --cache --write .", + "lint": "concurrently --prefix-colors \"auto\" \"npm:lint:*\"", + "lint:prettier": "prettier --ignore-unknown --cache --check .", + "prepare": "husky install" + }, + "devDependencies": { + "concurrently": "8.2.2", + "husky": "8.0.3", + "lint-staged": "15.2.0", + "prettier": "3.1.1", + "prettier-plugin-packagejson": "2.4.9" + }, + "engines": { + "node": ">=20.0.0 <21.0.0" + }, + "volta": { + "node": "20.10.0" + } +} diff --git a/script/main.js b/script/main.js index 4866faa..5c44321 100644 --- a/script/main.js +++ b/script/main.js @@ -1,24 +1,23 @@ var prefLanguage = 'en'; //https://stackoverflow.com/questions/16206322/how-to-get-js-variable-to-retain-value-after-page-refresh -var translateElements = document.querySelectorAll('.translate') -var htmlParent = document.querySelector('html') -var navbarlist = document.querySelector('#navbar ul.mobileNav') +var translateElements = document.querySelectorAll('.translate'); +var htmlParent = document.querySelector('html'); +var navbarlist = document.querySelector('#navbar ul.mobileNav'); //var englishElements = document.querySelectorAll('.translate') //var hindiElements = document.querySelectorAll('[lang = hi]') window.onload = () => { - console.log(prefLanguage); - if(prefLanguage != 'en') - changelanguage(); - } - -function changelanguage(){ - prefLanguage = prefLanguage == 'en'? 'hi': 'en'; - htmlParent.lang = prefLanguage; - translateElements.forEach(el => swap(el)); - /* + console.log(prefLanguage); + if (prefLanguage != 'en') changelanguage(); +}; + +function changelanguage() { + prefLanguage = prefLanguage == 'en' ? 'hi' : 'en'; + htmlParent.lang = prefLanguage; + translateElements.forEach((el) => swap(el)); + /* prefLanguage = lang; if(prefLanguage == 'en'){ makeEnglish(); @@ -31,29 +30,59 @@ function changelanguage(){ } function makeEnglish() { - //hindiElements.forEach(el => el.style.display = "none"); - //englishElements.forEach(el => el.style.display = "unset"); + //hindiElements.forEach(el => el.style.display = "none"); + //englishElements.forEach(el => el.style.display = "unset"); } function makeHindi() { - //hindiElements.forEach(el => el.style.display = "unset"); - //console.log(englishElements); - //englishElements.forEach(el => el.style.display = "none"); - //englishElements.forEach(el => swap(el)); + //hindiElements.forEach(el => el.style.display = "unset"); + //console.log(englishElements); + //englishElements.forEach(el => el.style.display = "none"); + //englishElements.forEach(el => swap(el)); } -function swap(el){ - var i = el.ariaLabel || el.innerText; - el.ariaLabel = el.innerText; - el.innerText = i; - +function swap(el) { + var i = el.ariaLabel || el.innerText; + el.ariaLabel = el.innerText; + el.innerText = i; } function toggleMobileNav() { - if(navbarlist.className==='mobileNav'){ - navbarlist.className+=" mobileVisible" - } - else{ - navbarlist.className='mobileNav'; - } -} \ No newline at end of file + if (navbarlist.className === 'mobileNav') { + navbarlist.className += ' mobileVisible'; + } else { + navbarlist.className = 'mobileNav'; + } +} + +// PULL IMAGES FROM 'imges.json' AND DISPLAY THEM +document.addEventListener('DOMContentLoaded', function () { + const gallery = document.getElementById('gallery'); + + // Fetch JSON data + fetch('images.json') + .then((response) => response.json()) + .then((data) => { + // Iterate through each image in the JSON + data.images.forEach((image) => { + // Create elements for image and caption + const item = document.createElement('div'); + item.classList.add('gallery-item'); + + const img = document.createElement('img'); + img.src = image.url; + img.alt = image.caption; + + const caption = document.createElement('p'); + caption.textContent = image.caption; + + // Append elements to the gallery + item.appendChild(img); + item.appendChild(caption); + gallery.appendChild(item); + }); + }) + .catch((error) => { + console.error('Error fetching data:', error); + }); +});