@daisychainapp/maily-to-core 0.2.12 → 0.3.5

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.
@@ -177,7 +177,7 @@ var HorizontalRule = import_extension_horizontal_rule.HorizontalRule.extend({
177
177
  addOptions() {
178
178
  return {
179
179
  HTMLAttributes: {
180
- class: "mly-relative"
180
+ class: "mly:relative"
181
181
  }
182
182
  };
183
183
  }
@@ -364,7 +364,7 @@ var Footer = import_core3.Node.create({
364
364
  return [
365
365
  "small",
366
366
  (0, import_core3.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes2, {
367
- class: "footer mly-block mly-text-[13px] mly-text-slate-500 mly-relative"
367
+ class: "footer mly:block mly:text-[13px] mly:text-slate-500 mly:relative"
368
368
  }),
369
369
  0
370
370
  ];
@@ -672,25 +672,25 @@ var SectionExtension = import_core4.Node.create({
672
672
  border: 0,
673
673
  cellpadding: 0,
674
674
  cellspacing: 0,
675
- class: "mly-w-full mly-border-separate mly-relative mly-table-fixed",
675
+ class: "mly:w-full mly:border-separate mly:relative mly:table-fixed",
676
676
  style: `margin-top: ${marginTop}px; margin-right: ${marginRight}px; margin-bottom: ${marginBottom}px; margin-left: ${marginLeft}px;`
677
677
  },
678
678
  [
679
679
  "tbody",
680
680
  {
681
- class: "mly-w-full"
681
+ class: "mly:w-full"
682
682
  },
683
683
  [
684
684
  "tr",
685
685
  {
686
- class: "mly-w-full"
686
+ class: "mly:w-full"
687
687
  },
688
688
  [
689
689
  "td",
690
690
  (0, import_core4.mergeAttributes)(HTMLAttributes2, {
691
691
  "data-type": "section-cell",
692
692
  style: "border-style: solid",
693
- class: "mly-w-full [text-align:revert-layer]"
693
+ class: "mly:w-full mly:[text-align:revert-layer]"
694
694
  }),
695
695
  0
696
696
  ]
@@ -773,7 +773,7 @@ var Spacer = import_core5.Node.create({
773
773
  this.options.HTMLAttributes,
774
774
  HTMLAttributes2,
775
775
  {
776
- class: "spacer mly-relative mly-full mly-z-50",
776
+ class: "spacer mly:relative mly:full mly:z-50",
777
777
  contenteditable: false,
778
778
  style: `height: ${height}px;--spacer-height: ${height}px;`
779
779
  }
@@ -797,9 +797,3010 @@ var React = __toESM(require("react"), 1);
797
797
 
798
798
  // src/editor/utils/classname.ts
799
799
  var import_clsx = require("clsx");
800
- var import_tailwind_merge = require("tailwind-merge");
801
- var twMerge = (0, import_tailwind_merge.extendTailwindMerge)({
802
- prefix: "mly-"
800
+
801
+ // ../../node_modules/.pnpm/tailwind-merge@3.3.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs
802
+ var CLASS_PART_SEPARATOR = "-";
803
+ var createClassGroupUtils = (config) => {
804
+ const classMap = createClassMap(config);
805
+ const {
806
+ conflictingClassGroups,
807
+ conflictingClassGroupModifiers
808
+ } = config;
809
+ const getClassGroupId = (className) => {
810
+ const classParts = className.split(CLASS_PART_SEPARATOR);
811
+ if (classParts[0] === "" && classParts.length !== 1) {
812
+ classParts.shift();
813
+ }
814
+ return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
815
+ };
816
+ const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {
817
+ const conflicts = conflictingClassGroups[classGroupId] || [];
818
+ if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
819
+ return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];
820
+ }
821
+ return conflicts;
822
+ };
823
+ return {
824
+ getClassGroupId,
825
+ getConflictingClassGroupIds
826
+ };
827
+ };
828
+ var getGroupRecursive = (classParts, classPartObject) => {
829
+ var _a;
830
+ if (classParts.length === 0) {
831
+ return classPartObject.classGroupId;
832
+ }
833
+ const currentClassPart = classParts[0];
834
+ const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
835
+ const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : void 0;
836
+ if (classGroupFromNextClassPart) {
837
+ return classGroupFromNextClassPart;
838
+ }
839
+ if (classPartObject.validators.length === 0) {
840
+ return void 0;
841
+ }
842
+ const classRest = classParts.join(CLASS_PART_SEPARATOR);
843
+ return (_a = classPartObject.validators.find(({
844
+ validator
845
+ }) => validator(classRest))) == null ? void 0 : _a.classGroupId;
846
+ };
847
+ var arbitraryPropertyRegex = /^\[(.+)\]$/;
848
+ var getGroupIdForArbitraryProperty = (className) => {
849
+ if (arbitraryPropertyRegex.test(className)) {
850
+ const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
851
+ const property = arbitraryPropertyClassName == null ? void 0 : arbitraryPropertyClassName.substring(0, arbitraryPropertyClassName.indexOf(":"));
852
+ if (property) {
853
+ return "arbitrary.." + property;
854
+ }
855
+ }
856
+ };
857
+ var createClassMap = (config) => {
858
+ const {
859
+ theme,
860
+ classGroups
861
+ } = config;
862
+ const classMap = {
863
+ nextPart: /* @__PURE__ */ new Map(),
864
+ validators: []
865
+ };
866
+ for (const classGroupId in classGroups) {
867
+ processClassesRecursively(classGroups[classGroupId], classMap, classGroupId, theme);
868
+ }
869
+ return classMap;
870
+ };
871
+ var processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {
872
+ classGroup.forEach((classDefinition) => {
873
+ if (typeof classDefinition === "string") {
874
+ const classPartObjectToEdit = classDefinition === "" ? classPartObject : getPart(classPartObject, classDefinition);
875
+ classPartObjectToEdit.classGroupId = classGroupId;
876
+ return;
877
+ }
878
+ if (typeof classDefinition === "function") {
879
+ if (isThemeGetter(classDefinition)) {
880
+ processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
881
+ return;
882
+ }
883
+ classPartObject.validators.push({
884
+ validator: classDefinition,
885
+ classGroupId
886
+ });
887
+ return;
888
+ }
889
+ Object.entries(classDefinition).forEach(([key, classGroup2]) => {
890
+ processClassesRecursively(classGroup2, getPart(classPartObject, key), classGroupId, theme);
891
+ });
892
+ });
893
+ };
894
+ var getPart = (classPartObject, path) => {
895
+ let currentClassPartObject = classPartObject;
896
+ path.split(CLASS_PART_SEPARATOR).forEach((pathPart) => {
897
+ if (!currentClassPartObject.nextPart.has(pathPart)) {
898
+ currentClassPartObject.nextPart.set(pathPart, {
899
+ nextPart: /* @__PURE__ */ new Map(),
900
+ validators: []
901
+ });
902
+ }
903
+ currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
904
+ });
905
+ return currentClassPartObject;
906
+ };
907
+ var isThemeGetter = (func) => func.isThemeGetter;
908
+ var createLruCache = (maxCacheSize) => {
909
+ if (maxCacheSize < 1) {
910
+ return {
911
+ get: () => void 0,
912
+ set: () => {
913
+ }
914
+ };
915
+ }
916
+ let cacheSize = 0;
917
+ let cache = /* @__PURE__ */ new Map();
918
+ let previousCache = /* @__PURE__ */ new Map();
919
+ const update = (key, value) => {
920
+ cache.set(key, value);
921
+ cacheSize++;
922
+ if (cacheSize > maxCacheSize) {
923
+ cacheSize = 0;
924
+ previousCache = cache;
925
+ cache = /* @__PURE__ */ new Map();
926
+ }
927
+ };
928
+ return {
929
+ get(key) {
930
+ let value = cache.get(key);
931
+ if (value !== void 0) {
932
+ return value;
933
+ }
934
+ if ((value = previousCache.get(key)) !== void 0) {
935
+ update(key, value);
936
+ return value;
937
+ }
938
+ },
939
+ set(key, value) {
940
+ if (cache.has(key)) {
941
+ cache.set(key, value);
942
+ } else {
943
+ update(key, value);
944
+ }
945
+ }
946
+ };
947
+ };
948
+ var IMPORTANT_MODIFIER = "!";
949
+ var MODIFIER_SEPARATOR = ":";
950
+ var MODIFIER_SEPARATOR_LENGTH = MODIFIER_SEPARATOR.length;
951
+ var createParseClassName = (config) => {
952
+ const {
953
+ prefix,
954
+ experimentalParseClassName
955
+ } = config;
956
+ let parseClassName = (className) => {
957
+ const modifiers = [];
958
+ let bracketDepth = 0;
959
+ let parenDepth = 0;
960
+ let modifierStart = 0;
961
+ let postfixModifierPosition;
962
+ for (let index = 0; index < className.length; index++) {
963
+ let currentCharacter = className[index];
964
+ if (bracketDepth === 0 && parenDepth === 0) {
965
+ if (currentCharacter === MODIFIER_SEPARATOR) {
966
+ modifiers.push(className.slice(modifierStart, index));
967
+ modifierStart = index + MODIFIER_SEPARATOR_LENGTH;
968
+ continue;
969
+ }
970
+ if (currentCharacter === "/") {
971
+ postfixModifierPosition = index;
972
+ continue;
973
+ }
974
+ }
975
+ if (currentCharacter === "[") {
976
+ bracketDepth++;
977
+ } else if (currentCharacter === "]") {
978
+ bracketDepth--;
979
+ } else if (currentCharacter === "(") {
980
+ parenDepth++;
981
+ } else if (currentCharacter === ")") {
982
+ parenDepth--;
983
+ }
984
+ }
985
+ const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);
986
+ const baseClassName = stripImportantModifier(baseClassNameWithImportantModifier);
987
+ const hasImportantModifier = baseClassName !== baseClassNameWithImportantModifier;
988
+ const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : void 0;
989
+ return {
990
+ modifiers,
991
+ hasImportantModifier,
992
+ baseClassName,
993
+ maybePostfixModifierPosition
994
+ };
995
+ };
996
+ if (prefix) {
997
+ const fullPrefix = prefix + MODIFIER_SEPARATOR;
998
+ const parseClassNameOriginal = parseClassName;
999
+ parseClassName = (className) => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.substring(fullPrefix.length)) : {
1000
+ isExternal: true,
1001
+ modifiers: [],
1002
+ hasImportantModifier: false,
1003
+ baseClassName: className,
1004
+ maybePostfixModifierPosition: void 0
1005
+ };
1006
+ }
1007
+ if (experimentalParseClassName) {
1008
+ const parseClassNameOriginal = parseClassName;
1009
+ parseClassName = (className) => experimentalParseClassName({
1010
+ className,
1011
+ parseClassName: parseClassNameOriginal
1012
+ });
1013
+ }
1014
+ return parseClassName;
1015
+ };
1016
+ var stripImportantModifier = (baseClassName) => {
1017
+ if (baseClassName.endsWith(IMPORTANT_MODIFIER)) {
1018
+ return baseClassName.substring(0, baseClassName.length - 1);
1019
+ }
1020
+ if (baseClassName.startsWith(IMPORTANT_MODIFIER)) {
1021
+ return baseClassName.substring(1);
1022
+ }
1023
+ return baseClassName;
1024
+ };
1025
+ var createSortModifiers = (config) => {
1026
+ const orderSensitiveModifiers = Object.fromEntries(config.orderSensitiveModifiers.map((modifier) => [modifier, true]));
1027
+ const sortModifiers = (modifiers) => {
1028
+ if (modifiers.length <= 1) {
1029
+ return modifiers;
1030
+ }
1031
+ const sortedModifiers = [];
1032
+ let unsortedModifiers = [];
1033
+ modifiers.forEach((modifier) => {
1034
+ const isPositionSensitive = modifier[0] === "[" || orderSensitiveModifiers[modifier];
1035
+ if (isPositionSensitive) {
1036
+ sortedModifiers.push(...unsortedModifiers.sort(), modifier);
1037
+ unsortedModifiers = [];
1038
+ } else {
1039
+ unsortedModifiers.push(modifier);
1040
+ }
1041
+ });
1042
+ sortedModifiers.push(...unsortedModifiers.sort());
1043
+ return sortedModifiers;
1044
+ };
1045
+ return sortModifiers;
1046
+ };
1047
+ var createConfigUtils = (config) => __spreadValues({
1048
+ cache: createLruCache(config.cacheSize),
1049
+ parseClassName: createParseClassName(config),
1050
+ sortModifiers: createSortModifiers(config)
1051
+ }, createClassGroupUtils(config));
1052
+ var SPLIT_CLASSES_REGEX = /\s+/;
1053
+ var mergeClassList = (classList, configUtils) => {
1054
+ const {
1055
+ parseClassName,
1056
+ getClassGroupId,
1057
+ getConflictingClassGroupIds,
1058
+ sortModifiers
1059
+ } = configUtils;
1060
+ const classGroupsInConflict = [];
1061
+ const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
1062
+ let result = "";
1063
+ for (let index = classNames.length - 1; index >= 0; index -= 1) {
1064
+ const originalClassName = classNames[index];
1065
+ const {
1066
+ isExternal,
1067
+ modifiers,
1068
+ hasImportantModifier,
1069
+ baseClassName,
1070
+ maybePostfixModifierPosition
1071
+ } = parseClassName(originalClassName);
1072
+ if (isExternal) {
1073
+ result = originalClassName + (result.length > 0 ? " " + result : result);
1074
+ continue;
1075
+ }
1076
+ let hasPostfixModifier = !!maybePostfixModifierPosition;
1077
+ let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
1078
+ if (!classGroupId) {
1079
+ if (!hasPostfixModifier) {
1080
+ result = originalClassName + (result.length > 0 ? " " + result : result);
1081
+ continue;
1082
+ }
1083
+ classGroupId = getClassGroupId(baseClassName);
1084
+ if (!classGroupId) {
1085
+ result = originalClassName + (result.length > 0 ? " " + result : result);
1086
+ continue;
1087
+ }
1088
+ hasPostfixModifier = false;
1089
+ }
1090
+ const variantModifier = sortModifiers(modifiers).join(":");
1091
+ const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
1092
+ const classId = modifierId + classGroupId;
1093
+ if (classGroupsInConflict.includes(classId)) {
1094
+ continue;
1095
+ }
1096
+ classGroupsInConflict.push(classId);
1097
+ const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
1098
+ for (let i = 0; i < conflictGroups.length; ++i) {
1099
+ const group = conflictGroups[i];
1100
+ classGroupsInConflict.push(modifierId + group);
1101
+ }
1102
+ result = originalClassName + (result.length > 0 ? " " + result : result);
1103
+ }
1104
+ return result;
1105
+ };
1106
+ function twJoin() {
1107
+ let index = 0;
1108
+ let argument;
1109
+ let resolvedValue;
1110
+ let string = "";
1111
+ while (index < arguments.length) {
1112
+ if (argument = arguments[index++]) {
1113
+ if (resolvedValue = toValue(argument)) {
1114
+ string && (string += " ");
1115
+ string += resolvedValue;
1116
+ }
1117
+ }
1118
+ }
1119
+ return string;
1120
+ }
1121
+ var toValue = (mix) => {
1122
+ if (typeof mix === "string") {
1123
+ return mix;
1124
+ }
1125
+ let resolvedValue;
1126
+ let string = "";
1127
+ for (let k = 0; k < mix.length; k++) {
1128
+ if (mix[k]) {
1129
+ if (resolvedValue = toValue(mix[k])) {
1130
+ string && (string += " ");
1131
+ string += resolvedValue;
1132
+ }
1133
+ }
1134
+ }
1135
+ return string;
1136
+ };
1137
+ function createTailwindMerge(createConfigFirst, ...createConfigRest) {
1138
+ let configUtils;
1139
+ let cacheGet;
1140
+ let cacheSet;
1141
+ let functionToCall = initTailwindMerge;
1142
+ function initTailwindMerge(classList) {
1143
+ const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
1144
+ configUtils = createConfigUtils(config);
1145
+ cacheGet = configUtils.cache.get;
1146
+ cacheSet = configUtils.cache.set;
1147
+ functionToCall = tailwindMerge;
1148
+ return tailwindMerge(classList);
1149
+ }
1150
+ function tailwindMerge(classList) {
1151
+ const cachedResult = cacheGet(classList);
1152
+ if (cachedResult) {
1153
+ return cachedResult;
1154
+ }
1155
+ const result = mergeClassList(classList, configUtils);
1156
+ cacheSet(classList, result);
1157
+ return result;
1158
+ }
1159
+ return function callTailwindMerge() {
1160
+ return functionToCall(twJoin.apply(null, arguments));
1161
+ };
1162
+ }
1163
+ var fromTheme = (key) => {
1164
+ const themeGetter = (theme) => theme[key] || [];
1165
+ themeGetter.isThemeGetter = true;
1166
+ return themeGetter;
1167
+ };
1168
+ var arbitraryValueRegex = /^\[(?:(\w[\w-]*):)?(.+)\]$/i;
1169
+ var arbitraryVariableRegex = /^\((?:(\w[\w-]*):)?(.+)\)$/i;
1170
+ var fractionRegex = /^\d+\/\d+$/;
1171
+ var tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
1172
+ var lengthUnitRegex = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/;
1173
+ var colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/;
1174
+ var shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
1175
+ var imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
1176
+ var isFraction = (value) => fractionRegex.test(value);
1177
+ var isNumber = (value) => !!value && !Number.isNaN(Number(value));
1178
+ var isInteger = (value) => !!value && Number.isInteger(Number(value));
1179
+ var isPercent = (value) => value.endsWith("%") && isNumber(value.slice(0, -1));
1180
+ var isTshirtSize = (value) => tshirtUnitRegex.test(value);
1181
+ var isAny = () => true;
1182
+ var isLengthOnly = (value) => (
1183
+ // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
1184
+ // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
1185
+ // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
1186
+ lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)
1187
+ );
1188
+ var isNever = () => false;
1189
+ var isShadow = (value) => shadowRegex.test(value);
1190
+ var isImage = (value) => imageRegex.test(value);
1191
+ var isAnyNonArbitrary = (value) => !isArbitraryValue(value) && !isArbitraryVariable(value);
1192
+ var isArbitrarySize = (value) => getIsArbitraryValue(value, isLabelSize, isNever);
1193
+ var isArbitraryValue = (value) => arbitraryValueRegex.test(value);
1194
+ var isArbitraryLength = (value) => getIsArbitraryValue(value, isLabelLength, isLengthOnly);
1195
+ var isArbitraryNumber = (value) => getIsArbitraryValue(value, isLabelNumber, isNumber);
1196
+ var isArbitraryPosition = (value) => getIsArbitraryValue(value, isLabelPosition, isNever);
1197
+ var isArbitraryImage = (value) => getIsArbitraryValue(value, isLabelImage, isImage);
1198
+ var isArbitraryShadow = (value) => getIsArbitraryValue(value, isLabelShadow, isShadow);
1199
+ var isArbitraryVariable = (value) => arbitraryVariableRegex.test(value);
1200
+ var isArbitraryVariableLength = (value) => getIsArbitraryVariable(value, isLabelLength);
1201
+ var isArbitraryVariableFamilyName = (value) => getIsArbitraryVariable(value, isLabelFamilyName);
1202
+ var isArbitraryVariablePosition = (value) => getIsArbitraryVariable(value, isLabelPosition);
1203
+ var isArbitraryVariableSize = (value) => getIsArbitraryVariable(value, isLabelSize);
1204
+ var isArbitraryVariableImage = (value) => getIsArbitraryVariable(value, isLabelImage);
1205
+ var isArbitraryVariableShadow = (value) => getIsArbitraryVariable(value, isLabelShadow, true);
1206
+ var getIsArbitraryValue = (value, testLabel, testValue) => {
1207
+ const result = arbitraryValueRegex.exec(value);
1208
+ if (result) {
1209
+ if (result[1]) {
1210
+ return testLabel(result[1]);
1211
+ }
1212
+ return testValue(result[2]);
1213
+ }
1214
+ return false;
1215
+ };
1216
+ var getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {
1217
+ const result = arbitraryVariableRegex.exec(value);
1218
+ if (result) {
1219
+ if (result[1]) {
1220
+ return testLabel(result[1]);
1221
+ }
1222
+ return shouldMatchNoLabel;
1223
+ }
1224
+ return false;
1225
+ };
1226
+ var isLabelPosition = (label) => label === "position" || label === "percentage";
1227
+ var isLabelImage = (label) => label === "image" || label === "url";
1228
+ var isLabelSize = (label) => label === "length" || label === "size" || label === "bg-size";
1229
+ var isLabelLength = (label) => label === "length";
1230
+ var isLabelNumber = (label) => label === "number";
1231
+ var isLabelFamilyName = (label) => label === "family-name";
1232
+ var isLabelShadow = (label) => label === "shadow";
1233
+ var getDefaultConfig = () => {
1234
+ const themeColor = fromTheme("color");
1235
+ const themeFont = fromTheme("font");
1236
+ const themeText = fromTheme("text");
1237
+ const themeFontWeight = fromTheme("font-weight");
1238
+ const themeTracking = fromTheme("tracking");
1239
+ const themeLeading = fromTheme("leading");
1240
+ const themeBreakpoint = fromTheme("breakpoint");
1241
+ const themeContainer = fromTheme("container");
1242
+ const themeSpacing = fromTheme("spacing");
1243
+ const themeRadius = fromTheme("radius");
1244
+ const themeShadow = fromTheme("shadow");
1245
+ const themeInsetShadow = fromTheme("inset-shadow");
1246
+ const themeTextShadow = fromTheme("text-shadow");
1247
+ const themeDropShadow = fromTheme("drop-shadow");
1248
+ const themeBlur = fromTheme("blur");
1249
+ const themePerspective = fromTheme("perspective");
1250
+ const themeAspect = fromTheme("aspect");
1251
+ const themeEase = fromTheme("ease");
1252
+ const themeAnimate = fromTheme("animate");
1253
+ const scaleBreak = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
1254
+ const scalePosition = () => [
1255
+ "center",
1256
+ "top",
1257
+ "bottom",
1258
+ "left",
1259
+ "right",
1260
+ "top-left",
1261
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
1262
+ "left-top",
1263
+ "top-right",
1264
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
1265
+ "right-top",
1266
+ "bottom-right",
1267
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
1268
+ "right-bottom",
1269
+ "bottom-left",
1270
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
1271
+ "left-bottom"
1272
+ ];
1273
+ const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];
1274
+ const scaleOverflow = () => ["auto", "hidden", "clip", "visible", "scroll"];
1275
+ const scaleOverscroll = () => ["auto", "contain", "none"];
1276
+ const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];
1277
+ const scaleInset = () => [isFraction, "full", "auto", ...scaleUnambiguousSpacing()];
1278
+ const scaleGridTemplateColsRows = () => [isInteger, "none", "subgrid", isArbitraryVariable, isArbitraryValue];
1279
+ const scaleGridColRowStartAndEnd = () => ["auto", {
1280
+ span: ["full", isInteger, isArbitraryVariable, isArbitraryValue]
1281
+ }, isInteger, isArbitraryVariable, isArbitraryValue];
1282
+ const scaleGridColRowStartOrEnd = () => [isInteger, "auto", isArbitraryVariable, isArbitraryValue];
1283
+ const scaleGridAutoColsRows = () => ["auto", "min", "max", "fr", isArbitraryVariable, isArbitraryValue];
1284
+ const scaleAlignPrimaryAxis = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"];
1285
+ const scaleAlignSecondaryAxis = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"];
1286
+ const scaleMargin = () => ["auto", ...scaleUnambiguousSpacing()];
1287
+ const scaleSizing = () => [isFraction, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...scaleUnambiguousSpacing()];
1288
+ const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];
1289
+ const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {
1290
+ position: [isArbitraryVariable, isArbitraryValue]
1291
+ }];
1292
+ const scaleBgRepeat = () => ["no-repeat", {
1293
+ repeat: ["", "x", "y", "space", "round"]
1294
+ }];
1295
+ const scaleBgSize = () => ["auto", "cover", "contain", isArbitraryVariableSize, isArbitrarySize, {
1296
+ size: [isArbitraryVariable, isArbitraryValue]
1297
+ }];
1298
+ const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];
1299
+ const scaleRadius = () => [
1300
+ // Deprecated since Tailwind CSS v4.0.0
1301
+ "",
1302
+ "none",
1303
+ "full",
1304
+ themeRadius,
1305
+ isArbitraryVariable,
1306
+ isArbitraryValue
1307
+ ];
1308
+ const scaleBorderWidth = () => ["", isNumber, isArbitraryVariableLength, isArbitraryLength];
1309
+ const scaleLineStyle = () => ["solid", "dashed", "dotted", "double"];
1310
+ const scaleBlendMode = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"];
1311
+ const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];
1312
+ const scaleBlur = () => [
1313
+ // Deprecated since Tailwind CSS v4.0.0
1314
+ "",
1315
+ "none",
1316
+ themeBlur,
1317
+ isArbitraryVariable,
1318
+ isArbitraryValue
1319
+ ];
1320
+ const scaleRotate = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
1321
+ const scaleScale = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
1322
+ const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];
1323
+ const scaleTranslate = () => [isFraction, "full", ...scaleUnambiguousSpacing()];
1324
+ return {
1325
+ cacheSize: 500,
1326
+ theme: {
1327
+ animate: ["spin", "ping", "pulse", "bounce"],
1328
+ aspect: ["video"],
1329
+ blur: [isTshirtSize],
1330
+ breakpoint: [isTshirtSize],
1331
+ color: [isAny],
1332
+ container: [isTshirtSize],
1333
+ "drop-shadow": [isTshirtSize],
1334
+ ease: ["in", "out", "in-out"],
1335
+ font: [isAnyNonArbitrary],
1336
+ "font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
1337
+ "inset-shadow": [isTshirtSize],
1338
+ leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
1339
+ perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
1340
+ radius: [isTshirtSize],
1341
+ shadow: [isTshirtSize],
1342
+ spacing: ["px", isNumber],
1343
+ text: [isTshirtSize],
1344
+ "text-shadow": [isTshirtSize],
1345
+ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
1346
+ },
1347
+ classGroups: {
1348
+ // --------------
1349
+ // --- Layout ---
1350
+ // --------------
1351
+ /**
1352
+ * Aspect Ratio
1353
+ * @see https://tailwindcss.com/docs/aspect-ratio
1354
+ */
1355
+ aspect: [{
1356
+ aspect: ["auto", "square", isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]
1357
+ }],
1358
+ /**
1359
+ * Container
1360
+ * @see https://tailwindcss.com/docs/container
1361
+ * @deprecated since Tailwind CSS v4.0.0
1362
+ */
1363
+ container: ["container"],
1364
+ /**
1365
+ * Columns
1366
+ * @see https://tailwindcss.com/docs/columns
1367
+ */
1368
+ columns: [{
1369
+ columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]
1370
+ }],
1371
+ /**
1372
+ * Break After
1373
+ * @see https://tailwindcss.com/docs/break-after
1374
+ */
1375
+ "break-after": [{
1376
+ "break-after": scaleBreak()
1377
+ }],
1378
+ /**
1379
+ * Break Before
1380
+ * @see https://tailwindcss.com/docs/break-before
1381
+ */
1382
+ "break-before": [{
1383
+ "break-before": scaleBreak()
1384
+ }],
1385
+ /**
1386
+ * Break Inside
1387
+ * @see https://tailwindcss.com/docs/break-inside
1388
+ */
1389
+ "break-inside": [{
1390
+ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
1391
+ }],
1392
+ /**
1393
+ * Box Decoration Break
1394
+ * @see https://tailwindcss.com/docs/box-decoration-break
1395
+ */
1396
+ "box-decoration": [{
1397
+ "box-decoration": ["slice", "clone"]
1398
+ }],
1399
+ /**
1400
+ * Box Sizing
1401
+ * @see https://tailwindcss.com/docs/box-sizing
1402
+ */
1403
+ box: [{
1404
+ box: ["border", "content"]
1405
+ }],
1406
+ /**
1407
+ * Display
1408
+ * @see https://tailwindcss.com/docs/display
1409
+ */
1410
+ 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"],
1411
+ /**
1412
+ * Screen Reader Only
1413
+ * @see https://tailwindcss.com/docs/display#screen-reader-only
1414
+ */
1415
+ sr: ["sr-only", "not-sr-only"],
1416
+ /**
1417
+ * Floats
1418
+ * @see https://tailwindcss.com/docs/float
1419
+ */
1420
+ float: [{
1421
+ float: ["right", "left", "none", "start", "end"]
1422
+ }],
1423
+ /**
1424
+ * Clear
1425
+ * @see https://tailwindcss.com/docs/clear
1426
+ */
1427
+ clear: [{
1428
+ clear: ["left", "right", "both", "none", "start", "end"]
1429
+ }],
1430
+ /**
1431
+ * Isolation
1432
+ * @see https://tailwindcss.com/docs/isolation
1433
+ */
1434
+ isolation: ["isolate", "isolation-auto"],
1435
+ /**
1436
+ * Object Fit
1437
+ * @see https://tailwindcss.com/docs/object-fit
1438
+ */
1439
+ "object-fit": [{
1440
+ object: ["contain", "cover", "fill", "none", "scale-down"]
1441
+ }],
1442
+ /**
1443
+ * Object Position
1444
+ * @see https://tailwindcss.com/docs/object-position
1445
+ */
1446
+ "object-position": [{
1447
+ object: scalePositionWithArbitrary()
1448
+ }],
1449
+ /**
1450
+ * Overflow
1451
+ * @see https://tailwindcss.com/docs/overflow
1452
+ */
1453
+ overflow: [{
1454
+ overflow: scaleOverflow()
1455
+ }],
1456
+ /**
1457
+ * Overflow X
1458
+ * @see https://tailwindcss.com/docs/overflow
1459
+ */
1460
+ "overflow-x": [{
1461
+ "overflow-x": scaleOverflow()
1462
+ }],
1463
+ /**
1464
+ * Overflow Y
1465
+ * @see https://tailwindcss.com/docs/overflow
1466
+ */
1467
+ "overflow-y": [{
1468
+ "overflow-y": scaleOverflow()
1469
+ }],
1470
+ /**
1471
+ * Overscroll Behavior
1472
+ * @see https://tailwindcss.com/docs/overscroll-behavior
1473
+ */
1474
+ overscroll: [{
1475
+ overscroll: scaleOverscroll()
1476
+ }],
1477
+ /**
1478
+ * Overscroll Behavior X
1479
+ * @see https://tailwindcss.com/docs/overscroll-behavior
1480
+ */
1481
+ "overscroll-x": [{
1482
+ "overscroll-x": scaleOverscroll()
1483
+ }],
1484
+ /**
1485
+ * Overscroll Behavior Y
1486
+ * @see https://tailwindcss.com/docs/overscroll-behavior
1487
+ */
1488
+ "overscroll-y": [{
1489
+ "overscroll-y": scaleOverscroll()
1490
+ }],
1491
+ /**
1492
+ * Position
1493
+ * @see https://tailwindcss.com/docs/position
1494
+ */
1495
+ position: ["static", "fixed", "absolute", "relative", "sticky"],
1496
+ /**
1497
+ * Top / Right / Bottom / Left
1498
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1499
+ */
1500
+ inset: [{
1501
+ inset: scaleInset()
1502
+ }],
1503
+ /**
1504
+ * Right / Left
1505
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1506
+ */
1507
+ "inset-x": [{
1508
+ "inset-x": scaleInset()
1509
+ }],
1510
+ /**
1511
+ * Top / Bottom
1512
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1513
+ */
1514
+ "inset-y": [{
1515
+ "inset-y": scaleInset()
1516
+ }],
1517
+ /**
1518
+ * Start
1519
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1520
+ */
1521
+ start: [{
1522
+ start: scaleInset()
1523
+ }],
1524
+ /**
1525
+ * End
1526
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1527
+ */
1528
+ end: [{
1529
+ end: scaleInset()
1530
+ }],
1531
+ /**
1532
+ * Top
1533
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1534
+ */
1535
+ top: [{
1536
+ top: scaleInset()
1537
+ }],
1538
+ /**
1539
+ * Right
1540
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1541
+ */
1542
+ right: [{
1543
+ right: scaleInset()
1544
+ }],
1545
+ /**
1546
+ * Bottom
1547
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1548
+ */
1549
+ bottom: [{
1550
+ bottom: scaleInset()
1551
+ }],
1552
+ /**
1553
+ * Left
1554
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1555
+ */
1556
+ left: [{
1557
+ left: scaleInset()
1558
+ }],
1559
+ /**
1560
+ * Visibility
1561
+ * @see https://tailwindcss.com/docs/visibility
1562
+ */
1563
+ visibility: ["visible", "invisible", "collapse"],
1564
+ /**
1565
+ * Z-Index
1566
+ * @see https://tailwindcss.com/docs/z-index
1567
+ */
1568
+ z: [{
1569
+ z: [isInteger, "auto", isArbitraryVariable, isArbitraryValue]
1570
+ }],
1571
+ // ------------------------
1572
+ // --- Flexbox and Grid ---
1573
+ // ------------------------
1574
+ /**
1575
+ * Flex Basis
1576
+ * @see https://tailwindcss.com/docs/flex-basis
1577
+ */
1578
+ basis: [{
1579
+ basis: [isFraction, "full", "auto", themeContainer, ...scaleUnambiguousSpacing()]
1580
+ }],
1581
+ /**
1582
+ * Flex Direction
1583
+ * @see https://tailwindcss.com/docs/flex-direction
1584
+ */
1585
+ "flex-direction": [{
1586
+ flex: ["row", "row-reverse", "col", "col-reverse"]
1587
+ }],
1588
+ /**
1589
+ * Flex Wrap
1590
+ * @see https://tailwindcss.com/docs/flex-wrap
1591
+ */
1592
+ "flex-wrap": [{
1593
+ flex: ["nowrap", "wrap", "wrap-reverse"]
1594
+ }],
1595
+ /**
1596
+ * Flex
1597
+ * @see https://tailwindcss.com/docs/flex
1598
+ */
1599
+ flex: [{
1600
+ flex: [isNumber, isFraction, "auto", "initial", "none", isArbitraryValue]
1601
+ }],
1602
+ /**
1603
+ * Flex Grow
1604
+ * @see https://tailwindcss.com/docs/flex-grow
1605
+ */
1606
+ grow: [{
1607
+ grow: ["", isNumber, isArbitraryVariable, isArbitraryValue]
1608
+ }],
1609
+ /**
1610
+ * Flex Shrink
1611
+ * @see https://tailwindcss.com/docs/flex-shrink
1612
+ */
1613
+ shrink: [{
1614
+ shrink: ["", isNumber, isArbitraryVariable, isArbitraryValue]
1615
+ }],
1616
+ /**
1617
+ * Order
1618
+ * @see https://tailwindcss.com/docs/order
1619
+ */
1620
+ order: [{
1621
+ order: [isInteger, "first", "last", "none", isArbitraryVariable, isArbitraryValue]
1622
+ }],
1623
+ /**
1624
+ * Grid Template Columns
1625
+ * @see https://tailwindcss.com/docs/grid-template-columns
1626
+ */
1627
+ "grid-cols": [{
1628
+ "grid-cols": scaleGridTemplateColsRows()
1629
+ }],
1630
+ /**
1631
+ * Grid Column Start / End
1632
+ * @see https://tailwindcss.com/docs/grid-column
1633
+ */
1634
+ "col-start-end": [{
1635
+ col: scaleGridColRowStartAndEnd()
1636
+ }],
1637
+ /**
1638
+ * Grid Column Start
1639
+ * @see https://tailwindcss.com/docs/grid-column
1640
+ */
1641
+ "col-start": [{
1642
+ "col-start": scaleGridColRowStartOrEnd()
1643
+ }],
1644
+ /**
1645
+ * Grid Column End
1646
+ * @see https://tailwindcss.com/docs/grid-column
1647
+ */
1648
+ "col-end": [{
1649
+ "col-end": scaleGridColRowStartOrEnd()
1650
+ }],
1651
+ /**
1652
+ * Grid Template Rows
1653
+ * @see https://tailwindcss.com/docs/grid-template-rows
1654
+ */
1655
+ "grid-rows": [{
1656
+ "grid-rows": scaleGridTemplateColsRows()
1657
+ }],
1658
+ /**
1659
+ * Grid Row Start / End
1660
+ * @see https://tailwindcss.com/docs/grid-row
1661
+ */
1662
+ "row-start-end": [{
1663
+ row: scaleGridColRowStartAndEnd()
1664
+ }],
1665
+ /**
1666
+ * Grid Row Start
1667
+ * @see https://tailwindcss.com/docs/grid-row
1668
+ */
1669
+ "row-start": [{
1670
+ "row-start": scaleGridColRowStartOrEnd()
1671
+ }],
1672
+ /**
1673
+ * Grid Row End
1674
+ * @see https://tailwindcss.com/docs/grid-row
1675
+ */
1676
+ "row-end": [{
1677
+ "row-end": scaleGridColRowStartOrEnd()
1678
+ }],
1679
+ /**
1680
+ * Grid Auto Flow
1681
+ * @see https://tailwindcss.com/docs/grid-auto-flow
1682
+ */
1683
+ "grid-flow": [{
1684
+ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
1685
+ }],
1686
+ /**
1687
+ * Grid Auto Columns
1688
+ * @see https://tailwindcss.com/docs/grid-auto-columns
1689
+ */
1690
+ "auto-cols": [{
1691
+ "auto-cols": scaleGridAutoColsRows()
1692
+ }],
1693
+ /**
1694
+ * Grid Auto Rows
1695
+ * @see https://tailwindcss.com/docs/grid-auto-rows
1696
+ */
1697
+ "auto-rows": [{
1698
+ "auto-rows": scaleGridAutoColsRows()
1699
+ }],
1700
+ /**
1701
+ * Gap
1702
+ * @see https://tailwindcss.com/docs/gap
1703
+ */
1704
+ gap: [{
1705
+ gap: scaleUnambiguousSpacing()
1706
+ }],
1707
+ /**
1708
+ * Gap X
1709
+ * @see https://tailwindcss.com/docs/gap
1710
+ */
1711
+ "gap-x": [{
1712
+ "gap-x": scaleUnambiguousSpacing()
1713
+ }],
1714
+ /**
1715
+ * Gap Y
1716
+ * @see https://tailwindcss.com/docs/gap
1717
+ */
1718
+ "gap-y": [{
1719
+ "gap-y": scaleUnambiguousSpacing()
1720
+ }],
1721
+ /**
1722
+ * Justify Content
1723
+ * @see https://tailwindcss.com/docs/justify-content
1724
+ */
1725
+ "justify-content": [{
1726
+ justify: [...scaleAlignPrimaryAxis(), "normal"]
1727
+ }],
1728
+ /**
1729
+ * Justify Items
1730
+ * @see https://tailwindcss.com/docs/justify-items
1731
+ */
1732
+ "justify-items": [{
1733
+ "justify-items": [...scaleAlignSecondaryAxis(), "normal"]
1734
+ }],
1735
+ /**
1736
+ * Justify Self
1737
+ * @see https://tailwindcss.com/docs/justify-self
1738
+ */
1739
+ "justify-self": [{
1740
+ "justify-self": ["auto", ...scaleAlignSecondaryAxis()]
1741
+ }],
1742
+ /**
1743
+ * Align Content
1744
+ * @see https://tailwindcss.com/docs/align-content
1745
+ */
1746
+ "align-content": [{
1747
+ content: ["normal", ...scaleAlignPrimaryAxis()]
1748
+ }],
1749
+ /**
1750
+ * Align Items
1751
+ * @see https://tailwindcss.com/docs/align-items
1752
+ */
1753
+ "align-items": [{
1754
+ items: [...scaleAlignSecondaryAxis(), {
1755
+ baseline: ["", "last"]
1756
+ }]
1757
+ }],
1758
+ /**
1759
+ * Align Self
1760
+ * @see https://tailwindcss.com/docs/align-self
1761
+ */
1762
+ "align-self": [{
1763
+ self: ["auto", ...scaleAlignSecondaryAxis(), {
1764
+ baseline: ["", "last"]
1765
+ }]
1766
+ }],
1767
+ /**
1768
+ * Place Content
1769
+ * @see https://tailwindcss.com/docs/place-content
1770
+ */
1771
+ "place-content": [{
1772
+ "place-content": scaleAlignPrimaryAxis()
1773
+ }],
1774
+ /**
1775
+ * Place Items
1776
+ * @see https://tailwindcss.com/docs/place-items
1777
+ */
1778
+ "place-items": [{
1779
+ "place-items": [...scaleAlignSecondaryAxis(), "baseline"]
1780
+ }],
1781
+ /**
1782
+ * Place Self
1783
+ * @see https://tailwindcss.com/docs/place-self
1784
+ */
1785
+ "place-self": [{
1786
+ "place-self": ["auto", ...scaleAlignSecondaryAxis()]
1787
+ }],
1788
+ // Spacing
1789
+ /**
1790
+ * Padding
1791
+ * @see https://tailwindcss.com/docs/padding
1792
+ */
1793
+ p: [{
1794
+ p: scaleUnambiguousSpacing()
1795
+ }],
1796
+ /**
1797
+ * Padding X
1798
+ * @see https://tailwindcss.com/docs/padding
1799
+ */
1800
+ px: [{
1801
+ px: scaleUnambiguousSpacing()
1802
+ }],
1803
+ /**
1804
+ * Padding Y
1805
+ * @see https://tailwindcss.com/docs/padding
1806
+ */
1807
+ py: [{
1808
+ py: scaleUnambiguousSpacing()
1809
+ }],
1810
+ /**
1811
+ * Padding Start
1812
+ * @see https://tailwindcss.com/docs/padding
1813
+ */
1814
+ ps: [{
1815
+ ps: scaleUnambiguousSpacing()
1816
+ }],
1817
+ /**
1818
+ * Padding End
1819
+ * @see https://tailwindcss.com/docs/padding
1820
+ */
1821
+ pe: [{
1822
+ pe: scaleUnambiguousSpacing()
1823
+ }],
1824
+ /**
1825
+ * Padding Top
1826
+ * @see https://tailwindcss.com/docs/padding
1827
+ */
1828
+ pt: [{
1829
+ pt: scaleUnambiguousSpacing()
1830
+ }],
1831
+ /**
1832
+ * Padding Right
1833
+ * @see https://tailwindcss.com/docs/padding
1834
+ */
1835
+ pr: [{
1836
+ pr: scaleUnambiguousSpacing()
1837
+ }],
1838
+ /**
1839
+ * Padding Bottom
1840
+ * @see https://tailwindcss.com/docs/padding
1841
+ */
1842
+ pb: [{
1843
+ pb: scaleUnambiguousSpacing()
1844
+ }],
1845
+ /**
1846
+ * Padding Left
1847
+ * @see https://tailwindcss.com/docs/padding
1848
+ */
1849
+ pl: [{
1850
+ pl: scaleUnambiguousSpacing()
1851
+ }],
1852
+ /**
1853
+ * Margin
1854
+ * @see https://tailwindcss.com/docs/margin
1855
+ */
1856
+ m: [{
1857
+ m: scaleMargin()
1858
+ }],
1859
+ /**
1860
+ * Margin X
1861
+ * @see https://tailwindcss.com/docs/margin
1862
+ */
1863
+ mx: [{
1864
+ mx: scaleMargin()
1865
+ }],
1866
+ /**
1867
+ * Margin Y
1868
+ * @see https://tailwindcss.com/docs/margin
1869
+ */
1870
+ my: [{
1871
+ my: scaleMargin()
1872
+ }],
1873
+ /**
1874
+ * Margin Start
1875
+ * @see https://tailwindcss.com/docs/margin
1876
+ */
1877
+ ms: [{
1878
+ ms: scaleMargin()
1879
+ }],
1880
+ /**
1881
+ * Margin End
1882
+ * @see https://tailwindcss.com/docs/margin
1883
+ */
1884
+ me: [{
1885
+ me: scaleMargin()
1886
+ }],
1887
+ /**
1888
+ * Margin Top
1889
+ * @see https://tailwindcss.com/docs/margin
1890
+ */
1891
+ mt: [{
1892
+ mt: scaleMargin()
1893
+ }],
1894
+ /**
1895
+ * Margin Right
1896
+ * @see https://tailwindcss.com/docs/margin
1897
+ */
1898
+ mr: [{
1899
+ mr: scaleMargin()
1900
+ }],
1901
+ /**
1902
+ * Margin Bottom
1903
+ * @see https://tailwindcss.com/docs/margin
1904
+ */
1905
+ mb: [{
1906
+ mb: scaleMargin()
1907
+ }],
1908
+ /**
1909
+ * Margin Left
1910
+ * @see https://tailwindcss.com/docs/margin
1911
+ */
1912
+ ml: [{
1913
+ ml: scaleMargin()
1914
+ }],
1915
+ /**
1916
+ * Space Between X
1917
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1918
+ */
1919
+ "space-x": [{
1920
+ "space-x": scaleUnambiguousSpacing()
1921
+ }],
1922
+ /**
1923
+ * Space Between X Reverse
1924
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1925
+ */
1926
+ "space-x-reverse": ["space-x-reverse"],
1927
+ /**
1928
+ * Space Between Y
1929
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1930
+ */
1931
+ "space-y": [{
1932
+ "space-y": scaleUnambiguousSpacing()
1933
+ }],
1934
+ /**
1935
+ * Space Between Y Reverse
1936
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1937
+ */
1938
+ "space-y-reverse": ["space-y-reverse"],
1939
+ // --------------
1940
+ // --- Sizing ---
1941
+ // --------------
1942
+ /**
1943
+ * Size
1944
+ * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
1945
+ */
1946
+ size: [{
1947
+ size: scaleSizing()
1948
+ }],
1949
+ /**
1950
+ * Width
1951
+ * @see https://tailwindcss.com/docs/width
1952
+ */
1953
+ w: [{
1954
+ w: [themeContainer, "screen", ...scaleSizing()]
1955
+ }],
1956
+ /**
1957
+ * Min-Width
1958
+ * @see https://tailwindcss.com/docs/min-width
1959
+ */
1960
+ "min-w": [{
1961
+ "min-w": [
1962
+ themeContainer,
1963
+ "screen",
1964
+ /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1965
+ "none",
1966
+ ...scaleSizing()
1967
+ ]
1968
+ }],
1969
+ /**
1970
+ * Max-Width
1971
+ * @see https://tailwindcss.com/docs/max-width
1972
+ */
1973
+ "max-w": [{
1974
+ "max-w": [
1975
+ themeContainer,
1976
+ "screen",
1977
+ "none",
1978
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1979
+ "prose",
1980
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1981
+ {
1982
+ screen: [themeBreakpoint]
1983
+ },
1984
+ ...scaleSizing()
1985
+ ]
1986
+ }],
1987
+ /**
1988
+ * Height
1989
+ * @see https://tailwindcss.com/docs/height
1990
+ */
1991
+ h: [{
1992
+ h: ["screen", "lh", ...scaleSizing()]
1993
+ }],
1994
+ /**
1995
+ * Min-Height
1996
+ * @see https://tailwindcss.com/docs/min-height
1997
+ */
1998
+ "min-h": [{
1999
+ "min-h": ["screen", "lh", "none", ...scaleSizing()]
2000
+ }],
2001
+ /**
2002
+ * Max-Height
2003
+ * @see https://tailwindcss.com/docs/max-height
2004
+ */
2005
+ "max-h": [{
2006
+ "max-h": ["screen", "lh", ...scaleSizing()]
2007
+ }],
2008
+ // ------------------
2009
+ // --- Typography ---
2010
+ // ------------------
2011
+ /**
2012
+ * Font Size
2013
+ * @see https://tailwindcss.com/docs/font-size
2014
+ */
2015
+ "font-size": [{
2016
+ text: ["base", themeText, isArbitraryVariableLength, isArbitraryLength]
2017
+ }],
2018
+ /**
2019
+ * Font Smoothing
2020
+ * @see https://tailwindcss.com/docs/font-smoothing
2021
+ */
2022
+ "font-smoothing": ["antialiased", "subpixel-antialiased"],
2023
+ /**
2024
+ * Font Style
2025
+ * @see https://tailwindcss.com/docs/font-style
2026
+ */
2027
+ "font-style": ["italic", "not-italic"],
2028
+ /**
2029
+ * Font Weight
2030
+ * @see https://tailwindcss.com/docs/font-weight
2031
+ */
2032
+ "font-weight": [{
2033
+ font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber]
2034
+ }],
2035
+ /**
2036
+ * Font Stretch
2037
+ * @see https://tailwindcss.com/docs/font-stretch
2038
+ */
2039
+ "font-stretch": [{
2040
+ "font-stretch": ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", isPercent, isArbitraryValue]
2041
+ }],
2042
+ /**
2043
+ * Font Family
2044
+ * @see https://tailwindcss.com/docs/font-family
2045
+ */
2046
+ "font-family": [{
2047
+ font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont]
2048
+ }],
2049
+ /**
2050
+ * Font Variant Numeric
2051
+ * @see https://tailwindcss.com/docs/font-variant-numeric
2052
+ */
2053
+ "fvn-normal": ["normal-nums"],
2054
+ /**
2055
+ * Font Variant Numeric
2056
+ * @see https://tailwindcss.com/docs/font-variant-numeric
2057
+ */
2058
+ "fvn-ordinal": ["ordinal"],
2059
+ /**
2060
+ * Font Variant Numeric
2061
+ * @see https://tailwindcss.com/docs/font-variant-numeric
2062
+ */
2063
+ "fvn-slashed-zero": ["slashed-zero"],
2064
+ /**
2065
+ * Font Variant Numeric
2066
+ * @see https://tailwindcss.com/docs/font-variant-numeric
2067
+ */
2068
+ "fvn-figure": ["lining-nums", "oldstyle-nums"],
2069
+ /**
2070
+ * Font Variant Numeric
2071
+ * @see https://tailwindcss.com/docs/font-variant-numeric
2072
+ */
2073
+ "fvn-spacing": ["proportional-nums", "tabular-nums"],
2074
+ /**
2075
+ * Font Variant Numeric
2076
+ * @see https://tailwindcss.com/docs/font-variant-numeric
2077
+ */
2078
+ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
2079
+ /**
2080
+ * Letter Spacing
2081
+ * @see https://tailwindcss.com/docs/letter-spacing
2082
+ */
2083
+ tracking: [{
2084
+ tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]
2085
+ }],
2086
+ /**
2087
+ * Line Clamp
2088
+ * @see https://tailwindcss.com/docs/line-clamp
2089
+ */
2090
+ "line-clamp": [{
2091
+ "line-clamp": [isNumber, "none", isArbitraryVariable, isArbitraryNumber]
2092
+ }],
2093
+ /**
2094
+ * Line Height
2095
+ * @see https://tailwindcss.com/docs/line-height
2096
+ */
2097
+ leading: [{
2098
+ leading: [
2099
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
2100
+ themeLeading,
2101
+ ...scaleUnambiguousSpacing()
2102
+ ]
2103
+ }],
2104
+ /**
2105
+ * List Style Image
2106
+ * @see https://tailwindcss.com/docs/list-style-image
2107
+ */
2108
+ "list-image": [{
2109
+ "list-image": ["none", isArbitraryVariable, isArbitraryValue]
2110
+ }],
2111
+ /**
2112
+ * List Style Position
2113
+ * @see https://tailwindcss.com/docs/list-style-position
2114
+ */
2115
+ "list-style-position": [{
2116
+ list: ["inside", "outside"]
2117
+ }],
2118
+ /**
2119
+ * List Style Type
2120
+ * @see https://tailwindcss.com/docs/list-style-type
2121
+ */
2122
+ "list-style-type": [{
2123
+ list: ["disc", "decimal", "none", isArbitraryVariable, isArbitraryValue]
2124
+ }],
2125
+ /**
2126
+ * Text Alignment
2127
+ * @see https://tailwindcss.com/docs/text-align
2128
+ */
2129
+ "text-alignment": [{
2130
+ text: ["left", "center", "right", "justify", "start", "end"]
2131
+ }],
2132
+ /**
2133
+ * Placeholder Color
2134
+ * @deprecated since Tailwind CSS v3.0.0
2135
+ * @see https://v3.tailwindcss.com/docs/placeholder-color
2136
+ */
2137
+ "placeholder-color": [{
2138
+ placeholder: scaleColor()
2139
+ }],
2140
+ /**
2141
+ * Text Color
2142
+ * @see https://tailwindcss.com/docs/text-color
2143
+ */
2144
+ "text-color": [{
2145
+ text: scaleColor()
2146
+ }],
2147
+ /**
2148
+ * Text Decoration
2149
+ * @see https://tailwindcss.com/docs/text-decoration
2150
+ */
2151
+ "text-decoration": ["underline", "overline", "line-through", "no-underline"],
2152
+ /**
2153
+ * Text Decoration Style
2154
+ * @see https://tailwindcss.com/docs/text-decoration-style
2155
+ */
2156
+ "text-decoration-style": [{
2157
+ decoration: [...scaleLineStyle(), "wavy"]
2158
+ }],
2159
+ /**
2160
+ * Text Decoration Thickness
2161
+ * @see https://tailwindcss.com/docs/text-decoration-thickness
2162
+ */
2163
+ "text-decoration-thickness": [{
2164
+ decoration: [isNumber, "from-font", "auto", isArbitraryVariable, isArbitraryLength]
2165
+ }],
2166
+ /**
2167
+ * Text Decoration Color
2168
+ * @see https://tailwindcss.com/docs/text-decoration-color
2169
+ */
2170
+ "text-decoration-color": [{
2171
+ decoration: scaleColor()
2172
+ }],
2173
+ /**
2174
+ * Text Underline Offset
2175
+ * @see https://tailwindcss.com/docs/text-underline-offset
2176
+ */
2177
+ "underline-offset": [{
2178
+ "underline-offset": [isNumber, "auto", isArbitraryVariable, isArbitraryValue]
2179
+ }],
2180
+ /**
2181
+ * Text Transform
2182
+ * @see https://tailwindcss.com/docs/text-transform
2183
+ */
2184
+ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
2185
+ /**
2186
+ * Text Overflow
2187
+ * @see https://tailwindcss.com/docs/text-overflow
2188
+ */
2189
+ "text-overflow": ["truncate", "text-ellipsis", "text-clip"],
2190
+ /**
2191
+ * Text Wrap
2192
+ * @see https://tailwindcss.com/docs/text-wrap
2193
+ */
2194
+ "text-wrap": [{
2195
+ text: ["wrap", "nowrap", "balance", "pretty"]
2196
+ }],
2197
+ /**
2198
+ * Text Indent
2199
+ * @see https://tailwindcss.com/docs/text-indent
2200
+ */
2201
+ indent: [{
2202
+ indent: scaleUnambiguousSpacing()
2203
+ }],
2204
+ /**
2205
+ * Vertical Alignment
2206
+ * @see https://tailwindcss.com/docs/vertical-align
2207
+ */
2208
+ "vertical-align": [{
2209
+ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", isArbitraryVariable, isArbitraryValue]
2210
+ }],
2211
+ /**
2212
+ * Whitespace
2213
+ * @see https://tailwindcss.com/docs/whitespace
2214
+ */
2215
+ whitespace: [{
2216
+ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
2217
+ }],
2218
+ /**
2219
+ * Word Break
2220
+ * @see https://tailwindcss.com/docs/word-break
2221
+ */
2222
+ break: [{
2223
+ break: ["normal", "words", "all", "keep"]
2224
+ }],
2225
+ /**
2226
+ * Overflow Wrap
2227
+ * @see https://tailwindcss.com/docs/overflow-wrap
2228
+ */
2229
+ wrap: [{
2230
+ wrap: ["break-word", "anywhere", "normal"]
2231
+ }],
2232
+ /**
2233
+ * Hyphens
2234
+ * @see https://tailwindcss.com/docs/hyphens
2235
+ */
2236
+ hyphens: [{
2237
+ hyphens: ["none", "manual", "auto"]
2238
+ }],
2239
+ /**
2240
+ * Content
2241
+ * @see https://tailwindcss.com/docs/content
2242
+ */
2243
+ content: [{
2244
+ content: ["none", isArbitraryVariable, isArbitraryValue]
2245
+ }],
2246
+ // -------------------
2247
+ // --- Backgrounds ---
2248
+ // -------------------
2249
+ /**
2250
+ * Background Attachment
2251
+ * @see https://tailwindcss.com/docs/background-attachment
2252
+ */
2253
+ "bg-attachment": [{
2254
+ bg: ["fixed", "local", "scroll"]
2255
+ }],
2256
+ /**
2257
+ * Background Clip
2258
+ * @see https://tailwindcss.com/docs/background-clip
2259
+ */
2260
+ "bg-clip": [{
2261
+ "bg-clip": ["border", "padding", "content", "text"]
2262
+ }],
2263
+ /**
2264
+ * Background Origin
2265
+ * @see https://tailwindcss.com/docs/background-origin
2266
+ */
2267
+ "bg-origin": [{
2268
+ "bg-origin": ["border", "padding", "content"]
2269
+ }],
2270
+ /**
2271
+ * Background Position
2272
+ * @see https://tailwindcss.com/docs/background-position
2273
+ */
2274
+ "bg-position": [{
2275
+ bg: scaleBgPosition()
2276
+ }],
2277
+ /**
2278
+ * Background Repeat
2279
+ * @see https://tailwindcss.com/docs/background-repeat
2280
+ */
2281
+ "bg-repeat": [{
2282
+ bg: scaleBgRepeat()
2283
+ }],
2284
+ /**
2285
+ * Background Size
2286
+ * @see https://tailwindcss.com/docs/background-size
2287
+ */
2288
+ "bg-size": [{
2289
+ bg: scaleBgSize()
2290
+ }],
2291
+ /**
2292
+ * Background Image
2293
+ * @see https://tailwindcss.com/docs/background-image
2294
+ */
2295
+ "bg-image": [{
2296
+ bg: ["none", {
2297
+ linear: [{
2298
+ to: ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
2299
+ }, isInteger, isArbitraryVariable, isArbitraryValue],
2300
+ radial: ["", isArbitraryVariable, isArbitraryValue],
2301
+ conic: [isInteger, isArbitraryVariable, isArbitraryValue]
2302
+ }, isArbitraryVariableImage, isArbitraryImage]
2303
+ }],
2304
+ /**
2305
+ * Background Color
2306
+ * @see https://tailwindcss.com/docs/background-color
2307
+ */
2308
+ "bg-color": [{
2309
+ bg: scaleColor()
2310
+ }],
2311
+ /**
2312
+ * Gradient Color Stops From Position
2313
+ * @see https://tailwindcss.com/docs/gradient-color-stops
2314
+ */
2315
+ "gradient-from-pos": [{
2316
+ from: scaleGradientStopPosition()
2317
+ }],
2318
+ /**
2319
+ * Gradient Color Stops Via Position
2320
+ * @see https://tailwindcss.com/docs/gradient-color-stops
2321
+ */
2322
+ "gradient-via-pos": [{
2323
+ via: scaleGradientStopPosition()
2324
+ }],
2325
+ /**
2326
+ * Gradient Color Stops To Position
2327
+ * @see https://tailwindcss.com/docs/gradient-color-stops
2328
+ */
2329
+ "gradient-to-pos": [{
2330
+ to: scaleGradientStopPosition()
2331
+ }],
2332
+ /**
2333
+ * Gradient Color Stops From
2334
+ * @see https://tailwindcss.com/docs/gradient-color-stops
2335
+ */
2336
+ "gradient-from": [{
2337
+ from: scaleColor()
2338
+ }],
2339
+ /**
2340
+ * Gradient Color Stops Via
2341
+ * @see https://tailwindcss.com/docs/gradient-color-stops
2342
+ */
2343
+ "gradient-via": [{
2344
+ via: scaleColor()
2345
+ }],
2346
+ /**
2347
+ * Gradient Color Stops To
2348
+ * @see https://tailwindcss.com/docs/gradient-color-stops
2349
+ */
2350
+ "gradient-to": [{
2351
+ to: scaleColor()
2352
+ }],
2353
+ // ---------------
2354
+ // --- Borders ---
2355
+ // ---------------
2356
+ /**
2357
+ * Border Radius
2358
+ * @see https://tailwindcss.com/docs/border-radius
2359
+ */
2360
+ rounded: [{
2361
+ rounded: scaleRadius()
2362
+ }],
2363
+ /**
2364
+ * Border Radius Start
2365
+ * @see https://tailwindcss.com/docs/border-radius
2366
+ */
2367
+ "rounded-s": [{
2368
+ "rounded-s": scaleRadius()
2369
+ }],
2370
+ /**
2371
+ * Border Radius End
2372
+ * @see https://tailwindcss.com/docs/border-radius
2373
+ */
2374
+ "rounded-e": [{
2375
+ "rounded-e": scaleRadius()
2376
+ }],
2377
+ /**
2378
+ * Border Radius Top
2379
+ * @see https://tailwindcss.com/docs/border-radius
2380
+ */
2381
+ "rounded-t": [{
2382
+ "rounded-t": scaleRadius()
2383
+ }],
2384
+ /**
2385
+ * Border Radius Right
2386
+ * @see https://tailwindcss.com/docs/border-radius
2387
+ */
2388
+ "rounded-r": [{
2389
+ "rounded-r": scaleRadius()
2390
+ }],
2391
+ /**
2392
+ * Border Radius Bottom
2393
+ * @see https://tailwindcss.com/docs/border-radius
2394
+ */
2395
+ "rounded-b": [{
2396
+ "rounded-b": scaleRadius()
2397
+ }],
2398
+ /**
2399
+ * Border Radius Left
2400
+ * @see https://tailwindcss.com/docs/border-radius
2401
+ */
2402
+ "rounded-l": [{
2403
+ "rounded-l": scaleRadius()
2404
+ }],
2405
+ /**
2406
+ * Border Radius Start Start
2407
+ * @see https://tailwindcss.com/docs/border-radius
2408
+ */
2409
+ "rounded-ss": [{
2410
+ "rounded-ss": scaleRadius()
2411
+ }],
2412
+ /**
2413
+ * Border Radius Start End
2414
+ * @see https://tailwindcss.com/docs/border-radius
2415
+ */
2416
+ "rounded-se": [{
2417
+ "rounded-se": scaleRadius()
2418
+ }],
2419
+ /**
2420
+ * Border Radius End End
2421
+ * @see https://tailwindcss.com/docs/border-radius
2422
+ */
2423
+ "rounded-ee": [{
2424
+ "rounded-ee": scaleRadius()
2425
+ }],
2426
+ /**
2427
+ * Border Radius End Start
2428
+ * @see https://tailwindcss.com/docs/border-radius
2429
+ */
2430
+ "rounded-es": [{
2431
+ "rounded-es": scaleRadius()
2432
+ }],
2433
+ /**
2434
+ * Border Radius Top Left
2435
+ * @see https://tailwindcss.com/docs/border-radius
2436
+ */
2437
+ "rounded-tl": [{
2438
+ "rounded-tl": scaleRadius()
2439
+ }],
2440
+ /**
2441
+ * Border Radius Top Right
2442
+ * @see https://tailwindcss.com/docs/border-radius
2443
+ */
2444
+ "rounded-tr": [{
2445
+ "rounded-tr": scaleRadius()
2446
+ }],
2447
+ /**
2448
+ * Border Radius Bottom Right
2449
+ * @see https://tailwindcss.com/docs/border-radius
2450
+ */
2451
+ "rounded-br": [{
2452
+ "rounded-br": scaleRadius()
2453
+ }],
2454
+ /**
2455
+ * Border Radius Bottom Left
2456
+ * @see https://tailwindcss.com/docs/border-radius
2457
+ */
2458
+ "rounded-bl": [{
2459
+ "rounded-bl": scaleRadius()
2460
+ }],
2461
+ /**
2462
+ * Border Width
2463
+ * @see https://tailwindcss.com/docs/border-width
2464
+ */
2465
+ "border-w": [{
2466
+ border: scaleBorderWidth()
2467
+ }],
2468
+ /**
2469
+ * Border Width X
2470
+ * @see https://tailwindcss.com/docs/border-width
2471
+ */
2472
+ "border-w-x": [{
2473
+ "border-x": scaleBorderWidth()
2474
+ }],
2475
+ /**
2476
+ * Border Width Y
2477
+ * @see https://tailwindcss.com/docs/border-width
2478
+ */
2479
+ "border-w-y": [{
2480
+ "border-y": scaleBorderWidth()
2481
+ }],
2482
+ /**
2483
+ * Border Width Start
2484
+ * @see https://tailwindcss.com/docs/border-width
2485
+ */
2486
+ "border-w-s": [{
2487
+ "border-s": scaleBorderWidth()
2488
+ }],
2489
+ /**
2490
+ * Border Width End
2491
+ * @see https://tailwindcss.com/docs/border-width
2492
+ */
2493
+ "border-w-e": [{
2494
+ "border-e": scaleBorderWidth()
2495
+ }],
2496
+ /**
2497
+ * Border Width Top
2498
+ * @see https://tailwindcss.com/docs/border-width
2499
+ */
2500
+ "border-w-t": [{
2501
+ "border-t": scaleBorderWidth()
2502
+ }],
2503
+ /**
2504
+ * Border Width Right
2505
+ * @see https://tailwindcss.com/docs/border-width
2506
+ */
2507
+ "border-w-r": [{
2508
+ "border-r": scaleBorderWidth()
2509
+ }],
2510
+ /**
2511
+ * Border Width Bottom
2512
+ * @see https://tailwindcss.com/docs/border-width
2513
+ */
2514
+ "border-w-b": [{
2515
+ "border-b": scaleBorderWidth()
2516
+ }],
2517
+ /**
2518
+ * Border Width Left
2519
+ * @see https://tailwindcss.com/docs/border-width
2520
+ */
2521
+ "border-w-l": [{
2522
+ "border-l": scaleBorderWidth()
2523
+ }],
2524
+ /**
2525
+ * Divide Width X
2526
+ * @see https://tailwindcss.com/docs/border-width#between-children
2527
+ */
2528
+ "divide-x": [{
2529
+ "divide-x": scaleBorderWidth()
2530
+ }],
2531
+ /**
2532
+ * Divide Width X Reverse
2533
+ * @see https://tailwindcss.com/docs/border-width#between-children
2534
+ */
2535
+ "divide-x-reverse": ["divide-x-reverse"],
2536
+ /**
2537
+ * Divide Width Y
2538
+ * @see https://tailwindcss.com/docs/border-width#between-children
2539
+ */
2540
+ "divide-y": [{
2541
+ "divide-y": scaleBorderWidth()
2542
+ }],
2543
+ /**
2544
+ * Divide Width Y Reverse
2545
+ * @see https://tailwindcss.com/docs/border-width#between-children
2546
+ */
2547
+ "divide-y-reverse": ["divide-y-reverse"],
2548
+ /**
2549
+ * Border Style
2550
+ * @see https://tailwindcss.com/docs/border-style
2551
+ */
2552
+ "border-style": [{
2553
+ border: [...scaleLineStyle(), "hidden", "none"]
2554
+ }],
2555
+ /**
2556
+ * Divide Style
2557
+ * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
2558
+ */
2559
+ "divide-style": [{
2560
+ divide: [...scaleLineStyle(), "hidden", "none"]
2561
+ }],
2562
+ /**
2563
+ * Border Color
2564
+ * @see https://tailwindcss.com/docs/border-color
2565
+ */
2566
+ "border-color": [{
2567
+ border: scaleColor()
2568
+ }],
2569
+ /**
2570
+ * Border Color X
2571
+ * @see https://tailwindcss.com/docs/border-color
2572
+ */
2573
+ "border-color-x": [{
2574
+ "border-x": scaleColor()
2575
+ }],
2576
+ /**
2577
+ * Border Color Y
2578
+ * @see https://tailwindcss.com/docs/border-color
2579
+ */
2580
+ "border-color-y": [{
2581
+ "border-y": scaleColor()
2582
+ }],
2583
+ /**
2584
+ * Border Color S
2585
+ * @see https://tailwindcss.com/docs/border-color
2586
+ */
2587
+ "border-color-s": [{
2588
+ "border-s": scaleColor()
2589
+ }],
2590
+ /**
2591
+ * Border Color E
2592
+ * @see https://tailwindcss.com/docs/border-color
2593
+ */
2594
+ "border-color-e": [{
2595
+ "border-e": scaleColor()
2596
+ }],
2597
+ /**
2598
+ * Border Color Top
2599
+ * @see https://tailwindcss.com/docs/border-color
2600
+ */
2601
+ "border-color-t": [{
2602
+ "border-t": scaleColor()
2603
+ }],
2604
+ /**
2605
+ * Border Color Right
2606
+ * @see https://tailwindcss.com/docs/border-color
2607
+ */
2608
+ "border-color-r": [{
2609
+ "border-r": scaleColor()
2610
+ }],
2611
+ /**
2612
+ * Border Color Bottom
2613
+ * @see https://tailwindcss.com/docs/border-color
2614
+ */
2615
+ "border-color-b": [{
2616
+ "border-b": scaleColor()
2617
+ }],
2618
+ /**
2619
+ * Border Color Left
2620
+ * @see https://tailwindcss.com/docs/border-color
2621
+ */
2622
+ "border-color-l": [{
2623
+ "border-l": scaleColor()
2624
+ }],
2625
+ /**
2626
+ * Divide Color
2627
+ * @see https://tailwindcss.com/docs/divide-color
2628
+ */
2629
+ "divide-color": [{
2630
+ divide: scaleColor()
2631
+ }],
2632
+ /**
2633
+ * Outline Style
2634
+ * @see https://tailwindcss.com/docs/outline-style
2635
+ */
2636
+ "outline-style": [{
2637
+ outline: [...scaleLineStyle(), "none", "hidden"]
2638
+ }],
2639
+ /**
2640
+ * Outline Offset
2641
+ * @see https://tailwindcss.com/docs/outline-offset
2642
+ */
2643
+ "outline-offset": [{
2644
+ "outline-offset": [isNumber, isArbitraryVariable, isArbitraryValue]
2645
+ }],
2646
+ /**
2647
+ * Outline Width
2648
+ * @see https://tailwindcss.com/docs/outline-width
2649
+ */
2650
+ "outline-w": [{
2651
+ outline: ["", isNumber, isArbitraryVariableLength, isArbitraryLength]
2652
+ }],
2653
+ /**
2654
+ * Outline Color
2655
+ * @see https://tailwindcss.com/docs/outline-color
2656
+ */
2657
+ "outline-color": [{
2658
+ outline: scaleColor()
2659
+ }],
2660
+ // ---------------
2661
+ // --- Effects ---
2662
+ // ---------------
2663
+ /**
2664
+ * Box Shadow
2665
+ * @see https://tailwindcss.com/docs/box-shadow
2666
+ */
2667
+ shadow: [{
2668
+ shadow: [
2669
+ // Deprecated since Tailwind CSS v4.0.0
2670
+ "",
2671
+ "none",
2672
+ themeShadow,
2673
+ isArbitraryVariableShadow,
2674
+ isArbitraryShadow
2675
+ ]
2676
+ }],
2677
+ /**
2678
+ * Box Shadow Color
2679
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
2680
+ */
2681
+ "shadow-color": [{
2682
+ shadow: scaleColor()
2683
+ }],
2684
+ /**
2685
+ * Inset Box Shadow
2686
+ * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
2687
+ */
2688
+ "inset-shadow": [{
2689
+ "inset-shadow": ["none", themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]
2690
+ }],
2691
+ /**
2692
+ * Inset Box Shadow Color
2693
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
2694
+ */
2695
+ "inset-shadow-color": [{
2696
+ "inset-shadow": scaleColor()
2697
+ }],
2698
+ /**
2699
+ * Ring Width
2700
+ * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
2701
+ */
2702
+ "ring-w": [{
2703
+ ring: scaleBorderWidth()
2704
+ }],
2705
+ /**
2706
+ * Ring Width Inset
2707
+ * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings
2708
+ * @deprecated since Tailwind CSS v4.0.0
2709
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2710
+ */
2711
+ "ring-w-inset": ["ring-inset"],
2712
+ /**
2713
+ * Ring Color
2714
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
2715
+ */
2716
+ "ring-color": [{
2717
+ ring: scaleColor()
2718
+ }],
2719
+ /**
2720
+ * Ring Offset Width
2721
+ * @see https://v3.tailwindcss.com/docs/ring-offset-width
2722
+ * @deprecated since Tailwind CSS v4.0.0
2723
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2724
+ */
2725
+ "ring-offset-w": [{
2726
+ "ring-offset": [isNumber, isArbitraryLength]
2727
+ }],
2728
+ /**
2729
+ * Ring Offset Color
2730
+ * @see https://v3.tailwindcss.com/docs/ring-offset-color
2731
+ * @deprecated since Tailwind CSS v4.0.0
2732
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2733
+ */
2734
+ "ring-offset-color": [{
2735
+ "ring-offset": scaleColor()
2736
+ }],
2737
+ /**
2738
+ * Inset Ring Width
2739
+ * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
2740
+ */
2741
+ "inset-ring-w": [{
2742
+ "inset-ring": scaleBorderWidth()
2743
+ }],
2744
+ /**
2745
+ * Inset Ring Color
2746
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
2747
+ */
2748
+ "inset-ring-color": [{
2749
+ "inset-ring": scaleColor()
2750
+ }],
2751
+ /**
2752
+ * Text Shadow
2753
+ * @see https://tailwindcss.com/docs/text-shadow
2754
+ */
2755
+ "text-shadow": [{
2756
+ "text-shadow": ["none", themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]
2757
+ }],
2758
+ /**
2759
+ * Text Shadow Color
2760
+ * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
2761
+ */
2762
+ "text-shadow-color": [{
2763
+ "text-shadow": scaleColor()
2764
+ }],
2765
+ /**
2766
+ * Opacity
2767
+ * @see https://tailwindcss.com/docs/opacity
2768
+ */
2769
+ opacity: [{
2770
+ opacity: [isNumber, isArbitraryVariable, isArbitraryValue]
2771
+ }],
2772
+ /**
2773
+ * Mix Blend Mode
2774
+ * @see https://tailwindcss.com/docs/mix-blend-mode
2775
+ */
2776
+ "mix-blend": [{
2777
+ "mix-blend": [...scaleBlendMode(), "plus-darker", "plus-lighter"]
2778
+ }],
2779
+ /**
2780
+ * Background Blend Mode
2781
+ * @see https://tailwindcss.com/docs/background-blend-mode
2782
+ */
2783
+ "bg-blend": [{
2784
+ "bg-blend": scaleBlendMode()
2785
+ }],
2786
+ /**
2787
+ * Mask Clip
2788
+ * @see https://tailwindcss.com/docs/mask-clip
2789
+ */
2790
+ "mask-clip": [{
2791
+ "mask-clip": ["border", "padding", "content", "fill", "stroke", "view"]
2792
+ }, "mask-no-clip"],
2793
+ /**
2794
+ * Mask Composite
2795
+ * @see https://tailwindcss.com/docs/mask-composite
2796
+ */
2797
+ "mask-composite": [{
2798
+ mask: ["add", "subtract", "intersect", "exclude"]
2799
+ }],
2800
+ /**
2801
+ * Mask Image
2802
+ * @see https://tailwindcss.com/docs/mask-image
2803
+ */
2804
+ "mask-image-linear-pos": [{
2805
+ "mask-linear": [isNumber]
2806
+ }],
2807
+ "mask-image-linear-from-pos": [{
2808
+ "mask-linear-from": scaleMaskImagePosition()
2809
+ }],
2810
+ "mask-image-linear-to-pos": [{
2811
+ "mask-linear-to": scaleMaskImagePosition()
2812
+ }],
2813
+ "mask-image-linear-from-color": [{
2814
+ "mask-linear-from": scaleColor()
2815
+ }],
2816
+ "mask-image-linear-to-color": [{
2817
+ "mask-linear-to": scaleColor()
2818
+ }],
2819
+ "mask-image-t-from-pos": [{
2820
+ "mask-t-from": scaleMaskImagePosition()
2821
+ }],
2822
+ "mask-image-t-to-pos": [{
2823
+ "mask-t-to": scaleMaskImagePosition()
2824
+ }],
2825
+ "mask-image-t-from-color": [{
2826
+ "mask-t-from": scaleColor()
2827
+ }],
2828
+ "mask-image-t-to-color": [{
2829
+ "mask-t-to": scaleColor()
2830
+ }],
2831
+ "mask-image-r-from-pos": [{
2832
+ "mask-r-from": scaleMaskImagePosition()
2833
+ }],
2834
+ "mask-image-r-to-pos": [{
2835
+ "mask-r-to": scaleMaskImagePosition()
2836
+ }],
2837
+ "mask-image-r-from-color": [{
2838
+ "mask-r-from": scaleColor()
2839
+ }],
2840
+ "mask-image-r-to-color": [{
2841
+ "mask-r-to": scaleColor()
2842
+ }],
2843
+ "mask-image-b-from-pos": [{
2844
+ "mask-b-from": scaleMaskImagePosition()
2845
+ }],
2846
+ "mask-image-b-to-pos": [{
2847
+ "mask-b-to": scaleMaskImagePosition()
2848
+ }],
2849
+ "mask-image-b-from-color": [{
2850
+ "mask-b-from": scaleColor()
2851
+ }],
2852
+ "mask-image-b-to-color": [{
2853
+ "mask-b-to": scaleColor()
2854
+ }],
2855
+ "mask-image-l-from-pos": [{
2856
+ "mask-l-from": scaleMaskImagePosition()
2857
+ }],
2858
+ "mask-image-l-to-pos": [{
2859
+ "mask-l-to": scaleMaskImagePosition()
2860
+ }],
2861
+ "mask-image-l-from-color": [{
2862
+ "mask-l-from": scaleColor()
2863
+ }],
2864
+ "mask-image-l-to-color": [{
2865
+ "mask-l-to": scaleColor()
2866
+ }],
2867
+ "mask-image-x-from-pos": [{
2868
+ "mask-x-from": scaleMaskImagePosition()
2869
+ }],
2870
+ "mask-image-x-to-pos": [{
2871
+ "mask-x-to": scaleMaskImagePosition()
2872
+ }],
2873
+ "mask-image-x-from-color": [{
2874
+ "mask-x-from": scaleColor()
2875
+ }],
2876
+ "mask-image-x-to-color": [{
2877
+ "mask-x-to": scaleColor()
2878
+ }],
2879
+ "mask-image-y-from-pos": [{
2880
+ "mask-y-from": scaleMaskImagePosition()
2881
+ }],
2882
+ "mask-image-y-to-pos": [{
2883
+ "mask-y-to": scaleMaskImagePosition()
2884
+ }],
2885
+ "mask-image-y-from-color": [{
2886
+ "mask-y-from": scaleColor()
2887
+ }],
2888
+ "mask-image-y-to-color": [{
2889
+ "mask-y-to": scaleColor()
2890
+ }],
2891
+ "mask-image-radial": [{
2892
+ "mask-radial": [isArbitraryVariable, isArbitraryValue]
2893
+ }],
2894
+ "mask-image-radial-from-pos": [{
2895
+ "mask-radial-from": scaleMaskImagePosition()
2896
+ }],
2897
+ "mask-image-radial-to-pos": [{
2898
+ "mask-radial-to": scaleMaskImagePosition()
2899
+ }],
2900
+ "mask-image-radial-from-color": [{
2901
+ "mask-radial-from": scaleColor()
2902
+ }],
2903
+ "mask-image-radial-to-color": [{
2904
+ "mask-radial-to": scaleColor()
2905
+ }],
2906
+ "mask-image-radial-shape": [{
2907
+ "mask-radial": ["circle", "ellipse"]
2908
+ }],
2909
+ "mask-image-radial-size": [{
2910
+ "mask-radial": [{
2911
+ closest: ["side", "corner"],
2912
+ farthest: ["side", "corner"]
2913
+ }]
2914
+ }],
2915
+ "mask-image-radial-pos": [{
2916
+ "mask-radial-at": scalePosition()
2917
+ }],
2918
+ "mask-image-conic-pos": [{
2919
+ "mask-conic": [isNumber]
2920
+ }],
2921
+ "mask-image-conic-from-pos": [{
2922
+ "mask-conic-from": scaleMaskImagePosition()
2923
+ }],
2924
+ "mask-image-conic-to-pos": [{
2925
+ "mask-conic-to": scaleMaskImagePosition()
2926
+ }],
2927
+ "mask-image-conic-from-color": [{
2928
+ "mask-conic-from": scaleColor()
2929
+ }],
2930
+ "mask-image-conic-to-color": [{
2931
+ "mask-conic-to": scaleColor()
2932
+ }],
2933
+ /**
2934
+ * Mask Mode
2935
+ * @see https://tailwindcss.com/docs/mask-mode
2936
+ */
2937
+ "mask-mode": [{
2938
+ mask: ["alpha", "luminance", "match"]
2939
+ }],
2940
+ /**
2941
+ * Mask Origin
2942
+ * @see https://tailwindcss.com/docs/mask-origin
2943
+ */
2944
+ "mask-origin": [{
2945
+ "mask-origin": ["border", "padding", "content", "fill", "stroke", "view"]
2946
+ }],
2947
+ /**
2948
+ * Mask Position
2949
+ * @see https://tailwindcss.com/docs/mask-position
2950
+ */
2951
+ "mask-position": [{
2952
+ mask: scaleBgPosition()
2953
+ }],
2954
+ /**
2955
+ * Mask Repeat
2956
+ * @see https://tailwindcss.com/docs/mask-repeat
2957
+ */
2958
+ "mask-repeat": [{
2959
+ mask: scaleBgRepeat()
2960
+ }],
2961
+ /**
2962
+ * Mask Size
2963
+ * @see https://tailwindcss.com/docs/mask-size
2964
+ */
2965
+ "mask-size": [{
2966
+ mask: scaleBgSize()
2967
+ }],
2968
+ /**
2969
+ * Mask Type
2970
+ * @see https://tailwindcss.com/docs/mask-type
2971
+ */
2972
+ "mask-type": [{
2973
+ "mask-type": ["alpha", "luminance"]
2974
+ }],
2975
+ /**
2976
+ * Mask Image
2977
+ * @see https://tailwindcss.com/docs/mask-image
2978
+ */
2979
+ "mask-image": [{
2980
+ mask: ["none", isArbitraryVariable, isArbitraryValue]
2981
+ }],
2982
+ // ---------------
2983
+ // --- Filters ---
2984
+ // ---------------
2985
+ /**
2986
+ * Filter
2987
+ * @see https://tailwindcss.com/docs/filter
2988
+ */
2989
+ filter: [{
2990
+ filter: [
2991
+ // Deprecated since Tailwind CSS v3.0.0
2992
+ "",
2993
+ "none",
2994
+ isArbitraryVariable,
2995
+ isArbitraryValue
2996
+ ]
2997
+ }],
2998
+ /**
2999
+ * Blur
3000
+ * @see https://tailwindcss.com/docs/blur
3001
+ */
3002
+ blur: [{
3003
+ blur: scaleBlur()
3004
+ }],
3005
+ /**
3006
+ * Brightness
3007
+ * @see https://tailwindcss.com/docs/brightness
3008
+ */
3009
+ brightness: [{
3010
+ brightness: [isNumber, isArbitraryVariable, isArbitraryValue]
3011
+ }],
3012
+ /**
3013
+ * Contrast
3014
+ * @see https://tailwindcss.com/docs/contrast
3015
+ */
3016
+ contrast: [{
3017
+ contrast: [isNumber, isArbitraryVariable, isArbitraryValue]
3018
+ }],
3019
+ /**
3020
+ * Drop Shadow
3021
+ * @see https://tailwindcss.com/docs/drop-shadow
3022
+ */
3023
+ "drop-shadow": [{
3024
+ "drop-shadow": [
3025
+ // Deprecated since Tailwind CSS v4.0.0
3026
+ "",
3027
+ "none",
3028
+ themeDropShadow,
3029
+ isArbitraryVariableShadow,
3030
+ isArbitraryShadow
3031
+ ]
3032
+ }],
3033
+ /**
3034
+ * Drop Shadow Color
3035
+ * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
3036
+ */
3037
+ "drop-shadow-color": [{
3038
+ "drop-shadow": scaleColor()
3039
+ }],
3040
+ /**
3041
+ * Grayscale
3042
+ * @see https://tailwindcss.com/docs/grayscale
3043
+ */
3044
+ grayscale: [{
3045
+ grayscale: ["", isNumber, isArbitraryVariable, isArbitraryValue]
3046
+ }],
3047
+ /**
3048
+ * Hue Rotate
3049
+ * @see https://tailwindcss.com/docs/hue-rotate
3050
+ */
3051
+ "hue-rotate": [{
3052
+ "hue-rotate": [isNumber, isArbitraryVariable, isArbitraryValue]
3053
+ }],
3054
+ /**
3055
+ * Invert
3056
+ * @see https://tailwindcss.com/docs/invert
3057
+ */
3058
+ invert: [{
3059
+ invert: ["", isNumber, isArbitraryVariable, isArbitraryValue]
3060
+ }],
3061
+ /**
3062
+ * Saturate
3063
+ * @see https://tailwindcss.com/docs/saturate
3064
+ */
3065
+ saturate: [{
3066
+ saturate: [isNumber, isArbitraryVariable, isArbitraryValue]
3067
+ }],
3068
+ /**
3069
+ * Sepia
3070
+ * @see https://tailwindcss.com/docs/sepia
3071
+ */
3072
+ sepia: [{
3073
+ sepia: ["", isNumber, isArbitraryVariable, isArbitraryValue]
3074
+ }],
3075
+ /**
3076
+ * Backdrop Filter
3077
+ * @see https://tailwindcss.com/docs/backdrop-filter
3078
+ */
3079
+ "backdrop-filter": [{
3080
+ "backdrop-filter": [
3081
+ // Deprecated since Tailwind CSS v3.0.0
3082
+ "",
3083
+ "none",
3084
+ isArbitraryVariable,
3085
+ isArbitraryValue
3086
+ ]
3087
+ }],
3088
+ /**
3089
+ * Backdrop Blur
3090
+ * @see https://tailwindcss.com/docs/backdrop-blur
3091
+ */
3092
+ "backdrop-blur": [{
3093
+ "backdrop-blur": scaleBlur()
3094
+ }],
3095
+ /**
3096
+ * Backdrop Brightness
3097
+ * @see https://tailwindcss.com/docs/backdrop-brightness
3098
+ */
3099
+ "backdrop-brightness": [{
3100
+ "backdrop-brightness": [isNumber, isArbitraryVariable, isArbitraryValue]
3101
+ }],
3102
+ /**
3103
+ * Backdrop Contrast
3104
+ * @see https://tailwindcss.com/docs/backdrop-contrast
3105
+ */
3106
+ "backdrop-contrast": [{
3107
+ "backdrop-contrast": [isNumber, isArbitraryVariable, isArbitraryValue]
3108
+ }],
3109
+ /**
3110
+ * Backdrop Grayscale
3111
+ * @see https://tailwindcss.com/docs/backdrop-grayscale
3112
+ */
3113
+ "backdrop-grayscale": [{
3114
+ "backdrop-grayscale": ["", isNumber, isArbitraryVariable, isArbitraryValue]
3115
+ }],
3116
+ /**
3117
+ * Backdrop Hue Rotate
3118
+ * @see https://tailwindcss.com/docs/backdrop-hue-rotate
3119
+ */
3120
+ "backdrop-hue-rotate": [{
3121
+ "backdrop-hue-rotate": [isNumber, isArbitraryVariable, isArbitraryValue]
3122
+ }],
3123
+ /**
3124
+ * Backdrop Invert
3125
+ * @see https://tailwindcss.com/docs/backdrop-invert
3126
+ */
3127
+ "backdrop-invert": [{
3128
+ "backdrop-invert": ["", isNumber, isArbitraryVariable, isArbitraryValue]
3129
+ }],
3130
+ /**
3131
+ * Backdrop Opacity
3132
+ * @see https://tailwindcss.com/docs/backdrop-opacity
3133
+ */
3134
+ "backdrop-opacity": [{
3135
+ "backdrop-opacity": [isNumber, isArbitraryVariable, isArbitraryValue]
3136
+ }],
3137
+ /**
3138
+ * Backdrop Saturate
3139
+ * @see https://tailwindcss.com/docs/backdrop-saturate
3140
+ */
3141
+ "backdrop-saturate": [{
3142
+ "backdrop-saturate": [isNumber, isArbitraryVariable, isArbitraryValue]
3143
+ }],
3144
+ /**
3145
+ * Backdrop Sepia
3146
+ * @see https://tailwindcss.com/docs/backdrop-sepia
3147
+ */
3148
+ "backdrop-sepia": [{
3149
+ "backdrop-sepia": ["", isNumber, isArbitraryVariable, isArbitraryValue]
3150
+ }],
3151
+ // --------------
3152
+ // --- Tables ---
3153
+ // --------------
3154
+ /**
3155
+ * Border Collapse
3156
+ * @see https://tailwindcss.com/docs/border-collapse
3157
+ */
3158
+ "border-collapse": [{
3159
+ border: ["collapse", "separate"]
3160
+ }],
3161
+ /**
3162
+ * Border Spacing
3163
+ * @see https://tailwindcss.com/docs/border-spacing
3164
+ */
3165
+ "border-spacing": [{
3166
+ "border-spacing": scaleUnambiguousSpacing()
3167
+ }],
3168
+ /**
3169
+ * Border Spacing X
3170
+ * @see https://tailwindcss.com/docs/border-spacing
3171
+ */
3172
+ "border-spacing-x": [{
3173
+ "border-spacing-x": scaleUnambiguousSpacing()
3174
+ }],
3175
+ /**
3176
+ * Border Spacing Y
3177
+ * @see https://tailwindcss.com/docs/border-spacing
3178
+ */
3179
+ "border-spacing-y": [{
3180
+ "border-spacing-y": scaleUnambiguousSpacing()
3181
+ }],
3182
+ /**
3183
+ * Table Layout
3184
+ * @see https://tailwindcss.com/docs/table-layout
3185
+ */
3186
+ "table-layout": [{
3187
+ table: ["auto", "fixed"]
3188
+ }],
3189
+ /**
3190
+ * Caption Side
3191
+ * @see https://tailwindcss.com/docs/caption-side
3192
+ */
3193
+ caption: [{
3194
+ caption: ["top", "bottom"]
3195
+ }],
3196
+ // ---------------------------------
3197
+ // --- Transitions and Animation ---
3198
+ // ---------------------------------
3199
+ /**
3200
+ * Transition Property
3201
+ * @see https://tailwindcss.com/docs/transition-property
3202
+ */
3203
+ transition: [{
3204
+ transition: ["", "all", "colors", "opacity", "shadow", "transform", "none", isArbitraryVariable, isArbitraryValue]
3205
+ }],
3206
+ /**
3207
+ * Transition Behavior
3208
+ * @see https://tailwindcss.com/docs/transition-behavior
3209
+ */
3210
+ "transition-behavior": [{
3211
+ transition: ["normal", "discrete"]
3212
+ }],
3213
+ /**
3214
+ * Transition Duration
3215
+ * @see https://tailwindcss.com/docs/transition-duration
3216
+ */
3217
+ duration: [{
3218
+ duration: [isNumber, "initial", isArbitraryVariable, isArbitraryValue]
3219
+ }],
3220
+ /**
3221
+ * Transition Timing Function
3222
+ * @see https://tailwindcss.com/docs/transition-timing-function
3223
+ */
3224
+ ease: [{
3225
+ ease: ["linear", "initial", themeEase, isArbitraryVariable, isArbitraryValue]
3226
+ }],
3227
+ /**
3228
+ * Transition Delay
3229
+ * @see https://tailwindcss.com/docs/transition-delay
3230
+ */
3231
+ delay: [{
3232
+ delay: [isNumber, isArbitraryVariable, isArbitraryValue]
3233
+ }],
3234
+ /**
3235
+ * Animation
3236
+ * @see https://tailwindcss.com/docs/animation
3237
+ */
3238
+ animate: [{
3239
+ animate: ["none", themeAnimate, isArbitraryVariable, isArbitraryValue]
3240
+ }],
3241
+ // ------------------
3242
+ // --- Transforms ---
3243
+ // ------------------
3244
+ /**
3245
+ * Backface Visibility
3246
+ * @see https://tailwindcss.com/docs/backface-visibility
3247
+ */
3248
+ backface: [{
3249
+ backface: ["hidden", "visible"]
3250
+ }],
3251
+ /**
3252
+ * Perspective
3253
+ * @see https://tailwindcss.com/docs/perspective
3254
+ */
3255
+ perspective: [{
3256
+ perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]
3257
+ }],
3258
+ /**
3259
+ * Perspective Origin
3260
+ * @see https://tailwindcss.com/docs/perspective-origin
3261
+ */
3262
+ "perspective-origin": [{
3263
+ "perspective-origin": scalePositionWithArbitrary()
3264
+ }],
3265
+ /**
3266
+ * Rotate
3267
+ * @see https://tailwindcss.com/docs/rotate
3268
+ */
3269
+ rotate: [{
3270
+ rotate: scaleRotate()
3271
+ }],
3272
+ /**
3273
+ * Rotate X
3274
+ * @see https://tailwindcss.com/docs/rotate
3275
+ */
3276
+ "rotate-x": [{
3277
+ "rotate-x": scaleRotate()
3278
+ }],
3279
+ /**
3280
+ * Rotate Y
3281
+ * @see https://tailwindcss.com/docs/rotate
3282
+ */
3283
+ "rotate-y": [{
3284
+ "rotate-y": scaleRotate()
3285
+ }],
3286
+ /**
3287
+ * Rotate Z
3288
+ * @see https://tailwindcss.com/docs/rotate
3289
+ */
3290
+ "rotate-z": [{
3291
+ "rotate-z": scaleRotate()
3292
+ }],
3293
+ /**
3294
+ * Scale
3295
+ * @see https://tailwindcss.com/docs/scale
3296
+ */
3297
+ scale: [{
3298
+ scale: scaleScale()
3299
+ }],
3300
+ /**
3301
+ * Scale X
3302
+ * @see https://tailwindcss.com/docs/scale
3303
+ */
3304
+ "scale-x": [{
3305
+ "scale-x": scaleScale()
3306
+ }],
3307
+ /**
3308
+ * Scale Y
3309
+ * @see https://tailwindcss.com/docs/scale
3310
+ */
3311
+ "scale-y": [{
3312
+ "scale-y": scaleScale()
3313
+ }],
3314
+ /**
3315
+ * Scale Z
3316
+ * @see https://tailwindcss.com/docs/scale
3317
+ */
3318
+ "scale-z": [{
3319
+ "scale-z": scaleScale()
3320
+ }],
3321
+ /**
3322
+ * Scale 3D
3323
+ * @see https://tailwindcss.com/docs/scale
3324
+ */
3325
+ "scale-3d": ["scale-3d"],
3326
+ /**
3327
+ * Skew
3328
+ * @see https://tailwindcss.com/docs/skew
3329
+ */
3330
+ skew: [{
3331
+ skew: scaleSkew()
3332
+ }],
3333
+ /**
3334
+ * Skew X
3335
+ * @see https://tailwindcss.com/docs/skew
3336
+ */
3337
+ "skew-x": [{
3338
+ "skew-x": scaleSkew()
3339
+ }],
3340
+ /**
3341
+ * Skew Y
3342
+ * @see https://tailwindcss.com/docs/skew
3343
+ */
3344
+ "skew-y": [{
3345
+ "skew-y": scaleSkew()
3346
+ }],
3347
+ /**
3348
+ * Transform
3349
+ * @see https://tailwindcss.com/docs/transform
3350
+ */
3351
+ transform: [{
3352
+ transform: [isArbitraryVariable, isArbitraryValue, "", "none", "gpu", "cpu"]
3353
+ }],
3354
+ /**
3355
+ * Transform Origin
3356
+ * @see https://tailwindcss.com/docs/transform-origin
3357
+ */
3358
+ "transform-origin": [{
3359
+ origin: scalePositionWithArbitrary()
3360
+ }],
3361
+ /**
3362
+ * Transform Style
3363
+ * @see https://tailwindcss.com/docs/transform-style
3364
+ */
3365
+ "transform-style": [{
3366
+ transform: ["3d", "flat"]
3367
+ }],
3368
+ /**
3369
+ * Translate
3370
+ * @see https://tailwindcss.com/docs/translate
3371
+ */
3372
+ translate: [{
3373
+ translate: scaleTranslate()
3374
+ }],
3375
+ /**
3376
+ * Translate X
3377
+ * @see https://tailwindcss.com/docs/translate
3378
+ */
3379
+ "translate-x": [{
3380
+ "translate-x": scaleTranslate()
3381
+ }],
3382
+ /**
3383
+ * Translate Y
3384
+ * @see https://tailwindcss.com/docs/translate
3385
+ */
3386
+ "translate-y": [{
3387
+ "translate-y": scaleTranslate()
3388
+ }],
3389
+ /**
3390
+ * Translate Z
3391
+ * @see https://tailwindcss.com/docs/translate
3392
+ */
3393
+ "translate-z": [{
3394
+ "translate-z": scaleTranslate()
3395
+ }],
3396
+ /**
3397
+ * Translate None
3398
+ * @see https://tailwindcss.com/docs/translate
3399
+ */
3400
+ "translate-none": ["translate-none"],
3401
+ // ---------------------
3402
+ // --- Interactivity ---
3403
+ // ---------------------
3404
+ /**
3405
+ * Accent Color
3406
+ * @see https://tailwindcss.com/docs/accent-color
3407
+ */
3408
+ accent: [{
3409
+ accent: scaleColor()
3410
+ }],
3411
+ /**
3412
+ * Appearance
3413
+ * @see https://tailwindcss.com/docs/appearance
3414
+ */
3415
+ appearance: [{
3416
+ appearance: ["none", "auto"]
3417
+ }],
3418
+ /**
3419
+ * Caret Color
3420
+ * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
3421
+ */
3422
+ "caret-color": [{
3423
+ caret: scaleColor()
3424
+ }],
3425
+ /**
3426
+ * Color Scheme
3427
+ * @see https://tailwindcss.com/docs/color-scheme
3428
+ */
3429
+ "color-scheme": [{
3430
+ scheme: ["normal", "dark", "light", "light-dark", "only-dark", "only-light"]
3431
+ }],
3432
+ /**
3433
+ * Cursor
3434
+ * @see https://tailwindcss.com/docs/cursor
3435
+ */
3436
+ cursor: [{
3437
+ 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]
3438
+ }],
3439
+ /**
3440
+ * Field Sizing
3441
+ * @see https://tailwindcss.com/docs/field-sizing
3442
+ */
3443
+ "field-sizing": [{
3444
+ "field-sizing": ["fixed", "content"]
3445
+ }],
3446
+ /**
3447
+ * Pointer Events
3448
+ * @see https://tailwindcss.com/docs/pointer-events
3449
+ */
3450
+ "pointer-events": [{
3451
+ "pointer-events": ["auto", "none"]
3452
+ }],
3453
+ /**
3454
+ * Resize
3455
+ * @see https://tailwindcss.com/docs/resize
3456
+ */
3457
+ resize: [{
3458
+ resize: ["none", "", "y", "x"]
3459
+ }],
3460
+ /**
3461
+ * Scroll Behavior
3462
+ * @see https://tailwindcss.com/docs/scroll-behavior
3463
+ */
3464
+ "scroll-behavior": [{
3465
+ scroll: ["auto", "smooth"]
3466
+ }],
3467
+ /**
3468
+ * Scroll Margin
3469
+ * @see https://tailwindcss.com/docs/scroll-margin
3470
+ */
3471
+ "scroll-m": [{
3472
+ "scroll-m": scaleUnambiguousSpacing()
3473
+ }],
3474
+ /**
3475
+ * Scroll Margin X
3476
+ * @see https://tailwindcss.com/docs/scroll-margin
3477
+ */
3478
+ "scroll-mx": [{
3479
+ "scroll-mx": scaleUnambiguousSpacing()
3480
+ }],
3481
+ /**
3482
+ * Scroll Margin Y
3483
+ * @see https://tailwindcss.com/docs/scroll-margin
3484
+ */
3485
+ "scroll-my": [{
3486
+ "scroll-my": scaleUnambiguousSpacing()
3487
+ }],
3488
+ /**
3489
+ * Scroll Margin Start
3490
+ * @see https://tailwindcss.com/docs/scroll-margin
3491
+ */
3492
+ "scroll-ms": [{
3493
+ "scroll-ms": scaleUnambiguousSpacing()
3494
+ }],
3495
+ /**
3496
+ * Scroll Margin End
3497
+ * @see https://tailwindcss.com/docs/scroll-margin
3498
+ */
3499
+ "scroll-me": [{
3500
+ "scroll-me": scaleUnambiguousSpacing()
3501
+ }],
3502
+ /**
3503
+ * Scroll Margin Top
3504
+ * @see https://tailwindcss.com/docs/scroll-margin
3505
+ */
3506
+ "scroll-mt": [{
3507
+ "scroll-mt": scaleUnambiguousSpacing()
3508
+ }],
3509
+ /**
3510
+ * Scroll Margin Right
3511
+ * @see https://tailwindcss.com/docs/scroll-margin
3512
+ */
3513
+ "scroll-mr": [{
3514
+ "scroll-mr": scaleUnambiguousSpacing()
3515
+ }],
3516
+ /**
3517
+ * Scroll Margin Bottom
3518
+ * @see https://tailwindcss.com/docs/scroll-margin
3519
+ */
3520
+ "scroll-mb": [{
3521
+ "scroll-mb": scaleUnambiguousSpacing()
3522
+ }],
3523
+ /**
3524
+ * Scroll Margin Left
3525
+ * @see https://tailwindcss.com/docs/scroll-margin
3526
+ */
3527
+ "scroll-ml": [{
3528
+ "scroll-ml": scaleUnambiguousSpacing()
3529
+ }],
3530
+ /**
3531
+ * Scroll Padding
3532
+ * @see https://tailwindcss.com/docs/scroll-padding
3533
+ */
3534
+ "scroll-p": [{
3535
+ "scroll-p": scaleUnambiguousSpacing()
3536
+ }],
3537
+ /**
3538
+ * Scroll Padding X
3539
+ * @see https://tailwindcss.com/docs/scroll-padding
3540
+ */
3541
+ "scroll-px": [{
3542
+ "scroll-px": scaleUnambiguousSpacing()
3543
+ }],
3544
+ /**
3545
+ * Scroll Padding Y
3546
+ * @see https://tailwindcss.com/docs/scroll-padding
3547
+ */
3548
+ "scroll-py": [{
3549
+ "scroll-py": scaleUnambiguousSpacing()
3550
+ }],
3551
+ /**
3552
+ * Scroll Padding Start
3553
+ * @see https://tailwindcss.com/docs/scroll-padding
3554
+ */
3555
+ "scroll-ps": [{
3556
+ "scroll-ps": scaleUnambiguousSpacing()
3557
+ }],
3558
+ /**
3559
+ * Scroll Padding End
3560
+ * @see https://tailwindcss.com/docs/scroll-padding
3561
+ */
3562
+ "scroll-pe": [{
3563
+ "scroll-pe": scaleUnambiguousSpacing()
3564
+ }],
3565
+ /**
3566
+ * Scroll Padding Top
3567
+ * @see https://tailwindcss.com/docs/scroll-padding
3568
+ */
3569
+ "scroll-pt": [{
3570
+ "scroll-pt": scaleUnambiguousSpacing()
3571
+ }],
3572
+ /**
3573
+ * Scroll Padding Right
3574
+ * @see https://tailwindcss.com/docs/scroll-padding
3575
+ */
3576
+ "scroll-pr": [{
3577
+ "scroll-pr": scaleUnambiguousSpacing()
3578
+ }],
3579
+ /**
3580
+ * Scroll Padding Bottom
3581
+ * @see https://tailwindcss.com/docs/scroll-padding
3582
+ */
3583
+ "scroll-pb": [{
3584
+ "scroll-pb": scaleUnambiguousSpacing()
3585
+ }],
3586
+ /**
3587
+ * Scroll Padding Left
3588
+ * @see https://tailwindcss.com/docs/scroll-padding
3589
+ */
3590
+ "scroll-pl": [{
3591
+ "scroll-pl": scaleUnambiguousSpacing()
3592
+ }],
3593
+ /**
3594
+ * Scroll Snap Align
3595
+ * @see https://tailwindcss.com/docs/scroll-snap-align
3596
+ */
3597
+ "snap-align": [{
3598
+ snap: ["start", "end", "center", "align-none"]
3599
+ }],
3600
+ /**
3601
+ * Scroll Snap Stop
3602
+ * @see https://tailwindcss.com/docs/scroll-snap-stop
3603
+ */
3604
+ "snap-stop": [{
3605
+ snap: ["normal", "always"]
3606
+ }],
3607
+ /**
3608
+ * Scroll Snap Type
3609
+ * @see https://tailwindcss.com/docs/scroll-snap-type
3610
+ */
3611
+ "snap-type": [{
3612
+ snap: ["none", "x", "y", "both"]
3613
+ }],
3614
+ /**
3615
+ * Scroll Snap Type Strictness
3616
+ * @see https://tailwindcss.com/docs/scroll-snap-type
3617
+ */
3618
+ "snap-strictness": [{
3619
+ snap: ["mandatory", "proximity"]
3620
+ }],
3621
+ /**
3622
+ * Touch Action
3623
+ * @see https://tailwindcss.com/docs/touch-action
3624
+ */
3625
+ touch: [{
3626
+ touch: ["auto", "none", "manipulation"]
3627
+ }],
3628
+ /**
3629
+ * Touch Action X
3630
+ * @see https://tailwindcss.com/docs/touch-action
3631
+ */
3632
+ "touch-x": [{
3633
+ "touch-pan": ["x", "left", "right"]
3634
+ }],
3635
+ /**
3636
+ * Touch Action Y
3637
+ * @see https://tailwindcss.com/docs/touch-action
3638
+ */
3639
+ "touch-y": [{
3640
+ "touch-pan": ["y", "up", "down"]
3641
+ }],
3642
+ /**
3643
+ * Touch Action Pinch Zoom
3644
+ * @see https://tailwindcss.com/docs/touch-action
3645
+ */
3646
+ "touch-pz": ["touch-pinch-zoom"],
3647
+ /**
3648
+ * User Select
3649
+ * @see https://tailwindcss.com/docs/user-select
3650
+ */
3651
+ select: [{
3652
+ select: ["none", "text", "all", "auto"]
3653
+ }],
3654
+ /**
3655
+ * Will Change
3656
+ * @see https://tailwindcss.com/docs/will-change
3657
+ */
3658
+ "will-change": [{
3659
+ "will-change": ["auto", "scroll", "contents", "transform", isArbitraryVariable, isArbitraryValue]
3660
+ }],
3661
+ // -----------
3662
+ // --- SVG ---
3663
+ // -----------
3664
+ /**
3665
+ * Fill
3666
+ * @see https://tailwindcss.com/docs/fill
3667
+ */
3668
+ fill: [{
3669
+ fill: ["none", ...scaleColor()]
3670
+ }],
3671
+ /**
3672
+ * Stroke Width
3673
+ * @see https://tailwindcss.com/docs/stroke-width
3674
+ */
3675
+ "stroke-w": [{
3676
+ stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]
3677
+ }],
3678
+ /**
3679
+ * Stroke
3680
+ * @see https://tailwindcss.com/docs/stroke
3681
+ */
3682
+ stroke: [{
3683
+ stroke: ["none", ...scaleColor()]
3684
+ }],
3685
+ // ---------------------
3686
+ // --- Accessibility ---
3687
+ // ---------------------
3688
+ /**
3689
+ * Forced Color Adjust
3690
+ * @see https://tailwindcss.com/docs/forced-color-adjust
3691
+ */
3692
+ "forced-color-adjust": [{
3693
+ "forced-color-adjust": ["auto", "none"]
3694
+ }]
3695
+ },
3696
+ conflictingClassGroups: {
3697
+ overflow: ["overflow-x", "overflow-y"],
3698
+ overscroll: ["overscroll-x", "overscroll-y"],
3699
+ inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
3700
+ "inset-x": ["right", "left"],
3701
+ "inset-y": ["top", "bottom"],
3702
+ flex: ["basis", "grow", "shrink"],
3703
+ gap: ["gap-x", "gap-y"],
3704
+ p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
3705
+ px: ["pr", "pl"],
3706
+ py: ["pt", "pb"],
3707
+ m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
3708
+ mx: ["mr", "ml"],
3709
+ my: ["mt", "mb"],
3710
+ size: ["w", "h"],
3711
+ "font-size": ["leading"],
3712
+ "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
3713
+ "fvn-ordinal": ["fvn-normal"],
3714
+ "fvn-slashed-zero": ["fvn-normal"],
3715
+ "fvn-figure": ["fvn-normal"],
3716
+ "fvn-spacing": ["fvn-normal"],
3717
+ "fvn-fraction": ["fvn-normal"],
3718
+ "line-clamp": ["display", "overflow"],
3719
+ 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"],
3720
+ "rounded-s": ["rounded-ss", "rounded-es"],
3721
+ "rounded-e": ["rounded-se", "rounded-ee"],
3722
+ "rounded-t": ["rounded-tl", "rounded-tr"],
3723
+ "rounded-r": ["rounded-tr", "rounded-br"],
3724
+ "rounded-b": ["rounded-br", "rounded-bl"],
3725
+ "rounded-l": ["rounded-tl", "rounded-bl"],
3726
+ "border-spacing": ["border-spacing-x", "border-spacing-y"],
3727
+ "border-w": ["border-w-x", "border-w-y", "border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
3728
+ "border-w-x": ["border-w-r", "border-w-l"],
3729
+ "border-w-y": ["border-w-t", "border-w-b"],
3730
+ "border-color": ["border-color-x", "border-color-y", "border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
3731
+ "border-color-x": ["border-color-r", "border-color-l"],
3732
+ "border-color-y": ["border-color-t", "border-color-b"],
3733
+ translate: ["translate-x", "translate-y", "translate-none"],
3734
+ "translate-none": ["translate", "translate-x", "translate-y", "translate-z"],
3735
+ "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
3736
+ "scroll-mx": ["scroll-mr", "scroll-ml"],
3737
+ "scroll-my": ["scroll-mt", "scroll-mb"],
3738
+ "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
3739
+ "scroll-px": ["scroll-pr", "scroll-pl"],
3740
+ "scroll-py": ["scroll-pt", "scroll-pb"],
3741
+ touch: ["touch-x", "touch-y", "touch-pz"],
3742
+ "touch-x": ["touch"],
3743
+ "touch-y": ["touch"],
3744
+ "touch-pz": ["touch"]
3745
+ },
3746
+ conflictingClassGroupModifiers: {
3747
+ "font-size": ["leading"]
3748
+ },
3749
+ orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
3750
+ };
3751
+ };
3752
+ var mergeConfigs = (baseConfig, {
3753
+ cacheSize,
3754
+ prefix,
3755
+ experimentalParseClassName,
3756
+ extend = {},
3757
+ override = {}
3758
+ }) => {
3759
+ overrideProperty(baseConfig, "cacheSize", cacheSize);
3760
+ overrideProperty(baseConfig, "prefix", prefix);
3761
+ overrideProperty(baseConfig, "experimentalParseClassName", experimentalParseClassName);
3762
+ overrideConfigProperties(baseConfig.theme, override.theme);
3763
+ overrideConfigProperties(baseConfig.classGroups, override.classGroups);
3764
+ overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups);
3765
+ overrideConfigProperties(baseConfig.conflictingClassGroupModifiers, override.conflictingClassGroupModifiers);
3766
+ overrideProperty(baseConfig, "orderSensitiveModifiers", override.orderSensitiveModifiers);
3767
+ mergeConfigProperties(baseConfig.theme, extend.theme);
3768
+ mergeConfigProperties(baseConfig.classGroups, extend.classGroups);
3769
+ mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups);
3770
+ mergeConfigProperties(baseConfig.conflictingClassGroupModifiers, extend.conflictingClassGroupModifiers);
3771
+ mergeArrayProperties(baseConfig, extend, "orderSensitiveModifiers");
3772
+ return baseConfig;
3773
+ };
3774
+ var overrideProperty = (baseObject, overrideKey, overrideValue) => {
3775
+ if (overrideValue !== void 0) {
3776
+ baseObject[overrideKey] = overrideValue;
3777
+ }
3778
+ };
3779
+ var overrideConfigProperties = (baseObject, overrideObject) => {
3780
+ if (overrideObject) {
3781
+ for (const key in overrideObject) {
3782
+ overrideProperty(baseObject, key, overrideObject[key]);
3783
+ }
3784
+ }
3785
+ };
3786
+ var mergeConfigProperties = (baseObject, mergeObject) => {
3787
+ if (mergeObject) {
3788
+ for (const key in mergeObject) {
3789
+ mergeArrayProperties(baseObject, mergeObject, key);
3790
+ }
3791
+ }
3792
+ };
3793
+ var mergeArrayProperties = (baseObject, mergeObject, key) => {
3794
+ const mergeValue = mergeObject[key];
3795
+ if (mergeValue !== void 0) {
3796
+ baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue;
3797
+ }
3798
+ };
3799
+ var extendTailwindMerge = (configExtension, ...createConfig) => typeof configExtension === "function" ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);
3800
+
3801
+ // src/editor/utils/classname.ts
3802
+ var twMerge = extendTailwindMerge({
3803
+ prefix: "mly"
803
3804
  });
