@webskill/sdk 0.21.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/dist/abnfDiagram-O67JEVCF-DtYFjfqO.js +109 -0
  2. package/dist/agent.d.ts +3 -3
  3. package/dist/agent.js +1012 -130
  4. package/dist/{approval-DwN2o2QG.js → approval-DWQlDPbY.js} +102 -16
  5. package/dist/arc-8U_6NQWm.js +130 -0
  6. package/dist/architecture-7GRP2DOG-RTw1wpAq.js +4 -0
  7. package/dist/architectureDiagram-NJMV4G6O-XmmXrJAK.js +7473 -0
  8. package/dist/array-DQfpQNY8.js +8 -0
  9. package/dist/blockDiagram-BEXU5L5S-D4yjnCD1.js +2582 -0
  10. package/dist/browser.d.ts +444 -48
  11. package/dist/browser.js +1771 -91
  12. package/dist/c4Diagram-YGBWAQC7-BLmA_JSd.js +3668 -0
  13. package/dist/channel-CZxxLrG7.js +9 -0
  14. package/dist/chunk-2Q5K7J3B-Ck03gkFR.js +21 -0
  15. package/dist/chunk-3FUC2YCW-tr6jmbQf.js +530 -0
  16. package/dist/chunk-5DYCD2WN-Bt97YGTd.js +58 -0
  17. package/dist/chunk-5VM5RSS4-BBxa48HL.js +21 -0
  18. package/dist/chunk-6AEJRKK7-JXK89I-O.js +14 -0
  19. package/dist/chunk-742MDFTN-CPmgCGwC.js +466 -0
  20. package/dist/chunk-7INBJB4K-C9jq9o66.js +6552 -0
  21. package/dist/chunk-7M6MHVWA-BrKCWcR1.js +4894 -0
  22. package/dist/chunk-7PRAP22T-BHED6GVs.js +95 -0
  23. package/dist/chunk-DUW6YSOI-DoZj78PO.js +19 -0
  24. package/dist/chunk-FOHPRMQF-Dkbp819z.js +27189 -0
  25. package/dist/chunk-GNY47TPC-Bpvq1T49.js +87 -0
  26. package/dist/chunk-GTNCS2PH-CLmh4I2c.js +686 -0
  27. package/dist/chunk-GWA4HPMP-B6vN3fkL.js +95 -0
  28. package/dist/chunk-J5ZVWO5B-Bi_Pcobw.js +26 -0
  29. package/dist/chunk-JWPE2WC7-D1rC79GS.js +12 -0
  30. package/dist/chunk-LNGE3PJU-D5OIoe3Z.js +2582 -0
  31. package/dist/chunk-MBY4JIJT-C34L7a4f.js +2276 -0
  32. package/dist/chunk-NETBCI7D-Cg84k8N8.js +321 -0
  33. package/dist/chunk-O7XYJQB3-B6K0KOSL.js +8846 -0
  34. package/dist/chunk-UA2S7LBM-DxHM29_K.js +612 -0
  35. package/dist/chunk-WEXAMYUT-Ba6jFWhB.js +33 -0
  36. package/dist/chunk-XXDRQBXY-DPbSy4kg.js +12 -0
  37. package/dist/chunk-Y2CYZVJY-U3QOMqrW.js +15 -0
  38. package/dist/chunk-Z7XXMR3K-oLg1h8F3.js +1038 -0
  39. package/dist/chunk-ZIGJFQKS-DqEFBuHR.js +2215 -0
  40. package/dist/classDiagram-v2-NBCMYWYE-BqnOWIUt.js +3845 -0
  41. package/dist/cose-bilkent-JH36ORCC-C0dTAHVK.js +4270 -0
  42. package/dist/cynefin-OW5HDTMX-B2QvgEQj.js +4 -0
  43. package/dist/cynefinDiagram-VND7K2PF-yAWc6Z3W.js +479 -0
  44. package/dist/cytoscape.esm-C64mRh9B.js +28325 -0
  45. package/dist/dagre-6A5THRUB-D0w2W27v.js +4816 -0
  46. package/dist/defaultLocale-B_EoOkSF.js +249 -0
  47. package/dist/diagram-22UHCM2B-DvgzhUzP.js +6115 -0
  48. package/dist/diagram-3UASUU5V-DWgUB-ef.js +795 -0
  49. package/dist/diagram-ATOU4E4O-P1olqwIs.js +553 -0
  50. package/dist/diagram-CDSNMT55-BUlZuLUe.js +402 -0
  51. package/dist/diagram-MLGK6HIB-6w5qmkGt.js +186 -0
  52. package/dist/diagram-MPIPVDR6-DEFiSo8o.js +289 -0
  53. package/dist/dist-UajCDt3n.js +92 -0
  54. package/dist/ebnfDiagram-ZINNZB2B-CI8liCfR.js +123 -0
  55. package/dist/elk-276RUBZZ-3SvW6OAK.js +90034 -0
  56. package/dist/erDiagram-OPXOYQCR-CPTbKhwP.js +2301 -0
  57. package/dist/eventmodeling-NTZA5JFV-BlyuqGp0.js +4 -0
  58. package/dist/flowDiagram-KWPJA3E3-CcUJ6HbV.js +18 -0
  59. package/dist/ganttDiagram-FUAMR5RP-31UjY0KK.js +3939 -0
  60. package/dist/{toolSource-C9oNuKmr.js → geometry-wx5ZTYzi.js} +162 -12
  61. package/dist/gitGraph-4MIJSDKK-ChdVlrk7.js +4 -0
  62. package/dist/gitGraphDiagram-X574FWY7-DKuxJymB.js +1153 -0
  63. package/dist/governance.d.ts +3 -3
  64. package/dist/graphlib-tk9gQYuN.js +4194 -0
  65. package/dist/{index-B8Tgmpwh.d.ts → index-BiO9_XRk.d.ts} +2 -2
  66. package/dist/{index-CYLt5u4L.d.ts → index-CjwdZQOS.d.ts} +700 -12
  67. package/dist/{index-DHopiH_m.d.ts → index-YPd8ZSEa.d.ts} +156 -9
  68. package/dist/index.d.ts +4 -4
  69. package/dist/index.js +6 -6
  70. package/dist/info-A6RAGUB7-CxRAt9S9.js +4 -0
  71. package/dist/infoDiagram-VRGFBTTK-pRspGfjZ.js +25 -0
  72. package/dist/init-CMOIWdg-.js +16 -0
  73. package/dist/ishikawaDiagram-OU5B5YK6-DKerAPAg.js +975 -0
  74. package/dist/journeyDiagram-ZHPQQLJL-C4MK-YO5.js +1227 -0
  75. package/dist/kanban-definition-PNTS6WVX-BqsZpMXx.js +1244 -0
  76. package/dist/katex-BcRRvyh_.js +26465 -0
  77. package/dist/{kind-DaKqLX2F.js → kind-Dc8x0HWz.js} +54 -7
  78. package/dist/line-LgV8iVMV.js +48 -0
  79. package/dist/linear-BWKR0Tqd.js +393 -0
  80. package/dist/linkedDocument-CIuh_Yp0.js +416 -0
  81. package/dist/mcp.d.ts +2 -2
  82. package/dist/{memoryArtifactStore-D6dLeY55.js → memoryArtifactStore-Bs7glPqm.js} +14 -0
  83. package/dist/mermaid-parser.core-pYR5siSx.js +754 -0
  84. package/dist/mermaid.core-DMtwGCHy.js +1756 -0
  85. package/dist/mindmap-definition-NLK3R4M7-CXbD-myG.js +1312 -0
  86. package/dist/node.d.ts +3 -3
  87. package/dist/node.js +2 -2
  88. package/dist/{openUiLibrary-b0i7F_oZ.js → openUiLibrary-B7j3rLrm.js} +1 -1
  89. package/dist/{openUiSpecLang-CLXJEeRU.js → openUiSpecLang-BSYYnjay.js} +1 -1
  90. package/dist/ordinal-CxA6GHQS.js +84 -0
  91. package/dist/packet-AYTQ26CC-BOm08cxl.js +4 -0
  92. package/dist/path-C27Z2Bjv.js +106 -0
  93. package/dist/pegDiagram-GJSIUBJH-BLGJOewQ.js +115 -0
  94. package/dist/pie-WAS4IAKB-Dvg7glpk.js +4 -0
  95. package/dist/pieDiagram-5QR66LMP-laoaV_PB.js +298 -0
  96. package/dist/quadrantDiagram-O4NWA36T-Db_wFBkT.js +2236 -0
  97. package/dist/radar-RG4KPBEZ-BZDaTu06.js +4 -0
  98. package/dist/railroad-74A4TZTK-C-UhjkOy.js +4 -0
  99. package/dist/railroad-abnf-HS5TGJTU-dUKVA4OS.js +4 -0
  100. package/dist/railroad-ebnf-LZEXJU2U-DzQumk18.js +4 -0
  101. package/dist/railroad-peg-WCYAUIDC-B3vvTWed.js +4 -0
  102. package/dist/railroadDiagram-XR7U4H2S-BY0sTM4X.js +89 -0
  103. package/dist/requirementDiagram-PLB6GJNP-3rkQfEhs.js +2474 -0
  104. package/dist/rough.cjs-AmDd_NQk.js +1395 -0
  105. package/dist/sankeyDiagram-IPEJSGJF-CGAJhyG2.js +3578 -0
  106. package/dist/sequenceDiagram-PO4LG4MO-9FJjFX06.js +5522 -0
  107. package/dist/sizeCapture-INFHLROL-D8PWxdOn.js +56 -0
  108. package/dist/{skillVersionStore-B24Jjjry-BkOk9wI_.d.ts → skillVersionStore-B24Jjjry-BY1H7Krp.d.ts} +1 -1
  109. package/dist/src-NkhI3UMl.js +2653 -0
  110. package/dist/stateDiagram-v2-GCMORJYK-B0O3wc1-.js +2715 -0
  111. package/dist/swimlanes-2SLR337P-D4EOnrpu.js +6637 -0
  112. package/dist/swimlanesDiagram-TC7HE7FX-BUx29EJ9.js +30 -0
  113. package/dist/testing.d.ts +2 -1
  114. package/dist/testing.js +1 -1
  115. package/dist/timeline-definition-EJHVYXUP-CrgiiB4C.js +1513 -0
  116. package/dist/treeView-Q6P3EWNA-C1by-Gzc.js +4 -0
  117. package/dist/treemap-WGGIJYW6-mC2NZ6ad.js +4 -0
  118. package/dist/{types-BvTV_05--BW8zDuEk.d.ts → types-CpDRZ0rA-BM5FI9oN.d.ts} +59 -8
  119. package/dist/ui-react.d.ts +3 -3
  120. package/dist/ui-react.js +3718 -77
  121. package/dist/ui-vue.d.ts +1 -1
  122. package/dist/ui.d.ts +3 -3
  123. package/dist/ui.js +2 -2
  124. package/dist/usecaseDiagram-POWQR4AR-BUt_TQOY.js +14397 -0
  125. package/dist/vennDiagram-UO4OBE2U-CwXr0wjA.js +2808 -0
  126. package/dist/wardley-WFR3VGLG-CVSYjq_S.js +4 -0
  127. package/dist/wardleyDiagram-VNRHLVJA-Cpfd47dQ.js +874 -0
  128. package/dist/{webSkillApi-Cib6G-94.js → webSkillApi-Dy-Zjv0y.js} +1 -1
  129. package/dist/{webskillLitCatalog-W06npwej.js → webskillLitCatalog-D5BCiMCU.js} +1 -1
  130. package/dist/xychartDiagram-PMCCYNJV-e1TeVoc6.js +2704 -0
  131. package/package.json +1 -1
  132. package/dist/linkedDocument-C0gj1sMq.js +0 -245
package/dist/ui-react.js CHANGED
@@ -2,7 +2,7 @@ import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM, r as __
2
2
  import { n as messageOf, t as WebSkillError } from "./errors-BDZNpC13.js";
3
3
  import { n as validateUiSpecEvent, r as validateUiSpecNode } from "./surface-DVGiCmwq.js";
4
4
  import { a as applySuggestion, c as DEFAULT_SURFACE_FORM_TEXTS, f as resolveSurfaceFormTexts, i as renderMiniMarkdown, l as DEFAULT_SURFACE_HOST_CONTROL_TEXTS, m as shapeInteractionValue, o as collectValues, p as resolveSurfaceHostControlTexts, r as renderMiniChart, u as interactionToFormModel } from "./miniChart-D0nYMzz8.js";
5
- import { C as DEFAULT_CHART_FONT_SIZES, E as resolveChartFontSizes, S as gaugePercent, T as mountEchart, c as resolveColumnWidths, d as collectFormScopes, f as collectScopedValues, g as uiCatalog, i as normalizeFieldOptions, n as interactionToUiSpec, p as qualifyFieldName, r as toJsonRenderSpec, s as normalizeColumnWidths, t as toOpenUiSpecLang, u as evaluateFieldCondition, w as chartSpecFromProps } from "./openUiSpecLang-CLXJEeRU.js";
5
+ import { C as DEFAULT_CHART_FONT_SIZES, E as resolveChartFontSizes, S as gaugePercent, T as mountEchart, c as resolveColumnWidths, d as collectFormScopes, f as collectScopedValues, g as uiCatalog, i as normalizeFieldOptions, n as interactionToUiSpec, p as qualifyFieldName, r as toJsonRenderSpec, s as normalizeColumnWidths, t as toOpenUiSpecLang, u as evaluateFieldCondition, w as chartSpecFromProps } from "./openUiSpecLang-BSYYnjay.js";
6
6
  import minpath from "node:path";
7
7
  import { fileURLToPath as urlToPath } from "node:url";
8
8
  import { z } from "zod";
@@ -34522,6 +34522,7 @@ var require_lucide_react = /* @__PURE__ */ __commonJSMin(((exports) => {
34522
34522
  ]);
34523
34523
  exports.Check = Check;
34524
34524
  exports.ChevronDown = ChevronDown;
34525
+ exports.ImageOff = ImageOff;
34525
34526
  exports.LoaderCircle = LoaderCircle;
34526
34527
  }));
34527
34528
 
@@ -41592,6 +41593,3411 @@ function DataTable({ children, className = "", containerClassName = "", ...props
41592
41593
  });
41593
41594
  }
41594
41595
 
