@powerhousedao/connect 1.0.0-dev.211 → 1.0.0-dev.213

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/.env +1 -0
  2. package/dist/assets/{app-ec_tqKyy.js → app-DiHFmipv.js} +772 -577
  3. package/dist/assets/{app-loader-D_w1htsM.js → app-loader-CR-NiUOZ.js} +9 -7
  4. package/dist/assets/{browser-Ccv5jMQ2.js → browser-C10aMa50.js} +2937 -909
  5. package/dist/assets/{ccip-BINxWLhB.js → ccip-DMxcOGc8.js} +5 -5
  6. package/dist/assets/{content-xyBITmn7.js → content-BFPuAVvX.js} +186 -162
  7. package/dist/assets/{getEnsName-DtQ0D82H.js → getEnsName-08yGhvFP.js} +75 -55
  8. package/dist/assets/{index-B76kqOWF.js → index-BSiq93_2.js} +3 -3
  9. package/dist/assets/{index-F6sLtgJX.js → index-C6RulKld.js} +3 -3
  10. package/dist/assets/{index-DMwoEUPC.js → index-J6o4darV.js} +88 -2732
  11. package/dist/assets/{isAddressEqual-CVC2WsAk.js → isAddressEqual-BZ4M2bfj.js} +1 -1
  12. package/dist/assets/{main.CyEpz8Xq.js → main.GY5oyZm-.js} +1 -1
  13. package/dist/assets/{react-error-boundary.esm-CSTN2MP_.js → react-error-boundary.esm-C6q5J1bx.js} +10 -10
  14. package/dist/assets/{root-wxc1EfqI.js → root-BWz1808T.js} +7 -7
  15. package/dist/assets/{router-BJrY_t-B.js → router-DYMMZqez.js} +7 -7
  16. package/dist/icon.ico +0 -0
  17. package/dist/index.html +5 -4
  18. package/dist/modules/@powerhousedao/reactor-browser/{chunk-QP65GEDP.js → chunk-C5JXP4NO.js} +2 -2
  19. package/dist/modules/@powerhousedao/reactor-browser/{chunk-YAO66KBZ.js → chunk-FD4TUZZS.js} +353 -302
  20. package/dist/modules/@powerhousedao/reactor-browser/chunk-FD4TUZZS.js.map +7 -0
  21. package/dist/modules/@powerhousedao/reactor-browser/{chunk-VNJW3K7R.js → chunk-GJOMXDVW.js} +3 -3
  22. package/dist/modules/@powerhousedao/reactor-browser/chunk-GJOMXDVW.js.map +7 -0
  23. package/dist/modules/@powerhousedao/reactor-browser/{chunk-VHDG2FTR.js → chunk-GXLBC3KA.js} +2 -2
  24. package/dist/modules/@powerhousedao/reactor-browser/{chunk-NCCSZUHV.js → chunk-IDBZA52T.js} +2 -2
  25. package/dist/modules/@powerhousedao/reactor-browser/{chunk-5Q3OAWSW.js → chunk-LCQV2CEG.js} +9 -5
  26. package/dist/modules/@powerhousedao/reactor-browser/chunk-LCQV2CEG.js.map +7 -0
  27. package/dist/modules/@powerhousedao/reactor-browser/{chunk-PRKHJCY6.js → chunk-OJYBFBSZ.js} +2 -2
  28. package/dist/modules/@powerhousedao/reactor-browser/{chunk-XDWKADEF.js → chunk-UTLXXWAE.js} +5 -5
  29. package/dist/modules/@powerhousedao/reactor-browser/{chunk-XDWKADEF.js.map → chunk-UTLXXWAE.js.map} +3 -3
  30. package/dist/modules/@powerhousedao/reactor-browser/{chunk-GYHJG3BX.js → chunk-WSWYH5W2.js} +2 -2
  31. package/dist/modules/@powerhousedao/reactor-browser/{chunk-NG3UCFCH.js → chunk-XNBBEHKQ.js} +16 -7
  32. package/dist/modules/@powerhousedao/reactor-browser/chunk-XNBBEHKQ.js.map +7 -0
  33. package/dist/modules/@powerhousedao/reactor-browser/context/index.js +2 -2
  34. package/dist/modules/@powerhousedao/reactor-browser/context/read-mode.js +2 -2
  35. package/dist/modules/@powerhousedao/reactor-browser/hooks/document-state.js +87 -0
  36. package/dist/modules/@powerhousedao/reactor-browser/hooks/document-state.js.map +7 -0
  37. package/dist/modules/@powerhousedao/reactor-browser/hooks/index.js +11 -9
  38. package/dist/modules/@powerhousedao/reactor-browser/hooks/useAddDebouncedOperations.js +3 -3
  39. package/dist/modules/@powerhousedao/reactor-browser/hooks/useConnectCrypto.js +2 -2
  40. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentDrives.js +2 -2
  41. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentEditor.js +9 -7
  42. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDriveActions.js +2 -2
  43. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDriveActionsWithUiNodes.js +3 -3
  44. package/dist/modules/@powerhousedao/reactor-browser/index.js +13 -11
  45. package/dist/modules/@powerhousedao/reactor-browser/reactor.js +2 -2
  46. package/dist/swEnv.js +1 -0
  47. package/dist/vite-envs.sh +10 -1
  48. package/package.json +10 -10
  49. package/dist/modules/@powerhousedao/reactor-browser/chunk-5Q3OAWSW.js.map +0 -7
  50. package/dist/modules/@powerhousedao/reactor-browser/chunk-NG3UCFCH.js.map +0 -7
  51. package/dist/modules/@powerhousedao/reactor-browser/chunk-VNJW3K7R.js.map +0 -7
  52. package/dist/modules/@powerhousedao/reactor-browser/chunk-YAO66KBZ.js.map +0 -7
  53. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentsState.js +0 -44
  54. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentsState.js.map +0 -7
  55. /package/dist/modules/@powerhousedao/reactor-browser/{chunk-QP65GEDP.js.map → chunk-C5JXP4NO.js.map} +0 -0
  56. /package/dist/modules/@powerhousedao/reactor-browser/{chunk-VHDG2FTR.js.map → chunk-GXLBC3KA.js.map} +0 -0
  57. /package/dist/modules/@powerhousedao/reactor-browser/{chunk-NCCSZUHV.js.map → chunk-IDBZA52T.js.map} +0 -0
  58. /package/dist/modules/@powerhousedao/reactor-browser/{chunk-PRKHJCY6.js.map → chunk-OJYBFBSZ.js.map} +0 -0
  59. /package/dist/modules/@powerhousedao/reactor-browser/{chunk-GYHJG3BX.js.map → chunk-WSWYH5W2.js.map} +0 -0
@@ -1,11 +1,19 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import { bL as inspect$1, bM as GraphQLError$1, bN as invariant$2, bO as getNamedType, bP as isInputObjectType, bQ as isScalarType, bR as isObjectType, bS as isInterfaceType, bT as isUnionType, bU as isEnumType, bV as astFromValue$1, bW as print, bX as DEFAULT_DEPRECATION_REASON, bY as Kind, bZ as isPrintableAsBlockString, b_ as isSpecifiedDirective, b$ as isSpecifiedScalarType, c0 as isIntrospectionType, c1 as z, c2 as GraphQLScalarType, c3 as clsx, c4 as pascalCase, c5 as parse, c6 as visit, c7 as buildASTSchema, c8 as extendSchema, c9 as getNullableType, ca as isListType, cb as get, cc as set, cd as appendErrors, k as getDefaultExportFromCjs, ce as snakeCase, cf as constantCase, cg as useFormContext, ch as Primitive, ci as cva, cj as Slot, ck as FormProvider, cl as Controller, cm as useForm, cn as isAbstractType, co as BREAK, cp as GraphQLInputObjectType, cq as GraphQLList, cr as GraphQLEnumType, cs as GraphQLObjectType, ct as GraphQLInterfaceType, cu as SchemaMetaFieldDef, cv as TypeMetaFieldDef, cw as TypeNameMetaFieldDef, cx as isCompositeType, cy as isOutputType, cz as isInputType, cA as GraphQLBoolean, cB as assertAbstractType, cC as doTypesOverlap, cD as DirectiveLocation, cE as specifiedRules$1, cF as NoUnusedFragmentsRule$1, cG as ExecutableDefinitionsRule$1, cH as validate$2, cI as validateSchema, cJ as GraphQLID, cK as GraphQLString, cL as GraphQLFloat, cM as GraphQLInt, cN as GraphQLDirective, cO as GraphQLUnionType, cP as isNonNullType, cQ as GraphQLNonNull, cR as isNamedType, cS as isLeafType, cT as GraphQLSchema, cU as buildSchema, cV as sentenceCase, cW as List, cX as Trigger, cY as Content, cZ as Root2, c_ as setModelName, c$ as setModelId, d0 as setModelDescription, d1 as setModelExtension, d2 as setAuthorName, d3 as setAuthorWebsite, d4 as setStateSchema, d5 as setInitialState, d6 as hashKey, d7 as addModule, d8 as setModuleName, d9 as deleteModule, da as addOperation, db as setOperationName, dc as setOperationSchema, dd as setOperationDescription, de as deleteOperation, df as addOperationError, dg as deleteOperationError, dh as setOperationErrorName } from "./app-ec_tqKyy.js";
2
+ import { bN as inspect$1, bO as GraphQLError$1, bP as getNamedType, bQ as invariant$2, bR as isInputObjectType, bS as isScalarType, bT as isObjectType, bU as isInterfaceType, bV as isUnionType, bW as isEnumType, bX as print, bY as isPrintableAsBlockString, bZ as Kind, b_ as astFromValue$1, b$ as DEFAULT_DEPRECATION_REASON, c0 as isSpecifiedDirective, c1 as isSpecifiedScalarType, c2 as isIntrospectionType, c3 as z, c4 as GraphQLScalarType, c5 as clsx, c6 as pascalCase, c7 as parse, c8 as visit, c9 as buildASTSchema, ca as extendSchema, cb as getNullableType, cc as isListType, cd as get, ce as set, cf as appendErrors, k as getDefaultExportFromCjs, cg as snakeCase, ch as constantCase, ci as useFormContext, cj as Primitive, ck as cva, cl as FormProvider, cm as Controller, cn as Slot, co as useForm, cp as isAbstractType, cq as BREAK, cr as GraphQLInputObjectType, cs as GraphQLList, ct as GraphQLEnumType, cu as GraphQLObjectType, cv as GraphQLInterfaceType, cw as SchemaMetaFieldDef, cx as TypeMetaFieldDef, cy as TypeNameMetaFieldDef, cz as isCompositeType, cA as isOutputType, cB as isInputType, cC as GraphQLBoolean, cD as assertAbstractType, cE as doTypesOverlap, cF as DirectiveLocation, cG as specifiedRules$1, cH as NoUnusedFragmentsRule$1, cI as ExecutableDefinitionsRule$1, cJ as validate$2, cK as validateSchema, cL as GraphQLID, cM as GraphQLString, cN as GraphQLFloat, cO as GraphQLInt, cP as GraphQLDirective, cQ as GraphQLUnionType, cR as isNonNullType, cS as GraphQLNonNull, cT as isNamedType, cU as isLeafType, cV as GraphQLSchema, cW as buildSchema, cX as sentenceCase, cY as Root2, cZ as List, c_ as Trigger, c$ as Content, d0 as setModelName, d1 as setModelId, d2 as setModelDescription, d3 as setModelExtension, d4 as setAuthorName, d5 as setAuthorWebsite, d6 as setStateSchema, d7 as setInitialState, d8 as hashKey, d9 as addModule, da as setModuleName, db as deleteModule, dc as addOperation, dd as setOperationName, de as setOperationSchema, df as setOperationDescription, dg as deleteOperation, dh as addOperationError, di as deleteOperationError, dj as setOperationErrorName } from "./app-DiHFmipv.js";
3
3
  import * as React from "react";
4
- import React__default, { forwardRef, useRef, useCallback, useImperativeHandle, useEffect, createContext, useContext, useState, memo, useId, useMemo } from "react";
5
- import "./main.CyEpz8Xq.js";
6
- import "./app-loader-D_w1htsM.js";
4
+ import React__default, { forwardRef, useRef, useCallback, useImperativeHandle, useEffect, useState, createContext, useContext, memo, useId, useMemo } from "react";
5
+ import { t as twMerge } from "./content-BFPuAVvX.js";
6
+ import "./main.GY5oyZm-.js";
7
+ import "./app-loader-CR-NiUOZ.js";
7
8
  import "react-dom";
8
9
  import "@powerhousedao/reactor-browser/hooks/useUiNodesContext";
10
+ import "./react-error-boundary.esm-C6q5J1bx.js";
11
+ import "./getEnsName-08yGhvFP.js";
12
+ import "@powerhousedao/reactor-browser";
13
+ import "@powerhousedao/reactor-browser/hooks/useDriveActionsWithUiNodes";
14
+ import "@powerhousedao/reactor-browser/hooks/useDriveContext";
15
+ import "@powerhousedao/reactor-browser/uiNodes/constants";
16
+ import "@powerhousedao/reactor-browser/hooks/document-state";
9
17
  const versionInfo = Object.freeze({
10
18
  major: 16,
11
19
  minor: 10,
@@ -817,2704 +825,6 @@ const customScalars = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defin
817
825
  typeDefs,
818
826
  validationSchema
819
827
  }, Symbol.toStringTag, { value: "Module" }));
