react-simple-phone-input 5.2.5 → 5.2.7

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.
package/dist/index.js ADDED
@@ -0,0 +1,4596 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __defProps = Object.defineProperties;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
+ var __getProtoOf = Object.getPrototypeOf;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
24
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
+ var __export = (target, all) => {
26
+ for (var name in all)
27
+ __defProp(target, name, { get: all[name], enumerable: true });
28
+ };
29
+ var __copyProps = (to, from, except, desc) => {
30
+ if (from && typeof from === "object" || typeof from === "function") {
31
+ for (let key of __getOwnPropNames(from))
32
+ if (!__hasOwnProp.call(to, key) && key !== except)
33
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
34
+ }
35
+ return to;
36
+ };
37
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
38
+ // If the importer is in node compatibility mode or this is not an ESM
39
+ // file that has been converted to a CommonJS file using a Babel-
40
+ // compatible transform (i.e. "__esModule" has not been set), then set
41
+ // "default" to the CommonJS "module.exports" for node compatibility.
42
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
43
+ mod
44
+ ));
45
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
46
+
47
+ // src/index.ts
48
+ var src_exports = {};
49
+ __export(src_exports, {
50
+ PhoneInput: () => PhoneInput_default
51
+ });
52
+ module.exports = __toCommonJS(src_exports);
53
+
54
+ // src/components/PhoneInput.tsx
55
+ var import_react2 = __toESM(require("react"));
56
+
57
+ // ../../node_modules/.pnpm/tailwind-merge@3.4.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs
58
+ var concatArrays = (array1, array2) => {
59
+ const combinedArray = new Array(array1.length + array2.length);
60
+ for (let i = 0; i < array1.length; i++) {
61
+ combinedArray[i] = array1[i];
62
+ }
63
+ for (let i = 0; i < array2.length; i++) {
64
+ combinedArray[array1.length + i] = array2[i];
65
+ }
66
+ return combinedArray;
67
+ };
68
+ var createClassValidatorObject = (classGroupId, validator) => ({
69
+ classGroupId,
70
+ validator
71
+ });
72
+ var createClassPartObject = (nextPart = /* @__PURE__ */ new Map(), validators = null, classGroupId) => ({
73
+ nextPart,
74
+ validators,
75
+ classGroupId
76
+ });
77
+ var CLASS_PART_SEPARATOR = "-";
78
+ var EMPTY_CONFLICTS = [];
79
+ var ARBITRARY_PROPERTY_PREFIX = "arbitrary..";
80
+ var createClassGroupUtils = (config) => {
81
+ const classMap = createClassMap(config);
82
+ const {
83
+ conflictingClassGroups,
84
+ conflictingClassGroupModifiers
85
+ } = config;
86
+ const getClassGroupId = (className) => {
87
+ if (className.startsWith("[") && className.endsWith("]")) {
88
+ return getGroupIdForArbitraryProperty(className);
89
+ }
90
+ const classParts = className.split(CLASS_PART_SEPARATOR);
91
+ const startIndex = classParts[0] === "" && classParts.length > 1 ? 1 : 0;
92
+ return getGroupRecursive(classParts, startIndex, classMap);
93
+ };
94
+ const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {
95
+ if (hasPostfixModifier) {
96
+ const modifierConflicts = conflictingClassGroupModifiers[classGroupId];
97
+ const baseConflicts = conflictingClassGroups[classGroupId];
98
+ if (modifierConflicts) {
99
+ if (baseConflicts) {
100
+ return concatArrays(baseConflicts, modifierConflicts);
101
+ }
102
+ return modifierConflicts;
103
+ }
104
+ return baseConflicts || EMPTY_CONFLICTS;
105
+ }
106
+ return conflictingClassGroups[classGroupId] || EMPTY_CONFLICTS;
107
+ };
108
+ return {
109
+ getClassGroupId,
110
+ getConflictingClassGroupIds
111
+ };
112
+ };
113
+ var getGroupRecursive = (classParts, startIndex, classPartObject) => {
114
+ const classPathsLength = classParts.length - startIndex;
115
+ if (classPathsLength === 0) {
116
+ return classPartObject.classGroupId;
117
+ }
118
+ const currentClassPart = classParts[startIndex];
119
+ const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
120
+ if (nextClassPartObject) {
121
+ const result = getGroupRecursive(classParts, startIndex + 1, nextClassPartObject);
122
+ if (result) return result;
123
+ }
124
+ const validators = classPartObject.validators;
125
+ if (validators === null) {
126
+ return void 0;
127
+ }
128
+ const classRest = startIndex === 0 ? classParts.join(CLASS_PART_SEPARATOR) : classParts.slice(startIndex).join(CLASS_PART_SEPARATOR);
129
+ const validatorsLength = validators.length;
130
+ for (let i = 0; i < validatorsLength; i++) {
131
+ const validatorObj = validators[i];
132
+ if (validatorObj.validator(classRest)) {
133
+ return validatorObj.classGroupId;
134
+ }
135
+ }
136
+ return void 0;
137
+ };
138
+ var getGroupIdForArbitraryProperty = (className) => className.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
139
+ const content = className.slice(1, -1);
140
+ const colonIndex = content.indexOf(":");
141
+ const property = content.slice(0, colonIndex);
142
+ return property ? ARBITRARY_PROPERTY_PREFIX + property : void 0;
143
+ })();
144
+ var createClassMap = (config) => {
145
+ const {
146
+ theme,
147
+ classGroups
148
+ } = config;
149
+ return processClassGroups(classGroups, theme);
150
+ };
151
+ var processClassGroups = (classGroups, theme) => {
152
+ const classMap = createClassPartObject();
153
+ for (const classGroupId in classGroups) {
154
+ const group = classGroups[classGroupId];
155
+ processClassesRecursively(group, classMap, classGroupId, theme);
156
+ }
157
+ return classMap;
158
+ };
159
+ var processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {
160
+ const len = classGroup.length;
161
+ for (let i = 0; i < len; i++) {
162
+ const classDefinition = classGroup[i];
163
+ processClassDefinition(classDefinition, classPartObject, classGroupId, theme);
164
+ }
165
+ };
166
+ var processClassDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
167
+ if (typeof classDefinition === "string") {
168
+ processStringDefinition(classDefinition, classPartObject, classGroupId);
169
+ return;
170
+ }
171
+ if (typeof classDefinition === "function") {
172
+ processFunctionDefinition(classDefinition, classPartObject, classGroupId, theme);
173
+ return;
174
+ }
175
+ processObjectDefinition(classDefinition, classPartObject, classGroupId, theme);
176
+ };
177
+ var processStringDefinition = (classDefinition, classPartObject, classGroupId) => {
178
+ const classPartObjectToEdit = classDefinition === "" ? classPartObject : getPart(classPartObject, classDefinition);
179
+ classPartObjectToEdit.classGroupId = classGroupId;
180
+ };
181
+ var processFunctionDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
182
+ if (isThemeGetter(classDefinition)) {
183
+ processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
184
+ return;
185
+ }
186
+ if (classPartObject.validators === null) {
187
+ classPartObject.validators = [];
188
+ }
189
+ classPartObject.validators.push(createClassValidatorObject(classGroupId, classDefinition));
190
+ };
191
+ var processObjectDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
192
+ const entries = Object.entries(classDefinition);
193
+ const len = entries.length;
194
+ for (let i = 0; i < len; i++) {
195
+ const [key, value] = entries[i];
196
+ processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme);
197
+ }
198
+ };
199
+ var getPart = (classPartObject, path) => {
200
+ let current = classPartObject;
201
+ const parts = path.split(CLASS_PART_SEPARATOR);
202
+ const len = parts.length;
203
+ for (let i = 0; i < len; i++) {
204
+ const part = parts[i];
205
+ let next = current.nextPart.get(part);
206
+ if (!next) {
207
+ next = createClassPartObject();
208
+ current.nextPart.set(part, next);
209
+ }
210
+ current = next;
211
+ }
212
+ return current;
213
+ };
214
+ var isThemeGetter = (func) => "isThemeGetter" in func && func.isThemeGetter === true;
215
+ var createLruCache = (maxCacheSize) => {
216
+ if (maxCacheSize < 1) {
217
+ return {
218
+ get: () => void 0,
219
+ set: () => {
220
+ }
221
+ };
222
+ }
223
+ let cacheSize = 0;
224
+ let cache = /* @__PURE__ */ Object.create(null);
225
+ let previousCache = /* @__PURE__ */ Object.create(null);
226
+ const update = (key, value) => {
227
+ cache[key] = value;
228
+ cacheSize++;
229
+ if (cacheSize > maxCacheSize) {
230
+ cacheSize = 0;
231
+ previousCache = cache;
232
+ cache = /* @__PURE__ */ Object.create(null);
233
+ }
234
+ };
235
+ return {
236
+ get(key) {
237
+ let value = cache[key];
238
+ if (value !== void 0) {
239
+ return value;
240
+ }
241
+ if ((value = previousCache[key]) !== void 0) {
242
+ update(key, value);
243
+ return value;
244
+ }
245
+ },
246
+ set(key, value) {
247
+ if (key in cache) {
248
+ cache[key] = value;
249
+ } else {
250
+ update(key, value);
251
+ }
252
+ }
253
+ };
254
+ };
255
+ var IMPORTANT_MODIFIER = "!";
256
+ var MODIFIER_SEPARATOR = ":";
257
+ var EMPTY_MODIFIERS = [];
258
+ var createResultObject = (modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition, isExternal) => ({
259
+ modifiers,
260
+ hasImportantModifier,
261
+ baseClassName,
262
+ maybePostfixModifierPosition,
263
+ isExternal
264
+ });
265
+ var createParseClassName = (config) => {
266
+ const {
267
+ prefix,
268
+ experimentalParseClassName
269
+ } = config;
270
+ let parseClassName = (className) => {
271
+ const modifiers = [];
272
+ let bracketDepth = 0;
273
+ let parenDepth = 0;
274
+ let modifierStart = 0;
275
+ let postfixModifierPosition;
276
+ const len = className.length;
277
+ for (let index = 0; index < len; index++) {
278
+ const currentCharacter = className[index];
279
+ if (bracketDepth === 0 && parenDepth === 0) {
280
+ if (currentCharacter === MODIFIER_SEPARATOR) {
281
+ modifiers.push(className.slice(modifierStart, index));
282
+ modifierStart = index + 1;
283
+ continue;
284
+ }
285
+ if (currentCharacter === "/") {
286
+ postfixModifierPosition = index;
287
+ continue;
288
+ }
289
+ }
290
+ if (currentCharacter === "[") bracketDepth++;
291
+ else if (currentCharacter === "]") bracketDepth--;
292
+ else if (currentCharacter === "(") parenDepth++;
293
+ else if (currentCharacter === ")") parenDepth--;
294
+ }
295
+ const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.slice(modifierStart);
296
+ let baseClassName = baseClassNameWithImportantModifier;
297
+ let hasImportantModifier = false;
298
+ if (baseClassNameWithImportantModifier.endsWith(IMPORTANT_MODIFIER)) {
299
+ baseClassName = baseClassNameWithImportantModifier.slice(0, -1);
300
+ hasImportantModifier = true;
301
+ } else if (
302
+ /**
303
+ * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
304
+ * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
305
+ */
306
+ baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)
307
+ ) {
308
+ baseClassName = baseClassNameWithImportantModifier.slice(1);
309
+ hasImportantModifier = true;
310
+ }
311
+ const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : void 0;
312
+ return createResultObject(modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition);
313
+ };
314
+ if (prefix) {
315
+ const fullPrefix = prefix + MODIFIER_SEPARATOR;
316
+ const parseClassNameOriginal = parseClassName;
317
+ parseClassName = (className) => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.slice(fullPrefix.length)) : createResultObject(EMPTY_MODIFIERS, false, className, void 0, true);
318
+ }
319
+ if (experimentalParseClassName) {
320
+ const parseClassNameOriginal = parseClassName;
321
+ parseClassName = (className) => experimentalParseClassName({
322
+ className,
323
+ parseClassName: parseClassNameOriginal
324
+ });
325
+ }
326
+ return parseClassName;
327
+ };
328
+ var createSortModifiers = (config) => {
329
+ const modifierWeights = /* @__PURE__ */ new Map();
330
+ config.orderSensitiveModifiers.forEach((mod, index) => {
331
+ modifierWeights.set(mod, 1e6 + index);
332
+ });
333
+ return (modifiers) => {
334
+ const result = [];
335
+ let currentSegment = [];
336
+ for (let i = 0; i < modifiers.length; i++) {
337
+ const modifier = modifiers[i];
338
+ const isArbitrary = modifier[0] === "[";
339
+ const isOrderSensitive = modifierWeights.has(modifier);
340
+ if (isArbitrary || isOrderSensitive) {
341
+ if (currentSegment.length > 0) {
342
+ currentSegment.sort();
343
+ result.push(...currentSegment);
344
+ currentSegment = [];
345
+ }
346
+ result.push(modifier);
347
+ } else {
348
+ currentSegment.push(modifier);
349
+ }
350
+ }
351
+ if (currentSegment.length > 0) {
352
+ currentSegment.sort();
353
+ result.push(...currentSegment);
354
+ }
355
+ return result;
356
+ };
357
+ };
358
+ var createConfigUtils = (config) => __spreadValues({
359
+ cache: createLruCache(config.cacheSize),
360
+ parseClassName: createParseClassName(config),
361
+ sortModifiers: createSortModifiers(config)
362
+ }, createClassGroupUtils(config));
363
+ var SPLIT_CLASSES_REGEX = /\s+/;
364
+ var mergeClassList = (classList, configUtils) => {
365
+ const {
366
+ parseClassName,
367
+ getClassGroupId,
368
+ getConflictingClassGroupIds,
369
+ sortModifiers
370
+ } = configUtils;
371
+ const classGroupsInConflict = [];
372
+ const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
373
+ let result = "";
374
+ for (let index = classNames.length - 1; index >= 0; index -= 1) {
375
+ const originalClassName = classNames[index];
376
+ const {
377
+ isExternal,
378
+ modifiers,
379
+ hasImportantModifier,
380
+ baseClassName,
381
+ maybePostfixModifierPosition
382
+ } = parseClassName(originalClassName);
383
+ if (isExternal) {
384
+ result = originalClassName + (result.length > 0 ? " " + result : result);
385
+ continue;
386
+ }
387
+ let hasPostfixModifier = !!maybePostfixModifierPosition;
388
+ let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
389
+ if (!classGroupId) {
390
+ if (!hasPostfixModifier) {
391
+ result = originalClassName + (result.length > 0 ? " " + result : result);
392
+ continue;
393
+ }
394
+ classGroupId = getClassGroupId(baseClassName);
395
+ if (!classGroupId) {
396
+ result = originalClassName + (result.length > 0 ? " " + result : result);
397
+ continue;
398
+ }
399
+ hasPostfixModifier = false;
400
+ }
401
+ const variantModifier = modifiers.length === 0 ? "" : modifiers.length === 1 ? modifiers[0] : sortModifiers(modifiers).join(":");
402
+ const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
403
+ const classId = modifierId + classGroupId;
404
+ if (classGroupsInConflict.indexOf(classId) > -1) {
405
+ continue;
406
+ }
407
+ classGroupsInConflict.push(classId);
408
+ const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
409
+ for (let i = 0; i < conflictGroups.length; ++i) {
410
+ const group = conflictGroups[i];
411
+ classGroupsInConflict.push(modifierId + group);
412
+ }
413
+ result = originalClassName + (result.length > 0 ? " " + result : result);
414
+ }
415
+ return result;
416
+ };
417
+ var twJoin = (...classLists) => {
418
+ let index = 0;
419
+ let argument;
420
+ let resolvedValue;
421
+ let string = "";
422
+ while (index < classLists.length) {
423
+ if (argument = classLists[index++]) {
424
+ if (resolvedValue = toValue(argument)) {
425
+ string && (string += " ");
426
+ string += resolvedValue;
427
+ }
428
+ }
429
+ }
430
+ return string;
431
+ };
432
+ var toValue = (mix) => {
433
+ if (typeof mix === "string") {
434
+ return mix;
435
+ }
436
+ let resolvedValue;
437
+ let string = "";
438
+ for (let k = 0; k < mix.length; k++) {
439
+ if (mix[k]) {
440
+ if (resolvedValue = toValue(mix[k])) {
441
+ string && (string += " ");
442
+ string += resolvedValue;
443
+ }
444
+ }
445
+ }
446
+ return string;
447
+ };
448
+ var createTailwindMerge = (createConfigFirst, ...createConfigRest) => {
449
+ let configUtils;
450
+ let cacheGet;
451
+ let cacheSet;
452
+ let functionToCall;
453
+ const initTailwindMerge = (classList) => {
454
+ const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
455
+ configUtils = createConfigUtils(config);
456
+ cacheGet = configUtils.cache.get;
457
+ cacheSet = configUtils.cache.set;
458
+ functionToCall = tailwindMerge;
459
+ return tailwindMerge(classList);
460
+ };
461
+ const tailwindMerge = (classList) => {
462
+ const cachedResult = cacheGet(classList);
463
+ if (cachedResult) {
464
+ return cachedResult;
465
+ }
466
+ const result = mergeClassList(classList, configUtils);
467
+ cacheSet(classList, result);
468
+ return result;
469
+ };
470
+ functionToCall = initTailwindMerge;
471
+ return (...args) => functionToCall(twJoin(...args));
472
+ };
473
+ var fallbackThemeArr = [];
474
+ var fromTheme = (key) => {
475
+ const themeGetter = (theme) => theme[key] || fallbackThemeArr;
476
+ themeGetter.isThemeGetter = true;
477
+ return themeGetter;
478
+ };
479
+ var arbitraryValueRegex = /^\[(?:(\w[\w-]*):)?(.+)\]$/i;
480
+ var arbitraryVariableRegex = /^\((?:(\w[\w-]*):)?(.+)\)$/i;
481
+ var fractionRegex = /^\d+\/\d+$/;
482
+ var tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
483
+ var 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$/;
484
+ var colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/;
485
+ var shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
486
+ var imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
487
+ var isFraction = (value) => fractionRegex.test(value);
488
+ var isNumber = (value) => !!value && !Number.isNaN(Number(value));
489
+ var isInteger = (value) => !!value && Number.isInteger(Number(value));
490
+ var isPercent = (value) => value.endsWith("%") && isNumber(value.slice(0, -1));
491
+ var isTshirtSize = (value) => tshirtUnitRegex.test(value);
492
+ var isAny = () => true;
493
+ var isLengthOnly = (value) => (
494
+ // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
495
+ // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
496
+ // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
497
+ lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)
498
+ );
499
+ var isNever = () => false;
500
+ var isShadow = (value) => shadowRegex.test(value);
501
+ var isImage = (value) => imageRegex.test(value);
502
+ var isAnyNonArbitrary = (value) => !isArbitraryValue(value) && !isArbitraryVariable(value);
503
+ var isArbitrarySize = (value) => getIsArbitraryValue(value, isLabelSize, isNever);
504
+ var isArbitraryValue = (value) => arbitraryValueRegex.test(value);
505
+ var isArbitraryLength = (value) => getIsArbitraryValue(value, isLabelLength, isLengthOnly);
506
+ var isArbitraryNumber = (value) => getIsArbitraryValue(value, isLabelNumber, isNumber);
507
+ var isArbitraryPosition = (value) => getIsArbitraryValue(value, isLabelPosition, isNever);
508
+ var isArbitraryImage = (value) => getIsArbitraryValue(value, isLabelImage, isImage);
509
+ var isArbitraryShadow = (value) => getIsArbitraryValue(value, isLabelShadow, isShadow);
510
+ var isArbitraryVariable = (value) => arbitraryVariableRegex.test(value);
511
+ var isArbitraryVariableLength = (value) => getIsArbitraryVariable(value, isLabelLength);
512
+ var isArbitraryVariableFamilyName = (value) => getIsArbitraryVariable(value, isLabelFamilyName);
513
+ var isArbitraryVariablePosition = (value) => getIsArbitraryVariable(value, isLabelPosition);
514
+ var isArbitraryVariableSize = (value) => getIsArbitraryVariable(value, isLabelSize);
515
+ var isArbitraryVariableImage = (value) => getIsArbitraryVariable(value, isLabelImage);
516
+ var isArbitraryVariableShadow = (value) => getIsArbitraryVariable(value, isLabelShadow, true);
517
+ var getIsArbitraryValue = (value, testLabel, testValue) => {
518
+ const result = arbitraryValueRegex.exec(value);
519
+ if (result) {
520
+ if (result[1]) {
521
+ return testLabel(result[1]);
522
+ }
523
+ return testValue(result[2]);
524
+ }
525
+ return false;
526
+ };
527
+ var getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {
528
+ const result = arbitraryVariableRegex.exec(value);
529
+ if (result) {
530
+ if (result[1]) {
531
+ return testLabel(result[1]);
532
+ }
533
+ return shouldMatchNoLabel;
534
+ }
535
+ return false;
536
+ };
537
+ var isLabelPosition = (label) => label === "position" || label === "percentage";
538
+ var isLabelImage = (label) => label === "image" || label === "url";
539
+ var isLabelSize = (label) => label === "length" || label === "size" || label === "bg-size";
540
+ var isLabelLength = (label) => label === "length";
541
+ var isLabelNumber = (label) => label === "number";
542
+ var isLabelFamilyName = (label) => label === "family-name";
543
+ var isLabelShadow = (label) => label === "shadow";
544
+ var getDefaultConfig = () => {
545
+ const themeColor = fromTheme("color");
546
+ const themeFont = fromTheme("font");
547
+ const themeText = fromTheme("text");
548
+ const themeFontWeight = fromTheme("font-weight");
549
+ const themeTracking = fromTheme("tracking");
550
+ const themeLeading = fromTheme("leading");
551
+ const themeBreakpoint = fromTheme("breakpoint");
552
+ const themeContainer = fromTheme("container");
553
+ const themeSpacing = fromTheme("spacing");
554
+ const themeRadius = fromTheme("radius");
555
+ const themeShadow = fromTheme("shadow");
556
+ const themeInsetShadow = fromTheme("inset-shadow");
557
+ const themeTextShadow = fromTheme("text-shadow");
558
+ const themeDropShadow = fromTheme("drop-shadow");
559
+ const themeBlur = fromTheme("blur");
560
+ const themePerspective = fromTheme("perspective");
561
+ const themeAspect = fromTheme("aspect");
562
+ const themeEase = fromTheme("ease");
563
+ const themeAnimate = fromTheme("animate");
564
+ const scaleBreak = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
565
+ const scalePosition = () => [
566
+ "center",
567
+ "top",
568
+ "bottom",
569
+ "left",
570
+ "right",
571
+ "top-left",
572
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
573
+ "left-top",
574
+ "top-right",
575
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
576
+ "right-top",
577
+ "bottom-right",
578
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
579
+ "right-bottom",
580
+ "bottom-left",
581
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
582
+ "left-bottom"
583
+ ];
584
+ const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];
585
+ const scaleOverflow = () => ["auto", "hidden", "clip", "visible", "scroll"];
586
+ const scaleOverscroll = () => ["auto", "contain", "none"];
587
+ const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];
588
+ const scaleInset = () => [isFraction, "full", "auto", ...scaleUnambiguousSpacing()];
589
+ const scaleGridTemplateColsRows = () => [isInteger, "none", "subgrid", isArbitraryVariable, isArbitraryValue];
590
+ const scaleGridColRowStartAndEnd = () => ["auto", {
591
+ span: ["full", isInteger, isArbitraryVariable, isArbitraryValue]
592
+ }, isInteger, isArbitraryVariable, isArbitraryValue];
593
+ const scaleGridColRowStartOrEnd = () => [isInteger, "auto", isArbitraryVariable, isArbitraryValue];
594
+ const scaleGridAutoColsRows = () => ["auto", "min", "max", "fr", isArbitraryVariable, isArbitraryValue];
595
+ const scaleAlignPrimaryAxis = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"];
596
+ const scaleAlignSecondaryAxis = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"];
597
+ const scaleMargin = () => ["auto", ...scaleUnambiguousSpacing()];
598
+ const scaleSizing = () => [isFraction, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...scaleUnambiguousSpacing()];
599
+ const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];
600
+ const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {
601
+ position: [isArbitraryVariable, isArbitraryValue]
602
+ }];
603
+ const scaleBgRepeat = () => ["no-repeat", {
604
+ repeat: ["", "x", "y", "space", "round"]
605
+ }];
606
+ const scaleBgSize = () => ["auto", "cover", "contain", isArbitraryVariableSize, isArbitrarySize, {
607
+ size: [isArbitraryVariable, isArbitraryValue]
608
+ }];
609
+ const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];
610
+ const scaleRadius = () => [
611
+ // Deprecated since Tailwind CSS v4.0.0
612
+ "",
613
+ "none",
614
+ "full",
615
+ themeRadius,
616
+ isArbitraryVariable,
617
+ isArbitraryValue
618
+ ];
619
+ const scaleBorderWidth = () => ["", isNumber, isArbitraryVariableLength, isArbitraryLength];
620
+ const scaleLineStyle = () => ["solid", "dashed", "dotted", "double"];
621
+ const scaleBlendMode = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"];
622
+ const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];
623
+ const scaleBlur = () => [
624
+ // Deprecated since Tailwind CSS v4.0.0
625
+ "",
626
+ "none",
627
+ themeBlur,
628
+ isArbitraryVariable,
629
+ isArbitraryValue
630
+ ];
631
+ const scaleRotate = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
632
+ const scaleScale = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
633
+ const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];
634
+ const scaleTranslate = () => [isFraction, "full", ...scaleUnambiguousSpacing()];
635
+ return {
636
+ cacheSize: 500,
637
+ theme: {
638
+ animate: ["spin", "ping", "pulse", "bounce"],
639
+ aspect: ["video"],
640
+ blur: [isTshirtSize],
641
+ breakpoint: [isTshirtSize],
642
+ color: [isAny],
643
+ container: [isTshirtSize],
644
+ "drop-shadow": [isTshirtSize],
645
+ ease: ["in", "out", "in-out"],
646
+ font: [isAnyNonArbitrary],
647
+ "font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
648
+ "inset-shadow": [isTshirtSize],
649
+ leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
650
+ perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
651
+ radius: [isTshirtSize],
652
+ shadow: [isTshirtSize],
653
+ spacing: ["px", isNumber],
654
+ text: [isTshirtSize],
655
+ "text-shadow": [isTshirtSize],
656
+ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
657
+ },
658
+ classGroups: {
659
+ // --------------
660
+ // --- Layout ---
661
+ // --------------
662
+ /**
663
+ * Aspect Ratio
664
+ * @see https://tailwindcss.com/docs/aspect-ratio
665
+ */
666
+ aspect: [{
667
+ aspect: ["auto", "square", isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]
668
+ }],
669
+ /**
670
+ * Container
671
+ * @see https://tailwindcss.com/docs/container
672
+ * @deprecated since Tailwind CSS v4.0.0
673
+ */
674
+ container: ["container"],
675
+ /**
676
+ * Columns
677
+ * @see https://tailwindcss.com/docs/columns
678
+ */
679
+ columns: [{
680
+ columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]
681
+ }],
682
+ /**
683
+ * Break After
684
+ * @see https://tailwindcss.com/docs/break-after
685
+ */
686
+ "break-after": [{
687
+ "break-after": scaleBreak()
688
+ }],
689
+ /**
690
+ * Break Before
691
+ * @see https://tailwindcss.com/docs/break-before
692
+ */
693
+ "break-before": [{
694
+ "break-before": scaleBreak()
695
+ }],
696
+ /**
697
+ * Break Inside
698
+ * @see https://tailwindcss.com/docs/break-inside
699
+ */
700
+ "break-inside": [{
701
+ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
702
+ }],
703
+ /**
704
+ * Box Decoration Break
705
+ * @see https://tailwindcss.com/docs/box-decoration-break
706
+ */
707
+ "box-decoration": [{
708
+ "box-decoration": ["slice", "clone"]
709
+ }],
710
+ /**
711
+ * Box Sizing
712
+ * @see https://tailwindcss.com/docs/box-sizing
713
+ */
714
+ box: [{
715
+ box: ["border", "content"]
716
+ }],
717
+ /**
718
+ * Display
719
+ * @see https://tailwindcss.com/docs/display
720
+ */
721
+ 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"],
722
+ /**
723
+ * Screen Reader Only
724
+ * @see https://tailwindcss.com/docs/display#screen-reader-only
725
+ */
726
+ sr: ["sr-only", "not-sr-only"],
727
+ /**
728
+ * Floats
729
+ * @see https://tailwindcss.com/docs/float
730
+ */
731
+ float: [{
732
+ float: ["right", "left", "none", "start", "end"]
733
+ }],
734
+ /**
735
+ * Clear
736
+ * @see https://tailwindcss.com/docs/clear
737
+ */
738
+ clear: [{
739
+ clear: ["left", "right", "both", "none", "start", "end"]
740
+ }],
741
+ /**
742
+ * Isolation
743
+ * @see https://tailwindcss.com/docs/isolation
744
+ */
745
+ isolation: ["isolate", "isolation-auto"],
746
+ /**
747
+ * Object Fit
748
+ * @see https://tailwindcss.com/docs/object-fit
749
+ */
750
+ "object-fit": [{
751
+ object: ["contain", "cover", "fill", "none", "scale-down"]
752
+ }],
753
+ /**
754
+ * Object Position
755
+ * @see https://tailwindcss.com/docs/object-position
756
+ */
757
+ "object-position": [{
758
+ object: scalePositionWithArbitrary()
759
+ }],
760
+ /**
761
+ * Overflow
762
+ * @see https://tailwindcss.com/docs/overflow
763
+ */
764
+ overflow: [{
765
+ overflow: scaleOverflow()
766
+ }],
767
+ /**
768
+ * Overflow X
769
+ * @see https://tailwindcss.com/docs/overflow
770
+ */
771
+ "overflow-x": [{
772
+ "overflow-x": scaleOverflow()
773
+ }],
774
+ /**
775
+ * Overflow Y
776
+ * @see https://tailwindcss.com/docs/overflow
777
+ */
778
+ "overflow-y": [{
779
+ "overflow-y": scaleOverflow()
780
+ }],
781
+ /**
782
+ * Overscroll Behavior
783
+ * @see https://tailwindcss.com/docs/overscroll-behavior
784
+ */
785
+ overscroll: [{
786
+ overscroll: scaleOverscroll()
787
+ }],
788
+ /**
789
+ * Overscroll Behavior X
790
+ * @see https://tailwindcss.com/docs/overscroll-behavior
791
+ */
792
+ "overscroll-x": [{
793
+ "overscroll-x": scaleOverscroll()
794
+ }],
795
+ /**
796
+ * Overscroll Behavior Y
797
+ * @see https://tailwindcss.com/docs/overscroll-behavior
798
+ */
799
+ "overscroll-y": [{
800
+ "overscroll-y": scaleOverscroll()
801
+ }],
802
+ /**
803
+ * Position
804
+ * @see https://tailwindcss.com/docs/position
805
+ */
806
+ position: ["static", "fixed", "absolute", "relative", "sticky"],
807
+ /**
808
+ * Top / Right / Bottom / Left
809
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
810
+ */
811
+ inset: [{
812
+ inset: scaleInset()
813
+ }],
814
+ /**
815
+ * Right / Left
816
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
817
+ */
818
+ "inset-x": [{
819
+ "inset-x": scaleInset()
820
+ }],
821
+ /**
822
+ * Top / Bottom
823
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
824
+ */
825
+ "inset-y": [{
826
+ "inset-y": scaleInset()
827
+ }],
828
+ /**
829
+ * Start
830
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
831
+ */
832
+ start: [{
833
+ start: scaleInset()
834
+ }],
835
+ /**
836
+ * End
837
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
838
+ */
839
+ end: [{
840
+ end: scaleInset()
841
+ }],
842
+ /**
843
+ * Top
844
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
845
+ */
846
+ top: [{
847
+ top: scaleInset()
848
+ }],
849
+ /**
850
+ * Right
851
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
852
+ */
853
+ right: [{
854
+ right: scaleInset()
855
+ }],
856
+ /**
857
+ * Bottom
858
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
859
+ */
860
+ bottom: [{
861
+ bottom: scaleInset()
862
+ }],
863
+ /**
864
+ * Left
865
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
866
+ */
867
+ left: [{
868
+ left: scaleInset()
869
+ }],
870
+ /**
871
+ * Visibility
872
+ * @see https://tailwindcss.com/docs/visibility
873
+ */
874
+ visibility: ["visible", "invisible", "collapse"],
875
+ /**
876
+ * Z-Index
877
+ * @see https://tailwindcss.com/docs/z-index
878
+ */
879
+ z: [{
880
+ z: [isInteger, "auto", isArbitraryVariable, isArbitraryValue]
881
+ }],
882
+ // ------------------------
883
+ // --- Flexbox and Grid ---
884
+ // ------------------------
885
+ /**
886
+ * Flex Basis
887
+ * @see https://tailwindcss.com/docs/flex-basis
888
+ */
889
+ basis: [{
890
+ basis: [isFraction, "full", "auto", themeContainer, ...scaleUnambiguousSpacing()]
891
+ }],
892
+ /**
893
+ * Flex Direction
894
+ * @see https://tailwindcss.com/docs/flex-direction
895
+ */
896
+ "flex-direction": [{
897
+ flex: ["row", "row-reverse", "col", "col-reverse"]
898
+ }],
899
+ /**
900
+ * Flex Wrap
901
+ * @see https://tailwindcss.com/docs/flex-wrap
902
+ */
903
+ "flex-wrap": [{
904
+ flex: ["nowrap", "wrap", "wrap-reverse"]
905
+ }],
906
+ /**
907
+ * Flex
908
+ * @see https://tailwindcss.com/docs/flex
909
+ */
910
+ flex: [{
911
+ flex: [isNumber, isFraction, "auto", "initial", "none", isArbitraryValue]
912
+ }],
913
+ /**
914
+ * Flex Grow
915
+ * @see https://tailwindcss.com/docs/flex-grow
916
+ */
917
+ grow: [{
918
+ grow: ["", isNumber, isArbitraryVariable, isArbitraryValue]
919
+ }],
920
+ /**
921
+ * Flex Shrink
922
+ * @see https://tailwindcss.com/docs/flex-shrink
923
+ */
924
+ shrink: [{
925
+ shrink: ["", isNumber, isArbitraryVariable, isArbitraryValue]
926
+ }],
927
+ /**
928
+ * Order
929
+ * @see https://tailwindcss.com/docs/order
930
+ */
931
+ order: [{
932
+ order: [isInteger, "first", "last", "none", isArbitraryVariable, isArbitraryValue]
933
+ }],
934
+ /**
935
+ * Grid Template Columns
936
+ * @see https://tailwindcss.com/docs/grid-template-columns
937
+ */
938
+ "grid-cols": [{
939
+ "grid-cols": scaleGridTemplateColsRows()
940
+ }],
941
+ /**
942
+ * Grid Column Start / End
943
+ * @see https://tailwindcss.com/docs/grid-column
944
+ */
945
+ "col-start-end": [{
946
+ col: scaleGridColRowStartAndEnd()
947
+ }],
948
+ /**
949
+ * Grid Column Start
950
+ * @see https://tailwindcss.com/docs/grid-column
951
+ */
952
+ "col-start": [{
953
+ "col-start": scaleGridColRowStartOrEnd()
954
+ }],
955
+ /**
956
+ * Grid Column End
957
+ * @see https://tailwindcss.com/docs/grid-column
958
+ */
959
+ "col-end": [{
960
+ "col-end": scaleGridColRowStartOrEnd()
961
+ }],
962
+ /**
963
+ * Grid Template Rows
964
+ * @see https://tailwindcss.com/docs/grid-template-rows
965
+ */
966
+ "grid-rows": [{
967
+ "grid-rows": scaleGridTemplateColsRows()
968
+ }],
969
+ /**
970
+ * Grid Row Start / End
971
+ * @see https://tailwindcss.com/docs/grid-row
972
+ */
973
+ "row-start-end": [{
974
+ row: scaleGridColRowStartAndEnd()
975
+ }],
976
+ /**
977
+ * Grid Row Start
978
+ * @see https://tailwindcss.com/docs/grid-row
979
+ */
980
+ "row-start": [{
981
+ "row-start": scaleGridColRowStartOrEnd()
982
+ }],
983
+ /**
984
+ * Grid Row End
985
+ * @see https://tailwindcss.com/docs/grid-row
986
+ */
987
+ "row-end": [{
988
+ "row-end": scaleGridColRowStartOrEnd()
989
+ }],
990
+ /**
991
+ * Grid Auto Flow
992
+ * @see https://tailwindcss.com/docs/grid-auto-flow
993
+ */
994
+ "grid-flow": [{
995
+ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
996
+ }],
997
+ /**
998
+ * Grid Auto Columns
999
+ * @see https://tailwindcss.com/docs/grid-auto-columns
1000
+ */
1001
+ "auto-cols": [{
1002
+ "auto-cols": scaleGridAutoColsRows()
1003
+ }],
1004
+ /**
1005
+ * Grid Auto Rows
1006
+ * @see https://tailwindcss.com/docs/grid-auto-rows
1007
+ */
1008
+ "auto-rows": [{
1009
+ "auto-rows": scaleGridAutoColsRows()
1010
+ }],
1011
+ /**
1012
+ * Gap
1013
+ * @see https://tailwindcss.com/docs/gap
1014
+ */
1015
+ gap: [{
1016
+ gap: scaleUnambiguousSpacing()
1017
+ }],
1018
+ /**
1019
+ * Gap X
1020
+ * @see https://tailwindcss.com/docs/gap
1021
+ */
1022
+ "gap-x": [{
1023
+ "gap-x": scaleUnambiguousSpacing()
1024
+ }],
1025
+ /**
1026
+ * Gap Y
1027
+ * @see https://tailwindcss.com/docs/gap
1028
+ */
1029
+ "gap-y": [{
1030
+ "gap-y": scaleUnambiguousSpacing()
1031
+ }],
1032
+ /**
1033
+ * Justify Content
1034
+ * @see https://tailwindcss.com/docs/justify-content
1035
+ */
1036
+ "justify-content": [{
1037
+ justify: [...scaleAlignPrimaryAxis(), "normal"]
1038
+ }],
1039
+ /**
1040
+ * Justify Items
1041
+ * @see https://tailwindcss.com/docs/justify-items
1042
+ */
1043
+ "justify-items": [{
1044
+ "justify-items": [...scaleAlignSecondaryAxis(), "normal"]
1045
+ }],
1046
+ /**
1047
+ * Justify Self
1048
+ * @see https://tailwindcss.com/docs/justify-self
1049
+ */
1050
+ "justify-self": [{
1051
+ "justify-self": ["auto", ...scaleAlignSecondaryAxis()]
1052
+ }],
1053
+ /**
1054
+ * Align Content
1055
+ * @see https://tailwindcss.com/docs/align-content
1056
+ */
1057
+ "align-content": [{
1058
+ content: ["normal", ...scaleAlignPrimaryAxis()]
1059
+ }],
1060
+ /**
1061
+ * Align Items
1062
+ * @see https://tailwindcss.com/docs/align-items
1063
+ */
1064
+ "align-items": [{
1065
+ items: [...scaleAlignSecondaryAxis(), {
1066
+ baseline: ["", "last"]
1067
+ }]
1068
+ }],
1069
+ /**
1070
+ * Align Self
1071
+ * @see https://tailwindcss.com/docs/align-self
1072
+ */
1073
+ "align-self": [{
1074
+ self: ["auto", ...scaleAlignSecondaryAxis(), {
1075
+ baseline: ["", "last"]
1076
+ }]
1077
+ }],
1078
+ /**
1079
+ * Place Content
1080
+ * @see https://tailwindcss.com/docs/place-content
1081
+ */
1082
+ "place-content": [{
1083
+ "place-content": scaleAlignPrimaryAxis()
1084
+ }],
1085
+ /**
1086
+ * Place Items
1087
+ * @see https://tailwindcss.com/docs/place-items
1088
+ */
1089
+ "place-items": [{
1090
+ "place-items": [...scaleAlignSecondaryAxis(), "baseline"]
1091
+ }],
1092
+ /**
1093
+ * Place Self
1094
+ * @see https://tailwindcss.com/docs/place-self
1095
+ */
1096
+ "place-self": [{
1097
+ "place-self": ["auto", ...scaleAlignSecondaryAxis()]
1098
+ }],
1099
+ // Spacing
1100
+ /**
1101
+ * Padding
1102
+ * @see https://tailwindcss.com/docs/padding
1103
+ */
1104
+ p: [{
1105
+ p: scaleUnambiguousSpacing()
1106
+ }],
1107
+ /**
1108
+ * Padding X
1109
+ * @see https://tailwindcss.com/docs/padding
1110
+ */
1111
+ px: [{
1112
+ px: scaleUnambiguousSpacing()
1113
+ }],
1114
+ /**
1115
+ * Padding Y
1116
+ * @see https://tailwindcss.com/docs/padding
1117
+ */
1118
+ py: [{
1119
+ py: scaleUnambiguousSpacing()
1120
+ }],
1121
+ /**
1122
+ * Padding Start
1123
+ * @see https://tailwindcss.com/docs/padding
1124
+ */
1125
+ ps: [{
1126
+ ps: scaleUnambiguousSpacing()
1127
+ }],
1128
+ /**
1129
+ * Padding End
1130
+ * @see https://tailwindcss.com/docs/padding
1131
+ */
1132
+ pe: [{
1133
+ pe: scaleUnambiguousSpacing()
1134
+ }],
1135
+ /**
1136
+ * Padding Top
1137
+ * @see https://tailwindcss.com/docs/padding
1138
+ */
1139
+ pt: [{
1140
+ pt: scaleUnambiguousSpacing()
1141
+ }],
1142
+ /**
1143
+ * Padding Right
1144
+ * @see https://tailwindcss.com/docs/padding
1145
+ */
1146
+ pr: [{
1147
+ pr: scaleUnambiguousSpacing()
1148
+ }],
1149
+ /**
1150
+ * Padding Bottom
1151
+ * @see https://tailwindcss.com/docs/padding
1152
+ */
1153
+ pb: [{
1154
+ pb: scaleUnambiguousSpacing()
1155
+ }],
1156
+ /**
1157
+ * Padding Left
1158
+ * @see https://tailwindcss.com/docs/padding
1159
+ */
1160
+ pl: [{
1161
+ pl: scaleUnambiguousSpacing()
1162
+ }],
1163
+ /**
1164
+ * Margin
1165
+ * @see https://tailwindcss.com/docs/margin
1166
+ */
1167
+ m: [{
1168
+ m: scaleMargin()
1169
+ }],
1170
+ /**
1171
+ * Margin X
1172
+ * @see https://tailwindcss.com/docs/margin
1173
+ */
1174
+ mx: [{
1175
+ mx: scaleMargin()
1176
+ }],
1177
+ /**
1178
+ * Margin Y
1179
+ * @see https://tailwindcss.com/docs/margin
1180
+ */
1181
+ my: [{
1182
+ my: scaleMargin()
1183
+ }],
1184
+ /**
1185
+ * Margin Start
1186
+ * @see https://tailwindcss.com/docs/margin
1187
+ */
1188
+ ms: [{
1189
+ ms: scaleMargin()
1190
+ }],
1191
+ /**
1192
+ * Margin End
1193
+ * @see https://tailwindcss.com/docs/margin
1194
+ */
1195
+ me: [{
1196
+ me: scaleMargin()
1197
+ }],
1198
+ /**
1199
+ * Margin Top
1200
+ * @see https://tailwindcss.com/docs/margin
1201
+ */
1202
+ mt: [{
1203
+ mt: scaleMargin()
1204
+ }],
1205
+ /**
1206
+ * Margin Right
1207
+ * @see https://tailwindcss.com/docs/margin
1208
+ */
1209
+ mr: [{
1210
+ mr: scaleMargin()
1211
+ }],
1212
+ /**
1213
+ * Margin Bottom
1214
+ * @see https://tailwindcss.com/docs/margin
1215
+ */
1216
+ mb: [{
1217
+ mb: scaleMargin()
1218
+ }],
1219
+ /**
1220
+ * Margin Left
1221
+ * @see https://tailwindcss.com/docs/margin
1222
+ */
1223
+ ml: [{
1224
+ ml: scaleMargin()
1225
+ }],
1226
+ /**
1227
+ * Space Between X
1228
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1229
+ */
1230
+ "space-x": [{
1231
+ "space-x": scaleUnambiguousSpacing()
1232
+ }],
1233
+ /**
1234
+ * Space Between X Reverse
1235
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1236
+ */
1237
+ "space-x-reverse": ["space-x-reverse"],
1238
+ /**
1239
+ * Space Between Y
1240
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1241
+ */
1242
+ "space-y": [{
1243
+ "space-y": scaleUnambiguousSpacing()
1244
+ }],
1245
+ /**
1246
+ * Space Between Y Reverse
1247
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1248
+ */
1249
+ "space-y-reverse": ["space-y-reverse"],
1250
+ // --------------
1251
+ // --- Sizing ---
1252
+ // --------------
1253
+ /**
1254
+ * Size
1255
+ * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
1256
+ */
1257
+ size: [{
1258
+ size: scaleSizing()
1259
+ }],
1260
+ /**
1261
+ * Width
1262
+ * @see https://tailwindcss.com/docs/width
1263
+ */
1264
+ w: [{
1265
+ w: [themeContainer, "screen", ...scaleSizing()]
1266
+ }],
1267
+ /**
1268
+ * Min-Width
1269
+ * @see https://tailwindcss.com/docs/min-width
1270
+ */
1271
+ "min-w": [{
1272
+ "min-w": [
1273
+ themeContainer,
1274
+ "screen",
1275
+ /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1276
+ "none",
1277
+ ...scaleSizing()
1278
+ ]
1279
+ }],
1280
+ /**
1281
+ * Max-Width
1282
+ * @see https://tailwindcss.com/docs/max-width
1283
+ */
1284
+ "max-w": [{
1285
+ "max-w": [
1286
+ themeContainer,
1287
+ "screen",
1288
+ "none",
1289
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1290
+ "prose",
1291
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1292
+ {
1293
+ screen: [themeBreakpoint]
1294
+ },
1295
+ ...scaleSizing()
1296
+ ]
1297
+ }],
1298
+ /**
1299
+ * Height
1300
+ * @see https://tailwindcss.com/docs/height
1301
+ */
1302
+ h: [{
1303
+ h: ["screen", "lh", ...scaleSizing()]
1304
+ }],
1305
+ /**
1306
+ * Min-Height
1307
+ * @see https://tailwindcss.com/docs/min-height
1308
+ */
1309
+ "min-h": [{
1310
+ "min-h": ["screen", "lh", "none", ...scaleSizing()]
1311
+ }],
1312
+ /**
1313
+ * Max-Height
1314
+ * @see https://tailwindcss.com/docs/max-height
1315
+ */
1316
+ "max-h": [{
1317
+ "max-h": ["screen", "lh", ...scaleSizing()]
1318
+ }],
1319
+ // ------------------
1320
+ // --- Typography ---
1321
+ // ------------------
1322
+ /**
1323
+ * Font Size
1324
+ * @see https://tailwindcss.com/docs/font-size
1325
+ */
1326
+ "font-size": [{
1327
+ text: ["base", themeText, isArbitraryVariableLength, isArbitraryLength]
1328
+ }],
1329
+ /**
1330
+ * Font Smoothing
1331
+ * @see https://tailwindcss.com/docs/font-smoothing
1332
+ */
1333
+ "font-smoothing": ["antialiased", "subpixel-antialiased"],
1334
+ /**
1335
+ * Font Style
1336
+ * @see https://tailwindcss.com/docs/font-style
1337
+ */
1338
+ "font-style": ["italic", "not-italic"],
1339
+ /**
1340
+ * Font Weight
1341
+ * @see https://tailwindcss.com/docs/font-weight
1342
+ */
1343
+ "font-weight": [{
1344
+ font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber]
1345
+ }],
1346
+ /**
1347
+ * Font Stretch
1348
+ * @see https://tailwindcss.com/docs/font-stretch
1349
+ */
1350
+ "font-stretch": [{
1351
+ "font-stretch": ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", isPercent, isArbitraryValue]
1352
+ }],
1353
+ /**
1354
+ * Font Family
1355
+ * @see https://tailwindcss.com/docs/font-family
1356
+ */
1357
+ "font-family": [{
1358
+ font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont]
1359
+ }],
1360
+ /**
1361
+ * Font Variant Numeric
1362
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1363
+ */
1364
+ "fvn-normal": ["normal-nums"],
1365
+ /**
1366
+ * Font Variant Numeric
1367
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1368
+ */
1369
+ "fvn-ordinal": ["ordinal"],
1370
+ /**
1371
+ * Font Variant Numeric
1372
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1373
+ */
1374
+ "fvn-slashed-zero": ["slashed-zero"],
1375
+ /**
1376
+ * Font Variant Numeric
1377
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1378
+ */
1379
+ "fvn-figure": ["lining-nums", "oldstyle-nums"],
1380
+ /**
1381
+ * Font Variant Numeric
1382
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1383
+ */
1384
+ "fvn-spacing": ["proportional-nums", "tabular-nums"],
1385
+ /**
1386
+ * Font Variant Numeric
1387
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1388
+ */
1389
+ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
1390
+ /**
1391
+ * Letter Spacing
1392
+ * @see https://tailwindcss.com/docs/letter-spacing
1393
+ */
1394
+ tracking: [{
1395
+ tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]
1396
+ }],
1397
+ /**
1398
+ * Line Clamp
1399
+ * @see https://tailwindcss.com/docs/line-clamp
1400
+ */
1401
+ "line-clamp": [{
1402
+ "line-clamp": [isNumber, "none", isArbitraryVariable, isArbitraryNumber]
1403
+ }],
1404
+ /**
1405
+ * Line Height
1406
+ * @see https://tailwindcss.com/docs/line-height
1407
+ */
1408
+ leading: [{
1409
+ leading: [
1410
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1411
+ themeLeading,
1412
+ ...scaleUnambiguousSpacing()
1413
+ ]
1414
+ }],
1415
+ /**
1416
+ * List Style Image
1417
+ * @see https://tailwindcss.com/docs/list-style-image
1418
+ */
1419
+ "list-image": [{
1420
+ "list-image": ["none", isArbitraryVariable, isArbitraryValue]
1421
+ }],
1422
+ /**
1423
+ * List Style Position
1424
+ * @see https://tailwindcss.com/docs/list-style-position
1425
+ */
1426
+ "list-style-position": [{
1427
+ list: ["inside", "outside"]
1428
+ }],
1429
+ /**
1430
+ * List Style Type
1431
+ * @see https://tailwindcss.com/docs/list-style-type
1432
+ */
1433
+ "list-style-type": [{
1434
+ list: ["disc", "decimal", "none", isArbitraryVariable, isArbitraryValue]
1435
+ }],
1436
+ /**
1437
+ * Text Alignment
1438
+ * @see https://tailwindcss.com/docs/text-align
1439
+ */
1440
+ "text-alignment": [{
1441
+ text: ["left", "center", "right", "justify", "start", "end"]
1442
+ }],
1443
+ /**
1444
+ * Placeholder Color
1445
+ * @deprecated since Tailwind CSS v3.0.0
1446
+ * @see https://v3.tailwindcss.com/docs/placeholder-color
1447
+ */
1448
+ "placeholder-color": [{
1449
+ placeholder: scaleColor()
1450
+ }],
1451
+ /**
1452
+ * Text Color
1453
+ * @see https://tailwindcss.com/docs/text-color
1454
+ */
1455
+ "text-color": [{
1456
+ text: scaleColor()
1457
+ }],
1458
+ /**
1459
+ * Text Decoration
1460
+ * @see https://tailwindcss.com/docs/text-decoration
1461
+ */
1462
+ "text-decoration": ["underline", "overline", "line-through", "no-underline"],
1463
+ /**
1464
+ * Text Decoration Style
1465
+ * @see https://tailwindcss.com/docs/text-decoration-style
1466
+ */
1467
+ "text-decoration-style": [{
1468
+ decoration: [...scaleLineStyle(), "wavy"]
1469
+ }],
1470
+ /**
1471
+ * Text Decoration Thickness
1472
+ * @see https://tailwindcss.com/docs/text-decoration-thickness
1473
+ */
1474
+ "text-decoration-thickness": [{
1475
+ decoration: [isNumber, "from-font", "auto", isArbitraryVariable, isArbitraryLength]
1476
+ }],
1477
+ /**
1478
+ * Text Decoration Color
1479
+ * @see https://tailwindcss.com/docs/text-decoration-color
1480
+ */
1481
+ "text-decoration-color": [{
1482
+ decoration: scaleColor()
1483
+ }],
1484
+ /**
1485
+ * Text Underline Offset
1486
+ * @see https://tailwindcss.com/docs/text-underline-offset
1487
+ */
1488
+ "underline-offset": [{
1489
+ "underline-offset": [isNumber, "auto", isArbitraryVariable, isArbitraryValue]
1490
+ }],
1491
+ /**
1492
+ * Text Transform
1493
+ * @see https://tailwindcss.com/docs/text-transform
1494
+ */
1495
+ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
1496
+ /**
1497
+ * Text Overflow
1498
+ * @see https://tailwindcss.com/docs/text-overflow
1499
+ */
1500
+ "text-overflow": ["truncate", "text-ellipsis", "text-clip"],
1501
+ /**
1502
+ * Text Wrap
1503
+ * @see https://tailwindcss.com/docs/text-wrap
1504
+ */
1505
+ "text-wrap": [{
1506
+ text: ["wrap", "nowrap", "balance", "pretty"]
1507
+ }],
1508
+ /**
1509
+ * Text Indent
1510
+ * @see https://tailwindcss.com/docs/text-indent
1511
+ */
1512
+ indent: [{
1513
+ indent: scaleUnambiguousSpacing()
1514
+ }],
1515
+ /**
1516
+ * Vertical Alignment
1517
+ * @see https://tailwindcss.com/docs/vertical-align
1518
+ */
1519
+ "vertical-align": [{
1520
+ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", isArbitraryVariable, isArbitraryValue]
1521
+ }],
1522
+ /**
1523
+ * Whitespace
1524
+ * @see https://tailwindcss.com/docs/whitespace
1525
+ */
1526
+ whitespace: [{
1527
+ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
1528
+ }],
1529
+ /**
1530
+ * Word Break
1531
+ * @see https://tailwindcss.com/docs/word-break
1532
+ */
1533
+ break: [{
1534
+ break: ["normal", "words", "all", "keep"]
1535
+ }],
1536
+ /**
1537
+ * Overflow Wrap
1538
+ * @see https://tailwindcss.com/docs/overflow-wrap
1539
+ */
1540
+ wrap: [{
1541
+ wrap: ["break-word", "anywhere", "normal"]
1542
+ }],
1543
+ /**
1544
+ * Hyphens
1545
+ * @see https://tailwindcss.com/docs/hyphens
1546
+ */
1547
+ hyphens: [{
1548
+ hyphens: ["none", "manual", "auto"]
1549
+ }],
1550
+ /**
1551
+ * Content
1552
+ * @see https://tailwindcss.com/docs/content
1553
+ */
1554
+ content: [{
1555
+ content: ["none", isArbitraryVariable, isArbitraryValue]
1556
+ }],
1557
+ // -------------------
1558
+ // --- Backgrounds ---
1559
+ // -------------------
1560
+ /**
1561
+ * Background Attachment
1562
+ * @see https://tailwindcss.com/docs/background-attachment
1563
+ */
1564
+ "bg-attachment": [{
1565
+ bg: ["fixed", "local", "scroll"]
1566
+ }],
1567
+ /**
1568
+ * Background Clip
1569
+ * @see https://tailwindcss.com/docs/background-clip
1570
+ */
1571
+ "bg-clip": [{
1572
+ "bg-clip": ["border", "padding", "content", "text"]
1573
+ }],
1574
+ /**
1575
+ * Background Origin
1576
+ * @see https://tailwindcss.com/docs/background-origin
1577
+ */
1578
+ "bg-origin": [{
1579
+ "bg-origin": ["border", "padding", "content"]
1580
+ }],
1581
+ /**
1582
+ * Background Position
1583
+ * @see https://tailwindcss.com/docs/background-position
1584
+ */
1585
+ "bg-position": [{
1586
+ bg: scaleBgPosition()
1587
+ }],
1588
+ /**
1589
+ * Background Repeat
1590
+ * @see https://tailwindcss.com/docs/background-repeat
1591
+ */
1592
+ "bg-repeat": [{
1593
+ bg: scaleBgRepeat()
1594
+ }],
1595
+ /**
1596
+ * Background Size
1597
+ * @see https://tailwindcss.com/docs/background-size
1598
+ */
1599
+ "bg-size": [{
1600
+ bg: scaleBgSize()
1601
+ }],
1602
+ /**
1603
+ * Background Image
1604
+ * @see https://tailwindcss.com/docs/background-image
1605
+ */
1606
+ "bg-image": [{
1607
+ bg: ["none", {
1608
+ linear: [{
1609
+ to: ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
1610
+ }, isInteger, isArbitraryVariable, isArbitraryValue],
1611
+ radial: ["", isArbitraryVariable, isArbitraryValue],
1612
+ conic: [isInteger, isArbitraryVariable, isArbitraryValue]
1613
+ }, isArbitraryVariableImage, isArbitraryImage]
1614
+ }],
1615
+ /**
1616
+ * Background Color
1617
+ * @see https://tailwindcss.com/docs/background-color
1618
+ */
1619
+ "bg-color": [{
1620
+ bg: scaleColor()
1621
+ }],
1622
+ /**
1623
+ * Gradient Color Stops From Position
1624
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1625
+ */
1626
+ "gradient-from-pos": [{
1627
+ from: scaleGradientStopPosition()
1628
+ }],
1629
+ /**
1630
+ * Gradient Color Stops Via Position
1631
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1632
+ */
1633
+ "gradient-via-pos": [{
1634
+ via: scaleGradientStopPosition()
1635
+ }],
1636
+ /**
1637
+ * Gradient Color Stops To Position
1638
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1639
+ */
1640
+ "gradient-to-pos": [{
1641
+ to: scaleGradientStopPosition()
1642
+ }],
1643
+ /**
1644
+ * Gradient Color Stops From
1645
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1646
+ */
1647
+ "gradient-from": [{
1648
+ from: scaleColor()
1649
+ }],
1650
+ /**
1651
+ * Gradient Color Stops Via
1652
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1653
+ */
1654
+ "gradient-via": [{
1655
+ via: scaleColor()
1656
+ }],
1657
+ /**
1658
+ * Gradient Color Stops To
1659
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1660
+ */
1661
+ "gradient-to": [{
1662
+ to: scaleColor()
1663
+ }],
1664
+ // ---------------
1665
+ // --- Borders ---
1666
+ // ---------------
1667
+ /**
1668
+ * Border Radius
1669
+ * @see https://tailwindcss.com/docs/border-radius
1670
+ */
1671
+ rounded: [{
1672
+ rounded: scaleRadius()
1673
+ }],
1674
+ /**
1675
+ * Border Radius Start
1676
+ * @see https://tailwindcss.com/docs/border-radius
1677
+ */
1678
+ "rounded-s": [{
1679
+ "rounded-s": scaleRadius()
1680
+ }],
1681
+ /**
1682
+ * Border Radius End
1683
+ * @see https://tailwindcss.com/docs/border-radius
1684
+ */
1685
+ "rounded-e": [{
1686
+ "rounded-e": scaleRadius()
1687
+ }],
1688
+ /**
1689
+ * Border Radius Top
1690
+ * @see https://tailwindcss.com/docs/border-radius
1691
+ */
1692
+ "rounded-t": [{
1693
+ "rounded-t": scaleRadius()
1694
+ }],
1695
+ /**
1696
+ * Border Radius Right
1697
+ * @see https://tailwindcss.com/docs/border-radius
1698
+ */
1699
+ "rounded-r": [{
1700
+ "rounded-r": scaleRadius()
1701
+ }],
1702
+ /**
1703
+ * Border Radius Bottom
1704
+ * @see https://tailwindcss.com/docs/border-radius
1705
+ */
1706
+ "rounded-b": [{
1707
+ "rounded-b": scaleRadius()
1708
+ }],
1709
+ /**
1710
+ * Border Radius Left
1711
+ * @see https://tailwindcss.com/docs/border-radius
1712
+ */
1713
+ "rounded-l": [{
1714
+ "rounded-l": scaleRadius()
1715
+ }],
1716
+ /**
1717
+ * Border Radius Start Start
1718
+ * @see https://tailwindcss.com/docs/border-radius
1719
+ */
1720
+ "rounded-ss": [{
1721
+ "rounded-ss": scaleRadius()
1722
+ }],
1723
+ /**
1724
+ * Border Radius Start End
1725
+ * @see https://tailwindcss.com/docs/border-radius
1726
+ */
1727
+ "rounded-se": [{
1728
+ "rounded-se": scaleRadius()
1729
+ }],
1730
+ /**
1731
+ * Border Radius End End
1732
+ * @see https://tailwindcss.com/docs/border-radius
1733
+ */
1734
+ "rounded-ee": [{
1735
+ "rounded-ee": scaleRadius()
1736
+ }],
1737
+ /**
1738
+ * Border Radius End Start
1739
+ * @see https://tailwindcss.com/docs/border-radius
1740
+ */
1741
+ "rounded-es": [{
1742
+ "rounded-es": scaleRadius()
1743
+ }],
1744
+ /**
1745
+ * Border Radius Top Left
1746
+ * @see https://tailwindcss.com/docs/border-radius
1747
+ */
1748
+ "rounded-tl": [{
1749
+ "rounded-tl": scaleRadius()
1750
+ }],
1751
+ /**
1752
+ * Border Radius Top Right
1753
+ * @see https://tailwindcss.com/docs/border-radius
1754
+ */
1755
+ "rounded-tr": [{
1756
+ "rounded-tr": scaleRadius()
1757
+ }],
1758
+ /**
1759
+ * Border Radius Bottom Right
1760
+ * @see https://tailwindcss.com/docs/border-radius
1761
+ */
1762
+ "rounded-br": [{
1763
+ "rounded-br": scaleRadius()
1764
+ }],
1765
+ /**
1766
+ * Border Radius Bottom Left
1767
+ * @see https://tailwindcss.com/docs/border-radius
1768
+ */
1769
+ "rounded-bl": [{
1770
+ "rounded-bl": scaleRadius()
1771
+ }],
1772
+ /**
1773
+ * Border Width
1774
+ * @see https://tailwindcss.com/docs/border-width
1775
+ */
1776
+ "border-w": [{
1777
+ border: scaleBorderWidth()
1778
+ }],
1779
+ /**
1780
+ * Border Width X
1781
+ * @see https://tailwindcss.com/docs/border-width
1782
+ */
1783
+ "border-w-x": [{
1784
+ "border-x": scaleBorderWidth()
1785
+ }],
1786
+ /**
1787
+ * Border Width Y
1788
+ * @see https://tailwindcss.com/docs/border-width
1789
+ */
1790
+ "border-w-y": [{
1791
+ "border-y": scaleBorderWidth()
1792
+ }],
1793
+ /**
1794
+ * Border Width Start
1795
+ * @see https://tailwindcss.com/docs/border-width
1796
+ */
1797
+ "border-w-s": [{
1798
+ "border-s": scaleBorderWidth()
1799
+ }],
1800
+ /**
1801
+ * Border Width End
1802
+ * @see https://tailwindcss.com/docs/border-width
1803
+ */
1804
+ "border-w-e": [{
1805
+ "border-e": scaleBorderWidth()
1806
+ }],
1807
+ /**
1808
+ * Border Width Top
1809
+ * @see https://tailwindcss.com/docs/border-width
1810
+ */
1811
+ "border-w-t": [{
1812
+ "border-t": scaleBorderWidth()
1813
+ }],
1814
+ /**
1815
+ * Border Width Right
1816
+ * @see https://tailwindcss.com/docs/border-width
1817
+ */
1818
+ "border-w-r": [{
1819
+ "border-r": scaleBorderWidth()
1820
+ }],
1821
+ /**
1822
+ * Border Width Bottom
1823
+ * @see https://tailwindcss.com/docs/border-width
1824
+ */
1825
+ "border-w-b": [{
1826
+ "border-b": scaleBorderWidth()
1827
+ }],
1828
+ /**
1829
+ * Border Width Left
1830
+ * @see https://tailwindcss.com/docs/border-width
1831
+ */
1832
+ "border-w-l": [{
1833
+ "border-l": scaleBorderWidth()
1834
+ }],
1835
+ /**
1836
+ * Divide Width X
1837
+ * @see https://tailwindcss.com/docs/border-width#between-children
1838
+ */
1839
+ "divide-x": [{
1840
+ "divide-x": scaleBorderWidth()
1841
+ }],
1842
+ /**
1843
+ * Divide Width X Reverse
1844
+ * @see https://tailwindcss.com/docs/border-width#between-children
1845
+ */
1846
+ "divide-x-reverse": ["divide-x-reverse"],
1847
+ /**
1848
+ * Divide Width Y
1849
+ * @see https://tailwindcss.com/docs/border-width#between-children
1850
+ */
1851
+ "divide-y": [{
1852
+ "divide-y": scaleBorderWidth()
1853
+ }],
1854
+ /**
1855
+ * Divide Width Y Reverse
1856
+ * @see https://tailwindcss.com/docs/border-width#between-children
1857
+ */
1858
+ "divide-y-reverse": ["divide-y-reverse"],
1859
+ /**
1860
+ * Border Style
1861
+ * @see https://tailwindcss.com/docs/border-style
1862
+ */
1863
+ "border-style": [{
1864
+ border: [...scaleLineStyle(), "hidden", "none"]
1865
+ }],
1866
+ /**
1867
+ * Divide Style
1868
+ * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
1869
+ */
1870
+ "divide-style": [{
1871
+ divide: [...scaleLineStyle(), "hidden", "none"]
1872
+ }],
1873
+ /**
1874
+ * Border Color
1875
+ * @see https://tailwindcss.com/docs/border-color
1876
+ */
1877
+ "border-color": [{
1878
+ border: scaleColor()
1879
+ }],
1880
+ /**
1881
+ * Border Color X
1882
+ * @see https://tailwindcss.com/docs/border-color
1883
+ */
1884
+ "border-color-x": [{
1885
+ "border-x": scaleColor()
1886
+ }],
1887
+ /**
1888
+ * Border Color Y
1889
+ * @see https://tailwindcss.com/docs/border-color
1890
+ */
1891
+ "border-color-y": [{
1892
+ "border-y": scaleColor()
1893
+ }],
1894
+ /**
1895
+ * Border Color S
1896
+ * @see https://tailwindcss.com/docs/border-color
1897
+ */
1898
+ "border-color-s": [{
1899
+ "border-s": scaleColor()
1900
+ }],
1901
+ /**
1902
+ * Border Color E
1903
+ * @see https://tailwindcss.com/docs/border-color
1904
+ */
1905
+ "border-color-e": [{
1906
+ "border-e": scaleColor()
1907
+ }],
1908
+ /**
1909
+ * Border Color Top
1910
+ * @see https://tailwindcss.com/docs/border-color
1911
+ */
1912
+ "border-color-t": [{
1913
+ "border-t": scaleColor()
1914
+ }],
1915
+ /**
1916
+ * Border Color Right
1917
+ * @see https://tailwindcss.com/docs/border-color
1918
+ */
1919
+ "border-color-r": [{
1920
+ "border-r": scaleColor()
1921
+ }],
1922
+ /**
1923
+ * Border Color Bottom
1924
+ * @see https://tailwindcss.com/docs/border-color
1925
+ */
1926
+ "border-color-b": [{
1927
+ "border-b": scaleColor()
1928
+ }],
1929
+ /**
1930
+ * Border Color Left
1931
+ * @see https://tailwindcss.com/docs/border-color
1932
+ */
1933
+ "border-color-l": [{
1934
+ "border-l": scaleColor()
1935
+ }],
1936
+ /**
1937
+ * Divide Color
1938
+ * @see https://tailwindcss.com/docs/divide-color
1939
+ */
1940
+ "divide-color": [{
1941
+ divide: scaleColor()
1942
+ }],
1943
+ /**
1944
+ * Outline Style
1945
+ * @see https://tailwindcss.com/docs/outline-style
1946
+ */
1947
+ "outline-style": [{
1948
+ outline: [...scaleLineStyle(), "none", "hidden"]
1949
+ }],
1950
+ /**
1951
+ * Outline Offset
1952
+ * @see https://tailwindcss.com/docs/outline-offset
1953
+ */
1954
+ "outline-offset": [{
1955
+ "outline-offset": [isNumber, isArbitraryVariable, isArbitraryValue]
1956
+ }],
1957
+ /**
1958
+ * Outline Width
1959
+ * @see https://tailwindcss.com/docs/outline-width
1960
+ */
1961
+ "outline-w": [{
1962
+ outline: ["", isNumber, isArbitraryVariableLength, isArbitraryLength]
1963
+ }],
1964
+ /**
1965
+ * Outline Color
1966
+ * @see https://tailwindcss.com/docs/outline-color
1967
+ */
1968
+ "outline-color": [{
1969
+ outline: scaleColor()
1970
+ }],
1971
+ // ---------------
1972
+ // --- Effects ---
1973
+ // ---------------
1974
+ /**
1975
+ * Box Shadow
1976
+ * @see https://tailwindcss.com/docs/box-shadow
1977
+ */
1978
+ shadow: [{
1979
+ shadow: [
1980
+ // Deprecated since Tailwind CSS v4.0.0
1981
+ "",
1982
+ "none",
1983
+ themeShadow,
1984
+ isArbitraryVariableShadow,
1985
+ isArbitraryShadow
1986
+ ]
1987
+ }],
1988
+ /**
1989
+ * Box Shadow Color
1990
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
1991
+ */
1992
+ "shadow-color": [{
1993
+ shadow: scaleColor()
1994
+ }],
1995
+ /**
1996
+ * Inset Box Shadow
1997
+ * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
1998
+ */
1999
+ "inset-shadow": [{
2000
+ "inset-shadow": ["none", themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]
2001
+ }],
2002
+ /**
2003
+ * Inset Box Shadow Color
2004
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
2005
+ */
2006
+ "inset-shadow-color": [{
2007
+ "inset-shadow": scaleColor()
2008
+ }],
2009
+ /**
2010
+ * Ring Width
2011
+ * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
2012
+ */
2013
+ "ring-w": [{
2014
+ ring: scaleBorderWidth()
2015
+ }],
2016
+ /**
2017
+ * Ring Width Inset
2018
+ * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings
2019
+ * @deprecated since Tailwind CSS v4.0.0
2020
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2021
+ */
2022
+ "ring-w-inset": ["ring-inset"],
2023
+ /**
2024
+ * Ring Color
2025
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
2026
+ */
2027
+ "ring-color": [{
2028
+ ring: scaleColor()
2029
+ }],
2030
+ /**
2031
+ * Ring Offset Width
2032
+ * @see https://v3.tailwindcss.com/docs/ring-offset-width
2033
+ * @deprecated since Tailwind CSS v4.0.0
2034
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2035
+ */
2036
+ "ring-offset-w": [{
2037
+ "ring-offset": [isNumber, isArbitraryLength]
2038
+ }],
2039
+ /**
2040
+ * Ring Offset Color
2041
+ * @see https://v3.tailwindcss.com/docs/ring-offset-color
2042
+ * @deprecated since Tailwind CSS v4.0.0
2043
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2044
+ */
2045
+ "ring-offset-color": [{
2046
+ "ring-offset": scaleColor()
2047
+ }],
2048
+ /**
2049
+ * Inset Ring Width
2050
+ * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
2051
+ */
2052
+ "inset-ring-w": [{
2053
+ "inset-ring": scaleBorderWidth()
2054
+ }],
2055
+ /**
2056
+ * Inset Ring Color
2057
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
2058
+ */
2059
+ "inset-ring-color": [{
2060
+ "inset-ring": scaleColor()
2061
+ }],
2062
+ /**
2063
+ * Text Shadow
2064
+ * @see https://tailwindcss.com/docs/text-shadow
2065
+ */
2066
+ "text-shadow": [{
2067
+ "text-shadow": ["none", themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]
2068
+ }],
2069
+ /**
2070
+ * Text Shadow Color
2071
+ * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
2072
+ */
2073
+ "text-shadow-color": [{
2074
+ "text-shadow": scaleColor()
2075
+ }],
2076
+ /**
2077
+ * Opacity
2078
+ * @see https://tailwindcss.com/docs/opacity
2079
+ */
2080
+ opacity: [{
2081
+ opacity: [isNumber, isArbitraryVariable, isArbitraryValue]
2082
+ }],
2083
+ /**
2084
+ * Mix Blend Mode
2085
+ * @see https://tailwindcss.com/docs/mix-blend-mode
2086
+ */
2087
+ "mix-blend": [{
2088
+ "mix-blend": [...scaleBlendMode(), "plus-darker", "plus-lighter"]
2089
+ }],
2090
+ /**
2091
+ * Background Blend Mode
2092
+ * @see https://tailwindcss.com/docs/background-blend-mode
2093
+ */
2094
+ "bg-blend": [{
2095
+ "bg-blend": scaleBlendMode()
2096
+ }],
2097
+ /**
2098
+ * Mask Clip
2099
+ * @see https://tailwindcss.com/docs/mask-clip
2100
+ */
2101
+ "mask-clip": [{
2102
+ "mask-clip": ["border", "padding", "content", "fill", "stroke", "view"]
2103
+ }, "mask-no-clip"],
2104
+ /**
2105
+ * Mask Composite
2106
+ * @see https://tailwindcss.com/docs/mask-composite
2107
+ */
2108
+ "mask-composite": [{
2109
+ mask: ["add", "subtract", "intersect", "exclude"]
2110
+ }],
2111
+ /**
2112
+ * Mask Image
2113
+ * @see https://tailwindcss.com/docs/mask-image
2114
+ */
2115
+ "mask-image-linear-pos": [{
2116
+ "mask-linear": [isNumber]
2117
+ }],
2118
+ "mask-image-linear-from-pos": [{
2119
+ "mask-linear-from": scaleMaskImagePosition()
2120
+ }],
2121
+ "mask-image-linear-to-pos": [{
2122
+ "mask-linear-to": scaleMaskImagePosition()
2123
+ }],
2124
+ "mask-image-linear-from-color": [{
2125
+ "mask-linear-from": scaleColor()
2126
+ }],
2127
+ "mask-image-linear-to-color": [{
2128
+ "mask-linear-to": scaleColor()
2129
+ }],
2130
+ "mask-image-t-from-pos": [{
2131
+ "mask-t-from": scaleMaskImagePosition()
2132
+ }],
2133
+ "mask-image-t-to-pos": [{
2134
+ "mask-t-to": scaleMaskImagePosition()
2135
+ }],
2136
+ "mask-image-t-from-color": [{
2137
+ "mask-t-from": scaleColor()
2138
+ }],
2139
+ "mask-image-t-to-color": [{
2140
+ "mask-t-to": scaleColor()
2141
+ }],
2142
+ "mask-image-r-from-pos": [{
2143
+ "mask-r-from": scaleMaskImagePosition()
2144
+ }],
2145
+ "mask-image-r-to-pos": [{
2146
+ "mask-r-to": scaleMaskImagePosition()
2147
+ }],
2148
+ "mask-image-r-from-color": [{
2149
+ "mask-r-from": scaleColor()
2150
+ }],
2151
+ "mask-image-r-to-color": [{
2152
+ "mask-r-to": scaleColor()
2153
+ }],
2154
+ "mask-image-b-from-pos": [{
2155
+ "mask-b-from": scaleMaskImagePosition()
2156
+ }],
2157
+ "mask-image-b-to-pos": [{
2158
+ "mask-b-to": scaleMaskImagePosition()
2159
+ }],
2160
+ "mask-image-b-from-color": [{
2161
+ "mask-b-from": scaleColor()
2162
+ }],
2163
+ "mask-image-b-to-color": [{
2164
+ "mask-b-to": scaleColor()
2165
+ }],
2166
+ "mask-image-l-from-pos": [{
2167
+ "mask-l-from": scaleMaskImagePosition()
2168
+ }],
2169
+ "mask-image-l-to-pos": [{
2170
+ "mask-l-to": scaleMaskImagePosition()
2171
+ }],
2172
+ "mask-image-l-from-color": [{
2173
+ "mask-l-from": scaleColor()
2174
+ }],
2175
+ "mask-image-l-to-color": [{
2176
+ "mask-l-to": scaleColor()
2177
+ }],
2178
+ "mask-image-x-from-pos": [{
2179
+ "mask-x-from": scaleMaskImagePosition()
2180
+ }],
2181
+ "mask-image-x-to-pos": [{
2182
+ "mask-x-to": scaleMaskImagePosition()
2183
+ }],
2184
+ "mask-image-x-from-color": [{
2185
+ "mask-x-from": scaleColor()
2186
+ }],
2187
+ "mask-image-x-to-color": [{
2188
+ "mask-x-to": scaleColor()
2189
+ }],
2190
+ "mask-image-y-from-pos": [{
2191
+ "mask-y-from": scaleMaskImagePosition()
2192
+ }],
2193
+ "mask-image-y-to-pos": [{
2194
+ "mask-y-to": scaleMaskImagePosition()
2195
+ }],
2196
+ "mask-image-y-from-color": [{
2197
+ "mask-y-from": scaleColor()
2198
+ }],
2199
+ "mask-image-y-to-color": [{
2200
+ "mask-y-to": scaleColor()
2201
+ }],
2202
+ "mask-image-radial": [{
2203
+ "mask-radial": [isArbitraryVariable, isArbitraryValue]
2204
+ }],
2205
+ "mask-image-radial-from-pos": [{
2206
+ "mask-radial-from": scaleMaskImagePosition()
2207
+ }],
2208
+ "mask-image-radial-to-pos": [{
2209
+ "mask-radial-to": scaleMaskImagePosition()
2210
+ }],
2211
+ "mask-image-radial-from-color": [{
2212
+ "mask-radial-from": scaleColor()
2213
+ }],
2214
+ "mask-image-radial-to-color": [{
2215
+ "mask-radial-to": scaleColor()
2216
+ }],
2217
+ "mask-image-radial-shape": [{
2218
+ "mask-radial": ["circle", "ellipse"]
2219
+ }],
2220
+ "mask-image-radial-size": [{
2221
+ "mask-radial": [{
2222
+ closest: ["side", "corner"],
2223
+ farthest: ["side", "corner"]
2224
+ }]
2225
+ }],
2226
+ "mask-image-radial-pos": [{
2227
+ "mask-radial-at": scalePosition()
2228
+ }],
2229
+ "mask-image-conic-pos": [{
2230
+ "mask-conic": [isNumber]
2231
+ }],
2232
+ "mask-image-conic-from-pos": [{
2233
+ "mask-conic-from": scaleMaskImagePosition()
2234
+ }],
2235
+ "mask-image-conic-to-pos": [{
2236
+ "mask-conic-to": scaleMaskImagePosition()
2237
+ }],
2238
+ "mask-image-conic-from-color": [{
2239
+ "mask-conic-from": scaleColor()
2240
+ }],
2241
+ "mask-image-conic-to-color": [{
2242
+ "mask-conic-to": scaleColor()
2243
+ }],
2244
+ /**
2245
+ * Mask Mode
2246
+ * @see https://tailwindcss.com/docs/mask-mode
2247
+ */
2248
+ "mask-mode": [{
2249
+ mask: ["alpha", "luminance", "match"]
2250
+ }],
2251
+ /**
2252
+ * Mask Origin
2253
+ * @see https://tailwindcss.com/docs/mask-origin
2254
+ */
2255
+ "mask-origin": [{
2256
+ "mask-origin": ["border", "padding", "content", "fill", "stroke", "view"]
2257
+ }],
2258
+ /**
2259
+ * Mask Position
2260
+ * @see https://tailwindcss.com/docs/mask-position
2261
+ */
2262
+ "mask-position": [{
2263
+ mask: scaleBgPosition()
2264
+ }],
2265
+ /**
2266
+ * Mask Repeat
2267
+ * @see https://tailwindcss.com/docs/mask-repeat
2268
+ */
2269
+ "mask-repeat": [{
2270
+ mask: scaleBgRepeat()
2271
+ }],
2272
+ /**
2273
+ * Mask Size
2274
+ * @see https://tailwindcss.com/docs/mask-size
2275
+ */
2276
+ "mask-size": [{
2277
+ mask: scaleBgSize()
2278
+ }],
2279
+ /**
2280
+ * Mask Type
2281
+ * @see https://tailwindcss.com/docs/mask-type
2282
+ */
2283
+ "mask-type": [{
2284
+ "mask-type": ["alpha", "luminance"]
2285
+ }],
2286
+ /**
2287
+ * Mask Image
2288
+ * @see https://tailwindcss.com/docs/mask-image
2289
+ */
2290
+ "mask-image": [{
2291
+ mask: ["none", isArbitraryVariable, isArbitraryValue]
2292
+ }],
2293
+ // ---------------
2294
+ // --- Filters ---
2295
+ // ---------------
2296
+ /**
2297
+ * Filter
2298
+ * @see https://tailwindcss.com/docs/filter
2299
+ */
2300
+ filter: [{
2301
+ filter: [
2302
+ // Deprecated since Tailwind CSS v3.0.0
2303
+ "",
2304
+ "none",
2305
+ isArbitraryVariable,
2306
+ isArbitraryValue
2307
+ ]
2308
+ }],
2309
+ /**
2310
+ * Blur
2311
+ * @see https://tailwindcss.com/docs/blur
2312
+ */
2313
+ blur: [{
2314
+ blur: scaleBlur()
2315
+ }],
2316
+ /**
2317
+ * Brightness
2318
+ * @see https://tailwindcss.com/docs/brightness
2319
+ */
2320
+ brightness: [{
2321
+ brightness: [isNumber, isArbitraryVariable, isArbitraryValue]
2322
+ }],
2323
+ /**
2324
+ * Contrast
2325
+ * @see https://tailwindcss.com/docs/contrast
2326
+ */
2327
+ contrast: [{
2328
+ contrast: [isNumber, isArbitraryVariable, isArbitraryValue]
2329
+ }],
2330
+ /**
2331
+ * Drop Shadow
2332
+ * @see https://tailwindcss.com/docs/drop-shadow
2333
+ */
2334
+ "drop-shadow": [{
2335
+ "drop-shadow": [
2336
+ // Deprecated since Tailwind CSS v4.0.0
2337
+ "",
2338
+ "none",
2339
+ themeDropShadow,
2340
+ isArbitraryVariableShadow,
2341
+ isArbitraryShadow
2342
+ ]
2343
+ }],
2344
+ /**
2345
+ * Drop Shadow Color
2346
+ * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
2347
+ */
2348
+ "drop-shadow-color": [{
2349
+ "drop-shadow": scaleColor()
2350
+ }],
2351
+ /**
2352
+ * Grayscale
2353
+ * @see https://tailwindcss.com/docs/grayscale
2354
+ */
2355
+ grayscale: [{
2356
+ grayscale: ["", isNumber, isArbitraryVariable, isArbitraryValue]
2357
+ }],
2358
+ /**
2359
+ * Hue Rotate
2360
+ * @see https://tailwindcss.com/docs/hue-rotate
2361
+ */
2362
+ "hue-rotate": [{
2363
+ "hue-rotate": [isNumber, isArbitraryVariable, isArbitraryValue]
2364
+ }],
2365
+ /**
2366
+ * Invert
2367
+ * @see https://tailwindcss.com/docs/invert
2368
+ */
2369
+ invert: [{
2370
+ invert: ["", isNumber, isArbitraryVariable, isArbitraryValue]
2371
+ }],
2372
+ /**
2373
+ * Saturate
2374
+ * @see https://tailwindcss.com/docs/saturate
2375
+ */
2376
+ saturate: [{
2377
+ saturate: [isNumber, isArbitraryVariable, isArbitraryValue]
2378
+ }],
2379
+ /**
2380
+ * Sepia
2381
+ * @see https://tailwindcss.com/docs/sepia
2382
+ */
2383
+ sepia: [{
2384
+ sepia: ["", isNumber, isArbitraryVariable, isArbitraryValue]
2385
+ }],
2386
+ /**
2387
+ * Backdrop Filter
2388
+ * @see https://tailwindcss.com/docs/backdrop-filter
2389
+ */
2390
+ "backdrop-filter": [{
2391
+ "backdrop-filter": [
2392
+ // Deprecated since Tailwind CSS v3.0.0
2393
+ "",
2394
+ "none",
2395
+ isArbitraryVariable,
2396
+ isArbitraryValue
2397
+ ]
2398
+ }],
2399
+ /**
2400
+ * Backdrop Blur
2401
+ * @see https://tailwindcss.com/docs/backdrop-blur
2402
+ */
2403
+ "backdrop-blur": [{
2404
+ "backdrop-blur": scaleBlur()
2405
+ }],
2406
+ /**
2407
+ * Backdrop Brightness
2408
+ * @see https://tailwindcss.com/docs/backdrop-brightness
2409
+ */
2410
+ "backdrop-brightness": [{
2411
+ "backdrop-brightness": [isNumber, isArbitraryVariable, isArbitraryValue]
2412
+ }],
2413
+ /**
2414
+ * Backdrop Contrast
2415
+ * @see https://tailwindcss.com/docs/backdrop-contrast
2416
+ */
2417
+ "backdrop-contrast": [{
2418
+ "backdrop-contrast": [isNumber, isArbitraryVariable, isArbitraryValue]
2419
+ }],
2420
+ /**
2421
+ * Backdrop Grayscale
2422
+ * @see https://tailwindcss.com/docs/backdrop-grayscale
2423
+ */
2424
+ "backdrop-grayscale": [{
2425
+ "backdrop-grayscale": ["", isNumber, isArbitraryVariable, isArbitraryValue]
2426
+ }],
2427
+ /**
2428
+ * Backdrop Hue Rotate
2429
+ * @see https://tailwindcss.com/docs/backdrop-hue-rotate
2430
+ */
2431
+ "backdrop-hue-rotate": [{
2432
+ "backdrop-hue-rotate": [isNumber, isArbitraryVariable, isArbitraryValue]
2433
+ }],
2434
+ /**
2435
+ * Backdrop Invert
2436
+ * @see https://tailwindcss.com/docs/backdrop-invert
2437
+ */
2438
+ "backdrop-invert": [{
2439
+ "backdrop-invert": ["", isNumber, isArbitraryVariable, isArbitraryValue]
2440
+ }],
2441
+ /**
2442
+ * Backdrop Opacity
2443
+ * @see https://tailwindcss.com/docs/backdrop-opacity
2444
+ */
2445
+ "backdrop-opacity": [{
2446
+ "backdrop-opacity": [isNumber, isArbitraryVariable, isArbitraryValue]
2447
+ }],
2448
+ /**
2449
+ * Backdrop Saturate
2450
+ * @see https://tailwindcss.com/docs/backdrop-saturate
2451
+ */
2452
+ "backdrop-saturate": [{
2453
+ "backdrop-saturate": [isNumber, isArbitraryVariable, isArbitraryValue]
2454
+ }],
2455
+ /**
2456
+ * Backdrop Sepia
2457
+ * @see https://tailwindcss.com/docs/backdrop-sepia
2458
+ */
2459
+ "backdrop-sepia": [{
2460
+ "backdrop-sepia": ["", isNumber, isArbitraryVariable, isArbitraryValue]
2461
+ }],
2462
+ // --------------
2463
+ // --- Tables ---
2464
+ // --------------
2465
+ /**
2466
+ * Border Collapse
2467
+ * @see https://tailwindcss.com/docs/border-collapse
2468
+ */
2469
+ "border-collapse": [{
2470
+ border: ["collapse", "separate"]
2471
+ }],
2472
+ /**
2473
+ * Border Spacing
2474
+ * @see https://tailwindcss.com/docs/border-spacing
2475
+ */
2476
+ "border-spacing": [{
2477
+ "border-spacing": scaleUnambiguousSpacing()
2478
+ }],
2479
+ /**
2480
+ * Border Spacing X
2481
+ * @see https://tailwindcss.com/docs/border-spacing
2482
+ */
2483
+ "border-spacing-x": [{
2484
+ "border-spacing-x": scaleUnambiguousSpacing()
2485
+ }],
2486
+ /**
2487
+ * Border Spacing Y
2488
+ * @see https://tailwindcss.com/docs/border-spacing
2489
+ */
2490
+ "border-spacing-y": [{
2491
+ "border-spacing-y": scaleUnambiguousSpacing()
2492
+ }],
2493
+ /**
2494
+ * Table Layout
2495
+ * @see https://tailwindcss.com/docs/table-layout
2496
+ */
2497
+ "table-layout": [{
2498
+ table: ["auto", "fixed"]
2499
+ }],
2500
+ /**
2501
+ * Caption Side
2502
+ * @see https://tailwindcss.com/docs/caption-side
2503
+ */
2504
+ caption: [{
2505
+ caption: ["top", "bottom"]
2506
+ }],
2507
+ // ---------------------------------
2508
+ // --- Transitions and Animation ---
2509
+ // ---------------------------------
2510
+ /**
2511
+ * Transition Property
2512
+ * @see https://tailwindcss.com/docs/transition-property
2513
+ */
2514
+ transition: [{
2515
+ transition: ["", "all", "colors", "opacity", "shadow", "transform", "none", isArbitraryVariable, isArbitraryValue]
2516
+ }],
2517
+ /**
2518
+ * Transition Behavior
2519
+ * @see https://tailwindcss.com/docs/transition-behavior
2520
+ */
2521
+ "transition-behavior": [{
2522
+ transition: ["normal", "discrete"]
2523
+ }],
2524
+ /**
2525
+ * Transition Duration
2526
+ * @see https://tailwindcss.com/docs/transition-duration
2527
+ */
2528
+ duration: [{
2529
+ duration: [isNumber, "initial", isArbitraryVariable, isArbitraryValue]
2530
+ }],
2531
+ /**
2532
+ * Transition Timing Function
2533
+ * @see https://tailwindcss.com/docs/transition-timing-function
2534
+ */
2535
+ ease: [{
2536
+ ease: ["linear", "initial", themeEase, isArbitraryVariable, isArbitraryValue]
2537
+ }],
2538
+ /**
2539
+ * Transition Delay
2540
+ * @see https://tailwindcss.com/docs/transition-delay
2541
+ */
2542
+ delay: [{
2543
+ delay: [isNumber, isArbitraryVariable, isArbitraryValue]
2544
+ }],
2545
+ /**
2546
+ * Animation
2547
+ * @see https://tailwindcss.com/docs/animation
2548
+ */
2549
+ animate: [{
2550
+ animate: ["none", themeAnimate, isArbitraryVariable, isArbitraryValue]
2551
+ }],
2552
+ // ------------------
2553
+ // --- Transforms ---
2554
+ // ------------------
2555
+ /**
2556
+ * Backface Visibility
2557
+ * @see https://tailwindcss.com/docs/backface-visibility
2558
+ */
2559
+ backface: [{
2560
+ backface: ["hidden", "visible"]
2561
+ }],
2562
+ /**
2563
+ * Perspective
2564
+ * @see https://tailwindcss.com/docs/perspective
2565
+ */
2566
+ perspective: [{
2567
+ perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]
2568
+ }],
2569
+ /**
2570
+ * Perspective Origin
2571
+ * @see https://tailwindcss.com/docs/perspective-origin
2572
+ */
2573
+ "perspective-origin": [{
2574
+ "perspective-origin": scalePositionWithArbitrary()
2575
+ }],
2576
+ /**
2577
+ * Rotate
2578
+ * @see https://tailwindcss.com/docs/rotate
2579
+ */
2580
+ rotate: [{
2581
+ rotate: scaleRotate()
2582
+ }],
2583
+ /**
2584
+ * Rotate X
2585
+ * @see https://tailwindcss.com/docs/rotate
2586
+ */
2587
+ "rotate-x": [{
2588
+ "rotate-x": scaleRotate()
2589
+ }],
2590
+ /**
2591
+ * Rotate Y
2592
+ * @see https://tailwindcss.com/docs/rotate
2593
+ */
2594
+ "rotate-y": [{
2595
+ "rotate-y": scaleRotate()
2596
+ }],
2597
+ /**
2598
+ * Rotate Z
2599
+ * @see https://tailwindcss.com/docs/rotate
2600
+ */
2601
+ "rotate-z": [{
2602
+ "rotate-z": scaleRotate()
2603
+ }],
2604
+ /**
2605
+ * Scale
2606
+ * @see https://tailwindcss.com/docs/scale
2607
+ */
2608
+ scale: [{
2609
+ scale: scaleScale()
2610
+ }],
2611
+ /**
2612
+ * Scale X
2613
+ * @see https://tailwindcss.com/docs/scale
2614
+ */
2615
+ "scale-x": [{
2616
+ "scale-x": scaleScale()
2617
+ }],
2618
+ /**
2619
+ * Scale Y
2620
+ * @see https://tailwindcss.com/docs/scale
2621
+ */
2622
+ "scale-y": [{
2623
+ "scale-y": scaleScale()
2624
+ }],
2625
+ /**
2626
+ * Scale Z
2627
+ * @see https://tailwindcss.com/docs/scale
2628
+ */
2629
+ "scale-z": [{
2630
+ "scale-z": scaleScale()
2631
+ }],
2632
+ /**
2633
+ * Scale 3D
2634
+ * @see https://tailwindcss.com/docs/scale
2635
+ */
2636
+ "scale-3d": ["scale-3d"],
2637
+ /**
2638
+ * Skew
2639
+ * @see https://tailwindcss.com/docs/skew
2640
+ */
2641
+ skew: [{
2642
+ skew: scaleSkew()
2643
+ }],
2644
+ /**
2645
+ * Skew X
2646
+ * @see https://tailwindcss.com/docs/skew
2647
+ */
2648
+ "skew-x": [{
2649
+ "skew-x": scaleSkew()
2650
+ }],
2651
+ /**
2652
+ * Skew Y
2653
+ * @see https://tailwindcss.com/docs/skew
2654
+ */
2655
+ "skew-y": [{
2656
+ "skew-y": scaleSkew()
2657
+ }],
2658
+ /**
2659
+ * Transform
2660
+ * @see https://tailwindcss.com/docs/transform
2661
+ */
2662
+ transform: [{
2663
+ transform: [isArbitraryVariable, isArbitraryValue, "", "none", "gpu", "cpu"]
2664
+ }],
2665
+ /**
2666
+ * Transform Origin
2667
+ * @see https://tailwindcss.com/docs/transform-origin
2668
+ */
2669
+ "transform-origin": [{
2670
+ origin: scalePositionWithArbitrary()
2671
+ }],
2672
+ /**
2673
+ * Transform Style
2674
+ * @see https://tailwindcss.com/docs/transform-style
2675
+ */
2676
+ "transform-style": [{
2677
+ transform: ["3d", "flat"]
2678
+ }],
2679
+ /**
2680
+ * Translate
2681
+ * @see https://tailwindcss.com/docs/translate
2682
+ */
2683
+ translate: [{
2684
+ translate: scaleTranslate()
2685
+ }],
2686
+ /**
2687
+ * Translate X
2688
+ * @see https://tailwindcss.com/docs/translate
2689
+ */
2690
+ "translate-x": [{
2691
+ "translate-x": scaleTranslate()
2692
+ }],
2693
+ /**
2694
+ * Translate Y
2695
+ * @see https://tailwindcss.com/docs/translate
2696
+ */
2697
+ "translate-y": [{
2698
+ "translate-y": scaleTranslate()
2699
+ }],
2700
+ /**
2701
+ * Translate Z
2702
+ * @see https://tailwindcss.com/docs/translate
2703
+ */
2704
+ "translate-z": [{
2705
+ "translate-z": scaleTranslate()
2706
+ }],
2707
+ /**
2708
+ * Translate None
2709
+ * @see https://tailwindcss.com/docs/translate
2710
+ */
2711
+ "translate-none": ["translate-none"],
2712
+ // ---------------------
2713
+ // --- Interactivity ---
2714
+ // ---------------------
2715
+ /**
2716
+ * Accent Color
2717
+ * @see https://tailwindcss.com/docs/accent-color
2718
+ */
2719
+ accent: [{
2720
+ accent: scaleColor()
2721
+ }],
2722
+ /**
2723
+ * Appearance
2724
+ * @see https://tailwindcss.com/docs/appearance
2725
+ */
2726
+ appearance: [{
2727
+ appearance: ["none", "auto"]
2728
+ }],
2729
+ /**
2730
+ * Caret Color
2731
+ * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
2732
+ */
2733
+ "caret-color": [{
2734
+ caret: scaleColor()
2735
+ }],
2736
+ /**
2737
+ * Color Scheme
2738
+ * @see https://tailwindcss.com/docs/color-scheme
2739
+ */
2740
+ "color-scheme": [{
2741
+ scheme: ["normal", "dark", "light", "light-dark", "only-dark", "only-light"]
2742
+ }],
2743
+ /**
2744
+ * Cursor
2745
+ * @see https://tailwindcss.com/docs/cursor
2746
+ */
2747
+ cursor: [{
2748
+ 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]
2749
+ }],
2750
+ /**
2751
+ * Field Sizing
2752
+ * @see https://tailwindcss.com/docs/field-sizing
2753
+ */
2754
+ "field-sizing": [{
2755
+ "field-sizing": ["fixed", "content"]
2756
+ }],
2757
+ /**
2758
+ * Pointer Events
2759
+ * @see https://tailwindcss.com/docs/pointer-events
2760
+ */
2761
+ "pointer-events": [{
2762
+ "pointer-events": ["auto", "none"]
2763
+ }],
2764
+ /**
2765
+ * Resize
2766
+ * @see https://tailwindcss.com/docs/resize
2767
+ */
2768
+ resize: [{
2769
+ resize: ["none", "", "y", "x"]
2770
+ }],
2771
+ /**
2772
+ * Scroll Behavior
2773
+ * @see https://tailwindcss.com/docs/scroll-behavior
2774
+ */
2775
+ "scroll-behavior": [{
2776
+ scroll: ["auto", "smooth"]
2777
+ }],
2778
+ /**
2779
+ * Scroll Margin
2780
+ * @see https://tailwindcss.com/docs/scroll-margin
2781
+ */
2782
+ "scroll-m": [{
2783
+ "scroll-m": scaleUnambiguousSpacing()
2784
+ }],
2785
+ /**
2786
+ * Scroll Margin X
2787
+ * @see https://tailwindcss.com/docs/scroll-margin
2788
+ */
2789
+ "scroll-mx": [{
2790
+ "scroll-mx": scaleUnambiguousSpacing()
2791
+ }],
2792
+ /**
2793
+ * Scroll Margin Y
2794
+ * @see https://tailwindcss.com/docs/scroll-margin
2795
+ */
2796
+ "scroll-my": [{
2797
+ "scroll-my": scaleUnambiguousSpacing()
2798
+ }],
2799
+ /**
2800
+ * Scroll Margin Start
2801
+ * @see https://tailwindcss.com/docs/scroll-margin
2802
+ */
2803
+ "scroll-ms": [{
2804
+ "scroll-ms": scaleUnambiguousSpacing()
2805
+ }],
2806
+ /**
2807
+ * Scroll Margin End
2808
+ * @see https://tailwindcss.com/docs/scroll-margin
2809
+ */
2810
+ "scroll-me": [{
2811
+ "scroll-me": scaleUnambiguousSpacing()
2812
+ }],
2813
+ /**
2814
+ * Scroll Margin Top
2815
+ * @see https://tailwindcss.com/docs/scroll-margin
2816
+ */
2817
+ "scroll-mt": [{
2818
+ "scroll-mt": scaleUnambiguousSpacing()
2819
+ }],
2820
+ /**
2821
+ * Scroll Margin Right
2822
+ * @see https://tailwindcss.com/docs/scroll-margin
2823
+ */
2824
+ "scroll-mr": [{
2825
+ "scroll-mr": scaleUnambiguousSpacing()
2826
+ }],
2827
+ /**
2828
+ * Scroll Margin Bottom
2829
+ * @see https://tailwindcss.com/docs/scroll-margin
2830
+ */
2831
+ "scroll-mb": [{
2832
+ "scroll-mb": scaleUnambiguousSpacing()
2833
+ }],
2834
+ /**
2835
+ * Scroll Margin Left
2836
+ * @see https://tailwindcss.com/docs/scroll-margin
2837
+ */
2838
+ "scroll-ml": [{
2839
+ "scroll-ml": scaleUnambiguousSpacing()
2840
+ }],
2841
+ /**
2842
+ * Scroll Padding
2843
+ * @see https://tailwindcss.com/docs/scroll-padding
2844
+ */
2845
+ "scroll-p": [{
2846
+ "scroll-p": scaleUnambiguousSpacing()
2847
+ }],
2848
+ /**
2849
+ * Scroll Padding X
2850
+ * @see https://tailwindcss.com/docs/scroll-padding
2851
+ */
2852
+ "scroll-px": [{
2853
+ "scroll-px": scaleUnambiguousSpacing()
2854
+ }],
2855
+ /**
2856
+ * Scroll Padding Y
2857
+ * @see https://tailwindcss.com/docs/scroll-padding
2858
+ */
2859
+ "scroll-py": [{
2860
+ "scroll-py": scaleUnambiguousSpacing()
2861
+ }],
2862
+ /**
2863
+ * Scroll Padding Start
2864
+ * @see https://tailwindcss.com/docs/scroll-padding
2865
+ */
2866
+ "scroll-ps": [{
2867
+ "scroll-ps": scaleUnambiguousSpacing()
2868
+ }],
2869
+ /**
2870
+ * Scroll Padding End
2871
+ * @see https://tailwindcss.com/docs/scroll-padding
2872
+ */
2873
+ "scroll-pe": [{
2874
+ "scroll-pe": scaleUnambiguousSpacing()
2875
+ }],
2876
+ /**
2877
+ * Scroll Padding Top
2878
+ * @see https://tailwindcss.com/docs/scroll-padding
2879
+ */
2880
+ "scroll-pt": [{
2881
+ "scroll-pt": scaleUnambiguousSpacing()
2882
+ }],
2883
+ /**
2884
+ * Scroll Padding Right
2885
+ * @see https://tailwindcss.com/docs/scroll-padding
2886
+ */
2887
+ "scroll-pr": [{
2888
+ "scroll-pr": scaleUnambiguousSpacing()
2889
+ }],
2890
+ /**
2891
+ * Scroll Padding Bottom
2892
+ * @see https://tailwindcss.com/docs/scroll-padding
2893
+ */
2894
+ "scroll-pb": [{
2895
+ "scroll-pb": scaleUnambiguousSpacing()
2896
+ }],
2897
+ /**
2898
+ * Scroll Padding Left
2899
+ * @see https://tailwindcss.com/docs/scroll-padding
2900
+ */
2901
+ "scroll-pl": [{
2902
+ "scroll-pl": scaleUnambiguousSpacing()
2903
+ }],
2904
+ /**
2905
+ * Scroll Snap Align
2906
+ * @see https://tailwindcss.com/docs/scroll-snap-align
2907
+ */
2908
+ "snap-align": [{
2909
+ snap: ["start", "end", "center", "align-none"]
2910
+ }],
2911
+ /**
2912
+ * Scroll Snap Stop
2913
+ * @see https://tailwindcss.com/docs/scroll-snap-stop
2914
+ */
2915
+ "snap-stop": [{
2916
+ snap: ["normal", "always"]
2917
+ }],
2918
+ /**
2919
+ * Scroll Snap Type
2920
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2921
+ */
2922
+ "snap-type": [{
2923
+ snap: ["none", "x", "y", "both"]
2924
+ }],
2925
+ /**
2926
+ * Scroll Snap Type Strictness
2927
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2928
+ */
2929
+ "snap-strictness": [{
2930
+ snap: ["mandatory", "proximity"]
2931
+ }],
2932
+ /**
2933
+ * Touch Action
2934
+ * @see https://tailwindcss.com/docs/touch-action
2935
+ */
2936
+ touch: [{
2937
+ touch: ["auto", "none", "manipulation"]
2938
+ }],
2939
+ /**
2940
+ * Touch Action X
2941
+ * @see https://tailwindcss.com/docs/touch-action
2942
+ */
2943
+ "touch-x": [{
2944
+ "touch-pan": ["x", "left", "right"]
2945
+ }],
2946
+ /**
2947
+ * Touch Action Y
2948
+ * @see https://tailwindcss.com/docs/touch-action
2949
+ */
2950
+ "touch-y": [{
2951
+ "touch-pan": ["y", "up", "down"]
2952
+ }],
2953
+ /**
2954
+ * Touch Action Pinch Zoom
2955
+ * @see https://tailwindcss.com/docs/touch-action
2956
+ */
2957
+ "touch-pz": ["touch-pinch-zoom"],
2958
+ /**
2959
+ * User Select
2960
+ * @see https://tailwindcss.com/docs/user-select
2961
+ */
2962
+ select: [{
2963
+ select: ["none", "text", "all", "auto"]
2964
+ }],
2965
+ /**
2966
+ * Will Change
2967
+ * @see https://tailwindcss.com/docs/will-change
2968
+ */
2969
+ "will-change": [{
2970
+ "will-change": ["auto", "scroll", "contents", "transform", isArbitraryVariable, isArbitraryValue]
2971
+ }],
2972
+ // -----------
2973
+ // --- SVG ---
2974
+ // -----------
2975
+ /**
2976
+ * Fill
2977
+ * @see https://tailwindcss.com/docs/fill
2978
+ */
2979
+ fill: [{
2980
+ fill: ["none", ...scaleColor()]
2981
+ }],
2982
+ /**
2983
+ * Stroke Width
2984
+ * @see https://tailwindcss.com/docs/stroke-width
2985
+ */
2986
+ "stroke-w": [{
2987
+ stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]
2988
+ }],
2989
+ /**
2990
+ * Stroke
2991
+ * @see https://tailwindcss.com/docs/stroke
2992
+ */
2993
+ stroke: [{
2994
+ stroke: ["none", ...scaleColor()]
2995
+ }],
2996
+ // ---------------------
2997
+ // --- Accessibility ---
2998
+ // ---------------------
2999
+ /**
3000
+ * Forced Color Adjust
3001
+ * @see https://tailwindcss.com/docs/forced-color-adjust
3002
+ */
3003
+ "forced-color-adjust": [{
3004
+ "forced-color-adjust": ["auto", "none"]
3005
+ }]
3006
+ },
3007
+ conflictingClassGroups: {
3008
+ overflow: ["overflow-x", "overflow-y"],
3009
+ overscroll: ["overscroll-x", "overscroll-y"],
3010
+ inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
3011
+ "inset-x": ["right", "left"],
3012
+ "inset-y": ["top", "bottom"],
3013
+ flex: ["basis", "grow", "shrink"],
3014
+ gap: ["gap-x", "gap-y"],
3015
+ p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
3016
+ px: ["pr", "pl"],
3017
+ py: ["pt", "pb"],
3018
+ m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
3019
+ mx: ["mr", "ml"],
3020
+ my: ["mt", "mb"],
3021
+ size: ["w", "h"],
3022
+ "font-size": ["leading"],
3023
+ "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
3024
+ "fvn-ordinal": ["fvn-normal"],
3025
+ "fvn-slashed-zero": ["fvn-normal"],
3026
+ "fvn-figure": ["fvn-normal"],
3027
+ "fvn-spacing": ["fvn-normal"],
3028
+ "fvn-fraction": ["fvn-normal"],
3029
+ "line-clamp": ["display", "overflow"],
3030
+ 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"],
3031
+ "rounded-s": ["rounded-ss", "rounded-es"],
3032
+ "rounded-e": ["rounded-se", "rounded-ee"],
3033
+ "rounded-t": ["rounded-tl", "rounded-tr"],
3034
+ "rounded-r": ["rounded-tr", "rounded-br"],
3035
+ "rounded-b": ["rounded-br", "rounded-bl"],
3036
+ "rounded-l": ["rounded-tl", "rounded-bl"],
3037
+ "border-spacing": ["border-spacing-x", "border-spacing-y"],
3038
+ "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"],
3039
+ "border-w-x": ["border-w-r", "border-w-l"],
3040
+ "border-w-y": ["border-w-t", "border-w-b"],
3041
+ "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"],
3042
+ "border-color-x": ["border-color-r", "border-color-l"],
3043
+ "border-color-y": ["border-color-t", "border-color-b"],
3044
+ translate: ["translate-x", "translate-y", "translate-none"],
3045
+ "translate-none": ["translate", "translate-x", "translate-y", "translate-z"],
3046
+ "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
3047
+ "scroll-mx": ["scroll-mr", "scroll-ml"],
3048
+ "scroll-my": ["scroll-mt", "scroll-mb"],
3049
+ "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
3050
+ "scroll-px": ["scroll-pr", "scroll-pl"],
3051
+ "scroll-py": ["scroll-pt", "scroll-pb"],
3052
+ touch: ["touch-x", "touch-y", "touch-pz"],
3053
+ "touch-x": ["touch"],
3054
+ "touch-y": ["touch"],
3055
+ "touch-pz": ["touch"]
3056
+ },
3057
+ conflictingClassGroupModifiers: {
3058
+ "font-size": ["leading"]
3059
+ },
3060
+ orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
3061
+ };
3062
+ };
3063
+ var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
3064
+
3065
+ // src/data/country-data.ts
3066
+ var countryData = [
3067
+ {
3068
+ country: "Afghanistan",
3069
+ countryCode: "AF",
3070
+ callingCode: "+93"
3071
+ },
3072
+ {
3073
+ country: "Albania",
3074
+ countryCode: "AL",
3075
+ callingCode: "+355"
3076
+ },
3077
+ {
3078
+ country: "Algeria",
3079
+ countryCode: "DZ",
3080
+ callingCode: "+213"
3081
+ },
3082
+ {
3083
+ country: "American Samoa",
3084
+ countryCode: "AS",
3085
+ callingCode: "+1684"
3086
+ },
3087
+ {
3088
+ country: "Andorra",
3089
+ countryCode: "AD",
3090
+ callingCode: "+376"
3091
+ },
3092
+ {
3093
+ country: "Angola",
3094
+ countryCode: "AO",
3095
+ callingCode: "+244"
3096
+ },
3097
+ {
3098
+ country: "Anguilla",
3099
+ countryCode: "AI",
3100
+ callingCode: "+1264"
3101
+ },
3102
+ {
3103
+ country: "Antarctica",
3104
+ countryCode: "AQ",
3105
+ callingCode: "+672"
3106
+ },
3107
+ {
3108
+ country: "Antigua and Barbuda",
3109
+ countryCode: "AG",
3110
+ callingCode: "+1268"
3111
+ },
3112
+ {
3113
+ country: "Argentina",
3114
+ countryCode: "AR",
3115
+ callingCode: "+54"
3116
+ },
3117
+ {
3118
+ country: "Armenia",
3119
+ countryCode: "AM",
3120
+ callingCode: "+374"
3121
+ },
3122
+ {
3123
+ country: "Aruba",
3124
+ countryCode: "AW",
3125
+ callingCode: "+297"
3126
+ },
3127
+ {
3128
+ country: "Australia",
3129
+ countryCode: "AU",
3130
+ callingCode: "+61"
3131
+ },
3132
+ {
3133
+ country: "Austria",
3134
+ countryCode: "AT",
3135
+ callingCode: "+43"
3136
+ },
3137
+ {
3138
+ country: "Azerbaijan",
3139
+ countryCode: "AZ",
3140
+ callingCode: "+994"
3141
+ },
3142
+ {
3143
+ country: "Bahamas",
3144
+ countryCode: "BS",
3145
+ callingCode: "+1242"
3146
+ },
3147
+ {
3148
+ country: "Bahrain",
3149
+ countryCode: "BH",
3150
+ callingCode: "+973"
3151
+ },
3152
+ {
3153
+ country: "Bangladesh",
3154
+ countryCode: "BD",
3155
+ callingCode: "+880"
3156
+ },
3157
+ {
3158
+ country: "Barbados",
3159
+ countryCode: "BB",
3160
+ callingCode: "+1246"
3161
+ },
3162
+ {
3163
+ country: "Belarus",
3164
+ countryCode: "BY",
3165
+ callingCode: "+375"
3166
+ },
3167
+ {
3168
+ country: "Belgium",
3169
+ countryCode: "BE",
3170
+ callingCode: "+32"
3171
+ },
3172
+ {
3173
+ country: "Belize",
3174
+ countryCode: "BZ",
3175
+ callingCode: "+501"
3176
+ },
3177
+ {
3178
+ country: "Benin",
3179
+ countryCode: "BJ",
3180
+ callingCode: "+229"
3181
+ },
3182
+ {
3183
+ country: "Bermuda",
3184
+ countryCode: "BM",
3185
+ callingCode: "+1441"
3186
+ },
3187
+ {
3188
+ country: "Bhutan",
3189
+ countryCode: "BT",
3190
+ callingCode: "+975"
3191
+ },
3192
+ {
3193
+ country: "Bolivia",
3194
+ countryCode: "BO",
3195
+ callingCode: "+591"
3196
+ },
3197
+ {
3198
+ country: "Bosnia and Herzegovina",
3199
+ countryCode: "BA",
3200
+ callingCode: "+387"
3201
+ },
3202
+ {
3203
+ country: "Botswana",
3204
+ countryCode: "BW",
3205
+ callingCode: "+267"
3206
+ },
3207
+ {
3208
+ country: "Bouvet Island",
3209
+ countryCode: "BV",
3210
+ callingCode: "+47"
3211
+ },
3212
+ {
3213
+ country: "Brazil",
3214
+ countryCode: "BR",
3215
+ callingCode: "+55"
3216
+ },
3217
+ {
3218
+ country: "British Indian Ocean Territory",
3219
+ countryCode: "IO",
3220
+ callingCode: "+246"
3221
+ },
3222
+ {
3223
+ country: "British Virgin Islands",
3224
+ countryCode: "VG",
3225
+ callingCode: "+1284"
3226
+ },
3227
+ {
3228
+ country: "Brunei",
3229
+ countryCode: "BN",
3230
+ callingCode: "+673"
3231
+ },
3232
+ {
3233
+ country: "Bulgaria",
3234
+ countryCode: "BG",
3235
+ callingCode: "+359"
3236
+ },
3237
+ {
3238
+ country: "Burkina Faso",
3239
+ countryCode: "BF",
3240
+ callingCode: "+226"
3241
+ },
3242
+ {
3243
+ country: "Burundi",
3244
+ countryCode: "BI",
3245
+ callingCode: "+257"
3246
+ },
3247
+ {
3248
+ country: "Cambodia",
3249
+ countryCode: "KH",
3250
+ callingCode: "+855"
3251
+ },
3252
+ {
3253
+ country: "Cameroon",
3254
+ countryCode: "CM",
3255
+ callingCode: "+237"
3256
+ },
3257
+ {
3258
+ country: "Canada",
3259
+ countryCode: "CA",
3260
+ callingCode: "+1"
3261
+ },
3262
+ {
3263
+ country: "Cape Verde",
3264
+ countryCode: "CV",
3265
+ callingCode: "+238"
3266
+ },
3267
+ {
3268
+ country: "Cayman Islands",
3269
+ countryCode: "KY",
3270
+ callingCode: "+1345"
3271
+ },
3272
+ {
3273
+ country: "Central African Republic",
3274
+ countryCode: "CF",
3275
+ callingCode: "+236"
3276
+ },
3277
+ {
3278
+ country: "Chad",
3279
+ countryCode: "TD",
3280
+ callingCode: "+235"
3281
+ },
3282
+ {
3283
+ country: "Chile",
3284
+ countryCode: "CL",
3285
+ callingCode: "+56"
3286
+ },
3287
+ {
3288
+ country: "China",
3289
+ countryCode: "CN",
3290
+ callingCode: "+86"
3291
+ },
3292
+ {
3293
+ country: "Christmas Island",
3294
+ countryCode: "CX",
3295
+ callingCode: "+61"
3296
+ },
3297
+ {
3298
+ country: "Cocos Islands",
3299
+ countryCode: "CC",
3300
+ callingCode: "+61"
3301
+ },
3302
+ {
3303
+ country: "Colombia",
3304
+ countryCode: "CO",
3305
+ callingCode: "+57"
3306
+ },
3307
+ {
3308
+ country: "Comoros",
3309
+ countryCode: "KM",
3310
+ callingCode: "+269"
3311
+ },
3312
+ {
3313
+ country: "Cook Islands",
3314
+ countryCode: "CK",
3315
+ callingCode: "+682"
3316
+ },
3317
+ {
3318
+ country: "Costa Rica",
3319
+ countryCode: "CR",
3320
+ callingCode: "+506"
3321
+ },
3322
+ {
3323
+ country: "Croatia",
3324
+ countryCode: "HR",
3325
+ callingCode: "+385"
3326
+ },
3327
+ {
3328
+ country: "Cuba",
3329
+ countryCode: "CU",
3330
+ callingCode: "+53"
3331
+ },
3332
+ {
3333
+ country: "Cyprus",
3334
+ countryCode: "CY",
3335
+ callingCode: "+357"
3336
+ },
3337
+ {
3338
+ country: "Czech Republic",
3339
+ countryCode: "CZ",
3340
+ callingCode: "+420"
3341
+ },
3342
+ {
3343
+ country: "Democratic Republic of the Congo",
3344
+ countryCode: "CD",
3345
+ callingCode: "+243"
3346
+ },
3347
+ {
3348
+ country: "Denmark",
3349
+ countryCode: "DK",
3350
+ callingCode: "+45"
3351
+ },
3352
+ {
3353
+ country: "Djibouti",
3354
+ countryCode: "DJ",
3355
+ callingCode: "+253"
3356
+ },
3357
+ {
3358
+ country: "Dominica",
3359
+ countryCode: "DM",
3360
+ callingCode: "+1767"
3361
+ },
3362
+ {
3363
+ country: "Dominican Republic",
3364
+ countryCode: "DO",
3365
+ callingCode: "+1"
3366
+ },
3367
+ {
3368
+ country: "East Timor",
3369
+ countryCode: "TL",
3370
+ callingCode: "+670"
3371
+ },
3372
+ {
3373
+ country: "Ecuador",
3374
+ countryCode: "EC",
3375
+ callingCode: "+593"
3376
+ },
3377
+ {
3378
+ country: "Egypt",
3379
+ countryCode: "EG",
3380
+ callingCode: "+20"
3381
+ },
3382
+ {
3383
+ country: "El Salvador",
3384
+ countryCode: "SV",
3385
+ callingCode: "+503"
3386
+ },
3387
+ {
3388
+ country: "Equatorial Guinea",
3389
+ countryCode: "GQ",
3390
+ callingCode: "+240"
3391
+ },
3392
+ {
3393
+ country: "Eritrea",
3394
+ countryCode: "ER",
3395
+ callingCode: "+291"
3396
+ },
3397
+ {
3398
+ country: "Estonia",
3399
+ countryCode: "EE",
3400
+ callingCode: "+372"
3401
+ },
3402
+ {
3403
+ country: "Ethiopia",
3404
+ countryCode: "ET",
3405
+ callingCode: "+251"
3406
+ },
3407
+ {
3408
+ country: "Falkland Islands",
3409
+ countryCode: "FK",
3410
+ callingCode: "+500"
3411
+ },
3412
+ {
3413
+ country: "Faroe Islands",
3414
+ countryCode: "FO",
3415
+ callingCode: "+298"
3416
+ },
3417
+ {
3418
+ country: "Fiji",
3419
+ countryCode: "FJ",
3420
+ callingCode: "+679"
3421
+ },
3422
+ {
3423
+ country: "Finland",
3424
+ countryCode: "FI",
3425
+ callingCode: "+358"
3426
+ },
3427
+ {
3428
+ country: "France",
3429
+ countryCode: "FR",
3430
+ callingCode: "+33"
3431
+ },
3432
+ {
3433
+ country: "French Guiana",
3434
+ countryCode: "GF",
3435
+ callingCode: "+594"
3436
+ },
3437
+ {
3438
+ country: "French Polynesia",
3439
+ countryCode: "PF",
3440
+ callingCode: "+689"
3441
+ },
3442
+ {
3443
+ country: "French Southern Territories",
3444
+ countryCode: "TF",
3445
+ callingCode: "+262"
3446
+ },
3447
+ {
3448
+ country: "Gabon",
3449
+ countryCode: "GA",
3450
+ callingCode: "+241"
3451
+ },
3452
+ {
3453
+ country: "Gambia",
3454
+ countryCode: "GM",
3455
+ callingCode: "+220"
3456
+ },
3457
+ {
3458
+ country: "Georgia",
3459
+ countryCode: "GE",
3460
+ callingCode: "+995"
3461
+ },
3462
+ {
3463
+ country: "Germany",
3464
+ countryCode: "DE",
3465
+ callingCode: "+49"
3466
+ },
3467
+ {
3468
+ country: "Ghana",
3469
+ countryCode: "GH",
3470
+ callingCode: "+233"
3471
+ },
3472
+ {
3473
+ country: "Gibraltar",
3474
+ countryCode: "GI",
3475
+ callingCode: "+350"
3476
+ },
3477
+ {
3478
+ country: "Greece",
3479
+ countryCode: "GR",
3480
+ callingCode: "+30"
3481
+ },
3482
+ {
3483
+ country: "Greenland",
3484
+ countryCode: "GL",
3485
+ callingCode: "+299"
3486
+ },
3487
+ {
3488
+ country: "Grenada",
3489
+ countryCode: "GD",
3490
+ callingCode: "+473"
3491
+ },
3492
+ {
3493
+ country: "Guadeloupe",
3494
+ countryCode: "GP",
3495
+ callingCode: "+590"
3496
+ },
3497
+ {
3498
+ country: "Guam",
3499
+ countryCode: "GU",
3500
+ callingCode: "+1671"
3501
+ },
3502
+ {
3503
+ country: "Guatemala",
3504
+ countryCode: "GT",
3505
+ callingCode: "+502"
3506
+ },
3507
+ {
3508
+ country: "Guinea",
3509
+ countryCode: "GN",
3510
+ callingCode: "+224"
3511
+ },
3512
+ {
3513
+ country: "Guinea-Bissau",
3514
+ countryCode: "GW",
3515
+ callingCode: "+245"
3516
+ },
3517
+ {
3518
+ country: "Guyana",
3519
+ countryCode: "GY",
3520
+ callingCode: "+592"
3521
+ },
3522
+ {
3523
+ country: "Haiti",
3524
+ countryCode: "HT",
3525
+ callingCode: "+509"
3526
+ },
3527
+ {
3528
+ country: "Honduras",
3529
+ countryCode: "HN",
3530
+ callingCode: "+504"
3531
+ },
3532
+ {
3533
+ country: "Hong Kong",
3534
+ countryCode: "HK",
3535
+ callingCode: "+852"
3536
+ },
3537
+ {
3538
+ country: "Hungary",
3539
+ countryCode: "HU",
3540
+ callingCode: "+36"
3541
+ },
3542
+ {
3543
+ country: "Iceland",
3544
+ countryCode: "IS",
3545
+ callingCode: "+354"
3546
+ },
3547
+ {
3548
+ country: "India",
3549
+ countryCode: "IN",
3550
+ callingCode: "+91"
3551
+ },
3552
+ {
3553
+ country: "Indonesia",
3554
+ countryCode: "ID",
3555
+ callingCode: "+62"
3556
+ },
3557
+ {
3558
+ country: "Iran",
3559
+ countryCode: "IR",
3560
+ callingCode: "+98"
3561
+ },
3562
+ {
3563
+ country: "Iraq",
3564
+ countryCode: "IQ",
3565
+ callingCode: "+964"
3566
+ },
3567
+ {
3568
+ country: "Ireland",
3569
+ countryCode: "IE",
3570
+ callingCode: "+353"
3571
+ },
3572
+ {
3573
+ country: "Israel",
3574
+ countryCode: "IL",
3575
+ callingCode: "+972"
3576
+ },
3577
+ {
3578
+ country: "Italy",
3579
+ countryCode: "IT",
3580
+ callingCode: "+39"
3581
+ },
3582
+ {
3583
+ country: "Ivory Coast",
3584
+ countryCode: "CI",
3585
+ callingCode: "+225"
3586
+ },
3587
+ {
3588
+ country: "Jamaica",
3589
+ countryCode: "JM",
3590
+ callingCode: "+1876"
3591
+ },
3592
+ {
3593
+ country: "Japan",
3594
+ countryCode: "JP",
3595
+ callingCode: "+81"
3596
+ },
3597
+ {
3598
+ country: "Jordan",
3599
+ countryCode: "JO",
3600
+ callingCode: "+962"
3601
+ },
3602
+ {
3603
+ country: "Kazakhstan",
3604
+ countryCode: "KZ",
3605
+ callingCode: "+7"
3606
+ },
3607
+ {
3608
+ country: "Kenya",
3609
+ countryCode: "KE",
3610
+ callingCode: "+254"
3611
+ },
3612
+ {
3613
+ country: "Kiribati",
3614
+ countryCode: "KI",
3615
+ callingCode: "+686"
3616
+ },
3617
+ {
3618
+ country: "Kuwait",
3619
+ countryCode: "KW",
3620
+ callingCode: "+965"
3621
+ },
3622
+ {
3623
+ country: "Kyrgyzstan",
3624
+ countryCode: "KG",
3625
+ callingCode: "+996"
3626
+ },
3627
+ {
3628
+ country: "Laos",
3629
+ countryCode: "LA",
3630
+ callingCode: "+856"
3631
+ },
3632
+ {
3633
+ country: "Latvia",
3634
+ countryCode: "LV",
3635
+ callingCode: "+371"
3636
+ },
3637
+ {
3638
+ country: "Lebanon",
3639
+ countryCode: "LB",
3640
+ callingCode: "+961"
3641
+ },
3642
+ {
3643
+ country: "Lesotho",
3644
+ countryCode: "LS",
3645
+ callingCode: "+266"
3646
+ },
3647
+ {
3648
+ country: "Liberia",
3649
+ countryCode: "LR",
3650
+ callingCode: "+231"
3651
+ },
3652
+ {
3653
+ country: "Libya",
3654
+ countryCode: "LY",
3655
+ callingCode: "+218"
3656
+ },
3657
+ {
3658
+ country: "Liechtenstein",
3659
+ countryCode: "LI",
3660
+ callingCode: "+423"
3661
+ },
3662
+ {
3663
+ country: "Lithuania",
3664
+ countryCode: "LT",
3665
+ callingCode: "+370"
3666
+ },
3667
+ {
3668
+ country: "Luxembourg",
3669
+ countryCode: "LU",
3670
+ callingCode: "+352"
3671
+ },
3672
+ {
3673
+ country: "Macao",
3674
+ countryCode: "MO",
3675
+ callingCode: "+853"
3676
+ },
3677
+ {
3678
+ country: "Macedonia",
3679
+ countryCode: "MK",
3680
+ callingCode: "+389"
3681
+ },
3682
+ {
3683
+ country: "Madagascar",
3684
+ countryCode: "MG",
3685
+ callingCode: "+261"
3686
+ },
3687
+ {
3688
+ country: "Malawi",
3689
+ countryCode: "MW",
3690
+ callingCode: "+265"
3691
+ },
3692
+ {
3693
+ country: "Malaysia",
3694
+ countryCode: "MY",
3695
+ callingCode: "+60"
3696
+ },
3697
+ {
3698
+ country: "Maldives",
3699
+ countryCode: "MV",
3700
+ callingCode: "+960"
3701
+ },
3702
+ {
3703
+ country: "Mali",
3704
+ countryCode: "ML",
3705
+ callingCode: "+223"
3706
+ },
3707
+ {
3708
+ country: "Malta",
3709
+ countryCode: "MT",
3710
+ callingCode: "+356"
3711
+ },
3712
+ {
3713
+ country: "Marshall Islands",
3714
+ countryCode: "MH",
3715
+ callingCode: "+692"
3716
+ },
3717
+ {
3718
+ country: "Martinique",
3719
+ countryCode: "MQ",
3720
+ callingCode: "+596"
3721
+ },
3722
+ {
3723
+ country: "Mauritania",
3724
+ countryCode: "MR",
3725
+ callingCode: "+222"
3726
+ },
3727
+ {
3728
+ country: "Mauritius",
3729
+ countryCode: "MU",
3730
+ callingCode: "+230"
3731
+ },
3732
+ {
3733
+ country: "Mayotte",
3734
+ countryCode: "YT",
3735
+ callingCode: "+262"
3736
+ },
3737
+ {
3738
+ country: "Mexico",
3739
+ countryCode: "MX",
3740
+ callingCode: "+52"
3741
+ },
3742
+ {
3743
+ country: "Micronesia",
3744
+ countryCode: "FM",
3745
+ callingCode: "+691"
3746
+ },
3747
+ {
3748
+ country: "Moldova",
3749
+ countryCode: "MD",
3750
+ callingCode: "+373"
3751
+ },
3752
+ {
3753
+ country: "Monaco",
3754
+ countryCode: "MC",
3755
+ callingCode: "+377"
3756
+ },
3757
+ {
3758
+ country: "Mongolia",
3759
+ countryCode: "MN",
3760
+ callingCode: "+976"
3761
+ },
3762
+ {
3763
+ country: "Montserrat",
3764
+ countryCode: "MS",
3765
+ callingCode: "+1664"
3766
+ },
3767
+ {
3768
+ country: "Morocco",
3769
+ countryCode: "MA",
3770
+ callingCode: "+212"
3771
+ },
3772
+ {
3773
+ country: "Mozambique",
3774
+ countryCode: "MZ",
3775
+ callingCode: "+258"
3776
+ },
3777
+ {
3778
+ country: "Myanmar",
3779
+ countryCode: "MM",
3780
+ callingCode: "+95"
3781
+ },
3782
+ {
3783
+ country: "Namibia",
3784
+ countryCode: "NA",
3785
+ callingCode: "+264"
3786
+ },
3787
+ {
3788
+ country: "Nauru",
3789
+ countryCode: "NR",
3790
+ callingCode: "+674"
3791
+ },
3792
+ {
3793
+ country: "Nepal",
3794
+ countryCode: "NP",
3795
+ callingCode: "+977"
3796
+ },
3797
+ {
3798
+ country: "Netherlands",
3799
+ countryCode: "NL",
3800
+ callingCode: "+31"
3801
+ },
3802
+ {
3803
+ country: "New Caledonia",
3804
+ countryCode: "NC",
3805
+ callingCode: "+687"
3806
+ },
3807
+ {
3808
+ country: "New Zealand",
3809
+ countryCode: "NZ",
3810
+ callingCode: "+64"
3811
+ },
3812
+ {
3813
+ country: "Nicaragua",
3814
+ countryCode: "NI",
3815
+ callingCode: "+505"
3816
+ },
3817
+ {
3818
+ country: "Niger",
3819
+ countryCode: "NE",
3820
+ callingCode: "+227"
3821
+ },
3822
+ {
3823
+ country: "Nigeria",
3824
+ countryCode: "NG",
3825
+ callingCode: "+234"
3826
+ },
3827
+ {
3828
+ country: "Niue",
3829
+ countryCode: "NU",
3830
+ callingCode: "+683"
3831
+ },
3832
+ {
3833
+ country: "Norfolk Island",
3834
+ countryCode: "NF",
3835
+ callingCode: "+672"
3836
+ },
3837
+ {
3838
+ country: "North Korea",
3839
+ countryCode: "KP",
3840
+ callingCode: "+850"
3841
+ },
3842
+ {
3843
+ country: "Northern Mariana Islands",
3844
+ countryCode: "MP",
3845
+ callingCode: "+1670"
3846
+ },
3847
+ {
3848
+ country: "Norway",
3849
+ countryCode: "NO",
3850
+ callingCode: "+47"
3851
+ },
3852
+ {
3853
+ country: "Oman",
3854
+ countryCode: "OM",
3855
+ callingCode: "+968"
3856
+ },
3857
+ {
3858
+ country: "Pakistan",
3859
+ countryCode: "PK",
3860
+ callingCode: "+92"
3861
+ },
3862
+ {
3863
+ country: "Palau",
3864
+ countryCode: "PW",
3865
+ callingCode: "+680"
3866
+ },
3867
+ {
3868
+ country: "Palestinian Territory",
3869
+ countryCode: "PS",
3870
+ callingCode: "+970"
3871
+ },
3872
+ {
3873
+ country: "Panama",
3874
+ countryCode: "PA",
3875
+ callingCode: "+507"
3876
+ },
3877
+ {
3878
+ country: "Papua New Guinea",
3879
+ countryCode: "PG",
3880
+ callingCode: "+675"
3881
+ },
3882
+ {
3883
+ country: "Paraguay",
3884
+ countryCode: "PY",
3885
+ callingCode: "+595"
3886
+ },
3887
+ {
3888
+ country: "Peru",
3889
+ countryCode: "PE",
3890
+ callingCode: "+51"
3891
+ },
3892
+ {
3893
+ country: "Philippines",
3894
+ countryCode: "PH",
3895
+ callingCode: "+63"
3896
+ },
3897
+ {
3898
+ country: "Pitcairn",
3899
+ countryCode: "PN",
3900
+ callingCode: "+872"
3901
+ },
3902
+ {
3903
+ country: "Poland",
3904
+ countryCode: "PL",
3905
+ callingCode: "+48"
3906
+ },
3907
+ {
3908
+ country: "Portugal",
3909
+ countryCode: "PT",
3910
+ callingCode: "+351"
3911
+ },
3912
+ {
3913
+ country: "Puerto Rico",
3914
+ countryCode: "PR",
3915
+ callingCode: "+1"
3916
+ },
3917
+ {
3918
+ country: "Qatar",
3919
+ countryCode: "QA",
3920
+ callingCode: "+974"
3921
+ },
3922
+ {
3923
+ country: "Republic of the Congo",
3924
+ countryCode: "CG",
3925
+ callingCode: "+242"
3926
+ },
3927
+ {
3928
+ country: "Reunion",
3929
+ countryCode: "RE",
3930
+ callingCode: "+262"
3931
+ },
3932
+ {
3933
+ country: "Romania",
3934
+ countryCode: "RO",
3935
+ callingCode: "+40"
3936
+ },
3937
+ {
3938
+ country: "Russia",
3939
+ countryCode: "RU",
3940
+ callingCode: "+7"
3941
+ },
3942
+ {
3943
+ country: "Rwanda",
3944
+ countryCode: "RW",
3945
+ callingCode: "+250"
3946
+ },
3947
+ {
3948
+ country: "Saint Helena",
3949
+ countryCode: "SH",
3950
+ callingCode: "+290"
3951
+ },
3952
+ {
3953
+ country: "Saint Kitts and Nevis",
3954
+ countryCode: "KN",
3955
+ callingCode: "+1869"
3956
+ },
3957
+ {
3958
+ country: "Saint Lucia",
3959
+ countryCode: "LC",
3960
+ callingCode: "+1758"
3961
+ },
3962
+ {
3963
+ country: "Saint Pierre and Miquelon",
3964
+ countryCode: "PM",
3965
+ callingCode: "+508"
3966
+ },
3967
+ {
3968
+ country: "Saint Vincent and the Grenadines",
3969
+ countryCode: "VC",
3970
+ callingCode: "+1784"
3971
+ },
3972
+ {
3973
+ country: "Samoa",
3974
+ countryCode: "WS",
3975
+ callingCode: "+685"
3976
+ },
3977
+ {
3978
+ country: "San Marino",
3979
+ countryCode: "SM",
3980
+ callingCode: "+378"
3981
+ },
3982
+ {
3983
+ country: "Sao Tome and Principe",
3984
+ countryCode: "ST",
3985
+ callingCode: "+239"
3986
+ },
3987
+ {
3988
+ country: "Saudi Arabia",
3989
+ countryCode: "SA",
3990
+ callingCode: "+966"
3991
+ },
3992
+ {
3993
+ country: "Senegal",
3994
+ countryCode: "SN",
3995
+ callingCode: "+221"
3996
+ },
3997
+ {
3998
+ country: "Seychelles",
3999
+ countryCode: "SC",
4000
+ callingCode: "+248"
4001
+ },
4002
+ {
4003
+ country: "Sierra Leone",
4004
+ countryCode: "SL",
4005
+ callingCode: "+232"
4006
+ },
4007
+ {
4008
+ country: "Singapore",
4009
+ countryCode: "SG",
4010
+ callingCode: "+65"
4011
+ },
4012
+ {
4013
+ country: "Slovakia",
4014
+ countryCode: "SK",
4015
+ callingCode: "+421"
4016
+ },
4017
+ {
4018
+ country: "Slovenia",
4019
+ countryCode: "SI",
4020
+ callingCode: "+386"
4021
+ },
4022
+ {
4023
+ country: "Solomon Islands",
4024
+ countryCode: "SB",
4025
+ callingCode: "+677"
4026
+ },
4027
+ {
4028
+ country: "Somalia",
4029
+ countryCode: "SO",
4030
+ callingCode: "+252"
4031
+ },
4032
+ {
4033
+ country: "South Africa",
4034
+ countryCode: "ZA",
4035
+ callingCode: "+27"
4036
+ },
4037
+ {
4038
+ country: "South Georgia and the South Sandwich Islands",
4039
+ countryCode: "GS",
4040
+ callingCode: "+500"
4041
+ },
4042
+ {
4043
+ country: "South Korea",
4044
+ countryCode: "KR",
4045
+ callingCode: "+82"
4046
+ },
4047
+ {
4048
+ country: "Spain",
4049
+ countryCode: "ES",
4050
+ callingCode: "+34"
4051
+ },
4052
+ {
4053
+ country: "Sri Lanka",
4054
+ countryCode: "LK",
4055
+ callingCode: "+94"
4056
+ },
4057
+ {
4058
+ country: "Sudan",
4059
+ countryCode: "SD",
4060
+ callingCode: "+249"
4061
+ },
4062
+ {
4063
+ country: "Suriname",
4064
+ countryCode: "SR",
4065
+ callingCode: "+597"
4066
+ },
4067
+ {
4068
+ country: "Svalbard and Jan Mayen",
4069
+ countryCode: "SJ",
4070
+ callingCode: "+47"
4071
+ },
4072
+ {
4073
+ country: "Swaziland",
4074
+ countryCode: "SZ",
4075
+ callingCode: "+268"
4076
+ },
4077
+ {
4078
+ country: "Sweden",
4079
+ countryCode: "SE",
4080
+ callingCode: "+46"
4081
+ },
4082
+ {
4083
+ country: "Switzerland",
4084
+ countryCode: "CH",
4085
+ callingCode: "+41"
4086
+ },
4087
+ {
4088
+ country: "Syria",
4089
+ countryCode: "SY",
4090
+ callingCode: "+963"
4091
+ },
4092
+ {
4093
+ country: "Taiwan",
4094
+ countryCode: "TW",
4095
+ callingCode: "+886"
4096
+ },
4097
+ {
4098
+ country: "Tajikistan",
4099
+ countryCode: "TJ",
4100
+ callingCode: "+992"
4101
+ },
4102
+ {
4103
+ country: "Tanzania",
4104
+ countryCode: "TZ",
4105
+ callingCode: "+255"
4106
+ },
4107
+ {
4108
+ country: "Thailand",
4109
+ countryCode: "TH",
4110
+ callingCode: "+66"
4111
+ },
4112
+ {
4113
+ country: "Togo",
4114
+ countryCode: "TG",
4115
+ callingCode: "+228"
4116
+ },
4117
+ {
4118
+ country: "Tokelau",
4119
+ countryCode: "TK",
4120
+ callingCode: "+690"
4121
+ },
4122
+ {
4123
+ country: "Tonga",
4124
+ countryCode: "TO",
4125
+ callingCode: "+676"
4126
+ },
4127
+ {
4128
+ country: "Trinidad and Tobago",
4129
+ countryCode: "TT",
4130
+ callingCode: "+1868"
4131
+ },
4132
+ {
4133
+ country: "Tunisia",
4134
+ countryCode: "TN",
4135
+ callingCode: "+216"
4136
+ },
4137
+ {
4138
+ country: "Turkey",
4139
+ countryCode: "TR",
4140
+ callingCode: "+90"
4141
+ },
4142
+ {
4143
+ country: "Turkmenistan",
4144
+ countryCode: "TM",
4145
+ callingCode: "+993"
4146
+ },
4147
+ {
4148
+ country: "Turks and Caicos Islands",
4149
+ countryCode: "TC",
4150
+ callingCode: "+1649"
4151
+ },
4152
+ {
4153
+ country: "Tuvalu",
4154
+ countryCode: "TV",
4155
+ callingCode: "+688"
4156
+ },
4157
+ {
4158
+ country: "U.S. Virgin Islands",
4159
+ countryCode: "VI",
4160
+ callingCode: "+1340"
4161
+ },
4162
+ {
4163
+ country: "Uganda",
4164
+ countryCode: "UG",
4165
+ callingCode: "+256"
4166
+ },
4167
+ {
4168
+ country: "Ukraine",
4169
+ countryCode: "UA",
4170
+ callingCode: "+380"
4171
+ },
4172
+ {
4173
+ country: "United Arab Emirates",
4174
+ countryCode: "AE",
4175
+ callingCode: "+971"
4176
+ },
4177
+ {
4178
+ country: "United Kingdom",
4179
+ countryCode: "GB",
4180
+ callingCode: "+44"
4181
+ },
4182
+ {
4183
+ country: "United States",
4184
+ countryCode: "US",
4185
+ callingCode: "+1"
4186
+ },
4187
+ {
4188
+ country: "United States Minor Outlying Islands",
4189
+ countryCode: "UM",
4190
+ callingCode: "+1"
4191
+ },
4192
+ {
4193
+ country: "Uruguay",
4194
+ countryCode: "UY",
4195
+ callingCode: "+598"
4196
+ },
4197
+ {
4198
+ country: "Uzbekistan",
4199
+ countryCode: "UZ",
4200
+ callingCode: "+998"
4201
+ },
4202
+ {
4203
+ country: "Vanuatu",
4204
+ countryCode: "VU",
4205
+ callingCode: "+678"
4206
+ },
4207
+ {
4208
+ country: "Vatican",
4209
+ countryCode: "VA",
4210
+ callingCode: "+379"
4211
+ },
4212
+ {
4213
+ country: "Venezuela",
4214
+ countryCode: "VE",
4215
+ callingCode: "+58"
4216
+ },
4217
+ {
4218
+ country: "Vietnam",
4219
+ countryCode: "VN",
4220
+ callingCode: "+84"
4221
+ },
4222
+ {
4223
+ country: "Wallis and Futuna",
4224
+ countryCode: "WF",
4225
+ callingCode: "+681"
4226
+ },
4227
+ {
4228
+ country: "Western Sahara",
4229
+ countryCode: "EH",
4230
+ callingCode: "+212"
4231
+ },
4232
+ {
4233
+ country: "Yemen",
4234
+ countryCode: "YE",
4235
+ callingCode: "+967"
4236
+ },
4237
+ {
4238
+ country: "Zambia",
4239
+ countryCode: "ZM",
4240
+ callingCode: "+260"
4241
+ },
4242
+ {
4243
+ country: "Zimbabwe",
4244
+ countryCode: "ZW",
4245
+ callingCode: "+263"
4246
+ }
4247
+ ];
4248
+
4249
+ // src/utils/country-helper.ts
4250
+ var getDefaultCountry = (code) => {
4251
+ const result = countryData.find((item) => item.countryCode === code);
4252
+ return result;
4253
+ };
4254
+ var getBySearch = (search, onlyCountry, excludeCountry) => {
4255
+ let countries = [];
4256
+ if (excludeCountry && excludeCountry.length > 0) {
4257
+ countries = countryData.filter((item) => !(excludeCountry == null ? void 0 : excludeCountry.includes(item.countryCode)));
4258
+ } else if (onlyCountry && (onlyCountry == null ? void 0 : onlyCountry.length) > 0) {
4259
+ countries = countryData.filter((item) => onlyCountry == null ? void 0 : onlyCountry.includes(item.countryCode));
4260
+ } else {
4261
+ countries = countryData;
4262
+ }
4263
+ const result = countries.filter((item) => {
4264
+ const escapeRegExp = (str) => str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
4265
+ const regex = new RegExp(escapeRegExp(search), "gi");
4266
+ return item.country.match(regex);
4267
+ });
4268
+ return result;
4269
+ };
4270
+ var getCountryByFilter = (onlyCountry, excludeCountry, preferredCountry) => {
4271
+ let countries = [];
4272
+ if (excludeCountry && excludeCountry.length > 0) {
4273
+ countries = countryData.filter((item) => !(excludeCountry == null ? void 0 : excludeCountry.includes(item.countryCode)));
4274
+ } else if (onlyCountry && (onlyCountry == null ? void 0 : onlyCountry.length) > 0) {
4275
+ countries = countryData.filter((item) => onlyCountry == null ? void 0 : onlyCountry.includes(item.countryCode));
4276
+ } else {
4277
+ countries = countryData;
4278
+ }
4279
+ const result = countries.sort(
4280
+ (a, b) => Number(preferredCountry == null ? void 0 : preferredCountry.includes(b.countryCode)) - Number(preferredCountry == null ? void 0 : preferredCountry.includes(a.countryCode)) || (preferredCountry == null ? void 0 : preferredCountry.indexOf(a.countryCode)) - (preferredCountry == null ? void 0 : preferredCountry.indexOf(b.countryCode))
4281
+ );
4282
+ return result;
4283
+ };
4284
+
4285
+ // src/utils/hook.ts
4286
+ var import_react = require("react");
4287
+ var DEFAULT_EVENTS = ["mousedown", "touchstart"];
4288
+ function useClickOutside(handler, events, nodes) {
4289
+ const ref = (0, import_react.useRef)(null);
4290
+ (0, import_react.useEffect)(() => {
4291
+ const listener = (event) => {
4292
+ const target = event.target;
4293
+ if (Array.isArray(nodes)) {
4294
+ const shouldIgnore = (target == null ? void 0 : target.hasAttribute("data-ignore-outside-clicks")) || !document.body.contains(target) && target.tagName !== "HTML";
4295
+ const shouldTrigger = nodes.every((node) => !!node && !event.composedPath().includes(node));
4296
+ if (shouldTrigger && !shouldIgnore) {
4297
+ handler();
4298
+ }
4299
+ } else if (ref.current && !ref.current.contains(target)) {
4300
+ handler();
4301
+ }
4302
+ };
4303
+ (events || DEFAULT_EVENTS).forEach((fn) => document.addEventListener(fn, listener));
4304
+ return () => {
4305
+ (events || DEFAULT_EVENTS).forEach((fn) => document.removeEventListener(fn, listener));
4306
+ };
4307
+ }, [ref, handler, nodes]);
4308
+ return ref;
4309
+ }
4310
+
4311
+ // src/components/PhoneInput.tsx
4312
+ var import_jsx_runtime = require("react/jsx-runtime");
4313
+ var PhoneInput = ({ placeholder, country, onChange, value, iconComponent, inputProps, onlyCountries, excludeCountries, preferredCountries, showDropdownIcon = true, dialCodeInputField = false, search = true, disableDropdownOnly = false, disableInput = false, searchPlaceholder = "Search country", showSearchIcon = true, searchIconComponent, searchProps, searchNotFound = "No results found. Try a different keyword.", containerClass, buttonClass, dropdownClass, dropdownListClass, dropdownIconClass, searchContainerClass, searchInputClass, searchIconClass, inputClass, containerStyle, buttonStyle, dropdownStyle, dropdownListStyle, dropdownIconStyle, searchContainerStyle, searchInputStyle, searchIconStyle, inputStyle }) => {
4314
+ var _a;
4315
+ const [selected, setSelected] = import_react2.default.useState({});
4316
+ const [isDropdown, setDropdown] = import_react2.default.useState(false);
4317
+ const [inputValue, setInputValue] = import_react2.default.useState(value || "");
4318
+ const [countryDataInfo, setCountryData] = import_react2.default.useState(countryData);
4319
+ const [cursor, setCursor] = import_react2.default.useState(0);
4320
+ const listRef = import_react2.default.useRef(null);
4321
+ const dropdownRef = useClickOutside(() => setDropdown(false));
4322
+ const handleChange = (e) => {
4323
+ const onlyNumber = e.target.value.replace(/\D/g, "");
4324
+ if (dialCodeInputField) {
4325
+ onChange({
4326
+ country: selected.country,
4327
+ code: selected.countryCode,
4328
+ dialCode: selected.callingCode,
4329
+ value: "+" + onlyNumber,
4330
+ valueWithoutPlus: onlyNumber
4331
+ });
4332
+ setInputValue("+" + onlyNumber);
4333
+ } else {
4334
+ setInputValue(onlyNumber);
4335
+ onChange({
4336
+ country: selected.country,
4337
+ code: selected.countryCode,
4338
+ dialCode: selected.callingCode,
4339
+ value: selected.callingCode + onlyNumber,
4340
+ valueWithoutPlus: selected.callingCode.replace("+", "") + onlyNumber
4341
+ });
4342
+ }
4343
+ };
4344
+ const onDropdownHandler = () => {
4345
+ if (!disableDropdownOnly) {
4346
+ setDropdown(!isDropdown);
4347
+ }
4348
+ };
4349
+ const onSearchHandler = (e) => {
4350
+ const search2 = e.target.value;
4351
+ setCountryData(getBySearch(search2, onlyCountries, excludeCountries));
4352
+ };
4353
+ const handleSelected = (item, i) => {
4354
+ if (dialCodeInputField) {
4355
+ const result = inputValue == null ? void 0 : inputValue.replace(selected.callingCode, item.callingCode);
4356
+ setInputValue(result.length > 0 ? result : item.callingCode);
4357
+ onChange({
4358
+ country: item.country,
4359
+ code: item.countryCode,
4360
+ dialCode: item.callingCode,
4361
+ value: result.length > 0 ? result : item.callingCode,
4362
+ valueWithoutPlus: result.length > 0 ? result.replace("+", "") : item.callingCode.replace("+", "")
4363
+ });
4364
+ } else {
4365
+ onChange({
4366
+ country: item.country,
4367
+ code: item.countryCode,
4368
+ dialCode: item.callingCode,
4369
+ value: item.callingCode + inputValue,
4370
+ valueWithoutPlus: item.callingCode.replace("+", "") + inputValue
4371
+ });
4372
+ }
4373
+ setSelected(item);
4374
+ setDropdown(false);
4375
+ setCursor(i);
4376
+ };
4377
+ const scrollIntoView = (position) => {
4378
+ var _a2;
4379
+ if (search) {
4380
+ if (countryDataInfo.length > 0) {
4381
+ (_a2 = listRef.current) == null ? void 0 : _a2.scrollTo({
4382
+ top: position,
4383
+ behavior: "smooth"
4384
+ });
4385
+ }
4386
+ }
4387
+ };
4388
+ const keyBoardNav = (e) => {
4389
+ if (isDropdown) {
4390
+ if (e.key === "ArrowDown") {
4391
+ e.preventDefault();
4392
+ setCursor((c) => c < countryDataInfo.length - 1 ? c + 1 : c);
4393
+ }
4394
+ if (e.key === "ArrowUp") {
4395
+ e.preventDefault();
4396
+ setCursor((c) => c > 0 ? c - 1 : 0);
4397
+ }
4398
+ if (e.key === "Escape") {
4399
+ setDropdown(false);
4400
+ }
4401
+ if (e.key === "Enter" && cursor >= 0) {
4402
+ setSelected(countryDataInfo[cursor]);
4403
+ setDropdown(false);
4404
+ }
4405
+ }
4406
+ };
4407
+ import_react2.default.useEffect(() => {
4408
+ var _a2;
4409
+ if (cursor < 0 || cursor > countryDataInfo.length || !listRef) {
4410
+ return () => {
4411
+ };
4412
+ }
4413
+ if (isDropdown && listRef) {
4414
+ if (countryDataInfo.length > 0) {
4415
+ let listItems = Array.from((_a2 = listRef.current) == null ? void 0 : _a2.children);
4416
+ listItems[cursor] && scrollIntoView(listItems[cursor].offsetTop - 65);
4417
+ }
4418
+ }
4419
+ }, [cursor]);
4420
+ import_react2.default.useMemo(() => {
4421
+ if (dialCodeInputField) {
4422
+ const result = inputValue == null ? void 0 : inputValue.replace(selected.callingCode, getDefaultCountry(country).callingCode);
4423
+ console.log(result);
4424
+ setInputValue(result.length > 0 ? result : getDefaultCountry(country).callingCode);
4425
+ }
4426
+ setSelected(getDefaultCountry(country));
4427
+ }, [country, dialCodeInputField]);
4428
+ import_react2.default.useMemo(() => {
4429
+ setCountryData(getCountryByFilter(onlyCountries, excludeCountries, preferredCountries));
4430
+ }, [onlyCountries, excludeCountries, preferredCountries]);
4431
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
4432
+ "div",
4433
+ {
4434
+ className: twMerge("relative focus:outline-none focus-visible:outline-none focus-within:outline-none", containerClass),
4435
+ onKeyDown: (e) => keyBoardNav(e),
4436
+ tabIndex: -1,
4437
+ style: containerStyle,
4438
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
4439
+ "div",
4440
+ {
4441
+ className: "flex border border-solid border-gray-200 select-none rounded-lg",
4442
+ children: [
4443
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "cursor-pointer flex items-center bg-gray-100/60 border-r border-solid border-gray-200", ref: dropdownRef, children: [
4444
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
4445
+ "div",
4446
+ {
4447
+ onClick: onDropdownHandler,
4448
+ className: twMerge("flex flex-1 w-24 py-2.5 pl-2.5 pr-px items-center", `${dialCodeInputField ? "w-auto pr-4" : ""}`, buttonClass),
4449
+ style: buttonStyle,
4450
+ children: [
4451
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
4452
+ "img",
4453
+ {
4454
+ src: `https://flagcdn.com/256x192/${(_a = selected.countryCode) == null ? void 0 : _a.toLowerCase()}.png`,
4455
+ alt: selected.country,
4456
+ width: "20px",
4457
+ className: "mr-1.5"
4458
+ }
4459
+ ),
4460
+ !dialCodeInputField && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "flex-1 text-sm mt-0.5", children: selected.callingCode }),
4461
+ showDropdownIcon && !disableDropdownOnly && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
4462
+ "div",
4463
+ {
4464
+ className: twMerge("flex items-center justify-center", dropdownIconClass),
4465
+ style: dropdownIconStyle,
4466
+ children: iconComponent ? iconComponent : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
4467
+ "svg",
4468
+ {
4469
+ xmlns: "http://www.w3.org/2000/svg",
4470
+ width: "20",
4471
+ height: "20",
4472
+ preserveAspectRatio: "xMidYMid meet",
4473
+ viewBox: "0 0 24 24",
4474
+ className: `transition-all duration-300 ease-in-out ${isDropdown ? "-rotate-180" : ""}`,
4475
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { fill: "currentColor", d: "m7 10l5 5l5-5z" })
4476
+ }
4477
+ )
4478
+ }
4479
+ )
4480
+ ]
4481
+ }
4482
+ ),
4483
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
4484
+ "ul",
4485
+ {
4486
+ className: twMerge("bg-white list-none p-0 m-0 absolute top-full mt-1.5 left-0 right-0 h-75 z-99 overflow-auto shadow-[0_1px_2px_rgba(0,0,0,0.06),0_10px_25px_rgba(0,0,0,0.08)] border border-gray-200 rounded-xl transition-all duration-300", `${isDropdown ? "translate-y-0 opacity-100 visible" : "-translate-y-1.25 opacity-0 invisible"}`, dropdownClass),
4487
+ ref: listRef,
4488
+ style: dropdownStyle,
4489
+ children: [
4490
+ search && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
4491
+ "div",
4492
+ {
4493
+ className: twMerge("m-2.5 relative", searchContainerClass),
4494
+ style: searchContainerStyle,
4495
+ children: [
4496
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
4497
+ "input",
4498
+ __spreadProps(__spreadValues({
4499
+ placeholder: searchPlaceholder
4500
+ }, searchProps), {
4501
+ onChange: onSearchHandler,
4502
+ className: twMerge("border border-solid border-[#0000001e] px-2.5 py-2 w-full text-[15px] rounded-lg focus:outline-none", searchInputClass),
4503
+ style: searchInputStyle
4504
+ })
4505
+ ),
4506
+ showSearchIcon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
4507
+ "div",
4508
+ {
4509
+ className: twMerge("absolute right-2.5 top-1/2 -translate-y-1/2 flex pointer-events-none", searchIconClass),
4510
+ style: searchIconStyle,
4511
+ children: searchIconComponent != null ? searchIconComponent : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
4512
+ "svg",
4513
+ {
4514
+ xmlns: "http://www.w3.org/2000/svg",
4515
+ width: "20",
4516
+ height: "20",
4517
+ viewBox: "0 0 24 24",
4518
+ fill: "none",
4519
+ stroke: "currentColor",
4520
+ strokeWidth: "2",
4521
+ strokeLinecap: "round",
4522
+ strokeLinejoin: "round",
4523
+ className: "text-gray-500",
4524
+ children: [
4525
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }),
4526
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M3 10a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" }),
4527
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M21 21l-6 -6" })
4528
+ ]
4529
+ }
4530
+ )
4531
+ }
4532
+ )
4533
+ ]
4534
+ }
4535
+ ),
4536
+ countryDataInfo.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-center mt-4 text-[15px] text-[#f73131]", children: searchNotFound }),
4537
+ countryDataInfo.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
4538
+ "li",
4539
+ {
4540
+ onClick: () => handleSelected(item, i),
4541
+ className: twMerge("items-center py-1.75 px-3 flex gap-x-2", `${i === cursor ? "bg-gray-200/70" : "hover:bg-gray-100"}`, dropdownListClass),
4542
+ style: dropdownListStyle,
4543
+ children: [
4544
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
4545
+ "img",
4546
+ {
4547
+ src: `https://flagcdn.com/256x192/${item.countryCode.toLowerCase()}.png`,
4548
+ alt: item.country,
4549
+ className: "w-5 h-auto"
4550
+ }
4551
+ ),
4552
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "font-[15px] flex-1", children: item.country }),
4553
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-gray-500", children: item.callingCode })
4554
+ ]
4555
+ },
4556
+ i
4557
+ ))
4558
+ ]
4559
+ }
4560
+ )
4561
+ ] }),
4562
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
4563
+ "input",
4564
+ __spreadProps(__spreadValues({
4565
+ className: twMerge("w-full px-2.5 focus:outline-none", inputClass),
4566
+ placeholder,
4567
+ onChange: handleChange,
4568
+ type: "tel",
4569
+ onInput: (e) => {
4570
+ if (dialCodeInputField) {
4571
+ const oldVal = inputValue.slice(selected.callingCode.length);
4572
+ if (e.target.value.startsWith(selected.callingCode)) {
4573
+ e.target.value = e.target.value;
4574
+ } else {
4575
+ e.target.value = selected.callingCode + oldVal;
4576
+ }
4577
+ }
4578
+ },
4579
+ onKeyDown: (e) => keyBoardNav(e),
4580
+ value: inputValue
4581
+ }, inputProps), {
4582
+ style: inputStyle,
4583
+ disabled: disableInput
4584
+ })
4585
+ )
4586
+ ]
4587
+ }
4588
+ )
4589
+ }
4590
+ );
4591
+ };
4592
+ var PhoneInput_default = PhoneInput;
4593
+ // Annotate the CommonJS export names for ESM import in node:
4594
+ 0 && (module.exports = {
4595
+ PhoneInput
4596
+ });