804
3805
  function cn(...inputs) {
805
3806
  return twMerge((0, import_clsx.clsx)(inputs));
@@ -822,7 +3823,7 @@ var Input = React.forwardRef(
822
3823
  __spreadValues(__spreadProps(__spreadValues({}, AUTOCOMPLETE_PASSWORD_MANAGERS_OFF), {
823
3824
  type,
824
3825
  className: cn(
825
- "mly-flex mly-h-10 mly-w-full mly-rounded-md mly-border mly-border-gray-200 mly-bg-white mly-px-3 mly-py-2 mly-text-sm mly-ring-offset-white file:mly-border-0 file:mly-bg-transparent file:mly-text-sm file:mly-font-medium placeholder:mly-text-gray-500 focus-visible:mly-outline-none focus-visible:mly-ring-2 focus-visible:mly-ring-gray-400 focus-visible:mly-ring-offset-2 disabled:mly-cursor-not-allowed disabled:mly-opacity-50",
3826
+ "mly:flex mly:h-10 mly:w-full mly:rounded-md mly:border mly:border-gray-200 mly:bg-white mly:px-3 mly:py-2 mly:text-sm mly:ring-offset-white mly:file:border-0 mly:file:bg-transparent mly:file:text-sm mly:file:font-medium mly:placeholder:text-gray-500 mly:focus-visible:outline-hidden mly:focus-visible:ring-2 mly:focus-visible:ring-gray-400 mly:focus-visible:ring-offset-2 mly:disabled:cursor-not-allowed mly:disabled:opacity-50",
826
3827
  "mly-editor",
827
3828
  className
828
3829
  ),
@@ -839,22 +3840,28 @@ var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"), 1);
839
3840
  var import_jsx_runtime2 = require("react/jsx-runtime");
840
3841
  var Popover = PopoverPrimitive.Root;
841
3842
  var PopoverTrigger = PopoverPrimitive.Trigger;
842
- var PopoverContent = React2.forwardRef((_a, ref) => {
843
- var _b = _a, { className, align = "center", sideOffset = 4 } = _b, props = __objRest(_b, ["className", "align", "sideOffset"]);
844
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(PopoverPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
845
- PopoverPrimitive.Content,
846
- __spreadValues({
847
- ref,
848
- align,
849
- sideOffset,
850
- className: cn(
851
- "mly-z-[9999] mly-w-72 mly-rounded-md mly-border mly-border-gray-200 mly-bg-white mly-p-4 mly-text-gray-950 mly-shadow-md mly-outline-none",
852
- "mly-editor",
853
- className
854
- )
855
- }, props)
856
- ) });
857
- });
3843
+ var PopoverContent = React2.forwardRef(
3844
+ (_a, ref) => {
3845
+ var _b = _a, { className, align = "center", sideOffset = 4, portal = false } = _b, props = __objRest(_b, ["className", "align", "sideOffset", "portal"]);
3846
+ const content = /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
3847
+ PopoverPrimitive.Content,
3848
+ __spreadValues({
3849
+ ref,
3850
+ align,
3851
+ sideOffset,
3852
+ className: cn(
3853
+ "mly:z-9999 mly:w-72 mly:rounded-md mly:border mly:border-gray-200 mly:bg-white mly:p-4 mly:text-gray-950 mly:shadow-md mly:outline-hidden",
3854
+ "mly-editor",
3855
+ className
3856
+ )
3857
+ }, props)
3858
+ );
3859
+ if (!portal) {
3860
+ return content;
3861
+ }
3862
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(PopoverPrimitive.Portal, { children: content });
3863
+ }
3864
+ );
858
3865
  PopoverContent.displayName = PopoverPrimitive.Content.displayName;
859
3866
 
860
3867
  // src/editor/components/textarea.tsx
@@ -867,7 +3874,7 @@ var Textarea = React3.forwardRef(
867
3874
  "textarea",
868
3875
  __spreadValues({
869
3876
  className: cn(
870
- "mly-flex mly-min-h-24 mly-w-full mly-rounded-md mly-border mly-border-gray-200 mly-bg-white mly-px-3 mly-py-2 mly-text-sm mly-ring-offset-white file:mly-border-0 file:mly-bg-transparent file:mly-text-sm file:mly-font-medium placeholder:mly-text-gray-500 focus-visible:mly-outline-none focus-visible:mly-ring-2 focus-visible:mly-ring-gray-400 focus-visible:mly-ring-offset-2 disabled:mly-cursor-not-allowed disabled:mly-opacity-50",
3877
+ "mly:flex mly:min-h-24 mly:w-full mly:rounded-md mly:border mly:border-gray-200 mly:bg-white mly:px-3 mly:py-2 mly:text-sm mly:ring-offset-white mly:file:border-0 mly:file:bg-transparent mly:file:text-sm mly:file:font-medium mly:placeholder:text-gray-500 mly:focus-visible:outline-hidden mly:focus-visible:ring-2 mly:focus-visible:ring-gray-400 mly:focus-visible:ring-offset-2 mly:disabled:cursor-not-allowed mly:disabled:opacity-50",
871
3878
  "mly-editor",
872
3879
  className
873
3880
  ),
@@ -899,27 +3906,27 @@ function LinkCardComponent(props) {
899
3906
  const pos = getPos();
900
3907
  editor.commands.setNodeSelection(pos);
901
3908
  },
902
- children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "mly-no-prose mly-flex mly-flex-col mly-rounded-lg mly-border mly-border-gray-300", children: [
903
- image2 && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "mly-relative mly-mb-1.5 mly-w-full mly-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
3909
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "mly:no-prose mly:flex mly:flex-col mly:rounded-lg mly:border mly:border-gray-300", children: [
3910
+ image2 && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "mly:relative mly:mb-1.5 mly:w-full mly:shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
904
3911
  "img",
905
3912
  {
906
3913
  src: image2,
907
3914
  alt: "link-card",
908
- className: "mly-no-prose !mly-mb-0 mly-h-full mly-w-full mly-rounded-t-lg",
3915
+ className: "mly:no-prose mly:mb-0! mly:h-full mly:w-full mly:rounded-t-lg",
909
3916
  draggable: editor.isEditable
910
3917
  }
911
3918
  ) }),
912
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "mly-flex mly-items-stretch mly-p-3", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: cn("mly-flex mly-flex-col"), children: [
913
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "!mly-mb-1.5 mly-flex mly-items-center mly-gap-1.5", children: [
914
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("h2", { className: "!mly-mb-0 !mly-text-lg mly-font-semibold", children: title }),
915
- badgeText && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "!mly-font-base text-xs mly-rounded-md mly-bg-yellow-200 mly-px-2 mly-py-1 mly-font-semibold mly-leading-none", children: badgeText }),
3919
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "mly:flex mly:items-stretch mly:p-3", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: cn("mly:flex mly:flex-col"), children: [
3920
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "!mly:mb-1.5 mly:flex mly:items-center mly:gap-1.5", children: [
3921
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("h2", { className: "!mly:mb-0 mly:text-lg! mly:font-semibold", children: title }),
3922
+ badgeText && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "!mly:font-base mly:rounded-md mly:bg-yellow-200 mly:px-2 mly:py-1 mly:font-semibold mly:leading-none text-xs", children: badgeText }),
916
3923
  " ",
917
- subTitle && !badgeText && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "!mly-font-base text-xs mly-font-regular mly-rounded-md mly-leading-none mly-text-gray-400", children: subTitle })
3924
+ subTitle && !badgeText && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "!mly:font-base mly:font-regular mly:rounded-md mly:leading-none mly:text-gray-400 text-xs", children: subTitle })
918
3925
  ] }),
