react-simple-phone-input 5.2.5 → 5.2.8

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