From 847b3ed7283c86669f98c358051025ddfccdc11c Mon Sep 17 00:00:00 2001 From: koirodev Date: Thu, 10 Jul 2025 14:10:59 +0300 Subject: [PATCH] fix(types): class --- CHANGELOG.md | 8 +++++++ package.json | 2 +- src/types/index.d.ts | 48 ++++++++++++++++++++++++++++++++++++++++++ src/types/options.d.ts | 4 +++- 4 files changed, 60 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd7a10c..bcc04fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +## 4.1.8 - Released on 2025-07-10 + +### Fixes + +- Fixed TypeScript typings to resolve import issues in Vue and React. + +
+ ## 4.1.7 - Released on 2025-07-10 ### Fixes diff --git a/package.json b/package.json index af5baba..11c891d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "prismium-src", - "version": "4.1.7", + "version": "4.1.8", "description": "A modern JavaScript accordion library with smooth animations. Easily integrates with React, Vue, and vanilla JavaScript.", "type": "module", "scripts": { diff --git a/src/types/index.d.ts b/src/types/index.d.ts index ee199ba..6666795 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -1,3 +1,5 @@ +import { PrismiumOptions } from './options'; + /** * Main type definitions for Prismium */ @@ -87,4 +89,50 @@ export type PrismiumTheme = | 'sunset' | { [key: string]: boolean }; +/** + * Main Prismium class + */ +declare class Prismium { + constructor( + selector?: string | HTMLElement | null, + options?: PrismiumOptions + ); + + init(el?: HTMLElement): void; + destroy(el?: HTMLElement): Prismium; + setupSpeed(open: number, close?: number): void; + open(): void; + close(): void; + toggle(): void; + + on( + event: PrismiumEventName | PrismiumEventName[], + handler: PrismiumEventCallback | PrismiumEventCallback[] + ): Prismium; + once( + event: PrismiumEventName | PrismiumEventName[], + handler: PrismiumEventCallback | PrismiumEventCallback[] + ): Prismium; + onAny(handler: PrismiumEventCallback | PrismiumEventCallback[]): Prismium; + off( + event: PrismiumEventName | PrismiumEventName[], + handler?: PrismiumEventCallback | PrismiumEventCallback[] + ): Prismium; + offAny(handler: PrismiumEventCallback | PrismiumEventCallback[]): Prismium; + + static unit(el: HTMLElement): Prismium; + static use(module: PrismiumModule): void; + static getInstance(selector: HTMLElement | string): Prismium; + static open(selector: HTMLElement | string): Prismium; + static openAll(container: HTMLElement | string, selector?: string): void; + static openEverything(selector?: string): void; + static toggle(selector: HTMLElement | string): void; + static close(selector: HTMLElement | string): Prismium; + static closeAll(container: HTMLElement | string, selector?: string): void; + static closeEverything(selector?: string): void; + static closeNested(selector: HTMLElement | string): void; + static disable(selector: HTMLElement | string): void; + static enable(selector: HTMLElement | string): void; +} + export default Prismium; diff --git a/src/types/options.d.ts b/src/types/options.d.ts index 1f9caa8..24aec51 100644 --- a/src/types/options.d.ts +++ b/src/types/options.d.ts @@ -5,10 +5,12 @@ import { } from './index'; import Prismium from './core'; +import type { EffectsModuleOptions } from './modules/effectsModule'; + /** * Default options for Prismium */ -export interface PrismiumOptions { +export interface PrismiumOptions extends EffectsModuleOptions { /** * Root element for the accordion */