const packageInfo = {
    name: '@hyperfixi/core',
    version: '2.0.0',
    description: 'Modern hyperscript engine with fixi/htmx integration',
    compatibility: '~85% official _hyperscript',
    languages: 24,
    commands: 47,
    repository: 'https://github.com/codetalcott/hyperfixi',
    documentation: 'https://github.com/codetalcott/hyperfixi/tree/main/packages/core#readme',
};
const bundleInfo = [
    {
        id: 'lite',
        name: 'Lite',
        filename: 'hyperfixi-lite.js',
        gzipSize: '1.9 KB',
        rawSize: '5 KB',
        commandCount: 8,
        parser: 'regex',
        hasBlocks: false,
        hasEventModifiers: false,
        hasPositional: false,
        hasFetch: false,
        hasHtmxCompat: false,
        importPath: '@hyperfixi/core/browser/lite',
        cdnUrl: 'https://unpkg.com/@hyperfixi/core/dist/hyperfixi-lite.js',
        useCase: 'Minimal interactivity: toggle, show, hide, add, remove, set, put',
    },
    {
        id: 'lite-plus',
        name: 'Lite Plus',
        filename: 'hyperfixi-lite-plus.js',
        gzipSize: '2.6 KB',
        rawSize: '7 KB',
        commandCount: 14,
        parser: 'regex',
        hasBlocks: false,
        hasEventModifiers: false,
        hasPositional: false,
        hasFetch: false,
        hasHtmxCompat: false,
        importPath: '@hyperfixi/core/browser/lite-plus',
        cdnUrl: 'https://unpkg.com/@hyperfixi/core/dist/hyperfixi-lite-plus.js',
        useCase: 'Basic interactivity with wait, log, increment, trigger, go',
    },
    {
        id: 'hybrid-complete',
        name: 'Hybrid Complete',
        filename: 'hyperfixi-hybrid-complete.js',
        gzipSize: '7.2 KB',
        rawSize: '28 KB',
        commandCount: 21,
        parser: 'hybrid',
        hasBlocks: true,
        hasEventModifiers: true,
        hasPositional: true,
        hasFetch: true,
        hasHtmxCompat: false,
        importPath: '@hyperfixi/core/browser/hybrid-complete',
        cdnUrl: 'https://unpkg.com/@hyperfixi/core/dist/hyperfixi-hybrid-complete.js',
        useCase: 'Recommended for most apps - 85% hyperscript coverage',
    },
    {
        id: 'hybrid-hx',
        name: 'Hybrid HX',
        filename: 'hyperfixi-hx.js',
        gzipSize: '9.7 KB',
        rawSize: '28 KB',
        commandCount: 21,
        parser: 'hybrid',
        hasBlocks: true,
        hasEventModifiers: true,
        hasPositional: true,
        hasFetch: true,
        hasHtmxCompat: true,
        importPath: '@hyperfixi/core/browser/hybrid-hx',
        cdnUrl: 'https://unpkg.com/@hyperfixi/core/dist/hyperfixi-hx.js',
        useCase: 'htmx/fixi drop-in replacement with hx-get, hx-post, hx-target',
    },
    {
        id: 'minimal',
        name: 'Minimal',
        filename: 'hyperfixi-minimal.js',
        gzipSize: '63.4 KB',
        rawSize: '271 KB',
        commandCount: 30,
        parser: 'full',
        hasBlocks: true,
        hasEventModifiers: true,
        hasPositional: true,
        hasFetch: true,
        hasHtmxCompat: false,
        importPath: '@hyperfixi/core/browser/minimal',
        cdnUrl: 'https://unpkg.com/@hyperfixi/core/dist/hyperfixi-minimal.js',
        useCase: 'Full parser with essential commands',
    },
    {
        id: 'standard',
        name: 'Standard',
        filename: 'hyperfixi-standard.js',
        gzipSize: '63 KB',
        rawSize: '195 KB',
        commandCount: 35,
        parser: 'full',
        hasBlocks: true,
        hasEventModifiers: true,
        hasPositional: true,
        hasFetch: true,
        hasHtmxCompat: false,
        importPath: '@hyperfixi/core/browser/standard',
        cdnUrl: 'https://unpkg.com/@hyperfixi/core/dist/hyperfixi-standard.js',
        useCase: 'Full parser with common commands',
    },
    {
        id: 'browser',
        name: 'Full Browser',
        filename: 'hyperfixi.js',
        gzipSize: '199.6 KB',
        rawSize: '943 KB',
        commandCount: 47,
        parser: 'full',
        hasBlocks: true,
        hasEventModifiers: true,
        hasPositional: true,
        hasFetch: true,
        hasHtmxCompat: false,
        importPath: '@hyperfixi/core/browser',
        cdnUrl: 'https://unpkg.com/@hyperfixi/core/dist/hyperfixi.js',
        useCase: 'Complete bundle with all commands and features',
    },
    {
        id: 'multilingual',
        name: 'Multilingual',
        filename: 'hyperfixi-multilingual.js',
        gzipSize: '64 KB',
        rawSize: '200 KB',
        commandCount: 47,
        parser: 'full',
        hasBlocks: true,
        hasEventModifiers: true,
        hasPositional: true,
        hasFetch: true,
        hasHtmxCompat: false,
        importPath: '@hyperfixi/core/browser/multilingual',
        cdnUrl: 'https://unpkg.com/@hyperfixi/core/dist/hyperfixi-multilingual.js',
        useCase: 'Full features with multilingual API (requires @lokascript/semantic)',
    },
];
const featureMatrix = {
    'toggle class': [
        'lite',
        'lite-plus',
        'hybrid-complete',
        'hybrid-hx',
        'minimal',
        'standard',
        'browser',
        'multilingual',
    ],
    'show/hide': [
        'lite',
        'lite-plus',
        'hybrid-complete',
        'hybrid-hx',
        'minimal',
        'standard',
        'browser',
        'multilingual',
    ],
    'add/remove class': [
        'lite',
        'lite-plus',
        'hybrid-complete',
        'hybrid-hx',
        'minimal',
        'standard',
        'browser',
        'multilingual',
    ],
    'set variable': [
        'lite',
        'lite-plus',
        'hybrid-complete',
        'hybrid-hx',
        'minimal',
        'standard',
        'browser',
        'multilingual',
    ],
    'put content': [
        'lite',
        'lite-plus',
        'hybrid-complete',
        'hybrid-hx',
        'minimal',
        'standard',
        'browser',
        'multilingual',
    ],
    'wait duration': [
        'lite-plus',
        'hybrid-complete',
        'hybrid-hx',
        'minimal',
        'standard',
        'browser',
        'multilingual',
    ],
    'increment/decrement': [
        'lite-plus',
        'hybrid-complete',
        'hybrid-hx',
        'minimal',
        'standard',
        'browser',
        'multilingual',
    ],
    'trigger event': [
        'lite-plus',
        'hybrid-complete',
        'hybrid-hx',
        'minimal',
        'standard',
        'browser',
        'multilingual',
    ],
    log: [
        'lite-plus',
        'hybrid-complete',
        'hybrid-hx',
        'minimal',
        'standard',
        'browser',
        'multilingual',
    ],
    'if/else blocks': [
        'hybrid-complete',
        'hybrid-hx',
        'minimal',
        'standard',
        'browser',
        'multilingual',
    ],
    'repeat/for loops': [
        'hybrid-complete',
        'hybrid-hx',
        'minimal',
        'standard',
        'browser',
        'multilingual',
    ],
    fetch: ['hybrid-complete', 'hybrid-hx', 'minimal', 'standard', 'browser', 'multilingual'],
    'event modifiers': [
        'hybrid-complete',
        'hybrid-hx',
        'minimal',
        'standard',
        'browser',
        'multilingual',
    ],
    'positional (first/last)': [
        'hybrid-complete',
        'hybrid-hx',
        'minimal',
        'standard',
        'browser',
        'multilingual',
    ],
    'htmx attributes': ['hybrid-hx'],
    behaviors: ['minimal', 'standard', 'browser', 'multilingual'],
    transitions: ['minimal', 'standard', 'browser', 'multilingual'],
    morph: ['standard', 'browser', 'multilingual'],
    'multilingual API': ['multilingual'],
};
function getBundleById(id) {
    return bundleInfo.find(b => b.id === id);
}
function getSmallestBundle(options) {
    const sorted = [...bundleInfo].sort((a, b) => parseFloat(a.gzipSize) - parseFloat(b.gzipSize));
    return sorted.find(bundle => {
        if (options.blocks && !bundle.hasBlocks)
            return false;
        if (options.fetch && !bundle.hasFetch)
            return false;
        if (options.eventModifiers && !bundle.hasEventModifiers)
            return false;
        if (options.positional && !bundle.hasPositional)
            return false;
        if (options.htmxCompat && !bundle.hasHtmxCompat)
            return false;
        return true;
    });
}
function getBundlesWithFeature(feature) {
    const bundleIds = featureMatrix[feature];
    return bundleInfo.filter(b => bundleIds.includes(b.id));
}
function compareBundles(bundleIds) {
    const result = {};
    for (const id of bundleIds) {
        const bundle = getBundleById(id);
        if (bundle) {
            result[id] = bundle;
        }
    }
    return result;
}
const ecosystem = {
    core: {
        name: '@hyperfixi/core',
        description: 'Main runtime, parser, 43 commands',
        npm: 'https://www.npmjs.com/package/@hyperfixi/core',
    },
    semantic: {
        name: '@lokascript/semantic',
        description: 'Semantic multilingual parser (24 languages)',
        npm: 'https://www.npmjs.com/package/@lokascript/semantic',
    },
    i18n: {
        name: '@lokascript/i18n',
        description: 'Grammar transformation and keyword translation',
        npm: 'https://www.npmjs.com/package/@lokascript/i18n',
    },
    vitePlugin: {
        name: '@hyperfixi/vite-plugin',
        description: 'Zero-config Vite plugin for automatic minimal bundles',
        npm: 'https://www.npmjs.com/package/@hyperfixi/vite-plugin',
    },
    patternsReference: {
        name: '@hyperfixi/patterns-reference',
        description: 'Pattern database with 212 LLM examples',
        npm: 'https://www.npmjs.com/package/@hyperfixi/patterns-reference',
    },
    mcpServer: {
        name: '@hyperfixi/mcp-server',
        description: 'Model Context Protocol server for AI assistants',
        npm: 'https://www.npmjs.com/package/@hyperfixi/mcp-server',
    },
};
const supportedLanguages = [
    { code: 'en', name: 'English', native: 'English', wordOrder: 'SVO' },
    { code: 'es', name: 'Spanish', native: 'Español', wordOrder: 'SVO' },
    { code: 'fr', name: 'French', native: 'Français', wordOrder: 'SVO' },
    { code: 'pt', name: 'Portuguese', native: 'Português', wordOrder: 'SVO' },
    { code: 'de', name: 'German', native: 'Deutsch', wordOrder: 'V2' },
    { code: 'it', name: 'Italian', native: 'Italiano', wordOrder: 'SVO' },
    { code: 'ja', name: 'Japanese', native: '日本語', wordOrder: 'SOV' },
    { code: 'ko', name: 'Korean', native: '한국어', wordOrder: 'SOV' },
    { code: 'zh', name: 'Chinese', native: '中文', wordOrder: 'SVO' },
    { code: 'ar', name: 'Arabic', native: 'العربية', wordOrder: 'VSO' },
    { code: 'tr', name: 'Turkish', native: 'Türkçe', wordOrder: 'SOV' },
    { code: 'ru', name: 'Russian', native: 'Русский', wordOrder: 'SVO' },
    { code: 'uk', name: 'Ukrainian', native: 'Українська', wordOrder: 'SVO' },
    { code: 'pl', name: 'Polish', native: 'Polski', wordOrder: 'SVO' },
    { code: 'id', name: 'Indonesian', native: 'Bahasa Indonesia', wordOrder: 'SVO' },
    { code: 'ms', name: 'Malay', native: 'Bahasa Melayu', wordOrder: 'SVO' },
    { code: 'th', name: 'Thai', native: 'ไทย', wordOrder: 'SVO' },
    { code: 'vi', name: 'Vietnamese', native: 'Tiếng Việt', wordOrder: 'SVO' },
    { code: 'tl', name: 'Tagalog', native: 'Tagalog', wordOrder: 'VSO' },
    { code: 'hi', name: 'Hindi', native: 'हिन्दी', wordOrder: 'SOV' },
    { code: 'bn', name: 'Bengali', native: 'বাংলা', wordOrder: 'SOV' },
    { code: 'sw', name: 'Swahili', native: 'Kiswahili', wordOrder: 'SVO' },
    { code: 'qu', name: 'Quechua', native: 'Runasimi', wordOrder: 'SOV' },
    { code: 'he', name: 'Hebrew', native: 'עברית', wordOrder: 'SVO' },
];

export { bundleInfo, compareBundles, ecosystem, featureMatrix, getBundleById, getBundlesWithFeature, getSmallestBundle, packageInfo, supportedLanguages };
//# sourceMappingURL=metadata.mjs.map
