// Ty TypeScript Components
// Modern, zero-dependency web components
export { TyButton } from './components/button.js';
export { TyIcon, IconRegistry } from './components/icon.js';
export { TyTag } from './components/tag.js';
export { TyOption } from './components/option.js';
export { TyInput } from './components/input.js';
export { TyCheckbox } from './components/checkbox.js';
export { TyCopy } from './components/copy.js';
export { TyTextarea } from './components/textarea.js';
export { TyTooltip } from './components/tooltip.js';
export { TyPopup } from './components/popup.js';
export { TyModal } from './components/modal.js';
export { TyDropdown } from './components/dropdown.js';
export { TyMultiselect } from './components/multiselect.js';
export { TyTabs } from './components/tabs.js';
export { TyTab } from './components/tab.js';
export { TyCalendarMonth } from './components/calendar-month.js';
export { TyCalendarNavigation } from './components/calendar-navigation.js';
export { TyCalendar } from './components/calendar.js';
export { TyDatePicker } from './components/date-picker.js';
// Property capture utilities for React/Reagent compatibility
export { capturePreSetProperties, getCapturedValues, applyPreSetProperties, captureAndApplyProperties } from './utils/property-capture.js';
// Utilities
export { lockScroll, unlockScroll, forceUnlockAll, isLocked, isLockedBy, getActiveLocks, getLockState, enableDebug as enableScrollLockDebug, disableDebug as disableScrollLockDebug } from './utils/scroll-lock.js';
// Icons
// Note: Icon libraries moved to separate @gersak/ty-icons package
// Icon registry utility remains in core for registering custom icons
// Version (auto-generated from package.json)
import { VERSION } from './version.js';
// Global API
// Expose window.tyIcons for script tag usage
import { registerIcons, getIcon, hasIcon, getIconNames, getCacheInfo, clearIcons, getCachedIcon } from './utils/icon-registry.js';
// Export icon registry functions for advanced use
export { registerIcons, getIcon, hasIcon, getIconNames, getCacheInfo, clearIcons, getCachedIcon };
if (typeof window !== 'undefined') {
    window.tyVersion = VERSION;
    window.tyIcons = {
        register: (icons) => {
            const count = Object.keys(icons).length;
            registerIcons(icons);
            // Defer logging to not block registration
            setTimeout(() => {
                console.log(`✅ Registered ${count} icons (cached for instant reload)`);
            }, 0);
        },
        get: (name) => getIcon(name),
        has: (name) => hasIcon(name),
        list: () => getIconNames(),
        cacheInfo: () => getCacheInfo(),
        clearCache: () => clearIcons()
    };
}
//# sourceMappingURL=index.js.map