diff --git a/apps/docs/.storybook/favicon.png b/apps/docs/.storybook/favicon.png
new file mode 100644
index 0000000..524e69a
Binary files /dev/null and b/apps/docs/.storybook/favicon.png differ
diff --git a/apps/docs/.storybook/main.ts b/apps/docs/.storybook/main.ts
index c138a79..c96d30c 100644
--- a/apps/docs/.storybook/main.ts
+++ b/apps/docs/.storybook/main.ts
@@ -9,8 +9,10 @@ function getAbsolutePath(value: string): string {
return dirname(require.resolve(join(value, 'package.json')));
}
const config: StorybookConfig = {
- stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
- addons: [getAbsolutePath('@storybook/addon-links'), getAbsolutePath('@storybook/addon-docs')],
+ stories: ['../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
+ addons: [
+ getAbsolutePath('@storybook/addon-links'),
+ ],
framework: {
name: getAbsolutePath('@storybook/react-vite'),
options: {},
diff --git a/apps/docs/.storybook/manager.ts b/apps/docs/.storybook/manager.ts
new file mode 100644
index 0000000..7633fd1
--- /dev/null
+++ b/apps/docs/.storybook/manager.ts
@@ -0,0 +1,56 @@
+import { addons } from 'storybook/internal/manager-api';
+import { create } from 'storybook/internal/theming';
+import lambdaCurryLogo from '../src/assets/lambda-curry-logo.png';
+import './storybook-theme.css';
+
+const theme = create({
+ base: 'light',
+
+ // Brand
+ brandTitle: 'Lambda Curry | Medusa Forms',
+ brandUrl: 'https://lambdacurry.com',
+ brandImage: lambdaCurryLogo,
+ brandTarget: '_self',
+
+ // Colors
+ colorPrimary: '#FF6B35', // Lambda Curry orange
+ colorSecondary: '#2D3748', // Dark gray
+
+ // UI
+ appBg: '#FFFFFF',
+ appContentBg: '#FFFFFF',
+ appPreviewBg: '#FFFFFF',
+ appBorderColor: '#E2E8F0',
+ appBorderRadius: 8,
+
+ // Text colors
+ textColor: '#2D3748',
+ textInverseColor: '#FFFFFF',
+ textMutedColor: '#718096',
+
+ // Toolbar default and active colors
+ barTextColor: '#718096',
+ barSelectedColor: '#FF6B35',
+ barHoverColor: '#FF6B35',
+ barBg: '#FFFFFF',
+
+ // Form colors
+ inputBg: '#FFFFFF',
+ inputBorder: '#E2E8F0',
+ inputTextColor: '#2D3748',
+ inputBorderRadius: 6,
+
+ // Fonts
+ fontBase: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
+ fontCode: '"Fira Code", "Consolas", "Monaco", monospace',
+});
+
+addons.setConfig({
+ theme,
+ panelPosition: 'bottom',
+ selectedPanel: 'controls',
+ sidebar: {
+ showRoots: false,
+ collapsedRoots: ['other'],
+ },
+});
diff --git a/apps/docs/.storybook/preview-head.html b/apps/docs/.storybook/preview-head.html
new file mode 100644
index 0000000..fde6456
--- /dev/null
+++ b/apps/docs/.storybook/preview-head.html
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/docs/.storybook/preview.ts b/apps/docs/.storybook/preview.ts
index ab220a8..3fe11d4 100644
--- a/apps/docs/.storybook/preview.ts
+++ b/apps/docs/.storybook/preview.ts
@@ -12,6 +12,84 @@ const preview: Preview = {
options: {
storySort: {
method: 'alphabetical',
+ order: [
+ 'Introduction',
+ ['Welcome', 'Getting Started', 'Installation'],
+ 'Components',
+ ['Form Controls', '*'],
+ 'Examples',
+ '*',
+ ],
+ },
+ },
+ docs: {
+ theme: {
+ base: 'light',
+ brandTitle: 'Lambda Curry | Medusa Forms',
+ brandUrl: 'https://lambdacurry.com',
+ colorPrimary: '#FF6B35',
+ colorSecondary: '#2D3748',
+ appBg: '#FFFFFF',
+ appContentBg: '#FFFFFF',
+ textColor: '#2D3748',
+ fontBase: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
+ },
+ },
+ backgrounds: {
+ default: 'light',
+ values: [
+ {
+ name: 'light',
+ value: '#FFFFFF',
+ },
+ {
+ name: 'gray',
+ value: '#F7FAFC',
+ },
+ {
+ name: 'dark',
+ value: '#2D3748',
+ },
+ ],
+ },
+ viewport: {
+ viewports: {
+ mobile: {
+ name: 'Mobile',
+ styles: {
+ width: '375px',
+ height: '667px',
+ },
+ },
+ tablet: {
+ name: 'Tablet',
+ styles: {
+ width: '768px',
+ height: '1024px',
+ },
+ },
+ desktop: {
+ name: 'Desktop',
+ styles: {
+ width: '1200px',
+ height: '800px',
+ },
+ },
+ },
+ },
+ },
+ globalTypes: {
+ theme: {
+ description: 'Global theme for components',
+ defaultValue: 'light',
+ toolbar: {
+ title: 'Theme',
+ icon: 'paintbrush',
+ items: [
+ { value: 'light', title: 'Light', icon: 'sun' },
+ { value: 'dark', title: 'Dark', icon: 'moon' },
+ ],
+ dynamicTitle: true,
},
},
},
diff --git a/apps/docs/.storybook/storybook-theme.css b/apps/docs/.storybook/storybook-theme.css
new file mode 100644
index 0000000..cc002f8
--- /dev/null
+++ b/apps/docs/.storybook/storybook-theme.css
@@ -0,0 +1,211 @@
+/* Lambda Curry Storybook Theme Customizations */
+
+/* Custom CSS variables for Lambda Curry branding */
+:root {
+ --lambda-curry-orange: #ff6b35;
+ --lambda-curry-orange-light: #ff8a5b;
+ --lambda-curry-orange-dark: #e55a2b;
+ --lambda-curry-gray: #2d3748;
+ --lambda-curry-gray-light: #4a5568;
+ --lambda-curry-gray-lighter: #718096;
+ --lambda-curry-background: #ffffff;
+ --lambda-curry-surface: #f7fafc;
+ --lambda-curry-border: #e2e8f0;
+}
+
+/* Storybook Manager UI Customizations */
+.sidebar-container {
+ background: var(--lambda-curry-background) !important;
+ border-right: 1px solid var(--lambda-curry-border) !important;
+}
+
+.sidebar-header {
+ border-bottom: 1px solid var(--lambda-curry-border) !important;
+}
+
+/* Brand logo styling */
+.sidebar-header img {
+ max-height: 40px !important;
+ width: auto !important;
+ object-fit: contain !important;
+}
+
+/* Navigation styling */
+.sidebar-item {
+ color: var(--lambda-curry-gray) !important;
+ font-weight: 500 !important;
+}
+
+.sidebar-item:hover {
+ background: var(--lambda-curry-surface) !important;
+ color: var(--lambda-curry-orange) !important;
+}
+
+.sidebar-item[data-selected="true"] {
+ background: var(--lambda-curry-orange) !important;
+ color: white !important;
+ font-weight: 600 !important;
+}
+
+/* Toolbar customizations */
+.toolbar {
+ background: var(--lambda-curry-background) !important;
+ border-bottom: 1px solid var(--lambda-curry-border) !important;
+}
+
+.toolbar button {
+ color: var(--lambda-curry-gray-lighter) !important;
+}
+
+.toolbar button:hover {
+ color: var(--lambda-curry-orange) !important;
+ background: var(--lambda-curry-surface) !important;
+}
+
+.toolbar button[aria-pressed="true"] {
+ color: var(--lambda-curry-orange) !important;
+ background: var(--lambda-curry-surface) !important;
+}
+
+/* Panel customizations */
+.panel {
+ background: var(--lambda-curry-background) !important;
+ border-top: 1px solid var(--lambda-curry-border) !important;
+}
+
+.panel-header {
+ background: var(--lambda-curry-surface) !important;
+ border-bottom: 1px solid var(--lambda-curry-border) !important;
+}
+
+/* Tab styling */
+.tabbutton {
+ color: var(--lambda-curry-gray-lighter) !important;
+ font-weight: 500 !important;
+}
+
+.tabbutton:hover {
+ color: var(--lambda-curry-orange) !important;
+}
+
+.tabbutton[data-active="true"] {
+ color: var(--lambda-curry-orange) !important;
+ border-bottom-color: var(--lambda-curry-orange) !important;
+ font-weight: 600 !important;
+}
+
+/* Form controls in addons panel */
+.control-input {
+ border: 1px solid var(--lambda-curry-border) !important;
+ border-radius: 6px !important;
+ font-family: "Inter", sans-serif !important;
+}
+
+.control-input:focus {
+ border-color: var(--lambda-curry-orange) !important;
+ box-shadow: 0 0 0 2px rgba(255, 107, 53, 0.1) !important;
+}
+
+/* Button styling */
+.button-primary {
+ background: var(--lambda-curry-orange) !important;
+ border-color: var(--lambda-curry-orange) !important;
+ color: white !important;
+ font-weight: 600 !important;
+}
+
+.button-primary:hover {
+ background: var(--lambda-curry-orange-dark) !important;
+ border-color: var(--lambda-curry-orange-dark) !important;
+}
+
+.button-secondary {
+ border-color: var(--lambda-curry-border) !important;
+ color: var(--lambda-curry-gray) !important;
+ font-weight: 500 !important;
+}
+
+.button-secondary:hover {
+ border-color: var(--lambda-curry-orange) !important;
+ color: var(--lambda-curry-orange) !important;
+}
+
+/* Documentation page styling */
+.docs-story {
+ border: 1px solid var(--lambda-curry-border) !important;
+ border-radius: 8px !important;
+ overflow: hidden !important;
+}
+
+.docs-story h1,
+.docs-story h2,
+.docs-story h3 {
+ color: var(--lambda-curry-gray) !important;
+ font-family: "Inter", sans-serif !important;
+}
+
+.docs-story h1 {
+ color: var(--lambda-curry-orange) !important;
+ font-weight: 700 !important;
+}
+
+/* Code block styling */
+.docs-story pre {
+ background: var(--lambda-curry-surface) !important;
+ border: 1px solid var(--lambda-curry-border) !important;
+ border-radius: 6px !important;
+}
+
+/* Link styling */
+.docs-story a {
+ color: var(--lambda-curry-orange) !important;
+ text-decoration: none !important;
+}
+
+.docs-story a:hover {
+ color: var(--lambda-curry-orange-dark) !important;
+ text-decoration: underline !important;
+}
+
+/* Canvas background */
+.canvas {
+ background: var(--lambda-curry-background) !important;
+}
+
+/* Custom scrollbar */
+::-webkit-scrollbar {
+ width: 8px;
+ height: 8px;
+}
+
+::-webkit-scrollbar-track {
+ background: var(--lambda-curry-surface);
+}
+
+::-webkit-scrollbar-thumb {
+ background: var(--lambda-curry-border);
+ border-radius: 4px;
+}
+
+::-webkit-scrollbar-thumb:hover {
+ background: var(--lambda-curry-gray-lighter);
+}
+
+/* Responsive adjustments */
+@media (max-width: 768px) {
+ .sidebar-header img {
+ max-height: 32px !important;
+ }
+}
+
+/* Dark mode support */
+@media (prefers-color-scheme: dark) {
+ :root {
+ --lambda-curry-background: #1a202c;
+ --lambda-curry-surface: #2d3748;
+ --lambda-curry-border: #4a5568;
+ --lambda-curry-gray: #e2e8f0;
+ --lambda-curry-gray-light: #cbd5e0;
+ --lambda-curry-gray-lighter: #a0aec0;
+ }
+}
diff --git a/apps/docs/package.json b/apps/docs/package.json
index de0f074..0c6db4c 100644
--- a/apps/docs/package.json
+++ b/apps/docs/package.json
@@ -15,7 +15,10 @@
"@hookform/resolvers": "^3.9.1",
"@lambdacurry/medusa-forms": "*",
"@storybook/addon-links": "^9.0.1",
+ "@storybook/addon-mdx-gfm": "^8.6.14",
+ "@storybook/manager-api": "^8.6.14",
"@storybook/react-vite": "^9.0.1",
+ "@storybook/theming": "^8.6.14",
"react": "^19.0.0",
"react-hook-form": "^7.51.0",
"storybook": "^9.0.1",
diff --git a/apps/docs/src/0.1 Hello World (start here).mdx b/apps/docs/src/0.1 Hello World (start here).mdx
deleted file mode 100644
index 5e4090c..0000000
--- a/apps/docs/src/0.1 Hello World (start here).mdx
+++ /dev/null
@@ -1,140 +0,0 @@
-# Welcome to Medusa Forms! 🎯
-
-**Controlled form components designed specifically for Medusa Admin and Medusa UI**
-
-Medusa Forms provides a comprehensive set of controlled form components that integrate seamlessly with the Medusa ecosystem, built on top of `react-hook-form` and `@medusajs/ui`.
-
-## What is Medusa Forms?
-
-Medusa Forms is a collection of controlled form components extracted and optimized for use with Medusa Admin interfaces. Each component is designed to work perfectly with Medusa's design system while providing excellent developer experience through TypeScript support and comprehensive documentation.
-
-## Key Features
-
-✅ **Medusa UI Integration** - Built specifically for Medusa Admin design system
-✅ **Controlled Components** - All components work seamlessly with react-hook-form
-✅ **TypeScript Support** - Full type definitions and IntelliSense
-✅ **Comprehensive Documentation** - Interactive Storybook with examples
-✅ **Performance Optimized** - Tree-shaking support and optimized bundle sizes
-
-## Available Components
-
-### Form Controls
-- **ControlledInput** - Text input with validation
-- **ControlledTextArea** - Multi-line text input
-- **ControlledSelect** - Dropdown selection with search
-- **ControlledCheckbox** - Checkbox input with proper styling
-- **ControlledDatePicker** - Date selection with calendar
-- **ControlledCurrencyInput** - Currency input with formatting
-
-### UI Components
-- **FieldWrapper** - Consistent field styling and error handling
-- **Label** - Accessible form labels
-- **ErrorMessage** - Standardized error display
-
-## Quick Start
-
-### Installation
-
-```bash
-npm install @lambdacurry/medusa-forms
-# or
-yarn add @lambdacurry/medusa-forms
-```
-
-### Basic Usage
-
-```tsx
-import { useForm, FormProvider } from 'react-hook-form';
-import { ControlledInput, ControlledSelect } from '@lambdacurry/medusa-forms';
-
-function MyForm() {
- const methods = useForm();
-
- return (
-
-
-
- );
-}
-```
-
-## Integration with Medusa
-
-These components are designed to work perfectly in Medusa Admin interfaces:
-
-```tsx
-import { RouteConfig } from "@medusajs/admin"
-import { FormProvider, useForm } from "react-hook-form"
-import { ControlledInput, ControlledCurrencyInput } from "@lambdacurry/medusa-forms"
-
-const ProductForm = () => {
- const methods = useForm();
-
- return (
-
-
-
- )
-}
-
-export const config: RouteConfig = {
- link: {
- label: "Custom Product Form",
- },
-}
-
-export default ProductForm
-```
-
-## Form Integration Examples
-
-Check out our **Form Integration Examples** story to see complete working forms with:
-- Validation schemas using Zod
-- Complex form layouts
-- Error handling
-- Real-world use cases
-
-## Dependencies
-
-- **React** ^19.0.0
-- **react-hook-form** ^7.51.0
-- **@medusajs/ui** ^4.0.0
-- **zod** ^3.23.8 (for validation examples)
-
-## Next Steps
-
-1. 📖 **Explore Components** - Browse the component stories to see all available options
-2. 🎮 **Try Examples** - Check out the Form Integration Examples for complete implementations
-3. 🔧 **Customize** - All components accept standard HTML props and can be styled as needed
-4. 🚀 **Build** - Start building your Medusa Admin forms with confidence!
-
----
-
-**Ready to build better forms?** Start exploring the components in the sidebar! 👈
diff --git a/apps/docs/src/0.2 Writing Tests.mdx b/apps/docs/src/0.2 Writing Tests.mdx
deleted file mode 100644
index c1cea90..0000000
--- a/apps/docs/src/0.2 Writing Tests.mdx
+++ /dev/null
@@ -1,85 +0,0 @@
-# Writing Tests with Storybook Test Runner
-
-Storybook Test Runner is a powerful tool that allows you to write and execute tests directly within your Storybook stories. This approach provides a seamless integration between your component documentation and testing, ensuring that your components behave as expected in various scenarios. Below, we'll explore how to write tests using the Storybook Test Runner, using the `TextField` component as a guide.
-
-## Writing Tests
-
-### Define Your Component and Story
-
-Create a Storybook story for your component. For example, the `TextField` component:
-
-```typescript
-import type { Meta, StoryObj } from '@storybook/react';
-import { TextField } from './TextField';
-
-const meta: Meta = {
- component: TextField,
- args: {
- label: 'Username',
- placeholder: 'Enter your username',
- },
-};
-
-export default meta;
-
-type Story = StoryObj;
-
-export const Tests: Story = {};
-```
-
-### Write Test Scenarios
-
-Define test scenarios as functions that interact with the component using `@storybook/test` and `@testing-library/dom`. These functions simulate user interactions and assert expected outcomes.
-
-Example:
-
-```typescript
-import { expect } from '@storybook/jest';
-import { userEvent } from '@storybook/testing-library';
-import type { StoryContext } from '@storybook/react';
-
-const testValidSubmission = async ({ canvas }: StoryContext) => {
- const input = canvas.getByLabelText('Username');
- await userEvent.type(input, 'validuser');
- await userEvent.tab();
- expect(input).toHaveValue('validuser');
- expect(canvas.queryByText('Username is required')).not.toBeInTheDocument();
-};
-
-const testInvalidSubmission = async ({ canvas }: StoryContext) => {
- const input = canvas.getByLabelText('Username');
- await userEvent.type(input, 'a');
- await userEvent.tab();
- expect(canvas.getByText('Username must be at least 3 characters')).toBeInTheDocument();
-};
-```
-
-### Integrate Tests into Stories
-
-Use the `play` function in your Storybook story to execute the test scenarios. This function runs after the story renders, allowing you to interact with the component and verify its behavior.
-
-Example:
-
-```typescript
-export const Tests: Story = {
- play: async (storyContext) => {
- await testValidSubmission(storyContext);
- await testInvalidSubmission(storyContext);
- },
-};
-```
-
-## Testing Philosophy
-
-1. **Component Behavior**: Focus on testing the behavior of your component in isolation. Ensure that it handles user interactions, displays the correct UI, and manages state as expected.
-
-2. **User-Centric Scenarios**: Write tests that mimic real user interactions. This includes filling out forms, clicking buttons, and verifying that the UI responds correctly.
-
-3. **Edge Cases and Validation**: Test edge cases and validation logic to ensure your component handles invalid input gracefully and provides meaningful feedback to users.
-
-4. **Integration with Backend**: If your component interacts with a backend (e.g., form submission), simulate these interactions and verify that the component handles responses correctly.
-
-5. **Maintainability**: Write clear and concise tests that are easy to understand and maintain. Use descriptive function names and comments to explain the purpose of each test.
-
-By following these guidelines, you can leverage Storybook Test Runner to create comprehensive and reliable tests for your components, ensuring they meet both functional and user experience requirements.
-
diff --git a/apps/docs/src/assets/lambda-curry-logo.png b/apps/docs/src/assets/lambda-curry-logo.png
new file mode 100644
index 0000000..524e69a
Binary files /dev/null and b/apps/docs/src/assets/lambda-curry-logo.png differ
diff --git a/package.json b/package.json
index 2126c8c..fceb7f2 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,10 @@
"name": "medusa-forms",
"version": "0.1.1",
"private": true,
- "workspaces": ["apps/*", "packages/*"],
+ "workspaces": [
+ "apps/*",
+ "packages/*"
+ ],
"scripts": {
"start": "yarn dev",
"dev": "turbo run dev",
diff --git a/packages/medusa-forms/package.json b/packages/medusa-forms/package.json
index cc89ff4..0a08a81 100644
--- a/packages/medusa-forms/package.json
+++ b/packages/medusa-forms/package.json
@@ -4,7 +4,9 @@
"main": "./dist/cjs/index.cjs",
"module": "./dist/esm/index.js",
"types": "./dist/types/index.d.ts",
- "files": ["dist"],
+ "files": [
+ "dist"
+ ],
"exports": {
".": {
"import": {
diff --git a/yarn.lock b/yarn.lock
index f8dcd7b..29e575d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1646,9 +1646,12 @@ __metadata:
"@lambdacurry/medusa-forms": "npm:*"
"@storybook/addon-docs": "npm:^9.0.1"
"@storybook/addon-links": "npm:^9.0.1"
+ "@storybook/addon-mdx-gfm": "npm:^8.6.14"
+ "@storybook/manager-api": "npm:^8.6.14"
"@storybook/react-vite": "npm:^9.0.1"
"@storybook/test-runner": "npm:^0.22.0"
"@storybook/testing-library": "npm:^0.2.2"
+ "@storybook/theming": "npm:^8.6.14"
"@tailwindcss/postcss": "npm:^4.1.8"
"@tailwindcss/vite": "npm:^4.0.0"
"@types/react": "npm:^19.0.0"
@@ -4955,6 +4958,18 @@ __metadata:
languageName: node
linkType: hard
+"@storybook/addon-mdx-gfm@npm:^8.6.14":
+ version: 8.6.14
+ resolution: "@storybook/addon-mdx-gfm@npm:8.6.14"
+ dependencies:
+ remark-gfm: "npm:^4.0.0"
+ ts-dedent: "npm:^2.0.0"
+ peerDependencies:
+ storybook: ^8.6.14
+ checksum: 10c0/ca8a91b9329915066fac67f7426e95a01b0c2a2f9dff077a8bee462fd01e0dfda7fea2d186d0e04e56f7d786eec7a5a1f7d0e3fbe5a4449a8b7ef980bc743b8f
+ languageName: node
+ linkType: hard
+
"@storybook/builder-vite@npm:9.0.4":
version: 9.0.4
resolution: "@storybook/builder-vite@npm:9.0.4"
@@ -5005,6 +5020,15 @@ __metadata:
languageName: node
linkType: hard
+"@storybook/manager-api@npm:^8.6.14":
+ version: 8.6.14
+ resolution: "@storybook/manager-api@npm:8.6.14"
+ peerDependencies:
+ storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0
+ checksum: 10c0/141089caf50df9f1dbd18c22b8e8dfa45641f67ab148c9956c046c0141ff7a70f3341f440c454d5f6247dac389499d67bad8b6c81cbcd6f08c7fe34bf42fd264
+ languageName: node
+ linkType: hard
+
"@storybook/react-dom-shim@npm:9.0.4":
version: 9.0.4
resolution: "@storybook/react-dom-shim@npm:9.0.4"
@@ -5098,6 +5122,15 @@ __metadata:
languageName: node
linkType: hard
+"@storybook/theming@npm:^8.6.14":
+ version: 8.6.14
+ resolution: "@storybook/theming@npm:8.6.14"
+ peerDependencies:
+ storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0
+ checksum: 10c0/765bfbfedcbdcdb719b164a14bb61b8ad60819c6124d0e1f243b6b45e62de877ec8dff6259092207a58d6c2771f4883650e9784a2be1aaf7e0ef0fe75465db0d
+ languageName: node
+ linkType: hard
+
"@swc/core-darwin-arm64@npm:1.11.29":
version: 1.11.29
resolution: "@swc/core-darwin-arm64@npm:1.11.29"
@@ -5554,6 +5587,15 @@ __metadata:
languageName: node
linkType: hard
+"@types/debug@npm:^4.0.0":
+ version: 4.1.12
+ resolution: "@types/debug@npm:4.1.12"
+ dependencies:
+ "@types/ms": "npm:*"
+ checksum: 10c0/5dcd465edbb5a7f226e9a5efd1f399c6172407ef5840686b73e3608ce135eeca54ae8037dcd9f16bdb2768ac74925b820a8b9ecc588a58ca09eca6acabe33e2f
+ languageName: node
+ linkType: hard
+
"@types/doctrine@npm:^0.0.9":
version: 0.0.9
resolution: "@types/doctrine@npm:0.0.9"
@@ -5619,6 +5661,15 @@ __metadata:
languageName: node
linkType: hard
+"@types/mdast@npm:^4.0.0":
+ version: 4.0.4
+ resolution: "@types/mdast@npm:4.0.4"
+ dependencies:
+ "@types/unist": "npm:*"
+ checksum: 10c0/84f403dbe582ee508fd9c7643ac781ad8597fcbfc9ccb8d4715a2c92e4545e5772cbd0dbdf18eda65789386d81b009967fdef01b24faf6640f817287f54d9c82
+ languageName: node
+ linkType: hard
+
"@types/mdx@npm:^2.0.0":
version: 2.0.13
resolution: "@types/mdx@npm:2.0.13"
@@ -5633,6 +5684,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/ms@npm:*":
+ version: 2.1.0
+ resolution: "@types/ms@npm:2.1.0"
+ checksum: 10c0/5ce692ffe1549e1b827d99ef8ff71187457e0eb44adbae38fdf7b9a74bae8d20642ee963c14516db1d35fa2652e65f47680fdf679dcbde52bbfadd021f497225
+ languageName: node
+ linkType: hard
+
"@types/node@npm:*":
version: 22.15.29
resolution: "@types/node@npm:22.15.29"
@@ -5686,6 +5744,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/unist@npm:*, @types/unist@npm:^3.0.0":
+ version: 3.0.3
+ resolution: "@types/unist@npm:3.0.3"
+ checksum: 10c0/2b1e4adcab78388e088fcc3c0ae8700f76619dbcb4741d7d201f87e2cb346bfc29a89003cfea2d76c996e1061452e14fcd737e8b25aacf949c1f2d6b2bc3dd60
+ languageName: node
+ linkType: hard
+
"@types/wait-on@npm:^5.2.0":
version: 5.3.4
resolution: "@types/wait-on@npm:5.3.4"
@@ -6381,6 +6446,13 @@ __metadata:
languageName: node
linkType: hard
+"bail@npm:^2.0.0":
+ version: 2.0.2
+ resolution: "bail@npm:2.0.2"
+ checksum: 10c0/25cbea309ef6a1f56214187004e8f34014eb015713ea01fa5b9b7e9e776ca88d0fdffd64143ac42dc91966c915a4b7b683411b56e14929fad16153fc026ffb8b
+ languageName: node
+ linkType: hard
+
"balanced-match@npm:^1.0.0":
version: 1.0.2
resolution: "balanced-match@npm:1.0.2"
@@ -6572,6 +6644,13 @@ __metadata:
languageName: node
linkType: hard
+"ccount@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "ccount@npm:2.0.1"
+ checksum: 10c0/3939b1664390174484322bc3f45b798462e6c07ee6384cb3d645e0aa2f318502d174845198c1561930e1d431087f74cf1fe291ae9a4722821a9f4ba67e574350
+ languageName: node
+ linkType: hard
+
"chai@npm:^5.2.0":
version: 5.2.0
resolution: "chai@npm:5.2.0"
@@ -6637,6 +6716,13 @@ __metadata:
languageName: node
linkType: hard
+"character-entities@npm:^2.0.0":
+ version: 2.0.2
+ resolution: "character-entities@npm:2.0.2"
+ checksum: 10c0/b0c645a45bcc90ff24f0e0140f4875a8436b8ef13b6bcd31ec02cfb2ca502b680362aa95386f7815bdc04b6464d48cf191210b3840d7c04241a149ede591a308
+ languageName: node
+ linkType: hard
+
"chardet@npm:^0.7.0":
version: 0.7.0
resolution: "chardet@npm:0.7.0"
@@ -6936,7 +7022,7 @@ __metadata:
languageName: node
linkType: hard
-"debug@npm:4, debug@npm:4.4.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.4, debug@npm:^4.3.6, debug@npm:^4.4.0":
+"debug@npm:4, debug@npm:4.4.1, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.4, debug@npm:^4.3.6, debug@npm:^4.4.0":
version: 4.4.1
resolution: "debug@npm:4.4.1"
dependencies:
@@ -6962,6 +7048,15 @@ __metadata:
languageName: node
linkType: hard
+"decode-named-character-reference@npm:^1.0.0":
+ version: 1.1.0
+ resolution: "decode-named-character-reference@npm:1.1.0"
+ dependencies:
+ character-entities: "npm:^2.0.0"
+ checksum: 10c0/359c76305b47e67660ec096c5cd3f65972ed75b8a53a40435a7a967cfab3e9516e64b443cbe0c7edcf5ab77f65a6924f12fb1872b1e09e2f044f28f4fd10996a
+ languageName: node
+ linkType: hard
+
"dedent@npm:^1.0.0":
version: 1.6.0
resolution: "dedent@npm:1.6.0"
@@ -7059,6 +7154,13 @@ __metadata:
languageName: node
linkType: hard
+"dequal@npm:^2.0.0":
+ version: 2.0.3
+ resolution: "dequal@npm:2.0.3"
+ checksum: 10c0/f98860cdf58b64991ae10205137c0e97d384c3a4edc7f807603887b7c4b850af1224a33d88012009f150861cbee4fa2d322c4cc04b9313bee312e47f6ecaa888
+ languageName: node
+ linkType: hard
+
"detect-indent@npm:^6.0.0":
version: 6.1.0
resolution: "detect-indent@npm:6.1.0"
@@ -7087,6 +7189,15 @@ __metadata:
languageName: node
linkType: hard
+"devlop@npm:^1.0.0, devlop@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "devlop@npm:1.1.0"
+ dependencies:
+ dequal: "npm:^2.0.0"
+ checksum: 10c0/e0928ab8f94c59417a2b8389c45c55ce0a02d9ac7fd74ef62d01ba48060129e1d594501b77de01f3eeafc7cb00773819b0df74d96251cf20b31c5b3071f45c0e
+ languageName: node
+ linkType: hard
+
"diff-sequences@npm:^29.6.3":
version: 29.6.3
resolution: "diff-sequences@npm:29.6.3"
@@ -7561,6 +7672,13 @@ __metadata:
languageName: node
linkType: hard
+"escape-string-regexp@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "escape-string-regexp@npm:5.0.0"
+ checksum: 10c0/6366f474c6f37a802800a435232395e04e9885919873e382b157ab7e8f0feb8fed71497f84a6f6a81a49aab41815522f5839112bd38026d203aea0c91622df95
+ languageName: node
+ linkType: hard
+
"eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3":
version: 3.4.3
resolution: "eslint-visitor-keys@npm:3.4.3"
@@ -7681,6 +7799,13 @@ __metadata:
languageName: node
linkType: hard
+"extend@npm:^3.0.0":
+ version: 3.0.2
+ resolution: "extend@npm:3.0.2"
+ checksum: 10c0/73bf6e27406e80aa3e85b0d1c4fd987261e628064e170ca781125c0b635a3dabad5e05adbf07595ea0cf1e6c5396cacb214af933da7cbaf24fe75ff14818e8f9
+ languageName: node
+ linkType: hard
+
"extendable-error@npm:^0.1.5":
version: 0.1.7
resolution: "extendable-error@npm:0.1.7"
@@ -8645,6 +8770,13 @@ __metadata:
languageName: node
linkType: hard
+"is-plain-obj@npm:^4.0.0":
+ version: 4.1.0
+ resolution: "is-plain-obj@npm:4.1.0"
+ checksum: 10c0/32130d651d71d9564dc88ba7e6fda0e91a1010a3694648e9f4f47bb6080438140696d3e3e15c741411d712e47ac9edc1a8a9de1fe76f3487b0d90be06ac9975e
+ languageName: node
+ linkType: hard
+
"is-regex@npm:^1.1.4, is-regex@npm:^1.2.1":
version: 1.2.1
resolution: "is-regex@npm:1.2.1"
@@ -9735,6 +9867,13 @@ __metadata:
languageName: node
linkType: hard
+"longest-streak@npm:^3.0.0":
+ version: 3.1.0
+ resolution: "longest-streak@npm:3.1.0"
+ checksum: 10c0/7c2f02d0454b52834d1bcedef79c557bd295ee71fdabb02d041ff3aa9da48a90b5df7c0409156dedbc4df9b65da18742652aaea4759d6ece01f08971af6a7eaa
+ languageName: node
+ linkType: hard
+
"loupe@npm:^3.1.0, loupe@npm:^3.1.3":
version: 3.1.3
resolution: "loupe@npm:3.1.3"
@@ -9845,6 +9984,13 @@ __metadata:
languageName: node
linkType: hard
+"markdown-table@npm:^3.0.0":
+ version: 3.0.4
+ resolution: "markdown-table@npm:3.0.4"
+ checksum: 10c0/1257b31827629a54c24a5030a3dac952256c559174c95ce3ef89bebd6bff0cb1444b1fd667b1a1bb53307f83278111505b3e26f0c4e7b731e0060d435d2d930b
+ languageName: node
+ linkType: hard
+
"math-intrinsics@npm:^1.1.0":
version: 1.1.0
resolution: "math-intrinsics@npm:1.1.0"
@@ -9852,6 +9998,151 @@ __metadata:
languageName: node
linkType: hard
+"mdast-util-find-and-replace@npm:^3.0.0":
+ version: 3.0.2
+ resolution: "mdast-util-find-and-replace@npm:3.0.2"
+ dependencies:
+ "@types/mdast": "npm:^4.0.0"
+ escape-string-regexp: "npm:^5.0.0"
+ unist-util-is: "npm:^6.0.0"
+ unist-util-visit-parents: "npm:^6.0.0"
+ checksum: 10c0/c8417a35605d567772ff5c1aa08363ff3010b0d60c8ea68c53cba09bf25492e3dd261560425c1756535f3b7107f62e7ff3857cdd8fb1e62d1b2cc2ea6e074ca2
+ languageName: node
+ linkType: hard
+
+"mdast-util-from-markdown@npm:^2.0.0":
+ version: 2.0.2
+ resolution: "mdast-util-from-markdown@npm:2.0.2"
+ dependencies:
+ "@types/mdast": "npm:^4.0.0"
+ "@types/unist": "npm:^3.0.0"
+ decode-named-character-reference: "npm:^1.0.0"
+ devlop: "npm:^1.0.0"
+ mdast-util-to-string: "npm:^4.0.0"
+ micromark: "npm:^4.0.0"
+ micromark-util-decode-numeric-character-reference: "npm:^2.0.0"
+ micromark-util-decode-string: "npm:^2.0.0"
+ micromark-util-normalize-identifier: "npm:^2.0.0"
+ micromark-util-symbol: "npm:^2.0.0"
+ micromark-util-types: "npm:^2.0.0"
+ unist-util-stringify-position: "npm:^4.0.0"
+ checksum: 10c0/76eb2bd2c6f7a0318087c73376b8af6d7561c1e16654e7667e640f391341096c56142618fd0ff62f6d39e5ab4895898b9789c84cd7cec2874359a437a0e1ff15
+ languageName: node
+ linkType: hard
+
+"mdast-util-gfm-autolink-literal@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "mdast-util-gfm-autolink-literal@npm:2.0.1"
+ dependencies:
+ "@types/mdast": "npm:^4.0.0"
+ ccount: "npm:^2.0.0"
+ devlop: "npm:^1.0.0"
+ mdast-util-find-and-replace: "npm:^3.0.0"
+ micromark-util-character: "npm:^2.0.0"
+ checksum: 10c0/963cd22bd42aebdec7bdd0a527c9494d024d1ad0739c43dc040fee35bdfb5e29c22564330a7418a72b5eab51d47a6eff32bc0255ef3ccb5cebfe8970e91b81b6
+ languageName: node
+ linkType: hard
+
+"mdast-util-gfm-footnote@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "mdast-util-gfm-footnote@npm:2.1.0"
+ dependencies:
+ "@types/mdast": "npm:^4.0.0"
+ devlop: "npm:^1.1.0"
+ mdast-util-from-markdown: "npm:^2.0.0"
+ mdast-util-to-markdown: "npm:^2.0.0"
+ micromark-util-normalize-identifier: "npm:^2.0.0"
+ checksum: 10c0/8ab965ee6be3670d76ec0e95b2ba3101fc7444eec47564943ab483d96ac17d29da2a4e6146a2a288be30c21b48c4f3938a1e54b9a46fbdd321d49a5bc0077ed0
+ languageName: node
+ linkType: hard
+
+"mdast-util-gfm-strikethrough@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "mdast-util-gfm-strikethrough@npm:2.0.0"
+ dependencies:
+ "@types/mdast": "npm:^4.0.0"
+ mdast-util-from-markdown: "npm:^2.0.0"
+ mdast-util-to-markdown: "npm:^2.0.0"
+ checksum: 10c0/b053e93d62c7545019bd914271ea9e5667ad3b3b57d16dbf68e56fea39a7e19b4a345e781312714eb3d43fdd069ff7ee22a3ca7f6149dfa774554f19ce3ac056
+ languageName: node
+ linkType: hard
+
+"mdast-util-gfm-table@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "mdast-util-gfm-table@npm:2.0.0"
+ dependencies:
+ "@types/mdast": "npm:^4.0.0"
+ devlop: "npm:^1.0.0"
+ markdown-table: "npm:^3.0.0"
+ mdast-util-from-markdown: "npm:^2.0.0"
+ mdast-util-to-markdown: "npm:^2.0.0"
+ checksum: 10c0/128af47c503a53bd1c79f20642561e54a510ad5e2db1e418d28fefaf1294ab839e6c838e341aef5d7e404f9170b9ca3d1d89605f234efafde93ee51174a6e31e
+ languageName: node
+ linkType: hard
+
+"mdast-util-gfm-task-list-item@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "mdast-util-gfm-task-list-item@npm:2.0.0"
+ dependencies:
+ "@types/mdast": "npm:^4.0.0"
+ devlop: "npm:^1.0.0"
+ mdast-util-from-markdown: "npm:^2.0.0"
+ mdast-util-to-markdown: "npm:^2.0.0"
+ checksum: 10c0/258d725288482b636c0a376c296431390c14b4f29588675297cb6580a8598ed311fc73ebc312acfca12cc8546f07a3a285a53a3b082712e2cbf5c190d677d834
+ languageName: node
+ linkType: hard
+
+"mdast-util-gfm@npm:^3.0.0":
+ version: 3.1.0
+ resolution: "mdast-util-gfm@npm:3.1.0"
+ dependencies:
+ mdast-util-from-markdown: "npm:^2.0.0"
+ mdast-util-gfm-autolink-literal: "npm:^2.0.0"
+ mdast-util-gfm-footnote: "npm:^2.0.0"
+ mdast-util-gfm-strikethrough: "npm:^2.0.0"
+ mdast-util-gfm-table: "npm:^2.0.0"
+ mdast-util-gfm-task-list-item: "npm:^2.0.0"
+ mdast-util-to-markdown: "npm:^2.0.0"
+ checksum: 10c0/4bedcfb6a20e39901c8772f0d2bb2d7a64ae87a54c13cbd92eec062cf470fbb68c2ad754e149af5b30794e2de61c978ab1de1ace03c0c40f443ca9b9b8044f81
+ languageName: node
+ linkType: hard
+
+"mdast-util-phrasing@npm:^4.0.0":
+ version: 4.1.0
+ resolution: "mdast-util-phrasing@npm:4.1.0"
+ dependencies:
+ "@types/mdast": "npm:^4.0.0"
+ unist-util-is: "npm:^6.0.0"
+ checksum: 10c0/bf6c31d51349aa3d74603d5e5a312f59f3f65662ed16c58017169a5fb0f84ca98578f626c5ee9e4aa3e0a81c996db8717096705521bddb4a0185f98c12c9b42f
+ languageName: node
+ linkType: hard
+
+"mdast-util-to-markdown@npm:^2.0.0":
+ version: 2.1.2
+ resolution: "mdast-util-to-markdown@npm:2.1.2"
+ dependencies:
+ "@types/mdast": "npm:^4.0.0"
+ "@types/unist": "npm:^3.0.0"
+ longest-streak: "npm:^3.0.0"
+ mdast-util-phrasing: "npm:^4.0.0"
+ mdast-util-to-string: "npm:^4.0.0"
+ micromark-util-classify-character: "npm:^2.0.0"
+ micromark-util-decode-string: "npm:^2.0.0"
+ unist-util-visit: "npm:^5.0.0"
+ zwitch: "npm:^2.0.0"
+ checksum: 10c0/4649722a6099f12e797bd8d6469b2b43b44e526b5182862d9c7766a3431caad2c0112929c538a972f214e63c015395e5d3f54bd81d9ac1b16e6d8baaf582f749
+ languageName: node
+ linkType: hard
+
+"mdast-util-to-string@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "mdast-util-to-string@npm:4.0.0"
+ dependencies:
+ "@types/mdast": "npm:^4.0.0"
+ checksum: 10c0/2d3c1af29bf3fe9c20f552ee9685af308002488f3b04b12fa66652c9718f66f41a32f8362aa2d770c3ff464c034860b41715902ada2306bb0a055146cef064d7
+ languageName: node
+ linkType: hard
+
"medusa-forms@workspace:.":
version: 0.0.0-use.local
resolution: "medusa-forms@workspace:."
@@ -9876,6 +10167,335 @@ __metadata:
languageName: node
linkType: hard
+"micromark-core-commonmark@npm:^2.0.0":
+ version: 2.0.3
+ resolution: "micromark-core-commonmark@npm:2.0.3"
+ dependencies:
+ decode-named-character-reference: "npm:^1.0.0"
+ devlop: "npm:^1.0.0"
+ micromark-factory-destination: "npm:^2.0.0"
+ micromark-factory-label: "npm:^2.0.0"
+ micromark-factory-space: "npm:^2.0.0"
+ micromark-factory-title: "npm:^2.0.0"
+ micromark-factory-whitespace: "npm:^2.0.0"
+ micromark-util-character: "npm:^2.0.0"
+ micromark-util-chunked: "npm:^2.0.0"
+ micromark-util-classify-character: "npm:^2.0.0"
+ micromark-util-html-tag-name: "npm:^2.0.0"
+ micromark-util-normalize-identifier: "npm:^2.0.0"
+ micromark-util-resolve-all: "npm:^2.0.0"
+ micromark-util-subtokenize: "npm:^2.0.0"
+ micromark-util-symbol: "npm:^2.0.0"
+ micromark-util-types: "npm:^2.0.0"
+ checksum: 10c0/bd4a794fdc9e88dbdf59eaf1c507ddf26e5f7ddf4e52566c72239c0f1b66adbcd219ba2cd42350debbe24471434d5f5e50099d2b3f4e5762ca222ba8e5b549ee
+ languageName: node
+ linkType: hard
+
+"micromark-extension-gfm-autolink-literal@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "micromark-extension-gfm-autolink-literal@npm:2.1.0"
+ dependencies:
+ micromark-util-character: "npm:^2.0.0"
+ micromark-util-sanitize-uri: "npm:^2.0.0"
+ micromark-util-symbol: "npm:^2.0.0"
+ micromark-util-types: "npm:^2.0.0"
+ checksum: 10c0/84e6fbb84ea7c161dfa179665dc90d51116de4c28f3e958260c0423e5a745372b7dcbc87d3cde98213b532e6812f847eef5ae561c9397d7f7da1e59872ef3efe
+ languageName: node
+ linkType: hard
+
+"micromark-extension-gfm-footnote@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "micromark-extension-gfm-footnote@npm:2.1.0"
+ dependencies:
+ devlop: "npm:^1.0.0"
+ micromark-core-commonmark: "npm:^2.0.0"
+ micromark-factory-space: "npm:^2.0.0"
+ micromark-util-character: "npm:^2.0.0"
+ micromark-util-normalize-identifier: "npm:^2.0.0"
+ micromark-util-sanitize-uri: "npm:^2.0.0"
+ micromark-util-symbol: "npm:^2.0.0"
+ micromark-util-types: "npm:^2.0.0"
+ checksum: 10c0/d172e4218968b7371b9321af5cde8c77423f73b233b2b0fcf3ff6fd6f61d2e0d52c49123a9b7910612478bf1f0d5e88c75a3990dd68f70f3933fe812b9f77edc
+ languageName: node
+ linkType: hard
+
+"micromark-extension-gfm-strikethrough@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "micromark-extension-gfm-strikethrough@npm:2.1.0"
+ dependencies:
+ devlop: "npm:^1.0.0"
+ micromark-util-chunked: "npm:^2.0.0"
+ micromark-util-classify-character: "npm:^2.0.0"
+ micromark-util-resolve-all: "npm:^2.0.0"
+ micromark-util-symbol: "npm:^2.0.0"
+ micromark-util-types: "npm:^2.0.0"
+ checksum: 10c0/ef4f248b865bdda71303b494671b7487808a340b25552b11ca6814dff3fcfaab9be8d294643060bbdb50f79313e4a686ab18b99cbe4d3ee8a4170fcd134234fb
+ languageName: node
+ linkType: hard
+
+"micromark-extension-gfm-table@npm:^2.0.0":
+ version: 2.1.1
+ resolution: "micromark-extension-gfm-table@npm:2.1.1"
+ dependencies:
+ devlop: "npm:^1.0.0"
+ micromark-factory-space: "npm:^2.0.0"
+ micromark-util-character: "npm:^2.0.0"
+ micromark-util-symbol: "npm:^2.0.0"
+ micromark-util-types: "npm:^2.0.0"
+ checksum: 10c0/04bc00e19b435fa0add62cd029d8b7eb6137522f77832186b1d5ef34544a9bd030c9cf85e92ddfcc5c31f6f0a58a43d4b96dba4fc21316037c734630ee12c912
+ languageName: node
+ linkType: hard
+
+"micromark-extension-gfm-tagfilter@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "micromark-extension-gfm-tagfilter@npm:2.0.0"
+ dependencies:
+ micromark-util-types: "npm:^2.0.0"
+ checksum: 10c0/995558843fff137ae4e46aecb878d8a4691cdf23527dcf1e2f0157d66786be9f7bea0109c52a8ef70e68e3f930af811828ba912239438e31a9cfb9981f44d34d
+ languageName: node
+ linkType: hard
+
+"micromark-extension-gfm-task-list-item@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "micromark-extension-gfm-task-list-item@npm:2.1.0"
+ dependencies:
+ devlop: "npm:^1.0.0"
+ micromark-factory-space: "npm:^2.0.0"
+ micromark-util-character: "npm:^2.0.0"
+ micromark-util-symbol: "npm:^2.0.0"
+ micromark-util-types: "npm:^2.0.0"
+ checksum: 10c0/78aa537d929e9309f076ba41e5edc99f78d6decd754b6734519ccbbfca8abd52e1c62df68d41a6ae64d2a3fc1646cea955893c79680b0b4385ced4c52296181f
+ languageName: node
+ linkType: hard
+
+"micromark-extension-gfm@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "micromark-extension-gfm@npm:3.0.0"
+ dependencies:
+ micromark-extension-gfm-autolink-literal: "npm:^2.0.0"
+ micromark-extension-gfm-footnote: "npm:^2.0.0"
+ micromark-extension-gfm-strikethrough: "npm:^2.0.0"
+ micromark-extension-gfm-table: "npm:^2.0.0"
+ micromark-extension-gfm-tagfilter: "npm:^2.0.0"
+ micromark-extension-gfm-task-list-item: "npm:^2.0.0"
+ micromark-util-combine-extensions: "npm:^2.0.0"
+ micromark-util-types: "npm:^2.0.0"
+ checksum: 10c0/970e28df6ebdd7c7249f52a0dda56e0566fbfa9ae56c8eeeb2445d77b6b89d44096880cd57a1c01e7821b1f4e31009109fbaca4e89731bff7b83b8519690e5d9
+ languageName: node
+ linkType: hard
+
+"micromark-factory-destination@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "micromark-factory-destination@npm:2.0.1"
+ dependencies:
+ micromark-util-character: "npm:^2.0.0"
+ micromark-util-symbol: "npm:^2.0.0"
+ micromark-util-types: "npm:^2.0.0"
+ checksum: 10c0/bbafcf869cee5bf511161354cb87d61c142592fbecea051000ff116068dc85216e6d48519d147890b9ea5d7e2864a6341c0c09d9948c203bff624a80a476023c
+ languageName: node
+ linkType: hard
+
+"micromark-factory-label@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "micromark-factory-label@npm:2.0.1"
+ dependencies:
+ devlop: "npm:^1.0.0"
+ micromark-util-character: "npm:^2.0.0"
+ micromark-util-symbol: "npm:^2.0.0"
+ micromark-util-types: "npm:^2.0.0"
+ checksum: 10c0/0137716b4ecb428114165505e94a2f18855c8bbea21b07a8b5ce514b32a595ed789d2b967125718fc44c4197ceaa48f6609d58807a68e778138d2e6b91b824e8
+ languageName: node
+ linkType: hard
+
+"micromark-factory-space@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "micromark-factory-space@npm:2.0.1"
+ dependencies:
+ micromark-util-character: "npm:^2.0.0"
+ micromark-util-types: "npm:^2.0.0"
+ checksum: 10c0/f9ed43f1c0652d8d898de0ac2be3f77f776fffe7dd96bdbba1e02d7ce33d3853c6ff5daa52568fc4fa32cdf3a62d86b85ead9b9189f7211e1d69ff2163c450fb
+ languageName: node
+ linkType: hard
+
+"micromark-factory-title@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "micromark-factory-title@npm:2.0.1"
+ dependencies:
+ micromark-factory-space: "npm:^2.0.0"
+ micromark-util-character: "npm:^2.0.0"
+ micromark-util-symbol: "npm:^2.0.0"
+ micromark-util-types: "npm:^2.0.0"
+ checksum: 10c0/e72fad8d6e88823514916890099a5af20b6a9178ccf78e7e5e05f4de99bb8797acb756257d7a3a57a53854cb0086bf8aab15b1a9e9db8982500dd2c9ff5948b6
+ languageName: node
+ linkType: hard
+
+"micromark-factory-whitespace@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "micromark-factory-whitespace@npm:2.0.1"
+ dependencies:
+ micromark-factory-space: "npm:^2.0.0"
+ micromark-util-character: "npm:^2.0.0"
+ micromark-util-symbol: "npm:^2.0.0"
+ micromark-util-types: "npm:^2.0.0"
+ checksum: 10c0/20a1ec58698f24b766510a309b23a10175034fcf1551eaa9da3adcbed3e00cd53d1ebe5f030cf873f76a1cec3c34eb8c50cc227be3344caa9ed25d56cf611224
+ languageName: node
+ linkType: hard
+
+"micromark-util-character@npm:^2.0.0":
+ version: 2.1.1
+ resolution: "micromark-util-character@npm:2.1.1"
+ dependencies:
+ micromark-util-symbol: "npm:^2.0.0"
+ micromark-util-types: "npm:^2.0.0"
+ checksum: 10c0/d3fe7a5e2c4060fc2a076f9ce699c82a2e87190a3946e1e5eea77f563869b504961f5668d9c9c014724db28ac32fa909070ea8b30c3a39bd0483cc6c04cc76a1
+ languageName: node
+ linkType: hard
+
+"micromark-util-chunked@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "micromark-util-chunked@npm:2.0.1"
+ dependencies:
+ micromark-util-symbol: "npm:^2.0.0"
+ checksum: 10c0/b68c0c16fe8106949537bdcfe1be9cf36c0ccd3bc54c4007003cb0984c3750b6cdd0fd77d03f269a3382b85b0de58bde4f6eedbe7ecdf7244759112289b1ab56
+ languageName: node
+ linkType: hard
+
+"micromark-util-classify-character@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "micromark-util-classify-character@npm:2.0.1"
+ dependencies:
+ micromark-util-character: "npm:^2.0.0"
+ micromark-util-symbol: "npm:^2.0.0"
+ micromark-util-types: "npm:^2.0.0"
+ checksum: 10c0/8a02e59304005c475c332f581697e92e8c585bcd45d5d225a66c1c1b14ab5a8062705188c2ccec33cc998d33502514121478b2091feddbc751887fc9c290ed08
+ languageName: node
+ linkType: hard
+
+"micromark-util-combine-extensions@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "micromark-util-combine-extensions@npm:2.0.1"
+ dependencies:
+ micromark-util-chunked: "npm:^2.0.0"
+ micromark-util-types: "npm:^2.0.0"
+ checksum: 10c0/f15e282af24c8372cbb10b9b0b3e2c0aa681fea0ca323a44d6bc537dc1d9382c819c3689f14eaa000118f5a163245358ce6276b2cda9a84439cdb221f5d86ae7
+ languageName: node
+ linkType: hard
+
+"micromark-util-decode-numeric-character-reference@npm:^2.0.0":
+ version: 2.0.2
+ resolution: "micromark-util-decode-numeric-character-reference@npm:2.0.2"
+ dependencies:
+ micromark-util-symbol: "npm:^2.0.0"
+ checksum: 10c0/9c8a9f2c790e5593ffe513901c3a110e9ec8882a08f466da014112a25e5059b51551ca0aeb7ff494657d86eceb2f02ee556c6558b8d66aadc61eae4a240da0df
+ languageName: node
+ linkType: hard
+
+"micromark-util-decode-string@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "micromark-util-decode-string@npm:2.0.1"
+ dependencies:
+ decode-named-character-reference: "npm:^1.0.0"
+ micromark-util-character: "npm:^2.0.0"
+ micromark-util-decode-numeric-character-reference: "npm:^2.0.0"
+ micromark-util-symbol: "npm:^2.0.0"
+ checksum: 10c0/f24d75b2e5310be6e7b6dee532e0d17d3bf46996841d6295f2a9c87a2046fff4ab603c52ab9d7a7a6430a8b787b1574ae895849c603d262d1b22eef71736b5cb
+ languageName: node
+ linkType: hard
+
+"micromark-util-encode@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "micromark-util-encode@npm:2.0.1"
+ checksum: 10c0/b2b29f901093845da8a1bf997ea8b7f5e061ffdba85070dfe14b0197c48fda64ffcf82bfe53c90cf9dc185e69eef8c5d41cae3ba918b96bc279326921b59008a
+ languageName: node
+ linkType: hard
+
+"micromark-util-html-tag-name@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "micromark-util-html-tag-name@npm:2.0.1"
+ checksum: 10c0/ae80444db786fde908e9295f19a27a4aa304171852c77414516418650097b8afb401961c9edb09d677b06e97e8370cfa65638dde8438ebd41d60c0a8678b85b9
+ languageName: node
+ linkType: hard
+
+"micromark-util-normalize-identifier@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "micromark-util-normalize-identifier@npm:2.0.1"
+ dependencies:
+ micromark-util-symbol: "npm:^2.0.0"
+ checksum: 10c0/5299265fa360769fc499a89f40142f10a9d4a5c3dd8e6eac8a8ef3c2e4a6570e4c009cf75ea46dce5ee31c01f25587bde2f4a5cc0a935584ae86dd857f2babbd
+ languageName: node
+ linkType: hard
+
+"micromark-util-resolve-all@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "micromark-util-resolve-all@npm:2.0.1"
+ dependencies:
+ micromark-util-types: "npm:^2.0.0"
+ checksum: 10c0/bb6ca28764696bb479dc44a2d5b5fe003e7177aeae1d6b0d43f24cc223bab90234092d9c3ce4a4d2b8df095ccfd820537b10eb96bb7044d635f385d65a4c984a
+ languageName: node
+ linkType: hard
+
+"micromark-util-sanitize-uri@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "micromark-util-sanitize-uri@npm:2.0.1"
+ dependencies:
+ micromark-util-character: "npm:^2.0.0"
+ micromark-util-encode: "npm:^2.0.0"
+ micromark-util-symbol: "npm:^2.0.0"
+ checksum: 10c0/60e92166e1870fd4f1961468c2651013ff760617342918e0e0c3c4e872433aa2e60c1e5a672bfe5d89dc98f742d6b33897585cf86ae002cda23e905a3c02527c
+ languageName: node
+ linkType: hard
+
+"micromark-util-subtokenize@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "micromark-util-subtokenize@npm:2.1.0"
+ dependencies:
+ devlop: "npm:^1.0.0"
+ micromark-util-chunked: "npm:^2.0.0"
+ micromark-util-symbol: "npm:^2.0.0"
+ micromark-util-types: "npm:^2.0.0"
+ checksum: 10c0/bee69eece4393308e657c293ba80d92ebcb637e5f55e21dcf9c3fa732b91a8eda8ac248d76ff375e675175bfadeae4712e5158ef97eef1111789da1ce7ab5067
+ languageName: node
+ linkType: hard
+
+"micromark-util-symbol@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "micromark-util-symbol@npm:2.0.1"
+ checksum: 10c0/f2d1b207771e573232436618e78c5e46cd4b5c560dd4a6d63863d58018abbf49cb96ec69f7007471e51434c60de3c9268ef2bf46852f26ff4aacd10f9da16fe9
+ languageName: node
+ linkType: hard
+
+"micromark-util-types@npm:^2.0.0":
+ version: 2.0.2
+ resolution: "micromark-util-types@npm:2.0.2"
+ checksum: 10c0/c8c15b96c858db781c4393f55feec10004bf7df95487636c9a9f7209e51002a5cca6a047c5d2a5dc669ff92da20e57aaa881e81a268d9ccadb647f9dce305298
+ languageName: node
+ linkType: hard
+
+"micromark@npm:^4.0.0":
+ version: 4.0.2
+ resolution: "micromark@npm:4.0.2"
+ dependencies:
+ "@types/debug": "npm:^4.0.0"
+ debug: "npm:^4.0.0"
+ decode-named-character-reference: "npm:^1.0.0"
+ devlop: "npm:^1.0.0"
+ micromark-core-commonmark: "npm:^2.0.0"
+ micromark-factory-space: "npm:^2.0.0"
+ micromark-util-character: "npm:^2.0.0"
+ micromark-util-chunked: "npm:^2.0.0"
+ micromark-util-combine-extensions: "npm:^2.0.0"
+ micromark-util-decode-numeric-character-reference: "npm:^2.0.0"
+ micromark-util-encode: "npm:^2.0.0"
+ micromark-util-normalize-identifier: "npm:^2.0.0"
+ micromark-util-resolve-all: "npm:^2.0.0"
+ micromark-util-sanitize-uri: "npm:^2.0.0"
+ micromark-util-subtokenize: "npm:^2.0.0"
+ micromark-util-symbol: "npm:^2.0.0"
+ micromark-util-types: "npm:^2.0.0"
+ checksum: 10c0/07462287254219d6eda6eac8a3cebaff2994e0575499e7088027b825105e096e4f51e466b14b2a81b71933a3b6c48ee069049d87bc2c2127eee50d9cc69e8af6
+ languageName: node
+ linkType: hard
+
"micromatch@npm:^4.0.4, micromatch@npm:^4.0.8":
version: 4.0.8
resolution: "micromatch@npm:4.0.8"
@@ -11172,6 +11792,43 @@ __metadata:
languageName: node
linkType: hard
+"remark-gfm@npm:^4.0.0":
+ version: 4.0.1
+ resolution: "remark-gfm@npm:4.0.1"
+ dependencies:
+ "@types/mdast": "npm:^4.0.0"
+ mdast-util-gfm: "npm:^3.0.0"
+ micromark-extension-gfm: "npm:^3.0.0"
+ remark-parse: "npm:^11.0.0"
+ remark-stringify: "npm:^11.0.0"
+ unified: "npm:^11.0.0"
+ checksum: 10c0/427ecc6af3e76222662061a5f670a3e4e33ec5fffe2cabf04034da6a3f9a1bda1fc023e838a636385ba314e66e2bebbf017ca61ebea357eb0f5200fe0625a4b7
+ languageName: node
+ linkType: hard
+
+"remark-parse@npm:^11.0.0":
+ version: 11.0.0
+ resolution: "remark-parse@npm:11.0.0"
+ dependencies:
+ "@types/mdast": "npm:^4.0.0"
+ mdast-util-from-markdown: "npm:^2.0.0"
+ micromark-util-types: "npm:^2.0.0"
+ unified: "npm:^11.0.0"
+ checksum: 10c0/6eed15ddb8680eca93e04fcb2d1b8db65a743dcc0023f5007265dda558b09db595a087f622062ccad2630953cd5cddc1055ce491d25a81f3317c858348a8dd38
+ languageName: node
+ linkType: hard
+
+"remark-stringify@npm:^11.0.0":
+ version: 11.0.0
+ resolution: "remark-stringify@npm:11.0.0"
+ dependencies:
+ "@types/mdast": "npm:^4.0.0"
+ mdast-util-to-markdown: "npm:^2.0.0"
+ unified: "npm:^11.0.0"
+ checksum: 10c0/0cdb37ce1217578f6f847c7ec9f50cbab35df5b9e3903d543e74b405404e67c07defcb23cd260a567b41b769400f6de03c2c3d9cd6ae7a6707d5c8d89ead489f
+ languageName: node
+ linkType: hard
+
"require-directory@npm:^2.1.1":
version: 2.1.1
resolution: "require-directory@npm:2.1.1"
@@ -12076,6 +12733,13 @@ __metadata:
languageName: node
linkType: hard
+"trough@npm:^2.0.0":
+ version: 2.2.0
+ resolution: "trough@npm:2.2.0"
+ checksum: 10c0/58b671fc970e7867a48514168894396dd94e6d9d6456aca427cc299c004fe67f35ed7172a36449086b2edde10e78a71a284ec0076809add6834fb8f857ccb9b0
+ languageName: node
+ linkType: hard
+
"ts-api-utils@npm:^1.0.1":
version: 1.4.3
resolution: "ts-api-utils@npm:1.4.3"
@@ -12286,6 +12950,21 @@ __metadata:
languageName: node
linkType: hard
+"unified@npm:^11.0.0":
+ version: 11.0.5
+ resolution: "unified@npm:11.0.5"
+ dependencies:
+ "@types/unist": "npm:^3.0.0"
+ bail: "npm:^2.0.0"
+ devlop: "npm:^1.0.0"
+ extend: "npm:^3.0.0"
+ is-plain-obj: "npm:^4.0.0"
+ trough: "npm:^2.0.0"
+ vfile: "npm:^6.0.0"
+ checksum: 10c0/53c8e685f56d11d9d458a43e0e74328a4d6386af51c8ac37a3dcabec74ce5026da21250590d4aff6733ccd7dc203116aae2b0769abc18cdf9639a54ae528dfc9
+ languageName: node
+ linkType: hard
+
"union@npm:~0.5.0":
version: 0.5.0
resolution: "union@npm:0.5.0"
@@ -12313,6 +12992,45 @@ __metadata:
languageName: node
linkType: hard
+"unist-util-is@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "unist-util-is@npm:6.0.0"
+ dependencies:
+ "@types/unist": "npm:^3.0.0"
+ checksum: 10c0/9419352181eaa1da35eca9490634a6df70d2217815bb5938a04af3a662c12c5607a2f1014197ec9c426fbef18834f6371bfdb6f033040fa8aa3e965300d70e7e
+ languageName: node
+ linkType: hard
+
+"unist-util-stringify-position@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "unist-util-stringify-position@npm:4.0.0"
+ dependencies:
+ "@types/unist": "npm:^3.0.0"
+ checksum: 10c0/dfe1dbe79ba31f589108cb35e523f14029b6675d741a79dea7e5f3d098785045d556d5650ec6a8338af11e9e78d2a30df12b1ee86529cded1098da3f17ee999e
+ languageName: node
+ linkType: hard
+
+"unist-util-visit-parents@npm:^6.0.0":
+ version: 6.0.1
+ resolution: "unist-util-visit-parents@npm:6.0.1"
+ dependencies:
+ "@types/unist": "npm:^3.0.0"
+ unist-util-is: "npm:^6.0.0"
+ checksum: 10c0/51b1a5b0aa23c97d3e03e7288f0cdf136974df2217d0999d3de573c05001ef04cccd246f51d2ebdfb9e8b0ed2704451ad90ba85ae3f3177cf9772cef67f56206
+ languageName: node
+ linkType: hard
+
+"unist-util-visit@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "unist-util-visit@npm:5.0.0"
+ dependencies:
+ "@types/unist": "npm:^3.0.0"
+ unist-util-is: "npm:^6.0.0"
+ unist-util-visit-parents: "npm:^6.0.0"
+ checksum: 10c0/51434a1d80252c1540cce6271a90fd1a106dbe624997c09ed8879279667fb0b2d3a685e02e92bf66598dcbe6cdffa7a5f5fb363af8fdf90dda6c855449ae39a5
+ languageName: node
+ linkType: hard
+
"universalify@npm:^0.1.0":
version: 0.1.2
resolution: "universalify@npm:0.1.2"
@@ -12434,6 +13152,26 @@ __metadata:
languageName: node
linkType: hard
+"vfile-message@npm:^4.0.0":
+ version: 4.0.2
+ resolution: "vfile-message@npm:4.0.2"
+ dependencies:
+ "@types/unist": "npm:^3.0.0"
+ unist-util-stringify-position: "npm:^4.0.0"
+ checksum: 10c0/07671d239a075f888b78f318bc1d54de02799db4e9dce322474e67c35d75ac4a5ac0aaf37b18801d91c9f8152974ea39678aa72d7198758b07f3ba04fb7d7514
+ languageName: node
+ linkType: hard
+
+"vfile@npm:^6.0.0":
+ version: 6.0.3
+ resolution: "vfile@npm:6.0.3"
+ dependencies:
+ "@types/unist": "npm:^3.0.0"
+ vfile-message: "npm:^4.0.0"
+ checksum: 10c0/e5d9eb4810623f23758cfc2205323e33552fb5972e5c2e6587babe08fe4d24859866277404fb9e2a20afb71013860d96ec806cb257536ae463c87d70022ab9ef
+ languageName: node
+ linkType: hard
+
"vite-plugin-dts@npm:^4.4.0":
version: 4.5.4
resolution: "vite-plugin-dts@npm:4.5.4"
@@ -12909,3 +13647,10 @@ __metadata:
checksum: 10c0/88f8e73198ebe986b1640610e8abf9b3fde1db5de1d1dcfe21138b4712e6d9e875521a15538c70b5eb4c52712f8d6261794e0716ad57b213c3b328e1bc423986
languageName: node
linkType: hard
+
+"zwitch@npm:^2.0.0":
+ version: 2.0.4
+ resolution: "zwitch@npm:2.0.4"
+ checksum: 10c0/3c7830cdd3378667e058ffdb4cf2bb78ac5711214e2725900873accb23f3dfe5f9e7e5a06dcdc5f29605da976fc45c26d9a13ca334d6eea2245a15e77b8fc06e
+ languageName: node
+ linkType: hard