919
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("p", { className: "!mly-my-0 !mly-text-base mly-text-gray-500", children: [
3926
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("p", { className: "!mly:my-0 mly:text-base! mly:text-gray-500", children: [
920
3927
  description,
921
3928
  " ",
922
- linkTitle ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("a", { href: link, className: "mly-font-semibold", children: linkTitle }) : null
3929
+ linkTitle ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("a", { href: link, className: "mly:font-semibold", children: linkTitle }) : null
923
3930
  ] })
924
3931
  ] }) })
925
3932
  ] })
@@ -929,13 +3936,13 @@ function LinkCardComponent(props) {
929
3936
  PopoverContent,
930
3937
  {
931
3938
  align: "end",
932
- className: "mly-flex mly-w-96 mly-flex-col mly-gap-2",
3939
+ className: "mly:flex mly:w-96 mly:flex-col mly:gap-2",
933
3940
  sideOffset: 10,
934
3941
  onOpenAutoFocus: (e) => e.preventDefault(),
935
3942
  onCloseAutoFocus: (e) => e.preventDefault(),
936
3943
  children: [
937
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "mly-w-full mly-space-y-1", children: [
938
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "mly-text-xs mly-font-normal mly-text-slate-400", children: "Image" }),
3944
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "mly:w-full mly:space-y-1", children: [
3945
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "mly:text-xs mly:font-normal mly:text-slate-400", children: "Image" }),
939
3946
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
940
3947
  Input,
941
3948
  {
@@ -950,8 +3957,8 @@ function LinkCardComponent(props) {
950
3957
  }
951
3958
  )
952
3959
  ] }),
