From bb13dd0881ca197b541f4f94847623acd214eb43 Mon Sep 17 00:00:00 2001 From: nicolethoen Date: Fri, 13 Jun 2025 13:43:45 -0400 Subject: [PATCH 01/22] feat: updated dependencies and add guidance for ai enabled development --- .cursor/rules/patternfly-vibe-coding.mdc | 31 + README.md | 15 + ai-documentation/README.md | 58 + ai-documentation/charts/README.md | 191 + ai-documentation/chatbot/README.md | 191 + ai-documentation/component-groups/README.md | 99 + .../components/data-display/README.md | 281 + .../components/data-display/table.md | 123 + ai-documentation/components/layout/README.md | 471 + ai-documentation/guidelines/README.md | 83 + .../guidelines/component-architecture.md | 178 + .../guidelines/styling-standards.md | 221 + ai-documentation/resources/external-links.md | 217 + ai-documentation/resources/local-files.md | 217 + ai-documentation/setup/README.md | 81 + .../setup/development-environment.md | 237 + ai-documentation/setup/quick-start.md | 129 + .../troubleshooting/common-issues.md | 569 ++ package-lock.json | 8066 +++++++---------- package.json | 26 +- src/app/app.test.tsx | 8 +- 21 files changed, 6833 insertions(+), 4659 deletions(-) create mode 100644 .cursor/rules/patternfly-vibe-coding.mdc create mode 100644 ai-documentation/README.md create mode 100644 ai-documentation/charts/README.md create mode 100644 ai-documentation/chatbot/README.md create mode 100644 ai-documentation/component-groups/README.md create mode 100644 ai-documentation/components/data-display/README.md create mode 100644 ai-documentation/components/data-display/table.md create mode 100644 ai-documentation/components/layout/README.md create mode 100644 ai-documentation/guidelines/README.md create mode 100644 ai-documentation/guidelines/component-architecture.md create mode 100644 ai-documentation/guidelines/styling-standards.md create mode 100644 ai-documentation/resources/external-links.md create mode 100644 ai-documentation/resources/local-files.md create mode 100644 ai-documentation/setup/README.md create mode 100644 ai-documentation/setup/development-environment.md create mode 100644 ai-documentation/setup/quick-start.md create mode 100644 ai-documentation/troubleshooting/common-issues.md diff --git a/.cursor/rules/patternfly-vibe-coding.mdc b/.cursor/rules/patternfly-vibe-coding.mdc new file mode 100644 index 00000000..b9794c69 --- /dev/null +++ b/.cursor/rules/patternfly-vibe-coding.mdc @@ -0,0 +1,31 @@ +--- +description: +globs: +alwaysApply: false +--- +# PatternFly Vibe Coding Rule + +## Purpose +Always reference the README and markdown documentation in this repository when generating, editing, or reviewing any PatternFly (PF) code. These files contain the authoritative best practices, guidelines, and up-to-date standards for PatternFly development. + +## Scope +This rule applies to all code generation, refactoring, and review tasks involving PatternFly React, PatternFly Chatbot, and related UI components in this project. + +## Documentation to Reference +- The root `README.md` +- The `documentation/README.md` file, which serves as the table of contents for all documentation in the `documentation/` directory and its subdirectories. Use this file to discover and navigate all relevant rules, guidelines, and best practices for PatternFly development. +- All markdown files referenced by `documentation/README.md`. + +## Rule +- **Always consult the above documentation before generating or editing any PatternFly code.** +- **Use the documented best practices for component usage, styling, accessibility, and layout.** +- **Prefer semantic design tokens and utility classes as described in the docs.** +- **Follow accessibility and ARIA guidelines from the documentation.** +- **Reference official PatternFly components and avoid custom solutions unless explicitly allowed.** +- **If a question arises, search these docs first before using external sources.** + +## Example Prompt +> "When generating PatternFly code, use the guidelines and examples from all README and markdown files in this repository, especially those referenced in documentation/README.md. Follow the documented best practices for styling, accessibility, and component usage." + +## Enforcement +If code is generated or edited without following these documentation sources, request changes and point to the relevant section in the docs. diff --git a/README.md b/README.md index f4507bc1..53ffb064 100644 --- a/README.md +++ b/README.md @@ -91,6 +91,21 @@ When importing CSS from a third-party package for the first time, you may encoun * To keep our code logic and test coverage in check, we use [jest](https://github.com/facebook/jest) * To ensure code styles remain consistent, we use [eslint](https://eslint.org/) +## AI Documentation & Development Rules + +This project includes an [`ai-documentation`](./ai-documentation/README.md) directory designed primarily for use by AI agents in AI-enabled IDEs (such as Cursor, Claude, and others). These files provide essential rules, guidelines, and best practices for building web applications with PatternFly React, enabling AI coding assistants to: + +- Offer context-aware suggestions and enforce consistent component architecture and styling standards +- Guide developers to use PatternFly v6 components and utility classes +- Promote accessibility and state management best practices +- Reference troubleshooting tips and specialized rules (charts, chatbot, etc.) + +**How to use:** +- If you are using an AI-enabled IDE, the AI agent will automatically leverage the [AI Documentation & Rules](./ai-documentation/README.md) to assist you as you develop. +- Human contributors can also consult these files directly for detailed standards and examples, but the primary audience is AI coding assistants. + +By following these rulesβ€”either directly or via your AI assistantβ€”you'll ensure your app is maintainable, accessible, and consistent with PatternFly best practices. + ## Multi environment configuration This project uses [dotenv-webpack](https://www.npmjs.com/package/dotenv-webpack) for exposing environment variables to your code. Either export them at the system level like `export MY_ENV_VAR=http://dev.myendpoint.com && npm run start:dev` or simply drop a `.env` file in the root that contains your key-value pairs like below: diff --git a/ai-documentation/README.md b/ai-documentation/README.md new file mode 100644 index 00000000..bf319965 --- /dev/null +++ b/ai-documentation/README.md @@ -0,0 +1,58 @@ +# PatternFly React Development Rules + +> **Starting a new project?** +> For a quick start with PatternFly React, use the [patternfly/patternfly-react-seed](https://github.com/patternfly/patternfly-react-seed) app. It provides a basic build, layout, and scaffolding for new PatternFly applications, including recommended tooling and project structure. + +Essential rules and guidelines for AI coders working with PatternFly React applications. + +## Quick Navigation + +### πŸš€ Setup & Environment +- [**Setup Rules**](./setup/README.md) - Project initialization requirements +- [**Quick Start**](./setup/quick-start.md) - Essential setup steps +- [**Environment Rules**](./setup/development-environment.md) - Development configuration + +### πŸ“š Core Rules +- [**PatternFly Guidelines**](./guidelines/README.md) - Core development principles +- [**Component Rules**](./guidelines/component-architecture.md) - Component structure requirements +- [**Styling Rules**](./guidelines/styling-standards.md) - CSS and styling requirements + +### 🧩 Component Rules +- [**Layout Rules**](./components/layout/README.md) - Page structure requirements +- [**Table Component Rules**](./components/data-display/table.md) - Table usage and best practices +- [**Data View Component Rules**](./components/data-display/README.md) - Data view usage and best practices + +### πŸ“Š Specialized Rules +- [**Charts Rules**](./charts/README.md) - PatternFly Charts requirements +- [**Chatbot Rules**](./chatbot/README.md) - PatternFly Chatbot requirements + +### πŸ”§ Troubleshooting +- [**Common Issues**](./troubleshooting/common-issues.md) - Problem resolution rules + +### πŸ“– Resources +- [**External Links**](./resources/external-links.md) - Official documentation links +- [**Local Files**](./resources/local-files.md) - Project-specific resources + +## Usage Rules for AI Coders + +1. **Always use PatternFly v6** - Use `pf-v6-` prefixed classes only +2. **Component-first approach** - Use PatternFly components before custom solutions +3. **Consult documentation** - Reference [PatternFly.org](https://www.patternfly.org/) for examples +4. **Follow accessibility** - Implement proper ARIA labels and keyboard navigation +5. **Use utility classes** - Prefer PatternFly utilities over custom CSS +6. **Handle states** - Always implement loading, error, and empty states + +## Documentation Structure + +Each file contains: +- **Rules** - Specific requirements to follow +- **Do's and Don'ts** - Clear guidance on what to avoid +- **Links** - References to official PatternFly documentation +- **Quick examples** - Minimal code patterns when needed + +## Reference Documentation + +- [PatternFly.org](https://www.patternfly.org/) +- [PatternFly React GitHub Repository](https://github.com/patternfly/patternfly-react) + +> For all rules and examples, consult both PatternFly.org and the official GitHub repository. When using AI tools, leverage context7 to fetch the latest docs from these sources. \ No newline at end of file diff --git a/ai-documentation/charts/README.md b/ai-documentation/charts/README.md new file mode 100644 index 00000000..47ee0b0d --- /dev/null +++ b/ai-documentation/charts/README.md @@ -0,0 +1,191 @@ +# Charts Rules + +Essential rules for PatternFly Charts implementation using Victory.js and ECharts. + +## Related Files +- [**Component Architecture**](../guidelines/component-architecture.md) - Chart component structure rules +- [**Performance Optimization**](../troubleshooting/performance.md) - Chart performance considerations + +## Installation Rules + +### Required Installation +```bash +# βœ… Victory-based charts (recommended) +npm install @patternfly/react-charts victory + +# βœ… ECharts-based charts (alternative) +npm install @patternfly/react-charts echarts +``` + +### Import Rules +- βœ… **Use specific import paths** - Import from `/victory` or `/echarts` subdirectories +- ❌ **Don't use general imports** - Avoid importing from main package + +```jsx +// βœ… Correct imports +import { ChartDonut, ChartLine, ChartBar } from '@patternfly/react-charts/victory'; +import { EChart } from '@patternfly/react-charts/echarts'; + +// ❌ Wrong imports +import { ChartDonut } from '@patternfly/react-charts'; +``` + +### Troubleshooting Import Issues +If "module not found" errors occur: +1. **Clear cache**: `rm -rf node_modules package-lock.json` +2. **Reinstall**: `npm install` +3. **Verify paths**: Check import paths match installed version + +## Chart Implementation Rules + +### Color Rules +- βœ… **Use PatternFly chart color tokens** - For consistency with design system +- ❌ **Don't use hardcoded colors** - Use design tokens instead + +```jsx +// βœ… Correct - Use PatternFly color tokens +const chartColors = [ + 'var(--pf-v6-chart-color-blue-300)', + 'var(--pf-v6-chart-color-green-300)', + 'var(--pf-v6-chart-color-orange-300)' +]; + + +``` + +### Responsive Rules +- βœ… **Implement responsive sizing** - Charts must work on all screen sizes +- βœ… **Use container-based dimensions** - Not fixed width/height +- ❌ **Don't hardcode dimensions** - Charts must be responsive + +```jsx +// βœ… Required responsive pattern +const [dimensions, setDimensions] = useState({ width: 0, height: 0 }); + +useEffect(() => { + const updateDimensions = () => { + if (containerRef.current) { + const { width, height } = containerRef.current.getBoundingClientRect(); + setDimensions({ width, height }); + } + }; + updateDimensions(); + window.addEventListener('resize', updateDimensions); + return () => window.removeEventListener('resize', updateDimensions); +}, []); +``` + +### Accessibility Rules +- βœ… **Provide ARIA labels** - For screen reader support +- βœ… **Use high contrast colors** - Meet WCAG standards +- βœ… **Support keyboard navigation** - Add tabIndex and role + +```jsx +// βœ… Required accessibility pattern + +``` + +### State Management Rules +- βœ… **Handle loading states** - Show spinners during data loading +- βœ… **Handle error states** - Show error messages with retry +- βœ… **Handle empty states** - Show appropriate empty messages +- βœ… **Use data memoization** - For performance optimization + +```jsx +// βœ… Required state handling +if (isLoading) return ; +if (error) return ; +if (!data?.length) return ; + +const processedData = useMemo(() => { + return rawData.map(item => ({ x: item.date, y: item.value })); +}, [rawData]); +``` + +### Integration Rules +- βœ… **Use with PatternFly components** - Integrate charts in Cards, PageSections +- βœ… **Follow grid layouts** - Use PatternFly grid for chart dashboards +- ❌ **Don't create standalone chart pages** - Integrate with PatternFly layout + +```jsx +// βœ… Required integration pattern +import { Card, CardTitle, CardBody } from '@patternfly/react-core'; + + + Chart Title + + + + +``` + +## Performance Rules + +### Required Optimizations +- βœ… **Use lazy loading for heavy charts** - Improve initial page load +- βœ… **Memoize data processing** - Use useMemo for expensive calculations +- βœ… **Implement proper loading states** - Show feedback during data loading + +```jsx +// βœ… Required performance patterns +const LazyChart = lazy(() => import('./HeavyChart')); + +}> + + +``` + +## Essential Do's and Don'ts + +### βœ… Do's +- Use PatternFly chart color tokens for consistency +- Implement responsive sizing for different screen sizes +- Provide proper ARIA labels and descriptions +- Handle loading, error, and empty states +- Use appropriate chart types for your data +- Optimize performance with data memoization +- Integrate charts with PatternFly layout components + +### ❌ Don'ts +- Hardcode chart dimensions without responsive design +- Use colors that don't meet accessibility standards +- Skip loading states for charts with async data +- Ignore keyboard navigation and screen reader support +- Create overly complex charts +- Mix different charting libraries inconsistently +- Forget to handle empty data states + +## Common Issues + +### Module Not Found +- **Clear cache**: `rm -rf node_modules package-lock.json` +- **Reinstall**: `npm install` +- **Check paths**: Verify import paths are correct + +### Chart Not Rendering +- **Check container dimensions**: Ensure parent has width/height +- **Verify data format**: Data must match chart expectations +- **Check console**: Look for Victory.js or ECharts warnings + +### Performance Issues +- **Use data memoization**: useMemo for expensive calculations +- **Implement lazy loading**: For heavy chart components +- **Optimize re-renders**: Use React.memo for chart components + +## Quick Reference +- **[PatternFly Charts README](https://github.com/patternfly/patternfly-react/tree/main/packages/react-charts#readme)** - Installation and usage +- **[Victory.js Documentation](https://formidable.com/open-source/victory/)** - Chart library documentation +- **[PatternFly Chart Guidelines](https://www.patternfly.org/charts/about)** - Design guidelines + +## Reference Documentation + +- [PatternFly Charts on PatternFly.org](https://www.patternfly.org/charts/about) +- [PatternFly React Charts GitHub Repository](https://github.com/patternfly/patternfly-react/tree/main/packages/react-charts) + +> For the most up-to-date documentation and code examples, consult both PatternFly.org and the official GitHub repository. When using AI tools, leverage context7 to fetch the latest docs from these sources. \ No newline at end of file diff --git a/ai-documentation/chatbot/README.md b/ai-documentation/chatbot/README.md new file mode 100644 index 00000000..815a0b60 --- /dev/null +++ b/ai-documentation/chatbot/README.md @@ -0,0 +1,191 @@ +# Chatbot Rules + +Essential rules for PatternFly Chatbot implementation and integration patterns. + +## Related Files + +- [**Local Resources**](../resources/local-files.md) - Reference to patternfly-chatbot.txt +- [**Component Architecture**](../guidelines/component-architecture.md) - Component structure guidelines + +## Installation Rules + +### Required Installation + +```bash +# βœ… Install PatternFly Chatbot package +npm install @patternfly/chatbot +``` + +### Required CSS Import + +```jsx +// βœ… MUST import CSS - chatbot components require specific styling +import '@patternfly/chatbot/dist/css/main.css'; +``` + +### Webpack Configuration (if needed) + +```javascript +// stylePaths.js - Add to webpack if CSS not loading +module.exports = [ + require.resolve('@patternfly/chatbot/dist/css/main.css') +]; +``` + +## Import Rules + +### Required Import Pattern + +- βœ… **Use dynamic imports** - Import from `/dist/dynamic/` paths +- ❌ **Don't use standard imports** - May not work with current package structure + +```jsx +// βœ… Correct - Use dynamic imports +import { Chatbot } from '@patternfly/chatbot/dist/dynamic/Chatbot'; +import { ChatbotContent } from '@patternfly/chatbot/dist/dynamic/ChatbotContent'; +import { MessageBox } from '@patternfly/chatbot/dist/dynamic/MessageBox'; +import { Message } from '@patternfly/chatbot/dist/dynamic/Message'; + +// ❌ Wrong - Standard imports may not work +import { Chatbot, ChatbotContent } from '@patternfly/chatbot'; +``` + +## Implementation Rules + +### Required Component Structure + +- βœ… **Use standard chatbot hierarchy** - Chatbot > ChatbotContent > MessageBox + ChatbotFooter +- βœ… **Reference official demos** - Use PatternFly demo source code as templates +- ❌ **Don't create custom chat UI** - Use PatternFly chatbot components + +```jsx +// βœ… Required chatbot structure + + + + + {messages.map(message => ( + + ))} + + + + + + +``` + +### Message State Rules + +- βœ… **Use proper message roles** - 'user', 'assistant', 'system' +- βœ… **Include timestamps** - For message ordering and display +- βœ… **Handle loading states** - Show indicators during API calls +- βœ… **Handle error states** - Show error messages with retry options + +```jsx +// βœ… Required message structure +const createMessage = (content, role) => ({ + id: generateId(), + content, + role, // 'user' | 'assistant' | 'system' + timestamp: new Date(), + status: 'sent' +}); +``` + +### Demo Implementation Rules + +- βœ… **Study official demos** - [Basic](https://www.patternfly.org/patternfly-ai/chatbot/overview/demo/basic-chatbot) and [Embedded](https://www.patternfly.org/patternfly-ai/chatbot/overview/demo/embedded-chatbot) +- βœ… **Use demo source code** - Copy patterns from "View Code" sections +- βœ… **Follow demo structure** - Don't deviate from proven patterns + +### Integration Rules + +- βœ… **Use with PatternFly layout** - Integrate in PageSection, Modal, or Card +- βœ… **Handle responsive design** - Chatbot must work on all screen sizes +- ❌ **Don't create standalone chatbot pages** - Integrate with app layout + +```jsx +// βœ… Required integration pattern + +
+ + {/* Chatbot content */} + +
+
+``` + +## Accessibility Rules + +### Required Accessibility + +- βœ… **Use proper ARIA labels** - For screen reader support +- βœ… **Implement keyboard navigation** - Full keyboard accessibility +- βœ… **Use semantic roles** - role="application", role="log" +- βœ… **Auto-scroll to new messages** - For better UX + +```jsx +// βœ… Required accessibility pattern + + + {messages.map(message => ( + + ))} + + +``` + +## Essential Do's and Don'ts + +### βœ… Do's + +- Import CSS from `@patternfly/chatbot/dist/css/main.css` +- Use dynamic imports for chatbot components +- Reference official PatternFly demo pages for implementation +- Provide proper ARIA labels and roles for accessibility +- Handle loading states during message processing +- Implement proper error handling for API failures +- Use semantic message roles (user, assistant, system) + +### ❌ Don'ts + +- Skip CSS imports - chatbot components require specific styling +- Ignore demo source code from PatternFly documentation +- Create custom chat UI when PatternFly components exist +- Skip accessibility considerations for screen readers +- Hardcode chatbot dimensions without responsive design +- Mix different chatbot libraries with PatternFly Chatbot + +## Common Issues + +### Styling Issues + +- **Missing styles**: Ensure CSS is imported in main app file +- **Webpack config**: Add CSS path to stylePaths.js if needed + +### Component Issues + +- **Import errors**: Use dynamic import paths `/dist/dynamic/` +- **Component not found**: Verify package is installed and paths are correct + +### Performance Issues + +- **Long conversations**: Implement message virtualization +- **Memory leaks**: Clean up event listeners and subscriptions + +## Quick Reference + +- **[Chatbot Overview](https://www.patternfly.org/patternfly-ai/chatbot/overview)** - Main documentation +- **[Basic Demo](https://www.patternfly.org/patternfly-ai/chatbot/overview/demo/basic-chatbot)** - Simple implementation +- **[Embedded Demo](https://www.patternfly.org/patternfly-ai/chatbot/overview/demo/embedded-chatbot)** - Embedded pattern +- **[Local Documentation](../resources/local-files.md#patternfly-chatbot-txt)** - Project-specific context + +**Note**: This chatbot guidance takes precedence over general PatternFly patterns. Always consult the latest PatternFly Chatbot documentation and demo source code. + +## Reference Documentation + +- [PatternFly Chatbot on PatternFly.org](https://www.patternfly.org/patternfly-ai/chatbot/overview) +- [PatternFly Chatbot GitHub Repository](https://github.com/patternfly/chatbot) + +> For the most up-to-date documentation and code examples, consult both PatternFly.org and the official GitHub repository. When using AI tools, leverage context7 to fetch the latest docs from these sources. \ No newline at end of file diff --git a/ai-documentation/component-groups/README.md b/ai-documentation/component-groups/README.md new file mode 100644 index 00000000..dfd96421 --- /dev/null +++ b/ai-documentation/component-groups/README.md @@ -0,0 +1,99 @@ +# PatternFly Component Groups Rules + +Essential rules for using and contributing to PatternFly React Component Groups. + +## Overview +PatternFly Component Groups are opinionated React components that combine and extend PatternFly base components to provide standardized, reusable solutions for common product needs. They are maintained collaboratively by the PatternFly and Red Hat Hybrid Cloud Console teams, with a focus on accessibility, design consistency, and extensibility. + +- [Component Groups NPM](https://www.npmjs.com/package/@patternfly/react-component-groups) +- [Component Groups GitHub](https://github.com/patternfly/react-component-groups) +- [Migration Guide](https://github.com/patternfly/react-component-groups/blob/main/migration.md) + +## Installation Rules + +### Required Installation +```bash +npm install @patternfly/react-component-groups +``` + +### Required CSS Import +```jsx +import '@patternfly/react-component-groups/dist/css/main.css'; +``` + +## Import Rules + +### Required Import Pattern +- βœ… **Use dynamic imports** from `/dist/dynamic/` paths +- ❌ **Don't use standard imports** + +```jsx +// βœ… Correct +import { BulkSelect } from '@patternfly/react-component-groups/dist/dynamic/BulkSelect'; + +// ❌ Wrong +import { BulkSelect } from '@patternfly/react-component-groups'; +``` + +## Implementation Rules + +### Component Usage +- βœ… **Use component groups for complex, opinionated UI patterns** +- βœ… **Reference official PatternFly and component group demos** +- ❌ **Don't reimplement existing group functionality with custom code** + +### Example Usage +```jsx +import { BulkSelect } from '@patternfly/react-component-groups/dist/dynamic/BulkSelect'; + + +``` + +### Component API Rules +- Use PatternFly naming conventions for props (e.g., `variant`, `onClick`) +- Extend PatternFly types when possible +- Document all props and usage examples +- Avoid unnecessary external dependencies + +## Contribution Guidelines +- Ensure new components are sufficiently complex and valuable +- Follow the [component structure and API rules](https://github.com/patternfly/react-component-groups#readme) +- Add unit and Cypress tests for all new components +- Document new components with markdown and usage examples + +## Accessibility Rules +- Provide proper ARIA labels and roles +- Ensure keyboard navigation and screen reader support +- Follow PatternFly accessibility best practices + +## Essential Do's and Don'ts + +### βœ… Do's +- Use dynamic imports and import required CSS +- Reference official demos and documentation +- Write accessible, well-documented components +- Use JSS for styling and follow naming conventions +- Add tests for all new functionality + +### ❌ Don'ts +- Skip CSS imports or use standard imports +- Reimplement existing group components from scratch +- Ignore accessibility or documentation requirements +- Use `pf-v6-u-XXX` utility classes (use CSS variables instead) + +## Common Issues +- **Missing styles:** Ensure CSS is imported +- **Import errors:** Use `/dist/dynamic/` paths +- **Component not found:** Check package installation and import paths +- **Accessibility:** Run a11y tests and review ARIA usage + +## Quick Reference +- [Component Groups Gallery](https://www.patternfly.org/patternfly-ai/component-groups/overview) +- [Component Groups GitHub](https://github.com/patternfly/react-component-groups) +- [Migration Guide](https://github.com/patternfly/react-component-groups/blob/main/migration.md) + +**Note:** Component group guidance takes precedence over general PatternFly patterns for these components. Always consult the latest documentation and demo source code. \ No newline at end of file diff --git a/ai-documentation/components/data-display/README.md b/ai-documentation/components/data-display/README.md new file mode 100644 index 00000000..419eb9ff --- /dev/null +++ b/ai-documentation/components/data-display/README.md @@ -0,0 +1,281 @@ +# Data Display Rules + +Essential rules for PatternFly data display components including lists, data presentation, and data view patterns. + +## Related Files +- [**Component Architecture**](../../guidelines/component-architecture.md) - Data component structure rules +- [**Layout Rules**](../layout/README.md) - Page structure patterns +- [**Table Documentation**](./table.md) - Table component rules and best practices + +## Dropdown Action Rules + +### Required Dropdown Pattern +- βœ… **Use MenuToggle with variant="plain"** - For kebab-style dropdowns +- βœ… **Configure popperProps** - Prevent clipping issues +- βœ… **Use EllipsisVIcon** - Standard kebab menu icon + +```jsx +// βœ… Required dropdown pattern +import { Dropdown, DropdownList, DropdownItem, MenuToggle, Divider } from '@patternfly/react-core'; +import { EllipsisVIcon } from '@patternfly/react-icons'; + + document.body // Prevents clipping + }} + toggle={(toggleRef) => ( + + + + )} +> + + onEdit(item)}>Edit + + onDelete(item)}>Delete + + +``` + +## Toolbar Rules + +### Required Toolbar Pattern +- βœ… **Use clearAllFilters prop** - For "Clear all filters" functionality +- βœ… **Use ToolbarFilter with labels** - Display active filters as chips +- βœ… **Use ToolbarToggleGroup** - For responsive filter collapsing +- βœ… **Show bulk actions when items selected** - Conditional bulk action UI + +```jsx +// βœ… Required toolbar pattern +import { Toolbar, ToolbarContent, ToolbarFilter, ToolbarToggleGroup } from '@patternfly/react-core'; + + + + {selectedCount > 0 && ( + + {selectedCount} selected + + + )} + } breakpoint="xl"> + + + + + + +``` + +## State Management Rules + +### Required State Patterns +- βœ… **Use Set for selection** - More efficient than arrays +- βœ… **Handle loading states** - Show spinners or skeletons +- βœ… **Handle empty states** - Show appropriate messages +- βœ… **Handle error states** - Show error messages with retry + +```jsx +// βœ… Required state management +const [selectedItems, setSelectedItems] = useState(new Set()); +const [isLoading, setIsLoading] = useState(false); +const [error, setError] = useState(null); + +if (isLoading) return ; +if (error) return ; +if (!data?.length) return ; +``` + +## Performance Rules + +### Required Optimizations +- βœ… **Use virtualization for 1000+ rows** - react-window library +- βœ… **Use pagination for large datasets** - Better UX than virtualization +- βœ… **Memoize table rows** - React.memo for performance +- βœ… **Use useCallback for handlers** - Stable references + +```jsx +// βœ… Required for large datasets +import { FixedSizeList as List } from 'react-window'; +import { Pagination } from '@patternfly/react-core'; + +// For 1000+ items, use virtualization + + {Row} + + +// For better UX, use pagination + +``` + +## Essential Do's and Don'ts + +### βœ… Do's +- Use composable Table components (Thead, Tbody, Tr, Th, Td) +- Implement proper sorting with sort prop on Th components +- Use Checkbox components for selectable rows +- Configure dropdown positioning with popperProps +- Provide empty states for no data and filtered results +- Implement loading states with skeletons or spinners +- Use proper ARIA labels for accessibility + +### ❌ Don'ts +- Create custom table components when PatternFly Table exists +- Ignore responsive design for data tables +- Skip loading and empty states +- Forget to handle dropdown clipping issues +- Use inconsistent selection patterns +- Skip accessibility considerations for interactive elements + +## Common Issues + +### Dropdown Clipping +```jsx +// βœ… Solution: Use appendTo to prevent clipping + document.body }}> +``` + +### Performance Issues +- **1000+ rows**: Use virtualization with react-window +- **Large datasets**: Implement pagination +- **Slow rendering**: Memoize components with React.memo + +### Selection Issues +- **Use Set not Array**: More efficient for selection state +- **Handle indeterminate**: For "select all" checkbox state +- **Provide feedback**: Show selected count and bulk actions + +## Quick Reference +- **[Table Component](https://www.patternfly.org/components/table)** - Official table documentation +- **[Toolbar Component](https://www.patternfly.org/components/toolbar)** - Toolbar with filters +- **[Dropdown Component](https://www.patternfly.org/components/menus/dropdown)** - Dropdown positioning + +## Data View Component Rules + +PatternFly Data View provides a standardized way to present and interact with tabular or list-based data, following PatternFly design and accessibility guidelines. + +### Installation +```bash +npm install @patternfly/react-data-view +``` + +### Required CSS Import +```jsx +import '@patternfly/react-data-view/dist/css/main.css'; +``` + +### Import Pattern +- βœ… **Use dynamic imports** from `/dist/dynamic/` paths +- ❌ **Don't use standard imports** + +```jsx +// βœ… Correct +import DataView from '@patternfly/react-data-view/dist/dynamic/DataView'; +``` + +### Basic Usage Example +```jsx +import DataView from '@patternfly/react-data-view/dist/dynamic/DataView'; + + +``` + +### Component API +- Use PatternFly naming conventions for props (e.g., `variant`, `onClick`) +- Extend PatternFly types when possible +- Document all props and usage examples +- Avoid unnecessary external dependencies + +#### Example API Extension +```ts +// when possible, extend available PatternFly types +export interface DataViewProps extends TableProps { + customLabel?: string; +} + +export const DataView: React.FunctionComponent = ({ customLabel, ...props }) => ( /* ... */ ); +``` + +### Directory Structure +``` +src +|- DataView + |- index.ts + |- DataView.tsx +``` + +### OUIA ID Convention +For testing, use the component name as the default OUIA ID, and for subcomponents, use `ComponentName-element-specification`. +```ts +ouiaId="DataView-actions-button" +``` + +### Testing & Linting +- Add unit tests to `DataView.test.tsx` +- Add Cypress component/E2E tests to `cypress/component/DataView.cy.tsx` and `cypress/e2e/DataView.spec.cy.ts` +- Run tests and linting: +```bash +npm run test +npm run lint +``` + +### Accessibility +- Provide proper ARIA labels and roles +- Ensure keyboard navigation and screen reader support +- Run accessibility tests: +```bash +npm run build:docs +npm run serve:docs +npm run test:a11y +npm run serve:a11y +``` + +### Documentation Example (Markdown) +```md +--- +section: extensions +subsection: Data view +id: DataView +propComponents: ['DataView'] +sourceLink: https://github.com/patternfly/react-data-view/blob/main/packages/module/patternfly-docs/content/extensions/data-view/examples/DataView/DataView.md +--- + +import DataView from "@patternfly/react-data-view/dist/dynamic/DataView"; + +## Component usage + + + +### DataView component example label + +```js file="./DataViewExample.tsx"``` +``` + +### References +- [PatternFly React Data View GitHub](https://github.com/patternfly/react-data-view) +- [PatternFly Data View NPM](https://www.npmjs.com/package/@patternfly/react-data-view) + +> **Note:** Always consult the latest PatternFly Data View documentation and demo source code for up-to-date usage patterns and best practices. + +### Real-World Example: OpenShift Console + +A production example of PatternFly Data View usage can be found in the OpenShift Console codebase: +- [DataViewPodList.tsx on GitHub](https://github.com/openshift/console/blob/79d29bca8440a5ad82b5257bb0f37bc24384eb0e/frontend/public/components/data-view-poc/DataViewPodList.tsx) + +**Key integration patterns and best practices from this example:** +- Integrates Data View with live Kubernetes data (pods) and application state. +- Demonstrates how to pass dynamic data and columns to the Data View component. +- Shows how to handle loading, error, and empty states in a real product context. +- Illustrates the use of PatternFly composable components for custom row rendering and actions. +- Provides a template for connecting Data View to Redux or other state management solutions. + +> For advanced usage, review the linked file to see how Data View is composed with other PatternFly and application-specific components. diff --git a/ai-documentation/components/data-display/table.md b/ai-documentation/components/data-display/table.md new file mode 100644 index 00000000..691ec48e --- /dev/null +++ b/ai-documentation/components/data-display/table.md @@ -0,0 +1,123 @@ +# Table Component Rules + +Essential rules for PatternFly table components, including usage, sorting, selection, performance, accessibility, and best practices. + +## Required Table Structure +- βœ… **Use composable Table components** - `Table`, `Thead`, `Tbody`, `Tr`, `Th`, `Td` +- βœ… **Import from @patternfly/react-table** - Not @patternfly/react-core +- ❌ **Don't create custom table components** - Use PatternFly's composable approach + +```jsx +// βœ… Correct table structure +import { Table, Thead, Tbody, Tr, Th, Td } from '@patternfly/react-table'; + + + + + + + + + + {data.map(item => ( + + + + + ))} + +
NameEmail
{item.name}{item.email}
+``` + +## Sorting Rules +- βœ… **Use sort prop on Th components** - Configure sorting via the `sort` prop +- βœ… **Manage sort state with useState** - Track sortBy state +- βœ… **Use useMemo for sorted data** - Performance optimization + +```jsx +// βœ… Required sorting pattern +const [sortBy, setSortBy] = useState({}); + + + Name + +``` + +## Selection Rules +- βœ… **Use Set for selection state** - More efficient than arrays +- βœ… **Handle indeterminate state** - For "select all" checkbox +- βœ… **Use proper ARIA labels** - For accessibility + +```jsx +// βœ… Required selection pattern +const [selectedItems, setSelectedItems] = useState(new Set()); + +const isAllSelected = selectedItems.size === data.length && data.length > 0; +const isPartiallySelected = selectedItems.size > 0 && selectedItems.size < data.length; + + +``` + +## Performance Rules +- βœ… **Use virtualization for 1000+ rows** - react-window library +- βœ… **Use pagination for large datasets** - Better UX than virtualization +- βœ… **Memoize table rows** - React.memo for performance +- βœ… **Use useCallback for handlers** - Stable references + +```jsx +// βœ… Required for large datasets +import { FixedSizeList as List } from 'react-window'; +import { Pagination } from '@patternfly/react-core'; + +// For 1000+ items, use virtualization + + {Row} + + +// For better UX, use pagination + +``` + +## Essential Do's and Don'ts + +### βœ… Do's +- Use composable Table components (Thead, Tbody, Tr, Th, Td) +- Implement proper sorting with sort prop on Th components +- Use Checkbox components for selectable rows +- Configure dropdown positioning with popperProps +- Provide empty states for no data and filtered results +- Implement loading states with skeletons or spinners +- Use proper ARIA labels for accessibility + +### ❌ Don'ts +- Create custom table components when PatternFly Table exists +- Ignore responsive design for data tables +- Skip loading and empty states +- Forget to handle dropdown clipping issues +- Use inconsistent selection patterns +- Skip accessibility considerations for interactive elements + +## Common Issues + +### Dropdown Clipping +```jsx +// βœ… Solution: Use appendTo to prevent clipping + document.body }}> +``` + +### Performance Issues +- **1000+ rows**: Use virtualization with react-window +- **Large datasets**: Implement pagination +- **Slow rendering**: Memoize components with React.memo + +### Selection Issues +- **Use Set not Array**: More efficient for selection state +- **Handle indeterminate**: For "select all" checkbox state +- **Provide feedback**: Show selected count and bulk actions + +## Quick Reference +- **[Table Component](https://www.patternfly.org/components/table)** - Official table documentation \ No newline at end of file diff --git a/ai-documentation/components/layout/README.md b/ai-documentation/components/layout/README.md new file mode 100644 index 00000000..9d5f9a0c --- /dev/null +++ b/ai-documentation/components/layout/README.md @@ -0,0 +1,471 @@ +# Layout Components + +This section covers PatternFly layout components and page structure patterns for building consistent application layouts. + +## Introduction + +PatternFly layout components provide the foundation for structuring application pages and organizing content. These components ensure consistent spacing, responsive behavior, and proper semantic structure across your application. + +## Reference Documentation + +- [PatternFly Layouts on PatternFly.org](https://www.patternfly.org/layouts) +- [PatternFly React GitHub Repository](https://github.com/patternfly/patternfly-react) + +> For the most up-to-date documentation and code examples, consult both PatternFly.org and the official GitHub repository. When using AI tools, leverage context7 to fetch the latest docs from these sources. + +## Related Files + +- [**Page Sections**](./page-sections.md) - PageSection component usage and patterns +- [**Grid System**](./grid-system.md) - Grid layout and responsive design +- [**Component Architecture**](../../guidelines/component-architecture.md) - Component structure patterns +- [**Styling Standards**](../../guidelines/styling-standards.md) - Layout styling guidelines + +## Core Layout Components + +### PageSection Component + +The [`PageSection`](https://www.patternfly.org/components/page/page-section) component is the primary building block for page content structure. + +#### Basic Usage +```jsx +import { PageSection, Content } from '@patternfly/react-core'; + +const BasicPage = () => ( + + {/* Page Title Section */} + + Page Title + + + {/* Main Content Section */} + + Main page content goes here + + +); +``` + +#### PageSection Variants +```jsx +// Light background for headers/titles + + Application Title + + +// Default background for main content + + + + +// Secondary background for supporting content + + + + +// Dark background for special sections + + + +``` + +#### Padding Configuration +```jsx +// Standard padding + + Standard padded content + + +// No padding + + Content with no padding + + +// Responsive padding + + Responsive padding content + +``` + +#### Body Wrapper +```jsx +// Adds pf-vX-c-page__main-body wrapper for standard content padding + +
+ Content with body wrapper styling +
+
+``` + +## Common Layout Patterns + +### Standard Page Layout +```jsx +import { + PageSection, + Content, + Toolbar, + ToolbarContent +} from '@patternfly/react-core'; + +const StandardPageLayout = () => ( + + {/* 1. Page Title Section */} + + User Management + Manage user accounts and permissions + + + {/* 2. Toolbar Section */} + + + + {/* Filters, search, actions */} + + + + + {/* 3. Main Content Section */} + + + + +); +``` + +### Dashboard Layout +```jsx +const DashboardLayout = () => ( + + {/* Dashboard Header */} + + Dashboard + System overview and key metrics + + + {/* Metrics Cards */} + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ + {/* Charts and Detailed Content */} + +
+
+ +
+
+ +
+
+
+
+); +``` + +### Form Layout +```jsx +const FormPageLayout = () => ( + + {/* Form Header */} + + Create User + Add a new user to the system + + + {/* Form Content */} + +
+
+ + User Information + + + + +
+
+ + Help + + + + +
+
+
+
+); +``` + +## Grid System Integration + +### Basic Grid Layout +```jsx +import { PageSection } from '@patternfly/react-core'; + +const GridLayout = () => ( + +
+
+ Left Content +
+
+ Right Content +
+
+
+); +``` + +### Responsive Grid Patterns +```jsx +// Three-column responsive layout +
+
+ Column 1 +
+
+ Column 2 +
+
+ Column 3 +
+
+``` + +## Responsive Design Considerations + +### Breakpoint-Aware Layouts +```jsx +const ResponsiveLayout = () => ( + + {/* Mobile: Stack vertically, Desktop: Side by side */} +
+
+ +
+
+ +
+
+
+); +``` + +### Mobile-First Approach +```jsx +// Start with mobile layout, enhance for larger screens + +
+
+ +
+
+ +
+
+
+``` + +## Accessibility Considerations + +### Semantic Structure +```jsx +// Use proper heading hierarchy + + Main Page Title {/* h1 for page title */} + + + + Section Title {/* h2 for major sections */} +
+ Subsection {/* h3 for subsections */} +
+
+``` + +### Skip Links and Navigation +```jsx +// Add skip links for keyboard navigation + + + Skip to main content + + + + + + +``` + +### ARIA Landmarks +```jsx +// Use proper ARIA landmarks + + + + + + + +``` + +## Performance Optimization + +### Lazy Loading Sections +```jsx +import { lazy, Suspense } from 'react'; +import { Spinner } from '@patternfly/react-core'; + +const LazySection = lazy(() => import('./HeavySection')); + +const OptimizedLayout = () => ( + + + Page Title + + + + }> + + + + +); +``` + +### Conditional Rendering +```jsx +const ConditionalLayout = ({ showSidebar, isLoading }) => ( + +
+
+ {isLoading ? : } +
+ {showSidebar && ( +
+ +
+ )} +
+
+); +``` + +## Best Practices + +### Layout Do's +- βœ… Use PageSection for all major page areas +- βœ… Follow consistent page structure patterns +- βœ… Implement responsive design from mobile-first +- βœ… Use proper semantic HTML structure +- βœ… Maintain consistent spacing with PatternFly utilities +- βœ… Test layouts across different screen sizes +- βœ… Use hasBodyWrapper for standard content padding + +### Layout Don'ts +- ❌ Skip PageSection for page structure +- ❌ Mix layout systems inconsistently +- ❌ Ignore responsive design requirements +- ❌ Use custom CSS when PatternFly layout classes exist +- ❌ Create overly complex nested layouts +- ❌ Forget accessibility considerations +- ❌ Hardcode spacing values instead of using utilities + +## Common Layout Issues + +### Troubleshooting +1. **Spacing Issues**: Use PatternFly spacing utilities instead of custom margins +2. **Responsive Problems**: Test on actual devices, not just browser resize +3. **Overflow Issues**: Check container widths and use proper flex/grid properties +4. **Accessibility Violations**: Validate semantic structure and ARIA labels +5. **Performance Problems**: Implement lazy loading for heavy sections + +For detailed troubleshooting, see [Common Issues](../../troubleshooting/common-issues.md#layout-issues). + +## Valid PatternFly Page Layout (v6+) + +PatternFly v6+ provides a flexible, composable layout system for full-page apps. Here are the key best practices for structuring your app layout: + +### Key Lessons +- **Use the `Page` component as the root**. Pass `masthead`, `sidebar`, and `breadcrumb` as props (not children). +- **Masthead**: Use `Masthead`, `MastheadMain`, `MastheadBrand`, `MastheadToggle`, and `MastheadContent` for the top bar. +- **Sidebar navigation**: Use `PageSidebar` and `PageSidebarBody` with `Nav` and `NavList` for navigation. +- **Page sections**: Use `PageSection` for all main content areas. Use `Title` for headings and `Content` for paragraphs. +- **No `PageHeader`**: This is not a valid PatternFly v6+ component. Use `PageSection` + `Title` for page headers. +- **Breadcrumbs**: Pass as the `breadcrumb` prop to `Page`. +- **No inline styles for layout**: Use PatternFly layout and spacing utilities. + +### Example: Valid Layout +```jsx +import { + Page, Masthead, MastheadMain, MastheadBrand, MastheadToggle, MastheadContent, + PageSidebar, PageSidebarBody, Nav, NavList, NavItem, PageSection, Title, Content +} from '@patternfly/react-core'; + +const masthead = ( + + + {/* ... */} + {/* ... */} + + {/* ... */} + +); + +const sidebar = ( + + + + + +); + +export default function AppLayout() { + return ( + + + Dashboard + This is a PatternFly + Vite + TypeScript + React 19 app. + + + ); +} +``` + +### Layout Summary Table + +| Layout Element | PatternFly Component(s) | Notes | +|---------------|------------------------|-------| +| Root | `Page` | Use `masthead`, `sidebar`, `breadcrumb` props | +| Masthead | `Masthead`, `MastheadMain`, `MastheadBrand`, etc. | Compose for logo, toggles, user menu | +| Sidebar | `PageSidebar`, `PageSidebarBody`, `Nav` | Use for navigation | +| Main Content | `PageSection`, `Title`, `Content` | Use for each page/view | +| Breadcrumbs | `Breadcrumb` | Pass as `breadcrumb` prop to `Page` | +| Page Header | *No `PageHeader`* | Use `PageSection` + `Title` instead | + +> **Note:** `PageHeader` is not a PatternFly component in v6+. Use `PageSection`, `Title`, and layout components instead. \ No newline at end of file diff --git a/ai-documentation/guidelines/README.md b/ai-documentation/guidelines/README.md new file mode 100644 index 00000000..a8e9d11d --- /dev/null +++ b/ai-documentation/guidelines/README.md @@ -0,0 +1,83 @@ +# PatternFly Guidelines + +Core development rules for AI coders building PatternFly React applications. + +## Related Files + +- [**Component Rules**](./component-architecture.md) - Component structure requirements +- [**Styling Rules**](./styling-standards.md) - CSS and styling requirements +- [**Layout Rules**](../components/layout/README.md) - Page structure requirements + +## Essential Rules + +### Version Requirements + +- βœ… **ALWAYS use PatternFly v6** - Use `pf-v6-` prefixed classes only +- ❌ **NEVER use legacy versions** - No `pf-v5-`, `pf-v4-`, or `pf-c-` classes +- βœ… **Match component and CSS versions** - Ensure compatibility + +### Component Usage Rules + +- βœ… **Use PatternFly components first** - Before creating custom solutions +- βœ… **Compose components** - Build complex UIs by combining PatternFly components +- ❌ **Don't override component internals** - Use provided props and APIs + +### Text Components (v6+) +```jsx +// βœ… Correct +import { Content } from '@patternfly/react-core'; +Title + +// ❌ Wrong - Don't use old Text components +Title +``` + +### Icon Usage +```jsx +// βœ… Correct - Wrap with Icon component +import { Icon } from '@patternfly/react-core'; +import { UserIcon } from '@patternfly/react-icons'; + +``` + +### Styling Rules + +- βœ… **Use PatternFly utilities** - Before writing custom CSS +- βœ… **Use semantic design tokens** for custom CSS (e.g., `var(--pf-v6-global--primary-color--light)`), not base tokens with numbers (e.g., `--pf-v6-global--Color--100`) or hardcoded values +- ❌ **Don't mix PatternFly versions** - Stick to v6 throughout + +### Documentation Requirements + +1. **Check [PatternFly.org](https://www.patternfly.org/) first** - Primary source for APIs +2. **Check the [PatternFly React GitHub repository](https://github.com/patternfly/patternfly-react)** for the latest source code, examples, and release notes +3. **Use "View Code" sections** - Copy working examples +4. **Reference version-specific docs** - Match your project's PatternFly version +5. **Provide context to AI** - Share links and code snippets when asking for help + +> For the most up-to-date documentation, use both the official docs and the source repositories. When using AI tools, encourage them to leverage context7 to fetch the latest documentation from these sources. + +### Accessibility Requirements + +- βœ… **WCAG 2.1 AA compliance** - All components must meet standards +- βœ… **Proper ARIA labels** - Use semantic markup and labels +- βœ… **Keyboard navigation** - Ensure full keyboard accessibility +- βœ… **Focus management** - Logical focus order and visible indicators + +## Quality Checklist + +- [ ] Uses PatternFly v6 classes only +- [ ] Components render correctly across browsers +- [ ] Responsive on mobile and desktop +- [ ] Keyboard navigation works +- [ ] Screen readers can access content +- [ ] No console errors or warnings +- [ ] Performance is acceptable + +## When Issues Occur + +1. **Check [PatternFly.org](https://www.patternfly.org/)** - Verify component API +2. **Inspect elements** - Use browser dev tools for PatternFly classes +3. **Search [GitHub issues](https://github.com/patternfly/patternfly-react/issues)** - Look for similar problems +4. **Provide context** - Share code snippets and error messages + +See [Common Issues](../troubleshooting/common-issues.md) for specific problems. \ No newline at end of file diff --git a/ai-documentation/guidelines/component-architecture.md b/ai-documentation/guidelines/component-architecture.md new file mode 100644 index 00000000..77ba4a3a --- /dev/null +++ b/ai-documentation/guidelines/component-architecture.md @@ -0,0 +1,178 @@ +# Component Architecture + +Essential rules for structuring PatternFly components and organizing component hierarchies. + +## Related Files +- [**PatternFly Guidelines**](./README.md) - Core development principles +- [**Styling Rules**](./styling-standards.md) - CSS and styling approaches +- [**Layout Rules**](../components/layout/README.md) - Page structure patterns +- [**Table Component Rules**](../components/data-display/table.md) - Table usage and best practices +- [**Data View Component Rules**](../components/data-display/README.md) - Data view usage and best practices + +## Component Composition Rules + +### PatternFly-First Approach +- βœ… **Always start with PatternFly components** - Before creating custom solutions +- βœ… **Compose PatternFly components** - Build complex UIs by combining them +- ❌ **Don't create custom components** - When PatternFly components exist + +```jsx +// βœ… Correct - Compose PatternFly components +import { Card, CardTitle, CardBody, Button, Content } from '@patternfly/react-core'; + +const UserCard = ({ user, onEdit }) => ( + + + {user.name} + + + {user.email} + + + +); +``` + +### Page Structure Rules +```jsx +// βœ… Standard page pattern + + + Page Title + + + {/* filters */} + + + +``` + +### Component Hierarchy +1. **Page Components** - Top-level page structure +2. **Section Components** - Major page sections +3. **Feature Components** - Specific functionality +4. **PatternFly Components** - Base components + +### PatternFly Data Display Best Practices +> For all key-value or labeled data, use PatternFly's DescriptionList components for clarity and accessibility: +- **No `` for labels:** Use PatternFly's `DescriptionList` for key-value pairs, with `DescriptionListTerm` and `DescriptionListDescription`. +- **No direct `` for labeled data:** Use `DescriptionList` for any labeled data instead of lists with bold/strong labels. + +## State Management Rules + +### Local State +- βœ… **Use useState for component-specific state** - Form inputs, toggles, local UI state +- βœ… **Use useCallback and useMemo** - For performance optimization +- ❌ **Don't lift state unnecessarily** - Keep state as local as possible + +### Shared State +- βœ… **Use Context for shared state** - When multiple components need same data +- βœ… **Use useReducer for complex state** - When state logic is complex +- ❌ **Don't use global state for everything** - Only when truly needed + +## Common Pattern Rules + +### Table with Selection +```jsx +// βœ… Required pattern for selectable tables +import { Table, Thead, Tbody, Tr, Th, Td, Checkbox } from '@patternfly/react-table'; + +// Use Set for selection state management +const [selectedItems, setSelectedItems] = useState(new Set()); + +// Handle indeterminate state for "select all" +const isAllSelected = selectedItems.size === data.length && data.length > 0; +const isPartiallySelected = selectedItems.size > 0 && selectedItems.size < data.length; + + +``` + +### Dropdown Actions +```jsx +// βœ… Required pattern for action dropdowns +import { Dropdown, DropdownList, DropdownItem, MenuToggle } from '@patternfly/react-core'; +import { EllipsisVIcon } from '@patternfly/react-icons'; + +// Always use popperProps to prevent clipping + document.body }} + toggle={(toggleRef) => ( + + + + )} +> +``` + +### Toolbar with Filters +```jsx +// βœ… Required pattern for data filtering +import { Toolbar, ToolbarContent, ToolbarFilter, ToolbarToggleGroup } from '@patternfly/react-core'; + + + + } breakpoint="xl"> + + {/* Filter components */} + + + + +``` + +## Error Handling Rules + +### Required Error States +- βœ… **Always implement error boundaries** - Catch component errors +- βœ… **Handle loading states** - Show spinners or skeletons +- βœ… **Handle empty states** - Show appropriate empty state messages +- βœ… **Handle error states** - Show error messages with retry options + +```jsx +// βœ… Required error boundary pattern +import { EmptyState, EmptyStateHeader, EmptyStateIcon } from '@patternfly/react-core'; + +if (isLoading) return ; +if (error) return ; +if (!data?.length) return ; +``` + +## Performance Rules + +### Required Optimizations +- βœ… **Use React.memo for list items** - Prevent unnecessary re-renders +- βœ… **Use useCallback for event handlers** - Stable references +- βœ… **Use useMemo for expensive calculations** - Cache computed values +- βœ… **Implement virtualization for large lists** - Use react-window for 1000+ items + +### Testing Rules +- βœ… **Test component interactions** - User events and state changes +- βœ… **Test accessibility** - ARIA labels and keyboard navigation +- βœ… **Test error states** - Loading, error, and empty states +- ❌ **Don't test PatternFly component internals** - Focus on your component logic + +## Essential Do's and Don'ts + +### βœ… Do's +- Compose PatternFly components to build complex UIs +- Use proper component hierarchy and separation of concerns +- Implement error boundaries and loading states +- Use React hooks for state management +- Memoize expensive computations and callbacks +- Write tests for component behavior + +### ❌ Don'ts +- Create custom components when PatternFly components exist +- Mix state management patterns inconsistently +- Ignore error handling and loading states +- Create deeply nested component hierarchies +- Skip performance optimization for large data sets +- Tightly couple components to specific data structures + +## Quick Reference +- **[PatternFly Components](https://www.patternfly.org/components)** - Official component documentation +- **[React Patterns](https://reactpatterns.com/)** - Common React patterns +- **[Testing Library](https://testing-library.com/)** - Component testing best practices \ No newline at end of file diff --git a/ai-documentation/guidelines/styling-standards.md b/ai-documentation/guidelines/styling-standards.md new file mode 100644 index 00000000..20ff15ef --- /dev/null +++ b/ai-documentation/guidelines/styling-standards.md @@ -0,0 +1,221 @@ +# Styling Standards + +Essential CSS and styling rules for PatternFly React applications. + +## Related Files +- [**PatternFly Guidelines**](./README.md) - Core development principles +- [**Component Rules**](./component-architecture.md) - Component structure patterns +- [**Layout Rules**](../components/layout/README.md) - Page layout styling + +## Class Naming Rules + +### PatternFly v6 Requirements +- βœ… **ALWAYS use `pf-v6-` prefix** - All PatternFly v6 classes +- ❌ **NEVER use legacy prefixes** - No `pf-v5-`, `pf-v4-`, or `pf-c-` + +```css +/* βœ… Correct v6 classes */ +.pf-v6-c-button /* Components */ +.pf-v6-u-margin-md /* Utilities */ +.pf-v6-l-grid /* Layouts */ + +/* ❌ Wrong - Don't use these */ +.pf-v5-c-button +.pf-c-button +``` + +## Utility-First Rules + +> **No inline styles:** Use PatternFly layout and spacing utilities instead of `style` props or custom CSS for layout and spacing. + +### Use PatternFly Utilities First +```jsx +// βœ… Correct - Use PatternFly utilities +
+ +// ❌ Wrong - Custom CSS when utilities exist +
+``` + +### Common Utility Patterns +```css +/* Spacing */ +.pf-v6-u-margin-{xs|sm|md|lg|xl} +.pf-v6-u-padding-{xs|sm|md|lg|xl} +.pf-v6-u-margin-top-md +.pf-v6-u-padding-left-lg + +/* Typography */ +.pf-v6-u-text-align-{left|center|right} +.pf-v6-u-font-weight-{light|normal|bold} +.pf-v6-u-font-size-{sm|md|lg} + +/* Colors */ +.pf-v6-u-color-{primary|secondary|success|warning|danger} +.pf-v6-u-background-color-primary +``` + +## Design Token Rules + +### Use Semantic PatternFly Tokens for Custom CSS +- βœ… **Use semantic tokens** (e.g., `--pf-v6-global--primary-color--light`) for custom CSS. These tokens do not end in numbers and are intended for application-level styling. +- ❌ **Don't use base tokens** (which end in numbers, e.g., `--pf-v6-global--Color--100`) for custom CSS. Base tokens are for internal PatternFly use and may change. + +```css +.custom-component { + /* βœ… Correct - Use semantic tokens */ + color: var(--pf-v6-global--primary-color--light); + margin: var(--pf-v6-global--spacer--md); + + /* ❌ Wrong - Hardcoded values or base tokens */ + /* color: #333333; */ + /* color: var(--pf-v6-global--Color--100); */ + /* margin: 16px; */ +} +``` + +### Essential Token Categories +```css +/* Semantic Colors */ +--pf-v6-global--primary-color--light +--pf-v6-global--primary-color--dark +--pf-v6-global--background-color--light + +/* Spacing */ +--pf-v6-global--spacer--{xs|sm|md|lg|xl} + +/* Typography */ +--pf-v6-global--FontFamily--text +--pf-v6-global--FontSize--md +``` + +## Responsive Design Rules + +### Use PatternFly Responsive Utilities +```css +/* Mobile-first responsive patterns */ +.pf-v6-u-display-none-on-sm /* Hide on small screens */ +.pf-v6-u-display-block-on-md /* Show on medium+ */ +.pf-v6-u-text-align-center-on-lg /* Center on large+ */ +``` + +### Grid Layout Patterns +```jsx +
+
+ Responsive content +
+
+``` + +## Component Styling Rules + +> **No emojis or raw icons:** Always use PatternFly's React icon components (from `@patternfly/react-icons`) for all icons, including status, trend, and navigation icons. +> +> **No direct HTML headings or paragraphs:** Use PatternFly's `Title` for headings and `Content` with `component="p"` for paragraphs. + +### Button Styling +```jsx +// βœ… Use PatternFly variants + + + +// βœ… Add utilities for spacing + +``` + +### Form Styling +```jsx +
+ + + +
+``` + +## Performance Rules + +### CSS Efficiency +- βœ… **Use single utility classes** - More efficient than custom CSS +- βœ… **Import only needed CSS** - Tree shake unused styles +- ❌ **Don't create custom classes** - When PatternFly utilities exist + +## Troubleshooting Rules + +### Common Issues +1. **Missing styles** - Ensure PatternFly CSS is imported +2. **Class conflicts** - PatternFly classes should not be overridden +3. **Version mismatches** - All PatternFly packages must use same version + +### Debug Tools +- **Browser DevTools** - Inspect applied PatternFly classes +- **PatternFly DevTools** - Browser extension for debugging + +## Utility Class Usage Guidance + +> **Caution:** Avoid over-relying on utility classes to style components. Prefer using the component's own props and API for layout and appearance, as these are designed for recommended use cases. Use utility classes only when necessary, and add a comment explaining why the utility class is required. This approach helps ensure your code remains maintainable and aligned with future PatternFly updates. + +## Essential Do's and Don'ts + +### βœ… Do's +- Use PatternFly v6 classes exclusively +- Prefer component props and API for styling before using utility classes +- Use utility classes minimally, with comments explaining their necessity +- Use PatternFly design tokens for custom styles +- Test responsive behavior on different screen sizes +- Follow mobile-first responsive patterns + +### ❌ Don'ts +- Over-rely on utility classes to force component appearance +- Mix PatternFly versions +- Override PatternFly component internals +- Use hardcoded values instead of design tokens +- Create custom CSS when utilities exist +- Ignore responsive design requirements + +## Quick Reference +- **[PatternFly Utilities](https://www.patternfly.org/utilities)** - Complete utility documentation +- **[Design Tokens](https://www.patternfly.org/tokens)** - Available design tokens +- **[Responsive Design](https://www.patternfly.org/layouts)** - Layout and responsive patterns + +## Do/Don't Examples + +### No Inline Styles +**Do:** +```jsx +// Use PatternFly utility classes +
Content
+``` +**Don't:** +```jsx +// Avoid style props for layout/spacing +
Content
+``` + +### No Emojis or Raw Icons +**Do:** +```jsx +import ArrowUpIcon from '@patternfly/react-icons/dist/esm/icons/arrow-up-icon'; + +``` +**Don't:** +```jsx +πŸ“ˆ +``` + +### No Direct HTML Headings or Paragraphs +**Do:** +```jsx +import { Title, Content } from '@patternfly/react-core'; +Dashboard +This is a PatternFly app. +``` +**Don't:** +```jsx +

Dashboard

+

This is a PatternFly app.

+``` + +--- + +> **Note:** `PageHeader` is not a PatternFly component in v6+. Use `PageSection`, `Title`, and layout components instead. \ No newline at end of file diff --git a/ai-documentation/resources/external-links.md b/ai-documentation/resources/external-links.md new file mode 100644 index 00000000..d7dd2870 --- /dev/null +++ b/ai-documentation/resources/external-links.md @@ -0,0 +1,217 @@ +# External References + +This document provides links to official PatternFly documentation, repositories, and helpful external resources for AI coders working with PatternFly React applications. + +## Introduction + +External resources are essential for staying current with PatternFly updates, finding implementation examples, and troubleshooting issues. This curated list provides direct access to the most important PatternFly resources and community support channels. + +## Related Files + +- [**Local Resources**](./local-files.md) - Project-specific documentation files +- [**Code Examples**](./code-examples.md) - Reusable code snippets and patterns +- [**Setup Guide**](../setup/README.md) - Initial project setup resources +- [**Troubleshooting**](../troubleshooting/common-issues.md) - Problem-solving resources + +## Official PatternFly Documentation + +### Primary Documentation +- **[PatternFly.org](https://www.patternfly.org/)** - Main documentation site with component APIs and examples +- **[PatternFly Design Guidelines](https://www.patternfly.org/get-started/design)** - Design principles and patterns +- **[PatternFly React Components](https://www.patternfly.org/components)** - Complete component library documentation +- **[PatternFly Layouts](https://www.patternfly.org/layouts)** - Layout system and grid documentation + +### Component-Specific Documentation +- **[Button Component](https://www.patternfly.org/components/button)** - Button variants and usage +- **[Table Component](https://www.patternfly.org/components/table)** - Composable table implementation +- **[Dropdown Component](https://www.patternfly.org/components/menus/dropdown)** - Dropdown and menu patterns +- **[Toolbar Component](https://www.patternfly.org/components/toolbar)** - Toolbar with filters and actions +- **[Page Component](https://www.patternfly.org/components/page)** - Page layout and structure +- **[Icon Component](https://www.patternfly.org/components/icon)** - Icon usage and sizing + +### Specialized Features +- **[PatternFly Charts](https://www.patternfly.org/charts/about)** - Data visualization guidelines +- **[PatternFly AI - Chatbot](https://www.patternfly.org/patternfly-ai/chatbot/overview)** - AI chatbot components +- **[Accessibility Guidelines](https://www.patternfly.org/accessibility/accessibility-fundamentals)** - WCAG compliance and best practices + +## Official Repositories + +### Core Repositories +- **[PatternFly React](https://github.com/patternfly/patternfly-react)** - Main React component library +- **[PatternFly Core](https://github.com/patternfly/patternfly)** - HTML/CSS foundation +- **[PatternFly React Seed](https://github.com/patternfly/patternfly-react-seed)** - Starter template for new projects + +### Specialized Packages +- **[PatternFly Charts Repository](https://github.com/patternfly/patternfly-react/tree/main/packages/react-charts)** - Charts package source and examples +- **[PatternFly Icons](https://github.com/patternfly/patternfly-react/tree/main/packages/react-icons)** - Icon library source +- **[PatternFly Tokens](https://github.com/patternfly/patternfly-react/tree/main/packages/react-tokens)** - Design tokens package + +### Example Applications +- **[PatternFly Demo App](https://github.com/patternfly/patternfly-react-demo-app)** - Complete demo application +- **[PatternFly Quickstarts](https://github.com/patternfly/patternfly-quickstarts)** - Interactive tutorials and guides + +## Component Examples and Code Snippets + +### "View Code" Sections +Most PatternFly component pages include "View Code" sections that provide working examples: +- Navigate to any component page on [patternfly.org](https://www.patternfly.org/) +- Look for the "View Code" button or link +- Copy and adapt the provided code snippets +- Use these as starting points for your implementations + +### Repository Examples +Find practical examples in the PatternFly repositories: +- **Component Examples**: `patternfly-react/packages/react-core/src/components/[ComponentName]/examples/` +- **Demo Files**: `*.tsx` and `*.jsx` files in component directories +- **Test Files**: Component test files often contain usage examples + +### Useful Repository Paths +``` +patternfly-react/ +β”œβ”€β”€ packages/react-core/src/components/ +β”‚ β”œβ”€β”€ Button/examples/ +β”‚ β”œβ”€β”€ Table/examples/ +β”‚ β”œβ”€β”€ Dropdown/examples/ +β”‚ └── [ComponentName]/examples/ +β”œβ”€β”€ packages/react-table/src/components/ +└── packages/react-charts/src/components/ +``` + +## Charts and Visualization Resources + +### PatternFly Charts +- **[Charts README](https://github.com/patternfly/patternfly-react/tree/main/packages/react-charts#readme)** - Installation and usage guide +- **[Victory.js Documentation](https://formidable.com/open-source/victory/)** - Underlying charting library +- **[ECharts Documentation](https://echarts.apache.org/)** - Alternative charting library + +### Chart Examples +- **[Chart Component Examples](https://github.com/patternfly/patternfly-react/tree/main/packages/react-charts/src/components)** - Source code examples +- **[PatternFly Chart Demos](https://www.patternfly.org/charts)** - Interactive chart examples + +## Chatbot Resources + +### PatternFly Chatbot +- **[Chatbot Overview](https://www.patternfly.org/patternfly-ai/chatbot/overview)** - Main chatbot documentation +- **[Basic Chatbot Demo](https://www.patternfly.org/patternfly-ai/chatbot/overview/demo/basic-chatbot)** - Simple chatbot implementation +- **[Embedded Chatbot Demo](https://www.patternfly.org/patternfly-ai/chatbot/overview/demo/embedded-chatbot)** - Embedded chatbot pattern +- **[Chatbot Demos Overview](https://www.patternfly.org/patternfly-ai/chatbot/overview/demo)** - All chatbot demo variations + +### Implementation Resources +- **Demo Source Code**: Available on each demo page via "View Code" sections +- **Component API**: Detailed props and usage information +- **Integration Examples**: How to integrate with existing PatternFly applications + +## Community and Support + +### GitHub Resources +- **[Issues](https://github.com/patternfly/patternfly-react/issues)** - Bug reports and feature requests +- **[Discussions](https://github.com/patternfly/patternfly-react/discussions)** - Community Q&A and discussions +- **[Pull Requests](https://github.com/patternfly/patternfly-react/pulls)** - Code contributions and reviews + +### Communication Channels +- **[PatternFly Slack](https://patternfly.slack.com/)** - Real-time community support +- **[PatternFly Forum](https://forum.patternfly.org/)** - Long-form discussions and help +- **[Stack Overflow](https://stackoverflow.com/questions/tagged/patternfly)** - Technical Q&A with `patternfly` tag + +## Development Tools and Extensions + +### Browser Extensions +- **[React Developer Tools](https://chrome.google.com/webstore/detail/react-developer-tools/)** - React component debugging +- **[PatternFly DevTools](https://github.com/patternfly/patternfly-devtools)** - PatternFly-specific debugging tools + +### IDE Extensions +- **[VS Code PatternFly Snippets](https://marketplace.visualstudio.com/search?term=patternfly)** - Code snippets for VS Code +- **[ES7+ React/Redux/React-Native snippets](https://marketplace.visualstudio.com/items?itemName=dsznajder.es7-react-js-snippets)** - React development shortcuts + +## Learning Resources + +### Tutorials and Guides +- **[Getting Started Guide](https://www.patternfly.org/get-started/develop)** - Development setup and first steps +- **[Migration Guides](https://www.patternfly.org/get-started/upgrade)** - Upgrading between PatternFly versions +- **[Design System Principles](https://www.patternfly.org/get-started/design)** - Understanding PatternFly design philosophy + +### Video Resources +- **[PatternFly YouTube Channel](https://www.youtube.com/c/PatternFly)** - Tutorials and presentations +- **[Red Hat Developer](https://www.youtube.com/c/RedHatDeveloper)** - Related development content + +## Version-Specific Resources + +### PatternFly v6 (Current) +- **[v6 Documentation](https://www.patternfly.org/)** - Current version documentation +- **[v6 Migration Guide](https://www.patternfly.org/get-started/upgrade)** - Upgrading from v5 to v6 +- **[v6 Release Notes](https://github.com/patternfly/patternfly-react/releases)** - Latest changes and updates + +### Legacy Versions +- **[v5 Documentation](https://v5.patternfly.org/)** - Previous version (for reference only) +- **[v4 Documentation](https://v4.patternfly.org/)** - Older version (for legacy projects) + +## API References + +### Node.js and npm +- **[Node.js Downloads](https://nodejs.org/)** - Official Node.js installation +- **[npm Documentation](https://docs.npmjs.com/)** - Package manager documentation +- **[nvm (Node Version Manager)](https://github.com/nvm-sh/nvm)** - Managing multiple Node.js versions + +### React Ecosystem +- **[React Documentation](https://react.dev/)** - Official React documentation +- **[React Router](https://reactrouter.com/)** - Client-side routing +- **[React Testing Library](https://testing-library.com/docs/react-testing-library/intro/)** - Component testing + +## Accessibility Resources + +### WCAG Guidelines +- **[WCAG 2.1 Guidelines](https://www.w3.org/WAI/WCAG21/quickref/)** - Web accessibility standards +- **[ARIA Authoring Practices](https://www.w3.org/WAI/ARIA/apg/)** - ARIA implementation patterns +- **[WebAIM](https://webaim.org/)** - Accessibility evaluation and guidance + +### Testing Tools +- **[axe DevTools](https://www.deque.com/axe/devtools/)** - Accessibility testing browser extension +- **[WAVE](https://wave.webaim.org/)** - Web accessibility evaluation tool +- **[Lighthouse](https://developers.google.com/web/tools/lighthouse)** - Performance and accessibility auditing + +## Performance Resources + +### Optimization Guides +- **[React Performance](https://react.dev/learn/render-and-commit)** - React rendering optimization +- **[Webpack Bundle Analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer)** - Bundle size analysis +- **[Web Vitals](https://web.dev/vitals/)** - Core web performance metrics + +### Monitoring Tools +- **[React DevTools Profiler](https://react.dev/blog/2018/09/10/introducing-the-react-profiler)** - Component performance profiling +- **[Chrome DevTools](https://developers.google.com/web/tools/chrome-devtools)** - Browser performance tools + +## Best Practices for Using External Resources + +### Documentation Strategy +1. **Start with Official Docs**: Always check [patternfly.org](https://www.patternfly.org/) first +2. **Use "View Code" Sections**: Copy working examples from component pages +3. **Check Repository Examples**: Look at `*.tsx`/`*.jsx` files in PatternFly repos +4. **Provide Context to AI**: Share links and code snippets when asking for help + +### Staying Current +1. **Follow Release Notes**: Monitor [GitHub releases](https://github.com/patternfly/patternfly-react/releases) +2. **Join Community Channels**: Participate in Slack or forum discussions +3. **Subscribe to Updates**: Watch PatternFly repositories for notifications +4. **Regular Documentation Review**: Periodically review component documentation for updates + +### Troubleshooting Approach +1. **Search Issues First**: Check GitHub issues for similar problems +2. **Consult Multiple Sources**: Cross-reference documentation with examples +3. **Test Incrementally**: Isolate problems with minimal examples +4. **Share Specific Context**: Provide version numbers and code snippets when seeking help + +## Quick Reference Links + +### Most Frequently Used +- [PatternFly Components](https://www.patternfly.org/components) +- [PatternFly React Repository](https://github.com/patternfly/patternfly-react) +- [PatternFly React Seed](https://github.com/patternfly/patternfly-react-seed) +- [Charts README](https://github.com/patternfly/patternfly-react/tree/main/packages/react-charts#readme) +- [Chatbot Overview](https://www.patternfly.org/patternfly-ai/chatbot/overview) + +### Emergency Resources +- [GitHub Issues](https://github.com/patternfly/patternfly-react/issues) +- [Stack Overflow PatternFly Tag](https://stackoverflow.com/questions/tagged/patternfly) +- [PatternFly Slack](https://patternfly.slack.com/) + +Remember: **Always consult the official PatternFly documentation for your project's specific package versions.** Providing AI assistants with working code snippets or links to versioned documentation is highly effective for getting accurate implementation guidance. \ No newline at end of file diff --git a/ai-documentation/resources/local-files.md b/ai-documentation/resources/local-files.md new file mode 100644 index 00000000..a5957904 --- /dev/null +++ b/ai-documentation/resources/local-files.md @@ -0,0 +1,217 @@ +# Local Resources + +This document describes project-specific documentation files and local resources available for PatternFly React development. + +## Introduction + +Local resources provide project-specific context, component information, and specialized guidance that complements the official PatternFly documentation. These files contain curated information about PatternFly components, chatbot implementation details, and project-specific patterns. + +## Related Files + +- [**External References**](./external-links.md) - Official PatternFly documentation and resources +- [**Code Examples**](./code-examples.md) - Reusable code snippets and patterns +- [**PatternFly Guidelines**](../guidelines/README.md) - Core development principles +- [**Chatbot Integration**](../chatbot/README.md) - Chatbot component documentation + +## Available Local Documentation Files + +### patternfly-chatbot.txt + +**Location**: [`patternfly-chatbot.txt`](../../patternfly-chatbot.txt) + +**Purpose**: Primary context file for PatternFly Chatbot structure and components. + +**Contents**: +- Chatbot component architecture and hierarchy +- Implementation patterns for chat interfaces +- Component-specific usage guidelines +- Integration examples with PatternFly applications +- Best practices for chatbot development + +**Usage Guidelines**: +- **Primary Reference**: Use this as the main source for chatbot implementation guidance +- **Component Structure**: Refer to this file for understanding chatbot component relationships +- **AI Assistant Context**: Provide relevant sections to AI assistants when working on chatbot features +- **Implementation Priority**: This guidance takes precedence over general PatternFly patterns for chatbot development + +**When to Reference**: +- Building new chatbot interfaces +- Integrating chatbot components with existing applications +- Troubleshooting chatbot-specific issues +- Understanding chatbot component APIs and props + +### patternfly-react-component-groups.txt + +**Location**: [`patternfly-react-component-groups.txt`](../../patternfly-react-component-groups.txt) + +**Purpose**: Comprehensive reference for PatternFly React component groups and specialized component libraries. + +**Contents**: +- Component group classifications and categories +- Specialized component libraries and packages +- Component relationships and dependencies +- Advanced component patterns and compositions +- Enterprise-specific component implementations + +**Usage Guidelines**: +- **Component Discovery**: Use to find appropriate components for specific use cases +- **Advanced Patterns**: Reference for complex component compositions +- **Enterprise Features**: Guidance for enterprise-specific component implementations +- **Component Groups**: Understanding how components work together in larger patterns + +**When to Reference**: +- Planning complex UI implementations +- Looking for specialized component libraries +- Understanding component group relationships +- Implementing enterprise-level features + +## Local File Integration Patterns + +### Reading Local Documentation +```javascript +// Example: Referencing local documentation in code comments +/** + * User Management Table Component + * + * Implementation follows patterns from: + * - patternfly-react-component-groups.txt (Table patterns section) + * - Local documentation: /documentation/components/data-display/ + * + * Key features: + * - Bulk selection with component group patterns + * - Advanced filtering using specialized components + * - Enterprise-grade data handling + */ +``` + +### AI Assistant Context Sharing +When working with AI assistants, provide relevant local documentation context: + +```markdown +// Example context sharing +"I'm implementing a chatbot feature. Here's the relevant section from our +local patternfly-chatbot.txt file: [paste relevant section]. Please help me +implement this pattern with proper PatternFly components." +``` + +### Documentation Cross-References +```markdown +// Table and data view documentation are now split: +// - Table rules: /documentation/components/data-display/table.md +// - Data view rules: /documentation/components/data-display/README.md +``` + +## Project-Specific Patterns + +### Component Selection Workflow +1. **Check Local Documentation**: Review relevant sections in local `.txt` files +2. **Consult Documentation Repo**: Use this documentation repository for implementation guidance +3. **Reference Official Docs**: Verify with official PatternFly documentation +4. **Implement with Context**: Apply local patterns and project-specific requirements + +### Local Documentation Maintenance +```markdown +// Example documentation update pattern +/** + * When updating local documentation files: + * 1. Update the source .txt file + * 2. Update related documentation in /documentation/ + * 3. Update cross-references and links + * 4. Test examples and code snippets + * 5. Notify team of changes + */ +``` + +## Integration with Development Workflow + +### IDE Integration +```json +// Example VS Code settings for local documentation +{ + "files.associations": { + "*.txt": "markdown" + }, + "search.include": { + "patternfly-*.txt": true, + "documentation/**/*.md": true + } +} +``` + +### Documentation Search Patterns +```bash +# Example search commands for local documentation +grep -r "chatbot" patternfly-*.txt documentation/ +grep -r "component-groups" patternfly-*.txt documentation/ +grep -r "specific-pattern" documentation/ patternfly-*.txt +``` + +### Build Integration +```javascript +// Example build script integration +const fs = require('fs'); + +// Read local documentation for build-time validation +const chatbotDocs = fs.readFileSync('patternfly-chatbot.txt', 'utf8'); +const componentGroups = fs.readFileSync('patternfly-react-component-groups.txt', 'utf8'); + +// Validate component usage against local documentation +// Generate component usage reports +// Update documentation cross-references +``` + +## Best Practices for Local Resources + +### Documentation Usage +- **Primary Source**: Use local documentation as the primary source for project-specific patterns +- **Context Sharing**: Always provide relevant local documentation context to AI assistants +- **Cross-Reference**: Link local documentation with official PatternFly resources +- **Keep Current**: Regularly update local documentation to match project evolution + +### File Organization +- **Centralized Location**: Keep local documentation files in the project root for easy access +- **Clear Naming**: Use descriptive filenames that indicate content and purpose +- **Version Control**: Track changes to local documentation files in version control +- **Team Access**: Ensure all team members can access and contribute to local documentation + +### Integration Strategies +- **Development Workflow**: Integrate local documentation into daily development practices +- **Code Reviews**: Reference local documentation during code reviews +- **Onboarding**: Use local documentation for team member onboarding +- **Knowledge Sharing**: Share local documentation insights across teams + +## Troubleshooting Local Resources + +### Common Issues +1. **File Not Found**: Verify file paths and locations +2. **Outdated Information**: Check file modification dates and update as needed +3. **Inconsistent Patterns**: Cross-reference with official documentation +4. **Missing Context**: Ensure complete information is available for AI assistants + +### Maintenance Tasks +- **Regular Reviews**: Periodically review and update local documentation +- **Link Validation**: Verify internal and external links are working +- **Content Accuracy**: Ensure information matches current PatternFly versions +- **Team Feedback**: Collect and incorporate team feedback on documentation usefulness + +## Quick Reference + +### Local File Locations +- **Chatbot Documentation**: `patternfly-chatbot.txt` +- **Component Groups**: `patternfly-react-component-groups.txt` +- **Documentation Repository**: `documentation/` directory +- **Setup Instructions**: `README.md` + +### Key Usage Patterns +- **Chatbot Development**: Start with `patternfly-chatbot.txt` +- **Component Selection**: Reference `patternfly-react-component-groups.txt` +- **Implementation Guidance**: Use documentation repository structure +- **AI Assistant Context**: Provide relevant local documentation sections + +### Integration Points +- **Development**: Reference during component implementation +- **Code Review**: Validate against local patterns +- **Documentation**: Cross-reference in documentation files +- **Team Communication**: Share context in discussions and planning + +Remember: Local documentation files provide project-specific context that should be used alongside official PatternFly documentation. Always provide relevant sections to AI assistants when seeking implementation guidance, as this context significantly improves the accuracy and relevance of the assistance provided. \ No newline at end of file diff --git a/ai-documentation/setup/README.md b/ai-documentation/setup/README.md new file mode 100644 index 00000000..24084b6f --- /dev/null +++ b/ai-documentation/setup/README.md @@ -0,0 +1,81 @@ +# Setup Guide + +This section covers the initial setup and configuration for PatternFly React development projects. + +## Introduction + +The setup process for PatternFly React applications involves several key steps including environment preparation, project initialization, and dependency management. This guide provides comprehensive instructions for AI coders to establish a proper development environment. + +## Related Files + +- [**Quick Start**](./quick-start.md) - Step-by-step project initialization +- [**Development Environment**](./development-environment.md) - Environment configuration and tools +- [**PatternFly Guidelines**](../guidelines/README.md) - Core development principles +- [**Troubleshooting Setup Issues**](../troubleshooting/common-issues.md#setup-issues) - Common setup problems + +## Prerequisites + +Before starting any PatternFly React project, ensure the following requirements are met: + +### Required Software + +#### Node.js & npm +- **Requirement**: Node.js and npm must be installed and available in PATH +- **Verification**: Run `node --version && npm --version` to confirm installation +- **Installation**: Download from [https://nodejs.org/](https://nodejs.org/) +- **AI Note**: AI can verify these commands and guide installation if needed + +#### Optional: Node Version Manager (nvm) +- **Purpose**: Manage multiple Node.js versions +- **Usage**: If using nvm, ensure it's loaded and the correct Node version is active +- **Verification**: Run `nvm use node` to activate the latest version +- **AI Note**: Check if nvm is being used before proceeding with npm commands + +### System Requirements + +- **Operating System**: Windows, macOS, or Linux +- **Memory**: Minimum 4GB RAM (8GB recommended for development) +- **Storage**: At least 1GB free space for dependencies +- **Network**: Internet connection for package downloads + +## Project Initialization Methods + +### Method 1: PatternFly React Seed (Recommended) + +The PatternFly React Seed provides a complete scaffolding solution with: +- Pre-configured layout components +- Routing setup +- Build and test tools +- Development server configuration + +**Repository**: [patternfly-react-seed](https://github.com/patternfly/patternfly-react-seed) + +### Method 2: Manual Setup + +For custom project structures or specific requirements, manual setup allows full control over: +- Package selection +- Build configuration +- Project structure +- Development workflow + +## Next Steps + +1. Follow the [Quick Start Guide](./quick-start.md) for immediate project setup +2. Configure your [Development Environment](./development-environment.md) +3. Review [PatternFly Guidelines](../guidelines/README.md) for coding standards +4. Explore [Component Documentation](../components/) for implementation guidance + +## Best Practices + +- Always verify Node.js and npm versions before starting +- Use the PatternFly React Seed for new projects unless specific customization is required +- Keep dependencies up to date with PatternFly releases +- Follow semantic versioning for project dependencies +- Document any custom setup steps for team collaboration + +## Common Setup Scenarios + +- **New Project**: Use PatternFly React Seed +- **Existing React App**: Add PatternFly dependencies manually +- **Enterprise Environment**: Consider proxy and security requirements +- **Team Development**: Ensure consistent Node.js versions across team members \ No newline at end of file diff --git a/ai-documentation/setup/development-environment.md b/ai-documentation/setup/development-environment.md new file mode 100644 index 00000000..9eccccae --- /dev/null +++ b/ai-documentation/setup/development-environment.md @@ -0,0 +1,237 @@ +# Development Environment + +This guide covers the configuration of development tools and environment settings for optimal PatternFly React development. + +## Introduction + +A properly configured development environment enhances productivity and ensures consistent code quality when working with PatternFly React applications. This guide covers IDE setup, debugging tools, and development workflow optimization. + +## Related Files + +- [**Setup Guide**](./README.md) - Initial project setup +- [**Quick Start**](./quick-start.md) - Project initialization steps +- [**Styling Standards**](../guidelines/styling-standards.md) - CSS and styling configuration +- [**Performance Optimization**](../troubleshooting/performance.md) - Development performance tips + +## Development Server Configuration + +### Default Configuration +- **Port**: `9000` (default for PatternFly React Seed) +- **Hot Reload**: Enabled by default +- **Source Maps**: Available for debugging +- **Proxy Settings**: Configurable for API integration + +### Server Management +```bash +# Start development server +npm run start:dev + +# Start in background (recommended for AI development) +npm run start:dev & + +# Stop server (if running in foreground) +Ctrl+C +``` + +### Environment Variables +Create a `.env` file in the project root for environment-specific settings: +```env +# Development server port +PORT=9000 + +# API endpoint configuration +REACT_APP_API_URL=http://localhost:3001 + +# Enable/disable specific features +REACT_APP_DEBUG_MODE=true +``` + +## IDE and Editor Configuration + +### Recommended Extensions (VS Code) +- **ES7+ React/Redux/React-Native snippets**: React development shortcuts +- **Auto Rename Tag**: Automatic HTML/JSX tag renaming +- **Bracket Pair Colorizer**: Visual bracket matching +- **GitLens**: Enhanced Git integration +- **Prettier**: Code formatting +- **ESLint**: Code linting + +### TypeScript Configuration +If using TypeScript with PatternFly: +```json +{ + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "es6"], + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": ["src"] +} +``` + +## Debugging Configuration + +### Browser DevTools Setup +1. **React Developer Tools**: Install browser extension for React debugging +2. **PatternFly DevTools**: Use browser inspector to examine PatternFly classes +3. **Network Tab**: Monitor API calls and resource loading +4. **Console**: Check for PatternFly-specific warnings or errors + +### VS Code Debugging +Create `.vscode/launch.json` for debugging: +```json +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Launch Chrome", + "request": "launch", + "type": "pwa-chrome", + "url": "http://localhost:9000", + "webRoot": "${workspaceFolder}/src", + "breakOnLoad": true, + "sourceMapPathOverrides": { + "webpack:///src/*": "${webRoot}/*" + } + } + ] +} +``` + +## Build and Testing Environment + +### Build Scripts +```bash +# Development build +npm run build:dev + +# Production build +npm run build + +# Analyze bundle size +npm run analyze +``` + +### Testing Configuration +```bash +# Run tests +npm test + +# Run tests with coverage +npm run test:coverage + +# Run tests in watch mode +npm run test:watch +``` + +## Package Management + +### Dependency Management +- **Core Dependencies**: PatternFly React components +- **Peer Dependencies**: React, React-DOM +- **Dev Dependencies**: Build tools, testing utilities + +### Version Compatibility +Ensure compatible versions between: +- React and PatternFly React +- PatternFly Core CSS and PatternFly React +- Node.js and npm versions + +### Update Strategy +```bash +# Check for outdated packages +npm outdated + +# Update PatternFly packages +npm update @patternfly/react-core @patternfly/react-table + +# Verify compatibility after updates +npm test +``` + +## Performance Optimization + +### Development Performance +- **Code Splitting**: Implement lazy loading for large components +- **Bundle Analysis**: Regular bundle size monitoring +- **Memory Management**: Monitor for memory leaks during development + +### Hot Module Replacement (HMR) +- Enabled by default in PatternFly React Seed +- Preserves component state during development +- Faster development iteration cycles + +## Environment-Specific Configuration + +### Development Environment +- Source maps enabled +- Detailed error messages +- Hot reloading active +- Debug mode available + +### Production Environment +- Minified bundles +- Optimized assets +- Error boundaries +- Performance monitoring + +## Workflow Integration + +### Git Hooks +Set up pre-commit hooks for code quality: +```json +{ + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "src/**/*.{js,jsx,ts,tsx}": [ + "eslint --fix", + "prettier --write" + ] + } +} +``` + +### Continuous Integration +Configure CI/CD for: +- Automated testing +- Build verification +- Dependency security scanning +- Performance regression testing + +## Troubleshooting Development Environment + +### Common Issues +- **Port conflicts**: Change port in package.json or environment variables +- **Memory issues**: Increase Node.js memory limit +- **Slow builds**: Optimize webpack configuration +- **Hot reload failures**: Clear cache and restart development server + +### Performance Monitoring +- Monitor build times +- Track bundle size changes +- Profile component rendering +- Analyze network requests + +## Best Practices + +1. **Keep dependencies updated** but test thoroughly +2. **Use environment variables** for configuration +3. **Enable source maps** for debugging +4. **Configure linting and formatting** for consistency +5. **Set up proper debugging tools** for efficient development +6. **Monitor performance** during development +7. **Use version control** for environment configuration files \ No newline at end of file diff --git a/ai-documentation/setup/quick-start.md b/ai-documentation/setup/quick-start.md new file mode 100644 index 00000000..a1380410 --- /dev/null +++ b/ai-documentation/setup/quick-start.md @@ -0,0 +1,129 @@ +# Quick Start Guide + +This guide provides step-by-step instructions to get a PatternFly React application running quickly using the PatternFly React Seed. + +## Introduction + +The Quick Start process uses the official PatternFly React Seed repository to scaffold a complete application with pre-configured components, routing, and build tools. This is the fastest way to begin PatternFly development. + +## Related Files + +- [**Setup Guide**](./README.md) - Prerequisites and setup overview +- [**Development Environment**](./development-environment.md) - Environment configuration +- [**PatternFly Guidelines**](../guidelines/README.md) - Development best practices +- [**Common Issues**](../troubleshooting/common-issues.md) - Troubleshooting setup problems + +## Step-by-Step Instructions + +### Step 1: Clone the Repository + +```bash +git clone https://github.com/patternfly/patternfly-react-seed +``` + +**AI Note**: This command can be executed by AI assistants to initialize the project. + +### Step 2: Navigate to Project Directory + +```bash +cd patternfly-react-seed +``` + +**Important**: All subsequent npm commands must be run from this directory. + +### Step 3: Install Dependencies + +```bash +npm install +``` + +**AI Note**: +- AI can run this command after verifying Node.js and npm are properly installed +- This step downloads all required PatternFly and React dependencies +- May take several minutes depending on network speed + +### Step 4: Start Development Server + +```bash +npm run start:dev +``` + +**Important Considerations**: +- **User Recommendation**: Run this command in a separate terminal to keep it active +- **Default URL**: Development server typically runs at `http://localhost:9000` +- **Additional Information**: Check the project's [README.md](../../README.md) for server configuration details + +## Verification Steps + +After completing the setup: + +1. **Check Server Status**: Ensure the development server starts without errors +2. **Access Application**: Open `http://localhost:9000` in a web browser +3. **Verify Components**: Confirm PatternFly components are rendering correctly +4. **Test Hot Reload**: Make a small change to verify live reloading works + +## What You Get + +The PatternFly React Seed includes: + +### Pre-configured Components +- Page layout structure +- Navigation components +- Basic routing setup +- Example PatternFly components + +### Development Tools +- Webpack configuration +- Hot module replacement +- Development server +- Build scripts + +### Testing Setup +- Jest configuration +- Testing utilities +- Example test files + +## Next Steps + +1. **Explore the Codebase**: Review the generated file structure +2. **Read Documentation**: Check [PatternFly Guidelines](../guidelines/README.md) +3. **Start Development**: Begin building your application components +4. **Configure Environment**: Set up [Development Environment](./development-environment.md) tools + +## Common Post-Setup Tasks + +### Customizing the Application +- Update application name and metadata +- Configure routing for your specific needs +- Add custom components and pages + +### Development Workflow +- Set up version control (if not already done) +- Configure IDE/editor for PatternFly development +- Install additional development tools + +### Team Setup +- Share environment configuration +- Document custom setup steps +- Establish coding standards and practices + +## Troubleshooting Quick Start + +If you encounter issues during setup: + +1. **Verify Prerequisites**: Ensure Node.js and npm are properly installed +2. **Check Network**: Confirm internet connectivity for package downloads +3. **Clear Cache**: Try `npm cache clean --force` if installation fails +4. **Port Conflicts**: If port 9000 is in use, check for alternative ports +5. **Permission Issues**: On Unix systems, avoid using `sudo` with npm + +For detailed troubleshooting, see [Common Issues](../troubleshooting/common-issues.md). + +## Success Indicators + +You've successfully completed the Quick Start when: +- βœ… Repository is cloned without errors +- βœ… Dependencies install successfully +- βœ… Development server starts and runs +- βœ… Application loads in browser at `http://localhost:9000` +- βœ… PatternFly components are visible and styled correctly \ No newline at end of file diff --git a/ai-documentation/troubleshooting/common-issues.md b/ai-documentation/troubleshooting/common-issues.md new file mode 100644 index 00000000..7074bfc8 --- /dev/null +++ b/ai-documentation/troubleshooting/common-issues.md @@ -0,0 +1,569 @@ +# Common Issues + +This document covers frequently encountered problems and their solutions when working with PatternFly React applications. + +## Introduction + +PatternFly development can present various challenges ranging from setup issues to component-specific problems. This guide provides systematic approaches to diagnosing and resolving common issues that AI coders encounter when building PatternFly applications. + +## Related Files + +- [**Component Issues**](./component-issues.md) - Component-specific troubleshooting +- [**Performance Optimization**](./performance.md) - Performance-related problems and solutions +- [**Setup Guide**](../setup/README.md) - Initial setup troubleshooting +- [**External References**](../resources/external-links.md) - Additional troubleshooting resources + +## Setup Issues + +### Node.js and npm Problems + +#### Issue: Command not found errors +```bash +# Error messages +'node' is not recognized as an internal or external command +'npm' is not recognized as an internal or external command +``` + +**Solutions**: +1. **Verify Installation**: + ```bash + # Check if Node.js is installed + node --version + npm --version + ``` + +2. **Reinstall Node.js**: + - Download from [https://nodejs.org/](https://nodejs.org/) + - Choose LTS version for stability + - Restart terminal after installation + +3. **PATH Configuration**: + ```bash + # Windows: Add to PATH environment variable + C:\Program Files\nodejs\ + + # macOS/Linux: Add to shell profile + export PATH="/usr/local/bin/node:$PATH" + ``` + +#### Issue: npm permission errors +```bash +# Error message +EACCES: permission denied, access '/usr/local/lib/node_modules' +``` + +**Solutions**: +1. **Use nvm (Recommended)**: + ```bash + # Install nvm + curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash + + # Install and use Node.js + nvm install node + nvm use node + ``` + +2. **Fix npm permissions**: + ```bash + # Create global directory + mkdir ~/.npm-global + npm config set prefix '~/.npm-global' + + # Add to PATH + export PATH=~/.npm-global/bin:$PATH + ``` + +### Project Setup Issues + +#### Issue: Git clone failures +```bash +# Error message +fatal: repository 'https://github.com/patternfly/patternfly-react-seed' not found +``` + +**Solutions**: +1. **Check Network Connection**: Verify internet connectivity +2. **Use HTTPS instead of SSH**: + ```bash + git clone https://github.com/patternfly/patternfly-react-seed + ``` +3. **Check Repository URL**: Verify the repository exists and URL is correct + +#### Issue: npm install failures +```bash +# Error messages +npm ERR! network request failed +npm ERR! peer dep missing +``` + +**Solutions**: +1. **Clear npm cache**: + ```bash + npm cache clean --force + ``` + +2. **Delete node_modules and reinstall**: + ```bash + rm -rf node_modules package-lock.json + npm install + ``` + +3. **Check npm registry**: + ```bash + npm config get registry + # Should return: https://registry.npmjs.org/ + ``` + +4. **Install with legacy peer deps**: + ```bash + npm install --legacy-peer-deps + ``` + +### Development Server Issues + +#### Issue: Port already in use +```bash +# Error message +Error: listen EADDRINUSE: address already in use :::9000 +``` + +**Solutions**: +1. **Find and kill process**: + ```bash + # Windows + netstat -ano | findstr :9000 + taskkill /PID /F + + # macOS/Linux + lsof -ti:9000 | xargs kill -9 + ``` + +2. **Use different port**: + ```bash + PORT=3001 npm run start:dev + ``` + +3. **Update package.json**: + ```json + { + "scripts": { + "start:dev": "webpack serve --port 3001" + } + } + ``` + +#### Issue: Development server not starting +```bash +# Error message +Module not found: Error: Can't resolve 'webpack-dev-server' +``` + +**Solutions**: +1. **Reinstall dependencies**: + ```bash + rm -rf node_modules package-lock.json + npm install + ``` + +2. **Check webpack configuration**: + ```javascript + // Verify webpack.config.js exists and is properly configured + ``` + +3. **Install missing dependencies**: + ```bash + npm install webpack webpack-dev-server --save-dev + ``` + +## Import and Module Issues + +### PatternFly Component Import Errors + +#### Issue: Module not found errors +```bash +# Error message +Module not found: Can't resolve '@patternfly/react-core' +``` + +**Solutions**: +1. **Install PatternFly packages**: + ```bash + npm install @patternfly/react-core @patternfly/react-table @patternfly/react-icons + ``` + +2. **Check import syntax**: + ```jsx + // Correct imports + import { Button, Card } from '@patternfly/react-core'; + import { Table, Thead, Tbody } from '@patternfly/react-table'; + import { UserIcon } from '@patternfly/react-icons'; + ``` + +3. **Verify package.json dependencies**: + ```json + { + "dependencies": { + "@patternfly/react-core": "^6.x.x", + "@patternfly/react-table": "^6.x.x", + "@patternfly/react-icons": "^6.x.x" + } + } + ``` + +#### Issue: Charts module not found +```bash +# Error message +Module not found: Can't resolve '@patternfly/react-charts/victory' +``` + +**Solutions**: +1. **Install charts dependencies**: + ```bash + npm install @patternfly/react-charts victory + ``` + +2. **Use correct import paths**: + ```jsx + // Correct chart imports + import { ChartDonut, ChartLine } from '@patternfly/react-charts/victory'; + ``` + +3. **Clear cache and reinstall**: + ```bash + rm -rf node_modules package-lock.json + npm install + ``` + +#### Issue: Chatbot module not found +```bash +# Error message +Module not found: Can't resolve '@patternfly/chatbot/dist/dynamic/Chatbot' +``` + +**Solutions**: +1. **Install chatbot package**: + ```bash + npm install @patternfly/chatbot + ``` + +2. **Import CSS**: + ```jsx + import '@patternfly/chatbot/dist/css/main.css'; + ``` + +3. **Use correct import paths**: + ```jsx + import { Chatbot } from '@patternfly/chatbot/dist/dynamic/Chatbot'; + ``` + +## Styling Issues + +### CSS and Class Problems + +#### Issue: PatternFly styles not applied +```bash +# Symptoms: Components appear unstyled or with default browser styles +``` + +**Solutions**: +1. **Import PatternFly CSS**: + ```jsx + // In your main App.js or index.js + import '@patternfly/react-core/dist/styles/base.css'; + ``` + +2. **Check CSS import order**: + ```jsx + // PatternFly CSS should be imported before custom CSS + import '@patternfly/react-core/dist/styles/base.css'; + import './custom-styles.css'; + ``` + +3. **Verify webpack CSS handling**: + ```javascript + // webpack.config.js + module.exports = { + module: { + rules: [ + { + test: /\.css$/, + use: ['style-loader', 'css-loader'] + } + ] + } + }; + ``` + +#### Issue: Wrong PatternFly version classes +```jsx +// Problem: Using old class names +
// v4 class +
// v5 class +``` + +**Solutions**: +1. **Use PatternFly v6 classes**: + ```jsx + // Correct v6 classes +
+
+ ``` + +2. **Update class references**: + ```bash + # Find and replace old classes + grep -r "pf-c-" src/ + grep -r "pf-v5-" src/ + ``` + +3. **Use PatternFly components instead**: + ```jsx + // Instead of manual classes, use components + import { Button } from '@patternfly/react-core'; + + ``` + +### Layout and Responsive Issues + +#### Issue: Components not responsive +```jsx +// Problem: Fixed widths and heights +
+``` + +**Solutions**: +1. **Use PatternFly responsive utilities**: + ```jsx +
+ ``` + +2. **Implement responsive patterns**: + ```jsx +
+
+ Content +
+
+ ``` + +3. **Use container-based sizing**: + ```jsx + const [dimensions, setDimensions] = useState({ width: 0, height: 0 }); + + useEffect(() => { + const updateDimensions = () => { + if (containerRef.current) { + const { width, height } = containerRef.current.getBoundingClientRect(); + setDimensions({ width, height }); + } + }; + + updateDimensions(); + window.addEventListener('resize', updateDimensions); + return () => window.removeEventListener('resize', updateDimensions); + }, []); + ``` + +## Component-Specific Issues + +### Dropdown Clipping Issues + +#### Issue: Dropdown menu gets clipped +```jsx +// Problem: Dropdown appears cut off in scrollable containers +``` + +**Solutions**: +1. **Use appendTo prop**: + ```jsx + document.body, + position: 'right', + enableFlip: true + }} + > + ``` + +2. **Configure positioning**: + ```jsx + + ``` + +### Table Performance Issues + +#### Issue: Slow rendering with large datasets +```jsx +// Problem: Table becomes unresponsive with 1000+ rows +``` + +**Solutions**: +1. **Implement pagination**: + ```jsx + import { Pagination } from '@patternfly/react-core'; + + const [page, setPage] = useState(1); + const [perPage, setPerPage] = useState(20); + const paginatedData = data.slice((page - 1) * perPage, page * perPage); + ``` + +2. **Use virtualization**: + ```jsx + import { FixedSizeList as List } from 'react-window'; + + + {Row} + + ``` + +3. **Optimize re-renders**: + ```jsx + const MemoizedRow = React.memo(({ item }) => ( + + {item.name} + {item.email} + + )); + ``` + +## Build and Deployment Issues + +### Build Failures + +#### Issue: Build process fails +```bash +# Error message +npm ERR! Failed at the build script +``` + +**Solutions**: +1. **Check for TypeScript errors**: + ```bash + npx tsc --noEmit + ``` + +2. **Verify all imports**: + ```bash + # Check for unused imports + npm run lint + ``` + +3. **Clear build cache**: + ```bash + rm -rf dist/ build/ + npm run build + ``` + +#### Issue: Bundle size too large +```bash +# Warning: Bundle size exceeds recommended limit +``` + +**Solutions**: +1. **Analyze bundle**: + ```bash + npm install --save-dev webpack-bundle-analyzer + npx webpack-bundle-analyzer dist/ + ``` + +2. **Implement code splitting**: + ```jsx + const LazyComponent = React.lazy(() => import('./HeavyComponent')); + + }> + + + ``` + +3. **Tree shake unused code**: + ```javascript + // webpack.config.js + module.exports = { + optimization: { + usedExports: true, + sideEffects: false + } + }; + ``` + +## Browser Compatibility Issues + +### Cross-Browser Problems + +#### Issue: Components not working in specific browsers +```bash +# Symptoms: Features work in Chrome but not Safari/Firefox +``` + +**Solutions**: +1. **Check browser support**: + ```json + // package.json + "browserslist": [ + "> 1%", + "last 2 versions", + "not dead" + ] + ``` + +2. **Add polyfills**: + ```bash + npm install core-js + ``` + ```jsx + // index.js + import 'core-js/stable'; + ``` + +3. **Test across browsers**: + - Use browser dev tools + - Test on actual devices + - Use browser testing services + +## Debugging Strategies + +### General Debugging Approach +1. **Check Console**: Look for error messages and warnings +2. **Isolate Problem**: Create minimal reproduction case +3. **Verify Versions**: Ensure compatible package versions +4. **Check Documentation**: Reference official PatternFly docs +5. **Search Issues**: Look for similar problems in GitHub issues + +### Debug Tools +- **React DevTools**: Inspect component state and props +- **Browser DevTools**: Network, console, and element inspection +- **PatternFly DevTools**: PatternFly-specific debugging +- **Bundle Analyzer**: Analyze build output and dependencies + +### Getting Help +1. **GitHub Issues**: Search and create issues with minimal reproduction +2. **Stack Overflow**: Use `patternfly` tag for questions +3. **Community Slack**: Real-time help from community +4. **Documentation**: Always check latest official documentation + +## Prevention Strategies + +### Best Practices +- **Keep Dependencies Updated**: Regularly update PatternFly packages +- **Follow Semantic Versioning**: Use compatible version ranges +- **Test Incrementally**: Test changes in small increments +- **Use Linting**: Implement ESLint and Prettier +- **Document Issues**: Keep track of solutions for future reference + +### Code Quality +- **Type Safety**: Use TypeScript when possible +- **Testing**: Write unit tests for components +- **Code Review**: Review changes for PatternFly compliance +- **Performance Monitoring**: Track bundle size and performance metrics + +Remember: When encountering issues, always check the [official PatternFly documentation](https://www.patternfly.org/) first, then search [GitHub issues](https://github.com/patternfly/patternfly-react/issues) for similar problems. Provide specific error messages, code snippets, and version information when seeking help. \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 9e7683fe..73b1296f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,30 +14,30 @@ "@patternfly/react-styles": "^6.4.0", "react": "^18", "react-dom": "^18", - "sirv-cli": "^3.0.0" + "sirv-cli": "^3.0.1" }, "devDependencies": { "@testing-library/jest-dom": "^6.6.3", - "@testing-library/react": "^16.2.0", + "@testing-library/react": "^16.3.0", "@testing-library/user-event": "^14.6.1", "@types/react-router-dom": "^5.3.3", - "@typescript-eslint/eslint-plugin": "^8.17.0", - "@typescript-eslint/parser": "^8.17.0", + "@typescript-eslint/eslint-plugin": "^8.34.0", + "@typescript-eslint/parser": "^8.34.0", "@vitejs/plugin-react": "^4.3.3", - "copy-webpack-plugin": "^12.0.2", + "copy-webpack-plugin": "^13.0.0", "css-loader": "^7.1.2", - "css-minimizer-webpack-plugin": "^7.0.0", + "css-minimizer-webpack-plugin": "^7.0.2", "dotenv-webpack": "^8.1.0", - "eslint": "^8.57.1", - "eslint-plugin-prettier": "^5.2.1", - "eslint-plugin-react": "^7.37.2", - "eslint-plugin-react-hooks": "^5.0.0", + "eslint": "^9.28.0", + "eslint-plugin-prettier": "^5.4.1", + "eslint-plugin-react": "^7.37.5", + "eslint-plugin-react-hooks": "^5.2.0", "html-webpack-plugin": "^5.6.3", "imagemin": "^9.0.0", "jsdom": "^25.0.1", "mini-css-extract-plugin": "^2.9.2", - "postcss": "^8.4.49", - "prettier": "^3.4.2", + "postcss": "^8.5.5", + "prettier": "^3.5.3", "prop-types": "^15.8.1", "raw-loader": "^4.0.2", "react-axe": "^3.5.4", @@ -50,7 +50,7 @@ "ts-loader": "^9.5.1", "tsconfig-paths-webpack-plugin": "^4.2.0", "tslib": "^2.8.1", - "typescript": "^5.7.2", + "typescript": "^5.8.3", "url-loader": "^4.1.1", "vite": "^6.4.1", "vitest": "^4.0.5", @@ -61,25 +61,13 @@ "webpack-merge": "^6.0.1" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@adobe/css-tools": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.1.tgz", - "integrity": "sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ==", - "dev": true + "version": "4.4.4", + "dev": true, + "license": "MIT" }, "node_modules/@asamuzakjp/css-color": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz", - "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==", "dev": true, "license": "MIT", "dependencies": { @@ -92,15 +80,11 @@ }, "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, "license": "ISC" }, "node_modules/@babel/code-frame": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, "license": "MIT", "dependencies": { @@ -114,8 +98,6 @@ }, "node_modules/@babel/compat-data": { "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", - "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", "dev": true, "license": "MIT", "engines": { @@ -124,8 +106,6 @@ }, "node_modules/@babel/core": { "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", - "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "dev": true, "license": "MIT", "dependencies": { @@ -153,16 +133,16 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } }, "node_modules/@babel/generator": { "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", - "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", "dev": true, "license": "MIT", "dependencies": { @@ -178,8 +158,6 @@ }, "node_modules/@babel/helper-compilation-targets": { "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", "dev": true, "license": "MIT", "dependencies": { @@ -193,27 +171,16 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", "dev": true, "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, "node_modules/@babel/helper-globals": { "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", "dev": true, "license": "MIT", "engines": { @@ -222,8 +189,6 @@ }, "node_modules/@babel/helper-module-imports": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", "dev": true, "license": "MIT", "dependencies": { @@ -236,8 +201,6 @@ }, "node_modules/@babel/helper-module-transforms": { "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", - "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", "dev": true, "license": "MIT", "dependencies": { @@ -254,8 +217,6 @@ }, "node_modules/@babel/helper-plugin-utils": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", - "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", "dev": true, "license": "MIT", "engines": { @@ -264,8 +225,6 @@ }, "node_modules/@babel/helper-string-parser": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, "license": "MIT", "engines": { @@ -274,8 +233,6 @@ }, "node_modules/@babel/helper-validator-identifier": { "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "dev": true, "license": "MIT", "engines": { @@ -284,8 +241,6 @@ }, "node_modules/@babel/helper-validator-option": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true, "license": "MIT", "engines": { @@ -294,8 +249,6 @@ }, "node_modules/@babel/helpers": { "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", - "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", "dev": true, "license": "MIT", "dependencies": { @@ -308,8 +261,6 @@ }, "node_modules/@babel/parser": { "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", - "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -356,8 +307,6 @@ }, "node_modules/@babel/runtime": { "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", - "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", "dev": true, "license": "MIT", "engines": { @@ -366,8 +315,6 @@ }, "node_modules/@babel/template": { "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", "dev": true, "license": "MIT", "dependencies": { @@ -381,8 +328,6 @@ }, "node_modules/@babel/traverse": { "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", - "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", "dev": true, "license": "MIT", "dependencies": { @@ -400,8 +345,6 @@ }, "node_modules/@babel/types": { "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", - "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", "dev": true, "license": "MIT", "dependencies": { @@ -412,10 +355,19 @@ "node": ">=6.9.0" } }, + "node_modules/@borewit/text-codec": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@borewit/text-codec/-/text-codec-0.1.1.tgz", + "integrity": "sha512-5L/uBxmjaCIX5h8Z+uu+kA9BQLkc/Wl06UGR5ajNRxu+/XjonB5i8JpgFMrPj3LXTCPA0pv8yxUvbUi+QthGGA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, "node_modules/@csstools/color-helpers": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", - "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==", "dev": true, "funding": [ { @@ -434,8 +386,6 @@ }, "node_modules/@csstools/css-calc": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", - "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", "dev": true, "funding": [ { @@ -458,8 +408,6 @@ }, "node_modules/@csstools/css-color-parser": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz", - "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==", "dev": true, "funding": [ { @@ -486,8 +434,6 @@ }, "node_modules/@csstools/css-parser-algorithms": { "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", - "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", "dev": true, "funding": [ { @@ -509,8 +455,6 @@ }, "node_modules/@csstools/css-tokenizer": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", - "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", "dev": true, "funding": [ { @@ -529,17 +473,16 @@ }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.0.0" } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz", - "integrity": "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", "cpu": [ "ppc64" ], @@ -554,9 +497,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz", - "integrity": "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", "cpu": [ "arm" ], @@ -571,9 +514,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz", - "integrity": "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", "cpu": [ "arm64" ], @@ -588,9 +531,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz", - "integrity": "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", "cpu": [ "x64" ], @@ -605,9 +548,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz", - "integrity": "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", "cpu": [ "arm64" ], @@ -622,9 +565,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz", - "integrity": "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", "cpu": [ "x64" ], @@ -639,9 +582,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz", - "integrity": "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", "cpu": [ "arm64" ], @@ -656,9 +599,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz", - "integrity": "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", "cpu": [ "x64" ], @@ -673,9 +616,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz", - "integrity": "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", "cpu": [ "arm" ], @@ -690,9 +633,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz", - "integrity": "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", "cpu": [ "arm64" ], @@ -707,9 +650,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz", - "integrity": "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", "cpu": [ "ia32" ], @@ -724,9 +667,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz", - "integrity": "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", "cpu": [ "loong64" ], @@ -741,9 +684,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz", - "integrity": "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", "cpu": [ "mips64el" ], @@ -758,9 +701,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz", - "integrity": "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", "cpu": [ "ppc64" ], @@ -775,9 +718,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz", - "integrity": "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", "cpu": [ "riscv64" ], @@ -792,9 +735,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz", - "integrity": "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", "cpu": [ "s390x" ], @@ -809,9 +752,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz", - "integrity": "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", "cpu": [ "x64" ], @@ -826,9 +769,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.11.tgz", - "integrity": "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", "cpu": [ "arm64" ], @@ -843,9 +786,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz", - "integrity": "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", "cpu": [ "x64" ], @@ -860,9 +803,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.11.tgz", - "integrity": "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", "cpu": [ "arm64" ], @@ -877,9 +820,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz", - "integrity": "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", "cpu": [ "x64" ], @@ -894,9 +837,9 @@ } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.11.tgz", - "integrity": "sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", "cpu": [ "arm64" ], @@ -911,9 +854,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz", - "integrity": "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", "cpu": [ "x64" ], @@ -928,9 +871,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz", - "integrity": "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", "cpu": [ "arm64" ], @@ -945,9 +888,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz", - "integrity": "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", "cpu": [ "ia32" ], @@ -962,9 +905,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz", - "integrity": "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", "cpu": [ "x64" ], @@ -979,334 +922,247 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "version": "4.9.0", "dev": true, + "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "eslint-visitor-keys": "^3.4.3" }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "version": "4.12.2", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "node_modules/@eslint/config-array": { + "version": "0.21.1", "dev": true, + "license": "Apache-2.0", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "1.1.12", "dev": true, + "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "engines": { - "node": ">=10" + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "*" } }, - "node_modules/@eslint/js": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "deprecated": "Use @eslint/config-array instead", + "node_modules/@eslint/core": { + "version": "0.17.0", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.0.5" + "@types/json-schema": "^7.0.15" }, "engines": { - "node": ">=10.10.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, "engines": { - "node": ">=12.22" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "url": "https://opencollective.com/eslint" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", - "dev": true - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.12", "dev": true, + "license": "MIT", "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "5.3.2", "dev": true, + "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "node": ">= 4" } }, - "node_modules/@isaacs/cliui/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==", + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "engines": { - "node": ">=12" + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": "*" } }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "node_modules/@eslint/js": { + "version": "9.39.1", "dev": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, + "license": "MIT", "engines": { - "node": ">=12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://eslint.org/donate" } }, - "node_modules/@isaacs/cliui/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==", + "node_modules/@eslint/object-schema": { + "version": "2.1.7", "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, + "license": "Apache-2.0", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", "dev": true, + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "node_modules/@humanfs/core": { + "version": "0.19.1", "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, + "license": "Apache-2.0", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18.18.0" } }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "node_modules/@humanfs/node": { + "version": "0.16.7", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18.18.0" } }, - "node_modules/@jest/types/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==", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, + "license": "Apache-2.0", "engines": { - "node": ">=8" + "node": ">=12.22" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "license": "Apache-2.0", "engines": { - "node": ">=10" + "node": ">=18.18" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@jest/types/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==", + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, + "license": "MIT", "engines": { - "node": ">=7.0.0" + "node": "20 || >=22" } }, - "node_modules/@jest/types/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/@jest/types/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==", + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", "dev": true, + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, "engines": { - "node": ">=8" + "node": "20 || >=22" } }, - "node_modules/@jest/types/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==", + "node_modules/@isaacs/cliui": { + "version": "8.0.2", "dev": true, + "license": "ISC", "dependencies": { - "has-flag": "^4.0.0" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" } }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "dev": true, "license": "MIT", "dependencies": { @@ -1316,8 +1172,6 @@ }, "node_modules/@jridgewell/remapping": { "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1326,35 +1180,29 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "version": "3.1.2", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "version": "0.3.11", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, "license": "MIT", "dependencies": { @@ -1364,9 +1212,8 @@ }, "node_modules/@jsonjoy.com/base64": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.0" }, @@ -1378,16 +1225,68 @@ "tslib": "2" } }, - "node_modules/@jsonjoy.com/json-pack": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.1.0.tgz", - "integrity": "sha512-zlQONA+msXPPwHWZMKFVS78ewFczIll5lXiVPwFPCZUsrOKdxc2AvxU1HoNBmMRhqDZUR9HkC3UOm+6pME6Xsg==", + "node_modules/@jsonjoy.com/buffers": { + "version": "1.2.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/codegen": { + "version": "1.0.0", "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.21.0", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/base64": "^1.1.1", - "@jsonjoy.com/util": "^1.1.2", + "@jsonjoy.com/base64": "^1.1.2", + "@jsonjoy.com/buffers": "^1.2.0", + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/json-pointer": "^1.0.2", + "@jsonjoy.com/util": "^1.9.0", "hyperdyperid": "^1.2.0", - "thingies": "^1.20.0" + "thingies": "^2.5.0", + "tree-dump": "^1.1.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pointer": { + "version": "1.0.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/util": "^1.9.0" }, "engines": { "node": ">=10.0" @@ -1401,10 +1300,13 @@ } }, "node_modules/@jsonjoy.com/util": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.5.0.tgz", - "integrity": "sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==", + "version": "1.9.0", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/buffers": "^1.0.0", + "@jsonjoy.com/codegen": "^1.0.0" + }, "engines": { "node": ">=10.0" }, @@ -1418,15 +1320,13 @@ }, "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", - "dev": true + "dev": true, + "license": "MIT" }, "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, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -1437,18 +1337,16 @@ }, "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, + "license": "MIT", "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, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -1475,6 +1373,12 @@ "react-dom": "^17 || ^18 || ^19" } }, + "node_modules/@patternfly/react-core/node_modules/@patternfly/react-tokens": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-6.4.0.tgz", + "integrity": "sha512-iZthBoXSGQ/+PfGTdPFJVulaJZI3rwE+7A/whOXPGp3Jyq3k6X52pr1+5nlO6WHasbZ9FyeZGqXf4fazUZNjbw==", + "license": "MIT" + }, "node_modules/@patternfly/react-icons": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-6.4.0.tgz", @@ -1491,28 +1395,20 @@ "integrity": "sha512-EXmHA67s5sy+Wy/0uxWoUQ52jr9lsH2wV3QcgtvVc5zxpyBX89gShpqv4jfVqaowznHGDoL6fVBBrSe9BYOliQ==", "license": "MIT" }, - "node_modules/@patternfly/react-tokens": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-6.4.0.tgz", - "integrity": "sha512-iZthBoXSGQ/+PfGTdPFJVulaJZI3rwE+7A/whOXPGp3Jyq3k6X52pr1+5nlO6WHasbZ9FyeZGqXf4fazUZNjbw==", - "license": "MIT" - }, "node_modules/@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "version": "0.2.9", "dev": true, + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/unts" + "url": "https://opencollective.com/pkgr" } }, "node_modules/@polka/url": { - "version": "1.0.0-next.25", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", - "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==" + "version": "1.0.0-next.29", + "license": "MIT" }, "node_modules/@rolldown/pluginutils": { "version": "1.0.0-beta.27", @@ -1522,9 +1418,9 @@ "license": "MIT" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.5.tgz", - "integrity": "sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz", + "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==", "cpu": [ "arm" ], @@ -1536,9 +1432,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.5.tgz", - "integrity": "sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz", + "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==", "cpu": [ "arm64" ], @@ -1550,9 +1446,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.5.tgz", - "integrity": "sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz", + "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", "cpu": [ "arm64" ], @@ -1564,9 +1460,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.5.tgz", - "integrity": "sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz", + "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", "cpu": [ "x64" ], @@ -1578,9 +1474,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.5.tgz", - "integrity": "sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz", + "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==", "cpu": [ "arm64" ], @@ -1592,9 +1488,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.5.tgz", - "integrity": "sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz", + "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==", "cpu": [ "x64" ], @@ -1606,9 +1502,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.5.tgz", - "integrity": "sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz", + "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==", "cpu": [ "arm" ], @@ -1620,9 +1516,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.5.tgz", - "integrity": "sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz", + "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==", "cpu": [ "arm" ], @@ -1634,9 +1530,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.5.tgz", - "integrity": "sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz", + "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", "cpu": [ "arm64" ], @@ -1648,9 +1544,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.5.tgz", - "integrity": "sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz", + "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==", "cpu": [ "arm64" ], @@ -1662,9 +1558,9 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.5.tgz", - "integrity": "sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz", + "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==", "cpu": [ "loong64" ], @@ -1676,9 +1572,9 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.5.tgz", - "integrity": "sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz", + "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==", "cpu": [ "ppc64" ], @@ -1690,9 +1586,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.5.tgz", - "integrity": "sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz", + "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==", "cpu": [ "riscv64" ], @@ -1704,9 +1600,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.5.tgz", - "integrity": "sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz", + "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==", "cpu": [ "riscv64" ], @@ -1718,9 +1614,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.5.tgz", - "integrity": "sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz", + "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==", "cpu": [ "s390x" ], @@ -1732,9 +1628,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.5.tgz", - "integrity": "sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz", + "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==", "cpu": [ "x64" ], @@ -1746,9 +1642,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.5.tgz", - "integrity": "sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz", + "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==", "cpu": [ "x64" ], @@ -1760,9 +1656,9 @@ ] }, "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.5.tgz", - "integrity": "sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz", + "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==", "cpu": [ "arm64" ], @@ -1774,9 +1670,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.5.tgz", - "integrity": "sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz", + "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==", "cpu": [ "arm64" ], @@ -1788,9 +1684,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.5.tgz", - "integrity": "sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz", + "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==", "cpu": [ "ia32" ], @@ -1802,9 +1698,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.5.tgz", - "integrity": "sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz", + "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==", "cpu": [ "x64" ], @@ -1816,9 +1712,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.5.tgz", - "integrity": "sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz", + "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", "cpu": [ "x64" ], @@ -1833,19 +1729,15 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", - "dev": true - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@sindresorhus/is": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-6.3.1.tgz", "integrity": "sha512-FX4MfcifwJyFOI2lPoX7PQxCqx8BG1HCho7WdiXwpEQx1Ycij0JxkfYtGK7yqNScrZGSlt6RE6sw8QYoH7eKnQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=16" }, @@ -1858,6 +1750,7 @@ "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -1873,148 +1766,34 @@ "license": "MIT" }, "node_modules/@testing-library/dom": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", - "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", + "version": "10.4.1", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", - "chalk": "^4.1.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", + "picocolors": "1.1.1", "pretty-format": "^27.0.2" }, "engines": { "node": ">=18" } }, - "node_modules/@testing-library/dom/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, - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/dom/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, - "peer": 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/@testing-library/dom/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, - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@testing-library/dom/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, - "peer": true - }, - "node_modules/@testing-library/dom/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, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/dom/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "peer": true, - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@testing-library/dom/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true, - "peer": true - }, - "node_modules/@testing-library/dom/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, - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@testing-library/jest-dom": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.6.3.tgz", - "integrity": "sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==", + "version": "6.9.1", "dev": true, + "license": "MIT", "dependencies": { "@adobe/css-tools": "^4.4.0", "aria-query": "^5.0.0", - "chalk": "^3.0.0", "css.escape": "^1.5.1", "dom-accessibility-api": "^0.6.3", - "lodash": "^4.17.21", + "picocolors": "^1.1.1", "redent": "^3.0.0" }, "engines": { @@ -2023,84 +1802,15 @@ "yarn": ">=1" } }, - "node_modules/@testing-library/jest-dom/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/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/jest-dom/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/@testing-library/jest-dom/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/@testing-library/jest-dom/node_modules/dom-accessibility-api": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", - "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", - "dev": true - }, - "node_modules/@testing-library/jest-dom/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/@testing-library/jest-dom/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" - } + "license": "MIT" }, "node_modules/@testing-library/react": { "version": "16.3.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.0.tgz", - "integrity": "sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5" }, @@ -2125,9 +1835,8 @@ }, "node_modules/@testing-library/user-event": { "version": "14.6.1", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.1.tgz", - "integrity": "sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==", "dev": true, + "license": "MIT", "engines": { "node": ">=12", "npm": ">=6" @@ -2140,28 +1849,17 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", - "dev": true - }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", "dev": true, - "engines": { - "node": ">=10.13.0" - } + "license": "MIT" }, "node_modules/@types/aria-query": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", - "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", + "version": "5.0.4", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@types/babel__core": { "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, "license": "MIT", "dependencies": { @@ -2173,38 +1871,34 @@ } }, "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "version": "7.27.0", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "version": "7.4.4", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "version": "7.28.0", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.20.7" + "@babel/types": "^7.28.2" } }, "node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "version": "1.19.6", "dev": true, + "license": "MIT", "dependencies": { "@types/connect": "*", "@types/node": "*" @@ -2212,9 +1906,8 @@ }, "node_modules/@types/bonjour": { "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", - "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -2231,24 +1924,32 @@ } }, "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "version": "3.4.38", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/connect-history-api-fallback": { "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", - "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", "dev": true, + "license": "MIT", "dependencies": { "@types/express-serve-static-core": "*", "@types/node": "*" } }, + "node_modules/@types/debug": { + "version": "4.1.12", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@types/ms": "*" + } + }, "node_modules/@types/deep-eql": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", @@ -2257,10 +1958,9 @@ "license": "MIT" }, "node_modules/@types/eslint": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", - "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", + "version": "9.6.1", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -2268,9 +1968,8 @@ }, "node_modules/@types/eslint-scope": { "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", "dev": true, + "license": "MIT", "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -2278,28 +1977,24 @@ }, "node_modules/@types/estree": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, "license": "MIT" }, "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "version": "4.17.25", "dev": true, + "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", - "@types/serve-static": "*" + "@types/serve-static": "^1" } }, "node_modules/@types/express-serve-static-core": { - "version": "4.19.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", - "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "version": "4.19.7", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -2309,20 +2004,21 @@ }, "node_modules/@types/history": { "version": "4.7.11", - "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", - "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "dev": true, + "license": "MIT" }, "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "dev": true + "version": "2.0.5", + "dev": true, + "license": "MIT" }, "node_modules/@types/http-proxy": { "version": "1.17.17", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.17.tgz", - "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==", "dev": true, "license": "MIT", "dependencies": { @@ -2330,45 +2026,45 @@ } }, "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true + "version": "2.0.6", + "dev": true, + "license": "MIT" }, "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "version": "3.0.3", "dev": true, + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "version": "3.0.4", "dev": true, + "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } }, "node_modules/@types/json-schema": { "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/mime": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/@types/node": { - "version": "24.9.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.2.tgz", - "integrity": "sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA==", + "version": "24.10.0", "dev": true, "license": "MIT", "dependencies": { @@ -2376,68 +2072,44 @@ } }, "node_modules/@types/node-forge": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", - "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "version": "1.3.14", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, - "node_modules/@types/prop-types": { - "version": "15.7.3", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", - "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==", - "dev": true - }, "node_modules/@types/qs": { - "version": "6.9.5", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.5.tgz", - "integrity": "sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ==", - "dev": true + "version": "6.14.0", + "dev": true, + "license": "MIT" }, "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", - "dev": true + "version": "1.2.7", + "dev": true, + "license": "MIT" }, "node_modules/@types/react": { - "version": "18.3.12", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.12.tgz", - "integrity": "sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==", + "version": "19.2.2", "dev": true, + "license": "MIT", "dependencies": { - "@types/prop-types": "*", "csstype": "^3.0.2" } }, - "node_modules/@types/react-dom": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.6.tgz", - "integrity": "sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@types/react": "*" - } - }, "node_modules/@types/react-router": { - "version": "5.1.11", - "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.11.tgz", - "integrity": "sha512-ofHbZMlp0Y2baOHgsWBQ4K3AttxY61bDMkwTiBOkPg7U6C/3UwwB5WaIx28JmSVi/eX3uFEMRo61BV22fDQIvg==", + "version": "5.1.20", "dev": true, + "license": "MIT", "dependencies": { - "@types/history": "*", + "@types/history": "^4.7.11", "@types/react": "*" } }, "node_modules/@types/react-router-dom": { "version": "5.3.3", - "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", - "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", "dev": true, + "license": "MIT", "dependencies": { "@types/history": "^4.7.11", "@types/react": "*", @@ -2446,88 +2118,87 @@ }, "node_modules/@types/retry": { "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", - "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "version": "1.2.1", "dev": true, + "license": "MIT", "dependencies": { - "@types/mime": "^1", "@types/node": "*" } }, "node_modules/@types/serve-index": { "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", - "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", "dev": true, + "license": "MIT", "dependencies": { "@types/express": "*" } }, "node_modules/@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "version": "1.15.10", "dev": true, + "license": "MIT", "dependencies": { "@types/http-errors": "*", "@types/node": "*", - "@types/send": "*" + "@types/send": "<1" + } + }, + "node_modules/@types/serve-static/node_modules/@types/send": { + "version": "0.17.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" } }, "node_modules/@types/sockjs": { "version": "0.3.36", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", - "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/ws": { - "version": "8.5.13", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.13.tgz", - "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==", + "version": "8.18.1", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "version": "17.0.34", "dev": true, + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true + "version": "21.0.3", + "dev": true, + "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.17.0.tgz", - "integrity": "sha512-HU1KAdW3Tt8zQkdvNoIijfWDMvdSweFYm4hWh+KwhPstv+sCmWb89hCIP8msFm9N1R/ooh9honpSuvqKWlYy3w==", + "version": "8.46.4", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.17.0", - "@typescript-eslint/type-utils": "8.17.0", - "@typescript-eslint/utils": "8.17.0", - "@typescript-eslint/visitor-keys": "8.17.0", + "@typescript-eslint/scope-manager": "8.46.4", + "@typescript-eslint/type-utils": "8.46.4", + "@typescript-eslint/utils": "8.46.4", + "@typescript-eslint/visitor-keys": "8.46.4", "graphemer": "^1.4.0", - "ignore": "^5.3.1", + "ignore": "^7.0.0", "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" + "ts-api-utils": "^2.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2537,25 +2208,20 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@typescript-eslint/parser": "^8.46.4", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.17.0.tgz", - "integrity": "sha512-Drp39TXuUlD49F7ilHHCG7TTg8IkA+hxCuULdmzWYICxGXvDXmDmWEjJYZQYgf6l/TFfYNE167m7isnc3xlIEg==", + "version": "8.46.4", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.17.0", - "@typescript-eslint/types": "8.17.0", - "@typescript-eslint/typescript-estree": "8.17.0", - "@typescript-eslint/visitor-keys": "8.17.0", + "@typescript-eslint/scope-manager": "8.46.4", + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/typescript-estree": "8.46.4", + "@typescript-eslint/visitor-keys": "8.46.4", "debug": "^4.3.4" }, "engines": { @@ -2566,22 +2232,18 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.17.0.tgz", - "integrity": "sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg==", + "node_modules/@typescript-eslint/project-service": { + "version": "8.46.4", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.17.0", - "@typescript-eslint/visitor-keys": "8.17.0" + "@typescript-eslint/tsconfig-utils": "^8.46.4", + "@typescript-eslint/types": "^8.46.4", + "debug": "^4.3.4" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2589,18 +2251,18 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.17.0.tgz", - "integrity": "sha512-q38llWJYPd63rRnJ6wY/ZQqIzPrBCkPdpIsaCfkR3Q4t3p6sb422zougfad4TFW9+ElIFLVDzWGiGAfbb/v2qw==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.46.4", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.17.0", - "@typescript-eslint/utils": "8.17.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/visitor-keys": "8.46.4" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2608,43 +2270,33 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } } }, - "node_modules/@typescript-eslint/types": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.17.0.tgz", - "integrity": "sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA==", + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.46.4", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.17.0.tgz", - "integrity": "sha512-JqkOopc1nRKZpX+opvKqnM3XUlM7LpFMD0lYxTqOTKQfCWAmxw45e3qlOCsEqEB2yuacujivudOFpCnqkBDNMw==", + "node_modules/@typescript-eslint/type-utils": { + "version": "8.46.4", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.17.0", - "@typescript-eslint/visitor-keys": "8.17.0", + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/typescript-estree": "8.46.4", + "@typescript-eslint/utils": "8.46.4", "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" + "ts-api-utils": "^2.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2653,59 +2305,59 @@ "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/@typescript-eslint/types": { + "version": "8.46.4", "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.46.4", "dev": true, + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "@typescript-eslint/project-service": "8.46.4", + "@typescript-eslint/tsconfig-utils": "8.46.4", + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/visitor-keys": "8.46.4", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.1.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/utils": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.17.0.tgz", - "integrity": "sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w==", + "version": "8.46.4", "dev": true, + "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.17.0", - "@typescript-eslint/types": "8.17.0", - "@typescript-eslint/typescript-estree": "8.17.0" + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.46.4", + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/typescript-estree": "8.46.4" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2715,22 +2367,17 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.17.0.tgz", - "integrity": "sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg==", + "version": "8.46.4", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.17.0", - "eslint-visitor-keys": "^4.2.0" + "@typescript-eslint/types": "8.46.4", + "eslint-visitor-keys": "^4.2.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2740,11 +2387,16 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } }, "node_modules/@vitejs/plugin-react": { "version": "4.7.0", @@ -2768,17 +2420,17 @@ } }, "node_modules/@vitest/expect": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.5.tgz", - "integrity": "sha512-DJctLVlKoddvP/G389oGmKWNG6GD9frm2FPXARziU80Rjo7SIYxQzb2YFzmQ4fVD3Q5utUYY8nUmWrqsuIlIXQ==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.10.tgz", + "integrity": "sha512-3QkTX/lK39FBNwARCQRSQr0TP9+ywSdxSX+LgbJ2M1WmveXP72anTbnp2yl5fH+dU6SUmBzNMrDHs80G8G2DZg==", "dev": true, "license": "MIT", "dependencies": { "@standard-schema/spec": "^1.0.0", "@types/chai": "^5.2.2", - "@vitest/spy": "4.0.5", - "@vitest/utils": "4.0.5", - "chai": "^6.0.1", + "@vitest/spy": "4.0.10", + "@vitest/utils": "4.0.10", + "chai": "^6.2.1", "tinyrainbow": "^3.0.3" }, "funding": { @@ -2786,15 +2438,15 @@ } }, "node_modules/@vitest/mocker": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.5.tgz", - "integrity": "sha512-iYHIy72LfbK+mL5W8zXROp6oOcJKXWeKcNjcPPsqoa18qIEDrhB6/Z08o0wRajTd6SSSDNw8NCSIHVNOMpz0mw==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.10.tgz", + "integrity": "sha512-e2OfdexYkjkg8Hh3L9NVEfbwGXq5IZbDovkf30qW2tOh7Rh9sVtmSr2ztEXOFbymNxS4qjzLXUQIvATvN4B+lg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "4.0.5", + "@vitest/spy": "4.0.10", "estree-walker": "^3.0.3", - "magic-string": "^0.30.19" + "magic-string": "^0.30.21" }, "funding": { "url": "https://opencollective.com/vitest" @@ -2813,9 +2465,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.5.tgz", - "integrity": "sha512-t1T/sSdsYyNc5AZl0EMeD0jW9cpJe2cODP0R++ZQe1kTkpgrwEfxGFR/yCG4w8ZybizbXRTHU7lE8sTDD/QsGw==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.10.tgz", + "integrity": "sha512-99EQbpa/zuDnvVjthwz5bH9o8iPefoQZ63WV8+bsRJZNw3qQSvSltfut8yu1Jc9mqOYi7pEbsKxYTi/rjaq6PA==", "dev": true, "license": "MIT", "dependencies": { @@ -2826,13 +2478,13 @@ } }, "node_modules/@vitest/runner": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.5.tgz", - "integrity": "sha512-CQVVe+YEeKSiFBD5gBAmRDQglm4PnMBYzeTmt06t5iWtsUN9StQeeKhYCea/oaqBYilf8sARG6fSctUcEL/UmQ==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.10.tgz", + "integrity": "sha512-EXU2iSkKvNwtlL8L8doCpkyclw0mc/t4t9SeOnfOFPyqLmQwuceMPA4zJBa6jw0MKsZYbw7kAn+gl7HxrlB8UQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "4.0.5", + "@vitest/utils": "4.0.10", "pathe": "^2.0.3" }, "funding": { @@ -2840,14 +2492,14 @@ } }, "node_modules/@vitest/snapshot": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.5.tgz", - "integrity": "sha512-jfmSAeR6xYNEvcD+/RxFGA1bzpqHtkVhgxo2cxXia+Q3xX7m6GpZij07rz+WyQcA/xEGn4eIS1OItkMyWsGBmQ==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.10.tgz", + "integrity": "sha512-2N4X2ZZl7kZw0qeGdQ41H0KND96L3qX1RgwuCfy6oUsF2ISGD/HpSbmms+CkIOsQmg2kulwfhJ4CI0asnZlvkg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.0.5", - "magic-string": "^0.30.19", + "@vitest/pretty-format": "4.0.10", + "magic-string": "^0.30.21", "pathe": "^2.0.3" }, "funding": { @@ -2855,9 +2507,9 @@ } }, "node_modules/@vitest/spy": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.5.tgz", - "integrity": "sha512-TUmVQpAQign7r8+EnZsgTF3vY9BdGofTUge1rGNbnHn2IN3FChiQoT9lrPz7A7AVUZJU2LAZXl4v66HhsNMhoA==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.10.tgz", + "integrity": "sha512-AsY6sVS8OLb96GV5RoG8B6I35GAbNrC49AO+jNRF9YVGb/g9t+hzNm1H6kD0NDp8tt7VJLs6hb7YMkDXqu03iw==", "dev": true, "license": "MIT", "funding": { @@ -2865,150 +2517,229 @@ } }, "node_modules/@vitest/utils": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.5.tgz", - "integrity": "sha512-V5RndUgCB5/AfNvK9zxGCrRs99IrPYtMTIdUzJMMFs9nrmE5JXExIEfjVtUteyTRiLfCm+dCRMHf/Uu7Mm8/dg==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.10.tgz", + "integrity": "sha512-kOuqWnEwZNtQxMKg3WmPK1vmhZu9WcoX69iwWjVz+jvKTsF1emzsv3eoPcDr6ykA3qP2bsCQE7CwqfNtAVzsmg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.0.5", + "@vitest/pretty-format": "4.0.10", "tinyrainbow": "^3.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", "dev": true, + "license": "MIT", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, - "node_modules/@webassemblyjs/helper-numbers/node_modules/@webassemblyjs/floating-point-hex-parser": { + "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/@webassemblyjs/helper-numbers/node_modules/@webassemblyjs/helper-api-error": { + "node_modules/@webassemblyjs/helper-api-error": { "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "dev": true - }, - "node_modules/@webpack-cli/configtest": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } + "license": "MIT" }, - "node_modules/@webpack-cli/info": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } + "license": "MIT" }, - "node_modules/@webpack-cli/serve": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" } }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "dev": true, + "license": "MIT" }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", "dev": true, + "license": "MIT", "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" } }, - "node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", "dev": true, - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" } }, - "node_modules/acorn-walk": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", - "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.11.0" + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.15.0" }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.4.0" + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/accepts": { + "version": "1.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "node_modules/acorn-walk/node_modules/acorn": { + "node_modules/acorn": { "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", "bin": { @@ -3018,10 +2749,38 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/agent-base": { "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true, "license": "MIT", "engines": { @@ -3030,9 +2789,8 @@ }, "node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -3046,9 +2804,8 @@ }, "node_modules/ajv-formats": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^8.0.0" }, @@ -3062,15 +2819,14 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "version": "8.17.1", "dev": true, + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -3079,44 +2835,52 @@ }, "node_modules/ajv-formats/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ajv-keywords": { "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, + "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } }, "node_modules/ansi-html-community": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", "dev": true, "engines": [ "node >= 0.8.0" ], + "license": "Apache-2.0", "bin": { "ansi-html": "bin/ansi-html" } }, "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "license": "ISC", "dependencies": { @@ -3129,27 +2893,24 @@ }, "node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "dev": true, + "license": "Python-2.0" }, "node_modules/aria-query": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "dev": true, + "license": "Apache-2.0", "dependencies": { "dequal": "^2.0.3" } }, "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "version": "1.0.2", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" }, "engines": { "node": ">= 0.4" @@ -3160,23 +2921,22 @@ }, "node_modules/array-flatten": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true, "license": "MIT" }, "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "version": "3.1.9", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -3187,9 +2947,8 @@ }, "node_modules/array.prototype.findlast": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -3205,16 +2964,32 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "version": "1.3.3", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -3225,9 +3000,8 @@ }, "node_modules/array.prototype.tosorted": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -3240,19 +3014,17 @@ } }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "version": "1.0.4", "dev": true, + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" }, "engines": { "node": ">= 0.4" @@ -3271,16 +3043,23 @@ "node": ">=12" } }, + "node_modules/async-function": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/attr-accept": { "version": "2.2.5", - "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.5.tgz", - "integrity": "sha512-0bDNnY/u6pPwHDMoF0FieU354oBi0a8rD9FcsLwzcGWbc8KS8KPIi7y+s13OlVY+gMWc/9xEMUgNE6Qm8ZllYQ==", "license": "MIT", "engines": { "node": ">=4" @@ -3288,9 +3067,8 @@ }, "node_modules/available-typed-arrays": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, + "license": "MIT", "dependencies": { "possible-typed-array-names": "^1.0.0" }, @@ -3302,39 +3080,41 @@ } }, "node_modules/axe-core": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-3.5.5.tgz", - "integrity": "sha512-5P0QZ6J5xGikH780pghEdbEKijCTrruK9KxtPZCFWUpef0f6GipO+xEZ5GKCb020mmqgbiNO6TcA55CriL784Q==", + "version": "3.5.6", "dev": true, + "license": "MPL-2.0", "engines": { "node": ">=4" } }, "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.8.25", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } }, "node_modules/batch": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/big.js": { "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true, + "license": "MIT", "engines": { "node": "*" } }, "node_modules/binary-extensions": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, "license": "MIT", "engines": { @@ -3346,8 +3126,6 @@ }, "node_modules/body-parser": { "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dev": true, "license": "MIT", "dependencies": { @@ -3371,36 +3149,21 @@ }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { "ms": "2.0.0" } }, - "node_modules/body-parser/node_modules/depd": { + "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "license": "MIT" }, "node_modules/bonjour-service": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", - "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "multicast-dns": "^7.2.5" @@ -3408,25 +3171,19 @@ }, "node_modules/boolbase": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "2.0.2", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/braces": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "license": "MIT", "dependencies": { @@ -3437,9 +3194,7 @@ } }, "node_modules/browserslist": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", - "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", + "version": "4.28.0", "dev": true, "funding": [ { @@ -3455,11 +3210,13 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001669", - "electron-to-chromium": "^1.5.41", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.1" + "baseline-browser-mapping": "^2.8.25", + "caniuse-lite": "^1.0.30001754", + "electron-to-chromium": "^1.5.249", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.1.4" }, "bin": { "browserslist": "cli.js" @@ -3469,16 +3226,14 @@ } }, "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true + "version": "1.1.2", + "dev": true, + "license": "MIT" }, "node_modules/bundle-name": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", - "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", "dev": true, + "license": "MIT", "dependencies": { "run-applescript": "^7.0.0" }, @@ -3491,8 +3246,6 @@ }, "node_modules/bytes": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "license": "MIT", "engines": { @@ -3501,8 +3254,6 @@ }, "node_modules/call-bind": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "dev": true, "license": "MIT", "dependencies": { @@ -3520,8 +3271,6 @@ }, "node_modules/call-bind-apply-helpers": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3534,8 +3283,6 @@ }, "node_modules/call-bound": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "dev": true, "license": "MIT", "dependencies": { @@ -3551,18 +3298,16 @@ }, "node_modules/callsites": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/camel-case": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", "dev": true, + "license": "MIT", "dependencies": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" @@ -3570,9 +3315,8 @@ }, "node_modules/caniuse-api": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", "dev": true, + "license": "MIT", "dependencies": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0", @@ -3581,9 +3325,7 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001686", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001686.tgz", - "integrity": "sha512-Y7deg0Aergpa24M3qLC5xjNklnKnhsmSyR/V89dLZ1n0ucJIFNs7PgR2Yfa/Zf6W79SbBicgtGxZr2juHkEUIA==", + "version": "1.0.30001754", "dev": true, "funding": [ { @@ -3598,23 +3340,40 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/chai": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.0.tgz", - "integrity": "sha512-aUTnJc/JipRzJrNADXVvpVqi6CO0dn3nx4EVPxijri+fj3LUUDyZQOgVeW54Ob3Y1Xh9Iz8f+CgaCl8v0mn9bA==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.1.tgz", + "integrity": "sha512-p4Z49OGG5W/WBCPSS/dH3jQ73kD6tiMmUM+bckNK6Jr5JHMG3k9bg/BvKR8lKmtVBKmOiuVaV2ws8s9oSbwysg==", "dev": true, "license": "MIT", "engines": { "node": ">=18" } }, + "node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "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/change-file-extension": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/change-file-extension/-/change-file-extension-0.1.1.tgz", "integrity": "sha512-lB0j9teu8JtDPDHRfU8pNH33w4wMu5bOaKoT4PxH+AKugBrIfpiJMTTKIm0TErNeJPkeQEgvH31YpccTwOKPRg==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -3622,44 +3381,63 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "node_modules/chokidar": { + "version": "3.6.0", "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^1.9.0" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">=6.0" + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/chrome-trace-event/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } }, - "node_modules/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "node_modules/chrome-trace-event": { + "version": "1.0.4", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6.0" + } + }, + "node_modules/clean-css": { + "version": "5.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" } }, "node_modules/clone-deep": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, + "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -3669,23 +3447,38 @@ "node": ">=6" } }, + "node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, "node_modules/colord": { "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "dev": true + "dev": true, + "license": "MIT" }, "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 + "dev": true, + "license": "MIT" }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -3694,16 +3487,17 @@ } }, "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "version": "8.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } }, "node_modules/compressible": { "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, + "license": "MIT", "dependencies": { "mime-db": ">= 1.43.0 < 2" }, @@ -3713,8 +3507,6 @@ }, "node_modules/compression": { "version": "1.8.1", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", - "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", "dev": true, "license": "MIT", "dependencies": { @@ -3732,77 +3524,39 @@ }, "node_modules/compression/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/compression/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/compression/node_modules/negotiator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", - "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "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" - } - ], "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/connect-history-api-fallback": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/console-clear": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/console-clear/-/console-clear-1.1.1.tgz", - "integrity": "sha512-pMD+MVR538ipqkG5JXeOEbKWS5um1H4LUUccUQG68qpeqBYbzYy79Gh55jkd2TtPdRfUaLWdv6LPP//5Zt0aPQ==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/content-disposition": { "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3812,31 +3566,8 @@ "node": ">= 0.6" } }, - "node_modules/content-disposition/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "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" - } - ], - "license": "MIT" - }, "node_modules/content-type": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, "license": "MIT", "engines": { @@ -3848,6 +3579,7 @@ "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -3855,10 +3587,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, "node_modules/cookie": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", - "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", "dev": true, "license": "MIT", "engines": { @@ -3867,23 +3602,19 @@ }, "node_modules/cookie-signature": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "dev": true, "license": "MIT" }, "node_modules/copy-webpack-plugin": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-12.0.2.tgz", - "integrity": "sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA==", + "version": "13.0.1", "dev": true, + "license": "MIT", "dependencies": { - "fast-glob": "^3.3.2", "glob-parent": "^6.0.1", - "globby": "^14.0.0", "normalize-path": "^3.0.0", "schema-utils": "^4.2.0", - "serialize-javascript": "^6.0.2" + "serialize-javascript": "^6.0.2", + "tinyglobby": "^0.2.12" }, "engines": { "node": ">= 18.12.0" @@ -3896,38 +3627,15 @@ "webpack": "^5.1.0" } }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "version": "1.0.3", + "dev": true, + "license": "MIT" }, "node_modules/cross-spawn": { "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -3938,10 +3646,9 @@ } }, "node_modules/css-declaration-sorter": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", - "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", + "version": "7.3.0", "dev": true, + "license": "ISC", "engines": { "node": "^14 || ^16 || >=18" }, @@ -3951,9 +3658,8 @@ }, "node_modules/css-loader": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", - "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", "dev": true, + "license": "MIT", "dependencies": { "icss-utils": "^5.1.0", "postcss": "^8.4.33", @@ -3984,31 +3690,15 @@ } } }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/css-minimizer-webpack-plugin": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-7.0.0.tgz", - "integrity": "sha512-niy66jxsQHqO+EYbhPuIhqRQ1mNcNVUHrMnkzzir9kFOERJUaQDDRhh7dKDz33kBpkWMF9M8Vx0QlDbc5AHOsw==", + "version": "7.0.2", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", - "cssnano": "^7.0.1", + "cssnano": "^7.0.4", "jest-worker": "^29.7.0", - "postcss": "^8.4.38", + "postcss": "^8.4.40", "schema-utils": "^4.2.0", "serialize-javascript": "^6.0.2" }, @@ -4043,122 +3733,53 @@ } } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "version": "4.3.0", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", "nth-check": "^2.0.1" }, "funding": { "url": "https://github.com/sponsors/fb55" } }, - "node_modules/css-select/node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "node_modules/css-tree": { + "version": "3.1.0", "dev": true, + "license": "MIT", "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, - "node_modules/css-select/node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "node_modules/css-what": { + "version": "6.2.2", "dev": true, - "dependencies": { - "domelementtype": "^2.3.0" - }, + "license": "BSD-2-Clause", "engines": { - "node": ">= 4" + "node": ">= 6" }, "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/css-select/node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "node_modules/css.escape": { + "version": "1.5.1", "dev": true, - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/css-select/node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", - "dev": true + "license": "MIT" }, "node_modules/cssesc": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, + "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -4167,13 +3788,12 @@ } }, "node_modules/cssnano": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.0.6.tgz", - "integrity": "sha512-54woqx8SCbp8HwvNZYn68ZFAepuouZW4lTwiMVnBErM3VkO7/Sd4oTOt3Zz3bPx3kxQ36aISppyXj2Md4lg8bw==", + "version": "7.1.2", "dev": true, + "license": "MIT", "dependencies": { - "cssnano-preset-default": "^7.0.6", - "lilconfig": "^3.1.2" + "cssnano-preset-default": "^7.0.10", + "lilconfig": "^3.1.3" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" @@ -4183,70 +3803,67 @@ "url": "https://opencollective.com/cssnano" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/cssnano-preset-default": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.6.tgz", - "integrity": "sha512-ZzrgYupYxEvdGGuqL+JKOY70s7+saoNlHSCK/OGn1vB2pQK8KSET8jvenzItcY+kA7NoWvfbb/YhlzuzNKjOhQ==", + "version": "7.0.10", "dev": true, + "license": "MIT", "dependencies": { - "browserslist": "^4.23.3", + "browserslist": "^4.27.0", "css-declaration-sorter": "^7.2.0", - "cssnano-utils": "^5.0.0", - "postcss-calc": "^10.0.2", - "postcss-colormin": "^7.0.2", - "postcss-convert-values": "^7.0.4", - "postcss-discard-comments": "^7.0.3", - "postcss-discard-duplicates": "^7.0.1", - "postcss-discard-empty": "^7.0.0", - "postcss-discard-overridden": "^7.0.0", - "postcss-merge-longhand": "^7.0.4", - "postcss-merge-rules": "^7.0.4", - "postcss-minify-font-values": "^7.0.0", - "postcss-minify-gradients": "^7.0.0", - "postcss-minify-params": "^7.0.2", - "postcss-minify-selectors": "^7.0.4", - "postcss-normalize-charset": "^7.0.0", - "postcss-normalize-display-values": "^7.0.0", - "postcss-normalize-positions": "^7.0.0", - "postcss-normalize-repeat-style": "^7.0.0", - "postcss-normalize-string": "^7.0.0", - "postcss-normalize-timing-functions": "^7.0.0", - "postcss-normalize-unicode": "^7.0.2", - "postcss-normalize-url": "^7.0.0", - "postcss-normalize-whitespace": "^7.0.0", - "postcss-ordered-values": "^7.0.1", - "postcss-reduce-initial": "^7.0.2", - "postcss-reduce-transforms": "^7.0.0", - "postcss-svgo": "^7.0.1", - "postcss-unique-selectors": "^7.0.3" + "cssnano-utils": "^5.0.1", + "postcss-calc": "^10.1.1", + "postcss-colormin": "^7.0.5", + "postcss-convert-values": "^7.0.8", + "postcss-discard-comments": "^7.0.5", + "postcss-discard-duplicates": "^7.0.2", + "postcss-discard-empty": "^7.0.1", + "postcss-discard-overridden": "^7.0.1", + "postcss-merge-longhand": "^7.0.5", + "postcss-merge-rules": "^7.0.7", + "postcss-minify-font-values": "^7.0.1", + "postcss-minify-gradients": "^7.0.1", + "postcss-minify-params": "^7.0.5", + "postcss-minify-selectors": "^7.0.5", + "postcss-normalize-charset": "^7.0.1", + "postcss-normalize-display-values": "^7.0.1", + "postcss-normalize-positions": "^7.0.1", + "postcss-normalize-repeat-style": "^7.0.1", + "postcss-normalize-string": "^7.0.1", + "postcss-normalize-timing-functions": "^7.0.1", + "postcss-normalize-unicode": "^7.0.5", + "postcss-normalize-url": "^7.0.1", + "postcss-normalize-whitespace": "^7.0.1", + "postcss-ordered-values": "^7.0.2", + "postcss-reduce-initial": "^7.0.5", + "postcss-reduce-transforms": "^7.0.1", + "postcss-svgo": "^7.1.0", + "postcss-unique-selectors": "^7.0.4" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/cssnano-utils": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-5.0.0.tgz", - "integrity": "sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==", + "version": "5.0.1", "dev": true, + "license": "MIT", "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/csso": { "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", "dev": true, + "license": "MIT", "dependencies": { "css-tree": "~2.2.0" }, @@ -4257,9 +3874,8 @@ }, "node_modules/csso/node_modules/css-tree": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", "dev": true, + "license": "MIT", "dependencies": { "mdn-data": "2.0.28", "source-map-js": "^1.0.1" @@ -4271,14 +3887,11 @@ }, "node_modules/csso/node_modules/mdn-data": { "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "dev": true + "dev": true, + "license": "CC0-1.0" }, "node_modules/cssstyle": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz", - "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==", "dev": true, "license": "MIT", "dependencies": { @@ -4289,23 +3902,13 @@ "node": ">=18" } }, - "node_modules/cssstyle/node_modules/rrweb-cssom": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", - "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", - "dev": true, - "license": "MIT" - }, "node_modules/csstype": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/data-urls": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", - "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", "dev": true, "license": "MIT", "dependencies": { @@ -4317,14 +3920,13 @@ } }, "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "version": "1.0.2", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "is-data-view": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -4334,29 +3936,27 @@ } }, "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "version": "1.0.2", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "is-data-view": "^1.0.2" }, "engines": { "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/inspect-js" } }, "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "version": "1.0.1", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" }, @@ -4369,14 +3969,11 @@ }, "node_modules/debounce": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/debug": { "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, "license": "MIT", "dependencies": { @@ -4392,22 +3989,19 @@ } }, "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "dev": true + "version": "10.6.0", + "dev": true, + "license": "MIT" }, "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true + "version": "0.1.4", + "dev": true, + "license": "MIT" }, "node_modules/default-browser": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", - "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", "dev": true, + "license": "MIT", "dependencies": { "bundle-name": "^4.1.0", "default-browser-id": "^5.0.0" @@ -4421,9 +4015,8 @@ }, "node_modules/default-browser-id": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", - "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -4433,9 +4026,8 @@ }, "node_modules/define-data-property": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, + "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -4450,9 +4042,8 @@ }, "node_modules/define-lazy-prop": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -4462,9 +4053,8 @@ }, "node_modules/define-properties": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, + "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -4482,32 +4072,29 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "version": "2.0.0", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/dequal": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/destroy": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, "license": "MIT", "engines": { @@ -4516,16 +4103,14 @@ } }, "node_modules/detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", - "dev": true + "version": "2.1.0", + "dev": true, + "license": "MIT" }, "node_modules/dns-packet": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", "dev": true, + "license": "MIT", "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" }, @@ -4534,38 +4119,34 @@ } }, "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "version": "2.1.0", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=0.10.0" } }, "node_modules/dom-accessibility-api": { "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/dom-converter": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", "dev": true, + "license": "MIT", "dependencies": { "utila": "~0.4" } }, "node_modules/dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "version": "1.4.1", "dev": true, + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", @@ -4575,23 +4156,29 @@ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/domelementtype": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/fb55" } - ] + ], + "license": "BSD-2-Clause" }, "node_modules/domhandler": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.2.0" }, @@ -4604,9 +4191,8 @@ }, "node_modules/domutils": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", @@ -4618,9 +4204,8 @@ }, "node_modules/dot-case": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", "dev": true, + "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -4631,6 +4216,7 @@ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-8.0.2.tgz", "integrity": "sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^3.8.0" }, @@ -4641,20 +4227,39 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/dot-prop/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, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/dotenv": { "version": "8.6.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", - "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=10" } }, + "node_modules/dotenv-defaults": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "dotenv": "^8.2.0" + } + }, "node_modules/dotenv-webpack": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-8.1.0.tgz", - "integrity": "sha512-owK1JcsPkIobeqjVrk6h7jPED/W6ZpdFsMPR+5ursB7/SdgDyO+VzAU+szK8C8u3qUhtENyYnj8eyXMR5kkGag==", + "version": "8.1.1", "dev": true, + "license": "MIT", "dependencies": { "dotenv-defaults": "^2.0.2" }, @@ -4665,19 +4270,8 @@ "webpack": "^4 || ^5" } }, - "node_modules/dotenv-webpack/node_modules/dotenv-defaults": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz", - "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==", - "dev": true, - "dependencies": { - "dotenv": "^8.2.0" - } - }, "node_modules/dunder-proto": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", "dev": true, "license": "MIT", "dependencies": { @@ -4691,48 +4285,39 @@ }, "node_modules/duplexer": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/eastasianwidth": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ee-first": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true, "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.68", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.68.tgz", - "integrity": "sha512-FgMdJlma0OzUYlbrtZ4AeXjKxKPk6KT8WOP8BjcqxWtlg8qyJQjRzPJzUtUn5GBg1oQ26hFs7HOOHJMYiJRnvQ==", - "dev": true + "version": "1.5.249", + "dev": true, + "license": "ISC" }, "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 + "version": "9.2.2", + "dev": true, + "license": "MIT" }, "node_modules/emojis-list": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/encodeurl": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "dev": true, "license": "MIT", "engines": { @@ -4740,9 +4325,7 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "version": "5.18.3", "dev": true, "license": "MIT", "dependencies": { @@ -4753,29 +4336,21 @@ "node": ">=10.13.0" } }, - "node_modules/enhanced-resolve/node_modules/tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "version": "6.0.1", "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/envinfo": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", + "version": "7.20.0", "dev": true, + "license": "MIT", "bin": { "envinfo": "dist/cli.js" }, @@ -4788,6 +4363,7 @@ "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -4796,57 +4372,64 @@ } }, "node_modules/es-abstract": { - "version": "1.23.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.5.tgz", - "integrity": "sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==", + "version": "1.24.0", "dev": true, + "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", "globalthis": "^1.0.4", - "gopd": "^1.0.1", + "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", + "is-data-view": "^1.0.2", "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.3", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" }, "engines": { "node": ">= 0.4" @@ -4857,8 +4440,6 @@ }, "node_modules/es-define-property": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "dev": true, "license": "MIT", "engines": { @@ -4867,34 +4448,33 @@ }, "node_modules/es-errors": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/es-iterator-helpers": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz", - "integrity": "sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==", + "version": "1.2.1", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", + "es-abstract": "^1.23.6", "es-errors": "^1.3.0", "es-set-tostringtag": "^2.0.3", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", + "get-intrinsic": "^1.2.6", "globalthis": "^1.0.4", - "gopd": "^1.0.1", + "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "iterator.prototype": "^1.1.3", - "safe-array-concat": "^1.1.2" + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" }, "engines": { "node": ">= 0.4" @@ -4902,15 +4482,11 @@ }, "node_modules/es-module-lexer": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", "dev": true, "license": "MIT" }, "node_modules/es-object-atoms": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", "dev": true, "license": "MIT", "dependencies": { @@ -4922,8 +4498,6 @@ }, "node_modules/es-set-tostringtag": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", "dev": true, "license": "MIT", "dependencies": { @@ -4937,23 +4511,24 @@ } }, "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "version": "1.1.0", "dev": true, + "license": "MIT", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "version": "1.3.0", "dev": true, + "license": "MIT", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" }, "engines": { "node": ">= 0.4" @@ -4963,9 +4538,9 @@ } }, "node_modules/esbuild": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz", - "integrity": "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -4976,127 +4551,123 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.11", - "@esbuild/android-arm": "0.25.11", - "@esbuild/android-arm64": "0.25.11", - "@esbuild/android-x64": "0.25.11", - "@esbuild/darwin-arm64": "0.25.11", - "@esbuild/darwin-x64": "0.25.11", - "@esbuild/freebsd-arm64": "0.25.11", - "@esbuild/freebsd-x64": "0.25.11", - "@esbuild/linux-arm": "0.25.11", - "@esbuild/linux-arm64": "0.25.11", - "@esbuild/linux-ia32": "0.25.11", - "@esbuild/linux-loong64": "0.25.11", - "@esbuild/linux-mips64el": "0.25.11", - "@esbuild/linux-ppc64": "0.25.11", - "@esbuild/linux-riscv64": "0.25.11", - "@esbuild/linux-s390x": "0.25.11", - "@esbuild/linux-x64": "0.25.11", - "@esbuild/netbsd-arm64": "0.25.11", - "@esbuild/netbsd-x64": "0.25.11", - "@esbuild/openbsd-arm64": "0.25.11", - "@esbuild/openbsd-x64": "0.25.11", - "@esbuild/openharmony-arm64": "0.25.11", - "@esbuild/sunos-x64": "0.25.11", - "@esbuild/win32-arm64": "0.25.11", - "@esbuild/win32-ia32": "0.25.11", - "@esbuild/win32-x64": "0.25.11" + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" } }, "node_modules/escalade": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/escape-html": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/eslint": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", - "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "version": "9.39.1", "dev": true, + "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.1", - "@humanwhocodes/config-array": "^0.13.0", + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.1", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", + "cross-spawn": "^7.0.6", "debug": "^4.3.2", - "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", - "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", - "dev": true, - "optional": true, - "peer": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" + "url": "https://eslint.org/donate" }, "peerDependencies": { - "eslint": ">=7.0.0" + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, "node_modules/eslint-plugin-prettier": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", - "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", + "version": "5.5.4", "dev": true, + "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.9.1" + "synckit": "^0.11.7" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -5107,7 +4678,7 @@ "peerDependencies": { "@types/eslint": ">=8.0.0", "eslint": ">=8.0.0", - "eslint-config-prettier": "*", + "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", "prettier": ">=3.0.0" }, "peerDependenciesMeta": { @@ -5119,29 +4690,39 @@ } } }, - "node_modules/eslint-plugin-react": { - "version": "7.37.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", - "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", + "node_modules/eslint-plugin-prettier/node_modules/prettier-linter-helpers": { + "version": "1.0.0", "dev": true, + "license": "MIT", "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.2", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.1.0", + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", "estraverse": "^5.3.0", "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.8", + "object.entries": "^1.1.9", "object.fromentries": "^2.0.8", - "object.values": "^1.2.0", + "object.values": "^1.2.1", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.11", + "string.prototype.matchall": "^4.0.12", "string.prototype.repeat": "^1.0.0" }, "engines": { @@ -5152,10 +4733,9 @@ } }, "node_modules/eslint-plugin-react-hooks": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0.tgz", - "integrity": "sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==", + "version": "5.2.0", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -5163,121 +4743,53 @@ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/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/eslint/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "node_modules/eslint-plugin-react/node_modules/brace-expansion": { + "version": "1.1.12", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/eslint/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==", + "node_modules/eslint-plugin-react/node_modules/minimatch": { + "version": "3.1.2", "dev": true, + "license": "ISC", "dependencies": { - "color-name": "~1.1.4" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=7.0.0" + "node": "*" } }, - "node_modules/eslint/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/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/eslint-scope": { + "version": "8.4.0", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { + "node_modules/eslint-visitor-keys": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -5285,182 +4797,76 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/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/eslint/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.12", "dev": true, + "license": "MIT", "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/eslint/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.1", "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, + "license": "Apache-2.0", "engines": { - "node": ">=10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/eslint/node_modules/ignore": { + "version": "5.3.2", "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 4" } }, - "node_modules/eslint/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==", + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", "dev": true, + "license": "ISC", "dependencies": { - "has-flag": "^4.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "*" } }, "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "version": "10.4.0", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.9.0", + "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "eslint-visitor-keys": "^4.2.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, - "node_modules/espree/node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "version": "4.2.1", "dev": true, + "license": "Apache-2.0", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -5468,20 +4874,10 @@ "node": ">=0.10" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -5489,20 +4885,10 @@ "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "version": "5.3.0", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -5519,17 +4905,14 @@ }, "node_modules/esutils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/etag": { "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, "license": "MIT", "engines": { @@ -5538,16 +4921,13 @@ }, "node_modules/eventemitter3": { "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "dev": true, "license": "MIT" }, "node_modules/events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", + "version": "3.3.0", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.x" } @@ -5564,8 +4944,6 @@ }, "node_modules/express": { "version": "4.21.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "dev": true, "license": "MIT", "dependencies": { @@ -5611,8 +4989,6 @@ }, "node_modules/express/node_modules/cookie": { "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", "dev": true, "license": "MIT", "engines": { @@ -5621,131 +4997,108 @@ }, "node_modules/express/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { "ms": "2.0.0" } }, - "node_modules/express/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/express/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "license": "MIT" }, - "node_modules/express/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "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" - } - ], - "license": "MIT" - }, - "node_modules/express/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-diff": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/fast-equals": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.0.1.tgz", - "integrity": "sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.3.3.tgz", + "integrity": "sha512-/boTcHZeIAQ2r/tL11voclBHDeP9WPxLt+tyAbVSyyXuUFyh0Tne7gJZTqGbxnvj79TjLdCXLOY7UIPhyG5MTw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "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==", + "version": "3.3.3", "dev": true, + "license": "MIT", "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" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" } }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" }, "node_modules/fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", - "dev": true + "version": "1.0.16", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } }, "node_modules/fastq": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.0.tgz", - "integrity": "sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA==", + "version": "1.19.1", "dev": true, + "license": "ISC", "dependencies": { - "reusify": "^1.0.0" + "reusify": "^1.0.4" } }, "node_modules/faye-websocket": { "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dev": true, + "license": "Apache-2.0", "dependencies": { "websocket-driver": ">=0.5.1" }, @@ -5754,22 +5107,20 @@ } }, "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", "dev": true, + "license": "MIT", "dependencies": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16.0.0" } }, "node_modules/file-loader": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", "dev": true, + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" @@ -5785,27 +5136,12 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/file-loader/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "version": "3.3.0", "dev": true, + "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.6", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" }, @@ -5819,8 +5155,6 @@ }, "node_modules/file-selector": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-2.1.2.tgz", - "integrity": "sha512-QgXo+mXTe8ljeqUFaX3QVHc5osSItJ/Km+xpocx0aSqWGMSCf6qYs/VnzZgS864Pjn5iceMRFigeAV7AfTlaig==", "license": "MIT", "dependencies": { "tslib": "^2.7.0" @@ -5834,6 +5168,7 @@ "resolved": "https://registry.npmjs.org/file-type/-/file-type-19.6.0.tgz", "integrity": "sha512-VZR5I7k5wkD0HgFnMsq5hOsSc710MJMu5Nc5QYsbe38NN5iPV/XTObYLc/cpttRTf6lX538+5uO1ZQRhYibiZQ==", "dev": true, + "license": "MIT", "dependencies": { "get-stream": "^9.0.1", "strtok3": "^9.0.1", @@ -5847,26 +5182,8 @@ "url": "https://github.com/sindresorhus/file-type?sponsor=1" } }, - "node_modules/file-type/node_modules/get-stream": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", - "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", - "dev": true, - "dependencies": { - "@sec-ant/readable-stream": "^0.4.1", - "is-stream": "^4.0.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/fill-range": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "license": "MIT", "dependencies": { @@ -5878,8 +5195,6 @@ }, "node_modules/finalhandler": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dev": true, "license": "MIT", "dependencies": { @@ -5897,8 +5212,6 @@ }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { @@ -5907,83 +5220,51 @@ }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "license": "MIT" }, - "node_modules/finalhandler/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "5.0.0", "dev": true, + "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", + "locate-path": "^6.0.0", "path-exists": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/flat": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, + "license": "BSD-3-Clause", "bin": { "flat": "cli.js" } }, "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "version": "4.0.1", "dev": true, + "license": "MIT", "dependencies": { "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "keyv": "^4.5.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=16" } }, "node_modules/flatted": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", - "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", - "dev": true + "version": "3.3.3", + "dev": true, + "license": "ISC" }, "node_modules/focus-trap": { "version": "7.6.4", - "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.6.4.tgz", - "integrity": "sha512-xx560wGBk7seZ6y933idtjJQc1l+ck+pI3sKvhKozdBV1dRZoKhkW5xoCaFv9tQiX5RH1xfSxjuNu6g+lmN/gw==", "license": "MIT", "dependencies": { "tabbable": "^6.2.0" @@ -5991,8 +5272,6 @@ }, "node_modules/follow-redirects": { "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", "dev": true, "funding": [ { @@ -6012,8 +5291,6 @@ }, "node_modules/for-each": { "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", "dev": true, "license": "MIT", "dependencies": { @@ -6027,12 +5304,11 @@ } }, "node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "version": "3.3.1", "dev": true, + "license": "ISC", "dependencies": { - "cross-spawn": "^7.0.0", + "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" }, "engines": { @@ -6042,22 +5318,10 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/foreground-child/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/form-data": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", - "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", "dev": true, "license": "MIT", "dependencies": { @@ -6073,8 +5337,6 @@ }, "node_modules/forwarded": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true, "license": "MIT", "engines": { @@ -6083,26 +5345,15 @@ }, "node_modules/fresh": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, "node_modules/fsevents": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "hasInstallScript": true, "license": "MIT", "optional": true, "os": [ @@ -6114,9 +5365,8 @@ }, "node_modules/function-bind": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -6126,6 +5376,7 @@ "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.2.tgz", "integrity": "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -6134,15 +5385,16 @@ } }, "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "version": "1.1.8", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" }, "engines": { "node": ">= 0.4" @@ -6153,26 +5405,30 @@ }, "node_modules/functions-have-names": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/generator-function": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/get-intrinsic": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6196,8 +5452,7 @@ }, "node_modules/get-port": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", - "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -6207,8 +5462,6 @@ }, "node_modules/get-proto": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", "dev": true, "license": "MIT", "dependencies": { @@ -6219,67 +5472,85 @@ "node": ">= 0.4" } }, - "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "node_modules/get-symbol-description": { + "version": "1.1.0", "dev": true, + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" }, "engines": { - "node": "*" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, "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==", + "version": "6.0.2", "dev": true, "license": "ISC", "dependencies": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" }, "engines": { - "node": ">= 6" + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regex.js": { + "version": "1.2.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/globals": { + "version": "14.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/globalthis": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dev": true, + "license": "MIT", "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" @@ -6292,17 +5563,18 @@ } }, "node_modules/globby": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", - "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", "dev": true, + "license": "MIT", "dependencies": { "@sindresorhus/merge-streams": "^2.1.0", - "fast-glob": "^3.3.2", - "ignore": "^5.2.4", - "path-type": "^5.0.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", "slash": "^5.1.0", - "unicorn-magic": "^0.1.0" + "unicorn-magic": "^0.3.0" }, "engines": { "node": ">=18" @@ -6311,34 +5583,8 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby/node_modules/path-type": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", - "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby/node_modules/slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/gopd": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "dev": true, "license": "MIT", "engines": { @@ -6350,36 +5596,56 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/graphemer": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/handle-thing": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "version": "1.1.0", "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/has-property-descriptors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, + "license": "MIT", "dependencies": { "es-define-property": "^1.0.0" }, @@ -6388,10 +5654,12 @@ } }, "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "version": "1.2.0", "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -6401,8 +5669,6 @@ }, "node_modules/has-symbols": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, "license": "MIT", "engines": { @@ -6414,9 +5680,8 @@ }, "node_modules/has-tostringtag": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, + "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" }, @@ -6429,9 +5694,8 @@ }, "node_modules/hasown": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -6441,18 +5705,16 @@ }, "node_modules/he": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true, + "license": "MIT", "bin": { "he": "bin/he" } }, "node_modules/hpack.js": { "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "obuf": "^1.0.0", @@ -6460,10 +5722,40 @@ "wbuf": "^1.1.0" } }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/html-encoding-sniffer": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", - "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6475,15 +5767,33 @@ }, "node_modules/html-escaper": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } }, "node_modules/html-webpack-plugin": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz", - "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==", + "version": "5.6.4", "dev": true, + "license": "MIT", "dependencies": { "@types/html-minifier-terser": "^6.0.0", "html-minifier-terser": "^6.0.2", @@ -6511,106 +5821,8 @@ } } }, - "node_modules/html-webpack-plugin/node_modules/@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", - "dev": true - }, - "node_modules/html-webpack-plugin/node_modules/clean-css": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.0.tgz", - "integrity": "sha512-YYuuxv4H/iNb1Z/5IbMRoxgrzjWGhOEFfd+groZ5dMCVkpENiMZmwspdrzBo9286JjM1gZJPAyL7ZIdzuvu2AQ==", - "dev": true, - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 10.0" - } - }, - "node_modules/html-webpack-plugin/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true, - "engines": { - "node": ">= 12" - } - }, - "node_modules/html-webpack-plugin/node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/html-webpack-plugin/node_modules/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "dev": true, - "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/html-webpack-plugin/node_modules/pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "dev": true, - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "node_modules/html-webpack-plugin/node_modules/renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "dev": true, - "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, - "node_modules/html-webpack-plugin/node_modules/tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/htmlparser2": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", @@ -6619,6 +5831,7 @@ "url": "https://github.com/sponsors/fb55" } ], + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", @@ -6626,16 +5839,21 @@ "entities": "^2.0.0" } }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "2.2.0", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/http-deceiver": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/http-errors": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6649,36 +5867,13 @@ "node": ">= 0.8" } }, - "node_modules/http-errors/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-errors/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", - "dev": true + "version": "0.5.10", + "dev": true, + "license": "MIT" }, "node_modules/http-proxy": { "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6692,8 +5887,6 @@ }, "node_modules/http-proxy-agent": { "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dev": true, "license": "MIT", "dependencies": { @@ -6706,8 +5899,6 @@ }, "node_modules/http-proxy-middleware": { "version": "2.0.9", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", - "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", "dev": true, "license": "MIT", "dependencies": { @@ -6729,10 +5920,19 @@ } } }, + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/https-proxy-agent": { "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, "license": "MIT", "dependencies": { @@ -6745,17 +5945,14 @@ }, "node_modules/hyperdyperid": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", - "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.18" } }, "node_modules/iconv-lite": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "license": "MIT", "dependencies": { @@ -6767,9 +5964,8 @@ }, "node_modules/icss-utils": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", "dev": true, + "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -6778,10 +5974,11 @@ } }, "node_modules/identifier-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/identifier-regex/-/identifier-regex-1.0.0.tgz", - "integrity": "sha512-Rcy5cjBOM9iTR+Vwy0Llyip9u0cA99T1yiWOhDW/+PDaTQhyski0tMovsipQ/FRNDkudjLWusJ/IMVIlG5WZnQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/identifier-regex/-/identifier-regex-1.0.1.tgz", + "integrity": "sha512-ZrYyM0sozNPZlvBvE7Oq9Bn44n0qKGrYu5sQ0JzMUnjIhpgWYE2JB6aBoFwEYdPjqj7jPyxXTMJiHDOxDfd8yw==", "dev": true, + "license": "MIT", "dependencies": { "reserved-identifiers": "^1.0.0" }, @@ -6810,27 +6007,45 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "BSD-3-Clause" }, "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "version": "7.0.5", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, + "node_modules/image-dimensions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/image-dimensions/-/image-dimensions-2.5.0.tgz", + "integrity": "sha512-CKZPHjAEtSg9lBV9eER0bhNn/yrY7cFEQEhkwjLhqLY+Na8lcP1pEyWsaGMGc8t2qbKWA/tuqbhFQpOKGN72Yw==", + "dev": true, + "license": "MIT", + "bin": { + "image-dimensions": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/imagemin": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-9.0.0.tgz", - "integrity": "sha512-oFlmioXTIrDCNYiKUVPjzUzm8M/7X74WEO6v8NFjn3ZtxjArdVJiRRdbPpq/OG4BdwaHMUz8ej9Fp4AcaDzMnA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-9.0.1.tgz", + "integrity": "sha512-UoHOfynN8QeqRoUGunn6ilMnLpJ+utbmleP2ufcFqaGal8mY/PeOpV43N31uqtb+CBMFqQ7hxgKzIaAAnmcrdA==", "dev": true, + "license": "MIT", "dependencies": { "change-file-extension": "^0.1.1", "environment": "^1.0.0", "file-type": "^19.0.0", "globby": "^14.0.1", + "image-dimensions": "^2.3.0", "junk": "^4.0.1", "ow": "^2.0.0", "p-pipe": "^4.0.0", @@ -6844,45 +6059,25 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/imagemin/node_modules/slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "version": "3.3.1", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" }, "engines": { "node": ">=6" - } - }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "version": "3.2.0", "dev": true, + "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -6892,51 +6087,40 @@ }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } }, "node_modules/indent-string": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "version": "1.1.0", "dev": true, + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" + "hasown": "^2.0.2", + "side-channel": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -6944,30 +6128,28 @@ }, "node_modules/interpret": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.13.0" } }, "node_modules/ipaddr.js": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", - "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "version": "3.0.5", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -6977,12 +6159,15 @@ } }, "node_modules/is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "version": "2.1.1", "dev": true, + "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -6992,12 +6177,14 @@ } }, "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "version": "1.1.0", "dev": true, + "license": "MIT", "dependencies": { - "has-bigints": "^1.0.1" + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7005,8 +6192,6 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "license": "MIT", "dependencies": { @@ -7017,13 +6202,12 @@ } }, "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "version": "1.2.2", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -7034,9 +6218,8 @@ }, "node_modules/is-callable": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -7045,23 +6228,26 @@ } }, "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "version": "2.16.1", "dev": true, + "license": "MIT", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "version": "1.0.2", "dev": true, + "license": "MIT", "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", "is-typed-array": "^1.1.13" }, "engines": { @@ -7072,12 +6258,12 @@ } }, "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "version": "1.1.0", "dev": true, + "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -7088,9 +6274,8 @@ }, "node_modules/is-docker": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", "dev": true, + "license": "MIT", "bin": { "is-docker": "cli.js" }, @@ -7103,20 +6288,18 @@ }, "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-finalizationregistry": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz", - "integrity": "sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==", + "version": "1.1.1", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7" + "call-bound": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -7127,20 +6310,22 @@ }, "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, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "version": "1.1.2", "dev": true, + "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -7151,9 +6336,8 @@ }, "node_modules/is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -7166,6 +6350,7 @@ "resolved": "https://registry.npmjs.org/is-identifier/-/is-identifier-1.0.1.tgz", "integrity": "sha512-HQ5v4rEJ7REUV54bCd2l5FaD299SGDEn2UPoVXaTHAyGviLq2menVUD2udi3trQ32uvB6LdAh/0ck2EuizrtpA==", "dev": true, + "license": "MIT", "dependencies": { "identifier-regex": "^1.0.0", "super-regex": "^1.0.0" @@ -7179,9 +6364,8 @@ }, "node_modules/is-inside-container": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", "dev": true, + "license": "MIT", "dependencies": { "is-docker": "^3.0.0" }, @@ -7197,9 +6381,8 @@ }, "node_modules/is-map": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -7209,9 +6392,8 @@ }, "node_modules/is-negative-zero": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -7220,10 +6402,9 @@ } }, "node_modules/is-network-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", - "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", + "version": "1.3.0", "dev": true, + "license": "MIT", "engines": { "node": ">=16" }, @@ -7233,8 +6414,6 @@ }, "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, "license": "MIT", "engines": { @@ -7242,10 +6421,13 @@ } }, "node_modules/is-number-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", - "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", + "version": "1.1.1", "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, "engines": { "node": ">= 0.4" }, @@ -7253,33 +6435,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-plain-object": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -7289,18 +6448,18 @@ }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "version": "1.2.1", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -7311,9 +6470,8 @@ }, "node_modules/is-set": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -7322,12 +6480,11 @@ } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "version": "1.0.4", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7" + "call-bound": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -7341,6 +6498,7 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -7349,12 +6507,12 @@ } }, "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "version": "1.1.1", "dev": true, + "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -7364,12 +6522,13 @@ } }, "node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "version": "1.1.1", "dev": true, + "license": "MIT", "dependencies": { - "has-symbols": "^1.0.1" + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -7380,8 +6539,6 @@ }, "node_modules/is-typed-array": { "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7396,9 +6553,8 @@ }, "node_modules/is-weakmap": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -7407,25 +6563,26 @@ } }, "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "version": "1.1.1", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "version": "2.0.4", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -7436,9 +6593,8 @@ }, "node_modules/is-wsl": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", "dev": true, + "license": "MIT", "dependencies": { "is-inside-container": "^1.0.0" }, @@ -7451,20 +6607,16 @@ }, "node_modules/isarray": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, "license": "MIT", "engines": { @@ -7472,41 +6624,25 @@ } }, "node_modules/iterator.prototype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz", - "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==", + "version": "1.1.5", "dev": true, + "license": "MIT", "dependencies": { - "define-properties": "^1.2.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "reflect.getprototypeof": "^1.0.4", - "set-function-name": "^2.0.1" + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" }, "engines": { "node": ">= 0.4" } }, - "node_modules/jackspeak": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.2.tgz", - "integrity": "sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==", - "dev": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/jest-util": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -7519,81 +6655,56 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-util/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/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/jest-util/node_modules/@jest/schemas": { + "version": "29.6.3", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@sinclair/typebox": "^0.27.8" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-util/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==", + "node_modules/jest-util/node_modules/@jest/types": { + "version": "29.6.3", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" }, "engines": { - "node": ">=7.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-util/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/jest-util/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==", + "node_modules/jest-util/node_modules/@sinclair/typebox": { + "version": "0.27.8", "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/jest-util/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==", + "node_modules/jest-util/node_modules/ci-info": { + "version": "3.9.0", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-worker": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", @@ -7604,20 +6715,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-worker/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/jest-worker/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, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -7630,14 +6731,12 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "license": "MIT" }, "node_modules/js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -7686,32 +6785,15 @@ } } }, - "node_modules/jsdom/node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "node_modules/jsdom/node_modules/rrweb-cssom": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", + "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } + "license": "MIT" }, "node_modules/jsesc": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "dev": true, "license": "MIT", "bin": { @@ -7723,33 +6805,28 @@ }, "node_modules/json-buffer": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json5": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -7758,13 +6835,14 @@ } }, "node_modules/jsx-ast-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", - "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", + "version": "3.3.5", "dev": true, + "license": "MIT", "dependencies": { - "array-includes": "^3.1.2", - "object.assign": "^4.1.2" + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" }, "engines": { "node": ">=4.0" @@ -7775,6 +6853,7 @@ "resolved": "https://registry.npmjs.org/junk/-/junk-4.0.1.tgz", "integrity": "sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12.20" }, @@ -7784,37 +6863,40 @@ }, "node_modules/keyv": { "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, + "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } }, "node_modules/kind-of": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/kleur": { + "version": "4.1.5", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/launch-editor": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", - "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", + "version": "2.12.0", "dev": true, + "license": "MIT", "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" } }, "node_modules/levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -7825,64 +6907,84 @@ }, "node_modules/lilconfig": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", - "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", "dev": true, - "engines": { - "node": ">=14" + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/loader-runner": { + "version": "4.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, - "funding": { - "url": "https://github.com/sponsors/antonk52" + "engines": { + "node": ">=8.9.0" } }, "node_modules/local-access": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/local-access/-/local-access-1.1.0.tgz", - "integrity": "sha512-XfegD5pyTAfb+GY6chk283Ox5z8WexG56OvM06RWLpAc/UHozO8X6xAxEkIitZOtsSMM1Yr3DkHgW5W+onLhCw==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "6.0.0", "dev": true, + "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/lodash": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.memoize": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.uniq": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/loose-envify": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -7892,30 +6994,24 @@ }, "node_modules/lower-case": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", "dev": true, + "license": "MIT", "dependencies": { "tslib": "^2.0.3" } }, "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "version": "5.1.1", "dev": true, + "license": "ISC", "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "yallist": "^3.0.2" } }, "node_modules/lz-string": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true, + "license": "MIT", "peer": true, "bin": { "lz-string": "bin/bin.js" @@ -7931,10 +7027,39 @@ "@jridgewell/sourcemap-codec": "^1.5.5" } }, + "node_modules/make-asynchronous": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-asynchronous/-/make-asynchronous-1.0.1.tgz", + "integrity": "sha512-T9BPOmEOhp6SmV25SwLVcHK4E6JyG/coH3C6F1NjNXSziv/fd4GmsqMk8YR6qpPOswfaOCApSNkZv6fxoaYFcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-event": "^6.0.0", + "type-fest": "^4.6.0", + "web-worker": "1.2.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-asynchronous/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/math-intrinsics": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", "dev": true, "license": "MIT", "engines": { @@ -7942,15 +7067,12 @@ } }, "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "dev": true + "version": "2.12.2", + "dev": true, + "license": "CC0-1.0" }, "node_modules/media-typer": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, "license": "MIT", "engines": { @@ -7958,19 +7080,17 @@ } }, "node_modules/memfs": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.14.1.tgz", - "integrity": "sha512-Fq5CMEth+2iprLJ5mNizRcWuiwRZYjNkUD0zKk224jZunE9CRacTRDK8QLALbMBlNX2y3nY6lKZbesCwDwacig==", + "version": "4.50.0", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/json-pack": "^1.0.3", - "@jsonjoy.com/util": "^1.3.0", - "tree-dump": "^1.0.1", + "@jsonjoy.com/json-pack": "^1.11.0", + "@jsonjoy.com/util": "^1.9.0", + "glob-to-regex.js": "^1.0.1", + "thingies": "^2.5.0", + "tree-dump": "^1.0.3", "tslib": "^2.0.0" }, - "engines": { - "node": ">= 4.0.0" - }, "funding": { "type": "github", "url": "https://github.com/sponsors/streamich" @@ -7978,8 +7098,6 @@ }, "node_modules/merge-descriptors": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", "dev": true, "license": "MIT", "funding": { @@ -7988,23 +7106,19 @@ }, "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 + "dev": true, + "license": "MIT" }, "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, + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/methods": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true, "license": "MIT", "engines": { @@ -8013,8 +7127,6 @@ }, "node_modules/micromatch": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "license": "MIT", "dependencies": { @@ -8027,8 +7139,6 @@ }, "node_modules/mime": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, "license": "MIT", "bin": { @@ -8040,18 +7150,16 @@ }, "node_modules/mime-db": { "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -8061,18 +7169,16 @@ }, "node_modules/min-indent": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/mini-css-extract-plugin": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", - "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", + "version": "2.9.4", "dev": true, + "license": "MIT", "dependencies": { "schema-utils": "^4.0.0", "tapable": "^2.2.1" @@ -8088,76 +7194,64 @@ "webpack": "^5.0.0" } }, - "node_modules/mini-css-extract-plugin/node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/minimalistic-assert": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "9.0.5", "dev": true, + "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true + "version": "1.2.8", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/minipass": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, + "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } }, "node_modules/mri": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.6.tgz", - "integrity": "sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==", + "version": "1.2.0", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/mrmime": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", - "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "version": "2.0.1", + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, "license": "MIT" }, "node_modules/multicast-dns": { "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", "dev": true, + "license": "MIT", "dependencies": { "dns-packet": "^5.2.2", "thunky": "^1.0.2" @@ -8168,8 +7262,6 @@ }, "node_modules/nanoid": { "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, "funding": [ { @@ -8187,30 +7279,26 @@ }, "node_modules/natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "version": "0.6.4", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/neo-async": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/no-case": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", "dev": true, + "license": "MIT", "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" @@ -8218,33 +7306,29 @@ }, "node_modules/node-forge": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", "dev": true, + "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { "node": ">= 6.13.0" } }, "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", - "dev": true + "version": "2.0.27", + "dev": true, + "license": "MIT" }, "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "version": "2.1.1", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0" }, @@ -8254,24 +7338,20 @@ }, "node_modules/nwsapi": { "version": "2.2.22", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.22.tgz", - "integrity": "sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==", "dev": true, "license": "MIT" }, "node_modules/object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/object-inspect": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", - "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "version": "1.13.4", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -8281,22 +7361,22 @@ }, "node_modules/object-keys": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "version": "4.1.7", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", "object-keys": "^1.1.1" }, "engines": { @@ -8307,14 +7387,14 @@ } }, "node_modules/object.entries": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", - "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "version": "1.1.9", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "es-object-atoms": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -8322,9 +7402,8 @@ }, "node_modules/object.fromentries": { "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -8339,12 +7418,12 @@ } }, "node_modules/object.values": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", - "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "version": "1.2.1", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" }, @@ -8357,14 +7436,11 @@ }, "node_modules/obuf": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/on-finished": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "license": "MIT", "dependencies": { @@ -8376,33 +7452,21 @@ }, "node_modules/on-headers": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", - "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, "node_modules/open": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", - "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", + "version": "10.2.0", "dev": true, + "license": "MIT", "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", "is-inside-container": "^1.0.0", - "is-wsl": "^3.1.0" + "wsl-utils": "^0.1.0" }, "engines": { "node": ">=18" @@ -8413,25 +7477,23 @@ }, "node_modules/opener": { "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", "dev": true, + "license": "(WTFPL OR MIT)", "bin": { "opener": "bin/opener-bin.js" } }, "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "version": "0.9.4", "dev": true, + "license": "MIT", "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -8442,6 +7504,7 @@ "resolved": "https://registry.npmjs.org/ow/-/ow-2.0.0.tgz", "integrity": "sha512-ESUigmGrdhUZ2nQSFNkeKSl6ZRPupXzprMs3yF9DYlNVpJ8XAjM/fI9RUZxA7PI1K9HQDCCvBo1jr/GEIo9joQ==", "dev": true, + "license": "MIT", "dependencies": { "@sindresorhus/is": "^6.3.0", "callsites": "^4.1.0", @@ -8462,6 +7525,7 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-4.2.0.tgz", "integrity": "sha512-kfzR4zzQtAE9PC7CzZsjl3aBNbXWuXiSeOCdLcPpBfGW8YuCqQHcRPFDbr/BPVmd3EEPVpuFzLyuT/cUhPr4OQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12.20" }, @@ -8469,31 +7533,64 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/own-keys": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-event": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-6.0.1.tgz", + "integrity": "sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-timeout": "^6.1.2" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "3.1.0", "dev": true, + "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "5.0.0", "dev": true, + "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-pipe": { @@ -8501,6 +7598,7 @@ "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-4.0.0.tgz", "integrity": "sha512-HkPfFklpZQPUKBFXzKFB6ihLriIHxnmuQdK9WmLDwe4hf2PdhhfWT/FJa+pc3bA1ywvKXtedxIRmd4Y7BTXE4w==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -8510,9 +7608,8 @@ }, "node_modules/p-retry": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", - "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/retry": "0.12.2", "is-network-error": "^1.0.0", @@ -8525,26 +7622,36 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-timeout": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", + "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/p-try": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/package-json-from-dist": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true + "dev": true, + "license": "BlueOak-1.0.0" }, "node_modules/param-case": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", "dev": true, + "license": "MIT", "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" @@ -8552,9 +7659,8 @@ }, "node_modules/parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -8564,8 +7670,6 @@ }, "node_modules/parse5": { "version": "7.3.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", "dev": true, "license": "MIT", "dependencies": { @@ -8575,33 +7679,18 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/parse5/node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, "node_modules/parseurl": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/pascal-case": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", "dev": true, + "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -8609,69 +7698,43 @@ }, "node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-scurry": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", - "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", - "dev": true, - "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.2.tgz", - "integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==", "dev": true, - "engines": { - "node": "20 || >=22" - } + "license": "MIT" }, "node_modules/path-to-regexp": { "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", "dev": true, "license": "MIT" }, + "node_modules/path-type": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/pathe": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", @@ -8680,10 +7743,11 @@ "license": "MIT" }, "node_modules/peek-readable": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.3.1.tgz", - "integrity": "sha512-GVlENSDW6KHaXcd9zkZltB7tCLosKB/4Hg0fqBJkAoBgYG2Tn1xtMgXtSUuMU9AK/gCm/tTdT8mgAeF4YNeeqw==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.4.2.tgz", + "integrity": "sha512-peBp3qZyuS6cNIJ2akRNG1uo1WJ1d0wTxg/fxMdZ0BqCVhx242bSFHM9eNqflfJVS9SsgkzgT/1UgnsurBOTMg==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.16" }, @@ -8694,15 +7758,13 @@ }, "node_modules/picocolors": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -8712,9 +7774,8 @@ }, "node_modules/pkg-dir": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -8722,19 +7783,64 @@ "node": ">=8" } }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "version": "1.1.0", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/postcss": { "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "dev": true, "funding": [ { @@ -8761,12 +7867,11 @@ } }, "node_modules/postcss-calc": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.0.2.tgz", - "integrity": "sha512-DT/Wwm6fCKgpYVI7ZEWuPJ4az8hiEHtCUeYjZXqU7Ou4QqYh1Df2yCQ7Ca6N7xqKPFkxN3fhf+u9KSoOCJNAjg==", + "version": "10.1.1", "dev": true, + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.1.2", + "postcss-selector-parser": "^7.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -8777,12 +7882,11 @@ } }, "node_modules/postcss-colormin": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.2.tgz", - "integrity": "sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==", + "version": "7.0.5", "dev": true, + "license": "MIT", "dependencies": { - "browserslist": "^4.23.3", + "browserslist": "^4.27.0", "caniuse-api": "^3.0.0", "colord": "^2.9.3", "postcss-value-parser": "^4.2.0" @@ -8791,115 +7895,107 @@ "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-convert-values": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.4.tgz", - "integrity": "sha512-e2LSXPqEHVW6aoGbjV9RsSSNDO3A0rZLCBxN24zvxF25WknMPpX8Dm9UxxThyEbaytzggRuZxaGXqaOhxQ514Q==", + "version": "7.0.8", "dev": true, + "license": "MIT", "dependencies": { - "browserslist": "^4.23.3", + "browserslist": "^4.27.0", "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-discard-comments": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.3.tgz", - "integrity": "sha512-q6fjd4WU4afNhWOA2WltHgCbkRhZPgQe7cXF74fuVB/ge4QbM9HEaOIzGSiMvM+g/cOsNAUGdf2JDzqA2F8iLA==", + "version": "7.0.5", "dev": true, + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.1.2" + "postcss-selector-parser": "^7.1.0" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-discard-duplicates": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.1.tgz", - "integrity": "sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==", + "version": "7.0.2", "dev": true, + "license": "MIT", "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-discard-empty": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.0.tgz", - "integrity": "sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==", + "version": "7.0.1", "dev": true, + "license": "MIT", "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-discard-overridden": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-7.0.0.tgz", - "integrity": "sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==", + "version": "7.0.1", "dev": true, + "license": "MIT", "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-merge-longhand": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.4.tgz", - "integrity": "sha512-zer1KoZA54Q8RVHKOY5vMke0cCdNxMP3KBfDerjH/BYHh4nCIh+1Yy0t1pAEQF18ac/4z3OFclO+ZVH8azjR4A==", + "version": "7.0.5", "dev": true, + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", - "stylehacks": "^7.0.4" + "stylehacks": "^7.0.5" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-merge-rules": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.4.tgz", - "integrity": "sha512-ZsaamiMVu7uBYsIdGtKJ64PkcQt6Pcpep/uO90EpLS3dxJi6OXamIobTYcImyXGoW0Wpugh7DSD3XzxZS9JCPg==", + "version": "7.0.7", "dev": true, + "license": "MIT", "dependencies": { - "browserslist": "^4.23.3", + "browserslist": "^4.27.0", "caniuse-api": "^3.0.0", - "cssnano-utils": "^5.0.0", - "postcss-selector-parser": "^6.1.2" + "cssnano-utils": "^5.0.1", + "postcss-selector-parser": "^7.1.0" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-minify-font-values": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-7.0.0.tgz", - "integrity": "sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==", + "version": "7.0.1", "dev": true, + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -8907,64 +8003,60 @@ "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-minify-gradients": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-7.0.0.tgz", - "integrity": "sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==", + "version": "7.0.1", "dev": true, + "license": "MIT", "dependencies": { "colord": "^2.9.3", - "cssnano-utils": "^5.0.0", + "cssnano-utils": "^5.0.1", "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-minify-params": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.2.tgz", - "integrity": "sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==", + "version": "7.0.5", "dev": true, + "license": "MIT", "dependencies": { - "browserslist": "^4.23.3", - "cssnano-utils": "^5.0.0", + "browserslist": "^4.27.0", + "cssnano-utils": "^5.0.1", "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-minify-selectors": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.0.4.tgz", - "integrity": "sha512-JG55VADcNb4xFCf75hXkzc1rNeURhlo7ugf6JjiiKRfMsKlDzN9CXHZDyiG6x/zGchpjQS+UAgb1d4nqXqOpmA==", + "version": "7.0.5", "dev": true, + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", - "postcss-selector-parser": "^6.1.2" + "postcss-selector-parser": "^7.1.0" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-modules-extract-imports": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", - "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", "dev": true, + "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -8973,13 +8065,12 @@ } }, "node_modules/postcss-modules-local-by-default": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", - "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "version": "4.2.0", "dev": true, + "license": "MIT", "dependencies": { "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", + "postcss-selector-parser": "^7.0.0", "postcss-value-parser": "^4.1.0" }, "engines": { @@ -8990,12 +8081,11 @@ } }, "node_modules/postcss-modules-scope": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", - "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "version": "3.2.1", "dev": true, + "license": "ISC", "dependencies": { - "postcss-selector-parser": "^6.0.4" + "postcss-selector-parser": "^7.0.0" }, "engines": { "node": "^10 || ^12 || >= 14" @@ -9006,9 +8096,8 @@ }, "node_modules/postcss-modules-values": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", "dev": true, + "license": "ISC", "dependencies": { "icss-utils": "^5.0.0" }, @@ -9020,22 +8109,20 @@ } }, "node_modules/postcss-normalize-charset": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-7.0.0.tgz", - "integrity": "sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==", + "version": "7.0.1", "dev": true, + "license": "MIT", "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-normalize-display-values": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-7.0.0.tgz", - "integrity": "sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==", + "version": "7.0.1", "dev": true, + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -9043,14 +8130,13 @@ "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-normalize-positions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-7.0.0.tgz", - "integrity": "sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==", + "version": "7.0.1", "dev": true, + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -9058,14 +8144,13 @@ "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-normalize-repeat-style": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-7.0.0.tgz", - "integrity": "sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==", + "version": "7.0.1", "dev": true, + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -9073,14 +8158,13 @@ "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-normalize-string": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-7.0.0.tgz", - "integrity": "sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==", + "version": "7.0.1", "dev": true, + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -9088,14 +8172,13 @@ "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-normalize-timing-functions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-7.0.0.tgz", - "integrity": "sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==", + "version": "7.0.1", "dev": true, + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -9103,30 +8186,28 @@ "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-normalize-unicode": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.2.tgz", - "integrity": "sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==", + "version": "7.0.5", "dev": true, + "license": "MIT", "dependencies": { - "browserslist": "^4.23.3", + "browserslist": "^4.27.0", "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-normalize-url": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-7.0.0.tgz", - "integrity": "sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==", + "version": "7.0.1", "dev": true, + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -9134,14 +8215,13 @@ "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-normalize-whitespace": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-7.0.0.tgz", - "integrity": "sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==", + "version": "7.0.1", "dev": true, + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -9149,46 +8229,43 @@ "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-ordered-values": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-7.0.1.tgz", - "integrity": "sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==", + "version": "7.0.2", "dev": true, + "license": "MIT", "dependencies": { - "cssnano-utils": "^5.0.0", + "cssnano-utils": "^5.0.1", "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-reduce-initial": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.2.tgz", - "integrity": "sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==", + "version": "7.0.5", "dev": true, + "license": "MIT", "dependencies": { - "browserslist": "^4.23.3", + "browserslist": "^4.27.0", "caniuse-api": "^3.0.0" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-reduce-transforms": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-7.0.0.tgz", - "integrity": "sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==", + "version": "7.0.1", "dev": true, + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -9196,14 +8273,13 @@ "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "version": "7.1.0", "dev": true, + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -9213,56 +8289,51 @@ } }, "node_modules/postcss-svgo": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.0.1.tgz", - "integrity": "sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==", + "version": "7.1.0", "dev": true, + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", - "svgo": "^3.3.2" + "svgo": "^4.0.0" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >= 18" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-unique-selectors": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.3.tgz", - "integrity": "sha512-J+58u5Ic5T1QjP/LDV9g3Cx4CNOgB5vz+kM6+OxHHhFACdcDeKhBXjQmB7fnIZM12YSTvsL0Opwco83DmacW2g==", + "version": "7.0.4", "dev": true, + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.1.2" + "postcss-selector-parser": "^7.1.0" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/postcss-value-parser": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/prettier": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", - "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", + "version": "3.6.2", "dev": true, + "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, @@ -9273,28 +8344,49 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "node_modules/pretty-error": { + "version": "4.0.0", "dev": true, + "license": "MIT", "dependencies": { - "fast-diff": "^1.1.2" + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=6.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/process-nextick-args": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/prop-types": { "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -9303,13 +8395,10 @@ }, "node_modules/prop-types/node_modules/react-is": { "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "license": "MIT" }, "node_modules/proxy-addr": { "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, "license": "MIT", "dependencies": { @@ -9322,8 +8411,6 @@ }, "node_modules/proxy-addr/node_modules/ipaddr.js": { "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, "license": "MIT", "engines": { @@ -9332,8 +8419,6 @@ }, "node_modules/punycode": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "license": "MIT", "engines": { @@ -9342,8 +8427,6 @@ }, "node_modules/qs": { "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -9358,8 +8441,6 @@ }, "node_modules/queue-microtask": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -9374,30 +8455,27 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/range-parser": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/raw-body": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, "license": "MIT", "dependencies": { @@ -9412,9 +8490,8 @@ }, "node_modules/raw-loader": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz", - "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==", "dev": true, + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" @@ -9430,27 +8507,12 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/raw-loader/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, "node_modules/raw-loader/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "version": "3.3.0", "dev": true, + "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.6", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" }, @@ -9463,9 +8525,8 @@ } }, "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "version": "18.3.1", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" }, @@ -9475,31 +8536,26 @@ }, "node_modules/react-axe": { "version": "3.5.4", - "resolved": "https://registry.npmjs.org/react-axe/-/react-axe-3.5.4.tgz", - "integrity": "sha512-5xNO0QVCCEZnJiyhAGox0MGFyclgU3XL8se+5H+whdxV1VTtA9/uux9BSCF5mGNSgtSZkb+tQtrOaF+zGf/oWw==", - "deprecated": "deprecated", "dev": true, + "license": "MPL-2.0", "dependencies": { "axe-core": "^3.5.0", "requestidlecallback": "^0.3.0" } }, "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "version": "18.3.1", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "scheduler": "^0.23.2" }, "peerDependencies": { - "react": "^18.2.0" + "react": "^18.3.1" } }, "node_modules/react-dropzone": { - "version": "14.3.8", - "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.3.8.tgz", - "integrity": "sha512-sBgODnq+lcA4P296DY4wacOZz3JFpD99fp+hb//iBO2HHnyeZU3FwWyXJ6salNpqQdsZrgMrotuko/BdJMV8Ug==", + "version": "14.3.5", "license": "MIT", "dependencies": { "attr-accept": "^2.2.4", @@ -9513,6 +8569,12 @@ "react": ">= 16.8 || 18.0.0" } }, + "node_modules/react-is": { + "version": "17.0.2", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/react-refresh": { "version": "0.17.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", @@ -9525,8 +8587,6 @@ }, "node_modules/react-router": { "version": "7.9.5", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.9.5.tgz", - "integrity": "sha512-JmxqrnBZ6E9hWmf02jzNn9Jm3UqyeimyiwzD69NjxGySG6lIz/1LVPsoTCwN7NBX2XjCEa1LIX5EMz1j2b6u6A==", "dev": true, "license": "MIT", "dependencies": { @@ -9548,8 +8608,6 @@ }, "node_modules/react-router-dom": { "version": "7.9.5", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.9.5.tgz", - "integrity": "sha512-mkEmq/K8tKN63Ae2M7Xgz3c9l9YNbY+NHH6NNeUmLA3kDkhKXRsNb/ZpxaEunvGo2/3YXdk5EJU3Hxp3ocaBPw==", "dev": true, "license": "MIT", "dependencies": { @@ -9564,31 +8622,20 @@ } }, "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "version": "3.6.2", "dev": true, "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/readable-stream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "node_modules/readdirp": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "license": "MIT", "dependencies": { @@ -9600,9 +8647,8 @@ }, "node_modules/rechoir": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, + "license": "MIT", "dependencies": { "resolve": "^1.20.0" }, @@ -9611,27 +8657,28 @@ } }, "node_modules/rechoir/node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "version": "1.22.11", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.11.0", + "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/redent": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, + "license": "MIT", "dependencies": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" @@ -9641,18 +8688,18 @@ } }, "node_modules/reflect.getprototypeof": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.7.tgz", - "integrity": "sha512-bMvFGIUKlc/eSfXNX+aZ+EL95/EgZzuwA0OBPTbZZDEJw/0AkentjMuM1oiRfwHrshqk4RzdgiTg5CcDalXN5g==", + "version": "1.0.10", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", + "es-abstract": "^1.23.9", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "which-builtin-type": "^1.1.4" + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -9663,19 +8710,19 @@ }, "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 + "dev": true, + "license": "MIT" }, "node_modules/regexp.prototype.flags": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", - "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", + "version": "1.5.4", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", "set-function-name": "^2.0.2" }, "engines": { @@ -9685,41 +8732,61 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "node_modules/relateurl": { + "version": "0.2.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/renderkid/node_modules/strip-ansi": { + "version": "6.0.1", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, "engines": { - "node": ">= 0.10" + "node": ">=8" } }, "node_modules/requestidlecallback": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/requestidlecallback/-/requestidlecallback-0.3.0.tgz", - "integrity": "sha1-b7dOBzP5DfP6pIOPn2oqX5t0KsU=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/require-from-string": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/requires-port": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/reserved-identifiers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/reserved-identifiers/-/reserved-identifiers-1.0.0.tgz", - "integrity": "sha512-h0bP2Katmvf3hv4Z3WtDl4+6xt/OglQ2Xa6TnhZ/Rm9/7IH1crXQqMwD4J2ngKBonVv+fB55zfGgNDAmsevLVQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/reserved-identifiers/-/reserved-identifiers-1.2.0.tgz", + "integrity": "sha512-yE7KUfFvaBFzGPs5H3Ops1RevfUEsDc5Iz65rOwWg4lE8HJSYtle77uul3+573457oHvBKuHYDl/xqUkKpEEdw==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -9729,9 +8796,8 @@ }, "node_modules/resolve": { "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, + "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -9746,9 +8812,8 @@ }, "node_modules/resolve-cwd": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, + "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -9756,42 +8821,46 @@ "node": ">=8" } }, - "node_modules/resolve-from": { + "node_modules/resolve-cwd/node_modules/resolve-from": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/resolve-from": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/retry": { "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "version": "1.1.0", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, "node_modules/rimraf": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", - "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", + "version": "6.1.0", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "glob": "^11.0.0", - "package-json-from-dist": "^1.0.0" + "glob": "^11.0.3", + "package-json-from-dist": "^1.0.1" }, "bin": { "rimraf": "dist/esm/bin.mjs" @@ -9803,25 +8872,14 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/rimraf/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/rimraf/node_modules/glob": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", - "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", + "version": "11.0.3", "dev": true, + "license": "ISC", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^4.0.1", - "minimatch": "^10.0.0", + "foreground-child": "^3.3.1", + "jackspeak": "^4.1.1", + "minimatch": "^10.0.3", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^2.0.0" @@ -9836,13 +8894,49 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rimraf/node_modules/jackspeak": { + "version": "4.1.1", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/lru-cache": { + "version": "11.2.2", + "dev": true, + "license": "ISC", + "engines": { + "node": "20 || >=22" + } + }, "node_modules/rimraf/node_modules/minimatch": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", - "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "version": "10.1.1", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^2.0.1" + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/path-scurry": { + "version": "2.0.1", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { "node": "20 || >=22" @@ -9852,9 +8946,9 @@ } }, "node_modules/rollup": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.5.tgz", - "integrity": "sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==", + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz", + "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==", "dev": true, "license": "MIT", "dependencies": { @@ -9868,43 +8962,40 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.52.5", - "@rollup/rollup-android-arm64": "4.52.5", - "@rollup/rollup-darwin-arm64": "4.52.5", - "@rollup/rollup-darwin-x64": "4.52.5", - "@rollup/rollup-freebsd-arm64": "4.52.5", - "@rollup/rollup-freebsd-x64": "4.52.5", - "@rollup/rollup-linux-arm-gnueabihf": "4.52.5", - "@rollup/rollup-linux-arm-musleabihf": "4.52.5", - "@rollup/rollup-linux-arm64-gnu": "4.52.5", - "@rollup/rollup-linux-arm64-musl": "4.52.5", - "@rollup/rollup-linux-loong64-gnu": "4.52.5", - "@rollup/rollup-linux-ppc64-gnu": "4.52.5", - "@rollup/rollup-linux-riscv64-gnu": "4.52.5", - "@rollup/rollup-linux-riscv64-musl": "4.52.5", - "@rollup/rollup-linux-s390x-gnu": "4.52.5", - "@rollup/rollup-linux-x64-gnu": "4.52.5", - "@rollup/rollup-linux-x64-musl": "4.52.5", - "@rollup/rollup-openharmony-arm64": "4.52.5", - "@rollup/rollup-win32-arm64-msvc": "4.52.5", - "@rollup/rollup-win32-ia32-msvc": "4.52.5", - "@rollup/rollup-win32-x64-gnu": "4.52.5", - "@rollup/rollup-win32-x64-msvc": "4.52.5", + "@rollup/rollup-android-arm-eabi": "4.53.3", + "@rollup/rollup-android-arm64": "4.53.3", + "@rollup/rollup-darwin-arm64": "4.53.3", + "@rollup/rollup-darwin-x64": "4.53.3", + "@rollup/rollup-freebsd-arm64": "4.53.3", + "@rollup/rollup-freebsd-x64": "4.53.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", + "@rollup/rollup-linux-arm-musleabihf": "4.53.3", + "@rollup/rollup-linux-arm64-gnu": "4.53.3", + "@rollup/rollup-linux-arm64-musl": "4.53.3", + "@rollup/rollup-linux-loong64-gnu": "4.53.3", + "@rollup/rollup-linux-ppc64-gnu": "4.53.3", + "@rollup/rollup-linux-riscv64-gnu": "4.53.3", + "@rollup/rollup-linux-riscv64-musl": "4.53.3", + "@rollup/rollup-linux-s390x-gnu": "4.53.3", + "@rollup/rollup-linux-x64-gnu": "4.53.3", + "@rollup/rollup-linux-x64-musl": "4.53.3", + "@rollup/rollup-openharmony-arm64": "4.53.3", + "@rollup/rollup-win32-arm64-msvc": "4.53.3", + "@rollup/rollup-win32-ia32-msvc": "4.53.3", + "@rollup/rollup-win32-x64-gnu": "4.53.3", + "@rollup/rollup-win32-x64-msvc": "4.53.3", "fsevents": "~2.3.2" } }, "node_modules/rrweb-cssom": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", - "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==", + "version": "0.8.0", "dev": true, "license": "MIT" }, "node_modules/run-applescript": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", - "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "version": "7.1.0", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -9914,8 +9005,6 @@ }, "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": [ { @@ -9931,30 +9020,30 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/sade": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.7.4.tgz", - "integrity": "sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==", + "version": "1.8.1", + "license": "MIT", "dependencies": { "mri": "^1.1.0" }, "engines": { - "node": ">= 6" + "node": ">=6" } }, "node_modules/safe-array-concat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "version": "1.1.3", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", "isarray": "^2.0.5" }, "engines": { @@ -9965,20 +9054,47 @@ } }, "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "version": "5.2.1", + "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" + } + ], + "license": "MIT" + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "version": "1.1.0", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", - "is-regex": "^1.1.4" + "is-regex": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -9989,15 +9105,18 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/sax": { + "version": "1.4.3", + "dev": true, + "license": "BlueOak-1.0.0" }, "node_modules/saxes": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, + "license": "ISC", "dependencies": { "xmlchars": "^2.2.0" }, @@ -10006,18 +9125,16 @@ } }, "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "version": "0.23.2", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" } }, "node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "version": "4.3.3", "dev": true, + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -10025,7 +9142,7 @@ "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", @@ -10033,15 +9150,14 @@ } }, "node_modules/schema-utils/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", "dev": true, + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -10050,9 +9166,8 @@ }, "node_modules/schema-utils/node_modules/ajv-keywords": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -10062,21 +9177,18 @@ }, "node_modules/schema-utils/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/select-hose": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/selfsigned": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", "dev": true, + "license": "MIT", "dependencies": { "@types/node-forge": "^1.3.0", "node-forge": "^1" @@ -10087,25 +9199,24 @@ }, "node_modules/semiver": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/semiver/-/semiver-1.1.0.tgz", - "integrity": "sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "version": "7.7.3", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/send": { "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dev": true, "license": "MIT", "dependencies": { @@ -10129,8 +9240,6 @@ }, "node_modules/send/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { @@ -10139,46 +9248,29 @@ }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "license": "MIT" }, - "node_modules/send/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/send/node_modules/encodeurl": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" } }, - "node_modules/send/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/serialize-javascript": { + "version": "6.0.2", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" } }, "node_modules/serve-index": { "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", "dev": true, + "license": "MIT", "dependencies": { "accepts": "~1.3.4", "batch": "0.6.1", @@ -10194,18 +9286,24 @@ }, "node_modules/serve-index/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/serve-index/node_modules/http-errors": { "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, + "license": "MIT", "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -10218,26 +9316,29 @@ }, "node_modules/serve-index/node_modules/inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/serve-index/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/serve-index/node_modules/setprototypeof": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true + "dev": true, + "license": "ISC" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, "node_modules/serve-static": { "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dev": true, "license": "MIT", "dependencies": { @@ -10252,16 +9353,13 @@ }, "node_modules/set-cookie-parser": { "version": "2.7.2", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", - "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", "dev": true, "license": "MIT" }, "node_modules/set-function-length": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, + "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -10276,9 +9374,8 @@ }, "node_modules/set-function-name": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, + "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -10289,18 +9386,28 @@ "node": ">= 0.4" } }, + "node_modules/set-proto": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true, "license": "ISC" }, "node_modules/shallow-clone": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -10310,9 +9417,8 @@ }, "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, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -10322,18 +9428,66 @@ }, "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, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/shell-quote": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", - "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", + "version": "1.8.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, "engines": { "node": ">= 0.4" }, @@ -10341,16 +9495,16 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "node_modules/side-channel-weakmap": { + "version": "1.0.2", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -10366,24 +9520,32 @@ "dev": true, "license": "ISC" }, - "node_modules/sirv": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", - "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "node_modules/signal-exit": { + "version": "4.1.0", "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sirv": { + "version": "3.0.2", + "license": "MIT", "dependencies": { "@polka/url": "^1.0.0-next.24", "mrmime": "^2.0.0", "totalist": "^3.0.0" }, "engines": { - "node": ">= 10" + "node": ">=18" } }, "node_modules/sirv-cli": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/sirv-cli/-/sirv-cli-3.0.0.tgz", - "integrity": "sha512-p88yHl8DmTOUJroRiW2o9ezJc/YRLxphBydX2NGQc3naKBA09B3EM4Q/yaN8FYF0e50fRSZP7dyatr72b1u5Jw==", + "version": "3.0.1", + "license": "MIT", "dependencies": { "console-clear": "^1.1.0", "get-port": "^5.1.1", @@ -10401,80 +9563,49 @@ "node": ">=18" } }, - "node_modules/sirv-cli/node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6" - } - }, - "node_modules/sirv-cli/node_modules/sirv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.0.tgz", - "integrity": "sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==", - "dependencies": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" + "node": ">=14.16" }, - "engines": { - "node": ">=18" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/sockjs": { "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, + "license": "MIT", "dependencies": { "faye-websocket": "^0.11.3", "uuid": "^8.3.2", "websocket-driver": "^0.7.4" } }, - "node_modules/sockjs/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-js": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, "node_modules/spdy": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.1.0", "handle-thing": "^2.0.0", @@ -10488,9 +9619,8 @@ }, "node_modules/spdy-transport": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.1.0", "detect-node": "^2.0.4", @@ -10500,20 +9630,6 @@ "wbuf": "^1.7.3" } }, - "node_modules/spdy-transport/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/stackback": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", @@ -10522,12 +9638,11 @@ "license": "MIT" }, "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "version": "2.0.1", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/std-env": { @@ -10537,35 +9652,47 @@ "dev": true, "license": "MIT" }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "version": "1.3.0", "dev": true, + "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, "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==", + "version": "5.1.2", "dev": true, + "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/string-width-cjs": { "name": "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, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -10575,24 +9702,40 @@ "node": ">=8" } }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/string.prototype.matchall": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", - "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "version": "4.0.12", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", + "es-abstract": "^1.23.6", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "regexp.prototype.flags": "^1.5.2", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", "set-function-name": "^2.0.2", - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -10603,24 +9746,25 @@ }, "node_modules/string.prototype.repeat": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", "dev": true, + "license": "MIT", "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.17.5" } }, "node_modules/string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "version": "1.2.10", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -10630,24 +9774,26 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "version": "1.0.9", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -10661,23 +9807,24 @@ } }, "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==", + "version": "7.1.2", "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/strip-ansi-cjs": { "name": "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, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -10685,11 +9832,21 @@ "node": ">=8" } }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.2.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, "node_modules/strip-indent": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, + "license": "MIT", "dependencies": { "min-indent": "^1.0.0" }, @@ -10699,9 +9856,8 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -10714,6 +9870,7 @@ "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-9.1.1.tgz", "integrity": "sha512-FhwotcEqjr241ZbjFzjlIYg6c5/L/s4yBGWSMvJ9UoExiSqL+FnFA/CaeZx17WGaZMS/4SOZp8wH18jSS4R4lw==", "dev": true, + "license": "MIT", "dependencies": { "@tokenizer/token": "^0.3.0", "peek-readable": "^5.3.1" @@ -10728,9 +9885,8 @@ }, "node_modules/style-loader": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-4.0.0.tgz", - "integrity": "sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 18.12.0" }, @@ -10743,28 +9899,29 @@ } }, "node_modules/stylehacks": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.4.tgz", - "integrity": "sha512-i4zfNrGMt9SB4xRK9L83rlsFCgdGANfeDAYacO1pkqcE7cRHPdWHwnKZVz7WY17Veq/FvyYsRAU++Ga+qDFIww==", + "version": "7.0.7", "dev": true, + "license": "MIT", "dependencies": { - "browserslist": "^4.23.3", - "postcss-selector-parser": "^6.1.2" + "browserslist": "^4.27.0", + "postcss-selector-parser": "^7.1.0" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss": "^8.4.32" } }, "node_modules/super-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-1.0.0.tgz", - "integrity": "sha512-CY8u7DtbvucKuquCmOFEKhr9Besln7n9uN8eFbwcoGYWXOMW07u2o8njWaiXt11ylS3qoGF55pILjRmPlbodyg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-1.1.0.tgz", + "integrity": "sha512-WHkws2ZflZe41zj6AolvvmaTrWds/VuyeYr9iPVv/oQeaIoVxMKaushfFWpOGDT+GuBrM/sVqF8KUCYQlSSTdQ==", "dev": true, + "license": "MIT", "dependencies": { "function-timeout": "^1.0.1", + "make-asynchronous": "^1.0.1", "time-span": "^5.1.0" }, "engines": { @@ -10774,99 +9931,177 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-url-loader": { + "version": "8.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "file-loader": "~6.2.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/svgo": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^11.1.0", + "css-select": "^5.1.0", + "css-tree": "^3.0.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "^1.4.1" + }, + "bin": { + "svgo": "bin/svgo.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "11.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/svgo/node_modules/css-select": { + "version": "5.2.2", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/svg-url-loader": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-8.0.0.tgz", - "integrity": "sha512-5doSXvl18hY1fGsRLdhWAU5jgzgxJ06/gc/26cpuDnN0xOz1HmmfhkpL29SSrdIvhtxQ1UwGzmk7wTT/l48mKw==", + "node_modules/svgo/node_modules/domhandler": { + "version": "5.0.3", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "file-loader": "~6.2.0" + "domelementtype": "^2.3.0" }, "engines": { - "node": ">=14" + "node": ">= 4" }, - "peerDependencies": { - "webpack": "^5.0.0" + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/svgo": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", - "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "node_modules/svgo/node_modules/domutils": { + "version": "3.2.2", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.3.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=14.0.0" + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "node_modules/svgo/node_modules/entities": { + "version": "4.5.0", "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">= 10" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/symbol-tree": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/synckit": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz", - "integrity": "sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==", + "version": "0.11.11", "dev": true, + "license": "MIT", "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" + "@pkgr/core": "^0.2.9" }, "engines": { "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/unts" + "url": "https://opencollective.com/synckit" } }, "node_modules/tabbable": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.3.0.tgz", - "integrity": "sha512-EIHvdY5bPLuWForiR/AN2Bxngzpuwn1is4asboytXtpTgsArc+WmSJKVLlhdh71u7jFcryDqB2A8lQvj78MkyQ==", "license": "MIT" }, + "node_modules/tapable": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/terser": { - "version": "5.44.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.0.tgz", - "integrity": "sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==", + "version": "5.44.1", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -10883,16 +10118,15 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "version": "5.3.14", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", + "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" }, "engines": { "node": ">= 10.13.0" @@ -10916,20 +10150,10 @@ } } }, - "node_modules/terser-webpack-plugin/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/terser-webpack-plugin/node_modules/jest-worker": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -10939,39 +10163,10 @@ "node": ">= 10.13.0" } }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } - }, "node_modules/terser-webpack-plugin/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, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -10982,48 +10177,46 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/terser/node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT" + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", "dev": true, "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, "node_modules/thingies": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", - "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", + "version": "2.5.0", "dev": true, + "license": "MIT", "engines": { "node": ">=10.18" }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, "peerDependencies": { "tslib": "^2" } }, "node_modules/thunky": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/time-span": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz", "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==", "dev": true, + "license": "MIT", "dependencies": { "convert-hrtime": "^5.0.0" }, @@ -11043,8 +10236,7 @@ }, "node_modules/tinydate": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/tinydate/-/tinydate-1.3.0.tgz", - "integrity": "sha512-7cR8rLy2QhYHpsBDBVYnnWXm8uRTr38RoZakFSW7Bs7PzfMPNZthuMLkwqZv7MTu8lhQ91cOFYS5a7iFj2oR3w==", + "license": "MIT", "engines": { "node": ">=4" } @@ -11058,8 +10250,6 @@ }, "node_modules/tinyglobby": { "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "dev": true, "license": "MIT", "dependencies": { @@ -11075,8 +10265,6 @@ }, "node_modules/tinyglobby/node_modules/fdir": { "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, "license": "MIT", "engines": { @@ -11093,8 +10281,6 @@ }, "node_modules/tinyglobby/node_modules/picomatch": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", "engines": { @@ -11116,8 +10302,6 @@ }, "node_modules/tldts": { "version": "6.1.86", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", - "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", "dev": true, "license": "MIT", "dependencies": { @@ -11129,15 +10313,11 @@ }, "node_modules/tldts-core": { "version": "6.1.86", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", - "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", "dev": true, "license": "MIT" }, "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, "license": "MIT", "dependencies": { @@ -11149,8 +10329,6 @@ }, "node_modules/toidentifier": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, "license": "MIT", "engines": { @@ -11158,11 +10336,13 @@ } }, "node_modules/token-types": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/token-types/-/token-types-6.0.0.tgz", - "integrity": "sha512-lbDrTLVsHhOMljPscd0yitpozq7Ga2M5Cvez5AjGg8GASBjtt6iERCAJ93yommPmz62fb45oFIXHEZ3u9bfJEA==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-6.1.1.tgz", + "integrity": "sha512-kh9LVIWH5CnL63Ipf0jhlBIy0UsrMj/NJDfpsy1SqOXlLKEVyXXYrnFxFT1yOOYVGBSApeVnjPw/sBz5BfEjAQ==", "dev": true, + "license": "MIT", "dependencies": { + "@borewit/text-codec": "^0.1.0", "@tokenizer/token": "^0.3.0", "ieee754": "^1.2.1" }, @@ -11176,16 +10356,13 @@ }, "node_modules/totalist": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/tough-cookie": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", - "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -11197,8 +10374,6 @@ }, "node_modules/tr46": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", - "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", "dev": true, "license": "MIT", "dependencies": { @@ -11209,10 +10384,9 @@ } }, "node_modules/tree-dump": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", - "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==", + "version": "1.1.0", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.0" }, @@ -11224,259 +10398,87 @@ "tslib": "2" } }, - "node_modules/ts-api-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", - "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", - "dev": true, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/ts-loader": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", - "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4", - "source-map": "^0.7.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" - } - }, - "node_modules/ts-loader/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/ts-loader/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "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/ts-loader/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/ts-loader/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/ts-loader/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/ts-loader/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-loader/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/ts-loader/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/tsconfig-paths": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", - "dev": true, - "dependencies": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tsconfig-paths-webpack-plugin": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.2.0.tgz", - "integrity": "sha512-zbem3rfRS8BgeNK50Zz5SIQgXzLafiHjOwUAvk/38/o1jHn/V5QAgVUcz884or7WYcPaH3N2CIfUc2u0ul7UcA==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.7.0", - "tapable": "^2.2.1", - "tsconfig-paths": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/tsconfig-paths-webpack-plugin/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/tsconfig-paths-webpack-plugin/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "node_modules/ts-api-utils": { + "version": "2.1.0", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=18.12" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "typescript": ">=4.8.4" } }, - "node_modules/tsconfig-paths-webpack-plugin/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==", + "node_modules/ts-loader": { + "version": "9.5.4", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4", + "source-map": "^0.7.4" }, "engines": { - "node": ">=7.0.0" + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" } }, - "node_modules/tsconfig-paths-webpack-plugin/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/tsconfig-paths-webpack-plugin/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==", + "node_modules/ts-loader/node_modules/source-map": { + "version": "0.7.6", "dev": true, + "license": "BSD-3-Clause", "engines": { - "node": ">=8" + "node": ">= 12" } }, - "node_modules/tsconfig-paths-webpack-plugin/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==", + "node_modules/tsconfig-paths": { + "version": "4.2.0", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/tsconfig-paths-webpack-plugin/node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "node_modules/tsconfig-paths-webpack-plugin": { + "version": "4.2.0", "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.7.0", + "tapable": "^2.2.1", + "tsconfig-paths": "^4.1.2" + }, "engines": { - "node": ">=6" + "node": ">=10.13.0" } }, "node_modules/tsconfig-paths/node_modules/strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tslib": { "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + "license": "0BSD" }, "node_modules/type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -11484,22 +10486,8 @@ "node": ">= 0.8.0" } }, - "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/type-is": { "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "license": "MIT", "dependencies": { @@ -11512,8 +10500,6 @@ }, "node_modules/typed-array-buffer": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "dev": true, "license": "MIT", "dependencies": { @@ -11526,16 +10512,15 @@ } }, "node_modules/typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "version": "1.0.3", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -11545,17 +10530,17 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "version": "1.0.4", "dev": true, + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" }, "engines": { "node": ">= 0.4" @@ -11565,17 +10550,16 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", - "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "version": "1.0.7", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-proto": "^1.0.3", "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" }, "engines": { "node": ">= 0.4" @@ -11585,10 +10569,9 @@ } }, "node_modules/typescript": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", - "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", + "version": "5.9.3", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -11598,10 +10581,11 @@ } }, "node_modules/uint8array-extras": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.4.0.tgz", - "integrity": "sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.5.0.tgz", + "integrity": "sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -11610,15 +10594,17 @@ } }, "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "version": "1.1.0", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", + "call-bound": "^1.0.3", "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -11626,16 +10612,15 @@ }, "node_modules/undici-types": { "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", - "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", "dev": true, "license": "MIT" }, "node_modules/unicorn-magic": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", - "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -11645,8 +10630,6 @@ }, "node_modules/unpipe": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, "license": "MIT", "engines": { @@ -11654,9 +10637,7 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", - "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "version": "1.1.4", "dev": true, "funding": [ { @@ -11672,9 +10653,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "escalade": "^3.2.0", - "picocolors": "^1.1.0" + "picocolors": "^1.1.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -11684,19 +10666,17 @@ } }, "node_modules/uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "version": "4.4.1", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/url-loader": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", "dev": true, + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "mime-types": "^2.1.27", @@ -11719,27 +10699,12 @@ } } }, - "node_modules/url-loader/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, "node_modules/url-loader/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "version": "3.3.0", "dev": true, + "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.6", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" }, @@ -11753,31 +10718,34 @@ }, "node_modules/util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/utila": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/utils-merge": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true, "license": "MIT", "engines": { "node": ">= 0.4.0" } }, + "node_modules/uuid": { + "version": "8.3.2", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/vary": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -11889,26 +10857,26 @@ } }, "node_modules/vitest": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.5.tgz", - "integrity": "sha512-4H+J28MI5oeYgGg3h5BFSkQ1g/2GKK1IR8oorH3a6EQQbb7CwjbnyBjH4PGxw9/6vpwAPNzaeUMp4Js4WJmdXQ==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.10.tgz", + "integrity": "sha512-2Fqty3MM9CDwOVet/jaQalYlbcjATZwPYGcqpiYQqgQ/dLC7GuHdISKgTYIVF/kaishKxLzleKWWfbSDklyIKg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "4.0.5", - "@vitest/mocker": "4.0.5", - "@vitest/pretty-format": "4.0.5", - "@vitest/runner": "4.0.5", - "@vitest/snapshot": "4.0.5", - "@vitest/spy": "4.0.5", - "@vitest/utils": "4.0.5", + "@vitest/expect": "4.0.10", + "@vitest/mocker": "4.0.10", + "@vitest/pretty-format": "4.0.10", + "@vitest/runner": "4.0.10", + "@vitest/snapshot": "4.0.10", + "@vitest/spy": "4.0.10", + "@vitest/utils": "4.0.10", "debug": "^4.4.3", "es-module-lexer": "^1.7.0", "expect-type": "^1.2.2", - "magic-string": "^0.30.19", + "magic-string": "^0.30.21", "pathe": "^2.0.3", "picomatch": "^4.0.3", - "std-env": "^3.9.0", + "std-env": "^3.10.0", "tinybench": "^2.9.0", "tinyexec": "^0.3.2", "tinyglobby": "^0.2.15", @@ -11929,10 +10897,10 @@ "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.0.5", - "@vitest/browser-preview": "4.0.5", - "@vitest/browser-webdriverio": "4.0.5", - "@vitest/ui": "4.0.5", + "@vitest/browser-playwright": "4.0.10", + "@vitest/browser-preview": "4.0.10", + "@vitest/browser-webdriverio": "4.0.10", + "@vitest/ui": "4.0.10", "happy-dom": "*", "jsdom": "*" }, @@ -11981,8 +10949,6 @@ }, "node_modules/w3c-xmlserializer": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", - "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", "dev": true, "license": "MIT", "dependencies": { @@ -11994,8 +10960,6 @@ }, "node_modules/watchpack": { "version": "2.4.4", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", - "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", "dev": true, "license": "MIT", "dependencies": { @@ -12008,17 +10972,21 @@ }, "node_modules/wbuf": { "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", "dev": true, + "license": "MIT", "dependencies": { "minimalistic-assert": "^1.0.0" } }, + "node_modules/web-worker": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", + "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/webidl-conversions": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -12026,20 +10994,21 @@ } }, "node_modules/webpack": { - "version": "5.97.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.97.0.tgz", - "integrity": "sha512-CWT8v7ShSfj7tGs4TLRtaOLmOCPWhoKEvp+eA7FVx8Xrjb3XfT0aXdxDItnRZmE8sHcH+a8ayDrJCOjXKxVFfQ==", + "version": "5.102.1", "dev": true, + "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.6", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.14.0", - "browserslist": "^4.24.0", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.26.3", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", + "enhanced-resolve": "^5.17.3", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -12049,11 +11018,11 @@ "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.11", + "watchpack": "^2.4.4", + "webpack-sources": "^3.3.3" }, "bin": { "webpack": "bin/webpack.js" @@ -12073,9 +11042,8 @@ }, "node_modules/webpack-bundle-analyzer": { "version": "4.10.2", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", - "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", "dev": true, + "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "0.5.7", "acorn": "^8.0.4", @@ -12097,52 +11065,45 @@ "node": ">= 10.13.0" } }, - "node_modules/webpack-bundle-analyzer/node_modules/acorn": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.3.0.tgz", - "integrity": "sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/webpack-bundle-analyzer/node_modules/commander": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10" } }, - "node_modules/webpack-bundle-analyzer/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/webpack-bundle-analyzer/node_modules/sirv": { + "version": "2.0.4", "dev": true, - "engines": { - "node": ">=10" + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 10" } }, - "node_modules/webpack-bundle-analyzer/node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "node_modules/webpack-bundle-analyzer/node_modules/ws": { + "version": "7.5.10", "dev": true, - "dependencies": { - "duplexer": "^0.1.2" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8.3.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, "node_modules/webpack-cli": { @@ -12150,6 +11111,7 @@ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, + "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "^0.5.0", "@webpack-cli/configtest": "^2.1.1", @@ -12195,6 +11157,7 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, + "license": "MIT", "engines": { "node": ">=14" } @@ -12204,6 +11167,7 @@ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", "dev": true, + "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "flat": "^5.0.2", @@ -12214,14 +11178,13 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz", - "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==", + "version": "7.4.5", "dev": true, + "license": "MIT", "dependencies": { "colorette": "^2.0.10", - "memfs": "^4.6.0", - "mime-types": "^2.1.31", + "memfs": "^4.43.1", + "mime-types": "^3.0.1", "on-finished": "^2.4.1", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" @@ -12242,10 +11205,27 @@ } } }, + "node_modules/webpack-dev-middleware/node_modules/mime-db": { + "version": "1.54.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-types": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/webpack-dev-server": { "version": "5.2.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz", - "integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==", "dev": true, "license": "MIT", "dependencies": { @@ -12268,90 +11248,42 @@ "http-proxy-middleware": "^2.0.9", "ipaddr.js": "^2.1.0", "launch-editor": "^2.6.1", - "open": "^10.0.3", - "p-retry": "^6.2.0", - "schema-utils": "^4.2.0", - "selfsigned": "^2.4.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^7.4.2", - "ws": "^8.18.0" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "open": "^10.0.3", + "p-retry": "^6.2.0", + "schema-utils": "^4.2.0", + "selfsigned": "^2.4.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^7.4.2", + "ws": "^8.18.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" }, "engines": { - "node": ">= 8.10.0" + "node": ">= 18.12.0" }, "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" + "webpack": "^5.0.0" }, "peerDependenciesMeta": { - "bufferutil": { + "webpack": { "optional": true }, - "utf-8-validate": { + "webpack-cli": { "optional": true } } }, "node_modules/webpack-merge": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", - "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", "dev": true, + "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "flat": "^5.0.2", @@ -12361,152 +11293,18 @@ "node": ">=18.0.0" } }, - "node_modules/webpack/node_modules/@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" - } - }, - "node_modules/webpack/node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "dev": true - }, - "node_modules/webpack/node_modules/@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "dev": true - }, - "node_modules/webpack/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", - "dev": true - }, - "node_modules/webpack/node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" - } - }, - "node_modules/webpack/node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/webpack/node_modules/@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/webpack/node_modules/@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", - "dev": true - }, - "node_modules/webpack/node_modules/@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" - } - }, - "node_modules/webpack/node_modules/@webassemblyjs/wasm-gen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/webpack/node_modules/@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" - } - }, - "node_modules/webpack/node_modules/@webassemblyjs/wasm-parser": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/webpack/node_modules/@webassemblyjs/wast-printer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/webpack/node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "node_modules/webpack-sources": { + "version": "3.3.3", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, + "license": "MIT", "engines": { - "node": ">=0.4.0" + "node": ">=10.13.0" } }, "node_modules/webpack/node_modules/eslint-scope": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -12515,56 +11313,18 @@ "node": ">=8.0.0" } }, - "node_modules/webpack/node_modules/loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack/node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack/node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=10.13.0" + "node": ">=4.0" } }, "node_modules/websocket-driver": { "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", @@ -12576,17 +11336,14 @@ }, "node_modules/websocket-extensions": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=0.8.0" } }, "node_modules/whatwg-encoding": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", - "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", "dev": true, "license": "MIT", "dependencies": { @@ -12598,8 +11355,6 @@ }, "node_modules/whatwg-encoding/node_modules/iconv-lite": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "license": "MIT", "dependencies": { @@ -12611,8 +11366,6 @@ }, "node_modules/whatwg-mimetype": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", - "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", "dev": true, "license": "MIT", "engines": { @@ -12621,8 +11374,6 @@ }, "node_modules/whatwg-url": { "version": "14.2.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", - "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", "dev": true, "license": "MIT", "dependencies": { @@ -12635,9 +11386,8 @@ }, "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, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -12649,40 +11399,41 @@ } }, "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "version": "1.1.1", "dev": true, + "license": "MIT", "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/which-builtin-type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.0.tgz", - "integrity": "sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA==", + "version": "1.2.1", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.2", "function.prototype.name": "^1.1.6", "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", + "is-date-object": "^1.1.0", "is-finalizationregistry": "^1.1.0", "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", + "is-regex": "^1.2.1", "is-weakref": "^1.0.2", "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", + "which-boxed-primitive": "^1.1.0", "which-collection": "^1.0.2", - "which-typed-array": "^1.1.15" + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" @@ -12693,9 +11444,8 @@ }, "node_modules/which-collection": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, + "license": "MIT", "dependencies": { "is-map": "^2.0.3", "is-set": "^2.0.3", @@ -12711,8 +11461,6 @@ }, "node_modules/which-typed-array": { "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", "dev": true, "license": "MIT", "dependencies": { @@ -12750,16 +11498,38 @@ }, "node_modules/wildcard": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } }, "node_modules/wrap-ansi-cjs": { "name": "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, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -12772,57 +11542,56 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs/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==", + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrap-ansi-cjs/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==", + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/wrap-ansi-cjs/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/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, "node_modules/ws": { - "version": "7.5.10", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", - "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "version": "8.18.3", "dev": true, "license": "MIT", "engines": { - "node": ">=8.3.0" + "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { "bufferutil": { @@ -12833,10 +11602,22 @@ } } }, + "node_modules/wsl-utils": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/xml-name-validator": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", - "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", "dev": true, "license": "Apache-2.0", "engines": { @@ -12845,21 +11626,18 @@ }, "node_modules/xmlchars": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "version": "3.1.1", + "dev": true, + "license": "ISC" }, "node_modules/yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, diff --git a/package.json b/package.json index 8ffb5994..8df9e7c1 100644 --- a/package.json +++ b/package.json @@ -25,26 +25,26 @@ }, "devDependencies": { "@testing-library/jest-dom": "^6.6.3", - "@testing-library/react": "^16.2.0", + "@testing-library/react": "^16.3.0", "@testing-library/user-event": "^14.6.1", "@types/react-router-dom": "^5.3.3", - "@typescript-eslint/eslint-plugin": "^8.17.0", - "@typescript-eslint/parser": "^8.17.0", + "@typescript-eslint/eslint-plugin": "^8.34.0", + "@typescript-eslint/parser": "^8.34.0", "@vitejs/plugin-react": "^4.3.3", - "copy-webpack-plugin": "^12.0.2", + "copy-webpack-plugin": "^13.0.0", "css-loader": "^7.1.2", - "css-minimizer-webpack-plugin": "^7.0.0", + "css-minimizer-webpack-plugin": "^7.0.2", "dotenv-webpack": "^8.1.0", - "eslint": "^8.57.1", - "eslint-plugin-prettier": "^5.2.1", - "eslint-plugin-react": "^7.37.2", - "eslint-plugin-react-hooks": "^5.0.0", + "eslint": "^9.28.0", + "eslint-plugin-prettier": "^5.4.1", + "eslint-plugin-react": "^7.37.5", + "eslint-plugin-react-hooks": "^5.2.0", "html-webpack-plugin": "^5.6.3", "imagemin": "^9.0.0", "jsdom": "^25.0.1", "mini-css-extract-plugin": "^2.9.2", - "postcss": "^8.4.49", - "prettier": "^3.4.2", + "postcss": "^8.5.5", + "prettier": "^3.5.3", "prop-types": "^15.8.1", "raw-loader": "^4.0.2", "react-axe": "^3.5.4", @@ -57,7 +57,7 @@ "ts-loader": "^9.5.1", "tsconfig-paths-webpack-plugin": "^4.2.0", "tslib": "^2.8.1", - "typescript": "^5.7.2", + "typescript": "^5.8.3", "url-loader": "^4.1.1", "vite": "^6.4.1", "vitest": "^4.0.5", @@ -73,7 +73,7 @@ "@patternfly/react-styles": "^6.4.0", "react": "^18", "react-dom": "^18", - "sirv-cli": "^3.0.0" + "sirv-cli": "^3.0.1" }, "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } diff --git a/src/app/app.test.tsx b/src/app/app.test.tsx index 2804a998..2617e083 100644 --- a/src/app/app.test.tsx +++ b/src/app/app.test.tsx @@ -33,7 +33,9 @@ describe('App tests', () => { it('should expand the sidebar on larger viewports', () => { render(); - window.dispatchEvent(new Event('resize')); + act(() => { + window.dispatchEvent(new Event('resize')); + }); expect(screen.getByRole('link', { name: 'Dashboard' })).toBeVisible(); }); @@ -43,7 +45,9 @@ describe('App tests', () => { render(); - window.dispatchEvent(new Event('resize')); + act(() => { + window.dispatchEvent(new Event('resize')); + }); const button = screen.getByRole('button', { name: 'Global navigation' }); expect(screen.getByRole('link', { name: 'Dashboard' })).toBeVisible(); From c476881634c35c60b35e080cae05b7b901aac81c Mon Sep 17 00:00:00 2001 From: nicolethoen Date: Fri, 13 Jun 2025 13:51:56 -0400 Subject: [PATCH 02/22] fix: update linting --- eslint.config.js | 34 +++++ package-lock.json | 265 +++++++++++++++++++++++++++++++++++- package.json | 5 +- src/app/Support/Support.tsx | 1 - src/app/routes.tsx | 2 - src/index.tsx | 1 - 6 files changed, 302 insertions(+), 6 deletions(-) create mode 100644 eslint.config.js diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 00000000..b17cc57f --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,34 @@ +import tseslint from 'typescript-eslint'; +import reactPlugin from 'eslint-plugin-react'; +import reactHooksPlugin from 'eslint-plugin-react-hooks'; + +export default { + files: ['src/**/*.{js,jsx,ts,tsx}'], + languageOptions: { + parser: tseslint.parser, + parserOptions: { + project: './tsconfig.json', + tsconfigRootDir: '.', + ecmaFeatures: { jsx: true }, + }, + }, + plugins: { + '@typescript-eslint': tseslint.plugin, + 'react': reactPlugin, + 'react-hooks': reactHooksPlugin, + }, + rules: { + '@typescript-eslint/no-unused-vars': 'error', + 'react/prop-types': 'off', + 'sort-imports': ['error', { ignoreDeclarationSort: true }], + '@typescript-eslint/explicit-function-return-type': 'off', + 'react-hooks/rules-of-hooks': 'error', + 'react-hooks/exhaustive-deps': 'warn', + '@typescript-eslint/interface-name-prefix': 'off', + }, + settings: { + react: { + version: 'detect', + }, + }, +}; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 73b1296f..460d4f2b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,7 @@ "sirv-cli": "^3.0.1" }, "devDependencies": { + "@eslint/js": "^9.29.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.3.0", "@testing-library/user-event": "^14.6.1", @@ -51,6 +52,7 @@ "tsconfig-paths-webpack-plugin": "^4.2.0", "tslib": "^2.8.1", "typescript": "^5.8.3", + "typescript-eslint": "^8.34.0", "url-loader": "^4.1.1", "vite": "^6.4.1", "vitest": "^4.0.5", @@ -1053,6 +1055,8 @@ }, "node_modules/@eslint/js": { "version": "9.39.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz", + "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==", "dev": true, "license": "MIT", "engines": { @@ -10569,7 +10573,9 @@ } }, "node_modules/typescript": { - "version": "5.9.3", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -10580,6 +10586,263 @@ "node": ">=14.17" } }, + "node_modules/typescript-eslint": { + "version": "8.34.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.34.0.tgz", + "integrity": "sha512-MRpfN7uYjTrTGigFCt8sRyNqJFhjN0WwZecldaqhWm+wy0gaRt8Edb/3cuUy0zdq2opJWT6iXINKAtewnDOltQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.34.0", + "@typescript-eslint/parser": "8.34.0", + "@typescript-eslint/utils": "8.34.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.34.0.tgz", + "integrity": "sha512-QXwAlHlbcAwNlEEMKQS2RCgJsgXrTJdjXT08xEgbPFa2yYQgVjBymxP5DrfrE7X7iodSzd9qBUHUycdyVJTW1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.34.0", + "@typescript-eslint/type-utils": "8.34.0", + "@typescript-eslint/utils": "8.34.0", + "@typescript-eslint/visitor-keys": "8.34.0", + "graphemer": "^1.4.0", + "ignore": "^7.0.0", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.34.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/parser": { + "version": "8.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.34.0.tgz", + "integrity": "sha512-vxXJV1hVFx3IXz/oy2sICsJukaBrtDEQSBiV48/YIV5KWjX1dO+bcIr/kCPrW6weKXvsaGKFNlwH0v2eYdRRbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.34.0", + "@typescript-eslint/types": "8.34.0", + "@typescript-eslint/typescript-estree": "8.34.0", + "@typescript-eslint/visitor-keys": "8.34.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/project-service": { + "version": "8.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.34.0.tgz", + "integrity": "sha512-iEgDALRf970/B2YExmtPMPF54NenZUf4xpL3wsCRx/lgjz6ul/l13R81ozP/ZNuXfnLCS+oPmG7JIxfdNYKELw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.34.0", + "@typescript-eslint/types": "^8.34.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/scope-manager": { + "version": "8.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.34.0.tgz", + "integrity": "sha512-9Ac0X8WiLykl0aj1oYQNcLZjHgBojT6cW68yAgZ19letYu+Hxd0rE0veI1XznSSst1X5lwnxhPbVdwjDRIomRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.34.0", + "@typescript-eslint/visitor-keys": "8.34.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.0.tgz", + "integrity": "sha512-+W9VYHKFIzA5cBeooqQxqNriAP0QeQ7xTiDuIOr71hzgffm3EL2hxwWBIIj4GuofIbKxGNarpKqIq6Q6YrShOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/type-utils": { + "version": "8.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.34.0.tgz", + "integrity": "sha512-n7zSmOcUVhcRYC75W2pnPpbO1iwhJY3NLoHEtbJwJSNlVAZuwqu05zY3f3s2SDWWDSo9FdN5szqc73DCtDObAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "8.34.0", + "@typescript-eslint/utils": "8.34.0", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/types": { + "version": "8.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.34.0.tgz", + "integrity": "sha512-9V24k/paICYPniajHfJ4cuAWETnt7Ssy+R0Rbcqo5sSFr3QEZ/8TSoUi9XeXVBGXCaLtwTOKSLGcInCAvyZeMA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.34.0.tgz", + "integrity": "sha512-rOi4KZxI7E0+BMqG7emPSK1bB4RICCpF7QD3KCLXn9ZvWoESsOMlHyZPAHyG04ujVplPaHbmEvs34m+wjgtVtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.34.0", + "@typescript-eslint/tsconfig-utils": "8.34.0", + "@typescript-eslint/types": "8.34.0", + "@typescript-eslint/visitor-keys": "8.34.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/utils": { + "version": "8.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.34.0.tgz", + "integrity": "sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.34.0", + "@typescript-eslint/types": "8.34.0", + "@typescript-eslint/typescript-estree": "8.34.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.34.0.tgz", + "integrity": "sha512-qHV7pW7E85A0x6qyrFn+O+q1k1p3tQCsqIZ1KZ5ESLXY57aTvUd3/a4rdPTeXisvhXn2VQG0VSKUqs8KHF2zcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.34.0", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/typescript-eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/uint8array-extras": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.5.0.tgz", diff --git a/package.json b/package.json index 8df9e7c1..bfc49897 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "clean": "rimraf dist" }, "devDependencies": { + "@eslint/js": "^9.29.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.3.0", "@testing-library/user-event": "^14.6.1", @@ -58,6 +59,7 @@ "tsconfig-paths-webpack-plugin": "^4.2.0", "tslib": "^2.8.1", "typescript": "^5.8.3", + "typescript-eslint": "^8.34.0", "url-loader": "^4.1.1", "vite": "^6.4.1", "vitest": "^4.0.5", @@ -75,5 +77,6 @@ "react-dom": "^18", "sirv-cli": "^3.0.1" }, - "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" + "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e", + "type": "module" } diff --git a/src/app/Support/Support.tsx b/src/app/Support/Support.tsx index d6b1ace9..bdec680c 100644 --- a/src/app/Support/Support.tsx +++ b/src/app/Support/Support.tsx @@ -16,7 +16,6 @@ export interface ISupportProps { sampleProp?: string; } -// eslint-disable-next-line prefer-const let Support: React.FunctionComponent = () => ( diff --git a/src/app/routes.tsx b/src/app/routes.tsx index 09508174..0e39c349 100644 --- a/src/app/routes.tsx +++ b/src/app/routes.tsx @@ -8,9 +8,7 @@ import { NotFound } from '@app/NotFound/NotFound'; export interface IAppRoute { label?: string; // Excluding the label will exclude the route from the nav sidebar in AppLayout - /* eslint-disable @typescript-eslint/no-explicit-any */ element: React.ReactElement; - /* eslint-enable @typescript-eslint/no-explicit-any */ exact?: boolean; path: string; title: string; diff --git a/src/index.tsx b/src/index.tsx index 8b189889..8eea7c4b 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -11,7 +11,6 @@ if (process.env.NODE_ENV !== "production") { } ] }; - // eslint-disable-next-line @typescript-eslint/no-require-imports const axe = require("react-axe"); axe(React, ReactDOM, 1000, config); } From 2f71e60d55e04138baf9c8e8bc56b82b1e61ff46 Mon Sep 17 00:00:00 2001 From: nicolethoen Date: Fri, 13 Jun 2025 13:57:51 -0400 Subject: [PATCH 03/22] fix usage of cjs and es modules --- stylePaths.js | 26 +++++++++++------------ webpack.common.js | 54 ++++++++++++++++++++--------------------------- webpack.dev.js | 12 +++++------ webpack.prod.js | 14 ++++++------ 4 files changed, 48 insertions(+), 58 deletions(-) diff --git a/stylePaths.js b/stylePaths.js index 2ca7405a..e7302b22 100644 --- a/stylePaths.js +++ b/stylePaths.js @@ -1,14 +1,12 @@ -const path = require('path'); -module.exports = { - stylePaths: [ - path.resolve(__dirname, 'src'), - path.resolve(__dirname, 'node_modules/patternfly'), - path.resolve(__dirname, 'node_modules/@patternfly/patternfly'), - path.resolve(__dirname, 'node_modules/@patternfly/react-styles/css'), - path.resolve(__dirname, 'node_modules/@patternfly/react-core/dist/styles/base.css'), - path.resolve(__dirname, 'node_modules/@patternfly/react-core/dist/esm/@patternfly/patternfly'), - path.resolve(__dirname, 'node_modules/@patternfly/react-core/node_modules/@patternfly/react-styles/css'), - path.resolve(__dirname, 'node_modules/@patternfly/react-table/node_modules/@patternfly/react-styles/css'), - path.resolve(__dirname, 'node_modules/@patternfly/react-inline-edit-extension/node_modules/@patternfly/react-styles/css') - ] -} +import path from 'path'; +export const stylePaths = [ + path.resolve('./src'), + path.resolve('./node_modules/patternfly'), + path.resolve('./node_modules/@patternfly/patternfly'), + path.resolve('./node_modules/@patternfly/react-styles/css'), + path.resolve('./node_modules/@patternfly/react-core/dist/styles/base.css'), + path.resolve('./node_modules/@patternfly/react-core/dist/esm/@patternfly/patternfly'), + path.resolve('./node_modules/@patternfly/react-core/node_modules/@patternfly/react-styles/css'), + path.resolve('./node_modules/@patternfly/react-table/node_modules/@patternfly/react-styles/css'), + path.resolve('./node_modules/@patternfly/react-inline-edit-extension/node_modules/@patternfly/react-styles/css') +]; diff --git a/webpack.common.js b/webpack.common.js index 0a5e73f3..a4701c00 100644 --- a/webpack.common.js +++ b/webpack.common.js @@ -1,13 +1,14 @@ /* eslint-disable @typescript-eslint/no-var-requires */ -const path = require('path'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const CopyPlugin = require('copy-webpack-plugin'); -const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin'); -const Dotenv = require('dotenv-webpack'); +import path from 'path'; +import HtmlWebpackPlugin from 'html-webpack-plugin'; +import CopyPlugin from 'copy-webpack-plugin'; +import TsconfigPathsPlugin from 'tsconfig-paths-webpack-plugin'; +import Dotenv from 'dotenv-webpack'; const BG_IMAGES_DIRNAME = 'bgimages'; const ASSET_PATH = process.env.ASSET_PATH || '/'; -module.exports = (env) => { + +export default (env) => { return { module: { rules: [ @@ -29,11 +30,11 @@ module.exports = (env) => { // only process modules with this loader // if they live under a 'fonts' or 'pficon' directory include: [ - path.resolve(__dirname, 'node_modules/patternfly/dist/fonts'), - path.resolve(__dirname, 'node_modules/@patternfly/react-core/dist/styles/assets/fonts'), - path.resolve(__dirname, 'node_modules/@patternfly/react-core/dist/styles/assets/pficon'), - path.resolve(__dirname, 'node_modules/@patternfly/patternfly/assets/fonts'), - path.resolve(__dirname, 'node_modules/@patternfly/patternfly/assets/pficon'), + path.resolve('./node_modules/patternfly/dist/fonts'), + path.resolve('./node_modules/@patternfly/react-core/dist/styles/assets/fonts'), + path.resolve('./node_modules/@patternfly/react-core/dist/styles/assets/pficon'), + path.resolve('./node_modules/@patternfly/patternfly/assets/fonts'), + path.resolve('./node_modules/@patternfly/patternfly/assets/pficon'), ], }, { @@ -74,23 +75,14 @@ module.exports = (env) => { { test: /\.(jpg|jpeg|png|gif)$/i, include: [ - path.resolve(__dirname, 'src'), - path.resolve(__dirname, 'node_modules/patternfly'), - path.resolve(__dirname, 'node_modules/@patternfly/patternfly/assets/images'), - path.resolve(__dirname, 'node_modules/@patternfly/react-styles/css/assets/images'), - path.resolve(__dirname, 'node_modules/@patternfly/react-core/dist/styles/assets/images'), - path.resolve( - __dirname, - 'node_modules/@patternfly/react-core/node_modules/@patternfly/react-styles/css/assets/images' - ), - path.resolve( - __dirname, - 'node_modules/@patternfly/react-table/node_modules/@patternfly/react-styles/css/assets/images' - ), - path.resolve( - __dirname, - 'node_modules/@patternfly/react-inline-edit-extension/node_modules/@patternfly/react-styles/css/assets/images' - ), + path.resolve('./src'), + path.resolve('./node_modules/patternfly'), + path.resolve('./node_modules/@patternfly/patternfly/assets/images'), + path.resolve('./node_modules/@patternfly/react-styles/css/assets/images'), + path.resolve('./node_modules/@patternfly/react-core/dist/styles/assets/images'), + path.resolve('./node_modules/@patternfly/react-core/node_modules/@patternfly/react-styles/css/assets/images'), + path.resolve('./node_modules/@patternfly/react-table/node_modules/@patternfly/react-styles/css/assets/images'), + path.resolve('./node_modules/@patternfly/react-inline-edit-extension/node_modules/@patternfly/react-styles/css/assets/images') ], type: 'asset/inline', use: [ @@ -107,12 +99,12 @@ module.exports = (env) => { }, output: { filename: '[name].bundle.js', - path: path.resolve(__dirname, 'dist'), + path: path.resolve('./dist'), publicPath: ASSET_PATH, }, plugins: [ new HtmlWebpackPlugin({ - template: path.resolve(__dirname, 'src', 'index.html'), + template: path.resolve('./src', 'index.html'), }), new Dotenv({ systemvars: true, @@ -126,7 +118,7 @@ module.exports = (env) => { extensions: ['.js', '.ts', '.tsx', '.jsx'], plugins: [ new TsconfigPathsPlugin({ - configFile: path.resolve(__dirname, './tsconfig.json'), + configFile: path.resolve('./tsconfig.json'), }), ], symlinks: false, diff --git a/webpack.dev.js b/webpack.dev.js index f959390b..3cf7e4c5 100644 --- a/webpack.dev.js +++ b/webpack.dev.js @@ -1,13 +1,13 @@ /* eslint-disable @typescript-eslint/no-var-requires */ -const path = require('path'); -const { merge } = require('webpack-merge'); -const common = require('./webpack.common.js'); -const { stylePaths } = require('./stylePaths'); +import path from 'path'; +import { merge } from 'webpack-merge'; +import common from './webpack.common.js'; +import { stylePaths } from './stylePaths.js'; const HOST = process.env.HOST || 'localhost'; const PORT = process.env.PORT || '9000'; -module.exports = merge(common('development'), { +export default merge(common('development'), { mode: 'development', devtool: 'eval-source-map', devServer: { @@ -16,7 +16,7 @@ module.exports = merge(common('development'), { historyApiFallback: true, open: true, static: { - directory: path.resolve(__dirname, 'dist'), + directory: path.resolve('./dist'), }, client: { overlay: true, diff --git a/webpack.prod.js b/webpack.prod.js index eb6f453d..9f0a9467 100644 --- a/webpack.prod.js +++ b/webpack.prod.js @@ -1,13 +1,13 @@ /* eslint-disable @typescript-eslint/no-var-requires */ -const { merge } = require('webpack-merge'); -const common = require('./webpack.common.js'); -const { stylePaths } = require('./stylePaths'); -const MiniCssExtractPlugin = require('mini-css-extract-plugin'); -const CssMinimizerPlugin = require('css-minimizer-webpack-plugin'); -const TerserJSPlugin = require('terser-webpack-plugin'); +import { merge } from 'webpack-merge'; +import common from './webpack.common.js'; +import { stylePaths } from './stylePaths.js'; +import MiniCssExtractPlugin from 'mini-css-extract-plugin'; +import CssMinimizerPlugin from 'css-minimizer-webpack-plugin'; +import TerserJSPlugin from 'terser-webpack-plugin'; -module.exports = merge(common('production'), { +export default merge(common('production'), { mode: 'production', devtool: 'source-map', optimization: { From 263e638d2baeac13f49ba7824bc65ee35ee0cab7 Mon Sep 17 00:00:00 2001 From: nicolethoen Date: Fri, 13 Jun 2025 14:00:37 -0400 Subject: [PATCH 04/22] update readme --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 53ffb064..8c13f638 100644 --- a/README.md +++ b/README.md @@ -101,8 +101,7 @@ This project includes an [`ai-documentation`](./ai-documentation/README.md) dire - Reference troubleshooting tips and specialized rules (charts, chatbot, etc.) **How to use:** -- If you are using an AI-enabled IDE, the AI agent will automatically leverage the [AI Documentation & Rules](./ai-documentation/README.md) to assist you as you develop. -- Human contributors can also consult these files directly for detailed standards and examples, but the primary audience is AI coding assistants. +If you are using an AI-enabled IDE, the AI agent will automatically leverage the [AI Documentation & Rules](./ai-documentation/README.md) to assist you as you develop. By following these rulesβ€”either directly or via your AI assistantβ€”you'll ensure your app is maintainable, accessible, and consistent with PatternFly best practices. From 54ccfa240a3e96a71789108b383484555d82cf5e Mon Sep 17 00:00:00 2001 From: nicolethoen Date: Mon, 16 Jun 2025 09:10:49 -0400 Subject: [PATCH 05/22] update meta data in cursor rule --- .cursor/rules/patternfly-vibe-coding.mdc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.cursor/rules/patternfly-vibe-coding.mdc b/.cursor/rules/patternfly-vibe-coding.mdc index b9794c69..52e0b078 100644 --- a/.cursor/rules/patternfly-vibe-coding.mdc +++ b/.cursor/rules/patternfly-vibe-coding.mdc @@ -1,7 +1,7 @@ --- -description: -globs: -alwaysApply: false +description: Enforces PatternFly Vibe coding standards and documentation best practices for all PatternFly React code. +globs: "**/*.{js,jsx,ts,tsx,css,scss}" +alwaysApply: true --- # PatternFly Vibe Coding Rule From 9b47a92929fabe8eec817bbe84e224fda7f1fdc2 Mon Sep 17 00:00:00 2001 From: nicolethoen Date: Mon, 23 Jun 2025 08:47:10 -0400 Subject: [PATCH 06/22] update guidance ahead of workshop --- ai-documentation/README.md | 2 +- ai-documentation/chatbot/README.md | 11 +- .../components/data-display/README.md | 158 ++---- .../components/data-display/table.md | 91 +++- ai-documentation/components/layout/README.md | 450 +++--------------- .../guidelines/component-architecture.md | 188 ++------ .../guidelines/deployment-guide.md | 127 +++++ ai-documentation/resources/external-links.md | 4 +- ai-documentation/resources/local-files.md | 217 --------- .../troubleshooting/common-issues.md | 15 +- 10 files changed, 394 insertions(+), 869 deletions(-) create mode 100644 ai-documentation/guidelines/deployment-guide.md delete mode 100644 ai-documentation/resources/local-files.md diff --git a/ai-documentation/README.md b/ai-documentation/README.md index bf319965..d2afb805 100644 --- a/ai-documentation/README.md +++ b/ai-documentation/README.md @@ -16,6 +16,7 @@ Essential rules and guidelines for AI coders working with PatternFly React appli - [**PatternFly Guidelines**](./guidelines/README.md) - Core development principles - [**Component Rules**](./guidelines/component-architecture.md) - Component structure requirements - [**Styling Rules**](./guidelines/styling-standards.md) - CSS and styling requirements +- [**Deployment Guide**](./guidelines/deployment-guide.md) - How to deploy prototypes ### 🧩 Component Rules - [**Layout Rules**](./components/layout/README.md) - Page structure requirements @@ -31,7 +32,6 @@ Essential rules and guidelines for AI coders working with PatternFly React appli ### πŸ“– Resources - [**External Links**](./resources/external-links.md) - Official documentation links -- [**Local Files**](./resources/local-files.md) - Project-specific resources ## Usage Rules for AI Coders diff --git a/ai-documentation/chatbot/README.md b/ai-documentation/chatbot/README.md index 815a0b60..3f2ca7bf 100644 --- a/ai-documentation/chatbot/README.md +++ b/ai-documentation/chatbot/README.md @@ -4,8 +4,8 @@ Essential rules for PatternFly Chatbot implementation and integration patterns. ## Related Files -- [**Local Resources**](../resources/local-files.md) - Reference to patternfly-chatbot.txt -- [**Component Architecture**](../guidelines/component-architecture.md) - Component structure guidelines +- [**Component Architecture**](../guidelines/component-architecture.md) - Chatbot component structure rules +- [**Styling Standards**](../guidelines/styling-standards.md) - CSS and styling best practices ## Installation Rules @@ -188,4 +188,9 @@ const createMessage = (content, role) => ({ - [PatternFly Chatbot on PatternFly.org](https://www.patternfly.org/patternfly-ai/chatbot/overview) - [PatternFly Chatbot GitHub Repository](https://github.com/patternfly/chatbot) -> For the most up-to-date documentation and code examples, consult both PatternFly.org and the official GitHub repository. When using AI tools, leverage context7 to fetch the latest docs from these sources. \ No newline at end of file +> For the most up-to-date documentation and code examples, consult both PatternFly.org and the official GitHub repository. When using AI tools, leverage context7 to fetch the latest docs from these sources. + +### Further Reading +- **[PatternFly Chatbot Docs](https://www.patternfly.org/chatbot/overview/)** +- **[Component API](https://github.com/patternfly/patternfly-react/tree/main/packages/react-core/src/components/ChipGroup)** - ChipGroup component API for tags +- **[Accessibility Guide](https://www.patternfly.org/get-started/accessibility-guide)** \ No newline at end of file diff --git a/ai-documentation/components/data-display/README.md b/ai-documentation/components/data-display/README.md index 419eb9ff..54c71d34 100644 --- a/ai-documentation/components/data-display/README.md +++ b/ai-documentation/components/data-display/README.md @@ -94,21 +94,14 @@ if (!data?.length) return - {Row} - - // For better UX, use pagination ``` @@ -155,127 +148,68 @@ import { Pagination } from '@patternfly/react-core'; - **[Toolbar Component](https://www.patternfly.org/components/toolbar)** - Toolbar with filters - **[Dropdown Component](https://www.patternfly.org/components/menus/dropdown)** - Dropdown positioning -## Data View Component Rules +## Using the Data View Component -PatternFly Data View provides a standardized way to present and interact with tabular or list-based data, following PatternFly design and accessibility guidelines. +The `@patternfly/react-data-view` component is a powerful, opinionated tool for building consistent data-driven tables and lists. It composes standard PatternFly components like `Table`, `Toolbar`, and `Pagination` into a single, streamlined API. -### Installation -```bash -npm install @patternfly/react-data-view -``` +### When to Use Data View +- βœ… **Use for standard list pages**: When you need to display a list of resources with common functionality like filtering, sorting, selection, and actions. +- βœ… **To enforce consistency**: Use it across your application to ensure all data tables look and behave the same. +- ❌ **Not for highly custom layouts**: If your layout deviates significantly from a standard table or list view, composing individual PatternFly components may be a better approach. -### Required CSS Import -```jsx -import '@patternfly/react-data-view/dist/css/main.css'; -``` +## Data view documentation +- **[Data view](https://www.patternfly.org/extensions/data-view/overview)** - Official data view documentation +- **[Table Component](https://www.patternfly.org/extensions/data-view/table)** - Data view's table documentation and examples +- **[Toolbar Component](https://www.patternfly.org/extensions/data-view/toolbar/)** - Data view's toolbar documentation and examples -### Import Pattern -- βœ… **Use dynamic imports** from `/dist/dynamic/` paths -- ❌ **Don't use standard imports** - -```jsx -// βœ… Correct -import DataView from '@patternfly/react-data-view/dist/dynamic/DataView'; -``` +### Required Setup -### Basic Usage Example -```jsx -import DataView from '@patternfly/react-data-view/dist/dynamic/DataView'; +1. **Installation**: + ```bash + npm install @patternfly/react-data-view + ``` - -``` +2. **CSS Import**: + ```jsx + // Import required CSS in your application's entrypoint + import '@patternfly/react-data-view/dist/css/main.css'; + ``` -### Component API -- Use PatternFly naming conventions for props (e.g., `variant`, `onClick`) -- Extend PatternFly types when possible -- Document all props and usage examples -- Avoid unnecessary external dependencies +3. **Component Import**: + ```jsx + // Use dynamic imports for better performance + import DataView from '@patternfly/react-data-view/dist/dynamic/DataView'; + ``` -#### Example API Extension -```ts -// when possible, extend available PatternFly types -export interface DataViewProps extends TableProps { - customLabel?: string; -} +### Best Practices -export const DataView: React.FunctionComponent = ({ customLabel, ...props }) => ( /* ... */ ); -``` +- **Provide stable data and columns**: For performance, memoize the `data` and `columns` props passed to `DataView`, especially if they are derived from other state. + ```jsx + const columns = useMemo(() => [...], []); + const data = useMemo(() => [...], [sourceData]); -### Directory Structure -``` -src -|- DataView - |- index.ts - |- DataView.tsx -``` + + ``` -### OUIA ID Convention -For testing, use the component name as the default OUIA ID, and for subcomponents, use `ComponentName-element-specification`. -```ts -ouiaId="DataView-actions-button" -``` +- **Leverage the built-in toolbar**: `DataView` includes a `Toolbar` with filtering capabilities. Provide filter configurations instead of building your own toolbar from scratch. -### Testing & Linting -- Add unit tests to `DataView.test.tsx` -- Add Cypress component/E2E tests to `cypress/component/DataView.cy.tsx` and `cypress/e2e/DataView.spec.cy.ts` -- Run tests and linting: -```bash -npm run test -npm run lint -``` +- **Use the provided action resolver**: For row actions, use the `onRowAction` prop and provide an action resolver function. This ensures actions are handled consistently. -### Accessibility -- Provide proper ARIA labels and roles -- Ensure keyboard navigation and screen reader support -- Run accessibility tests: -```bash -npm run build:docs -npm run serve:docs -npm run test:a11y -npm run serve:a11y -``` - -### Documentation Example (Markdown) -```md ---- -section: extensions -subsection: Data view -id: DataView -propComponents: ['DataView'] -sourceLink: https://github.com/patternfly/react-data-view/blob/main/packages/module/patternfly-docs/content/extensions/data-view/examples/DataView/DataView.md ---- - -import DataView from "@patternfly/react-data-view/dist/dynamic/DataView"; +### Real-World Example: OpenShift Console -## Component usage +A production example of PatternFly Data View usage can be found in the OpenShift Console codebase. It's an excellent resource for seeing how `DataView` is integrated with live Kubernetes data and Redux for state management. - +- **[DataViewPodList.tsx on GitHub](https://github.com/openshift/console/blob/79d29bca8440a5ad82b5257bb0f37bc24384eb0e/frontend/public/components/data-view-poc/DataViewPodList.tsx)** -### DataView component example label +Key integration patterns from this example include: +- Integrating Data View with live Kubernetes data and application state. +- Passing dynamic data and columns to the component. +- Handling loading, error, and empty states in a production context. +- Using PatternFly composable components for custom row rendering and actions. +- Connecting Data View to Redux or other state management solutions. -```js file="./DataViewExample.tsx"``` -``` +> For advanced usage, review the linked file to see how Data View is composed with other PatternFly and application-specific components. -### References +> **Note:** Always consult the latest PatternFly Data View documentation and demo source code for the most up-to-date usage patterns and best practices. - [PatternFly React Data View GitHub](https://github.com/patternfly/react-data-view) -- [PatternFly Data View NPM](https://www.npmjs.com/package/@patternfly/react-data-view) - -> **Note:** Always consult the latest PatternFly Data View documentation and demo source code for up-to-date usage patterns and best practices. - -### Real-World Example: OpenShift Console - -A production example of PatternFly Data View usage can be found in the OpenShift Console codebase: -- [DataViewPodList.tsx on GitHub](https://github.com/openshift/console/blob/79d29bca8440a5ad82b5257bb0f37bc24384eb0e/frontend/public/components/data-view-poc/DataViewPodList.tsx) - -**Key integration patterns and best practices from this example:** -- Integrates Data View with live Kubernetes data (pods) and application state. -- Demonstrates how to pass dynamic data and columns to the Data View component. -- Shows how to handle loading, error, and empty states in a real product context. -- Illustrates the use of PatternFly composable components for custom row rendering and actions. -- Provides a template for connecting Data View to Redux or other state management solutions. - -> For advanced usage, review the linked file to see how Data View is composed with other PatternFly and application-specific components. +- [PatternFly Data View NPM](https://www.npmjs.com/package/@patternfly/react-data-view) \ No newline at end of file diff --git a/ai-documentation/components/data-display/table.md b/ai-documentation/components/data-display/table.md index 691ec48e..4b04ab5d 100644 --- a/ai-documentation/components/data-display/table.md +++ b/ai-documentation/components/data-display/table.md @@ -62,22 +62,94 @@ const isPartiallySelected = selectedItems.size > 0 && selectedItems.size < data. /> ``` +## Column and Header Management + +PatternFly provides powerful props for controlling column widths and making headers and columns "sticky" for better usability with wide or long tables. + +### Column Width Control +Use the `width` modifier on the `` component to specify column widths as a percentage of the table's total width. + +- βœ… **Use `width(percentage)`**: Best for flexible, responsive layouts. +- ❌ **Avoid fixed pixel widths**: Can break responsiveness. + +```jsx +import { Table, Thead, Tbody, Tr, Th, Td } from '@patternfly/react-table'; +import { width } from '@patternfly/react-table'; + + + + + + + + + + + {/* ... */} + +
User IDNameEmail
+``` + +### Controlling Text and Column Width +In addition to setting explicit widths, you can control how text behaves within cells using the `modifier` prop on `` and `` components. This influences column dimensions and text overflow. + +Key text modifiers include: +- **`truncate`**: Truncates text with an ellipsis. +- **`wrap`**: Forces text to wrap, which is useful for long header text. +- **`nowrap`**: Prevents text from wrapping. +- **`breakWord`**: Forces long, unbreakable strings (like URLs) to break. +- **`fitContent`**: Shrinks the column to fit its content. + +For detailed usage and code examples, see the official PatternFly documentation and the example in the PatternFly React repository. + +- [**Controlling Text in Tables (PatternFly Docs)**](https://www.patternfly.org/components/table/controlling-text) +- [**TableControllingText.tsx Example on GitHub**](https://github.com/patternfly/patternfly-react/blob/main/packages/react-table/src/components/Table/examples/TableControllingText.tsx) + +### Sticky Headers and Columns +For tables that scroll horizontally or vertically, you can make the header, specific columns, or the action column "sticky." + +- **`isStickyHeader`**: Add this prop to the `` component to make the header row stick to the top during vertical scrolling. +- **`isSticky`**: Add this prop to a `
` or `` component to make an entire column sticky during horizontal scrolling. This is commonly used for the first column (e.g., selection checkbox or ID), or last column (e.g. columns containing actions menus). + +```jsx +// βœ… Sticky header, first column, and action column +import { Table, Thead, Tbody, Tr, Th, Td } from '@patternfly/react-table'; + + + + + + + {/* ... more columns */} + + + + + {data.map(item => ( + + + + {/* ... more cells */} + + + ))} + +
IDNameActions
{item.id}{item.name} + +
+``` + ## Performance Rules -- βœ… **Use virtualization for 1000+ rows** - react-window library +- βœ… **Use Skeleton for loading states** - Provide visual feedback +- βœ… **Ensure responsive behavior** - Test on multiple screen sizes - βœ… **Use pagination for large datasets** - Better UX than virtualization - βœ… **Memoize table rows** - React.memo for performance - βœ… **Use useCallback for handlers** - Stable references ```jsx // βœ… Required for large datasets -import { FixedSizeList as List } from 'react-window'; import { Pagination } from '@patternfly/react-core'; -// For 1000+ items, use virtualization - - {Row} - - // For better UX, use pagination ``` @@ -109,11 +181,6 @@ import { Pagination } from '@patternfly/react-core'; document.body }}> ``` -### Performance Issues -- **1000+ rows**: Use virtualization with react-window -- **Large datasets**: Implement pagination -- **Slow rendering**: Memoize components with React.memo - ### Selection Issues - **Use Set not Array**: More efficient for selection state - **Handle indeterminate**: For "select all" checkbox state diff --git a/ai-documentation/components/layout/README.md b/ai-documentation/components/layout/README.md index 9d5f9a0c..6d437530 100644 --- a/ai-documentation/components/layout/README.md +++ b/ai-documentation/components/layout/README.md @@ -2,6 +2,8 @@ This section covers PatternFly layout components and page structure patterns for building consistent application layouts. +> **Note:** For up-to-date code examples, this documentation now links directly to the official PatternFly documentation and the PatternFly React GitHub repository. Inline code has been replaced with links to ensure you always see the latest patterns and best practices. **All layout examples should use PatternFly React layout components (e.g., Grid, GridItem, Flex, FlexItem) instead of divs with utility classes.** + ## Introduction PatternFly layout components provide the foundation for structuring application pages and organizing content. These components ensure consistent spacing, responsive behavior, and proper semantic structure across your application. @@ -24,356 +26,106 @@ PatternFly layout components provide the foundation for structuring application ### PageSection Component -The [`PageSection`](https://www.patternfly.org/components/page/page-section) component is the primary building block for page content structure. - -#### Basic Usage -```jsx -import { PageSection, Content } from '@patternfly/react-core'; - -const BasicPage = () => ( - - {/* Page Title Section */} - - Page Title - - - {/* Main Content Section */} - - Main page content goes here - - -); -``` +The [`PageSection`](https://www.patternfly.org/components/page/page-section) component is the primary building block for page content structure. It is highly versatile and supports multiple variants, padding options, and responsive configurations. -#### PageSection Variants -```jsx -// Light background for headers/titles - - Application Title - - -// Default background for main content - - - - -// Secondary background for supporting content - - - - -// Dark background for special sections - - - -``` +For detailed examples of all its features, refer to the official documentation. -#### Padding Configuration -```jsx -// Standard padding - - Standard padded content - - -// No padding - - Content with no padding - - -// Responsive padding - - Responsive padding content - -``` - -#### Body Wrapper -```jsx -// Adds pf-vX-c-page__main-body wrapper for standard content padding - -
- Content with body wrapper styling -
-
-``` +- [**PageSection Official Docs**](https://www.patternfly.org/components/page/page-section) +- [**PageSection Code Examples on GitHub**](https://github.com/patternfly/patternfly-react/tree/main/packages/react-core/src/components/PageSection/examples) ## Common Layout Patterns +This section describes common page layout patterns and links to their official documentation and examples. + ### Standard Page Layout -```jsx -import { - PageSection, - Content, - Toolbar, - ToolbarContent -} from '@patternfly/react-core'; - -const StandardPageLayout = () => ( - - {/* 1. Page Title Section */} - - User Management - Manage user accounts and permissions - - - {/* 2. Toolbar Section */} - - - - {/* Filters, search, actions */} - - - - - {/* 3. Main Content Section */} - - - - -); -``` +A standard page layout typically consists of a page title, an optional toolbar for actions, and a main content area. + +- [**Page Layout Documentation**](https://www.patternfly.org/layouts/page) +- [**Page Component Examples on GitHub**](https://github.com/patternfly/patternfly-react/tree/main/packages/react-core/src/components/Page/examples) ### Dashboard Layout -```jsx -const DashboardLayout = () => ( - - {/* Dashboard Header */} - - Dashboard - System overview and key metrics - - - {/* Metrics Cards */} - -
-
- -
-
- -
-
- -
-
- -
-
-
- - {/* Charts and Detailed Content */} - -
-
- -
-
- -
-
-
-
-); -``` +A dashboard is used to display a high-level overview of system status and key metrics using a grid of cards and charts. + +- [**Dashboard Layout Documentation**](https://www.patternfly.org/layouts/dashboard) +- [**Grid Layout Examples on GitHub**](https://github.com/patternfly/patternfly-react/tree/main/packages/react-core/src/layouts/Grid/examples) ### Form Layout -```jsx -const FormPageLayout = () => ( - - {/* Form Header */} - - Create User - Add a new user to the system - - - {/* Form Content */} - -
-
- - User Information - - - - -
-
- - Help - - - - -
-
-
-
-); -``` +Forms should be presented clearly within a card or a dedicated page section, often in a two-column layout on larger screens to separate the form from supplementary help text. + +- [**Form Component Documentation**](https://www.patternfly.org/components/form) +- [**Form Code Examples on GitHub**](https://github.com/patternfly/patternfly-react/tree/main/packages/react-core/src/components/Form/examples) ## Grid System Integration -### Basic Grid Layout -```jsx -import { PageSection } from '@patternfly/react-core'; - -const GridLayout = () => ( - -
-
- Left Content -
-
- Right Content -
-
-
-); -``` +The PatternFly `Grid` and `GridItem` components are used to create flexible, responsive layouts. For detailed examples of basic and responsive grid patterns, refer to the official documentation. -### Responsive Grid Patterns -```jsx -// Three-column responsive layout -
-
- Column 1 -
-
- Column 2 -
-
- Column 3 -
-
-``` +- [**Grid Layout Documentation**](https://www.patternfly.org/layouts/grid) +- [**Grid Code Examples on GitHub**](https://github.com/patternfly/patternfly-react/tree/main/packages/react-core/src/layouts/Grid/examples) ## Responsive Design Considerations -### Breakpoint-Aware Layouts -```jsx -const ResponsiveLayout = () => ( - - {/* Mobile: Stack vertically, Desktop: Side by side */} -
-
- -
-
- -
-
-
-); -``` +Use the `Flex` and `FlexItem` components along with breakpoint modifiers to create layouts that adapt to different screen sizes. A mobile-first approach is recommended, where the default layout is for mobile and is enhanced for larger screens. -### Mobile-First Approach -```jsx -// Start with mobile layout, enhance for larger screens - -
-
- -
-
- -
-
-
-``` +- [**Flex Layout Documentation**](https://www.patternfly.org/layouts/flex) +- [**Flex Code Examples on GitHub**](https://github.com/patternfly/patternfly-react/tree/main/packages/react-core/src/layouts/Flex/examples) +- [**Responsive Utilities Documentation**](https://www.patternfly.org/utilities/responsive) ## Accessibility Considerations ### Semantic Structure -```jsx -// Use proper heading hierarchy - - Main Page Title {/* h1 for page title */} - - - - Section Title {/* h2 for major sections */} -
- Subsection {/* h3 for subsections */} -
-
-``` +Always use the correct heading hierarchy (`

`, `

`, `

`, etc.) to structure your page content logically. Use the `component` prop on PatternFly components to render the correct HTML element. + +### Skip to Content and Back to Top +For accessible and user-friendly navigation on long pages, PatternFly provides the `SkipToContent` and `BackToTop` components, which are integrated directly into the `Page` component. + +- **`SkipToContent`**: Allows keyboard users to bypass navigation and jump directly to the main content area. +- **`BackToTop`**: Allows all users to quickly return to the top of the page after scrolling. + +**Best Practices**: +- βœ… Use `SkipToContent` on every page with navigation, linking its `href` to the main content `id`. +- βœ… Use `BackToTop` on any page that requires significant scrolling, linking `scrollableSelector` to the main content `id`. +- βœ… Assign the `mainContainerId` on the `Page` component to ensure both helpers work correctly. -### Skip Links and Navigation ```jsx -// Add skip links for keyboard navigation - - - Skip to main content - - - - - - +// βœ… Correct: Use SkipToContent and BackToTop together +import { Page, PageSection, SkipToContent, BackToTop } from '@patternfly/react-core'; + +const AppLayout = () => { + const mainContentId = "main-content"; + + return ( + Skip to content} + backToTop={} + > + + {/* ... long content that requires scrolling ... */} + + + ); +}; ``` +**Reference Documentation**: +- [SkipToContent Component Docs](https://www.patternfly.org/components/skip-to-content) +- [BackToTop Component Docs](https://www.patternfly.org/components/back-to-top) + ### ARIA Landmarks -```jsx -// Use proper ARIA landmarks - - - - - - - -``` +Use ARIA landmarks to define regions of a page like `main`, `aside`, `nav`, etc. This can be done by passing the `component` prop to `PageSection`. + +- [**ARIA Landmarks in PatternFly**](https://www.patternfly.org/accessibility/aria-landmarks) ## Performance Optimization -### Lazy Loading Sections -```jsx -import { lazy, Suspense } from 'react'; -import { Spinner } from '@patternfly/react-core'; - -const LazySection = lazy(() => import('./HeavySection')); - -const OptimizedLayout = () => ( - - - Page Title - - - - }> - - - - -); -``` +### Lazy Loading and Conditional Rendering +For performance-critical applications, use standard React patterns like lazy loading and conditional rendering to defer loading of non-critical components or sections of the page. -### Conditional Rendering -```jsx -const ConditionalLayout = ({ showSidebar, isLoading }) => ( - -
-
- {isLoading ? : } -
- {showSidebar && ( -
- -
- )} -
-
-); -``` +- [**React Docs: Code-Splitting and Lazy Loading**](https://react.dev/reference/react/lazy) +- [**React Docs: Conditional Rendering**](https://react.dev/learn/conditional-rendering) ## Best Practices -### Layout Do's - βœ… Use PageSection for all major page areas - βœ… Follow consistent page structure patterns - βœ… Implement responsive design from mobile-first @@ -382,7 +134,6 @@ const ConditionalLayout = ({ showSidebar, isLoading }) => ( - βœ… Test layouts across different screen sizes - βœ… Use hasBodyWrapper for standard content padding -### Layout Don'ts - ❌ Skip PageSection for page structure - ❌ Mix layout systems inconsistently - ❌ Ignore responsive design requirements @@ -393,69 +144,16 @@ const ConditionalLayout = ({ showSidebar, isLoading }) => ( ## Common Layout Issues -### Troubleshooting -1. **Spacing Issues**: Use PatternFly spacing utilities instead of custom margins -2. **Responsive Problems**: Test on actual devices, not just browser resize -3. **Overflow Issues**: Check container widths and use proper flex/grid properties -4. **Accessibility Violations**: Validate semantic structure and ARIA labels -5. **Performance Problems**: Implement lazy loading for heavy sections - -For detailed troubleshooting, see [Common Issues](../../troubleshooting/common-issues.md#layout-issues). +For troubleshooting, see [Common Issues](../../troubleshooting/common-issues.md#layout-issues). ## Valid PatternFly Page Layout (v6+) -PatternFly v6+ provides a flexible, composable layout system for full-page apps. Here are the key best practices for structuring your app layout: +A valid PatternFly v6+ application layout is built by composing the `Page`, `Masthead`, `PageSidebar`, and `PageSection` components. The `Page` component acts as the root, and other major elements like the masthead and sidebar are passed in as props. -### Key Lessons -- **Use the `Page` component as the root**. Pass `masthead`, `sidebar`, and `breadcrumb` as props (not children). -- **Masthead**: Use `Masthead`, `MastheadMain`, `MastheadBrand`, `MastheadToggle`, and `MastheadContent` for the top bar. -- **Sidebar navigation**: Use `PageSidebar` and `PageSidebarBody` with `Nav` and `NavList` for navigation. -- **Page sections**: Use `PageSection` for all main content areas. Use `Title` for headings and `Content` for paragraphs. -- **No `PageHeader`**: This is not a valid PatternFly v6+ component. Use `PageSection` + `Title` for page headers. -- **Breadcrumbs**: Pass as the `breadcrumb` prop to `Page`. -- **No inline styles for layout**: Use PatternFly layout and spacing utilities. +For a complete, working example of a full application layout, refer to the official PatternFly documentation. -### Example: Valid Layout -```jsx -import { - Page, Masthead, MastheadMain, MastheadBrand, MastheadToggle, MastheadContent, - PageSidebar, PageSidebarBody, Nav, NavList, NavItem, PageSection, Title, Content -} from '@patternfly/react-core'; - -const masthead = ( - - - {/* ... */} - {/* ... */} - - {/* ... */} - -); - -const sidebar = ( - - - - - -); - -export default function AppLayout() { - return ( - - - Dashboard - This is a PatternFly + Vite + TypeScript + React 19 app. - - - ); -} -``` +- [**Page Component Documentation & Examples**](https://www.patternfly.org/components/page) +- [**Page Component Code Examples on GitHub**](https://github.com/patternfly/patternfly-react/tree/main/packages/react-core/src/components/Page/examples) ### Layout Summary Table @@ -468,4 +166,4 @@ export default function AppLayout() { | Breadcrumbs | `Breadcrumb` | Pass as `breadcrumb` prop to `Page` | | Page Header | *No `PageHeader`* | Use `PageSection` + `Title` instead | -> **Note:** `PageHeader` is not a PatternFly component in v6+. Use `PageSection`, `Title`, and layout components instead. \ No newline at end of file +> **Note:** `PageHeader` is not a PatternFly component in v6+. Use `PageSection`, `Title`, and layout components instead. diff --git a/ai-documentation/guidelines/component-architecture.md b/ai-documentation/guidelines/component-architecture.md index 77ba4a3a..2ffe0579 100644 --- a/ai-documentation/guidelines/component-architecture.md +++ b/ai-documentation/guidelines/component-architecture.md @@ -1,30 +1,25 @@ # Component Architecture -Essential rules for structuring PatternFly components and organizing component hierarchies. +This document outlines the essential rules for structuring PatternFly components, managing state, and ensuring performance. It is a high-level guide that links to more detailed documentation for specific patterns. ## Related Files -- [**PatternFly Guidelines**](./README.md) - Core development principles -- [**Styling Rules**](./styling-standards.md) - CSS and styling approaches -- [**Layout Rules**](../components/layout/README.md) - Page structure patterns -- [**Table Component Rules**](../components/data-display/table.md) - Table usage and best practices -- [**Data View Component Rules**](../components/data-display/README.md) - Data view usage and best practices +- [**Layout Rules**](../components/layout/README.md) - For page structure and layout patterns. +- [**Table Component Rules**](../components/data-display/table.md) - For table usage, selection, and actions. +- [**Data View Component Rules**](../components/data-display/README.md) - For data view usage. +- [**Styling Rules**](./styling-standards.md) - For CSS and styling approaches. -## Component Composition Rules +## 1. Component Composition ### PatternFly-First Approach -- βœ… **Always start with PatternFly components** - Before creating custom solutions -- βœ… **Compose PatternFly components** - Build complex UIs by combining them -- ❌ **Don't create custom components** - When PatternFly components exist +Always start with standard PatternFly components and compose them to build complex UIs. Avoid creating custom components when a PatternFly solution already exists. ```jsx -// βœ… Correct - Compose PatternFly components +// βœ… Correct: Compose existing PatternFly components import { Card, CardTitle, CardBody, Button, Content } from '@patternfly/react-core'; const UserCard = ({ user, onEdit }) => ( - - {user.name} - + {user.name} {user.email} @@ -33,146 +28,65 @@ const UserCard = ({ user, onEdit }) => ( ); ``` -### Page Structure Rules -```jsx -// βœ… Standard page pattern - - - Page Title - - - {/* filters */} - - - -``` - ### Component Hierarchy -1. **Page Components** - Top-level page structure -2. **Section Components** - Major page sections -3. **Feature Components** - Specific functionality -4. **PatternFly Components** - Base components +Structure your application in a clear hierarchy: +1. **Page Components**: Top-level page structure. +2. **Section Components**: Major page sections, often corresponding to a `PageSection`. +3. **Feature Components**: Components that encapsulate a specific piece of functionality. +4. **PatternFly Components**: The base building blocks from `@patternfly/react-core`. -### PatternFly Data Display Best Practices -> For all key-value or labeled data, use PatternFly's DescriptionList components for clarity and accessibility: -- **No `` for labels:** Use PatternFly's `DescriptionList` for key-value pairs, with `DescriptionListTerm` and `DescriptionListDescription`. -- **No direct `` for labeled data:** Use `DescriptionList` for any labeled data instead of lists with bold/strong labels. +### Data Display +For displaying labeled data or key-value pairs, always use PatternFly's `DescriptionList` components for clarity and accessibility. +- **See**: [DescriptionList Documentation](https://www.patternfly.org/components/description-list) -## State Management Rules +## 2. State Management -### Local State -- βœ… **Use useState for component-specific state** - Form inputs, toggles, local UI state -- βœ… **Use useCallback and useMemo** - For performance optimization -- ❌ **Don't lift state unnecessarily** - Keep state as local as possible +### Local vs. Shared State +- **Local State (`useState`)**: Use for component-specific UI state like form inputs or toggles. +- **Shared State (`useContext`)**: Use for state that needs to be accessed by multiple components in a tree. +- **Complex State (`useReducer`)**: Use for state with complex update logic. -### Shared State -- βœ… **Use Context for shared state** - When multiple components need same data -- βœ… **Use useReducer for complex state** - When state logic is complex -- ❌ **Don't use global state for everything** - Only when truly needed +Keep state as local as possible and only lift it when necessary. -## Common Pattern Rules +## 3. Common Patterns -### Table with Selection -```jsx -// βœ… Required pattern for selectable tables -import { Table, Thead, Tbody, Tr, Th, Td, Checkbox } from '@patternfly/react-table'; +For detailed guidance and code examples on common UI patterns, refer to the specific documentation: -// Use Set for selection state management -const [selectedItems, setSelectedItems] = useState(new Set()); +- **Selectable Tables**: See [Table Component Rules](../components/data-display/table.md). +- **Dropdown Actions**: See the [Dropdown Documentation](https://www.patternfly.org/components/menus/dropdown). +- **Toolbar with Filters**: See the [Toolbar Documentation](https://www.patternfly.org/components/toolbar). -// Handle indeterminate state for "select all" -const isAllSelected = selectedItems.size === data.length && data.length > 0; -const isPartiallySelected = selectedItems.size > 0 && selectedItems.size < data.length; +## 4. Error Handling and Data States - -``` +Always account for different data states in your components: +- βœ… **Loading State**: Show a `Spinner` or `Skeleton` while data is fetching. +- βœ… **Error State**: Display a clear error message, often using `EmptyState`. +- βœ… **Empty State**: Provide a message when there is no data to display. -### Dropdown Actions ```jsx -// βœ… Required pattern for action dropdowns -import { Dropdown, DropdownList, DropdownItem, MenuToggle } from '@patternfly/react-core'; -import { EllipsisVIcon } from '@patternfly/react-icons'; - -// Always use popperProps to prevent clipping - document.body }} - toggle={(toggleRef) => ( - - - - )} -> -``` +// βœ… Required: Handle all data states +import { EmptyState, Spinner } from '@patternfly/react-core'; -### Toolbar with Filters -```jsx -// βœ… Required pattern for data filtering -import { Toolbar, ToolbarContent, ToolbarFilter, ToolbarToggleGroup } from '@patternfly/react-core'; - - - - } breakpoint="xl"> - - {/* Filter components */} - - - - -``` +if (isLoading) return ; +if (error) return ; +if (!data?.length) return ; -## Error Handling Rules +return ; +``` -### Required Error States -- βœ… **Always implement error boundaries** - Catch component errors -- βœ… **Handle loading states** - Show spinners or skeletons -- βœ… **Handle empty states** - Show appropriate empty state messages -- βœ… **Handle error states** - Show error messages with retry options +## 5. Performance -```jsx -// βœ… Required error boundary pattern -import { EmptyState, EmptyStateHeader, EmptyStateIcon } from '@patternfly/react-core'; +- **Memoization**: Use `React.memo`, `useCallback`, and `useMemo` to prevent unnecessary re-renders, especially in lists. +- **Virtualization**: For long lists or tables (1000+ rows), use a virtualization library to ensure performance. +- **Lazy Loading**: Use `React.lazy` and `Suspense` to code-split parts of your application and load them on demand. -if (isLoading) return ; -if (error) return ; -if (!data?.length) return ; -``` +## 6. Testing -## Performance Rules - -### Required Optimizations -- βœ… **Use React.memo for list items** - Prevent unnecessary re-renders -- βœ… **Use useCallback for event handlers** - Stable references -- βœ… **Use useMemo for expensive calculations** - Cache computed values -- βœ… **Implement virtualization for large lists** - Use react-window for 1000+ items - -### Testing Rules -- βœ… **Test component interactions** - User events and state changes -- βœ… **Test accessibility** - ARIA labels and keyboard navigation -- βœ… **Test error states** - Loading, error, and empty states -- ❌ **Don't test PatternFly component internals** - Focus on your component logic - -## Essential Do's and Don'ts - -### βœ… Do's -- Compose PatternFly components to build complex UIs -- Use proper component hierarchy and separation of concerns -- Implement error boundaries and loading states -- Use React hooks for state management -- Memoize expensive computations and callbacks -- Write tests for component behavior - -### ❌ Don'ts -- Create custom components when PatternFly components exist -- Mix state management patterns inconsistently -- Ignore error handling and loading states -- Create deeply nested component hierarchies -- Skip performance optimization for large data sets -- Tightly couple components to specific data structures +- **Focus on Behavior**: Test what the user can do (e.g., clicking a button, filling a form), not component implementation details. +- **Accessibility**: Always include tests for ARIA attributes and keyboard navigation. +- **Don't Test PatternFly**: Trust that PatternFly components are already tested. Focus your tests on your application's logic. ## Quick Reference -- **[PatternFly Components](https://www.patternfly.org/components)** - Official component documentation -- **[React Patterns](https://reactpatterns.com/)** - Common React patterns -- **[Testing Library](https://testing-library.com/)** - Component testing best practices \ No newline at end of file +- [**PatternFly Components**](https://www.patternfly.org/components) - Official component documentation +- [**React Patterns**](https://reactpatterns.com/) - Common React patterns and best practices +- [**Testing Library**](https://testing-library.com/) - Component testing best practices diff --git a/ai-documentation/guidelines/deployment-guide.md b/ai-documentation/guidelines/deployment-guide.md new file mode 100644 index 00000000..dc8797c7 --- /dev/null +++ b/ai-documentation/guidelines/deployment-guide.md @@ -0,0 +1,127 @@ +# Quick Deployment Guide for Prototypes + +This guide provides simple, fast methods for building and deploying your React application so you can share a live prototype with others. + +## Introduction + +Once you have a working prototype on your local machine, the next step is to host it on a public URL. The services listed below are excellent for this purpose, offering generous free tiers and simple command-line interfaces (CLIs) that make deployment a breeze. + +## 1. Build Your Application + +Before you can deploy, you need to create a production-ready build of your application. This process compiles your React code into a set of static HTML, CSS, and JavaScript files that can be served by any web server. + +From your project's root directory, run the following command: + +```bash +# Using npm +npm run build + +# Or using yarn +yarn build +``` + +This command will create a new directory named `dist` (or sometimes `build`) in your project. This is the folder you will deploy. + +## 2. Choose a Deployment Service + +Here are four popular options for hosting your static site, ranked from simplest to most involved. For the absolute fastest deployment with no prior setup, Surge is the best choice. + +### Option A: Deploying with Surge + +Surge is famous for its simplicity and speed, making it an excellent choice for instant deployments. You can create an account directly from the command line on your first use. + +1. **Install the Surge CLI**: + ```bash + npm install -g surge + ``` + +2. **Deploy your app**: + From your project's root directory, run the `surge` command and point it to your build folder. + ```bash + surge dist + ``` + The first time you use it, Surge will prompt you to create a free account. It will then ask you to confirm the publish directory and will suggest a random domain name, which you can edit on the fly before deploying. + + Your site will be live moments after you hit Enter. + +### Option B: Deploying with Vercel + +Vercel is a zero-configuration deployment platform that is also incredibly easy to use. + +1. **Install the Vercel CLI**: + ```bash + npm install -g vercel + ``` + +2. **Log in to your Vercel account**: + ```bash + vercel login + ``` + *(This will open a browser window for you to log in or sign up.)* + +3. **Deploy your app**: + From your project's root directory, run the `vercel` command. + ```bash + vercel + ``` + Vercel's CLI will guide you through a few simple questions. In most cases, you can accept the default answers. It will automatically detect that you have a Vite-based React app and deploy the `dist` directory. + + Once finished, it will give you a public URL for your prototype. + +### Option C: Deploying with Netlify + +Netlify is another excellent platform for deploying static sites, with a very similar workflow to Vercel. + +1. **Install the Netlify CLI**: + ```bash + npm install -g netlify-cli + ``` + +2. **Log in to your Netlify account**: + ```bash + netlify login + ``` + +3. **Deploy your app**: + From your project's root directory, run the `netlify deploy` command. + ```bash + netlify deploy --prod + ``` + The CLI will ask you for the "Publish directory". Enter `dist` (or the name of your build output folder). It will then deploy your site and provide you with a live URL. + +### Option D: Deploying with GitHub Pages + +If your project is already a GitHub repository, GitHub Pages is a convenient, free option, though it requires more setup than the other services. + +1. **Install the `gh-pages` package**: + ```bash + npm install --save-dev gh-pages + ``` + +2. **Update your `package.json`**: + Add a `homepage` field and a `deploy` script. The `homepage` URL should follow this format: `https://.github.io/`. + + ```json + { + "name": "my-react-app", + "homepage": "https://my-username.github.io/my-react-app", + "scripts": { + "dev": "vite", + "build": "vite build", + "deploy": "gh-pages -d dist", + "preview": "vite preview" + }, + // ... other package.json contents + } + ``` + +3. **Deploy**: + First, build your application, then run the new `deploy` script. + ```bash + # 1. Build the app + npm run build + + # 2. Deploy to GitHub Pages + npm run deploy + ``` + This will create a new `gh-pages` branch in your repository and publish the contents of your `dist` folder to it. After a minute or two, your prototype will be live at the URL you specified in the `homepage` field. \ No newline at end of file diff --git a/ai-documentation/resources/external-links.md b/ai-documentation/resources/external-links.md index d7dd2870..874262a8 100644 --- a/ai-documentation/resources/external-links.md +++ b/ai-documentation/resources/external-links.md @@ -8,8 +8,8 @@ External resources are essential for staying current with PatternFly updates, fi ## Related Files -- [**Local Resources**](./local-files.md) - Project-specific documentation files -- [**Code Examples**](./code-examples.md) - Reusable code snippets and patterns +- [**Code Examples**](./code-examples.md) - Curated, reusable code snippets. +- [**PatternFly Guidelines**](../guidelines/README.md) - Core development principles. - [**Setup Guide**](../setup/README.md) - Initial project setup resources - [**Troubleshooting**](../troubleshooting/common-issues.md) - Problem-solving resources diff --git a/ai-documentation/resources/local-files.md b/ai-documentation/resources/local-files.md deleted file mode 100644 index a5957904..00000000 --- a/ai-documentation/resources/local-files.md +++ /dev/null @@ -1,217 +0,0 @@ -# Local Resources - -This document describes project-specific documentation files and local resources available for PatternFly React development. - -## Introduction - -Local resources provide project-specific context, component information, and specialized guidance that complements the official PatternFly documentation. These files contain curated information about PatternFly components, chatbot implementation details, and project-specific patterns. - -## Related Files - -- [**External References**](./external-links.md) - Official PatternFly documentation and resources -- [**Code Examples**](./code-examples.md) - Reusable code snippets and patterns -- [**PatternFly Guidelines**](../guidelines/README.md) - Core development principles -- [**Chatbot Integration**](../chatbot/README.md) - Chatbot component documentation - -## Available Local Documentation Files - -### patternfly-chatbot.txt - -**Location**: [`patternfly-chatbot.txt`](../../patternfly-chatbot.txt) - -**Purpose**: Primary context file for PatternFly Chatbot structure and components. - -**Contents**: -- Chatbot component architecture and hierarchy -- Implementation patterns for chat interfaces -- Component-specific usage guidelines -- Integration examples with PatternFly applications -- Best practices for chatbot development - -**Usage Guidelines**: -- **Primary Reference**: Use this as the main source for chatbot implementation guidance -- **Component Structure**: Refer to this file for understanding chatbot component relationships -- **AI Assistant Context**: Provide relevant sections to AI assistants when working on chatbot features -- **Implementation Priority**: This guidance takes precedence over general PatternFly patterns for chatbot development - -**When to Reference**: -- Building new chatbot interfaces -- Integrating chatbot components with existing applications -- Troubleshooting chatbot-specific issues -- Understanding chatbot component APIs and props - -### patternfly-react-component-groups.txt - -**Location**: [`patternfly-react-component-groups.txt`](../../patternfly-react-component-groups.txt) - -**Purpose**: Comprehensive reference for PatternFly React component groups and specialized component libraries. - -**Contents**: -- Component group classifications and categories -- Specialized component libraries and packages -- Component relationships and dependencies -- Advanced component patterns and compositions -- Enterprise-specific component implementations - -**Usage Guidelines**: -- **Component Discovery**: Use to find appropriate components for specific use cases -- **Advanced Patterns**: Reference for complex component compositions -- **Enterprise Features**: Guidance for enterprise-specific component implementations -- **Component Groups**: Understanding how components work together in larger patterns - -**When to Reference**: -- Planning complex UI implementations -- Looking for specialized component libraries -- Understanding component group relationships -- Implementing enterprise-level features - -## Local File Integration Patterns - -### Reading Local Documentation -```javascript -// Example: Referencing local documentation in code comments -/** - * User Management Table Component - * - * Implementation follows patterns from: - * - patternfly-react-component-groups.txt (Table patterns section) - * - Local documentation: /documentation/components/data-display/ - * - * Key features: - * - Bulk selection with component group patterns - * - Advanced filtering using specialized components - * - Enterprise-grade data handling - */ -``` - -### AI Assistant Context Sharing -When working with AI assistants, provide relevant local documentation context: - -```markdown -// Example context sharing -"I'm implementing a chatbot feature. Here's the relevant section from our -local patternfly-chatbot.txt file: [paste relevant section]. Please help me -implement this pattern with proper PatternFly components." -``` - -### Documentation Cross-References -```markdown -// Table and data view documentation are now split: -// - Table rules: /documentation/components/data-display/table.md -// - Data view rules: /documentation/components/data-display/README.md -``` - -## Project-Specific Patterns - -### Component Selection Workflow -1. **Check Local Documentation**: Review relevant sections in local `.txt` files -2. **Consult Documentation Repo**: Use this documentation repository for implementation guidance -3. **Reference Official Docs**: Verify with official PatternFly documentation -4. **Implement with Context**: Apply local patterns and project-specific requirements - -### Local Documentation Maintenance -```markdown -// Example documentation update pattern -/** - * When updating local documentation files: - * 1. Update the source .txt file - * 2. Update related documentation in /documentation/ - * 3. Update cross-references and links - * 4. Test examples and code snippets - * 5. Notify team of changes - */ -``` - -## Integration with Development Workflow - -### IDE Integration -```json -// Example VS Code settings for local documentation -{ - "files.associations": { - "*.txt": "markdown" - }, - "search.include": { - "patternfly-*.txt": true, - "documentation/**/*.md": true - } -} -``` - -### Documentation Search Patterns -```bash -# Example search commands for local documentation -grep -r "chatbot" patternfly-*.txt documentation/ -grep -r "component-groups" patternfly-*.txt documentation/ -grep -r "specific-pattern" documentation/ patternfly-*.txt -``` - -### Build Integration -```javascript -// Example build script integration -const fs = require('fs'); - -// Read local documentation for build-time validation -const chatbotDocs = fs.readFileSync('patternfly-chatbot.txt', 'utf8'); -const componentGroups = fs.readFileSync('patternfly-react-component-groups.txt', 'utf8'); - -// Validate component usage against local documentation -// Generate component usage reports -// Update documentation cross-references -``` - -## Best Practices for Local Resources - -### Documentation Usage -- **Primary Source**: Use local documentation as the primary source for project-specific patterns -- **Context Sharing**: Always provide relevant local documentation context to AI assistants -- **Cross-Reference**: Link local documentation with official PatternFly resources -- **Keep Current**: Regularly update local documentation to match project evolution - -### File Organization -- **Centralized Location**: Keep local documentation files in the project root for easy access -- **Clear Naming**: Use descriptive filenames that indicate content and purpose -- **Version Control**: Track changes to local documentation files in version control -- **Team Access**: Ensure all team members can access and contribute to local documentation - -### Integration Strategies -- **Development Workflow**: Integrate local documentation into daily development practices -- **Code Reviews**: Reference local documentation during code reviews -- **Onboarding**: Use local documentation for team member onboarding -- **Knowledge Sharing**: Share local documentation insights across teams - -## Troubleshooting Local Resources - -### Common Issues -1. **File Not Found**: Verify file paths and locations -2. **Outdated Information**: Check file modification dates and update as needed -3. **Inconsistent Patterns**: Cross-reference with official documentation -4. **Missing Context**: Ensure complete information is available for AI assistants - -### Maintenance Tasks -- **Regular Reviews**: Periodically review and update local documentation -- **Link Validation**: Verify internal and external links are working -- **Content Accuracy**: Ensure information matches current PatternFly versions -- **Team Feedback**: Collect and incorporate team feedback on documentation usefulness - -## Quick Reference - -### Local File Locations -- **Chatbot Documentation**: `patternfly-chatbot.txt` -- **Component Groups**: `patternfly-react-component-groups.txt` -- **Documentation Repository**: `documentation/` directory -- **Setup Instructions**: `README.md` - -### Key Usage Patterns -- **Chatbot Development**: Start with `patternfly-chatbot.txt` -- **Component Selection**: Reference `patternfly-react-component-groups.txt` -- **Implementation Guidance**: Use documentation repository structure -- **AI Assistant Context**: Provide relevant local documentation sections - -### Integration Points -- **Development**: Reference during component implementation -- **Code Review**: Validate against local patterns -- **Documentation**: Cross-reference in documentation files -- **Team Communication**: Share context in discussions and planning - -Remember: Local documentation files provide project-specific context that should be used alongside official PatternFly documentation. Always provide relevant sections to AI assistants when seeking implementation guidance, as this context significantly improves the accuracy and relevance of the assistance provided. \ No newline at end of file diff --git a/ai-documentation/troubleshooting/common-issues.md b/ai-documentation/troubleshooting/common-issues.md index 7074bfc8..8cb770b0 100644 --- a/ai-documentation/troubleshooting/common-issues.md +++ b/ai-documentation/troubleshooting/common-issues.md @@ -415,15 +415,12 @@ Module not found: Can't resolve '@patternfly/chatbot/dist/dynamic/Chatbot' 2. **Use virtualization**: ```jsx - import { FixedSizeList as List } from 'react-window'; - - - {Row} - + import { DndProvider, useDrag, useDrop } from 'react-dnd'; + import { HTML5Backend } from 'react-dnd-html5-backend'; + import { Table, Thead, Tbody, Tr, Th, Td } from '@patternfly/react-table'; + + const DraggableRow = ({ id, text, index, moveRow }) => { + // ... existing code ... ``` 3. **Optimize re-renders**: From 6c4f0f077f6846516deab21483eb742a3a185ca7 Mon Sep 17 00:00:00 2001 From: gitdallas <5322142+gitdallas@users.noreply.github.com> Date: Fri, 7 Nov 2025 08:39:54 -0600 Subject: [PATCH 07/22] compass theme base Signed-off-by: gitdallas <5322142+gitdallas@users.noreply.github.com> --- package-lock.json | 3353 ++++++++++++------ package.json | 7 +- src/app/AppLayout/AppLayout.tsx | 232 +- src/app/Dashboard/Dashboard.tsx | 263 +- src/app/Settings/General/GeneralSettings.tsx | 18 +- src/app/Settings/Profile/ProfileSettings.tsx | 18 +- src/app/Support/Support.tsx | 62 +- src/app/bgimages/pf-background.svg | 22 + 8 files changed, 2821 insertions(+), 1154 deletions(-) create mode 100644 src/app/bgimages/pf-background.svg diff --git a/package-lock.json b/package-lock.json index 460d4f2b..d8663e36 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,9 +9,10 @@ "version": "0.0.2", "license": "MIT", "dependencies": { - "@patternfly/react-core": "^6.4.0", - "@patternfly/react-icons": "^6.4.0", - "@patternfly/react-styles": "^6.4.0", + "@patternfly/chatbot": "^6.4.1", + "@patternfly/react-core": "^6.5.0-prerelease.7", + "@patternfly/react-icons": "^6.5.0-prerelease.1", + "@patternfly/react-styles": "^6.5.0-prerelease.1", "react": "^18", "react-dom": "^18", "sirv-cli": "^3.0.1" @@ -481,885 +482,680 @@ "node": ">=10.0.0" } }, - "node_modules/@esbuild/aix-ppc64": { + "node_modules/@esbuild/darwin-arm64": { "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", - "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", "cpu": [ - "ppc64" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "aix" + "darwin" ], "engines": { "node": ">=18" } }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", - "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", - "cpu": [ - "arm" - ], + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, "engines": { - "node": ">=18" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", - "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], "engines": { - "node": ">=18" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", - "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", - "cpu": [ - "x64" - ], + "node_modules/@eslint/config-array": { + "version": "0.21.1", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", - "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "1.1.12", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", - "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", - "cpu": [ - "x64" - ], + "node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">=18" + "node": "*" } }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", - "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", - "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", - "cpu": [ - "x64" - ], + "node_modules/@eslint/core": { + "version": "0.17.0", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", - "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", - "cpu": [ - "arm" - ], + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", - "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.12", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", - "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", - "cpu": [ - "ia32" - ], + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "5.3.2", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=18" + "node": ">= 4" } }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", - "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", - "cpu": [ - "loong64" - ], + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">=18" + "node": "*" } }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", - "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", - "cpu": [ - "mips64el" - ], + "node_modules/@eslint/js": { + "version": "9.39.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz", + "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" } }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", - "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", - "cpu": [ - "ppc64" - ], + "node_modules/@eslint/object-schema": { + "version": "2.1.7", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "Apache-2.0", "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", - "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", - "cpu": [ - "riscv64" - ], + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", - "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", - "cpu": [ - "s390x" - ], + "node_modules/@humanfs/core": { + "version": "0.19.1", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "Apache-2.0", "engines": { - "node": ">=18" + "node": ">=18.18.0" } }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", - "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", - "cpu": [ - "x64" - ], + "node_modules/@humanfs/node": { + "version": "0.16.7", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, "engines": { - "node": ">=18" + "node": ">=18.18.0" } }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", - "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", - "cpu": [ - "arm64" - ], + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], + "license": "Apache-2.0", "engines": { - "node": ">=18" + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", - "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", - "cpu": [ - "x64" - ], + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], + "license": "Apache-2.0", "engines": { - "node": ">=18" + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", - "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", - "cpu": [ - "arm64" - ], + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], "engines": { - "node": ">=18" + "node": "20 || >=22" } }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", - "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", - "cpu": [ - "x64" - ], + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, "engines": { - "node": ">=18" + "node": "20 || >=22" } }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", - "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", - "cpu": [ - "arm64" - ], + "node_modules/@isaacs/cliui": { + "version": "8.0.2", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, "engines": { - "node": ">=18" + "node": ">=12" } }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", - "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", - "cpu": [ - "x64" - ], + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", - "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", - "cpu": [ - "arm64" - ], + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", - "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", - "cpu": [ - "ia32" - ], + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], "engines": { - "node": ">=18" + "node": ">=6.0.0" } }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", - "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", - "cpu": [ - "x64" - ], + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", "dev": true, "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jsonjoy.com/base64": { + "version": "1.1.2", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "type": "github", + "url": "https://github.com/sponsors/streamich" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "tslib": "2" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", + "node_modules/@jsonjoy.com/buffers": { + "version": "1.2.1", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/@eslint/config-array": { - "version": "0.21.1", + "node_modules/@jsonjoy.com/codegen": { + "version": "1.0.0", "dev": true, "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.7", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-array/node_modules/brace-expansion": { - "version": "1.1.12", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/@eslint/config-array/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.21.0", "dev": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "brace-expansion": "^1.1.7" + "@jsonjoy.com/base64": "^1.1.2", + "@jsonjoy.com/buffers": "^1.2.0", + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/json-pointer": "^1.0.2", + "@jsonjoy.com/util": "^1.9.0", + "hyperdyperid": "^1.2.0", + "thingies": "^2.5.0", + "tree-dump": "^1.1.0" }, "engines": { - "node": "*" + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/@eslint/config-helpers": { - "version": "0.4.2", + "node_modules/@jsonjoy.com/json-pointer": { + "version": "1.0.2", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.17.0" + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/util": "^1.9.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/@eslint/core": { - "version": "0.17.0", + "node_modules/@jsonjoy.com/util": { + "version": "1.9.0", "dev": true, "license": "Apache-2.0", "dependencies": { - "@types/json-schema": "^7.0.15" + "@jsonjoy.com/buffers": "^1.0.0", + "@jsonjoy.com/codegen": "^1.0.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.1", + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.12", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "license": "MIT" }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "5.3.2", - "dev": true, + "node_modules/@lukeed/csprng": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", "license": "MIT", "engines": { - "node": ">= 4" + "node": ">=8" } }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", + "node_modules/@lukeed/uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@lukeed/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha512-qC72D4+CDdjGqJvkFMMEAtancHUQ7/d/tAiHf64z8MopFDmcrtbcJuerDtFceuAfQJ2pDSfCKCtbqoGBNnwg0w==", + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "@lukeed/csprng": "^1.1.0" }, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/@eslint/js": { - "version": "9.39.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz", - "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==", - "dev": true, + "node_modules/@monaco-editor/loader": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@monaco-editor/loader/-/loader-1.6.1.tgz", + "integrity": "sha512-w3tEnj9HYEC73wtjdpR089AqkUPskFRcdkxsiSFt3SoUc3OHpmu+leP94CXBm4mHfefmhsdfI0ZQu6qJ0wgtPg==", "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" + "dependencies": { + "state-local": "^1.0.6" } }, - "node_modules/@eslint/object-schema": { - "version": "2.1.7", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node_modules/@monaco-editor/react": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@monaco-editor/react/-/react-4.7.0.tgz", + "integrity": "sha512-cyzXQCtO47ydzxpQtCGSQGOC8Gk3ZUeBXFAxD+CWXYFo5OqZyZUonFl0DwUlTyAfRHntBfw2p3w4s9R6oe1eCA==", + "license": "MIT", + "dependencies": { + "@monaco-editor/loader": "^1.5.0" + }, + "peerDependencies": { + "monaco-editor": ">= 0.25.0 < 1", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, - "node_modules/@eslint/plugin-kit": { - "version": "0.4.1", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@eslint/core": "^0.17.0", - "levn": "^0.4.1" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 8" } }, - "node_modules/@humanfs/core": { - "version": "0.19.1", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": ">=18.18.0" + "node": ">= 8" } }, - "node_modules/@humanfs/node": { - "version": "0.16.7", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">=18.18.0" + "node": ">= 8" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" + "node_modules/@patternfly/chatbot": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@patternfly/chatbot/-/chatbot-6.4.1.tgz", + "integrity": "sha512-59Ct4uzuPjf07FW7cTU6sJP8Qpr9Sg5VM0ITEw3RjONK+b1v0gvo3F/g8ZtetGM4Rvhv1C/6V4aGH8peuQswhQ==", + "license": "MIT", + "dependencies": { + "@patternfly/react-code-editor": "^6.1.0", + "@patternfly/react-core": "^6.1.0", + "@patternfly/react-icons": "^6.1.0", + "@patternfly/react-table": "^6.1.0", + "@segment/analytics-next": "^1.76.0", + "clsx": "^2.1.0", + "path-browserify": "^1.0.1", + "posthog-js": "^1.194.4", + "react-markdown": "^9.0.1", + "rehype-external-links": "^3.0.0", + "rehype-sanitize": "^6.0.0", + "rehype-unwrap-images": "^1.0.0", + "remark-gfm": "^4.0.0", + "unist-util-visit": "^5.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "peerDependencies": { + "react": "^18 || ^19", + "react-dom": "^18 || ^19" } }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" + "node_modules/@patternfly/chatbot/node_modules/@patternfly/react-core": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-6.4.0.tgz", + "integrity": "sha512-zMgJmcFohp2FqgAoZHg7EXZS7gnaFESquk0qIavemYI0FsqspVlzV2/PUru7w+86+jXfqebRhgubPRsv1eJwEg==", + "license": "MIT", + "dependencies": { + "@patternfly/react-icons": "^6.4.0", + "@patternfly/react-styles": "^6.4.0", + "@patternfly/react-tokens": "^6.4.0", + "focus-trap": "7.6.4", + "react-dropzone": "^14.3.5", + "tslib": "^2.8.1" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "peerDependencies": { + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" } }, - "node_modules/@isaacs/balanced-match": { - "version": "4.0.1", - "dev": true, + "node_modules/@patternfly/chatbot/node_modules/@patternfly/react-icons": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-6.4.0.tgz", + "integrity": "sha512-SPjzatm73NUYv/BL6A/cjRA5sFQ15NkiyPAcT8gmklI7HY+ptd6/eg49uBDFmxTQcSwbb5ISW/R6wwCQBY2M+Q==", "license": "MIT", - "engines": { - "node": "20 || >=22" + "peerDependencies": { + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" } }, - "node_modules/@isaacs/brace-expansion": { - "version": "5.0.0", - "dev": true, + "node_modules/@patternfly/chatbot/node_modules/@patternfly/react-styles": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-6.4.0.tgz", + "integrity": "sha512-EXmHA67s5sy+Wy/0uxWoUQ52jr9lsH2wV3QcgtvVc5zxpyBX89gShpqv4jfVqaowznHGDoL6fVBBrSe9BYOliQ==", + "license": "MIT" + }, + "node_modules/@patternfly/chatbot/node_modules/@patternfly/react-tokens": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-6.4.0.tgz", + "integrity": "sha512-iZthBoXSGQ/+PfGTdPFJVulaJZI3rwE+7A/whOXPGp3Jyq3k6X52pr1+5nlO6WHasbZ9FyeZGqXf4fazUZNjbw==", + "license": "MIT" + }, + "node_modules/@patternfly/react-code-editor": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-code-editor/-/react-code-editor-6.4.0.tgz", + "integrity": "sha512-jZK4qzytcriZalug3KvwTD+h8lNjUfm79opAsLJwGfuq2DD5pzrDwF4GysZrR4hUMdN0jUJqh5yvAqwZtJI/UA==", "license": "MIT", "dependencies": { - "@isaacs/balanced-match": "^4.0.1" + "@monaco-editor/react": "^4.6.0", + "@patternfly/react-core": "^6.4.0", + "@patternfly/react-icons": "^6.4.0", + "@patternfly/react-styles": "^6.4.0", + "react-dropzone": "14.3.5", + "tslib": "^2.8.1" }, - "engines": { - "node": "20 || >=22" + "peerDependencies": { + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "dev": true, - "license": "ISC", + "node_modules/@patternfly/react-code-editor/node_modules/@patternfly/react-core": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-6.4.0.tgz", + "integrity": "sha512-zMgJmcFohp2FqgAoZHg7EXZS7gnaFESquk0qIavemYI0FsqspVlzV2/PUru7w+86+jXfqebRhgubPRsv1eJwEg==", + "license": "MIT", "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "@patternfly/react-icons": "^6.4.0", + "@patternfly/react-styles": "^6.4.0", + "@patternfly/react-tokens": "^6.4.0", + "focus-trap": "7.6.4", + "react-dropzone": "^14.3.5", + "tslib": "^2.8.1" }, - "engines": { - "node": ">=12" + "peerDependencies": { + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "dev": true, + "node_modules/@patternfly/react-code-editor/node_modules/@patternfly/react-icons": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-6.4.0.tgz", + "integrity": "sha512-SPjzatm73NUYv/BL6A/cjRA5sFQ15NkiyPAcT8gmklI7HY+ptd6/eg49uBDFmxTQcSwbb5ISW/R6wwCQBY2M+Q==", "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" + "peerDependencies": { + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" } }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } + "node_modules/@patternfly/react-code-editor/node_modules/@patternfly/react-styles": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-6.4.0.tgz", + "integrity": "sha512-EXmHA67s5sy+Wy/0uxWoUQ52jr9lsH2wV3QcgtvVc5zxpyBX89gShpqv4jfVqaowznHGDoL6fVBBrSe9BYOliQ==", + "license": "MIT" }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "dev": true, + "node_modules/@patternfly/react-code-editor/node_modules/@patternfly/react-tokens": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-6.4.0.tgz", + "integrity": "sha512-iZthBoXSGQ/+PfGTdPFJVulaJZI3rwE+7A/whOXPGp3Jyq3k6X52pr1+5nlO6WHasbZ9FyeZGqXf4fazUZNjbw==", + "license": "MIT" + }, + "node_modules/@patternfly/react-core": { + "version": "6.5.0-prerelease.14", + "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-6.5.0-prerelease.14.tgz", + "integrity": "sha512-RCY6nT2v74+tI8M1/IGFAsapQHNoXdCQDLQRwDRZuv1QHWF/lQAnwdOetmUeGP+9iRbsf5w+kuTVpUXYk0U5bA==", "license": "MIT", - "engines": { - "node": ">=6.0.0" + "dependencies": { + "@patternfly/react-icons": "^6.5.0-prerelease.6", + "@patternfly/react-styles": "^6.5.0-prerelease.6", + "@patternfly/react-tokens": "^6.5.0-prerelease.6", + "focus-trap": "7.6.4", + "react-dropzone": "^14.3.5", + "tslib": "^2.8.1" + }, + "peerDependencies": { + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.11", - "dev": true, + "node_modules/@patternfly/react-icons": { + "version": "6.5.0-prerelease.6", + "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-6.5.0-prerelease.6.tgz", + "integrity": "sha512-zQpGTpKuH7ofVF9sXTDErvHwaKLFFdXw41x65VUFM5Y1z2P2xvuJhrOjQ9NeAxgMjw549/bz+s8sJKyDbeqMMQ==", "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" + "peerDependencies": { + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "dev": true, + "node_modules/@patternfly/react-styles": { + "version": "6.5.0-prerelease.6", + "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-6.5.0-prerelease.6.tgz", + "integrity": "sha512-sd4Cg1t+QKkfCpSt6ofGjb4pq3QdCOyPDqrkC026amnIBX6bpmXPpQj6IHUHtydxtSm8sUjB6wnGzo4JEwTr2w==", "license": "MIT" }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "dev": true, + "node_modules/@patternfly/react-table": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-table/-/react-table-6.4.0.tgz", + "integrity": "sha512-yv0sFOLGts8a2q9C1xUegjp50ayYyVRe0wKjMf+aMSNIK8sVYu8qu0yfBsCDybsUCldue7+qsYKRLFZosTllWQ==", "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@jsonjoy.com/base64": { - "version": "1.1.2", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/buffers": { - "version": "1.2.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/codegen": { - "version": "1.0.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/json-pack": { - "version": "1.21.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/base64": "^1.1.2", - "@jsonjoy.com/buffers": "^1.2.0", - "@jsonjoy.com/codegen": "^1.0.0", - "@jsonjoy.com/json-pointer": "^1.0.2", - "@jsonjoy.com/util": "^1.9.0", - "hyperdyperid": "^1.2.0", - "thingies": "^2.5.0", - "tree-dump": "^1.1.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/json-pointer": { - "version": "1.0.2", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/codegen": "^1.0.0", - "@jsonjoy.com/util": "^1.9.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/util": { - "version": "1.9.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/buffers": "^1.0.0", - "@jsonjoy.com/codegen": "^1.0.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "@patternfly/react-core": "^6.4.0", + "@patternfly/react-icons": "^6.4.0", + "@patternfly/react-styles": "^6.4.0", + "@patternfly/react-tokens": "^6.4.0", + "lodash": "^4.17.21", + "tslib": "^2.8.1" }, "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.5", - "dev": true, - "license": "MIT" - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" } }, - "node_modules/@patternfly/react-core": { + "node_modules/@patternfly/react-table/node_modules/@patternfly/react-core": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-6.4.0.tgz", "integrity": "sha512-zMgJmcFohp2FqgAoZHg7EXZS7gnaFESquk0qIavemYI0FsqspVlzV2/PUru7w+86+jXfqebRhgubPRsv1eJwEg==", @@ -1377,13 +1173,7 @@ "react-dom": "^17 || ^18 || ^19" } }, - "node_modules/@patternfly/react-core/node_modules/@patternfly/react-tokens": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-6.4.0.tgz", - "integrity": "sha512-iZthBoXSGQ/+PfGTdPFJVulaJZI3rwE+7A/whOXPGp3Jyq3k6X52pr1+5nlO6WHasbZ9FyeZGqXf4fazUZNjbw==", - "license": "MIT" - }, - "node_modules/@patternfly/react-icons": { + "node_modules/@patternfly/react-table/node_modules/@patternfly/react-icons": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-6.4.0.tgz", "integrity": "sha512-SPjzatm73NUYv/BL6A/cjRA5sFQ15NkiyPAcT8gmklI7HY+ptd6/eg49uBDFmxTQcSwbb5ISW/R6wwCQBY2M+Q==", @@ -1393,12 +1183,24 @@ "react-dom": "^17 || ^18 || ^19" } }, - "node_modules/@patternfly/react-styles": { + "node_modules/@patternfly/react-table/node_modules/@patternfly/react-styles": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-6.4.0.tgz", "integrity": "sha512-EXmHA67s5sy+Wy/0uxWoUQ52jr9lsH2wV3QcgtvVc5zxpyBX89gShpqv4jfVqaowznHGDoL6fVBBrSe9BYOliQ==", "license": "MIT" }, + "node_modules/@patternfly/react-table/node_modules/@patternfly/react-tokens": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-6.4.0.tgz", + "integrity": "sha512-iZthBoXSGQ/+PfGTdPFJVulaJZI3rwE+7A/whOXPGp3Jyq3k6X52pr1+5nlO6WHasbZ9FyeZGqXf4fazUZNjbw==", + "license": "MIT" + }, + "node_modules/@patternfly/react-tokens": { + "version": "6.5.0-prerelease.6", + "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-6.5.0-prerelease.6.tgz", + "integrity": "sha512-q8Eb0VvgfM32CadgUyCJ4OHXF3xpIwzAoPiqKpzLWrg5lNu49CjFFX07HhW86mr8efvGJZacxd6ywlUm832WUQ==", + "license": "MIT" + }, "node_modules/@pkgr/core": { "version": "0.2.9", "dev": true, @@ -1414,6 +1216,15 @@ "version": "1.0.0-next.29", "license": "MIT" }, + "node_modules/@posthog/core": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@posthog/core/-/core-1.5.2.tgz", + "integrity": "sha512-iedUP3EnOPPxTA2VaIrsrd29lSZnUV+ZrMnvY56timRVeZAXoYCkmjfIs3KBAsF8OUT5h1GXLSkoQdrV0r31OQ==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.6" + } + }, "node_modules/@rolldown/pluginutils": { "version": "1.0.0-beta.27", "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", @@ -1421,34 +1232,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz", - "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz", - "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, "node_modules/@rollup/rollup-darwin-arm64": { "version": "4.53.3", "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz", @@ -1463,278 +1246,103 @@ "darwin" ] }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz", - "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", - "cpu": [ - "x64" - ], + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "license": "MIT" }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz", - "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==", - "cpu": [ - "arm64" - ], - "dev": true, + "node_modules/@segment/analytics-core": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.8.2.tgz", + "integrity": "sha512-5FDy6l8chpzUfJcNlIcyqYQq4+JTUynlVoCeCUuVz+l+6W0PXg+ljKp34R4yLVCcY5VVZohuW+HH0VLWdwYVAg==", "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] + "dependencies": { + "@lukeed/uuid": "^2.0.0", + "@segment/analytics-generic-utils": "1.2.0", + "dset": "^3.1.4", + "tslib": "^2.4.1" + } }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz", - "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/@segment/analytics-generic-utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-generic-utils/-/analytics-generic-utils-1.2.0.tgz", + "integrity": "sha512-DfnW6mW3YQOLlDQQdR89k4EqfHb0g/3XvBXkovH1FstUN93eL1kfW9CsDcVQyH3bAC5ZsFyjA/o/1Q2j0QeoWw==", "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] + "dependencies": { + "tslib": "^2.4.1" + } }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz", - "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==", - "cpu": [ - "arm" - ], - "dev": true, + "node_modules/@segment/analytics-next": { + "version": "1.81.1", + "resolved": "https://registry.npmjs.org/@segment/analytics-next/-/analytics-next-1.81.1.tgz", + "integrity": "sha512-nVHNhriViptjkp4004qBbvmnW9/3brjhBv2P5Cvcg7iWW41fBzUY8FbLi+8wkmSbycT9fH1pTM3TUxB6+h0Fcg==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@lukeed/uuid": "^2.0.0", + "@segment/analytics-core": "1.8.2", + "@segment/analytics-generic-utils": "1.2.0", + "@segment/analytics-page-tools": "1.0.0", + "@segment/analytics.js-video-plugins": "^0.2.1", + "@segment/facade": "^3.4.9", + "dset": "^3.1.4", + "js-cookie": "3.0.1", + "node-fetch": "^2.6.7", + "tslib": "^2.4.1", + "unfetch": "^4.1.0" + } }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz", - "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==", - "cpu": [ - "arm" - ], - "dev": true, + "node_modules/@segment/analytics-page-tools": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-page-tools/-/analytics-page-tools-1.0.0.tgz", + "integrity": "sha512-o9OVB91qLB9qb0Bw1HfjmWm5AnrMNULRjx++4lBqLt8InKRX1urrRBparVlpj+yJA0sckN5ZcsfazRLuPgBYDQ==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "tslib": "^2.4.1" + } }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz", - "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "node_modules/@segment/analytics.js-video-plugins": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@segment/analytics.js-video-plugins/-/analytics.js-video-plugins-0.2.1.tgz", + "integrity": "sha512-lZwCyEXT4aaHBLNK433okEKdxGAuyrVmop4BpQqQSJuRz0DglPZgd9B/XjiiWs1UyOankg2aNYMN3VcS8t4eSQ==", + "license": "ISC", + "dependencies": { + "unfetch": "^3.1.1" + } }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz", - "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz", - "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz", - "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz", - "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz", - "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz", - "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz", - "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz", - "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz", - "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz", - "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz", - "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "node_modules/@segment/analytics.js-video-plugins/node_modules/unfetch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-3.1.2.tgz", + "integrity": "sha512-L0qrK7ZeAudGiKYw6nzFjnJ2D5WHblUBwmHIqtPS6oKUd+Hcpk7/hKsSmcHsTlpd1TbTNsiRBUKRq3bHLNIqIw==", + "license": "MIT" }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz", - "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "node_modules/@segment/facade": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/@segment/facade/-/facade-3.4.10.tgz", + "integrity": "sha512-xVQBbB/lNvk/u8+ey0kC/+g8pT3l0gCT8O2y9Z+StMMn3KAFAQ9w8xfgef67tJybktOKKU7pQGRPolRM1i1pdA==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@segment/isodate-traverse": "^1.1.1", + "inherits": "^2.0.4", + "new-date": "^1.0.3", + "obj-case": "0.2.1" + } }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz", - "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "node_modules/@segment/isodate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@segment/isodate/-/isodate-1.0.3.tgz", + "integrity": "sha512-BtanDuvJqnACFkeeYje7pWULVv8RgZaqKHWwGFnL/g/TH/CcZjkIVTfGDp/MAxmilYHUkrX70SqwnYSTNEaN7A==", + "license": "SEE LICENSE IN LICENSE" }, - "node_modules/@sec-ant/readable-stream": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", - "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", - "dev": true, - "license": "MIT" + "node_modules/@segment/isodate-traverse": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@segment/isodate-traverse/-/isodate-traverse-1.1.1.tgz", + "integrity": "sha512-+G6e1SgAUkcq0EDMi+SRLfT48TNlLPF3QnSgFGVs0V9F3o3fq/woQ2rHFlW20W0yy5NnCUH0QGU3Am2rZy/E3w==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@segment/isodate": "^1.0.3" + } }, "node_modules/@sindresorhus/is": { "version": "6.3.1", @@ -1946,10 +1554,7 @@ }, "node_modules/@types/debug": { "version": "4.1.12", - "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "@types/ms": "*" } @@ -1981,9 +1586,17 @@ }, "node_modules/@types/estree": { "version": "1.0.8", - "dev": true, "license": "MIT" }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, "node_modules/@types/express": { "version": "4.17.25", "dev": true, @@ -2006,6 +1619,15 @@ "@types/send": "*" } }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/@types/history": { "version": "4.7.11", "dev": true, @@ -2055,6 +1677,15 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/@types/mime": { "version": "1.3.5", "dev": true, @@ -2062,10 +1693,7 @@ }, "node_modules/@types/ms": { "version": "2.1.0", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/@types/node": { "version": "24.10.0", @@ -2095,7 +1723,6 @@ }, "node_modules/@types/react": { "version": "19.2.2", - "dev": true, "license": "MIT", "dependencies": { "csstype": "^3.0.2" @@ -2168,6 +1795,12 @@ "@types/node": "*" } }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, "node_modules/@types/ws": { "version": "8.18.1", "dev": true, @@ -2402,6 +2035,12 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, "node_modules/@vitejs/plugin-react": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", @@ -3091,6 +2730,16 @@ "node": ">=4" } }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "dev": true, @@ -3347,6 +2996,16 @@ ], "license": "CC-BY-4.0" }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/chai": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.1.tgz", @@ -3385,6 +3044,46 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/chokidar": { "version": "3.6.0", "dev": true, @@ -3451,6 +3150,15 @@ "node": ">=6" } }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/color-convert": { "version": "2.0.1", "dev": true, @@ -3490,6 +3198,16 @@ "node": ">= 0.8" } }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/commander": { "version": "8.3.0", "dev": true, @@ -3631,6 +3349,17 @@ "webpack": "^5.1.0" } }, + "node_modules/core-js": { + "version": "3.47.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.47.0.tgz", + "integrity": "sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, "node_modules/core-util-is": { "version": "1.0.3", "dev": true, @@ -3638,7 +3367,6 @@ }, "node_modules/cross-spawn": { "version": "7.0.6", - "dev": true, "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -3908,7 +3636,6 @@ }, "node_modules/csstype": { "version": "3.1.3", - "dev": true, "license": "MIT" }, "node_modules/data-urls": { @@ -3978,7 +3705,6 @@ }, "node_modules/debug": { "version": "4.4.3", - "dev": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -3997,6 +3723,19 @@ "dev": true, "license": "MIT" }, + "node_modules/decode-named-character-reference": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz", + "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/deep-is": { "version": "0.1.4", "dev": true, @@ -4091,7 +3830,6 @@ }, "node_modules/dequal": { "version": "2.0.3", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -4111,6 +3849,19 @@ "dev": true, "license": "MIT" }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/dns-packet": { "version": "5.6.1", "dev": true, @@ -4193,6 +3944,13 @@ "url": "https://github.com/fb55/domhandler?sponsor=1" } }, + "node_modules/dompurify": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.7.tgz", + "integrity": "sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==", + "license": "(MPL-2.0 OR Apache-2.0)", + "peer": true + }, "node_modules/domutils": { "version": "2.8.0", "dev": true, @@ -4274,6 +4032,15 @@ "webpack": "^4 || ^5" } }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "dev": true, @@ -4897,6 +4664,16 @@ "node": ">=4.0" } }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/estree-walker": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", @@ -5012,6 +4789,12 @@ "dev": true, "license": "MIT" }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "dev": true, @@ -5110,6 +4893,12 @@ "node": ">=0.8.0" } }, + "node_modules/fflate": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz", + "integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==", + "license": "MIT" + }, "node_modules/file-entry-cache": { "version": "8.0.0", "dev": true, @@ -5707,14 +5496,109 @@ "node": ">= 0.4" } }, - "node_modules/he": { - "version": "1.2.0", - "dev": true, + "node_modules/hast-util-has-property": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", + "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", "license": "MIT", - "bin": { - "he": "bin/he" - } - }, + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-interactive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-interactive/-/hast-util-interactive-3.0.0.tgz", + "integrity": "sha512-9VFa3kP6AT40BNYcPmn3jpsG+1KPDF0rUFCrFVQDUsuUXZ3YLODm8UGV0tmYzFpcOIQXTAOi2ccS3ywlj2dQTA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-has-property": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-sanitize": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-5.0.2.tgz", + "integrity": "sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "unist-util-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/he": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, "node_modules/hpack.js": { "version": "2.1.6", "dev": true, @@ -5794,6 +5678,16 @@ "node": ">=12" } }, + "node_modules/html-url-attributes": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz", + "integrity": "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/html-webpack-plugin": { "version": "5.6.4", "dev": true, @@ -6114,9 +6008,14 @@ }, "node_modules/inherits": { "version": "2.0.4", - "dev": true, "license": "ISC" }, + "node_modules/inline-style-parser": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", + "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", + "license": "MIT" + }, "node_modules/internal-slot": { "version": "1.1.0", "dev": true, @@ -6146,6 +6045,42 @@ "node": ">= 10" } }, + "node_modules/is-absolute-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz", + "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-array-buffer": { "version": "3.0.5", "dev": true, @@ -6276,6 +6211,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-docker": { "version": "3.0.0", "dev": true, @@ -6349,6 +6294,16 @@ "node": ">=0.10.0" } }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-identifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-identifier/-/is-identifier-1.0.1.tgz", @@ -6439,6 +6394,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "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==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-plain-object": { "version": "2.0.4", "dev": true, @@ -6616,7 +6583,6 @@ }, "node_modules/isexe": { "version": "2.0.0", - "dev": true, "license": "ISC" }, "node_modules/isobject": { @@ -6733,6 +6699,15 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/js-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.1.tgz", + "integrity": "sha512-+0rgsUXZu4ncpPxRL+lNEptWMOWl9etvPHc/koSRp6MPwpRYAhmk0dUG00J4bxVV3r9uUzfo24wW0knS07SKSw==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "license": "MIT" @@ -6968,7 +6943,6 @@ }, "node_modules/lodash": { "version": "4.17.21", - "dev": true, "license": "MIT" }, "node_modules/lodash.memoize": { @@ -6986,6 +6960,16 @@ "dev": true, "license": "MIT" }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/loose-envify": { "version": "1.4.0", "license": "MIT", @@ -7062,6 +7046,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/marked": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-14.0.0.tgz", + "integrity": "sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==", + "license": "MIT", + "peer": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 18" + } + }, "node_modules/math-intrinsics": { "version": "1.1.0", "dev": true, @@ -7070,65 +7077,910 @@ "node": ">= 0.4" } }, - "node_modules/mdn-data": { - "version": "2.12.2", - "dev": true, - "license": "CC0-1.0" + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/media-typer": { - "version": "0.3.0", - "dev": true, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/memfs": { - "version": "4.50.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", "dependencies": { - "@jsonjoy.com/json-pack": "^1.11.0", - "@jsonjoy.com/util": "^1.9.0", - "glob-to-regex.js": "^1.0.1", - "thingies": "^2.5.0", - "tree-dump": "^1.0.3", - "tslib": "^2.0.0" + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/merge-descriptors": { - "version": "1.0.3", - "dev": true, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/merge-stream": { + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/merge2": { - "version": "1.4.1", - "dev": true, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", "license": "MIT", - "engines": { - "node": ">= 8" + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/methods": { - "version": "1.1.2", - "dev": true, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", "license": "MIT", - "engines": { - "node": ">= 0.6" + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.12.2", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "4.50.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/json-pack": "^1.11.0", + "@jsonjoy.com/util": "^1.9.0", + "glob-to-regex.js": "^1.0.1", + "thingies": "^2.5.0", + "tree-dump": "^1.0.3", + "tslib": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, "node_modules/micromatch": { "version": "4.0.8", "dev": true, @@ -7233,6 +8085,17 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/monaco-editor": { + "version": "0.54.0", + "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.54.0.tgz", + "integrity": "sha512-hx45SEUoLatgWxHKCmlLJH81xBo0uXP4sRkESUpmDQevfi+e7K1VuiSprK6UpQ8u4zOcKNiH0pMvHvlMWA/4cw==", + "license": "MIT", + "peer": true, + "dependencies": { + "dompurify": "3.1.7", + "marked": "14.0.0" + } + }, "node_modules/mri": { "version": "1.2.0", "license": "MIT", @@ -7249,7 +8112,6 @@ }, "node_modules/ms": { "version": "2.1.3", - "dev": true, "license": "MIT" }, "node_modules/multicast-dns": { @@ -7299,6 +8161,15 @@ "dev": true, "license": "MIT" }, + "node_modules/new-date": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/new-date/-/new-date-1.0.3.tgz", + "integrity": "sha512-0fsVvQPbo2I18DT2zVHpezmeeNYV2JaJSrseiHLc17GNOxJzUdx5mvSigPu8LtIfZSij5i1wXnXFspEs2CD6hA==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@segment/isodate": "1.0.3" + } + }, "node_modules/no-case": { "version": "3.0.4", "dev": true, @@ -7308,6 +8179,48 @@ "tslib": "^2.0.3" } }, + "node_modules/node-fetch": { + "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" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/node-forge": { "version": "1.3.1", "dev": true, @@ -7345,6 +8258,12 @@ "dev": true, "license": "MIT" }, + "node_modules/obj-case": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/obj-case/-/obj-case-0.2.1.tgz", + "integrity": "sha512-PquYBBTy+Y6Ob/O2574XHhDtHJlV1cJHMCgW+rDRc9J5hhmRelJB3k5dTK/3cVmFVtzvAKuENeuLpoyTzMzkOg==", + "license": "MIT" + }, "node_modules/object-assign": { "version": "4.1.1", "license": "MIT", @@ -7672,6 +8591,31 @@ "node": ">=6" } }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, "node_modules/parse5": { "version": "7.3.0", "dev": true, @@ -7700,6 +8644,12 @@ "tslib": "^2.0.3" } }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "license": "MIT" + }, "node_modules/path-exists": { "version": "4.0.0", "dev": true, @@ -7710,7 +8660,6 @@ }, "node_modules/path-key": { "version": "3.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -8326,6 +9275,29 @@ "dev": true, "license": "MIT" }, + "node_modules/posthog-js": { + "version": "1.296.1", + "resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.296.1.tgz", + "integrity": "sha512-Qc0S5dkQHzYzpUu7sfU2JkDkf7AE4wI8Yffog4hKWL9i8YbutuXLhJ1duZlY1V8HyaVVnn6qx5wd55SNwVcfhQ==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@posthog/core": "1.5.2", + "core-js": "^3.38.1", + "fflate": "^0.4.8", + "preact": "^10.19.3", + "web-vitals": "^4.2.4" + } + }, + "node_modules/preact": { + "version": "10.27.2", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.27.2.tgz", + "integrity": "sha512-5SYSgFKSyhCbk6SrXyMpqjb5+MQBgfvEKE/OC+PujcY34sOpqtr+0AZQtPYx5IA6VxynQ7rUPCtKzyovpj9Bpg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "dev": true, @@ -8401,6 +9373,16 @@ "version": "16.13.1", "license": "MIT" }, + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/proxy-addr": { "version": "2.0.7", "dev": true, @@ -8579,6 +9561,33 @@ "license": "MIT", "peer": true }, + "node_modules/react-markdown": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-9.1.0.tgz", + "integrity": "sha512-xaijuJB0kzGiUdG7nc2MOMDUDBWPyGAjZtUrow9XxUeua8IqeP+VlIfAZ3bphpcLTnSZXz6z9jcVC/TCwbfgdw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "html-url-attributes": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=18", + "react": ">=18" + } + }, "node_modules/react-refresh": { "version": "0.17.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", @@ -8736,6 +9745,54 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/rehype-external-links": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-3.0.0.tgz", + "integrity": "sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-is-element": "^3.0.0", + "is-absolute-url": "^4.0.0", + "space-separated-tokens": "^2.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-sanitize": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/rehype-sanitize/-/rehype-sanitize-6.0.0.tgz", + "integrity": "sha512-CsnhKNsyI8Tub6L4sm5ZFsme4puGfc6pYylvXo1AeqaGbjOYyzNv3qZPwvs0oMJ39eryyeOdmxwUIo94IpEhqg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-sanitize": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-unwrap-images": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-unwrap-images/-/rehype-unwrap-images-1.0.0.tgz", + "integrity": "sha512-wzW5Mk9IlVF2UwXC5NtIZsx1aHYbV8+bLWjJnlZaaamz5QU52RppWtq1uEZJqGo8d9Y4RuDqidB6r9RFpKugIg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-interactive": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/relateurl": { "version": "0.2.7", "dev": true, @@ -8744,6 +9801,72 @@ "node": ">= 0.10" } }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/renderkid": { "version": "3.0.0", "dev": true, @@ -9421,7 +10544,6 @@ }, "node_modules/shebang-command": { "version": "2.0.0", - "dev": true, "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" @@ -9432,7 +10554,6 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -9606,6 +10727,16 @@ "node": ">=0.10.0" } }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/spdy": { "version": "4.0.2", "dev": true, @@ -9641,6 +10772,12 @@ "dev": true, "license": "MIT" }, + "node_modules/state-local": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/state-local/-/state-local-1.0.7.tgz", + "integrity": "sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==", + "license": "MIT" + }, "node_modules/statuses": { "version": "2.0.1", "dev": true, @@ -9810,6 +10947,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/strip-ansi": { "version": "7.1.2", "dev": true, @@ -9902,6 +11053,24 @@ "webpack": "^5.27.0" } }, + "node_modules/style-to-js": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", + "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.14" + } + }, + "node_modules/style-to-object": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", + "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.7" + } + }, "node_modules/stylehacks": { "version": "7.0.7", "dev": true, @@ -10402,6 +11571,26 @@ "tslib": "2" } }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/ts-api-utils": { "version": "2.1.0", "dev": true, @@ -10878,6 +12067,12 @@ "dev": true, "license": "MIT" }, + "node_modules/unfetch": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", + "integrity": "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==", + "license": "MIT" + }, "node_modules/unicorn-magic": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", @@ -10891,6 +12086,93 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/unpipe": { "version": "1.0.0", "dev": true, @@ -11013,6 +12295,34 @@ "node": ">= 0.8" } }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/vite": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", @@ -11241,6 +12551,12 @@ "minimalistic-assert": "^1.0.0" } }, + "node_modules/web-vitals": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz", + "integrity": "sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==", + "license": "Apache-2.0" + }, "node_modules/web-worker": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", @@ -11649,7 +12965,6 @@ }, "node_modules/which": { "version": "2.0.2", - "dev": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -11907,6 +13222,16 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } } } } diff --git a/package.json b/package.json index bfc49897..afcef3a1 100644 --- a/package.json +++ b/package.json @@ -70,9 +70,10 @@ "webpack-merge": "^6.0.1" }, "dependencies": { - "@patternfly/react-core": "^6.4.0", - "@patternfly/react-icons": "^6.4.0", - "@patternfly/react-styles": "^6.4.0", + "@patternfly/chatbot": "^6.4.1", + "@patternfly/react-core": "^6.5.0-prerelease.7", + "@patternfly/react-icons": "^6.5.0-prerelease.1", + "@patternfly/react-styles": "^6.5.0-prerelease.1", "react": "^18", "react-dom": "^18", "sirv-cli": "^3.0.1" diff --git a/src/app/AppLayout/AppLayout.tsx b/src/app/AppLayout/AppLayout.tsx index 2dac6501..43849ba4 100644 --- a/src/app/AppLayout/AppLayout.tsx +++ b/src/app/AppLayout/AppLayout.tsx @@ -1,43 +1,144 @@ import * as React from 'react'; -import { NavLink, useLocation } from 'react-router-dom'; +import { useNavigate, useLocation } from 'react-router-dom'; import { + ActionList, + ActionListGroup, + ActionListItem, Button, - Masthead, + Compass, + CompassHeader, + CompassMessageBar, + CompassPanel, MastheadBrand, MastheadLogo, - MastheadMain, - MastheadToggle, - Nav, - NavExpandable, - NavItem, - NavList, - Page, - PageSidebar, - PageSidebarBody, - SkipToContent, + Tab, + TabContent, + Tabs, + TabsComponent, + TabTitleText, + Tooltip, } from '@patternfly/react-core'; import { IAppRoute, IAppRouteGroup, routes } from '@app/routes'; -import { BarsIcon } from '@patternfly/react-icons'; +import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon'; +import HelpIcon from '@patternfly/react-icons/dist/esm/icons/help-icon'; +import pfBackground from '../bgimages/pf-background.svg'; interface IAppLayout { children: React.ReactNode; } const AppLayout: React.FunctionComponent = ({ children }) => { - const [sidebarOpen, setSidebarOpen] = React.useState(true); - const masthead = ( - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + ); export { Support }; diff --git a/src/app/bgimages/pf-background.svg b/src/app/bgimages/pf-background.svg new file mode 100644 index 00000000..b7fd73f7 --- /dev/null +++ b/src/app/bgimages/pf-background.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + From 81ae050488b4d67701d747bea99fd7c3f8839d44 Mon Sep 17 00:00:00 2001 From: mfrances Date: Fri, 7 Nov 2025 11:05:56 -0500 Subject: [PATCH 08/22] Add light/dark theme toggle to sidebar --- src/app/AppLayout/AppLayout.tsx | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/app/AppLayout/AppLayout.tsx b/src/app/AppLayout/AppLayout.tsx index 43849ba4..a9aac033 100644 --- a/src/app/AppLayout/AppLayout.tsx +++ b/src/app/AppLayout/AppLayout.tsx @@ -11,6 +11,7 @@ import { CompassPanel, MastheadBrand, MastheadLogo, + Switch, Tab, TabContent, Tabs, @@ -21,6 +22,8 @@ import { import { IAppRoute, IAppRouteGroup, routes } from '@app/routes'; import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon'; import HelpIcon from '@patternfly/react-icons/dist/esm/icons/help-icon'; +import MoonIcon from '@patternfly/react-icons/dist/esm/icons/moon-icon'; +import SunIcon from '@patternfly/react-icons/dist/esm/icons/sun-icon'; import pfBackground from '../bgimages/pf-background.svg'; interface IAppLayout { @@ -32,6 +35,22 @@ const AppLayout: React.FunctionComponent = ({ children }) => { const location = useLocation(); const subTabsRef = React.useRef(null); + // Theme state and toggle + const [isDarkTheme, setIsDarkTheme] = React.useState(() => { + const stored = localStorage.getItem('theme'); + return stored === 'dark' || (!stored && window.matchMedia('(prefers-color-scheme: dark)').matches); + }); + + React.useEffect(() => { + const htmlElement = document.documentElement; + if (isDarkTheme) { + htmlElement.classList.add('pf-v6-theme-dark'); + } else { + htmlElement.classList.remove('pf-v6-theme-dark'); + } + localStorage.setItem('theme', isDarkTheme ? 'dark' : 'light'); + }, [isDarkTheme]); + // Determine active tabs based on current route const getActiveTabIndex = () => { const path = location.pathname; @@ -129,6 +148,16 @@ const AppLayout: React.FunctionComponent = ({ children }) => { - - - + + + + ); export { Support }; From d75bc769bea131cc0abdb143b3aa2150c8ce03b8 Mon Sep 17 00:00:00 2001 From: mfrances Date: Fri, 7 Nov 2025 17:25:52 -0500 Subject: [PATCH 13/22] add chatbot messagebar --- package-lock.json | 87 ++++++++++++++++++++++++++++++--- package.json | 2 +- src/app/AppLayout/AppLayout.tsx | 22 +++++++-- src/app/index.tsx | 1 + stylePaths.js | 7 ++- 5 files changed, 106 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index d8663e36..aa166752 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.2", "license": "MIT", "dependencies": { - "@patternfly/chatbot": "^6.4.1", + "@patternfly/chatbot": "^6.5.0-prerelease.10", "@patternfly/react-core": "^6.5.0-prerelease.7", "@patternfly/react-icons": "^6.5.0-prerelease.1", "@patternfly/react-styles": "^6.5.0-prerelease.1", @@ -980,21 +980,24 @@ } }, "node_modules/@patternfly/chatbot": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@patternfly/chatbot/-/chatbot-6.4.1.tgz", - "integrity": "sha512-59Ct4uzuPjf07FW7cTU6sJP8Qpr9Sg5VM0ITEw3RjONK+b1v0gvo3F/g8ZtetGM4Rvhv1C/6V4aGH8peuQswhQ==", + "version": "6.5.0-prerelease.13", + "resolved": "https://registry.npmjs.org/@patternfly/chatbot/-/chatbot-6.5.0-prerelease.13.tgz", + "integrity": "sha512-23KYK2m0CMWjp2EL8ZzfVnW+Iqgs1DiqV/SgSZpdLcZas+zvBSMuvc2+MKo5OPW6MQ03rDp5WQ02hoV9rAJ54Q==", "license": "MIT", "dependencies": { "@patternfly/react-code-editor": "^6.1.0", "@patternfly/react-core": "^6.1.0", "@patternfly/react-icons": "^6.1.0", + "@patternfly/react-styles": "^6.1.0", "@patternfly/react-table": "^6.1.0", "@segment/analytics-next": "^1.76.0", "clsx": "^2.1.0", + "monaco-editor": "^0.54.0", "path-browserify": "^1.0.1", "posthog-js": "^1.194.4", "react-markdown": "^9.0.1", "rehype-external-links": "^3.0.0", + "rehype-highlight": "^7.0.0", "rehype-sanitize": "^6.0.0", "rehype-unwrap-images": "^1.0.0", "remark-gfm": "^4.0.0", @@ -3948,8 +3951,7 @@ "version": "3.1.7", "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.7.tgz", "integrity": "sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==", - "license": "(MPL-2.0 OR Apache-2.0)", - "peer": true + "license": "(MPL-2.0 OR Apache-2.0)" }, "node_modules/domutils": { "version": "2.8.0", @@ -5578,6 +5580,22 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-whitespace": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", @@ -5599,6 +5617,15 @@ "he": "bin/he" } }, + "node_modules/highlight.js": { + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz", + "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/hpack.js": { "version": "2.1.6", "dev": true, @@ -6988,6 +7015,21 @@ "tslib": "^2.0.3" } }, + "node_modules/lowlight": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-3.3.0.tgz", + "integrity": "sha512-0JNhgFoPvP6U6lE/UdVsSq99tn6DhjjpAj5MxG49ewd2mOBVtwWYIT8ClyABhq198aXXODMU6Ox8DrGy/CpTZQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.0.0", + "highlight.js": "~11.11.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/lru-cache": { "version": "5.1.1", "dev": true, @@ -7061,7 +7103,6 @@ "resolved": "https://registry.npmjs.org/marked/-/marked-14.0.0.tgz", "integrity": "sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==", "license": "MIT", - "peer": true, "bin": { "marked": "bin/marked.js" }, @@ -8090,7 +8131,6 @@ "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.54.0.tgz", "integrity": "sha512-hx45SEUoLatgWxHKCmlLJH81xBo0uXP4sRkESUpmDQevfi+e7K1VuiSprK6UpQ8u4zOcKNiH0pMvHvlMWA/4cw==", "license": "MIT", - "peer": true, "dependencies": { "dompurify": "3.1.7", "marked": "14.0.0" @@ -9763,6 +9803,23 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/rehype-highlight": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rehype-highlight/-/rehype-highlight-7.0.2.tgz", + "integrity": "sha512-k158pK7wdC2qL3M5NcZROZ2tR/l7zOzjxXd5VGdcfIyoijjQqpHd3JKtYSBDpDZ38UI2WJWuFAtkMDxmx5kstA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-text": "^4.0.0", + "lowlight": "^3.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/rehype-sanitize": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/rehype-sanitize/-/rehype-sanitize-6.0.0.tgz", @@ -12105,6 +12162,20 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/unist-util-is": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", diff --git a/package.json b/package.json index afcef3a1..405a1588 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "webpack-merge": "^6.0.1" }, "dependencies": { - "@patternfly/chatbot": "^6.4.1", + "@patternfly/chatbot": "^6.5.0-prerelease.10", "@patternfly/react-core": "^6.5.0-prerelease.7", "@patternfly/react-icons": "^6.5.0-prerelease.1", "@patternfly/react-styles": "^6.5.0-prerelease.1", diff --git a/src/app/AppLayout/AppLayout.tsx b/src/app/AppLayout/AppLayout.tsx index 73ce3a6b..c94d7136 100644 --- a/src/app/AppLayout/AppLayout.tsx +++ b/src/app/AppLayout/AppLayout.tsx @@ -1,4 +1,4 @@ -import * as React from 'react'; +import React, { useState } from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; import { ActionList, @@ -18,6 +18,7 @@ import { TabsComponent, Tooltip, } from '@patternfly/react-core'; +import { MessageBar } from '@patternfly/chatbot'; import { useTheme } from '@app/utils/ThemeContext'; import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon'; import HelpIcon from '@patternfly/react-icons/dist/esm/icons/help-icon'; @@ -34,6 +35,7 @@ const AppLayout: React.FunctionComponent = ({ children }) => { const location = useLocation(); const subTabsRef = React.useRef(null); const { isDarkTheme, toggleTheme } = useTheme(); + const [isThinking, setIsThinking] = useState(false); // Determine active tabs based on current route const getActiveTabIndex = React.useCallback(() => { @@ -201,10 +203,24 @@ const AppLayout: React.FunctionComponent = ({ children }) => { /> ); + const handleSendMessage = () => { + setIsThinking(true); + setTimeout(() => { + setIsThinking(false); + }, 10000); // 10 seconds + }; + const footerContent = ( - - Message bar + + ); diff --git a/src/app/index.tsx b/src/app/index.tsx index 75114c95..d77a6809 100644 --- a/src/app/index.tsx +++ b/src/app/index.tsx @@ -1,5 +1,6 @@ import * as React from 'react'; import '@patternfly/react-core/dist/styles/base.css'; +import '@patternfly/chatbot/dist/css/main.css'; import { BrowserRouter as Router } from 'react-router-dom'; import { AppLayout } from '@app/AppLayout/AppLayout'; import { AppRoutes } from '@app/routes'; diff --git a/stylePaths.js b/stylePaths.js index e7302b22..dc6ce98d 100644 --- a/stylePaths.js +++ b/stylePaths.js @@ -8,5 +8,10 @@ export const stylePaths = [ path.resolve('./node_modules/@patternfly/react-core/dist/esm/@patternfly/patternfly'), path.resolve('./node_modules/@patternfly/react-core/node_modules/@patternfly/react-styles/css'), path.resolve('./node_modules/@patternfly/react-table/node_modules/@patternfly/react-styles/css'), - path.resolve('./node_modules/@patternfly/react-inline-edit-extension/node_modules/@patternfly/react-styles/css') + path.resolve('./node_modules/@patternfly/react-inline-edit-extension/node_modules/@patternfly/react-styles/css'), + path.resolve('./node_modules/@patternfly/chatbot/dist/css'), + path.resolve('./node_modules/@patternfly/chatbot/node_modules/@patternfly/react-styles/css'), + path.resolve('./node_modules/@patternfly/react-code-editor/node_modules/@patternfly/react-styles/css'), + path.resolve('./node_modules/highlight.js/styles'), + path.resolve('./node_modules/monaco-editor') ]; From 13a7846bbb689cfb35e3af9155175b86837159f7 Mon Sep 17 00:00:00 2001 From: mfrances Date: Tue, 11 Nov 2025 10:08:37 -0500 Subject: [PATCH 14/22] changes from demo feedback --- package-lock.json | 45 +- package.json | 9 +- src/app/AppLayout/AppLayout.tsx | 52 +- src/app/Dashboard/Dashboard.tsx | 32 +- src/app/Settings/General/GeneralSettings.tsx | 4 +- src/app/Settings/Profile/ProfileSettings.tsx | 4 +- src/app/Support/Support.tsx | 3 +- src/app/bgimages/avatar.svg | 18 + src/app/compass-ui.tsx | 704 +++++++++++++++++++ src/app/index.tsx | 1 + 10 files changed, 827 insertions(+), 45 deletions(-) create mode 100644 src/app/bgimages/avatar.svg create mode 100644 src/app/compass-ui.tsx diff --git a/package-lock.json b/package-lock.json index aa166752..172436f6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,10 +9,11 @@ "version": "0.0.2", "license": "MIT", "dependencies": { - "@patternfly/chatbot": "^6.5.0-prerelease.10", - "@patternfly/react-core": "^6.5.0-prerelease.7", - "@patternfly/react-icons": "^6.5.0-prerelease.1", - "@patternfly/react-styles": "^6.5.0-prerelease.1", + "@patternfly/chatbot": "6.5.0-prerelease.10", + "@patternfly/patternfly": "6.5.0-prerelease.20", + "@patternfly/react-core": "6.5.0-prerelease.9", + "@patternfly/react-icons": "6.5.0-prerelease.4", + "@patternfly/react-styles": "6.5.0-prerelease.4", "react": "^18", "react-dom": "^18", "sirv-cli": "^3.0.1" @@ -980,9 +981,9 @@ } }, "node_modules/@patternfly/chatbot": { - "version": "6.5.0-prerelease.13", - "resolved": "https://registry.npmjs.org/@patternfly/chatbot/-/chatbot-6.5.0-prerelease.13.tgz", - "integrity": "sha512-23KYK2m0CMWjp2EL8ZzfVnW+Iqgs1DiqV/SgSZpdLcZas+zvBSMuvc2+MKo5OPW6MQ03rDp5WQ02hoV9rAJ54Q==", + "version": "6.5.0-prerelease.10", + "resolved": "https://registry.npmjs.org/@patternfly/chatbot/-/chatbot-6.5.0-prerelease.10.tgz", + "integrity": "sha512-k0yqW9kCg+FDDwTu2KA9nczczIuGtkp50ZNXlibM65MkpyPqFdRUj1i8gXMQ/34NL5C1HZNH6AcvG1R1kM3ZLw==", "license": "MIT", "dependencies": { "@patternfly/react-code-editor": "^6.1.0", @@ -1048,6 +1049,12 @@ "integrity": "sha512-iZthBoXSGQ/+PfGTdPFJVulaJZI3rwE+7A/whOXPGp3Jyq3k6X52pr1+5nlO6WHasbZ9FyeZGqXf4fazUZNjbw==", "license": "MIT" }, + "node_modules/@patternfly/patternfly": { + "version": "6.5.0-prerelease.20", + "resolved": "https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-6.5.0-prerelease.20.tgz", + "integrity": "sha512-kUGuv8/fynL2y0OZmsJbRE/auBKpr+6iQhGT1rygCxbfQeVoA5YE+KX1S3NBlCK3lsJXiLTt5OUK/8s1iZG2FA==", + "license": "MIT" + }, "node_modules/@patternfly/react-code-editor": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/@patternfly/react-code-editor/-/react-code-editor-6.4.0.tgz", @@ -1107,14 +1114,14 @@ "license": "MIT" }, "node_modules/@patternfly/react-core": { - "version": "6.5.0-prerelease.14", - "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-6.5.0-prerelease.14.tgz", - "integrity": "sha512-RCY6nT2v74+tI8M1/IGFAsapQHNoXdCQDLQRwDRZuv1QHWF/lQAnwdOetmUeGP+9iRbsf5w+kuTVpUXYk0U5bA==", + "version": "6.5.0-prerelease.9", + "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-6.5.0-prerelease.9.tgz", + "integrity": "sha512-cuDdMklrTxRPjkE2fBrCcTYlQY9CfD+jgS7NHv0oFHyY+2CwbKzVR5lnCbpsIm5sgQAAZ33KccBb1uMN4/Mrrg==", "license": "MIT", "dependencies": { - "@patternfly/react-icons": "^6.5.0-prerelease.6", - "@patternfly/react-styles": "^6.5.0-prerelease.6", - "@patternfly/react-tokens": "^6.5.0-prerelease.6", + "@patternfly/react-icons": "^6.5.0-prerelease.4", + "@patternfly/react-styles": "^6.5.0-prerelease.4", + "@patternfly/react-tokens": "^6.5.0-prerelease.4", "focus-trap": "7.6.4", "react-dropzone": "^14.3.5", "tslib": "^2.8.1" @@ -1125,9 +1132,9 @@ } }, "node_modules/@patternfly/react-icons": { - "version": "6.5.0-prerelease.6", - "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-6.5.0-prerelease.6.tgz", - "integrity": "sha512-zQpGTpKuH7ofVF9sXTDErvHwaKLFFdXw41x65VUFM5Y1z2P2xvuJhrOjQ9NeAxgMjw549/bz+s8sJKyDbeqMMQ==", + "version": "6.5.0-prerelease.4", + "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-6.5.0-prerelease.4.tgz", + "integrity": "sha512-QNDLLPcvXlZ6e1R5nKhKeyOIylWj+dwBiXMNMfpbOE6Q08bMWlRbD09OtmOItJhhKTZQ7K8OyOtcOqsWLRlv9Q==", "license": "MIT", "peerDependencies": { "react": "^17 || ^18 || ^19", @@ -1135,9 +1142,9 @@ } }, "node_modules/@patternfly/react-styles": { - "version": "6.5.0-prerelease.6", - "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-6.5.0-prerelease.6.tgz", - "integrity": "sha512-sd4Cg1t+QKkfCpSt6ofGjb4pq3QdCOyPDqrkC026amnIBX6bpmXPpQj6IHUHtydxtSm8sUjB6wnGzo4JEwTr2w==", + "version": "6.5.0-prerelease.4", + "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-6.5.0-prerelease.4.tgz", + "integrity": "sha512-v+Ncw4P2sEnOq1kK9fpTulwsIIV3PnNKsCNshyX8SUwrOq6N4TsrHYXKc5Mu2mIist56xsUNUDNuAAXo6h1XtA==", "license": "MIT" }, "node_modules/@patternfly/react-table": { diff --git a/package.json b/package.json index 405a1588..7bb1b84d 100644 --- a/package.json +++ b/package.json @@ -70,10 +70,11 @@ "webpack-merge": "^6.0.1" }, "dependencies": { - "@patternfly/chatbot": "^6.5.0-prerelease.10", - "@patternfly/react-core": "^6.5.0-prerelease.7", - "@patternfly/react-icons": "^6.5.0-prerelease.1", - "@patternfly/react-styles": "^6.5.0-prerelease.1", + "@patternfly/patternfly": "6.5.0-prerelease.20", + "@patternfly/chatbot": "6.5.0-prerelease.10", + "@patternfly/react-core": "6.5.0-prerelease.9", + "@patternfly/react-icons": "6.5.0-prerelease.4", + "@patternfly/react-styles": "6.5.0-prerelease.4", "react": "^18", "react-dom": "^18", "sirv-cli": "^3.0.1" diff --git a/src/app/AppLayout/AppLayout.tsx b/src/app/AppLayout/AppLayout.tsx index c94d7136..af9acfee 100644 --- a/src/app/AppLayout/AppLayout.tsx +++ b/src/app/AppLayout/AppLayout.tsx @@ -4,13 +4,20 @@ import { ActionList, ActionListGroup, ActionListItem, + Avatar, Button, Compass, CompassHeader, CompassMessageBar, CompassPanel, + Dropdown, + DropdownItem, + DropdownList, + Flex, MastheadBrand, MastheadLogo, + MenuToggle, + MenuToggleElement, Tab, TabContent, TabTitleText, @@ -25,6 +32,7 @@ import HelpIcon from '@patternfly/react-icons/dist/esm/icons/help-icon'; import MoonIcon from '@patternfly/react-icons/dist/esm/icons/moon-icon'; import SunIcon from '@patternfly/react-icons/dist/esm/icons/sun-icon'; import pfBackground from '../bgimages/pf-background.svg'; +import avatarSvg from '../bgimages/avatar.svg'; interface IAppLayout { children: React.ReactNode; @@ -36,6 +44,7 @@ const AppLayout: React.FunctionComponent = ({ children }) => { const subTabsRef = React.useRef(null); const { isDarkTheme, toggleTheme } = useTheme(); const [isThinking, setIsThinking] = useState(false); + const [isDropdownOpen, setIsDropdownOpen] = useState(false); // Determine active tabs based on current route const getActiveTabIndex = React.useCallback(() => { @@ -118,25 +127,59 @@ const AppLayout: React.FunctionComponent = ({ children }) => { ); + const userDropdownItems = ( + <> + My profile + User management + Logout + + ); + + const userDropdown = ( + setIsDropdownOpen(false)} + onOpenChange={(isOpen: boolean) => setIsDropdownOpen(isOpen)} + popperProps={{ position: 'right' }} + toggle={(toggleRef: React.Ref) => ( + setIsDropdownOpen(!isDropdownOpen)} + isExpanded={isDropdownOpen} + variant="plain" + isCircle + > + + User Name + + + + )} + > + {userDropdownItems} + + ); + const sidebarContent = ( - + + + + + - - - - - + +// Pill-shaped floating drawer + + {/* Drawer content */} + + +// AI thinking indicator + + {/* Shows pulsing animation while AI processes */} + + +// AI-related content with gradient border + + {/* AI-generated or AI-related content */} + +``` + +**Note**: Always refer to [staging.patternfly.org/ai/generative-uis](https://staging.patternfly.org/ai/generative-uis/overview) for the latest props, APIs, and complete working examples. + +### Available Components + +The staging site's "Generative UI" section includes: +- Compass-themed layouts and chrome +- AI-optimized form patterns +- Dynamic data display components +- Responsive templates for AI-generated UIs +- **React Flow integration** - For pipelines and topology layouts + +**Always check [staging.patternfly.org/ai/generative-uis](https://staging.patternfly.org/ai/generative-uis/overview) for the complete, up-to-date list.** + +### React Flow Integration + +For building **pipelines, workflows, and topology visualizations**, use React Flow with PatternFly: + +- **[React Flow with PatternFly Guide](https://staging.patternfly.org/ai/generative-uis/react-flow)** - Official integration guidance +- React Flow is recommended for node-based diagrams, data flows, and process visualizations +- The staging site provides PatternFly-specific styling and component examples +- Use this for any topology-type layouts or pipeline visualizations + +**When to use React Flow:** +- βœ… Pipeline visualizations (CI/CD, data pipelines) +- βœ… Workflow diagrams +- βœ… Network topology views +- βœ… State machine visualizations +- βœ… Any node-and-edge based layouts + +## Development Workflow + +### 1. Component Discovery Process + +When you need to use a component: + +``` +1. Check if it's a standard PatternFly component + β†’ Search patternfly.org first + +2. If not found or marked as "Compass" + β†’ Go to staging.patternfly.org/ai/generative-uis + +3. Look in the "Generative UI" section + β†’ Find component documentation and examples + +4. If still not found + β†’ Search staging site or ask for clarification +``` + +### 2. Implementation Guidelines + +```jsx +// βœ… Correct: Using Compass components from staging docs +// Always check staging.patternfly.org for the latest API + +import { CompassComponent } from '@patternfly/react-core'; + +export const MyGenerativeUI = () => { + return ( + + {/* Content */} + + ); +}; +``` + +### 3. Staying Current + +Since the Compass theme is under active development: + +1. **Check staging site regularly** for updates +2. **Reference the latest examples** from staging.patternfly.org +3. **Follow semantic versioning** for package updates +4. **Monitor the compass_theme branch** for updates + +## AI Agent Instructions + +### For AI Coding Assistants (Cursor, Claude Code, etc.) + +When generating code for this project: + +1. **First**: Check if the component exists on patternfly.org +2. **If not found**: Reference staging.patternfly.org/ai/generative-uis +3. **Always**: Use the "View Code" sections on the staging site +4. **Verify**: Component APIs match the staging documentation +5. **Document**: Note when using staging-only components in code comments + +### Search Strategy for AI Agents + +``` +User requests a component β†’ Is it on patternfly.org? +β”‚ +β”œβ”€ YES β†’ Use patternfly.org documentation +β”‚ +└─ NO β†’ Check staging.patternfly.org/ai/generative-uis + β”‚ + β”œβ”€ Found β†’ Use staging site documentation + β”‚ + └─ Not found β†’ Ask user for clarification or search staging site + +User requests pipeline/topology/workflow visualization? +β”‚ +└─ Use React Flow β†’ staging.patternfly.org/ai/generative-uis/react-flow +``` + +## MCP and Context7 Integration + +### Using MCP for PatternFly Documentation + +The PatternFly MCP (Model Context Protocol) server provides access to official PatternFly documentation. However: + +- ❌ **MCP does NOT include staging site documentation** +- ❌ **MCP does NOT include unpublished Compass components** +- βœ… **MCP DOES include all published PatternFly components** + +### When MCP Returns No Results + +If the PatternFly MCP cannot find a component: + +1. It's likely a Compass/Generative UI component +2. Go to [staging.patternfly.org/ai/generative-uis](https://staging.patternfly.org/ai/generative-uis/overview) +3. Search the "Generative UI" section +4. Use the staging site's "View Code" examples + +### Context7 Strategy + +When using Context7 with AI assistants: + +``` +# Standard components - use MCP +get-library-docs β†’ PatternFly React β†’ Found βœ… + +# Compass components - use web search or staging site +get-library-docs β†’ PatternFly React β†’ Not Found ❌ +β†’ Manual reference to staging.patternfly.org βœ… +``` + +## Quick Reference + +### Essential Links + +| Resource | URL | Use For | +|----------|-----|---------| +| **Staging Site - Generative UI** | [staging.patternfly.org/ai/generative-uis](https://staging.patternfly.org/ai/generative-uis/overview) | Compass components, Generative UI | +| **React Flow Integration** | [staging.patternfly.org/ai/generative-uis/react-flow](https://staging.patternfly.org/ai/generative-uis/react-flow) | Pipelines, topology, workflows | +| **Production Site** | [patternfly.org](https://www.patternfly.org/) | Standard PatternFly components | +| **GitHub Repository** | [github.com/patternfly/patternfly-react](https://github.com/patternfly/patternfly-react) | Source code, issues, PRs | + +### Component Prefixes to Watch For + +- `Compass*` - Likely on staging site only +- `Generative*` - Check staging site first +- Standard PatternFly components - Use patternfly.org + +## Troubleshooting + +### "Component Not Found on patternfly.org" + +**Solution**: Check [staging.patternfly.org/ai/generative-uis](https://staging.patternfly.org/ai/generative-uis/overview) + +### "MCP Cannot Find Component Documentation" + +**Solution**: This is expected for Compass components. Reference the staging site. + +### "Component API Different Than Expected" + +**Solution**: Compass components may have different APIs. Always verify against staging site documentation. + +### "Import Errors with Compass Components" + +**Solution**: +1. Check package.json for correct PatternFly versions +2. Ensure you're on the compass_theme branch +3. Verify imports match staging site examples + +## Best Practices + +### For AI-Generated Code + +1. βœ… **Add comments** noting when using staging-only components +2. βœ… **Link to staging docs** in component docstrings +3. βœ… **Test thoroughly** as these components may have different APIs +4. βœ… **Check staging site** before each coding session for updates + +### For Human Developers + +1. βœ… **Bookmark the staging site** for quick reference +2. βœ… **Communicate with AI agents** when components aren't found +3. βœ… **Review generated code** to ensure staging docs were followed +4. βœ… **Stay updated** on Compass component releases + +## Transition Plan + +### When Compass Components Are Published + +Once Compass components are officially published to patternfly.org: + +1. Documentation will migrate to main site +2. MCP will include Compass component docs +3. This guide will be updated with migration notes +4. Standard PatternFly documentation practices will apply + +### Monitoring for Publication + +Watch for: +- Announcements on [PatternFly GitHub](https://github.com/patternfly/patternfly-react) +- Release notes mentioning "Compass" or "Generative UI" +- Component availability on main patternfly.org site + +## Summary for AI Agents + +**TL;DR**: +- Compass components = staging.patternfly.org/ai/generative-uis +- Standard components = patternfly.org +- MCP won't have Compass docs yet +- Always check staging site first for Compass theme work +- This project is a template for AI-assisted PatternFly development + +--- + +**Last Updated**: November 2025 +**Branch**: compass_theme +**Status**: Compass components in active development on staging site + diff --git a/ai-documentation/resources/external-links.md b/ai-documentation/resources/external-links.md index 874262a8..0cdfe128 100644 --- a/ai-documentation/resources/external-links.md +++ b/ai-documentation/resources/external-links.md @@ -15,7 +15,23 @@ External resources are essential for staying current with PatternFly updates, fi ## Official PatternFly Documentation -### Primary Documentation +### ⚠️ COMPASS THEME: Staging Site Documentation + +**🚨 IMPORTANT for compass_theme branch:** + +This project uses **Compass theme components** that are **not yet published** on the main PatternFly site. For Compass/Generative UI components, always check the staging site first: + +- **[Staging PatternFly - Generative UIs Overview](https://staging.patternfly.org/ai/generative-uis/overview)** - 🎯 PRIMARY source for Compass components +- **[Staging PatternFly - Generative UI Section](https://staging.patternfly.org/ai/generative-uis)** - Browse all Generative UI documentation +- **[React Flow with PatternFly](https://staging.patternfly.org/ai/generative-uis/react-flow)** - Pipelines, topology, and workflow visualizations + +**When to use staging vs production:** +- βœ… **Staging site** β†’ Compass components, Generative UI patterns, React Flow integration, unpublished components +- βœ… **Production site** β†’ Standard PatternFly components, published features + +πŸ“– **See [Compass Theme Guide](../guidelines/compass-theme-guide.md) for complete instructions** + +### Primary Documentation (Production) - **[PatternFly.org](https://www.patternfly.org/)** - Main documentation site with component APIs and examples - **[PatternFly Design Guidelines](https://www.patternfly.org/get-started/design)** - Design principles and patterns - **[PatternFly React Components](https://www.patternfly.org/components)** - Complete component library documentation @@ -32,6 +48,7 @@ External resources are essential for staying current with PatternFly updates, fi ### Specialized Features - **[PatternFly Charts](https://www.patternfly.org/charts/about)** - Data visualization guidelines - **[PatternFly AI - Chatbot](https://www.patternfly.org/patternfly-ai/chatbot/overview)** - AI chatbot components +- **[React Flow with PatternFly](https://staging.patternfly.org/ai/generative-uis/react-flow)** - 🚨 Staging site: Pipelines, topology, and workflow visualizations - **[Accessibility Guidelines](https://www.patternfly.org/accessibility/accessibility-fundamentals)** - WCAG compliance and best practices ## Official Repositories diff --git a/package-lock.json b/package-lock.json index 9c3a9378..b6cae816 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,6 +29,7 @@ "@typescript-eslint/eslint-plugin": "^8.34.0", "@typescript-eslint/parser": "^8.34.0", "@vitejs/plugin-react": "^4.3.3", + "@vitest/coverage-v8": "^4.0.10", "copy-webpack-plugin": "^13.0.0", "css-loader": "^7.1.2", "css-minimizer-webpack-plugin": "^7.0.2", @@ -360,6 +361,16 @@ "node": ">=6.9.0" } }, + "node_modules/@bcoe/v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz", + "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/@borewit/text-codec": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@borewit/text-codec/-/text-codec-0.1.1.tgz", @@ -2354,6 +2365,38 @@ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, + "node_modules/@vitest/coverage-v8": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.0.10.tgz", + "integrity": "sha512-g+brmtoKa/sAeIohNJnnWhnHtU6GuqqVOSQ4SxDIPcgZWZyhJs5RmF5LpqXs8Kq64lANP+vnbn5JLzhLj/G56g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^1.0.2", + "@vitest/utils": "4.0.10", + "ast-v8-to-istanbul": "^0.3.8", + "debug": "^4.4.3", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.2.0", + "magicast": "^0.5.1", + "std-env": "^3.10.0", + "tinyrainbow": "^3.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/browser": "4.0.10", + "vitest": "4.0.10" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } + } + }, "node_modules/@vitest/expect": { "version": "4.0.10", "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.10.tgz", @@ -2978,6 +3021,25 @@ "node": ">=12" } }, + "node_modules/ast-v8-to-istanbul": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-0.3.8.tgz", + "integrity": "sha512-szgSZqUxI5T8mLKvS7WTjF9is+MVbOeLADU73IseOcrqhxr/VAvy6wfoVE39KnKzA7JRhjF5eUagNlHwvZPlKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.31", + "estree-walker": "^3.0.3", + "js-tokens": "^9.0.1" + } + }, + "node_modules/ast-v8-to-istanbul/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true, + "license": "MIT" + }, "node_modules/async-function": { "version": "1.0.0", "dev": true, @@ -6957,6 +7019,60 @@ "node": ">=0.10.0" } }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/iterator.prototype": { "version": "1.1.5", "dev": true, @@ -7560,6 +7676,18 @@ "@jridgewell/sourcemap-codec": "^1.5.5" } }, + "node_modules/magicast": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.1.tgz", + "integrity": "sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "source-map-js": "^1.2.1" + } + }, "node_modules/make-asynchronous": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-asynchronous/-/make-asynchronous-1.0.1.tgz", @@ -7591,6 +7719,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/markdown-table": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", diff --git a/package.json b/package.json index 4a9addc7..d11197fd 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "@typescript-eslint/eslint-plugin": "^8.34.0", "@typescript-eslint/parser": "^8.34.0", "@vitejs/plugin-react": "^4.3.3", + "@vitest/coverage-v8": "^4.0.10", "copy-webpack-plugin": "^13.0.0", "css-loader": "^7.1.2", "css-minimizer-webpack-plugin": "^7.0.2", @@ -70,13 +71,13 @@ "webpack-merge": "^6.0.1" }, "dependencies": { - "@patternfly/patternfly": "6.5.0-prerelease.27", "@patternfly/chatbot": "6.5.0-prerelease.18", + "@patternfly/patternfly": "6.5.0-prerelease.27", "@patternfly/react-core": "6.5.0-prerelease.14", + "@patternfly/react-data-view": "6.4.0", "@patternfly/react-icons": "6.5.0-prerelease.6", "@patternfly/react-styles": "6.5.0-prerelease.6", "@patternfly/react-table": "6.5.0-prerelease.14", - "@patternfly/react-data-view": "6.4.0", "react": "^18", "react-dom": "^18", "sirv-cli": "^3.0.1" diff --git a/src/app/__snapshots__/app.test.tsx.snap b/src/app/__snapshots__/app.test.tsx.snap deleted file mode 100644 index d2132a71..00000000 --- a/src/app/__snapshots__/app.test.tsx.snap +++ /dev/null @@ -1,313 +0,0 @@ -// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html - -exports[`App tests > should render default App component 1`] = ` - -
- -
-
- - - -
- -
-
-
-
-
- -
-
-
-
-
-

- Dashboard Page Title! -

-
-
-
-
-
-`; diff --git a/src/app/app.test.tsx b/src/app/app.test.tsx index 2617e083..811a27ed 100644 --- a/src/app/app.test.tsx +++ b/src/app/app.test.tsx @@ -6,54 +6,45 @@ import { describe, expect, it, test } from 'vitest'; describe('App tests', () => { test('should render default App component', () => { - const { asFragment } = render(); - - expect(asFragment()).toMatchSnapshot(); - }); - - it('should render a nav-toggle button', () => { render(); - expect(screen.getByRole('button', { name: 'Global navigation' })).toBeVisible(); + // Test that key components are present + expect(screen.getByRole('navigation', { name: 'Main navigation' })).toBeInTheDocument(); + expect(screen.getByText('PatternFly logo')).toBeInTheDocument(); + expect(screen.getByText('User Name')).toBeInTheDocument(); }); - // I'm fairly sure that this test not going to work properly no matter what we do since JSDOM doesn't actually - // draw anything. We could potentially make something work, likely using a different test environment, but - // using Cypress for this kind of test would be more efficient. - it.skip('should hide the sidebar on smaller viewports', () => { - Object.defineProperty(window, 'innerWidth', { writable: true, configurable: true, value: 600 }); - + it('should render navigation tabs', () => { render(); - window.dispatchEvent(new Event('resize')); - - expect(screen.queryByRole('link', { name: 'Dashboard' })).not.toBeInTheDocument(); + expect(screen.getByRole('tab', { name: 'Dashboard' })).toBeVisible(); + expect(screen.getByRole('tab', { name: 'Support' })).toBeVisible(); + expect(screen.getByRole('tab', { name: 'Settings' })).toBeVisible(); }); - it('should expand the sidebar on larger viewports', () => { + it('should render sidebar buttons', () => { render(); - act(() => { - window.dispatchEvent(new Event('resize')); - }); + // Get all buttons with these names (there are two sidebars with the same buttons) + const componentsButtons = screen.getAllByRole('button', { name: 'Components' }); + const helpButtons = screen.getAllByRole('button', { name: 'Help' }); + const themeButtons = screen.getAllByRole('button', { name: 'Switch to dark theme' }); - expect(screen.getByRole('link', { name: 'Dashboard' })).toBeVisible(); + expect(componentsButtons.length).toBeGreaterThan(0); + expect(helpButtons.length).toBeGreaterThan(0); + expect(themeButtons.length).toBeGreaterThan(0); + expect(componentsButtons[0]).toBeVisible(); }); - it('should hide the sidebar when clicking the nav-toggle button', async () => { + it('should allow tab navigation', async () => { const user = userEvent.setup(); render(); - act(() => { - window.dispatchEvent(new Event('resize')); - }); - const button = screen.getByRole('button', { name: 'Global navigation' }); - - expect(screen.getByRole('link', { name: 'Dashboard' })).toBeVisible(); + const supportTab = screen.getByRole('tab', { name: 'Support' }); - await user.click(button); + await user.click(supportTab); - expect(screen.queryByRole('link', { name: 'Dashboard' })).not.toBeInTheDocument(); + expect(supportTab).toHaveAttribute('aria-selected', 'true'); }); }); diff --git a/src/test/mocks/monaco-editor.ts b/src/test/mocks/monaco-editor.ts new file mode 100644 index 00000000..e8b7fdef --- /dev/null +++ b/src/test/mocks/monaco-editor.ts @@ -0,0 +1,3 @@ +// Mock for monaco-editor - not needed in tests +export default {}; + diff --git a/src/test/setup.ts b/src/test/setup.ts index 6bd7c30c..58d85159 100644 --- a/src/test/setup.ts +++ b/src/test/setup.ts @@ -1,6 +1,11 @@ import '@testing-library/jest-dom'; import { vi } from 'vitest'; +// Mock PatternFly Chatbot MessageBar to avoid monaco-editor dependency +vi.mock('@patternfly/chatbot/dist/dynamic/MessageBar', () => ({ + MessageBar: vi.fn(() => null), +})); + // Mock CSS imports Object.defineProperty(window, 'matchMedia', { writable: true, @@ -21,7 +26,6 @@ global.ResizeObserver = class ResizeObserver { observe = vi.fn(); unobserve = vi.fn(); disconnect = vi.fn(); - constructor(callback: ResizeObserverCallback) {} }; // Mock IntersectionObserver @@ -29,5 +33,4 @@ global.IntersectionObserver = class IntersectionObserver { observe = vi.fn(); unobserve = vi.fn(); disconnect = vi.fn(); - constructor(callback: IntersectionObserverCallback, options?: IntersectionObserverInit) {} } as any; diff --git a/vitest.config.ts b/vitest.config.ts index cce22eab..1aeadad5 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -14,6 +14,11 @@ export default defineConfig({ resolve: { alias: { '@app': path.resolve(__dirname, './src/app'), + // Mock monaco-editor to avoid bundling it in tests + 'monaco-editor': path.resolve(__dirname, './src/test/mocks/monaco-editor.ts'), }, }, + ssr: { + noExternal: [/@patternfly\/.*/], + }, }); From 375b5bc31216386433718cbf1325a4f7c6f61fad Mon Sep 17 00:00:00 2001 From: nicolethoen Date: Wed, 19 Nov 2025 09:45:34 -0500 Subject: [PATCH 18/22] update compass theme branch README --- README.md | 80 ++++++++++++++++++++++++++++++++++++-------- seed_screenshot.png | Bin 0 -> 147772 bytes 2 files changed, 66 insertions(+), 14 deletions(-) create mode 100644 seed_screenshot.png diff --git a/README.md b/README.md index c545394e..abac2e72 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,61 @@ -# Patternfly Seed +# PatternFly React Seed - Compass Theme Branch -Patternfly Seed is an open source build scaffolding utility for web apps. The primary purpose of this project is to give developers a jump start when creating new projects that will use patternfly. A secondary purpose of this project is to serve as a reference for how to configure various aspects of an application that uses patternfly, webpack, react, typescript, etc. +This is the **Compass theme branch** of PatternFly React Seed - a specialized build scaffolding utility designed for creating modern, AI-optimized web applications with PatternFly's new **Compass theme** and **Generative UI** components. -Out of the box you'll get an app layout with chrome (header/sidebar), routing, build pipeline, test suite, and some code quality tools. Basically, all the essentials. +## 🎯 What is This Branch? -Out of box dashboard view of patternfly seed +The `compass_theme` branch is a **seed/template for building Compass-based UIs** that leverage PatternFly's latest generative UI capabilities, including: + +- 🎨 **Glass-morphism effects** and modern visual treatments +- πŸ€– **AI-optimized components** with thinking indicators and AI content highlighting +- πŸ“ **Compass layout components** designed for agentic development +- πŸ”„ **React Flow integration** for pipelines and topology visualizations +- ✨ **New design tokens** for gradients, animations, and background effects + +Out of the box you'll get a Compass-themed app layout with chrome (header/sidebar), routing, build pipeline, test suite, and code quality tools - all optimized for AI-assisted development with tools like Cursor and Claude Code. + +Compass theme dashboard with glass effects and modern dark UI + +> **Note**: This branch uses **unpublished Compass components** from PatternFly's staging site. See the [Compass Theme Guide](./ai-documentation/guidelines/compass-theme-guide.md) for complete documentation. ## Quick-start ```bash +# Clone the repository and checkout the compass_theme branch git clone https://github.com/patternfly/patternfly-react-seed cd patternfly-react-seed +git checkout compass_theme + +# Install dependencies and start the dev server npm install && npm run start:dev ``` + +The app will start on `http://localhost:9000` with the Compass theme and all generative UI features enabled. + +## Compass Theme Features + +This branch includes PatternFly's Compass enablement features: + +### New Component Variants +- **`isPlain`** - Transparent cards, data lists, and tables for glass-morphism effects +- **`isVertical`** - Vertical action lists for sidebars +- **`isNav`** - Optimized tab styling for top navigation +- **`isCircle`** - Circular buttons and menu toggles +- **`isPill`** - Rounded, floating drawer panels +- **`isThinking`** - Pulsing animation for AI processing states +- **`hasAiIndicator`** - Gradient borders for AI-related content + +### Design Tokens +- Glass-like visual effects +- Background and border gradients +- Smooth animations +- Background image support + +### React Flow Integration +Build pipelines, topology views, and workflow diagrams with React Flow + PatternFly. See [staging.patternfly.org/ai/generative-uis/react-flow](https://staging.patternfly.org/ai/generative-uis/react-flow). + +πŸ“– **Full documentation**: [Compass Theme Guide](./ai-documentation/guidelines/compass-theme-guide.md) + ## Development scripts ```sh # Install development/build dependencies @@ -105,19 +148,28 @@ If you are using an AI-enabled IDE, the AI agent will automatically leverage the By following these rulesβ€”either directly or via your AI assistantβ€”you'll ensure your app is maintainable, accessible, and consistent with PatternFly best practices. -### 🚨 Compass Theme Branch +### 🚨 Working with Compass Components + +This `compass_theme` branch uses **unpublished Compass theme components** from PatternFly's **Generative UI** initiative. These cutting-edge components are optimized for AI-assisted development and generative interfaces. + +**πŸ“š Documentation Sources:** -This branch (`compass_theme`) uses **Compass theme components** from PatternFly's **Generative UI** initiative. These components are optimized for AI-assisted development but are **not yet published** on the main PatternFly website. +| Component Type | Documentation Location | +|----------------|------------------------| +| 🎨 **Compass/Generative UI** | [staging.patternfly.org/ai/generative-uis](https://staging.patternfly.org/ai/generative-uis/overview) | +| πŸ”„ **React Flow** | [staging.patternfly.org/ai/generative-uis/react-flow](https://staging.patternfly.org/ai/generative-uis/react-flow) | +| πŸ“˜ **Standard PatternFly** | [patternfly.org](https://www.patternfly.org/) | +| πŸ“– **Complete Guide** | [Compass Theme Guide](./ai-documentation/guidelines/compass-theme-guide.md) | -**Important for AI agents and developers:** -- πŸ“– Compass component docs are on **[staging.patternfly.org/ai/generative-uis](https://staging.patternfly.org/ai/generative-uis/overview)** -- πŸ” Standard PatternFly components remain on **[patternfly.org](https://www.patternfly.org/)** -- πŸ“ See [Compass Theme Guide](./ai-documentation/guidelines/compass-theme-guide.md) for complete instructions +**⚠️ Important Notes:** +- Compass components are **not yet on the main PatternFly site** - use staging site +- PatternFly MCP server won't have Compass component docs yet +- Always check the staging site first for Compass-specific features -**AI agents should:** -1. Check staging.patternfly.org for Compass/Generative UI components first -2. Fall back to patternfly.org for standard components -3. Note that PatternFly MCP won't have Compass docs yet +**πŸ€– For AI Agents:** +- Use [staging.patternfly.org/ai/generative-uis](https://staging.patternfly.org/ai/generative-uis/overview) for Compass components +- Use [patternfly.org](https://www.patternfly.org/) for standard components +- See [Quick Reference](./ai-documentation/COMPASS-QUICK-REF.md) for decision trees ## Multi environment configuration This project uses [dotenv-webpack](https://www.npmjs.com/package/dotenv-webpack) for exposing environment variables to your code. Either export them at the system level like `export MY_ENV_VAR=http://dev.myendpoint.com && npm run start:dev` or simply drop a `.env` file in the root that contains your key-value pairs like below: diff --git a/seed_screenshot.png b/seed_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..ded2de6f42b8742899ea8959951957087608ec51 GIT binary patch literal 147772 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 Date: Wed, 19 Nov 2025 11:03:27 -0500 Subject: [PATCH 19/22] bump chatbot version --- package-lock.json | 24 ++++++++++++++++++------ package.json | 2 +- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index b6cae816..88b6fba4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.2", "license": "MIT", "dependencies": { - "@patternfly/chatbot": "6.5.0-prerelease.18", + "@patternfly/chatbot": "^6.5.0-prerelease.19", "@patternfly/patternfly": "6.5.0-prerelease.27", "@patternfly/react-core": "6.5.0-prerelease.14", "@patternfly/react-data-view": "6.4.0", @@ -1080,9 +1080,9 @@ } }, "node_modules/@patternfly/chatbot": { - "version": "6.5.0-prerelease.18", - "resolved": "https://registry.npmjs.org/@patternfly/chatbot/-/chatbot-6.5.0-prerelease.18.tgz", - "integrity": "sha512-14PQRchcNPXkhxA8oVnE3MzXJmn0DmCreP+YzrZhNkAhT8AFfav1yF68j9+R9OIa8Rje5dyX8MKQc2+huKT/ZA==", + "version": "6.5.0-prerelease.19", + "resolved": "https://registry.npmjs.org/@patternfly/chatbot/-/chatbot-6.5.0-prerelease.19.tgz", + "integrity": "sha512-UKr5k1iBh+Lici6ao2O1RvPMbV1+4UF0508qCN6KZWao7BKjyhBYrkZSFazF1ZLGUeLsQyg8IWXNe0nitKQLkQ==", "license": "MIT", "dependencies": { "@patternfly/react-code-editor": "^6.1.0", @@ -1092,7 +1092,6 @@ "@patternfly/react-table": "^6.1.0", "@segment/analytics-next": "^1.76.0", "clsx": "^2.1.0", - "monaco-editor": "^0.54.0", "path-browserify": "^1.0.1", "posthog-js": "^1.194.4", "react-markdown": "^9.0.1", @@ -1104,8 +1103,18 @@ "unist-util-visit": "^5.0.0" }, "peerDependencies": { + "@monaco-editor/react": "^4.7.0", + "monaco-editor": "^0.54.0", "react": "^18 || ^19", "react-dom": "^18 || ^19" + }, + "peerDependenciesMeta": { + "@monaco-editor/react": { + "optional": false + }, + "monaco-editor": { + "optional": false + } } }, "node_modules/@patternfly/chatbot/node_modules/@patternfly/react-core": { @@ -4323,7 +4332,8 @@ "version": "3.1.7", "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.7.tgz", "integrity": "sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==", - "license": "(MPL-2.0 OR Apache-2.0)" + "license": "(MPL-2.0 OR Apache-2.0)", + "peer": true }, "node_modules/domutils": { "version": "2.8.0", @@ -7750,6 +7760,7 @@ "resolved": "https://registry.npmjs.org/marked/-/marked-14.0.0.tgz", "integrity": "sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==", "license": "MIT", + "peer": true, "bin": { "marked": "bin/marked.js" }, @@ -8778,6 +8789,7 @@ "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.54.0.tgz", "integrity": "sha512-hx45SEUoLatgWxHKCmlLJH81xBo0uXP4sRkESUpmDQevfi+e7K1VuiSprK6UpQ8u4zOcKNiH0pMvHvlMWA/4cw==", "license": "MIT", + "peer": true, "dependencies": { "dompurify": "3.1.7", "marked": "14.0.0" diff --git a/package.json b/package.json index d11197fd..860ff56d 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "webpack-merge": "^6.0.1" }, "dependencies": { - "@patternfly/chatbot": "6.5.0-prerelease.18", + "@patternfly/chatbot": "^6.5.0-prerelease.19", "@patternfly/patternfly": "6.5.0-prerelease.27", "@patternfly/react-core": "6.5.0-prerelease.14", "@patternfly/react-data-view": "6.4.0", From 1964161fd3e461e7d645e580d441101ee91e096e Mon Sep 17 00:00:00 2001 From: Donald Labaj Date: Sun, 1 Feb 2026 09:50:39 -0500 Subject: [PATCH 20/22] fix: Removes vitest since it can not be used with webpack. --- jest.config.cjs | 20 ++++++++++++++++++++ package.json | 17 +++++++++-------- src/app/app.test.tsx | 1 - src/test/mocks/fileMock.cjs | 1 + src/test/mocks/styleMock.cjs | 1 + src/test/setup.ts | 34 +++++++++++++++++++--------------- vitest.config.ts | 24 ------------------------ 7 files changed, 50 insertions(+), 48 deletions(-) create mode 100644 jest.config.cjs create mode 100644 src/test/mocks/fileMock.cjs create mode 100644 src/test/mocks/styleMock.cjs delete mode 100644 vitest.config.ts diff --git a/jest.config.cjs b/jest.config.cjs new file mode 100644 index 00000000..7aba2500 --- /dev/null +++ b/jest.config.cjs @@ -0,0 +1,20 @@ +/** @type {import('jest').Config} */ +module.exports = { + testEnvironment: 'jest-environment-jsdom', + setupFilesAfterEnv: ['/src/test/setup.ts'], + moduleNameMapper: { + '\\.(css|less|scss|sass)$': '/src/test/mocks/styleMock.cjs', + '\\.(svg|png|jpg|jpeg|gif|ico|webp)$': '/src/test/mocks/fileMock.cjs', + '^@app/(.*)$': '/src/app/$1', + 'monaco-editor': '/src/test/mocks/monaco-editor.ts', + }, + transform: { + '^.+\\.(ts|tsx|js|jsx)$': ['ts-jest', { useESM: false }], + }, + transformIgnorePatterns: [ + '/node_modules/(?!(@patternfly|react-router)/)', + ], + testMatch: ['**/__tests__/**/*.(ts|tsx|js)', '**/*.test.(ts|tsx|js)'], + moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'], + collectCoverageFrom: ['src/**/*.{ts,tsx}', '!src/**/*.d.ts', '!src/test/**'], +}; diff --git a/package.json b/package.json index 860ff56d..7fbbd92f 100644 --- a/package.json +++ b/package.json @@ -11,9 +11,9 @@ "build": "NODE_OPTIONS='--max-old-space-size=4096' webpack --config webpack.prod.js", "start": "sirv dist --cors --single --host --port 8080", "start:dev": "webpack serve --color --progress --config webpack.dev.js", - "test": "vitest run", - "test:watch": "vitest", - "test:coverage": "vitest run --coverage", + "test": "jest", + "test:watch": "jest --watch", + "test:coverage": "jest --coverage", "eslint": "eslint --ext .tsx,.js ./src/", "lint": "npm run eslint", "format": "prettier --check --write ./src/**/*.{tsx,ts}", @@ -25,14 +25,14 @@ }, "devDependencies": { "@eslint/js": "^9.29.0", + "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.3.0", "@testing-library/user-event": "^14.6.1", "@types/react-router-dom": "^5.3.3", "@typescript-eslint/eslint-plugin": "^8.34.0", "@typescript-eslint/parser": "^8.34.0", - "@vitejs/plugin-react": "^4.3.3", - "@vitest/coverage-v8": "^4.0.10", + "@types/jest": "^29.5.14", "copy-webpack-plugin": "^13.0.0", "css-loader": "^7.1.2", "css-minimizer-webpack-plugin": "^7.0.2", @@ -43,7 +43,9 @@ "eslint-plugin-react-hooks": "^5.2.0", "html-webpack-plugin": "^5.6.3", "imagemin": "^9.0.0", - "jsdom": "^25.0.1", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-fixed-jsdom": "^0.0.9", "mini-css-extract-plugin": "^2.9.2", "postcss": "^8.4.49", "prettier": "^3.5.3", @@ -56,14 +58,13 @@ "style-loader": "^4.0.0", "svg-url-loader": "^8.0.0", "terser-webpack-plugin": "^5.3.14", + "ts-jest": "^29.2.5", "ts-loader": "^9.5.2", "tsconfig-paths-webpack-plugin": "^4.2.0", "tslib": "^2.8.1", "typescript": "^5.8.3", "typescript-eslint": "^8.34.0", "url-loader": "^4.1.1", - "vite": "^6.4.1", - "vitest": "^4.0.5", "webpack": "^5.97.0", "webpack-bundle-analyzer": "^4.10.2", "webpack-cli": "^5.1.4", diff --git a/src/app/app.test.tsx b/src/app/app.test.tsx index 811a27ed..ac8e410e 100644 --- a/src/app/app.test.tsx +++ b/src/app/app.test.tsx @@ -2,7 +2,6 @@ import * as React from 'react'; import App from '@app/index'; import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; -import { describe, expect, it, test } from 'vitest'; describe('App tests', () => { test('should render default App component', () => { diff --git a/src/test/mocks/fileMock.cjs b/src/test/mocks/fileMock.cjs new file mode 100644 index 00000000..86059f36 --- /dev/null +++ b/src/test/mocks/fileMock.cjs @@ -0,0 +1 @@ +module.exports = 'test-file-stub'; diff --git a/src/test/mocks/styleMock.cjs b/src/test/mocks/styleMock.cjs new file mode 100644 index 00000000..f053ebf7 --- /dev/null +++ b/src/test/mocks/styleMock.cjs @@ -0,0 +1 @@ +module.exports = {}; diff --git a/src/test/setup.ts b/src/test/setup.ts index 58d85159..95e73f3e 100644 --- a/src/test/setup.ts +++ b/src/test/setup.ts @@ -1,36 +1,40 @@ +import { TextEncoder, TextDecoder } from 'util'; import '@testing-library/jest-dom'; -import { vi } from 'vitest'; + +// Polyfill for jsdom (react-router etc. may use these) +global.TextEncoder = TextEncoder; +global.TextDecoder = TextDecoder as typeof global.TextDecoder; // Mock PatternFly Chatbot MessageBar to avoid monaco-editor dependency -vi.mock('@patternfly/chatbot/dist/dynamic/MessageBar', () => ({ - MessageBar: vi.fn(() => null), +jest.mock('@patternfly/chatbot/dist/dynamic/MessageBar', () => ({ + MessageBar: jest.fn(() => null), })); // Mock CSS imports Object.defineProperty(window, 'matchMedia', { writable: true, - value: vi.fn().mockImplementation(query => ({ + value: jest.fn().mockImplementation((query: string) => ({ matches: false, media: query, onchange: null, - addListener: vi.fn(), // deprecated - removeListener: vi.fn(), // deprecated - addEventListener: vi.fn(), - removeEventListener: vi.fn(), - dispatchEvent: vi.fn(), + addListener: jest.fn(), + removeListener: jest.fn(), + addEventListener: jest.fn(), + removeEventListener: jest.fn(), + dispatchEvent: jest.fn(), })), }); // Mock ResizeObserver global.ResizeObserver = class ResizeObserver { - observe = vi.fn(); - unobserve = vi.fn(); - disconnect = vi.fn(); + observe = jest.fn(); + unobserve = jest.fn(); + disconnect = jest.fn(); }; // Mock IntersectionObserver global.IntersectionObserver = class IntersectionObserver { - observe = vi.fn(); - unobserve = vi.fn(); - disconnect = vi.fn(); + observe = jest.fn(); + unobserve = jest.fn(); + disconnect = jest.fn(); } as any; diff --git a/vitest.config.ts b/vitest.config.ts deleted file mode 100644 index 1aeadad5..00000000 --- a/vitest.config.ts +++ /dev/null @@ -1,24 +0,0 @@ -/// -import { defineConfig } from 'vitest/config'; -import react from '@vitejs/plugin-react'; -import path from 'path'; - -export default defineConfig({ - plugins: [react()], - test: { - environment: 'jsdom', - setupFiles: ['./src/test/setup.ts'], - globals: true, - css: true, - }, - resolve: { - alias: { - '@app': path.resolve(__dirname, './src/app'), - // Mock monaco-editor to avoid bundling it in tests - 'monaco-editor': path.resolve(__dirname, './src/test/mocks/monaco-editor.ts'), - }, - }, - ssr: { - noExternal: [/@patternfly\/.*/], - }, -}); From bd78c767a095787473795db85252f4ca1aa24e47 Mon Sep 17 00:00:00 2001 From: Donald Labaj Date: Wed, 4 Feb 2026 10:15:42 -0500 Subject: [PATCH 21/22] chore: updated to fix lint issue. --- src/test/setup.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/setup.ts b/src/test/setup.ts index 95e73f3e..ae4d42b9 100644 --- a/src/test/setup.ts +++ b/src/test/setup.ts @@ -1,4 +1,4 @@ -import { TextEncoder, TextDecoder } from 'util'; +import { TextDecoder, TextEncoder } from 'util'; import '@testing-library/jest-dom'; // Polyfill for jsdom (react-router etc. may use these) From 226f158426a72a1259b13ebc09ba6f3fe45be802 Mon Sep 17 00:00:00 2001 From: Austin Sullivan Date: Wed, 27 May 2026 10:42:36 -0400 Subject: [PATCH 22/22] feat(deps): update PatternFly to 6.5.1 --- package-lock.json | 11240 ++++++++++------- package.json | 12 +- src/app/AppLayout/AppLayout.tsx | 21 +- src/app/Dashboard/Dashboard.tsx | 26 +- src/app/Settings/General/GeneralSettings.tsx | 6 +- src/app/Settings/Profile/ProfileSettings.tsx | 6 +- src/app/Support/Support.tsx | 6 +- 7 files changed, 6698 insertions(+), 4619 deletions(-) diff --git a/package-lock.json b/package-lock.json index 88b6fba4..7d64f65f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,27 +9,27 @@ "version": "0.0.2", "license": "MIT", "dependencies": { - "@patternfly/chatbot": "^6.5.0-prerelease.19", - "@patternfly/patternfly": "6.5.0-prerelease.27", - "@patternfly/react-core": "6.5.0-prerelease.14", + "@patternfly/chatbot": "6.5.0", + "@patternfly/patternfly": "6.5.2", + "@patternfly/react-core": "6.5.1", "@patternfly/react-data-view": "6.4.0", - "@patternfly/react-icons": "6.5.0-prerelease.6", - "@patternfly/react-styles": "6.5.0-prerelease.6", - "@patternfly/react-table": "6.5.0-prerelease.14", + "@patternfly/react-icons": "6.5.1", + "@patternfly/react-styles": "6.5.1", + "@patternfly/react-table": "6.5.1", "react": "^18", "react-dom": "^18", "sirv-cli": "^3.0.1" }, "devDependencies": { "@eslint/js": "^9.29.0", + "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.3.0", "@testing-library/user-event": "^14.6.1", + "@types/jest": "^29.5.14", "@types/react-router-dom": "^5.3.3", "@typescript-eslint/eslint-plugin": "^8.34.0", "@typescript-eslint/parser": "^8.34.0", - "@vitejs/plugin-react": "^4.3.3", - "@vitest/coverage-v8": "^4.0.10", "copy-webpack-plugin": "^13.0.0", "css-loader": "^7.1.2", "css-minimizer-webpack-plugin": "^7.0.2", @@ -40,7 +40,9 @@ "eslint-plugin-react-hooks": "^5.2.0", "html-webpack-plugin": "^5.6.3", "imagemin": "^9.0.0", - "jsdom": "^25.0.1", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-fixed-jsdom": "^0.0.9", "mini-css-extract-plugin": "^2.9.2", "postcss": "^8.4.49", "prettier": "^3.5.3", @@ -53,14 +55,13 @@ "style-loader": "^4.0.0", "svg-url-loader": "^8.0.0", "terser-webpack-plugin": "^5.3.14", + "ts-jest": "^29.2.5", "ts-loader": "^9.5.2", "tsconfig-paths-webpack-plugin": "^4.2.0", "tslib": "^2.8.1", "typescript": "^5.8.3", "typescript-eslint": "^8.34.0", "url-loader": "^4.1.1", - "vite": "^6.4.1", - "vitest": "^4.0.5", "webpack": "^5.97.0", "webpack-bundle-analyzer": "^4.10.2", "webpack-cli": "^5.1.4", @@ -73,23 +74,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@asamuzakjp/css-color": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@csstools/css-calc": "^2.1.3", - "@csstools/css-color-parser": "^3.0.9", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "lru-cache": "^10.4.3" - } - }, - "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { - "version": "10.4.3", - "dev": true, - "license": "ISC" - }, "node_modules/@babel/code-frame": { "version": "7.27.1", "dev": true, @@ -280,14 +264,53 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", - "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -296,10 +319,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-jsx-source": { + "node_modules/@babel/plugin-syntax-import-attributes": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", - "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", "dev": true, "license": "MIT", "dependencies": { @@ -312,179 +335,232 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/runtime": { - "version": "7.28.4", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, "license": "MIT", - "engines": { - "node": ">=6.9.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/template": { - "version": "7.27.2", + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/traverse": { - "version": "7.28.5", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.5", - "debug": "^4.3.1" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/types": { - "version": "7.28.5", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz", - "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==", + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">=18" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@borewit/text-codec": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@borewit/text-codec/-/text-codec-0.1.1.tgz", - "integrity": "sha512-5L/uBxmjaCIX5h8Z+uu+kA9BQLkc/Wl06UGR5ajNRxu+/XjonB5i8JpgFMrPj3LXTCPA0pv8yxUvbUi+QthGGA==", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@csstools/color-helpers": { - "version": "5.1.0", + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@csstools/css-calc": { - "version": "2.1.4", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@csstools/css-color-parser": { - "version": "3.1.0", + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], "license": "MIT", "dependencies": { - "@csstools/color-helpers": "^5.1.0", - "@csstools/css-calc": "^2.1.4" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { - "node": ">=18" + "node": ">=6.9.0" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.5", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.4" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@csstools/css-tokenizer": { - "version": "3.0.4", + "node_modules/@babel/runtime": { + "version": "7.28.4", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, "engines": { - "node": ">=18" + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@borewit/text-codec": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@borewit/text-codec/-/text-codec-0.1.1.tgz", + "integrity": "sha512-5L/uBxmjaCIX5h8Z+uu+kA9BQLkc/Wl06UGR5ajNRxu+/XjonB5i8JpgFMrPj3LXTCPA0pv8yxUvbUi+QthGGA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, "node_modules/@discoveryjs/json-ext": { @@ -582,23 +658,6 @@ "integrity": "sha512-Qv4LTqO11jepd5Qmlp3M1YEjBumoTHcHFdgPTQ+sFlIL5myi/7xu/POwP7IRu6odBdmLXdtIs1D6TuW6kbwbbg==", "license": "MIT" }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", - "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, "node_modules/@eslint-community/eslint-utils": { "version": "4.9.0", "dev": true, @@ -841,2142 +900,3828 @@ "node": ">=12" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" + "sprintf-js": "~1.0.2" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.11", + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@jsonjoy.com/base64": { - "version": "1.1.2", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, "engines": { - "node": ">=10.0" + "node": ">=6" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" }, - "peerDependencies": { - "tslib": "2" + "engines": { + "node": ">=8" } }, - "node_modules/@jsonjoy.com/buffers": { - "version": "1.2.1", + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" + "node": ">=8" } }, - "node_modules/@jsonjoy.com/codegen": { - "version": "1.0.0", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" + "node": ">=8" } }, - "node_modules/@jsonjoy.com/json-pack": { - "version": "1.21.0", + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@jsonjoy.com/base64": "^1.1.2", - "@jsonjoy.com/buffers": "^1.2.0", - "@jsonjoy.com/codegen": "^1.0.0", - "@jsonjoy.com/json-pointer": "^1.0.2", - "@jsonjoy.com/util": "^1.9.0", - "hyperdyperid": "^1.2.0", - "thingies": "^2.5.0", - "tree-dump": "^1.1.0" + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jsonjoy.com/json-pointer": { - "version": "1.0.2", + "node_modules/@jest/console/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "license": "MIT", "dependencies": { - "@jsonjoy.com/codegen": "^1.0.0", - "@jsonjoy.com/util": "^1.9.0" + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "tslib": "2" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@jsonjoy.com/util": { - "version": "1.9.0", + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/buffers": "^1.0.0", - "@jsonjoy.com/codegen": "^1.0.0" - }, + "license": "MIT", "engines": { - "node": ">=10.0" + "node": ">=10" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, - "peerDependencies": { - "tslib": "2" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.5", + "node_modules/@jest/core/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true, "license": "MIT" }, - "node_modules/@lukeed/csprng": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", - "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", + "node_modules/@jest/core/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/@lukeed/uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@lukeed/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha512-qC72D4+CDdjGqJvkFMMEAtancHUQ7/d/tAiHf64z8MopFDmcrtbcJuerDtFceuAfQJ2pDSfCKCtbqoGBNnwg0w==", + "node_modules/@jest/core/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, "license": "MIT", "dependencies": { - "@lukeed/csprng": "^1.1.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/@monaco-editor/loader": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@monaco-editor/loader/-/loader-1.6.1.tgz", - "integrity": "sha512-w3tEnj9HYEC73wtjdpR089AqkUPskFRcdkxsiSFt3SoUc3OHpmu+leP94CXBm4mHfefmhsdfI0ZQu6qJ0wgtPg==", + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, "license": "MIT", "dependencies": { - "state-local": "^1.0.6" + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@monaco-editor/react": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@monaco-editor/react/-/react-4.7.0.tgz", - "integrity": "sha512-cyzXQCtO47ydzxpQtCGSQGOC8Gk3ZUeBXFAxD+CWXYFo5OqZyZUonFl0DwUlTyAfRHntBfw2p3w4s9R6oe1eCA==", + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, "license": "MIT", "dependencies": { - "@monaco-editor/loader": "^1.5.0" + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" }, - "peerDependencies": { - "monaco-editor": ">= 0.25.0 < 1", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "jest-get-type": "^29.6.3" }, "engines": { - "node": ">= 8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, "engines": { - "node": ">= 8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" }, "engines": { - "node": ">= 8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@patternfly/chatbot": { - "version": "6.5.0-prerelease.19", - "resolved": "https://registry.npmjs.org/@patternfly/chatbot/-/chatbot-6.5.0-prerelease.19.tgz", - "integrity": "sha512-UKr5k1iBh+Lici6ao2O1RvPMbV1+4UF0508qCN6KZWao7BKjyhBYrkZSFazF1ZLGUeLsQyg8IWXNe0nitKQLkQ==", + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, "license": "MIT", "dependencies": { - "@patternfly/react-code-editor": "^6.1.0", - "@patternfly/react-core": "^6.1.0", - "@patternfly/react-icons": "^6.1.0", - "@patternfly/react-styles": "^6.1.0", - "@patternfly/react-table": "^6.1.0", - "@segment/analytics-next": "^1.76.0", - "clsx": "^2.1.0", - "path-browserify": "^1.0.1", - "posthog-js": "^1.194.4", - "react-markdown": "^9.0.1", - "rehype-external-links": "^3.0.0", - "rehype-highlight": "^7.0.0", - "rehype-sanitize": "^6.0.0", - "rehype-unwrap-images": "^1.0.0", - "remark-gfm": "^4.0.0", - "unist-util-visit": "^5.0.0" - }, - "peerDependencies": { - "@monaco-editor/react": "^4.7.0", - "monaco-editor": "^0.54.0", - "react": "^18 || ^19", - "react-dom": "^18 || ^19" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "peerDependenciesMeta": { - "@monaco-editor/react": { - "optional": false - }, - "monaco-editor": { - "optional": false + "node-notifier": { + "optional": true } } }, - "node_modules/@patternfly/chatbot/node_modules/@patternfly/react-core": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-6.4.0.tgz", - "integrity": "sha512-zMgJmcFohp2FqgAoZHg7EXZS7gnaFESquk0qIavemYI0FsqspVlzV2/PUru7w+86+jXfqebRhgubPRsv1eJwEg==", - "license": "MIT", + "node_modules/@jest/reporters/node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/reporters/node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@patternfly/react-icons": "^6.4.0", - "@patternfly/react-styles": "^6.4.0", - "@patternfly/react-tokens": "^6.4.0", - "focus-trap": "7.6.4", - "react-dropzone": "^14.3.5", - "tslib": "^2.8.1" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" }, - "peerDependencies": { - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" + "engines": { + "node": ">=10" } }, - "node_modules/@patternfly/chatbot/node_modules/@patternfly/react-icons": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-6.4.0.tgz", - "integrity": "sha512-SPjzatm73NUYv/BL6A/cjRA5sFQ15NkiyPAcT8gmklI7HY+ptd6/eg49uBDFmxTQcSwbb5ISW/R6wwCQBY2M+Q==", + "node_modules/@jest/reporters/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, "license": "MIT", - "peerDependencies": { - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" + "engines": { + "node": ">=8" } }, - "node_modules/@patternfly/chatbot/node_modules/@patternfly/react-styles": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-6.4.0.tgz", - "integrity": "sha512-EXmHA67s5sy+Wy/0uxWoUQ52jr9lsH2wV3QcgtvVc5zxpyBX89gShpqv4jfVqaowznHGDoL6fVBBrSe9BYOliQ==", - "license": "MIT" - }, - "node_modules/@patternfly/chatbot/node_modules/@patternfly/react-table": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-table/-/react-table-6.4.0.tgz", - "integrity": "sha512-yv0sFOLGts8a2q9C1xUegjp50ayYyVRe0wKjMf+aMSNIK8sVYu8qu0yfBsCDybsUCldue7+qsYKRLFZosTllWQ==", + "node_modules/@jest/reporters/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, "license": "MIT", "dependencies": { - "@patternfly/react-core": "^6.4.0", - "@patternfly/react-icons": "^6.4.0", - "@patternfly/react-styles": "^6.4.0", - "@patternfly/react-tokens": "^6.4.0", - "lodash": "^4.17.21", - "tslib": "^2.8.1" + "ansi-regex": "^5.0.1" }, - "peerDependencies": { - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" + "engines": { + "node": ">=8" } }, - "node_modules/@patternfly/chatbot/node_modules/@patternfly/react-tokens": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-6.4.0.tgz", - "integrity": "sha512-iZthBoXSGQ/+PfGTdPFJVulaJZI3rwE+7A/whOXPGp3Jyq3k6X52pr1+5nlO6WHasbZ9FyeZGqXf4fazUZNjbw==", - "license": "MIT" - }, - "node_modules/@patternfly/patternfly": { - "version": "6.5.0-prerelease.27", - "resolved": "https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-6.5.0-prerelease.27.tgz", - "integrity": "sha512-hxUmzWhX1eE7h1sE4pntSyofXAJn6AMwsYr8OBNPeiyN3DHeeZAdJVBmSKszrhIypitNUsH/BMs7B5zuNCqcYg==", - "license": "MIT" - }, - "node_modules/@patternfly/react-code-editor": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-code-editor/-/react-code-editor-6.4.0.tgz", - "integrity": "sha512-jZK4qzytcriZalug3KvwTD+h8lNjUfm79opAsLJwGfuq2DD5pzrDwF4GysZrR4hUMdN0jUJqh5yvAqwZtJI/UA==", + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, "license": "MIT", "dependencies": { - "@monaco-editor/react": "^4.6.0", - "@patternfly/react-core": "^6.4.0", - "@patternfly/react-icons": "^6.4.0", - "@patternfly/react-styles": "^6.4.0", - "react-dropzone": "14.3.5", - "tslib": "^2.8.1" + "@sinclair/typebox": "^0.27.8" }, - "peerDependencies": { - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@patternfly/react-code-editor/node_modules/@patternfly/react-core": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-6.4.0.tgz", - "integrity": "sha512-zMgJmcFohp2FqgAoZHg7EXZS7gnaFESquk0qIavemYI0FsqspVlzV2/PUru7w+86+jXfqebRhgubPRsv1eJwEg==", + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, "license": "MIT", "dependencies": { - "@patternfly/react-icons": "^6.4.0", - "@patternfly/react-styles": "^6.4.0", - "@patternfly/react-tokens": "^6.4.0", - "focus-trap": "7.6.4", - "react-dropzone": "^14.3.5", - "tslib": "^2.8.1" + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, - "peerDependencies": { - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" - } - }, - "node_modules/@patternfly/react-code-editor/node_modules/@patternfly/react-icons": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-6.4.0.tgz", - "integrity": "sha512-SPjzatm73NUYv/BL6A/cjRA5sFQ15NkiyPAcT8gmklI7HY+ptd6/eg49uBDFmxTQcSwbb5ISW/R6wwCQBY2M+Q==", - "license": "MIT", - "peerDependencies": { - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@patternfly/react-code-editor/node_modules/@patternfly/react-styles": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-6.4.0.tgz", - "integrity": "sha512-EXmHA67s5sy+Wy/0uxWoUQ52jr9lsH2wV3QcgtvVc5zxpyBX89gShpqv4jfVqaowznHGDoL6fVBBrSe9BYOliQ==", - "license": "MIT" - }, - "node_modules/@patternfly/react-code-editor/node_modules/@patternfly/react-tokens": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-6.4.0.tgz", - "integrity": "sha512-iZthBoXSGQ/+PfGTdPFJVulaJZI3rwE+7A/whOXPGp3Jyq3k6X52pr1+5nlO6WHasbZ9FyeZGqXf4fazUZNjbw==", - "license": "MIT" - }, - "node_modules/@patternfly/react-component-groups": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-component-groups/-/react-component-groups-6.4.0.tgz", - "integrity": "sha512-vg0761nQ/7hfggbp6+XowRcQQSd9oIToh77+4lmsyrs41MkA5ppQIPBCZ4lUZW87kmEPhkHqglpJcVfsrrIM/g==", + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, "license": "MIT", "dependencies": { - "@patternfly/react-core": "^6.0.0", - "@patternfly/react-icons": "^6.0.0", - "@patternfly/react-styles": "^6.0.0", - "@patternfly/react-table": "^6.0.0", - "react-jss": "^10.10.0" + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, - "peerDependencies": { - "@patternfly/react-drag-drop": "^6.0.0", - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@patternfly/react-component-groups/node_modules/@patternfly/react-core": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-6.4.0.tgz", - "integrity": "sha512-zMgJmcFohp2FqgAoZHg7EXZS7gnaFESquk0qIavemYI0FsqspVlzV2/PUru7w+86+jXfqebRhgubPRsv1eJwEg==", + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, "license": "MIT", "dependencies": { - "@patternfly/react-icons": "^6.4.0", - "@patternfly/react-styles": "^6.4.0", - "@patternfly/react-tokens": "^6.4.0", - "focus-trap": "7.6.4", - "react-dropzone": "^14.3.5", - "tslib": "^2.8.1" + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" }, - "peerDependencies": { - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@patternfly/react-component-groups/node_modules/@patternfly/react-icons": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-6.4.0.tgz", - "integrity": "sha512-SPjzatm73NUYv/BL6A/cjRA5sFQ15NkiyPAcT8gmklI7HY+ptd6/eg49uBDFmxTQcSwbb5ISW/R6wwCQBY2M+Q==", + "node_modules/@jest/test-sequencer/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, "license": "MIT", - "peerDependencies": { - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" + "engines": { + "node": ">=8" } }, - "node_modules/@patternfly/react-component-groups/node_modules/@patternfly/react-styles": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-6.4.0.tgz", - "integrity": "sha512-EXmHA67s5sy+Wy/0uxWoUQ52jr9lsH2wV3QcgtvVc5zxpyBX89gShpqv4jfVqaowznHGDoL6fVBBrSe9BYOliQ==", - "license": "MIT" - }, - "node_modules/@patternfly/react-component-groups/node_modules/@patternfly/react-table": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-table/-/react-table-6.4.0.tgz", - "integrity": "sha512-yv0sFOLGts8a2q9C1xUegjp50ayYyVRe0wKjMf+aMSNIK8sVYu8qu0yfBsCDybsUCldue7+qsYKRLFZosTllWQ==", + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, "license": "MIT", "dependencies": { - "@patternfly/react-core": "^6.4.0", - "@patternfly/react-icons": "^6.4.0", - "@patternfly/react-styles": "^6.4.0", - "@patternfly/react-tokens": "^6.4.0", - "lodash": "^4.17.21", - "tslib": "^2.8.1" + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" }, - "peerDependencies": { - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@patternfly/react-component-groups/node_modules/@patternfly/react-tokens": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-6.4.0.tgz", - "integrity": "sha512-iZthBoXSGQ/+PfGTdPFJVulaJZI3rwE+7A/whOXPGp3Jyq3k6X52pr1+5nlO6WHasbZ9FyeZGqXf4fazUZNjbw==", - "license": "MIT" + "node_modules/@jest/transform/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/@patternfly/react-core": { - "version": "6.5.0-prerelease.14", - "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-6.5.0-prerelease.14.tgz", - "integrity": "sha512-RCY6nT2v74+tI8M1/IGFAsapQHNoXdCQDLQRwDRZuv1QHWF/lQAnwdOetmUeGP+9iRbsf5w+kuTVpUXYk0U5bA==", + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, "license": "MIT", "dependencies": { - "@patternfly/react-icons": "^6.5.0-prerelease.6", - "@patternfly/react-styles": "^6.5.0-prerelease.6", - "@patternfly/react-tokens": "^6.5.0-prerelease.6", - "focus-trap": "7.6.4", - "react-dropzone": "^14.3.5", - "tslib": "^2.8.1" + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" }, - "peerDependencies": { - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@patternfly/react-data-view": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-data-view/-/react-data-view-6.4.0.tgz", - "integrity": "sha512-AYIJvWLSoZaf3askvBjyyFQEvSCiquw5PFzEOiTsNoM2pDYkRagzppjclpI+MRJr44ZrfpljC6ZKE4f5Ni2p+w==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "dev": true, "license": "MIT", "dependencies": { - "@patternfly/react-component-groups": "^6.1.0", - "@patternfly/react-core": "^6.4.0", - "@patternfly/react-icons": "^6.4.0", - "@patternfly/react-table": "^6.4.0", - "clsx": "^2.1.1", - "react-jss": "^10.10.0" - }, - "peerDependencies": { - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@patternfly/react-data-view/node_modules/@patternfly/react-core": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-6.4.0.tgz", - "integrity": "sha512-zMgJmcFohp2FqgAoZHg7EXZS7gnaFESquk0qIavemYI0FsqspVlzV2/PUru7w+86+jXfqebRhgubPRsv1eJwEg==", + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "dev": true, "license": "MIT", "dependencies": { - "@patternfly/react-icons": "^6.4.0", - "@patternfly/react-styles": "^6.4.0", - "@patternfly/react-tokens": "^6.4.0", - "focus-trap": "7.6.4", - "react-dropzone": "^14.3.5", - "tslib": "^2.8.1" - }, - "peerDependencies": { - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@patternfly/react-data-view/node_modules/@patternfly/react-icons": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-6.4.0.tgz", - "integrity": "sha512-SPjzatm73NUYv/BL6A/cjRA5sFQ15NkiyPAcT8gmklI7HY+ptd6/eg49uBDFmxTQcSwbb5ISW/R6wwCQBY2M+Q==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "dev": true, "license": "MIT", - "peerDependencies": { - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@patternfly/react-data-view/node_modules/@patternfly/react-styles": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-6.4.0.tgz", - "integrity": "sha512-EXmHA67s5sy+Wy/0uxWoUQ52jr9lsH2wV3QcgtvVc5zxpyBX89gShpqv4jfVqaowznHGDoL6fVBBrSe9BYOliQ==", - "license": "MIT" - }, - "node_modules/@patternfly/react-data-view/node_modules/@patternfly/react-table": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-table/-/react-table-6.4.0.tgz", - "integrity": "sha512-yv0sFOLGts8a2q9C1xUegjp50ayYyVRe0wKjMf+aMSNIK8sVYu8qu0yfBsCDybsUCldue7+qsYKRLFZosTllWQ==", + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "dev": true, "license": "MIT", "dependencies": { - "@patternfly/react-core": "^6.4.0", - "@patternfly/react-icons": "^6.4.0", - "@patternfly/react-styles": "^6.4.0", - "@patternfly/react-tokens": "^6.4.0", - "lodash": "^4.17.21", - "tslib": "^2.8.1" - }, - "peerDependencies": { - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, - "node_modules/@patternfly/react-data-view/node_modules/@patternfly/react-tokens": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-6.4.0.tgz", - "integrity": "sha512-iZthBoXSGQ/+PfGTdPFJVulaJZI3rwE+7A/whOXPGp3Jyq3k6X52pr1+5nlO6WHasbZ9FyeZGqXf4fazUZNjbw==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "dev": true, "license": "MIT" }, - "node_modules/@patternfly/react-drag-drop": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-drag-drop/-/react-drag-drop-6.4.0.tgz", - "integrity": "sha512-571HWmMbfwxCHC7KWPuazFHpgwvGJkxBg3i+4K/Ie8bQz8M/z2psaEnIOQCBL2tCGO6xNkfeojPXXjSClHLhzQ==", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@dnd-kit/core": "^6.3.1", - "@dnd-kit/modifiers": "^9.0.0", - "@dnd-kit/sortable": "^10.0.0", - "@patternfly/react-core": "^6.4.0", - "@patternfly/react-icons": "^6.4.0", - "@patternfly/react-styles": "^6.4.0", - "resize-observer-polyfill": "^1.5.1" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jsonjoy.com/base64": { + "version": "1.1.2", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" }, "peerDependencies": { - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" + "tslib": "2" } }, - "node_modules/@patternfly/react-drag-drop/node_modules/@patternfly/react-core": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-6.4.0.tgz", - "integrity": "sha512-zMgJmcFohp2FqgAoZHg7EXZS7gnaFESquk0qIavemYI0FsqspVlzV2/PUru7w+86+jXfqebRhgubPRsv1eJwEg==", - "license": "MIT", - "peer": true, + "node_modules/@jsonjoy.com/buffers": { + "version": "1.2.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/codegen": { + "version": "1.0.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.21.0", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@patternfly/react-icons": "^6.4.0", - "@patternfly/react-styles": "^6.4.0", - "@patternfly/react-tokens": "^6.4.0", - "focus-trap": "7.6.4", - "react-dropzone": "^14.3.5", - "tslib": "^2.8.1" + "@jsonjoy.com/base64": "^1.1.2", + "@jsonjoy.com/buffers": "^1.2.0", + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/json-pointer": "^1.0.2", + "@jsonjoy.com/util": "^1.9.0", + "hyperdyperid": "^1.2.0", + "thingies": "^2.5.0", + "tree-dump": "^1.1.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" }, "peerDependencies": { - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" + "tslib": "2" } }, - "node_modules/@patternfly/react-drag-drop/node_modules/@patternfly/react-icons": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-6.4.0.tgz", - "integrity": "sha512-SPjzatm73NUYv/BL6A/cjRA5sFQ15NkiyPAcT8gmklI7HY+ptd6/eg49uBDFmxTQcSwbb5ISW/R6wwCQBY2M+Q==", - "license": "MIT", - "peer": true, + "node_modules/@jsonjoy.com/json-pointer": { + "version": "1.0.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/util": "^1.9.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, "peerDependencies": { - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" + "tslib": "2" } }, - "node_modules/@patternfly/react-drag-drop/node_modules/@patternfly/react-styles": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-6.4.0.tgz", - "integrity": "sha512-EXmHA67s5sy+Wy/0uxWoUQ52jr9lsH2wV3QcgtvVc5zxpyBX89gShpqv4jfVqaowznHGDoL6fVBBrSe9BYOliQ==", + "node_modules/@jsonjoy.com/util": { + "version": "1.9.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/buffers": "^1.0.0", + "@jsonjoy.com/codegen": "^1.0.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@lukeed/csprng": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", "license": "MIT", - "peer": true + "engines": { + "node": ">=8" + } }, - "node_modules/@patternfly/react-drag-drop/node_modules/@patternfly/react-tokens": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-6.4.0.tgz", - "integrity": "sha512-iZthBoXSGQ/+PfGTdPFJVulaJZI3rwE+7A/whOXPGp3Jyq3k6X52pr1+5nlO6WHasbZ9FyeZGqXf4fazUZNjbw==", + "node_modules/@lukeed/uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@lukeed/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha512-qC72D4+CDdjGqJvkFMMEAtancHUQ7/d/tAiHf64z8MopFDmcrtbcJuerDtFceuAfQJ2pDSfCKCtbqoGBNnwg0w==", "license": "MIT", - "peer": true + "dependencies": { + "@lukeed/csprng": "^1.1.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/@patternfly/react-icons": { - "version": "6.5.0-prerelease.6", - "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-6.5.0-prerelease.6.tgz", - "integrity": "sha512-zQpGTpKuH7ofVF9sXTDErvHwaKLFFdXw41x65VUFM5Y1z2P2xvuJhrOjQ9NeAxgMjw549/bz+s8sJKyDbeqMMQ==", + "node_modules/@monaco-editor/loader": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@monaco-editor/loader/-/loader-1.6.1.tgz", + "integrity": "sha512-w3tEnj9HYEC73wtjdpR089AqkUPskFRcdkxsiSFt3SoUc3OHpmu+leP94CXBm4mHfefmhsdfI0ZQu6qJ0wgtPg==", + "license": "MIT", + "dependencies": { + "state-local": "^1.0.6" + } + }, + "node_modules/@monaco-editor/react": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@monaco-editor/react/-/react-4.7.0.tgz", + "integrity": "sha512-cyzXQCtO47ydzxpQtCGSQGOC8Gk3ZUeBXFAxD+CWXYFo5OqZyZUonFl0DwUlTyAfRHntBfw2p3w4s9R6oe1eCA==", "license": "MIT", + "dependencies": { + "@monaco-editor/loader": "^1.5.0" + }, "peerDependencies": { - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" + "monaco-editor": ">= 0.25.0 < 1", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, - "node_modules/@patternfly/react-styles": { - "version": "6.5.0-prerelease.6", - "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-6.5.0-prerelease.6.tgz", - "integrity": "sha512-sd4Cg1t+QKkfCpSt6ofGjb4pq3QdCOyPDqrkC026amnIBX6bpmXPpQj6IHUHtydxtSm8sUjB6wnGzo4JEwTr2w==", - "license": "MIT" + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } }, - "node_modules/@patternfly/react-table": { - "version": "6.5.0-prerelease.14", - "resolved": "https://registry.npmjs.org/@patternfly/react-table/-/react-table-6.5.0-prerelease.14.tgz", - "integrity": "sha512-YbWsqetF5LDwN17XnI1H5UGLcu1Ou98Nd/7jRHHwMnTTgdCYNNBmmSOO6Ipsc8F95xOek/wZeAP+v4IyghdrGQ==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, "license": "MIT", "dependencies": { - "@patternfly/react-core": "^6.5.0-prerelease.14", - "@patternfly/react-icons": "^6.5.0-prerelease.6", - "@patternfly/react-styles": "^6.5.0-prerelease.6", - "@patternfly/react-tokens": "^6.5.0-prerelease.6", - "lodash": "^4.17.21", - "tslib": "^2.8.1" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@patternfly/chatbot": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@patternfly/chatbot/-/chatbot-6.5.0.tgz", + "integrity": "sha512-+n6v7/dbAlp5wpdlcQrx4u3sQT6FlMgiy8KRtNgzfYXc9ZZUP6RqeGvQ7qTSlp4xbfiS4U+uRS99Mv9wMahr/g==", + "license": "MIT", + "dependencies": { + "@patternfly/react-code-editor": "^6.1.0", + "@patternfly/react-core": "^6.1.0", + "@patternfly/react-icons": "^6.1.0", + "@patternfly/react-styles": "^6.1.0", + "@patternfly/react-table": "^6.1.0", + "@segment/analytics-next": "^1.76.0", + "clsx": "^2.1.0", + "path-browserify": "^1.0.1", + "posthog-js": "^1.194.4", + "react-markdown": "^9.0.1", + "rehype-external-links": "^3.0.0", + "rehype-highlight": "^7.0.0", + "rehype-sanitize": "^6.0.0", + "rehype-unwrap-images": "^1.0.0", + "remark-gfm": "^4.0.0", + "unist-util-visit": "^5.0.0" }, "peerDependencies": { - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" + "@monaco-editor/react": "^4.7.0", + "monaco-editor": "^0.54.0", + "react": "^18 || ^19", + "react-dom": "^18 || ^19" + }, + "peerDependenciesMeta": { + "@monaco-editor/react": { + "optional": false + }, + "monaco-editor": { + "optional": false + } + } + }, + "node_modules/@patternfly/patternfly": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-6.5.2.tgz", + "integrity": "sha512-yZ71+1gt1VGzUN5amjDNd9NvttTnSOm9M0JeBL0YX1KaWXW1bmDPzTWEM+vQXuC4LVK0msHmR5hKB7KVpamAkA==", + "license": "MIT" + }, + "node_modules/@patternfly/react-code-editor": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-code-editor/-/react-code-editor-6.4.0.tgz", + "integrity": "sha512-jZK4qzytcriZalug3KvwTD+h8lNjUfm79opAsLJwGfuq2DD5pzrDwF4GysZrR4hUMdN0jUJqh5yvAqwZtJI/UA==", + "license": "MIT", + "dependencies": { + "@monaco-editor/react": "^4.6.0", + "@patternfly/react-core": "^6.4.0", + "@patternfly/react-icons": "^6.4.0", + "@patternfly/react-styles": "^6.4.0", + "react-dropzone": "14.3.5", + "tslib": "^2.8.1" + }, + "peerDependencies": { + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + } + }, + "node_modules/@patternfly/react-component-groups": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-component-groups/-/react-component-groups-6.4.0.tgz", + "integrity": "sha512-vg0761nQ/7hfggbp6+XowRcQQSd9oIToh77+4lmsyrs41MkA5ppQIPBCZ4lUZW87kmEPhkHqglpJcVfsrrIM/g==", + "license": "MIT", + "dependencies": { + "@patternfly/react-core": "^6.0.0", + "@patternfly/react-icons": "^6.0.0", + "@patternfly/react-styles": "^6.0.0", + "@patternfly/react-table": "^6.0.0", + "react-jss": "^10.10.0" + }, + "peerDependencies": { + "@patternfly/react-drag-drop": "^6.0.0", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + } + }, + "node_modules/@patternfly/react-core": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-6.5.1.tgz", + "integrity": "sha512-fFZ0hcIyHJO27hxbf53W3m2R11l0O9WxR7CusJXuCEaNMP31ULrhf5Pv6ROdTrrs39Kl/yPv+2QuxQfe/4e72g==", + "license": "MIT", + "dependencies": { + "@patternfly/react-icons": "^6.5.1", + "@patternfly/react-styles": "^6.5.1", + "@patternfly/react-tokens": "^6.5.1", + "focus-trap": "7.6.6", + "react-dropzone": "^14.3.5", + "tslib": "^2.8.1" + }, + "peerDependencies": { + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + } + }, + "node_modules/@patternfly/react-data-view": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-data-view/-/react-data-view-6.4.0.tgz", + "integrity": "sha512-AYIJvWLSoZaf3askvBjyyFQEvSCiquw5PFzEOiTsNoM2pDYkRagzppjclpI+MRJr44ZrfpljC6ZKE4f5Ni2p+w==", + "license": "MIT", + "dependencies": { + "@patternfly/react-component-groups": "^6.1.0", + "@patternfly/react-core": "^6.4.0", + "@patternfly/react-icons": "^6.4.0", + "@patternfly/react-table": "^6.4.0", + "clsx": "^2.1.1", + "react-jss": "^10.10.0" + }, + "peerDependencies": { + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + } + }, + "node_modules/@patternfly/react-drag-drop": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-drag-drop/-/react-drag-drop-6.4.0.tgz", + "integrity": "sha512-571HWmMbfwxCHC7KWPuazFHpgwvGJkxBg3i+4K/Ie8bQz8M/z2psaEnIOQCBL2tCGO6xNkfeojPXXjSClHLhzQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@dnd-kit/core": "^6.3.1", + "@dnd-kit/modifiers": "^9.0.0", + "@dnd-kit/sortable": "^10.0.0", + "@patternfly/react-core": "^6.4.0", + "@patternfly/react-icons": "^6.4.0", + "@patternfly/react-styles": "^6.4.0", + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + } + }, + "node_modules/@patternfly/react-icons": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-6.5.1.tgz", + "integrity": "sha512-CnuPvTTs4MMWx8CAUkmnY690ouN1bbHjunsyXu3QxvGOmzbztP+wS4BdiLS8TIXOIH80Yb7KPhnF8VkA+CduOA==", + "license": "MIT", + "peerDependencies": { + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + } + }, + "node_modules/@patternfly/react-styles": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-6.5.1.tgz", + "integrity": "sha512-yQMzUbbf6qYM/v3JbPvaCJTgxRbOKoEw229XZmnnM8gDvp8ECiI7LqihrAOK/NA6T6M3DDgsRMd2JurUBhPDEw==", + "license": "MIT" + }, + "node_modules/@patternfly/react-table": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@patternfly/react-table/-/react-table-6.5.1.tgz", + "integrity": "sha512-JpX66ctLsg5snRRheDhuF2fHvXDG4UDKYfP5403kCAQ4Dz2dPu3PhlHi4AJol+egEBD2HfS/U37j7noQ1Y7mpA==", + "license": "MIT", + "dependencies": { + "@patternfly/react-core": "^6.5.1", + "@patternfly/react-icons": "^6.5.1", + "@patternfly/react-styles": "^6.5.1", + "@patternfly/react-tokens": "^6.5.1", + "lodash": "^4.18.1", + "tslib": "^2.8.1" + }, + "peerDependencies": { + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + } + }, + "node_modules/@patternfly/react-tokens": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-6.5.1.tgz", + "integrity": "sha512-zwepLsIQTL0Lf4R2/PIBOk1m+pm0hYVT3lktf2H4+Y87eRIifwMRb19c+pr4hj4ckGvHs+WxwjTfTj2Qqwn5rw==", + "license": "MIT" + }, + "node_modules/@pkgr/core": { + "version": "0.2.9", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/pkgr" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "license": "MIT" + }, + "node_modules/@posthog/core": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@posthog/core/-/core-1.5.2.tgz", + "integrity": "sha512-iedUP3EnOPPxTA2VaIrsrd29lSZnUV+ZrMnvY56timRVeZAXoYCkmjfIs3KBAsF8OUT5h1GXLSkoQdrV0r31OQ==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.6" + } + }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@segment/analytics-core": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.8.2.tgz", + "integrity": "sha512-5FDy6l8chpzUfJcNlIcyqYQq4+JTUynlVoCeCUuVz+l+6W0PXg+ljKp34R4yLVCcY5VVZohuW+HH0VLWdwYVAg==", + "license": "MIT", + "dependencies": { + "@lukeed/uuid": "^2.0.0", + "@segment/analytics-generic-utils": "1.2.0", + "dset": "^3.1.4", + "tslib": "^2.4.1" + } + }, + "node_modules/@segment/analytics-generic-utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-generic-utils/-/analytics-generic-utils-1.2.0.tgz", + "integrity": "sha512-DfnW6mW3YQOLlDQQdR89k4EqfHb0g/3XvBXkovH1FstUN93eL1kfW9CsDcVQyH3bAC5ZsFyjA/o/1Q2j0QeoWw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.4.1" + } + }, + "node_modules/@segment/analytics-next": { + "version": "1.81.1", + "resolved": "https://registry.npmjs.org/@segment/analytics-next/-/analytics-next-1.81.1.tgz", + "integrity": "sha512-nVHNhriViptjkp4004qBbvmnW9/3brjhBv2P5Cvcg7iWW41fBzUY8FbLi+8wkmSbycT9fH1pTM3TUxB6+h0Fcg==", + "license": "MIT", + "dependencies": { + "@lukeed/uuid": "^2.0.0", + "@segment/analytics-core": "1.8.2", + "@segment/analytics-generic-utils": "1.2.0", + "@segment/analytics-page-tools": "1.0.0", + "@segment/analytics.js-video-plugins": "^0.2.1", + "@segment/facade": "^3.4.9", + "dset": "^3.1.4", + "js-cookie": "3.0.1", + "node-fetch": "^2.6.7", + "tslib": "^2.4.1", + "unfetch": "^4.1.0" + } + }, + "node_modules/@segment/analytics-page-tools": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-page-tools/-/analytics-page-tools-1.0.0.tgz", + "integrity": "sha512-o9OVB91qLB9qb0Bw1HfjmWm5AnrMNULRjx++4lBqLt8InKRX1urrRBparVlpj+yJA0sckN5ZcsfazRLuPgBYDQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.4.1" + } + }, + "node_modules/@segment/analytics.js-video-plugins": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@segment/analytics.js-video-plugins/-/analytics.js-video-plugins-0.2.1.tgz", + "integrity": "sha512-lZwCyEXT4aaHBLNK433okEKdxGAuyrVmop4BpQqQSJuRz0DglPZgd9B/XjiiWs1UyOankg2aNYMN3VcS8t4eSQ==", + "license": "ISC", + "dependencies": { + "unfetch": "^3.1.1" + } + }, + "node_modules/@segment/analytics.js-video-plugins/node_modules/unfetch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-3.1.2.tgz", + "integrity": "sha512-L0qrK7ZeAudGiKYw6nzFjnJ2D5WHblUBwmHIqtPS6oKUd+Hcpk7/hKsSmcHsTlpd1TbTNsiRBUKRq3bHLNIqIw==", + "license": "MIT" + }, + "node_modules/@segment/facade": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/@segment/facade/-/facade-3.4.10.tgz", + "integrity": "sha512-xVQBbB/lNvk/u8+ey0kC/+g8pT3l0gCT8O2y9Z+StMMn3KAFAQ9w8xfgef67tJybktOKKU7pQGRPolRM1i1pdA==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@segment/isodate-traverse": "^1.1.1", + "inherits": "^2.0.4", + "new-date": "^1.0.3", + "obj-case": "0.2.1" + } + }, + "node_modules/@segment/isodate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@segment/isodate/-/isodate-1.0.3.tgz", + "integrity": "sha512-BtanDuvJqnACFkeeYje7pWULVv8RgZaqKHWwGFnL/g/TH/CcZjkIVTfGDp/MAxmilYHUkrX70SqwnYSTNEaN7A==", + "license": "SEE LICENSE IN LICENSE" + }, + "node_modules/@segment/isodate-traverse": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@segment/isodate-traverse/-/isodate-traverse-1.1.1.tgz", + "integrity": "sha512-+G6e1SgAUkcq0EDMi+SRLfT48TNlLPF3QnSgFGVs0V9F3o3fq/woQ2rHFlW20W0yy5NnCUH0QGU3Am2rZy/E3w==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@segment/isodate": "^1.0.3" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.10", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.10.tgz", + "integrity": "sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sindresorhus/is": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-6.3.1.tgz", + "integrity": "sha512-FX4MfcifwJyFOI2lPoX7PQxCqx8BG1HCho7WdiXwpEQx1Ycij0JxkfYtGK7yqNScrZGSlt6RE6sw8QYoH7eKnQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@testing-library/dom": { + "version": "10.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "picocolors": "1.1.1", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "6.9.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.4.0", + "aria-query": "^5.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "picocolors": "^1.1.1", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@testing-library/react": { + "version": "16.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@testing-library/dom": "^10.0.0", + "@types/react": "^18.0.0 || ^19.0.0", + "@types/react-dom": "^18.0.0 || ^19.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@testing-library/user-event": { + "version": "14.6.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.25", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "^1" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.19.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/history": { + "version": "4.7.11", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.17", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.5.14", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz", + "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/jest/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.10.0", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.14", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/qs": { + "version": "6.14.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.2.2", + "license": "MIT", + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-router": { + "version": "5.1.20", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*" + } + }, + "node_modules/@types/react-router-dom": { + "version": "5.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.10", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "<1" + } + }, + "node_modules/@types/serve-static/node_modules/@types/send": { + "version": "0.17.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.18.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.34", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.46.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.46.4", + "@typescript-eslint/type-utils": "8.46.4", + "@typescript-eslint/utils": "8.46.4", + "@typescript-eslint/visitor-keys": "8.46.4", + "graphemer": "^1.4.0", + "ignore": "^7.0.0", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.46.4", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.46.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.46.4", + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/typescript-estree": "8.46.4", + "@typescript-eslint/visitor-keys": "8.46.4", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.46.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.46.4", + "@typescript-eslint/types": "^8.46.4", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.46.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/visitor-keys": "8.46.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.46.4", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.46.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/typescript-estree": "8.46.4", + "@typescript-eslint/utils": "8.46.4", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.46.4", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.46.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.46.4", + "@typescript-eslint/tsconfig-utils": "8.46.4", + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/visitor-keys": "8.46.4", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.46.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.46.4", + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/typescript-estree": "8.46.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.46.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.46.4", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/accepts": { + "version": "1.3.8", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/@patternfly/react-tokens": { - "version": "6.5.0-prerelease.6", - "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-6.5.0-prerelease.6.tgz", - "integrity": "sha512-q8Eb0VvgfM32CadgUyCJ4OHXF3xpIwzAoPiqKpzLWrg5lNu49CjFFX07HhW86mr8efvGJZacxd6ywlUm832WUQ==", - "license": "MIT" - }, - "node_modules/@pkgr/core": { - "version": "0.2.9", + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", "dev": true, "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/pkgr" + "node": ">= 0.6" } }, - "node_modules/@polka/url": { - "version": "1.0.0-next.29", - "license": "MIT" - }, - "node_modules/@posthog/core": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@posthog/core/-/core-1.5.2.tgz", - "integrity": "sha512-iedUP3EnOPPxTA2VaIrsrd29lSZnUV+ZrMnvY56timRVeZAXoYCkmjfIs3KBAsF8OUT5h1GXLSkoQdrV0r31OQ==", + "node_modules/acorn": { + "version": "8.15.0", + "dev": true, "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.6" + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", - "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "node_modules/acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz", - "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", - "cpu": [ - "arm64" - ], + "node_modules/acorn-import-phases": { + "version": "1.0.4", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } }, - "node_modules/@sec-ant/readable-stream": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", - "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "node_modules/acorn-jsx": { + "version": "5.3.2", "dev": true, - "license": "MIT" - }, - "node_modules/@segment/analytics-core": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.8.2.tgz", - "integrity": "sha512-5FDy6l8chpzUfJcNlIcyqYQq4+JTUynlVoCeCUuVz+l+6W0PXg+ljKp34R4yLVCcY5VVZohuW+HH0VLWdwYVAg==", "license": "MIT", - "dependencies": { - "@lukeed/uuid": "^2.0.0", - "@segment/analytics-generic-utils": "1.2.0", - "dset": "^3.1.4", - "tslib": "^2.4.1" + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@segment/analytics-generic-utils": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-generic-utils/-/analytics-generic-utils-1.2.0.tgz", - "integrity": "sha512-DfnW6mW3YQOLlDQQdR89k4EqfHb0g/3XvBXkovH1FstUN93eL1kfW9CsDcVQyH3bAC5ZsFyjA/o/1Q2j0QeoWw==", + "node_modules/acorn-walk": { + "version": "8.3.4", + "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.4.1" + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" } }, - "node_modules/@segment/analytics-next": { - "version": "1.81.1", - "resolved": "https://registry.npmjs.org/@segment/analytics-next/-/analytics-next-1.81.1.tgz", - "integrity": "sha512-nVHNhriViptjkp4004qBbvmnW9/3brjhBv2P5Cvcg7iWW41fBzUY8FbLi+8wkmSbycT9fH1pTM3TUxB6+h0Fcg==", + "node_modules/ajv": { + "version": "6.12.6", + "dev": true, "license": "MIT", "dependencies": { - "@lukeed/uuid": "^2.0.0", - "@segment/analytics-core": "1.8.2", - "@segment/analytics-generic-utils": "1.2.0", - "@segment/analytics-page-tools": "1.0.0", - "@segment/analytics.js-video-plugins": "^0.2.1", - "@segment/facade": "^3.4.9", - "dset": "^3.1.4", - "js-cookie": "3.0.1", - "node-fetch": "^2.6.7", - "tslib": "^2.4.1", - "unfetch": "^4.1.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@segment/analytics-page-tools": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-page-tools/-/analytics-page-tools-1.0.0.tgz", - "integrity": "sha512-o9OVB91qLB9qb0Bw1HfjmWm5AnrMNULRjx++4lBqLt8InKRX1urrRBparVlpj+yJA0sckN5ZcsfazRLuPgBYDQ==", + "node_modules/ajv-formats": { + "version": "2.1.1", + "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.4.1" + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/@segment/analytics.js-video-plugins": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@segment/analytics.js-video-plugins/-/analytics.js-video-plugins-0.2.1.tgz", - "integrity": "sha512-lZwCyEXT4aaHBLNK433okEKdxGAuyrVmop4BpQqQSJuRz0DglPZgd9B/XjiiWs1UyOankg2aNYMN3VcS8t4eSQ==", - "license": "ISC", + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.17.1", + "dev": true, + "license": "MIT", "dependencies": { - "unfetch": "^3.1.1" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@segment/analytics.js-video-plugins/node_modules/unfetch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-3.1.2.tgz", - "integrity": "sha512-L0qrK7ZeAudGiKYw6nzFjnJ2D5WHblUBwmHIqtPS6oKUd+Hcpk7/hKsSmcHsTlpd1TbTNsiRBUKRq3bHLNIqIw==", + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "dev": true, "license": "MIT" }, - "node_modules/@segment/facade": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/@segment/facade/-/facade-3.4.10.tgz", - "integrity": "sha512-xVQBbB/lNvk/u8+ey0kC/+g8pT3l0gCT8O2y9Z+StMMn3KAFAQ9w8xfgef67tJybktOKKU7pQGRPolRM1i1pdA==", - "license": "SEE LICENSE IN LICENSE", - "dependencies": { - "@segment/isodate-traverse": "^1.1.1", - "inherits": "^2.0.4", - "new-date": "^1.0.3", - "obj-case": "0.2.1" + "node_modules/ajv-keywords": { + "version": "3.5.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" } }, - "node_modules/@segment/isodate": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@segment/isodate/-/isodate-1.0.3.tgz", - "integrity": "sha512-BtanDuvJqnACFkeeYje7pWULVv8RgZaqKHWwGFnL/g/TH/CcZjkIVTfGDp/MAxmilYHUkrX70SqwnYSTNEaN7A==", - "license": "SEE LICENSE IN LICENSE" - }, - "node_modules/@segment/isodate-traverse": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@segment/isodate-traverse/-/isodate-traverse-1.1.1.tgz", - "integrity": "sha512-+G6e1SgAUkcq0EDMi+SRLfT48TNlLPF3QnSgFGVs0V9F3o3fq/woQ2rHFlW20W0yy5NnCUH0QGU3Am2rZy/E3w==", - "license": "SEE LICENSE IN LICENSE", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", "dependencies": { - "@segment/isodate": "^1.0.3" + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@sindresorhus/is": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-6.3.1.tgz", - "integrity": "sha512-FX4MfcifwJyFOI2lPoX7PQxCqx8BG1HCho7WdiXwpEQx1Ycij0JxkfYtGK7yqNScrZGSlt6RE6sw8QYoH7eKnQ==", + "node_modules/ansi-html-community": { + "version": "0.0.8", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" + "node": ">=8" } }, - "node_modules/@sindresorhus/merge-streams": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", - "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=18" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@standard-schema/spec": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz", - "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@testing-library/dom": { - "version": "10.4.1", + "node_modules/anymatch": { + "version": "3.1.3", "dev": true, - "license": "MIT", - "peer": true, + "license": "ISC", "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.3.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "picocolors": "1.1.1", - "pretty-format": "^27.0.2" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">=18" + "node": ">= 8" } }, - "node_modules/@testing-library/jest-dom": { - "version": "6.9.1", + "node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", "dev": true, "license": "MIT", "dependencies": { - "@adobe/css-tools": "^4.4.0", - "aria-query": "^5.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.6.3", - "picocolors": "^1.1.1", - "redent": "^3.0.0" + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" }, "engines": { - "node": ">=14", - "npm": ">=6", - "yarn": ">=1" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { - "version": "0.6.3", + "node_modules/array-flatten": { + "version": "1.1.1", "dev": true, "license": "MIT" }, - "node_modules/@testing-library/react": { - "version": "16.3.0", + "node_modules/array-includes": { + "version": "3.1.9", "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.12.5" + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@testing-library/dom": "^10.0.0", - "@types/react": "^18.0.0 || ^19.0.0", - "@types/react-dom": "^18.0.0 || ^19.0.0", - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@testing-library/user-event": { - "version": "14.6.1", + "node_modules/array.prototype.findlast": { + "version": "1.2.5", "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, "engines": { - "node": ">=12", - "npm": ">=6" + "node": ">= 0.4" }, - "peerDependencies": { - "@testing-library/dom": ">=7.21.4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@tokenizer/token": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", - "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/aria-query": { - "version": "5.0.4", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", + "node_modules/array.prototype.flat": { + "version": "1.3.3", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.0.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/babel__template": { - "version": "7.4.4", + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.28.2" + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/body-parser": { - "version": "1.19.6", + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } + "license": "MIT" }, - "node_modules/@types/bonjour": { - "version": "3.5.13", + "node_modules/async-function": { + "version": "1.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*" + "engines": { + "node": ">= 0.4" } }, - "node_modules/@types/chai": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", - "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "dev": true, + "license": "MIT" + }, + "node_modules/attr-accept": { + "version": "2.2.5", "license": "MIT", - "dependencies": { - "@types/deep-eql": "*", - "assertion-error": "^2.0.1" + "engines": { + "node": ">=4" } }, - "node_modules/@types/connect": { - "version": "3.4.38", + "node_modules/available-typed-arrays": { + "version": "1.0.7", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.4", + "node_modules/axe-core": { + "version": "3.5.6", "dev": true, - "license": "MIT", - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" + "license": "MPL-2.0", + "engines": { + "node": ">=4" } }, - "node_modules/@types/debug": { - "version": "4.1.12", + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, "license": "MIT", "dependencies": { - "@types/ms": "*" + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "node_modules/@types/deep-eql": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", - "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "node_modules/babel-jest/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/@types/eslint": { - "version": "9.6.1", + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/estree": { - "version": "1.0.8", - "license": "MIT" + "node_modules/babel-plugin-istanbul/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/@types/estree-jsx": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", - "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "*" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/express": { - "version": "4.17.25", + "node_modules/babel-preset-current-node-syntax": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", "dev": true, "license": "MIT", "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "^1" + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@types/express-serve-static-core": { - "version": "4.19.7", + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", "license": "MIT", - "dependencies": { - "@types/unist": "*" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/@types/history": { - "version": "4.7.11", + "node_modules/balanced-match": { + "version": "1.0.2", "dev": true, "license": "MIT" }, - "node_modules/@types/html-minifier-terser": { - "version": "6.1.0", + "node_modules/baseline-browser-mapping": { + "version": "2.8.25", "dev": true, - "license": "MIT" + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } }, - "node_modules/@types/http-errors": { - "version": "2.0.5", + "node_modules/batch": { + "version": "0.6.1", "dev": true, "license": "MIT" }, - "node_modules/@types/http-proxy": { - "version": "1.17.17", + "node_modules/big.js": { + "version": "5.2.2", "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*" + "engines": { + "node": "*" } }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", + "node_modules/binary-extensions": { + "version": "2.3.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", + "node_modules/body-parser": { + "version": "1.20.3", "dev": true, "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "*" + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", "dev": true, "license": "MIT", "dependencies": { - "@types/istanbul-lib-report": "*" + "ms": "2.0.0" } }, - "node_modules/@types/json-schema": { - "version": "7.0.15", + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", "dev": true, "license": "MIT" }, - "node_modules/@types/mdast": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", - "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "node_modules/bonjour-service": { + "version": "1.3.0", + "dev": true, "license": "MIT", "dependencies": { - "@types/unist": "*" + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" } }, - "node_modules/@types/mime": { - "version": "1.3.5", + "node_modules/boolbase": { + "version": "1.0.0", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/@types/ms": { - "version": "2.1.0", - "license": "MIT" + "node_modules/brace-expansion": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } }, - "node_modules/@types/node": { - "version": "24.10.0", + "node_modules/braces": { + "version": "3.0.3", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~7.16.0" + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/node-forge": { - "version": "1.3.14", + "node_modules/browserslist": { + "version": "4.28.0", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "dependencies": { - "@types/node": "*" + "baseline-browser-mapping": "^2.8.25", + "caniuse-lite": "^1.0.30001754", + "electron-to-chromium": "^1.5.249", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.1.4" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/@types/qs": { - "version": "6.14.0", + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } }, - "node_modules/@types/range-parser": { - "version": "1.2.7", + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", "dev": true, "license": "MIT" }, - "node_modules/@types/react": { - "version": "19.2.2", + "node_modules/bundle-name": { + "version": "4.1.0", + "dev": true, "license": "MIT", "dependencies": { - "csstype": "^3.0.2" + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@types/react-router": { - "version": "5.1.20", + "node_modules/bytes": { + "version": "3.1.2", "dev": true, "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*" + "engines": { + "node": ">= 0.8" } }, - "node_modules/@types/react-router-dom": { - "version": "5.3.3", + "node_modules/call-bind": { + "version": "1.0.8", "dev": true, "license": "MIT", "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "*" + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/retry": { - "version": "0.12.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/send": { - "version": "1.2.1", + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/@types/serve-index": { - "version": "1.9.4", + "node_modules/call-bound": { + "version": "1.0.4", "dev": true, "license": "MIT", "dependencies": { - "@types/express": "*" + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/serve-static": { - "version": "1.15.10", + "node_modules/callsites": { + "version": "3.1.0", "dev": true, "license": "MIT", - "dependencies": { - "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "<1" + "engines": { + "node": ">=6" } }, - "node_modules/@types/serve-static/node_modules/@types/send": { - "version": "0.17.6", + "node_modules/camel-case": { + "version": "4.1.2", "dev": true, "license": "MIT", "dependencies": { - "@types/mime": "^1", - "@types/node": "*" + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" } }, - "node_modules/@types/sockjs": { - "version": "0.3.36", + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*" + "engines": { + "node": ">=6" } }, - "node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "license": "MIT" - }, - "node_modules/@types/ws": { - "version": "8.18.1", + "node_modules/caniuse-api": { + "version": "3.0.0", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" } }, - "node_modules/@types/yargs": { - "version": "17.0.34", + "node_modules/caniuse-lite": { + "version": "1.0.30001754", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.46.4", + "node_modules/chalk": { + "version": "4.1.2", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.46.4", - "@typescript-eslint/type-utils": "8.46.4", - "@typescript-eslint/utils": "8.46.4", - "@typescript-eslint/visitor-keys": "8.46.4", - "graphemer": "^1.4.0", - "ignore": "^7.0.0", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.46.4", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@typescript-eslint/parser": { - "version": "8.46.4", + "node_modules/change-file-extension": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/change-file-extension/-/change-file-extension-0.1.1.tgz", + "integrity": "sha512-lB0j9teu8JtDPDHRfU8pNH33w4wMu5bOaKoT4PxH+AKugBrIfpiJMTTKIm0TErNeJPkeQEgvH31YpccTwOKPRg==", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/scope-manager": "8.46.4", - "@typescript-eslint/types": "8.46.4", - "@typescript-eslint/typescript-estree": "8.46.4", - "@typescript-eslint/visitor-keys": "8.46.4", - "debug": "^4.3.4" - }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.46.4", + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.46.4", - "@typescript-eslint/types": "^8.46.4", - "debug": "^4.3.4" - }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, + "node": ">=10" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.46.4", - "dev": true, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.46.4", - "@typescript-eslint/visitor-keys": "8.46.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.46.4", - "dev": true, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.46.4", + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.46.4", - "@typescript-eslint/typescript-estree": "8.46.4", - "@typescript-eslint/utils": "8.46.4", - "debug": "^4.3.4", - "ts-api-utils": "^2.1.0" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 8.10.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://paulmillr.com/funding/" }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/@typescript-eslint/types": { - "version": "8.46.4", + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">= 6" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.46.4", + "node_modules/chrome-trace-event": { + "version": "1.0.4", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/project-service": "8.46.4", - "@typescript-eslint/tsconfig-utils": "8.46.4", - "@typescript-eslint/types": "8.46.4", - "@typescript-eslint/visitor-keys": "8.46.4", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.1.0" - }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "node": ">=6.0" } }, - "node_modules/@typescript-eslint/utils": { - "version": "8.46.4", + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.46.4", - "@typescript-eslint/types": "8.46.4", - "@typescript-eslint/typescript-estree": "8.46.4" - }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "node": ">=8" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.46.4", + "node_modules/cjs-module-lexer": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", + "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/clean-css": { + "version": "5.3.3", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.46.4", - "eslint-visitor-keys": "^4.2.1" + "source-map": "~0.6.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">= 10.0" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "4.2.1", + "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, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, - "funding": { - "url": "https://opencollective.com/eslint" + "engines": { + "node": ">=12" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "license": "ISC" + "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, + "license": "MIT" }, - "node_modules/@vitejs/plugin-react": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", - "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "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, "license": "MIT", "dependencies": { - "@babel/core": "^7.28.0", - "@babel/plugin-transform-react-jsx-self": "^7.27.1", - "@babel/plugin-transform-react-jsx-source": "^7.27.1", - "@rolldown/pluginutils": "1.0.0-beta.27", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.17.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + "node": ">=8" } }, - "node_modules/@vitest/coverage-v8": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.0.10.tgz", - "integrity": "sha512-g+brmtoKa/sAeIohNJnnWhnHtU6GuqqVOSQ4SxDIPcgZWZyhJs5RmF5LpqXs8Kq64lANP+vnbn5JLzhLj/G56g==", + "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, "license": "MIT", "dependencies": { - "@bcoe/v8-coverage": "^1.0.2", - "@vitest/utils": "4.0.10", - "ast-v8-to-istanbul": "^0.3.8", - "debug": "^4.4.3", - "istanbul-lib-coverage": "^3.2.2", - "istanbul-lib-report": "^3.0.1", - "istanbul-lib-source-maps": "^5.0.6", - "istanbul-reports": "^3.2.0", - "magicast": "^0.5.1", - "std-env": "^3.10.0", - "tinyrainbow": "^3.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "@vitest/browser": "4.0.10", - "vitest": "4.0.10" + "ansi-regex": "^5.0.1" }, - "peerDependenciesMeta": { - "@vitest/browser": { - "optional": true - } + "engines": { + "node": ">=8" } }, - "node_modules/@vitest/expect": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.10.tgz", - "integrity": "sha512-3QkTX/lK39FBNwARCQRSQr0TP9+ywSdxSX+LgbJ2M1WmveXP72anTbnp2yl5fH+dU6SUmBzNMrDHs80G8G2DZg==", + "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, "license": "MIT", "dependencies": { - "@standard-schema/spec": "^1.0.0", - "@types/chai": "^5.2.2", - "@vitest/spy": "4.0.10", - "@vitest/utils": "4.0.10", - "chai": "^6.2.1", - "tinyrainbow": "^3.0.3" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@vitest/mocker": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.10.tgz", - "integrity": "sha512-e2OfdexYkjkg8Hh3L9NVEfbwGXq5IZbDovkf30qW2tOh7Rh9sVtmSr2ztEXOFbymNxS4qjzLXUQIvATvN4B+lg==", + "node_modules/clone-deep": { + "version": "4.0.1", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "4.0.10", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.21" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "msw": "^2.4.9", - "vite": "^6.0.0 || ^7.0.0-0" + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" }, - "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { - "optional": true - } + "engines": { + "node": ">=6" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" } }, - "node_modules/@vitest/pretty-format": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.10.tgz", - "integrity": "sha512-99EQbpa/zuDnvVjthwz5bH9o8iPefoQZ63WV8+bsRJZNw3qQSvSltfut8yu1Jc9mqOYi7pEbsKxYTi/rjaq6PA==", + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, "license": "MIT", - "dependencies": { - "tinyrainbow": "^3.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/@vitest/runner": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.10.tgz", - "integrity": "sha512-EXU2iSkKvNwtlL8L8doCpkyclw0mc/t4t9SeOnfOFPyqLmQwuceMPA4zJBa6jw0MKsZYbw7kAn+gl7HxrlB8UQ==", + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "4.0.10", - "pathe": "^2.0.3" + "color-name": "~1.1.4" }, - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/@vitest/snapshot": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.10.tgz", - "integrity": "sha512-2N4X2ZZl7kZw0qeGdQ41H0KND96L3qX1RgwuCfy6oUsF2ISGD/HpSbmms+CkIOsQmg2kulwfhJ4CI0asnZlvkg==", + "node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/colord": { + "version": "2.9.3", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.0.10", - "magic-string": "^0.30.21", - "pathe": "^2.0.3" + "delayed-stream": "~1.0.0" }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", "funding": { - "url": "https://opencollective.com/vitest" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/@vitest/spy": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.10.tgz", - "integrity": "sha512-AsY6sVS8OLb96GV5RoG8B6I35GAbNrC49AO+jNRF9YVGb/g9t+hzNm1H6kD0NDp8tt7VJLs6hb7YMkDXqu03iw==", + "node_modules/commander": { + "version": "8.3.0", "dev": true, "license": "MIT", - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": ">= 12" } }, - "node_modules/@vitest/utils": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.10.tgz", - "integrity": "sha512-kOuqWnEwZNtQxMKg3WmPK1vmhZu9WcoX69iwWjVz+jvKTsF1emzsv3eoPcDr6ykA3qP2bsCQE7CwqfNtAVzsmg==", + "node_modules/compressible": { + "version": "2.0.18", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.0.10", - "tinyrainbow": "^3.0.3" + "mime-db": ">= 1.43.0 < 2" }, - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": ">= 0.6" } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.14.1", + "node_modules/compression": { + "version": "1.8.1", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", "dev": true, "license": "MIT" }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.14.1", + "node_modules/concat-map": { + "version": "0.0.1", "dev": true, "license": "MIT" }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" + "engines": { + "node": ">=0.8" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "dev": true, - "license": "MIT" + "node_modules/console-clear": { + "version": "1.1.1", + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", + "node_modules/content-disposition": { + "version": "0.5.4", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", + "node_modules/content-type": { + "version": "1.0.5", "dev": true, "license": "MIT", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "engines": { + "node": ">= 0.6" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.13.2", + "node_modules/convert-hrtime": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", + "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@xtuc/long": "4.2.2" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.13.2", + "node_modules/convert-source-map": { + "version": "2.0.0", "dev": true, "license": "MIT" }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.14.1", + "node_modules/cookie": { + "version": "1.0.2", "dev": true, "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" + "engines": { + "node": ">=18" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.14.1", + "node_modules/cookie-signature": { + "version": "1.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-webpack-plugin": { + "version": "13.0.1", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" + "glob-parent": "^6.0.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.2.0", + "serialize-javascript": "^6.0.2", + "tinyglobby": "^0.2.12" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "dev": true, + "node_modules/core-js": { + "version": "3.47.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.47.0.tgz", + "integrity": "sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==", + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.14.1", + "node_modules/core-util-is": { + "version": "1.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.14.1", - "dev": true, + "node_modules/cross-spawn": { + "version": "7.0.6", "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@webpack-cli/configtest": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "node_modules/css-declaration-sorter": { + "version": "7.3.0", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">=14.15.0" + "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "postcss": "^8.0.9" } }, - "node_modules/@webpack-cli/info": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "node_modules/css-jss": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/css-jss/-/css-jss-10.10.0.tgz", + "integrity": "sha512-YyMIS/LsSKEGXEaVJdjonWe18p4vXLo8CMA4FrW/kcaEyqdIGKCFXao31gbJddXEdIxSXFFURWrenBJPlKTgAA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "^10.10.0", + "jss-preset-default": "^10.10.0" + } + }, + "node_modules/css-loader": { + "version": "7.1.2", "dev": true, "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, "engines": { - "node": ">=14.15.0" + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "@rspack/core": "0.x || 1.x", + "webpack": "^5.27.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, - "node_modules/@webpack-cli/serve": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "node_modules/css-minimizer-webpack-plugin": { + "version": "7.0.2", "dev": true, "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "cssnano": "^7.0.4", + "jest-worker": "^29.7.0", + "postcss": "^8.4.40", + "schema-utils": "^4.2.0", + "serialize-javascript": "^6.0.2" + }, "engines": { - "node": ">=14.15.0" + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "webpack": "^5.0.0" }, "peerDependenciesMeta": { - "webpack-dev-server": { + "@parcel/css": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "lightningcss": { "optional": true } } }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", + "node_modules/css-select": { + "version": "4.3.0", "dev": true, - "license": "Apache-2.0" + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } }, - "node_modules/accepts": { - "version": "1.3.8", + "node_modules/css-tree": { + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" }, "engines": { - "node": ">= 0.6" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, - "node_modules/accepts/node_modules/negotiator": { - "version": "0.6.3", - "dev": true, + "node_modules/css-vendor": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", + "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.3", + "is-in-browser": "^1.0.2" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">= 0.6" + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/acorn": { - "version": "8.15.0", + "node_modules/css.escape": { + "version": "1.5.1", + "dev": true, + "license": "MIT" + }, + "node_modules/cssesc": { + "version": "3.0.0", "dev": true, "license": "MIT", "bin": { - "acorn": "bin/acorn" + "cssesc": "bin/cssesc" }, "engines": { - "node": ">=0.4.0" + "node": ">=4" } }, - "node_modules/acorn-import-phases": { - "version": "1.0.4", + "node_modules/cssnano": { + "version": "7.1.2", "dev": true, "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^7.0.10", + "lilconfig": "^3.1.3" + }, "engines": { - "node": ">=10.13.0" + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" }, "peerDependencies": { - "acorn": "^8.14.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "postcss": "^8.4.32" } }, - "node_modules/acorn-walk": { - "version": "8.3.4", + "node_modules/cssnano-preset-default": { + "version": "7.0.10", "dev": true, "license": "MIT", "dependencies": { - "acorn": "^8.11.0" + "browserslist": "^4.27.0", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^5.0.1", + "postcss-calc": "^10.1.1", + "postcss-colormin": "^7.0.5", + "postcss-convert-values": "^7.0.8", + "postcss-discard-comments": "^7.0.5", + "postcss-discard-duplicates": "^7.0.2", + "postcss-discard-empty": "^7.0.1", + "postcss-discard-overridden": "^7.0.1", + "postcss-merge-longhand": "^7.0.5", + "postcss-merge-rules": "^7.0.7", + "postcss-minify-font-values": "^7.0.1", + "postcss-minify-gradients": "^7.0.1", + "postcss-minify-params": "^7.0.5", + "postcss-minify-selectors": "^7.0.5", + "postcss-normalize-charset": "^7.0.1", + "postcss-normalize-display-values": "^7.0.1", + "postcss-normalize-positions": "^7.0.1", + "postcss-normalize-repeat-style": "^7.0.1", + "postcss-normalize-string": "^7.0.1", + "postcss-normalize-timing-functions": "^7.0.1", + "postcss-normalize-unicode": "^7.0.5", + "postcss-normalize-url": "^7.0.1", + "postcss-normalize-whitespace": "^7.0.1", + "postcss-ordered-values": "^7.0.2", + "postcss-reduce-initial": "^7.0.5", + "postcss-reduce-transforms": "^7.0.1", + "postcss-svgo": "^7.1.0", + "postcss-unique-selectors": "^7.0.4" }, "engines": { - "node": ">=0.4.0" + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" } }, - "node_modules/agent-base": { - "version": "7.1.4", + "node_modules/cssnano-utils": { + "version": "5.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">= 14" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "node": "^18.12.0 || ^20.9.0 || >=22.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "peerDependencies": { + "postcss": "^8.4.32" } }, - "node_modules/ajv-formats": { - "version": "2.1.1", + "node_modules/csso": { + "version": "5.0.5", "dev": true, "license": "MIT", "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" + "css-tree": "~2.2.0" }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.17.1", + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", "dev": true, - "license": "MIT" + "license": "CC0-1.0" }, - "node_modules/ajv-keywords": { - "version": "3.5.2", + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", "dev": true, - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } + "license": "MIT" }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "license": "Apache-2.0", - "bin": { - "ansi-html": "bin/ansi-html" - } + "node_modules/csstype": { + "version": "3.1.3", + "license": "MIT" }, - "node_modules/ansi-regex": { - "version": "5.0.1", + "node_modules/data-view-buffer": { + "version": "1.0.2", "dev": true, "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/data-view-byte-length": { + "version": "1.0.2", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/inspect-js" } }, - "node_modules/anymatch": { - "version": "3.1.3", + "node_modules/data-view-byte-offset": { + "version": "1.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" }, "engines": { - "node": ">= 8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/argparse": { - "version": "2.0.1", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/aria-query": { - "version": "5.3.0", + "node_modules/debounce": { + "version": "1.2.1", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "dequal": "^2.0.3" - } + "license": "MIT" }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "dev": true, + "node_modules/debug": { + "version": "4.4.3", "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" + "ms": "^2.1.3" }, "engines": { - "node": ">= 0.4" + "node": ">=6.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/array-flatten": { - "version": "1.1.1", + "node_modules/decimal.js": { + "version": "10.6.0", "dev": true, "license": "MIT" }, - "node_modules/array-includes": { - "version": "3.1.9", - "dev": true, + "node_modules/decode-named-character-reference": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz", + "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "get-intrinsic": "^1.3.0", - "is-string": "^1.1.1", - "math-intrinsics": "^1.1.0" + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dedent": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", + "node_modules/default-browser": { + "version": "5.2.1", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", + "node_modules/default-browser-id": { + "version": "5.0.0", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", + "node_modules/define-data-property": { + "version": "1.1.4", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -2985,33 +4730,25 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", + "node_modules/define-lazy-prop": { + "version": "3.0.0", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, "engines": { - "node": ">= 0.4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", + "node_modules/define-properties": { + "version": "1.2.1", "dev": true, "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -3020,1670 +4757,1612 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">=0.4.0" } }, - "node_modules/ast-v8-to-istanbul": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-0.3.8.tgz", - "integrity": "sha512-szgSZqUxI5T8mLKvS7WTjF9is+MVbOeLADU73IseOcrqhxr/VAvy6wfoVE39KnKzA7JRhjF5eUagNlHwvZPlKQ==", + "node_modules/depd": { + "version": "2.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.31", - "estree-walker": "^3.0.3", - "js-tokens": "^9.0.1" + "engines": { + "node": ">= 0.8" } }, - "node_modules/ast-v8-to-istanbul/node_modules/js-tokens": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", - "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/async-function": { - "version": "1.0.0", - "dev": true, + "node_modules/dequal": { + "version": "2.0.3", "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=6" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "node_modules/destroy": { + "version": "1.2.0", "dev": true, - "license": "MIT" - }, - "node_modules/attr-accept": { - "version": "2.2.5", "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/axe-core": { - "version": "3.5.6", + "node_modules/detect-node": { + "version": "2.1.0", "dev": true, - "license": "MPL-2.0", - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/baseline-browser-mapping": { - "version": "2.8.25", - "dev": true, - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.js" - } - }, - "node_modules/batch": { - "version": "0.6.1", - "dev": true, - "license": "MIT" - }, - "node_modules/big.js": { - "version": "5.2.2", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/body-parser": { - "version": "1.20.3", + "node_modules/dns-packet": { + "version": "5.6.1", "dev": true, "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "@leichtgewicht/ip-codec": "^2.0.1" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=6" } }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", + "node_modules/doctrine": { + "version": "2.1.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "ms": "2.0.0" + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", + "node_modules/dom-accessibility-api": { + "version": "0.5.16", "dev": true, "license": "MIT" }, - "node_modules/bonjour-service": { - "version": "1.3.0", + "node_modules/dom-converter": { + "version": "0.2.0", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" + "utila": "~0.4" } }, - "node_modules/boolbase": { - "version": "1.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/brace-expansion": { - "version": "2.0.2", + "node_modules/dom-serializer": { + "version": "1.4.1", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/braces": { - "version": "3.0.3", + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/browserslist": { - "version": "4.28.0", + "node_modules/domelementtype": { + "version": "2.3.0", "dev": true, "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, { "type": "github", - "url": "https://github.com/sponsors/ai" + "url": "https://github.com/sponsors/fb55" } ], + "license": "BSD-2-Clause" + }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.8.25", - "caniuse-lite": "^1.0.30001754", - "electron-to-chromium": "^1.5.249", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.1.4" - }, - "bin": { - "browserslist": "cli.js" + "webidl-conversions": "^7.0.0" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=12" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/bundle-name": { - "version": "4.1.0", + "node_modules/domhandler": { + "version": "4.3.1", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "run-applescript": "^7.0.0" + "domelementtype": "^2.2.0" }, "engines": { - "node": ">=18" + "node": ">= 4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/bytes": { - "version": "3.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } + "node_modules/dompurify": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.7.tgz", + "integrity": "sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==", + "license": "(MPL-2.0 OR Apache-2.0)", + "peer": true }, - "node_modules/call-bind": { - "version": "1.0.8", + "node_modules/domutils": { + "version": "2.8.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", + "node_modules/dot-case": { + "version": "3.0.4", "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" + "no-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "node_modules/call-bound": { - "version": "1.0.4", + "node_modules/dot-prop": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-8.0.2.tgz", + "integrity": "sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" + "type-fest": "^3.8.0" }, "engines": { - "node": ">= 0.4" + "node": ">=16" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/callsites": { - "version": "3.1.0", + "node_modules/dot-prop/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, - "license": "MIT", + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=6" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/camel-case": { - "version": "4.1.2", + "node_modules/dotenv": { + "version": "8.6.0", "dev": true, - "license": "MIT", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" + "license": "BSD-2-Clause", + "engines": { + "node": ">=10" } }, - "node_modules/caniuse-api": { - "version": "3.0.0", + "node_modules/dotenv-defaults": { + "version": "2.0.2", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" + "dotenv": "^8.2.0" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001754", + "node_modules/dotenv-webpack": { + "version": "8.1.1", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "dependencies": { + "dotenv-defaults": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "webpack": "^4 || ^5" } }, - "node_modules/chai": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.1.tgz", - "integrity": "sha512-p4Z49OGG5W/WBCPSS/dH3jQ73kD6tiMmUM+bckNK6Jr5JHMG3k9bg/BvKR8lKmtVBKmOiuVaV2ws8s9oSbwysg==", - "dev": true, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", "license": "MIT", "engines": { - "node": ">=18" + "node": ">=4" } }, - "node_modules/chalk": { - "version": "4.1.2", + "node_modules/dunder-proto": { + "version": "1.0.1", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 0.4" } }, - "node_modules/change-file-extension": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/change-file-extension/-/change-file-extension-0.1.1.tgz", - "integrity": "sha512-lB0j9teu8JtDPDHRfU8pNH33w4wMu5bOaKoT4PxH+AKugBrIfpiJMTTKIm0TErNeJPkeQEgvH31YpccTwOKPRg==", + "node_modules/duplexer": { + "version": "0.1.2", "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "license": "MIT" }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "node_modules/eastasianwidth": { + "version": "0.2.0", + "dev": true, + "license": "MIT" }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "node_modules/ee-first": { + "version": "1.1.1", + "dev": true, + "license": "MIT" }, - "node_modules/character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/chokidar": { - "version": "3.6.0", + "node_modules/electron-to-chromium": { + "version": "1.5.249", + "dev": true, + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, "engines": { - "node": ">= 8.10.0" + "node": ">=12" }, "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", + "node_modules/emoji-regex": { + "version": "9.2.2", "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } + "license": "MIT" }, - "node_modules/chrome-trace-event": { - "version": "1.0.4", + "node_modules/emojis-list": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=6.0" + "node": ">= 4" } }, - "node_modules/clean-css": { - "version": "5.3.3", + "node_modules/encodeurl": { + "version": "2.0.0", "dev": true, "license": "MIT", - "dependencies": { - "source-map": "~0.6.0" - }, "engines": { - "node": ">= 10.0" + "node": ">= 0.8" } }, - "node_modules/clone-deep": { - "version": "4.0.1", + "node_modules/enhanced-resolve": { + "version": "5.18.3", "dev": true, "license": "MIT", "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": ">=6" + "node": ">=10.13.0" } }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", + "node_modules/entities": { + "version": "6.0.1", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=6" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/color-convert": { - "version": "2.0.1", + "node_modules/envinfo": { + "version": "7.20.0", "dev": true, "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" + "bin": { + "envinfo": "dist/cli.js" }, "engines": { - "node": ">=7.0.0" + "node": ">=4" } }, - "node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/colord": { - "version": "2.9.3", + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/colorette": { - "version": "2.0.20", + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/es-abstract": { + "version": "1.24.0", "dev": true, "license": "MIT", "dependencies": { - "delayed-stream": "~1.0.0" + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" }, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "license": "MIT", + "node": ">= 0.4" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/commander": { - "version": "8.3.0", + "node_modules/es-define-property": { + "version": "1.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">= 12" + "node": ">= 0.4" } }, - "node_modules/compressible": { - "version": "2.0.18", + "node_modules/es-errors": { + "version": "1.3.0", "dev": true, "license": "MIT", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, "engines": { - "node": ">= 0.6" + "node": ">= 0.4" } }, - "node_modules/compression": { - "version": "1.8.1", + "node_modules/es-iterator-helpers": { + "version": "1.2.1", "dev": true, "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "compressible": "~2.0.18", - "debug": "2.6.9", - "negotiator": "~0.6.4", - "on-headers": "~1.1.0", - "safe-buffer": "5.2.1", - "vary": "~1.1.2" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.6", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" }, "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "node": ">= 0.4" } }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", + "node_modules/es-module-lexer": { + "version": "1.7.0", "dev": true, "license": "MIT" }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", + "node_modules/es-object-atoms": { + "version": "1.1.1", "dev": true, "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, "engines": { - "node": ">=0.8" + "node": ">= 0.4" } }, - "node_modules/console-clear": { - "version": "1.1.1", + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "dev": true, "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, "engines": { - "node": ">=4" + "node": ">= 0.4" } }, - "node_modules/content-disposition": { - "version": "0.5.4", + "node_modules/es-shim-unscopables": { + "version": "1.1.0", "dev": true, "license": "MIT", "dependencies": { - "safe-buffer": "5.2.1" + "hasown": "^2.0.2" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.4" } }, - "node_modules/content-type": { - "version": "1.0.5", + "node_modules/es-to-primitive": { + "version": "1.3.0", "dev": true, "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, "engines": { - "node": ">= 0.6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/convert-hrtime": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", - "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", + "node_modules/escalade": { + "version": "3.2.0", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/convert-source-map": { - "version": "2.0.0", + "node_modules/escape-html": { + "version": "1.0.3", "dev": true, "license": "MIT" }, - "node_modules/cookie": { - "version": "1.0.2", + "node_modules/escape-string-regexp": { + "version": "4.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cookie-signature": { - "version": "1.0.6", + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, - "license": "MIT" + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } }, - "node_modules/copy-webpack-plugin": { - "version": "13.0.1", + "node_modules/eslint": { + "version": "9.39.1", "dev": true, "license": "MIT", "dependencies": { - "glob-parent": "^6.0.1", - "normalize-path": "^3.0.0", - "schema-utils": "^4.2.0", - "serialize-javascript": "^6.0.2", - "tinyglobby": "^0.2.12" + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.1", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": ">= 18.12.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://eslint.org/donate" }, "peerDependencies": { - "webpack": "^5.1.0" + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, - "node_modules/core-js": { - "version": "3.47.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.47.0.tgz", - "integrity": "sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==", - "hasInstallScript": true, + "node_modules/eslint-plugin-prettier": { + "version": "5.5.4", + "dev": true, "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.11.7" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } } }, - "node_modules/core-util-is": { - "version": "1.0.3", + "node_modules/eslint-plugin-prettier/node_modules/prettier-linter-helpers": { + "version": "1.0.0", "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.6", "license": "MIT", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "fast-diff": "^1.1.2" }, "engines": { - "node": ">= 8" + "node": ">=6.0.0" } }, - "node_modules/css-declaration-sorter": { - "version": "7.3.0", + "node_modules/eslint-plugin-react": { + "version": "7.37.5", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, "engines": { - "node": "^14 || ^16 || >=18" + "node": ">=4" }, "peerDependencies": { - "postcss": "^8.0.9" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, - "node_modules/css-jss": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/css-jss/-/css-jss-10.10.0.tgz", - "integrity": "sha512-YyMIS/LsSKEGXEaVJdjonWe18p4vXLo8CMA4FrW/kcaEyqdIGKCFXao31gbJddXEdIxSXFFURWrenBJPlKTgAA==", + "node_modules/eslint-plugin-react-hooks": { + "version": "5.2.0", + "dev": true, "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.3.1", - "jss": "^10.10.0", - "jss-preset-default": "^10.10.0" + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, - "node_modules/css-loader": { - "version": "7.1.2", + "node_modules/eslint-plugin-react/node_modules/brace-expansion": { + "version": "1.1.12", "dev": true, "license": "MIT", "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.1.0", - "postcss-modules-local-by-default": "^4.0.5", - "postcss-modules-scope": "^3.2.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.27.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "7.0.2", + "node_modules/eslint-plugin-react/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "cssnano": "^7.0.4", - "jest-worker": "^29.7.0", - "postcss": "^8.4.40", - "schema-utils": "^4.2.0", - "serialize-javascript": "^6.0.2" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@parcel/css": { - "optional": true - }, - "@swc/css": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "lightningcss": { - "optional": true - } + "node": "*" } }, - "node_modules/css-select": { - "version": "4.3.0", + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/fb55" + "url": "https://opencollective.com/eslint" } }, - "node_modules/css-tree": { - "version": "3.1.0", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", "dev": true, - "license": "MIT", - "dependencies": { - "mdn-data": "2.12.2", - "source-map-js": "^1.0.1" - }, + "license": "Apache-2.0", "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/css-vendor": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", - "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.12", + "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.8.3", - "is-in-browser": "^1.0.2" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/css-what": { - "version": "6.2.2", + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.1", "dev": true, - "license": "BSD-2-Clause", + "license": "Apache-2.0", "engines": { - "node": ">= 6" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/fb55" + "url": "https://opencollective.com/eslint" } }, - "node_modules/css.escape": { - "version": "1.5.1", + "node_modules/eslint/node_modules/ignore": { + "version": "5.3.2", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 4" + } }, - "node_modules/cssesc": { - "version": "3.0.0", + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/cssnano": { - "version": "7.1.2", + "node_modules/espree": { + "version": "10.4.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "cssnano-preset-default": "^7.0.10", - "lilconfig": "^3.1.3" + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" }, "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.4.32" + "url": "https://opencollective.com/eslint" } }, - "node_modules/cssnano-preset-default": { - "version": "7.0.10", + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.2.1", "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.27.0", - "css-declaration-sorter": "^7.2.0", - "cssnano-utils": "^5.0.1", - "postcss-calc": "^10.1.1", - "postcss-colormin": "^7.0.5", - "postcss-convert-values": "^7.0.8", - "postcss-discard-comments": "^7.0.5", - "postcss-discard-duplicates": "^7.0.2", - "postcss-discard-empty": "^7.0.1", - "postcss-discard-overridden": "^7.0.1", - "postcss-merge-longhand": "^7.0.5", - "postcss-merge-rules": "^7.0.7", - "postcss-minify-font-values": "^7.0.1", - "postcss-minify-gradients": "^7.0.1", - "postcss-minify-params": "^7.0.5", - "postcss-minify-selectors": "^7.0.5", - "postcss-normalize-charset": "^7.0.1", - "postcss-normalize-display-values": "^7.0.1", - "postcss-normalize-positions": "^7.0.1", - "postcss-normalize-repeat-style": "^7.0.1", - "postcss-normalize-string": "^7.0.1", - "postcss-normalize-timing-functions": "^7.0.1", - "postcss-normalize-unicode": "^7.0.5", - "postcss-normalize-url": "^7.0.1", - "postcss-normalize-whitespace": "^7.0.1", - "postcss-ordered-values": "^7.0.2", - "postcss-reduce-initial": "^7.0.5", - "postcss-reduce-transforms": "^7.0.1", - "postcss-svgo": "^7.1.0", - "postcss-unique-selectors": "^7.0.4" - }, + "license": "Apache-2.0", "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "peerDependencies": { - "postcss": "^8.4.32" + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/cssnano-utils": { - "version": "5.0.1", + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, - "license": "MIT", - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, - "peerDependencies": { - "postcss": "^8.4.32" + "engines": { + "node": ">=4" } }, - "node_modules/csso": { - "version": "5.0.5", + "node_modules/esquery": { + "version": "1.6.0", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "css-tree": "~2.2.0" + "estraverse": "^5.1.0" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "node": ">=0.10" } }, - "node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", + "node_modules/esrecurse": { + "version": "4.3.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" + "estraverse": "^5.2.0" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "node": ">=4.0" } }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", + "node_modules/estraverse": { + "version": "5.3.0", "dev": true, - "license": "CC0-1.0" + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } }, - "node_modules/cssstyle": { - "version": "4.6.0", - "dev": true, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "dev": true, "license": "MIT", - "dependencies": { - "@asamuzakjp/css-color": "^3.2.0", - "rrweb-cssom": "^0.8.0" - }, "engines": { - "node": ">=18" + "node": ">= 0.6" } }, - "node_modules/csstype": { - "version": "3.1.3", + "node_modules/eventemitter3": { + "version": "4.0.7", + "dev": true, "license": "MIT" }, - "node_modules/data-urls": { - "version": "5.0.0", + "node_modules/events": { + "version": "3.3.0", "dev": true, "license": "MIT", - "dependencies": { - "whatwg-mimetype": "^4.0.0", - "whatwg-url": "^14.0.0" - }, "engines": { - "node": ">=18" + "node": ">=0.8.x" } }, - "node_modules/data-view-buffer": { - "version": "1.0.2", + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", + "node_modules/execa/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/inspect-js" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", + "node_modules/execa/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/debounce": { - "version": "1.2.1", + "node_modules/execa/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, - "license": "MIT" + "license": "ISC" }, - "node_modules/debug": { - "version": "4.4.3", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">= 0.8.0" } }, - "node_modules/decimal.js": { - "version": "10.6.0", + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, - "license": "MIT" - }, - "node_modules/decode-named-character-reference": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz", - "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==", "license": "MIT", "dependencies": { - "character-entities": "^2.0.0" + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/default-browser": { - "version": "5.2.1", + "node_modules/express": { + "version": "4.21.2", "dev": true, "license": "MIT", "dependencies": { - "bundle-name": "^4.1.0", - "default-browser-id": "^5.0.0" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.12", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, "engines": { - "node": ">=18" + "node": ">= 0.10.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/default-browser-id": { - "version": "5.0.0", + "node_modules/express/node_modules/cookie": { + "version": "0.7.1", "dev": true, "license": "MIT", "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/define-data-property": { - "version": "1.1.4", + "node_modules/express/node_modules/debug": { + "version": "2.6.9", "dev": true, "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "ms": "2.0.0" } }, - "node_modules/define-lazy-prop": { - "version": "3.0.0", + "node_modules/express/node_modules/ms": { + "version": "2.0.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "MIT" }, - "node_modules/define-properties": { - "version": "1.2.1", + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "MIT" }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "node_modules/fast-diff": { + "version": "1.3.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } + "license": "Apache-2.0" }, - "node_modules/depd": { - "version": "2.0.0", + "node_modules/fast-equals": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.3.3.tgz", + "integrity": "sha512-/boTcHZeIAQ2r/tL11voclBHDeP9WPxLt+tyAbVSyyXuUFyh0Tne7gJZTqGbxnvj79TjLdCXLOY7UIPhyG5MTw==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=6.0.0" } }, - "node_modules/dequal": { - "version": "2.0.3", + "node_modules/fast-glob": { + "version": "3.3.3", + "dev": true, "license": "MIT", + "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.8" + }, "engines": { - "node": ">=6" + "node": ">=8.6.0" } }, - "node_modules/destroy": { - "version": "1.2.0", + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">= 6" } }, - "node_modules/detect-node": { + "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "dev": true, "license": "MIT" }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "dev": true, "license": "MIT", - "dependencies": { - "dequal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "engines": { + "node": ">= 4.9.1" } }, - "node_modules/dns-packet": { - "version": "5.6.1", + "node_modules/fastq": { + "version": "1.19.1", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" + "reusify": "^1.0.4" } }, - "node_modules/doctrine": { - "version": "2.1.0", + "node_modules/faye-websocket": { + "version": "0.11.4", "dev": true, "license": "Apache-2.0", "dependencies": { - "esutils": "^2.0.2" + "websocket-driver": ">=0.5.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.8.0" } }, - "node_modules/dom-accessibility-api": { - "version": "0.5.16", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/dom-converter": { - "version": "0.2.0", + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "utila": "~0.4" + "bser": "2.1.1" } }, - "node_modules/dom-serializer": { - "version": "1.4.1", + "node_modules/fflate": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz", + "integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==", + "license": "MIT" + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", "dev": true, "license": "MIT", "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "flat-cache": "^4.0.0" }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "dev": true, - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "engines": { + "node": ">=16.0.0" } }, - "node_modules/domelementtype": { - "version": "2.3.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "4.3.1", + "node_modules/file-loader": { + "version": "6.2.0", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "domelementtype": "^2.2.0" + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" }, "engines": { - "node": ">= 4" + "node": ">= 10.13.0" }, "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/dompurify": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.7.tgz", - "integrity": "sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==", - "license": "(MPL-2.0 OR Apache-2.0)", - "peer": true - }, - "node_modules/domutils": { - "version": "2.8.0", + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" }, "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/dot-case": { - "version": "3.0.4", - "dev": true, + "node_modules/file-selector": { + "version": "2.1.2", "license": "MIT", "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "tslib": "^2.7.0" + }, + "engines": { + "node": ">= 12" } }, - "node_modules/dot-prop": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-8.0.2.tgz", - "integrity": "sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==", + "node_modules/file-type": { + "version": "19.6.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-19.6.0.tgz", + "integrity": "sha512-VZR5I7k5wkD0HgFnMsq5hOsSc710MJMu5Nc5QYsbe38NN5iPV/XTObYLc/cpttRTf6lX538+5uO1ZQRhYibiZQ==", "dev": true, "license": "MIT", "dependencies": { - "type-fest": "^3.8.0" + "get-stream": "^9.0.1", + "strtok3": "^9.0.1", + "token-types": "^6.0.0", + "uint8array-extras": "^1.3.0" }, "engines": { - "node": ">=16" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sindresorhus/file-type?sponsor=1" } }, - "node_modules/dot-prop/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==", + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" } }, - "node_modules/dotenv": { - "version": "8.6.0", + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", "dev": true, - "license": "BSD-2-Clause", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { "node": ">=10" } }, - "node_modules/dotenv-defaults": { - "version": "2.0.2", + "node_modules/fill-range": { + "version": "7.1.1", "dev": true, "license": "MIT", "dependencies": { - "dotenv": "^8.2.0" + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/dotenv-webpack": { - "version": "8.1.1", + "node_modules/finalhandler": { + "version": "1.3.1", "dev": true, "license": "MIT", "dependencies": { - "dotenv-defaults": "^2.0.2" + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" }, "engines": { - "node": ">=10" - }, - "peerDependencies": { - "webpack": "^4 || ^5" + "node": ">= 0.8" } }, - "node_modules/dset": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", - "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "dev": true, "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/dunder-proto": { - "version": "1.0.1", + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/find-up": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/duplexer": { - "version": "0.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", + "node_modules/flat": { + "version": "5.0.2", "dev": true, - "license": "MIT" + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } }, - "node_modules/ee-first": { - "version": "1.1.1", + "node_modules/flat-cache": { + "version": "4.0.1", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } }, - "node_modules/electron-to-chromium": { - "version": "1.5.249", + "node_modules/flatted": { + "version": "3.3.3", "dev": true, "license": "ISC" }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "dev": true, - "license": "MIT" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "dev": true, + "node_modules/focus-trap": { + "version": "7.6.6", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.6.6.tgz", + "integrity": "sha512-v/Z8bvMCajtx4mEXmOo7QEsIzlIOqRXTIwgUfsFOF9gEsespdbD0AkPIka1bSXZ8Y8oZ+2IVDQZePkTfEHZl7Q==", "license": "MIT", - "engines": { - "node": ">= 4" + "dependencies": { + "tabbable": "^6.3.0" } }, - "node_modules/encodeurl": { - "version": "2.0.0", + "node_modules/follow-redirects": { + "version": "1.15.11", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "node_modules/enhanced-resolve": { - "version": "5.18.3", + "node_modules/for-each": { + "version": "0.3.5", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "is-callable": "^1.2.7" }, "engines": { - "node": ">=10.13.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/entities": { - "version": "6.0.1", + "node_modules/foreground-child": { + "version": "3.3.1", "dev": true, - "license": "BSD-2-Clause", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, "engines": { - "node": ">=0.12" + "node": ">=14" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/envinfo": { - "version": "7.20.0", + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", "dev": true, "license": "MIT", - "bin": { - "envinfo": "dist/cli.js" + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=4" + "node": ">= 6" } }, - "node_modules/environment": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", - "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "node_modules/forwarded": { + "version": "0.2.0", "dev": true, "license": "MIT", "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/es-abstract": { - "version": "1.24.0", + "node_modules/fresh": { + "version": "0.5.2", "dev": true, "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.2.1", - "is-set": "^2.0.3", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.1", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.4", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "stop-iteration-iterator": "^1.1.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.19" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.6" } }, - "node_modules/es-define-property": { - "version": "1.0.1", + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", "dev": true, "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 0.4" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/es-errors": { - "version": "1.3.0", + "node_modules/function-bind": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function-timeout": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.2.tgz", + "integrity": "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/es-iterator-helpers": { - "version": "1.2.1", + "node_modules/function.prototype.name": { + "version": "1.1.8", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.6", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.4", - "safe-array-concat": "^1.1.3" + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-module-lexer": { - "version": "1.7.0", + "node_modules/functions-have-names": { + "version": "1.2.3", "dev": true, - "license": "MIT" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/es-object-atoms": { - "version": "1.1.1", + "node_modules/generator-function": { + "version": "2.0.1", "dev": true, "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, "engines": { "node": ">= 0.4" } }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", + "node_modules/gensync": { + "version": "1.0.0-beta.2", "dev": true, "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, "engines": { - "node": ">= 0.4" + "node": ">=6.9.0" } }, - "node_modules/es-shim-unscopables": { - "version": "1.1.0", + "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, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, + "license": "ISC", "engines": { - "node": ">= 0.4" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/es-to-primitive": { + "node_modules/get-intrinsic": { "version": "1.3.0", "dev": true, "license": "MIT", "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -4692,214 +6371,128 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", - "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, - "hasInstallScript": true, "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.12", - "@esbuild/android-arm": "0.25.12", - "@esbuild/android-arm64": "0.25.12", - "@esbuild/android-x64": "0.25.12", - "@esbuild/darwin-arm64": "0.25.12", - "@esbuild/darwin-x64": "0.25.12", - "@esbuild/freebsd-arm64": "0.25.12", - "@esbuild/freebsd-x64": "0.25.12", - "@esbuild/linux-arm": "0.25.12", - "@esbuild/linux-arm64": "0.25.12", - "@esbuild/linux-ia32": "0.25.12", - "@esbuild/linux-loong64": "0.25.12", - "@esbuild/linux-mips64el": "0.25.12", - "@esbuild/linux-ppc64": "0.25.12", - "@esbuild/linux-riscv64": "0.25.12", - "@esbuild/linux-s390x": "0.25.12", - "@esbuild/linux-x64": "0.25.12", - "@esbuild/netbsd-arm64": "0.25.12", - "@esbuild/netbsd-x64": "0.25.12", - "@esbuild/openbsd-arm64": "0.25.12", - "@esbuild/openbsd-x64": "0.25.12", - "@esbuild/openharmony-arm64": "0.25.12", - "@esbuild/sunos-x64": "0.25.12", - "@esbuild/win32-arm64": "0.25.12", - "@esbuild/win32-ia32": "0.25.12", - "@esbuild/win32-x64": "0.25.12" + "node": ">=8.0.0" } }, - "node_modules/escalade": { - "version": "3.2.0", - "dev": true, + "node_modules/get-port": { + "version": "5.1.1", "license": "MIT", "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", + "node_modules/get-proto": { + "version": "1.0.1", "dev": true, "license": "MIT", - "engines": { - "node": ">=10" + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 0.4" } }, - "node_modules/eslint": { - "version": "9.39.1", + "node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", - "@eslint/config-helpers": "^0.4.2", - "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.1", - "@eslint/plugin-kit": "^0.4.1", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" }, "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-plugin-prettier": { - "version": "5.5.4", + "node_modules/get-symbol-description": { + "version": "1.1.0", "dev": true, "license": "MIT", "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.11.7" + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-prettier/node_modules/prettier-linter-helpers": { - "version": "1.0.0", + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "fast-diff": "^1.1.2" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=6.0.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/eslint-plugin-react": { - "version": "7.37.5", + "node_modules/glob-parent": { + "version": "6.0.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.9", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" + "is-glob": "^4.0.3" }, "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + "node": ">=10.13.0" } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "5.2.0", + "node_modules/glob-to-regex.js": { + "version": "1.2.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "engines": { - "node": ">=10" + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" }, "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + "tslib": "2" } }, - "node_modules/eslint-plugin-react/node_modules/brace-expansion": { - "version": "1.1.12", + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", "dev": true, "license": "MIT", "dependencies": { @@ -4907,8 +6500,10 @@ "concat-map": "0.0.1" } }, - "node_modules/eslint-plugin-react/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -4918,496 +6513,516 @@ "node": "*" } }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", + "node_modules/globals": { + "version": "14.0.0", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-scope": { - "version": "8.4.0", + "node_modules/globalthis": { + "version": "1.0.4", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", + "node_modules/graceful-fs": { + "version": "4.2.11", + "dev": true, + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/gzip-size": { + "version": "6.0.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.12", + "node_modules/handle-thing": { + "version": "2.0.1", "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "license": "MIT" }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "4.2.1", + "node_modules/has-bigints": { + "version": "1.1.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint/node_modules/ignore": { - "version": "5.3.2", + "node_modules/has-flag": { + "version": "4.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 4" + "node": ">=8" } }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/has-property-descriptors": { + "version": "1.0.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "es-define-property": "^1.0.0" }, - "engines": { - "node": "*" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/espree": { - "version": "10.4.0", + "node_modules/has-proto": { + "version": "1.2.0", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "acorn": "^8.15.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" + "dunder-proto": "^1.0.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "4.2.1", + "node_modules/has-symbols": { + "version": "1.1.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esquery": { - "version": "1.6.0", + "node_modules/has-tostringtag": { + "version": "1.0.2", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "estraverse": "^5.1.0" + "has-symbols": "^1.0.3" }, "engines": { - "node": ">=0.10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esrecurse": { - "version": "4.3.0", + "node_modules/hasown": { + "version": "2.0.2", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "estraverse": "^5.2.0" + "function-bind": "^1.1.2" }, "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" + "node": ">= 0.4" } }, - "node_modules/estree-util-is-identifier-name": { + "node_modules/hast-util-has-property": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", - "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", + "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, + "node_modules/hast-util-interactive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-interactive/-/hast-util-interactive-3.0.0.tgz", + "integrity": "sha512-9VFa3kP6AT40BNYcPmn3jpsG+1KPDF0rUFCrFVQDUsuUXZ3YLODm8UGV0tmYzFpcOIQXTAOi2ccS3ywlj2dQTA==", "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0" + "@types/hast": "^3.0.0", + "hast-util-has-property": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/esutils": { - "version": "2.0.3", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/etag": { - "version": "1.8.1", - "dev": true, + "node_modules/hast-util-sanitize": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-5.0.2.tgz", + "integrity": "sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg==", "license": "MIT", - "engines": { - "node": ">= 0.6" + "dependencies": { + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "unist-util-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "dev": true, - "license": "MIT" - }, - "node_modules/events": { - "version": "3.3.0", - "dev": true, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", "license": "MIT", - "engines": { - "node": ">=0.8.x" + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/expect-type": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz", - "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.0.0" + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/express": { - "version": "4.21.2", - "dev": true, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", "license": "MIT", "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", - "proxy-addr": "~2.0.7", - "qs": "6.13.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" + "@types/hast": "^3.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/express" + "url": "https://opencollective.com/unified" } }, - "node_modules/express/node_modules/cookie": { - "version": "0.7.1", + "node_modules/he": { + "version": "1.2.0", "dev": true, "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/highlight.js": { + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz", + "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==", + "license": "BSD-3-Clause", "engines": { - "node": ">= 0.6" + "node": ">=12.0.0" } }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "dev": true, - "license": "MIT", + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", "dependencies": { - "ms": "2.0.0" + "react-is": "^16.7.0" } }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "license": "MIT" - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "dev": true, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "license": "MIT" }, - "node_modules/fast-diff": { - "version": "1.3.0", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/fast-equals": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.3.3.tgz", - "integrity": "sha512-/boTcHZeIAQ2r/tL11voclBHDeP9WPxLt+tyAbVSyyXuUFyh0Tne7gJZTqGbxnvj79TjLdCXLOY7UIPhyG5MTw==", + "node_modules/hpack.js": { + "version": "2.1.6", "dev": true, "license": "MIT", - "engines": { - "node": ">=6.0.0" + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" } }, - "node_modules/fast-glob": { - "version": "3.3.3", + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", "dev": true, - "license": "MIT", - "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.8" - }, - "engines": { - "node": ">=8.6.0" - } + "license": "MIT" }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", "dev": true, "license": "MIT" }, - "node_modules/fast-uri": { - "version": "3.1.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", "dev": true, "license": "MIT", - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/fastq": { - "version": "1.19.1", - "dev": true, - "license": "ISC", "dependencies": { - "reusify": "^1.0.4" + "safe-buffer": "~5.1.0" } }, - "node_modules/faye-websocket": { - "version": "0.11.4", + "node_modules/html-escaper": { + "version": "2.0.2", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fflate": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz", - "integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==", "license": "MIT" }, - "node_modules/file-entry-cache": { - "version": "8.0.0", + "node_modules/html-minifier-terser": { + "version": "6.1.0", "dev": true, "license": "MIT", "dependencies": { - "flat-cache": "^4.0.0" + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" }, "engines": { - "node": ">=16.0.0" + "node": ">=12" } }, - "node_modules/file-loader": { - "version": "6.2.0", - "dev": true, + "node_modules/html-url-attributes": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz", + "integrity": "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==", "license": "MIT", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "url": "https://opencollective.com/unified" } }, - "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.3.0", + "node_modules/html-webpack-plugin": { + "version": "5.6.4", "dev": true, "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">=10.13.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, - "node_modules/file-selector": { - "version": "2.1.2", + "node_modules/htmlparser2": { + "version": "6.1.0", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], "license": "MIT", "dependencies": { - "tslib": "^2.7.0" - }, - "engines": { - "node": ">= 12" + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" } }, - "node_modules/file-type": { - "version": "19.6.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-19.6.0.tgz", - "integrity": "sha512-VZR5I7k5wkD0HgFnMsq5hOsSc710MJMu5Nc5QYsbe38NN5iPV/XTObYLc/cpttRTf6lX538+5uO1ZQRhYibiZQ==", + "node_modules/htmlparser2/node_modules/entities": { + "version": "2.2.0", "dev": true, - "license": "MIT", - "dependencies": { - "get-stream": "^9.0.1", - "strtok3": "^9.0.1", - "token-types": "^6.0.0", - "uint8array-extras": "^1.3.0" - }, - "engines": { - "node": ">=18" - }, + "license": "BSD-2-Clause", "funding": { - "url": "https://github.com/sindresorhus/file-type?sponsor=1" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/fill-range": { - "version": "7.1.1", + "node_modules/http-deceiver": { + "version": "1.2.7", + "dev": true, + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "2.0.0", "dev": true, "license": "MIT", "dependencies": { - "to-regex-range": "^5.0.1" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/finalhandler": { - "version": "1.3.1", + "node_modules/http-parser-js": { + "version": "0.5.10", + "dev": true, + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", "dev": true, "license": "MIT", "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=8.0.0" } }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", + "node_modules/http-proxy-middleware": { + "version": "2.0.9", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/find-up": { - "version": "5.0.0", + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", "dev": true, "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, "engines": { "node": ">=10" }, @@ -5415,265 +7030,321 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flat": { - "version": "5.0.2", + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" } }, - "node_modules/flat-cache": { - "version": "4.0.1", + "node_modules/hyperdyperid": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.18" + } + }, + "node_modules/hyphenate-style-name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.1.0.tgz", + "integrity": "sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==", + "license": "BSD-3-Clause" + }, + "node_modules/iconv-lite": { + "version": "0.4.24", "dev": true, "license": "MIT", "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">=16" + "node": ">=0.10.0" } }, - "node_modules/flatted": { - "version": "3.3.3", + "node_modules/icss-utils": { + "version": "5.1.0", "dev": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } }, - "node_modules/focus-trap": { - "version": "7.6.4", + "node_modules/identifier-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/identifier-regex/-/identifier-regex-1.0.1.tgz", + "integrity": "sha512-ZrYyM0sozNPZlvBvE7Oq9Bn44n0qKGrYu5sQ0JzMUnjIhpgWYE2JB6aBoFwEYdPjqj7jPyxXTMJiHDOxDfd8yw==", + "dev": true, "license": "MIT", "dependencies": { - "tabbable": "^6.2.0" + "reserved-identifiers": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/follow-redirects": { - "version": "1.15.11", + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, "funding": [ { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "7.0.5", + "dev": true, "license": "MIT", "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } + "node": ">= 4" } }, - "node_modules/for-each": { - "version": "0.3.5", + "node_modules/image-dimensions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/image-dimensions/-/image-dimensions-2.5.0.tgz", + "integrity": "sha512-CKZPHjAEtSg9lBV9eER0bhNn/yrY7cFEQEhkwjLhqLY+Na8lcP1pEyWsaGMGc8t2qbKWA/tuqbhFQpOKGN72Yw==", "dev": true, "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7" + "bin": { + "image-dimensions": "cli.js" }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/foreground-child": { - "version": "3.3.1", + "node_modules/imagemin": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-9.0.1.tgz", + "integrity": "sha512-UoHOfynN8QeqRoUGunn6ilMnLpJ+utbmleP2ufcFqaGal8mY/PeOpV43N31uqtb+CBMFqQ7hxgKzIaAAnmcrdA==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" + "change-file-extension": "^0.1.1", + "environment": "^1.0.0", + "file-type": "^19.0.0", + "globby": "^14.0.1", + "image-dimensions": "^2.3.0", + "junk": "^4.0.1", + "ow": "^2.0.0", + "p-pipe": "^4.0.0", + "slash": "^5.1.0", + "uint8array-extras": "^1.1.0" }, "engines": { - "node": ">=14" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/form-data": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", - "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "node_modules/import-fresh": { + "version": "3.3.1", "dev": true, "license": "MIT", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/forwarded": { - "version": "0.2.0", + "node_modules/import-local": { + "version": "3.2.0", "dev": true, "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, "engines": { - "node": ">= 0.6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fresh": { - "version": "0.5.2", + "node_modules/imurmurhash": { + "version": "0.1.4", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=0.8.19" } }, - "node_modules/fsevents": { - "version": "2.3.3", + "node_modules/indent-string": { + "version": "4.0.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/function-timeout": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.2.tgz", - "integrity": "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/function.prototype.name": { - "version": "1.1.8", + "node_modules/inherits": { + "version": "2.0.4", + "license": "ISC" + }, + "node_modules/inline-style-parser": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", + "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", + "license": "MIT" + }, + "node_modules/internal-slot": { + "version": "1.1.0", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", + "es-errors": "^1.3.0", "hasown": "^2.0.2", - "is-callable": "^1.2.7" + "side-channel": "^1.1.0" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/functions-have-names": { - "version": "1.2.3", + "node_modules/interpret": { + "version": "3.1.1", "dev": true, "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10.13.0" } }, - "node_modules/generator-function": { - "version": "2.0.1", + "node_modules/ipaddr.js": { + "version": "2.2.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">= 10" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "dev": true, + "node_modules/is-absolute-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz", + "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==", "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "dev": true, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/get-port": { - "version": "5.1.1", + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/get-proto": { - "version": "1.0.1", + "node_modules/is-array-buffer": { + "version": "3.0.5", "dev": true, "license": "MIT", "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-stream": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", - "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-async-function": { + "version": "2.1.1", "dev": true, "license": "MIT", "dependencies": { - "@sec-ant/readable-stream": "^0.4.1", - "is-stream": "^4.0.1" + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-symbol-description": { + "node_modules/is-bigint": { "version": "1.1.0", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" + "has-bigints": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -5682,55 +7353,49 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/glob-parent": { - "version": "6.0.2", + "node_modules/is-binary-path": { + "version": "2.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.3" + "binary-extensions": "^2.0.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=8" } }, - "node_modules/glob-to-regex.js": { - "version": "1.2.0", + "node_modules/is-boolean-object": { + "version": "1.2.2", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, "engines": { - "node": ">=10.0" + "node": ">= 0.4" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/globals": { - "version": "14.0.0", + "node_modules/is-callable": { + "version": "1.2.7", "dev": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globalthis": { - "version": "1.0.4", + "node_modules/is-core-module": { + "version": "2.16.1", "dev": true, "license": "MIT", "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -5739,31 +7404,30 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globby": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", - "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", + "node_modules/is-data-view": { + "version": "1.0.2", "dev": true, "license": "MIT", "dependencies": { - "@sindresorhus/merge-streams": "^2.1.0", - "fast-glob": "^3.3.3", - "ignore": "^7.0.3", - "path-type": "^6.0.0", - "slash": "^5.1.0", - "unicorn-magic": "^0.3.0" + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gopd": { - "version": "1.2.0", + "node_modules/is-date-object": { + "version": "1.1.0", "dev": true, "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, "engines": { "node": ">= 0.4" }, @@ -5771,39 +7435,45 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "dev": true, - "license": "ISC" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "dev": true, - "license": "MIT" + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "node_modules/gzip-size": { - "version": "6.0.0", + "node_modules/is-docker": { + "version": "3.0.0", "dev": true, "license": "MIT", - "dependencies": { - "duplexer": "^0.1.2" + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/handle-thing": { - "version": "2.0.1", + "node_modules/is-extglob": { + "version": "2.1.1", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/has-bigints": { - "version": "1.1.0", + "node_modules/is-finalizationregistry": { + "version": "1.1.1", "dev": true, "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, "engines": { "node": ">= 0.4" }, @@ -5811,31 +7481,34 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-flag": { - "version": "4.0.0", + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=6" } }, - "node_modules/has-proto": { - "version": "1.2.0", + "node_modules/is-generator-function": { + "version": "1.1.2", "dev": true, "license": "MIT", "dependencies": { - "dunder-proto": "^1.0.0" + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -5844,1152 +7517,1389 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-symbols": { - "version": "1.1.0", + "node_modules/is-glob": { + "version": "4.0.3", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "is-extglob": "^2.1.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/has-tostringtag": { - "version": "1.0.2", + "node_modules/is-identifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-identifier/-/is-identifier-1.0.1.tgz", + "integrity": "sha512-HQ5v4rEJ7REUV54bCd2l5FaD299SGDEn2UPoVXaTHAyGviLq2menVUD2udi3trQ32uvB6LdAh/0ck2EuizrtpA==", "dev": true, "license": "MIT", "dependencies": { - "has-symbols": "^1.0.3" + "identifier-regex": "^1.0.0", + "super-regex": "^1.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hasown": { - "version": "2.0.2", + "node_modules/is-in-browser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", + "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==", + "license": "MIT" + }, + "node_modules/is-inside-container": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "function-bind": "^1.1.2" + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" }, "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hast-util-has-property": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", - "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" + "node": ">=14.16" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hast-util-interactive": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-interactive/-/hast-util-interactive-3.0.0.tgz", - "integrity": "sha512-9VFa3kP6AT40BNYcPmn3jpsG+1KPDF0rUFCrFVQDUsuUXZ3YLODm8UGV0tmYzFpcOIQXTAOi2ccS3ywlj2dQTA==", + "node_modules/is-map": { + "version": "2.0.3", + "dev": true, "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-has-property": "^3.0.0" + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hast-util-is-element": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "node_modules/is-negative-zero": { + "version": "2.0.3", + "dev": true, "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hast-util-sanitize": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-5.0.2.tgz", - "integrity": "sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg==", + "node_modules/is-network-error": { + "version": "1.3.0", + "dev": true, "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@ungap/structured-clone": "^1.0.0", - "unist-util-position": "^5.0.0" + "engines": { + "node": ">=16" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hast-util-to-jsx-runtime": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", - "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "node_modules/is-number": { + "version": "7.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-js": "^1.0.0", - "unist-util-position": "^5.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=0.12.0" } }, - "node_modules/hast-util-to-text": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", - "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "node_modules/is-number-object": { + "version": "1.1.1", + "dev": true, "license": "MIT", "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "hast-util-is-element": "^3.0.0", - "unist-util-find-after": "^5.0.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "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==", "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" + "engines": { + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/he": { - "version": "1.2.0", + "node_modules/is-plain-object": { + "version": "2.0.4", "dev": true, "license": "MIT", - "bin": { - "he": "bin/he" - } - }, - "node_modules/highlight.js": { - "version": "11.11.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz", - "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "license": "BSD-3-Clause", "dependencies": { - "react-is": "^16.7.0" + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/hoist-non-react-statics/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "dev": true, "license": "MIT" }, - "node_modules/hpack.js": { - "version": "2.1.6", + "node_modules/is-regex": { + "version": "1.2.1", "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hpack.js/node_modules/isarray": { - "version": "1.0.0", + "node_modules/is-set": { + "version": "2.0.3", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", "dev": true, "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", + "node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/hpack.js/node_modules/string_decoder": { + "node_modules/is-string": { "version": "1.1.1", "dev": true, "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/html-encoding-sniffer": { - "version": "4.0.0", + "node_modules/is-symbol": { + "version": "1.1.1", "dev": true, "license": "MIT", "dependencies": { - "whatwg-encoding": "^3.1.1" + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" }, "engines": { - "node": ">=18" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/html-escaper": { - "version": "2.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/html-minifier-terser": { - "version": "6.1.0", + "node_modules/is-typed-array": { + "version": "1.1.15", "dev": true, "license": "MIT", "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - }, - "bin": { - "html-minifier-terser": "cli.js" + "which-typed-array": "^1.1.16" }, "engines": { - "node": ">=12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/html-url-attributes": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz", - "integrity": "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==", + "node_modules/is-weakmap": { + "version": "2.0.2", + "dev": true, "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/html-webpack-plugin": { - "version": "5.6.4", + "node_modules/is-weakref": { + "version": "1.1.1", "dev": true, "license": "MIT", "dependencies": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" + "call-bound": "^1.0.3" }, "engines": { - "node": ">=10.13.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.20.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/htmlparser2": { - "version": "6.1.0", + "node_modules/is-weakset": { + "version": "2.0.4", "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], "license": "MIT", "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/htmlparser2/node_modules/entities": { - "version": "2.2.0", + "node_modules/is-wsl": { + "version": "3.1.0", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/http-deceiver": { - "version": "1.2.7", + "node_modules/isarray": { + "version": "2.0.5", "dev": true, "license": "MIT" }, - "node_modules/http-errors": { + "node_modules/isexe": { "version": "2.0.0", + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", "dev": true, "license": "MIT", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/http-parser-js": { - "version": "0.5.10", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, - "license": "MIT" + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } }, - "node_modules/http-proxy": { - "version": "1.18.1", + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" }, "engines": { - "node": ">=8.0.0" + "node": ">=10" } }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 14" + "node": ">=10" } }, - "node_modules/http-proxy-middleware": { - "version": "2.0.9", + "node_modules/istanbul-reports": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } + "node": ">=8" } }, - "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { - "version": "3.0.0", + "node_modules/iterator.prototype": { + "version": "1.1.5", "dev": true, "license": "MIT", - "engines": { - "node": ">=10" + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 0.4" } }, - "node_modules/https-proxy-agent": { - "version": "7.0.6", + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" }, "engines": { - "node": ">= 14" + "node": ">=10" } }, - "node_modules/hyperdyperid": { - "version": "1.2.0", + "node_modules/jake/node_modules/brace-expansion": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=10.18" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/hyphenate-style-name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.1.0.tgz", - "integrity": "sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==", - "license": "BSD-3-Clause" - }, - "node_modules/iconv-lite": { - "version": "0.4.24", + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/icss-utils": { - "version": "5.1.0", + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, "engines": { - "node": "^10 || ^12 || >= 14" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "postcss": "^8.1.0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/identifier-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/identifier-regex/-/identifier-regex-1.0.1.tgz", - "integrity": "sha512-ZrYyM0sozNPZlvBvE7Oq9Bn44n0qKGrYu5sQ0JzMUnjIhpgWYE2JB6aBoFwEYdPjqj7jPyxXTMJiHDOxDfd8yw==", + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, "license": "MIT", "dependencies": { - "reserved-identifiers": "^1.0.0" + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "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" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/ignore": { - "version": "7.0.5", + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, "engines": { - "node": ">= 4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/image-dimensions": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/image-dimensions/-/image-dimensions-2.5.0.tgz", - "integrity": "sha512-CKZPHjAEtSg9lBV9eER0bhNn/yrY7cFEQEhkwjLhqLY+Na8lcP1pEyWsaGMGc8t2qbKWA/tuqbhFQpOKGN72Yw==", + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "bin": { - "image-dimensions": "cli.js" - }, "engines": { - "node": ">=18" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/imagemin": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-9.0.1.tgz", - "integrity": "sha512-UoHOfynN8QeqRoUGunn6ilMnLpJ+utbmleP2ufcFqaGal8mY/PeOpV43N31uqtb+CBMFqQ7hxgKzIaAAnmcrdA==", + "node_modules/jest-circus/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "license": "MIT", "dependencies": { - "change-file-extension": "^0.1.1", - "environment": "^1.0.0", - "file-type": "^19.0.0", - "globby": "^14.0.1", - "image-dimensions": "^2.3.0", - "junk": "^4.0.1", - "ow": "^2.0.0", - "p-pipe": "^4.0.0", - "slash": "^5.1.0", - "uint8array-extras": "^1.1.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/import-fresh": { - "version": "3.3.1", + "node_modules/jest-circus/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-circus/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/import-local": { - "version": "3.2.0", + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, "license": "MIT", "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" }, "bin": { - "import-local-fixture": "fixtures/cli.js" + "jest": "bin/jest.js" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/imurmurhash": { - "version": "0.1.4", + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, "engines": { - "node": ">=0.8.19" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/indent-string": { - "version": "4.0.0", + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/inherits": { - "version": "2.0.4", - "license": "ISC" - }, - "node_modules/inline-style-parser": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", - "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", - "license": "MIT" - }, - "node_modules/internal-slot": { - "version": "1.1.0", + "node_modules/jest-config/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/interpret": { - "version": "3.1.1", + "node_modules/jest-config/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } + "license": "MIT" }, - "node_modules/ipaddr.js": { - "version": "2.2.0", + "node_modules/jest-config/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "license": "MIT", "engines": { - "node": ">= 10" + "node": ">=8" } }, - "node_modules/is-absolute-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz", - "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==", + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-alphabetical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-alphanumerical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", - "license": "MIT", - "dependencies": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-array-buffer": { - "version": "3.0.5", + "node_modules/jest-diff/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-async-function": { - "version": "2.1.1", + "node_modules/jest-diff/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, "license": "MIT", "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" + "detect-newline": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-bigint": { - "version": "1.1.0", + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, "license": "MIT", "dependencies": { - "has-bigints": "^1.0.2" + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", + "node_modules/jest-each/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "license": "MIT", "dependencies": { - "binary-extensions": "^2.0.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-boolean-object": { - "version": "1.2.2", + "node_modules/jest-each/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-environment-jsdom": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", + "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0", + "jsdom": "^20.0.0" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/is-callable": { - "version": "1.2.7", + "node_modules/jest-environment-jsdom/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "debug": "4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 6.0.0" } }, - "node_modules/is-core-module": { - "version": "2.16.1", + "node_modules/jest-environment-jsdom/node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "license": "MIT", "dependencies": { - "hasown": "^2.0.2" + "cssom": "~0.3.6" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/is-data-view": { - "version": "1.0.2", + "node_modules/jest-environment-jsdom/node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-environment-jsdom/node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/is-date-object": { - "version": "1.1.0", + "node_modules/jest-environment-jsdom/node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" + "whatwg-encoding": "^2.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/is-decimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "node_modules/jest-environment-jsdom/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/is-docker": { - "version": "3.0.0", + "node_modules/jest-environment-jsdom/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, "license": "MIT", - "bin": { - "is-docker": "cli.js" + "dependencies": { + "agent-base": "6", + "debug": "4" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, - "node_modules/is-extglob": { - "version": "2.1.1", + "node_modules/jest-environment-jsdom/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", + "node_modules/jest-environment-jsdom/node_modules/jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3" + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.2", + "parse5": "^7.1.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=14" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/is-fullwidth-code-point": { + "node_modules/jest-environment-jsdom/node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-environment-jsdom/node_modules/tr46": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", "dev": true, "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/is-generator-function": { - "version": "1.1.2", + "node_modules/jest-environment-jsdom/node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.4", - "generator-function": "^2.0.0", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" + "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=14" } }, - "node_modules/is-glob": { - "version": "4.0.3", + "node_modules/jest-environment-jsdom/node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", "dev": true, "license": "MIT", "dependencies": { - "is-extglob": "^2.1.1" + "iconv-lite": "0.6.3" }, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "node_modules/jest-environment-jsdom/node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true, "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "engines": { + "node": ">=12" } }, - "node_modules/is-identifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-identifier/-/is-identifier-1.0.1.tgz", - "integrity": "sha512-HQ5v4rEJ7REUV54bCd2l5FaD299SGDEn2UPoVXaTHAyGviLq2menVUD2udi3trQ32uvB6LdAh/0ck2EuizrtpA==", + "node_modules/jest-environment-jsdom/node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", "dev": true, "license": "MIT", "dependencies": { - "identifier-regex": "^1.0.0", - "super-regex": "^1.0.0" + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/is-in-browser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", - "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==", - "license": "MIT" + "node_modules/jest-environment-jsdom/node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12" + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/is-inside-container": { - "version": "1.0.0", + "node_modules/jest-fixed-jsdom": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/jest-fixed-jsdom/-/jest-fixed-jsdom-0.0.9.tgz", + "integrity": "sha512-KPfqh2+sn5q2B+7LZktwDcwhCpOpUSue8a1I+BcixWLOQoEVyAjAGfH+IYZGoxZsziNojoHGRTC8xRbB1wDD4g==", "dev": true, "license": "MIT", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, "engines": { - "node": ">=14.16" + "node": ">=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "jest-environment-jsdom": ">=28.0.0" } }, - "node_modules/is-map": { - "version": "2.0.3", + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-negative-zero": { - "version": "2.0.3", + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/is-network-error": { - "version": "1.3.0", + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, "engines": { - "node": ">=16" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-leak-detector/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-number": { - "version": "7.0.0", + "node_modules/jest-leak-detector/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, "engines": { - "node": ">=0.12.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-number-object": { - "version": "1.1.1", + "node_modules/jest-leak-detector/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.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==", + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-plain-object": { - "version": "2.0.4", + "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "license": "MIT", "dependencies": { - "isobject": "^3.0.1" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", + "node_modules/jest-matcher-utils/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true, "license": "MIT" }, - "node_modules/is-regex": { - "version": "1.2.1", + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-set": { - "version": "2.0.3", + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", + "node_modules/jest-message-util/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-stream": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", - "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "node_modules/jest-message-util/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-message-util/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/is-string": { - "version": "1.1.1", + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-symbol": { - "version": "1.1.1", + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - }, "engines": { - "node": ">= 0.4" + "node": ">=6" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "node_modules/is-typed-array": { - "version": "1.1.15", + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.16" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-weakmap": { - "version": "2.0.2", + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-weakref": { - "version": "1.1.1", + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3" + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-weakset": { - "version": "2.0.4", + "node_modules/jest-resolve/node_modules/resolve": { + "version": "1.22.12", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz", + "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "engines": { "node": ">= 0.4" @@ -6998,107 +8908,160 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-wsl": { - "version": "3.1.0", + "node_modules/jest-resolve/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "license": "MIT", - "dependencies": { - "is-inside-container": "^1.0.0" - }, "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/isarray": { - "version": "2.0.5", + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "license": "ISC" + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/isobject": { - "version": "3.0.1", + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "dev": true, "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "node_modules/jest-runtime/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", - "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.23", - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0" - }, + "license": "MIT", "engines": { "node": ">=10" - } - }, - "node_modules/istanbul-reports": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", - "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/iterator.prototype": { - "version": "1.1.5", + "node_modules/jest-snapshot/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "license": "MIT", "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/jest-snapshot/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, "node_modules/jest-util": { "version": "29.7.0", "dev": true, @@ -7115,50 +9078,90 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-util/node_modules/@jest/schemas": { - "version": "29.6.3", + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-util/node_modules/@jest/types": { - "version": "29.6.3", + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-validate/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-util/node_modules/@sinclair/typebox": { - "version": "0.27.8", + "node_modules/jest-validate/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true, "license": "MIT" }, - "node_modules/jest-util/node_modules/ci-info": { - "version": "3.9.0", + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-worker": { @@ -7213,54 +9216,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsdom": { - "version": "25.0.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-25.0.1.tgz", - "integrity": "sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssstyle": "^4.1.0", - "data-urls": "^5.0.0", - "decimal.js": "^10.4.3", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^4.0.0", - "http-proxy-agent": "^7.0.2", - "https-proxy-agent": "^7.0.5", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.12", - "parse5": "^7.1.2", - "rrweb-cssom": "^0.7.1", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^5.0.0", - "w3c-xmlserializer": "^5.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^3.1.1", - "whatwg-mimetype": "^4.0.0", - "whatwg-url": "^14.0.0", - "ws": "^8.18.0", - "xml-name-validator": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "canvas": "^2.11.2" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsdom/node_modules/rrweb-cssom": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", - "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==", - "dev": true, - "license": "MIT" - }, "node_modules/jsesc": { "version": "3.1.0", "dev": true, @@ -7528,6 +9483,16 @@ "shell-quote": "^1.8.3" } }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/levn": { "version": "0.4.1", "dev": true, @@ -7551,6 +9516,13 @@ "url": "https://github.com/sponsors/antonk52" } }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, "node_modules/loader-runner": { "version": "4.3.1", "dev": true, @@ -7598,7 +9570,9 @@ } }, "node_modules/lodash": { - "version": "4.17.21", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", "license": "MIT" }, "node_modules/lodash.memoize": { @@ -7671,33 +9645,10 @@ "version": "1.5.0", "dev": true, "license": "MIT", - "peer": true, "bin": { "lz-string": "bin/bin.js" } }, - "node_modules/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "node_modules/magicast": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.1.tgz", - "integrity": "sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.28.5", - "@babel/types": "^7.28.5", - "source-map-js": "^1.2.1" - } - }, "node_modules/make-asynchronous": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-asynchronous/-/make-asynchronous-1.0.1.tgz", @@ -7745,6 +9696,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "license": "ISC" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, "node_modules/markdown-table": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", @@ -8722,6 +10690,16 @@ "node": ">= 0.6" } }, + "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, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/min-indent": { "version": "1.0.1", "dev": true, @@ -8928,6 +10906,13 @@ "node": ">= 6.13.0" } }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true, + "license": "MIT" + }, "node_modules/node-releases": { "version": "2.0.27", "dev": true, @@ -8941,6 +10926,19 @@ "node": ">=0.10.0" } }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/nth-check": { "version": "2.1.1", "dev": true, @@ -9080,6 +11078,32 @@ "node": ">= 0.8" } }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "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, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/open": { "version": "10.2.0", "dev": true, @@ -9315,6 +11339,25 @@ "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", "license": "MIT" }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/parse5": { "version": "7.3.0", "dev": true, @@ -9357,6 +11400,16 @@ "node": ">=8" } }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/path-key": { "version": "3.1.1", "license": "MIT", @@ -9387,13 +11440,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true, - "license": "MIT" - }, "node_modules/peek-readable": { "version": "5.4.2", "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.4.2.tgz", @@ -9424,6 +11470,16 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, "node_modules/pkg-dir": { "version": "4.2.0", "dev": true, @@ -10032,7 +12088,6 @@ "version": "27.5.1", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -10046,18 +12101,41 @@ "version": "5.2.0", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=10" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=6" + } }, "node_modules/prop-types": { "version": "15.8.1", @@ -10102,6 +12180,19 @@ "node": ">= 0.10" } }, + "node_modules/psl": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" + } + }, "node_modules/punycode": { "version": "2.3.1", "dev": true, @@ -10110,6 +12201,23 @@ "node": ">=6" } }, + "node_modules/pure-rand": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" + }, "node_modules/qs": { "version": "6.13.0", "dev": true, @@ -10124,6 +12232,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true, + "license": "MIT" + }, "node_modules/queue-microtask": { "version": "1.2.3", "dev": true, @@ -10263,8 +12378,7 @@ "node_modules/react-is": { "version": "17.0.2", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/react-jss": { "version": "10.10.0", @@ -10315,16 +12429,6 @@ "react": ">=18" } }, - "node_modules/react-refresh": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", - "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/react-router": { "version": "7.9.5", "dev": true, @@ -10639,6 +12743,16 @@ "dev": true, "license": "MIT" }, + "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, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-from-string": { "version": "2.0.2", "dev": true, @@ -10715,6 +12829,16 @@ "node": ">=4" } }, + "node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/retry": { "version": "0.13.1", "dev": true, @@ -10823,53 +12947,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/rollup": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz", - "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.53.3", - "@rollup/rollup-android-arm64": "4.53.3", - "@rollup/rollup-darwin-arm64": "4.53.3", - "@rollup/rollup-darwin-x64": "4.53.3", - "@rollup/rollup-freebsd-arm64": "4.53.3", - "@rollup/rollup-freebsd-x64": "4.53.3", - "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", - "@rollup/rollup-linux-arm-musleabihf": "4.53.3", - "@rollup/rollup-linux-arm64-gnu": "4.53.3", - "@rollup/rollup-linux-arm64-musl": "4.53.3", - "@rollup/rollup-linux-loong64-gnu": "4.53.3", - "@rollup/rollup-linux-ppc64-gnu": "4.53.3", - "@rollup/rollup-linux-riscv64-gnu": "4.53.3", - "@rollup/rollup-linux-riscv64-musl": "4.53.3", - "@rollup/rollup-linux-s390x-gnu": "4.53.3", - "@rollup/rollup-linux-x64-gnu": "4.53.3", - "@rollup/rollup-linux-x64-musl": "4.53.3", - "@rollup/rollup-openharmony-arm64": "4.53.3", - "@rollup/rollup-win32-arm64-msvc": "4.53.3", - "@rollup/rollup-win32-ia32-msvc": "4.53.3", - "@rollup/rollup-win32-x64-gnu": "4.53.3", - "@rollup/rollup-win32-x64-msvc": "4.53.3", - "fsevents": "~2.3.2" - } - }, - "node_modules/rrweb-cssom": { - "version": "0.8.0", - "dev": true, - "license": "MIT" - }, "node_modules/run-applescript": { "version": "7.1.0", "dev": true, @@ -11395,13 +13472,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true, - "license": "ISC" - }, "node_modules/signal-exit": { "version": "4.1.0", "dev": true, @@ -11445,6 +13515,13 @@ "node": ">=18" } }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true, + "license": "MIT" + }, "node_modules/slash": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", @@ -11484,6 +13561,17 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/space-separated-tokens": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", @@ -11522,12 +13610,35 @@ "wbuf": "^1.7.3" } }, - "node_modules/stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true, - "license": "MIT" + "license": "BSD-3-Clause" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, "node_modules/state-local": { "version": "1.0.7", @@ -11543,13 +13654,6 @@ "node": ">= 0.8" } }, - "node_modules/std-env": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", - "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", - "dev": true, - "license": "MIT" - }, "node_modules/stop-iteration-iterator": { "version": "1.1.0", "dev": true, @@ -11570,6 +13674,33 @@ "safe-buffer": "~5.2.0" } }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-length/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, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/string-width": { "version": "5.1.2", "dev": true, @@ -11755,6 +13886,26 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/strip-indent": { "version": "3.0.0", "dev": true, @@ -12024,7 +14175,9 @@ } }, "node_modules/tabbable": { - "version": "6.3.0", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.4.0.tgz", + "integrity": "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==", "license": "MIT" }, "node_modules/tapable": { @@ -12130,6 +14283,45 @@ "source-map": "^0.6.0" } }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/theming": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/theming/-/theming-3.3.0.tgz", @@ -12190,13 +14382,6 @@ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", "license": "MIT" }, - "node_modules/tinybench": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", - "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", - "dev": true, - "license": "MIT" - }, "node_modules/tinydate": { "version": "1.3.0", "license": "MIT", @@ -12204,13 +14389,6 @@ "node": ">=4" } }, - "node_modules/tinyexec": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", - "dev": true, - "license": "MIT" - }, "node_modules/tinyglobby": { "version": "0.2.15", "dev": true, @@ -12253,31 +14431,12 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/tinyrainbow": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz", - "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tldts": { - "version": "6.1.86", - "dev": true, - "license": "MIT", - "dependencies": { - "tldts-core": "^6.1.86" - }, - "bin": { - "tldts": "bin/cli.js" - } - }, - "node_modules/tldts-core": { - "version": "6.1.86", + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true, - "license": "MIT" + "license": "BSD-3-Clause" }, "node_modules/to-regex-range": { "version": "5.0.1", @@ -12324,28 +14483,6 @@ "node": ">=6" } }, - "node_modules/tough-cookie": { - "version": "5.1.2", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tldts": "^6.1.32" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/tr46": { - "version": "5.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.3.1" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/tree-dump": { "version": "1.1.0", "dev": true, @@ -12392,6 +14529,55 @@ "typescript": ">=4.8.4" } }, + "node_modules/ts-jest": { + "version": "29.2.5", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.5.tgz", + "integrity": "sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bs-logger": "^0.2.6", + "ejs": "^3.1.10", + "fast-json-stable-stringify": "^2.1.0", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "^4.1.2", + "make-error": "^1.3.6", + "semver": "^7.6.3", + "yargs-parser": "^21.1.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/transform": "^29.0.0", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/transform": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, "node_modules/ts-loader": { "version": "9.5.4", "dev": true, @@ -12466,7 +14652,30 @@ "prelude-ls": "^1.2.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/type-is": { @@ -12977,6 +15186,16 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/unpipe": { "version": "1.0.0", "dev": true, @@ -13065,6 +15284,17 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "dev": true, @@ -13091,6 +15321,21 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, "node_modules/vary": { "version": "1.1.2", "dev": true, @@ -13127,212 +15372,14 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/vite": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", - "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.4.4", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/vitest": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.10.tgz", - "integrity": "sha512-2Fqty3MM9CDwOVet/jaQalYlbcjATZwPYGcqpiYQqgQ/dLC7GuHdISKgTYIVF/kaishKxLzleKWWfbSDklyIKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/expect": "4.0.10", - "@vitest/mocker": "4.0.10", - "@vitest/pretty-format": "4.0.10", - "@vitest/runner": "4.0.10", - "@vitest/snapshot": "4.0.10", - "@vitest/spy": "4.0.10", - "@vitest/utils": "4.0.10", - "debug": "^4.4.3", - "es-module-lexer": "^1.7.0", - "expect-type": "^1.2.2", - "magic-string": "^0.30.21", - "pathe": "^2.0.3", - "picomatch": "^4.0.3", - "std-env": "^3.10.0", - "tinybench": "^2.9.0", - "tinyexec": "^0.3.2", - "tinyglobby": "^0.2.15", - "tinyrainbow": "^3.0.3", - "vite": "^6.0.0 || ^7.0.0", - "why-is-node-running": "^2.3.0" - }, - "bin": { - "vitest": "vitest.mjs" - }, - "engines": { - "node": "^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "@edge-runtime/vm": "*", - "@types/debug": "^4.1.12", - "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.0.10", - "@vitest/browser-preview": "4.0.10", - "@vitest/browser-webdriverio": "4.0.10", - "@vitest/ui": "4.0.10", - "happy-dom": "*", - "jsdom": "*" - }, - "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@types/debug": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser-playwright": { - "optional": true - }, - "@vitest/browser-preview": { - "optional": true - }, - "@vitest/browser-webdriverio": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - } - } - }, - "node_modules/vitest/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "5.0.0", + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "xml-name-validator": "^5.0.0" - }, - "engines": { - "node": ">=18" + "makeerror": "1.0.12" } }, "node_modules/watchpack": { @@ -13725,48 +15772,6 @@ "node": ">=0.8.0" } }, - "node_modules/whatwg-encoding": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/whatwg-mimetype": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/whatwg-url": { - "version": "14.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "tr46": "^5.1.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/which": { "version": "2.0.2", "license": "ISC", @@ -13861,23 +15866,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/why-is-node-running": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", - "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", - "dev": true, - "license": "MIT", - "dependencies": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - }, - "bin": { - "why-is-node-running": "cli.js" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/wildcard": { "version": "2.0.1", "dev": true, @@ -13964,6 +15952,34 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/write-file-atomic/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, + "license": "ISC" + }, "node_modules/ws": { "version": "8.18.3", "dev": true, @@ -13998,24 +16014,90 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/xml-name-validator": { - "version": "5.0.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18" - } - }, "node_modules/xmlchars": { "version": "2.2.0", "dev": true, "license": "MIT" }, + "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, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, "node_modules/yallist": { "version": "3.1.1", "dev": true, "license": "ISC" }, + "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, + "license": "MIT", + "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, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "dev": true, diff --git a/package.json b/package.json index 7fbbd92f..e5c9ebd4 100644 --- a/package.json +++ b/package.json @@ -72,13 +72,13 @@ "webpack-merge": "^6.0.1" }, "dependencies": { - "@patternfly/chatbot": "^6.5.0-prerelease.19", - "@patternfly/patternfly": "6.5.0-prerelease.27", - "@patternfly/react-core": "6.5.0-prerelease.14", + "@patternfly/chatbot": "6.5.0", + "@patternfly/patternfly": "6.5.2", + "@patternfly/react-core": "6.5.1", "@patternfly/react-data-view": "6.4.0", - "@patternfly/react-icons": "6.5.0-prerelease.6", - "@patternfly/react-styles": "6.5.0-prerelease.6", - "@patternfly/react-table": "6.5.0-prerelease.14", + "@patternfly/react-icons": "6.5.1", + "@patternfly/react-styles": "6.5.1", + "@patternfly/react-table": "6.5.1", "react": "^18", "react-dom": "^18", "sirv-cli": "^3.0.1" diff --git a/src/app/AppLayout/AppLayout.tsx b/src/app/AppLayout/AppLayout.tsx index 267aebf2..8196ce83 100644 --- a/src/app/AppLayout/AppLayout.tsx +++ b/src/app/AppLayout/AppLayout.tsx @@ -9,7 +9,6 @@ import { Compass, CompassHeader, CompassMessageBar, - CompassPanel, Dropdown, DropdownItem, DropdownList, @@ -18,6 +17,7 @@ import { MastheadLogo, MenuToggle, MenuToggleElement, + Panel, Tab, TabContent, TabTitleText, @@ -31,7 +31,6 @@ import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon'; import HelpIcon from '@patternfly/react-icons/dist/esm/icons/help-icon'; import MoonIcon from '@patternfly/react-icons/dist/esm/icons/moon-icon'; import SunIcon from '@patternfly/react-icons/dist/esm/icons/sun-icon'; -import pfBackground from '../bgimages/pf-background.svg'; import avatarSvg from '../bgimages/avatar.svg'; interface IAppLayout { @@ -88,7 +87,7 @@ const AppLayout: React.FunctionComponent = ({ children }) => { const navContent = ( <> - + = ({ children }) => { Support} /> Settings} /> - + {activeTab === 2 && ( - + = ({ children }) => { Profile} /> - + )} ); @@ -161,7 +160,7 @@ const AppLayout: React.FunctionComponent = ({ children }) => { ); const sidebarContent = ( - + @@ -189,7 +188,7 @@ const AppLayout: React.FunctionComponent = ({ children }) => { - + ); const headerContent = ( @@ -256,7 +255,7 @@ const AppLayout: React.FunctionComponent = ({ children }) => { const footerContent = ( - + = ({ children }) => { hasAiIndicator isThinking={isThinking} /> - + ); @@ -276,8 +275,6 @@ const AppLayout: React.FunctionComponent = ({ children }) => { main={children} sidebarEnd={sidebarContent} footer={footerContent} - backgroundSrcDark={pfBackground} - backgroundSrcLight={pfBackground} /> ); }; diff --git a/src/app/Dashboard/Dashboard.tsx b/src/app/Dashboard/Dashboard.tsx index a1141c49..5f52409f 100644 --- a/src/app/Dashboard/Dashboard.tsx +++ b/src/app/Dashboard/Dashboard.tsx @@ -5,7 +5,6 @@ import { CardBody, CardTitle, CompassContent, - CompassPanel, DescriptionList, DescriptionListDescription, DescriptionListGroup, @@ -15,6 +14,7 @@ import { Grid, GridItem, Label, + Panel, Progress, ProgressSize, ProgressVariant, @@ -32,7 +32,7 @@ const Dashboard: React.FunctionComponent = () => ( {/* Status Cards */} - + @@ -49,10 +49,10 @@ const Dashboard: React.FunctionComponent = () => (
- + - + Active Users @@ -62,10 +62,10 @@ const Dashboard: React.FunctionComponent = () => ( +12% this week - + - + @@ -82,10 +82,10 @@ const Dashboard: React.FunctionComponent = () => ( - + - + @@ -102,12 +102,12 @@ const Dashboard: React.FunctionComponent = () => ( - + {/* Resource Utilization */} - + Resource Utilization @@ -129,12 +129,12 @@ const Dashboard: React.FunctionComponent = () => ( - + {/* System Information */} - + System Information @@ -162,7 +162,7 @@ const Dashboard: React.FunctionComponent = () => ( - + diff --git a/src/app/Settings/General/GeneralSettings.tsx b/src/app/Settings/General/GeneralSettings.tsx index 6b1f11dd..33558e97 100644 --- a/src/app/Settings/General/GeneralSettings.tsx +++ b/src/app/Settings/General/GeneralSettings.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { CompassContent, CompassPanel, Form, FormGroup, Switch, Title } from '@patternfly/react-core'; +import { CompassContent, Form, FormGroup, Panel, Switch, Title } from '@patternfly/react-core'; import { useDocumentTitle } from '@app/utils/useDocumentTitle'; import { useTheme } from '@app/utils/ThemeContext'; @@ -10,7 +10,7 @@ const GeneralSettings: React.FunctionComponent = () => { return ( <> - + General Settings @@ -23,7 +23,7 @@ const GeneralSettings: React.FunctionComponent = () => { /> - + ); diff --git a/src/app/Settings/Profile/ProfileSettings.tsx b/src/app/Settings/Profile/ProfileSettings.tsx index 532a7a16..03f0606b 100644 --- a/src/app/Settings/Profile/ProfileSettings.tsx +++ b/src/app/Settings/Profile/ProfileSettings.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { CompassContent, CompassPanel, Title } from '@patternfly/react-core'; +import { CompassContent, Panel, Title } from '@patternfly/react-core'; import { useDocumentTitle } from '@app/utils/useDocumentTitle'; const ProfileSettings: React.FunctionComponent = () => { @@ -8,10 +8,10 @@ const ProfileSettings: React.FunctionComponent = () => { return ( <> - + Profile Settings Some profile settings stuff here... - + ); diff --git a/src/app/Support/Support.tsx b/src/app/Support/Support.tsx index 164e6712..85e3f82c 100644 --- a/src/app/Support/Support.tsx +++ b/src/app/Support/Support.tsx @@ -3,7 +3,6 @@ import { CubesIcon } from '@patternfly/react-icons'; import { Button, CompassContent, - CompassPanel, Content, ContentVariants, EmptyState, @@ -11,6 +10,7 @@ import { EmptyStateBody, EmptyStateFooter, EmptyStateVariant, + Panel, Title, } from '@patternfly/react-core'; @@ -21,7 +21,7 @@ export interface ISupportProps { const Support: React.FunctionComponent = () => ( <> - + Support @@ -48,7 +48,7 @@ const Support: React.FunctionComponent = () => ( - + );