820
- const CLASS_PART_SEPARATOR = "-";
821
- const createClassGroupUtils = (config2) => {
822
- const classMap = createClassMap(config2);
823
- const {
824
- conflictingClassGroups,
825
- conflictingClassGroupModifiers
826
- } = config2;
827
- const getClassGroupId = (className) => {
828
- const classParts = className.split(CLASS_PART_SEPARATOR);
829
- if (classParts[0] === "" && classParts.length !== 1) {
830
- classParts.shift();
831
- }
832
- return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
833
- };
834
- const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {
835
- const conflicts = conflictingClassGroups[classGroupId] || [];
836
- if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
837
- return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];
838
- }
839
- return conflicts;
840
- };
841
- return {
842
- getClassGroupId,
843
- getConflictingClassGroupIds
844
- };
845
- };
846
- const getGroupRecursive = (classParts, classPartObject) => {
847
- var _a2;
848
- if (classParts.length === 0) {
849
- return classPartObject.classGroupId;
850
- }
851
- const currentClassPart = classParts[0];
852
- const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
853
- const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : void 0;
854
- if (classGroupFromNextClassPart) {
855
- return classGroupFromNextClassPart;
856
- }
857
- if (classPartObject.validators.length === 0) {
858
- return void 0;
859
- }
860
- const classRest = classParts.join(CLASS_PART_SEPARATOR);
861
- return (_a2 = classPartObject.validators.find(({
862
- validator: validator2
863
- }) => validator2(classRest))) == null ? void 0 : _a2.classGroupId;
864
- };
865
- const arbitraryPropertyRegex = /^\[(.+)\]$/;
866
- const getGroupIdForArbitraryProperty = (className) => {
867
- if (arbitraryPropertyRegex.test(className)) {
868
- const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
869
- const property = arbitraryPropertyClassName == null ? void 0 : arbitraryPropertyClassName.substring(0, arbitraryPropertyClassName.indexOf(":"));
870
- if (property) {
871
- return "arbitrary.." + property;
872
- }
873
- }
874
- };
875
- const createClassMap = (config2) => {
876
- const {
877
- theme: theme2,
878
- classGroups
879
- } = config2;
880
- const classMap = {
881
- nextPart: /* @__PURE__ */ new Map(),
882
- validators: []
883
- };
884
- for (const classGroupId in classGroups) {
885
- processClassesRecursively(classGroups[classGroupId], classMap, classGroupId, theme2);
886
- }
887
- return classMap;
888
- };
889
- const processClassesRecursively = (classGroup, classPartObject, classGroupId, theme2) => {
890
- classGroup.forEach((classDefinition) => {
891
- if (typeof classDefinition === "string") {
892
- const classPartObjectToEdit = classDefinition === "" ? classPartObject : getPart(classPartObject, classDefinition);
893
- classPartObjectToEdit.classGroupId = classGroupId;
894
- return;
895
- }
896
- if (typeof classDefinition === "function") {
897
- if (isThemeGetter(classDefinition)) {
898
- processClassesRecursively(classDefinition(theme2), classPartObject, classGroupId, theme2);
899
- return;
900
- }
901
- classPartObject.validators.push({
902
- validator: classDefinition,
903
- classGroupId
904
- });
905
- return;
906
- }
907
- Object.entries(classDefinition).forEach(([key, classGroup2]) => {
908
- processClassesRecursively(classGroup2, getPart(classPartObject, key), classGroupId, theme2);
909
- });
910
- });
911
- };
912
- const getPart = (classPartObject, path) => {
913
- let currentClassPartObject = classPartObject;
914
- path.split(CLASS_PART_SEPARATOR).forEach((pathPart) => {
915
- if (!currentClassPartObject.nextPart.has(pathPart)) {
916
- currentClassPartObject.nextPart.set(pathPart, {
917
- nextPart: /* @__PURE__ */ new Map(),
918
- validators: []
919
- });
920
- }
921
- currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
922
- });
923
- return currentClassPartObject;
924
- };
925
- const isThemeGetter = (func) => func.isThemeGetter;
926
- const createLruCache = (maxCacheSize) => {
927
- if (maxCacheSize < 1) {
928
- return {
929
- get: () => void 0,
930
- set: () => {
931
- }
932
- };
933
- }
934
- let cacheSize = 0;
935
- let cache = /* @__PURE__ */ new Map();
936
- let previousCache = /* @__PURE__ */ new Map();
937
- const update = (key, value) => {
938
- cache.set(key, value);
939
- cacheSize++;
940
- if (cacheSize > maxCacheSize) {
941
- cacheSize = 0;
942
- previousCache = cache;
943
- cache = /* @__PURE__ */ new Map();
944
- }
945
- };
946
- return {
947
- get(key) {
948
- let value = cache.get(key);
949
- if (value !== void 0) {
950
- return value;
951
- }
952
- if ((value = previousCache.get(key)) !== void 0) {
953
- update(key, value);
954
- return value;
955
- }
956
- },
957
- set(key, value) {
958
- if (cache.has(key)) {
959
- cache.set(key, value);
960
- } else {
961
- update(key, value);
962
- }
963
- }
964
- };
965
- };
966
- const IMPORTANT_MODIFIER = "!";
967
- const MODIFIER_SEPARATOR = ":";
968
- const MODIFIER_SEPARATOR_LENGTH = MODIFIER_SEPARATOR.length;
969
- const createParseClassName = (config2) => {
970
- const {
971
- prefix,
972
- experimentalParseClassName
973
- } = config2;
974
- let parseClassName = (className) => {
975
- const modifiers2 = [];
976
- let bracketDepth = 0;
977
- let parenDepth = 0;
978
- let modifierStart = 0;
979
- let postfixModifierPosition;
980
- for (let index = 0; index < className.length; index++) {
981
- let currentCharacter = className[index];
982
- if (bracketDepth === 0 && parenDepth === 0) {
983
- if (currentCharacter === MODIFIER_SEPARATOR) {
984
- modifiers2.push(className.slice(modifierStart, index));
985
- modifierStart = index + MODIFIER_SEPARATOR_LENGTH;
986
- continue;
987
- }
988
- if (currentCharacter === "/") {
989
- postfixModifierPosition = index;
990
- continue;
991
- }
992
- }
993
- if (currentCharacter === "[") {
994
- bracketDepth++;
995
- } else if (currentCharacter === "]") {
996
- bracketDepth--;
997
- } else if (currentCharacter === "(") {
998
- parenDepth++;
999
- } else if (currentCharacter === ")") {
1000
- parenDepth--;
1001
- }
1002
- }
1003
- const baseClassNameWithImportantModifier = modifiers2.length === 0 ? className : className.substring(modifierStart);
1004
- const baseClassName = stripImportantModifier(baseClassNameWithImportantModifier);
1005
- const hasImportantModifier = baseClassName !== baseClassNameWithImportantModifier;
1006
- const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : void 0;
1007
- return {
1008
- modifiers: modifiers2,
1009
- hasImportantModifier,
1010
- baseClassName,
1011
- maybePostfixModifierPosition
1012
- };
1013
- };
1014
- if (prefix) {
1015
- const fullPrefix = prefix + MODIFIER_SEPARATOR;
1016
- const parseClassNameOriginal = parseClassName;
1017
- parseClassName = (className) => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.substring(fullPrefix.length)) : {
1018
- isExternal: true,
1019
- modifiers: [],
1020
- hasImportantModifier: false,
1021
- baseClassName: className,
1022
- maybePostfixModifierPosition: void 0
1023
- };
1024
- }
1025
- if (experimentalParseClassName) {
1026
- const parseClassNameOriginal = parseClassName;
1027
- parseClassName = (className) => experimentalParseClassName({
1028
- className,
1029
- parseClassName: parseClassNameOriginal
1030
- });
1031
- }
1032
- return parseClassName;
1033
- };
1034
- const stripImportantModifier = (baseClassName) => {
1035
- if (baseClassName.endsWith(IMPORTANT_MODIFIER)) {
1036
- return baseClassName.substring(0, baseClassName.length - 1);
1037
- }
1038
- if (baseClassName.startsWith(IMPORTANT_MODIFIER)) {
1039
- return baseClassName.substring(1);
1040
- }
1041
- return baseClassName;
1042
- };
1043
- const createSortModifiers = (config2) => {
1044
- const orderSensitiveModifiers = Object.fromEntries(config2.orderSensitiveModifiers.map((modifier) => [modifier, true]));
1045
- const sortModifiers = (modifiers2) => {
1046
- if (modifiers2.length <= 1) {
1047
- return modifiers2;
1048
- }
1049
- const sortedModifiers = [];
1050
- let unsortedModifiers = [];
1051
- modifiers2.forEach((modifier) => {
1052
- const isPositionSensitive = modifier[0] === "[" || orderSensitiveModifiers[modifier];
1053
- if (isPositionSensitive) {
1054
- sortedModifiers.push(...unsortedModifiers.sort(), modifier);
1055
- unsortedModifiers = [];
1056
- } else {
1057
- unsortedModifiers.push(modifier);
1058
- }
1059
- });
1060
- sortedModifiers.push(...unsortedModifiers.sort());
1061
- return sortedModifiers;
1062
- };
1063
- return sortModifiers;
1064
- };
1065
- const createConfigUtils = (config2) => ({
1066
- cache: createLruCache(config2.cacheSize),
1067
- parseClassName: createParseClassName(config2),
1068
- sortModifiers: createSortModifiers(config2),
1069
- ...createClassGroupUtils(config2)
1070
- });
1071
- const SPLIT_CLASSES_REGEX = /\s+/;
1072
- const mergeClassList = (classList, configUtils) => {
1073
- const {
1074
- parseClassName,
1075
- getClassGroupId,
1076
- getConflictingClassGroupIds,
1077
- sortModifiers
1078
- } = configUtils;
1079
- const classGroupsInConflict = [];
1080
- const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
1081
- let result = "";
1082
- for (let index = classNames.length - 1; index >= 0; index -= 1) {
1083
- const originalClassName = classNames[index];
1084
- const {
1085
- isExternal,
1086
- modifiers: modifiers2,
1087
- hasImportantModifier,
1088
- baseClassName,
1089
- maybePostfixModifierPosition
1090
- } = parseClassName(originalClassName);
1091
- if (isExternal) {
1092
- result = originalClassName + (result.length > 0 ? " " + result : result);
1093
- continue;
1094
- }
1095
- let hasPostfixModifier = !!maybePostfixModifierPosition;
1096
- let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
1097
- if (!classGroupId) {
1098
- if (!hasPostfixModifier) {
1099
- result = originalClassName + (result.length > 0 ? " " + result : result);
1100
- continue;
1101
- }
1102
- classGroupId = getClassGroupId(baseClassName);
1103
- if (!classGroupId) {
1104
- result = originalClassName + (result.length > 0 ? " " + result : result);
1105
- continue;
1106
- }
1107
- hasPostfixModifier = false;
1108
- }
1109
- const variantModifier = sortModifiers(modifiers2).join(":");
1110
- const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
1111
- const classId = modifierId + classGroupId;
1112
- if (classGroupsInConflict.includes(classId)) {
1113
- continue;
1114
- }
1115
- classGroupsInConflict.push(classId);
1116
- const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
1117
- for (let i = 0; i < conflictGroups.length; ++i) {
1118
- const group = conflictGroups[i];
1119
- classGroupsInConflict.push(modifierId + group);
1120
- }
1121
- result = originalClassName + (result.length > 0 ? " " + result : result);
1122
- }
1123
- return result;
1124
- };
1125
- function twJoin() {
1126
- let index = 0;
1127
- let argument;
1128
- let resolvedValue;
1129
- let string2 = "";
1130
- while (index < arguments.length) {
1131
- if (argument = arguments[index++]) {
1132
- if (resolvedValue = toValue(argument)) {
1133
- string2 && (string2 += " ");
1134
- string2 += resolvedValue;
1135
- }
1136
- }
1137
- }
1138
- return string2;
1139
- }
1140
- const toValue = (mix) => {
1141
- if (typeof mix === "string") {
1142
- return mix;
1143
- }
1144
- let resolvedValue;
1145
- let string2 = "";
1146
- for (let k = 0; k < mix.length; k++) {
1147
- if (mix[k]) {
1148
- if (resolvedValue = toValue(mix[k])) {
1149
- string2 && (string2 += " ");
1150
- string2 += resolvedValue;
1151
- }
1152
- }
1153
- }
1154
- return string2;
1155
- };
1156
- function createTailwindMerge(createConfigFirst, ...createConfigRest) {
1157
- let configUtils;
1158
- let cacheGet;
1159
- let cacheSet;
1160
- let functionToCall = initTailwindMerge;
1161
- function initTailwindMerge(classList) {
1162
- const config2 = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
1163
- configUtils = createConfigUtils(config2);
1164
- cacheGet = configUtils.cache.get;
1165
- cacheSet = configUtils.cache.set;
1166
- functionToCall = tailwindMerge;
1167
- return tailwindMerge(classList);
1168
- }
1169
- function tailwindMerge(classList) {
1170
- const cachedResult = cacheGet(classList);
1171
- if (cachedResult) {
1172
- return cachedResult;
1173
- }
1174
- const result = mergeClassList(classList, configUtils);
1175
- cacheSet(classList, result);
1176
- return result;
1177
- }
1178
- return function callTailwindMerge() {
1179
- return functionToCall(twJoin.apply(null, arguments));
1180
- };
1181
- }
1182
- const fromTheme = (key) => {
1183
- const themeGetter = (theme2) => theme2[key] || [];
1184
- themeGetter.isThemeGetter = true;
1185
- return themeGetter;
1186
- };
1187
- const arbitraryValueRegex = /^\[(?:(\w[\w-]*):)?(.+)\]$/i;
1188
- const arbitraryVariableRegex = /^\((?:(\w[\w-]*):)?(.+)\)$/i;
1189
- const fractionRegex = /^\d+\/\d+$/;
1190
- const tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
1191
- const 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$/;
1192
- const colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/;
1193
- const shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
1194
- const imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
1195
- const isFraction = (value) => fractionRegex.test(value);
1196
- const isNumber = (value) => Boolean(value) && !Number.isNaN(Number(value));
1197
- const isInteger = (value) => Boolean(value) && Number.isInteger(Number(value));
1198
- const isPercent = (value) => value.endsWith("%") && isNumber(value.slice(0, -1));
1199
- const isTshirtSize = (value) => tshirtUnitRegex.test(value);
1200
- const isAny = () => true;
1201
- const isLengthOnly = (value) => (
1202
- // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
1203
- // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
1204
- // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
1205
- lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)
1206
- );
1207
- const isNever = () => false;
1208
- const isShadow = (value) => shadowRegex.test(value);
1209
- const isImage = (value) => imageRegex.test(value);
1210
- const isAnyNonArbitrary = (value) => !isArbitraryValue(value) && !isArbitraryVariable(value);
1211
- const isArbitrarySize = (value) => getIsArbitraryValue(value, isLabelSize, isNever);
1212
- const isArbitraryValue = (value) => arbitraryValueRegex.test(value);
1213
- const isArbitraryLength = (value) => getIsArbitraryValue(value, isLabelLength, isLengthOnly);
1214
- const isArbitraryNumber = (value) => getIsArbitraryValue(value, isLabelNumber, isNumber);
1215
- const isArbitraryPosition = (value) => getIsArbitraryValue(value, isLabelPosition, isNever);
1216
- const isArbitraryImage = (value) => getIsArbitraryValue(value, isLabelImage, isImage);
1217
- const isArbitraryShadow = (value) => getIsArbitraryValue(value, isNever, isShadow);
1218
- const isArbitraryVariable = (value) => arbitraryVariableRegex.test(value);
1219
- const isArbitraryVariableLength = (value) => getIsArbitraryVariable(value, isLabelLength);
1220
- const isArbitraryVariableFamilyName = (value) => getIsArbitraryVariable(value, isLabelFamilyName);
1221
- const isArbitraryVariablePosition = (value) => getIsArbitraryVariable(value, isLabelPosition);
1222
- const isArbitraryVariableSize = (value) => getIsArbitraryVariable(value, isLabelSize);
1223
- const isArbitraryVariableImage = (value) => getIsArbitraryVariable(value, isLabelImage);
1224
- const isArbitraryVariableShadow = (value) => getIsArbitraryVariable(value, isLabelShadow, true);
1225
- const getIsArbitraryValue = (value, testLabel, testValue) => {
1226
- const result = arbitraryValueRegex.exec(value);
1227
- if (result) {
1228
- if (result[1]) {
1229
- return testLabel(result[1]);
1230
- }
1231
- return testValue(result[2]);
1232
- }
1233
- return false;
1234
- };
1235
- const getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {
1236
- const result = arbitraryVariableRegex.exec(value);
1237
- if (result) {
1238
- if (result[1]) {
1239
- return testLabel(result[1]);
1240
- }
1241
- return shouldMatchNoLabel;
1242
- }
1243
- return false;
1244
- };
1245
- const isLabelPosition = (label) => label === "position";
1246
- const imageLabels = /* @__PURE__ */ new Set(["image", "url"]);
1247
- const isLabelImage = (label) => imageLabels.has(label);
1248
- const sizeLabels = /* @__PURE__ */ new Set(["length", "size", "percentage"]);
1249
- const isLabelSize = (label) => sizeLabels.has(label);
1250
- const isLabelLength = (label) => label === "length";
1251
- const isLabelNumber = (label) => label === "number";
1252
- const isLabelFamilyName = (label) => label === "family-name";
1253
- const isLabelShadow = (label) => label === "shadow";
1254
- const getDefaultConfig = () => {
1255
- const themeColor = fromTheme("color");
1256
- const themeFont = fromTheme("font");
1257
- const themeText = fromTheme("text");
1258
- const themeFontWeight = fromTheme("font-weight");
1259
- const themeTracking = fromTheme("tracking");
1260
- const themeLeading = fromTheme("leading");
1261
- const themeBreakpoint = fromTheme("breakpoint");
1262
- const themeContainer = fromTheme("container");
1263
- const themeSpacing = fromTheme("spacing");
1264
- const themeRadius = fromTheme("radius");
1265
- const themeShadow = fromTheme("shadow");
1266
- const themeInsetShadow = fromTheme("inset-shadow");
1267
- const themeDropShadow = fromTheme("drop-shadow");
1268
- const themeBlur = fromTheme("blur");
1269
- const themePerspective = fromTheme("perspective");
1270
- const themeAspect = fromTheme("aspect");
1271
- const themeEase = fromTheme("ease");
1272
- const themeAnimate = fromTheme("animate");
1273
- const scaleBreak = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
1274
- const scalePosition = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"];
1275
- const scaleOverflow = () => ["auto", "hidden", "clip", "visible", "scroll"];
1276
- const scaleOverscroll = () => ["auto", "contain", "none"];
1277
- const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];
1278
- const scaleInset = () => [isFraction, "full", "auto", ...scaleUnambiguousSpacing()];
1279
- const scaleGridTemplateColsRows = () => [isInteger, "none", "subgrid", isArbitraryVariable, isArbitraryValue];
1280
- const scaleGridColRowStartAndEnd = () => ["auto", {
1281
- span: ["full", isInteger, isArbitraryVariable, isArbitraryValue]
1282
- }, isArbitraryVariable, isArbitraryValue];
1283
- const scaleGridColRowStartOrEnd = () => [isInteger, "auto", isArbitraryVariable, isArbitraryValue];
1284
- const scaleGridAutoColsRows = () => ["auto", "min", "max", "fr", isArbitraryVariable, isArbitraryValue];
1285
- const scaleAlignPrimaryAxis = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline"];
1286
- const scaleAlignSecondaryAxis = () => ["start", "end", "center", "stretch"];
1287
- const scaleMargin = () => ["auto", ...scaleUnambiguousSpacing()];
1288
- const scaleSizing = () => [isFraction, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...scaleUnambiguousSpacing()];
1289
- const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];
1290
- const scaleGradientStopPosition = () => [isPercent, isArbitraryLength];
1291
- const scaleRadius = () => [
1292
- // Deprecated since Tailwind CSS v4.0.0
1293
- "",
1294
- "none",
1295
- "full",
1296
- themeRadius,
1297
- isArbitraryVariable,
1298
- isArbitraryValue
1299
- ];
1300
- const scaleBorderWidth = () => ["", isNumber, isArbitraryVariableLength, isArbitraryLength];
1301
- const scaleLineStyle = () => ["solid", "dashed", "dotted", "double"];
1302
- const scaleBlendMode = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"];
1303
- const scaleBlur = () => [
1304
- // Deprecated since Tailwind CSS v4.0.0
1305
- "",
1306
- "none",
1307
- themeBlur,
1308
- isArbitraryVariable,
1309
- isArbitraryValue
1310
- ];
1311
- const scaleOrigin = () => ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", isArbitraryVariable, isArbitraryValue];
1312
- const scaleRotate = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
1313
- const scaleScale = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
1314
- const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];
1315
- const scaleTranslate = () => [isFraction, "full", ...scaleUnambiguousSpacing()];
1316
- return {
1317
- cacheSize: 500,
1318
- theme: {
1319
- animate: ["spin", "ping", "pulse", "bounce"],
1320
- aspect: ["video"],
1321
- blur: [isTshirtSize],
1322
- breakpoint: [isTshirtSize],
1323
- color: [isAny],
1324
- container: [isTshirtSize],
1325
- "drop-shadow": [isTshirtSize],
1326
- ease: ["in", "out", "in-out"],
1327
- font: [isAnyNonArbitrary],
1328
- "font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
1329
- "inset-shadow": [isTshirtSize],
1330
- leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
1331
- perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
1332
- radius: [isTshirtSize],
1333
- shadow: [isTshirtSize],
1334
- spacing: ["px", isNumber],
1335
- text: [isTshirtSize],
1336
- tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
1337
- },
1338
- classGroups: {
1339
- // --------------
1340
- // --- Layout ---
1341
- // --------------
1342
- /**
1343
- * Aspect Ratio
1344
- * @see https://tailwindcss.com/docs/aspect-ratio
1345
- */
1346
- aspect: [{
1347
- aspect: ["auto", "square", isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]
1348
- }],
1349
- /**
1350
- * Container
1351
- * @see https://tailwindcss.com/docs/container
1352
- * @deprecated since Tailwind CSS v4.0.0
1353
- */
1354
- container: ["container"],
1355
- /**
1356
- * Columns
1357
- * @see https://tailwindcss.com/docs/columns
1358
- */
1359
- columns: [{
1360
- columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]
1361
- }],
1362
- /**
1363
- * Break After
1364
- * @see https://tailwindcss.com/docs/break-after
1365
- */
1366
- "break-after": [{
1367
- "break-after": scaleBreak()
1368
- }],
1369
- /**
1370
- * Break Before
1371
- * @see https://tailwindcss.com/docs/break-before
1372
- */
1373
- "break-before": [{
1374
- "break-before": scaleBreak()
1375
- }],
1376
- /**
1377
- * Break Inside
1378
- * @see https://tailwindcss.com/docs/break-inside
1379
- */
1380
- "break-inside": [{
1381
- "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
1382
- }],
1383
- /**
1384
- * Box Decoration Break
1385
- * @see https://tailwindcss.com/docs/box-decoration-break
1386
- */
1387
- "box-decoration": [{
1388
- "box-decoration": ["slice", "clone"]
1389
- }],
1390
- /**
1391
- * Box Sizing
1392
- * @see https://tailwindcss.com/docs/box-sizing
1393
- */
1394
- box: [{
1395
- box: ["border", "content"]
1396
- }],
1397
- /**
1398
- * Display
1399
- * @see https://tailwindcss.com/docs/display
1400
- */
1401
- 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"],
1402
- /**
1403
- * Screen Reader Only
1404
- * @see https://tailwindcss.com/docs/display#screen-reader-only
1405
- */
1406
- sr: ["sr-only", "not-sr-only"],
1407
- /**
1408
- * Floats
1409
- * @see https://tailwindcss.com/docs/float
1410
- */
1411
- float: [{
1412
- float: ["right", "left", "none", "start", "end"]
1413
- }],
1414
- /**
1415
- * Clear
1416
- * @see https://tailwindcss.com/docs/clear
1417
- */
1418
- clear: [{
1419
- clear: ["left", "right", "both", "none", "start", "end"]
1420
- }],
1421
- /**
1422
- * Isolation
1423
- * @see https://tailwindcss.com/docs/isolation
1424
- */
1425
- isolation: ["isolate", "isolation-auto"],
1426
- /**
1427
- * Object Fit
1428
- * @see https://tailwindcss.com/docs/object-fit
1429
- */
1430
- "object-fit": [{
1431
- object: ["contain", "cover", "fill", "none", "scale-down"]
1432
- }],
1433
- /**
1434
- * Object Position
1435
- * @see https://tailwindcss.com/docs/object-position
1436
- */
1437
- "object-position": [{
1438
- object: [...scalePosition(), isArbitraryValue, isArbitraryVariable]
1439
- }],
1440
- /**
1441
- * Overflow
1442
- * @see https://tailwindcss.com/docs/overflow
1443
- */
1444
- overflow: [{
1445
- overflow: scaleOverflow()
1446
- }],
1447
- /**
1448
- * Overflow X
1449
- * @see https://tailwindcss.com/docs/overflow
1450
- */
1451
- "overflow-x": [{
1452
- "overflow-x": scaleOverflow()
1453
- }],
1454
- /**
1455
- * Overflow Y
1456
- * @see https://tailwindcss.com/docs/overflow
1457
- */
1458
- "overflow-y": [{
1459
- "overflow-y": scaleOverflow()
1460
- }],
1461
- /**
1462
- * Overscroll Behavior
1463
- * @see https://tailwindcss.com/docs/overscroll-behavior
1464
- */
1465
- overscroll: [{
1466
- overscroll: scaleOverscroll()
1467
- }],
1468
- /**
1469
- * Overscroll Behavior X
1470
- * @see https://tailwindcss.com/docs/overscroll-behavior
1471
- */
1472
- "overscroll-x": [{
1473
- "overscroll-x": scaleOverscroll()
1474
- }],
1475
- /**
1476
- * Overscroll Behavior Y
1477
- * @see https://tailwindcss.com/docs/overscroll-behavior
1478
- */
1479
- "overscroll-y": [{
1480
- "overscroll-y": scaleOverscroll()
1481
- }],
1482
- /**
1483
- * Position
1484
- * @see https://tailwindcss.com/docs/position
1485
- */
1486
- position: ["static", "fixed", "absolute", "relative", "sticky"],
1487
- /**
1488
- * Top / Right / Bottom / Left
1489
- * @see https://tailwindcss.com/docs/top-right-bottom-left
1490
- */
1491
- inset: [{
1492
- inset: scaleInset()
1493
- }],
1494
- /**
1495
- * Right / Left
1496
- * @see https://tailwindcss.com/docs/top-right-bottom-left
1497
- */
1498
- "inset-x": [{
1499
- "inset-x": scaleInset()
1500
- }],
1501
- /**
1502
- * Top / Bottom
1503
- * @see https://tailwindcss.com/docs/top-right-bottom-left
1504
- */
1505
- "inset-y": [{
1506
- "inset-y": scaleInset()
1507
- }],
1508
- /**
1509
- * Start
1510
- * @see https://tailwindcss.com/docs/top-right-bottom-left
1511
- */
1512
- start: [{
1513
- start: scaleInset()
1514
- }],
1515
- /**
1516
- * End
1517
- * @see https://tailwindcss.com/docs/top-right-bottom-left
1518
- */
1519
- end: [{
1520
- end: scaleInset()
1521
- }],
1522
- /**
1523
- * Top
1524
- * @see https://tailwindcss.com/docs/top-right-bottom-left
1525
- */
1526
- top: [{
1527
- top: scaleInset()
1528
- }],
1529
- /**
1530
- * Right
1531
- * @see https://tailwindcss.com/docs/top-right-bottom-left
1532
- */
1533
- right: [{
1534
- right: scaleInset()
1535
- }],
1536
- /**
1537
- * Bottom
1538
- * @see https://tailwindcss.com/docs/top-right-bottom-left
1539
- */
1540
- bottom: [{
1541
- bottom: scaleInset()
1542
- }],
1543
- /**
1544
- * Left
1545
- * @see https://tailwindcss.com/docs/top-right-bottom-left
1546
- */
1547
- left: [{
1548
- left: scaleInset()
1549
- }],
1550
- /**
1551
- * Visibility
1552
- * @see https://tailwindcss.com/docs/visibility
1553
- */
1554
- visibility: ["visible", "invisible", "collapse"],
1555
- /**
1556
- * Z-Index
1557
- * @see https://tailwindcss.com/docs/z-index
1558
- */
1559
- z: [{
1560
- z: [isInteger, "auto", isArbitraryVariable, isArbitraryValue]
1561
- }],
1562
- // ------------------------
1563
- // --- Flexbox and Grid ---
1564
- // ------------------------
1565
- /**
1566
- * Flex Basis
1567
- * @see https://tailwindcss.com/docs/flex-basis
1568
- */
1569
- basis: [{
1570
- basis: [isFraction, "full", "auto", themeContainer, ...scaleUnambiguousSpacing()]
1571
- }],
1572
- /**
1573
- * Flex Direction
1574
- * @see https://tailwindcss.com/docs/flex-direction
1575
- */
1576
- "flex-direction": [{
1577
- flex: ["row", "row-reverse", "col", "col-reverse"]
1578
- }],
1579
- /**
1580
- * Flex Wrap
1581
- * @see https://tailwindcss.com/docs/flex-wrap
1582
- */
1583
- "flex-wrap": [{
1584
- flex: ["nowrap", "wrap", "wrap-reverse"]
1585
- }],
1586
- /**
1587
- * Flex
1588
- * @see https://tailwindcss.com/docs/flex
1589
- */
1590
- flex: [{
1591
- flex: [isNumber, isFraction, "auto", "initial", "none", isArbitraryValue]
1592
- }],
1593
- /**
1594
- * Flex Grow
1595
- * @see https://tailwindcss.com/docs/flex-grow
1596
- */
1597
- grow: [{
1598
- grow: ["", isNumber, isArbitraryVariable, isArbitraryValue]
1599
- }],
1600
- /**
1601
- * Flex Shrink
1602
- * @see https://tailwindcss.com/docs/flex-shrink
1603
- */
1604
- shrink: [{
1605
- shrink: ["", isNumber, isArbitraryVariable, isArbitraryValue]
1606
- }],
1607
- /**
1608
- * Order
1609
- * @see https://tailwindcss.com/docs/order
1610
- */
1611
- order: [{
1612
- order: [isInteger, "first", "last", "none", isArbitraryVariable, isArbitraryValue]
1613
- }],
1614
- /**
1615
- * Grid Template Columns
1616
- * @see https://tailwindcss.com/docs/grid-template-columns
1617
- */
1618
- "grid-cols": [{
1619
- "grid-cols": scaleGridTemplateColsRows()
1620
- }],
1621
- /**
1622
- * Grid Column Start / End
1623
- * @see https://tailwindcss.com/docs/grid-column
1624
- */
1625
- "col-start-end": [{
1626
- col: scaleGridColRowStartAndEnd()
1627
- }],
1628
- /**
1629
- * Grid Column Start
1630
- * @see https://tailwindcss.com/docs/grid-column
1631
- */
1632
- "col-start": [{
1633
- "col-start": scaleGridColRowStartOrEnd()
1634
- }],
1635
- /**
1636
- * Grid Column End
1637
- * @see https://tailwindcss.com/docs/grid-column
1638
- */
1639
- "col-end": [{
1640
- "col-end": scaleGridColRowStartOrEnd()
1641
- }],
1642
- /**
1643
- * Grid Template Rows
1644
- * @see https://tailwindcss.com/docs/grid-template-rows
1645
- */
1646
- "grid-rows": [{
1647
- "grid-rows": scaleGridTemplateColsRows()
1648
- }],
1649
- /**
1650
- * Grid Row Start / End
1651
- * @see https://tailwindcss.com/docs/grid-row
1652
- */
1653
- "row-start-end": [{
1654
- row: scaleGridColRowStartAndEnd()
1655
- }],
1656
- /**
1657
- * Grid Row Start
1658
- * @see https://tailwindcss.com/docs/grid-row
1659
- */
1660
- "row-start": [{
1661
- "row-start": scaleGridColRowStartOrEnd()
1662
- }],
1663
- /**
1664
- * Grid Row End
1665
- * @see https://tailwindcss.com/docs/grid-row
1666
- */
1667
- "row-end": [{
1668
- "row-end": scaleGridColRowStartOrEnd()
1669
- }],
1670
- /**
1671
- * Grid Auto Flow
1672
- * @see https://tailwindcss.com/docs/grid-auto-flow
1673
- */
1674
- "grid-flow": [{
1675
- "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
1676
- }],
1677
- /**
1678
- * Grid Auto Columns
1679
- * @see https://tailwindcss.com/docs/grid-auto-columns
1680
- */
1681
- "auto-cols": [{
1682
- "auto-cols": scaleGridAutoColsRows()
1683
- }],
1684
- /**
1685
- * Grid Auto Rows
1686
- * @see https://tailwindcss.com/docs/grid-auto-rows
1687
- */
1688
- "auto-rows": [{
1689
- "auto-rows": scaleGridAutoColsRows()
1690
- }],
1691
- /**
1692
- * Gap
1693
- * @see https://tailwindcss.com/docs/gap
1694
- */
1695
- gap: [{
1696
- gap: scaleUnambiguousSpacing()
1697
- }],
1698
- /**
1699
- * Gap X
1700
- * @see https://tailwindcss.com/docs/gap
1701
- */
1702
- "gap-x": [{
1703
- "gap-x": scaleUnambiguousSpacing()
1704
- }],
1705
- /**
1706
- * Gap Y
1707
- * @see https://tailwindcss.com/docs/gap
1708
- */
1709
- "gap-y": [{
1710
- "gap-y": scaleUnambiguousSpacing()
1711
- }],
1712
- /**
1713
- * Justify Content
1714
- * @see https://tailwindcss.com/docs/justify-content
1715
- */
1716
- "justify-content": [{
1717
- justify: [...scaleAlignPrimaryAxis(), "normal"]
1718
- }],
1719
- /**
1720
- * Justify Items
1721
- * @see https://tailwindcss.com/docs/justify-items
1722
- */
1723
- "justify-items": [{
1724
- "justify-items": [...scaleAlignSecondaryAxis(), "normal"]
1725
- }],
1726
- /**
1727
- * Justify Self
1728
- * @see https://tailwindcss.com/docs/justify-self
1729
- */
1730
- "justify-self": [{
1731
- "justify-self": ["auto", ...scaleAlignSecondaryAxis()]
1732
- }],
1733
- /**
1734
- * Align Content
1735
- * @see https://tailwindcss.com/docs/align-content
1736
- */
1737
- "align-content": [{
1738
- content: ["normal", ...scaleAlignPrimaryAxis()]
1739
- }],
1740
- /**
1741
- * Align Items
1742
- * @see https://tailwindcss.com/docs/align-items
1743
- */
1744
- "align-items": [{
1745
- items: [...scaleAlignSecondaryAxis(), "baseline"]
1746
- }],
1747
- /**
1748
- * Align Self
1749
- * @see https://tailwindcss.com/docs/align-self
1750
- */
1751
- "align-self": [{
1752
- self: ["auto", ...scaleAlignSecondaryAxis(), "baseline"]
1753
- }],
1754
- /**
1755
- * Place Content
1756
- * @see https://tailwindcss.com/docs/place-content
1757
- */
1758
- "place-content": [{
1759
- "place-content": scaleAlignPrimaryAxis()
1760
- }],
1761
- /**
1762
- * Place Items
1763
- * @see https://tailwindcss.com/docs/place-items
1764
- */
1765
- "place-items": [{
1766
- "place-items": [...scaleAlignSecondaryAxis(), "baseline"]
1767
- }],
1768
- /**
1769
- * Place Self
1770
- * @see https://tailwindcss.com/docs/place-self
1771
- */
1772
- "place-self": [{
1773
- "place-self": ["auto", ...scaleAlignSecondaryAxis()]
1774
- }],
1775
- // Spacing
1776
- /**
1777
- * Padding
1778
- * @see https://tailwindcss.com/docs/padding
1779
- */
1780
- p: [{
1781
- p: scaleUnambiguousSpacing()
1782
- }],
1783
- /**
1784
- * Padding X
1785
- * @see https://tailwindcss.com/docs/padding
1786
- */
1787
- px: [{
1788
- px: scaleUnambiguousSpacing()
1789
- }],
1790
- /**
1791
- * Padding Y
1792
- * @see https://tailwindcss.com/docs/padding
1793
- */
1794
- py: [{
1795
- py: scaleUnambiguousSpacing()
1796
- }],
1797
- /**
1798
- * Padding Start
1799
- * @see https://tailwindcss.com/docs/padding
1800
- */
1801
- ps: [{
1802
- ps: scaleUnambiguousSpacing()
1803
- }],
1804
- /**
1805
- * Padding End
1806
- * @see https://tailwindcss.com/docs/padding
1807
- */
1808
- pe: [{
1809
- pe: scaleUnambiguousSpacing()
1810
- }],
1811
- /**
1812
- * Padding Top
1813
- * @see https://tailwindcss.com/docs/padding
1814
- */
1815
- pt: [{
1816
- pt: scaleUnambiguousSpacing()
1817
- }],
1818
- /**
1819
- * Padding Right
1820
- * @see https://tailwindcss.com/docs/padding
1821
- */
1822
- pr: [{
1823
- pr: scaleUnambiguousSpacing()
1824
- }],
1825
- /**
1826
- * Padding Bottom
1827
- * @see https://tailwindcss.com/docs/padding
1828
- */
1829
- pb: [{
1830
- pb: scaleUnambiguousSpacing()
1831
- }],
1832
- /**
1833
- * Padding Left
1834
- * @see https://tailwindcss.com/docs/padding
1835
- */
1836
- pl: [{
1837
- pl: scaleUnambiguousSpacing()
1838
- }],
1839
- /**
1840
- * Margin
1841
- * @see https://tailwindcss.com/docs/margin
1842
- */
1843
- m: [{
1844
- m: scaleMargin()
1845
- }],
1846
- /**
1847
- * Margin X
1848
- * @see https://tailwindcss.com/docs/margin
1849
- */
1850
- mx: [{
1851
- mx: scaleMargin()
1852
- }],
1853
- /**
1854
- * Margin Y
1855
- * @see https://tailwindcss.com/docs/margin
1856
- */
1857
- my: [{
1858
- my: scaleMargin()
1859
- }],
1860
- /**
1861
- * Margin Start
1862
- * @see https://tailwindcss.com/docs/margin
1863
- */
1864
- ms: [{
1865
- ms: scaleMargin()
1866
- }],
1867
- /**
1868
- * Margin End
1869
- * @see https://tailwindcss.com/docs/margin
1870
- */
1871
- me: [{
1872
- me: scaleMargin()
1873
- }],
1874
- /**
1875
- * Margin Top
1876
- * @see https://tailwindcss.com/docs/margin
1877
- */
1878
- mt: [{
1879
- mt: scaleMargin()
1880
- }],
1881
- /**
1882
- * Margin Right
1883
- * @see https://tailwindcss.com/docs/margin
1884
- */
1885
- mr: [{
1886
- mr: scaleMargin()
1887
- }],
1888
- /**
1889
- * Margin Bottom
1890
- * @see https://tailwindcss.com/docs/margin
1891
- */
1892
- mb: [{
1893
- mb: scaleMargin()
1894
- }],
1895
- /**
1896
- * Margin Left
1897
- * @see https://tailwindcss.com/docs/margin
1898
- */
1899
- ml: [{
1900
- ml: scaleMargin()
1901
- }],
1902
- /**
1903
- * Space Between X
1904
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1905
- */
1906
- "space-x": [{
1907
- "space-x": scaleUnambiguousSpacing()
1908
- }],
1909
- /**
1910
- * Space Between X Reverse
1911
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1912
- */
1913
- "space-x-reverse": ["space-x-reverse"],
1914
- /**
1915
- * Space Between Y
1916
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1917
- */
1918
- "space-y": [{
1919
- "space-y": scaleUnambiguousSpacing()
1920
- }],
1921
- /**
1922
- * Space Between Y Reverse
1923
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1924
- */
1925
- "space-y-reverse": ["space-y-reverse"],
1926
- // --------------
1927
- // --- Sizing ---
1928
- // --------------
1929
- /**
1930
- * Size
1931
- * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
1932
- */
1933
- size: [{
1934
- size: scaleSizing()
1935
- }],
1936
- /**
1937
- * Width
1938
- * @see https://tailwindcss.com/docs/width
1939
- */
1940
- w: [{
1941
- w: [themeContainer, "screen", ...scaleSizing()]
1942
- }],
1943
- /**
1944
- * Min-Width
1945
- * @see https://tailwindcss.com/docs/min-width
1946
- */
1947
- "min-w": [{
1948
- "min-w": [
1949
- themeContainer,
1950
- "screen",
1951
- /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1952
- "none",
1953
- ...scaleSizing()
1954
- ]
1955
- }],
1956
- /**
1957
- * Max-Width
1958
- * @see https://tailwindcss.com/docs/max-width
1959
- */
1960
- "max-w": [{
1961
- "max-w": [
1962
- themeContainer,
1963
- "screen",
1964
- "none",
1965
- /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1966
- "prose",
1967
- /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1968
- {
1969
- screen: [themeBreakpoint]
1970
- },
1971
- ...scaleSizing()
1972
- ]
1973
- }],
1974
- /**
1975
- * Height
1976
- * @see https://tailwindcss.com/docs/height
1977
- */
1978
- h: [{
1979
- h: ["screen", ...scaleSizing()]
1980
- }],
1981
- /**
1982
- * Min-Height
1983
- * @see https://tailwindcss.com/docs/min-height
1984
- */
1985
- "min-h": [{
1986
- "min-h": ["screen", "none", ...scaleSizing()]
1987
- }],
1988
- /**
1989
- * Max-Height
1990
- * @see https://tailwindcss.com/docs/max-height
1991
- */
1992
- "max-h": [{
1993
- "max-h": ["screen", ...scaleSizing()]
1994
- }],
1995
- // ------------------
1996
- // --- Typography ---
1997
- // ------------------
1998
- /**
1999
- * Font Size
2000
- * @see https://tailwindcss.com/docs/font-size
2001
- */
2002
- "font-size": [{
2003
- text: ["base", themeText, isArbitraryVariableLength, isArbitraryLength]
2004
- }],
2005
- /**
2006
- * Font Smoothing
2007
- * @see https://tailwindcss.com/docs/font-smoothing
2008
- */
2009
- "font-smoothing": ["antialiased", "subpixel-antialiased"],
2010
- /**
2011
- * Font Style
2012
- * @see https://tailwindcss.com/docs/font-style
2013
- */
2014
- "font-style": ["italic", "not-italic"],
2015
- /**
2016
- * Font Weight
2017
- * @see https://tailwindcss.com/docs/font-weight
2018
- */
2019
- "font-weight": [{
2020
- font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber]
2021
- }],
2022
- /**
2023
- * Font Stretch
2024
- * @see https://tailwindcss.com/docs/font-stretch
2025
- */
2026
- "font-stretch": [{
2027
- "font-stretch": ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", isPercent, isArbitraryValue]
2028
- }],
2029
- /**
2030
- * Font Family
2031
- * @see https://tailwindcss.com/docs/font-family
2032
- */
2033
- "font-family": [{
2034
- font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont]
2035
- }],
2036
- /**
2037
- * Font Variant Numeric
2038
- * @see https://tailwindcss.com/docs/font-variant-numeric
2039
- */
2040
- "fvn-normal": ["normal-nums"],
2041
- /**
2042
- * Font Variant Numeric
2043
- * @see https://tailwindcss.com/docs/font-variant-numeric
2044
- */
2045
- "fvn-ordinal": ["ordinal"],
2046
- /**
2047
- * Font Variant Numeric
2048
- * @see https://tailwindcss.com/docs/font-variant-numeric
2049
- */
2050
- "fvn-slashed-zero": ["slashed-zero"],
2051
- /**
2052
- * Font Variant Numeric
2053
- * @see https://tailwindcss.com/docs/font-variant-numeric
2054
- */
2055
- "fvn-figure": ["lining-nums", "oldstyle-nums"],
2056
- /**
2057
- * Font Variant Numeric
2058
- * @see https://tailwindcss.com/docs/font-variant-numeric
2059
- */
2060
- "fvn-spacing": ["proportional-nums", "tabular-nums"],
2061
- /**
2062
- * Font Variant Numeric
2063
- * @see https://tailwindcss.com/docs/font-variant-numeric
2064
- */
2065
- "fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
2066
- /**
2067
- * Letter Spacing
2068
- * @see https://tailwindcss.com/docs/letter-spacing
2069
- */
2070
- tracking: [{
2071
- tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]
2072
- }],
2073
- /**
2074
- * Line Clamp
2075
- * @see https://tailwindcss.com/docs/line-clamp
2076
- */
2077
- "line-clamp": [{
2078
- "line-clamp": [isNumber, "none", isArbitraryVariable, isArbitraryNumber]
2079
- }],
2080
- /**
2081
- * Line Height
2082
- * @see https://tailwindcss.com/docs/line-height
2083
- */
2084
- leading: [{
2085
- leading: [
2086
- /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
2087
- themeLeading,
2088
- ...scaleUnambiguousSpacing()
2089
- ]
2090
- }],
2091
- /**
2092
- * List Style Image
2093
- * @see https://tailwindcss.com/docs/list-style-image
2094
- */
2095
- "list-image": [{
2096
- "list-image": ["none", isArbitraryVariable, isArbitraryValue]
2097
- }],
2098
- /**
2099
- * List Style Position
2100
- * @see https://tailwindcss.com/docs/list-style-position
2101
- */
2102
- "list-style-position": [{
2103
- list: ["inside", "outside"]
2104
- }],
2105
- /**
2106
- * List Style Type
2107
- * @see https://tailwindcss.com/docs/list-style-type
2108
- */
2109
- "list-style-type": [{
2110
- list: ["disc", "decimal", "none", isArbitraryVariable, isArbitraryValue]
2111
- }],
2112
- /**
2113
- * Text Alignment
2114
- * @see https://tailwindcss.com/docs/text-align
2115
- */
2116
- "text-alignment": [{
2117
- text: ["left", "center", "right", "justify", "start", "end"]
2118
- }],
2119
- /**
2120
- * Placeholder Color
2121
- * @deprecated since Tailwind CSS v3.0.0
2122
- * @see https://v3.tailwindcss.com/docs/placeholder-color
2123
- */
2124
- "placeholder-color": [{
2125
- placeholder: scaleColor()
2126
- }],
2127
- /**
2128
- * Text Color
2129
- * @see https://tailwindcss.com/docs/text-color
2130
- */
2131
- "text-color": [{
2132
- text: scaleColor()
2133
- }],
2134
- /**
2135
- * Text Decoration
2136
- * @see https://tailwindcss.com/docs/text-decoration
2137
- */
2138
- "text-decoration": ["underline", "overline", "line-through", "no-underline"],
2139
- /**
2140
- * Text Decoration Style
2141
- * @see https://tailwindcss.com/docs/text-decoration-style
2142
- */
2143
- "text-decoration-style": [{
2144
- decoration: [...scaleLineStyle(), "wavy"]
2145
- }],
2146
- /**
2147
- * Text Decoration Thickness
2148
- * @see https://tailwindcss.com/docs/text-decoration-thickness
2149
- */
2150
- "text-decoration-thickness": [{
2151
- decoration: [isNumber, "from-font", "auto", isArbitraryVariable, isArbitraryLength]
2152
- }],
2153
- /**
2154
- * Text Decoration Color
2155
- * @see https://tailwindcss.com/docs/text-decoration-color
2156
- */
2157
- "text-decoration-color": [{
2158
- decoration: scaleColor()
2159
- }],
2160
- /**
2161
- * Text Underline Offset
2162
- * @see https://tailwindcss.com/docs/text-underline-offset
2163
- */
2164
- "underline-offset": [{
2165
- "underline-offset": [isNumber, "auto", isArbitraryVariable, isArbitraryValue]
2166
- }],
2167
- /**
2168
- * Text Transform
2169
- * @see https://tailwindcss.com/docs/text-transform
2170
- */
2171
- "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
2172
- /**
2173
- * Text Overflow
2174
- * @see https://tailwindcss.com/docs/text-overflow
2175
- */
2176
- "text-overflow": ["truncate", "text-ellipsis", "text-clip"],
2177
- /**
2178
- * Text Wrap
2179
- * @see https://tailwindcss.com/docs/text-wrap
2180
- */
2181
- "text-wrap": [{
2182
- text: ["wrap", "nowrap", "balance", "pretty"]
2183
- }],
2184
- /**
2185
- * Text Indent
2186
- * @see https://tailwindcss.com/docs/text-indent
2187
- */
2188
- indent: [{
2189
- indent: scaleUnambiguousSpacing()
2190
- }],
2191
- /**
2192
- * Vertical Alignment
2193
- * @see https://tailwindcss.com/docs/vertical-align
2194
- */
2195
- "vertical-align": [{
2196
- align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", isArbitraryVariable, isArbitraryValue]
2197
- }],
2198
- /**
2199
- * Whitespace
2200
- * @see https://tailwindcss.com/docs/whitespace
2201
- */
2202
- whitespace: [{
2203
- whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
2204
- }],
2205
- /**
2206
- * Word Break
2207
- * @see https://tailwindcss.com/docs/word-break
2208
- */
2209
- break: [{
2210
- break: ["normal", "words", "all", "keep"]
2211
- }],
2212
- /**
2213
- * Hyphens
2214
- * @see https://tailwindcss.com/docs/hyphens
2215
- */
2216
- hyphens: [{
2217
- hyphens: ["none", "manual", "auto"]
2218
- }],
2219
- /**
2220
- * Content
2221
- * @see https://tailwindcss.com/docs/content
2222
- */
2223
- content: [{
2224
- content: ["none", isArbitraryVariable, isArbitraryValue]
2225
- }],
2226
- // -------------------
2227
- // --- Backgrounds ---
2228
- // -------------------
2229
- /**
2230
- * Background Attachment
2231
- * @see https://tailwindcss.com/docs/background-attachment
2232
- */
2233
- "bg-attachment": [{
2234
- bg: ["fixed", "local", "scroll"]
2235
- }],
2236
- /**
2237
- * Background Clip
2238
- * @see https://tailwindcss.com/docs/background-clip
2239
- */
2240
- "bg-clip": [{
2241
- "bg-clip": ["border", "padding", "content", "text"]
2242
- }],
2243
- /**
2244
- * Background Origin
2245
- * @see https://tailwindcss.com/docs/background-origin
2246
- */
2247
- "bg-origin": [{
2248
- "bg-origin": ["border", "padding", "content"]
2249
- }],
2250
- /**
2251
- * Background Position
2252
- * @see https://tailwindcss.com/docs/background-position
2253
- */
2254
- "bg-position": [{
2255
- bg: [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition]
2256
- }],
2257
- /**
2258
- * Background Repeat
2259
- * @see https://tailwindcss.com/docs/background-repeat
2260
- */
2261
- "bg-repeat": [{
2262
- bg: ["no-repeat", {
2263
- repeat: ["", "x", "y", "space", "round"]
2264
- }]
2265
- }],
2266
- /**
2267
- * Background Size
2268
- * @see https://tailwindcss.com/docs/background-size
2269
- */
2270
- "bg-size": [{
2271
- bg: ["auto", "cover", "contain", isArbitraryVariableSize, isArbitrarySize]
2272
- }],
2273
- /**
2274
- * Background Image
2275
- * @see https://tailwindcss.com/docs/background-image
2276
- */
2277
- "bg-image": [{
2278
- bg: ["none", {
2279
- linear: [{
2280
- to: ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
2281
- }, isInteger, isArbitraryVariable, isArbitraryValue],
2282
- radial: ["", isArbitraryVariable, isArbitraryValue],
2283
- conic: [isInteger, isArbitraryVariable, isArbitraryValue]
2284
- }, isArbitraryVariableImage, isArbitraryImage]
2285
- }],
2286
- /**
2287
- * Background Color
2288
- * @see https://tailwindcss.com/docs/background-color
2289
- */
2290
- "bg-color": [{
2291
- bg: scaleColor()
2292
- }],
2293
- /**
2294
- * Gradient Color Stops From Position
2295
- * @see https://tailwindcss.com/docs/gradient-color-stops
2296
- */
2297
- "gradient-from-pos": [{
2298
- from: scaleGradientStopPosition()
2299
- }],
2300
- /**
2301
- * Gradient Color Stops Via Position
2302
- * @see https://tailwindcss.com/docs/gradient-color-stops
2303
- */
2304
- "gradient-via-pos": [{
2305
- via: scaleGradientStopPosition()
2306
- }],
2307
- /**
2308
- * Gradient Color Stops To Position
2309
- * @see https://tailwindcss.com/docs/gradient-color-stops
2310
- */
2311
- "gradient-to-pos": [{
2312
- to: scaleGradientStopPosition()
2313
- }],
2314
- /**
2315
- * Gradient Color Stops From
2316
- * @see https://tailwindcss.com/docs/gradient-color-stops
2317
- */
2318
- "gradient-from": [{
2319
- from: scaleColor()
2320
- }],
2321
- /**
2322
- * Gradient Color Stops Via
2323
- * @see https://tailwindcss.com/docs/gradient-color-stops
2324
- */
2325
- "gradient-via": [{
2326
- via: scaleColor()
2327
- }],
2328
- /**
2329
- * Gradient Color Stops To
2330
- * @see https://tailwindcss.com/docs/gradient-color-stops
2331
- */
2332
- "gradient-to": [{
2333
- to: scaleColor()
2334
- }],
2335
- // ---------------
2336
- // --- Borders ---
2337
- // ---------------
2338
- /**
2339
- * Border Radius
2340
- * @see https://tailwindcss.com/docs/border-radius
2341
- */
2342
- rounded: [{
2343
- rounded: scaleRadius()
2344
- }],
2345
- /**
2346
- * Border Radius Start
2347
- * @see https://tailwindcss.com/docs/border-radius
2348
- */
2349
- "rounded-s": [{
2350
- "rounded-s": scaleRadius()
2351
- }],
2352
- /**
2353
- * Border Radius End
2354
- * @see https://tailwindcss.com/docs/border-radius
2355
- */
2356
- "rounded-e": [{
2357
- "rounded-e": scaleRadius()
2358
- }],
2359
- /**
2360
- * Border Radius Top
2361
- * @see https://tailwindcss.com/docs/border-radius
2362
- */
2363
- "rounded-t": [{
2364
- "rounded-t": scaleRadius()
2365
- }],
2366
- /**
2367
- * Border Radius Right
2368
- * @see https://tailwindcss.com/docs/border-radius
2369
- */
2370
- "rounded-r": [{
2371
- "rounded-r": scaleRadius()
2372
- }],
2373
- /**
2374
- * Border Radius Bottom
2375
- * @see https://tailwindcss.com/docs/border-radius
2376
- */
2377
- "rounded-b": [{
2378
- "rounded-b": scaleRadius()
2379
- }],
2380
- /**
2381
- * Border Radius Left
2382
- * @see https://tailwindcss.com/docs/border-radius
2383
- */
2384
- "rounded-l": [{
2385
- "rounded-l": scaleRadius()
2386
- }],
2387
- /**
2388
- * Border Radius Start Start
2389
- * @see https://tailwindcss.com/docs/border-radius
2390
- */
2391
- "rounded-ss": [{
2392
- "rounded-ss": scaleRadius()
2393
- }],
2394
- /**
2395
- * Border Radius Start End
2396
- * @see https://tailwindcss.com/docs/border-radius
2397
- */
2398
- "rounded-se": [{
2399
- "rounded-se": scaleRadius()
2400
- }],
2401
- /**
2402
- * Border Radius End End
2403
- * @see https://tailwindcss.com/docs/border-radius
2404
- */
2405
- "rounded-ee": [{
2406
- "rounded-ee": scaleRadius()
2407
- }],
2408
- /**
2409
- * Border Radius End Start
2410
- * @see https://tailwindcss.com/docs/border-radius
2411
- */
2412
- "rounded-es": [{
2413
- "rounded-es": scaleRadius()
2414
- }],
2415
- /**
2416
- * Border Radius Top Left
2417
- * @see https://tailwindcss.com/docs/border-radius
2418
- */
2419
- "rounded-tl": [{
2420
- "rounded-tl": scaleRadius()
2421
- }],
2422
- /**
2423
- * Border Radius Top Right
2424
- * @see https://tailwindcss.com/docs/border-radius
2425
- */
2426
- "rounded-tr": [{
2427
- "rounded-tr": scaleRadius()
2428
- }],
2429
- /**
2430
- * Border Radius Bottom Right
2431
- * @see https://tailwindcss.com/docs/border-radius
2432
- */
2433
- "rounded-br": [{
2434
- "rounded-br": scaleRadius()
2435
- }],
2436
- /**
2437
- * Border Radius Bottom Left
2438
- * @see https://tailwindcss.com/docs/border-radius
2439
- */
2440
- "rounded-bl": [{
2441
- "rounded-bl": scaleRadius()
2442
- }],
2443
- /**
2444
- * Border Width
2445
- * @see https://tailwindcss.com/docs/border-width
2446
- */
2447
- "border-w": [{
2448
- border: scaleBorderWidth()
2449
- }],
2450
- /**
2451
- * Border Width X
2452
- * @see https://tailwindcss.com/docs/border-width
2453
- */
2454
- "border-w-x": [{
2455
- "border-x": scaleBorderWidth()
2456
- }],
2457
- /**
2458
- * Border Width Y
2459
- * @see https://tailwindcss.com/docs/border-width
2460
- */
2461
- "border-w-y": [{
2462
- "border-y": scaleBorderWidth()
2463
- }],
2464
- /**
2465
- * Border Width Start
2466
- * @see https://tailwindcss.com/docs/border-width
2467
- */
2468
- "border-w-s": [{
2469
- "border-s": scaleBorderWidth()
2470
- }],
2471
- /**
2472
- * Border Width End
2473
- * @see https://tailwindcss.com/docs/border-width
2474
- */
2475
- "border-w-e": [{
2476
- "border-e": scaleBorderWidth()
2477
- }],
2478
- /**
2479
- * Border Width Top
2480
- * @see https://tailwindcss.com/docs/border-width
2481
- */
2482
- "border-w-t": [{
2483
- "border-t": scaleBorderWidth()
2484
- }],
2485
- /**
2486
- * Border Width Right
2487
- * @see https://tailwindcss.com/docs/border-width
2488
- */
2489
- "border-w-r": [{
2490
- "border-r": scaleBorderWidth()
2491
- }],
2492
- /**
2493
- * Border Width Bottom
2494
- * @see https://tailwindcss.com/docs/border-width
2495
- */
2496
- "border-w-b": [{
2497
- "border-b": scaleBorderWidth()
2498
- }],
2499
- /**
2500
- * Border Width Left
2501
- * @see https://tailwindcss.com/docs/border-width
2502
- */
2503
- "border-w-l": [{
2504
- "border-l": scaleBorderWidth()
2505
- }],
2506
- /**
2507
- * Divide Width X
2508
- * @see https://tailwindcss.com/docs/border-width#between-children
2509
- */
2510
- "divide-x": [{
2511
- "divide-x": scaleBorderWidth()
2512
- }],
2513
- /**
2514
- * Divide Width X Reverse
2515
- * @see https://tailwindcss.com/docs/border-width#between-children
2516
- */
2517
- "divide-x-reverse": ["divide-x-reverse"],
2518
- /**
2519
- * Divide Width Y
2520
- * @see https://tailwindcss.com/docs/border-width#between-children
2521
- */
2522
- "divide-y": [{
2523
- "divide-y": scaleBorderWidth()
2524
- }],
2525
- /**
2526
- * Divide Width Y Reverse
2527
- * @see https://tailwindcss.com/docs/border-width#between-children
2528
- */
2529
- "divide-y-reverse": ["divide-y-reverse"],
2530
- /**
2531
- * Border Style
2532
- * @see https://tailwindcss.com/docs/border-style
2533
- */
2534
- "border-style": [{
2535
- border: [...scaleLineStyle(), "hidden", "none"]
2536
- }],
2537
- /**
2538
- * Divide Style
2539
- * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
2540
- */
2541
- "divide-style": [{
2542
- divide: [...scaleLineStyle(), "hidden", "none"]
2543
- }],
2544
- /**
2545
- * Border Color
2546
- * @see https://tailwindcss.com/docs/border-color
2547
- */
2548
- "border-color": [{
2549
- border: scaleColor()
2550
- }],
2551
- /**
2552
- * Border Color X
2553
- * @see https://tailwindcss.com/docs/border-color
2554
- */
2555
- "border-color-x": [{
2556
- "border-x": scaleColor()
2557
- }],
2558
- /**
2559
- * Border Color Y
2560
- * @see https://tailwindcss.com/docs/border-color
2561
- */
2562
- "border-color-y": [{
2563
- "border-y": scaleColor()
2564
- }],
2565
- /**
2566
- * Border Color S
2567
- * @see https://tailwindcss.com/docs/border-color
2568
- */
2569
- "border-color-s": [{
2570
- "border-s": scaleColor()
2571
- }],
2572
- /**
2573
- * Border Color E
2574
- * @see https://tailwindcss.com/docs/border-color
2575
- */
2576
- "border-color-e": [{
2577
- "border-e": scaleColor()
2578
- }],
2579
- /**
2580
- * Border Color Top
2581
- * @see https://tailwindcss.com/docs/border-color
2582
- */
2583
- "border-color-t": [{
2584
- "border-t": scaleColor()
2585
- }],
2586
- /**
2587
- * Border Color Right
2588
- * @see https://tailwindcss.com/docs/border-color
2589
- */
2590
- "border-color-r": [{
2591
- "border-r": scaleColor()
2592
- }],
2593
- /**
2594
- * Border Color Bottom
2595
- * @see https://tailwindcss.com/docs/border-color
2596
- */
2597
- "border-color-b": [{
2598
- "border-b": scaleColor()
2599
- }],
2600
- /**
2601
- * Border Color Left
2602
- * @see https://tailwindcss.com/docs/border-color
2603
- */
2604
- "border-color-l": [{
2605
- "border-l": scaleColor()
2606
- }],
2607
- /**
2608
- * Divide Color
2609
- * @see https://tailwindcss.com/docs/divide-color
2610
- */
2611
- "divide-color": [{
2612
- divide: scaleColor()
2613
- }],
2614
- /**
2615
- * Outline Style
2616
- * @see https://tailwindcss.com/docs/outline-style
2617
- */
2618
- "outline-style": [{
2619
- outline: [...scaleLineStyle(), "none", "hidden"]
2620
- }],
2621
- /**
2622
- * Outline Offset
2623
- * @see https://tailwindcss.com/docs/outline-offset
2624
- */
2625
- "outline-offset": [{
2626
- "outline-offset": [isNumber, isArbitraryVariable, isArbitraryValue]
2627
- }],
2628
- /**
2629
- * Outline Width
2630
- * @see https://tailwindcss.com/docs/outline-width
2631
- */
2632
- "outline-w": [{
2633
- outline: ["", isNumber, isArbitraryVariableLength, isArbitraryLength]
2634
- }],
2635
- /**
2636
- * Outline Color
2637
- * @see https://tailwindcss.com/docs/outline-color
2638
- */
2639
- "outline-color": [{
2640
- outline: [themeColor]
2641
- }],
2642
- // ---------------
2643
- // --- Effects ---
2644
- // ---------------
2645
- /**
2646
- * Box Shadow
2647
- * @see https://tailwindcss.com/docs/box-shadow
2648
- */
2649
- shadow: [{
2650
- shadow: [
2651
- // Deprecated since Tailwind CSS v4.0.0
2652
- "",
2653
- "none",
2654
- themeShadow,
2655
- isArbitraryVariableShadow,
2656
- isArbitraryShadow
2657
- ]
2658
- }],
2659
- /**
2660
- * Box Shadow Color
2661
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
2662
- */
2663
- "shadow-color": [{
2664
- shadow: scaleColor()
2665
- }],
2666
- /**
2667
- * Inset Box Shadow
2668
- * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
2669
- */
2670
- "inset-shadow": [{
2671
- "inset-shadow": ["none", isArbitraryVariable, isArbitraryValue, themeInsetShadow]
2672
- }],
2673
- /**
2674
- * Inset Box Shadow Color
2675
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
2676
- */
2677
- "inset-shadow-color": [{
2678
- "inset-shadow": scaleColor()
2679
- }],
2680
- /**
2681
- * Ring Width
2682
- * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
2683
- */
2684
- "ring-w": [{
2685
- ring: scaleBorderWidth()
2686
- }],
2687
- /**
2688
- * Ring Width Inset
2689
- * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings
2690
- * @deprecated since Tailwind CSS v4.0.0
2691
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2692
- */
2693
- "ring-w-inset": ["ring-inset"],
2694
- /**
2695
- * Ring Color
2696
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
2697
- */
2698
- "ring-color": [{
2699
- ring: scaleColor()
2700
- }],
2701
- /**
2702
- * Ring Offset Width
2703
- * @see https://v3.tailwindcss.com/docs/ring-offset-width
2704
- * @deprecated since Tailwind CSS v4.0.0
2705
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2706
- */
2707
- "ring-offset-w": [{
2708
- "ring-offset": [isNumber, isArbitraryLength]
2709
- }],
2710
- /**
2711
- * Ring Offset Color
2712
- * @see https://v3.tailwindcss.com/docs/ring-offset-color
2713
- * @deprecated since Tailwind CSS v4.0.0
2714
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2715
- */
2716
- "ring-offset-color": [{
2717
- "ring-offset": scaleColor()
2718
- }],
2719
- /**
2720
- * Inset Ring Width
2721
- * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
2722
- */
2723
- "inset-ring-w": [{
2724
- "inset-ring": scaleBorderWidth()
2725
- }],
2726
- /**
2727
- * Inset Ring Color
2728
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
2729
- */
2730
- "inset-ring-color": [{
2731
- "inset-ring": scaleColor()
2732
- }],
2733
- /**
2734
- * Opacity
2735
- * @see https://tailwindcss.com/docs/opacity
2736
- */
2737
- opacity: [{
2738
- opacity: [isNumber, isArbitraryVariable, isArbitraryValue]
2739
- }],
2740
- /**
2741
- * Mix Blend Mode
2742
- * @see https://tailwindcss.com/docs/mix-blend-mode
2743
- */
2744
- "mix-blend": [{
2745
- "mix-blend": [...scaleBlendMode(), "plus-darker", "plus-lighter"]
2746
- }],
2747
- /**
2748
- * Background Blend Mode
2749
- * @see https://tailwindcss.com/docs/background-blend-mode
2750
- */
2751
- "bg-blend": [{
2752
- "bg-blend": scaleBlendMode()
2753
- }],
2754
- // ---------------
2755
- // --- Filters ---
2756
- // ---------------
2757
- /**
2758
- * Filter
2759
- * @see https://tailwindcss.com/docs/filter
2760
- */
2761
- filter: [{
2762
- filter: [
2763
- // Deprecated since Tailwind CSS v3.0.0
2764
- "",
2765
- "none",
2766
- isArbitraryVariable,
2767
- isArbitraryValue
2768
- ]
2769
- }],
2770
- /**
2771
- * Blur
2772
- * @see https://tailwindcss.com/docs/blur
2773
- */
2774
- blur: [{
2775
- blur: scaleBlur()
2776
- }],
2777
- /**
2778
- * Brightness
2779
- * @see https://tailwindcss.com/docs/brightness
2780
- */
2781
- brightness: [{
2782
- brightness: [isNumber, isArbitraryVariable, isArbitraryValue]
2783
- }],
2784
- /**
2785
- * Contrast
2786
- * @see https://tailwindcss.com/docs/contrast
2787
- */
2788
- contrast: [{
2789
- contrast: [isNumber, isArbitraryVariable, isArbitraryValue]
2790
- }],
2791
- /**
2792
- * Drop Shadow
2793
- * @see https://tailwindcss.com/docs/drop-shadow
2794
- */
2795
- "drop-shadow": [{
2796
- "drop-shadow": [
2797
- // Deprecated since Tailwind CSS v4.0.0
2798
- "",
2799
- "none",
2800
- themeDropShadow,
2801
- isArbitraryVariable,
2802
- isArbitraryValue
2803
- ]
2804
- }],
2805
- /**
2806
- * Grayscale
2807
- * @see https://tailwindcss.com/docs/grayscale
2808
- */
2809
- grayscale: [{
2810
- grayscale: ["", isNumber, isArbitraryVariable, isArbitraryValue]
2811
- }],
2812
- /**
2813
- * Hue Rotate
2814
- * @see https://tailwindcss.com/docs/hue-rotate
2815
- */
2816
- "hue-rotate": [{
2817
- "hue-rotate": [isNumber, isArbitraryVariable, isArbitraryValue]
2818
- }],
2819
- /**
2820
- * Invert
2821
- * @see https://tailwindcss.com/docs/invert
2822
- */
2823
- invert: [{
2824
- invert: ["", isNumber, isArbitraryVariable, isArbitraryValue]
2825
- }],
2826
- /**
2827
- * Saturate
2828
- * @see https://tailwindcss.com/docs/saturate
2829
- */
2830
- saturate: [{
2831
- saturate: [isNumber, isArbitraryVariable, isArbitraryValue]
2832
- }],
2833
- /**
2834
- * Sepia
2835
- * @see https://tailwindcss.com/docs/sepia
2836
- */
2837
- sepia: [{
2838
- sepia: ["", isNumber, isArbitraryVariable, isArbitraryValue]
2839
- }],
2840
- /**
2841
- * Backdrop Filter
2842
- * @see https://tailwindcss.com/docs/backdrop-filter
2843
- */
2844
- "backdrop-filter": [{
2845
- "backdrop-filter": [
2846
- // Deprecated since Tailwind CSS v3.0.0
2847
- "",
2848
- "none",
2849
- isArbitraryVariable,
2850
- isArbitraryValue
2851
- ]
2852
- }],
2853
- /**
2854
- * Backdrop Blur
2855
- * @see https://tailwindcss.com/docs/backdrop-blur
2856
- */
2857
- "backdrop-blur": [{
2858
- "backdrop-blur": scaleBlur()
2859
- }],
2860
- /**
2861
- * Backdrop Brightness
2862
- * @see https://tailwindcss.com/docs/backdrop-brightness
2863
- */
2864
- "backdrop-brightness": [{
2865
- "backdrop-brightness": [isNumber, isArbitraryVariable, isArbitraryValue]
2866
- }],
2867
- /**
2868
- * Backdrop Contrast
2869
- * @see https://tailwindcss.com/docs/backdrop-contrast
2870
- */
2871
- "backdrop-contrast": [{
2872
- "backdrop-contrast": [isNumber, isArbitraryVariable, isArbitraryValue]
2873
- }],
2874
- /**
2875
- * Backdrop Grayscale
2876
- * @see https://tailwindcss.com/docs/backdrop-grayscale
2877
- */
2878
- "backdrop-grayscale": [{
2879
- "backdrop-grayscale": ["", isNumber, isArbitraryVariable, isArbitraryValue]
2880
- }],
2881
- /**
2882
- * Backdrop Hue Rotate
2883
- * @see https://tailwindcss.com/docs/backdrop-hue-rotate
2884
- */
2885
- "backdrop-hue-rotate": [{
2886
- "backdrop-hue-rotate": [isNumber, isArbitraryVariable, isArbitraryValue]
2887
- }],
2888
- /**
2889
- * Backdrop Invert
2890
- * @see https://tailwindcss.com/docs/backdrop-invert
2891
- */
2892
- "backdrop-invert": [{
2893
- "backdrop-invert": ["", isNumber, isArbitraryVariable, isArbitraryValue]
2894
- }],
2895
- /**
2896
- * Backdrop Opacity
2897
- * @see https://tailwindcss.com/docs/backdrop-opacity
2898
- */
2899
- "backdrop-opacity": [{
2900
- "backdrop-opacity": [isNumber, isArbitraryVariable, isArbitraryValue]
2901
- }],
2902
- /**
2903
- * Backdrop Saturate
2904
- * @see https://tailwindcss.com/docs/backdrop-saturate
2905
- */
2906
- "backdrop-saturate": [{
2907
- "backdrop-saturate": [isNumber, isArbitraryVariable, isArbitraryValue]
2908
- }],
2909
- /**
2910
- * Backdrop Sepia
2911
- * @see https://tailwindcss.com/docs/backdrop-sepia
2912
- */
2913
- "backdrop-sepia": [{
2914
- "backdrop-sepia": ["", isNumber, isArbitraryVariable, isArbitraryValue]
2915
- }],
2916
- // --------------
2917
- // --- Tables ---
2918
- // --------------
2919
- /**
2920
- * Border Collapse
2921
- * @see https://tailwindcss.com/docs/border-collapse
2922
- */
2923
- "border-collapse": [{
2924
- border: ["collapse", "separate"]
2925
- }],
2926
- /**
2927
- * Border Spacing
2928
- * @see https://tailwindcss.com/docs/border-spacing
2929
- */
2930
- "border-spacing": [{
2931
- "border-spacing": scaleUnambiguousSpacing()
2932
- }],
2933
- /**
2934
- * Border Spacing X
2935
- * @see https://tailwindcss.com/docs/border-spacing
2936
- */
2937
- "border-spacing-x": [{
2938
- "border-spacing-x": scaleUnambiguousSpacing()
2939
- }],
2940
- /**
2941
- * Border Spacing Y
2942
- * @see https://tailwindcss.com/docs/border-spacing
2943
- */
2944
- "border-spacing-y": [{
2945
- "border-spacing-y": scaleUnambiguousSpacing()
2946
- }],
2947
- /**
2948
- * Table Layout
2949
- * @see https://tailwindcss.com/docs/table-layout
2950
- */
2951
- "table-layout": [{
2952
- table: ["auto", "fixed"]
2953
- }],
2954
- /**
2955
- * Caption Side
2956
- * @see https://tailwindcss.com/docs/caption-side
2957
- */
2958
- caption: [{
2959
- caption: ["top", "bottom"]
2960
- }],
2961
- // ---------------------------------
2962
- // --- Transitions and Animation ---
2963
- // ---------------------------------
2964
- /**
2965
- * Transition Property
2966
- * @see https://tailwindcss.com/docs/transition-property
2967
- */
2968
- transition: [{
2969
- transition: ["", "all", "colors", "opacity", "shadow", "transform", "none", isArbitraryVariable, isArbitraryValue]
2970
- }],
2971
- /**
2972
- * Transition Behavior
2973
- * @see https://tailwindcss.com/docs/transition-behavior
2974
- */
2975
- "transition-behavior": [{
2976
- transition: ["normal", "discrete"]
2977
- }],
2978
- /**
2979
- * Transition Duration
2980
- * @see https://tailwindcss.com/docs/transition-duration
2981
- */
2982
- duration: [{
2983
- duration: [isNumber, "initial", isArbitraryVariable, isArbitraryValue]
2984
- }],
2985
- /**
2986
- * Transition Timing Function
2987
- * @see https://tailwindcss.com/docs/transition-timing-function
2988
- */
2989
- ease: [{
2990
- ease: ["linear", "initial", themeEase, isArbitraryVariable, isArbitraryValue]
2991
- }],
2992
- /**
2993
- * Transition Delay
2994
- * @see https://tailwindcss.com/docs/transition-delay
2995
- */
2996
- delay: [{
2997
- delay: [isNumber, isArbitraryVariable, isArbitraryValue]
2998
- }],
2999
- /**
3000
- * Animation
3001
- * @see https://tailwindcss.com/docs/animation
3002
- */
3003
- animate: [{
3004
- animate: ["none", themeAnimate, isArbitraryVariable, isArbitraryValue]
3005
- }],
3006
- // ------------------
3007
- // --- Transforms ---
3008
- // ------------------
3009
- /**
3010
- * Backface Visibility
3011
- * @see https://tailwindcss.com/docs/backface-visibility
3012
- */
3013
- backface: [{
3014
- backface: ["hidden", "visible"]
3015
- }],
3016
- /**
3017
- * Perspective
3018
- * @see https://tailwindcss.com/docs/perspective
3019
- */
3020
- perspective: [{
3021
- perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]
3022
- }],
3023
- /**
3024
- * Perspective Origin
3025
- * @see https://tailwindcss.com/docs/perspective-origin
3026
- */
3027
- "perspective-origin": [{
3028
- "perspective-origin": scaleOrigin()
3029
- }],
3030
- /**
3031
- * Rotate
3032
- * @see https://tailwindcss.com/docs/rotate
3033
- */
3034
- rotate: [{
3035
- rotate: scaleRotate()
3036
- }],
3037
- /**
3038
- * Rotate X
3039
- * @see https://tailwindcss.com/docs/rotate
3040
- */
3041
- "rotate-x": [{
3042
- "rotate-x": scaleRotate()
3043
- }],
3044
- /**
3045
- * Rotate Y
3046
- * @see https://tailwindcss.com/docs/rotate
3047
- */
3048
- "rotate-y": [{
3049
- "rotate-y": scaleRotate()
3050
- }],
3051
- /**
3052
- * Rotate Z
3053
- * @see https://tailwindcss.com/docs/rotate
3054
- */
3055
- "rotate-z": [{
3056
- "rotate-z": scaleRotate()
3057
- }],
3058
- /**
3059
- * Scale
3060
- * @see https://tailwindcss.com/docs/scale
3061
- */
3062
- scale: [{
3063
- scale: scaleScale()
3064
- }],
3065
- /**
3066
- * Scale X
3067
- * @see https://tailwindcss.com/docs/scale
3068
- */
3069
- "scale-x": [{
3070
- "scale-x": scaleScale()
3071
- }],
3072
- /**
3073
- * Scale Y
3074
- * @see https://tailwindcss.com/docs/scale
3075
- */
3076
- "scale-y": [{
3077
- "scale-y": scaleScale()
3078
- }],
3079
- /**
3080
- * Scale Z
3081
- * @see https://tailwindcss.com/docs/scale
3082
- */
3083
- "scale-z": [{
3084
- "scale-z": scaleScale()
3085
- }],
3086
- /**
3087
- * Scale 3D
3088
- * @see https://tailwindcss.com/docs/scale
3089
- */
3090
- "scale-3d": ["scale-3d"],
3091
- /**
3092
- * Skew
3093
- * @see https://tailwindcss.com/docs/skew
3094
- */
3095
- skew: [{
3096
- skew: scaleSkew()
3097
- }],
3098
- /**
3099
- * Skew X
3100
- * @see https://tailwindcss.com/docs/skew
3101
- */
3102
- "skew-x": [{
3103
- "skew-x": scaleSkew()
3104
- }],
3105
- /**
3106
- * Skew Y
3107
- * @see https://tailwindcss.com/docs/skew
3108
- */
3109
- "skew-y": [{
3110
- "skew-y": scaleSkew()
3111
- }],
3112
- /**
3113
- * Transform
3114
- * @see https://tailwindcss.com/docs/transform
3115
- */
3116
- transform: [{
3117
- transform: [isArbitraryVariable, isArbitraryValue, "", "none", "gpu", "cpu"]
3118
- }],
3119
- /**
3120
- * Transform Origin
3121
- * @see https://tailwindcss.com/docs/transform-origin
3122
- */
3123
- "transform-origin": [{
3124
- origin: scaleOrigin()
3125
- }],
3126
- /**
3127
- * Transform Style
3128
- * @see https://tailwindcss.com/docs/transform-style
3129
- */
3130
- "transform-style": [{
3131
- transform: ["3d", "flat"]
3132
- }],
3133
- /**
3134
- * Translate
3135
- * @see https://tailwindcss.com/docs/translate
3136
- */
3137
- translate: [{
3138
- translate: scaleTranslate()
3139
- }],
3140
- /**
3141
- * Translate X
3142
- * @see https://tailwindcss.com/docs/translate
3143
- */
3144
- "translate-x": [{
3145
- "translate-x": scaleTranslate()
3146
- }],
3147
- /**
3148
- * Translate Y
3149
- * @see https://tailwindcss.com/docs/translate
3150
- */
3151
- "translate-y": [{
3152
- "translate-y": scaleTranslate()
3153
- }],
3154
- /**
3155
- * Translate Z
3156
- * @see https://tailwindcss.com/docs/translate
3157
- */
3158
- "translate-z": [{
3159
- "translate-z": scaleTranslate()
3160
- }],
3161
- /**
3162
- * Translate None
3163
- * @see https://tailwindcss.com/docs/translate
3164
- */
3165
- "translate-none": ["translate-none"],
3166
- // ---------------------
3167
- // --- Interactivity ---
3168
- // ---------------------
3169
- /**
3170
- * Accent Color
3171
- * @see https://tailwindcss.com/docs/accent-color
3172
- */
3173
- accent: [{
3174
- accent: scaleColor()
3175
- }],
3176
- /**
3177
- * Appearance
3178
- * @see https://tailwindcss.com/docs/appearance
3179
- */
3180
- appearance: [{
3181
- appearance: ["none", "auto"]
3182
- }],
3183
- /**
3184
- * Caret Color
3185
- * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
3186
- */
3187
- "caret-color": [{
3188
- caret: scaleColor()
3189
- }],
3190
- /**
3191
- * Color Scheme
3192
- * @see https://tailwindcss.com/docs/color-scheme
3193
- */
3194
- "color-scheme": [{
3195
- scheme: ["normal", "dark", "light", "light-dark", "only-dark", "only-light"]
3196
- }],
3197
- /**
3198
- * Cursor
3199
- * @see https://tailwindcss.com/docs/cursor
3200
- */
3201
- cursor: [{
3202
- 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]
3203
- }],
3204
- /**
3205
- * Field Sizing
3206
- * @see https://tailwindcss.com/docs/field-sizing
3207
- */
3208
- "field-sizing": [{
3209
- "field-sizing": ["fixed", "content"]
3210
- }],
3211
- /**
3212
- * Pointer Events
3213
- * @see https://tailwindcss.com/docs/pointer-events
3214
- */
3215
- "pointer-events": [{
3216
- "pointer-events": ["auto", "none"]
3217
- }],
3218
- /**
3219
- * Resize
3220
- * @see https://tailwindcss.com/docs/resize
3221
- */
3222
- resize: [{
3223
- resize: ["none", "", "y", "x"]
3224
- }],
3225
- /**
3226
- * Scroll Behavior
3227
- * @see https://tailwindcss.com/docs/scroll-behavior
3228
- */
3229
- "scroll-behavior": [{
3230
- scroll: ["auto", "smooth"]
3231
- }],
3232
- /**
3233
- * Scroll Margin
3234
- * @see https://tailwindcss.com/docs/scroll-margin
3235
- */
3236
- "scroll-m": [{
3237
- "scroll-m": scaleUnambiguousSpacing()
3238
- }],
3239
- /**
3240
- * Scroll Margin X
3241
- * @see https://tailwindcss.com/docs/scroll-margin
3242
- */
3243
- "scroll-mx": [{
3244
- "scroll-mx": scaleUnambiguousSpacing()
3245
- }],
3246
- /**
3247
- * Scroll Margin Y
3248
- * @see https://tailwindcss.com/docs/scroll-margin
3249
- */
3250
- "scroll-my": [{
3251
- "scroll-my": scaleUnambiguousSpacing()
3252
- }],
3253
- /**
3254
- * Scroll Margin Start
3255
- * @see https://tailwindcss.com/docs/scroll-margin
3256
- */
3257
- "scroll-ms": [{
3258
- "scroll-ms": scaleUnambiguousSpacing()
3259
- }],
3260
- /**
3261
- * Scroll Margin End
3262
- * @see https://tailwindcss.com/docs/scroll-margin
3263
- */
3264
- "scroll-me": [{
3265
- "scroll-me": scaleUnambiguousSpacing()
3266
- }],
3267
- /**
3268
- * Scroll Margin Top
3269
- * @see https://tailwindcss.com/docs/scroll-margin
3270
- */
3271
- "scroll-mt": [{
3272
- "scroll-mt": scaleUnambiguousSpacing()
3273
- }],
3274
- /**
3275
- * Scroll Margin Right
3276
- * @see https://tailwindcss.com/docs/scroll-margin
3277
- */
3278
- "scroll-mr": [{
3279
- "scroll-mr": scaleUnambiguousSpacing()
3280
- }],
3281
- /**
3282
- * Scroll Margin Bottom
3283
- * @see https://tailwindcss.com/docs/scroll-margin
3284
- */
3285
- "scroll-mb": [{
3286
- "scroll-mb": scaleUnambiguousSpacing()
3287
- }],
3288
- /**
3289
- * Scroll Margin Left
3290
- * @see https://tailwindcss.com/docs/scroll-margin
3291
- */
3292
- "scroll-ml": [{
3293
- "scroll-ml": scaleUnambiguousSpacing()
3294
- }],
3295
- /**
3296
- * Scroll Padding
3297
- * @see https://tailwindcss.com/docs/scroll-padding
3298
- */
3299
- "scroll-p": [{
3300
- "scroll-p": scaleUnambiguousSpacing()
3301
- }],
3302
- /**
3303
- * Scroll Padding X
3304
- * @see https://tailwindcss.com/docs/scroll-padding
3305
- */
3306
- "scroll-px": [{
3307
- "scroll-px": scaleUnambiguousSpacing()
3308
- }],
3309
- /**
3310
- * Scroll Padding Y
3311
- * @see https://tailwindcss.com/docs/scroll-padding
3312
- */
3313
- "scroll-py": [{
3314
- "scroll-py": scaleUnambiguousSpacing()
3315
- }],
3316
- /**
3317
- * Scroll Padding Start
3318
- * @see https://tailwindcss.com/docs/scroll-padding
3319
- */
3320
- "scroll-ps": [{
3321
- "scroll-ps": scaleUnambiguousSpacing()
3322
- }],
3323
- /**
3324
- * Scroll Padding End
3325
- * @see https://tailwindcss.com/docs/scroll-padding
3326
- */
3327
- "scroll-pe": [{
3328
- "scroll-pe": scaleUnambiguousSpacing()
3329
- }],
3330
- /**
3331
- * Scroll Padding Top
3332
- * @see https://tailwindcss.com/docs/scroll-padding
3333
- */
3334
- "scroll-pt": [{
3335
- "scroll-pt": scaleUnambiguousSpacing()
3336
- }],
3337
- /**
3338
- * Scroll Padding Right
3339
- * @see https://tailwindcss.com/docs/scroll-padding
3340
- */
3341
- "scroll-pr": [{
3342
- "scroll-pr": scaleUnambiguousSpacing()
3343
- }],
3344
- /**
3345
- * Scroll Padding Bottom
3346
- * @see https://tailwindcss.com/docs/scroll-padding
3347
- */
3348
- "scroll-pb": [{
3349
- "scroll-pb": scaleUnambiguousSpacing()
3350
- }],
3351
- /**
3352
- * Scroll Padding Left
3353
- * @see https://tailwindcss.com/docs/scroll-padding
3354
- */
3355
- "scroll-pl": [{
3356
- "scroll-pl": scaleUnambiguousSpacing()
3357
- }],
3358
- /**
3359
- * Scroll Snap Align
3360
- * @see https://tailwindcss.com/docs/scroll-snap-align
3361
- */
3362
- "snap-align": [{
3363
- snap: ["start", "end", "center", "align-none"]
3364
- }],
3365
- /**
3366
- * Scroll Snap Stop
3367
- * @see https://tailwindcss.com/docs/scroll-snap-stop
3368
- */
3369
- "snap-stop": [{
3370
- snap: ["normal", "always"]
3371
- }],
3372
- /**
3373
- * Scroll Snap Type
3374
- * @see https://tailwindcss.com/docs/scroll-snap-type
3375
- */
3376
- "snap-type": [{
3377
- snap: ["none", "x", "y", "both"]
3378
- }],
3379
- /**
3380
- * Scroll Snap Type Strictness
3381
- * @see https://tailwindcss.com/docs/scroll-snap-type
3382
- */
3383
- "snap-strictness": [{
3384
- snap: ["mandatory", "proximity"]
3385
- }],
3386
- /**
3387
- * Touch Action
3388
- * @see https://tailwindcss.com/docs/touch-action
3389
- */
3390
- touch: [{
3391
- touch: ["auto", "none", "manipulation"]
3392
- }],
3393
- /**
3394
- * Touch Action X
3395
- * @see https://tailwindcss.com/docs/touch-action
3396
- */
3397
- "touch-x": [{
3398
- "touch-pan": ["x", "left", "right"]
3399
- }],
3400
- /**
3401
- * Touch Action Y
3402
- * @see https://tailwindcss.com/docs/touch-action
3403
- */
3404
- "touch-y": [{
3405
- "touch-pan": ["y", "up", "down"]
3406
- }],
3407
- /**
3408
- * Touch Action Pinch Zoom
3409
- * @see https://tailwindcss.com/docs/touch-action
3410
- */
3411
- "touch-pz": ["touch-pinch-zoom"],
3412
- /**
3413
- * User Select
3414
- * @see https://tailwindcss.com/docs/user-select
3415
- */
3416
- select: [{
3417
- select: ["none", "text", "all", "auto"]
3418
- }],
3419
- /**
3420
- * Will Change
3421
- * @see https://tailwindcss.com/docs/will-change
3422
- */
3423
- "will-change": [{
3424
- "will-change": ["auto", "scroll", "contents", "transform", isArbitraryVariable, isArbitraryValue]
3425
- }],
3426
- // -----------
3427
- // --- SVG ---
3428
- // -----------
3429
- /**
3430
- * Fill
3431
- * @see https://tailwindcss.com/docs/fill
3432
- */
3433
- fill: [{
3434
- fill: ["none", ...scaleColor()]
3435
- }],
3436
- /**
3437
- * Stroke Width
3438
- * @see https://tailwindcss.com/docs/stroke-width
3439
- */
3440
- "stroke-w": [{
3441
- stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]
3442
- }],
3443
- /**
3444
- * Stroke
3445
- * @see https://tailwindcss.com/docs/stroke
3446
- */
3447
- stroke: [{
3448
- stroke: ["none", ...scaleColor()]
3449
- }],
3450
- // ---------------------
3451
- // --- Accessibility ---
3452
- // ---------------------
3453
- /**
3454
- * Forced Color Adjust
3455
- * @see https://tailwindcss.com/docs/forced-color-adjust
3456
- */
3457
- "forced-color-adjust": [{
3458
- "forced-color-adjust": ["auto", "none"]
3459
- }]
3460
- },
3461
- conflictingClassGroups: {
3462
- overflow: ["overflow-x", "overflow-y"],
3463
- overscroll: ["overscroll-x", "overscroll-y"],
3464
- inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
3465
- "inset-x": ["right", "left"],
3466
- "inset-y": ["top", "bottom"],
3467
- flex: ["basis", "grow", "shrink"],
3468
- gap: ["gap-x", "gap-y"],
3469
- p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
3470
- px: ["pr", "pl"],
3471
- py: ["pt", "pb"],
3472
- m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
3473
- mx: ["mr", "ml"],
3474
- my: ["mt", "mb"],
3475
- size: ["w", "h"],
3476
- "font-size": ["leading"],
3477
- "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
3478
- "fvn-ordinal": ["fvn-normal"],
3479
- "fvn-slashed-zero": ["fvn-normal"],
3480
- "fvn-figure": ["fvn-normal"],
3481
- "fvn-spacing": ["fvn-normal"],
3482
- "fvn-fraction": ["fvn-normal"],
3483
- "line-clamp": ["display", "overflow"],
3484
- 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"],
3485
- "rounded-s": ["rounded-ss", "rounded-es"],
3486
- "rounded-e": ["rounded-se", "rounded-ee"],
3487
- "rounded-t": ["rounded-tl", "rounded-tr"],
3488
- "rounded-r": ["rounded-tr", "rounded-br"],
3489
- "rounded-b": ["rounded-br", "rounded-bl"],
3490
- "rounded-l": ["rounded-tl", "rounded-bl"],
3491
- "border-spacing": ["border-spacing-x", "border-spacing-y"],
3492
- "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
3493
- "border-w-x": ["border-w-r", "border-w-l"],
3494
- "border-w-y": ["border-w-t", "border-w-b"],
3495
- "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
3496
- "border-color-x": ["border-color-r", "border-color-l"],
3497
- "border-color-y": ["border-color-t", "border-color-b"],
3498
- translate: ["translate-x", "translate-y", "translate-none"],
3499
- "translate-none": ["translate", "translate-x", "translate-y", "translate-z"],
3500
- "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
3501
- "scroll-mx": ["scroll-mr", "scroll-ml"],
3502
- "scroll-my": ["scroll-mt", "scroll-mb"],
3503
- "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
3504
- "scroll-px": ["scroll-pr", "scroll-pl"],
3505
- "scroll-py": ["scroll-pt", "scroll-pb"],
3506
- touch: ["touch-x", "touch-y", "touch-pz"],
3507
- "touch-x": ["touch"],
3508
- "touch-y": ["touch"],
3509
- "touch-pz": ["touch"]
3510
- },
3511
- conflictingClassGroupModifiers: {
3512
- "font-size": ["leading"]
3513
- },
3514
- orderSensitiveModifiers: ["before", "after", "placeholder", "file", "marker", "selection", "first-line", "first-letter", "backdrop", "*", "**"]
3515
- };
3516
- };
3517
- const twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
3518
828
  function cn(...inputs) {
3519
829
  return twMerge(clsx(inputs));
3520
830
  }
