@connectycube/react-ui-kit 0.0.18 → 0.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/configs/dependencies.json +12 -0
  2. package/configs/imports.json +5 -1
  3. package/dist/index.cjs +1 -27
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.js +1 -27
  6. package/dist/index.js.map +1 -1
  7. package/dist/types/components/attachment.d.ts +45 -0
  8. package/dist/types/components/attachment.d.ts.map +1 -0
  9. package/dist/types/components/avatar.d.ts +2 -1
  10. package/dist/types/components/avatar.d.ts.map +1 -1
  11. package/dist/types/components/call-message.d.ts +17 -0
  12. package/dist/types/components/call-message.d.ts.map +1 -0
  13. package/dist/types/components/chat-message.d.ts +30 -0
  14. package/dist/types/components/chat-message.d.ts.map +1 -0
  15. package/dist/types/components/dialog-item.d.ts +4 -4
  16. package/dist/types/components/dialog-item.d.ts.map +1 -1
  17. package/dist/types/components/linkify-text.d.ts +6 -1
  18. package/dist/types/components/linkify-text.d.ts.map +1 -1
  19. package/dist/types/components/stream-view.d.ts.map +1 -1
  20. package/dist/types/components/switch.d.ts +6 -0
  21. package/dist/types/components/switch.d.ts.map +1 -0
  22. package/dist/types/components/utils.d.ts +1 -0
  23. package/dist/types/components/utils.d.ts.map +1 -1
  24. package/dist/types/index.d.ts +24 -4
  25. package/dist/types/index.d.ts.map +1 -1
  26. package/gen/components/attachment.jsx +216 -0
  27. package/gen/components/avatar.jsx +14 -2
  28. package/gen/components/call-message.jsx +62 -0
  29. package/gen/components/chat-message.jsx +120 -0
  30. package/gen/components/dialog-item.jsx +11 -8
  31. package/gen/components/dismiss-layer.jsx +1 -1
  32. package/gen/components/file-picker.jsx +2 -2
  33. package/gen/components/linkify-text.jsx +41 -2
  34. package/gen/components/stream-view.jsx +1 -5
  35. package/gen/components/switch.jsx +23 -0
  36. package/gen/components/utils.js +4 -0
  37. package/gen/index.js +50 -0
  38. package/package.json +12 -10
  39. package/src/components/attachment.tsx +269 -0
  40. package/src/components/avatar.tsx +4 -2
  41. package/src/components/call-message.tsx +75 -0
  42. package/src/components/chat-message.tsx +138 -0
  43. package/src/components/connectycube-ui/attachment.tsx +269 -0
  44. package/src/components/connectycube-ui/chat-message.tsx +138 -0
  45. package/src/components/connectycube-ui/link-preview.tsx +149 -0
  46. package/src/components/dialog-item.tsx +13 -10
  47. package/src/components/dismiss-layer.tsx +1 -1
  48. package/src/components/file-picker.tsx +2 -2
  49. package/src/components/linkify-text.tsx +44 -3
  50. package/src/components/stream-view.tsx +1 -5
  51. package/src/components/switch.tsx +25 -0
  52. package/src/components/utils.ts +4 -0
  53. package/src/index.ts +78 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../node_modules/clsx/dist/clsx.mjs","../node_modules/tailwind-merge/dist/bundle-mjs.mjs","../src/components/utils.ts","../src/components/dismiss-layer.tsx","../node_modules/lucide-react/dist/esm/shared/src/utils.js","../node_modules/lucide-react/dist/esm/defaultAttributes.js","../node_modules/lucide-react/dist/esm/Icon.js","../node_modules/lucide-react/dist/esm/createLucideIcon.js","../node_modules/lucide-react/dist/esm/icons/maximize.js","../node_modules/lucide-react/dist/esm/icons/minimize.js","../node_modules/lucide-react/dist/esm/icons/picture-in-picture-2.js","../src/components/stream-view.tsx"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","/**\n * Concatenates two arrays faster than the array spread operator.\n */\nconst concatArrays = (array1, array2) => {\n // Pre-allocate for better V8 optimization\n const combinedArray = new Array(array1.length + array2.length);\n for (let i = 0; i < array1.length; i++) {\n combinedArray[i] = array1[i];\n }\n for (let i = 0; i < array2.length; i++) {\n combinedArray[array1.length + i] = array2[i];\n }\n return combinedArray;\n};\n\n// Factory function ensures consistent object shapes\nconst createClassValidatorObject = (classGroupId, validator) => ({\n classGroupId,\n validator\n});\n// Factory ensures consistent ClassPartObject shape\nconst createClassPartObject = (nextPart = new Map(), validators = null, classGroupId) => ({\n nextPart,\n validators,\n classGroupId\n});\nconst CLASS_PART_SEPARATOR = '-';\nconst EMPTY_CONFLICTS = [];\n// I use two dots here because one dot is used as prefix for class groups in plugins\nconst ARBITRARY_PROPERTY_PREFIX = 'arbitrary..';\nconst createClassGroupUtils = config => {\n const classMap = createClassMap(config);\n const {\n conflictingClassGroups,\n conflictingClassGroupModifiers\n } = config;\n const getClassGroupId = className => {\n if (className.startsWith('[') && className.endsWith(']')) {\n return getGroupIdForArbitraryProperty(className);\n }\n const classParts = className.split(CLASS_PART_SEPARATOR);\n // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and skip it.\n const startIndex = classParts[0] === '' && classParts.length > 1 ? 1 : 0;\n return getGroupRecursive(classParts, startIndex, classMap);\n };\n const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {\n if (hasPostfixModifier) {\n const modifierConflicts = conflictingClassGroupModifiers[classGroupId];\n const baseConflicts = conflictingClassGroups[classGroupId];\n if (modifierConflicts) {\n if (baseConflicts) {\n // Merge base conflicts with modifier conflicts\n return concatArrays(baseConflicts, modifierConflicts);\n }\n // Only modifier conflicts\n return modifierConflicts;\n }\n // Fall back to without postfix if no modifier conflicts\n return baseConflicts || EMPTY_CONFLICTS;\n }\n return conflictingClassGroups[classGroupId] || EMPTY_CONFLICTS;\n };\n return {\n getClassGroupId,\n getConflictingClassGroupIds\n };\n};\nconst getGroupRecursive = (classParts, startIndex, classPartObject) => {\n const classPathsLength = classParts.length - startIndex;\n if (classPathsLength === 0) {\n return classPartObject.classGroupId;\n }\n const currentClassPart = classParts[startIndex];\n const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);\n if (nextClassPartObject) {\n const result = getGroupRecursive(classParts, startIndex + 1, nextClassPartObject);\n if (result) return result;\n }\n const validators = classPartObject.validators;\n if (validators === null) {\n return undefined;\n }\n // Build classRest string efficiently by joining from startIndex onwards\n const classRest = startIndex === 0 ? classParts.join(CLASS_PART_SEPARATOR) : classParts.slice(startIndex).join(CLASS_PART_SEPARATOR);\n const validatorsLength = validators.length;\n for (let i = 0; i < validatorsLength; i++) {\n const validatorObj = validators[i];\n if (validatorObj.validator(classRest)) {\n return validatorObj.classGroupId;\n }\n }\n return undefined;\n};\n/**\n * Get the class group ID for an arbitrary property.\n *\n * @param className - The class name to get the group ID for. Is expected to be string starting with `[` and ending with `]`.\n */\nconst getGroupIdForArbitraryProperty = className => className.slice(1, -1).indexOf(':') === -1 ? undefined : (() => {\n const content = className.slice(1, -1);\n const colonIndex = content.indexOf(':');\n const property = content.slice(0, colonIndex);\n return property ? ARBITRARY_PROPERTY_PREFIX + property : undefined;\n})();\n/**\n * Exported for testing only\n */\nconst createClassMap = config => {\n const {\n theme,\n classGroups\n } = config;\n return processClassGroups(classGroups, theme);\n};\n// Split into separate functions to maintain monomorphic call sites\nconst processClassGroups = (classGroups, theme) => {\n const classMap = createClassPartObject();\n for (const classGroupId in classGroups) {\n const group = classGroups[classGroupId];\n processClassesRecursively(group, classMap, classGroupId, theme);\n }\n return classMap;\n};\nconst processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {\n const len = classGroup.length;\n for (let i = 0; i < len; i++) {\n const classDefinition = classGroup[i];\n processClassDefinition(classDefinition, classPartObject, classGroupId, theme);\n }\n};\n// Split into separate functions for each type to maintain monomorphic call sites\nconst processClassDefinition = (classDefinition, classPartObject, classGroupId, theme) => {\n if (typeof classDefinition === 'string') {\n processStringDefinition(classDefinition, classPartObject, classGroupId);\n return;\n }\n if (typeof classDefinition === 'function') {\n processFunctionDefinition(classDefinition, classPartObject, classGroupId, theme);\n return;\n }\n processObjectDefinition(classDefinition, classPartObject, classGroupId, theme);\n};\nconst processStringDefinition = (classDefinition, classPartObject, classGroupId) => {\n const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);\n classPartObjectToEdit.classGroupId = classGroupId;\n};\nconst processFunctionDefinition = (classDefinition, classPartObject, classGroupId, theme) => {\n if (isThemeGetter(classDefinition)) {\n processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);\n return;\n }\n if (classPartObject.validators === null) {\n classPartObject.validators = [];\n }\n classPartObject.validators.push(createClassValidatorObject(classGroupId, classDefinition));\n};\nconst processObjectDefinition = (classDefinition, classPartObject, classGroupId, theme) => {\n const entries = Object.entries(classDefinition);\n const len = entries.length;\n for (let i = 0; i < len; i++) {\n const [key, value] = entries[i];\n processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme);\n }\n};\nconst getPart = (classPartObject, path) => {\n let current = classPartObject;\n const parts = path.split(CLASS_PART_SEPARATOR);\n const len = parts.length;\n for (let i = 0; i < len; i++) {\n const part = parts[i];\n let next = current.nextPart.get(part);\n if (!next) {\n next = createClassPartObject();\n current.nextPart.set(part, next);\n }\n current = next;\n }\n return current;\n};\n// Type guard maintains monomorphic check\nconst isThemeGetter = func => 'isThemeGetter' in func && func.isThemeGetter === true;\n\n// LRU cache implementation using plain objects for simplicity\nconst createLruCache = maxCacheSize => {\n if (maxCacheSize < 1) {\n return {\n get: () => undefined,\n set: () => {}\n };\n }\n let cacheSize = 0;\n let cache = Object.create(null);\n let previousCache = Object.create(null);\n const update = (key, value) => {\n cache[key] = value;\n cacheSize++;\n if (cacheSize > maxCacheSize) {\n cacheSize = 0;\n previousCache = cache;\n cache = Object.create(null);\n }\n };\n return {\n get(key) {\n let value = cache[key];\n if (value !== undefined) {\n return value;\n }\n if ((value = previousCache[key]) !== undefined) {\n update(key, value);\n return value;\n }\n },\n set(key, value) {\n if (key in cache) {\n cache[key] = value;\n } else {\n update(key, value);\n }\n }\n };\n};\nconst IMPORTANT_MODIFIER = '!';\nconst MODIFIER_SEPARATOR = ':';\nconst EMPTY_MODIFIERS = [];\n// Pre-allocated result object shape for consistency\nconst createResultObject = (modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition, isExternal) => ({\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition,\n isExternal\n});\nconst createParseClassName = config => {\n const {\n prefix,\n experimentalParseClassName\n } = config;\n /**\n * Parse class name into parts.\n *\n * Inspired by `splitAtTopLevelOnly` used in Tailwind CSS\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js\n */\n let parseClassName = className => {\n // Use simple array with push for better performance\n const modifiers = [];\n let bracketDepth = 0;\n let parenDepth = 0;\n let modifierStart = 0;\n let postfixModifierPosition;\n const len = className.length;\n for (let index = 0; index < len; index++) {\n const currentCharacter = className[index];\n if (bracketDepth === 0 && parenDepth === 0) {\n if (currentCharacter === MODIFIER_SEPARATOR) {\n modifiers.push(className.slice(modifierStart, index));\n modifierStart = index + 1;\n continue;\n }\n if (currentCharacter === '/') {\n postfixModifierPosition = index;\n continue;\n }\n }\n if (currentCharacter === '[') bracketDepth++;else if (currentCharacter === ']') bracketDepth--;else if (currentCharacter === '(') parenDepth++;else if (currentCharacter === ')') parenDepth--;\n }\n const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.slice(modifierStart);\n // Inline important modifier check\n let baseClassName = baseClassNameWithImportantModifier;\n let hasImportantModifier = false;\n if (baseClassNameWithImportantModifier.endsWith(IMPORTANT_MODIFIER)) {\n baseClassName = baseClassNameWithImportantModifier.slice(0, -1);\n hasImportantModifier = true;\n } else if (\n /**\n * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.\n * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864\n */\n baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)) {\n baseClassName = baseClassNameWithImportantModifier.slice(1);\n hasImportantModifier = true;\n }\n const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;\n return createResultObject(modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition);\n };\n if (prefix) {\n const fullPrefix = prefix + MODIFIER_SEPARATOR;\n const parseClassNameOriginal = parseClassName;\n parseClassName = className => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.slice(fullPrefix.length)) : createResultObject(EMPTY_MODIFIERS, false, className, undefined, true);\n }\n if (experimentalParseClassName) {\n const parseClassNameOriginal = parseClassName;\n parseClassName = className => experimentalParseClassName({\n className,\n parseClassName: parseClassNameOriginal\n });\n }\n return parseClassName;\n};\n\n/**\n * Sorts modifiers according to following schema:\n * - Predefined modifiers are sorted alphabetically\n * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it\n */\nconst createSortModifiers = config => {\n // Pre-compute weights for all known modifiers for O(1) comparison\n const modifierWeights = new Map();\n // Assign weights to sensitive modifiers (highest priority, but preserve order)\n config.orderSensitiveModifiers.forEach((mod, index) => {\n modifierWeights.set(mod, 1000000 + index); // High weights for sensitive mods\n });\n return modifiers => {\n const result = [];\n let currentSegment = [];\n // Process modifiers in one pass\n for (let i = 0; i < modifiers.length; i++) {\n const modifier = modifiers[i];\n // Check if modifier is sensitive (starts with '[' or in orderSensitiveModifiers)\n const isArbitrary = modifier[0] === '[';\n const isOrderSensitive = modifierWeights.has(modifier);\n if (isArbitrary || isOrderSensitive) {\n // Sort and flush current segment alphabetically\n if (currentSegment.length > 0) {\n currentSegment.sort();\n result.push(...currentSegment);\n currentSegment = [];\n }\n result.push(modifier);\n } else {\n // Regular modifier - add to current segment for batch sorting\n currentSegment.push(modifier);\n }\n }\n // Sort and add any remaining segment items\n if (currentSegment.length > 0) {\n currentSegment.sort();\n result.push(...currentSegment);\n }\n return result;\n };\n};\nconst createConfigUtils = config => ({\n cache: createLruCache(config.cacheSize),\n parseClassName: createParseClassName(config),\n sortModifiers: createSortModifiers(config),\n ...createClassGroupUtils(config)\n});\nconst SPLIT_CLASSES_REGEX = /\\s+/;\nconst mergeClassList = (classList, configUtils) => {\n const {\n parseClassName,\n getClassGroupId,\n getConflictingClassGroupIds,\n sortModifiers\n } = configUtils;\n /**\n * Set of classGroupIds in following format:\n * `{importantModifier}{variantModifiers}{classGroupId}`\n * @example 'float'\n * @example 'hover:focus:bg-color'\n * @example 'md:!pr'\n */\n const classGroupsInConflict = [];\n const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);\n let result = '';\n for (let index = classNames.length - 1; index >= 0; index -= 1) {\n const originalClassName = classNames[index];\n const {\n isExternal,\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition\n } = parseClassName(originalClassName);\n if (isExternal) {\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n let hasPostfixModifier = !!maybePostfixModifierPosition;\n let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);\n if (!classGroupId) {\n if (!hasPostfixModifier) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n classGroupId = getClassGroupId(baseClassName);\n if (!classGroupId) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n hasPostfixModifier = false;\n }\n // Fast path: skip sorting for empty or single modifier\n const variantModifier = modifiers.length === 0 ? '' : modifiers.length === 1 ? modifiers[0] : sortModifiers(modifiers).join(':');\n const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;\n const classId = modifierId + classGroupId;\n if (classGroupsInConflict.indexOf(classId) > -1) {\n // Tailwind class omitted due to conflict\n continue;\n }\n classGroupsInConflict.push(classId);\n const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);\n for (let i = 0; i < conflictGroups.length; ++i) {\n const group = conflictGroups[i];\n classGroupsInConflict.push(modifierId + group);\n }\n // Tailwind class not in conflict\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n }\n return result;\n};\n\n/**\n * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.\n *\n * Specifically:\n * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js\n * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts\n *\n * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)\n */\nconst twJoin = (...classLists) => {\n let index = 0;\n let argument;\n let resolvedValue;\n let string = '';\n while (index < classLists.length) {\n if (argument = classLists[index++]) {\n if (resolvedValue = toValue(argument)) {\n string && (string += ' ');\n string += resolvedValue;\n }\n }\n }\n return string;\n};\nconst toValue = mix => {\n // Fast path for strings\n if (typeof mix === 'string') {\n return mix;\n }\n let resolvedValue;\n let string = '';\n for (let k = 0; k < mix.length; k++) {\n if (mix[k]) {\n if (resolvedValue = toValue(mix[k])) {\n string && (string += ' ');\n string += resolvedValue;\n }\n }\n }\n return string;\n};\nconst createTailwindMerge = (createConfigFirst, ...createConfigRest) => {\n let configUtils;\n let cacheGet;\n let cacheSet;\n let functionToCall;\n const initTailwindMerge = classList => {\n const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());\n configUtils = createConfigUtils(config);\n cacheGet = configUtils.cache.get;\n cacheSet = configUtils.cache.set;\n functionToCall = tailwindMerge;\n return tailwindMerge(classList);\n };\n const tailwindMerge = classList => {\n const cachedResult = cacheGet(classList);\n if (cachedResult) {\n return cachedResult;\n }\n const result = mergeClassList(classList, configUtils);\n cacheSet(classList, result);\n return result;\n };\n functionToCall = initTailwindMerge;\n return (...args) => functionToCall(twJoin(...args));\n};\nconst fallbackThemeArr = [];\nconst fromTheme = key => {\n const themeGetter = theme => theme[key] || fallbackThemeArr;\n themeGetter.isThemeGetter = true;\n return themeGetter;\n};\nconst arbitraryValueRegex = /^\\[(?:(\\w[\\w-]*):)?(.+)\\]$/i;\nconst arbitraryVariableRegex = /^\\((?:(\\w[\\w-]*):)?(.+)\\)$/i;\nconst fractionRegex = /^\\d+\\/\\d+$/;\nconst tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/;\nconst lengthUnitRegex = /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/;\nconst colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\\(.+\\)$/;\n// Shadow always begins with x and y offset separated by underscore optionally prepended by inset\nconst shadowRegex = /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/;\nconst imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/;\nconst isFraction = value => fractionRegex.test(value);\nconst isNumber = value => !!value && !Number.isNaN(Number(value));\nconst isInteger = value => !!value && Number.isInteger(Number(value));\nconst isPercent = value => value.endsWith('%') && isNumber(value.slice(0, -1));\nconst isTshirtSize = value => tshirtUnitRegex.test(value);\nconst isAny = () => true;\nconst isLengthOnly = value =>\n// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.\n// For example, `hsl(0 0% 0%)` would be classified as a length without this check.\n// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.\nlengthUnitRegex.test(value) && !colorFunctionRegex.test(value);\nconst isNever = () => false;\nconst isShadow = value => shadowRegex.test(value);\nconst isImage = value => imageRegex.test(value);\nconst isAnyNonArbitrary = value => !isArbitraryValue(value) && !isArbitraryVariable(value);\nconst isArbitrarySize = value => getIsArbitraryValue(value, isLabelSize, isNever);\nconst isArbitraryValue = value => arbitraryValueRegex.test(value);\nconst isArbitraryLength = value => getIsArbitraryValue(value, isLabelLength, isLengthOnly);\nconst isArbitraryNumber = value => getIsArbitraryValue(value, isLabelNumber, isNumber);\nconst isArbitraryPosition = value => getIsArbitraryValue(value, isLabelPosition, isNever);\nconst isArbitraryImage = value => getIsArbitraryValue(value, isLabelImage, isImage);\nconst isArbitraryShadow = value => getIsArbitraryValue(value, isLabelShadow, isShadow);\nconst isArbitraryVariable = value => arbitraryVariableRegex.test(value);\nconst isArbitraryVariableLength = value => getIsArbitraryVariable(value, isLabelLength);\nconst isArbitraryVariableFamilyName = value => getIsArbitraryVariable(value, isLabelFamilyName);\nconst isArbitraryVariablePosition = value => getIsArbitraryVariable(value, isLabelPosition);\nconst isArbitraryVariableSize = value => getIsArbitraryVariable(value, isLabelSize);\nconst isArbitraryVariableImage = value => getIsArbitraryVariable(value, isLabelImage);\nconst isArbitraryVariableShadow = value => getIsArbitraryVariable(value, isLabelShadow, true);\n// Helpers\nconst getIsArbitraryValue = (value, testLabel, testValue) => {\n const result = arbitraryValueRegex.exec(value);\n if (result) {\n if (result[1]) {\n return testLabel(result[1]);\n }\n return testValue(result[2]);\n }\n return false;\n};\nconst getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {\n const result = arbitraryVariableRegex.exec(value);\n if (result) {\n if (result[1]) {\n return testLabel(result[1]);\n }\n return shouldMatchNoLabel;\n }\n return false;\n};\n// Labels\nconst isLabelPosition = label => label === 'position' || label === 'percentage';\nconst isLabelImage = label => label === 'image' || label === 'url';\nconst isLabelSize = label => label === 'length' || label === 'size' || label === 'bg-size';\nconst isLabelLength = label => label === 'length';\nconst isLabelNumber = label => label === 'number';\nconst isLabelFamilyName = label => label === 'family-name';\nconst isLabelShadow = label => label === 'shadow';\nconst validators = /*#__PURE__*/Object.defineProperty({\n __proto__: null,\n isAny,\n isAnyNonArbitrary,\n isArbitraryImage,\n isArbitraryLength,\n isArbitraryNumber,\n isArbitraryPosition,\n isArbitraryShadow,\n isArbitrarySize,\n isArbitraryValue,\n isArbitraryVariable,\n isArbitraryVariableFamilyName,\n isArbitraryVariableImage,\n isArbitraryVariableLength,\n isArbitraryVariablePosition,\n isArbitraryVariableShadow,\n isArbitraryVariableSize,\n isFraction,\n isInteger,\n isNumber,\n isPercent,\n isTshirtSize\n}, Symbol.toStringTag, {\n value: 'Module'\n});\nconst getDefaultConfig = () => {\n /**\n * Theme getters for theme variable namespaces\n * @see https://tailwindcss.com/docs/theme#theme-variable-namespaces\n */\n /***/\n const themeColor = fromTheme('color');\n const themeFont = fromTheme('font');\n const themeText = fromTheme('text');\n const themeFontWeight = fromTheme('font-weight');\n const themeTracking = fromTheme('tracking');\n const themeLeading = fromTheme('leading');\n const themeBreakpoint = fromTheme('breakpoint');\n const themeContainer = fromTheme('container');\n const themeSpacing = fromTheme('spacing');\n const themeRadius = fromTheme('radius');\n const themeShadow = fromTheme('shadow');\n const themeInsetShadow = fromTheme('inset-shadow');\n const themeTextShadow = fromTheme('text-shadow');\n const themeDropShadow = fromTheme('drop-shadow');\n const themeBlur = fromTheme('blur');\n const themePerspective = fromTheme('perspective');\n const themeAspect = fromTheme('aspect');\n const themeEase = fromTheme('ease');\n const themeAnimate = fromTheme('animate');\n /**\n * Helpers to avoid repeating the same scales\n *\n * We use functions that create a new array every time they're called instead of static arrays.\n * This ensures that users who modify any scale by mutating the array (e.g. with `array.push(element)`) don't accidentally mutate arrays in other parts of the config.\n */\n /***/\n const scaleBreak = () => ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'];\n const scalePosition = () => ['center', 'top', 'bottom', 'left', 'right', 'top-left',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'left-top', 'top-right',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'right-top', 'bottom-right',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'right-bottom', 'bottom-left',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'left-bottom'];\n const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];\n const scaleOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'];\n const scaleOverscroll = () => ['auto', 'contain', 'none'];\n const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];\n const scaleInset = () => [isFraction, 'full', 'auto', ...scaleUnambiguousSpacing()];\n const scaleGridTemplateColsRows = () => [isInteger, 'none', 'subgrid', isArbitraryVariable, isArbitraryValue];\n const scaleGridColRowStartAndEnd = () => ['auto', {\n span: ['full', isInteger, isArbitraryVariable, isArbitraryValue]\n }, isInteger, isArbitraryVariable, isArbitraryValue];\n const scaleGridColRowStartOrEnd = () => [isInteger, 'auto', isArbitraryVariable, isArbitraryValue];\n const scaleGridAutoColsRows = () => ['auto', 'min', 'max', 'fr', isArbitraryVariable, isArbitraryValue];\n const scaleAlignPrimaryAxis = () => ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch', 'baseline', 'center-safe', 'end-safe'];\n const scaleAlignSecondaryAxis = () => ['start', 'end', 'center', 'stretch', 'center-safe', 'end-safe'];\n const scaleMargin = () => ['auto', ...scaleUnambiguousSpacing()];\n const scaleSizing = () => [isFraction, 'auto', 'full', 'dvw', 'dvh', 'lvw', 'lvh', 'svw', 'svh', 'min', 'max', 'fit', ...scaleUnambiguousSpacing()];\n const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];\n const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {\n position: [isArbitraryVariable, isArbitraryValue]\n }];\n const scaleBgRepeat = () => ['no-repeat', {\n repeat: ['', 'x', 'y', 'space', 'round']\n }];\n const scaleBgSize = () => ['auto', 'cover', 'contain', isArbitraryVariableSize, isArbitrarySize, {\n size: [isArbitraryVariable, isArbitraryValue]\n }];\n const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];\n const scaleRadius = () => [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', 'full', themeRadius, isArbitraryVariable, isArbitraryValue];\n const scaleBorderWidth = () => ['', isNumber, isArbitraryVariableLength, isArbitraryLength];\n const scaleLineStyle = () => ['solid', 'dashed', 'dotted', 'double'];\n const scaleBlendMode = () => ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity'];\n const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];\n const scaleBlur = () => [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', themeBlur, isArbitraryVariable, isArbitraryValue];\n const scaleRotate = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleScale = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleTranslate = () => [isFraction, 'full', ...scaleUnambiguousSpacing()];\n return {\n cacheSize: 500,\n theme: {\n animate: ['spin', 'ping', 'pulse', 'bounce'],\n aspect: ['video'],\n blur: [isTshirtSize],\n breakpoint: [isTshirtSize],\n color: [isAny],\n container: [isTshirtSize],\n 'drop-shadow': [isTshirtSize],\n ease: ['in', 'out', 'in-out'],\n font: [isAnyNonArbitrary],\n 'font-weight': ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black'],\n 'inset-shadow': [isTshirtSize],\n leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose'],\n perspective: ['dramatic', 'near', 'normal', 'midrange', 'distant', 'none'],\n radius: [isTshirtSize],\n shadow: [isTshirtSize],\n spacing: ['px', isNumber],\n text: [isTshirtSize],\n 'text-shadow': [isTshirtSize],\n tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest']\n },\n classGroups: {\n // --------------\n // --- Layout ---\n // --------------\n /**\n * Aspect Ratio\n * @see https://tailwindcss.com/docs/aspect-ratio\n */\n aspect: [{\n aspect: ['auto', 'square', isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]\n }],\n /**\n * Container\n * @see https://tailwindcss.com/docs/container\n * @deprecated since Tailwind CSS v4.0.0\n */\n container: ['container'],\n /**\n * Columns\n * @see https://tailwindcss.com/docs/columns\n */\n columns: [{\n columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]\n }],\n /**\n * Break After\n * @see https://tailwindcss.com/docs/break-after\n */\n 'break-after': [{\n 'break-after': scaleBreak()\n }],\n /**\n * Break Before\n * @see https://tailwindcss.com/docs/break-before\n */\n 'break-before': [{\n 'break-before': scaleBreak()\n }],\n /**\n * Break Inside\n * @see https://tailwindcss.com/docs/break-inside\n */\n 'break-inside': [{\n 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column']\n }],\n /**\n * Box Decoration Break\n * @see https://tailwindcss.com/docs/box-decoration-break\n */\n 'box-decoration': [{\n 'box-decoration': ['slice', 'clone']\n }],\n /**\n * Box Sizing\n * @see https://tailwindcss.com/docs/box-sizing\n */\n box: [{\n box: ['border', 'content']\n }],\n /**\n * Display\n * @see https://tailwindcss.com/docs/display\n */\n display: ['block', 'inline-block', 'inline', 'flex', 'inline-flex', 'table', 'inline-table', 'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row-group', 'table-row', 'flow-root', 'grid', 'inline-grid', 'contents', 'list-item', 'hidden'],\n /**\n * Screen Reader Only\n * @see https://tailwindcss.com/docs/display#screen-reader-only\n */\n sr: ['sr-only', 'not-sr-only'],\n /**\n * Floats\n * @see https://tailwindcss.com/docs/float\n */\n float: [{\n float: ['right', 'left', 'none', 'start', 'end']\n }],\n /**\n * Clear\n * @see https://tailwindcss.com/docs/clear\n */\n clear: [{\n clear: ['left', 'right', 'both', 'none', 'start', 'end']\n }],\n /**\n * Isolation\n * @see https://tailwindcss.com/docs/isolation\n */\n isolation: ['isolate', 'isolation-auto'],\n /**\n * Object Fit\n * @see https://tailwindcss.com/docs/object-fit\n */\n 'object-fit': [{\n object: ['contain', 'cover', 'fill', 'none', 'scale-down']\n }],\n /**\n * Object Position\n * @see https://tailwindcss.com/docs/object-position\n */\n 'object-position': [{\n object: scalePositionWithArbitrary()\n }],\n /**\n * Overflow\n * @see https://tailwindcss.com/docs/overflow\n */\n overflow: [{\n overflow: scaleOverflow()\n }],\n /**\n * Overflow X\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-x': [{\n 'overflow-x': scaleOverflow()\n }],\n /**\n * Overflow Y\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-y': [{\n 'overflow-y': scaleOverflow()\n }],\n /**\n * Overscroll Behavior\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n overscroll: [{\n overscroll: scaleOverscroll()\n }],\n /**\n * Overscroll Behavior X\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-x': [{\n 'overscroll-x': scaleOverscroll()\n }],\n /**\n * Overscroll Behavior Y\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-y': [{\n 'overscroll-y': scaleOverscroll()\n }],\n /**\n * Position\n * @see https://tailwindcss.com/docs/position\n */\n position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],\n /**\n * Top / Right / Bottom / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n inset: [{\n inset: scaleInset()\n }],\n /**\n * Right / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-x': [{\n 'inset-x': scaleInset()\n }],\n /**\n * Top / Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-y': [{\n 'inset-y': scaleInset()\n }],\n /**\n * Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n start: [{\n start: scaleInset()\n }],\n /**\n * End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n end: [{\n end: scaleInset()\n }],\n /**\n * Top\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n top: [{\n top: scaleInset()\n }],\n /**\n * Right\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n right: [{\n right: scaleInset()\n }],\n /**\n * Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n bottom: [{\n bottom: scaleInset()\n }],\n /**\n * Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n left: [{\n left: scaleInset()\n }],\n /**\n * Visibility\n * @see https://tailwindcss.com/docs/visibility\n */\n visibility: ['visible', 'invisible', 'collapse'],\n /**\n * Z-Index\n * @see https://tailwindcss.com/docs/z-index\n */\n z: [{\n z: [isInteger, 'auto', isArbitraryVariable, isArbitraryValue]\n }],\n // ------------------------\n // --- Flexbox and Grid ---\n // ------------------------\n /**\n * Flex Basis\n * @see https://tailwindcss.com/docs/flex-basis\n */\n basis: [{\n basis: [isFraction, 'full', 'auto', themeContainer, ...scaleUnambiguousSpacing()]\n }],\n /**\n * Flex Direction\n * @see https://tailwindcss.com/docs/flex-direction\n */\n 'flex-direction': [{\n flex: ['row', 'row-reverse', 'col', 'col-reverse']\n }],\n /**\n * Flex Wrap\n * @see https://tailwindcss.com/docs/flex-wrap\n */\n 'flex-wrap': [{\n flex: ['nowrap', 'wrap', 'wrap-reverse']\n }],\n /**\n * Flex\n * @see https://tailwindcss.com/docs/flex\n */\n flex: [{\n flex: [isNumber, isFraction, 'auto', 'initial', 'none', isArbitraryValue]\n }],\n /**\n * Flex Grow\n * @see https://tailwindcss.com/docs/flex-grow\n */\n grow: [{\n grow: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Flex Shrink\n * @see https://tailwindcss.com/docs/flex-shrink\n */\n shrink: [{\n shrink: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Order\n * @see https://tailwindcss.com/docs/order\n */\n order: [{\n order: [isInteger, 'first', 'last', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Grid Template Columns\n * @see https://tailwindcss.com/docs/grid-template-columns\n */\n 'grid-cols': [{\n 'grid-cols': scaleGridTemplateColsRows()\n }],\n /**\n * Grid Column Start / End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start-end': [{\n col: scaleGridColRowStartAndEnd()\n }],\n /**\n * Grid Column Start\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start': [{\n 'col-start': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Column End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-end': [{\n 'col-end': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Template Rows\n * @see https://tailwindcss.com/docs/grid-template-rows\n */\n 'grid-rows': [{\n 'grid-rows': scaleGridTemplateColsRows()\n }],\n /**\n * Grid Row Start / End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start-end': [{\n row: scaleGridColRowStartAndEnd()\n }],\n /**\n * Grid Row Start\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start': [{\n 'row-start': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Row End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-end': [{\n 'row-end': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Auto Flow\n * @see https://tailwindcss.com/docs/grid-auto-flow\n */\n 'grid-flow': [{\n 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense']\n }],\n /**\n * Grid Auto Columns\n * @see https://tailwindcss.com/docs/grid-auto-columns\n */\n 'auto-cols': [{\n 'auto-cols': scaleGridAutoColsRows()\n }],\n /**\n * Grid Auto Rows\n * @see https://tailwindcss.com/docs/grid-auto-rows\n */\n 'auto-rows': [{\n 'auto-rows': scaleGridAutoColsRows()\n }],\n /**\n * Gap\n * @see https://tailwindcss.com/docs/gap\n */\n gap: [{\n gap: scaleUnambiguousSpacing()\n }],\n /**\n * Gap X\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-x': [{\n 'gap-x': scaleUnambiguousSpacing()\n }],\n /**\n * Gap Y\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-y': [{\n 'gap-y': scaleUnambiguousSpacing()\n }],\n /**\n * Justify Content\n * @see https://tailwindcss.com/docs/justify-content\n */\n 'justify-content': [{\n justify: [...scaleAlignPrimaryAxis(), 'normal']\n }],\n /**\n * Justify Items\n * @see https://tailwindcss.com/docs/justify-items\n */\n 'justify-items': [{\n 'justify-items': [...scaleAlignSecondaryAxis(), 'normal']\n }],\n /**\n * Justify Self\n * @see https://tailwindcss.com/docs/justify-self\n */\n 'justify-self': [{\n 'justify-self': ['auto', ...scaleAlignSecondaryAxis()]\n }],\n /**\n * Align Content\n * @see https://tailwindcss.com/docs/align-content\n */\n 'align-content': [{\n content: ['normal', ...scaleAlignPrimaryAxis()]\n }],\n /**\n * Align Items\n * @see https://tailwindcss.com/docs/align-items\n */\n 'align-items': [{\n items: [...scaleAlignSecondaryAxis(), {\n baseline: ['', 'last']\n }]\n }],\n /**\n * Align Self\n * @see https://tailwindcss.com/docs/align-self\n */\n 'align-self': [{\n self: ['auto', ...scaleAlignSecondaryAxis(), {\n baseline: ['', 'last']\n }]\n }],\n /**\n * Place Content\n * @see https://tailwindcss.com/docs/place-content\n */\n 'place-content': [{\n 'place-content': scaleAlignPrimaryAxis()\n }],\n /**\n * Place Items\n * @see https://tailwindcss.com/docs/place-items\n */\n 'place-items': [{\n 'place-items': [...scaleAlignSecondaryAxis(), 'baseline']\n }],\n /**\n * Place Self\n * @see https://tailwindcss.com/docs/place-self\n */\n 'place-self': [{\n 'place-self': ['auto', ...scaleAlignSecondaryAxis()]\n }],\n // Spacing\n /**\n * Padding\n * @see https://tailwindcss.com/docs/padding\n */\n p: [{\n p: scaleUnambiguousSpacing()\n }],\n /**\n * Padding X\n * @see https://tailwindcss.com/docs/padding\n */\n px: [{\n px: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Y\n * @see https://tailwindcss.com/docs/padding\n */\n py: [{\n py: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Start\n * @see https://tailwindcss.com/docs/padding\n */\n ps: [{\n ps: scaleUnambiguousSpacing()\n }],\n /**\n * Padding End\n * @see https://tailwindcss.com/docs/padding\n */\n pe: [{\n pe: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Top\n * @see https://tailwindcss.com/docs/padding\n */\n pt: [{\n pt: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Right\n * @see https://tailwindcss.com/docs/padding\n */\n pr: [{\n pr: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Bottom\n * @see https://tailwindcss.com/docs/padding\n */\n pb: [{\n pb: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Left\n * @see https://tailwindcss.com/docs/padding\n */\n pl: [{\n pl: scaleUnambiguousSpacing()\n }],\n /**\n * Margin\n * @see https://tailwindcss.com/docs/margin\n */\n m: [{\n m: scaleMargin()\n }],\n /**\n * Margin X\n * @see https://tailwindcss.com/docs/margin\n */\n mx: [{\n mx: scaleMargin()\n }],\n /**\n * Margin Y\n * @see https://tailwindcss.com/docs/margin\n */\n my: [{\n my: scaleMargin()\n }],\n /**\n * Margin Start\n * @see https://tailwindcss.com/docs/margin\n */\n ms: [{\n ms: scaleMargin()\n }],\n /**\n * Margin End\n * @see https://tailwindcss.com/docs/margin\n */\n me: [{\n me: scaleMargin()\n }],\n /**\n * Margin Top\n * @see https://tailwindcss.com/docs/margin\n */\n mt: [{\n mt: scaleMargin()\n }],\n /**\n * Margin Right\n * @see https://tailwindcss.com/docs/margin\n */\n mr: [{\n mr: scaleMargin()\n }],\n /**\n * Margin Bottom\n * @see https://tailwindcss.com/docs/margin\n */\n mb: [{\n mb: scaleMargin()\n }],\n /**\n * Margin Left\n * @see https://tailwindcss.com/docs/margin\n */\n ml: [{\n ml: scaleMargin()\n }],\n /**\n * Space Between X\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-x': [{\n 'space-x': scaleUnambiguousSpacing()\n }],\n /**\n * Space Between X Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-x-reverse': ['space-x-reverse'],\n /**\n * Space Between Y\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-y': [{\n 'space-y': scaleUnambiguousSpacing()\n }],\n /**\n * Space Between Y Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-y-reverse': ['space-y-reverse'],\n // --------------\n // --- Sizing ---\n // --------------\n /**\n * Size\n * @see https://tailwindcss.com/docs/width#setting-both-width-and-height\n */\n size: [{\n size: scaleSizing()\n }],\n /**\n * Width\n * @see https://tailwindcss.com/docs/width\n */\n w: [{\n w: [themeContainer, 'screen', ...scaleSizing()]\n }],\n /**\n * Min-Width\n * @see https://tailwindcss.com/docs/min-width\n */\n 'min-w': [{\n 'min-w': [themeContainer, 'screen', /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n 'none', ...scaleSizing()]\n }],\n /**\n * Max-Width\n * @see https://tailwindcss.com/docs/max-width\n */\n 'max-w': [{\n 'max-w': [themeContainer, 'screen', 'none', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n 'prose', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n {\n screen: [themeBreakpoint]\n }, ...scaleSizing()]\n }],\n /**\n * Height\n * @see https://tailwindcss.com/docs/height\n */\n h: [{\n h: ['screen', 'lh', ...scaleSizing()]\n }],\n /**\n * Min-Height\n * @see https://tailwindcss.com/docs/min-height\n */\n 'min-h': [{\n 'min-h': ['screen', 'lh', 'none', ...scaleSizing()]\n }],\n /**\n * Max-Height\n * @see https://tailwindcss.com/docs/max-height\n */\n 'max-h': [{\n 'max-h': ['screen', 'lh', ...scaleSizing()]\n }],\n // ------------------\n // --- Typography ---\n // ------------------\n /**\n * Font Size\n * @see https://tailwindcss.com/docs/font-size\n */\n 'font-size': [{\n text: ['base', themeText, isArbitraryVariableLength, isArbitraryLength]\n }],\n /**\n * Font Smoothing\n * @see https://tailwindcss.com/docs/font-smoothing\n */\n 'font-smoothing': ['antialiased', 'subpixel-antialiased'],\n /**\n * Font Style\n * @see https://tailwindcss.com/docs/font-style\n */\n 'font-style': ['italic', 'not-italic'],\n /**\n * Font Weight\n * @see https://tailwindcss.com/docs/font-weight\n */\n 'font-weight': [{\n font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber]\n }],\n /**\n * Font Stretch\n * @see https://tailwindcss.com/docs/font-stretch\n */\n 'font-stretch': [{\n 'font-stretch': ['ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded', isPercent, isArbitraryValue]\n }],\n /**\n * Font Family\n * @see https://tailwindcss.com/docs/font-family\n */\n 'font-family': [{\n font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont]\n }],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-normal': ['normal-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-ordinal': ['ordinal'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-slashed-zero': ['slashed-zero'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-figure': ['lining-nums', 'oldstyle-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-spacing': ['proportional-nums', 'tabular-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],\n /**\n * Letter Spacing\n * @see https://tailwindcss.com/docs/letter-spacing\n */\n tracking: [{\n tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Line Clamp\n * @see https://tailwindcss.com/docs/line-clamp\n */\n 'line-clamp': [{\n 'line-clamp': [isNumber, 'none', isArbitraryVariable, isArbitraryNumber]\n }],\n /**\n * Line Height\n * @see https://tailwindcss.com/docs/line-height\n */\n leading: [{\n leading: [/** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n themeLeading, ...scaleUnambiguousSpacing()]\n }],\n /**\n * List Style Image\n * @see https://tailwindcss.com/docs/list-style-image\n */\n 'list-image': [{\n 'list-image': ['none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * List Style Position\n * @see https://tailwindcss.com/docs/list-style-position\n */\n 'list-style-position': [{\n list: ['inside', 'outside']\n }],\n /**\n * List Style Type\n * @see https://tailwindcss.com/docs/list-style-type\n */\n 'list-style-type': [{\n list: ['disc', 'decimal', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Text Alignment\n * @see https://tailwindcss.com/docs/text-align\n */\n 'text-alignment': [{\n text: ['left', 'center', 'right', 'justify', 'start', 'end']\n }],\n /**\n * Placeholder Color\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://v3.tailwindcss.com/docs/placeholder-color\n */\n 'placeholder-color': [{\n placeholder: scaleColor()\n }],\n /**\n * Text Color\n * @see https://tailwindcss.com/docs/text-color\n */\n 'text-color': [{\n text: scaleColor()\n }],\n /**\n * Text Decoration\n * @see https://tailwindcss.com/docs/text-decoration\n */\n 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],\n /**\n * Text Decoration Style\n * @see https://tailwindcss.com/docs/text-decoration-style\n */\n 'text-decoration-style': [{\n decoration: [...scaleLineStyle(), 'wavy']\n }],\n /**\n * Text Decoration Thickness\n * @see https://tailwindcss.com/docs/text-decoration-thickness\n */\n 'text-decoration-thickness': [{\n decoration: [isNumber, 'from-font', 'auto', isArbitraryVariable, isArbitraryLength]\n }],\n /**\n * Text Decoration Color\n * @see https://tailwindcss.com/docs/text-decoration-color\n */\n 'text-decoration-color': [{\n decoration: scaleColor()\n }],\n /**\n * Text Underline Offset\n * @see https://tailwindcss.com/docs/text-underline-offset\n */\n 'underline-offset': [{\n 'underline-offset': [isNumber, 'auto', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Text Transform\n * @see https://tailwindcss.com/docs/text-transform\n */\n 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],\n /**\n * Text Overflow\n * @see https://tailwindcss.com/docs/text-overflow\n */\n 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],\n /**\n * Text Wrap\n * @see https://tailwindcss.com/docs/text-wrap\n */\n 'text-wrap': [{\n text: ['wrap', 'nowrap', 'balance', 'pretty']\n }],\n /**\n * Text Indent\n * @see https://tailwindcss.com/docs/text-indent\n */\n indent: [{\n indent: scaleUnambiguousSpacing()\n }],\n /**\n * Vertical Alignment\n * @see https://tailwindcss.com/docs/vertical-align\n */\n 'vertical-align': [{\n align: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Whitespace\n * @see https://tailwindcss.com/docs/whitespace\n */\n whitespace: [{\n whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces']\n }],\n /**\n * Word Break\n * @see https://tailwindcss.com/docs/word-break\n */\n break: [{\n break: ['normal', 'words', 'all', 'keep']\n }],\n /**\n * Overflow Wrap\n * @see https://tailwindcss.com/docs/overflow-wrap\n */\n wrap: [{\n wrap: ['break-word', 'anywhere', 'normal']\n }],\n /**\n * Hyphens\n * @see https://tailwindcss.com/docs/hyphens\n */\n hyphens: [{\n hyphens: ['none', 'manual', 'auto']\n }],\n /**\n * Content\n * @see https://tailwindcss.com/docs/content\n */\n content: [{\n content: ['none', isArbitraryVariable, isArbitraryValue]\n }],\n // -------------------\n // --- Backgrounds ---\n // -------------------\n /**\n * Background Attachment\n * @see https://tailwindcss.com/docs/background-attachment\n */\n 'bg-attachment': [{\n bg: ['fixed', 'local', 'scroll']\n }],\n /**\n * Background Clip\n * @see https://tailwindcss.com/docs/background-clip\n */\n 'bg-clip': [{\n 'bg-clip': ['border', 'padding', 'content', 'text']\n }],\n /**\n * Background Origin\n * @see https://tailwindcss.com/docs/background-origin\n */\n 'bg-origin': [{\n 'bg-origin': ['border', 'padding', 'content']\n }],\n /**\n * Background Position\n * @see https://tailwindcss.com/docs/background-position\n */\n 'bg-position': [{\n bg: scaleBgPosition()\n }],\n /**\n * Background Repeat\n * @see https://tailwindcss.com/docs/background-repeat\n */\n 'bg-repeat': [{\n bg: scaleBgRepeat()\n }],\n /**\n * Background Size\n * @see https://tailwindcss.com/docs/background-size\n */\n 'bg-size': [{\n bg: scaleBgSize()\n }],\n /**\n * Background Image\n * @see https://tailwindcss.com/docs/background-image\n */\n 'bg-image': [{\n bg: ['none', {\n linear: [{\n to: ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl']\n }, isInteger, isArbitraryVariable, isArbitraryValue],\n radial: ['', isArbitraryVariable, isArbitraryValue],\n conic: [isInteger, isArbitraryVariable, isArbitraryValue]\n }, isArbitraryVariableImage, isArbitraryImage]\n }],\n /**\n * Background Color\n * @see https://tailwindcss.com/docs/background-color\n */\n 'bg-color': [{\n bg: scaleColor()\n }],\n /**\n * Gradient Color Stops From Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from-pos': [{\n from: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops Via Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via-pos': [{\n via: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops To Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to-pos': [{\n to: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops From\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from': [{\n from: scaleColor()\n }],\n /**\n * Gradient Color Stops Via\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via': [{\n via: scaleColor()\n }],\n /**\n * Gradient Color Stops To\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to': [{\n to: scaleColor()\n }],\n // ---------------\n // --- Borders ---\n // ---------------\n /**\n * Border Radius\n * @see https://tailwindcss.com/docs/border-radius\n */\n rounded: [{\n rounded: scaleRadius()\n }],\n /**\n * Border Radius Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-s': [{\n 'rounded-s': scaleRadius()\n }],\n /**\n * Border Radius End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-e': [{\n 'rounded-e': scaleRadius()\n }],\n /**\n * Border Radius Top\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-t': [{\n 'rounded-t': scaleRadius()\n }],\n /**\n * Border Radius Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-r': [{\n 'rounded-r': scaleRadius()\n }],\n /**\n * Border Radius Bottom\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-b': [{\n 'rounded-b': scaleRadius()\n }],\n /**\n * Border Radius Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-l': [{\n 'rounded-l': scaleRadius()\n }],\n /**\n * Border Radius Start Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ss': [{\n 'rounded-ss': scaleRadius()\n }],\n /**\n * Border Radius Start End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-se': [{\n 'rounded-se': scaleRadius()\n }],\n /**\n * Border Radius End End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ee': [{\n 'rounded-ee': scaleRadius()\n }],\n /**\n * Border Radius End Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-es': [{\n 'rounded-es': scaleRadius()\n }],\n /**\n * Border Radius Top Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tl': [{\n 'rounded-tl': scaleRadius()\n }],\n /**\n * Border Radius Top Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tr': [{\n 'rounded-tr': scaleRadius()\n }],\n /**\n * Border Radius Bottom Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-br': [{\n 'rounded-br': scaleRadius()\n }],\n /**\n * Border Radius Bottom Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-bl': [{\n 'rounded-bl': scaleRadius()\n }],\n /**\n * Border Width\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w': [{\n border: scaleBorderWidth()\n }],\n /**\n * Border Width X\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-x': [{\n 'border-x': scaleBorderWidth()\n }],\n /**\n * Border Width Y\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-y': [{\n 'border-y': scaleBorderWidth()\n }],\n /**\n * Border Width Start\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-s': [{\n 'border-s': scaleBorderWidth()\n }],\n /**\n * Border Width End\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-e': [{\n 'border-e': scaleBorderWidth()\n }],\n /**\n * Border Width Top\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-t': [{\n 'border-t': scaleBorderWidth()\n }],\n /**\n * Border Width Right\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-r': [{\n 'border-r': scaleBorderWidth()\n }],\n /**\n * Border Width Bottom\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-b': [{\n 'border-b': scaleBorderWidth()\n }],\n /**\n * Border Width Left\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-l': [{\n 'border-l': scaleBorderWidth()\n }],\n /**\n * Divide Width X\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-x': [{\n 'divide-x': scaleBorderWidth()\n }],\n /**\n * Divide Width X Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-x-reverse': ['divide-x-reverse'],\n /**\n * Divide Width Y\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-y': [{\n 'divide-y': scaleBorderWidth()\n }],\n /**\n * Divide Width Y Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-y-reverse': ['divide-y-reverse'],\n /**\n * Border Style\n * @see https://tailwindcss.com/docs/border-style\n */\n 'border-style': [{\n border: [...scaleLineStyle(), 'hidden', 'none']\n }],\n /**\n * Divide Style\n * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style\n */\n 'divide-style': [{\n divide: [...scaleLineStyle(), 'hidden', 'none']\n }],\n /**\n * Border Color\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color': [{\n border: scaleColor()\n }],\n /**\n * Border Color X\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-x': [{\n 'border-x': scaleColor()\n }],\n /**\n * Border Color Y\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-y': [{\n 'border-y': scaleColor()\n }],\n /**\n * Border Color S\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-s': [{\n 'border-s': scaleColor()\n }],\n /**\n * Border Color E\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-e': [{\n 'border-e': scaleColor()\n }],\n /**\n * Border Color Top\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-t': [{\n 'border-t': scaleColor()\n }],\n /**\n * Border Color Right\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-r': [{\n 'border-r': scaleColor()\n }],\n /**\n * Border Color Bottom\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-b': [{\n 'border-b': scaleColor()\n }],\n /**\n * Border Color Left\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-l': [{\n 'border-l': scaleColor()\n }],\n /**\n * Divide Color\n * @see https://tailwindcss.com/docs/divide-color\n */\n 'divide-color': [{\n divide: scaleColor()\n }],\n /**\n * Outline Style\n * @see https://tailwindcss.com/docs/outline-style\n */\n 'outline-style': [{\n outline: [...scaleLineStyle(), 'none', 'hidden']\n }],\n /**\n * Outline Offset\n * @see https://tailwindcss.com/docs/outline-offset\n */\n 'outline-offset': [{\n 'outline-offset': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Outline Width\n * @see https://tailwindcss.com/docs/outline-width\n */\n 'outline-w': [{\n outline: ['', isNumber, isArbitraryVariableLength, isArbitraryLength]\n }],\n /**\n * Outline Color\n * @see https://tailwindcss.com/docs/outline-color\n */\n 'outline-color': [{\n outline: scaleColor()\n }],\n // ---------------\n // --- Effects ---\n // ---------------\n /**\n * Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow\n */\n shadow: [{\n shadow: [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', themeShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color\n */\n 'shadow-color': [{\n shadow: scaleColor()\n }],\n /**\n * Inset Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow\n */\n 'inset-shadow': [{\n 'inset-shadow': ['none', themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Inset Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color\n */\n 'inset-shadow-color': [{\n 'inset-shadow': scaleColor()\n }],\n /**\n * Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring\n */\n 'ring-w': [{\n ring: scaleBorderWidth()\n }],\n /**\n * Ring Width Inset\n * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-w-inset': ['ring-inset'],\n /**\n * Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color\n */\n 'ring-color': [{\n ring: scaleColor()\n }],\n /**\n * Ring Offset Width\n * @see https://v3.tailwindcss.com/docs/ring-offset-width\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-offset-w': [{\n 'ring-offset': [isNumber, isArbitraryLength]\n }],\n /**\n * Ring Offset Color\n * @see https://v3.tailwindcss.com/docs/ring-offset-color\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-offset-color': [{\n 'ring-offset': scaleColor()\n }],\n /**\n * Inset Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring\n */\n 'inset-ring-w': [{\n 'inset-ring': scaleBorderWidth()\n }],\n /**\n * Inset Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color\n */\n 'inset-ring-color': [{\n 'inset-ring': scaleColor()\n }],\n /**\n * Text Shadow\n * @see https://tailwindcss.com/docs/text-shadow\n */\n 'text-shadow': [{\n 'text-shadow': ['none', themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Text Shadow Color\n * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color\n */\n 'text-shadow-color': [{\n 'text-shadow': scaleColor()\n }],\n /**\n * Opacity\n * @see https://tailwindcss.com/docs/opacity\n */\n opacity: [{\n opacity: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Mix Blend Mode\n * @see https://tailwindcss.com/docs/mix-blend-mode\n */\n 'mix-blend': [{\n 'mix-blend': [...scaleBlendMode(), 'plus-darker', 'plus-lighter']\n }],\n /**\n * Background Blend Mode\n * @see https://tailwindcss.com/docs/background-blend-mode\n */\n 'bg-blend': [{\n 'bg-blend': scaleBlendMode()\n }],\n /**\n * Mask Clip\n * @see https://tailwindcss.com/docs/mask-clip\n */\n 'mask-clip': [{\n 'mask-clip': ['border', 'padding', 'content', 'fill', 'stroke', 'view']\n }, 'mask-no-clip'],\n /**\n * Mask Composite\n * @see https://tailwindcss.com/docs/mask-composite\n */\n 'mask-composite': [{\n mask: ['add', 'subtract', 'intersect', 'exclude']\n }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n 'mask-image-linear-pos': [{\n 'mask-linear': [isNumber]\n }],\n 'mask-image-linear-from-pos': [{\n 'mask-linear-from': scaleMaskImagePosition()\n }],\n 'mask-image-linear-to-pos': [{\n 'mask-linear-to': scaleMaskImagePosition()\n }],\n 'mask-image-linear-from-color': [{\n 'mask-linear-from': scaleColor()\n }],\n 'mask-image-linear-to-color': [{\n 'mask-linear-to': scaleColor()\n }],\n 'mask-image-t-from-pos': [{\n 'mask-t-from': scaleMaskImagePosition()\n }],\n 'mask-image-t-to-pos': [{\n 'mask-t-to': scaleMaskImagePosition()\n }],\n 'mask-image-t-from-color': [{\n 'mask-t-from': scaleColor()\n }],\n 'mask-image-t-to-color': [{\n 'mask-t-to': scaleColor()\n }],\n 'mask-image-r-from-pos': [{\n 'mask-r-from': scaleMaskImagePosition()\n }],\n 'mask-image-r-to-pos': [{\n 'mask-r-to': scaleMaskImagePosition()\n }],\n 'mask-image-r-from-color': [{\n 'mask-r-from': scaleColor()\n }],\n 'mask-image-r-to-color': [{\n 'mask-r-to': scaleColor()\n }],\n 'mask-image-b-from-pos': [{\n 'mask-b-from': scaleMaskImagePosition()\n }],\n 'mask-image-b-to-pos': [{\n 'mask-b-to': scaleMaskImagePosition()\n }],\n 'mask-image-b-from-color': [{\n 'mask-b-from': scaleColor()\n }],\n 'mask-image-b-to-color': [{\n 'mask-b-to': scaleColor()\n }],\n 'mask-image-l-from-pos': [{\n 'mask-l-from': scaleMaskImagePosition()\n }],\n 'mask-image-l-to-pos': [{\n 'mask-l-to': scaleMaskImagePosition()\n }],\n 'mask-image-l-from-color': [{\n 'mask-l-from': scaleColor()\n }],\n 'mask-image-l-to-color': [{\n 'mask-l-to': scaleColor()\n }],\n 'mask-image-x-from-pos': [{\n 'mask-x-from': scaleMaskImagePosition()\n }],\n 'mask-image-x-to-pos': [{\n 'mask-x-to': scaleMaskImagePosition()\n }],\n 'mask-image-x-from-color': [{\n 'mask-x-from': scaleColor()\n }],\n 'mask-image-x-to-color': [{\n 'mask-x-to': scaleColor()\n }],\n 'mask-image-y-from-pos': [{\n 'mask-y-from': scaleMaskImagePosition()\n }],\n 'mask-image-y-to-pos': [{\n 'mask-y-to': scaleMaskImagePosition()\n }],\n 'mask-image-y-from-color': [{\n 'mask-y-from': scaleColor()\n }],\n 'mask-image-y-to-color': [{\n 'mask-y-to': scaleColor()\n }],\n 'mask-image-radial': [{\n 'mask-radial': [isArbitraryVariable, isArbitraryValue]\n }],\n 'mask-image-radial-from-pos': [{\n 'mask-radial-from': scaleMaskImagePosition()\n }],\n 'mask-image-radial-to-pos': [{\n 'mask-radial-to': scaleMaskImagePosition()\n }],\n 'mask-image-radial-from-color': [{\n 'mask-radial-from': scaleColor()\n }],\n 'mask-image-radial-to-color': [{\n 'mask-radial-to': scaleColor()\n }],\n 'mask-image-radial-shape': [{\n 'mask-radial': ['circle', 'ellipse']\n }],\n 'mask-image-radial-size': [{\n 'mask-radial': [{\n closest: ['side', 'corner'],\n farthest: ['side', 'corner']\n }]\n }],\n 'mask-image-radial-pos': [{\n 'mask-radial-at': scalePosition()\n }],\n 'mask-image-conic-pos': [{\n 'mask-conic': [isNumber]\n }],\n 'mask-image-conic-from-pos': [{\n 'mask-conic-from': scaleMaskImagePosition()\n }],\n 'mask-image-conic-to-pos': [{\n 'mask-conic-to': scaleMaskImagePosition()\n }],\n 'mask-image-conic-from-color': [{\n 'mask-conic-from': scaleColor()\n }],\n 'mask-image-conic-to-color': [{\n 'mask-conic-to': scaleColor()\n }],\n /**\n * Mask Mode\n * @see https://tailwindcss.com/docs/mask-mode\n */\n 'mask-mode': [{\n mask: ['alpha', 'luminance', 'match']\n }],\n /**\n * Mask Origin\n * @see https://tailwindcss.com/docs/mask-origin\n */\n 'mask-origin': [{\n 'mask-origin': ['border', 'padding', 'content', 'fill', 'stroke', 'view']\n }],\n /**\n * Mask Position\n * @see https://tailwindcss.com/docs/mask-position\n */\n 'mask-position': [{\n mask: scaleBgPosition()\n }],\n /**\n * Mask Repeat\n * @see https://tailwindcss.com/docs/mask-repeat\n */\n 'mask-repeat': [{\n mask: scaleBgRepeat()\n }],\n /**\n * Mask Size\n * @see https://tailwindcss.com/docs/mask-size\n */\n 'mask-size': [{\n mask: scaleBgSize()\n }],\n /**\n * Mask Type\n * @see https://tailwindcss.com/docs/mask-type\n */\n 'mask-type': [{\n 'mask-type': ['alpha', 'luminance']\n }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n 'mask-image': [{\n mask: ['none', isArbitraryVariable, isArbitraryValue]\n }],\n // ---------------\n // --- Filters ---\n // ---------------\n /**\n * Filter\n * @see https://tailwindcss.com/docs/filter\n */\n filter: [{\n filter: [\n // Deprecated since Tailwind CSS v3.0.0\n '', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Blur\n * @see https://tailwindcss.com/docs/blur\n */\n blur: [{\n blur: scaleBlur()\n }],\n /**\n * Brightness\n * @see https://tailwindcss.com/docs/brightness\n */\n brightness: [{\n brightness: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Contrast\n * @see https://tailwindcss.com/docs/contrast\n */\n contrast: [{\n contrast: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Drop Shadow\n * @see https://tailwindcss.com/docs/drop-shadow\n */\n 'drop-shadow': [{\n 'drop-shadow': [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', themeDropShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Drop Shadow Color\n * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color\n */\n 'drop-shadow-color': [{\n 'drop-shadow': scaleColor()\n }],\n /**\n * Grayscale\n * @see https://tailwindcss.com/docs/grayscale\n */\n grayscale: [{\n grayscale: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Hue Rotate\n * @see https://tailwindcss.com/docs/hue-rotate\n */\n 'hue-rotate': [{\n 'hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Invert\n * @see https://tailwindcss.com/docs/invert\n */\n invert: [{\n invert: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Saturate\n * @see https://tailwindcss.com/docs/saturate\n */\n saturate: [{\n saturate: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Sepia\n * @see https://tailwindcss.com/docs/sepia\n */\n sepia: [{\n sepia: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Filter\n * @see https://tailwindcss.com/docs/backdrop-filter\n */\n 'backdrop-filter': [{\n 'backdrop-filter': [\n // Deprecated since Tailwind CSS v3.0.0\n '', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Blur\n * @see https://tailwindcss.com/docs/backdrop-blur\n */\n 'backdrop-blur': [{\n 'backdrop-blur': scaleBlur()\n }],\n /**\n * Backdrop Brightness\n * @see https://tailwindcss.com/docs/backdrop-brightness\n */\n 'backdrop-brightness': [{\n 'backdrop-brightness': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Contrast\n * @see https://tailwindcss.com/docs/backdrop-contrast\n */\n 'backdrop-contrast': [{\n 'backdrop-contrast': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Grayscale\n * @see https://tailwindcss.com/docs/backdrop-grayscale\n */\n 'backdrop-grayscale': [{\n 'backdrop-grayscale': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Hue Rotate\n * @see https://tailwindcss.com/docs/backdrop-hue-rotate\n */\n 'backdrop-hue-rotate': [{\n 'backdrop-hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Invert\n * @see https://tailwindcss.com/docs/backdrop-invert\n */\n 'backdrop-invert': [{\n 'backdrop-invert': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Opacity\n * @see https://tailwindcss.com/docs/backdrop-opacity\n */\n 'backdrop-opacity': [{\n 'backdrop-opacity': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Saturate\n * @see https://tailwindcss.com/docs/backdrop-saturate\n */\n 'backdrop-saturate': [{\n 'backdrop-saturate': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Sepia\n * @see https://tailwindcss.com/docs/backdrop-sepia\n */\n 'backdrop-sepia': [{\n 'backdrop-sepia': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n // --------------\n // --- Tables ---\n // --------------\n /**\n * Border Collapse\n * @see https://tailwindcss.com/docs/border-collapse\n */\n 'border-collapse': [{\n border: ['collapse', 'separate']\n }],\n /**\n * Border Spacing\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing': [{\n 'border-spacing': scaleUnambiguousSpacing()\n }],\n /**\n * Border Spacing X\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-x': [{\n 'border-spacing-x': scaleUnambiguousSpacing()\n }],\n /**\n * Border Spacing Y\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-y': [{\n 'border-spacing-y': scaleUnambiguousSpacing()\n }],\n /**\n * Table Layout\n * @see https://tailwindcss.com/docs/table-layout\n */\n 'table-layout': [{\n table: ['auto', 'fixed']\n }],\n /**\n * Caption Side\n * @see https://tailwindcss.com/docs/caption-side\n */\n caption: [{\n caption: ['top', 'bottom']\n }],\n // ---------------------------------\n // --- Transitions and Animation ---\n // ---------------------------------\n /**\n * Transition Property\n * @see https://tailwindcss.com/docs/transition-property\n */\n transition: [{\n transition: ['', 'all', 'colors', 'opacity', 'shadow', 'transform', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Behavior\n * @see https://tailwindcss.com/docs/transition-behavior\n */\n 'transition-behavior': [{\n transition: ['normal', 'discrete']\n }],\n /**\n * Transition Duration\n * @see https://tailwindcss.com/docs/transition-duration\n */\n duration: [{\n duration: [isNumber, 'initial', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Timing Function\n * @see https://tailwindcss.com/docs/transition-timing-function\n */\n ease: [{\n ease: ['linear', 'initial', themeEase, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Delay\n * @see https://tailwindcss.com/docs/transition-delay\n */\n delay: [{\n delay: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Animation\n * @see https://tailwindcss.com/docs/animation\n */\n animate: [{\n animate: ['none', themeAnimate, isArbitraryVariable, isArbitraryValue]\n }],\n // ------------------\n // --- Transforms ---\n // ------------------\n /**\n * Backface Visibility\n * @see https://tailwindcss.com/docs/backface-visibility\n */\n backface: [{\n backface: ['hidden', 'visible']\n }],\n /**\n * Perspective\n * @see https://tailwindcss.com/docs/perspective\n */\n perspective: [{\n perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Perspective Origin\n * @see https://tailwindcss.com/docs/perspective-origin\n */\n 'perspective-origin': [{\n 'perspective-origin': scalePositionWithArbitrary()\n }],\n /**\n * Rotate\n * @see https://tailwindcss.com/docs/rotate\n */\n rotate: [{\n rotate: scaleRotate()\n }],\n /**\n * Rotate X\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-x': [{\n 'rotate-x': scaleRotate()\n }],\n /**\n * Rotate Y\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-y': [{\n 'rotate-y': scaleRotate()\n }],\n /**\n * Rotate Z\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-z': [{\n 'rotate-z': scaleRotate()\n }],\n /**\n * Scale\n * @see https://tailwindcss.com/docs/scale\n */\n scale: [{\n scale: scaleScale()\n }],\n /**\n * Scale X\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-x': [{\n 'scale-x': scaleScale()\n }],\n /**\n * Scale Y\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-y': [{\n 'scale-y': scaleScale()\n }],\n /**\n * Scale Z\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-z': [{\n 'scale-z': scaleScale()\n }],\n /**\n * Scale 3D\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-3d': ['scale-3d'],\n /**\n * Skew\n * @see https://tailwindcss.com/docs/skew\n */\n skew: [{\n skew: scaleSkew()\n }],\n /**\n * Skew X\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-x': [{\n 'skew-x': scaleSkew()\n }],\n /**\n * Skew Y\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-y': [{\n 'skew-y': scaleSkew()\n }],\n /**\n * Transform\n * @see https://tailwindcss.com/docs/transform\n */\n transform: [{\n transform: [isArbitraryVariable, isArbitraryValue, '', 'none', 'gpu', 'cpu']\n }],\n /**\n * Transform Origin\n * @see https://tailwindcss.com/docs/transform-origin\n */\n 'transform-origin': [{\n origin: scalePositionWithArbitrary()\n }],\n /**\n * Transform Style\n * @see https://tailwindcss.com/docs/transform-style\n */\n 'transform-style': [{\n transform: ['3d', 'flat']\n }],\n /**\n * Translate\n * @see https://tailwindcss.com/docs/translate\n */\n translate: [{\n translate: scaleTranslate()\n }],\n /**\n * Translate X\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-x': [{\n 'translate-x': scaleTranslate()\n }],\n /**\n * Translate Y\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-y': [{\n 'translate-y': scaleTranslate()\n }],\n /**\n * Translate Z\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-z': [{\n 'translate-z': scaleTranslate()\n }],\n /**\n * Translate None\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-none': ['translate-none'],\n // ---------------------\n // --- Interactivity ---\n // ---------------------\n /**\n * Accent Color\n * @see https://tailwindcss.com/docs/accent-color\n */\n accent: [{\n accent: scaleColor()\n }],\n /**\n * Appearance\n * @see https://tailwindcss.com/docs/appearance\n */\n appearance: [{\n appearance: ['none', 'auto']\n }],\n /**\n * Caret Color\n * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities\n */\n 'caret-color': [{\n caret: scaleColor()\n }],\n /**\n * Color Scheme\n * @see https://tailwindcss.com/docs/color-scheme\n */\n 'color-scheme': [{\n scheme: ['normal', 'dark', 'light', 'light-dark', 'only-dark', 'only-light']\n }],\n /**\n * Cursor\n * @see https://tailwindcss.com/docs/cursor\n */\n cursor: [{\n cursor: ['auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Field Sizing\n * @see https://tailwindcss.com/docs/field-sizing\n */\n 'field-sizing': [{\n 'field-sizing': ['fixed', 'content']\n }],\n /**\n * Pointer Events\n * @see https://tailwindcss.com/docs/pointer-events\n */\n 'pointer-events': [{\n 'pointer-events': ['auto', 'none']\n }],\n /**\n * Resize\n * @see https://tailwindcss.com/docs/resize\n */\n resize: [{\n resize: ['none', '', 'y', 'x']\n }],\n /**\n * Scroll Behavior\n * @see https://tailwindcss.com/docs/scroll-behavior\n */\n 'scroll-behavior': [{\n scroll: ['auto', 'smooth']\n }],\n /**\n * Scroll Margin\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-m': [{\n 'scroll-m': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin X\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mx': [{\n 'scroll-mx': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Y\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-my': [{\n 'scroll-my': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ms': [{\n 'scroll-ms': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-me': [{\n 'scroll-me': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Top\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mt': [{\n 'scroll-mt': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Right\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mr': [{\n 'scroll-mr': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Bottom\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mb': [{\n 'scroll-mb': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Left\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ml': [{\n 'scroll-ml': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-p': [{\n 'scroll-p': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding X\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-px': [{\n 'scroll-px': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Y\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-py': [{\n 'scroll-py': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-ps': [{\n 'scroll-ps': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pe': [{\n 'scroll-pe': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Top\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pt': [{\n 'scroll-pt': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Right\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pr': [{\n 'scroll-pr': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Bottom\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pb': [{\n 'scroll-pb': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Left\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pl': [{\n 'scroll-pl': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Snap Align\n * @see https://tailwindcss.com/docs/scroll-snap-align\n */\n 'snap-align': [{\n snap: ['start', 'end', 'center', 'align-none']\n }],\n /**\n * Scroll Snap Stop\n * @see https://tailwindcss.com/docs/scroll-snap-stop\n */\n 'snap-stop': [{\n snap: ['normal', 'always']\n }],\n /**\n * Scroll Snap Type\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-type': [{\n snap: ['none', 'x', 'y', 'both']\n }],\n /**\n * Scroll Snap Type Strictness\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-strictness': [{\n snap: ['mandatory', 'proximity']\n }],\n /**\n * Touch Action\n * @see https://tailwindcss.com/docs/touch-action\n */\n touch: [{\n touch: ['auto', 'none', 'manipulation']\n }],\n /**\n * Touch Action X\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-x': [{\n 'touch-pan': ['x', 'left', 'right']\n }],\n /**\n * Touch Action Y\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-y': [{\n 'touch-pan': ['y', 'up', 'down']\n }],\n /**\n * Touch Action Pinch Zoom\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-pz': ['touch-pinch-zoom'],\n /**\n * User Select\n * @see https://tailwindcss.com/docs/user-select\n */\n select: [{\n select: ['none', 'text', 'all', 'auto']\n }],\n /**\n * Will Change\n * @see https://tailwindcss.com/docs/will-change\n */\n 'will-change': [{\n 'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryVariable, isArbitraryValue]\n }],\n // -----------\n // --- SVG ---\n // -----------\n /**\n * Fill\n * @see https://tailwindcss.com/docs/fill\n */\n fill: [{\n fill: ['none', ...scaleColor()]\n }],\n /**\n * Stroke Width\n * @see https://tailwindcss.com/docs/stroke-width\n */\n 'stroke-w': [{\n stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]\n }],\n /**\n * Stroke\n * @see https://tailwindcss.com/docs/stroke\n */\n stroke: [{\n stroke: ['none', ...scaleColor()]\n }],\n // ---------------------\n // --- Accessibility ---\n // ---------------------\n /**\n * Forced Color Adjust\n * @see https://tailwindcss.com/docs/forced-color-adjust\n */\n 'forced-color-adjust': [{\n 'forced-color-adjust': ['auto', 'none']\n }]\n },\n conflictingClassGroups: {\n overflow: ['overflow-x', 'overflow-y'],\n overscroll: ['overscroll-x', 'overscroll-y'],\n inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],\n 'inset-x': ['right', 'left'],\n 'inset-y': ['top', 'bottom'],\n flex: ['basis', 'grow', 'shrink'],\n gap: ['gap-x', 'gap-y'],\n p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],\n px: ['pr', 'pl'],\n py: ['pt', 'pb'],\n m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],\n mx: ['mr', 'ml'],\n my: ['mt', 'mb'],\n size: ['w', 'h'],\n 'font-size': ['leading'],\n 'fvn-normal': ['fvn-ordinal', 'fvn-slashed-zero', 'fvn-figure', 'fvn-spacing', 'fvn-fraction'],\n 'fvn-ordinal': ['fvn-normal'],\n 'fvn-slashed-zero': ['fvn-normal'],\n 'fvn-figure': ['fvn-normal'],\n 'fvn-spacing': ['fvn-normal'],\n 'fvn-fraction': ['fvn-normal'],\n 'line-clamp': ['display', 'overflow'],\n rounded: ['rounded-s', 'rounded-e', 'rounded-t', 'rounded-r', 'rounded-b', 'rounded-l', 'rounded-ss', 'rounded-se', 'rounded-ee', 'rounded-es', 'rounded-tl', 'rounded-tr', 'rounded-br', 'rounded-bl'],\n 'rounded-s': ['rounded-ss', 'rounded-es'],\n 'rounded-e': ['rounded-se', 'rounded-ee'],\n 'rounded-t': ['rounded-tl', 'rounded-tr'],\n 'rounded-r': ['rounded-tr', 'rounded-br'],\n 'rounded-b': ['rounded-br', 'rounded-bl'],\n 'rounded-l': ['rounded-tl', 'rounded-bl'],\n 'border-spacing': ['border-spacing-x', 'border-spacing-y'],\n 'border-w': ['border-w-x', 'border-w-y', 'border-w-s', 'border-w-e', 'border-w-t', 'border-w-r', 'border-w-b', 'border-w-l'],\n 'border-w-x': ['border-w-r', 'border-w-l'],\n 'border-w-y': ['border-w-t', 'border-w-b'],\n 'border-color': ['border-color-x', 'border-color-y', 'border-color-s', 'border-color-e', 'border-color-t', 'border-color-r', 'border-color-b', 'border-color-l'],\n 'border-color-x': ['border-color-r', 'border-color-l'],\n 'border-color-y': ['border-color-t', 'border-color-b'],\n translate: ['translate-x', 'translate-y', 'translate-none'],\n 'translate-none': ['translate', 'translate-x', 'translate-y', 'translate-z'],\n 'scroll-m': ['scroll-mx', 'scroll-my', 'scroll-ms', 'scroll-me', 'scroll-mt', 'scroll-mr', 'scroll-mb', 'scroll-ml'],\n 'scroll-mx': ['scroll-mr', 'scroll-ml'],\n 'scroll-my': ['scroll-mt', 'scroll-mb'],\n 'scroll-p': ['scroll-px', 'scroll-py', 'scroll-ps', 'scroll-pe', 'scroll-pt', 'scroll-pr', 'scroll-pb', 'scroll-pl'],\n 'scroll-px': ['scroll-pr', 'scroll-pl'],\n 'scroll-py': ['scroll-pt', 'scroll-pb'],\n touch: ['touch-x', 'touch-y', 'touch-pz'],\n 'touch-x': ['touch'],\n 'touch-y': ['touch'],\n 'touch-pz': ['touch']\n },\n conflictingClassGroupModifiers: {\n 'font-size': ['leading']\n },\n orderSensitiveModifiers: ['*', '**', 'after', 'backdrop', 'before', 'details-content', 'file', 'first-letter', 'first-line', 'marker', 'placeholder', 'selection']\n };\n};\n\n/**\n * @param baseConfig Config where other config will be merged into. This object will be mutated.\n * @param configExtension Partial config to merge into the `baseConfig`.\n */\nconst mergeConfigs = (baseConfig, {\n cacheSize,\n prefix,\n experimentalParseClassName,\n extend = {},\n override = {}\n}) => {\n overrideProperty(baseConfig, 'cacheSize', cacheSize);\n overrideProperty(baseConfig, 'prefix', prefix);\n overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName);\n overrideConfigProperties(baseConfig.theme, override.theme);\n overrideConfigProperties(baseConfig.classGroups, override.classGroups);\n overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups);\n overrideConfigProperties(baseConfig.conflictingClassGroupModifiers, override.conflictingClassGroupModifiers);\n overrideProperty(baseConfig, 'orderSensitiveModifiers', override.orderSensitiveModifiers);\n mergeConfigProperties(baseConfig.theme, extend.theme);\n mergeConfigProperties(baseConfig.classGroups, extend.classGroups);\n mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups);\n mergeConfigProperties(baseConfig.conflictingClassGroupModifiers, extend.conflictingClassGroupModifiers);\n mergeArrayProperties(baseConfig, extend, 'orderSensitiveModifiers');\n return baseConfig;\n};\nconst overrideProperty = (baseObject, overrideKey, overrideValue) => {\n if (overrideValue !== undefined) {\n baseObject[overrideKey] = overrideValue;\n }\n};\nconst overrideConfigProperties = (baseObject, overrideObject) => {\n if (overrideObject) {\n for (const key in overrideObject) {\n overrideProperty(baseObject, key, overrideObject[key]);\n }\n }\n};\nconst mergeConfigProperties = (baseObject, mergeObject) => {\n if (mergeObject) {\n for (const key in mergeObject) {\n mergeArrayProperties(baseObject, mergeObject, key);\n }\n }\n};\nconst mergeArrayProperties = (baseObject, mergeObject, key) => {\n const mergeValue = mergeObject[key];\n if (mergeValue !== undefined) {\n baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue;\n }\n};\nconst extendTailwindMerge = (configExtension, ...createConfig) => typeof configExtension === 'function' ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);\nconst twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);\nexport { createTailwindMerge, extendTailwindMerge, fromTheme, getDefaultConfig, mergeConfigs, twJoin, twMerge, validators };\n//# sourceMappingURL=bundle-mjs.mjs.map\n",null,null,"/**\n * @license lucide-react v0.555.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nconst toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst toCamelCase = (string) => string.replace(\n /^([A-Z])|[\\s-_]+(\\w)/g,\n (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()\n);\nconst toPascalCase = (string) => {\n const camelCase = toCamelCase(string);\n return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);\n};\nconst mergeClasses = (...classes) => classes.filter((className, index, array) => {\n return Boolean(className) && className.trim() !== \"\" && array.indexOf(className) === index;\n}).join(\" \").trim();\nconst hasA11yProp = (props) => {\n for (const prop in props) {\n if (prop.startsWith(\"aria-\") || prop === \"role\" || prop === \"title\") {\n return true;\n }\n }\n};\n\nexport { hasA11yProp, mergeClasses, toCamelCase, toKebabCase, toPascalCase };\n//# sourceMappingURL=utils.js.map\n","/**\n * @license lucide-react v0.555.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nvar defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n};\n\nexport { defaultAttributes as default };\n//# sourceMappingURL=defaultAttributes.js.map\n","/**\n * @license lucide-react v0.555.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport defaultAttributes from './defaultAttributes.js';\nimport { mergeClasses, hasA11yProp } from './shared/src/utils.js';\n\nconst Icon = forwardRef(\n ({\n color = \"currentColor\",\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = \"\",\n children,\n iconNode,\n ...rest\n }, ref) => createElement(\n \"svg\",\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n className: mergeClasses(\"lucide\", className),\n ...!children && !hasA11yProp(rest) && { \"aria-hidden\": \"true\" },\n ...rest\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n )\n);\n\nexport { Icon as default };\n//# sourceMappingURL=Icon.js.map\n","/**\n * @license lucide-react v0.555.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport { mergeClasses, toKebabCase, toPascalCase } from './shared/src/utils.js';\nimport Icon from './Icon.js';\n\nconst createLucideIcon = (iconName, iconNode) => {\n const Component = forwardRef(\n ({ className, ...props }, ref) => createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(\n `lucide-${toKebabCase(toPascalCase(iconName))}`,\n `lucide-${iconName}`,\n className\n ),\n ...props\n })\n );\n Component.displayName = toPascalCase(iconName);\n return Component;\n};\n\nexport { createLucideIcon as default };\n//# sourceMappingURL=createLucideIcon.js.map\n","/**\n * @license lucide-react v0.555.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M8 3H5a2 2 0 0 0-2 2v3\", key: \"1dcmit\" }],\n [\"path\", { d: \"M21 8V5a2 2 0 0 0-2-2h-3\", key: \"1e4gt3\" }],\n [\"path\", { d: \"M3 16v3a2 2 0 0 0 2 2h3\", key: \"wsl5sc\" }],\n [\"path\", { d: \"M16 21h3a2 2 0 0 0 2-2v-3\", key: \"18trek\" }]\n];\nconst Maximize = createLucideIcon(\"maximize\", __iconNode);\n\nexport { __iconNode, Maximize as default };\n//# sourceMappingURL=maximize.js.map\n","/**\n * @license lucide-react v0.555.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M8 3v3a2 2 0 0 1-2 2H3\", key: \"hohbtr\" }],\n [\"path\", { d: \"M21 8h-3a2 2 0 0 1-2-2V3\", key: \"5jw1f3\" }],\n [\"path\", { d: \"M3 16h3a2 2 0 0 1 2 2v3\", key: \"198tvr\" }],\n [\"path\", { d: \"M16 21v-3a2 2 0 0 1 2-2h3\", key: \"ph8mxp\" }]\n];\nconst Minimize = createLucideIcon(\"minimize\", __iconNode);\n\nexport { __iconNode, Minimize as default };\n//# sourceMappingURL=minimize.js.map\n","/**\n * @license lucide-react v0.555.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M21 9V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h4\", key: \"daa4of\" }],\n [\"rect\", { width: \"10\", height: \"7\", x: \"12\", y: \"13\", rx: \"2\", key: \"1nb8gs\" }]\n];\nconst PictureInPicture2 = createLucideIcon(\"picture-in-picture-2\", __iconNode);\n\nexport { __iconNode, PictureInPicture2 as default };\n//# sourceMappingURL=picture-in-picture-2.js.map\n",null],"names":["r","e","t","f","n","Array","isArray","o","length","createClassPartObject","nextPart","Map","validators","classGroupId","CLASS_PART_SEPARATOR","EMPTY_CONFLICTS","createClassGroupUtils","config","classMap","createClassMap","conflictingClassGroups","conflictingClassGroupModifiers","getClassGroupId","className","startsWith","endsWith","getGroupIdForArbitraryProperty","classParts","split","startIndex","getGroupRecursive","getConflictingClassGroupIds","hasPostfixModifier","modifierConflicts","baseConflicts","array1","array2","combinedArray","i","concatArrays","classPartObject","currentClassPart","nextClassPartObject","get","result","classRest","join","slice","validatorsLength","validatorObj","validator","indexOf","undefined","content","colonIndex","property","theme","classGroups","processClassGroups","group","processClassesRecursively","classGroup","len","classDefinition","processClassDefinition","processObjectDefinition","processFunctionDefinition","processStringDefinition","getPart","isThemeGetter","push","createClassValidatorObject","entries","Object","key","value","path","current","parts","part","next","set","func","createLruCache","maxCacheSize","cacheSize","cache","create","previousCache","update","EMPTY_MODIFIERS","createResultObject","modifiers","hasImportantModifier","baseClassName","maybePostfixModifierPosition","isExternal","createParseClassName","prefix","experimentalParseClassName","parseClassName","postfixModifierPosition","bracketDepth","parenDepth","modifierStart","index","currentCharacter","baseClassNameWithImportantModifier","fullPrefix","parseClassNameOriginal","createSortModifiers","modifierWeights","orderSensitiveModifiers","forEach","mod","currentSegment","modifier","isArbitrary","isOrderSensitive","has","sort","SPLIT_CLASSES_REGEX","toValue","mix","resolvedValue","string","k","fallbackThemeArr","fromTheme","themeGetter","arbitraryValueRegex","arbitraryVariableRegex","fractionRegex","tshirtUnitRegex","lengthUnitRegex","colorFunctionRegex","shadowRegex","imageRegex","isFraction","test","isNumber","Number","isNaN","isInteger","isPercent","isTshirtSize","isAny","isLengthOnly","isNever","isShadow","isImage","isAnyNonArbitrary","isArbitraryValue","isArbitraryVariable","isArbitrarySize","getIsArbitraryValue","isLabelSize","isArbitraryLength","isLabelLength","isArbitraryNumber","isLabelNumber","isArbitraryPosition","isLabelPosition","isArbitraryImage","isLabelImage","isArbitraryShadow","isLabelShadow","isArbitraryVariableLength","getIsArbitraryVariable","isArbitraryVariableFamilyName","isLabelFamilyName","isArbitraryVariablePosition","isArbitraryVariableSize","isArbitraryVariableImage","isArbitraryVariableShadow","testLabel","testValue","exec","shouldMatchNoLabel","label","twMerge","createConfigFirst","createConfigRest","configUtils","cacheGet","cacheSet","functionToCall","tailwindMerge","classList","cachedResult","sortModifiers","classGroupsInConflict","classNames","trim","originalClassName","substring","variantModifier","modifierId","classId","conflictGroups","mergeClassList","reduce","previousConfig","createConfigCurrent","createConfigUtils","args","classLists","argument","twJoin","createTailwindMerge","themeColor","themeFont","themeText","themeFontWeight","themeTracking","themeLeading","themeBreakpoint","themeContainer","themeSpacing","themeRadius","themeShadow","themeInsetShadow","themeTextShadow","themeDropShadow","themeBlur","themePerspective","themeAspect","themeEase","themeAnimate","scalePositionWithArbitrary","scaleUnambiguousSpacing","scaleInset","scaleGridTemplateColsRows","scaleGridColRowStartAndEnd","span","scaleGridColRowStartOrEnd","scaleGridAutoColsRows","scaleMargin","scaleSizing","scaleColor","scaleBgPosition","position","scaleBgSize","size","scaleGradientStopPosition","scaleRadius","scaleBorderWidth","scaleMaskImagePosition","scaleBlur","scaleRotate","scaleScale","scaleSkew","scaleTranslate","animate","aspect","blur","breakpoint","color","container","ease","font","leading","perspective","radius","shadow","spacing","text","tracking","columns","box","display","sr","float","clear","isolation","object","overflow","overscroll","inset","start","end","top","right","bottom","left","visibility","z","basis","flex","grow","shrink","order","col","row","gap","justify","items","baseline","self","p","px","py","ps","pe","pt","pr","pb","pl","m","mx","my","ms","me","mt","mr","mb","ml","w","screen","h","list","placeholder","decoration","indent","align","whitespace","break","wrap","hyphens","bg","repeat","linear","to","radial","conic","from","via","rounded","border","divide","outline","ring","opacity","mask","closest","farthest","filter","brightness","contrast","grayscale","invert","saturate","sepia","table","caption","transition","duration","delay","backface","rotate","scale","skew","transform","origin","translate","accent","appearance","caret","scheme","cursor","resize","scroll","snap","touch","select","fill","stroke","cn","inputs","arguments","clsx","DismissLayer","forwardRef","active","onDismiss","disableClickOutside","disableEscKeyPress","disabled","props","ref","innerRef","useRef","useImperativeHandle","handleClickOrTouch","useCallback","target","handleKeyEvent","ev","useEffect","document","addEventListener","removeEventListener","_jsx","onClick","onTouchStart","displayName","toPascalCase","camelCase","replace","match","p1","p2","toUpperCase","toLowerCase","toCamelCase","charAt","mergeClasses","classes","array","Boolean","hasA11yProp","prop","defaultAttributes","xmlns","width","height","viewBox","strokeWidth","strokeLinecap","strokeLinejoin","Icon","absoluteStrokeWidth","children","iconNode","rest","createElement","map","tag","attrs","createLucideIcon","iconName","Component","Maximize","d","Minimize","PictureInPicture2","x","y","rx","StreamView","id","stream","mirror","muted","elementId","useMemo","Date","now","Math","random","toString","getRandomString","isMuted","mirrorClassName","srcObject","playVideo","play","error","console","onloadedmetadata","queueMicrotask","autoPlay","playsInline","LocalStreamView","isMirror","RemoteStreamView","FullscreenStreamView","element","pipElement","navElement","hideIconElement","showIconElement","fullscreenButtonProps","fullscreenButtonIconProps","pipProps","pipButtonProps","pipButtonIconProps","isFullscreen","setIsFullscreen","useState","isPictureInPicture","setIsPictureInPicture","toggleFullscreen","async","fullscreenElement","exitFullscreen","requestFullscreen","err","togglePictureInPicture","prevState","assign","onFullscreenChange","_jsxs"],"mappings":"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","x_google_ignoreList":[0,1,4,5,6,7,8,9,10]}