953
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "mly-w-full mly-space-y-1", children: [
954
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "mly-text-xs mly-font-normal mly-text-slate-400", children: "Title" }),
3960
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "mly:w-full mly:space-y-1", children: [
3961
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "mly:text-xs mly:font-normal mly:text-slate-400", children: "Title" }),
955
3962
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
956
3963
  Input,
957
3964
  {
@@ -965,8 +3972,8 @@ function LinkCardComponent(props) {
965
3972
  }
966
3973
  )
967
3974
  ] }),
968
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "mly-w-full mly-space-y-1", children: [
969
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "mly-text-xs mly-font-normal mly-text-slate-400", children: "Description" }),
3975
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "mly:w-full mly:space-y-1", children: [
3976
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "mly:text-xs mly:font-normal mly:text-slate-400", children: "Description" }),
970
3977
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
971
3978
  Textarea,
972
3979
  {
@@ -980,9 +3987,9 @@ function LinkCardComponent(props) {
980
3987
  }
981
3988
  )
982
3989
  ] }),
983
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "mly-grid mly-grid-cols-2 mly-gap-2", children: [
984
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "mly-w-full mly-space-y-1", children: [
985
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "mly-text-xs mly-font-normal mly-text-slate-400", children: "Link Title" }),
3990
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "mly:grid mly:grid-cols-2 mly:gap-2", children: [
3991
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "mly:w-full mly:space-y-1", children: [
3992
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "mly:text-xs mly:font-normal mly:text-slate-400", children: "Link Title" }),
986
3993
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
987
3994
  Input,