@@ -3740,7 +1050,7 @@ function updateModelSchemaNames(params) {
3740
1050
  }
3741
1051
  }
3742
1052
  function handleModelNameChange(params) {
3743
- const { oldName, newName, globalStateSchema, setStateSchema: setStateSchema2 } = params;
1053
+ const { newName, globalStateSchema, setStateSchema: setStateSchema2 } = params;
3744
1054
  const hasExistingSchema = !!globalStateSchema;
3745
1055
  if (!hasExistingSchema) {
3746
1056
  initializeModelSchema({ modelName: newName, setStateSchema: setStateSchema2 });
@@ -4548,10 +1858,10 @@ function requireIsEmail() {
4548
1858
  })(isEmail, isEmail.exports);
4549
1859
  return isEmail.exports;
4550
1860
  }
4551
- var isURL$1 = { exports: {} };
1861
+ var isURL = { exports: {} };
4552
1862
  var hasRequiredIsURL;
4553
1863
  function requireIsURL() {
4554
- if (hasRequiredIsURL) return isURL$1.exports;
1864
+ if (hasRequiredIsURL) return isURL.exports;
4555
1865
  hasRequiredIsURL = 1;
4556
1866
  (function(module, exports) {
4557
1867
  Object.defineProperty(exports, "__esModule", {
@@ -4736,8 +2046,8 @@ function requireIsURL() {
4736
2046
  }
4737
2047
  module.exports = exports.default;
4738
2048
  module.exports.default = exports.default;
4739
- })(isURL$1, isURL$1.exports);
4740
- return isURL$1.exports;
2049
+ })(isURL, isURL.exports);
2050
+ return isURL.exports;
4741
2051
  }