41596
+ //#endregion
41597
+ //#region ../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
41598
+ function r$1(e) {
41599
+ var t, f, n = "";
41600
+ if ("string" == typeof e || "number" == typeof e) n += e;
41601
+ else if ("object" == typeof e) if (Array.isArray(e)) {
41602
+ var o = e.length;
41603
+ for (t = 0; t < o; t++) e[t] && (f = r$1(e[t])) && (n && (n += " "), n += f);
41604
+ } else for (f in e) e[f] && (n && (n += " "), n += f);
41605
+ return n;
41606
+ }
41607
+ function clsx() {
41608
+ for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r$1(e)) && (n && (n += " "), n += t);
41609
+ return n;
41610
+ }
41611
+
41612
+ //#endregion
41613
+ //#region ../../node_modules/.pnpm/tailwind-merge@3.6.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs
41614
+ /**
41615
+ * Concatenates two arrays faster than the array spread operator.
41616
+ */
41617
+ const concatArrays = (array1, array2) => {
41618
+ const combinedArray = new Array(array1.length + array2.length);
41619
+ for (let i = 0; i < array1.length; i++) combinedArray[i] = array1[i];
41620
+ for (let i = 0; i < array2.length; i++) combinedArray[array1.length + i] = array2[i];
41621
+ return combinedArray;
41622
+ };
41623
+ const createClassValidatorObject = (classGroupId, validator) => ({
41624
+ classGroupId,
41625
+ validator
41626
+ });
41627
+ const createClassPartObject = (nextPart = /* @__PURE__ */ new Map(), validators = null, classGroupId) => ({
41628
+ nextPart,
41629
+ validators,
41630
+ classGroupId
41631
+ });
41632
+ const CLASS_PART_SEPARATOR = "-";
41633
+ const EMPTY_CONFLICTS = [];
41634
+ const ARBITRARY_PROPERTY_PREFIX = "arbitrary..";
41635
+ const createClassGroupUtils = (config) => {
41636
+ const classMap = createClassMap(config);
41637
+ const { conflictingClassGroups, conflictingClassGroupModifiers } = config;
41638
+ const getClassGroupId = (className) => {
41639
+ if (className.startsWith("[") && className.endsWith("]")) return getGroupIdForArbitraryProperty(className);
41640
+ const classParts = className.split(CLASS_PART_SEPARATOR);
41641
+ const startIndex = classParts[0] === "" && classParts.length > 1 ? 1 : 0;
41642
+ return getGroupRecursive(classParts, startIndex, classMap);
41643
+ };
41644
+ const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {
41645
+ if (hasPostfixModifier) {
41646
+ const modifierConflicts = conflictingClassGroupModifiers[classGroupId];
41647
+ const baseConflicts = conflictingClassGroups[classGroupId];
41648
+ if (modifierConflicts) {
41649
+ if (baseConflicts) return concatArrays(baseConflicts, modifierConflicts);
41650
+ return modifierConflicts;
41651
+ }
41652
+ return baseConflicts || EMPTY_CONFLICTS;
41653
+ }
41654
+ return conflictingClassGroups[classGroupId] || EMPTY_CONFLICTS;
41655
+ };
41656
+ return {
41657
+ getClassGroupId,
41658
+ getConflictingClassGroupIds
41659
+ };
41660
+ };
41661
+ const getGroupRecursive = (classParts, startIndex, classPartObject) => {
41662
+ if (classParts.length - startIndex === 0) return classPartObject.classGroupId;
41663
+ const currentClassPart = classParts[startIndex];
41664
+ const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
41665
+ if (nextClassPartObject) {
41666
+ const result = getGroupRecursive(classParts, startIndex + 1, nextClassPartObject);
41667
+ if (result) return result;
41668
+ }
41669
+ const validators = classPartObject.validators;
41670
+ if (validators === null) return;
41671
+ const classRest = startIndex === 0 ? classParts.join(CLASS_PART_SEPARATOR) : classParts.slice(startIndex).join(CLASS_PART_SEPARATOR);
41672
+ const validatorsLength = validators.length;
41673
+ for (let i = 0; i < validatorsLength; i++) {
41674
+ const validatorObj = validators[i];
41675
+ if (validatorObj.validator(classRest)) return validatorObj.classGroupId;
41676
+ }
41677
+ };
41678
+ /**
41679
+ * Get the class group ID for an arbitrary property.
41680
+ *
41681
+ * @param className - The class name to get the group ID for. Is expected to be string starting with `[` and ending with `]`.
41682
+ */
41683
+ const getGroupIdForArbitraryProperty = (className) => className.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
41684
+ const content = className.slice(1, -1);
41685
+ const colonIndex = content.indexOf(":");
41686
+ const property = content.slice(0, colonIndex);
41687
+ return property ? ARBITRARY_PROPERTY_PREFIX + property : void 0;
41688
+ })();
41689
+ /**
41690
+ * Exported for testing only
41691
+ */
41692
+ const createClassMap = (config) => {
41693
+ const { theme, classGroups } = config;
41694
+ return processClassGroups(classGroups, theme);
41695
+ };
41696
+ const processClassGroups = (classGroups, theme) => {
41697
+ const classMap = createClassPartObject();
41698
+ for (const classGroupId in classGroups) {
41699
+ const group = classGroups[classGroupId];
41700
+ processClassesRecursively(group, classMap, classGroupId, theme);
41701
+ }
41702
+ return classMap;
41703
+ };
41704
+ const processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {
41705
+ const len = classGroup.length;
41706
+ for (let i = 0; i < len; i++) {
41707
+ const classDefinition = classGroup[i];
41708
+ processClassDefinition(classDefinition, classPartObject, classGroupId, theme);
41709
+ }
41710
+ };
41711
+ const processClassDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
41712
+ if (typeof classDefinition === "string") {
41713
+ processStringDefinition(classDefinition, classPartObject, classGroupId);
41714
+ return;
41715
+ }
41716
+ if (typeof classDefinition === "function") {
41717
+ processFunctionDefinition(classDefinition, classPartObject, classGroupId, theme);
41718
+ return;
41719
+ }
41720
+ processObjectDefinition(classDefinition, classPartObject, classGroupId, theme);
41721
+ };
41722
+ const processStringDefinition = (classDefinition, classPartObject, classGroupId) => {
41723
+ const classPartObjectToEdit = classDefinition === "" ? classPartObject : getPart(classPartObject, classDefinition);
41724
+ classPartObjectToEdit.classGroupId = classGroupId;
41725
+ };
41726
+ const processFunctionDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
41727
+ if (isThemeGetter(classDefinition)) {
41728
+ processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
41729
+ return;
41730
+ }
41731
+ if (classPartObject.validators === null) classPartObject.validators = [];
41732
+ classPartObject.validators.push(createClassValidatorObject(classGroupId, classDefinition));
41733
+ };
41734
+ const processObjectDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
41735
+ const entries = Object.entries(classDefinition);
41736
+ const len = entries.length;
41737
+ for (let i = 0; i < len; i++) {
41738
+ const [key, value] = entries[i];
41739
+ processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme);
41740
+ }
41741
+ };
41742
+ const getPart = (classPartObject, path) => {
41743
+ let current = classPartObject;
41744
+ const parts = path.split(CLASS_PART_SEPARATOR);
41745
+ const len = parts.length;
41746
+ for (let i = 0; i < len; i++) {
41747
+ const part = parts[i];
41748
+ let next = current.nextPart.get(part);
41749
+ if (!next) {
41750
+ next = createClassPartObject();
41751
+ current.nextPart.set(part, next);
41752
+ }
41753
+ current = next;
41754
+ }
41755
+ return current;
41756
+ };
41757
+ const isThemeGetter = (func) => "isThemeGetter" in func && func.isThemeGetter === true;
41758
+ const createLruCache = (maxCacheSize) => {
41759
+ if (maxCacheSize < 1) return {
41760
+ get: () => void 0,
41761
+ set: () => {}
41762
+ };
41763
+ let cacheSize = 0;
41764
+ let cache = Object.create(null);
41765
+ let previousCache = Object.create(null);
41766
+ const update = (key, value) => {
41767
+ cache[key] = value;
41768
+ cacheSize++;
41769
+ if (cacheSize > maxCacheSize) {
41770
+ cacheSize = 0;
41771
+ previousCache = cache;
41772
+ cache = Object.create(null);
41773
+ }
41774
+ };
41775
+ return {
41776
+ get(key) {
41777
+ let value = cache[key];
41778
+ if (value !== void 0) return value;
41779
+ if ((value = previousCache[key]) !== void 0) {
41780
+ update(key, value);
41781
+ return value;
41782
+ }
41783
+ },
41784
+ set(key, value) {
41785
+ if (key in cache) cache[key] = value;
41786
+ else update(key, value);
41787
+ }
41788
+ };
41789
+ };
41790
+ const IMPORTANT_MODIFIER = "!";
41791
+ const MODIFIER_SEPARATOR = ":";
41792
+ const EMPTY_MODIFIERS = [];
41793
+ const createResultObject = (modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition, isExternal) => ({
41794
+ modifiers,
41795
+ hasImportantModifier,
41796
+ baseClassName,
41797
+ maybePostfixModifierPosition,
41798
+ isExternal
41799
+ });
41800
+ const createParseClassName = (config) => {
41801
+ const { prefix, experimentalParseClassName } = config;
41802
+ /**
41803
+ * Parse class name into parts.
41804
+ *
41805
+ * Inspired by `splitAtTopLevelOnly` used in Tailwind CSS
41806
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js
41807
+ */
41808
+ let parseClassName = (className) => {
41809
+ const modifiers = [];
41810
+ let bracketDepth = 0;
41811
+ let parenDepth = 0;
41812
+ let modifierStart = 0;
41813
+ let postfixModifierPosition;
41814
+ const len = className.length;
41815
+ for (let index = 0; index < len; index++) {
41816
+ const currentCharacter = className[index];
41817
+ if (bracketDepth === 0 && parenDepth === 0) {
41818
+ if (currentCharacter === MODIFIER_SEPARATOR) {
41819
+ modifiers.push(className.slice(modifierStart, index));
41820
+ modifierStart = index + 1;
41821
+ continue;
41822
+ }
41823
+ if (currentCharacter === "/") {
41824
+ postfixModifierPosition = index;
41825
+ continue;
41826
+ }
41827
+ }
41828
+ if (currentCharacter === "[") bracketDepth++;
41829
+ else if (currentCharacter === "]") bracketDepth--;
41830
+ else if (currentCharacter === "(") parenDepth++;
41831
+ else if (currentCharacter === ")") parenDepth--;
41832
+ }
41833
+ const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.slice(modifierStart);
41834
+ let baseClassName = baseClassNameWithImportantModifier;
41835
+ let hasImportantModifier = false;
41836
+ if (baseClassNameWithImportantModifier.endsWith(IMPORTANT_MODIFIER)) {
41837
+ baseClassName = baseClassNameWithImportantModifier.slice(0, -1);
41838
+ hasImportantModifier = true;
41839
+ } else if (baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)) {
41840
+ baseClassName = baseClassNameWithImportantModifier.slice(1);
41841
+ hasImportantModifier = true;
41842
+ }
41843
+ const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : void 0;
41844
+ return createResultObject(modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition);
41845
+ };
41846
+ if (prefix) {
41847
+ const fullPrefix = prefix + MODIFIER_SEPARATOR;
41848
+ const parseClassNameOriginal = parseClassName;
41849
+ parseClassName = (className) => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.slice(fullPrefix.length)) : createResultObject(EMPTY_MODIFIERS, false, className, void 0, true);
41850
+ }
41851
+ if (experimentalParseClassName) {
41852
+ const parseClassNameOriginal = parseClassName;
41853
+ parseClassName = (className) => experimentalParseClassName({
41854
+ className,
41855
+ parseClassName: parseClassNameOriginal
41856
+ });
41857
+ }
41858
+ return parseClassName;
41859
+ };
41860
+ /**
41861
+ * Sorts modifiers according to following schema:
41862
+ * - Predefined modifiers are sorted alphabetically
41863
+ * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it
41864
+ */
41865
+ const createSortModifiers = (config) => {
41866
+ const modifierWeights = /* @__PURE__ */ new Map();
41867
+ config.orderSensitiveModifiers.forEach((mod, index) => {
41868
+ modifierWeights.set(mod, 1e6 + index);
41869
+ });
41870
+ return (modifiers) => {
41871
+ const result = [];
41872
+ let currentSegment = [];
41873
+ for (let i = 0; i < modifiers.length; i++) {
41874
+ const modifier = modifiers[i];
41875
+ const isArbitrary = modifier[0] === "[";
41876
+ const isOrderSensitive = modifierWeights.has(modifier);
41877
+ if (isArbitrary || isOrderSensitive) {
41878
+ if (currentSegment.length > 0) {
41879
+ currentSegment.sort();
41880
+ result.push(...currentSegment);
41881
+ currentSegment = [];
41882
+ }
41883
+ result.push(modifier);
41884
+ } else currentSegment.push(modifier);
41885
+ }
41886
+ if (currentSegment.length > 0) {
41887
+ currentSegment.sort();
41888
+ result.push(...currentSegment);
41889
+ }
41890
+ return result;
41891
+ };
41892
+ };
41893
+ const createConfigUtils = (config) => ({
41894
+ cache: createLruCache(config.cacheSize),
41895
+ parseClassName: createParseClassName(config),
41896
+ sortModifiers: createSortModifiers(config),
41897
+ postfixLookupClassGroupIds: createPostfixLookupClassGroupIds(config),
41898
+ ...createClassGroupUtils(config)
41899
+ });
41900
+ const createPostfixLookupClassGroupIds = (config) => {
41901
+ const lookup = Object.create(null);
41902
+ const classGroupIds = config.postfixLookupClassGroups;
41903
+ if (classGroupIds) for (let i = 0; i < classGroupIds.length; i++) lookup[classGroupIds[i]] = true;
41904
+ return lookup;
41905
+ };
41906
+ const SPLIT_CLASSES_REGEX = /\s+/;
41907
+ const mergeClassList = (classList, configUtils) => {
41908
+ const { parseClassName, getClassGroupId, getConflictingClassGroupIds, sortModifiers, postfixLookupClassGroupIds } = configUtils;
41909
+ /**
41910
+ * Set of classGroupIds in following format:
41911
+ * `{importantModifier}{variantModifiers}{classGroupId}`
41912
+ * @example 'float'
41913
+ * @example 'hover:focus:bg-color'
41914
+ * @example 'md:!pr'
41915
+ */
41916
+ const classGroupsInConflict = [];
41917
+ const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
41918
+ let result = "";
41919
+ for (let index = classNames.length - 1; index >= 0; index -= 1) {
41920
+ const originalClassName = classNames[index];
41921
+ const { isExternal, modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition } = parseClassName(originalClassName);
41922
+ if (isExternal) {
41923
+ result = originalClassName + (result.length > 0 ? " " + result : result);
41924
+ continue;
41925
+ }
41926
+ let hasPostfixModifier = !!maybePostfixModifierPosition;
41927
+ let classGroupId;
41928
+ if (hasPostfixModifier) {
41929
+ classGroupId = getClassGroupId(baseClassName.substring(0, maybePostfixModifierPosition));
41930
+ const classGroupIdWithPostfix = classGroupId && postfixLookupClassGroupIds[classGroupId] ? getClassGroupId(baseClassName) : void 0;
41931
+ if (classGroupIdWithPostfix && classGroupIdWithPostfix !== classGroupId) {
41932
+ classGroupId = classGroupIdWithPostfix;
41933
+ hasPostfixModifier = false;
41934
+ }
41935
+ } else classGroupId = getClassGroupId(baseClassName);
41936
+ if (!classGroupId) {
41937
+ if (!hasPostfixModifier) {
41938
+ result = originalClassName + (result.length > 0 ? " " + result : result);
41939
+ continue;
41940
+ }
41941
+ classGroupId = getClassGroupId(baseClassName);
41942
+ if (!classGroupId) {
41943
+ result = originalClassName + (result.length > 0 ? " " + result : result);
41944
+ continue;
41945
+ }
41946
+ hasPostfixModifier = false;
41947
+ }
41948
+ const variantModifier = modifiers.length === 0 ? "" : modifiers.length === 1 ? modifiers[0] : sortModifiers(modifiers).join(":");
41949
+ const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
41950
+ const classId = modifierId + classGroupId;
41951
+ if (classGroupsInConflict.indexOf(classId) > -1) continue;
41952
+ classGroupsInConflict.push(classId);
41953
+ const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
41954
+ for (let i = 0; i < conflictGroups.length; ++i) {
41955
+ const group = conflictGroups[i];
41956
+ classGroupsInConflict.push(modifierId + group);
41957
+ }
41958
+ result = originalClassName + (result.length > 0 ? " " + result : result);
41959
+ }
41960
+ return result;
41961
+ };
41962
+ /**
41963
+ * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.
41964
+ *
41965
+ * Specifically:
41966
+ * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js
41967
+ * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts
41968
+ *
41969
+ * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
41970
+ */
41971
+ const twJoin = (...classLists) => {
41972
+ let index = 0;
41973
+ let argument;
41974
+ let resolvedValue;
41975
+ let string = "";
41976
+ while (index < classLists.length) if (argument = classLists[index++]) {
41977
+ if (resolvedValue = toValue(argument)) {
41978
+ string && (string += " ");
41979
+ string += resolvedValue;
41980
+ }
41981
+ }
41982
+ return string;
41983
+ };
41984
+ const toValue = (mix) => {
41985
+ if (typeof mix === "string") return mix;
41986
+ let resolvedValue;
41987
+ let string = "";
41988
+ for (let k = 0; k < mix.length; k++) if (mix[k]) {
41989
+ if (resolvedValue = toValue(mix[k])) {
41990
+ string && (string += " ");
41991
+ string += resolvedValue;
41992
+ }
41993
+ }
41994
+ return string;
41995
+ };
41996
+ const createTailwindMerge = (createConfigFirst, ...createConfigRest) => {
41997
+ let configUtils;
41998
+ let cacheGet;
41999
+ let cacheSet;
42000
+ let functionToCall;
42001
+ const initTailwindMerge = (classList) => {
42002
+ const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
42003
+ configUtils = createConfigUtils(config);
42004
+ cacheGet = configUtils.cache.get;
42005
+ cacheSet = configUtils.cache.set;
42006
+ functionToCall = tailwindMerge;
42007
+ return tailwindMerge(classList);
42008
+ };
42009
+ const tailwindMerge = (classList) => {
42010
+ const cachedResult = cacheGet(classList);
42011
+ if (cachedResult) return cachedResult;
42012
+ const result = mergeClassList(classList, configUtils);
42013
+ cacheSet(classList, result);
42014
+ return result;
42015
+ };
42016
+ functionToCall = initTailwindMerge;
42017
+ return (...args) => functionToCall(twJoin(...args));
42018
+ };
42019
+ const fallbackThemeArr = [];
42020
+ const fromTheme = (key) => {
42021
+ const themeGetter = (theme) => theme[key] || fallbackThemeArr;
42022
+ themeGetter.isThemeGetter = true;
42023
+ return themeGetter;
42024
+ };
42025
+ const arbitraryValueRegex = /^\[(?:(\w[\w-]*):)?(.+)\]$/i;
42026
+ const arbitraryVariableRegex = /^\((?:(\w[\w-]*):)?(.+)\)$/i;
42027
+ const fractionRegex = /^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/;
42028
+ const tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
42029
+ const lengthUnitRegex = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/;
42030
+ const colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/;
42031
+ const shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
42032
+ const imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
42033
+ const isFraction = (value) => fractionRegex.test(value);
42034
+ const isNumber = (value) => !!value && !Number.isNaN(Number(value));
42035
+ const isInteger = (value) => !!value && Number.isInteger(Number(value));
42036
+ const isPercent = (value) => value.endsWith("%") && isNumber(value.slice(0, -1));
42037
+ const isTshirtSize = (value) => tshirtUnitRegex.test(value);
42038
+ const isAny = () => true;
42039
+ const isLengthOnly = (value) => lengthUnitRegex.test(value) && !colorFunctionRegex.test(value);
42040
+ const isNever = () => false;
42041
+ const isShadow = (value) => shadowRegex.test(value);
42042
+ const isImage = (value) => imageRegex.test(value);
42043
+ const isAnyNonArbitrary = (value) => !isArbitraryValue(value) && !isArbitraryVariable(value);
42044
+ const isNamedContainerQuery = (value) => value.startsWith("@container") && (value[10] === "/" && value[11] !== void 0 || value[11] === "s" && value[16] !== void 0 && value.startsWith("-size/", 10) || value[11] === "n" && value[18] !== void 0 && value.startsWith("-normal/", 10));
42045
+ const isArbitrarySize = (value) => getIsArbitraryValue(value, isLabelSize, isNever);
42046
+ const isArbitraryValue = (value) => arbitraryValueRegex.test(value);
42047
+ const isArbitraryLength = (value) => getIsArbitraryValue(value, isLabelLength, isLengthOnly);
42048
+ const isArbitraryNumber = (value) => getIsArbitraryValue(value, isLabelNumber, isNumber);
42049
+ const isArbitraryWeight = (value) => getIsArbitraryValue(value, isLabelWeight, isAny);
42050
+ const isArbitraryFamilyName = (value) => getIsArbitraryValue(value, isLabelFamilyName, isNever);
42051
+ const isArbitraryPosition = (value) => getIsArbitraryValue(value, isLabelPosition, isNever);
42052
+ const isArbitraryImage = (value) => getIsArbitraryValue(value, isLabelImage, isImage);
42053
+ const isArbitraryShadow = (value) => getIsArbitraryValue(value, isLabelShadow, isShadow);
42054
+ const isArbitraryVariable = (value) => arbitraryVariableRegex.test(value);
42055
+ const isArbitraryVariableLength = (value) => getIsArbitraryVariable(value, isLabelLength);
42056
+ const isArbitraryVariableFamilyName = (value) => getIsArbitraryVariable(value, isLabelFamilyName);
42057
+ const isArbitraryVariablePosition = (value) => getIsArbitraryVariable(value, isLabelPosition);
42058
+ const isArbitraryVariableSize = (value) => getIsArbitraryVariable(value, isLabelSize);
42059
+ const isArbitraryVariableImage = (value) => getIsArbitraryVariable(value, isLabelImage);
42060
+ const isArbitraryVariableShadow = (value) => getIsArbitraryVariable(value, isLabelShadow, true);
42061
+ const isArbitraryVariableWeight = (value) => getIsArbitraryVariable(value, isLabelWeight, true);
42062
+ const getIsArbitraryValue = (value, testLabel, testValue) => {
42063
+ const result = arbitraryValueRegex.exec(value);
42064
+ if (result) {
42065
+ if (result[1]) return testLabel(result[1]);
42066
+ return testValue(result[2]);
42067
+ }
42068
+ return false;
42069
+ };
42070
+ const getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {
42071
+ const result = arbitraryVariableRegex.exec(value);
42072
+ if (result) {
42073
+ if (result[1]) return testLabel(result[1]);
42074
+ return shouldMatchNoLabel;
42075
+ }
42076
+ return false;
42077
+ };
42078
+ const isLabelPosition = (label) => label === "position" || label === "percentage";
42079
+ const isLabelImage = (label) => label === "image" || label === "url";
42080
+ const isLabelSize = (label) => label === "length" || label === "size" || label === "bg-size";
42081
+ const isLabelLength = (label) => label === "length";
42082
+ const isLabelNumber = (label) => label === "number";
42083
+ const isLabelFamilyName = (label) => label === "family-name";
42084
+ const isLabelWeight = (label) => label === "number" || label === "weight";
42085
+ const isLabelShadow = (label) => label === "shadow";
42086
+ const getDefaultConfig = () => {
42087
+ /**
42088
+ * Theme getters for theme variable namespaces
42089
+ * @see https://tailwindcss.com/docs/theme#theme-variable-namespaces
42090
+ */
42091
+ const themeColor = fromTheme("color");
42092
+ const themeFont = fromTheme("font");
42093
+ const themeText = fromTheme("text");
42094
+ const themeFontWeight = fromTheme("font-weight");
42095
+ const themeTracking = fromTheme("tracking");
42096
+ const themeLeading = fromTheme("leading");
42097
+ const themeBreakpoint = fromTheme("breakpoint");
42098
+ const themeContainer = fromTheme("container");
42099
+ const themeSpacing = fromTheme("spacing");
42100
+ const themeRadius = fromTheme("radius");
42101
+ const themeShadow = fromTheme("shadow");
42102
+ const themeInsetShadow = fromTheme("inset-shadow");
42103
+ const themeTextShadow = fromTheme("text-shadow");
42104
+ const themeDropShadow = fromTheme("drop-shadow");
42105
+ const themeBlur = fromTheme("blur");
42106
+ const themePerspective = fromTheme("perspective");
42107
+ const themeAspect = fromTheme("aspect");
42108
+ const themeEase = fromTheme("ease");
42109
+ const themeAnimate = fromTheme("animate");
42110
+ /**
42111
+ * Helpers to avoid repeating the same scales
42112
+ *
42113
+ * We use functions that create a new array every time they're called instead of static arrays.
42114
+ * This ensures that users who modify any scale by mutating the array (e.g. with `array.push(element)`) don't accidentally mutate arrays in other parts of the config.
42115
+ */
42116
+ const scaleBreak = () => [
42117
+ "auto",
42118
+ "avoid",
42119
+ "all",
42120
+ "avoid-page",
42121
+ "page",
42122
+ "left",
42123
+ "right",
42124
+ "column"
42125
+ ];
42126
+ const scalePosition = () => [
42127
+ "center",
42128
+ "top",
42129
+ "bottom",
42130
+ "left",
42131
+ "right",
42132
+ "top-left",
42133
+ "left-top",
42134
+ "top-right",
42135
+ "right-top",
42136
+ "bottom-right",
42137
+ "right-bottom",
42138
+ "bottom-left",
42139
+ "left-bottom"
42140
+ ];
42141
+ const scalePositionWithArbitrary = () => [
42142
+ ...scalePosition(),
42143
+ isArbitraryVariable,
42144
+ isArbitraryValue
42145
+ ];
42146
+ const scaleOverflow = () => [
42147
+ "auto",
42148
+ "hidden",
42149
+ "clip",
42150
+ "visible",
42151
+ "scroll"
42152
+ ];
42153
+ const scaleOverscroll = () => [
42154
+ "auto",
42155
+ "contain",
42156
+ "none"
42157
+ ];
42158
+ const scaleUnambiguousSpacing = () => [
42159
+ isArbitraryVariable,
42160
+ isArbitraryValue,
42161
+ themeSpacing
42162
+ ];
42163
+ const scaleInset = () => [
42164
+ isFraction,
42165
+ "full",
42166
+ "auto",
42167
+ ...scaleUnambiguousSpacing()
42168
+ ];
42169
+ const scaleGridTemplateColsRows = () => [
42170
+ isInteger,
42171
+ "none",
42172
+ "subgrid",
42173
+ isArbitraryVariable,
42174
+ isArbitraryValue
42175
+ ];
42176
+ const scaleGridColRowStartAndEnd = () => [
42177
+ "auto",
42178
+ { span: [
42179
+ "full",
42180
+ isInteger,
42181
+ isArbitraryVariable,
42182
+ isArbitraryValue
42183
+ ] },
42184
+ isInteger,
42185
+ isArbitraryVariable,
42186
+ isArbitraryValue
42187
+ ];
42188
+ const scaleGridColRowStartOrEnd = () => [
42189
+ isInteger,
42190
+ "auto",
42191
+ isArbitraryVariable,
42192
+ isArbitraryValue
42193
+ ];
42194
+ const scaleGridAutoColsRows = () => [
42195
+ "auto",
42196
+ "min",
42197
+ "max",
42198
+ "fr",
42199
+ isArbitraryVariable,
42200
+ isArbitraryValue
42201
+ ];
42202
+ const scaleAlignPrimaryAxis = () => [
42203
+ "start",
42204
+ "end",
42205
+ "center",
42206
+ "between",
42207
+ "around",
42208
+ "evenly",
42209
+ "stretch",
42210
+ "baseline",
42211
+ "center-safe",
42212
+ "end-safe"
42213
+ ];
42214
+ const scaleAlignSecondaryAxis = () => [
42215
+ "start",
42216
+ "end",
42217
+ "center",
42218
+ "stretch",
42219
+ "center-safe",
42220
+ "end-safe"
42221
+ ];
42222
+ const scaleMargin = () => ["auto", ...scaleUnambiguousSpacing()];
42223
+ const scaleSizing = () => [
42224
+ isFraction,
42225
+ "auto",
42226
+ "full",
42227
+ "dvw",
42228
+ "dvh",
42229
+ "lvw",
42230
+ "lvh",
42231
+ "svw",
42232
+ "svh",
42233
+ "min",
42234
+ "max",
42235
+ "fit",
42236
+ ...scaleUnambiguousSpacing()
42237
+ ];
42238
+ const scaleSizingInline = () => [
42239
+ isFraction,
42240
+ "screen",
42241
+ "full",
42242
+ "dvw",
42243
+ "lvw",
42244
+ "svw",
42245
+ "min",
42246
+ "max",
42247
+ "fit",
42248
+ ...scaleUnambiguousSpacing()
42249
+ ];
42250
+ const scaleSizingBlock = () => [
42251
+ isFraction,
42252
+ "screen",
42253
+ "full",
42254
+ "lh",
42255
+ "dvh",
42256
+ "lvh",
42257
+ "svh",
42258
+ "min",
42259
+ "max",
42260
+ "fit",
42261
+ ...scaleUnambiguousSpacing()
42262
+ ];
42263
+ const scaleColor = () => [
42264
+ themeColor,
42265
+ isArbitraryVariable,
42266
+ isArbitraryValue
42267
+ ];
42268
+ const scaleBgPosition = () => [
42269
+ ...scalePosition(),
42270
+ isArbitraryVariablePosition,
42271
+ isArbitraryPosition,
42272
+ { position: [isArbitraryVariable, isArbitraryValue] }
42273
+ ];
42274
+ const scaleBgRepeat = () => ["no-repeat", { repeat: [
42275
+ "",
42276
+ "x",
42277
+ "y",
42278
+ "space",
42279
+ "round"
42280
+ ] }];
42281
+ const scaleBgSize = () => [
42282
+ "auto",
42283
+ "cover",
42284
+ "contain",
42285
+ isArbitraryVariableSize,
42286
+ isArbitrarySize,
42287
+ { size: [isArbitraryVariable, isArbitraryValue] }
42288
+ ];
42289
+ const scaleGradientStopPosition = () => [
42290
+ isPercent,
42291
+ isArbitraryVariableLength,
42292
+ isArbitraryLength
42293
+ ];
42294
+ const scaleRadius = () => [
42295
+ "",
42296
+ "none",
42297
+ "full",
42298
+ themeRadius,
42299
+ isArbitraryVariable,
42300
+ isArbitraryValue
42301
+ ];
42302
+ const scaleBorderWidth = () => [
42303
+ "",
42304
+ isNumber,
42305
+ isArbitraryVariableLength,
42306
+ isArbitraryLength
42307
+ ];
42308
+ const scaleLineStyle = () => [
42309
+ "solid",
42310
+ "dashed",
42311
+ "dotted",
42312
+ "double"
42313
+ ];
42314
+ const scaleBlendMode = () => [
42315
+ "normal",
42316
+ "multiply",
42317
+ "screen",
42318
+ "overlay",
42319
+ "darken",
42320
+ "lighten",
42321
+ "color-dodge",
42322
+ "color-burn",
42323
+ "hard-light",
42324
+ "soft-light",
42325
+ "difference",
42326
+ "exclusion",
42327
+ "hue",
42328
+ "saturation",
42329
+ "color",
42330
+ "luminosity"
42331
+ ];
42332
+ const scaleMaskImagePosition = () => [
42333
+ isNumber,
42334
+ isPercent,
42335
+ isArbitraryVariablePosition,
42336
+ isArbitraryPosition
42337
+ ];
42338
+ const scaleBlur = () => [
42339
+ "",
42340
+ "none",
42341
+ themeBlur,
42342
+ isArbitraryVariable,
42343
+ isArbitraryValue
42344
+ ];
42345
+ const scaleRotate = () => [
42346
+ "none",
42347
+ isNumber,
42348
+ isArbitraryVariable,
42349
+ isArbitraryValue
42350
+ ];
42351
+ const scaleScale = () => [
42352
+ "none",
42353
+ isNumber,
42354
+ isArbitraryVariable,
42355
+ isArbitraryValue
42356
+ ];
42357
+ const scaleSkew = () => [
42358
+ isNumber,
42359
+ isArbitraryVariable,
42360
+ isArbitraryValue
42361
+ ];
42362
+ const scaleTranslate = () => [
42363
+ isFraction,
42364
+ "full",
42365
+ ...scaleUnambiguousSpacing()
42366
+ ];
42367
+ return {
42368
+ cacheSize: 500,
42369
+ theme: {
42370
+ animate: [
42371
+ "spin",
42372
+ "ping",
42373
+ "pulse",
42374
+ "bounce"
42375
+ ],
42376
+ aspect: ["video"],
42377
+ blur: [isTshirtSize],
42378
+ breakpoint: [isTshirtSize],
42379
+ color: [isAny],
42380
+ container: [isTshirtSize],
42381
+ "drop-shadow": [isTshirtSize],
42382
+ ease: [
42383
+ "in",
42384
+ "out",
42385
+ "in-out"
42386
+ ],
42387
+ font: [isAnyNonArbitrary],
42388
+ "font-weight": [
42389
+ "thin",
42390
+ "extralight",
42391
+ "light",
42392
+ "normal",
42393
+ "medium",
42394
+ "semibold",
42395
+ "bold",
42396
+ "extrabold",
42397
+ "black"
42398
+ ],
42399
+ "inset-shadow": [isTshirtSize],
42400
+ leading: [
42401
+ "none",
42402
+ "tight",
42403
+ "snug",
42404
+ "normal",
42405
+ "relaxed",
42406
+ "loose"
42407
+ ],
42408
+ perspective: [
42409
+ "dramatic",
42410
+ "near",
42411
+ "normal",
42412
+ "midrange",
42413
+ "distant",
42414
+ "none"
42415
+ ],
42416
+ radius: [isTshirtSize],
42417
+ shadow: [isTshirtSize],
42418
+ spacing: ["px", isNumber],
42419
+ text: [isTshirtSize],
42420
+ "text-shadow": [isTshirtSize],
42421
+ tracking: [
42422
+ "tighter",
42423
+ "tight",
42424
+ "normal",
42425
+ "wide",
42426
+ "wider",
42427
+ "widest"
42428
+ ]
42429
+ },
42430
+ classGroups: {
42431
+ /**
42432
+ * Aspect Ratio
42433
+ * @see https://tailwindcss.com/docs/aspect-ratio
42434
+ */
42435
+ aspect: [{ aspect: [
42436
+ "auto",
42437
+ "square",
42438
+ isFraction,
42439
+ isArbitraryValue,
42440
+ isArbitraryVariable,
42441
+ themeAspect
42442
+ ] }],
42443
+ /**
42444
+ * Container
42445
+ * @see https://tailwindcss.com/docs/container
42446
+ * @deprecated since Tailwind CSS v4.0.0
42447
+ */
42448
+ container: ["container"],
42449
+ /**
42450
+ * Container Type
42451
+ * @see https://tailwindcss.com/docs/responsive-design#container-queries
42452
+ */
42453
+ "container-type": [{ "@container": [
42454
+ "",
42455
+ "normal",
42456
+ "size",
42457
+ isArbitraryVariable,
42458
+ isArbitraryValue
42459
+ ] }],
42460
+ /**
42461
+ * Container Name
42462
+ * @see https://tailwindcss.com/docs/responsive-design#named-containers
42463
+ */
42464
+ "container-named": [isNamedContainerQuery],
42465
+ /**
42466
+ * Columns
42467
+ * @see https://tailwindcss.com/docs/columns
42468
+ */
42469
+ columns: [{ columns: [
42470
+ isNumber,
42471
+ isArbitraryValue,
42472
+ isArbitraryVariable,
42473
+ themeContainer
42474
+ ] }],
42475
+ /**
42476
+ * Break After
42477
+ * @see https://tailwindcss.com/docs/break-after
42478
+ */
42479
+ "break-after": [{ "break-after": scaleBreak() }],
42480
+ /**
42481
+ * Break Before
42482
+ * @see https://tailwindcss.com/docs/break-before
42483
+ */
42484
+ "break-before": [{ "break-before": scaleBreak() }],
42485
+ /**
42486
+ * Break Inside
42487
+ * @see https://tailwindcss.com/docs/break-inside
42488
+ */
42489
+ "break-inside": [{ "break-inside": [
42490
+ "auto",
42491
+ "avoid",
42492
+ "avoid-page",
42493
+ "avoid-column"
42494
+ ] }],
42495
+ /**
42496
+ * Box Decoration Break
42497
+ * @see https://tailwindcss.com/docs/box-decoration-break
42498
+ */
42499
+ "box-decoration": [{ "box-decoration": ["slice", "clone"] }],
42500
+ /**
42501
+ * Box Sizing
42502
+ * @see https://tailwindcss.com/docs/box-sizing
42503
+ */
42504
+ box: [{ box: ["border", "content"] }],
42505
+ /**
42506
+ * Display
42507
+ * @see https://tailwindcss.com/docs/display
42508
+ */
42509
+ display: [
42510
+ "block",
42511
+ "inline-block",
42512
+ "inline",
42513
+ "flex",
42514
+ "inline-flex",
42515
+ "table",
42516
+ "inline-table",
42517
+ "table-caption",
42518
+ "table-cell",
42519
+ "table-column",
42520
+ "table-column-group",
42521
+ "table-footer-group",
42522
+ "table-header-group",
42523
+ "table-row-group",
42524
+ "table-row",
42525
+ "flow-root",
42526
+ "grid",
42527
+ "inline-grid",
42528
+ "contents",
42529
+ "list-item",
42530
+ "hidden"
42531
+ ],
42532
+ /**
42533
+ * Screen Reader Only
42534
+ * @see https://tailwindcss.com/docs/display#screen-reader-only
42535
+ */
42536
+ sr: ["sr-only", "not-sr-only"],
42537
+ /**
42538
+ * Floats
42539
+ * @see https://tailwindcss.com/docs/float
42540
+ */
42541
+ float: [{ float: [
42542
+ "right",
42543
+ "left",
42544
+ "none",
42545
+ "start",
42546
+ "end"
42547
+ ] }],
42548
+ /**
42549
+ * Clear
42550
+ * @see https://tailwindcss.com/docs/clear
42551
+ */
42552
+ clear: [{ clear: [
42553
+ "left",
42554
+ "right",
42555
+ "both",
42556
+ "none",
42557
+ "start",
42558
+ "end"
42559
+ ] }],
42560
+ /**
42561
+ * Isolation
42562
+ * @see https://tailwindcss.com/docs/isolation
42563
+ */
42564
+ isolation: ["isolate", "isolation-auto"],
42565
+ /**
42566
+ * Object Fit
42567
+ * @see https://tailwindcss.com/docs/object-fit
42568
+ */
42569
+ "object-fit": [{ object: [
42570
+ "contain",
42571
+ "cover",
42572
+ "fill",
42573
+ "none",
42574
+ "scale-down"
42575
+ ] }],
42576
+ /**
42577
+ * Object Position
42578
+ * @see https://tailwindcss.com/docs/object-position
42579
+ */
42580
+ "object-position": [{ object: scalePositionWithArbitrary() }],
42581
+ /**
42582
+ * Overflow
42583
+ * @see https://tailwindcss.com/docs/overflow
42584
+ */
42585
+ overflow: [{ overflow: scaleOverflow() }],
42586
+ /**
42587
+ * Overflow X
42588
+ * @see https://tailwindcss.com/docs/overflow
42589
+ */
42590
+ "overflow-x": [{ "overflow-x": scaleOverflow() }],
42591
+ /**
42592
+ * Overflow Y
42593
+ * @see https://tailwindcss.com/docs/overflow
42594
+ */
42595
+ "overflow-y": [{ "overflow-y": scaleOverflow() }],
42596
+ /**
42597
+ * Overscroll Behavior
42598
+ * @see https://tailwindcss.com/docs/overscroll-behavior
42599
+ */
42600
+ overscroll: [{ overscroll: scaleOverscroll() }],
42601
+ /**
42602
+ * Overscroll Behavior X
42603
+ * @see https://tailwindcss.com/docs/overscroll-behavior
42604
+ */
42605
+ "overscroll-x": [{ "overscroll-x": scaleOverscroll() }],
42606
+ /**
42607
+ * Overscroll Behavior Y
42608
+ * @see https://tailwindcss.com/docs/overscroll-behavior
42609
+ */
42610
+ "overscroll-y": [{ "overscroll-y": scaleOverscroll() }],
42611
+ /**
42612
+ * Position
42613
+ * @see https://tailwindcss.com/docs/position
42614
+ */
42615
+ position: [
42616
+ "static",
42617
+ "fixed",
42618
+ "absolute",
42619
+ "relative",
42620
+ "sticky"
42621
+ ],
42622
+ /**
42623
+ * Inset
42624
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
42625
+ */
42626
+ inset: [{ inset: scaleInset() }],
42627
+ /**
42628
+ * Inset Inline
42629
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
42630
+ */
42631
+ "inset-x": [{ "inset-x": scaleInset() }],
42632
+ /**
42633
+ * Inset Block
42634
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
42635
+ */
42636
+ "inset-y": [{ "inset-y": scaleInset() }],
42637
+ /**
42638
+ * Inset Inline Start
42639
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
42640
+ * @todo class group will be renamed to `inset-s` in next major release
42641
+ */
42642
+ start: [{
42643
+ "inset-s": scaleInset(),
42644
+ /**
42645
+ * @deprecated since Tailwind CSS v4.2.0 in favor of `inset-s-*` utilities.
42646
+ * @see https://github.com/tailwindlabs/tailwindcss/pull/19613
42647
+ */
42648
+ start: scaleInset()
42649
+ }],
42650
+ /**
42651
+ * Inset Inline End
42652
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
42653
+ * @todo class group will be renamed to `inset-e` in next major release
42654
+ */
42655
+ end: [{
42656
+ "inset-e": scaleInset(),
42657
+ /**
42658
+ * @deprecated since Tailwind CSS v4.2.0 in favor of `inset-e-*` utilities.
42659
+ * @see https://github.com/tailwindlabs/tailwindcss/pull/19613
42660
+ */
42661
+ end: scaleInset()
42662
+ }],
42663
+ /**
42664
+ * Inset Block Start
42665
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
42666
+ */
42667
+ "inset-bs": [{ "inset-bs": scaleInset() }],
42668
+ /**
42669
+ * Inset Block End
42670
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
42671
+ */
42672
+ "inset-be": [{ "inset-be": scaleInset() }],
42673
+ /**
42674
+ * Top
42675
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
42676
+ */
42677
+ top: [{ top: scaleInset() }],
42678
+ /**
42679
+ * Right
42680
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
42681
+ */
42682
+ right: [{ right: scaleInset() }],
42683
+ /**
42684
+ * Bottom
42685
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
42686
+ */
42687
+ bottom: [{ bottom: scaleInset() }],
42688
+ /**
42689
+ * Left
42690
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
42691
+ */
42692
+ left: [{ left: scaleInset() }],
42693
+ /**
42694
+ * Visibility
42695
+ * @see https://tailwindcss.com/docs/visibility
42696
+ */
42697
+ visibility: [
42698
+ "visible",
42699
+ "invisible",
42700
+ "collapse"
42701
+ ],
42702
+ /**
42703
+ * Z-Index
42704
+ * @see https://tailwindcss.com/docs/z-index
42705
+ */
42706
+ z: [{ z: [
42707
+ isInteger,
42708
+ "auto",
42709
+ isArbitraryVariable,
42710
+ isArbitraryValue
42711
+ ] }],
42712
+ /**
42713
+ * Flex Basis
42714
+ * @see https://tailwindcss.com/docs/flex-basis
42715
+ */
42716
+ basis: [{ basis: [
42717
+ isFraction,
42718
+ "full",
42719
+ "auto",
42720
+ themeContainer,
42721
+ ...scaleUnambiguousSpacing()
42722
+ ] }],
42723
+ /**
42724
+ * Flex Direction
42725
+ * @see https://tailwindcss.com/docs/flex-direction
42726
+ */
42727
+ "flex-direction": [{ flex: [
42728
+ "row",
42729
+ "row-reverse",
42730
+ "col",
42731
+ "col-reverse"
42732
+ ] }],
42733
+ /**
42734
+ * Flex Wrap
42735
+ * @see https://tailwindcss.com/docs/flex-wrap
42736
+ */
42737
+ "flex-wrap": [{ flex: [
42738
+ "nowrap",
42739
+ "wrap",
42740
+ "wrap-reverse"
42741
+ ] }],
42742
+ /**
42743
+ * Flex
42744
+ * @see https://tailwindcss.com/docs/flex
42745
+ */
42746
+ flex: [{ flex: [
42747
+ isNumber,
42748
+ isFraction,
42749
+ "auto",
42750
+ "initial",
42751
+ "none",
42752
+ isArbitraryValue
42753
+ ] }],
42754
+ /**
42755
+ * Flex Grow
42756
+ * @see https://tailwindcss.com/docs/flex-grow
42757
+ */
42758
+ grow: [{ grow: [
42759
+ "",
42760
+ isNumber,
42761
+ isArbitraryVariable,
42762
+ isArbitraryValue
42763
+ ] }],
42764
+ /**
42765
+ * Flex Shrink
42766
+ * @see https://tailwindcss.com/docs/flex-shrink
42767
+ */
42768
+ shrink: [{ shrink: [
42769
+ "",
42770
+ isNumber,
42771
+ isArbitraryVariable,
42772
+ isArbitraryValue
42773
+ ] }],
42774
+ /**
42775
+ * Order
42776
+ * @see https://tailwindcss.com/docs/order
42777
+ */
42778
+ order: [{ order: [
42779
+ isInteger,
42780
+ "first",
42781
+ "last",
42782
+ "none",
42783
+ isArbitraryVariable,
42784
+ isArbitraryValue
42785
+ ] }],
42786
+ /**
42787
+ * Grid Template Columns
42788
+ * @see https://tailwindcss.com/docs/grid-template-columns
42789
+ */
42790
+ "grid-cols": [{ "grid-cols": scaleGridTemplateColsRows() }],
42791
+ /**
42792
+ * Grid Column Start / End
42793
+ * @see https://tailwindcss.com/docs/grid-column
42794
+ */
42795
+ "col-start-end": [{ col: scaleGridColRowStartAndEnd() }],
42796
+ /**
42797
+ * Grid Column Start
42798
+ * @see https://tailwindcss.com/docs/grid-column
42799
+ */
42800
+ "col-start": [{ "col-start": scaleGridColRowStartOrEnd() }],
42801
+ /**
42802
+ * Grid Column End
42803
+ * @see https://tailwindcss.com/docs/grid-column
42804
+ */
42805
+ "col-end": [{ "col-end": scaleGridColRowStartOrEnd() }],
42806
+ /**
42807
+ * Grid Template Rows
42808
+ * @see https://tailwindcss.com/docs/grid-template-rows
42809
+ */
42810
+ "grid-rows": [{ "grid-rows": scaleGridTemplateColsRows() }],
42811
+ /**
42812
+ * Grid Row Start / End
42813
+ * @see https://tailwindcss.com/docs/grid-row
42814
+ */
42815
+ "row-start-end": [{ row: scaleGridColRowStartAndEnd() }],
42816
+ /**
42817
+ * Grid Row Start
42818
+ * @see https://tailwindcss.com/docs/grid-row
42819
+ */
42820
+ "row-start": [{ "row-start": scaleGridColRowStartOrEnd() }],
42821
+ /**
42822
+ * Grid Row End
42823
+ * @see https://tailwindcss.com/docs/grid-row
42824
+ */
42825
+ "row-end": [{ "row-end": scaleGridColRowStartOrEnd() }],
42826
+ /**
42827
+ * Grid Auto Flow
42828
+ * @see https://tailwindcss.com/docs/grid-auto-flow
42829
+ */
42830
+ "grid-flow": [{ "grid-flow": [
42831
+ "row",
42832
+ "col",
42833
+ "dense",
42834
+ "row-dense",
42835
+ "col-dense"
42836
+ ] }],
42837
+ /**
42838
+ * Grid Auto Columns
42839
+ * @see https://tailwindcss.com/docs/grid-auto-columns
42840
+ */
42841
+ "auto-cols": [{ "auto-cols": scaleGridAutoColsRows() }],
42842
+ /**
42843
+ * Grid Auto Rows
42844
+ * @see https://tailwindcss.com/docs/grid-auto-rows
42845
+ */
42846
+ "auto-rows": [{ "auto-rows": scaleGridAutoColsRows() }],
42847
+ /**
42848
+ * Gap
42849
+ * @see https://tailwindcss.com/docs/gap
42850
+ */
42851
+ gap: [{ gap: scaleUnambiguousSpacing() }],
42852
+ /**
42853
+ * Gap X
42854
+ * @see https://tailwindcss.com/docs/gap
42855
+ */
42856
+ "gap-x": [{ "gap-x": scaleUnambiguousSpacing() }],
42857
+ /**
42858
+ * Gap Y
42859
+ * @see https://tailwindcss.com/docs/gap
42860
+ */
42861
+ "gap-y": [{ "gap-y": scaleUnambiguousSpacing() }],
42862
+ /**
42863
+ * Justify Content
42864
+ * @see https://tailwindcss.com/docs/justify-content
42865
+ */
42866
+ "justify-content": [{ justify: [...scaleAlignPrimaryAxis(), "normal"] }],
42867
+ /**
42868
+ * Justify Items
42869
+ * @see https://tailwindcss.com/docs/justify-items
42870
+ */
42871
+ "justify-items": [{ "justify-items": [...scaleAlignSecondaryAxis(), "normal"] }],
42872
+ /**
42873
+ * Justify Self
42874
+ * @see https://tailwindcss.com/docs/justify-self
42875
+ */
42876
+ "justify-self": [{ "justify-self": ["auto", ...scaleAlignSecondaryAxis()] }],
42877
+ /**
42878
+ * Align Content
42879
+ * @see https://tailwindcss.com/docs/align-content
42880
+ */
42881
+ "align-content": [{ content: ["normal", ...scaleAlignPrimaryAxis()] }],
42882
+ /**
42883
+ * Align Items
42884
+ * @see https://tailwindcss.com/docs/align-items
42885
+ */
42886
+ "align-items": [{ items: [...scaleAlignSecondaryAxis(), { baseline: ["", "last"] }] }],
42887
+ /**
42888
+ * Align Self
42889
+ * @see https://tailwindcss.com/docs/align-self
42890
+ */
42891
+ "align-self": [{ self: [
42892
+ "auto",
42893
+ ...scaleAlignSecondaryAxis(),
42894
+ { baseline: ["", "last"] }
42895
+ ] }],
42896
+ /**
42897
+ * Place Content
42898
+ * @see https://tailwindcss.com/docs/place-content
42899
+ */
42900
+ "place-content": [{ "place-content": scaleAlignPrimaryAxis() }],
42901
+ /**
42902
+ * Place Items
42903
+ * @see https://tailwindcss.com/docs/place-items
42904
+ */
42905
+ "place-items": [{ "place-items": [...scaleAlignSecondaryAxis(), "baseline"] }],
42906
+ /**
42907
+ * Place Self
42908
+ * @see https://tailwindcss.com/docs/place-self
42909
+ */
42910
+ "place-self": [{ "place-self": ["auto", ...scaleAlignSecondaryAxis()] }],
42911
+ /**
42912
+ * Padding
42913
+ * @see https://tailwindcss.com/docs/padding
42914
+ */
42915
+ p: [{ p: scaleUnambiguousSpacing() }],
42916
+ /**
42917
+ * Padding Inline
42918
+ * @see https://tailwindcss.com/docs/padding
42919
+ */
42920
+ px: [{ px: scaleUnambiguousSpacing() }],
42921
+ /**
42922
+ * Padding Block
42923
+ * @see https://tailwindcss.com/docs/padding
42924
+ */
42925
+ py: [{ py: scaleUnambiguousSpacing() }],
42926
+ /**
42927
+ * Padding Inline Start
42928
+ * @see https://tailwindcss.com/docs/padding
42929
+ */
42930
+ ps: [{ ps: scaleUnambiguousSpacing() }],
42931
+ /**
42932
+ * Padding Inline End
42933
+ * @see https://tailwindcss.com/docs/padding
42934
+ */
42935
+ pe: [{ pe: scaleUnambiguousSpacing() }],
42936
+ /**
42937
+ * Padding Block Start
42938
+ * @see https://tailwindcss.com/docs/padding
42939
+ */
42940
+ pbs: [{ pbs: scaleUnambiguousSpacing() }],
42941
+ /**
42942
+ * Padding Block End
42943
+ * @see https://tailwindcss.com/docs/padding
42944
+ */
42945
+ pbe: [{ pbe: scaleUnambiguousSpacing() }],
42946
+ /**
42947
+ * Padding Top
42948
+ * @see https://tailwindcss.com/docs/padding
42949
+ */
42950
+ pt: [{ pt: scaleUnambiguousSpacing() }],
42951
+ /**
42952
+ * Padding Right
42953
+ * @see https://tailwindcss.com/docs/padding
42954
+ */
42955
+ pr: [{ pr: scaleUnambiguousSpacing() }],
42956
+ /**
42957
+ * Padding Bottom
42958
+ * @see https://tailwindcss.com/docs/padding
42959
+ */
42960
+ pb: [{ pb: scaleUnambiguousSpacing() }],
42961
+ /**
42962
+ * Padding Left
42963
+ * @see https://tailwindcss.com/docs/padding
42964
+ */
42965
+ pl: [{ pl: scaleUnambiguousSpacing() }],
42966
+ /**
42967
+ * Margin
42968
+ * @see https://tailwindcss.com/docs/margin
42969
+ */
42970
+ m: [{ m: scaleMargin() }],
42971
+ /**
42972
+ * Margin Inline
42973
+ * @see https://tailwindcss.com/docs/margin
42974
+ */
42975
+ mx: [{ mx: scaleMargin() }],
42976
+ /**
42977
+ * Margin Block
42978
+ * @see https://tailwindcss.com/docs/margin
42979
+ */
42980
+ my: [{ my: scaleMargin() }],
42981
+ /**
42982
+ * Margin Inline Start
42983
+ * @see https://tailwindcss.com/docs/margin
42984
+ */
42985
+ ms: [{ ms: scaleMargin() }],
42986
+ /**
42987
+ * Margin Inline End
42988
+ * @see https://tailwindcss.com/docs/margin
42989
+ */
42990
+ me: [{ me: scaleMargin() }],
42991
+ /**
42992
+ * Margin Block Start
42993
+ * @see https://tailwindcss.com/docs/margin
42994
+ */
42995
+ mbs: [{ mbs: scaleMargin() }],
42996
+ /**
42997
+ * Margin Block End
42998
+ * @see https://tailwindcss.com/docs/margin
42999
+ */
43000
+ mbe: [{ mbe: scaleMargin() }],
43001
+ /**
43002
+ * Margin Top
43003
+ * @see https://tailwindcss.com/docs/margin
43004
+ */
43005
+ mt: [{ mt: scaleMargin() }],
43006
+ /**
43007
+ * Margin Right
43008
+ * @see https://tailwindcss.com/docs/margin
43009
+ */
43010
+ mr: [{ mr: scaleMargin() }],
43011
+ /**
43012
+ * Margin Bottom
43013
+ * @see https://tailwindcss.com/docs/margin
43014
+ */
43015
+ mb: [{ mb: scaleMargin() }],
43016
+ /**
43017
+ * Margin Left
43018
+ * @see https://tailwindcss.com/docs/margin
43019
+ */
43020
+ ml: [{ ml: scaleMargin() }],
43021
+ /**
43022
+ * Space Between X
43023
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
43024
+ */
43025
+ "space-x": [{ "space-x": scaleUnambiguousSpacing() }],
43026
+ /**
43027
+ * Space Between X Reverse
43028
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
43029
+ */
43030
+ "space-x-reverse": ["space-x-reverse"],
43031
+ /**
43032
+ * Space Between Y
43033
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
43034
+ */
43035
+ "space-y": [{ "space-y": scaleUnambiguousSpacing() }],
43036
+ /**
43037
+ * Space Between Y Reverse
43038
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
43039
+ */
43040
+ "space-y-reverse": ["space-y-reverse"],
43041
+ /**
43042
+ * Size
43043
+ * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
43044
+ */
43045
+ size: [{ size: scaleSizing() }],
43046
+ /**
43047
+ * Inline Size
43048
+ * @see https://tailwindcss.com/docs/width
43049
+ */
43050
+ "inline-size": [{ inline: ["auto", ...scaleSizingInline()] }],
43051
+ /**
43052
+ * Min-Inline Size
43053
+ * @see https://tailwindcss.com/docs/min-width
43054
+ */
43055
+ "min-inline-size": [{ "min-inline": ["auto", ...scaleSizingInline()] }],
43056
+ /**
43057
+ * Max-Inline Size
43058
+ * @see https://tailwindcss.com/docs/max-width
43059
+ */
43060
+ "max-inline-size": [{ "max-inline": ["none", ...scaleSizingInline()] }],
43061
+ /**
43062
+ * Block Size
43063
+ * @see https://tailwindcss.com/docs/height
43064
+ */
43065
+ "block-size": [{ block: ["auto", ...scaleSizingBlock()] }],
43066
+ /**
43067
+ * Min-Block Size
43068
+ * @see https://tailwindcss.com/docs/min-height
43069
+ */
43070
+ "min-block-size": [{ "min-block": ["auto", ...scaleSizingBlock()] }],
43071
+ /**
43072
+ * Max-Block Size
43073
+ * @see https://tailwindcss.com/docs/max-height
43074
+ */
43075
+ "max-block-size": [{ "max-block": ["none", ...scaleSizingBlock()] }],
43076
+ /**
43077
+ * Width
43078
+ * @see https://tailwindcss.com/docs/width
43079
+ */
43080
+ w: [{ w: [
43081
+ themeContainer,
43082
+ "screen",
43083
+ ...scaleSizing()
43084
+ ] }],
43085
+ /**
43086
+ * Min-Width
43087
+ * @see https://tailwindcss.com/docs/min-width
43088
+ */
43089
+ "min-w": [{ "min-w": [
43090
+ themeContainer,
43091
+ "screen",
43092
+ "none",
43093
+ ...scaleSizing()
43094
+ ] }],
43095
+ /**
43096
+ * Max-Width
43097
+ * @see https://tailwindcss.com/docs/max-width
43098
+ */
43099
+ "max-w": [{ "max-w": [
43100
+ themeContainer,
43101
+ "screen",
43102
+ "none",
43103
+ "prose",
43104
+ { screen: [themeBreakpoint] },
43105
+ ...scaleSizing()
43106
+ ] }],
43107
+ /**
43108
+ * Height
43109
+ * @see https://tailwindcss.com/docs/height
43110
+ */
43111
+ h: [{ h: [
43112
+ "screen",
43113
+ "lh",
43114
+ ...scaleSizing()
43115
+ ] }],
43116
+ /**
43117
+ * Min-Height
43118
+ * @see https://tailwindcss.com/docs/min-height
43119
+ */
43120
+ "min-h": [{ "min-h": [
43121
+ "screen",
43122
+ "lh",
43123
+ "none",
43124
+ ...scaleSizing()
43125
+ ] }],
43126
+ /**
43127
+ * Max-Height
43128
+ * @see https://tailwindcss.com/docs/max-height
43129
+ */
43130
+ "max-h": [{ "max-h": [
43131
+ "screen",
43132
+ "lh",
43133
+ ...scaleSizing()
43134
+ ] }],
43135
+ /**
43136
+ * Font Size
43137
+ * @see https://tailwindcss.com/docs/font-size
43138
+ */
43139
+ "font-size": [{ text: [
43140
+ "base",
43141
+ themeText,
43142
+ isArbitraryVariableLength,
43143
+ isArbitraryLength
43144
+ ] }],
43145
+ /**
43146
+ * Font Smoothing
43147
+ * @see https://tailwindcss.com/docs/font-smoothing
43148
+ */
43149
+ "font-smoothing": ["antialiased", "subpixel-antialiased"],
43150
+ /**
43151
+ * Font Style
43152
+ * @see https://tailwindcss.com/docs/font-style
43153
+ */
43154
+ "font-style": ["italic", "not-italic"],
43155
+ /**
43156
+ * Font Weight
43157
+ * @see https://tailwindcss.com/docs/font-weight
43158
+ */
43159
+ "font-weight": [{ font: [
43160
+ themeFontWeight,
43161
+ isArbitraryVariableWeight,
43162
+ isArbitraryWeight
43163
+ ] }],
43164
+ /**
43165
+ * Font Stretch
43166
+ * @see https://tailwindcss.com/docs/font-stretch
43167
+ */
43168
+ "font-stretch": [{ "font-stretch": [
43169
+ "ultra-condensed",
43170
+ "extra-condensed",
43171
+ "condensed",
43172
+ "semi-condensed",
43173
+ "normal",
43174
+ "semi-expanded",
43175
+ "expanded",
43176
+ "extra-expanded",
43177
+ "ultra-expanded",
43178
+ isPercent,
43179
+ isArbitraryValue
43180
+ ] }],
43181
+ /**
43182
+ * Font Family
43183
+ * @see https://tailwindcss.com/docs/font-family
43184
+ */
43185
+ "font-family": [{ font: [
43186
+ isArbitraryVariableFamilyName,
43187
+ isArbitraryFamilyName,
43188
+ themeFont
43189
+ ] }],
43190
+ /**
43191
+ * Font Feature Settings
43192
+ * @see https://tailwindcss.com/docs/font-feature-settings
43193
+ */
43194
+ "font-features": [{ "font-features": [isArbitraryValue] }],
43195
+ /**
43196
+ * Font Variant Numeric
43197
+ * @see https://tailwindcss.com/docs/font-variant-numeric
43198
+ */
43199
+ "fvn-normal": ["normal-nums"],
43200
+ /**
43201
+ * Font Variant Numeric
43202
+ * @see https://tailwindcss.com/docs/font-variant-numeric
43203
+ */
43204
+ "fvn-ordinal": ["ordinal"],
43205
+ /**
43206
+ * Font Variant Numeric
43207
+ * @see https://tailwindcss.com/docs/font-variant-numeric
43208
+ */
43209
+ "fvn-slashed-zero": ["slashed-zero"],
43210
+ /**
43211
+ * Font Variant Numeric
43212
+ * @see https://tailwindcss.com/docs/font-variant-numeric
43213
+ */
43214
+ "fvn-figure": ["lining-nums", "oldstyle-nums"],
43215
+ /**
43216
+ * Font Variant Numeric
43217
+ * @see https://tailwindcss.com/docs/font-variant-numeric
43218
+ */
43219
+ "fvn-spacing": ["proportional-nums", "tabular-nums"],
43220
+ /**
43221
+ * Font Variant Numeric
43222
+ * @see https://tailwindcss.com/docs/font-variant-numeric
43223
+ */
43224
+ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
43225
+ /**
43226
+ * Letter Spacing
43227
+ * @see https://tailwindcss.com/docs/letter-spacing
43228
+ */
43229
+ tracking: [{ tracking: [
43230
+ themeTracking,
43231
+ isArbitraryVariable,
43232
+ isArbitraryValue
43233
+ ] }],
43234
+ /**
43235
+ * Line Clamp
43236
+ * @see https://tailwindcss.com/docs/line-clamp
43237
+ */
43238
+ "line-clamp": [{ "line-clamp": [
43239
+ isNumber,
43240
+ "none",
43241
+ isArbitraryVariable,
43242
+ isArbitraryNumber
43243
+ ] }],
43244
+ /**
43245
+ * Line Height
43246
+ * @see https://tailwindcss.com/docs/line-height
43247
+ */
43248
+ leading: [{ leading: [themeLeading, ...scaleUnambiguousSpacing()] }],
43249
+ /**
43250
+ * List Style Image
43251
+ * @see https://tailwindcss.com/docs/list-style-image
43252
+ */
43253
+ "list-image": [{ "list-image": [
43254
+ "none",
43255
+ isArbitraryVariable,
43256
+ isArbitraryValue
43257
+ ] }],
43258
+ /**
43259
+ * List Style Position
43260
+ * @see https://tailwindcss.com/docs/list-style-position
43261
+ */
43262
+ "list-style-position": [{ list: ["inside", "outside"] }],
43263
+ /**
43264
+ * List Style Type
43265
+ * @see https://tailwindcss.com/docs/list-style-type
43266
+ */
43267
+ "list-style-type": [{ list: [
43268
+ "disc",
43269
+ "decimal",
43270
+ "none",
43271
+ isArbitraryVariable,
43272
+ isArbitraryValue
43273
+ ] }],
43274
+ /**
43275
+ * Text Alignment
43276
+ * @see https://tailwindcss.com/docs/text-align
43277
+ */
43278
+ "text-alignment": [{ text: [
43279
+ "left",
43280
+ "center",
43281
+ "right",
43282
+ "justify",
43283
+ "start",
43284
+ "end"
43285
+ ] }],
43286
+ /**
43287
+ * Placeholder Color
43288
+ * @deprecated since Tailwind CSS v3.0.0
43289
+ * @see https://v3.tailwindcss.com/docs/placeholder-color
43290
+ */
43291
+ "placeholder-color": [{ placeholder: scaleColor() }],
43292
+ /**
43293
+ * Text Color
43294
+ * @see https://tailwindcss.com/docs/text-color
43295
+ */
43296
+ "text-color": [{ text: scaleColor() }],
43297
+ /**
43298
+ * Text Decoration
43299
+ * @see https://tailwindcss.com/docs/text-decoration
43300
+ */
43301
+ "text-decoration": [
43302
+ "underline",
43303
+ "overline",
43304
+ "line-through",
43305
+ "no-underline"
43306
+ ],
43307
+ /**
43308
+ * Text Decoration Style
43309
+ * @see https://tailwindcss.com/docs/text-decoration-style
43310
+ */
43311
+ "text-decoration-style": [{ decoration: [...scaleLineStyle(), "wavy"] }],
43312
+ /**
43313
+ * Text Decoration Thickness
43314
+ * @see https://tailwindcss.com/docs/text-decoration-thickness
43315
+ */
43316
+ "text-decoration-thickness": [{ decoration: [
43317
+ isNumber,
43318
+ "from-font",
43319
+ "auto",
43320
+ isArbitraryVariable,
43321
+ isArbitraryLength
43322
+ ] }],
43323
+ /**
43324
+ * Text Decoration Color
43325
+ * @see https://tailwindcss.com/docs/text-decoration-color
43326
+ */
43327
+ "text-decoration-color": [{ decoration: scaleColor() }],
43328
+ /**
43329
+ * Text Underline Offset
43330
+ * @see https://tailwindcss.com/docs/text-underline-offset
43331
+ */
43332
+ "underline-offset": [{ "underline-offset": [
43333
+ isNumber,
43334
+ "auto",
43335
+ isArbitraryVariable,
43336
+ isArbitraryValue
43337
+ ] }],
43338
+ /**
43339
+ * Text Transform
43340
+ * @see https://tailwindcss.com/docs/text-transform
43341
+ */
43342
+ "text-transform": [
43343
+ "uppercase",
43344
+ "lowercase",
43345
+ "capitalize",
43346
+ "normal-case"
43347
+ ],
43348
+ /**
43349
+ * Text Overflow
43350
+ * @see https://tailwindcss.com/docs/text-overflow
43351
+ */
43352
+ "text-overflow": [
43353
+ "truncate",
43354
+ "text-ellipsis",
43355
+ "text-clip"
43356
+ ],
43357
+ /**
43358
+ * Text Wrap
43359
+ * @see https://tailwindcss.com/docs/text-wrap
43360
+ */
43361
+ "text-wrap": [{ text: [
43362
+ "wrap",
43363
+ "nowrap",
43364
+ "balance",
43365
+ "pretty"
43366
+ ] }],
43367
+ /**
43368
+ * Text Indent
43369
+ * @see https://tailwindcss.com/docs/text-indent
43370
+ */
43371
+ indent: [{ indent: scaleUnambiguousSpacing() }],
43372
+ /**
43373
+ * Tab Size
43374
+ * @see https://tailwindcss.com/docs/tab-size
43375
+ */
43376
+ "tab-size": [{ tab: [
43377
+ isInteger,
43378
+ isArbitraryVariable,
43379
+ isArbitraryValue
43380
+ ] }],
43381
+ /**
43382
+ * Vertical Alignment
43383
+ * @see https://tailwindcss.com/docs/vertical-align
43384
+ */
43385
+ "vertical-align": [{ align: [
43386
+ "baseline",
43387
+ "top",
43388
+ "middle",
43389
+ "bottom",
43390
+ "text-top",
43391
+ "text-bottom",
43392
+ "sub",
43393
+ "super",
43394
+ isArbitraryVariable,
43395
+ isArbitraryValue
43396
+ ] }],
43397
+ /**
43398
+ * Whitespace
43399
+ * @see https://tailwindcss.com/docs/whitespace
43400
+ */
43401
+ whitespace: [{ whitespace: [
43402
+ "normal",
43403
+ "nowrap",
43404
+ "pre",
43405
+ "pre-line",
43406
+ "pre-wrap",
43407
+ "break-spaces"
43408
+ ] }],
43409
+ /**
43410
+ * Word Break
43411
+ * @see https://tailwindcss.com/docs/word-break
43412
+ */
43413
+ break: [{ break: [
43414
+ "normal",
43415
+ "words",
43416
+ "all",
43417
+ "keep"
43418
+ ] }],
43419
+ /**
43420
+ * Overflow Wrap
43421
+ * @see https://tailwindcss.com/docs/overflow-wrap
43422
+ */
43423
+ wrap: [{ wrap: [
43424
+ "break-word",
43425
+ "anywhere",
43426
+ "normal"
43427
+ ] }],
43428
+ /**
43429
+ * Hyphens
43430
+ * @see https://tailwindcss.com/docs/hyphens
43431
+ */
43432
+ hyphens: [{ hyphens: [
43433
+ "none",
43434
+ "manual",
43435
+ "auto"
43436
+ ] }],
43437
+ /**
43438
+ * Content
43439
+ * @see https://tailwindcss.com/docs/content
43440
+ */
43441
+ content: [{ content: [
43442
+ "none",
43443
+ isArbitraryVariable,
43444
+ isArbitraryValue
43445
+ ] }],
43446
+ /**
43447
+ * Background Attachment
43448
+ * @see https://tailwindcss.com/docs/background-attachment
43449
+ */
43450
+ "bg-attachment": [{ bg: [
43451
+ "fixed",
43452
+ "local",
43453
+ "scroll"
43454
+ ] }],
43455
+ /**
43456
+ * Background Clip
43457
+ * @see https://tailwindcss.com/docs/background-clip
43458
+ */
43459
+ "bg-clip": [{ "bg-clip": [
43460
+ "border",
43461
+ "padding",
43462
+ "content",
43463
+ "text"
43464
+ ] }],
43465
+ /**
43466
+ * Background Origin
43467
+ * @see https://tailwindcss.com/docs/background-origin
43468
+ */
43469
+ "bg-origin": [{ "bg-origin": [
43470
+ "border",
43471
+ "padding",
43472
+ "content"
43473
+ ] }],
43474
+ /**
43475
+ * Background Position
43476
+ * @see https://tailwindcss.com/docs/background-position
43477
+ */
43478
+ "bg-position": [{ bg: scaleBgPosition() }],
43479
+ /**
43480
+ * Background Repeat
43481
+ * @see https://tailwindcss.com/docs/background-repeat
43482
+ */
43483
+ "bg-repeat": [{ bg: scaleBgRepeat() }],
43484
+ /**
43485
+ * Background Size
43486
+ * @see https://tailwindcss.com/docs/background-size
43487
+ */
43488
+ "bg-size": [{ bg: scaleBgSize() }],
43489
+ /**
43490
+ * Background Image
43491
+ * @see https://tailwindcss.com/docs/background-image
43492
+ */
43493
+ "bg-image": [{ bg: [
43494
+ "none",
43495
+ {
43496
+ linear: [
43497
+ { to: [
43498
+ "t",
43499
+ "tr",
43500
+ "r",
43501
+ "br",
43502
+ "b",
43503
+ "bl",
43504
+ "l",
43505
+ "tl"
43506
+ ] },
43507
+ isInteger,
43508
+ isArbitraryVariable,
43509
+ isArbitraryValue
43510
+ ],
43511
+ radial: [
43512
+ "",
43513
+ isArbitraryVariable,
43514
+ isArbitraryValue
43515
+ ],
43516
+ conic: [
43517
+ isInteger,
43518
+ isArbitraryVariable,
43519
+ isArbitraryValue
43520
+ ]
43521
+ },
43522
+ isArbitraryVariableImage,
43523
+ isArbitraryImage
43524
+ ] }],
43525
+ /**
43526
+ * Background Color
43527
+ * @see https://tailwindcss.com/docs/background-color
43528
+ */
43529
+ "bg-color": [{ bg: scaleColor() }],
43530
+ /**
43531
+ * Gradient Color Stops From Position
43532
+ * @see https://tailwindcss.com/docs/gradient-color-stops
43533
+ */
43534
+ "gradient-from-pos": [{ from: scaleGradientStopPosition() }],
43535
+ /**
43536
+ * Gradient Color Stops Via Position
43537
+ * @see https://tailwindcss.com/docs/gradient-color-stops
43538
+ */
43539
+ "gradient-via-pos": [{ via: scaleGradientStopPosition() }],
43540
+ /**
43541
+ * Gradient Color Stops To Position
43542
+ * @see https://tailwindcss.com/docs/gradient-color-stops
43543
+ */
43544
+ "gradient-to-pos": [{ to: scaleGradientStopPosition() }],
43545
+ /**
43546
+ * Gradient Color Stops From
43547
+ * @see https://tailwindcss.com/docs/gradient-color-stops
43548
+ */
43549
+ "gradient-from": [{ from: scaleColor() }],
43550
+ /**
43551
+ * Gradient Color Stops Via
43552
+ * @see https://tailwindcss.com/docs/gradient-color-stops
43553
+ */
43554
+ "gradient-via": [{ via: scaleColor() }],
43555
+ /**
43556
+ * Gradient Color Stops To
43557
+ * @see https://tailwindcss.com/docs/gradient-color-stops
43558
+ */
43559
+ "gradient-to": [{ to: scaleColor() }],
43560
+ /**
43561
+ * Border Radius
43562
+ * @see https://tailwindcss.com/docs/border-radius
43563
+ */
43564
+ rounded: [{ rounded: scaleRadius() }],
43565
+ /**
43566
+ * Border Radius Start
43567
+ * @see https://tailwindcss.com/docs/border-radius
43568
+ */
43569
+ "rounded-s": [{ "rounded-s": scaleRadius() }],
43570
+ /**
43571
+ * Border Radius End
43572
+ * @see https://tailwindcss.com/docs/border-radius
43573
+ */
43574
+ "rounded-e": [{ "rounded-e": scaleRadius() }],
43575
+ /**
43576
+ * Border Radius Top
43577
+ * @see https://tailwindcss.com/docs/border-radius
43578
+ */
43579
+ "rounded-t": [{ "rounded-t": scaleRadius() }],
43580
+ /**
43581
+ * Border Radius Right
43582
+ * @see https://tailwindcss.com/docs/border-radius
43583
+ */
43584
+ "rounded-r": [{ "rounded-r": scaleRadius() }],
43585
+ /**
43586
+ * Border Radius Bottom
43587
+ * @see https://tailwindcss.com/docs/border-radius
43588
+ */
43589
+ "rounded-b": [{ "rounded-b": scaleRadius() }],
43590
+ /**
43591
+ * Border Radius Left
43592
+ * @see https://tailwindcss.com/docs/border-radius
43593
+ */
43594
+ "rounded-l": [{ "rounded-l": scaleRadius() }],
43595
+ /**
43596
+ * Border Radius Start Start
43597
+ * @see https://tailwindcss.com/docs/border-radius
43598
+ */
43599
+ "rounded-ss": [{ "rounded-ss": scaleRadius() }],
43600
+ /**
43601
+ * Border Radius Start End
43602
+ * @see https://tailwindcss.com/docs/border-radius
43603
+ */
43604
+ "rounded-se": [{ "rounded-se": scaleRadius() }],
43605
+ /**
43606
+ * Border Radius End End
43607
+ * @see https://tailwindcss.com/docs/border-radius
43608
+ */
43609
+ "rounded-ee": [{ "rounded-ee": scaleRadius() }],
43610
+ /**
43611
+ * Border Radius End Start
43612
+ * @see https://tailwindcss.com/docs/border-radius
43613
+ */
43614
+ "rounded-es": [{ "rounded-es": scaleRadius() }],
43615
+ /**
43616
+ * Border Radius Top Left
43617
+ * @see https://tailwindcss.com/docs/border-radius
43618
+ */
43619
+ "rounded-tl": [{ "rounded-tl": scaleRadius() }],
43620
+ /**
43621
+ * Border Radius Top Right
43622
+ * @see https://tailwindcss.com/docs/border-radius
43623
+ */
43624
+ "rounded-tr": [{ "rounded-tr": scaleRadius() }],
43625
+ /**
43626
+ * Border Radius Bottom Right
43627
+ * @see https://tailwindcss.com/docs/border-radius
43628
+ */
43629
+ "rounded-br": [{ "rounded-br": scaleRadius() }],
43630
+ /**
43631
+ * Border Radius Bottom Left
43632
+ * @see https://tailwindcss.com/docs/border-radius
43633
+ */
43634
+ "rounded-bl": [{ "rounded-bl": scaleRadius() }],
43635
+ /**
43636
+ * Border Width
43637
+ * @see https://tailwindcss.com/docs/border-width
43638
+ */
43639
+ "border-w": [{ border: scaleBorderWidth() }],
43640
+ /**
43641
+ * Border Width Inline
43642
+ * @see https://tailwindcss.com/docs/border-width
43643
+ */
43644
+ "border-w-x": [{ "border-x": scaleBorderWidth() }],
43645
+ /**
43646
+ * Border Width Block
43647
+ * @see https://tailwindcss.com/docs/border-width
43648
+ */
43649
+ "border-w-y": [{ "border-y": scaleBorderWidth() }],
43650
+ /**
43651
+ * Border Width Inline Start
43652
+ * @see https://tailwindcss.com/docs/border-width
43653
+ */
43654
+ "border-w-s": [{ "border-s": scaleBorderWidth() }],
43655
+ /**
43656
+ * Border Width Inline End
43657
+ * @see https://tailwindcss.com/docs/border-width
43658
+ */
43659
+ "border-w-e": [{ "border-e": scaleBorderWidth() }],
43660
+ /**
43661
+ * Border Width Block Start
43662
+ * @see https://tailwindcss.com/docs/border-width
43663
+ */
43664
+ "border-w-bs": [{ "border-bs": scaleBorderWidth() }],
43665
+ /**
43666
+ * Border Width Block End
43667
+ * @see https://tailwindcss.com/docs/border-width
43668
+ */
43669
+ "border-w-be": [{ "border-be": scaleBorderWidth() }],
43670
+ /**
43671
+ * Border Width Top
43672
+ * @see https://tailwindcss.com/docs/border-width
43673
+ */
43674
+ "border-w-t": [{ "border-t": scaleBorderWidth() }],
43675
+ /**
43676
+ * Border Width Right
43677
+ * @see https://tailwindcss.com/docs/border-width
43678
+ */
43679
+ "border-w-r": [{ "border-r": scaleBorderWidth() }],
43680
+ /**
43681
+ * Border Width Bottom
43682
+ * @see https://tailwindcss.com/docs/border-width
43683
+ */
43684
+ "border-w-b": [{ "border-b": scaleBorderWidth() }],
43685
+ /**
43686
+ * Border Width Left
43687
+ * @see https://tailwindcss.com/docs/border-width
43688
+ */
43689
+ "border-w-l": [{ "border-l": scaleBorderWidth() }],
43690
+ /**
43691
+ * Divide Width X
43692
+ * @see https://tailwindcss.com/docs/border-width#between-children
43693
+ */
43694
+ "divide-x": [{ "divide-x": scaleBorderWidth() }],
43695
+ /**
43696
+ * Divide Width X Reverse
43697
+ * @see https://tailwindcss.com/docs/border-width#between-children
43698
+ */
43699
+ "divide-x-reverse": ["divide-x-reverse"],
43700
+ /**
43701
+ * Divide Width Y
43702
+ * @see https://tailwindcss.com/docs/border-width#between-children
43703
+ */
43704
+ "divide-y": [{ "divide-y": scaleBorderWidth() }],
43705
+ /**
43706
+ * Divide Width Y Reverse
43707
+ * @see https://tailwindcss.com/docs/border-width#between-children
43708
+ */
43709
+ "divide-y-reverse": ["divide-y-reverse"],
43710
+ /**
43711
+ * Border Style
43712
+ * @see https://tailwindcss.com/docs/border-style
43713
+ */
43714
+ "border-style": [{ border: [
43715
+ ...scaleLineStyle(),
43716
+ "hidden",
43717
+ "none"
43718
+ ] }],
43719
+ /**
43720
+ * Divide Style
43721
+ * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
43722
+ */
43723
+ "divide-style": [{ divide: [
43724
+ ...scaleLineStyle(),
43725
+ "hidden",
43726
+ "none"
43727
+ ] }],
43728
+ /**
43729
+ * Border Color
43730
+ * @see https://tailwindcss.com/docs/border-color
43731
+ */
43732
+ "border-color": [{ border: scaleColor() }],
43733
+ /**
43734
+ * Border Color Inline
43735
+ * @see https://tailwindcss.com/docs/border-color
43736
+ */
43737
+ "border-color-x": [{ "border-x": scaleColor() }],
43738
+ /**
43739
+ * Border Color Block
43740
+ * @see https://tailwindcss.com/docs/border-color
43741
+ */
43742
+ "border-color-y": [{ "border-y": scaleColor() }],
43743
+ /**
43744
+ * Border Color Inline Start
43745
+ * @see https://tailwindcss.com/docs/border-color
43746
+ */
43747
+ "border-color-s": [{ "border-s": scaleColor() }],
43748
+ /**
43749
+ * Border Color Inline End
43750
+ * @see https://tailwindcss.com/docs/border-color
43751
+ */
43752
+ "border-color-e": [{ "border-e": scaleColor() }],
43753
+ /**
43754
+ * Border Color Block Start
43755
+ * @see https://tailwindcss.com/docs/border-color
43756
+ */
43757
+ "border-color-bs": [{ "border-bs": scaleColor() }],
43758
+ /**
43759
+ * Border Color Block End
43760
+ * @see https://tailwindcss.com/docs/border-color
43761
+ */
43762
+ "border-color-be": [{ "border-be": scaleColor() }],
43763
+ /**
43764
+ * Border Color Top
43765
+ * @see https://tailwindcss.com/docs/border-color
43766
+ */
43767
+ "border-color-t": [{ "border-t": scaleColor() }],
43768
+ /**
43769
+ * Border Color Right
43770
+ * @see https://tailwindcss.com/docs/border-color
43771
+ */
43772
+ "border-color-r": [{ "border-r": scaleColor() }],
43773
+ /**
43774
+ * Border Color Bottom
43775
+ * @see https://tailwindcss.com/docs/border-color
43776
+ */
43777
+ "border-color-b": [{ "border-b": scaleColor() }],
43778
+ /**
43779
+ * Border Color Left
43780
+ * @see https://tailwindcss.com/docs/border-color
43781
+ */
43782
+ "border-color-l": [{ "border-l": scaleColor() }],
43783
+ /**
43784
+ * Divide Color
43785
+ * @see https://tailwindcss.com/docs/divide-color
43786
+ */
43787
+ "divide-color": [{ divide: scaleColor() }],
43788
+ /**
43789
+ * Outline Style
43790
+ * @see https://tailwindcss.com/docs/outline-style
43791
+ */
43792
+ "outline-style": [{ outline: [
43793
+ ...scaleLineStyle(),
43794
+ "none",
43795
+ "hidden"
43796
+ ] }],
43797
+ /**
43798
+ * Outline Offset
43799
+ * @see https://tailwindcss.com/docs/outline-offset
43800
+ */
43801
+ "outline-offset": [{ "outline-offset": [
43802
+ isNumber,
43803
+ isArbitraryVariable,
43804
+ isArbitraryValue
43805
+ ] }],
43806
+ /**
43807
+ * Outline Width
43808
+ * @see https://tailwindcss.com/docs/outline-width
43809
+ */
43810
+ "outline-w": [{ outline: [
43811
+ "",
43812
+ isNumber,
43813
+ isArbitraryVariableLength,
43814
+ isArbitraryLength
43815
+ ] }],
43816
+ /**
43817
+ * Outline Color
43818
+ * @see https://tailwindcss.com/docs/outline-color
43819
+ */
43820
+ "outline-color": [{ outline: scaleColor() }],
43821
+ /**
43822
+ * Box Shadow
43823
+ * @see https://tailwindcss.com/docs/box-shadow
43824
+ */
43825
+ shadow: [{ shadow: [
43826
+ "",
43827
+ "none",
43828
+ themeShadow,
43829
+ isArbitraryVariableShadow,
43830
+ isArbitraryShadow
43831
+ ] }],
43832
+ /**
43833
+ * Box Shadow Color
43834
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
43835
+ */
43836
+ "shadow-color": [{ shadow: scaleColor() }],
43837
+ /**
43838
+ * Inset Box Shadow
43839
+ * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
43840
+ */
43841
+ "inset-shadow": [{ "inset-shadow": [
43842
+ "none",
43843
+ themeInsetShadow,
43844
+ isArbitraryVariableShadow,
43845
+ isArbitraryShadow
43846
+ ] }],
43847
+ /**
43848
+ * Inset Box Shadow Color
43849
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
43850
+ */
43851
+ "inset-shadow-color": [{ "inset-shadow": scaleColor() }],
43852
+ /**
43853
+ * Ring Width
43854
+ * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
43855
+ */
43856
+ "ring-w": [{ ring: scaleBorderWidth() }],
43857
+ /**
43858
+ * Ring Width Inset
43859
+ * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings
43860
+ * @deprecated since Tailwind CSS v4.0.0
43861
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
43862
+ */
43863
+ "ring-w-inset": ["ring-inset"],
43864
+ /**
43865
+ * Ring Color
43866
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
43867
+ */
43868
+ "ring-color": [{ ring: scaleColor() }],
43869
+ /**
43870
+ * Ring Offset Width
43871
+ * @see https://v3.tailwindcss.com/docs/ring-offset-width
43872
+ * @deprecated since Tailwind CSS v4.0.0
43873
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
43874
+ */
43875
+ "ring-offset-w": [{ "ring-offset": [isNumber, isArbitraryLength] }],
43876
+ /**
43877
+ * Ring Offset Color
43878
+ * @see https://v3.tailwindcss.com/docs/ring-offset-color
43879
+ * @deprecated since Tailwind CSS v4.0.0
43880
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
43881
+ */
43882
+ "ring-offset-color": [{ "ring-offset": scaleColor() }],
43883
+ /**
43884
+ * Inset Ring Width
43885
+ * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
43886
+ */
43887
+ "inset-ring-w": [{ "inset-ring": scaleBorderWidth() }],
43888
+ /**
43889
+ * Inset Ring Color
43890
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
43891
+ */
43892
+ "inset-ring-color": [{ "inset-ring": scaleColor() }],
43893
+ /**
43894
+ * Text Shadow
43895
+ * @see https://tailwindcss.com/docs/text-shadow
43896
+ */
43897
+ "text-shadow": [{ "text-shadow": [
43898
+ "none",
43899
+ themeTextShadow,
43900
+ isArbitraryVariableShadow,
43901
+ isArbitraryShadow
43902
+ ] }],
43903
+ /**
43904
+ * Text Shadow Color
43905
+ * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
43906
+ */
43907
+ "text-shadow-color": [{ "text-shadow": scaleColor() }],
43908
+ /**
43909
+ * Opacity
43910
+ * @see https://tailwindcss.com/docs/opacity
43911
+ */
43912
+ opacity: [{ opacity: [
43913
+ isNumber,
43914
+ isArbitraryVariable,
43915
+ isArbitraryValue
43916
+ ] }],
43917
+ /**
43918
+ * Mix Blend Mode
43919
+ * @see https://tailwindcss.com/docs/mix-blend-mode
43920
+ */
43921
+ "mix-blend": [{ "mix-blend": [
43922
+ ...scaleBlendMode(),
43923
+ "plus-darker",
43924
+ "plus-lighter"
43925
+ ] }],
43926
+ /**
43927
+ * Background Blend Mode
43928
+ * @see https://tailwindcss.com/docs/background-blend-mode
43929
+ */
43930
+ "bg-blend": [{ "bg-blend": scaleBlendMode() }],
43931
+ /**
43932
+ * Mask Clip
43933
+ * @see https://tailwindcss.com/docs/mask-clip
43934
+ */
43935
+ "mask-clip": [{ "mask-clip": [
43936
+ "border",
43937
+ "padding",
43938
+ "content",
43939
+ "fill",
43940
+ "stroke",
43941
+ "view"
43942
+ ] }, "mask-no-clip"],
43943
+ /**
43944
+ * Mask Composite
43945
+ * @see https://tailwindcss.com/docs/mask-composite
43946
+ */
43947
+ "mask-composite": [{ mask: [
43948
+ "add",
43949
+ "subtract",
43950
+ "intersect",
43951
+ "exclude"
43952
+ ] }],
43953
+ /**
43954
+ * Mask Image
43955
+ * @see https://tailwindcss.com/docs/mask-image
43956
+ */
43957
+ "mask-image-linear-pos": [{ "mask-linear": [isNumber] }],
43958
+ "mask-image-linear-from-pos": [{ "mask-linear-from": scaleMaskImagePosition() }],
43959
+ "mask-image-linear-to-pos": [{ "mask-linear-to": scaleMaskImagePosition() }],
43960
+ "mask-image-linear-from-color": [{ "mask-linear-from": scaleColor() }],
43961
+ "mask-image-linear-to-color": [{ "mask-linear-to": scaleColor() }],
43962
+ "mask-image-t-from-pos": [{ "mask-t-from": scaleMaskImagePosition() }],
43963
+ "mask-image-t-to-pos": [{ "mask-t-to": scaleMaskImagePosition() }],
43964
+ "mask-image-t-from-color": [{ "mask-t-from": scaleColor() }],
43965
+ "mask-image-t-to-color": [{ "mask-t-to": scaleColor() }],
43966
+ "mask-image-r-from-pos": [{ "mask-r-from": scaleMaskImagePosition() }],
43967
+ "mask-image-r-to-pos": [{ "mask-r-to": scaleMaskImagePosition() }],
43968
+ "mask-image-r-from-color": [{ "mask-r-from": scaleColor() }],
43969
+ "mask-image-r-to-color": [{ "mask-r-to": scaleColor() }],
43970
+ "mask-image-b-from-pos": [{ "mask-b-from": scaleMaskImagePosition() }],
43971
+ "mask-image-b-to-pos": [{ "mask-b-to": scaleMaskImagePosition() }],
43972
+ "mask-image-b-from-color": [{ "mask-b-from": scaleColor() }],
43973
+ "mask-image-b-to-color": [{ "mask-b-to": scaleColor() }],
43974
+ "mask-image-l-from-pos": [{ "mask-l-from": scaleMaskImagePosition() }],
43975
+ "mask-image-l-to-pos": [{ "mask-l-to": scaleMaskImagePosition() }],
43976
+ "mask-image-l-from-color": [{ "mask-l-from": scaleColor() }],
43977
+ "mask-image-l-to-color": [{ "mask-l-to": scaleColor() }],
43978
+ "mask-image-x-from-pos": [{ "mask-x-from": scaleMaskImagePosition() }],
43979
+ "mask-image-x-to-pos": [{ "mask-x-to": scaleMaskImagePosition() }],
43980
+ "mask-image-x-from-color": [{ "mask-x-from": scaleColor() }],
43981
+ "mask-image-x-to-color": [{ "mask-x-to": scaleColor() }],
43982
+ "mask-image-y-from-pos": [{ "mask-y-from": scaleMaskImagePosition() }],
43983
+ "mask-image-y-to-pos": [{ "mask-y-to": scaleMaskImagePosition() }],
43984
+ "mask-image-y-from-color": [{ "mask-y-from": scaleColor() }],
43985
+ "mask-image-y-to-color": [{ "mask-y-to": scaleColor() }],
43986
+ "mask-image-radial": [{ "mask-radial": [isArbitraryVariable, isArbitraryValue] }],
43987
+ "mask-image-radial-from-pos": [{ "mask-radial-from": scaleMaskImagePosition() }],
43988
+ "mask-image-radial-to-pos": [{ "mask-radial-to": scaleMaskImagePosition() }],
43989
+ "mask-image-radial-from-color": [{ "mask-radial-from": scaleColor() }],
43990
+ "mask-image-radial-to-color": [{ "mask-radial-to": scaleColor() }],
43991
+ "mask-image-radial-shape": [{ "mask-radial": ["circle", "ellipse"] }],
43992
+ "mask-image-radial-size": [{ "mask-radial": [{
43993
+ closest: ["side", "corner"],
43994
+ farthest: ["side", "corner"]
43995
+ }] }],
43996
+ "mask-image-radial-pos": [{ "mask-radial-at": scalePosition() }],
43997
+ "mask-image-conic-pos": [{ "mask-conic": [isNumber] }],
43998
+ "mask-image-conic-from-pos": [{ "mask-conic-from": scaleMaskImagePosition() }],
43999
+ "mask-image-conic-to-pos": [{ "mask-conic-to": scaleMaskImagePosition() }],
44000
+ "mask-image-conic-from-color": [{ "mask-conic-from": scaleColor() }],
44001
+ "mask-image-conic-to-color": [{ "mask-conic-to": scaleColor() }],
44002
+ /**
44003
+ * Mask Mode
44004
+ * @see https://tailwindcss.com/docs/mask-mode
44005
+ */
44006
+ "mask-mode": [{ mask: [
44007
+ "alpha",
44008
+ "luminance",
44009
+ "match"
44010
+ ] }],
44011
+ /**
44012
+ * Mask Origin
44013
+ * @see https://tailwindcss.com/docs/mask-origin
44014
+ */
44015
+ "mask-origin": [{ "mask-origin": [
44016
+ "border",
44017
+ "padding",
44018
+ "content",
44019
+ "fill",
44020
+ "stroke",
44021
+ "view"
44022
+ ] }],
44023
+ /**
44024
+ * Mask Position
44025
+ * @see https://tailwindcss.com/docs/mask-position
44026
+ */
44027
+ "mask-position": [{ mask: scaleBgPosition() }],
44028
+ /**
44029
+ * Mask Repeat
44030
+ * @see https://tailwindcss.com/docs/mask-repeat
44031
+ */
44032
+ "mask-repeat": [{ mask: scaleBgRepeat() }],
44033
+ /**
44034
+ * Mask Size
44035
+ * @see https://tailwindcss.com/docs/mask-size
44036
+ */
44037
+ "mask-size": [{ mask: scaleBgSize() }],
44038
+ /**
44039
+ * Mask Type
44040
+ * @see https://tailwindcss.com/docs/mask-type
44041
+ */
44042
+ "mask-type": [{ "mask-type": ["alpha", "luminance"] }],
44043
+ /**
44044
+ * Mask Image
44045
+ * @see https://tailwindcss.com/docs/mask-image
44046
+ */
44047
+ "mask-image": [{ mask: [
44048
+ "none",
44049
+ isArbitraryVariable,
44050
+ isArbitraryValue
44051
+ ] }],
44052
+ /**
44053
+ * Filter
44054
+ * @see https://tailwindcss.com/docs/filter
44055
+ */
44056
+ filter: [{ filter: [
44057
+ "",
44058
+ "none",
44059
+ isArbitraryVariable,
44060
+ isArbitraryValue
44061
+ ] }],
44062
+ /**
44063
+ * Blur
44064
+ * @see https://tailwindcss.com/docs/blur
44065
+ */
44066
+ blur: [{ blur: scaleBlur() }],
44067
+ /**
44068
+ * Brightness
44069
+ * @see https://tailwindcss.com/docs/brightness
44070
+ */
44071
+ brightness: [{ brightness: [
44072
+ isNumber,
44073
+ isArbitraryVariable,
44074
+ isArbitraryValue
44075
+ ] }],
44076
+ /**
44077
+ * Contrast
44078
+ * @see https://tailwindcss.com/docs/contrast
44079
+ */
44080
+ contrast: [{ contrast: [
44081
+ isNumber,
44082
+ isArbitraryVariable,
44083
+ isArbitraryValue
44084
+ ] }],
44085
+ /**
44086
+ * Drop Shadow
44087
+ * @see https://tailwindcss.com/docs/drop-shadow
44088
+ */
44089
+ "drop-shadow": [{ "drop-shadow": [
44090
+ "",
44091
+ "none",
44092
+ themeDropShadow,
44093
+ isArbitraryVariableShadow,
44094
+ isArbitraryShadow
44095
+ ] }],
44096
+ /**
44097
+ * Drop Shadow Color
44098
+ * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
44099
+ */
44100
+ "drop-shadow-color": [{ "drop-shadow": scaleColor() }],
44101
+ /**
44102
+ * Grayscale
44103
+ * @see https://tailwindcss.com/docs/grayscale
44104
+ */
44105
+ grayscale: [{ grayscale: [
44106
+ "",
44107
+ isNumber,
44108
+ isArbitraryVariable,
44109
+ isArbitraryValue
44110
+ ] }],
44111
+ /**
44112
+ * Hue Rotate
44113
+ * @see https://tailwindcss.com/docs/hue-rotate
44114
+ */
44115
+ "hue-rotate": [{ "hue-rotate": [
44116
+ isNumber,
44117
+ isArbitraryVariable,
44118
+ isArbitraryValue
44119
+ ] }],
44120
+ /**
44121
+ * Invert
44122
+ * @see https://tailwindcss.com/docs/invert
44123
+ */
44124
+ invert: [{ invert: [
44125
+ "",
44126
+ isNumber,
44127
+ isArbitraryVariable,
44128
+ isArbitraryValue
44129
+ ] }],
44130
+ /**
44131
+ * Saturate
44132
+ * @see https://tailwindcss.com/docs/saturate
44133
+ */
44134
+ saturate: [{ saturate: [
44135
+ isNumber,
44136
+ isArbitraryVariable,
44137
+ isArbitraryValue
44138
+ ] }],
44139
+ /**
44140
+ * Sepia
44141
+ * @see https://tailwindcss.com/docs/sepia
44142
+ */
44143
+ sepia: [{ sepia: [
44144
+ "",
44145
+ isNumber,
44146
+ isArbitraryVariable,
44147
+ isArbitraryValue
44148
+ ] }],
44149
+ /**
44150
+ * Backdrop Filter
44151
+ * @see https://tailwindcss.com/docs/backdrop-filter
44152
+ */
44153
+ "backdrop-filter": [{ "backdrop-filter": [
44154
+ "",
44155
+ "none",
44156
+ isArbitraryVariable,
44157
+ isArbitraryValue
44158
+ ] }],
44159
+ /**
44160
+ * Backdrop Blur
44161
+ * @see https://tailwindcss.com/docs/backdrop-blur
44162
+ */
44163
+ "backdrop-blur": [{ "backdrop-blur": scaleBlur() }],
44164
+ /**
44165
+ * Backdrop Brightness
44166
+ * @see https://tailwindcss.com/docs/backdrop-brightness
44167
+ */
44168
+ "backdrop-brightness": [{ "backdrop-brightness": [
44169
+ isNumber,
44170
+ isArbitraryVariable,
44171
+ isArbitraryValue
44172
+ ] }],
44173
+ /**
44174
+ * Backdrop Contrast
44175
+ * @see https://tailwindcss.com/docs/backdrop-contrast
44176
+ */
44177
+ "backdrop-contrast": [{ "backdrop-contrast": [
44178
+ isNumber,
44179
+ isArbitraryVariable,
44180
+ isArbitraryValue
44181
+ ] }],
44182
+ /**
44183
+ * Backdrop Grayscale
44184
+ * @see https://tailwindcss.com/docs/backdrop-grayscale
44185
+ */
44186
+ "backdrop-grayscale": [{ "backdrop-grayscale": [
44187
+ "",
44188
+ isNumber,
44189
+ isArbitraryVariable,
44190
+ isArbitraryValue
44191
+ ] }],
44192
+ /**
44193
+ * Backdrop Hue Rotate
44194
+ * @see https://tailwindcss.com/docs/backdrop-hue-rotate
44195
+ */
44196
+ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [
44197
+ isNumber,
44198
+ isArbitraryVariable,
44199
+ isArbitraryValue
44200
+ ] }],
44201
+ /**
44202
+ * Backdrop Invert
44203
+ * @see https://tailwindcss.com/docs/backdrop-invert
44204
+ */
44205
+ "backdrop-invert": [{ "backdrop-invert": [
44206
+ "",
44207
+ isNumber,
44208
+ isArbitraryVariable,
44209
+ isArbitraryValue
44210
+ ] }],
44211
+ /**
44212
+ * Backdrop Opacity
44213
+ * @see https://tailwindcss.com/docs/backdrop-opacity
44214
+ */
44215
+ "backdrop-opacity": [{ "backdrop-opacity": [
44216
+ isNumber,
44217
+ isArbitraryVariable,
44218
+ isArbitraryValue
44219
+ ] }],
44220
+ /**
44221
+ * Backdrop Saturate
44222
+ * @see https://tailwindcss.com/docs/backdrop-saturate
44223
+ */
44224
+ "backdrop-saturate": [{ "backdrop-saturate": [
44225
+ isNumber,
44226
+ isArbitraryVariable,
44227
+ isArbitraryValue
44228
+ ] }],
44229
+ /**
44230
+ * Backdrop Sepia
44231
+ * @see https://tailwindcss.com/docs/backdrop-sepia
44232
+ */
44233
+ "backdrop-sepia": [{ "backdrop-sepia": [
44234
+ "",
44235
+ isNumber,
44236
+ isArbitraryVariable,
44237
+ isArbitraryValue
44238
+ ] }],
44239
+ /**
44240
+ * Border Collapse
44241
+ * @see https://tailwindcss.com/docs/border-collapse
44242
+ */
44243
+ "border-collapse": [{ border: ["collapse", "separate"] }],
44244
+ /**
44245
+ * Border Spacing
44246
+ * @see https://tailwindcss.com/docs/border-spacing
44247
+ */
44248
+ "border-spacing": [{ "border-spacing": scaleUnambiguousSpacing() }],
44249
+ /**
44250
+ * Border Spacing X
44251
+ * @see https://tailwindcss.com/docs/border-spacing
44252
+ */
44253
+ "border-spacing-x": [{ "border-spacing-x": scaleUnambiguousSpacing() }],
44254
+ /**
44255
+ * Border Spacing Y
44256
+ * @see https://tailwindcss.com/docs/border-spacing
44257
+ */
44258
+ "border-spacing-y": [{ "border-spacing-y": scaleUnambiguousSpacing() }],
44259
+ /**
44260
+ * Table Layout
44261
+ * @see https://tailwindcss.com/docs/table-layout
44262
+ */
44263
+ "table-layout": [{ table: ["auto", "fixed"] }],
44264
+ /**
44265
+ * Caption Side
44266
+ * @see https://tailwindcss.com/docs/caption-side
44267
+ */
44268
+ caption: [{ caption: ["top", "bottom"] }],
44269
+ /**
44270
+ * Transition Property
44271
+ * @see https://tailwindcss.com/docs/transition-property
44272
+ */
44273
+ transition: [{ transition: [
44274
+ "",
44275
+ "all",
44276
+ "colors",
44277
+ "opacity",
44278
+ "shadow",
44279
+ "transform",
44280
+ "none",
44281
+ isArbitraryVariable,
44282
+ isArbitraryValue
44283
+ ] }],
44284
+ /**
44285
+ * Transition Behavior
44286
+ * @see https://tailwindcss.com/docs/transition-behavior
44287
+ */
44288
+ "transition-behavior": [{ transition: ["normal", "discrete"] }],
44289
+ /**
44290
+ * Transition Duration
44291
+ * @see https://tailwindcss.com/docs/transition-duration
44292
+ */
44293
+ duration: [{ duration: [
44294
+ isNumber,
44295
+ "initial",
44296
+ isArbitraryVariable,
44297
+ isArbitraryValue
44298
+ ] }],
44299
+ /**
44300
+ * Transition Timing Function
44301
+ * @see https://tailwindcss.com/docs/transition-timing-function
44302
+ */
44303
+ ease: [{ ease: [
44304
+ "linear",
44305
+ "initial",
44306
+ themeEase,
44307
+ isArbitraryVariable,
44308
+ isArbitraryValue
44309
+ ] }],
44310
+ /**
44311
+ * Transition Delay
44312
+ * @see https://tailwindcss.com/docs/transition-delay
44313
+ */
44314
+ delay: [{ delay: [
44315
+ isNumber,
44316
+ isArbitraryVariable,
44317
+ isArbitraryValue
44318
+ ] }],
44319
+ /**
44320
+ * Animation
44321
+ * @see https://tailwindcss.com/docs/animation
44322
+ */
44323
+ animate: [{ animate: [
44324
+ "none",
44325
+ themeAnimate,
44326
+ isArbitraryVariable,
44327
+ isArbitraryValue
44328
+ ] }],
44329
+ /**
44330
+ * Backface Visibility
44331
+ * @see https://tailwindcss.com/docs/backface-visibility
44332
+ */
44333
+ backface: [{ backface: ["hidden", "visible"] }],
44334
+ /**
44335
+ * Perspective
44336
+ * @see https://tailwindcss.com/docs/perspective
44337
+ */
44338
+ perspective: [{ perspective: [
44339
+ themePerspective,
44340
+ isArbitraryVariable,
44341
+ isArbitraryValue
44342
+ ] }],
44343
+ /**
44344
+ * Perspective Origin
44345
+ * @see https://tailwindcss.com/docs/perspective-origin
44346
+ */
44347
+ "perspective-origin": [{ "perspective-origin": scalePositionWithArbitrary() }],
44348
+ /**
44349
+ * Rotate
44350
+ * @see https://tailwindcss.com/docs/rotate
44351
+ */
44352
+ rotate: [{ rotate: scaleRotate() }],
44353
+ /**
44354
+ * Rotate X
44355
+ * @see https://tailwindcss.com/docs/rotate
44356
+ */
44357
+ "rotate-x": [{ "rotate-x": scaleRotate() }],
44358
+ /**
44359
+ * Rotate Y
44360
+ * @see https://tailwindcss.com/docs/rotate
44361
+ */
44362
+ "rotate-y": [{ "rotate-y": scaleRotate() }],
44363
+ /**
44364
+ * Rotate Z
44365
+ * @see https://tailwindcss.com/docs/rotate
44366
+ */
44367
+ "rotate-z": [{ "rotate-z": scaleRotate() }],
44368
+ /**
44369
+ * Scale
44370
+ * @see https://tailwindcss.com/docs/scale
44371
+ */
44372
+ scale: [{ scale: scaleScale() }],
44373
+ /**
44374
+ * Scale X
44375
+ * @see https://tailwindcss.com/docs/scale
44376
+ */
44377
+ "scale-x": [{ "scale-x": scaleScale() }],
44378
+ /**
44379
+ * Scale Y
44380
+ * @see https://tailwindcss.com/docs/scale
44381
+ */
44382
+ "scale-y": [{ "scale-y": scaleScale() }],
44383
+ /**
44384
+ * Scale Z
44385
+ * @see https://tailwindcss.com/docs/scale
44386
+ */
44387
+ "scale-z": [{ "scale-z": scaleScale() }],
44388
+ /**
44389
+ * Scale 3D
44390
+ * @see https://tailwindcss.com/docs/scale
44391
+ */
44392
+ "scale-3d": ["scale-3d"],
44393
+ /**
44394
+ * Skew
44395
+ * @see https://tailwindcss.com/docs/skew
44396
+ */
44397
+ skew: [{ skew: scaleSkew() }],
44398
+ /**
44399
+ * Skew X
44400
+ * @see https://tailwindcss.com/docs/skew
44401
+ */
44402
+ "skew-x": [{ "skew-x": scaleSkew() }],
44403
+ /**
44404
+ * Skew Y
44405
+ * @see https://tailwindcss.com/docs/skew
44406
+ */
44407
+ "skew-y": [{ "skew-y": scaleSkew() }],
44408
+ /**
44409
+ * Transform
44410
+ * @see https://tailwindcss.com/docs/transform
44411
+ */
44412
+ transform: [{ transform: [
44413
+ isArbitraryVariable,
44414
+ isArbitraryValue,
44415
+ "",
44416
+ "none",
44417
+ "gpu",
44418
+ "cpu"
44419
+ ] }],
44420
+ /**
44421
+ * Transform Origin
44422
+ * @see https://tailwindcss.com/docs/transform-origin
44423
+ */
44424
+ "transform-origin": [{ origin: scalePositionWithArbitrary() }],
44425
+ /**
44426
+ * Transform Style
44427
+ * @see https://tailwindcss.com/docs/transform-style
44428
+ */
44429
+ "transform-style": [{ transform: ["3d", "flat"] }],
44430
+ /**
44431
+ * Translate
44432
+ * @see https://tailwindcss.com/docs/translate
44433
+ */
44434
+ translate: [{ translate: scaleTranslate() }],
44435
+ /**
44436
+ * Translate X
44437
+ * @see https://tailwindcss.com/docs/translate
44438
+ */
44439
+ "translate-x": [{ "translate-x": scaleTranslate() }],
44440
+ /**
44441
+ * Translate Y
44442
+ * @see https://tailwindcss.com/docs/translate
44443
+ */
44444
+ "translate-y": [{ "translate-y": scaleTranslate() }],
44445
+ /**
44446
+ * Translate Z
44447
+ * @see https://tailwindcss.com/docs/translate
44448
+ */
44449
+ "translate-z": [{ "translate-z": scaleTranslate() }],
44450
+ /**
44451
+ * Translate None
44452
+ * @see https://tailwindcss.com/docs/translate
44453
+ */
44454
+ "translate-none": ["translate-none"],
44455
+ /**
44456
+ * Zoom
44457
+ * @see https://tailwindcss.com/docs/zoom
44458
+ */
44459
+ zoom: [{ zoom: [
44460
+ isInteger,
44461
+ isArbitraryVariable,
44462
+ isArbitraryValue
44463
+ ] }],
44464
+ /**
44465
+ * Accent Color
44466
+ * @see https://tailwindcss.com/docs/accent-color
44467
+ */
44468
+ accent: [{ accent: scaleColor() }],
44469
+ /**
44470
+ * Appearance
44471
+ * @see https://tailwindcss.com/docs/appearance
44472
+ */
44473
+ appearance: [{ appearance: ["none", "auto"] }],
44474
+ /**
44475
+ * Caret Color
44476
+ * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
44477
+ */
44478
+ "caret-color": [{ caret: scaleColor() }],
44479
+ /**
44480
+ * Color Scheme
44481
+ * @see https://tailwindcss.com/docs/color-scheme
44482
+ */
44483
+ "color-scheme": [{ scheme: [
44484
+ "normal",
44485
+ "dark",
44486
+ "light",
44487
+ "light-dark",
44488
+ "only-dark",
44489
+ "only-light"
44490
+ ] }],
44491
+ /**
44492
+ * Cursor
44493
+ * @see https://tailwindcss.com/docs/cursor
44494
+ */
44495
+ cursor: [{ cursor: [
44496
+ "auto",
44497
+ "default",
44498
+ "pointer",
44499
+ "wait",
44500
+ "text",
44501
+ "move",
44502
+ "help",
44503
+ "not-allowed",
44504
+ "none",
44505
+ "context-menu",
44506
+ "progress",
44507
+ "cell",
44508
+ "crosshair",
44509
+ "vertical-text",
44510
+ "alias",
44511
+ "copy",
44512
+ "no-drop",
44513
+ "grab",
44514
+ "grabbing",
44515
+ "all-scroll",
44516
+ "col-resize",
44517
+ "row-resize",
44518
+ "n-resize",
44519
+ "e-resize",
44520
+ "s-resize",
44521
+ "w-resize",
44522
+ "ne-resize",
44523
+ "nw-resize",
44524
+ "se-resize",
44525
+ "sw-resize",
44526
+ "ew-resize",
44527
+ "ns-resize",
44528
+ "nesw-resize",
44529
+ "nwse-resize",
44530
+ "zoom-in",
44531
+ "zoom-out",
44532
+ isArbitraryVariable,
44533
+ isArbitraryValue
44534
+ ] }],
44535
+ /**
44536
+ * Field Sizing
44537
+ * @see https://tailwindcss.com/docs/field-sizing
44538
+ */
44539
+ "field-sizing": [{ "field-sizing": ["fixed", "content"] }],
44540
+ /**
44541
+ * Pointer Events
44542
+ * @see https://tailwindcss.com/docs/pointer-events
44543
+ */
44544
+ "pointer-events": [{ "pointer-events": ["auto", "none"] }],
44545
+ /**
44546
+ * Resize
44547
+ * @see https://tailwindcss.com/docs/resize
44548
+ */
44549
+ resize: [{ resize: [
44550
+ "none",
44551
+ "",
44552
+ "y",
44553
+ "x"
44554
+ ] }],
44555
+ /**
44556
+ * Scroll Behavior
44557
+ * @see https://tailwindcss.com/docs/scroll-behavior
44558
+ */
44559
+ "scroll-behavior": [{ scroll: ["auto", "smooth"] }],
44560
+ /**
44561
+ * Scrollbar Thumb Color
44562
+ * @see https://tailwindcss.com/docs/scrollbar-color
44563
+ */
44564
+ "scrollbar-thumb-color": [{ "scrollbar-thumb": scaleColor() }],
44565
+ /**
44566
+ * Scrollbar Track Color
44567
+ * @see https://tailwindcss.com/docs/scrollbar-color
44568
+ */
44569
+ "scrollbar-track-color": [{ "scrollbar-track": scaleColor() }],
44570
+ /**
44571
+ * Scrollbar Gutter
44572
+ * @see https://tailwindcss.com/docs/scrollbar-gutter
44573
+ */
44574
+ "scrollbar-gutter": [{ "scrollbar-gutter": [
44575
+ "auto",
44576
+ "stable",
44577
+ "both"
44578
+ ] }],
44579
+ /**
44580
+ * Scrollbar Width
44581
+ * @see https://tailwindcss.com/docs/scrollbar-width
44582
+ */
44583
+ "scrollbar-w": [{ scrollbar: [
44584
+ "auto",
44585
+ "thin",
44586
+ "none"
44587
+ ] }],
44588
+ /**
44589
+ * Scroll Margin
44590
+ * @see https://tailwindcss.com/docs/scroll-margin
44591
+ */
44592
+ "scroll-m": [{ "scroll-m": scaleUnambiguousSpacing() }],
44593
+ /**
44594
+ * Scroll Margin Inline
44595
+ * @see https://tailwindcss.com/docs/scroll-margin
44596
+ */
44597
+ "scroll-mx": [{ "scroll-mx": scaleUnambiguousSpacing() }],
44598
+ /**
44599
+ * Scroll Margin Block
44600
+ * @see https://tailwindcss.com/docs/scroll-margin
44601
+ */
44602
+ "scroll-my": [{ "scroll-my": scaleUnambiguousSpacing() }],
44603
+ /**
44604
+ * Scroll Margin Inline Start
44605
+ * @see https://tailwindcss.com/docs/scroll-margin
44606
+ */
44607
+ "scroll-ms": [{ "scroll-ms": scaleUnambiguousSpacing() }],
44608
+ /**
44609
+ * Scroll Margin Inline End
44610
+ * @see https://tailwindcss.com/docs/scroll-margin
44611
+ */
44612
+ "scroll-me": [{ "scroll-me": scaleUnambiguousSpacing() }],
44613
+ /**
44614
+ * Scroll Margin Block Start
44615
+ * @see https://tailwindcss.com/docs/scroll-margin
44616
+ */
44617
+ "scroll-mbs": [{ "scroll-mbs": scaleUnambiguousSpacing() }],
44618
+ /**
44619
+ * Scroll Margin Block End
44620
+ * @see https://tailwindcss.com/docs/scroll-margin
44621
+ */
44622
+ "scroll-mbe": [{ "scroll-mbe": scaleUnambiguousSpacing() }],
44623
+ /**
44624
+ * Scroll Margin Top
44625
+ * @see https://tailwindcss.com/docs/scroll-margin
44626
+ */
44627
+ "scroll-mt": [{ "scroll-mt": scaleUnambiguousSpacing() }],
44628
+ /**
44629
+ * Scroll Margin Right
44630
+ * @see https://tailwindcss.com/docs/scroll-margin
44631
+ */
44632
+ "scroll-mr": [{ "scroll-mr": scaleUnambiguousSpacing() }],
44633
+ /**
44634
+ * Scroll Margin Bottom
44635
+ * @see https://tailwindcss.com/docs/scroll-margin
44636
+ */
44637
+ "scroll-mb": [{ "scroll-mb": scaleUnambiguousSpacing() }],
44638
+ /**
44639
+ * Scroll Margin Left
44640
+ * @see https://tailwindcss.com/docs/scroll-margin
44641
+ */
44642
+ "scroll-ml": [{ "scroll-ml": scaleUnambiguousSpacing() }],
44643
+ /**
44644
+ * Scroll Padding
44645
+ * @see https://tailwindcss.com/docs/scroll-padding
44646
+ */
44647
+ "scroll-p": [{ "scroll-p": scaleUnambiguousSpacing() }],
44648
+ /**
44649
+ * Scroll Padding Inline
44650
+ * @see https://tailwindcss.com/docs/scroll-padding
44651
+ */
44652
+ "scroll-px": [{ "scroll-px": scaleUnambiguousSpacing() }],
44653
+ /**
44654
+ * Scroll Padding Block
44655
+ * @see https://tailwindcss.com/docs/scroll-padding
44656
+ */
44657
+ "scroll-py": [{ "scroll-py": scaleUnambiguousSpacing() }],
44658
+ /**
44659
+ * Scroll Padding Inline Start
44660
+ * @see https://tailwindcss.com/docs/scroll-padding
44661
+ */
44662
+ "scroll-ps": [{ "scroll-ps": scaleUnambiguousSpacing() }],
44663
+ /**
44664
+ * Scroll Padding Inline End
44665
+ * @see https://tailwindcss.com/docs/scroll-padding
44666
+ */
44667
+ "scroll-pe": [{ "scroll-pe": scaleUnambiguousSpacing() }],
44668
+ /**
44669
+ * Scroll Padding Block Start
44670
+ * @see https://tailwindcss.com/docs/scroll-padding
44671
+ */
44672
+ "scroll-pbs": [{ "scroll-pbs": scaleUnambiguousSpacing() }],
44673
+ /**
44674
+ * Scroll Padding Block End
44675
+ * @see https://tailwindcss.com/docs/scroll-padding
44676
+ */
44677
+ "scroll-pbe": [{ "scroll-pbe": scaleUnambiguousSpacing() }],
44678
+ /**
44679
+ * Scroll Padding Top
44680
+ * @see https://tailwindcss.com/docs/scroll-padding
44681
+ */
44682
+ "scroll-pt": [{ "scroll-pt": scaleUnambiguousSpacing() }],
44683
+ /**
44684
+ * Scroll Padding Right
44685
+ * @see https://tailwindcss.com/docs/scroll-padding
44686
+ */
44687
+ "scroll-pr": [{ "scroll-pr": scaleUnambiguousSpacing() }],
44688
+ /**
44689
+ * Scroll Padding Bottom
44690
+ * @see https://tailwindcss.com/docs/scroll-padding
44691
+ */
44692
+ "scroll-pb": [{ "scroll-pb": scaleUnambiguousSpacing() }],
44693
+ /**
44694
+ * Scroll Padding Left
44695
+ * @see https://tailwindcss.com/docs/scroll-padding
44696
+ */
44697
+ "scroll-pl": [{ "scroll-pl": scaleUnambiguousSpacing() }],
44698
+ /**
44699
+ * Scroll Snap Align
44700
+ * @see https://tailwindcss.com/docs/scroll-snap-align
44701
+ */
44702
+ "snap-align": [{ snap: [
44703
+ "start",
44704
+ "end",
44705
+ "center",
44706
+ "align-none"
44707
+ ] }],
44708
+ /**
44709
+ * Scroll Snap Stop
44710
+ * @see https://tailwindcss.com/docs/scroll-snap-stop
44711
+ */
44712
+ "snap-stop": [{ snap: ["normal", "always"] }],
44713
+ /**
44714
+ * Scroll Snap Type
44715
+ * @see https://tailwindcss.com/docs/scroll-snap-type
44716
+ */
44717
+ "snap-type": [{ snap: [
44718
+ "none",
44719
+ "x",
44720
+ "y",
44721
+ "both"
44722
+ ] }],
44723
+ /**
44724
+ * Scroll Snap Type Strictness
44725
+ * @see https://tailwindcss.com/docs/scroll-snap-type
44726
+ */
44727
+ "snap-strictness": [{ snap: ["mandatory", "proximity"] }],
44728
+ /**
44729
+ * Touch Action
44730
+ * @see https://tailwindcss.com/docs/touch-action
44731
+ */
44732
+ touch: [{ touch: [
44733
+ "auto",
44734
+ "none",
44735
+ "manipulation"
44736
+ ] }],
44737
+ /**
44738
+ * Touch Action X
44739
+ * @see https://tailwindcss.com/docs/touch-action
44740
+ */
44741
+ "touch-x": [{ "touch-pan": [
44742
+ "x",
44743
+ "left",
44744
+ "right"
44745
+ ] }],
44746
+ /**
44747
+ * Touch Action Y
44748
+ * @see https://tailwindcss.com/docs/touch-action
44749
+ */
44750
+ "touch-y": [{ "touch-pan": [
44751
+ "y",
44752
+ "up",
44753
+ "down"
44754
+ ] }],
44755
+ /**
44756
+ * Touch Action Pinch Zoom
44757
+ * @see https://tailwindcss.com/docs/touch-action
44758
+ */
44759
+ "touch-pz": ["touch-pinch-zoom"],
44760
+ /**
44761
+ * User Select
44762
+ * @see https://tailwindcss.com/docs/user-select
44763
+ */
44764
+ select: [{ select: [
44765
+ "none",
44766
+ "text",
44767
+ "all",
44768
+ "auto"
44769
+ ] }],
44770
+ /**
44771
+ * Will Change
44772
+ * @see https://tailwindcss.com/docs/will-change
44773
+ */
44774
+ "will-change": [{ "will-change": [
44775
+ "auto",
44776
+ "scroll",
44777
+ "contents",
44778
+ "transform",
44779
+ isArbitraryVariable,
44780
+ isArbitraryValue
44781
+ ] }],
44782
+ /**
44783
+ * Fill
44784
+ * @see https://tailwindcss.com/docs/fill
44785
+ */
44786
+ fill: [{ fill: ["none", ...scaleColor()] }],
44787
+ /**
44788
+ * Stroke Width
44789
+ * @see https://tailwindcss.com/docs/stroke-width
44790
+ */
44791
+ "stroke-w": [{ stroke: [
44792
+ isNumber,
44793
+ isArbitraryVariableLength,
44794
+ isArbitraryLength,
44795
+ isArbitraryNumber
44796
+ ] }],
44797
+ /**
44798
+ * Stroke
44799
+ * @see https://tailwindcss.com/docs/stroke
44800
+ */
44801
+ stroke: [{ stroke: ["none", ...scaleColor()] }],
44802
+ /**
44803
+ * Forced Color Adjust
44804
+ * @see https://tailwindcss.com/docs/forced-color-adjust
44805
+ */
44806
+ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }]
44807
+ },
44808
+ conflictingClassGroups: {
44809
+ "container-named": ["container-type"],
44810
+ overflow: ["overflow-x", "overflow-y"],
44811
+ overscroll: ["overscroll-x", "overscroll-y"],
44812
+ inset: [
44813
+ "inset-x",
44814
+ "inset-y",
44815
+ "inset-bs",
44816
+ "inset-be",
44817
+ "start",
44818
+ "end",
44819
+ "top",
44820
+ "right",
44821
+ "bottom",
44822
+ "left"
44823
+ ],
44824
+ "inset-x": ["right", "left"],
44825
+ "inset-y": ["top", "bottom"],
44826
+ flex: [
44827
+ "basis",
44828
+ "grow",
44829
+ "shrink"
44830
+ ],
44831
+ gap: ["gap-x", "gap-y"],
44832
+ p: [
44833
+ "px",
44834
+ "py",
44835
+ "ps",
44836
+ "pe",
44837
+ "pbs",
44838
+ "pbe",
44839
+ "pt",
44840
+ "pr",
44841
+ "pb",
44842
+ "pl"
44843
+ ],
44844
+ px: ["pr", "pl"],
44845
+ py: ["pt", "pb"],
44846
+ m: [
44847
+ "mx",
44848
+ "my",
44849
+ "ms",
44850
+ "me",
44851
+ "mbs",
44852
+ "mbe",
44853
+ "mt",
44854
+ "mr",
44855
+ "mb",
44856
+ "ml"
44857
+ ],
44858
+ mx: ["mr", "ml"],
44859
+ my: ["mt", "mb"],
44860
+ size: ["w", "h"],
44861
+ "font-size": ["leading"],
44862
+ "fvn-normal": [
44863
+ "fvn-ordinal",
44864
+ "fvn-slashed-zero",
44865
+ "fvn-figure",
44866
+ "fvn-spacing",
44867
+ "fvn-fraction"
44868
+ ],
44869
+ "fvn-ordinal": ["fvn-normal"],
44870
+ "fvn-slashed-zero": ["fvn-normal"],
44871
+ "fvn-figure": ["fvn-normal"],
44872
+ "fvn-spacing": ["fvn-normal"],
44873
+ "fvn-fraction": ["fvn-normal"],
44874
+ "line-clamp": ["display", "overflow"],
44875
+ rounded: [
44876
+ "rounded-s",
44877
+ "rounded-e",
44878
+ "rounded-t",
44879
+ "rounded-r",
44880
+ "rounded-b",
44881
+ "rounded-l",
44882
+ "rounded-ss",
44883
+ "rounded-se",
44884
+ "rounded-ee",
44885
+ "rounded-es",
44886
+ "rounded-tl",
44887
+ "rounded-tr",
44888
+ "rounded-br",
44889
+ "rounded-bl"
44890
+ ],
44891
+ "rounded-s": ["rounded-ss", "rounded-es"],
44892
+ "rounded-e": ["rounded-se", "rounded-ee"],
44893
+ "rounded-t": ["rounded-tl", "rounded-tr"],
44894
+ "rounded-r": ["rounded-tr", "rounded-br"],
44895
+ "rounded-b": ["rounded-br", "rounded-bl"],
44896
+ "rounded-l": ["rounded-tl", "rounded-bl"],
44897
+ "border-spacing": ["border-spacing-x", "border-spacing-y"],
44898
+ "border-w": [
44899
+ "border-w-x",
44900
+ "border-w-y",
44901
+ "border-w-s",
44902
+ "border-w-e",
44903
+ "border-w-bs",
44904
+ "border-w-be",
44905
+ "border-w-t",
44906
+ "border-w-r",
44907
+ "border-w-b",
44908
+ "border-w-l"
44909
+ ],
44910
+ "border-w-x": ["border-w-r", "border-w-l"],
44911
+ "border-w-y": ["border-w-t", "border-w-b"],
44912
+ "border-color": [
44913
+ "border-color-x",
44914
+ "border-color-y",
44915
+ "border-color-s",
44916
+ "border-color-e",
44917
+ "border-color-bs",
44918
+ "border-color-be",
44919
+ "border-color-t",
44920
+ "border-color-r",
44921
+ "border-color-b",
44922
+ "border-color-l"
44923
+ ],
44924
+ "border-color-x": ["border-color-r", "border-color-l"],
44925
+ "border-color-y": ["border-color-t", "border-color-b"],
44926
+ translate: [
44927
+ "translate-x",
44928
+ "translate-y",
44929
+ "translate-none"
44930
+ ],
44931
+ "translate-none": [
44932
+ "translate",
44933
+ "translate-x",
44934
+ "translate-y",
44935
+ "translate-z"
44936
+ ],
44937
+ "scroll-m": [
44938
+ "scroll-mx",
44939
+ "scroll-my",
44940
+ "scroll-ms",
44941
+ "scroll-me",
44942
+ "scroll-mbs",
44943
+ "scroll-mbe",
44944
+ "scroll-mt",
44945
+ "scroll-mr",
44946
+ "scroll-mb",
44947
+ "scroll-ml"
44948
+ ],
44949
+ "scroll-mx": ["scroll-mr", "scroll-ml"],
44950
+ "scroll-my": ["scroll-mt", "scroll-mb"],
44951
+ "scroll-p": [
44952
+ "scroll-px",
44953
+ "scroll-py",
44954
+ "scroll-ps",
44955
+ "scroll-pe",
44956
+ "scroll-pbs",
44957
+ "scroll-pbe",
44958
+ "scroll-pt",
44959
+ "scroll-pr",
44960
+ "scroll-pb",
44961
+ "scroll-pl"
44962
+ ],
44963
+ "scroll-px": ["scroll-pr", "scroll-pl"],
44964
+ "scroll-py": ["scroll-pt", "scroll-pb"],
44965
+ touch: [
44966
+ "touch-x",
44967
+ "touch-y",
44968
+ "touch-pz"
44969
+ ],
44970
+ "touch-x": ["touch"],
44971
+ "touch-y": ["touch"],
44972
+ "touch-pz": ["touch"]
44973
+ },
44974
+ conflictingClassGroupModifiers: { "font-size": ["leading"] },
44975
+ postfixLookupClassGroups: ["container-type"],
44976
+ orderSensitiveModifiers: [
44977
+ "*",
44978
+ "**",
44979
+ "after",
44980
+ "backdrop",
44981
+ "before",
44982
+ "details-content",
44983
+ "file",
44984
+ "first-letter",
44985
+ "first-line",
44986
+ "marker",
44987
+ "placeholder",
44988
+ "selection"
44989
+ ]
44990
+ };
44991
+ };
44992
+ const twMerge = /*#__PURE__*/ createTailwindMerge(getDefaultConfig);
44993
+
44994
+ //#endregion
44995
+ //#region ../ui-kit/src/lib/cn.ts
44996
+ /** shadcn 约定的类名合并:后写的 Tailwind 类覆盖先写的同族类。 */
44997
+ function cn(...inputs) {
44998
+ return twMerge(clsx(inputs));
44999
+ }
45000
+
41595
45001
  //#endregion