988
3995
  {
@@ -996,8 +4003,8 @@ function LinkCardComponent(props) {
996
4003
  }
997
4004
  )
998
4005
  ] }),
999
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "mly-w-full mly-space-y-1", children: [
1000
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "mly-text-xs mly-font-normal mly-text-slate-400", children: "Link" }),
4006
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "mly:w-full mly:space-y-1", children: [
4007
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "mly:text-xs mly:font-normal mly:text-slate-400", children: "Link" }),
1001
4008
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1002
4009
  Input,
1003
4010
  {
@@ -1012,9 +4019,9 @@ function LinkCardComponent(props) {
1012
4019
  )
1013
4020
  ] })
1014
4021
  ] }),
1015
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "mly-grid mly-grid-cols-2 mly-gap-2", children: [
1016
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "mly-w-full mly-space-y-1", children: [
1017
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "mly-text-xs mly-font-normal mly-text-slate-400", children: "Badge Text" }),
4022
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "mly:grid mly:grid-cols-2 mly:gap-2", children: [
4023
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "mly:w-full mly:space-y-1", children: [
4024
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "mly:text-xs mly:font-normal mly:text-slate-400", children: "Badge Text" }),
1018
4025
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1019
4026
  Input,
1020
4027
  {
@@ -1028,8 +4035,8 @@ function LinkCardComponent(props) {
1028
4035
  }
1029
4036
  )
1030
4037
  ] }),
1031
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "mly-w-full mly-space-y-1", children: [
1032
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "mly-text-xs mly-font-normal mly-text-slate-400", children: "Sub Title" }),
4038
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "mly:w-full mly:space-y-1", children: [
4039
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "mly:text-xs mly:font-normal mly:text-slate-400", children: "Sub Title" }),
1033
4040
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1034
4041
  Input,
1035
4042
  {
@@ -1118,7 +4125,7 @@ var LinkCardExtension = import_core6.Node.create({
1118
4125
  },
1119
4126
  addNodeView() {
1120
4127
  return (0, import_react3.ReactNodeViewRenderer)(LinkCardComponent, {
1121
- className: "mly-relative"
4128
+ className: "mly:relative"
1122
4129
  });
1123
4130
  }
1124
4131
  });
@@ -1334,7 +4341,7 @@ var ColumnsExtension = import_core10.Node.create({
1334
4341
  "div",
1335
4342
  (0, import_core9.mergeAttributes)(HTMLAttributes2, {
1336
4343
  "data-type": "columns",
1337
- class: "mly-relative"
4344
+ class: "mly:relative"
1338
4345
  }),
1339
4346
  0
1340
4347
  ];
@@ -1383,20 +4390,20 @@ var BaseButton = React4.forwardRef(
1383
4390
  "asChild"
1384
4391
  ]);
1385
4392
  const Comp = asChild ? import_react_slot.Slot : "button";
1386
- const baseClass = "mly-inline-flex mly-items-center mly-justify-center mly-rounded-md mly-text-sm mly-font-medium mly-ring-offset-white mly-transition-colors focus-visible:mly-outline-none focus-visible:mly-ring-2 focus-visible:mly-ring-gray-400 focus-visible:mly-ring-offset-2 focus-visible:mly-relative focus-visible:mly-z-10 disabled:mly-opacity-50 ";
4393
+ const baseClass = "mly:inline-flex mly:items-center mly:justify-center mly:rounded-md mly:text-sm mly:font-medium mly:ring-offset-white mly:transition-colors mly:focus-visible:outline-hidden mly:focus-visible:ring-2 mly:focus-visible:ring-gray-400 mly:focus-visible:ring-offset-2 mly:focus-visible:relative mly:focus-visible:z-10 mly:disabled:opacity-50 ";
1387
4394
  const variantClasses = {
1388
- default: "mly-bg-gray-900 mly-text-gray-50 hover:mly-bg-soft-gray",
1389
- destructive: "mly-bg-red-500 mly-text-gray-50 hover:mly-bg-red-500/90",
1390
- outline: "mly-border mly-border-gray-200 mly-bg-white hover:mly-bg-gray-100 hover:mly-text-gray-900",
1391
- secondary: "mly-bg-gray-100 mly-text-gray-900 hover:mly-bg-gray-100/80",
1392
- ghost: "hover:mly-bg-soft-gray bg-transparent hover:mly-text-gray-900 data-[state=true]:mly-bg-soft-gray data-[state=true]:mly-text-gray-900",
1393
- link: "mly-text-gray-900 mly-underline-offset-4 hover:mly-underline"
4395
+ default: "mly:bg-gray-900 mly:text-gray-50 mly:hover:bg-soft-gray",
4396
+ destructive: "mly:bg-red-500 mly:text-gray-50 mly:hover:bg-red-500/90",
4397
+ outline: "mly:border mly:border-gray-200 mly:bg-white mly:hover:bg-gray-100 mly:hover:text-gray-900",
4398
+ secondary: "mly:bg-gray-100 mly:text-gray-900 mly:hover:bg-gray-100/80",
4399
+ ghost: "mly:hover:bg-soft-gray bg-transparent mly:hover:text-gray-900 mly:data-[state=true]:bg-soft-gray mly:data-[state=true]:text-gray-900",
4400
+ link: "mly:text-gray-900 mly:underline-offset-4 mly:hover:underline"
1394
4401
  };
1395
4402
  const sizeClasses = {
1396
- default: "mly-h-10 mly-px-4 mly-py-2",
1397
- sm: "mly-h-9 mly-rounded-md mly-px-3",
1398
- lg: "mly-h-11 mly-rounded-md mly-px-8",
1399
- icon: "mly-h-10 mly-w-10"
4403
+ default: "mly:h-10 mly:px-4 mly:py-2",
4404
+ sm: "mly:h-9 mly:rounded-md mly:px-3",
4405
+ lg: "mly:h-11 mly:rounded-md mly:px-8",
4406
+ icon: "mly:h-10 mly:w-10"
1400
4407
  };
1401
4408
  const classes = cn(
1402
4409
  "mly-editor",
@@ -1425,7 +4432,7 @@ var TooltipContent = React5.forwardRef((_a, ref) => {
1425
4432
  ref,
1426
4433
  sideOffset,
1427
4434
  className: cn(
1428
- "mly-z-50 mly-overflow-hidden mly-rounded-md mly-border mly-border-gray-200 mly-bg-white mly-px-2 mly-py-1 mly-text-xs mly-animate-in mly-fade-in-0 mly-zoom-in-95",
4435
+ "mly:z-50 mly:overflow-hidden mly:rounded-md mly:border mly:border-gray-200 mly:bg-white mly:px-2 mly:py-1 mly:text-xs mly:animate-in mly:fade-in-0 mly:zoom-in-95",
1429
4436
  className
1430
4437
  )
1431
4438
  }, props)
@@ -1446,7 +4453,7 @@ function BubbleMenuButton(item) {
1446
4453
  }, item.command ? { onClick: item.command } : {}), {
1447
4454
  "data-state": (_a = item == null ? void 0 : item.isActive) == null ? void 0 : _a.call(item),
1448
4455
  className: cn(
1449
- "!mly-size-7 mly-px-2.5 disabled:mly-cursor-not-allowed",
4456
+ "mly:size-7! mly:px-2.5 mly:disabled:cursor-not-allowed",
1450
4457
  item == null ? void 0 : item.className
1451
4458
  ),
1452
4459
  type: "button",
@@ -1455,7 +4462,7 @@ function BubbleMenuButton(item) {
1455
4462
  item.icon,
1456
4463
  {
1457
4464
  className: cn(
1458
- "mly-h-3 mly-w-3 mly-shrink-0 mly-stroke-[2.5]",
4465
+ "mly:h-3 mly:w-3 mly:shrink-0 mly:stroke-[2.5]",
1459
4466
  item == null ? void 0 : item.iconClassName
1460
4467
  )
1461
4468
  }
@@ -1463,7 +4470,7 @@ function BubbleMenuButton(item) {
1463
4470
  "span",
1464
4471
  {
1465
4472
  className: cn(
1466
- "mly-text-sm mly-font-medium mly-text-slate-600",
4473
+ "mly:text-sm mly:font-medium mly:text-slate-600",
1467
4474
  item == null ? void 0 : item.nameClassName
1468
4475
  ),
1469
4476
  children: item.name
@@ -1602,7 +4609,7 @@ function ImageView(props) {
1602
4609
  tabIndex: 0,
1603
4610
  onMouseDown: handleMouseDown,
1604
4611
  "data-direction": direction,
1605
- className: "mly-bg-rose-500",
4612
+ className: "mly:bg-rose-500",
1606
4613
  style: __spreadProps(__spreadValues(__spreadValues({
1607
4614
  position: "absolute",
1608
4615
  height: "10px",
@@ -1794,7 +4801,7 @@ function ImageView(props) {
1794
4801
  type: "file",
1795
4802
  accept: "image/*",
1796
4803
  onChange: handleFileChange,
1797
- className: "mly-absolute mly-inset-0 mly-opacity-0",
4804
+ className: "mly:absolute mly:inset-0 mly:opacity-0",
1798
4805
  multiple: false
1799
4806
  }
1800
4807
  ),
@@ -1813,7 +4820,7 @@ function ImageView(props) {
1813
4820
  }),
1814
4821
  draggable: editor.isEditable,
1815
4822
  className: cn(
1816
- isPlaceholderImage && "mly-animate-pulse mly-opacity-40"
4823
+ isPlaceholderImage && "mly:animate-pulse mly:opacity-40"
1817
4824
  )
1818
4825
  })
1819
4826
  ),
@@ -1826,7 +4833,7 @@ function ImageView(props) {
1826
4833
  ].map((style, i) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1827
4834
  "div",
1828
4835
  {
1829
- className: "mly-bg-rose-500",
4836
+ className: "mly:bg-rose-500",
1830
4837
  style: __spreadValues({
1831
4838
  position: "absolute"
1832
4839
  }, style)
@@ -1849,10 +4856,10 @@ function ImageStatusLabel(props) {
1849
4856
  "div",
1850
4857
  __spreadProps(__spreadValues({}, rest), {
1851
4858
  className: cn(
1852
- "mly-flex mly-items-center mly-justify-center mly-gap-2 mly-rounded-lg mly-bg-soft-gray mly-px-4 mly-py-2 mly-text-sm mly-font-medium",
4859
+ "mly:flex mly:items-center mly:justify-center mly:gap-2 mly:rounded-lg mly:bg-soft-gray mly:px-4 mly:py-2 mly:text-sm mly:font-medium",
1853
4860
  {
1854
- "mly-text-gray-500 hover:mly-bg-soft-gray/60": status === "loading",
1855
- "mly-text-red-500 hover:mly-bg-soft-gray/60": status === "error"
4861
+ "mly:text-gray-500 mly:hover:bg-soft-gray/60": status === "loading",
4862
+ "mly:text-red-500 mly:hover:bg-soft-gray/60": status === "error"
1856
4863
  },
1857
4864
  className
1858
4865
  ),
@@ -1861,23 +4868,23 @@ function ImageStatusLabel(props) {
1861
4868
  } : {}), style),
1862
4869
  children: [
1863
4870
  status === "idle" && !isDropZone && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
1864
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.ImageOffIcon, { className: "mly-size-4 mly-stroke-[2.5]" }),
4871
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.ImageOffIcon, { className: "mly:size-4 mly:stroke-[2.5]" }),
1865
4872
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { children: "No image selected" })
1866
4873
  ] }),
1867
4874
  status === "idle" && isDropZone && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
1868
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.GrabIcon, { className: "mly-size-4 mly-stroke-[2.5]" }),
4875
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.GrabIcon, { className: "mly:size-4 mly:stroke-[2.5]" }),
1869
4876
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { children: "Click or Drop image here" })
1870
4877
  ] }),
1871
4878
  status === "loading" && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
1872
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Loader2, { className: "mly-size-4 mly-animate-spin mly-stroke-[2.5]" }),
4879
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Loader2, { className: "mly:size-4 mly:animate-spin mly:stroke-[2.5]" }),
1873
4880
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { children: "Loading image..." })
1874
4881
  ] }),
1875
4882
  status === "error" && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
1876
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Ban, { className: "mly-size-4 mly-stroke-[2.5]" }),
4883
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Ban, { className: "mly:size-4 mly:stroke-[2.5]" }),
1877
4884
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { children: "Error loading image" })
1878
4885
  ] }),
1879
4886
  status === "variable" && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
1880
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.BracesIcon, { className: "mly-size-4 mly-stroke-[2.5]" }),
4887
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.BracesIcon, { className: "mly:size-4 mly:stroke-[2.5]" }),
1881
4888
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { children: "Variable Image URL" })
1882
4889
  ] })
1883
4890
  ]
@@ -2030,7 +5037,7 @@ function LogoView(props) {
2030
5037
  type: "file",
2031
5038
  accept: "image/*",
2032
5039
  onChange: handleFileChange,
2033
- className: "mly-absolute mly-inset-0 mly-opacity-0",
5040
+ className: "mly:absolute mly:inset-0 mly:opacity-0",
2034
5041
  multiple: false
2035
5042
  }
2036
5043
  ),
@@ -2155,7 +5162,7 @@ var LogoExtension = import_extension_image.default.extend({
2155
5162
  },
2156
5163
  addNodeView() {
2157
5164
  return (0, import_react10.ReactNodeViewRenderer)(LogoView, {
2158
- className: "mly-relative"
5165
+ className: "mly:relative"
2159
5166
  });
2160
5167
  }
2161
5168
  });