1
+ {"version":3,"file":"index.cjs","sources":["../src/components/utils.ts","../src/components/button.tsx","../src/components/alert-dialog.tsx","../src/components/spinner.tsx","../src/components/attachment.tsx","../src/components/presence.tsx","../src/components/avatar.tsx","../src/components/badge.tsx","../node_modules/date-fns/locale/_lib/buildFormatLongFn.js","../node_modules/date-fns/locale/_lib/buildLocalizeFn.js","../node_modules/date-fns/locale/_lib/buildMatchFn.js","../node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","../node_modules/date-fns/constants.js","../node_modules/date-fns/constructFrom.js","../node_modules/date-fns/_lib/defaultOptions.js","../node_modules/date-fns/toDate.js","../node_modules/date-fns/startOfWeek.js","../node_modules/date-fns/isSameWeek.js","../node_modules/date-fns/_lib/normalizeDates.js","../node_modules/date-fns/locale/el/_lib/formatDistance.js","../node_modules/date-fns/locale/el/_lib/formatLong.js","../node_modules/date-fns/locale/el/_lib/formatRelative.js","../node_modules/date-fns/locale/el.js","../node_modules/date-fns/locale/el/_lib/localize.js","../node_modules/date-fns/locale/el/_lib/match.js","../node_modules/date-fns/locale/en-US/_lib/formatDistance.js","../node_modules/date-fns/locale/en-US/_lib/formatRelative.js","../node_modules/date-fns/locale/en-US/_lib/localize.js","../node_modules/date-fns/locale/en-US/_lib/match.js","../node_modules/date-fns/locale/en-US.js","../node_modules/date-fns/locale/en-US/_lib/formatLong.js","../node_modules/date-fns/locale/uk/_lib/formatDistance.js","../node_modules/date-fns/locale/uk/_lib/formatLong.js","../node_modules/date-fns/locale/uk/_lib/formatRelative.js","../node_modules/date-fns/locale/uk/_lib/localize.js","../node_modules/date-fns/locale/uk/_lib/match.js","../src/components/formatted-date.tsx","../node_modules/date-fns/locale/uk.js","../src/components/call-message.tsx","../src/components/linkify-text.tsx","../src/components/link-preview.tsx","../src/components/status-sent.tsx","../src/components/chat-message.tsx","../src/components/dialog-item.tsx","../src/components/dismiss-layer.tsx","../src/components/label.tsx","../src/components/file-picker.tsx","../src/components/input.tsx","../src/components/placeholder-text.tsx","../src/components/search.tsx","../src/components/status-indicator.tsx","../src/components/stream-view.tsx","../src/components/switch.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,"export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n * return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occurs every 4 years, except for years that are divisible by 100 and not divisible by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n\n/**\n * @constant\n * @name constructFromSymbol\n * @summary Symbol enabling Date extensions to inherit properties from the reference date.\n *\n * The symbol is used to enable the `constructFrom` function to construct a date\n * using a reference date and a value. It allows to transfer extra properties\n * from the reference date to the new date. It's useful for extensions like\n * [`TZDate`](https://github.com/date-fns/tz) that accept a time zone as\n * a constructor argument.\n */\nexport const constructFromSymbol = Symbol.for(\"constructDateFrom\");\n","import { constructFromSymbol } from \"./constants.js\";\n\n/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * Starting from v3.7.0, it allows to construct a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from \"./constructFrom/date-fns\";\n *\n * // A function that clones a date preserving the original type\n * function cloneDate<DateType extends Date>(date: DateType): DateType {\n * return constructFrom(\n * date, // Use constructor from the given date\n * date.getTime() // Use the date value to create a new date\n * );\n * }\n */\nexport function constructFrom(date, value) {\n if (typeof date === \"function\") return date(value);\n\n if (date && typeof date === \"object\" && constructFromSymbol in date)\n return date[constructFromSymbol](value);\n\n if (date instanceof Date) return new date.constructor(value);\n\n return new Date(value);\n}\n\n// Fallback for modularized imports:\nexport default constructFrom;\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n","import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * Starting from v3.7.0, it clones a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument, context) {\n // [TODO] Get rid of `toDate` or `constructFrom`?\n return constructFrom(context || argument, argument);\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfWeek} function options.\n */\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfWeek(date, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date, options?.in);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n _date.setDate(_date.getDate() - diff);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeek;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link isSameWeek} function options.\n */\n\n/**\n * @name isSameWeek\n * @category Week Helpers\n * @summary Are the given dates in the same week (and month and year)?\n *\n * @description\n * Are the given dates in the same week (and month and year)?\n *\n * @param laterDate - The first date to check\n * @param earlierDate - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same week (and month and year)\n *\n * @example\n * // Are 31 August 2014 and 4 September 2014 in the same week?\n * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4))\n * //=> true\n *\n * @example\n * // If week starts with Monday,\n * // are 31 August 2014 and 4 September 2014 in the same week?\n * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4), {\n * weekStartsOn: 1\n * })\n * //=> false\n *\n * @example\n * // Are 1 January 2014 and 1 January 2015 in the same week?\n * const result = isSameWeek(new Date(2014, 0, 1), new Date(2015, 0, 1))\n * //=> false\n */\nexport function isSameWeek(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n return (\n +startOfWeek(laterDate_, options) === +startOfWeek(earlierDate_, options)\n );\n}\n\n// Fallback for modularized imports:\nexport default isSameWeek;\n","import { constructFrom } from \"../constructFrom.js\";\n\nexport function normalizeDates(context, ...dates) {\n const normalize = constructFrom.bind(\n null,\n context || dates.find((date) => typeof date === \"object\"),\n );\n return dates.map(normalize);\n}\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"λιγότερο από ένα δευτερόλεπτο\",\n other: \"λιγότερο από {{count}} δευτερόλεπτα\",\n },\n\n xSeconds: {\n one: \"1 δευτερόλεπτο\",\n other: \"{{count}} δευτερόλεπτα\",\n },\n\n halfAMinute: \"μισό λεπτό\",\n\n lessThanXMinutes: {\n one: \"λιγότερο από ένα λεπτό\",\n other: \"λιγότερο από {{count}} λεπτά\",\n },\n\n xMinutes: {\n one: \"1 λεπτό\",\n other: \"{{count}} λεπτά\",\n },\n\n aboutXHours: {\n one: \"περίπου 1 ώρα\",\n other: \"περίπου {{count}} ώρες\",\n },\n\n xHours: {\n one: \"1 ώρα\",\n other: \"{{count}} ώρες\",\n },\n\n xDays: {\n one: \"1 ημέρα\",\n other: \"{{count}} ημέρες\",\n },\n\n aboutXWeeks: {\n one: \"περίπου 1 εβδομάδα\",\n other: \"περίπου {{count}} εβδομάδες\",\n },\n\n xWeeks: {\n one: \"1 εβδομάδα\",\n other: \"{{count}} εβδομάδες\",\n },\n\n aboutXMonths: {\n one: \"περίπου 1 μήνας\",\n other: \"περίπου {{count}} μήνες\",\n },\n\n xMonths: {\n one: \"1 μήνας\",\n other: \"{{count}} μήνες\",\n },\n\n aboutXYears: {\n one: \"περίπου 1 χρόνο\",\n other: \"περίπου {{count}} χρόνια\",\n },\n\n xYears: {\n one: \"1 χρόνο\",\n other: \"{{count}} χρόνια\",\n },\n\n overXYears: {\n one: \"πάνω από 1 χρόνο\",\n other: \"πάνω από {{count}} χρόνια\",\n },\n\n almostXYears: {\n one: \"περίπου 1 χρόνο\",\n other: \"περίπου {{count}} χρόνια\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", String(count));\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"σε \" + result;\n } else {\n return result + \" πριν\";\n }\n }\n\n return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, d MMMM y\",\n long: \"d MMMM y\",\n medium: \"d MMM y\",\n short: \"d/M/yy\",\n};\n\nconst timeFormats = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} - {{time}}\",\n long: \"{{date}} - {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: (date) => {\n switch (date.getDay()) {\n case 6: //Σάββατο\n return \"'το προηγούμενο' eeee 'στις' p\";\n default:\n return \"'την προηγούμενη' eeee 'στις' p\";\n }\n },\n yesterday: \"'χθες στις' p\",\n today: \"'σήμερα στις' p\",\n tomorrow: \"'αύριο στις' p\",\n nextWeek: \"eeee 'στις' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, date) => {\n const format = formatRelativeLocale[token];\n\n if (typeof format === \"function\") return format(date);\n\n return format;\n};\n","import { formatDistance } from \"./el/_lib/formatDistance.js\";\nimport { formatLong } from \"./el/_lib/formatLong.js\";\nimport { formatRelative } from \"./el/_lib/formatRelative.js\";\nimport { localize } from \"./el/_lib/localize.js\";\nimport { match } from \"./el/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary Greek locale.\n * @language Greek\n * @iso-639-2 ell\n * @author Fanis Katsimpas [@fanixk](https://github.com/fanixk)\n * @author Theodoros Orfanidis [@teoulas](https://github.com/teoulas)\n */\nexport const el = {\n code: \"el\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 4,\n },\n};\n\n// Fallback for modularized imports:\nexport default el;\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"πΧ\", \"μΧ\"],\n abbreviated: [\"π.Χ.\", \"μ.Χ.\"],\n wide: [\"προ Χριστού\", \"μετά Χριστόν\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Τ1\", \"Τ2\", \"Τ3\", \"Τ4\"],\n wide: [\"1ο τρίμηνο\", \"2ο τρίμηνο\", \"3ο τρίμηνο\", \"4ο τρίμηνο\"],\n};\n\nconst monthValues = {\n narrow: [\"Ι\", \"Φ\", \"Μ\", \"Α\", \"Μ\", \"Ι\", \"Ι\", \"Α\", \"Σ\", \"Ο\", \"Ν\", \"Δ\"],\n abbreviated: [\n \"Ιαν\",\n \"Φεβ\",\n \"Μάρ\",\n \"Απρ\",\n \"Μάι\",\n \"Ιούν\",\n \"Ιούλ\",\n \"Αύγ\",\n \"Σεπ\",\n \"Οκτ\",\n \"Νοέ\",\n \"Δεκ\",\n ],\n\n wide: [\n \"Ιανουάριος\",\n \"Φεβρουάριος\",\n \"Μάρτιος\",\n \"Απρίλιος\",\n \"Μάιος\",\n \"Ιούνιος\",\n \"Ιούλιος\",\n \"Αύγουστος\",\n \"Σεπτέμβριος\",\n \"Οκτώβριος\",\n \"Νοέμβριος\",\n \"Δεκέμβριος\",\n ],\n};\n\nconst formattingMonthValues = {\n narrow: [\"Ι\", \"Φ\", \"Μ\", \"Α\", \"Μ\", \"Ι\", \"Ι\", \"Α\", \"Σ\", \"Ο\", \"Ν\", \"Δ\"],\n abbreviated: [\n \"Ιαν\",\n \"Φεβ\",\n \"Μαρ\",\n \"Απρ\",\n \"Μαΐ\",\n \"Ιουν\",\n \"Ιουλ\",\n \"Αυγ\",\n \"Σεπ\",\n \"Οκτ\",\n \"Νοε\",\n \"Δεκ\",\n ],\n\n wide: [\n \"Ιανουαρίου\",\n \"Φεβρουαρίου\",\n \"Μαρτίου\",\n \"Απριλίου\",\n \"Μαΐου\",\n \"Ιουνίου\",\n \"Ιουλίου\",\n \"Αυγούστου\",\n \"Σεπτεμβρίου\",\n \"Οκτωβρίου\",\n \"Νοεμβρίου\",\n \"Δεκεμβρίου\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"Κ\", \"Δ\", \"T\", \"Τ\", \"Π\", \"Π\", \"Σ\"],\n short: [\"Κυ\", \"Δε\", \"Τρ\", \"Τε\", \"Πέ\", \"Πα\", \"Σά\"],\n abbreviated: [\"Κυρ\", \"Δευ\", \"Τρί\", \"Τετ\", \"Πέμ\", \"Παρ\", \"Σάβ\"],\n wide: [\n \"Κυριακή\",\n \"Δευτέρα\",\n \"Τρίτη\",\n \"Τετάρτη\",\n \"Πέμπτη\",\n \"Παρασκευή\",\n \"Σάββατο\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"πμ\",\n pm: \"μμ\",\n midnight: \"μεσάνυχτα\",\n noon: \"μεσημέρι\",\n morning: \"πρωί\",\n afternoon: \"απόγευμα\",\n evening: \"βράδυ\",\n night: \"νύχτα\",\n },\n abbreviated: {\n am: \"π.μ.\",\n pm: \"μ.μ.\",\n midnight: \"μεσάνυχτα\",\n noon: \"μεσημέρι\",\n morning: \"πρωί\",\n afternoon: \"απόγευμα\",\n evening: \"βράδυ\",\n night: \"νύχτα\",\n },\n wide: {\n am: \"π.μ.\",\n pm: \"μ.μ.\",\n midnight: \"μεσάνυχτα\",\n noon: \"μεσημέρι\",\n morning: \"πρωί\",\n afternoon: \"απόγευμα\",\n evening: \"βράδυ\",\n night: \"νύχτα\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, options) => {\n const number = Number(dirtyNumber);\n const unit = options?.unit;\n let suffix;\n\n if (unit === \"year\" || unit === \"month\") {\n suffix = \"ος\";\n } else if (\n unit === \"week\" ||\n unit === \"dayOfYear\" ||\n unit === \"day\" ||\n unit === \"hour\" ||\n unit === \"date\"\n ) {\n suffix = \"η\";\n } else {\n suffix = \"ο\";\n }\n\n return number + suffix;\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(ος|η|ο)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(πΧ|μΧ)/i,\n abbreviated: /^(π\\.?\\s?χ\\.?|π\\.?\\s?κ\\.?\\s?χ\\.?|μ\\.?\\s?χ\\.?|κ\\.?\\s?χ\\.?)/i,\n wide: /^(προ Χριστο(ύ|υ)|πριν απ(ό|ο) την Κοιν(ή|η) Χρονολογ(ί|ι)α|μετ(ά|α) Χριστ(ό|ο)ν|Κοιν(ή|η) Χρονολογ(ί|ι)α)/i,\n};\nconst parseEraPatterns = {\n any: [/^π/i, /^(μ|κ)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^τ[1234]/i,\n wide: /^[1234]ο? τρ(ί|ι)μηνο/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[ιφμαμιιασονδ]/i,\n abbreviated:\n /^(ιαν|φεβ|μ[άα]ρ|απρ|μ[άα][ιΐ]|ιο[ύυ]ν|ιο[ύυ]λ|α[ύυ]γ|σεπ|οκτ|νο[έε]|δεκ)/i,\n wide: /^(μ[άα][ιΐ]|α[ύυ]γο[υύ]στ)(ος|ου)|(ιανου[άα]ρ|φεβρου[άα]ρ|μ[άα]ρτ|απρ[ίι]λ|ιο[ύυ]ν|ιο[ύυ]λ|σεπτ[έε]μβρ|οκτ[ώω]βρ|νο[έε]μβρ|δεκ[έε]μβρ)(ιος|ίου)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^ι/i,\n /^φ/i,\n /^μ/i,\n /^α/i,\n /^μ/i,\n /^ι/i,\n /^ι/i,\n /^α/i,\n /^σ/i,\n /^ο/i,\n /^ν/i,\n /^δ/i,\n ],\n\n any: [\n /^ια/i,\n /^φ/i,\n /^μ[άα]ρ/i,\n /^απ/i,\n /^μ[άα][ιΐ]/i,\n /^ιο[ύυ]ν/i,\n /^ιο[ύυ]λ/i,\n /^α[ύυ]/i,\n /^σ/i,\n /^ο/i,\n /^ν/i,\n /^δ/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[κδτπσ]/i,\n short: /^(κυ|δε|τρ|τε|π[εέ]|π[αά]|σ[αά])/i,\n abbreviated: /^(κυρ|δευ|τρι|τετ|πεμ|παρ|σαβ)/i,\n wide: /^(κυριακ(ή|η)|δευτ(έ|ε)ρα|τρ(ί|ι)τη|τετ(ά|α)ρτη|π(έ|ε)μπτη|παρασκευ(ή|η)|σ(ά|α)ββατο)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^κ/i, /^δ/i, /^τ/i, /^τ/i, /^π/i, /^π/i, /^σ/i],\n any: [/^κ/i, /^δ/i, /^τρ/i, /^τε/i, /^π[εέ]/i, /^π[αά]/i, /^σ/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow:\n /^(πμ|μμ|μεσ(ά|α)νυχτα|μεσημ(έ|ε)ρι|πρω(ί|ι)|απ(ό|ο)γευμα|βρ(ά|α)δυ|ν(ύ|υ)χτα)/i,\n any: /^([πμ]\\.?\\s?μ\\.?|μεσ(ά|α)νυχτα|μεσημ(έ|ε)ρι|πρω(ί|ι)|απ(ό|ο)γευμα|βρ(ά|α)δυ|ν(ύ|υ)χτα)/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^πμ|π\\.\\s?μ\\./i,\n pm: /^μμ|μ\\.\\s?μ\\./i,\n midnight: /^μεσάν/i,\n noon: /^μεσημ(έ|ε)/i,\n morning: /πρω(ί|ι)/i,\n afternoon: /απ(ό|ο)γευμα/i,\n evening: /βρ(ά|α)δυ/i,\n night: /ν(ύ|υ)χτα/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n","const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.js\";\nimport { formatLong } from \"./en-US/_lib/formatLong.js\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.js\";\nimport { localize } from \"./en-US/_lib/localize.js\";\nimport { match } from \"./en-US/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const enUS = {\n code: \"en-US\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default enUS;\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\",\n};\n\nconst timeFormats = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","function declension(scheme, count) {\n // scheme for count=1 exists\n if (scheme.one !== undefined && count === 1) {\n return scheme.one;\n }\n\n const rem10 = count % 10;\n const rem100 = count % 100;\n\n // 1, 21, 31, ...\n if (rem10 === 1 && rem100 !== 11) {\n return scheme.singularNominative.replace(\"{{count}}\", String(count));\n\n // 2, 3, 4, 22, 23, 24, 32 ...\n } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) {\n return scheme.singularGenitive.replace(\"{{count}}\", String(count));\n\n // 5, 6, 7, 8, 9, 10, 11, ...\n } else {\n return scheme.pluralGenitive.replace(\"{{count}}\", String(count));\n }\n}\n\nfunction buildLocalizeTokenFn(scheme) {\n return (count, options) => {\n if (options && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n if (scheme.future) {\n return declension(scheme.future, count);\n } else {\n return \"за \" + declension(scheme.regular, count);\n }\n } else {\n if (scheme.past) {\n return declension(scheme.past, count);\n } else {\n return declension(scheme.regular, count) + \" тому\";\n }\n }\n } else {\n return declension(scheme.regular, count);\n }\n };\n}\n\nconst halfAtMinute = (_, options) => {\n if (options && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"за півхвилини\";\n } else {\n return \"півхвилини тому\";\n }\n }\n\n return \"півхвилини\";\n};\n\nconst formatDistanceLocale = {\n lessThanXSeconds: buildLocalizeTokenFn({\n regular: {\n one: \"менше секунди\",\n singularNominative: \"менше {{count}} секунди\",\n singularGenitive: \"менше {{count}} секунд\",\n pluralGenitive: \"менше {{count}} секунд\",\n },\n future: {\n one: \"менше, ніж за секунду\",\n singularNominative: \"менше, ніж за {{count}} секунду\",\n singularGenitive: \"менше, ніж за {{count}} секунди\",\n pluralGenitive: \"менше, ніж за {{count}} секунд\",\n },\n }),\n\n xSeconds: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} секунда\",\n singularGenitive: \"{{count}} секунди\",\n pluralGenitive: \"{{count}} секунд\",\n },\n past: {\n singularNominative: \"{{count}} секунду тому\",\n singularGenitive: \"{{count}} секунди тому\",\n pluralGenitive: \"{{count}} секунд тому\",\n },\n future: {\n singularNominative: \"за {{count}} секунду\",\n singularGenitive: \"за {{count}} секунди\",\n pluralGenitive: \"за {{count}} секунд\",\n },\n }),\n\n halfAMinute: halfAtMinute,\n\n lessThanXMinutes: buildLocalizeTokenFn({\n regular: {\n one: \"менше хвилини\",\n singularNominative: \"менше {{count}} хвилини\",\n singularGenitive: \"менше {{count}} хвилин\",\n pluralGenitive: \"менше {{count}} хвилин\",\n },\n future: {\n one: \"менше, ніж за хвилину\",\n singularNominative: \"менше, ніж за {{count}} хвилину\",\n singularGenitive: \"менше, ніж за {{count}} хвилини\",\n pluralGenitive: \"менше, ніж за {{count}} хвилин\",\n },\n }),\n\n xMinutes: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} хвилина\",\n singularGenitive: \"{{count}} хвилини\",\n pluralGenitive: \"{{count}} хвилин\",\n },\n past: {\n singularNominative: \"{{count}} хвилину тому\",\n singularGenitive: \"{{count}} хвилини тому\",\n pluralGenitive: \"{{count}} хвилин тому\",\n },\n future: {\n singularNominative: \"за {{count}} хвилину\",\n singularGenitive: \"за {{count}} хвилини\",\n pluralGenitive: \"за {{count}} хвилин\",\n },\n }),\n\n aboutXHours: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"близько {{count}} години\",\n singularGenitive: \"близько {{count}} годин\",\n pluralGenitive: \"близько {{count}} годин\",\n },\n future: {\n singularNominative: \"приблизно за {{count}} годину\",\n singularGenitive: \"приблизно за {{count}} години\",\n pluralGenitive: \"приблизно за {{count}} годин\",\n },\n }),\n\n xHours: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} годину\",\n singularGenitive: \"{{count}} години\",\n pluralGenitive: \"{{count}} годин\",\n },\n }),\n\n xDays: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} день\",\n singularGenitive: \"{{count}} днi\",\n pluralGenitive: \"{{count}} днів\",\n },\n }),\n\n aboutXWeeks: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"близько {{count}} тижня\",\n singularGenitive: \"близько {{count}} тижнів\",\n pluralGenitive: \"близько {{count}} тижнів\",\n },\n future: {\n singularNominative: \"приблизно за {{count}} тиждень\",\n singularGenitive: \"приблизно за {{count}} тижні\",\n pluralGenitive: \"приблизно за {{count}} тижнів\",\n },\n }),\n\n xWeeks: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} тиждень\",\n singularGenitive: \"{{count}} тижні\",\n pluralGenitive: \"{{count}} тижнів\",\n },\n }),\n\n aboutXMonths: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"близько {{count}} місяця\",\n singularGenitive: \"близько {{count}} місяців\",\n pluralGenitive: \"близько {{count}} місяців\",\n },\n future: {\n singularNominative: \"приблизно за {{count}} місяць\",\n singularGenitive: \"приблизно за {{count}} місяці\",\n pluralGenitive: \"приблизно за {{count}} місяців\",\n },\n }),\n\n xMonths: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} місяць\",\n singularGenitive: \"{{count}} місяці\",\n pluralGenitive: \"{{count}} місяців\",\n },\n }),\n\n aboutXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"близько {{count}} року\",\n singularGenitive: \"близько {{count}} років\",\n pluralGenitive: \"близько {{count}} років\",\n },\n future: {\n singularNominative: \"приблизно за {{count}} рік\",\n singularGenitive: \"приблизно за {{count}} роки\",\n pluralGenitive: \"приблизно за {{count}} років\",\n },\n }),\n\n xYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} рік\",\n singularGenitive: \"{{count}} роки\",\n pluralGenitive: \"{{count}} років\",\n },\n }),\n\n overXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"більше {{count}} року\",\n singularGenitive: \"більше {{count}} років\",\n pluralGenitive: \"більше {{count}} років\",\n },\n future: {\n singularNominative: \"більше, ніж за {{count}} рік\",\n singularGenitive: \"більше, ніж за {{count}} роки\",\n pluralGenitive: \"більше, ніж за {{count}} років\",\n },\n }),\n\n almostXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"майже {{count}} рік\",\n singularGenitive: \"майже {{count}} роки\",\n pluralGenitive: \"майже {{count}} років\",\n },\n future: {\n singularNominative: \"майже за {{count}} рік\",\n singularGenitive: \"майже за {{count}} роки\",\n pluralGenitive: \"майже за {{count}} років\",\n },\n }),\n};\n\nexport const formatDistance = (token, count, options) => {\n options = options || {};\n\n return formatDistanceLocale[token](count, options);\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, do MMMM y 'р.'\",\n long: \"do MMMM y 'р.'\",\n medium: \"d MMM y 'р.'\",\n short: \"dd.MM.y\",\n};\n\nconst timeFormats = {\n full: \"H:mm:ss zzzz\",\n long: \"H:mm:ss z\",\n medium: \"H:mm:ss\",\n short: \"H:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'о' {{time}}\",\n long: \"{{date}} 'о' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","import { isSameWeek } from \"../../../isSameWeek.js\";\nimport { toDate } from \"../../../toDate.js\";\n\nconst accusativeWeekdays = [\n \"неділю\",\n \"понеділок\",\n \"вівторок\",\n \"середу\",\n \"четвер\",\n \"п’ятницю\",\n \"суботу\",\n];\n\nfunction lastWeek(day) {\n const weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n case 3:\n case 5:\n case 6:\n return \"'у минулу \" + weekday + \" о' p\";\n case 1:\n case 2:\n case 4:\n return \"'у минулий \" + weekday + \" о' p\";\n }\n}\n\nfunction thisWeek(day) {\n const weekday = accusativeWeekdays[day];\n\n return \"'у \" + weekday + \" о' p\";\n}\n\nfunction nextWeek(day) {\n const weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n case 3:\n case 5:\n case 6:\n return \"'у наступну \" + weekday + \" о' p\";\n case 1:\n case 2:\n case 4:\n return \"'у наступний \" + weekday + \" о' p\";\n }\n}\n\nconst lastWeekFormat = (dirtyDate, baseDate, options) => {\n const date = toDate(dirtyDate);\n const day = date.getDay();\n\n if (isSameWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return lastWeek(day);\n }\n};\n\nconst nextWeekFormat = (dirtyDate, baseDate, options) => {\n const date = toDate(dirtyDate);\n const day = date.getDay();\n if (isSameWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return nextWeek(day);\n }\n};\n\nconst formatRelativeLocale = {\n lastWeek: lastWeekFormat,\n yesterday: \"'вчора о' p\",\n today: \"'сьогодні о' p\",\n tomorrow: \"'завтра о' p\",\n nextWeek: nextWeekFormat,\n other: \"P\",\n};\n\nexport const formatRelative = (token, date, baseDate, options) => {\n const format = formatRelativeLocale[token];\n\n if (typeof format === \"function\") {\n return format(date, baseDate, options);\n }\n\n return format;\n};\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"до н.е.\", \"н.е.\"],\n abbreviated: [\"до н. е.\", \"н. е.\"],\n wide: [\"до нашої ери\", \"нашої ери\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"1-й кв.\", \"2-й кв.\", \"3-й кв.\", \"4-й кв.\"],\n wide: [\"1-й квартал\", \"2-й квартал\", \"3-й квартал\", \"4-й квартал\"],\n};\n\nconst monthValues = {\n // ДСТУ 3582:2013\n narrow: [\"С\", \"Л\", \"Б\", \"К\", \"Т\", \"Ч\", \"Л\", \"С\", \"В\", \"Ж\", \"Л\", \"Г\"],\n abbreviated: [\n \"січ.\",\n \"лют.\",\n \"берез.\",\n \"квіт.\",\n \"трав.\",\n \"черв.\",\n \"лип.\",\n \"серп.\",\n \"верес.\",\n \"жовт.\",\n \"листоп.\",\n \"груд.\",\n ],\n\n wide: [\n \"січень\",\n \"лютий\",\n \"березень\",\n \"квітень\",\n \"травень\",\n \"червень\",\n \"липень\",\n \"серпень\",\n \"вересень\",\n \"жовтень\",\n \"листопад\",\n \"грудень\",\n ],\n};\n\nconst formattingMonthValues = {\n narrow: [\"С\", \"Л\", \"Б\", \"К\", \"Т\", \"Ч\", \"Л\", \"С\", \"В\", \"Ж\", \"Л\", \"Г\"],\n abbreviated: [\n \"січ.\",\n \"лют.\",\n \"берез.\",\n \"квіт.\",\n \"трав.\",\n \"черв.\",\n \"лип.\",\n \"серп.\",\n \"верес.\",\n \"жовт.\",\n \"листоп.\",\n \"груд.\",\n ],\n\n wide: [\n \"січня\",\n \"лютого\",\n \"березня\",\n \"квітня\",\n \"травня\",\n \"червня\",\n \"липня\",\n \"серпня\",\n \"вересня\",\n \"жовтня\",\n \"листопада\",\n \"грудня\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"Н\", \"П\", \"В\", \"С\", \"Ч\", \"П\", \"С\"],\n short: [\"нд\", \"пн\", \"вт\", \"ср\", \"чт\", \"пт\", \"сб\"],\n abbreviated: [\"нед\", \"пон\", \"вів\", \"сер\", \"чтв\", \"птн\", \"суб\"],\n wide: [\n \"неділя\",\n \"понеділок\",\n \"вівторок\",\n \"середа\",\n \"четвер\",\n \"п’ятниця\",\n \"субота\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"півн.\",\n noon: \"пол.\",\n morning: \"ранок\",\n afternoon: \"день\",\n evening: \"веч.\",\n night: \"ніч\",\n },\n abbreviated: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"півн.\",\n noon: \"пол.\",\n morning: \"ранок\",\n afternoon: \"день\",\n evening: \"веч.\",\n night: \"ніч\",\n },\n wide: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"північ\",\n noon: \"полудень\",\n morning: \"ранок\",\n afternoon: \"день\",\n evening: \"вечір\",\n night: \"ніч\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"півн.\",\n noon: \"пол.\",\n morning: \"ранку\",\n afternoon: \"дня\",\n evening: \"веч.\",\n night: \"ночі\",\n },\n abbreviated: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"півн.\",\n noon: \"пол.\",\n morning: \"ранку\",\n afternoon: \"дня\",\n evening: \"веч.\",\n night: \"ночі\",\n },\n wide: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"північ\",\n noon: \"полудень\",\n morning: \"ранку\",\n afternoon: \"дня\",\n evening: \"веч.\",\n night: \"ночі\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, options) => {\n const unit = String(options?.unit);\n const number = Number(dirtyNumber);\n let suffix;\n\n if (unit === \"date\") {\n if (number === 3 || number === 23) {\n suffix = \"-є\";\n } else {\n suffix = \"-е\";\n }\n } else if (unit === \"minute\" || unit === \"second\" || unit === \"hour\") {\n suffix = \"-а\";\n } else {\n suffix = \"-й\";\n }\n\n return number + suffix;\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"any\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(-?(е|й|є|а|я))?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^((до )?н\\.?\\s?е\\.?)/i,\n abbreviated: /^((до )?н\\.?\\s?е\\.?)/i,\n wide: /^(до нашої ери|нашої ери|наша ера)/i,\n};\n\nconst parseEraPatterns = {\n any: [/^д/i, /^н/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234](-?[иі]?й?)? кв.?/i,\n wide: /^[1234](-?[иі]?й?)? квартал/i,\n};\n\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[слбктчвжг]/i,\n abbreviated:\n /^(січ|лют|бер(ез)?|квіт|трав|черв|лип|серп|вер(ес)?|жовт|лис(топ)?|груд)\\.?/i,\n wide: /^(січень|січня|лютий|лютого|березень|березня|квітень|квітня|травень|травня|червня|червень|липень|липня|серпень|серпня|вересень|вересня|жовтень|жовтня|листопад[а]?|грудень|грудня)/i,\n};\n\nconst parseMonthPatterns = {\n narrow: [\n /^с/i,\n /^л/i,\n /^б/i,\n /^к/i,\n /^т/i,\n /^ч/i,\n /^л/i,\n /^с/i,\n /^в/i,\n /^ж/i,\n /^л/i,\n /^г/i,\n ],\n\n any: [\n /^сі/i,\n /^лю/i,\n /^б/i,\n /^к/i,\n /^т/i,\n /^ч/i,\n /^лип/i,\n /^се/i,\n /^в/i,\n /^ж/i,\n /^лис/i,\n /^г/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[нпвсч]/i,\n short: /^(нд|пн|вт|ср|чт|пт|сб)\\.?/i,\n abbreviated: /^(нед|пон|вів|сер|че?тв|птн?|суб)\\.?/i,\n wide: /^(неділ[яі]|понеділ[ок][ка]|вівтор[ок][ка]|серед[аи]|четвер(га)?|п\\W*?ятниц[яі]|субот[аи])/i,\n};\n\nconst parseDayPatterns = {\n narrow: [/^н/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i],\n any: [/^н/i, /^п[он]/i, /^в/i, /^с[ер]/i, /^ч/i, /^п\\W*?[ят]/i, /^с[уб]/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^([дп]п|півн\\.?|пол\\.?|ранок|ранку|день|дня|веч\\.?|ніч|ночі)/i,\n abbreviated: /^([дп]п|півн\\.?|пол\\.?|ранок|ранку|день|дня|веч\\.?|ніч|ночі)/i,\n wide: /^([дп]п|північ|полудень|ранок|ранку|день|дня|вечір|вечора|ніч|ночі)/i,\n};\n\nconst parseDayPeriodPatterns = {\n any: {\n am: /^дп/i,\n pm: /^пп/i,\n midnight: /^півн/i,\n noon: /^пол/i,\n morning: /^р/i,\n afternoon: /^д[ен]/i,\n evening: /^в/i,\n night: /^н/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n",null,"import { formatDistance } from \"./uk/_lib/formatDistance.js\";\nimport { formatLong } from \"./uk/_lib/formatLong.js\";\nimport { formatRelative } from \"./uk/_lib/formatRelative.js\";\nimport { localize } from \"./uk/_lib/localize.js\";\nimport { match } from \"./uk/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary Ukrainian locale.\n * @language Ukrainian\n * @iso-639-2 ukr\n * @author Andrii Korzh [@korzhyk](https://github.com/korzhyk)\n * @author Andriy Shcherbyak [@shcherbyakdev](https://github.com/shcherbyakdev)\n */\nexport const uk = {\n code: \"uk\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default uk;\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["cn","inputs","twMerge","clsx","getRandomString","length","Date","now","Math","random","toString","replace","slice","capitalize","str","toUpperCase","buttonVariants","cva","variants","variant","default","destructive","outline","secondary","ghost","link","size","sm","lg","icon","defaultVariants","Button","forwardRef","asChild","className","props","ref","Comp","Slot","_jsx","displayName","AlertDialog","title","description","cancelTitle","actionTitle","onCancel","onConfirm","rootProps","triggerElement","triggerProps","portalProps","overlayProps","contentProps","headerProps","titleProps","descriptionProps","footerProps","cancelProps","cancelButtonProps","actionProps","actionButtonProps","_jsxs","AlertDialogPrimitive","Root","children","Trigger","Portal","Overlay","Content","Title","Description","Cancel","onClick","Action","Spinner","loading","layout","type","LoaderIcon","LoaderCircle","Loader","spinnerElement","strokeWidth","AttachmentLink","url","pending","target","rel","href","AttachmentAudio","uid","containerProps","audioId","src","id","controls","AttachmentVideo","maxSize","onReady","videoId","videoMaxSize","playerRef","useRef","style","setStyle","useState","maxHeight","maxWidth","useImperativeHandle","current","preload","onCanPlay","event","player","videoWidth","videoHeight","ratio","height","round","width","AttachmentImage","linkProps","imageId","alt","onLoad","AttachmentFile","name","iconElement","fileId","File","AttachmentFailed","failedId","FileXCorner","Attachment","memo","mimeType","split","PresenceBadge","status","xmlns","fill","viewBox","d","Presence","badge","label","badgeProps","labelProps","presence","Avatar","fallbackIconElement","online","onlineProps","presenceProps","imageProps","fallbackProps","initials","words","trim","filter","Boolean","getInitialsFromName","AvatarPrimitive","Image","Fallback","badgeVariants","Badge","buildFormatLongFn","args","options","String","defaultWidth","formats","buildLocalizeFn","value","valuesArray","context","formattingValues","defaultFormattingWidth","values","argumentCallback","buildMatchFn","string","matchPattern","matchPatterns","defaultMatchWidth","matchResult","match","matchedString","parsePatterns","defaultParseWidth","key","Array","isArray","array","predicate","findIndex","pattern","test","object","Object","prototype","hasOwnProperty","call","findKey","valueCallback","rest","buildMatchPatternFn","parseResult","parsePattern","constructFromSymbol","Symbol","for","constructFrom","date","constructor","defaultOptions","getDefaultOptions","toDate","argument","startOfWeek","weekStartsOn","locale","_date","in","day","getDay","diff","setDate","getDate","setHours","isSameWeek","laterDate","earlierDate","laterDate_","earlierDate_","dates","normalize","bind","find","map","normalizeDates","formatDistanceLocale","lessThanXSeconds","one","other","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","formatLong","full","long","medium","short","time","dateTime","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","el","code","formatDistance","token","count","result","tokenValue","addSuffix","comparison","formatRelative","format","localize","ordinalNumber","dirtyNumber","number","Number","unit","suffix","era","narrow","abbreviated","wide","quarter","month","dayPeriod","am","pm","midnight","noon","morning","afternoon","evening","night","parseInt","any","index","firstWeekContainsDate","_options","rem100","enUS","_baseDate","declension","scheme","undefined","rem10","singularNominative","singularGenitive","pluralGenitive","buildLocalizeTokenFn","future","regular","past","_","accusativeWeekdays","thisWeek","dirtyDate","baseDate","weekday","locales","en","ua","formatDate","language","distanceToNow","formatDistanceToNow","isToday","differenceInCalendarDays","isWithinLast7Days","FormattedDate","formatDuration","seconds","h","floor","m","s","pad","num","padStart","CallMessage","signal","info","duration","fromMe","isLast","iconProps","infoProps","formattedDateProps","CallIcon","Phone","PhoneIncoming","PhoneOutgoing","PhoneMissed","DEFAULT_LINKIFY_OPTIONS","DEFAULT_SKELETON_LINES_CLASS_NAMES","LinkifyText","text","linkifyProps","skeletonContainerProps","skeletonLineProps","skeletonLinesClassNames","pendingRef","useMemo","useEffect","_createElement","Linkify","decodeHtmlEntities","element","document","createElement","innerHTML","textContent","LinkPreview","thin","iconFallbackElement","image","titleContainerProps","iconFallbackProps","imageContainerProps","iconSrc","setIconSrc","imageSrc","setImageSrc","handleOnLoad","useCallback","handleIconOnError","onError","handleImageOnError","Globe","StatusSent","Clock","Check","CheckCheck","Ban","ChatMessage","sameSenderAbove","senderName","senderAvatar","attachmentElement","linkifyTextElement","linkPreviewElement","onView","avatarProps","bubbleProps","statusSentProps","attachmentProps","linkifyTextProps","linkPreviewProps","setRef","inView","useInView","messageRef","setRefs","node","hasAvatar","hasAvatarMargin","hasThinMarginTop","DialogItem","isPrivateDialog","selected","onSelect","photo","userOnline","userPresence","hasGroupIcon","lastSentStatus","lastSentDate","lastSenderName","lastMessage","typingStatusText","draft","draftLabel","unreadCount","divider","headerLeftProps","groupIconProps","nameProps","headerRightProps","statusSentIconProps","lastMessageProps","draftLabelProps","lastSenderNameProps","unreadBadgeProps","dividerProps","avatarSource","avatarFallback","avatarOnline","avatarPresence","showTopDivider","showBottomDivider","Users","DismissLayer","active","onDismiss","disableClickOutside","disableEscKeyPress","disabled","innerRef","handleClickOrTouch","e","handleKeyEvent","ev","addEventListener","removeEventListener","onTouchStart","Label","LabelRoot","handleFiles","fileList","accept","multiple","onSelectFile","onInvalidFile","files","from","validated","acceptList","toLowerCase","every","file","fileMimeType","fileType","fileSubtype","some","acceptType","startsWith","endsWith","areValidFiles","FilePickerInput","htmlFor","Paperclip","onChange","currentTarget","FilePickerDropzone","placeholder","dropZoneProps","placeholderContainerProps","placeholderProps","isDragging","setIsDragging","handleDragEvent","preventDefault","stopPropagation","onDragEnter","dataTransfer","items","onDragLeave","contains","relatedTarget","onDragOver","onDrop","clearData","FilePlusCorner","absoluteStrokeWidth","Input","PlaceholderText","titles","rowProps","rows","row","Search","onSearch","hasSearchIcon","hasCancelIcon","searchIconProps","cancelIconProps","setValue","SearchIcon","keyword","CloseIcon","StatusIndicator","statusColorConfig","unknown","statusProps","tooltipProviderProps","tooltipProps","tooltipTriggerProps","tooltipPortalProps","tooltipContentProps","tooltipArrowProps","tooltip","TooltipPrimitive","Provider","Arrow","StreamView","stream","mirror","muted","elementId","isMuted","mirrorClassName","srcObject","playVideo","play","error","console","onloadedmetadata","queueMicrotask","autoPlay","playsInline","LocalStreamView","isMirror","RemoteStreamView","FullscreenStreamView","pipElement","navElement","hideIconElement","showIconElement","fullscreenButtonProps","fullscreenButtonIconProps","pipProps","pipButtonProps","pipButtonIconProps","isFullscreen","setIsFullscreen","isPictureInPicture","setIsPictureInPicture","toggleFullscreen","async","container","fullscreenElement","exitFullscreen","requestFullscreen","err","togglePictureInPicture","prevState","assign","onFullscreenChange","Minimize","Maximize","PictureInPicture2","SwitchPrimitive","Thumb"],"mappings":"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","x_google_ignoreList":[8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,37]}