diff --git a/components/Asyncapi3Comparison/Asyncapi3IdAndAddressComparison.tsx b/components/Asyncapi3Comparison/Asyncapi3IdAndAddressComparison.tsx index 14ec15ee2bf5..34d42dfba969 100644 --- a/components/Asyncapi3Comparison/Asyncapi3IdAndAddressComparison.tsx +++ b/components/Asyncapi3Comparison/Asyncapi3IdAndAddressComparison.tsx @@ -33,13 +33,13 @@ export default function Asyncapi3IdAndAddressComparison({ className = '' }: Asyn

AsyncAPI 2.x

handleMouseEnter('Paths')} onMouseLeave={() => handleMouseLeave('Paths')} > Channels
handleMouseEnter('PathItem')} onMouseLeave={() => handleMouseLeave('PathItem')} > @@ -52,13 +52,13 @@ export default function Asyncapi3IdAndAddressComparison({ className = '' }: Asyn

AsyncAPI 3.0

handleMouseEnter('Paths')} onMouseLeave={() => handleMouseLeave('Paths')} > Channels
handleMouseEnter('PathItem')} onMouseLeave={() => handleMouseLeave('PathItem')} > diff --git a/components/CommunityEvents.tsx b/components/CommunityEvents.tsx new file mode 100644 index 000000000000..8c802d3278ed --- /dev/null +++ b/components/CommunityEvents.tsx @@ -0,0 +1,48 @@ +import React, { useState } from 'react'; + +import EventFilter from '@/components/navigation/EventFilter'; +import EventPostItem from '@/components/navigation/EventPostItem'; +import Heading from '@/components/typography/Heading'; +import Paragraph from '@/components/typography/Paragraph'; +import meetings from '@/config/meetings.json'; +import type { Event } from '@/types/pages/community/Community'; +import { HeadingLevel, HeadingTypeStyle } from '@/types/typography/Heading'; +import { ParagraphTypeStyle } from '@/types/typography/Paragraph'; +import { getEvents } from '@/utils/staticHelpers'; + +/** + * CommunityEvents component for displaying all events + */ +const CommunityEvents = () => { + const [events, setEvents] = useState(getEvents(meetings)); + + return ( +
+
+ + All Events + +
+ +
+
+
+ {!events || events.length === 0 ? ( +
+ + No Events. Check back later! + +
+ ) : ( +
    + {events.map((event: Event, index: number) => { + return ; + })} +
+ )} +
+
+ ); +}; + +export default CommunityEvents; diff --git a/components/Meeting.tsx b/components/Meeting.tsx index 41bb90dd0fb4..537c154c50d6 100644 --- a/components/Meeting.tsx +++ b/components/Meeting.tsx @@ -1,5 +1,5 @@ import { ArrowRightIcon } from '@heroicons/react/outline'; -import React from 'react'; +import React, { useEffect, useState } from 'react'; import { ParagraphTypeStyle } from '@/types/typography/Paragraph'; @@ -34,6 +34,14 @@ export default function Meeting({ youtube = '', bg = '' }: MeetingProps) { + const [isClient, setIsClient] = useState(false); + + useEffect(() => { + setIsClient(true); + }, []); + + if (!isClient) return null; + return (
+ +- **[Mintu Gogoi](https://github.com/Gmin2)** and **[Yuan Yuan](https://github.com/lmgyuan)** focused on the AsyncAPI Generator project, resolving existing issues and bugs, triaging new ones, improving code through refactoring, and writing tests. Yuan shared their GSoC experience during the online edition of the [AsyncAPI Conference](https://conference.asyncapi.com/). + + +- **[Ashmit JaiSarita Gupta](https://github.com/devilkiller-ag)** developed a UI kit for the AsyncAPI website, based on the stunning designs by **[Aishat Muibudeen](https://github.com/mayaleeeee)**. By using Storybook, Ashmit ensured brand visual consistency and created a modular, easy-to-maintain design system that streamlined further development. + +- **[Esther Xiao](https://github.com/FelicixAwe)** is making significant improvements to the AsyncAPI VS Code extension by introducing an autofix feature. This enhancement helps streamline the editing process by automatically resolving common Spectral linting errors directly within the IDE. + +Each of these project ideas tackles key challenges within their respective repositories, bringing the initiative closer to its mission of fostering exponential community growth. + +We’re also beginning to see promising signs of these projects attracting long-term contributors, not only from this year’s GSoC participants but also from the broader AsyncAPI community. + +## An Unexpected Turn of Event + +Sometimes, things happen that are beyond your control, and that’s exactly what happened during the final phase of this year’s program. + +At AsyncAPI, we recognize that a project's final pull request may not always be merged within the program’s duration. This often serves as an opportunity to encourage participants to stay engaged and contribute beyond the program timeline. + +Here’s what happened: after successfully passing the final evaluation, one of our contributors announced on social media that their project was complete. However, their pull request was still under review by the mentor. While the mentor had passed the contributor during the evaluation due to the program’s deadlines and acknowledged their consistent hard work, they found the announcement to be unprofessional. + +Thanks to the mentor’s awareness, the contributor quickly removed the post and issued a heartfelt apology to both the mentor and the organizers. + +In light of this, we’d like to remind future GSoC participants and contributors in similar programs to avoid declaring your project “complete” until your final pull request has been merged and your mentor has confirmed the project’s completion. Let’s strive for professionalism and clarity in our contributions. + +## The Sad Story + +Every year, when applying for GSoC, we’ve taken a two-way approach which is, applying as an independent organization while also submitting some AsyncAPI project ideas under Postman’s application just in case we weren’t selected. This year was no different, but we were fortunate enough to have both organizations accepted, giving us the flexibility to push all seven of our project ideas forward. + +Now, you might be wondering how is this even possible. Well, a few of us were employed by Postman specifically to work on AsyncAPI, which allowed us to coordinate participation for both organizations. With Postman’s higher likelihood of being selected, it made sense to submit some AsyncAPI ideas under their umbrella. + +What we didn’t foresee, however, was the sudden change of things. Postman unexpectedly laid off the entire AsyncAPI team, which not only marked the end of our roles there but also brought Postman’s participation in GSoC to a halt(possibly for future years as well). In light of this, GSoC organizers transferred all AsyncAPI-related projects from Postman to AsyncAPI, ensuring they continued under our banner. + +This turn of events means that moving forward, our participation in GSoC rests entirely on our ability to be selected as an independent organization. What if we don’t get selected next year? While that’s a possibility, I choose to remain optimistic. If we make it this year, we can do it again. And even if we aren’t selected, we have the AsyncAPI Mentorship Program, a program we created for moments like this. You can read more about why we started our mentorship program [here](https://www.asyncapi.com/blog/beyond-boundaries). + +This sudden change has made us face unexpected challenges as individuals, but we’re stronger, more determined, and deeply committed to our mission of fostering growth in the AsyncAPI community. + +## Tips for further participants + +While I believe that reaching for the stars is just the beginning for us as an open-source community, and with even more exciting project ideas lined up for future GSoC programs at AsyncAPI, here are some valuable tips for contributors aspiring to participate in GSoC with us: + +- **Start Early and Engage with the Community:** Over the years, contributors who actively engage with the AsyncAPI community before GSoC even begins tend to have better chances of being selected. Early engagement allows you to build connections, understand the community’s needs, and showcase your commitment. It also helps you stand out to potential mentors and other contributors. + +- **Respect Maintainers’ Time:** Remember, maintainers and mentors are often juggling multiple responsibilities, including their professional roles. Be mindful of their time by doing your homework before asking questions. Read available documentation, search for existing discussions, and ask clear questions when you need help. This respectful approach makes a strong impression. + +- **Focus on Quality Over Quantity:** Avoid making superficial contributions just to show activity. Mentors value meaningful, impactful contributions over sheer numbers. It doesn’t matter if you’ve only contributed to the website repo instead of the generator repo, what counts is the thoughtfulness and effort behind your work. + +- **Participate Beyond Code Contributions:** Being a successful GSoC contributor isn’t just about writing code. Engage in discussions, provide feedback on other contributions, and help answer questions from community members. Demonstrating your willingness to contribute in diverse ways shows your dedication to the community. + +- **Set Clear Project Timelines and Deliverables:** When preparing your GSoC proposal, ensure your timeline is realistic and achievable. Break your project into smaller milestones with clear deliverables for each phase. This demonstrates your organizational skills and helps mentors see your plan for success. + +- **Communicate Clearly and Effectively:** Good communication is key. Keep your mentors and the community updated on your progress, ask thoughtful questions, and don’t hesitate to seek guidance. Be proactive in addressing issues and responsive to feedback. Helping others in the community can also set you apart as a standout contributor. + +- **Seek and Act on Feedback:** Throughout the program, regularly request feedback from mentors and implement it into your work. Showing that you can learn, adapt, and improve is a critical skill that mentors highly value. + +By following these tips, you’ll not only increase your chances of being selected but also leave a lasting positive impact on the AsyncAPI community. + +## Special Shoutouts + + + +We want to take a moment to extend our gratitude to the mentors above, whose dedication to the program made them go above and beyond to support and pass on their knowledge and forge meaningful relationships with our mentees. This program would not be possible without their unwavering support. + +A special shoutout goes to Postman, who has always allowed us to push some of our project ideas under their umbrella over the last few years, while it's sad to see this come to an end, we love and appreciate the opportunities, and the community as a whole will never take it for granted. + +A special thanks to Google for their belief in Free and Open Source Software (FOSS), for making this program possible every year as a show of their support to the open source ecosystem, and for allowing organizations like ours to bring passionate contributors and mentors to collaborate on a project all for the love of opensource. + +Finally, a wonderful shout to [Stephanie Taylor](https://www.linkedin.com/in/stephaniertaylor/), the incredible program manager of Google Summer of Code, for her unwavering support during the transition of our projects after Postman’s departure. Her assistance with transferring mentor stipends to our preferred account was phenomena, and we truly appreciate her dedication and guidance! + + +## Closing Remark + +If you’re considering joining GSoC with AsyncAPI next year, we encourage you to hop into our [Slack community](https://asyncapi.com/slack-invite) and say hello in the **#mentorship** channel. We’re always excited to welcome new contributors and mentors into our growing family. + +We’re already looking forward to next year’s program and are committed to using this year’s lessons to make the experience even better. + +Until then, see you all next year, and stay connected! ✌🏾 \ No newline at end of file diff --git a/markdown/blog/2024-marketing-report.md b/markdown/blog/2024-marketing-report.md new file mode 100644 index 000000000000..434d796c3253 --- /dev/null +++ b/markdown/blog/2024-marketing-report.md @@ -0,0 +1,182 @@ +--- +title: "Marketing Report: December 2024" +date: 2024-12-19T06:00:00+01:00 +type: Communication +tags: + - Project Status +cover: /img/posts/marketing-images/marketing-wg.webp +authors: + - name: Atinuke Oluwabamikemi Kayode + photo: /img/avatars/bami.webp + link: https://www.linkedin.com/in/atinuke-oluwabamikemi-kayode-5b838b1b7/ + byline: AsyncAPI Community Marketing Specialist +excerpt: 'A comprehensive review of AsyncAPI Marketing Working Group achievements in 2024, including social media growth, store closure updates, and future initiatives like the Student Ambassador Program' +featured: true +--- + + +Hello, everyone! I'm Bami, I’m the Community Marketing Specialist at the AsyncAPI Initiative, and I'm honored to serve as the Chair of the AsyncAPI Marketing Working Group. This role has allowed me to develop a unique perspective on how we can connect and inspire our community, build awareness for AsyncAPI, and further enhance our presence in the ecosystem. I’d like to share an overview of what we’ve been working on for the past six months, the initiatives currently underway, and our plans for the future. + +## Overview of the Marketing Working Group + +The Marketing Working Group (MWG) is the driving force behind the AsyncAPI Initiative’s external engagement, community growth, and brand awareness efforts. Our mission is to encourage an active, informed, and passionate community by promoting the tools, resources, and stories that make AsyncAPI unique. +Some of the things we aim to accomplish: + +- **Increase Awareness:** Develop and implement targeted campaigns to introduce AsyncAPI to a broader audience and create a clear understanding of our mission. + +- **Build Engagement:** Design strategies to strengthen our community’s connection, enhance involvement, and showcase the powerful contributions of our members. + +- **Highlight Impact:** Share stories, case studies, and successes from the community to inspire and inform potential contributors, users, and partners. + +- **Drive Growth:** Attract new users, contributors, and partners through partnerships, events, and online activities that underscore AsyncAPI’s value in the tech landscape. +By aligning our goals with AsyncAPI’s mission, the MWG seeks to empower both seasoned and new members to engage deeply with the initiative. + +Below is a summary of what we’ve accomplished this year and our priorities moving forward. + +## Accomplishments and Milestones +We’ve focused on laying the groundwork for long-term growth and engagement for the last six months. Our marketing initiatives have been designed to elevate AsyncAPI’s visibility, simplify our communication strategy, and ensure we’re prepared to grow alongside our community. + +Here’s a summary of what we’ve done so far: +- Launched targeted social media campaigns that reached 5,031 impressions, supported by our community of designers: + - #AsyncAPIParis2024 campaign + - #YourAsyncAPIStory celebrating AsyncAPI at 8 + +- Held successful [online event](https://www.youtube.com/watch?v=XGn8v0yBfOI) that engaged and informed over 350 community members and prospective contributors + +- Implemented regular content updates on our platforms to keep followers informed and engaged + +- Proposed the Student Ambassador Program initiative that aims to bring more attention to AsyncAPI's mission and tools, further building our presence and strengthening community ties + +## Implementing Buffer for Social Media Management + +To improve the efficiency and security of our social media management, we’ve introduced a paid version of Buffer for posting content across our platforms. This change enables us to streamline content scheduling, ensuring consistent, professional updates without compromising security. Importantly, using Buffer restricts access to the main social media accounts, adding a layer of protection and allowing us to manage permissions efficiently. + +Here are some of the benefits of using the Buffer subscription +- **Centralized Dashboard:** Manage all social media platforms from a single interface, making tracking and organizing content easier. +- **Improved Security:** No need for multiple people to log into the actual social media accounts. This minimizes the risks of unauthorized changes or breaches. +- **Better Analytics and Insights:** Access in-depth analytics to understand which posts perform and engagement metrics best and adjust strategies accordingly. +- **Content Approval Workflow:** Allow team members to draft posts for review, ensuring high-quality content that aligns with AsyncAPI’s voice. + + +Please note that I currently do not have direct access to AsyncAPI’s social media accounts. Buffer provides an effective solution for posting content, monitoring performance, and maintaining the high standards of AsyncAPI's public presence without broad access. + +As part of the benefit of using Buffer, we have access to our social media analytics. Below are the analytics for LinkedIn from January 1st to December 12th, 2024. + + + +
+ + +
+ + + + +In 2024, our LinkedIn performance saw impressive growth: a 48% increase in followers (3,910 total), 104% more impressions (100,328), and 91% more new followers (911). Engagement soared with a 219% rise in clicks (4,295 total) and a 9% improved engagement rate (5.32%). We also published 44% more posts (233), highlighting consistent content efforts. + + +Tracking our performance on X (formally Twitter) has not been easy. Buffer does not have access to historical data. We can see numbers that show our performance since we connected Buffer in September, but we do not have historical data to demonstrate performance improvements. + + + + +## Closing the Online Store + +One significant change is the closure of our online store. After reviewing our budget allocations, it was clear that the store was not generating sufficient activity to justify its expenses. This decision allows us to redirect funds towards initiatives that better serve the community and our core goals. We’re considering alternative ways to share AsyncAPI merchandise in the future that are more cost-effective and in line with our community needs. + +As of June 2024, the items in the store were 2383. The goal was to disburse all of the items by December 2024. + + +
+ + + Below is the breakdown of the item distribution and what we have left in the store. + +- **Paris Conference:** 1518 items sent to Paris as part of conference giveaways, speakers package, and the rest to be given to the ambassadors to help them promote AsyncAPI in their communities. + +- **London Conference:** 335 items shared with attendees and speakers + +- **TSC Members:** 40 items packed for the TSC members to acknowledge their contributions to the community. + +- **Mentors and Mentees:** 30 items distributed to mentors and mentees as tokens of appreciation for their participation in the mentorship program + +- **Ambassadors:** 2 packages were sent to two new ambassadors, each containing 11 items. + +- **Community Events and Giveaways:** 25 items for various online and offline events throughout the year. + +So far, $8,264.37 has been spent on maintaining the store and logistics. As part of the benefit of closing the store, merchandise will be made locally at the event location, and others will be made as per request. [You can find all the information on the distribution board](https://docs.google.com/spreadsheets/d/1K7xo-ihlHcVoSYRg1U6SsvQDreEF1S6z/r/edit/edit?gid=1275706868#gid=1275706868). + + + +
+ + + +[For more details on the store expenses, please go through our Open Collective page](https://opencollective.com/asyncapi/expenses?type=INVOICE&period=2023-12-31T23%3A00%3A00.000Z%E2%86%92all&searchTerm=Pinnacle+Branding&offset=0&limit=10) + + +## Marketing Strategy Document and Student Ambassador Program + +To guide our efforts, we're currently developing a comprehensive Strategy Document (PR [#1358](https://github.com/asyncapi/community/pull/1358)) that will outline our objectives, priorities, and target initiatives. Once finalized, the document will guide our upcoming campaigns, events, and community engagement efforts. + +Additionally, we are planning to introduce the [Student Ambassador Program](https://github.com/asyncapi/community/pull/1333), which aims to nurture future AsyncAPI advocates and contributors at the student level. The program will offer students guidance, resources, and community connections to help them grow within the AsyncAPI ecosystem. We believe this will strengthen our community and ensure that AsyncAPI remains a go-to resource for emerging talent. + +## Community Growth and Future Focus Areas + +Our community has continued to grow steadily, with increasing participation in events, discussions, and open-source contributions. This growth underscores the need for a well-coordinated strategy that both attracts new members and retains existing contributors. +Looking forward, we’ll focus on: + +- **Implementing the Strategy Document:** Utilizing our strategic roadmap to guide all our activities and initiatives + +- **Launching the Student Ambassador Program:** Engaging students worldwide to represent and support AsyncAPI within their schools and networks + +- **Promotions and Partnerships:** Expanding AsyncAPI’s reach through strategic partnerships and new promotional efforts + +- **Enhanced Engagement with the Community:** Creating more opportunities for community members to participate, share ideas, and grow their skills + +With these focus areas, we’re confident that AsyncAPI will continue to expand its influence and provide valuable support to both seasoned and new community members. + +## Sponsor Involvement in the Marketing Working Group + +The Marketing Working Group thrives on collaboration, and we’re fortunate to have active participation from representatives of our sponsors, including [Christophe Dujarric](https://www.linkedin.com/in/christophedujarric/) from [Bump.sh](https://bump.sh/) and [Georgie Burrows](https://www.linkedin.com/in/georgieburrows/) from [Gravitee.io](https://www.gravitee.io/). Their insights, ideas, and expertise are invaluable in shaping the group’s direction and ensuring that AsyncAPI’s marketing strategies align with the broader goals of our sponsors and the community. + +## Who can Join the Marketing Working Group? + +The working group is designed to be inclusive and welcoming, not just for sponsor representatives, but also for any community members who wish to contribute. + + +This collaborative approach ensures that diverse perspectives guide our efforts and allows the Marketing Working Group to act as a bridge between AsyncAPI’s community and its stakeholders. We'd love to hear from you if you have ideas or want to contribute! + + +## Conclusion + +This report highlights the strides made by the AsyncAPI Marketing Working Group, including targeted campaigns, streamlined social media management with Buffer, impactful merchandise distribution, the development of a comprehensive strategy document, and the proposal of a Student Ambassador Program. We've also made strategic decisions, such as closing the online store, to optimize our budget for initiatives that deliver greater value to the community. + +Looking ahead, our focus will be on implementing the strategy document, fostering community growth, launching the Student Ambassador Program, and driving impactful promotions and partnerships. These efforts aim to strengthen the AsyncAPI ecosystem and create meaningful opportunities for collaboration and engagement. + + +If you have any questions, suggestions, or ideas, please feel free to reach out to me on Slack [Atinuke (Bami) Kayode](https://asyncapi.slack.com/team/U070DE02VQX). + + + + diff --git a/package-lock.json b/package-lock.json index 726af180566c..dc51c2298d22 100644 --- a/package-lock.json +++ b/package-lock.json @@ -48,7 +48,7 @@ "md5": "^2.3.0", "mermaid": "9.3.0", "moment": "^2.30.1", - "next": "14.2.12", + "next": "14.2.20", "next-i18next": "^15.3.0", "next-language-detector": "^1.1.0", "next-mdx-remote": "^4.4.1", @@ -74,7 +74,7 @@ "remark-heading-id": "^1.0.1", "remark-images": "^4.0.0", "remark-slug": "^7.0.1", - "schyma": "^1.0.4", + "schyma": "^1.0.7", "swiper": "^11.0.7", "tailwind-merge": "^2.2.1", "tailwindcss": "^3.4.3", @@ -2413,6 +2413,24 @@ "yarn": ">=1.22.18" } }, + "node_modules/@dagrejs/dagre": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@dagrejs/dagre/-/dagre-1.1.4.tgz", + "integrity": "sha512-QUTc54Cg/wvmlEUxB+uvoPVKFazM1H18kVHBQNmK2NbrDR5ihOCR6CXLnDSZzMcSQKJtabPUWridBOlJM3WkDg==", + "license": "MIT", + "dependencies": { + "@dagrejs/graphlib": "2.2.4" + } + }, + "node_modules/@dagrejs/graphlib": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@dagrejs/graphlib/-/graphlib-2.2.4.tgz", + "integrity": "sha512-mepCf/e9+SKYy1d02/UkvSy6+6MoyXhVxP8lLDfA7BPE1X1d4dR0sZznmbM8/XVJ1GPM+Svnx7Xj6ZweByWUkw==", + "license": "MIT", + "engines": { + "node": ">17.0.0" + } + }, "node_modules/@docsearch/css": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.0.tgz", @@ -4169,12 +4187,14 @@ "node_modules/@json-schema-spec/json-pointer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/@json-schema-spec/json-pointer/-/json-pointer-0.1.2.tgz", - "integrity": "sha512-BYY7IavBjwsWWSmVcMz2A9mKiDD9RvacnsItgmy1xV8cmgbtxFfKmKMtkVpD7pYtkx4mIW4800yZBXueVFIWPw==" + "integrity": "sha512-BYY7IavBjwsWWSmVcMz2A9mKiDD9RvacnsItgmy1xV8cmgbtxFfKmKMtkVpD7pYtkx4mIW4800yZBXueVFIWPw==", + "license": "MIT" }, "node_modules/@json-schema-tools/reference-resolver": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/@json-schema-tools/reference-resolver/-/reference-resolver-1.2.6.tgz", "integrity": "sha512-4QZu5ROb5EpLSvV+buzk8WR30W+dffSNaKqD3VGFYJ3y0BLDi2OHoSz5e6NKcLYTyUYXV8IKxocNOszeVBJI4Q==", + "license": "Apache-2.0", "dependencies": { "@json-schema-spec/json-pointer": "^0.1.2", "isomorphic-fetch": "^3.0.0" @@ -4829,9 +4849,9 @@ } }, "node_modules/@next/env": { - "version": "14.2.12", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.12.tgz", - "integrity": "sha512-3fP29GIetdwVIfIRyLKM7KrvJaqepv+6pVodEbx0P5CaMLYBtx+7eEg8JYO5L9sveJO87z9eCReceZLi0hxO1Q==" + "version": "14.2.20", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.20.tgz", + "integrity": "sha512-JfDpuOCB0UBKlEgEy/H6qcBSzHimn/YWjUHzKl1jMeUO+QVRdzmTTl8gFJaNO87c8DXmVKhFCtwxQ9acqB3+Pw==" }, "node_modules/@next/eslint-plugin-next": { "version": "14.1.0", @@ -4903,9 +4923,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.12", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.12.tgz", - "integrity": "sha512-crHJ9UoinXeFbHYNok6VZqjKnd8rTd7K3Z2zpyzF1ch7vVNKmhjv/V7EHxep3ILoN8JB9AdRn/EtVVyG9AkCXw==", + "version": "14.2.20", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.20.tgz", + "integrity": "sha512-WDfq7bmROa5cIlk6ZNonNdVhKmbCv38XteVFYsxea1vDJt3SnYGgxLGMTXQNfs5OkFvAhmfKKrwe7Y0Hs+rWOg==", "cpu": [ "arm64" ], @@ -4918,9 +4938,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.2.12", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.12.tgz", - "integrity": "sha512-JbEaGbWq18BuNBO+lCtKfxl563Uw9oy2TodnN2ioX00u7V1uzrsSUcg3Ep9ce+P0Z9es+JmsvL2/rLphz+Frcw==", + "version": "14.2.20", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.20.tgz", + "integrity": "sha512-XIQlC+NAmJPfa2hruLvr1H1QJJeqOTDV+v7tl/jIdoFvqhoihvSNykLU/G6NMgoeo+e/H7p/VeWSOvMUHKtTIg==", "cpu": [ "x64" ], @@ -4933,9 +4953,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.12.tgz", - "integrity": "sha512-qBy7OiXOqZrdp88QEl2H4fWalMGnSCrr1agT/AVDndlyw2YJQA89f3ttR/AkEIP9EkBXXeGl6cC72/EZT5r6rw==", + "version": "14.2.20", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.20.tgz", + "integrity": "sha512-pnzBrHTPXIMm5QX3QC8XeMkpVuoAYOmyfsO4VlPn+0NrHraNuWjdhe+3xLq01xR++iCvX+uoeZmJDKcOxI201Q==", "cpu": [ "arm64" ], @@ -4948,9 +4968,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.12.tgz", - "integrity": "sha512-EfD9L7o9biaQxjwP1uWXnk3vYZi64NVcKUN83hpVkKocB7ogJfyH2r7o1pPnMtir6gHZiGCeHKagJ0yrNSLNHw==", + "version": "14.2.20", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.20.tgz", + "integrity": "sha512-WhJJAFpi6yqmUx1momewSdcm/iRXFQS0HU2qlUGlGE/+98eu7JWLD5AAaP/tkK1mudS/rH2f9E3WCEF2iYDydQ==", "cpu": [ "arm64" ], @@ -4963,9 +4983,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.12.tgz", - "integrity": "sha512-iQ+n2pxklJew9IpE47hE/VgjmljlHqtcD5UhZVeHICTPbLyrgPehaKf2wLRNjYH75udroBNCgrSSVSVpAbNoYw==", + "version": "14.2.20", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.20.tgz", + "integrity": "sha512-ao5HCbw9+iG1Kxm8XsGa3X174Ahn17mSYBQlY6VGsdsYDAbz/ZP13wSLfvlYoIDn1Ger6uYA+yt/3Y9KTIupRg==", "cpu": [ "x64" ], @@ -4978,9 +4998,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.12.tgz", - "integrity": "sha512-rFkUkNwcQ0ODn7cxvcVdpHlcOpYxMeyMfkJuzaT74xjAa5v4fxP4xDk5OoYmPi8QNLDs3UgZPMSBmpBuv9zKWA==", + "version": "14.2.20", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.20.tgz", + "integrity": "sha512-CXm/kpnltKTT7945np6Td3w7shj/92TMRPyI/VvveFe8+YE+/YOJ5hyAWK5rpx711XO1jBCgXl211TWaxOtkaA==", "cpu": [ "x64" ], @@ -4993,9 +5013,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.12", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.12.tgz", - "integrity": "sha512-PQFYUvwtHs/u0K85SG4sAdDXYIPXpETf9mcEjWc0R4JmjgMKSDwIU/qfZdavtP6MPNiMjuKGXHCtyhR/M5zo8g==", + "version": "14.2.20", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.20.tgz", + "integrity": "sha512-upJn2HGQgKNDbXVfIgmqT2BN8f3z/mX8ddoyi1I565FHbfowVK5pnMEwauvLvaJf4iijvuKq3kw/b6E9oIVRWA==", "cpu": [ "arm64" ], @@ -5008,9 +5028,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.12", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.12.tgz", - "integrity": "sha512-FAj2hMlcbeCV546eU2tEv41dcJb4NeqFlSXU/xL/0ehXywHnNpaYajOUvn3P8wru5WyQe6cTZ8fvckj/2XN4Vw==", + "version": "14.2.20", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.20.tgz", + "integrity": "sha512-igQW/JWciTGJwj3G1ipalD2V20Xfx3ywQy17IV0ciOUBbFhNfyU1DILWsTi32c8KmqgIDviUEulW/yPb2FF90w==", "cpu": [ "ia32" ], @@ -5023,9 +5043,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.12", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.12.tgz", - "integrity": "sha512-yu8QvV53sBzoIVRHsxCHqeuS8jYq6Lrmdh0briivuh+Brsp6xjg80MAozUsBTAV9KNmY08KlX0KYTWz1lbPzEg==", + "version": "14.2.20", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.20.tgz", + "integrity": "sha512-AFmqeLW6LtxeFTuoB+MXFeM5fm5052i3MU6xD0WzJDOwku6SkZaxb1bxjBaRC8uNqTRTSPl0yMFtjNowIVI67w==", "cpu": [ "x64" ], @@ -5991,102 +6011,6 @@ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", "dev": true }, - "node_modules/@reactflow/background": { - "version": "11.3.13", - "resolved": "https://registry.npmjs.org/@reactflow/background/-/background-11.3.13.tgz", - "integrity": "sha512-hkvpVEhgvfTDyCvdlitw4ioKCYLaaiRXnuEG+1QM3Np+7N1DiWF1XOv5I8AFyNoJL07yXEkbECUTsHvkBvcG5A==", - "dependencies": { - "@reactflow/core": "11.11.3", - "classcat": "^5.0.3", - "zustand": "^4.4.1" - }, - "peerDependencies": { - "react": ">=17", - "react-dom": ">=17" - } - }, - "node_modules/@reactflow/controls": { - "version": "11.2.13", - "resolved": "https://registry.npmjs.org/@reactflow/controls/-/controls-11.2.13.tgz", - "integrity": "sha512-3xgEg6ALIVkAQCS4NiBjb7ad8Cb3D8CtA7Vvl4Hf5Ar2PIVs6FOaeft9s2iDZGtsWP35ECDYId1rIFVhQL8r+A==", - "dependencies": { - "@reactflow/core": "11.11.3", - "classcat": "^5.0.3", - "zustand": "^4.4.1" - }, - "peerDependencies": { - "react": ">=17", - "react-dom": ">=17" - } - }, - "node_modules/@reactflow/core": { - "version": "11.11.3", - "resolved": "https://registry.npmjs.org/@reactflow/core/-/core-11.11.3.tgz", - "integrity": "sha512-+adHdUa7fJSEM93fWfjQwyWXeI92a1eLKwWbIstoCakHpL8UjzwhEh6sn+mN2h/59MlVI7Ehr1iGTt3MsfcIFA==", - "dependencies": { - "@types/d3": "^7.4.0", - "@types/d3-drag": "^3.0.1", - "@types/d3-selection": "^3.0.3", - "@types/d3-zoom": "^3.0.1", - "classcat": "^5.0.3", - "d3-drag": "^3.0.0", - "d3-selection": "^3.0.0", - "d3-zoom": "^3.0.0", - "zustand": "^4.4.1" - }, - "peerDependencies": { - "react": ">=17", - "react-dom": ">=17" - } - }, - "node_modules/@reactflow/minimap": { - "version": "11.7.13", - "resolved": "https://registry.npmjs.org/@reactflow/minimap/-/minimap-11.7.13.tgz", - "integrity": "sha512-m2MvdiGSyOu44LEcERDEl1Aj6x//UQRWo3HEAejNU4HQTlJnYrSN8tgrYF8TxC1+c/9UdyzQY5VYgrTwW4QWdg==", - "dependencies": { - "@reactflow/core": "11.11.3", - "@types/d3-selection": "^3.0.3", - "@types/d3-zoom": "^3.0.1", - "classcat": "^5.0.3", - "d3-selection": "^3.0.0", - "d3-zoom": "^3.0.0", - "zustand": "^4.4.1" - }, - "peerDependencies": { - "react": ">=17", - "react-dom": ">=17" - } - }, - "node_modules/@reactflow/node-resizer": { - "version": "2.2.13", - "resolved": "https://registry.npmjs.org/@reactflow/node-resizer/-/node-resizer-2.2.13.tgz", - "integrity": "sha512-X7ceQ2s3jFLgbkg03n2RYr4hm3jTVrzkW2W/8ANv/SZfuVmF8XJxlERuD8Eka5voKqLda0ywIZGAbw9GoHLfUQ==", - "dependencies": { - "@reactflow/core": "11.11.3", - "classcat": "^5.0.4", - "d3-drag": "^3.0.0", - "d3-selection": "^3.0.0", - "zustand": "^4.4.1" - }, - "peerDependencies": { - "react": ">=17", - "react-dom": ">=17" - } - }, - "node_modules/@reactflow/node-toolbar": { - "version": "1.3.13", - "resolved": "https://registry.npmjs.org/@reactflow/node-toolbar/-/node-toolbar-1.3.13.tgz", - "integrity": "sha512-aknvNICO10uWdthFSpgD6ctY/CTBeJUMV9co8T9Ilugr08Nb89IQ4uD0dPmr031ewMQxixtYIkw+sSDDzd2aaQ==", - "dependencies": { - "@reactflow/core": "11.11.3", - "classcat": "^5.0.3", - "zustand": "^4.4.1" - }, - "peerDependencies": { - "react": ">=17", - "react-dom": ">=17" - } - }, "node_modules/@rushstack/eslint-patch": { "version": "1.10.3", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.3.tgz", @@ -7146,24 +7070,6 @@ "@testing-library/dom": ">=7.21.4" } }, - "node_modules/@tisoap/react-flow-smart-edge": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@tisoap/react-flow-smart-edge/-/react-flow-smart-edge-3.0.0.tgz", - "integrity": "sha512-XtEQT0IrOqPwJvCzgEoj3Y16/EK4SOcjZO7FmOPU+qJWmgYjeTyv7J35CGm6dFeJYdZ2gHDrvQ1zwaXuo23/8g==", - "dependencies": { - "pathfinding": "0.4.18" - }, - "engines": { - "node": ">=16", - "npm": "^8.0.0" - }, - "peerDependencies": { - "react": ">=17", - "react-dom": ">=17", - "reactflow": ">=11", - "typescript": ">=4.6" - } - }, "node_modules/@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", @@ -7265,6 +7171,7 @@ "version": "7.4.3", "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz", "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", + "license": "MIT", "dependencies": { "@types/d3-array": "*", "@types/d3-axis": "*", @@ -7307,6 +7214,7 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz", "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", + "license": "MIT", "dependencies": { "@types/d3-selection": "*" } @@ -7315,6 +7223,7 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz", "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", + "license": "MIT", "dependencies": { "@types/d3-selection": "*" } @@ -7322,7 +7231,8 @@ "node_modules/@types/d3-chord": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz", - "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==" + "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==", + "license": "MIT" }, "node_modules/@types/d3-color": { "version": "3.1.3", @@ -7333,6 +7243,7 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz", "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", + "license": "MIT", "dependencies": { "@types/d3-array": "*", "@types/geojson": "*" @@ -7341,17 +7252,20 @@ "node_modules/@types/d3-delaunay": { "version": "6.0.4", "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", - "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==" + "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==", + "license": "MIT" }, "node_modules/@types/d3-dispatch": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.6.tgz", - "integrity": "sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==" + "integrity": "sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==", + "license": "MIT" }, "node_modules/@types/d3-drag": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz", "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", + "license": "MIT", "dependencies": { "@types/d3-selection": "*" } @@ -7359,7 +7273,8 @@ "node_modules/@types/d3-dsv": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", - "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==" + "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==", + "license": "MIT" }, "node_modules/@types/d3-ease": { "version": "3.0.2", @@ -7370,6 +7285,7 @@ "version": "3.0.7", "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", + "license": "MIT", "dependencies": { "@types/d3-dsv": "*" } @@ -7377,17 +7293,20 @@ "node_modules/@types/d3-force": { "version": "3.0.10", "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.10.tgz", - "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==" + "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==", + "license": "MIT" }, "node_modules/@types/d3-format": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz", - "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==" + "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==", + "license": "MIT" }, "node_modules/@types/d3-geo": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz", "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", + "license": "MIT", "dependencies": { "@types/geojson": "*" } @@ -7395,7 +7314,8 @@ "node_modules/@types/d3-hierarchy": { "version": "3.1.7", "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", - "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==" + "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==", + "license": "MIT" }, "node_modules/@types/d3-interpolate": { "version": "3.0.4", @@ -7413,17 +7333,20 @@ "node_modules/@types/d3-polygon": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", - "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==" + "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==", + "license": "MIT" }, "node_modules/@types/d3-quadtree": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", - "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==" + "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==", + "license": "MIT" }, "node_modules/@types/d3-random": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz", - "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==" + "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==", + "license": "MIT" }, "node_modules/@types/d3-scale": { "version": "4.0.8", @@ -7434,14 +7357,16 @@ } }, "node_modules/@types/d3-scale-chromatic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.3.tgz", - "integrity": "sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==", + "license": "MIT" }, "node_modules/@types/d3-selection": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.10.tgz", - "integrity": "sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==" + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz", + "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==", + "license": "MIT" }, "node_modules/@types/d3-shape": { "version": "3.1.6", @@ -7459,7 +7384,8 @@ "node_modules/@types/d3-time-format": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", - "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==" + "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==", + "license": "MIT" }, "node_modules/@types/d3-timer": { "version": "3.0.2", @@ -7467,9 +7393,10 @@ "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==" }, "node_modules/@types/d3-transition": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.8.tgz", - "integrity": "sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.9.tgz", + "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==", + "license": "MIT", "dependencies": { "@types/d3-selection": "*" } @@ -7478,6 +7405,7 @@ "version": "3.0.8", "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", + "license": "MIT", "dependencies": { "@types/d3-interpolate": "*", "@types/d3-selection": "*" @@ -7556,9 +7484,10 @@ } }, "node_modules/@types/geojson": { - "version": "7946.0.14", - "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", - "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==" + "version": "7946.0.15", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.15.tgz", + "integrity": "sha512-9oSxFzDCT2Rj6DfcHF8G++jxBKS7mBqXl5xrRW+Kbvjry6Uduya2iiwqHPhVXpasAVMBYKkEPGgKhd3+/HZ6xA==", + "license": "MIT" }, "node_modules/@types/graceful-fs": { "version": "4.1.9", @@ -7695,6 +7624,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.2.tgz", "integrity": "sha512-CtYCcD+L+trB3reJPny+bKWKMzPfxEyQpKIwit7kErnOexf5/faaGpkFy4I5AwbV4hp1sk7/aTg0tt0B67VkLQ==", + "license": "MIT", "dependencies": { "postcss": "^8.0.0" } @@ -7703,6 +7633,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/postcss-modules-scope/-/postcss-modules-scope-3.0.4.tgz", "integrity": "sha512-//ygSisVq9kVI0sqx3UPLzWIMCmtSVrzdljtuaAEJtGoGnpjBikZ2sXO5MpH9SnWX9HRfXxHifDAXcQjupWnIQ==", + "license": "MIT", "dependencies": { "postcss": "^8.0.0" } @@ -9925,11 +9856,6 @@ "node": "*" } }, - "node_modules/child_process": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/child_process/-/child_process-1.0.2.tgz", - "integrity": "sha512-Wmza/JzL0SiWz7kl6MhIKT5ceIlnFPJX+lwUGj7Clhy5MMldsSoJR0+uvRzOS5Kv45Mq7t1PoE8TsOA9bzvb6g==" - }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -10034,7 +9960,8 @@ "node_modules/classcat": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/classcat/-/classcat-5.0.5.tgz", - "integrity": "sha512-JhZUT7JFcQy/EzW605k/ktHtncoo9vnyW/2GspNYwFlN1C/WmjuV/xtS04e9SOkL2sTdw0VAZ2UGCcQ9lR6p6w==" + "integrity": "sha512-JhZUT7JFcQy/EzW605k/ktHtncoo9vnyW/2GspNYwFlN1C/WmjuV/xtS04e9SOkL2sTdw0VAZ2UGCcQ9lR6p6w==", + "license": "MIT" }, "node_modules/classnames": { "version": "2.5.1", @@ -10595,6 +10522,7 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "license": "MIT", "dependencies": { "is-what": "^3.14.1" }, @@ -11413,15 +11341,6 @@ "node": ">=12" } }, - "node_modules/dagre": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz", - "integrity": "sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==", - "dependencies": { - "graphlib": "^2.1.8", - "lodash": "^4.17.15" - } - }, "node_modules/dagre-d3-es": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.6.tgz", @@ -12128,6 +12047,7 @@ "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "license": "MIT", "optional": true, "dependencies": { "prr": "~1.0.1" @@ -14810,14 +14730,6 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, - "node_modules/graphlib": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", - "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", - "dependencies": { - "lodash": "^4.17.15" - } - }, "node_modules/gray-matter": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", @@ -16438,7 +16350,8 @@ "node_modules/is-what": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==" + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "license": "MIT" }, "node_modules/is-wsl": { "version": "3.1.0", @@ -16493,6 +16406,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", + "license": "MIT", "dependencies": { "node-fetch": "^2.6.1", "whatwg-fetch": "^3.4.1" @@ -16502,6 +16416,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -17827,9 +17742,10 @@ } }, "node_modules/less": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz", - "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/less/-/less-4.2.1.tgz", + "integrity": "sha512-CasaJidTIhWmjcqv0Uj5vccMI7pJgfD9lMkKtlnTHAdJdYK/7l8pM9tumLyJ0zhbD4KJLo/YvTj+xznQd5NBhg==", + "license": "Apache-2.0", "dependencies": { "copy-anything": "^2.0.1", "parse-node-version": "^1.0.1", @@ -17855,6 +17771,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "license": "MIT", "optional": true, "bin": { "image-size": "bin/image-size.js" @@ -17867,6 +17784,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "license": "MIT", "optional": true, "dependencies": { "pify": "^4.0.1", @@ -17880,6 +17798,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "license": "MIT", "optional": true, "engines": { "node": ">=6" @@ -17889,6 +17808,7 @@ "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", "optional": true, "bin": { "semver": "bin/semver" @@ -17898,6 +17818,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "optional": true, "engines": { "node": ">=0.10.0" @@ -20978,6 +20899,7 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", + "license": "MIT", "optional": true, "dependencies": { "iconv-lite": "^0.6.3", @@ -20994,6 +20916,7 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", "optional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -21016,11 +20939,11 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "node_modules/next": { - "version": "14.2.12", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.12.tgz", - "integrity": "sha512-cDOtUSIeoOvt1skKNihdExWMTybx3exnvbFbb9ecZDIxlvIbREQzt9A5Km3Zn3PfU+IFjyYGsHS+lN9VInAGKA==", + "version": "14.2.20", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.20.tgz", + "integrity": "sha512-yPvIiWsiyVYqJlSQxwmzMIReXn5HxFNq4+tlVQ812N1FbvhmE+fDpIAD7bcS2mGYQwPJ5vAsQouyme2eKsxaug==", "dependencies": { - "@next/env": "14.2.12", + "@next/env": "14.2.20", "@swc/helpers": "0.5.5", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", @@ -21035,15 +20958,15 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.12", - "@next/swc-darwin-x64": "14.2.12", - "@next/swc-linux-arm64-gnu": "14.2.12", - "@next/swc-linux-arm64-musl": "14.2.12", - "@next/swc-linux-x64-gnu": "14.2.12", - "@next/swc-linux-x64-musl": "14.2.12", - "@next/swc-win32-arm64-msvc": "14.2.12", - "@next/swc-win32-ia32-msvc": "14.2.12", - "@next/swc-win32-x64-msvc": "14.2.12" + "@next/swc-darwin-arm64": "14.2.20", + "@next/swc-darwin-x64": "14.2.20", + "@next/swc-linux-arm64-gnu": "14.2.20", + "@next/swc-linux-arm64-musl": "14.2.20", + "@next/swc-linux-x64-gnu": "14.2.20", + "@next/swc-linux-x64-musl": "14.2.20", + "@next/swc-win32-arm64-msvc": "14.2.20", + "@next/swc-win32-ia32-msvc": "14.2.20", + "@next/swc-win32-x64-msvc": "14.2.20" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -23262,6 +23185,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -24461,6 +24385,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "license": "MIT", "optional": true }, "node_modules/public-encrypt": { @@ -24989,23 +24914,6 @@ "stylis": "^3.5.0" } }, - "node_modules/reactflow": { - "version": "11.11.3", - "resolved": "https://registry.npmjs.org/reactflow/-/reactflow-11.11.3.tgz", - "integrity": "sha512-wusd1Xpn1wgsSEv7UIa4NNraCwH9syBtubBy4xVNXg3b+CDKM+sFaF3hnMx0tr0et4km9urIDdNvwm34QiZong==", - "dependencies": { - "@reactflow/background": "11.3.13", - "@reactflow/controls": "11.2.13", - "@reactflow/core": "11.11.3", - "@reactflow/minimap": "11.7.13", - "@reactflow/node-resizer": "2.2.13", - "@reactflow/node-toolbar": "1.3.13" - }, - "peerDependencies": { - "react": ">=17", - "react-dom": ">=17" - } - }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -26143,7 +26051,8 @@ "node_modules/reserved-words": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz", - "integrity": "sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw==" + "integrity": "sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw==", + "license": "MIT" }, "node_modules/resolve": { "version": "1.22.8", @@ -26521,6 +26430,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "license": "ISC", "optional": true }, "node_modules/scheduler": { @@ -26551,20 +26461,20 @@ } }, "node_modules/schyma": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/schyma/-/schyma-1.0.4.tgz", - "integrity": "sha512-7iOfcfgqyAPg4YYZ8xqd3VUJO7lqGhkXTFXrxSplRnqG710aePAf6dS1VtDYJriWyXQe0hZyVimotjNdQVYj7A==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/schyma/-/schyma-1.0.7.tgz", + "integrity": "sha512-A5H3XJXQxZtlIu6Ub+eAik25WTAstqOhNr9YHrYMI+Cld3IIOH7OgC39oLDhguoma3G1fPtu1Yox0rMCIGWqCw==", + "license": "Apache Liscence 2.0", "dependencies": { + "@dagrejs/dagre": "^1.1.4", "@json-schema-tools/reference-resolver": "^1.2.5", "@tisoap/react-flow-smart-edge": "^3.0.0", "@types/json-schema": "^7.0.12", "ajv": "^8.12.0", - "child_process": "^1.0.2", - "dagre": "^0.8.5", "json-schema-traverse": "^1.0.0", "node-fetch": "^3.3.1", "react-syntax-highlighter": "^15.5.0", - "reactflow": "^11.7.4", + "reactflow": "^11.11.4", "tslib": "^2.5.3", "typescript-plugin-css-modules": "^5.0.1" }, @@ -26572,6 +26482,145 @@ "react": ">=16" } }, + "node_modules/schyma/node_modules/@tisoap/react-flow-smart-edge": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@tisoap/react-flow-smart-edge/-/react-flow-smart-edge-3.0.0.tgz", + "integrity": "sha512-XtEQT0IrOqPwJvCzgEoj3Y16/EK4SOcjZO7FmOPU+qJWmgYjeTyv7J35CGm6dFeJYdZ2gHDrvQ1zwaXuo23/8g==", + "license": "MIT", + "dependencies": { + "pathfinding": "0.4.18" + }, + "engines": { + "node": ">=16", + "npm": "^8.0.0" + }, + "peerDependencies": { + "react": ">=17", + "react-dom": ">=17", + "reactflow": ">=11", + "typescript": ">=4.6" + } + }, + "node_modules/schyma/node_modules/reactflow": { + "version": "11.11.4", + "resolved": "https://registry.npmjs.org/reactflow/-/reactflow-11.11.4.tgz", + "integrity": "sha512-70FOtJkUWH3BAOsN+LU9lCrKoKbtOPnz2uq0CV2PLdNSwxTXOhCbsZr50GmZ+Rtw3jx8Uv7/vBFtCGixLfd4Og==", + "license": "MIT", + "dependencies": { + "@reactflow/background": "11.3.14", + "@reactflow/controls": "11.2.14", + "@reactflow/core": "11.11.4", + "@reactflow/minimap": "11.7.14", + "@reactflow/node-resizer": "2.2.14", + "@reactflow/node-toolbar": "1.3.14" + }, + "peerDependencies": { + "react": ">=17", + "react-dom": ">=17" + } + }, + "node_modules/schyma/node_modules/reactflow/node_modules/@reactflow/background": { + "version": "11.3.14", + "resolved": "https://registry.npmjs.org/@reactflow/background/-/background-11.3.14.tgz", + "integrity": "sha512-Gewd7blEVT5Lh6jqrvOgd4G6Qk17eGKQfsDXgyRSqM+CTwDqRldG2LsWN4sNeno6sbqVIC2fZ+rAUBFA9ZEUDA==", + "license": "MIT", + "dependencies": { + "@reactflow/core": "11.11.4", + "classcat": "^5.0.3", + "zustand": "^4.4.1" + }, + "peerDependencies": { + "react": ">=17", + "react-dom": ">=17" + } + }, + "node_modules/schyma/node_modules/reactflow/node_modules/@reactflow/controls": { + "version": "11.2.14", + "resolved": "https://registry.npmjs.org/@reactflow/controls/-/controls-11.2.14.tgz", + "integrity": "sha512-MiJp5VldFD7FrqaBNIrQ85dxChrG6ivuZ+dcFhPQUwOK3HfYgX2RHdBua+gx+40p5Vw5It3dVNp/my4Z3jF0dw==", + "license": "MIT", + "dependencies": { + "@reactflow/core": "11.11.4", + "classcat": "^5.0.3", + "zustand": "^4.4.1" + }, + "peerDependencies": { + "react": ">=17", + "react-dom": ">=17" + } + }, + "node_modules/schyma/node_modules/reactflow/node_modules/@reactflow/core": { + "version": "11.11.4", + "resolved": "https://registry.npmjs.org/@reactflow/core/-/core-11.11.4.tgz", + "integrity": "sha512-H4vODklsjAq3AMq6Np4LE12i1I4Ta9PrDHuBR9GmL8uzTt2l2jh4CiQbEMpvMDcp7xi4be0hgXj+Ysodde/i7Q==", + "license": "MIT", + "dependencies": { + "@types/d3": "^7.4.0", + "@types/d3-drag": "^3.0.1", + "@types/d3-selection": "^3.0.3", + "@types/d3-zoom": "^3.0.1", + "classcat": "^5.0.3", + "d3-drag": "^3.0.0", + "d3-selection": "^3.0.0", + "d3-zoom": "^3.0.0", + "zustand": "^4.4.1" + }, + "peerDependencies": { + "react": ">=17", + "react-dom": ">=17" + } + }, + "node_modules/schyma/node_modules/reactflow/node_modules/@reactflow/minimap": { + "version": "11.7.14", + "resolved": "https://registry.npmjs.org/@reactflow/minimap/-/minimap-11.7.14.tgz", + "integrity": "sha512-mpwLKKrEAofgFJdkhwR5UQ1JYWlcAAL/ZU/bctBkuNTT1yqV+y0buoNVImsRehVYhJwffSWeSHaBR5/GJjlCSQ==", + "license": "MIT", + "dependencies": { + "@reactflow/core": "11.11.4", + "@types/d3-selection": "^3.0.3", + "@types/d3-zoom": "^3.0.1", + "classcat": "^5.0.3", + "d3-selection": "^3.0.0", + "d3-zoom": "^3.0.0", + "zustand": "^4.4.1" + }, + "peerDependencies": { + "react": ">=17", + "react-dom": ">=17" + } + }, + "node_modules/schyma/node_modules/reactflow/node_modules/@reactflow/node-resizer": { + "version": "2.2.14", + "resolved": "https://registry.npmjs.org/@reactflow/node-resizer/-/node-resizer-2.2.14.tgz", + "integrity": "sha512-fwqnks83jUlYr6OHcdFEedumWKChTHRGw/kbCxj0oqBd+ekfs+SIp4ddyNU0pdx96JIm5iNFS0oNrmEiJbbSaA==", + "license": "MIT", + "dependencies": { + "@reactflow/core": "11.11.4", + "classcat": "^5.0.4", + "d3-drag": "^3.0.0", + "d3-selection": "^3.0.0", + "zustand": "^4.4.1" + }, + "peerDependencies": { + "react": ">=17", + "react-dom": ">=17" + } + }, + "node_modules/schyma/node_modules/reactflow/node_modules/@reactflow/node-toolbar": { + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@reactflow/node-toolbar/-/node-toolbar-1.3.14.tgz", + "integrity": "sha512-rbynXQnH/xFNu4P9H+hVqlEUafDCkEoCy0Dg9mG22Sg+rY/0ck6KkrAQrYrTgXusd+cEJOMK0uOOFCK2/5rSGQ==", + "license": "MIT", + "dependencies": { + "@reactflow/core": "11.11.4", + "classcat": "^5.0.3", + "zustand": "^4.4.1" + }, + "peerDependencies": { + "react": ">=17", + "react-dom": ">=17" + } + }, "node_modules/scriptjs": { "version": "2.5.9", "resolved": "https://registry.npmjs.org/scriptjs/-/scriptjs-2.5.9.tgz", @@ -27588,6 +27637,7 @@ "version": "0.62.0", "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.62.0.tgz", "integrity": "sha512-v3YCf31atbwJQIMtPNX8hcQ+okD4NQaTuKGUWfII8eaqn+3otrbttGL1zSMZAAtiPsBztQnujVBugg/cXFUpyg==", + "license": "MIT", "dependencies": { "@adobe/css-tools": "~4.3.1", "debug": "^4.3.2", @@ -27609,6 +27659,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -27619,6 +27670,7 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -27638,6 +27690,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -27648,7 +27701,8 @@ "node_modules/stylus/node_modules/sax": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", + "license": "ISC" }, "node_modules/sucrase": { "version": "3.35.0", @@ -28847,6 +28901,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/typescript-plugin-css-modules/-/typescript-plugin-css-modules-5.1.0.tgz", "integrity": "sha512-6h+sLBa4l+XYSTn/31vZHd/1c3SvAbLpobY6FxDiUOHJQG1eD9Gh3eCs12+Eqc+TCOAdxcO+zAPvUq0jBfdciw==", + "license": "MIT", "dependencies": { "@types/postcss-modules-local-by-default": "^4.0.2", "@types/postcss-modules-scope": "^3.0.4", @@ -28873,6 +28928,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "license": "MIT", "engines": { "node": ">=10" } @@ -28881,6 +28937,7 @@ "version": "3.1.4", "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "license": "MIT", "dependencies": { "lilconfig": "^2.0.5", "yaml": "^1.10.2" @@ -28909,6 +28966,7 @@ "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", "engines": { "node": ">= 6" } @@ -29637,9 +29695,10 @@ "dev": true }, "node_modules/use-sync-external-store": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz", + "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==", + "license": "MIT", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } @@ -30168,7 +30227,8 @@ "node_modules/whatwg-fetch": { "version": "3.6.20", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", - "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==" + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "license": "MIT" }, "node_modules/whatwg-url": { "version": "5.0.0", @@ -30466,11 +30526,12 @@ } }, "node_modules/zustand": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.4.tgz", - "integrity": "sha512-/BPMyLKJPtFEvVL0E9E9BTUM63MNyhPGlvxk1XjrfWTUlV+BR8jufjsovHzrtR6YNcBEcL7cMHovL1n9xHawEg==", + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.5.tgz", + "integrity": "sha512-+0PALYNJNgK6hldkgDq2vLrw5f6g/jCInz52n9RTpropGgeAf/ioFUCdtsjCqu4gNhW9D01rUQBROoRjdzyn2Q==", + "license": "MIT", "dependencies": { - "use-sync-external-store": "1.2.0" + "use-sync-external-store": "1.2.2" }, "engines": { "node": ">=12.7.0" diff --git a/package.json b/package.json index 84f538697d4d..f9cc8e225374 100644 --- a/package.json +++ b/package.json @@ -84,7 +84,7 @@ "md5": "^2.3.0", "mermaid": "9.3.0", "moment": "^2.30.1", - "next": "14.2.12", + "next": "14.2.20", "next-i18next": "^15.3.0", "next-language-detector": "^1.1.0", "next-mdx-remote": "^4.4.1", @@ -110,7 +110,7 @@ "remark-heading-id": "^1.0.1", "remark-images": "^4.0.0", "remark-slug": "^7.0.1", - "schyma": "^1.0.4", + "schyma": "^1.0.7", "swiper": "^11.0.7", "tailwind-merge": "^2.2.1", "tailwindcss": "^3.4.3", @@ -151,13 +151,13 @@ "eslint-plugin-storybook": "^0.8.0", "eslint-plugin-tailwindcss": "^3.14.2", "eslint-plugin-unused-imports": "^3.1.0", + "fast-xml-parser": "^4.5.0", "inquirer": "^9.2.14", "jest": "^29.7.0", "postcss-import": "^16.0.1", "remark-cli": "^12.0.1", "remark-lint": "^10.0.0", "remark-mdx": "^3.0.1", - "storybook": "^8.2.4", - "fast-xml-parser": "^4.5.0" + "storybook": "^8.2.4" } } diff --git a/pages/community/events/index.tsx b/pages/community/events/index.tsx index 8e2e966ca668..f0314cb69a6d 100644 --- a/pages/community/events/index.tsx +++ b/pages/community/events/index.tsx @@ -1,30 +1,29 @@ /* eslint-disable react/no-unescaped-entities */ import { ArrowRightIcon } from '@heroicons/react/outline'; -import React, { useState } from 'react'; -import type { Event } from '@/types/pages/community/Community'; +import CommunityEvents from '@/components/CommunityEvents'; import { HeadingLevel, HeadingTypeStyle } from '@/types/typography/Heading'; import { ParagraphTypeStyle } from '@/types/typography/Paragraph'; +import { makeStaticProps } from '@/utils/getStatic'; import GoogleCalendarButton from '../../../components/buttons/GoogleCalendarButton'; import ICSFileButton from '../../../components/buttons/ICSFileButton'; import GenericLayout from '../../../components/layout/GenericLayout'; import Meeting from '../../../components/Meeting'; -import EventFilter from '../../../components/navigation/EventFilter'; -import EventPostItem from '../../../components/navigation/EventPostItem'; import NewsletterSubscribe from '../../../components/NewsletterSubscribe'; import Heading from '../../../components/typography/Heading'; import Paragraph from '../../../components/typography/Paragraph'; import TextLink from '../../../components/typography/TextLink'; -import meetings from '../../../config/meetings.json'; -import { getEvents } from '../../../utils/staticHelpers'; + +const getStaticProps = makeStaticProps(['landing-page', 'footer', 'common']); + +export { getStaticProps }; /** * @description This is the events page which displays all the events and meetings. */ export default function EventIndex() { const image = '/img/social/community-events.webp'; - const [events, setEvents] = useState(getEvents(meetings)); return ( @@ -89,31 +88,7 @@ export default function EventIndex() {
-
-
- - All Events - -
- -
-
-
- {!events || events.length === 0 ? ( -
- - No Events. Check back later! - -
- ) : ( -
    - {events.map((event: Event, index: number) => { - return ; - })} -
- )} -
-
+
diff --git a/public/img/posts/gsoc.webp b/public/img/posts/gsoc.webp new file mode 100644 index 000000000000..a1848818af91 Binary files /dev/null and b/public/img/posts/gsoc.webp differ diff --git a/public/img/posts/marketing-images/buffer-report.webp b/public/img/posts/marketing-images/buffer-report.webp new file mode 100644 index 000000000000..779708eb01f8 Binary files /dev/null and b/public/img/posts/marketing-images/buffer-report.webp differ diff --git a/public/img/posts/marketing-images/linkedIn-metrics-insights.webp b/public/img/posts/marketing-images/linkedIn-metrics-insights.webp new file mode 100644 index 000000000000..ce5fe3262331 Binary files /dev/null and b/public/img/posts/marketing-images/linkedIn-metrics-insights.webp differ diff --git a/public/img/posts/marketing-images/linkedin-performance-statistics.webp b/public/img/posts/marketing-images/linkedin-performance-statistics.webp new file mode 100644 index 000000000000..99c1990594d8 Binary files /dev/null and b/public/img/posts/marketing-images/linkedin-performance-statistics.webp differ diff --git a/public/img/posts/marketing-images/marketing-wg.webp b/public/img/posts/marketing-images/marketing-wg.webp new file mode 100644 index 000000000000..441ca009a062 Binary files /dev/null and b/public/img/posts/marketing-images/marketing-wg.webp differ diff --git a/public/img/posts/marketing-images/merchandise.webp b/public/img/posts/marketing-images/merchandise.webp new file mode 100644 index 000000000000..ee8c87f99cad Binary files /dev/null and b/public/img/posts/marketing-images/merchandise.webp differ diff --git a/public/img/posts/marketing-images/store-report.webp b/public/img/posts/marketing-images/store-report.webp new file mode 100644 index 000000000000..147f7981044f Binary files /dev/null and b/public/img/posts/marketing-images/store-report.webp differ diff --git a/public/img/posts/marketing-images/x-metrics-insights.webp b/public/img/posts/marketing-images/x-metrics-insights.webp new file mode 100644 index 000000000000..7cf68fafdd62 Binary files /dev/null and b/public/img/posts/marketing-images/x-metrics-insights.webp differ diff --git a/public/img/posts/marketing-images/x-performance-statistics.webp b/public/img/posts/marketing-images/x-performance-statistics.webp new file mode 100644 index 000000000000..c7e5fbf9752b Binary files /dev/null and b/public/img/posts/marketing-images/x-performance-statistics.webp differ diff --git a/utils/getStatic.ts b/utils/getStatic.ts index 56af2cf6b1ca..974ff691920f 100644 --- a/utils/getStatic.ts +++ b/utils/getStatic.ts @@ -29,7 +29,7 @@ export const getStaticPaths = () => ({ * @returns An object containing the internationalization props. */ export async function getI18nProps(ctx: any, ns = ['common']) { - const locale = ctx?.params?.lang; + const locale = ctx?.params?.lang ? ctx.params.lang : 'en'; const props = { ...(await serverSideTranslations(locale, ns)) };