@@ -2197,9 +5204,9 @@ function AlignmentSwitch(props) {
2197
5204
  PopoverTrigger,
2198
5205
  {
2199
5206
  className: cn(
2200
- "mly-flex mly-size-7 mly-items-center mly-justify-center mly-gap-1 mly-rounded-md mly-px-1.5 mly-text-sm data-[state=open]:mly-bg-soft-gray hover:mly-bg-soft-gray focus-visible:mly-relative focus-visible:mly-z-10 focus-visible:mly-outline-none focus-visible:mly-ring-2 focus-visible:mly-ring-gray-400 focus-visible:mly-ring-offset-2"
5207
+ "mly:flex mly:size-7 mly:items-center mly:justify-center mly:gap-1 mly:rounded-md mly:px-1.5 mly:text-sm mly:data-[state=open]:bg-soft-gray mly:hover:bg-soft-gray mly:focus-visible:relative mly:focus-visible:z-10 mly:focus-visible:outline-hidden mly:focus-visible:ring-2 mly:focus-visible:ring-gray-400 mly:focus-visible:ring-offset-2"
2201
5208
  ),
2202
- children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(activeAlignment.icon, { className: "mly-h-3 mly-w-3 mly-stroke-[2.5]" })
5209
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(activeAlignment.icon, { className: "mly:h-3 mly:w-3 mly:stroke-[2.5]" })
2203
5210
  }
2204
5211
  ) }),
2205
5212
  /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(TooltipContent, { sideOffset: 8, children: "Alignment" })
@@ -2207,7 +5214,7 @@ function AlignmentSwitch(props) {
2207
5214
  /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
2208
5215
  PopoverContent,
2209
5216
  {
2210
- className: "mly-flex mly-w-max mly-gap-0.5 mly-rounded-lg !mly-p-0.5",
5217
+ className: "mly:flex mly:w-max mly:gap-0.5 mly:rounded-lg mly:p-0.5!",
2211
5218
  side: "top",
2212
5219
  sideOffset: 8,
2213
5220
  align: "center",
@@ -2258,14 +5265,14 @@ function ColorPicker(props) {
2258
5265
  BaseButton,
2259
5266
  {
2260
5267
  variant: "ghost",
2261
- className: "!mly-size-7 mly-shrink-0",
5268
+ className: "mly:h-7 mly:w-7 mly:shrink-0",
2262
5269
  size: "sm",
2263
5270
  type: "button",
2264
5271
  children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2265
5272
  "div",
2266
5273
  {
2267
5274
  className: cn(
2268
- "mly-h-4 mly-w-4 mly-shrink-0 mly-rounded mly-border-2 mly-border-gray-700",
5275
+ "mly:h-4 mly:w-4 mly:shrink-0 mly:rounded mly:border-2 mly:border-gray-700",
2269
5276
  className
2270
5277
  ),
2271
5278
  style: __spreadProps(__spreadValues({}, borderColor ? { borderColor } : {}), {
@@ -2291,15 +5298,15 @@ function ColorPicker(props) {
2291
5298
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2292
5299
  PopoverContent,
2293
5300
  {
2294
- className: "mly-w-full mly-rounded-none mly-border-0 !mly-bg-transparent !mly-p-0 mly-shadow-none mly-drop-shadow-md",
5301
+ className: "mly:w-full mly:rounded-none mly:border-0 mly:bg-transparent! mly:p-0! mly:shadow-none mly:drop-shadow-md",
2295
5302
  sideOffset: 8,
2296
- children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "mly-min-w-[260px] mly-rounded-xl mly-border mly-border-gray-200 mly-bg-white mly-p-4", children: [
5303
+ children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "mly:min-w-[260px] mly:rounded-xl mly:border mly:border-gray-200 mly:bg-white mly:p-4", children: [
2297
5304
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2298
5305
  import_react_colorful.HexColorPicker,
2299
5306
  {
2300
5307
  color,
2301
5308
  onChange: handleColorChange,
2302
- className: "mly-flex !mly-w-full mly-flex-col mly-gap-4"
5309
+ className: "mly:flex mly:w-full! mly:flex-col mly:gap-4"
2303
5310
  }
2304
5311
  ),
2305
5312
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
@@ -2308,25 +5315,25 @@ function ColorPicker(props) {
2308
5315
  alpha: true,
2309
5316
  color,
2310
5317
  onChange: handleColorChange,
2311
- className: "mly-mt-4 mly-w-full mly-min-w-0 mly-rounded-lg mly-border mly-border-gray-200 mly-bg-white mly-px-2 mly-py-1.5 mly-text-sm mly-uppercase focus-visible:mly-border-gray-400 focus-visible:mly-outline-none",
5318
+ className: "mly:mt-4 mly:w-full mly:min-w-0 mly:rounded-lg mly:border mly:border-gray-200 mly:bg-white mly:px-2 mly:py-1.5 mly:text-sm mly:uppercase mly:focus-visible:border-gray-400 mly:focus-visible:outline-hidden",
2312
5319
  prefixed: true
2313
5320
  }
2314
5321
  ),
2315
5322
  suggestedColors.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { children: [
2316
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "-mly-mx-4 mly-my-4 mly-h-px mly-bg-gray-200" }),
2317
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("h2", { className: "mly-text-xs mly-text-gray-500", children: "Recently used" }),
2318
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "mly-mt-2 mly-flex mly-flex-wrap mly-gap-0.5", children: suggestedColors.map((suggestedColor) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
5323
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "-mly:mx-4 mly:my-4 mly:h-px mly:bg-gray-200" }),
5324
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("h2", { className: "mly:text-xs mly:text-gray-500", children: "Recently used" }),
5325
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "mly:mt-2 mly:flex mly:flex-wrap mly:gap-0.5", children: suggestedColors.map((suggestedColor) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2319
5326
  BaseButton,
2320
5327
  {
2321
5328
  variant: "ghost",
2322
5329
  size: "sm",
2323
- className: "!mly-size-7 mly-shrink-0",
5330
+ className: "!mly:size-7 mly:shrink-0",
2324
5331
  type: "button",
2325
5332
  onClick: () => handleColorChange(suggestedColor),
2326
5333
  children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2327
5334
  "div",
2328
5335
  {
2329
- className: "mly-h-4 mly-w-4 mly-shrink-0 mly-rounded",
5336
+ className: "mly:h-4 mly:w-4 mly:shrink-0 mly:rounded",
2330
5337
  style: {
2331
5338
  backgroundColor: suggestedColor
2332
5339
  }
@@ -2352,8 +5359,8 @@ function Divider(props) {
2352
5359
  "div",
2353
5360
  {
2354
5361
  className: cn(
2355
- "mly-shrink-0 mly-bg-gray-200",
2356
- type === "vertical" ? "mly-mx-0.5 mly-w-px" : "mly-my-0.5 mly-h-px",
5362
+ "mly:shrink-0 mly:bg-gray-200",
5363
+ type === "vertical" ? "mly:mx-0.5 mly:w-px" : "mly:my-0.5 mly:h-px",
2357
5364
  className
2358
5365
  )
2359
5366
  }
@@ -2377,7 +5384,7 @@ var button = {
2377
5384
  title: "Button",
2378
5385
  description: "Add a call to action button to email.",
2379
5386
  searchTerms: ["link", "button", "cta"],
2380
- icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_lucide_react3.MousePointer, { className: "mly-h-4 mly-w-4" }),
5387
+ icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_lucide_react3.MousePointer, { className: "mly:h-4 mly:w-4" }),
2381
5388
  command: ({ editor, range }) => {
2382
5389
  editor.chain().focus().deleteRange(range).setButton().run();
2383
5390
  }
@@ -2386,7 +5393,7 @@ var linkCard = {
2386
5393
  title: "Link Card",
2387
5394
  description: "Add a link card to email.",
2388
5395
  searchTerms: ["link", "button", "image"],
2389
- icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_lucide_react3.ArrowUpRightSquare, { className: "mly-h-4 mly-w-4" }),
5396
+ icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_lucide_react3.ArrowUpRightSquare, { className: "mly:h-4 mly:w-4" }),
2390
5397
  command: ({ editor, range }) => {
2391
5398
  editor.chain().focus().deleteRange(range).setLinkCard().run();
2392
5399
  },
@@ -2404,7 +5411,7 @@ var htmlCodeBlock = {
2404
5411
  title: "Custom HTML",
2405
5412
  description: "Insert a custom HTML block",
2406
5413
  searchTerms: ["html", "code", "custom"],
2407
- icon: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_lucide_react4.CodeXmlIcon, { className: "mly-h-4 mly-w-4" }),
5414
+ icon: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_lucide_react4.CodeXmlIcon, { className: "mly:h-4 mly:w-4" }),
2408
5415
  command: ({ editor, range }) => {
2409
5416
  editor.chain().focus().deleteRange(range).setHtmlCodeBlock({ language: "html" }).run();
2410
5417
  }
@@ -2418,7 +5425,7 @@ var image = {
2418
5425
  title: "Image",
2419
5426
  description: "Full width image",
2420
5427
  searchTerms: ["image"],
2421
- icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react5.ImageIcon, { className: "mly-h-4 mly-w-4" }),
5428
+ icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react5.ImageIcon, { className: "mly:h-4 mly:w-4" }),
2422
5429
  command: ({ editor, range }) => {
2423
5430
  editor.chain().focus().deleteRange(range).setImage({ src: "" }).run();
2424
5431
  }
@@ -2427,7 +5434,7 @@ var logo = {
2427
5434
  title: "Logo",
2428
5435
  description: "Add your brand logo",
2429
5436
  searchTerms: ["image", "logo"],
2430
- icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react5.ImageIcon, { className: "mly-h-4 mly-w-4" }),
5437
+ icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react5.ImageIcon, { className: "mly:h-4 mly:w-4" }),
2431
5438
  command: ({ editor, range }) => {
2432
5439
  editor.chain().focus().deleteRange(range).setLogoImage({ src: "" }).run();
2433
5440
  }
@@ -2436,7 +5443,7 @@ var inlineImage = {
2436
5443
  title: "Inline Image",
2437
5444
  description: "Inline image",
2438
5445
  searchTerms: ["image", "inline"],
2439
- icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react5.ImageIcon, { className: "mly-h-4 mly-w-4" }),
5446
+ icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react5.ImageIcon, { className: "mly:h-4 mly:w-4" }),
2440
5447
  command: ({ editor, range }) => {
2441
5448
  editor.chain().focus().deleteRange(range).setInlineImage({
2442
5449
  src: "https://maily.to/brand/logo.png"
@@ -2465,7 +5472,7 @@ var columns = {
2465
5472
  title: "Columns",
2466
5473
  description: "Add columns to email.",
2467
5474
  searchTerms: ["layout", "columns"],
2468
- icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react6.ColumnsIcon, { className: "mly-h-4 mly-w-4" }),
5475
+ icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react6.ColumnsIcon, { className: "mly:h-4 mly:w-4" }),
2469
5476
  command: ({ editor, range }) => {
2470
5477
  editor.chain().focus().deleteRange(range).setColumns().focus(editor.state.selection.head - 2).run();
2471
5478
  }
@@ -2474,7 +5481,7 @@ var section = {
2474
5481
  title: "Section",
2475
5482
  description: "Add a section to email.",
2476
5483
  searchTerms: ["layout", "section"],
2477
- icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react6.RectangleHorizontal, { className: "mly-h-4 mly-w-4" }),
5484
+ icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react6.RectangleHorizontal, { className: "mly:h-4 mly:w-4" }),
2478
5485
  command: ({ editor, range }) => {
2479
5486
  editor.chain().focus().deleteRange(range).setSection().run();
2480
5487
  }
@@ -2483,7 +5490,7 @@ var repeat = {
2483
5490
  title: "Repeat",
2484
5491
  description: "Loop over an array of items.",
2485
5492
  searchTerms: ["repeat", "for", "loop"],
2486
- icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react6.Repeat2, { className: "mly-h-4 mly-w-4" }),
5493
+ icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react6.Repeat2, { className: "mly:h-4 mly:w-4" }),
2487
5494
  command: ({ editor, range }) => {
2488
5495
  editor.chain().focus().deleteRange(range).setRepeat().run();
2489
5496
  }
@@ -2492,7 +5499,7 @@ var spacer = {
2492
5499
  title: "Spacer",
2493
5500
  description: "Add space between blocks.",
2494
5501
  searchTerms: ["space", "gap", "divider"],
2495
- icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react6.MoveVertical, { className: "mly-h-4 mly-w-4" }),
5502
+ icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react6.MoveVertical, { className: "mly:h-4 mly:w-4" }),
2496
5503
  command: ({ editor, range }) => {
2497
5504
  editor.chain().focus().deleteRange(range).setSpacer({ height: "sm" }).run();
2498
5505
  }
@@ -2501,7 +5508,7 @@ var divider = {
2501
5508
  title: "Divider",
2502
5509
  description: "Add a horizontal divider.",
2503
5510
  searchTerms: ["divider", "line"],
2504
- icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react6.Minus, { className: "mly-h-4 mly-w-4" }),
5511
+ icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react6.Minus, { className: "mly:h-4 mly:w-4" }),
2505
5512
  command: ({ editor, range }) => {
2506
5513
  editor.chain().focus().deleteRange(range).setHorizontalRule().run();
2507
5514
  }
@@ -2514,7 +5521,7 @@ var bulletList = {
2514
5521
  title: "Bullet List",
2515
5522
  description: "Create a simple bullet list.",
2516
5523
  searchTerms: ["unordered", "point"],
2517
- icon: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react7.List, { className: "mly-h-4 mly-w-4" }),
5524
+ icon: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react7.List, { className: "mly:h-4 mly:w-4" }),
2518
5525
  command: ({ editor, range }) => {
2519
5526
  editor.chain().focus().deleteRange(range).toggleBulletList().run();
2520
5527
  }
@@ -2523,7 +5530,7 @@ var orderedList = {
2523
5530
  title: "Numbered List",
2524
5531
  description: "Create a list with numbering.",
2525
5532
  searchTerms: ["ordered"],
2526
- icon: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react7.ListOrdered, { className: "mly-h-4 mly-w-4" }),
5533
+ icon: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react7.ListOrdered, { className: "mly:h-4 mly:w-4" }),
2527
5534
  command: ({ editor, range }) => {
2528
5535
  editor.chain().focus().deleteRange(range).toggleOrderedList().run();
2529
5536
  }
@@ -2536,7 +5543,7 @@ var text = {
2536
5543
  title: "Text",
2537
5544
  description: "Just start typing with plain text.",
2538
5545
  searchTerms: ["p", "paragraph"],
2539
- icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react8.Text, { className: "mly-h-4 mly-w-4" }),
5546
+ icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react8.Text, { className: "mly:h-4 mly:w-4" }),
2540
5547
  command: ({ editor, range }) => {
2541
5548
  editor.chain().focus().deleteRange(range).toggleNode("paragraph", "paragraph").run();
2542
5549
  }
@@ -2545,7 +5552,7 @@ var heading1 = {
2545
5552
  title: "Heading 1",
2546
5553
  description: "Big heading.",
2547
5554
  searchTerms: ["h1", "title", "big", "large"],
2548
- icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react8.Heading1, { className: "mly-h-4 mly-w-4" }),
5555
+ icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react8.Heading1, { className: "mly:h-4 mly:w-4" }),
2549
5556
  command: ({ editor, range }) => {
2550
5557
  editor.chain().focus().deleteRange(range).setNode("heading", { level: 1 }).run();
2551
5558
  }
@@ -2554,7 +5561,7 @@ var heading2 = {
2554
5561
  title: "Heading 2",
2555
5562
  description: "Medium heading.",
2556
5563
  searchTerms: ["h2", "subtitle", "medium"],
2557
- icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react8.Heading2, { className: "mly-h-4 mly-w-4" }),
5564
+ icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react8.Heading2, { className: "mly:h-4 mly:w-4" }),
2558
5565
  command: ({ editor, range }) => {
2559
5566
  editor.chain().focus().deleteRange(range).setNode("heading", { level: 2 }).run();
2560
5567
  }
@@ -2563,7 +5570,7 @@ var heading3 = {
2563
5570
  title: "Heading 3",
2564
5571
  description: "Small heading.",
2565
5572
  searchTerms: ["h3", "subtitle", "small"],
2566
- icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react8.Heading3, { className: "mly-h-4 mly-w-4" }),
5573
+ icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react8.Heading3, { className: "mly:h-4 mly:w-4" }),
2567
5574
  command: ({ editor, range }) => {
2568
5575
  editor.chain().focus().deleteRange(range).setNode("heading", { level: 3 }).run();
2569
5576
  }
@@ -2572,7 +5579,7 @@ var hardBreak = {
2572
5579
  title: "Hard Break",
2573
5580
  description: "Add a break between lines.",
2574
5581
  searchTerms: ["break", "line"],
2575
- icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react8.DivideIcon, { className: "mly-h-4 mly-w-4" }),
5582
+ icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react8.DivideIcon, { className: "mly:h-4 mly:w-4" }),
2576
5583
  command: ({ editor, range }) => {
2577
5584
  editor.chain().focus().deleteRange(range).setHardBreak().run();
2578
5585
  }
@@ -2581,7 +5588,7 @@ var blockquote = {
2581
5588
  title: "Blockquote",
2582
5589
  description: "Add blockquote.",
2583
5590
  searchTerms: ["quote", "blockquote"],
2584
- icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react8.TextQuote, { className: "mly-h-4 mly-w-4" }),
5591
+ icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react8.TextQuote, { className: "mly:h-4 mly:w-4" }),
2585
5592
  command: ({ editor, range }) => {
2586
5593
  editor.chain().focus().deleteRange(range).toggleBlockquote().run();
2587
5594
  }
@@ -2590,7 +5597,7 @@ var footer = {
2590
5597
  title: "Footer",
2591
5598
  description: "Add a footer text to email.",
2592
5599
  searchTerms: ["footer", "text"],
2593
- icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react8.FootprintsIcon, { className: "mly-h-4 mly-w-4" }),
5600
+ icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react8.FootprintsIcon, { className: "mly:h-4 mly:w-4" }),
2594
5601
  command: ({ editor, range }) => {
2595
5602
  editor.chain().focus().deleteRange(range).setFooter().run();
2596
5603
  }
@@ -2599,7 +5606,7 @@ var clearLine = {
2599
5606
  title: "Clear Line",
2600
5607
  description: "Clear the current line.",
2601
5608
  searchTerms: ["clear", "line"],
2602
- icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react8.EraserIcon, { className: "mly-h-4 mly-w-4" }),
5609
+ icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react8.EraserIcon, { className: "mly:h-4 mly:w-4" }),
2603
5610
  command: ({ editor, range }) => {
2604
5611
  editor.chain().focus().selectParentNode().deleteSelection().run();
2605
5612
  }
@@ -2799,7 +5806,7 @@ var headerLogoWithTextHorizontal = {
2799
5806
  title: "Logo with Text (Horizontal)",
2800
5807
  description: "Logo and a text horizontally",
2801
5808
  searchTerms: ["logo", "text"],
2802
- icon: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(LogoWithTextHorizonIcon, { className: "mly-h-4 mly-w-4" }),
5809
+ icon: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(LogoWithTextHorizonIcon, { className: "mly:h-4 mly:w-4" }),
2803
5810
  command: ({ editor, range }) => {
2804
5811
  editor.chain().deleteRange(range).insertContent({
2805
5812
  type: "columns",
@@ -2863,7 +5870,7 @@ var headerLogoWithTextVertical = {
2863
5870
  title: "Logo with Text (Vertical)",
2864
5871
  description: "Logo and a text vertically",
2865
5872
  searchTerms: ["logo", "text"],
2866
- icon: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(LogoWithTextVerticalIcon, { className: "mly-h-4 mly-w-4" }),
5873
+ icon: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(LogoWithTextVerticalIcon, { className: "mly:h-4 mly:w-4" }),
2867
5874
  command: ({ editor, range }) => {
2868
5875
  editor.chain().deleteRange(range).insertContent([
2869
5876
  {
@@ -2894,7 +5901,7 @@ var headerLogoWithCoverImage = {
2894
5901
  title: "Logo with Cover Image",
2895
5902
  description: "Logo and a cover image",
2896
5903
  searchTerms: ["logo", "cover", "image"],
2897
- icon: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(LogoWithCoverImageIcon, { className: "mly-h-4 mly-w-4" }),
5904
+ icon: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(LogoWithCoverImageIcon, { className: "mly:h-4 mly:w-4" }),
2898
5905
  command: ({ editor, range }) => {
2899
5906
  const todayFormatted = (/* @__PURE__ */ new Date()).toLocaleDateString("en-US", {
2900
5907
  year: "numeric",
@@ -2988,7 +5995,7 @@ var footerCopyrightText = {
2988
5995
  title: "Footer Copyright",
2989
5996
  description: "Copyright text for the footer.",
2990
5997
  searchTerms: ["footer", "copyright"],
2991
- icon: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.CopyrightIcon, { className: "mly-h-4 mly-w-4" }),
5998
+ icon: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.CopyrightIcon, { className: "mly:h-4 mly:w-4" }),
2992
5999
  command: ({ editor, range }) => {
2993
6000
  const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
2994
6001
  editor.chain().focus().deleteRange(range).insertContent({
@@ -3008,7 +6015,7 @@ var footerCommunityFeedbackCta = {
3008
6015
  title: "Footer Community Feedback CTA",
3009
6016
  description: "Community feedback CTA for the footer.",
3010
6017
  searchTerms: ["footer", "community", "feedback", "cta"],
3011
- icon: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.RectangleHorizontalIcon, { className: "mly-h-4 mly-w-4" }),
6018
+ icon: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.RectangleHorizontalIcon, { className: "mly:h-4 mly:w-4" }),
3012
6019
  command: ({ editor, range }) => {
3013
6020
  editor.chain().focus().deleteRange(range).insertContent([
3014
6021
  {
@@ -3051,7 +6058,7 @@ var footerCompanySignature = {
3051
6058
  title: "Footer Company Signature",
3052
6059
  description: "Company signature for the footer.",
3053
6060
  searchTerms: ["footer", "company", "signature"],
3054
- icon: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.LayoutTemplateIcon, { className: "mly-h-4 mly-w-4" }),
6061
+ icon: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.LayoutTemplateIcon, { className: "mly:h-4 mly:w-4" }),
3055
6062
  command: ({ editor, range }) => {
3056
6063
  editor.chain().focus().deleteRange(range).insertContent([
3057
6064
  { type: "horizontalRule" },
@@ -3096,7 +6103,7 @@ var footerCompanySignature = {
3096
6103
  href: "https://maily.to",
3097
6104
  target: "_blank",
3098
6105
  rel: "noopener noreferrer nofollow",
3099
- class: "mly-no-underline",
6106
+ class: "mly:no-underline",
3100
6107
  isUrlVariable: false
3101
6108
  }
3102
6109
  },
@@ -3119,7 +6126,7 @@ var footerCompanySignature = {
3119
6126
  href: "https://maily.to",
3120
6127
  target: "_blank",
3121
6128
  rel: "noopener noreferrer nofollow",
3122
- class: "mly-no-underline",
6129
+ class: "mly:no-underline",
3123
6130
  isUrlVariable: false
3124
6131
  }
3125
6132
  },
@@ -3142,7 +6149,7 @@ var footerCompanySignature = {
3142
6149
  href: "https://maily.to",
3143
6150
  target: "_blank",
3144
6151
  rel: "noopener noreferrer nofollow",
3145
- class: "mly-no-underline",
6152
+ class: "mly:no-underline",
3146
6153
  isUrlVariable: false
3147
6154
  }
3148
6155
  },
@@ -3240,7 +6247,7 @@ var DEFAULT_SLASH_COMMANDS = [
3240
6247
  title: "Headers",
3241
6248
  description: "Add pre-designed headers block",
3242
6249
  searchTerms: ["header", "headers"],
3243
- icon: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.Heading1, { className: "mly-h-4 mly-w-4" }),
6250
+ icon: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.Heading1, { className: "mly:h-4 mly:w-4" }),
3244
6251
  preview: "https://cdn.usemaily.com/previews/header-preview-xyz.png",
3245
6252
  commands: [
3246
6253
  headerLogoWithTextVertical,
@@ -3253,7 +6260,7 @@ var DEFAULT_SLASH_COMMANDS = [
3253
6260
  title: "Footers",
3254
6261
  description: "Add pre-designed footers block",
3255
6262
  searchTerms: ["footers"],
3256
- icon: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.FootprintsIcon, { className: "mly-h-4 mly-w-4" }),
6263
+ icon: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.FootprintsIcon, { className: "mly:h-4 mly:w-4" }),
3257
6264
  commands: [
3258
6265
  footerCopyrightText,
3259
6266
  footerCommunityFeedbackCta,
@@ -3354,8 +6361,8 @@ var InputAutocomplete = (0, import_react15.forwardRef)((props, ref) => {
3354
6361
  onOutsideClick == null ? void 0 : onOutsideClick();
3355
6362
  });
3356
6363
  const isTriggeringVariable = value.startsWith(triggerChar);
3357
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: cn("mly-relative"), ref: containerRef, children: [
3358
- /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("label", { className: "mly-relative", children: [
6364
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: cn("mly:relative"), ref: containerRef, children: [
6365
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("label", { className: "mly:relative", children: [
3359
6366
  /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
3360
6367
  "input",
3361
6368
  __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, AUTOCOMPLETE_PASSWORD_MANAGERS_OFF), {
@@ -3368,7 +6375,7 @@ var InputAutocomplete = (0, import_react15.forwardRef)((props, ref) => {
3368
6375
  onValueChange(e.target.value);
3369
6376
  },
3370
6377
  className: cn(
3371
- "mly-h-7 mly-w-40 mly-rounded-md mly-bg-white mly-px-2 mly-pr-6 mly-text-sm mly-text-midnight-gray hover:mly-bg-soft-gray focus:mly-bg-soft-gray focus:mly-outline-none",
6378
+ "mly:h-7 mly:w-40 mly:rounded-md mly:bg-white mly:px-2 mly:pr-6 mly:text-sm mly:text-midnight-gray mly:hover:bg-soft-gray mly:focus:bg-soft-gray mly:focus:outline-hidden",
3372
6379
  className
3373
6380
  ),
3374
6381
  onKeyDown: (e) => {
@@ -3390,9 +6397,9 @@ var InputAutocomplete = (0, import_react15.forwardRef)((props, ref) => {
3390
6397
  spellCheck: false
3391
6398
  })
3392
6399
  ),
3393
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "mly-absolute mly-inset-y-0 mly-right-1 mly-flex mly-items-center", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react11.CornerDownLeft, { className: "mly-h-3 mly-w-3 mly-stroke-[2.5] mly-text-midnight-gray" }) })
6400
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "mly:absolute mly:inset-y-0 mly:right-1 mly:flex mly:items-center", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react11.CornerDownLeft, { className: "mly:h-3 mly:w-3 mly:stroke-[2.5] mly:text-midnight-gray" }) })
3394
6401
  ] }),
3395
- isTriggeringVariable && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "mly-absolute mly-left-0 mly-top-8", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
6402
+ isTriggeringVariable && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "mly:absolute mly:left-0 mly:top-8", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
3396
6403
  VariableSuggestionPopoverComponent,
3397
6404
  {
3398
6405
  items: autoCompleteOptions.map((option) => {
@@ -3490,41 +6497,41 @@ var VariableSuggestionsPopover = (0, import_react16.forwardRef)((props, ref) =>
3490
6497
  onSelectItem(item);
3491
6498
  }
3492
6499
  }));
3493
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "mly-z-50 mly-w-64 mly-rounded-lg mly-border mly-border-gray-200 mly-bg-white mly-shadow-md mly-transition-all", children: [
3494
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "mly-flex mly-items-center mly-justify-between mly-gap-2 mly-border-b mly-border-gray-200 mly-bg-soft-gray/40 mly-px-1 mly-py-1.5 mly-text-gray-500", children: [
3495
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "mly-text-xs mly-uppercase", children: "Variables" }),
3496
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(VariableIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.Braces, { className: "mly-size-3 mly-stroke-[2.5]" }) })
6500
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "mly:z-50 mly:w-64 mly:rounded-lg mly:border mly:border-gray-200 mly:bg-white mly:shadow-md mly:transition-all", children: [
6501
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "mly:flex mly:items-center mly:justify-between mly:gap-2 mly:border-b mly:border-gray-200 mly:bg-soft-gray/40 mly:px-1 mly:py-1.5 mly:text-gray-500", children: [
6502
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "mly:text-xs mly:uppercase", children: "Variables" }),
6503
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(VariableIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.Braces, { className: "mly:size-3 mly:stroke-[2.5]" }) })
3497
6504
  ] }),
3498
6505
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
3499
6506
  "div",
3500
6507
  {
3501
6508
  ref: scrollContainerRef,
3502
- className: "mly-max-h-52 mly-overflow-y-auto mly-scrollbar-thin mly-scrollbar-track-transparent mly-scrollbar-thumb-gray-200",
3503
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "mly-flex mly-w-fit mly-min-w-full mly-flex-col mly-gap-0.5 mly-p-1", children: (items == null ? void 0 : items.length) ? items == null ? void 0 : items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
6509
+ className: "mly:max-h-52 mly:overflow-y-auto mly:scrollbar-thin mly:scrollbar-track-transparent mly:scrollbar-thumb-gray-200",
6510
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "mly:flex mly:w-fit mly:min-w-full mly:flex-col mly:gap-0.5 mly:p-1", children: (items == null ? void 0 : items.length) ? items == null ? void 0 : items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
3504
6511
  "button",
3505
6512
  {
3506
6513
  ref: (el) => itemRefs.current[index] = el,
3507
6514
  onClick: () => onSelectItem(item),
3508
6515
  className: cn(
3509
- "mly-flex mly-w-fit mly-min-w-full mly-items-center mly-gap-2 mly-rounded-md mly-px-2 mly-py-1 mly-text-left mly-font-mono mly-text-sm mly-text-gray-900 hover:mly-bg-soft-gray",
3510
- index === selectedIndex ? "mly-bg-soft-gray" : "mly-bg-white"
6516
+ "mly:flex mly:w-fit mly:min-w-full mly:items-center mly:gap-2 mly:rounded-md mly:px-2 mly:py-1 mly:text-left mly:font-mono mly:text-sm mly:text-gray-900 mly:hover:bg-soft-gray",
6517
+ index === selectedIndex ? "mly:bg-soft-gray" : "mly:bg-white"
3511
6518
  ),
3512
6519
  children: [
3513
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.Braces, { className: "mly-size-3 mly-stroke-[2.5] mly-text-rose-600" }),
3514
- item.name
6520
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.Braces, { className: "mly:size-3 mly:stroke-[2.5] mly:text-rose-600" }),
6521
+ (item == null ? void 0 : item.label) || item.name
3515
6522
  ]
3516
6523
  },
3517
6524
  index
3518
- )) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "mly-flex mly-h-7 mly-w-full mly-items-center mly-gap-2 mly-rounded-md mly-px-2 mly-py-1 mly-text-left mly-font-mono mly-text-[13px] mly-text-gray-900 hover:mly-bg-soft-gray", children: "No result" }) })
6525
+ )) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "mly:flex mly:h-7 mly:w-full mly:items-center mly:gap-2 mly:rounded-md mly:px-2 mly:py-1 mly:text-left mly:font-mono mly:text-[13px] mly:text-gray-900 mly:hover:bg-soft-gray", children: "No result" }) })
3519
6526
  }