4742
2052
  var isMACAddress = { exports: {} };
4743
2053
  var hasRequiredIsMACAddress;
@@ -14569,13 +11879,13 @@ function scrollRectIntoView(dom, rect, side, x, y, xMargin, yMargin, ltr) {
14569
11879
  let moveX = 0, moveY = 0;
14570
11880
  if (y == "nearest") {
14571
11881
  if (rect.top < bounding.top) {
14572
- moveY = -(bounding.top - rect.top + yMargin);
11882
+ moveY = rect.top - (bounding.top + yMargin);
14573
11883
  if (side > 0 && rect.bottom > bounding.bottom + moveY)
14574
- moveY = rect.bottom - bounding.bottom + moveY + yMargin;
11884
+ moveY = rect.bottom - bounding.bottom + yMargin;
14575
11885
  } else if (rect.bottom > bounding.bottom) {
14576
11886
  moveY = rect.bottom - bounding.bottom + yMargin;
14577
11887
  if (side < 0 && rect.top - moveY < bounding.top)
14578
- moveY = -(bounding.top + moveY - rect.top + yMargin);
11888
+ moveY = rect.top - (bounding.top + yMargin);
14579
11889
  }
14580
11890
  } else {
14581
11891
  let rectHeight = rect.bottom - rect.top, boundingHeight = bounding.bottom - bounding.top;
@@ -14584,13 +11894,13 @@ function scrollRectIntoView(dom, rect, side, x, y, xMargin, yMargin, ltr) {
14584
11894
  }
14585
11895
  if (x == "nearest") {
14586
11896
  if (rect.left < bounding.left) {
14587
- moveX = -(bounding.left - rect.left + xMargin);
11897
+ moveX = rect.left - (bounding.left + xMargin);
14588
11898
  if (side > 0 && rect.right > bounding.right + moveX)
14589
- moveX = rect.right - bounding.right + moveX + xMargin;
11899
+ moveX = rect.right - bounding.right + xMargin;
14590
11900
  } else if (rect.right > bounding.right) {
14591
11901
  moveX = rect.right - bounding.right + xMargin;
14592
11902
  if (side < 0 && rect.left < bounding.left + moveX)
14593
- moveX = -(bounding.left + moveX - rect.left + xMargin);
11903
+ moveX = rect.left - (bounding.left + xMargin);
14594
11904
  }
14595
11905
  } else {
14596
11906
  let targetLeft = x == "center" ? rect.left + (rect.right - rect.left) / 2 - (bounding.right - bounding.left) / 2 : x == "start" == ltr ? rect.left - xMargin : rect.right - (bounding.right - bounding.left) + xMargin;
@@ -14625,6 +11935,13 @@ function scrollRectIntoView(dom, rect, side, x, y, xMargin, yMargin, ltr) {
14625
11935
  }
14626
11936
  if (top2)
14627
11937
  break;
11938
+ if (rect.top < bounding.top || rect.bottom > bounding.bottom || rect.left < bounding.left || rect.right > bounding.right)
11939
+ rect = {
11940
+ left: Math.max(rect.left, bounding.left),
11941
+ right: Math.min(rect.right, bounding.right),
11942
+ top: Math.max(rect.top, bounding.top),
11943
+ bottom: Math.min(rect.bottom, bounding.bottom)
11944
+ };
14628
11945
  cur2 = cur2.assignedSlot || cur2.parentNode;
14629
11946
  } else if (cur2.nodeType == 11) {
14630
11947
  cur2 = cur2.host;
@@ -18229,7 +15546,10 @@ class InputState {
18229
15546
  return;
18230
15547
  if (event.type == "keydown" && this.keydown(event))
18231
15548
  return;
18232
- this.runHandlers(event.type, event);
15549
+ if (this.view.updateState != 0)
15550
+ Promise.resolve().then(() => this.runHandlers(event.type, event));
15551
+ else
15552
+ this.runHandlers(event.type, event);
18233
15553
  }
18234
15554
  runHandlers(type2, event) {
18235
15555
  let handlers2 = this.handlers[type2];
@@ -21121,8 +18441,8 @@ class EditContextManager {
21121
18441
  return !abort;
21122
18442
  }
21123
18443
  update(update) {
21124
- let reverted = this.pendingContextChange;
21125
- if (this.composing && (this.composing.drifted || update.transactions.some((tr) => !tr.isUserEvent("input.type") && tr.changes.touchesRange(this.from, this.to)))) {
18444
+ let reverted = this.pendingContextChange, startSel = update.startState.selection.main;
18445
+ if (this.composing && (this.composing.drifted || !update.changes.touchesRange(startSel.from, startSel.to) && update.transactions.some((tr) => !tr.isUserEvent("input.type") && tr.changes.touchesRange(this.from, this.to)))) {
21126
18446
  this.composing.drifted = true;
21127
18447
  this.composing.editorBase = update.changes.mapPos(this.composing.editorBase);
21128
18448
  } else if (!this.applyEdits(update) || !this.rangeIsValid(update.state)) {
@@ -23199,8 +20519,8 @@ class TooltipViewManager {
23199
20519
  }
23200
20520
  }
23201
20521
  function windowSpace(view) {
23202
- let { win } = view;
23203
- return { top: 0, left: 0, bottom: win.innerHeight, right: win.innerWidth };
20522
+ let docElt = view.dom.ownerDocument.documentElement;
20523
+ return { top: 0, left: 0, bottom: docElt.clientHeight, right: docElt.clientWidth };
23204
20524
  }
23205
20525
  const tooltipConfig = /* @__PURE__ */ Facet.define({
23206
20526
  combine: (values2) => {
@@ -27950,15 +25270,11 @@ function validateWithCustomRules(schema2, ast2, customRules, isRelayCompatMode,
27950
25270
  });
27951
25271
  const SEVERITY$1 = {
27952
25272
  Error: "Error",
27953
- Warning: "Warning",
27954
- Information: "Information",
27955
- Hint: "Hint"
25273
+ Warning: "Warning"
27956
25274
  };
27957
25275
  const DIAGNOSTIC_SEVERITY = {
27958
25276
  [SEVERITY$1.Error]: 1,
27959
- [SEVERITY$1.Warning]: 2,
27960
- [SEVERITY$1.Information]: 3,
27961
- [SEVERITY$1.Hint]: 4
25277
+ [SEVERITY$1.Warning]: 2
27962
25278
  };
27963
25279
  const invariant$1 = (condition, message) => {
27964
25280
  if (!condition) {
@@ -27973,7 +25289,7 @@ function getDiagnostics(query, schema2 = null, customRules, isRelayCompatMode, e
27973
25289
  ast2 = parse(enhancedQuery);
27974
25290
  } catch (error) {
27975
25291
  if (error instanceof GraphQLError$1) {
27976
- const range = getRange((_b = (_a2 = error.locations) === null || _a2 === void 0 ? void 0 : _a2[0]) !== null && _b !== void 0 ? _b : { line: 0, column: 0 }, enhancedQuery);
25292
+ const range = getRange((_b = (_a2 = error.locations) === null || _a2 === void 0 ? void 0 : _a2[0]) !== null && _b !== void 0 ? _b : { line: 0 }, enhancedQuery);
27977
25293
  return [
27978
25294
  {
27979
25295
  severity: DIAGNOSTIC_SEVERITY.Error,
@@ -28046,6 +25362,7 @@ function getLocation(node) {
28046
25362
  invariant$1(location2, "Expected ASTNode to have a location.");
28047
25363
  return location2;
28048
25364
  }
25365
+ const { INLINE_FRAGMENT } = Kind;
28049
25366
  const DefaultBufferLength = 1024;
28050
25367
  let nextPropID = 0;
28051
25368
  class Range3 {
@@ -33578,8 +30895,7 @@ function createTokenType(extra, tagStr) {
33578
30895
  }
33579
30896
  ({
33580
30897
  rtl: /* @__PURE__ */ Decoration.mark({ class: "cm-iso", inclusive: true, attributes: { dir: "rtl" }, bidiIsolate: Direction.RTL }),
33581
- ltr: /* @__PURE__ */ Decoration.mark({ class: "cm-iso", inclusive: true, attributes: { dir: "ltr" }, bidiIsolate: Direction.LTR }),
33582
- auto: /* @__PURE__ */ Decoration.mark({ class: "cm-iso", inclusive: true, attributes: { dir: "auto" }, bidiIsolate: null })
30898
+ ltr: /* @__PURE__ */ Decoration.mark({ class: "cm-iso", inclusive: true, attributes: { dir: "ltr" }, bidiIsolate: Direction.LTR })
33583
30899
  });
33584
30900
  function posToOffset(doc2, pos) {
33585
30901
  return doc2.line(pos.line + 1).from + pos.character;
@@ -34811,7 +32127,17 @@ createTheme({
34811
32127
  }
34812
32128
  ]
34813
32129
  });
34814
- function isURL(str) {
32130
+ const URL_REGEXP = /^(https?|wss?|file):\/\//;
32131
+ function isUrl(str) {
32132
+ if (typeof str !== "string") {
32133
+ return false;
32134
+ }
32135
+ if (!URL_REGEXP.test(str)) {
32136
+ return false;
32137
+ }
32138
+ if (URL.canParse) {
32139
+ return URL.canParse(str);
32140
+ }
34815
32141
  try {
34816
32142
  const url = new URL(str);
34817
32143
  return !!url;
@@ -34825,7 +32151,7 @@ function isDocumentString(str) {
34825
32151
  if (typeof str !== "string") {
34826
32152
  return false;
34827
32153
  }
34828
- if (invalidDocRegex.test(str) || isURL(str)) {
32154
+ if (invalidDocRegex.test(str) || isUrl(str)) {
34829
32155
  return false;
34830
32156
  }
34831
32157
  try {
@@ -38556,7 +35882,15 @@ function createLineDialog(view) {
38556
35882
  event.preventDefault();
38557
35883
  go();
38558
35884
  }
38559
- }, crelt("label", view.state.phrase("Go to line"), ": ", input), " ", crelt("button", { class: "cm-button", type: "submit" }, view.state.phrase("go")));
35885
+ }, crelt("label", view.state.phrase("Go to line"), ": ", input), " ", crelt("button", { class: "cm-button", type: "submit" }, view.state.phrase("go")), crelt("button", {
35886
+ name: "close",
35887
+ onclick: () => {
35888
+ view.dispatch({ effects: dialogEffect.of(false) });
35889
+ view.focus();
35890
+ },
35891
+ "aria-label": view.state.phrase("close"),
35892
+ type: "button"
35893
+ }, ["×"]));
38560
35894
  function go() {
38561
35895
  let match = /^([+-])?(\d+)?(:\d+)?(%)?$/.exec(input.value);
38562
35896
  if (!match)
@@ -38612,7 +35946,18 @@ const gotoLine = (view) => {
38612
35946
  const baseTheme$1 = /* @__PURE__ */ EditorView.baseTheme({
38613
35947
  ".cm-panel.cm-gotoLine": {
38614
35948
  padding: "2px 6px 4px",
38615
- "& label": { fontSize: "80%" }
35949
+ position: "relative",
35950
+ "& label": { fontSize: "80%" },
35951
+ "& [name=close]": {
35952
+ position: "absolute",
35953
+ top: "0",
35954
+ bottom: "0",
35955
+ right: "4px",
35956
+ backgroundColor: "inherit",
35957
+ border: "none",
35958
+ font: "inherit",
35959
+ padding: "0"
35960
+ }
38616
35961
  }
38617
35962
  });
38618
35963
  const defaultHighlightOptions = {
@@ -38915,7 +36260,18 @@ class RegExpQuery extends QueryType {
38915
36260
  return this.prevMatchInRange(state, 0, curFrom) || this.prevMatchInRange(state, curTo, state.doc.length);
38916
36261
  }
38917
36262
  getReplacement(result) {
38918
- return this.spec.unquote(this.spec.replace).replace(/\$([$&\d+])/g, (m, i) => i == "$" ? "$" : i == "&" ? result.match[0] : i != "0" && +i < result.match.length ? result.match[i] : m);
36263
+ return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g, (m, i) => {
36264
+ if (i == "&")
36265
+ return result.match[0];
36266
+ if (i == "$")
36267
+ return "$";
36268
+ for (let l = i.length; l > 0; l--) {
36269
+ let n2 = +i.slice(0, l);
36270
+ if (n2 > 0 && n2 < result.match.length)
36271
+ return result.match[n2] + i.slice(l);
36272
+ }
36273
+ return m;
36274
+ });
38919
36275
  }
38920
36276
  matchAll(state, limit) {
38921
36277
  let cursor = regexpCursor(this.spec, state, 0, state.doc.length), ranges = [];