init 3
This commit is contained in:
1
node_modules/tailwind-merge/dist/bundle-mjs.mjs.map
generated
vendored
Normal file
1
node_modules/tailwind-merge/dist/bundle-mjs.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
52
node_modules/tailwind-merge/src/lib/lru-cache.ts
generated
vendored
Normal file
52
node_modules/tailwind-merge/src/lib/lru-cache.ts
generated
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
// Export is needed because TypeScript complains about an error otherwise:
|
||||
// Error: …/tailwind-merge/src/config-utils.ts(8,17): semantic error TS4058: Return type of exported function has or is using name 'LruCache' from external module "…/tailwind-merge/src/lru-cache" but cannot be named.
|
||||
export interface LruCache<Key, Value> {
|
||||
get(key: Key): Value | undefined
|
||||
set(key: Key, value: Value): void
|
||||
}
|
||||
|
||||
// LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance
|
||||
export const createLruCache = <Key, Value>(maxCacheSize: number): LruCache<Key, Value> => {
|
||||
if (maxCacheSize < 1) {
|
||||
return {
|
||||
get: () => undefined,
|
||||
set: () => {},
|
||||
}
|
||||
}
|
||||
|
||||
let cacheSize = 0
|
||||
let cache = new Map<Key, Value>()
|
||||
let previousCache = new Map<Key, Value>()
|
||||
|
||||
const update = (key: Key, value: Value) => {
|
||||
cache.set(key, value)
|
||||
cacheSize++
|
||||
|
||||
if (cacheSize > maxCacheSize) {
|
||||
cacheSize = 0
|
||||
previousCache = cache
|
||||
cache = new Map()
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
get(key) {
|
||||
let value = cache.get(key)
|
||||
|
||||
if (value !== undefined) {
|
||||
return value
|
||||
}
|
||||
if ((value = previousCache.get(key)) !== undefined) {
|
||||
update(key, value)
|
||||
return value
|
||||
}
|
||||
},
|
||||
set(key, value) {
|
||||
if (cache.has(key)) {
|
||||
cache.set(key, value)
|
||||
} else {
|
||||
update(key, value)
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
38
node_modules/tailwind-merge/src/lib/sort-modifiers.ts
generated
vendored
Normal file
38
node_modules/tailwind-merge/src/lib/sort-modifiers.ts
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
import { AnyConfig } from './types'
|
||||
|
||||
/**
|
||||
* Sorts modifiers according to following schema:
|
||||
* - Predefined modifiers are sorted alphabetically
|
||||
* - When an arbitrary variant appears, it must be preserved which modifiers are before and after it
|
||||
*/
|
||||
export const createSortModifiers = (config: AnyConfig) => {
|
||||
const orderSensitiveModifiers = Object.fromEntries(
|
||||
config.orderSensitiveModifiers.map((modifier) => [modifier, true]),
|
||||
)
|
||||
|
||||
const sortModifiers = (modifiers: string[]) => {
|
||||
if (modifiers.length <= 1) {
|
||||
return modifiers
|
||||
}
|
||||
|
||||
const sortedModifiers: string[] = []
|
||||
let unsortedModifiers: string[] = []
|
||||
|
||||
modifiers.forEach((modifier) => {
|
||||
const isPositionSensitive = modifier[0] === '[' || orderSensitiveModifiers[modifier]
|
||||
|
||||
if (isPositionSensitive) {
|
||||
sortedModifiers.push(...unsortedModifiers.sort(), modifier)
|
||||
unsortedModifiers = []
|
||||
} else {
|
||||
unsortedModifiers.push(modifier)
|
||||
}
|
||||
})
|
||||
|
||||
sortedModifiers.push(...unsortedModifiers.sort())
|
||||
|
||||
return sortedModifiers
|
||||
}
|
||||
|
||||
return sortModifiers
|
||||
}
|
||||
4
node_modules/tailwind-merge/src/lib/tw-merge.ts
generated
vendored
Normal file
4
node_modules/tailwind-merge/src/lib/tw-merge.ts
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
import { createTailwindMerge } from './create-tailwind-merge'
|
||||
import { getDefaultConfig } from './default-config'
|
||||
|
||||
export const twMerge = createTailwindMerge(getDefaultConfig)
|
||||
Reference in New Issue
Block a user