3520
6527
  ),
3521
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "mly-flex mly-items-center mly-justify-between mly-gap-2 mly-border-t mly-border-gray-200 mly-px-1 mly-py-1.5 mly-text-gray-500", children: [
3522
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "mly-flex mly-items-center mly-gap-1", children: [
3523
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(VariableIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.ArrowDownIcon, { className: "mly-size-3 mly-stroke-[2.5]" }) }),
3524
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(VariableIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.ArrowUpIcon, { className: "mly-size-3 mly-stroke-[2.5]" }) }),
3525
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "mly-text-xs mly-text-gray-500", children: "Navigate" })
6528
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "mly:flex mly:items-center mly:justify-between mly:gap-2 mly:border-t mly:border-gray-200 mly:px-1 mly:py-1.5 mly:text-gray-500", children: [
6529
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "mly:flex mly:items-center mly:gap-1", children: [
6530
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(VariableIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.ArrowDownIcon, { className: "mly:size-3 mly:stroke-[2.5]" }) }),
6531
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(VariableIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.ArrowUpIcon, { className: "mly:size-3 mly:stroke-[2.5]" }) }),
6532
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "mly:text-xs mly:text-gray-500", children: "Navigate" })
3526
6533
  ] }),
3527
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(VariableIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.CornerDownLeftIcon, { className: "mly-size-3 mly-stroke-[2.5]" }) })
6534
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(VariableIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.CornerDownLeftIcon, { className: "mly:size-3 mly:stroke-[2.5]" }) })
3528
6535
  ] })
3529
6536
  ] });
3530
6537
  });
@@ -3534,7 +6541,7 @@ function VariableIcon(props) {
3534
6541
  "div",
3535
6542
  {
3536
6543
  className: cn(
3537
- "mly-flex mly-size-5 mly-items-center mly-justify-center mly-rounded-md mly-border",
6544
+ "mly:flex mly:size-5 mly:items-center mly:justify-center mly:rounded-md mly:border mly:border-gray-200",
3538
6545
  className
3539
6546
  ),
3540
6547
  children
@@ -3549,7 +6556,13 @@ var import_react18 = require("react");
3549
6556
  var import_jsx_runtime28 = require("react/jsx-runtime");
3550
6557
  function VariableView(props) {
3551
6558
  const { node, updateAttributes: updateAttributes2, editor } = props;
3552
- const { id, fallback, required } = node.attrs;
6559
+ const {
6560
+ id,
6561
+ fallback,
6562
+ required,
6563
+ hideDefaultValue = false,
6564
+ label
6565
+ } = node.attrs;
3553
6566
  const renderVariable = (0, import_react18.useMemo)(() => {
3554
6567
  var _a, _b;
3555
6568
  const variableRender = (_b = (_a = getNodeOptions(editor, "variable")) == null ? void 0 : _a.renderVariable) != null ? _b : DEFAULT_RENDER_VARIABLE_FUNCTION;
@@ -3558,7 +6571,7 @@ function VariableView(props) {
3558
6571
  return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3559
6572
  import_react17.NodeViewWrapper,
3560
6573
  {
3561
- className: "react-component mly-inline-block mly-leading-none",
6574
+ className: "react-component mly:inline-block mly:leading-none",
3562
6575
  draggable: "false",
3563
6576
  children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
3564
6577
  Popover,
@@ -3568,7 +6581,12 @@ function VariableView(props) {
3568
6581
  },
3569
6582
  children: [
3570
6583
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(PopoverTrigger, { children: renderVariable({
3571
- variable: { name: id, required, valid: true },
6584
+ variable: {
6585
+ name: id,
6586
+ required,
6587
+ valid: true,
6588
+ label
6589
+ },
3572
6590
  fallback,
3573
6591
  editor,
3574
6592
  from: "content-variable"
@@ -3578,13 +6596,13 @@ function VariableView(props) {
3578
6596
  {
3579
6597
  align: "start",
3580
6598
  side: "bottom",
3581
- className: "mly-w-max mly-rounded-lg !mly-p-0.5",
6599
+ className: "mly:w-max mly:rounded-lg mly:p-0.5!",
3582
6600
  sideOffset: 8,
3583
6601
  onOpenAutoFocus: (e) => e.preventDefault(),
3584
6602
  onCloseAutoFocus: (e) => e.preventDefault(),
3585
- children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "mly-flex mly-items-stretch mly-text-midnight-gray", children: [
3586
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("label", { className: "mly-relative", children: [
3587
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "mly-inline-block mly-px-2 mly-text-xs mly-text-midnight-gray", children: "Variable" }),
6603
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "mly:flex mly:items-stretch mly:text-midnight-gray", children: [
6604
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("label", { className: "mly:relative", children: [
6605
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "mly:inline-block mly:px-2 mly:text-xs mly:text-midnight-gray", children: "Variable" }),
3588
6606
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3589
6607
  "input",
3590
6608
  __spreadProps(__spreadValues({}, AUTOCOMPLETE_PASSWORD_MANAGERS_OFF), {
@@ -3595,27 +6613,29 @@ function VariableView(props) {
3595
6613
  });
3596
6614
  },
3597
6615
  placeholder: "ie. name...",
3598
- className: "mly-h-7 mly-w-36 mly-rounded-md mly-bg-soft-gray mly-px-2 mly-text-sm mly-text-midnight-gray focus:mly-bg-soft-gray focus:mly-outline-none"
6616
+ className: "mly:h-7 mly:w-36 mly:rounded-md mly:bg-soft-gray mly:px-2 mly:text-sm mly:text-midnight-gray mly:focus:bg-soft-gray mly:focus:outline-hidden mly:disabled:cursor-not-allowed"
3599
6617
  })
3600
6618
  )
3601
6619
  ] }),
3602
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Divider, { className: "mly-mx-1.5" }),
3603
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("label", { className: "mly-relative", children: [
3604
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "mly-inline-block mly-px-2 mly-pl-1 mly-text-xs mly-text-midnight-gray", children: "Default" }),
3605
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3606
- "input",
3607
- __spreadProps(__spreadValues({}, AUTOCOMPLETE_PASSWORD_MANAGERS_OFF), {
3608
- value: fallback != null ? fallback : "",
3609
- onChange: (e) => {
3610
- updateAttributes2({
3611
- fallback: e.target.value
3612
- });
3613
- },
3614
- placeholder: "ie. John Doe...",
3615
- className: "mly-h-7 mly-w-32 mly-rounded-md mly-bg-soft-gray mly-px-2 mly-pr-6 mly-text-sm mly-text-midnight-gray focus:mly-bg-soft-gray focus:mly-outline-none"
3616
- })
3617
- ),
3618
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "mly-absolute mly-inset-y-0 mly-right-1 mly-flex mly-items-center", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.Pencil, { className: "mly-h-3 mly-w-3 mly-stroke-[2.5] mly-text-midnight-gray" }) })
6620
+ !hideDefaultValue && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_jsx_runtime28.Fragment, { children: [
6621
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Divider, { className: "mly:mx-1.5" }),
6622
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("label", { className: "mly:relative", children: [
6623
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "mly:inline-block mly:px-2 mly:pl-1 mly:text-xs mly:text-midnight-gray", children: "Default" }),
6624
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
6625
+ "input",
6626
+ __spreadProps(__spreadValues({}, AUTOCOMPLETE_PASSWORD_MANAGERS_OFF), {
6627
+ value: fallback != null ? fallback : "",
6628
+ onChange: (e) => {
6629
+ updateAttributes2({
6630
+ fallback: e.target.value
6631
+ });
6632
+ },
6633
+ placeholder: "ie. John Doe...",
6634
+ className: "mly:h-7 mly:w-32 mly:rounded-md mly:bg-soft-gray mly:px-2 mly:pr-6 mly:text-sm mly:text-midnight-gray mly:focus:bg-soft-gray mly:focus:outline-none"
6635
+ })
6636
+ ),
6637
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "mly:absolute mly:inset-y-0 mly:right-1 mly:flex mly:items-center", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.Pencil, { className: "mly:h-3 mly:w-3 mly:stroke-[2.5] mly:text-midnight-gray" }) })
6638
+ ] })
3619
6639
  ] })
3620
6640
  ] }) })
3621
6641
  }
@@ -3628,11 +6648,12 @@ function VariableView(props) {
3628
6648
  }
3629
6649
  var DefaultRenderVariable = (props) => {
3630
6650
  const { variable, fallback, from } = props;
3631
- const { name, required, valid } = variable;
6651
+ const { name, required, valid, label } = variable;
6652
+ const variableLabel = label || name;
3632
6653
  if (from === "button-variable") {
3633
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "mly-inline-grid mly-h-7 mly-max-w-xs mly-grid-cols-[12px_1fr] mly-items-center mly-gap-1.5 mly-rounded-md mly-border mly-border-[var(--button-var-border-color)] mly-px-2 mly-font-mono mly-text-sm", children: [
3634
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.Braces, { className: "mly-h-3 mly-w-3 mly-shrink-0 mly-stroke-[2.5]" }),
3635
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "mly-min-w-0 mly-truncate mly-text-left", children: name })
6654
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "mly:inline-grid mly:max-w-xs mly:grid-cols-[12px_1fr] mly:items-center mly:gap-1.5 mly:rounded-md mly:border mly:border-(--button-var-border-color) mly:px-2 mly:py-px mly:font-mono mly:text-xs", children: [
6655
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.Braces, { className: "mly:h-3 mly:w-3 mly:shrink-0 mly:stroke-[2.5]" }),
6656
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "mly:min-w-0 mly:truncate mly:text-left", children: variableLabel })
3636
6657
  ] });
3637
6658
  }
3638
6659
  if (from === "bubble-variable") {
@@ -3640,12 +6661,12 @@ var DefaultRenderVariable = (props) => {
3640
6661
  "div",
3641
6662
  {
3642
6663
  className: cn(
3643
- "mly-inline-grid mly-h-7 mly-min-w-28 mly-max-w-xs mly-grid-cols-[12px_1fr] mly-items-center mly-gap-1.5 mly-rounded-md mly-border mly-px-2 mly-font-mono mly-text-sm hover:mly-bg-soft-gray",
3644
- !valid && "mly-border-rose-400 mly-bg-rose-50 mly-text-rose-600 hover:mly-bg-rose-100"
6664
+ "mly:inline-grid mly:h-7 mly:min-w-28 mly:max-w-xs mly:grid-cols-[12px_1fr] mly:items-center mly:gap-1.5 mly:rounded-md mly:border mly:border-gray-200 mly:px-2 mly:font-mono mly:text-sm mly:hover:bg-soft-gray",
6665
+ !valid && "mly:border-rose-400 mly:bg-rose-50 mly:text-rose-600 mly:hover:bg-rose-100"
3645
6666
  ),
3646
6667
  children: [
3647
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.Braces, { className: "mly-h-3 mly-w-3 mly-shrink-0 mly-stroke-[2.5] mly-text-rose-600" }),
3648
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "mly-min-w-0 mly-truncate mly-text-left", children: name })
6668
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.Braces, { className: "mly:h-3 mly:w-3 mly:shrink-0 mly:stroke-[2.5] mly:text-rose-600" }),
6669
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "mly:min-w-0 mly:truncate mly:text-left", children: variableLabel })
3649
6670
  ]
3650
6671
  }
3651
6672
  );
@@ -3654,11 +6675,11 @@ var DefaultRenderVariable = (props) => {
3654
6675
  "span",
3655
6676
  {
3656
6677
  tabIndex: -1,
3657
- className: "mly-inline-flex mly-items-center mly-gap-[var(--variable-icon-gap)] mly-rounded-full mly-border mly-border-gray-200 mly-px-1.5 mly-py-0.5 mly-leading-none",
6678
+ className: "mly:inline-flex mly:items-center mly:gap-(--variable-icon-gap) mly:rounded-full mly:border mly:border-gray-200 mly:px-1.5 mly:py-0.5 mly:leading-none",
3658
6679
  children: [
3659
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.Braces, { className: "mly-size-[var(--variable-icon-size)] mly-shrink-0 mly-stroke-[2.5] mly-text-rose-600" }),
3660
- name,
3661
- required && !fallback && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.AlertTriangle, { className: "mly-size-[var(--variable-icon-size)] mly-shrink-0 mly-stroke-[2.5]" })
6680
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.Braces, { className: "mly:size-[var(--variable-icon-size)] mly:shrink-0 mly:stroke-[2.5] mly:text-rose-600" }),
6681
+ variableLabel,
6682
+ required && !fallback && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.AlertTriangle, { className: "mly:size-[var(--variable-icon-size)] mly:shrink-0 mly:stroke-[2.5]" })
3662
6683
  ]
3663
6684
  }
3664
6685
  );
@@ -3686,6 +6707,7 @@ var VariableExtension = import_core11.Node.create({
3686
6707
  variables: DEFAULT_VARIABLES,
3687
6708
  variableSuggestionsPopover: DEFAULT_VARIABLE_SUGGESTION_POPOVER,
3688
6709
  renderVariable: DEFAULT_RENDER_VARIABLE_FUNCTION,
6710
+ disableInput: false,
3689
6711
  renderLabel(props) {
3690
6712
  var _a;
3691
6713
  const { node } = props;
@@ -3769,6 +6791,9 @@ var VariableExtension = import_core11.Node.create({
3769
6791
  "data-required": (_a = attributes == null ? void 0 : attributes.required) != null ? _a : true
3770
6792
  };
3771
6793
  }
6794
+ },
6795
+ hideDefaultValue: {
6796
+ default: false
3772
6797
  }
3773
6798
  };
3774
6799
  },
@@ -3828,7 +6853,7 @@ var VariableExtension = import_core11.Node.create({
3828
6853
  },
3829
6854
  addNodeView() {
3830
6855
  return (0, import_react19.ReactNodeViewRenderer)(VariableView, {
3831
- className: "mly-relative mly-inline-block",
6856
+ className: "mly:relative mly:inline-block",
3832
6857
  as: "div"
3833
6858
  });
3834
6859
  }
@@ -3871,9 +6896,9 @@ function LinkInputPopover(props) {
3871
6896
  variant: "ghost",
3872
6897
  size: "sm",
3873
6898
  type: "button",
3874
- className: "!mly-size-7",
6899
+ className: "mly:h-7! mly:w-7!",
3875
6900
  "data-state": !!defaultValue,
3876
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Icon, { className: "mly-h-3 mly-w-3 mly-shrink-0 mly-stroke-[2.5] mly-text-midnight-gray" })
6901
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Icon, { className: "mly:h-3 mly:w-3 mly:shrink-0 mly:stroke-[2.5] mly:text-midnight-gray" })
3877
6902
  }
3878
6903
  ) });
3879
6904
  return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
@@ -3899,7 +6924,7 @@ function LinkInputPopover(props) {
3899
6924
  {
3900
6925
  align: "end",
3901
6926
  side: "top",
3902
- className: "mly-w-max mly-rounded-none mly-border-none mly-bg-transparent !mly-p-0 mly-shadow-none",
6927
+ className: "mly:w-max mly:rounded-none mly:border-none mly:bg-transparent mly:p-0! mly:shadow-none",
3903
6928
  sideOffset: 8,
3904
6929
  onCloseAutoFocus: (e) => e.preventDefault(),
3905
6930
  children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
@@ -3914,8 +6939,8 @@ function LinkInputPopover(props) {
3914
6939
  onValueChange == null ? void 0 : onValueChange(input.value);
3915
6940
  setIsOpen(false);
3916
6941
  },
3917
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "mly-isolate mly-flex mly-rounded-lg", children: [
3918
- !isEditing && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "mly-flex mly-h-8 mly-items-center mly-rounded-lg mly-border mly-border-gray-300 mly-bg-white mly-px-0.5", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
6942
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "mly:isolate mly:flex mly:rounded-lg", children: [
6943
+ !isEditing && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "mly:flex mly:h-8 mly:items-center mly:rounded-lg mly:border mly:border-gray-300 mly:bg-white mly:px-0.5", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3919
6944
  "button",
3920
6945
  {
3921
6946
  onClick: () => {
@@ -3936,8 +6961,8 @@ function LinkInputPopover(props) {
3936
6961
  })
3937
6962
  }
3938
6963
  ) }),
3939
- isEditing && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "mly-relative", children: [
3940
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "mly-absolute mly-inset-y-0 mly-left-1.5 mly-z-10 mly-flex mly-items-center", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react14.LinkIcon, { className: "mly-h-3 mly-w-3 mly-stroke-[2.5] mly-text-midnight-gray" }) }),
6964
+ isEditing && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "mly:relative", children: [
6965
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "mly:absolute mly:inset-y-0 mly:left-1.5 mly:z-10 mly:flex mly:items-center", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react14.LinkIcon, { className: "mly:h-3 mly:w-3 mly:stroke-[2.5] mly:text-midnight-gray" }) }),
3941
6966
  /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3942
6967
  InputAutocomplete,
3943
6968
  {
@@ -3949,7 +6974,7 @@ function LinkInputPopover(props) {
3949
6974
  autoCompleteOptions,
3950
6975
  ref: linkInputRef,
3951
6976
  placeholder: placeholderUrl,
3952
- className: "-mly-ms-px mly-block mly-h-8 mly-w-56 mly-rounded-lg mly-border mly-border-gray-300 mly-px-2 mly-py-1.5 mly-pl-6 mly-pr-6 mly-text-sm mly-shadow-sm mly-outline-none placeholder:mly-text-gray-400",
6977
+ className: "-mly:ms-px mly:block mly:h-8 mly:w-56 mly:rounded-lg mly:border mly:border-gray-300 mly:px-2 mly:py-1.5 mly:pl-6 mly:pr-6 mly:text-sm mly:shadow-sm mly:outline-hidden mly:placeholder:text-gray-400",
3953
6978
  triggerChar: variableTriggerCharacter,
3954
6979
  onSelectOption: (value) => {
3955
6980
  var _a2;
@@ -3986,27 +7011,31 @@ function Select(props) {
3986
7011
  tooltip,
3987
7012
  className,
3988
7013
  icon: Icon,
3989
- iconClassName
7014
+ iconClassName,
7015
+ placeholder
3990
7016
  } = props;
3991
7017
  const selectId = `mly${(0, import_react22.useId)()}`;
3992
- const content = /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "mly-relative", children: [
3993
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("label", { htmlFor: selectId, className: "mly-sr-only", children: label }),
3994
- Icon && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "mly-pointer-events-none mly-absolute mly-inset-y-0 mly-left-2 mly-z-20 mly-flex mly-items-center", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Icon, { className: cn("mly-size-3", iconClassName) }) }),
3995
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
7018
+ const content = /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "mly:relative", children: [
7019
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("label", { htmlFor: selectId, className: "mly:sr-only", children: label }),
7020
+ Icon && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "mly:pointer-events-none mly:absolute mly:inset-y-0 mly:left-2 mly:z-20 mly:flex mly:items-center", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Icon, { className: cn("mly:size-3", iconClassName) }) }),
7021
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
3996
7022
  "select",
3997
7023
  {
3998
7024
  id: selectId,
3999
7025
  className: cn(
4000
- "mly-flex mly-min-h-7 mly-max-w-max mly-appearance-none mly-items-center mly-rounded-md mly-bg-white mly-px-1.5 mly-py-0.5 mly-pr-7 mly-text-sm mly-text-midnight-gray mly-ring-offset-white mly-transition-colors hover:mly-bg-soft-gray focus-visible:mly-relative focus-visible:mly-z-10 focus-visible:mly-outline-none focus-visible:mly-ring-2 focus-visible:mly-ring-gray-400 focus-visible:mly-ring-offset-2 active:mly-bg-soft-gray",
4001
- !!Icon && "mly-pl-7",
7026
+ "mly:flex mly:min-h-7 mly:max-w-max mly:appearance-none mly:items-center mly:rounded-md mly:bg-white mly:px-1.5 mly:py-0.5 mly:pr-7 mly:text-sm mly:text-midnight-gray mly:ring-offset-white mly:transition-colors mly:hover:bg-soft-gray mly:focus-visible:relative mly:focus-visible:z-10 mly:focus-visible:outline-hidden mly:focus-visible:ring-2 mly:focus-visible:ring-gray-400 mly:focus-visible:ring-offset-2 mly:active:bg-soft-gray",
7027
+ !!Icon && "mly:pl-7",
4002
7028
  className
4003
7029
  ),
4004
- value,
7030
+ value: value || "",
4005
7031
  onChange: (event) => onValueChange(event.target.value),
4006
- children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("option", { value: option.value, children: option.label }, option.value))
7032
+ children: [
7033
+ placeholder && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("option", { value: "", disabled: true, hidden: true, children: placeholder }),
7034
+ options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("option", { value: option.value, children: option.label }, option.value))
7035
+ ]
4007
7036
  }
4008
7037
  ),
4009
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "mly-pointer-events-none mly-absolute mly-inset-y-0 mly-right-0 mly-z-10 mly-flex mly-h-full mly-w-7 mly-items-center mly-justify-center mly-text-gray-600 peer-disabled:mly-opacity-50", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
7038
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "mly:pointer-events-none mly:absolute mly:inset-y-0 mly:right-0 mly:z-10 mly:flex mly:h-full mly:w-7 mly:items-center mly:justify-center mly:text-gray-600 mly:peer-disabled:opacity-50", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
4010
7039
  import_lucide_react15.ChevronDownIcon,
4011
7040
  {
4012
7041
  size: 16,
@@ -4053,7 +7082,7 @@ function ButtonLabelInput(props) {
4053
7082
  editor
4054
7083
  }).map((variable) => variable.name);
4055
7084
  }, [variables, value, editor]);
4056
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "mly-isolate mly-flex mly-rounded-lg", children: [
7085
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "mly:isolate mly:flex mly:rounded-lg", children: [
4057
7086
  !isEditing && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
4058
7087
  "button",
4059
7088
  {
@@ -4086,7 +7115,7 @@ function ButtonLabelInput(props) {
4086
7115
  autoCompleteOptions,
4087
7116
  ref: linkInputRef,
4088
7117
  placeholder: placeholderUrl,
4089
- className: "mly-h-7 mly-w-40 mly-rounded-md mly-px-2 mly-pr-6 mly-text-sm mly-text-midnight-gray hover:mly-bg-soft-gray focus:mly-bg-soft-gray focus:mly-outline-none",
7118
+ className: "mly:h-7 mly:w-40 mly:rounded-md mly:px-2 mly:pr-6 mly:text-sm mly:text-midnight-gray mly:hover:bg-soft-gray mly:focus:bg-soft-gray mly:focus:outline-hidden",
4090
7119
  triggerChar: variableTriggerCharacter,
4091
7120
  onSelectOption: (value2) => {
4092
7121
  var _a2;
@@ -4114,7 +7143,6 @@ function ButtonView(props) {
4114
7143
  buttonColor,
4115
7144
  textColor,
4116
7145
  url: externalLink,
4117
- showIfKey = "",
4118
7146
  isUrlVariable,
4119
7147
  paddingTop,
4120
7148
  paddingRight,
@@ -4160,28 +7188,28 @@ function ButtonView(props) {
4160
7188
  "button",
4161
7189
  {
4162
7190
  className: cn(
4163
- "mly-inline-flex mly-items-center mly-justify-center mly-rounded-md mly-text-sm mly-font-medium mly-ring-offset-white mly-transition-colors disabled:mly-pointer-events-none disabled:mly-opacity-50",
4164
- "mly-font-semibold mly-no-underline",
7191
+ "mly:inline-flex mly:items-center mly:justify-center mly:rounded-md mly:text-sm mly:font-medium mly:ring-offset-white mly:transition-colors mly:disabled:pointer-events-none mly:disabled:opacity-50",
7192
+ "mly:font-semibold mly:no-underline",
4165
7193
  {
4166
- "!mly-rounded-full": _radius === "round",
4167
- "!mly-rounded-md": _radius === "smooth",
4168
- "!mly-rounded-none": _radius === "sharp"
7194
+ "mly:rounded-full!": _radius === "round",
7195
+ "mly:rounded-md!": _radius === "smooth",
7196
+ "mly:rounded-none!": _radius === "sharp"
4169
7197
  }
4170
7198
  ),
4171
7199
  tabIndex: -1,
4172
7200
  style: {
4173
- backgroundColor: variant === "filled" ? buttonColor : "transparent",
4174
- color: textColor,
7201
+ backgroundColor: variant === "filled" ? buttonColor || "var(--mly-button-background-color)" : "transparent",
7202
+ color: textColor || "var(--mly-button-text-color)",
4175
7203
  borderWidth: 2,
4176
7204
  borderStyle: "solid",
4177
- borderColor: buttonColor,
7205
+ borderColor: buttonColor || "var(--mly-button-background-color)",
4178
7206
  // decrease the border color opacity to 80%
4179
7207
  // so that it's not too prominent
4180
- "--button-var-border-color": `${textColor}80`,
4181
- paddingTop,
4182
- paddingRight,
4183
- paddingBottom,
4184
- paddingLeft
7208
+ "--button-var-border-color": textColor ? `${textColor}80` : "color-mix(in srgb, var(--mly-button-text-color) 80%, transparent)",
7209
+ paddingTop: paddingTop || "var(--mly-button-padding-top)",
7210
+ paddingRight: paddingRight || "var(--mly-button-padding-right)",
7211
+ paddingBottom: paddingBottom || "var(--mly-button-padding-bottom)",
7212
+ paddingLeft: paddingLeft || "var(--mly-button-padding-left)"
4185
7213
  },
4186
7214
  onClick: (e) => {
4187
7215
  e.preventDefault();
@@ -4204,11 +7232,11 @@ function ButtonView(props) {
4204
7232
  {
4205
7233
  align: "end",
4206
7234
  side: "top",
4207
- className: "mly-w-max mly-rounded-lg !mly-p-0.5",
7235
+ className: "mly:w-max mly:rounded-lg mly:p-0.5!",
4208
7236
  sideOffset: 8,
4209
7237
  onOpenAutoFocus: (e) => e.preventDefault(),
4210
7238
  onCloseAutoFocus: (e) => e.preventDefault(),
4211
- children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "mly-flex mly-items-stretch mly-text-midnight-gray", children: [
7239
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "mly:flex mly:items-stretch mly:text-midnight-gray", children: [
4212
7240
  /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4213
7241
  ButtonLabelInput,
4214
7242
  {
@@ -4224,7 +7252,7 @@ function ButtonView(props) {
4224
7252
  }
4225
7253
  ),
4226
7254
  /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Divider, {}),
4227
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "mly-flex mly-space-x-0.5", children: [
7255
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "mly:flex mly:gap-x-0.5", children: [
4228
7256
  /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4229
7257
  Select,
4230
7258
  {
@@ -4240,7 +7268,7 @@ function ButtonView(props) {
4240
7268
  });
4241
7269
  },
4242
7270
  tooltip: "Border Radius",
4243
- className: "mly-capitalize"
7271
+ className: "mly:capitalize"
4244
7272
  }
4245
7273
  ),
4246
7274
  /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
@@ -4258,7 +7286,7 @@ function ButtonView(props) {
4258
7286
  });
4259
7287
  },
4260
7288
  tooltip: "Style",
4261
- className: "mly-capitalize"
7289
+ className: "mly:capitalize"
4262
7290
  }
4263
7291
  ),
4264
7292
  /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
@@ -4280,12 +7308,13 @@ function ButtonView(props) {
4280
7308
  paddingLeft: paddingX
4281
7309
  });
4282
7310
  },
4283
- tooltip: "Size"
7311
+ tooltip: "Size",
7312
+ placeholder: "Size"
4284
7313
  }
4285
7314
  )
4286
7315
  ] }),