41596
45002
  //#region ../ui-kit/src/components/Badge.tsx
41597
45003
  const toneClasses = {
@@ -61561,6 +64967,272 @@ function defaultUrlTransform(value) {
61561
64967
  return "";
61562
64968
  }
61563
64969
 
64970
+ //#endregion
64971
+ //#region ../ui-kit/src/markdown/image.tsx
64972
+ /** `<img>` 里的 data URL 不会执行脚本,SVG 同理——放行的前提就是这个上下文 */
64973
+ const DATA_IMAGE = /^data:image\/[a-z0-9.+-]+[;,]/i;
64974
+ /**
64975
+ * 仓内图片引用。模型输出不了 base64,所以正文里贴附件图只能靠短引用,
64976
+ * 由宿主注入的解析器换成可显示的 URL。与投放通道的 `data-webskill-image` 同一套引用形态。
64977
+ */
64978
+ const IMAGE_REF = /^(upload|artifact):/i;
64979
+ /**
64980
+ * react-markdown 的默认 `urlTransform` 只放行 `https?|ircs?|mailto|xmpp`,
64981
+ * 于是 `![](data:image/png;base64,…)` 与 `![](upload:xxx)` 的 src 都被剥成空串。
64982
+ *
64983
+ * 这里**只对 `<img src>` 补放行**:`<a href="data:image/svg+xml,…">` 点开是导航,
64984
+ * 那个上下文里 SVG 的脚本会执行,所以 href 仍走默认策略。
64985
+ */
64986
+ const markdownUrlTransform = (url, key, node) => {
64987
+ if (key === "src" && node.tagName === "img" && (DATA_IMAGE.test(url) || IMAGE_REF.test(url))) return url;
64988
+ return defaultUrlTransform(url);
64989
+ };
64990
+ const ResolverContext = createContext(void 0);
64991
+ /**
64992
+ * 正文里的图片。外链、data URL、同源相对路径直接显示;`upload:` / `artifact:` 引用
64993
+ * 走宿主注入的解析器。
64994
+ *
64995
+ * `referrerPolicy="no-referrer"`:外链图会向第三方发请求,不必把当前会话的 URL 一起送出去。
64996
+ * 失败时退回 `alt` 文本而不是留破图——alt 由内容方给,天然随内容语言,不需要另配文案。
64997
+ */
64998
+ function MarkdownImage({ node: _node, className, src, alt, ...rest }) {
64999
+ const resolve = useContext(ResolverContext);
65000
+ const [failed, setFailed] = useState(false);
65001
+ const [resolved, setResolved] = useState();
65002
+ const isRef = typeof src === "string" && IMAGE_REF.test(src);
65003
+ useEffect(() => {
65004
+ if (!isRef || typeof src !== "string") return;
65005
+ if (resolve === void 0) {
65006
+ setFailed(true);
65007
+ return;
65008
+ }
65009
+ let cancelled = false;
65010
+ let created;
65011
+ setFailed(false);
65012
+ setResolved(void 0);
65013
+ resolve(src).then((url) => {
65014
+ if (url === void 0) {
65015
+ if (!cancelled) setFailed(true);
65016
+ return;
65017
+ }
65018
+ created = url;
65019
+ if (cancelled) {
65020
+ if (url.startsWith("blob:")) URL.revokeObjectURL(url);
65021
+ return;
65022
+ }
65023
+ setResolved(url);
65024
+ }).catch(() => {
65025
+ if (!cancelled) setFailed(true);
65026
+ });
65027
+ return () => {
65028
+ cancelled = true;
65029
+ if (created?.startsWith("blob:")) URL.revokeObjectURL(created);
65030
+ };
65031
+ }, [
65032
+ isRef,
65033
+ resolve,
65034
+ src
65035
+ ]);
65036
+ const effective = isRef ? resolved : src;
65037
+ const text = typeof alt === "string" ? alt : "";
65038
+ if (failed || effective === void 0 || effective === "") {
65039
+ if (isRef && !failed) return null;
65040
+ return /* @__PURE__ */ jsxs("span", {
65041
+ className: "my-2 inline-flex items-center gap-1.5 rounded-md bg-subtle px-2 py-1 text-xs text-muted",
65042
+ children: [/* @__PURE__ */ jsx(import_lucide_react.ImageOff, {
65043
+ className: "size-3.5 shrink-0",
65044
+ "aria-hidden": true
65045
+ }), text === "" ? null : /* @__PURE__ */ jsx("span", { children: text })]
65046
+ });
65047
+ }
65048
+ return /* @__PURE__ */ jsx("img", {
65049
+ src: effective,
65050
+ alt: text,
65051
+ loading: "lazy",
65052
+ decoding: "async",
65053
+ referrerPolicy: "no-referrer",
65054
+ onError: () => setFailed(true),
65055
+ className: cn("my-2 max-h-96 max-w-full rounded-card border border-border object-contain", className),
65056
+ ...rest
65057
+ });
65058
+ }
65059
+
65060
+ //#endregion
65061
+ //#region ../ui-kit/src/theme/useDarkAncestor.ts
65062
+ /**
65063
+ * 声明了主题的祖先:`data-theme` 由 ThemeScope 挂(亮暗都挂),`.dark` 是宿主页面惯用的暗色类名。
65064
+ * 两者一起选,`closest` 才会停在**最近**的那一层,而不是越过亮色实例去命中外层的暗色宿主。
65065
+ */
65066
+ const THEME_ANCESTOR = "[data-theme], .dark";
65067
+ function readDark(node) {
65068
+ const scope = node.closest(THEME_ANCESTOR);
65069
+ if (!scope) return false;
65070
+ const declared = scope.getAttribute("data-theme");
65071
+ return declared === null ? true : declared === "dark";
65072
+ }
65073
+ /**
65074
+ * 判定挂载点**最近的**主题祖先是否处于暗色(0.6.0 FR-20.4)。
65075
+ *
65076
+ * 不用 `document.querySelector('.dark')`:那是全局查询,宿主页面是暗色时,
65077
+ * 嵌在暗色宿主里的亮色 SDK 实例也会被判成暗色(反之亦然)。
65078
+ *
65079
+ * 返回 ref 回调而不是接受 ref 对象:ref 对象的赋值不触发渲染,拿不到「已挂载」这个时机。
65080
+ *
65081
+ * 首次判定在 ref 回调里**同步**完成,不等 effect:消费方(如按主题分叉的 markdown
65082
+ * 高亮器)可能在首帧就固化选择,晚一帧就会永久停在亮色(设计 15-01 §1.2 假设 H-c)。
65083
+ */
65084
+ function useDarkAncestor() {
65085
+ const scoped = useThemeValue();
65086
+ const [node, setNode] = useState(null);
65087
+ const [probed, setProbed] = useState(false);
65088
+ const attach = useCallback((next) => {
65089
+ setNode(next);
65090
+ if (next) setProbed(readDark(next));
65091
+ }, []);
65092
+ useEffect(() => {
65093
+ if (!node || scoped !== void 0) return;
65094
+ const update = () => setProbed(readDark(node));
65095
+ update();
65096
+ const observer = new MutationObserver(update);
65097
+ observer.observe(document.documentElement, {
65098
+ attributes: true,
65099
+ attributeFilter: ["class", "data-theme"],
65100
+ subtree: true
65101
+ });
65102
+ return () => observer.disconnect();
65103
+ }, [node, scoped]);
65104
+ return [scoped !== void 0 ? scoped === "dark" : probed, attach];
65105
+ }
65106
+
65107
+ //#endregion
65108
+ //#region ../ui-kit/src/markdown/mermaid.tsx
65109
+ /** 代码围栏的语言标签;两个渲染入口共用这一份判定 */
65110
+ const MERMAID_LANGUAGE = "mermaid";
65111
+ /**
65112
+ * 一条消息里常有多张图,共用同一个模块 promise,避免每个挂载点各发一次动态 import。
65113
+ * mermaid 是可选 peer:没装时这个 promise 一直是 rejected,各挂载点一律退回代码块。
65114
+ */
65115
+ let mermaidModule;
65116
+ const loadMermaid = () => mermaidModule ??= import("./mermaid.core-DMtwGCHy.js");
65117
+ /** mermaid 主题变量 → 本仓语义 token。配色一律从这里取,不写死色值 */
65118
+ const MERMAID_COLOR_TOKENS = {
65119
+ background: "--color-canvas",
65120
+ primaryColor: "--color-subtle",
65121
+ primaryTextColor: "--color-ink",
65122
+ primaryBorderColor: "--color-border",
65123
+ secondaryColor: "--color-surface",
65124
+ tertiaryColor: "--color-card",
65125
+ lineColor: "--color-muted",
65126
+ textColor: "--color-ink"
65127
+ };
65128
+ /**
65129
+ * token 的值可能是 `oklch()` / `color-mix()`,而 mermaid 的调色靠 khroma,只认 rgb 一族。
65130
+ * 画进 1×1 画布再读像素,是唯一不依赖具体色彩空间的归一化方式。
65131
+ */
65132
+ function readThemeColors(node) {
65133
+ if (typeof document === "undefined") return void 0;
65134
+ const styles = getComputedStyle(node);
65135
+ const raw = Object.entries(MERMAID_COLOR_TOKENS).map(([variable, token]) => [variable, styles.getPropertyValue(token).trim()]).filter(([, value]) => value !== "");
65136
+ if (raw.length === 0) return void 0;
65137
+ const canvas = document.createElement("canvas");
65138
+ canvas.width = 1;
65139
+ canvas.height = 1;
65140
+ const ctx = canvas.getContext("2d");
65141
+ if (!ctx) return void 0;
65142
+ const out = {};
65143
+ for (const [variable, value] of raw) {
65144
+ ctx.clearRect(0, 0, 1, 1);
65145
+ ctx.fillStyle = value;
65146
+ ctx.fillRect(0, 0, 1, 1);
65147
+ const [r, g, b, a] = ctx.getImageData(0, 0, 1, 1).data;
65148
+ out[variable] = `rgba(${r ?? 0}, ${g ?? 0}, ${b ?? 0}, ${(a ?? 255) / 255})`;
65149
+ }
65150
+ return out;
65151
+ }
65152
+ /**
65153
+ * mermaid 的配置是**全局**的(不像 echarts 是实例级),所以每次渲染前都整份重设:
65154
+ * 这样亮暗两个 ThemeScope 同页时,各自渲染各自那一次的配置仍然是对的。
65155
+ */
65156
+ function buildConfig(dark, node) {
65157
+ const themeVariables = node ? readThemeColors(node) : void 0;
65158
+ return {
65159
+ startOnLoad: false,
65160
+ securityLevel: "strict",
65161
+ htmlLabels: false,
65162
+ suppressErrorRendering: true,
65163
+ theme: dark ? "dark" : "default",
65164
+ ...themeVariables ? { themeVariables } : {}
65165
+ };
65166
+ }
65167
+ /**
65168
+ * `click X href "…"` 即便在 strict 档也只是被 sanitize-url 过一遍,链接本身照样渲染。
65169
+ * 模型产出的图不该带跳转,所以插进 DOM 之前先把 href 摘干净。
65170
+ */
65171
+ function stripDiagramLinks(svg) {
65172
+ if (typeof DOMParser === "undefined" || !svg.includes("<a")) return svg;
65173
+ const doc = new DOMParser().parseFromString(svg, "text/html");
65174
+ const anchors = doc.querySelectorAll("a");
65175
+ if (anchors.length === 0) return svg;
65176
+ for (const anchor of anchors) {
65177
+ anchor.removeAttribute("href");
65178
+ anchor.removeAttribute("xlink:href");
65179
+ anchor.removeAttribute("target");
65180
+ }
65181
+ return doc.body.innerHTML;
65182
+ }
65183
+ /**
65184
+ * 代码围栏里的 mermaid 图。两个 markdown 渲染入口共用本组件,
65185
+ * 差别只在 `fallback` 由各自的代码块呈现提供。
65186
+ *
65187
+ * 三种情况一律退回 `fallback`:宿主没装 mermaid、语法不合法、渲染抛错。
65188
+ * 不加「渲染失败」之类的提示——降级物就是图的源码,用户看得见那是什么
65189
+ * (与 `MarkdownImage` 退回 alt 同理)。
65190
+ */
65191
+ function MermaidDiagram({ code, fallback, className }) {
65192
+ const [dark, attachTheme] = useDarkAncestor();
65193
+ const [svg, setSvg] = useState(void 0);
65194
+ const nodeRef = useRef(null);
65195
+ const seqRef = useRef(0);
65196
+ const idBase = `webskill-mermaid-${useId().replace(/[^a-zA-Z0-9_-]/g, "")}`;
65197
+ const attach = useCallback((node) => {
65198
+ nodeRef.current = node;
65199
+ attachTheme(node);
65200
+ }, [attachTheme]);
65201
+ useEffect(() => {
65202
+ let cancelled = false;
65203
+ (async () => {
65204
+ try {
65205
+ const mermaid = (await loadMermaid()).default;
65206
+ if (cancelled) return;
65207
+ mermaid.initialize(buildConfig(dark, nodeRef.current));
65208
+ if (!await mermaid.parse(code, { suppressErrors: true })) return;
65209
+ if (cancelled) return;
65210
+ const { svg: rendered } = await mermaid.render(`${idBase}-${++seqRef.current}`, code);
65211
+ if (!cancelled) setSvg(stripDiagramLinks(rendered));
65212
+ } catch {}
65213
+ })();
65214
+ return () => {
65215
+ cancelled = true;
65216
+ };
65217
+ }, [
65218
+ code,
65219
+ dark,
65220
+ idBase
65221
+ ]);
65222
+ if (svg === void 0) return /* @__PURE__ */ jsx("div", {
65223
+ ref: attach,
65224
+ className: "contents",
65225
+ children: fallback
65226
+ });
65227
+ return /* @__PURE__ */ jsx("div", {
65228
+ ref: attach,
65229
+ "data-webskill-mermaid": "",
65230
+ "data-testid": "mermaid-diagram",
65231
+ className: cn("my-3 flex justify-center overflow-x-auto rounded-card border border-border bg-card p-3", className),
65232
+ dangerouslySetInnerHTML: { __html: svg }
65233
+ });
65234
+ }
65235
+
61564
65236
  //#endregion
61565
65237
  //#region ../../node_modules/.pnpm/@babel+runtime@7.29.7/node_modules/@babel/runtime/helpers/interopRequireDefault.js
61566
65238
  var require_interopRequireDefault = /* @__PURE__ */ __commonJSMin(((exports, module) => {
@@ -120357,53 +124029,6 @@ var typescript_default = typescript;
120357
124029
  init_yaml();
120358
124030
  var yaml_default = yaml;
120359
124031
 
120360
- //#endregion
120361
- //#region ../ui-kit/src/theme/useDarkAncestor.ts
120362
- /**
120363
- * 声明了主题的祖先:`data-theme` 由 ThemeScope 挂(亮暗都挂),`.dark` 是宿主页面惯用的暗色类名。
120364
- * 两者一起选,`closest` 才会停在**最近**的那一层,而不是越过亮色实例去命中外层的暗色宿主。
120365
- */
120366
- const THEME_ANCESTOR = "[data-theme], .dark";
120367
- function readDark(node) {
120368
- const scope = node.closest(THEME_ANCESTOR);
120369
- if (!scope) return false;
120370
- const declared = scope.getAttribute("data-theme");
120371
- return declared === null ? true : declared === "dark";
120372
- }
120373
- /**
120374
- * 判定挂载点**最近的**主题祖先是否处于暗色(0.6.0 FR-20.4)。
120375
- *
120376
- * 不用 `document.querySelector('.dark')`:那是全局查询,宿主页面是暗色时,
120377
- * 嵌在暗色宿主里的亮色 SDK 实例也会被判成暗色(反之亦然)。
120378
- *
120379
- * 返回 ref 回调而不是接受 ref 对象:ref 对象的赋值不触发渲染,拿不到「已挂载」这个时机。
120380
- *
120381
- * 首次判定在 ref 回调里**同步**完成,不等 effect:消费方(如按主题分叉的 markdown
120382
- * 高亮器)可能在首帧就固化选择,晚一帧就会永久停在亮色(设计 15-01 §1.2 假设 H-c)。
120383
- */
120384
- function useDarkAncestor() {
120385
- const scoped = useThemeValue();
120386
- const [node, setNode] = useState(null);
120387
- const [probed, setProbed] = useState(false);
120388
- const attach = useCallback((next) => {
120389
- setNode(next);
120390
- if (next) setProbed(readDark(next));
120391
- }, []);
120392
- useEffect(() => {
120393
- if (!node || scoped !== void 0) return;
120394
- const update = () => setProbed(readDark(node));
120395
- update();
120396
- const observer = new MutationObserver(update);
120397
- observer.observe(document.documentElement, {
120398
- attributes: true,
120399
- attributeFilter: ["class", "data-theme"],
120400
- subtree: true
120401
- });
120402
- return () => observer.disconnect();
120403
- }, [node, scoped]);
120404
- return [scoped !== void 0 ? scoped === "dark" : probed, attach];
120405
- }
120406
-
120407
124032
  //#endregion
120408
124033
  //#region ../ui-kit/src/markdown/prism.ts
120409
124034
  var import_cjs = require_cjs();
@@ -121041,7 +124666,16 @@ const CODE_TOKEN_VARS = Object.fromEntries(Object.keys(PRISM_THEME.light).filter
121041
124666
  //#region ../ui-kit/src/markdown/Markdown.tsx
121042
124667
  function CodeBlock({ node: _node, className, children, ...rest }) {
121043
124668
  const [dark, themeRef] = useDarkAncestor();
121044
- const language = resolveLanguage(/language-(\w+)/.exec(className ?? "")?.[1]);
124669
+ const match = /language-(\w+)/.exec(className ?? "");
124670
+ const language = resolveLanguage(match?.[1]);
124671
+ if (match?.[1] === "mermaid") return /* @__PURE__ */ jsx(MermaidDiagram, {
124672
+ code: String(children).replace(/\n$/, ""),
124673
+ fallback: /* @__PURE__ */ jsx("code", {
124674
+ className: "rounded-md bg-subtle px-1.5 py-0.5 font-mono text-ink",
124675
+ ...rest,
124676
+ children
124677
+ })
124678
+ });
121045
124679
  if (language) return /* @__PURE__ */ jsxs("div", {
121046
124680
  ref: themeRef,
121047
124681
  className: "my-3 overflow-hidden rounded-card border border-border bg-card",
@@ -121068,35 +124702,42 @@ function CodeBlock({ node: _node, className, children, ...rest }) {
121068
124702
  children
121069
124703
  });
121070
124704
  }
124705
+ /**
124706
+ * 模块级常量,**不可内联进 JSX**:react-markdown 按 `components` 的引用决定是否重建子树,
124707
+ * 每次渲染换新对象会让图片组件卸载重挂,于是流式输出期间同一张图被反复解析。
124708
+ */
124709
+ const MARKDOWN_COMPONENTS = {
124710
+ code: CodeBlock,
124711
+ img: MarkdownImage,
124712
+ p: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("p", {
124713
+ className: "my-2",
124714
+ ...props
124715
+ }),
124716
+ ul: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("ul", {
124717
+ className: "my-2 list-disc space-y-1 pl-5",
124718
+ ...props
124719
+ }),
124720
+ ol: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("ol", {
124721
+ className: "my-2 list-decimal space-y-1 pl-5",
124722
+ ...props
124723
+ }),
124724
+ a: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("a", {
124725
+ className: "font-medium text-ink underline underline-offset-4 hover:text-muted",
124726
+ target: "_blank",
124727
+ rel: "noreferrer",
124728
+ ...props
124729
+ }),
124730
+ pre: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("pre", {
124731
+ className: "my-0",
124732
+ ...props
124733
+ })
124734
+ };
121071
124735
  function Markdown({ children, className = "" }) {
121072
124736
  return /* @__PURE__ */ jsx("div", {
121073
124737
  className: `text-sm leading-6 text-ink ${className}`,
121074
124738
  children: /* @__PURE__ */ jsx(Markdown$1, {
121075
- components: {
121076
- code: CodeBlock,
121077
- p: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("p", {
121078
- className: "my-2",
121079
- ...props
121080
- }),
121081
- ul: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("ul", {
121082
- className: "my-2 list-disc space-y-1 pl-5",
121083
- ...props
121084
- }),
121085
- ol: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("ol", {
121086
- className: "my-2 list-decimal space-y-1 pl-5",
121087
- ...props
121088
- }),
121089
- a: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("a", {
121090
- className: "font-medium text-ink underline underline-offset-4 hover:text-muted",
121091
- target: "_blank",
121092
- rel: "noreferrer",
121093
- ...props
121094
- }),
121095
- pre: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("pre", {
121096
- className: "my-0",
121097
- ...props
121098
- })
121099
- },
124739
+ urlTransform: markdownUrlTransform,
124740
+ components: MARKDOWN_COMPONENTS,
121100
124741
  children
121101
124742
  })
121102
124743
  });
@@ -127908,10 +131549,10 @@ const RATIO_CLASS = {
127908
131549
  };
127909
131550
  function SpecImage({ props }) {
127910
131551
  const ratio = str(props, "ratio", "auto");
127911
- return /* @__PURE__ */ jsx("img", {
131552
+ return /* @__PURE__ */ jsx(MarkdownImage, {
127912
131553
  src: str(props, "src"),
127913
131554
  alt: str(props, "alt"),
127914
- className: `w-full rounded-md object-cover ${RATIO_CLASS[ratio] ?? ""}`
131555
+ className: `my-0 max-h-none w-full rounded-md border-0 object-cover ${RATIO_CLASS[ratio] ?? ""}`
127915
131556
  });
127916
131557
  }
127917
131558
  function SpecQuote({ props }) {
@@ -131353,7 +134994,7 @@ function OpenUiSpecSurface({ spec, surfaceId, actions, onAction }) {
131353
134994
  const [unavailable, setUnavailable] = useState(false);
131354
134995
  useEffect(() => {
131355
134996
  let cancelled = false;
131356
- import("./openUiLibrary-b0i7F_oZ.js").then((loaded) => {
134997
+ import("./openUiLibrary-B7j3rLrm.js").then((loaded) => {
131357
134998
  if (!cancelled) setModule(loaded);
131358
134999
  }).catch(() => {
131359
135000
  if (!cancelled) setUnavailable(true);