tailwind-variants को 3.x से 4.x पर अपग्रेड करना
tailwind-variants 3.3.1 और 4.0.0 के सार्वजनिक API की तुलना, उनके TypeScript टाइप से अपने-आप निकाली गई। बदला हुआ सिग्नेचर संभावित असंगत बदलाव है, निश्चितता नहीं।
सारांश
| हटाए गए इम्पोर्ट पाथ | 0 |
|---|---|
| हटाए गए एक्सपोर्ट | 0 |
| बदले गए सिग्नेचर | 35 |
| क्लास या इंटरफ़ेस के हटाए गए सदस्य | 0 |
| क्लास या इंटरफ़ेस के बदले गए सदस्य | 12 |
| नए डिप्रिकेटेड | 0 |
| आवश्यकताओं में बदलाव (engines, peer निर्भरताएँ) | 2 |
| नए एक्सपोर्ट | 32 |
हटाए गए एक्सपोर्ट
कुछ नहीं मिला।
बदले गए सिग्नेचर
| export | पहले | बाद में |
|---|---|---|
tailwind-variants · TV | <V extends TVVariants<S, B, EV>, CV extends TVCompoundVariants<V, S, B, EV, ES>, DV extends TVDefaultVariants<V, S, EV, ES>, B extends ClassNameValue = undefined, S extends TVSlots = undefined, E extends TVReturnTypeLike<any, any> = TVReturnTypeLike<V, S>, EV extends TVVariants<ES, B, E["variants"], ES> = E["variants"], ES extends TVSlots = E["slots"] extends TVSlots ? E["slots"] : undefined>(options: { extend?: E | undefined; base?: B | undefined; slots?: S | undefined; variants?: V | undefined; compoundVariants?: CV | undefined; compoundSlots?: TVCompoundSlots<V, S, B> | undefined; defaultVa… | interface |
tailwind-variants · cn | <T extends CnOptions>(...classnames: T): CnReturn | (...inputs: ClassValue[]): string |
tailwind-variants · cx | <T extends CnOptions>(...classnames: T): CnReturn | <T extends CnOptions>(...classnames: T): string |
tailwind-variants · tv | <V extends TVVariants<S, B, EV>, CV extends TVCompoundVariants<V, S, B, EV, ES>, DV extends TVDefaultVariants<V, S, EV, ES>, B extends ClassNameValue = undefined, S extends TVSlots = undefined, E extends TVReturnTypeLike<any, any> = TVReturnTypeLike<V, S>, EV extends TVVariants<ES, B, E["variants"], ES> = E["variants"], ES extends TVSlots = E["slots"] extends TVSlots ? E["slots"] : undefined>(options: { extend?: E | undefined; base?: B | undefined; slots?: S | undefined; variants?: V | undefined; compoundVariants?: CV | undefined; compoundSlots?: TVCompoundSlots<V, S, B> | undefined; defaultVa… | <V extends TVVariantsConstraint = {}, DV = {}, CV extends readonly object[] = [], B extends ClassNameValue = undefined, S extends TVSlots = undefined, E extends TVReturnTypeLike<any, any> | TVExtendList | undefined = undefined, EV extends TVVariantsShape = VariantsOfExtend<E>, ES extends TVSlots = SlotsOfExtend<E>>(options: TVOptionsFields<V, DV, CV, B, S, EV, ES> & { extend?: E | undefined; compoundSlots?: TVCompoundSlots<NoInfer<V>, TVMergedSlots<NoInfer<S>, NoInfer<SlotsOfExtend<E>>>, NoInfer<B>, NoInfer<EV>> | undefined; }, config?: TVConfig | undefined): TVReturnType<V, S, B, EV, ES, E> |
tailwind-variants · TVLite | <V extends TVVariants<S, B, EV>, CV extends TVCompoundVariants<V, S, B, EV, ES>, DV extends TVDefaultVariants<V, S, EV, ES>, B extends ClassNameValue = undefined, S extends TVSlots = undefined, E extends TVReturnTypeLike<any, any> = TVReturnTypeLike<V, S>, EV extends TVVariants<ES, B, E["variants"], ES> = E["variants"], ES extends TVSlots = E["slots"] extends TVSlots ? E["slots"] : undefined>(options: { extend?: E | undefined; base?: B | undefined; slots?: S | undefined; variants?: V | undefined; compoundVariants?: CV | undefined; compoundSlots?: TVCompoundSlots<V, S, B> | undefined; defaultVa… | interface |
tailwind-variants · TVProps | EV extends undefined ? V extends undefined ? ClassProp<ClassNameValue> : { [K in keyof V]?: VariantValue<V, K> | undefined; } & ClassProp<ClassNameValue> : V extends undefined ? { [K in keyof EV]?: VariantValue<EV, K> | undefined; } & ClassProp<ClassNameValue> : { [K in keyof V | keyof EV]?: VariantValue<V, K> | VariantValue<EV, K> | undefined; } & ClassProp<ClassNameValue> | [TVResolvedVariants<V, EV>] extends [undefined] ? ClassProp<ClassNameValue> : { [K in keyof ({ [K in keyof TVResolvedVariants<V, EV> & string]?: VariantValue<TVResolvedVariants<V, EV>, K> | undefined; } & { class?: ClassNameValue; className?: undefined; })]: ({ [K in keyof TVResolvedVariants<V, EV> & string]?: VariantValue<TVResolvedVariants<V, EV>, K> | undefined; } & { class?: ClassNameValue; className?: undefined; })[K]; } | { [K in keyof ({ [K in keyof TVResolvedVariants<V, EV> & string]?: VariantValue<TVResolvedVariants<V, EV>, K> | undefined; } & { class?: undefined; className?: ClassNam… |
tailwind-variants · cnMerge | <T extends CnOptions>(...classnames: T): (config?: TWMConfig | undefined) => CnReturn | <T extends CnOptions>(...classnames: T): (config?: TWMConfig | undefined) => string |
tailwind-variants · CnReturn | string | undefined | string |
tailwind-variants · TVConfig | { twMerge?: boolean | undefined; twMergeConfig?: TWMergeConfig | undefined; } | TWMConfig & { debug?: boolean | undefined; } |
tailwind-variants · createTV | (config: TWMConfig): TV | (config: TVConfig): TV<TVConfig> |
tailwind-variants · TWMConfig | { twMerge?: boolean | undefined; twMergeConfig?: TWMergeConfig | undefined; } | { twMerge?: boolean | TwMergeFn | undefined; } |
tailwind-variants · TVVariants | EV extends undefined ? TVVariantsDefault<S, B> : TVVariantsDefault<S, B> | { [K in keyof EV]: { [K2 in keyof EV[K]]: S extends TVSlots ? ClassNameValue | SlotsClassValue<S, B> : ClassNameValue; }; } | { [x: string]: Record<string, VariantClassValue<TVMergedSlots<S, ES>, B>>; } |
tailwind-variants · TVVariantKeys | V extends undefined ? undefined : (keyof V)[] | [V] extends [undefined] ? undefined : Extract<keyof V, string>[] |
tailwind-variants · defaultConfig | TWMConfig | TVConfig |
tailwind-variants · StringToBoolean | T extends "true" | "false" ? boolean : T | T extends boolean | "true" | "false" ? boolean : T |
tailwind-variants · TVCompoundSlots | ({ slots: TVSlotsWithBase<S, B>[]; } & ({ [K in keyof V]?: VariantValueWithBooleanUndefined<V, K> | VariantValueWithBooleanUndefined<V, K>[] | undefined; } & ClassProp<ClassNameValue>))[] | ({ slots: TVSlotsWithBase<S, B>[]; } & ({ [K in Exclude<keyof TVResolvedVariants<V, EV> & string, "slots" | "class" | "className">]?: VariantValueWithBooleanUndefined<TVResolvedVariants<V, EV>, K> | VariantValueWithBooleanUndefined<TVResolvedVariants<V, EV>, K>[] | undefined; } & ClassProp<ClassNameValue>))[] |
tailwind-variants · TVDefaultVariants | { [K in keyof V | keyof EV]?: VariantValue<V, K> | VariantValue<EV, K> | undefined; } | [TVResolvedVariants<V, EV>] extends [undefined] ? {} : { [K in keyof TVResolvedVariants<V, EV> & string]?: VariantValue<TVResolvedVariants<V, EV>, K> | undefined; } |
tailwind-variants · TVCompoundVariants | ({ [K in keyof V | keyof EV]?: VariantValueWithBooleanUndefined<V, K> | VariantValueWithBooleanUndefined<EV, K> | (K extends keyof V ? VariantValueWithBooleanUndefined<V, K>[] : never) | undefined; } & ClassProp<ClassNameValue | SlotsClassValue<S, B>>)[] | TVCompoundVariant<V, S, B, EV, ES>[] |
tailwind-variants · TVScreenPropsValue | { initial?: StringToBoolean<keyof V[K]> | undefined; } | { initial?: StringToBoolean<keyof V[K] & string> | undefined; } |
tailwind-variants/lite · TV | <V extends TVVariants<S, B, EV>, CV extends TVCompoundVariants<V, S, B, EV, ES>, DV extends TVDefaultVariants<V, S, EV, ES>, B extends ClassNameValue = undefined, S extends TVSlots = undefined, E extends TVReturnTypeLike<any, any> = TVReturnTypeLike<V, S>, EV extends TVVariants<ES, B, E["variants"], ES> = E["variants"], ES extends TVSlots = E["slots"] extends TVSlots ? E["slots"] : undefined>(options: { extend?: E | undefined; base?: B | undefined; slots?: S | undefined; variants?: V | undefined; compoundVariants?: CV | undefined; compoundSlots?: TVCompoundSlots<V, S, B> | undefined; defaultVa… | interface |
tailwind-variants/lite · cn | <T extends CnOptions>(...classnames: T): (config?: any) => CnReturn | <T extends CnOptions>(...classnames: T): (config?: TVLiteConfig | undefined) => string |
tailwind-variants/lite · cx | <T extends CnOptions>(...classnames: T): CnReturn | <T extends CnOptions>(...classnames: T): string |
tailwind-variants/lite · tv | <V extends TVVariants<S, B, EV>, CV extends TVCompoundVariants<V, S, B, EV, ES>, DV extends TVDefaultVariants<V, S, EV, ES>, B extends ClassNameValue = undefined, S extends TVSlots = undefined, E extends TVReturnTypeLike<any, any> = TVReturnTypeLike<V, S>, EV extends TVVariants<ES, B, E["variants"], ES> = E["variants"], ES extends TVSlots = E["slots"] extends TVSlots ? E["slots"] : undefined>(options: { extend?: E | undefined; base?: B | undefined; slots?: S | undefined; variants?: V | undefined; compoundVariants?: CV | undefined; compoundSlots?: TVCompoundSlots<V, S, B> | undefined; defaultVa… | <V extends TVVariantsConstraint = {}, DV = {}, CV extends readonly object[] = [], B extends ClassNameValue = undefined, S extends TVSlots = undefined, E extends TVReturnTypeLike<any, any> | TVExtendList | undefined = undefined, EV extends TVVariantsShape = VariantsOfExtend<E>, ES extends TVSlots = SlotsOfExtend<E>>(options: TVOptionsFields<V, DV, CV, B, S, EV, ES> & { extend?: E | undefined; compoundSlots?: TVCompoundSlots<NoInfer<V>, TVMergedSlots<NoInfer<S>, NoInfer<SlotsOfExtend<E>>>, NoInfer<B>, NoInfer<EV>> | undefined; }, config?: TVLiteConfig | undefined): TVReturnType<V, S, B, EV, ES, … |
tailwind-variants/lite · TVLite | <V extends TVVariants<S, B, EV>, CV extends TVCompoundVariants<V, S, B, EV, ES>, DV extends TVDefaultVariants<V, S, EV, ES>, B extends ClassNameValue = undefined, S extends TVSlots = undefined, E extends TVReturnTypeLike<any, any> = TVReturnTypeLike<V, S>, EV extends TVVariants<ES, B, E["variants"], ES> = E["variants"], ES extends TVSlots = E["slots"] extends TVSlots ? E["slots"] : undefined>(options: { extend?: E | undefined; base?: B | undefined; slots?: S | undefined; variants?: V | undefined; compoundVariants?: CV | undefined; compoundSlots?: TVCompoundSlots<V, S, B> | undefined; defaultVa… | interface |
tailwind-variants/lite · TVProps | EV extends undefined ? V extends undefined ? ClassProp<ClassNameValue> : { [K in keyof V]?: VariantValue<V, K> | undefined; } & ClassProp<ClassNameValue> : V extends undefined ? { [K in keyof EV]?: VariantValue<EV, K> | undefined; } & ClassProp<ClassNameValue> : { [K in keyof V | keyof EV]?: VariantValue<V, K> | VariantValue<EV, K> | undefined; } & ClassProp<ClassNameValue> | [TVResolvedVariants<V, EV>] extends [undefined] ? ClassProp<ClassNameValue> : { [K in keyof ({ [K in keyof TVResolvedVariants<V, EV> & string]?: VariantValue<TVResolvedVariants<V, EV>, K> | undefined; } & { class?: ClassNameValue; className?: undefined; })]: ({ [K in keyof TVResolvedVariants<V, EV> & string]?: VariantValue<TVResolvedVariants<V, EV>, K> | undefined; } & { class?: ClassNameValue; className?: undefined; })[K]; } | { [K in keyof ({ [K in keyof TVResolvedVariants<V, EV> & string]?: VariantValue<TVResolvedVariants<V, EV>, K> | undefined; } & { class?: undefined; className?: ClassNam… |
tailwind-variants/lite · CnReturn | string | undefined | string |
tailwind-variants/lite · createTV | (): TVLite | (config?: TVLiteConfig | undefined): TVLite |
tailwind-variants/lite · TVVariants | EV extends undefined ? TVVariantsDefault<S, B> : TVVariantsDefault<S, B> | { [K in keyof EV]: { [K2 in keyof EV[K]]: S extends TVSlots ? ClassNameValue | SlotsClassValue<S, B> : ClassNameValue; }; } | { [x: string]: Record<string, VariantClassValue<TVMergedSlots<S, ES>, B>>; } |
tailwind-variants/lite · TVVariantKeys | V extends undefined ? undefined : (keyof V)[] | [V] extends [undefined] ? undefined : Extract<keyof V, string>[] |
tailwind-variants/lite · StringToBoolean | T extends "true" | "false" ? boolean : T | T extends boolean | "true" | "false" ? boolean : T |
tailwind-variants/lite · TVCompoundSlots | ({ slots: TVSlotsWithBase<S, B>[]; } & ({ [K in keyof V]?: VariantValueWithBooleanUndefined<V, K> | VariantValueWithBooleanUndefined<V, K>[] | undefined; } & ClassProp<ClassNameValue>))[] | ({ slots: TVSlotsWithBase<S, B>[]; } & ({ [K in Exclude<keyof TVResolvedVariants<V, EV> & string, "slots" | "class" | "className">]?: VariantValueWithBooleanUndefined<TVResolvedVariants<V, EV>, K> | VariantValueWithBooleanUndefined<TVResolvedVariants<V, EV>, K>[] | undefined; } & ClassProp<ClassNameValue>))[] |
tailwind-variants/lite · TVDefaultVariants | { [K in keyof V | keyof EV]?: VariantValue<V, K> | VariantValue<EV, K> | undefined; } | [TVResolvedVariants<V, EV>] extends [undefined] ? {} : { [K in keyof TVResolvedVariants<V, EV> & string]?: VariantValue<TVResolvedVariants<V, EV>, K> | undefined; } |
tailwind-variants/lite · TVCompoundVariants | ({ [K in keyof V | keyof EV]?: VariantValueWithBooleanUndefined<V, K> | VariantValueWithBooleanUndefined<EV, K> | (K extends keyof V ? VariantValueWithBooleanUndefined<V, K>[] : never) | undefined; } & ClassProp<ClassNameValue | SlotsClassValue<S, B>>)[] | TVCompoundVariant<V, S, B, EV, ES>[] |
tailwind-variants/lite · TVScreenPropsValue | { initial?: StringToBoolean<keyof V[K]> | undefined; } | { initial?: StringToBoolean<keyof V[K] & string> | undefined; } |
tailwind-variants/utils · cx | <T extends CnOptions>(...classnames: T): CnReturn | <T extends CnOptions>(...classnames: T): string |
क्लास या इंटरफ़ेस के हटाए गए सदस्य
कुछ नहीं मिला।
क्लास या इंटरफ़ेस के बदले गए सदस्य
| member | पहले | बाद में |
|---|---|---|
TVReturnType.variants | TVMergedVariants<V, EV> | MergeVariantMaps<V, EV> |
TVReturnType.variantKeys | TVVariantKeys<TVMergedVariants<V, EV>, TVMergedSlots<S, ES>> | TVVariantKeys<MergeVariantMaps<V, EV>, TVMergedSlots<S, ES>> |
TVReturnType.compoundSlots | TVCompoundSlots<V, S, B> | TVCompoundSlots<V, TVMergedSlots<S, ES>, B, EV> |
TVReturnProps.variants | TVMergedVariants<V, EV> | MergeVariantMaps<V, EV> |
TVReturnProps.variantKeys | TVVariantKeys<TVMergedVariants<V, EV>, TVMergedSlots<S, ES>> | TVVariantKeys<MergeVariantMaps<V, EV>, TVMergedSlots<S, ES>> |
TVReturnProps.compoundSlots | TVCompoundSlots<V, S, B> | TVCompoundSlots<V, TVMergedSlots<S, ES>, B, EV> |
TVReturnType.variants | TVMergedVariants<V, EV> | MergeVariantMaps<V, EV> |
TVReturnType.variantKeys | TVVariantKeys<TVMergedVariants<V, EV>, TVMergedSlots<S, ES>> | TVVariantKeys<MergeVariantMaps<V, EV>, TVMergedSlots<S, ES>> |
TVReturnType.compoundSlots | TVCompoundSlots<V, S, B> | TVCompoundSlots<V, TVMergedSlots<S, ES>, B, EV> |
TVReturnProps.variants | TVMergedVariants<V, EV> | MergeVariantMaps<V, EV> |
TVReturnProps.variantKeys | TVVariantKeys<TVMergedVariants<V, EV>, TVMergedSlots<S, ES>> | TVVariantKeys<MergeVariantMaps<V, EV>, TVMergedSlots<S, ES>> |
TVReturnProps.compoundSlots | TVCompoundSlots<V, S, B> | TVCompoundSlots<V, TVMergedSlots<S, ES>, B, EV> |
नए डिप्रिकेटेड
कुछ नहीं मिला।
आवश्यकताओं में बदलाव (engines, peer निर्भरताएँ)
| पहले | बाद में | |
|---|---|---|
peerDependencies.tailwindcss | * | — |
peerDependencies.tailwind-merge | >=3.0.0 | — |
नए एक्सपोर्ट (32)
| import | export | kind |
|---|---|---|
tailwind-variants | clsx | variable |
tailwind-variants | twJoin | variable |
tailwind-variants | default | variable |
tailwind-variants | twMerge | variable |
tailwind-variants | TVExtend | type |
tailwind-variants | TVFactory | type |
tailwind-variants | TwMergeFn | type |
tailwind-variants | ClassArray | type |
tailwind-variants | CnFunction | type |
tailwind-variants | TVExtendList | type |
tailwind-variants | TVLiteConfig | type |
tailwind-variants | TVExtendInput | type |
tailwind-variants | ClassNameArray | type |
tailwind-variants | ClassNameValue | type |
tailwind-variants | TVCustomConfig | type |
tailwind-variants | ClassDictionary | interface |
tailwind-variants | TWMCustomConfig | type |
tailwind-variants | TVCompoundVariant | type |
tailwind-variants/lite | clsx | variable |
tailwind-variants/lite | default | variable |
tailwind-variants/lite | TVConfig | type |
tailwind-variants/lite | TVExtend | type |
tailwind-variants/lite | createCN | variable |
tailwind-variants/lite | TVFactory | type |
tailwind-variants/lite | TWMConfig | type |
tailwind-variants/lite | TwMergeFn | type |
tailwind-variants/lite | TVExtendList | type |
tailwind-variants/lite | TVLiteConfig | type |
tailwind-variants/lite | TVExtendInput | type |
tailwind-variants/lite | TWMergeConfig | type |
tailwind-variants/lite | TVCompoundVariant | type |
tailwind-variants/utils | normalizeClassString | variable |
अपने AI एजेंट को ये तथ्य दें
Vigia एक मुफ़्त MCP सर्वर है: आपका कोडिंग एजेंट कोड लिखने से पहले वर्ज़न, ब्रेकिंग बदलाव और कमज़ोरियाँ जाँचता है। न साइनअप, न API कुंजी।
claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp
Cursor में जोड़ेंVS Code में जोड़ें★ GitHub पर स्टार दें
कोई भी दूसरा MCP क्लाइंट
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }एजेंट स्किल (SKILL.md): एजेंट को बताती है कि Vigia कब इस्तेमाल करना है · पुल रिक्वेस्ट के लिए GitHub Action
अक्सर पूछे जाने वाले प्रश्न
tailwind-variants को 3 से 4 पर अपग्रेड करने पर कौन-से असंगत बदलाव हैं?
tailwind-variants 3.3.1 और 4.0.0 के बीच Vigia को 0 हटाए गए एक्सपोर्ट, 35 बदले गए सिग्नेचर और 12 हटाए या बदले गए क्लास/इंटरफ़ेस सदस्य मिले।
tailwind-variants 4 में क्या डिप्रिकेट हुआ?
tailwind-variants 4.0.0 में 0 एक्सपोर्ट या सदस्य नए रूप से डिप्रिकेटेड चिह्नित हैं।
एजेंटों के लिए
GET https://vigia.coredls.cloud/v1/packages/npm/tailwind-variants/upgrade?from=3.3.1&to=4.0.0