4287
7316
  /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Divider, {}),
4288
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "mly-flex mly-space-x-0.5", children: [
7317
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "mly:flex mly:gap-x-0.5", children: [
4289
7318
  /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4290
7319
  AlignmentSwitch,
4291
7320
  {
@@ -4314,12 +7343,12 @@ function ButtonView(props) {
4314
7343
  )
4315
7344
  ] }),
4316
7345
  /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Divider, {}),
4317
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "mly-flex mly-space-x-0.5", children: [
7346
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "mly:flex mly:gap-x-0.5", children: [
4318
7347
  /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4319
7348
  BackgroundColorPickerPopup,
4320
7349
  {
4321
7350
  variant,
4322
- color: buttonColor,
7351
+ color: buttonColor || "transparent",
4323
7352
  onChange: (color) => {
4324
7353
  updateAttributes2({
4325
7354
  buttonColor: color
@@ -4330,7 +7359,7 @@ function ButtonView(props) {
4330
7359
  /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4331
7360
  TextColorPickerPopup,
4332
7361
  {
4333
- color: textColor,
7362
+ color: textColor || "transparent",
4334
7363
  onChange: (color) => {
4335
7364
  updateAttributes2({
4336
7365
  textColor: color
@@ -4360,11 +7389,11 @@ function BackgroundColorPickerPopup(props) {
4360
7389
  variant: "ghost",
4361
7390
  size: "sm",
4362
7391
  type: "button",
4363
- className: "mly-size-7",
7392
+ className: "mly:size-7",
4364
7393
  children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4365
7394
  "div",
4366
7395
  {
4367
- className: "mly-h-4 mly-w-4 mly-shrink-0 mly-rounded-full mly-shadow",
7396
+ className: "mly:h-4 mly:w-4 mly:shrink-0 mly:rounded-full mly:shadow",
4368
7397
  style: {
4369
7398
  backgroundColor: variant === "filled" ? color : "transparent",
4370
7399
  borderStyle: "solid",
@@ -4386,13 +7415,13 @@ function TextColorPickerPopup(props) {
4386
7415
  variant: "ghost",
4387
7416
  size: "sm",
4388
7417
  type: "button",
4389
- className: "mly-size-7",
4390
- children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "mly-flex mly-flex-col mly-items-center mly-justify-center mly-gap-[1px]", children: [
4391
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "mly-font-bolder mly-font-mono mly-text-xs mly-text-midnight-gray", children: "A" }),
7418
+ className: "mly:size-7",
7419
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "mly:flex mly:flex-col mly:items-center mly:justify-center mly:gap-px", children: [
7420
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "mly:font-bolder mly:font-mono mly:text-xs mly:text-midnight-gray", children: "A" }),
4392
7421
  /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4393
7422
  "div",
4394
7423
  {
4395
- className: "mly-h-[2px] mly-w-3 mly-shrink-0 mly-rounded-md mly-shadow",
7424
+ className: "mly:h-[2px] mly:w-3 mly:shrink-0 mly:rounded-md mly:shadow",
4396
7425
  style: { backgroundColor: color }
4397
7426
  }
4398
7427
  )
@@ -4405,12 +7434,12 @@ function TextColorPickerPopup(props) {
4405
7434
  var DEFAULT_BUTTON_ALIGNMENT = "left";
4406
7435
  var DEFAULT_BUTTON_VARIANT = "filled";
4407
7436
  var DEFAULT_BUTTON_BORDER_RADIUS = "smooth";
4408
- var DEFAULT_BUTTON_BACKGROUND_COLOR = "#000000";
4409
- var DEFAULT_BUTTON_TEXT_COLOR = "#ffffff";
4410
- var DEFAULT_BUTTON_PADDING_TOP = 10;
4411
- var DEFAULT_BUTTON_PADDING_RIGHT = 32;
4412
- var DEFAULT_BUTTON_PADDING_BOTTOM = 10;
4413
- var DEFAULT_BUTTON_PADDING_LEFT = 32;
7437
+ var DEFAULT_BUTTON_BACKGROUND_COLOR = null;
7438
+ var DEFAULT_BUTTON_TEXT_COLOR = null;
7439
+ var DEFAULT_BUTTON_PADDING_TOP = null;
7440
+ var DEFAULT_BUTTON_PADDING_RIGHT = null;
7441
+ var DEFAULT_BUTTON_PADDING_BOTTOM = null;
7442
+ var DEFAULT_BUTTON_PADDING_LEFT = null;
4414
7443
  var allowedButtonVariant = ["filled", "outline"];
4415
7444
  var allowedButtonBorderRadius = ["sharp", "smooth", "round"];
4416
7445
  var ButtonExtension = import_core12.Node.create({
@@ -4506,28 +7535,6 @@ var ButtonExtension = import_core12.Node.create({
4506
7535
  };
4507
7536
  }
4508
7537
  },
4509
- buttonColor: {
4510
- default: DEFAULT_BUTTON_BACKGROUND_COLOR,
4511
- parseHTML: (element) => {
4512
- return element.getAttribute("data-button-color") || DEFAULT_BUTTON_BACKGROUND_COLOR;
4513
- },
4514
- renderHTML: (attributes) => {
4515
- return {
4516
- "data-button-color": attributes.buttonColor
4517
- };
4518
- }
4519
- },
4520
- textColor: {
4521
- default: DEFAULT_BUTTON_TEXT_COLOR,
4522
- parseHTML: (element) => {
4523
- return element.getAttribute("data-text-color") || DEFAULT_BUTTON_TEXT_COLOR;
4524
- },
4525
- renderHTML: (attributes) => {
4526
- return {
4527
- "data-text-color": attributes.textColor
4528
- };
4529
- }
4530
- },
4531
7538
  showIfKey: {
4532
7539
  default: DEFAULT_SECTION_SHOW_IF_KEY,
4533
7540
  parseHTML: (element) => {
@@ -4542,62 +7549,12 @@ var ButtonExtension = import_core12.Node.create({
4542
7549
  };
4543
7550
  }
4544
7551
  },
4545
- paddingTop: {
4546
- default: DEFAULT_BUTTON_PADDING_TOP,
4547
- parseHTML: (element) => {
4548
- return parseInt(
4549
- element.getAttribute("data-padding-top") || DEFAULT_BUTTON_PADDING_TOP.toString(),
4550
- 10
4551
- );
4552
- },
4553
- renderHTML: (attributes) => {
4554
- return {
4555
- "data-padding-top": attributes.paddingTop
4556
- };
4557
- }
4558
- },
4559
- paddingRight: {
4560
- default: DEFAULT_BUTTON_PADDING_RIGHT,
4561
- parseHTML: (element) => {
4562
- return parseInt(
4563
- element.getAttribute("data-padding-right") || DEFAULT_BUTTON_PADDING_RIGHT.toString(),
4564
- 10
4565
- );
4566
- },
4567
- renderHTML: (attributes) => {
4568
- return {
4569
- "data-padding-right": attributes.paddingRight
4570
- };
4571
- }
4572
- },
4573
- paddingBottom: {
4574
- default: DEFAULT_BUTTON_PADDING_BOTTOM,
4575
- parseHTML: (element) => {
4576
- return parseInt(
4577
- element.getAttribute("data-padding-bottom") || DEFAULT_BUTTON_PADDING_BOTTOM.toString(),
4578
- 10
4579
- );
4580
- },
4581
- renderHTML: (attributes) => {
4582
- return {
4583
- "data-padding-bottom": attributes.paddingBottom
4584
- };
4585
- }
4586
- },
4587
- paddingLeft: {
4588
- default: DEFAULT_BUTTON_PADDING_LEFT,
4589
- parseHTML: (element) => {
4590
- return parseInt(
4591
- element.getAttribute("data-padding-left") || DEFAULT_BUTTON_PADDING_LEFT.toString(),
4592
- 10
4593
- );
4594
- },
4595
- renderHTML: (attributes) => {
4596
- return {
4597
- "data-padding-left": attributes.paddingLeft
4598
- };
4599
- }
4600
- }
7552
+ buttonColor: DEFAULT_BUTTON_BACKGROUND_COLOR,
7553
+ textColor: DEFAULT_BUTTON_TEXT_COLOR,
7554
+ paddingTop: DEFAULT_BUTTON_PADDING_TOP,
7555
+ paddingRight: DEFAULT_BUTTON_PADDING_RIGHT,
7556
+ paddingBottom: DEFAULT_BUTTON_PADDING_BOTTOM,
7557
+ paddingLeft: DEFAULT_BUTTON_PADDING_LEFT
4601
7558
  };
4602
7559
  },
4603
7560
  parseHTML() {
@@ -4630,7 +7587,7 @@ var ButtonExtension = import_core12.Node.create({
4630
7587
  addNodeView() {
4631
7588
  return (0, import_react26.ReactNodeViewRenderer)(ButtonView, {
4632
7589
  contentDOMElementTag: "div",
4633
- className: "mly-relative"
7590
+ className: "mly:relative"
4634
7591
  });
4635
7592
  }
4636
7593
  });
@@ -4776,7 +7733,7 @@ var ImageExtension = import_extension_image2.default.extend({
4776
7733
  },
4777
7734
  addNodeView() {
4778
7735
  return (0, import_react27.ReactNodeViewRenderer)(ImageView, {
4779
- className: "mly-relative"
7736
+ className: "mly:relative"
4780
7737
  });
4781
7738
  }
4782
7739
  });
@@ -4866,7 +7823,7 @@ function RepeatView(props) {
4866
7823
  "data-type": "repeat",
4867
7824
  draggable: editor.isEditable,
4868
7825
  "data-drag-handle": editor.isEditable,
4869
- className: "mly-relative",
7826
+ className: "mly:relative",
4870
7827
  children: [
4871
7828
  /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react28.NodeViewContent, { className: "is-editable" }),
4872
7829
  /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
@@ -4874,14 +7831,14 @@ function RepeatView(props) {
4874
7831
  {
4875
7832
  role: "button",
4876
7833
  "data-repeat-indicator": "",
4877
- className: "mly-absolute mly-inset-y-0 mly-right-0 mly-flex mly-translate-x-full mly-cursor-pointer mly-flex-col mly-items-center mly-gap-1 mly-opacity-60",
7834
+ className: "mly:absolute mly:inset-y-0 mly:right-0 mly:flex mly:translate-x-full mly:cursor-pointer mly:flex-col mly:items-center mly:gap-1 mly:opacity-60",
4878
7835
  contentEditable: false,
4879
7836
  onClick: () => {
4880
7837
  editor.commands.setNodeSelection(getPos());
4881
7838
  },
4882
7839
  children: [
4883
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react16.Repeat2, { className: "mly-size-3 mly-stroke-[2.5] mly-text-midnight-gray" }),
4884
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "mly-w-[1.5px] mly-grow mly-rounded-full mly-bg-rose-300" })
7840
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react16.Repeat2, { className: "mly:size-3 mly:stroke-[2.5] mly:text-midnight-gray" }),
7841
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "mly:w-[1.5px] mly:grow mly:rounded-full mly:bg-rose-300" })
4885
7842
  ]
4886
7843
  }
4887
7844
  )
@@ -4967,7 +7924,7 @@ var RepeatExtension = import_core13.Node.create({
4967
7924
  addNodeView() {
4968
7925
  return (0, import_react29.ReactNodeViewRenderer)(RepeatView, {
4969
7926
  contentDOMElementTag: "div",
4970
- className: "mly-relative"
7927
+ className: "mly:relative"
4971
7928
  });
4972
7929
  }
4973
7930
  });
@@ -4981,7 +7938,7 @@ var MailyKit = import_core14.Extension.create({
4981
7938
  HTMLAttributes: {
4982
7939
  target: "_blank",
4983
7940
  rel: "noopener noreferrer nofollow",
4984
- class: "mly-no-underline"
7941
+ class: "mly:no-underline"
4985
7942
  },
4986
7943
  openOnClick: false
4987
7944
  }
@@ -4995,22 +7952,22 @@ var MailyKit = import_core14.Extension.create({
4995
7952
  import_starter_kit.default.configure({
4996
7953
  code: {
4997
7954
  HTMLAttributes: {
4998
- class: "mly-px-1 mly-relative mly-py-0.5 mly-bg-[#efefef] mly-text-sm mly-rounded-md mly-tracking-normal mly-font-normal"
7955
+ class: "mly:px-1 mly:relative mly:py-0.5 mly:bg-[#efefef] mly:text-sm mly:rounded-md mly:tracking-normal mly:font-normal"
4999
7956
  }
5000
7957
  },
5001
7958
  blockquote: {
5002
7959
  HTMLAttributes: {
5003
- class: "mly-not-prose mly-border-l-4 mly-border-gray-300 mly-pl-4 mly-mt-4 mly-mb-4 mly-relative"
7960
+ class: "mly:not-prose mly:border-l-4 mly:border-gray-300 mly:pl-4 mly:mt-4 mly:mb-4 mly:relative"
5004
7961
  }
5005
7962
  },
5006
7963
  bulletList: {
5007
7964
  HTMLAttributes: {
5008
- class: "mly-relative"
7965
+ class: "mly:relative"
5009
7966
  }
5010
7967
  },
5011
7968
  orderedList: {
5012
7969
  HTMLAttributes: {
5013
- class: "mly-relative"
7970
+ class: "mly:relative"
5014
7971
  }
5015
7972
  },
5016
7973
  heading: false,
@@ -5036,12 +7993,12 @@ var MailyKit = import_core14.Extension.create({
5036
7993
  HeadingExtension.configure({
5037
7994
  levels: [1, 2, 3],
5038
7995
  HTMLAttributes: {
5039
- class: "mly-relative"
7996
+ class: "mly:relative"
5040
7997
  }
5041
7998
  }),
5042
7999
  ParagraphExtension.configure({
5043
8000
  HTMLAttributes: {
5044
- class: "mly-relative"
8001
+ class: "mly:relative"
5045
8002
  }
5046
8003
  })
5047
8004
  ];
@@ -5153,12 +8110,12 @@ function SlashCommandItem(props) {
5153
8110
  const hasRenderFunction = typeof item.render === "function";
5154
8111
  const renderFunctionValue = hasRenderFunction ? (_a = item.render) == null ? void 0 : _a.call(item, editor) : null;
5155
8112
  let value = /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
5156
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "mly-flex mly-h-6 mly-w-6 mly-shrink-0 mly-items-center mly-justify-center", children: item.icon }),
5157
- /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "mly-grow", children: [
5158
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "mly-font-medium", children: item.title }),
5159
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "mly-text-xs mly-text-gray-400", children: item.description })
8113
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "mly:flex mly:h-6 mly:w-6 mly:shrink-0 mly:items-center mly:justify-center", children: item.icon }),
8114
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "mly:grow", children: [
8115
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "mly:font-medium", children: item.title }),
8116
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "mly:text-xs mly:text-gray-400", children: item.description })
5160
8117
  ] }),
5161
- isSubCommand2 && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "mly-block mly-px-1 mly-text-gray-400", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react17.ChevronRightIcon, { className: "mly-size-3.5 mly-stroke-[2.5]" }) })
8118
+ isSubCommand2 && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "mly:block mly:px-1 mly:text-gray-400", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react17.ChevronRightIcon, { className: "mly:size-3.5 mly:stroke-[2.5]" }) })
5162
8119
  ] });
5163
8120
  if (renderFunctionValue !== null && renderFunctionValue !== true) {
5164
8121
  value = renderFunctionValue;
@@ -5194,8 +8151,8 @@ function SlashCommandItem(props) {
5194
8151
  "button",
5195
8152
  {
5196
8153
  className: cn(
5197
- "mly-flex mly-w-full mly-items-center mly-gap-2 mly-rounded-md mly-px-2 mly-py-1 mly-text-left mly-text-sm mly-text-gray-900 hover:mly-bg-gray-100 hover:mly-text-gray-900",
5198
- isActive ? "mly-bg-gray-100 mly-text-gray-900" : "mly-bg-transparent"
8154
+ "mly:flex mly:w-full mly:items-center mly:gap-2 mly:rounded-md mly:px-2 mly:py-1 mly:text-left mly:text-sm mly:text-gray-900 mly:hover:bg-gray-100 mly:hover:text-gray-900",
8155
+ isActive ? "mly:bg-gray-100 mly:text-gray-900" : "mly:bg-transparent"
5199
8156
  ),
5200
8157
  onClick: () => selectItem(groupIndex, commandIndex),
5201
8158
  onMouseEnter: () => onHover(true),
@@ -5210,17 +8167,17 @@ function SlashCommandItem(props) {
5210
8167
  {
5211
8168
  side: "right",
5212
8169
  sideOffset: 10,
5213
- className: "mly-w-52 mly-rounded-lg mly-border-none mly-p-1 mly-shadow",
8170
+ className: "mly:w-52 mly:rounded-lg mly:border-none mly:p-1 mly:shadow",
5214
8171
  children: typeof item.preview === "function" ? item == null ? void 0 : item.preview(editor) : /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
5215
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("figure", { className: "mly-relative mly-aspect-[2.5] mly-w-full mly-overflow-hidden mly-rounded-md mly-border mly-border-gray-200", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
8172
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("figure", { className: "mly:relative mly:aspect-[2.5] mly:w-full mly:overflow-hidden mly:rounded-md mly:border mly:border-gray-200", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5216
8173
  "img",
5217
8174
  {
5218
8175
  src: item == null ? void 0 : item.preview,
5219
8176
  alt: item == null ? void 0 : item.title,
5220
- className: "mly-absolute mly-inset-0 mly-h-full mly-w-full mly-object-cover"
8177
+ className: "mly:absolute mly:inset-0 mly:h-full mly:w-full mly:object-cover"
5221
8178
  }
5222
8179
  ) }),
5223
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "mly-mt-2 mly-px-0.5 mly-text-gray-500", children: item.description })
8180
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "mly:mt-2 mly:px-0.5 mly:text-gray-500", children: item.description })
5224
8181
  ] })
5225
8182
  }
5226
8183
  )
@@ -5447,25 +8404,25 @@ var CommandList = (0, import_react32.forwardRef)((props, ref) => {
5447
8404
  if (!groups || groups.length === 0) {
5448
8405
  return null;
5449
8406
  }
5450
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "mly-z-50 mly-w-72 mly-overflow-hidden mly-rounded-md mly-border mly-border-gray-200 mly-bg-white mly-shadow-md mly-transition-all", children: [
8407
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "mly:z-50 mly:w-72 mly:overflow-hidden mly:rounded-md mly:border mly:border-gray-200 mly:bg-white mly:shadow-md mly:transition-all", children: [
5451
8408
  /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
5452
8409
  "div",
5453
8410
  {
5454
8411
  id: "slash-command",
5455
8412
  ref: commandListContainer,
5456
- className: "mly-no-scrollbar mly-h-auto mly-max-h-[330px] mly-overflow-y-auto",
8413
+ className: "mly:no-scrollbar mly:h-auto mly:max-h-[330px] mly:overflow-y-auto",
5457
8414
  children: groups.map((group, groupIndex) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_react32.Fragment, { children: [
5458
8415
  /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
5459
8416
  "span",
5460
8417
  {
5461
8418
  className: cn(
5462
- "mly-block mly-border-b mly-border-gray-200 mly-bg-soft-gray mly-p-2 mly-text-xs mly-uppercase mly-text-gray-400",
5463
- groupIndex > 0 ? "mly-border-t" : ""
8419
+ "mly:block mly:border-b mly:border-gray-200 mly:bg-soft-gray mly:p-2 mly:text-xs mly:uppercase mly:text-gray-400",
8420
+ groupIndex > 0 ? "mly:border-t" : ""
5464
8421
  ),
5465
8422
  children: group.title
5466
8423
  }
5467
8424
  ),
5468
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "mly-space-y-0.5 mly-p-1", children: group.commands.map((item, commandIndex) => {
8425
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "mly:space-y-0.5 mly:p-1", children: group.commands.map((item, commandIndex) => {
5469
8426
  const itemKey = `${groupIndex}-${commandIndex}`;
5470
8427
  return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
5471
8428
  SlashCommandItem,
@@ -5487,16 +8444,16 @@ var CommandList = (0, import_react32.forwardRef)((props, ref) => {
5487
8444
  ] }, groupIndex))
5488
8445
  }
5489
8446
  ),
5490
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "mly-border-t mly-border-gray-200 mly-px-1 mly-py-3 mly-pl-4", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "mly-flex mly-items-center", children: [
5491
- /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("p", { className: "mly-text-center mly-text-xs mly-text-gray-400", children: [
5492
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("kbd", { className: "mly-rounded mly-border mly-border-gray-200 mly-p-1 mly-px-2 mly-font-medium", children: "\u2191" }),
5493
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("kbd", { className: "mly-ml-1 mly-rounded mly-border mly-border-gray-200 mly-p-1 mly-px-2 mly-font-medium", children: "\u2193" }),
8447
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "mly:border-t mly:border-gray-200 mly:px-1 mly:py-3 mly:pl-4", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "mly:flex mly:items-center", children: [
8448
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("p", { className: "mly:text-center mly:text-xs mly:text-gray-400", children: [
8449
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("kbd", { className: "mly:rounded mly:border mly:border-gray-200 mly:p-1 mly:px-2 mly:font-medium", children: "\u2191" }),
8450
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("kbd", { className: "mly:ml-1 mly:rounded mly:border mly:border-gray-200 mly:p-1 mly:px-2 mly:font-medium", children: "\u2193" }),
5494
8451
  " ",
5495
8452
  "to navigate"
5496
8453
  ] }),
5497
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { "aria-hidden": "true", className: "mly-select-none mly-px-1", children: "\xB7" }),
5498
- /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("p", { className: "mly-text-center mly-text-xs mly-text-gray-400", children: [
5499
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("kbd", { className: "mly-rounded mly-border mly-border-gray-200 mly-p-1 mly-px-1.5 mly-font-medium", children: "Enter" }),
8454
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { "aria-hidden": "true", className: "mly:select-none mly:px-1", children: "\xB7" }),
8455
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("p", { className: "mly:text-center mly:text-xs mly:text-gray-400", children: [
8456
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("kbd", { className: "mly:rounded mly:border mly:border-gray-200 mly:p-1 mly:px-1.5 mly:font-medium", children: "Enter" }),
5500
8457
  " ",
5501
8458
  "to select"
5502
8459
  ] })
@@ -5610,10 +8567,12 @@ var VariableList = (0, import_react34.forwardRef)((props, ref) => {
5610
8567
  {
5611
8568
  items,
5612
8569
  onSelectItem: (value) => {
5613
- var _a2;
8570
+ var _a2, _b;
5614
8571
  props.command({
5615
8572
  id: value.name,
5616
- required: (_a2 = value.required) != null ? _a2 : true
8573
+ required: (_a2 = value.required) != null ? _a2 : true,
8574
+ hideDefaultValue: (_b = value == null ? void 0 : value.hideDefaultValue) != null ? _b : false,
8575
+ label: value == null ? void 0 : value.label
5617
8576
  });
5618
8577
  },
5619
8578
  ref: popoverRef
@@ -5727,7 +8686,7 @@ function HTMLCodeBlockView(props) {
5727
8686
  "data-drag-handle": false,
5728
8687
  "data-type": "htmlCodeBlock",
5729
8688
  children: [
5730
- activeTab === "code" && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("pre", { className: "mly-my-0 mly-rounded-lg mly-border mly-border-gray-200 mly-bg-white mly-p-2 mly-text-black", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
8689
+ activeTab === "code" && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("pre", { className: "mly:my-0 mly:rounded-lg mly:border mly:border-gray-200 mly:bg-white mly:p-2 mly:text-black", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5731
8690
  import_react35.NodeViewContent,
5732
8691
  {
5733
8692
  as: "code",
@@ -5738,8 +8697,8 @@ function HTMLCodeBlockView(props) {
5738
8697
  "div",
5739
8698
  {
5740
8699
  className: cn(
5741
- "mly-not-prose mly-rounded-lg mly-border mly-border-gray-200 mly-p-2",
5742
- isEmpty && "mly-min-h-[42px]"
8700
+ "mly:not-prose mly:rounded-lg mly:border mly:border-gray-200 mly:p-2",
8701
+ isEmpty && "mly:min-h-[42px]"
5743
8702
  ),
5744
8703
  ref: (node2) => {
5745
8704
  if (!node2 || (node2 == null ? void 0 : node2.shadowRoot)) {
@@ -5803,7 +8762,7 @@ var HTMLCodeBlockExtension = import_extension_code_block_lowlight.default.extend
5803
8762
  },
5804
8763
  addNodeView() {
5805
8764
  return (0, import_react37.ReactNodeViewRenderer)(HTMLCodeBlockView, {
5806
- className: "mly-relative",
8765
+ className: "mly:relative",
5807
8766
  attrs: ({ node }) => {
5808
8767
  var _a;
5809
8768
  return {