This document explains the different bundle files available in @yaijs/core and when to use each one.
| Bundle File | Size | Includes | Use Case |
|---|---|---|---|
| yai-bundle-core.js | Minimal | YaiCore + YaiTabs + YEH | Basic tabs functionality |
| yai-bundle.js | Recommended | + YaiTabsSwipe + YaiViewport | Most projects (includes touch/viewport) |
| yai-bundle-full.js | Complete | + YaiAutoSwitch + YaiSearchAndClick | Testing/demos with automation |
Components:
YaiCore - Base framework with event handlingYaiTabs - Tab component with routing, ARIA, animationsYEH - Event hub for O(1) event delegationWhen to use:
CDN Import:
import { YaiTabs, YEH } from 'https://cdn.jsdelivr.net/npm/@yaijs/core@latest/dist/yai-bundle-core.js';
NPM Import:
import { YaiTabs, YEH } from '@yaijs/core/bundle-core';
Components:
yai-bundle-core.jsYaiTabsSwipe - Touch/swipe navigation with gesture supportYaiViewport - Viewport visibility trackingWhen to use:
CDN Import:
import { YaiTabs, YaiTabsSwipe, YaiViewport, YEH } from 'https://cdn.jsdelivr.net/npm/@yaijs/core@latest/dist/yai-bundle.js';
NPM Import:
import { YaiTabs, YaiTabsSwipe, YaiViewport, YEH } from '@yaijs/core';
// or
import { YaiTabs, YaiTabsSwipe, YaiViewport } from '@yaijs/core/bundle';
Components:
yai-bundle.jsYaiAutoSwitch - Automated tab cycling for demosYaiSearchAndClick - Automated testing utilityWhen to use:
CDN Import:
import { YaiTabs, YaiTabsSwipe, YaiViewport, YaiAutoSwitch } from 'https://cdn.jsdelivr.net/npm/@yaijs/core@latest/dist/yai-bundle-full.js';
NPM Import:
import { YaiTabs, YaiTabsSwipe, YaiViewport, YaiAutoSwitch } from '@yaijs/core/bundle-full';
Important: YEH (Yai Event Hub) is now integrated directly into @yaijs/core. All bundles include YEH.
Before (v1.0.4):
npm install @yaijs/yeh @yaijs/core # Two separate packages
Now (v1.1.0+):
npm install @yaijs/core # YEH included
Import YEH:
// From any bundle
import { YEH } from '@yaijs/core';
// Or from dedicated export
import YEH from '@yaijs/core/yeh';
All bundles include TypeScript declaration files (.d.ts):
import { YaiTabs, YEH } from '@yaijs/core';
const tabs: YaiTabs = new YaiTabs({
defaultBehavior: 'fade',
autoFocus: true
});
The package provides clean export paths:
{
"exports": {
".": "./dist/yai-bundle.js",
"./bundle": "./dist/yai-bundle.js",
"./bundle-core": "./dist/yai-bundle-core.js",
"./bundle-full": "./dist/yai-bundle-full.js",
"./yeh": "./yeh/yeh.js"
}
}
Choose yai-bundle-core.js if:
Choose yai-bundle.js if:
Choose yai-bundle-full.js if:
License: MIT