@geowiki/map 0.16.9-dev.3 → 0.16.9-dev.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +3524 -360
- package/dist/index.mjs +3212 -36
- package/dist/styles.css +1 -1
- package/package.json +8 -8
package/dist/index.mjs
CHANGED
|
@@ -546,13 +546,13 @@ var prepareRGBImage = (array, width, height) => {
|
|
|
546
546
|
var data = imageData == null ? void 0 : imageData.data;
|
|
547
547
|
let index = 0;
|
|
548
548
|
for (var i = 0; i < array.length; ) {
|
|
549
|
-
const
|
|
549
|
+
const r2 = array[i++];
|
|
550
550
|
const g = array[i++];
|
|
551
551
|
const b = array[i++];
|
|
552
|
-
data[index++] =
|
|
552
|
+
data[index++] = r2;
|
|
553
553
|
data[index++] = g;
|
|
554
554
|
data[index++] = b;
|
|
555
|
-
data[index++] =
|
|
555
|
+
data[index++] = r2 === 0 && g === 0 && b === 0 ? 0 : 255;
|
|
556
556
|
}
|
|
557
557
|
ctx == null ? void 0 : ctx.putImageData(imageData, 0, 0);
|
|
558
558
|
return canvas;
|
|
@@ -2767,7 +2767,7 @@ import { useEffect as useEffect4, useState as useState4 } from "react";
|
|
|
2767
2767
|
import { useMap as useMap3 } from "react-leaflet";
|
|
2768
2768
|
import "leaflet-draw";
|
|
2769
2769
|
import { usePanelStore } from "@geowiki/core";
|
|
2770
|
-
import { useRouter } from "
|
|
2770
|
+
import { useRouter } from "@geowiki/core";
|
|
2771
2771
|
var PointSelection = (_props) => {
|
|
2772
2772
|
var _a, _b, _c, _d, _e, _f;
|
|
2773
2773
|
const map = useMap3();
|
|
@@ -3497,7 +3497,7 @@ var PropsContent = ({ content }) => {
|
|
|
3497
3497
|
var PropsContent_default = PropsContent;
|
|
3498
3498
|
|
|
3499
3499
|
// src/Components/GeoJsonProperties.tsx
|
|
3500
|
-
import Image2 from "
|
|
3500
|
+
import { Image as Image2 } from "@geowiki/core";
|
|
3501
3501
|
import { cn } from "@geowiki/ui";
|
|
3502
3502
|
import { jsx as jsx7, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
3503
3503
|
var parseProperties = (properties, serverProperties) => {
|
|
@@ -3641,7 +3641,7 @@ import {
|
|
|
3641
3641
|
DialogTitle,
|
|
3642
3642
|
DialogDescription
|
|
3643
3643
|
} from "@geowiki/ui";
|
|
3644
|
-
import Image3 from "
|
|
3644
|
+
import { Image as Image3 } from "@geowiki/core";
|
|
3645
3645
|
import { jsx as jsx10, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
3646
3646
|
var SiteInformation = ({ data }) => {
|
|
3647
3647
|
if (!data)
|
|
@@ -5105,7 +5105,7 @@ var GoogleSheetsPopup = ({
|
|
|
5105
5105
|
return Object.keys(value).length === 0;
|
|
5106
5106
|
return false;
|
|
5107
5107
|
};
|
|
5108
|
-
const
|
|
5108
|
+
const isUrl2 = (value) => {
|
|
5109
5109
|
if (typeof value !== "string")
|
|
5110
5110
|
return false;
|
|
5111
5111
|
const trimmedValue = value.trim();
|
|
@@ -5131,7 +5131,7 @@ var GoogleSheetsPopup = ({
|
|
|
5131
5131
|
return key.replace(/([A-Z])/g, " $1").replace(/^./, (str) => str.toUpperCase()).replace(/_/g, " ").replace(/\s+/g, " ").trim();
|
|
5132
5132
|
};
|
|
5133
5133
|
const formatFieldValue = (value) => {
|
|
5134
|
-
if (
|
|
5134
|
+
if (isUrl2(value)) {
|
|
5135
5135
|
const url = value.startsWith("http") ? value : `https://${value}`;
|
|
5136
5136
|
const displayText = value.length > 50 ? `${value.substring(0, 47)}...` : value;
|
|
5137
5137
|
return /* @__PURE__ */ jsx15(
|
|
@@ -5149,11 +5149,11 @@ var GoogleSheetsPopup = ({
|
|
|
5149
5149
|
return String(value);
|
|
5150
5150
|
};
|
|
5151
5151
|
const urlFields = filteredProperties.filter(([_key, value]) => {
|
|
5152
|
-
const isUrlValue =
|
|
5152
|
+
const isUrlValue = isUrl2(value);
|
|
5153
5153
|
return isUrlValue;
|
|
5154
5154
|
});
|
|
5155
5155
|
const otherFields = filteredProperties.filter(([_key, value]) => {
|
|
5156
|
-
const isUrlValue =
|
|
5156
|
+
const isUrlValue = isUrl2(value);
|
|
5157
5157
|
return !isUrlValue;
|
|
5158
5158
|
});
|
|
5159
5159
|
return /* @__PURE__ */ jsxs6("div", { className: "bg-white rounded-lg shadow-lg p-6 w-full max-w-md overflow-hidden", children: [
|
|
@@ -6864,7 +6864,7 @@ import {
|
|
|
6864
6864
|
TaskService as TaskService3,
|
|
6865
6865
|
TaskType
|
|
6866
6866
|
} from "@geowiki/evoland-api-proxy";
|
|
6867
|
-
import {
|
|
6867
|
+
import { useNavigationRouter as useRouter2, useSearchParams } from "@geowiki/core";
|
|
6868
6868
|
import { useState as useState11 } from "react";
|
|
6869
6869
|
import {
|
|
6870
6870
|
classNames,
|
|
@@ -7497,8 +7497,8 @@ import {
|
|
|
7497
7497
|
DropdownMenuContent
|
|
7498
7498
|
} from "@geowiki/ui";
|
|
7499
7499
|
import { useState as useState12 } from "react";
|
|
7500
|
-
import Link from "
|
|
7501
|
-
import { useRouter as useRouter3 } from "
|
|
7500
|
+
import { Link } from "@geowiki/core";
|
|
7501
|
+
import { useRouter as useRouter3 } from "@geowiki/core";
|
|
7502
7502
|
import { AiService } from "@geowiki/evoland-api-proxy";
|
|
7503
7503
|
import { jsx as jsx27, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
7504
7504
|
var Annotation = (props) => {
|
|
@@ -8111,7 +8111,7 @@ var Annotation = (props) => {
|
|
|
8111
8111
|
};
|
|
8112
8112
|
|
|
8113
8113
|
// src/Components/Evoland/EvolandLeftSideBar.tsx
|
|
8114
|
-
import { useRouter as useRouter4 } from "
|
|
8114
|
+
import { useRouter as useRouter4 } from "@geowiki/core";
|
|
8115
8115
|
import {
|
|
8116
8116
|
TaskStatus as TaskStatus3,
|
|
8117
8117
|
TaskStatusColor as TaskStatusColor2,
|
|
@@ -8133,7 +8133,7 @@ import {
|
|
|
8133
8133
|
UiTimer
|
|
8134
8134
|
} from "@geowiki/ui";
|
|
8135
8135
|
import { useHotkeys as useHotkeys2 } from "react-hotkeys-hook";
|
|
8136
|
-
import Link2 from "
|
|
8136
|
+
import { Link as Link2 } from "@geowiki/core";
|
|
8137
8137
|
|
|
8138
8138
|
// src/Components/Evoland/GeoWikiTools.tsx
|
|
8139
8139
|
import * as turf5 from "@turf/turf";
|
|
@@ -10004,7 +10004,7 @@ import {
|
|
|
10004
10004
|
PopoverTrigger as PopoverTrigger3,
|
|
10005
10005
|
OldCustomInput as OldCustomInput3
|
|
10006
10006
|
} from "@geowiki/ui";
|
|
10007
|
-
import { useRouter as useRouter5 } from "
|
|
10007
|
+
import { useRouter as useRouter5 } from "@geowiki/core";
|
|
10008
10008
|
import {
|
|
10009
10009
|
useQuestionnaire,
|
|
10010
10010
|
TaskStatusColor as TaskStatusColor3,
|
|
@@ -10021,7 +10021,7 @@ import {
|
|
|
10021
10021
|
TaskService as TaskService4,
|
|
10022
10022
|
TaskType as TaskType2
|
|
10023
10023
|
} from "@geowiki/evoland-api-proxy";
|
|
10024
|
-
import { useSearchParams as useSearchParams2 } from "
|
|
10024
|
+
import { useSearchParams as useSearchParams2 } from "@geowiki/core";
|
|
10025
10025
|
import { Fragment as Fragment10, jsx as jsx35, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
10026
10026
|
var Questions = (props) => {
|
|
10027
10027
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
|
|
@@ -10244,8 +10244,8 @@ var Questions = (props) => {
|
|
|
10244
10244
|
if (Array.isArray(y.answers)) {
|
|
10245
10245
|
y.answers = y.answers.filter((answer) => {
|
|
10246
10246
|
const value = answer.text;
|
|
10247
|
-
const
|
|
10248
|
-
if (
|
|
10247
|
+
const isInteger2 = parseInt(value);
|
|
10248
|
+
if (isInteger2)
|
|
10249
10249
|
return Object.values(taskChangeDetail).includes(Number(value));
|
|
10250
10250
|
return true;
|
|
10251
10251
|
});
|
|
@@ -10844,12 +10844,12 @@ var BingLayer = class extends L13.TileLayer {
|
|
|
10844
10844
|
(_a = document.getElementsByTagName("head")[0]) == null ? void 0 : _a.appendChild(script);
|
|
10845
10845
|
}
|
|
10846
10846
|
initMetadata(meta) {
|
|
10847
|
-
const
|
|
10848
|
-
this.options.subdomains =
|
|
10849
|
-
this._url =
|
|
10850
|
-
if (
|
|
10851
|
-
for (let i = 0; i <
|
|
10852
|
-
const p =
|
|
10847
|
+
const r2 = meta.resourceSets[0].resources[0];
|
|
10848
|
+
this.options.subdomains = r2.imageUrlSubdomains;
|
|
10849
|
+
this._url = r2.imageUrl;
|
|
10850
|
+
if (r2.imageryProviders) {
|
|
10851
|
+
for (let i = 0; i < r2.imageryProviders.length; i++) {
|
|
10852
|
+
const p = r2.imageryProviders[i];
|
|
10853
10853
|
for (let j = 0; j < p.coverageAreas.length; j++) {
|
|
10854
10854
|
const c = p.coverageAreas[j];
|
|
10855
10855
|
const bounds = new L13.LatLngBounds(
|
|
@@ -11701,7 +11701,7 @@ var Legend = () => {
|
|
|
11701
11701
|
|
|
11702
11702
|
// src/Components/Controls/CustomBaseLayerControl.tsx
|
|
11703
11703
|
import { useState as useState21 } from "react";
|
|
11704
|
-
import Image4 from "
|
|
11704
|
+
import { Image as Image4 } from "@geowiki/core";
|
|
11705
11705
|
import { trackMapEvent } from "@geowiki/core";
|
|
11706
11706
|
import { jsx as jsx45, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
11707
11707
|
var BASE_LAYERS = [
|
|
@@ -12423,7 +12423,7 @@ var ControlItem = memo5(({ control, position }) => {
|
|
|
12423
12423
|
] });
|
|
12424
12424
|
}
|
|
12425
12425
|
const positionClass = POSITION_CLASSES2[position];
|
|
12426
|
-
const
|
|
12426
|
+
const getDefaultDirection2 = () => {
|
|
12427
12427
|
switch (position) {
|
|
12428
12428
|
case "topleft":
|
|
12429
12429
|
case "bottomleft":
|
|
@@ -12435,7 +12435,7 @@ var ControlItem = memo5(({ control, position }) => {
|
|
|
12435
12435
|
return "right";
|
|
12436
12436
|
}
|
|
12437
12437
|
};
|
|
12438
|
-
const popoverDirection = control.popoverDirection ||
|
|
12438
|
+
const popoverDirection = control.popoverDirection || getDefaultDirection2();
|
|
12439
12439
|
return /* @__PURE__ */ jsxs34(Fragment16, { children: [
|
|
12440
12440
|
/* @__PURE__ */ jsx50("div", { className: "hidden lg:block", children: /* @__PURE__ */ jsxs34(Popover5.Root, { open: control.isOpen, children: [
|
|
12441
12441
|
/* @__PURE__ */ jsxs34(Tooltip2, { delayDuration: 100, children: [
|
|
@@ -16377,7 +16377,7 @@ var CustomWMSTileLayer2 = createTileLayerComponent3(
|
|
|
16377
16377
|
);
|
|
16378
16378
|
|
|
16379
16379
|
// src/Components/Map/GeoWikiMap.tsx
|
|
16380
|
-
import { useRouter as useRouter6 } from "
|
|
16380
|
+
import { useRouter as useRouter6 } from "@geowiki/core";
|
|
16381
16381
|
import { HotkeysProvider } from "react-hotkeys-hook";
|
|
16382
16382
|
import { Fragment as Fragment27, jsx as jsx77, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
16383
16383
|
var GeoWikiMapComponent = ({ mapSettings, session }) => {
|
|
@@ -16770,7 +16770,7 @@ var GeoWikiMap = memo15(GeoWikiMapComponent);
|
|
|
16770
16770
|
import { useRef as useRef15, useState as useState35, useEffect as useEffect33 } from "react";
|
|
16771
16771
|
import { MapContainer as MapContainer7, Polygon, TileLayer as TileLayer5, useMapEvents as useMapEvents4 } from "react-leaflet";
|
|
16772
16772
|
import { useRenderInfo as useRenderInfo4 } from "@geowiki/core";
|
|
16773
|
-
import { useSearchParams as useSearchParams3 } from "
|
|
16773
|
+
import { useSearchParams as useSearchParams3 } from "@geowiki/core";
|
|
16774
16774
|
import { Fragment as Fragment28, jsx as jsx78, jsxs as jsxs56 } from "react/jsx-runtime";
|
|
16775
16775
|
var WaybackTimelineMap = (props) => {
|
|
16776
16776
|
var _a;
|
|
@@ -16869,16 +16869,3084 @@ var WaybackTimelineMap = (props) => {
|
|
|
16869
16869
|
};
|
|
16870
16870
|
|
|
16871
16871
|
// src/Components/Map/MapLibre.tsx
|
|
16872
|
-
import { useEffect as
|
|
16872
|
+
import { useEffect as useEffect35, useRef as useRef16, useState as useState37 } from "react";
|
|
16873
16873
|
import { forwardRef as forwardRef5 } from "react";
|
|
16874
16874
|
import maplibregl from "maplibre-gl";
|
|
16875
16875
|
import MapPinIcon5 from "@heroicons/react/24/solid/MapPinIcon";
|
|
16876
16876
|
import { renderToStaticMarkup } from "react-dom/server";
|
|
16877
|
-
|
|
16877
|
+
|
|
16878
|
+
// src/Components/Generic/Map/LayerSwitcher.tsx
|
|
16879
|
+
import { memo as memo16, useEffect as useEffect34, useCallback as useCallback12, useState as useState36 } from "react";
|
|
16880
|
+
import {
|
|
16881
|
+
HoverCard as HoverCard2,
|
|
16882
|
+
HoverCardContent as HoverCardContent2,
|
|
16883
|
+
HoverCardTrigger as HoverCardTrigger2,
|
|
16884
|
+
Switch as Switch2,
|
|
16885
|
+
KeyInfoItem as KeyInfoItem2,
|
|
16886
|
+
SimpleLink as SimpleLink2
|
|
16887
|
+
} from "@geowiki/ui";
|
|
16888
|
+
|
|
16889
|
+
// src/Components/Generic/Map/store/mapLayers.ts
|
|
16890
|
+
import { create as create9 } from "zustand";
|
|
16891
|
+
import { arrayMove as arrayMove2 } from "@dnd-kit/sortable";
|
|
16892
|
+
var useMapLayerStore2 = create9()((set, get) => ({
|
|
16893
|
+
layers: [],
|
|
16894
|
+
add: (layer) => {
|
|
16895
|
+
var _a;
|
|
16896
|
+
if (layer.id === "geotrees-external-layer" || layer.title === "GEO-TREES Sites" || ((_a = layer.layerInfo) == null ? void 0 : _a.source) === "GeoTrees External API") {
|
|
16897
|
+
const existingGeoTreesLayer = get().layers.find(
|
|
16898
|
+
(existingLayer) => {
|
|
16899
|
+
var _a2;
|
|
16900
|
+
return existingLayer.id === "geotrees-external-layer" || existingLayer.title === "GEO-TREES Sites" || ((_a2 = existingLayer.layerInfo) == null ? void 0 : _a2.source) === "GeoTrees External API";
|
|
16901
|
+
}
|
|
16902
|
+
);
|
|
16903
|
+
if (existingGeoTreesLayer) {
|
|
16904
|
+
console.warn(
|
|
16905
|
+
"GeoTrees External layer already exists in map store, preventing duplicate addition"
|
|
16906
|
+
);
|
|
16907
|
+
return;
|
|
16908
|
+
}
|
|
16909
|
+
}
|
|
16910
|
+
set((state) => {
|
|
16911
|
+
const layersWithName = state.layers.filter((l) => l == null ? void 0 : l.layerName);
|
|
16912
|
+
const layersWithoutName = state.layers.filter((l) => !(l == null ? void 0 : l.layerName));
|
|
16913
|
+
if (layer.layerName) {
|
|
16914
|
+
const insertIndex = layersWithName.findIndex(
|
|
16915
|
+
(l) => {
|
|
16916
|
+
var _a2, _b, _c, _d;
|
|
16917
|
+
return ((_b = (_a2 = l.order) != null ? _a2 : l.index) != null ? _b : 0) > ((_d = (_c = layer.order) != null ? _c : layer.index) != null ? _d : 0);
|
|
16918
|
+
}
|
|
16919
|
+
);
|
|
16920
|
+
const updatedLayersWithName = insertIndex === -1 ? [...layersWithName, layer] : [
|
|
16921
|
+
...layersWithName.slice(0, insertIndex),
|
|
16922
|
+
layer,
|
|
16923
|
+
...layersWithName.slice(insertIndex)
|
|
16924
|
+
];
|
|
16925
|
+
updatedLayersWithName.forEach((l, idx) => {
|
|
16926
|
+
l.index = updatedLayersWithName.length + layersWithoutName.length - idx;
|
|
16927
|
+
});
|
|
16928
|
+
layersWithoutName.forEach((l, idx) => {
|
|
16929
|
+
l.index = layersWithoutName.length - idx;
|
|
16930
|
+
});
|
|
16931
|
+
const newState = {
|
|
16932
|
+
layers: [...updatedLayersWithName, ...layersWithoutName]
|
|
16933
|
+
};
|
|
16934
|
+
return newState;
|
|
16935
|
+
} else {
|
|
16936
|
+
const insertIndex = layersWithoutName.findIndex(
|
|
16937
|
+
(l) => {
|
|
16938
|
+
var _a2, _b, _c, _d;
|
|
16939
|
+
return ((_b = (_a2 = l.order) != null ? _a2 : l.index) != null ? _b : 0) > ((_d = (_c = layer.order) != null ? _c : layer.index) != null ? _d : 0);
|
|
16940
|
+
}
|
|
16941
|
+
);
|
|
16942
|
+
const updatedLayersWithoutName = insertIndex === -1 ? [...layersWithoutName, layer] : [
|
|
16943
|
+
...layersWithoutName.slice(0, insertIndex),
|
|
16944
|
+
layer,
|
|
16945
|
+
...layersWithoutName.slice(insertIndex)
|
|
16946
|
+
];
|
|
16947
|
+
updatedLayersWithoutName.forEach((l, idx) => {
|
|
16948
|
+
l.index = updatedLayersWithoutName.length - idx;
|
|
16949
|
+
});
|
|
16950
|
+
layersWithName.forEach((l, idx) => {
|
|
16951
|
+
l.index = layersWithName.length + updatedLayersWithoutName.length - idx;
|
|
16952
|
+
});
|
|
16953
|
+
const newState = {
|
|
16954
|
+
layers: [...layersWithName, ...updatedLayersWithoutName]
|
|
16955
|
+
};
|
|
16956
|
+
console.log(
|
|
16957
|
+
"MapLayerStore: New state with unnamed layer:",
|
|
16958
|
+
newState.layers.length
|
|
16959
|
+
);
|
|
16960
|
+
return newState;
|
|
16961
|
+
}
|
|
16962
|
+
});
|
|
16963
|
+
},
|
|
16964
|
+
remove: (layer) => set((state) => {
|
|
16965
|
+
return { layers: state.layers.filter((l) => l.id !== layer.id) };
|
|
16966
|
+
}),
|
|
16967
|
+
updateOpacity: (id, opacity) => set((state) => {
|
|
16968
|
+
var index = state.layers.findIndex((l) => l.id === id);
|
|
16969
|
+
if (index > -1) {
|
|
16970
|
+
state.layers[index].opacity = opacity;
|
|
16971
|
+
}
|
|
16972
|
+
return { layers: state.layers };
|
|
16973
|
+
}),
|
|
16974
|
+
updateLayer: (id, updates) => set((state) => {
|
|
16975
|
+
var index = state.layers.findIndex((l) => l.id === id);
|
|
16976
|
+
if (index > -1) {
|
|
16977
|
+
state.layers[index] = __spreadValues(__spreadValues({}, state.layers[index]), updates);
|
|
16978
|
+
}
|
|
16979
|
+
return { layers: state.layers };
|
|
16980
|
+
}),
|
|
16981
|
+
reorderLayers: (oldIndex, newIndex) => set((state) => {
|
|
16982
|
+
const newLayers = [...state.layers];
|
|
16983
|
+
const layersWithoutName = newLayers.filter((layer) => !(layer == null ? void 0 : layer.layerName));
|
|
16984
|
+
const layersToReorder = newLayers.filter((layer) => layer == null ? void 0 : layer.layerName);
|
|
16985
|
+
const reorderedLayers = arrayMove2(layersToReorder, oldIndex, newIndex);
|
|
16986
|
+
reorderedLayers.forEach((layer, idx) => {
|
|
16987
|
+
layer.index = reorderedLayers.length + layersWithoutName.length - idx;
|
|
16988
|
+
});
|
|
16989
|
+
layersWithoutName.forEach((layer, idx) => {
|
|
16990
|
+
layer.index = layersWithoutName.length - idx;
|
|
16991
|
+
});
|
|
16992
|
+
const resultLayers = [...reorderedLayers, ...layersWithoutName];
|
|
16993
|
+
return { layers: resultLayers };
|
|
16994
|
+
}),
|
|
16995
|
+
refresh: () => set((state) => {
|
|
16996
|
+
return { layers: state.layers };
|
|
16997
|
+
}),
|
|
16998
|
+
selectedLayer: "",
|
|
16999
|
+
setSelectedLayer: (selectedLayer) => set({ selectedLayer }),
|
|
17000
|
+
layerOpacity: 0,
|
|
17001
|
+
setLayerOpacity: (layerOpacity) => set({ layerOpacity })
|
|
17002
|
+
}));
|
|
17003
|
+
|
|
17004
|
+
// src/Components/Generic/Map/LayerSwitcher.tsx
|
|
17005
|
+
import { Dialog as Dialog4, Transition as Transition3 } from "@headlessui/react";
|
|
17006
|
+
import { Fragment as Fragment29 } from "react";
|
|
17007
|
+
import { XMarkIcon as XMarkIcon2 } from "@heroicons/react/24/outline";
|
|
17008
|
+
import { Disclosure as Disclosure2 } from "@headlessui/react";
|
|
17009
|
+
import { ChevronDown as ChevronDown2 } from "lucide-react";
|
|
17010
|
+
import { v4 as v42 } from "uuid";
|
|
17011
|
+
import { Fragment as Fragment30, jsx as jsx79, jsxs as jsxs57 } from "react/jsx-runtime";
|
|
17012
|
+
var LayerInfoIcon2 = memo16(({ onClick }) => /* @__PURE__ */ jsxs57(
|
|
17013
|
+
"svg",
|
|
17014
|
+
{
|
|
17015
|
+
width: "20",
|
|
17016
|
+
height: "20",
|
|
17017
|
+
viewBox: "0 0 20 20",
|
|
17018
|
+
fill: "none",
|
|
17019
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
17020
|
+
className: "fill-tag-light-purple cursor-pointer",
|
|
17021
|
+
onClick,
|
|
17022
|
+
role: "button",
|
|
17023
|
+
"aria-label": "Show layer information",
|
|
17024
|
+
children: [
|
|
17025
|
+
/* @__PURE__ */ jsx79("circle", { cx: "10", cy: "10", r: "10", fill: "text-tag-light-purple" }),
|
|
17026
|
+
/* @__PURE__ */ jsx79(
|
|
17027
|
+
"path",
|
|
17028
|
+
{
|
|
17029
|
+
d: "M9.24963 14V7.592H10.7496V14H9.24963ZM10.0056 6.536C9.72563 6.536 9.49363 6.448 9.30963 6.272C9.13363 6.096 9.04563 5.884 9.04563 5.636C9.04563 5.38 9.13363 5.168 9.30963 5C9.49363 4.824 9.72563 4.736 10.0056 4.736C10.2856 4.736 10.5136 4.82 10.6896 4.988C10.8736 5.148 10.9656 5.352 10.9656 5.6C10.9656 5.864 10.8776 6.088 10.7016 6.272C10.5256 6.448 10.2936 6.536 10.0056 6.536Z",
|
|
17030
|
+
fill: "white"
|
|
17031
|
+
}
|
|
17032
|
+
)
|
|
17033
|
+
]
|
|
17034
|
+
}
|
|
17035
|
+
));
|
|
17036
|
+
LayerInfoIcon2.displayName = "LayerInfoIcon";
|
|
17037
|
+
var LayerItemInfo2 = memo16(({ layer, open, setOpen }) => {
|
|
17038
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
|
|
17039
|
+
const isCustomLayer = "isCustom" in layer && layer.isCustom;
|
|
17040
|
+
const mapDetails = [
|
|
17041
|
+
{
|
|
17042
|
+
label: "Source",
|
|
17043
|
+
value: ((_b = (_a = layer.layerInfo) == null ? void 0 : _a.sourceLink) == null ? void 0 : _b.href) ? /* @__PURE__ */ jsx79(
|
|
17044
|
+
SimpleLink2,
|
|
17045
|
+
{
|
|
17046
|
+
link: {
|
|
17047
|
+
title: (_c = layer.layerInfo.sourceLink.name) != null ? _c : "",
|
|
17048
|
+
href: (_d = layer.layerInfo.sourceLink.href) != null ? _d : "#",
|
|
17049
|
+
isNewTab: !((_e = layer.layerInfo.sourceLink.href) == null ? void 0 : _e.startsWith("/"))
|
|
17050
|
+
}
|
|
17051
|
+
}
|
|
17052
|
+
) : ((_f = layer.layerInfo) == null ? void 0 : _f.source) || (isCustomLayer ? "Custom Layer" : void 0)
|
|
17053
|
+
},
|
|
17054
|
+
{
|
|
17055
|
+
label: "Geographic Coverage",
|
|
17056
|
+
value: (_g = layer.layerInfo) == null ? void 0 : _g.geographicCoverage
|
|
17057
|
+
},
|
|
17058
|
+
{
|
|
17059
|
+
label: "Citation",
|
|
17060
|
+
value: ((_i = (_h = layer.layerInfo) == null ? void 0 : _h.citationLink) == null ? void 0 : _i.href) ? /* @__PURE__ */ jsx79(
|
|
17061
|
+
SimpleLink2,
|
|
17062
|
+
{
|
|
17063
|
+
link: {
|
|
17064
|
+
title: (_j = layer.layerInfo.citationLink.name) != null ? _j : "",
|
|
17065
|
+
href: (_k = layer.layerInfo.citationLink.href) != null ? _k : "#",
|
|
17066
|
+
isNewTab: !((_l = layer.layerInfo.citationLink.href) == null ? void 0 : _l.startsWith("/"))
|
|
17067
|
+
}
|
|
17068
|
+
}
|
|
17069
|
+
) : (_m = layer.layerInfo) == null ? void 0 : _m.citation
|
|
17070
|
+
},
|
|
17071
|
+
...isCustomLayer ? [
|
|
17072
|
+
{ label: "Layer Type", value: layer.type },
|
|
17073
|
+
{ label: "Custom Layer", value: "Yes" }
|
|
17074
|
+
] : []
|
|
17075
|
+
];
|
|
17076
|
+
return /* @__PURE__ */ jsx79(Transition3.Root, { show: open, as: Fragment29, "data-component": "ResourceView", children: /* @__PURE__ */ jsxs57(Dialog4, { as: "div", className: "relative z-20", onClose: setOpen, children: [
|
|
17077
|
+
/* @__PURE__ */ jsx79(
|
|
17078
|
+
Transition3.Child,
|
|
17079
|
+
{
|
|
17080
|
+
as: Fragment29,
|
|
17081
|
+
enter: "ease-out duration-300",
|
|
17082
|
+
enterFrom: "opacity-0",
|
|
17083
|
+
enterTo: "opacity-100",
|
|
17084
|
+
leave: "ease-in duration-200",
|
|
17085
|
+
leaveFrom: "opacity-100",
|
|
17086
|
+
leaveTo: "opacity-0",
|
|
17087
|
+
children: /* @__PURE__ */ jsx79("div", { className: "fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity" })
|
|
17088
|
+
}
|
|
17089
|
+
),
|
|
17090
|
+
/* @__PURE__ */ jsx79("div", { className: "fixed z-10 inset-0 overflow-y-auto text-black", children: /* @__PURE__ */ jsx79("div", { className: "flex items-end sm:items-center justify-center min-h-full text-center lg:p-4", children: /* @__PURE__ */ jsx79(
|
|
17091
|
+
Transition3.Child,
|
|
17092
|
+
{
|
|
17093
|
+
as: Fragment29,
|
|
17094
|
+
enter: "ease-out duration-300",
|
|
17095
|
+
enterFrom: "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95",
|
|
17096
|
+
enterTo: "opacity-100 translate-y-0 sm:scale-100",
|
|
17097
|
+
leave: "ease-in duration-200",
|
|
17098
|
+
leaveFrom: "opacity-100 translate-y-0 sm:scale-100",
|
|
17099
|
+
leaveTo: "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95",
|
|
17100
|
+
children: /* @__PURE__ */ jsxs57(Dialog4.Panel, { className: "w-screen relative bg-white rounded-t-lg px-4 pt-5 pb-4 text-left overflow-hidden shadow-xl transform transition-all lg:rounded-lg sm:my-8 sm:w-[740px] sm:p-10", children: [
|
|
17101
|
+
/* @__PURE__ */ jsx79("div", { className: "absolute top-0 right-0 pt-3 pr-3 lg:pt-10 lg:pr-10", children: /* @__PURE__ */ jsxs57(
|
|
17102
|
+
"button",
|
|
17103
|
+
{
|
|
17104
|
+
type: "button",
|
|
17105
|
+
className: "rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2",
|
|
17106
|
+
onClick: () => setOpen(false),
|
|
17107
|
+
children: [
|
|
17108
|
+
/* @__PURE__ */ jsx79("span", { className: "sr-only", children: "Close" }),
|
|
17109
|
+
/* @__PURE__ */ jsx79(XMarkIcon2, { className: "h-6 w-6", "aria-hidden": "true" })
|
|
17110
|
+
]
|
|
17111
|
+
}
|
|
17112
|
+
) }),
|
|
17113
|
+
/* @__PURE__ */ jsxs57("div", { className: "flex flex-col items-start justify-center", children: [
|
|
17114
|
+
/* @__PURE__ */ jsx79("div", { className: "text-lg font-semibold lg:text-[2rem] lg:font-light leading-[120%]", children: layer.title }),
|
|
17115
|
+
/* @__PURE__ */ jsxs57("div", { className: "w-full pt-6 space-y-4 text-grey leading-[130%]", children: [
|
|
17116
|
+
((_n = layer.layerInfo) == null ? void 0 : _n.overview) && /* @__PURE__ */ jsxs57(Fragment30, { children: [
|
|
17117
|
+
/* @__PURE__ */ jsx79("div", { className: "uppercase text-sm", children: "Overview" }),
|
|
17118
|
+
/* @__PURE__ */ jsx79("div", { className: "text-sm lg:text-base font-normal", children: (_o = layer.layerInfo) == null ? void 0 : _o.overview })
|
|
17119
|
+
] }),
|
|
17120
|
+
mapDetails.map(
|
|
17121
|
+
(detail) => detail.value && /* @__PURE__ */ jsx79(
|
|
17122
|
+
KeyInfoItem2,
|
|
17123
|
+
{
|
|
17124
|
+
label: detail.label,
|
|
17125
|
+
value: detail.value
|
|
17126
|
+
},
|
|
17127
|
+
v42()
|
|
17128
|
+
)
|
|
17129
|
+
)
|
|
17130
|
+
] })
|
|
17131
|
+
] })
|
|
17132
|
+
] })
|
|
17133
|
+
}
|
|
17134
|
+
) }) })
|
|
17135
|
+
] }) });
|
|
17136
|
+
});
|
|
17137
|
+
LayerItemInfo2.displayName = "LayerItemInfo";
|
|
17138
|
+
var LayerItem2 = memo16(
|
|
17139
|
+
({
|
|
17140
|
+
layer,
|
|
17141
|
+
isActive,
|
|
17142
|
+
onToggle,
|
|
17143
|
+
openHoverCardId,
|
|
17144
|
+
onInfoClick
|
|
17145
|
+
}) => {
|
|
17146
|
+
var _a;
|
|
17147
|
+
const [open, setOpen] = useState36(false);
|
|
17148
|
+
return /* @__PURE__ */ jsxs57("li", { className: "bg-white rounded-xl p-4 lg:w-[310px] lg:p-0", children: [
|
|
17149
|
+
/* @__PURE__ */ jsxs57("div", { className: "flex flex-row justify-between items-center", children: [
|
|
17150
|
+
/* @__PURE__ */ jsxs57("div", { className: "flex flex-row justify-start items-center space-x-2", children: [
|
|
17151
|
+
/* @__PURE__ */ jsx79("div", { className: "hidden lg:block", children: /* @__PURE__ */ jsx79(
|
|
17152
|
+
Switch2,
|
|
17153
|
+
{
|
|
17154
|
+
checked: isActive,
|
|
17155
|
+
onCheckedChange: onToggle,
|
|
17156
|
+
"aria-label": `Toggle ${layer.title} layer`
|
|
17157
|
+
}
|
|
17158
|
+
) }),
|
|
17159
|
+
/* @__PURE__ */ jsx79("div", { className: " text-base font-medium leading-[120%] break-words max-w-[210px] lg:max-w-none md:max-w-none", children: layer.title }),
|
|
17160
|
+
/* @__PURE__ */ jsx79("div", { className: "block lg:hidden", children: /* @__PURE__ */ jsx79(LayerInfoIcon2, { onClick: () => setOpen(true) }) })
|
|
17161
|
+
] }),
|
|
17162
|
+
/* @__PURE__ */ jsx79("div", { className: "block lg:hidden", children: /* @__PURE__ */ jsx79(
|
|
17163
|
+
Switch2,
|
|
17164
|
+
{
|
|
17165
|
+
checked: isActive,
|
|
17166
|
+
onCheckedChange: onToggle,
|
|
17167
|
+
"aria-label": `Toggle ${layer.title} layer`
|
|
17168
|
+
}
|
|
17169
|
+
) }),
|
|
17170
|
+
/* @__PURE__ */ jsx79("div", { className: "hidden lg:block", children: /* @__PURE__ */ jsxs57(
|
|
17171
|
+
HoverCard2,
|
|
17172
|
+
{
|
|
17173
|
+
open: openHoverCardId === layer.id,
|
|
17174
|
+
onOpenChange: () => onInfoClick(layer.id),
|
|
17175
|
+
children: [
|
|
17176
|
+
/* @__PURE__ */ jsx79(HoverCardTrigger2, { asChild: true, children: /* @__PURE__ */ jsx79(
|
|
17177
|
+
"div",
|
|
17178
|
+
{
|
|
17179
|
+
onClick: () => onInfoClick(layer.id),
|
|
17180
|
+
className: "cursor-pointer",
|
|
17181
|
+
children: /* @__PURE__ */ jsx79(LayerInfoIcon2, { onClick: () => setOpen(true) })
|
|
17182
|
+
}
|
|
17183
|
+
) }),
|
|
17184
|
+
/* @__PURE__ */ jsx79(HoverCardContent2, { className: "w-80 rounded-2xl ", children: /* @__PURE__ */ jsxs57("div", { className: "space-y-1", children: [
|
|
17185
|
+
/* @__PURE__ */ jsx79("h4", { className: "text-sm font-semibold", children: layer.title }),
|
|
17186
|
+
/* @__PURE__ */ jsx79("p", { className: "text-sm text-grey", children: ((_a = layer.layerInfo) == null ? void 0 : _a.hoverCardText) || "" })
|
|
17187
|
+
] }) })
|
|
17188
|
+
]
|
|
17189
|
+
}
|
|
17190
|
+
) })
|
|
17191
|
+
] }),
|
|
17192
|
+
/* @__PURE__ */ jsx79(LayerItemInfo2, { layer, open, setOpen })
|
|
17193
|
+
] });
|
|
17194
|
+
}
|
|
17195
|
+
);
|
|
17196
|
+
LayerItem2.displayName = "LayerItem";
|
|
17197
|
+
var LayerSwitcher2 = memo16(({ mapMenuItems, customLayers }) => {
|
|
17198
|
+
const store = useMapLayerStore2();
|
|
17199
|
+
const [openHoverCardId, setOpenHoverCardId] = useState36(null);
|
|
17200
|
+
useEffect34(() => {
|
|
17201
|
+
if (store.layers.length == 0 && customLayers.length > 0)
|
|
17202
|
+
customLayers.map((layer) => store.add(layer));
|
|
17203
|
+
}, []);
|
|
17204
|
+
const handleToggle = useCallback12(
|
|
17205
|
+
(layer) => {
|
|
17206
|
+
store.layers.findIndex((l) => l.id === layer.id) !== -1 ? store.remove(layer) : store.add(layer);
|
|
17207
|
+
},
|
|
17208
|
+
[store]
|
|
17209
|
+
);
|
|
17210
|
+
const handleInfoClick = useCallback12(
|
|
17211
|
+
(id) => {
|
|
17212
|
+
setOpenHoverCardId(openHoverCardId === id ? null : id);
|
|
17213
|
+
},
|
|
17214
|
+
[openHoverCardId]
|
|
17215
|
+
);
|
|
17216
|
+
const hasRegularLayers = (mapMenuItems == null ? void 0 : mapMenuItems.length) > 0;
|
|
17217
|
+
const hasCustomLayers = customLayers.length > 0;
|
|
17218
|
+
if (!hasRegularLayers && !hasCustomLayers) {
|
|
17219
|
+
return /* @__PURE__ */ jsx79("div", { children: "No map layers available" });
|
|
17220
|
+
}
|
|
17221
|
+
return /* @__PURE__ */ jsx79("div", { className: "lg:max-h-[calc(100dvh-15rem)] overflow-y-auto pr-1", children: mapMenuItems == null ? void 0 : mapMenuItems.map((menu, index) => {
|
|
17222
|
+
var _a;
|
|
17223
|
+
return /* @__PURE__ */ jsxs57("div", { children: [
|
|
17224
|
+
/* @__PURE__ */ jsxs57("div", { className: "hidden lg:block", children: [
|
|
17225
|
+
/* @__PURE__ */ jsx79(
|
|
17226
|
+
Disclosure2,
|
|
17227
|
+
{
|
|
17228
|
+
"data-component": menu.title,
|
|
17229
|
+
defaultOpen: mapMenuItems.length === 1,
|
|
17230
|
+
children: ({ open }) => {
|
|
17231
|
+
var _a2;
|
|
17232
|
+
return /* @__PURE__ */ jsxs57(Fragment30, { children: [
|
|
17233
|
+
/* @__PURE__ */ jsxs57(Disclosure2.Button, { className: "w-[310px] flex-row flex justify-between items-center gap-2 border-zinc-300 ", children: [
|
|
17234
|
+
/* @__PURE__ */ jsx79("span", { className: "text-sm font-normal uppercase text-grey leading-[130%]", children: menu.title }),
|
|
17235
|
+
/* @__PURE__ */ jsx79(
|
|
17236
|
+
ChevronDown2,
|
|
17237
|
+
{
|
|
17238
|
+
className: ` ${open ? "rotate-180 transform" : ""} h-7 w-7 `,
|
|
17239
|
+
stroke: "grey"
|
|
17240
|
+
}
|
|
17241
|
+
)
|
|
17242
|
+
] }),
|
|
17243
|
+
/* @__PURE__ */ jsx79(Disclosure2.Panel, { className: "space-y-2", children: /* @__PURE__ */ jsx79("div", { children: /* @__PURE__ */ jsxs57("ul", { className: "pt-2 space-y-2", children: [
|
|
17244
|
+
index === 0 && hasCustomLayers && customLayers.map((layer) => /* @__PURE__ */ jsx79(
|
|
17245
|
+
LayerItem2,
|
|
17246
|
+
{
|
|
17247
|
+
layer,
|
|
17248
|
+
isActive: store.layers.findIndex(
|
|
17249
|
+
(l) => l.id === layer.id
|
|
17250
|
+
) !== -1,
|
|
17251
|
+
onToggle: () => {
|
|
17252
|
+
handleToggle(layer);
|
|
17253
|
+
if (layer.ontoggle)
|
|
17254
|
+
layer.ontoggle();
|
|
17255
|
+
},
|
|
17256
|
+
openHoverCardId,
|
|
17257
|
+
onInfoClick: handleInfoClick
|
|
17258
|
+
},
|
|
17259
|
+
layer.id
|
|
17260
|
+
)),
|
|
17261
|
+
(_a2 = menu.subMenus) == null ? void 0 : _a2.map((layer) => /* @__PURE__ */ jsx79(
|
|
17262
|
+
LayerItem2,
|
|
17263
|
+
{
|
|
17264
|
+
layer,
|
|
17265
|
+
isActive: store.layers.findIndex(
|
|
17266
|
+
(l) => l.id === layer.id
|
|
17267
|
+
) !== -1,
|
|
17268
|
+
onToggle: () => handleToggle(layer),
|
|
17269
|
+
openHoverCardId,
|
|
17270
|
+
onInfoClick: handleInfoClick
|
|
17271
|
+
},
|
|
17272
|
+
layer.id
|
|
17273
|
+
))
|
|
17274
|
+
] }) }) })
|
|
17275
|
+
] });
|
|
17276
|
+
}
|
|
17277
|
+
}
|
|
17278
|
+
),
|
|
17279
|
+
index !== mapMenuItems.length - 1 && /* @__PURE__ */ jsx79("div", { className: "my-4 h-px bg-grey-light" })
|
|
17280
|
+
] }),
|
|
17281
|
+
/* @__PURE__ */ jsxs57("div", { className: "block lg:hidden px-5 pt-6", children: [
|
|
17282
|
+
/* @__PURE__ */ jsx79("span", { className: "text-sm font-normal uppercase text-grey leading-[130%]", children: menu.title }),
|
|
17283
|
+
/* @__PURE__ */ jsx79("div", { className: "space-y-2", children: /* @__PURE__ */ jsxs57("ul", { className: "pt-2 space-y-2", children: [
|
|
17284
|
+
index === 0 && hasCustomLayers && customLayers.map((layer) => /* @__PURE__ */ jsx79(
|
|
17285
|
+
LayerItem2,
|
|
17286
|
+
{
|
|
17287
|
+
layer,
|
|
17288
|
+
isActive: store.layers.findIndex((l) => l.id === layer.id) !== -1,
|
|
17289
|
+
onToggle: () => handleToggle(layer),
|
|
17290
|
+
openHoverCardId,
|
|
17291
|
+
onInfoClick: handleInfoClick
|
|
17292
|
+
},
|
|
17293
|
+
layer.id
|
|
17294
|
+
)),
|
|
17295
|
+
(_a = menu.subMenus) == null ? void 0 : _a.map((layer) => /* @__PURE__ */ jsx79(
|
|
17296
|
+
LayerItem2,
|
|
17297
|
+
{
|
|
17298
|
+
layer,
|
|
17299
|
+
isActive: store.layers.findIndex((l) => l.id === layer.id) !== -1,
|
|
17300
|
+
onToggle: () => handleToggle(layer),
|
|
17301
|
+
openHoverCardId,
|
|
17302
|
+
onInfoClick: handleInfoClick
|
|
17303
|
+
},
|
|
17304
|
+
layer.id
|
|
17305
|
+
))
|
|
17306
|
+
] }) })
|
|
17307
|
+
] })
|
|
17308
|
+
] }, menu.id);
|
|
17309
|
+
}) });
|
|
17310
|
+
});
|
|
17311
|
+
LayerSwitcher2.displayName = "LayerSwitcher";
|
|
17312
|
+
|
|
17313
|
+
// src/Components/Generic/Map/MapControlToolbar.tsx
|
|
17314
|
+
import * as Popover7 from "@radix-ui/react-popover";
|
|
17315
|
+
import {
|
|
17316
|
+
Tooltip as Tooltip4,
|
|
17317
|
+
TooltipContent as TooltipContent2,
|
|
17318
|
+
TooltipProvider as TooltipProvider2,
|
|
17319
|
+
TooltipTrigger as TooltipTrigger2
|
|
17320
|
+
} from "@geowiki/ui";
|
|
17321
|
+
|
|
17322
|
+
// ../../node_modules/clsx/dist/clsx.m.js
|
|
17323
|
+
function r(e) {
|
|
17324
|
+
var t, f, n = "";
|
|
17325
|
+
if ("string" == typeof e || "number" == typeof e)
|
|
17326
|
+
n += e;
|
|
17327
|
+
else if ("object" == typeof e)
|
|
17328
|
+
if (Array.isArray(e))
|
|
17329
|
+
for (t = 0; t < e.length; t++)
|
|
17330
|
+
e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
|
|
17331
|
+
else
|
|
17332
|
+
for (t in e)
|
|
17333
|
+
e[t] && (n && (n += " "), n += t);
|
|
17334
|
+
return n;
|
|
17335
|
+
}
|
|
17336
|
+
function clsx() {
|
|
17337
|
+
for (var e, t, f = 0, n = ""; f < arguments.length; )
|
|
17338
|
+
(e = arguments[f++]) && (t = r(e)) && (n && (n += " "), n += t);
|
|
17339
|
+
return n;
|
|
17340
|
+
}
|
|
17341
|
+
|
|
17342
|
+
// ../../node_modules/tailwind-merge/dist/lib/tw-join.mjs
|
|
17343
|
+
function twJoin() {
|
|
17344
|
+
var index = 0;
|
|
17345
|
+
var argument;
|
|
17346
|
+
var resolvedValue;
|
|
17347
|
+
var string4 = "";
|
|
17348
|
+
while (index < arguments.length) {
|
|
17349
|
+
if (argument = arguments[index++]) {
|
|
17350
|
+
if (resolvedValue = toValue(argument)) {
|
|
17351
|
+
string4 && (string4 += " ");
|
|
17352
|
+
string4 += resolvedValue;
|
|
17353
|
+
}
|
|
17354
|
+
}
|
|
17355
|
+
}
|
|
17356
|
+
return string4;
|
|
17357
|
+
}
|
|
17358
|
+
function toValue(mix) {
|
|
17359
|
+
if (typeof mix === "string") {
|
|
17360
|
+
return mix;
|
|
17361
|
+
}
|
|
17362
|
+
var resolvedValue;
|
|
17363
|
+
var string4 = "";
|
|
17364
|
+
for (var k = 0; k < mix.length; k++) {
|
|
17365
|
+
if (mix[k]) {
|
|
17366
|
+
if (resolvedValue = toValue(mix[k])) {
|
|
17367
|
+
string4 && (string4 += " ");
|
|
17368
|
+
string4 += resolvedValue;
|
|
17369
|
+
}
|
|
17370
|
+
}
|
|
17371
|
+
}
|
|
17372
|
+
return string4;
|
|
17373
|
+
}
|
|
17374
|
+
|
|
17375
|
+
// ../../node_modules/tailwind-merge/dist/lib/class-utils.mjs
|
|
17376
|
+
var CLASS_PART_SEPARATOR = "-";
|
|
17377
|
+
function createClassUtils(config) {
|
|
17378
|
+
var classMap = createClassMap(config);
|
|
17379
|
+
var conflictingClassGroups = config.conflictingClassGroups, _config$conflictingCl = config.conflictingClassGroupModifiers, conflictingClassGroupModifiers = _config$conflictingCl === void 0 ? {} : _config$conflictingCl;
|
|
17380
|
+
function getClassGroupId(className) {
|
|
17381
|
+
var classParts = className.split(CLASS_PART_SEPARATOR);
|
|
17382
|
+
if (classParts[0] === "" && classParts.length !== 1) {
|
|
17383
|
+
classParts.shift();
|
|
17384
|
+
}
|
|
17385
|
+
return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
|
|
17386
|
+
}
|
|
17387
|
+
function getConflictingClassGroupIds(classGroupId, hasPostfixModifier) {
|
|
17388
|
+
var conflicts = conflictingClassGroups[classGroupId] || [];
|
|
17389
|
+
if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
|
|
17390
|
+
return [].concat(conflicts, conflictingClassGroupModifiers[classGroupId]);
|
|
17391
|
+
}
|
|
17392
|
+
return conflicts;
|
|
17393
|
+
}
|
|
17394
|
+
return {
|
|
17395
|
+
getClassGroupId,
|
|
17396
|
+
getConflictingClassGroupIds
|
|
17397
|
+
};
|
|
17398
|
+
}
|
|
17399
|
+
function getGroupRecursive(classParts, classPartObject) {
|
|
17400
|
+
var _a;
|
|
17401
|
+
if (classParts.length === 0) {
|
|
17402
|
+
return classPartObject.classGroupId;
|
|
17403
|
+
}
|
|
17404
|
+
var currentClassPart = classParts[0];
|
|
17405
|
+
var nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
|
|
17406
|
+
var classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : void 0;
|
|
17407
|
+
if (classGroupFromNextClassPart) {
|
|
17408
|
+
return classGroupFromNextClassPart;
|
|
17409
|
+
}
|
|
17410
|
+
if (classPartObject.validators.length === 0) {
|
|
17411
|
+
return void 0;
|
|
17412
|
+
}
|
|
17413
|
+
var classRest = classParts.join(CLASS_PART_SEPARATOR);
|
|
17414
|
+
return (_a = classPartObject.validators.find(function(_ref) {
|
|
17415
|
+
var validator = _ref.validator;
|
|
17416
|
+
return validator(classRest);
|
|
17417
|
+
})) == null ? void 0 : _a.classGroupId;
|
|
17418
|
+
}
|
|
17419
|
+
var arbitraryPropertyRegex = /^\[(.+)\]$/;
|
|
17420
|
+
function getGroupIdForArbitraryProperty(className) {
|
|
17421
|
+
if (arbitraryPropertyRegex.test(className)) {
|
|
17422
|
+
var arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
|
|
17423
|
+
var property = arbitraryPropertyClassName == null ? void 0 : arbitraryPropertyClassName.substring(0, arbitraryPropertyClassName.indexOf(":"));
|
|
17424
|
+
if (property) {
|
|
17425
|
+
return "arbitrary.." + property;
|
|
17426
|
+
}
|
|
17427
|
+
}
|
|
17428
|
+
}
|
|
17429
|
+
function createClassMap(config) {
|
|
17430
|
+
var theme = config.theme, prefix = config.prefix;
|
|
17431
|
+
var classMap = {
|
|
17432
|
+
nextPart: /* @__PURE__ */ new Map(),
|
|
17433
|
+
validators: []
|
|
17434
|
+
};
|
|
17435
|
+
var prefixedClassGroupEntries = getPrefixedClassGroupEntries(Object.entries(config.classGroups), prefix);
|
|
17436
|
+
prefixedClassGroupEntries.forEach(function(_ref2) {
|
|
17437
|
+
var classGroupId = _ref2[0], classGroup = _ref2[1];
|
|
17438
|
+
processClassesRecursively(classGroup, classMap, classGroupId, theme);
|
|
17439
|
+
});
|
|
17440
|
+
return classMap;
|
|
17441
|
+
}
|
|
17442
|
+
function processClassesRecursively(classGroup, classPartObject, classGroupId, theme) {
|
|
17443
|
+
classGroup.forEach(function(classDefinition) {
|
|
17444
|
+
if (typeof classDefinition === "string") {
|
|
17445
|
+
var classPartObjectToEdit = classDefinition === "" ? classPartObject : getPart(classPartObject, classDefinition);
|
|
17446
|
+
classPartObjectToEdit.classGroupId = classGroupId;
|
|
17447
|
+
return;
|
|
17448
|
+
}
|
|
17449
|
+
if (typeof classDefinition === "function") {
|
|
17450
|
+
if (isThemeGetter(classDefinition)) {
|
|
17451
|
+
processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
|
|
17452
|
+
return;
|
|
17453
|
+
}
|
|
17454
|
+
classPartObject.validators.push({
|
|
17455
|
+
validator: classDefinition,
|
|
17456
|
+
classGroupId
|
|
17457
|
+
});
|
|
17458
|
+
return;
|
|
17459
|
+
}
|
|
17460
|
+
Object.entries(classDefinition).forEach(function(_ref3) {
|
|
17461
|
+
var key = _ref3[0], classGroup2 = _ref3[1];
|
|
17462
|
+
processClassesRecursively(classGroup2, getPart(classPartObject, key), classGroupId, theme);
|
|
17463
|
+
});
|
|
17464
|
+
});
|
|
17465
|
+
}
|
|
17466
|
+
function getPart(classPartObject, path) {
|
|
17467
|
+
var currentClassPartObject = classPartObject;
|
|
17468
|
+
path.split(CLASS_PART_SEPARATOR).forEach(function(pathPart) {
|
|
17469
|
+
if (!currentClassPartObject.nextPart.has(pathPart)) {
|
|
17470
|
+
currentClassPartObject.nextPart.set(pathPart, {
|
|
17471
|
+
nextPart: /* @__PURE__ */ new Map(),
|
|
17472
|
+
validators: []
|
|
17473
|
+
});
|
|
17474
|
+
}
|
|
17475
|
+
currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
|
|
17476
|
+
});
|
|
17477
|
+
return currentClassPartObject;
|
|
17478
|
+
}
|
|
17479
|
+
function isThemeGetter(func) {
|
|
17480
|
+
return func.isThemeGetter;
|
|
17481
|
+
}
|
|
17482
|
+
function getPrefixedClassGroupEntries(classGroupEntries, prefix) {
|
|
17483
|
+
if (!prefix) {
|
|
17484
|
+
return classGroupEntries;
|
|
17485
|
+
}
|
|
17486
|
+
return classGroupEntries.map(function(_ref4) {
|
|
17487
|
+
var classGroupId = _ref4[0], classGroup = _ref4[1];
|
|
17488
|
+
var prefixedClassGroup = classGroup.map(function(classDefinition) {
|
|
17489
|
+
if (typeof classDefinition === "string") {
|
|
17490
|
+
return prefix + classDefinition;
|
|
17491
|
+
}
|
|
17492
|
+
if (typeof classDefinition === "object") {
|
|
17493
|
+
return Object.fromEntries(Object.entries(classDefinition).map(function(_ref5) {
|
|
17494
|
+
var key = _ref5[0], value = _ref5[1];
|
|
17495
|
+
return [prefix + key, value];
|
|
17496
|
+
}));
|
|
17497
|
+
}
|
|
17498
|
+
return classDefinition;
|
|
17499
|
+
});
|
|
17500
|
+
return [classGroupId, prefixedClassGroup];
|
|
17501
|
+
});
|
|
17502
|
+
}
|
|
17503
|
+
|
|
17504
|
+
// ../../node_modules/tailwind-merge/dist/lib/lru-cache.mjs
|
|
17505
|
+
function createLruCache(maxCacheSize) {
|
|
17506
|
+
if (maxCacheSize < 1) {
|
|
17507
|
+
return {
|
|
17508
|
+
get: function get() {
|
|
17509
|
+
return void 0;
|
|
17510
|
+
},
|
|
17511
|
+
set: function set() {
|
|
17512
|
+
}
|
|
17513
|
+
};
|
|
17514
|
+
}
|
|
17515
|
+
var cacheSize = 0;
|
|
17516
|
+
var cache = /* @__PURE__ */ new Map();
|
|
17517
|
+
var previousCache = /* @__PURE__ */ new Map();
|
|
17518
|
+
function update(key, value) {
|
|
17519
|
+
cache.set(key, value);
|
|
17520
|
+
cacheSize++;
|
|
17521
|
+
if (cacheSize > maxCacheSize) {
|
|
17522
|
+
cacheSize = 0;
|
|
17523
|
+
previousCache = cache;
|
|
17524
|
+
cache = /* @__PURE__ */ new Map();
|
|
17525
|
+
}
|
|
17526
|
+
}
|
|
17527
|
+
return {
|
|
17528
|
+
get: function get(key) {
|
|
17529
|
+
var value = cache.get(key);
|
|
17530
|
+
if (value !== void 0) {
|
|
17531
|
+
return value;
|
|
17532
|
+
}
|
|
17533
|
+
if ((value = previousCache.get(key)) !== void 0) {
|
|
17534
|
+
update(key, value);
|
|
17535
|
+
return value;
|
|
17536
|
+
}
|
|
17537
|
+
},
|
|
17538
|
+
set: function set(key, value) {
|
|
17539
|
+
if (cache.has(key)) {
|
|
17540
|
+
cache.set(key, value);
|
|
17541
|
+
} else {
|
|
17542
|
+
update(key, value);
|
|
17543
|
+
}
|
|
17544
|
+
}
|
|
17545
|
+
};
|
|
17546
|
+
}
|
|
17547
|
+
|
|
17548
|
+
// ../../node_modules/tailwind-merge/dist/lib/modifier-utils.mjs
|
|
17549
|
+
var IMPORTANT_MODIFIER = "!";
|
|
17550
|
+
function createSplitModifiers(config) {
|
|
17551
|
+
var separator = config.separator || ":";
|
|
17552
|
+
var isSeparatorSingleCharacter = separator.length === 1;
|
|
17553
|
+
var firstSeparatorCharacter = separator[0];
|
|
17554
|
+
var separatorLength = separator.length;
|
|
17555
|
+
return function splitModifiers(className) {
|
|
17556
|
+
var modifiers = [];
|
|
17557
|
+
var bracketDepth = 0;
|
|
17558
|
+
var modifierStart = 0;
|
|
17559
|
+
var postfixModifierPosition;
|
|
17560
|
+
for (var index = 0; index < className.length; index++) {
|
|
17561
|
+
var currentCharacter = className[index];
|
|
17562
|
+
if (bracketDepth === 0) {
|
|
17563
|
+
if (currentCharacter === firstSeparatorCharacter && (isSeparatorSingleCharacter || className.slice(index, index + separatorLength) === separator)) {
|
|
17564
|
+
modifiers.push(className.slice(modifierStart, index));
|
|
17565
|
+
modifierStart = index + separatorLength;
|
|
17566
|
+
continue;
|
|
17567
|
+
}
|
|
17568
|
+
if (currentCharacter === "/") {
|
|
17569
|
+
postfixModifierPosition = index;
|
|
17570
|
+
continue;
|
|
17571
|
+
}
|
|
17572
|
+
}
|
|
17573
|
+
if (currentCharacter === "[") {
|
|
17574
|
+
bracketDepth++;
|
|
17575
|
+
} else if (currentCharacter === "]") {
|
|
17576
|
+
bracketDepth--;
|
|
17577
|
+
}
|
|
17578
|
+
}
|
|
17579
|
+
var baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);
|
|
17580
|
+
var hasImportantModifier = baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER);
|
|
17581
|
+
var baseClassName = hasImportantModifier ? baseClassNameWithImportantModifier.substring(1) : baseClassNameWithImportantModifier;
|
|
17582
|
+
var maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : void 0;
|
|
17583
|
+
return {
|
|
17584
|
+
modifiers,
|
|
17585
|
+
hasImportantModifier,
|
|
17586
|
+
baseClassName,
|
|
17587
|
+
maybePostfixModifierPosition
|
|
17588
|
+
};
|
|
17589
|
+
};
|
|
17590
|
+
}
|
|
17591
|
+
function sortModifiers(modifiers) {
|
|
17592
|
+
if (modifiers.length <= 1) {
|
|
17593
|
+
return modifiers;
|
|
17594
|
+
}
|
|
17595
|
+
var sortedModifiers = [];
|
|
17596
|
+
var unsortedModifiers = [];
|
|
17597
|
+
modifiers.forEach(function(modifier) {
|
|
17598
|
+
var isArbitraryVariant = modifier[0] === "[";
|
|
17599
|
+
if (isArbitraryVariant) {
|
|
17600
|
+
sortedModifiers.push.apply(sortedModifiers, unsortedModifiers.sort().concat([modifier]));
|
|
17601
|
+
unsortedModifiers = [];
|
|
17602
|
+
} else {
|
|
17603
|
+
unsortedModifiers.push(modifier);
|
|
17604
|
+
}
|
|
17605
|
+
});
|
|
17606
|
+
sortedModifiers.push.apply(sortedModifiers, unsortedModifiers.sort());
|
|
17607
|
+
return sortedModifiers;
|
|
17608
|
+
}
|
|
17609
|
+
|
|
17610
|
+
// ../../node_modules/tailwind-merge/dist/lib/config-utils.mjs
|
|
17611
|
+
function createConfigUtils(config) {
|
|
17612
|
+
return __spreadValues({
|
|
17613
|
+
cache: createLruCache(config.cacheSize),
|
|
17614
|
+
splitModifiers: createSplitModifiers(config)
|
|
17615
|
+
}, createClassUtils(config));
|
|
17616
|
+
}
|
|
17617
|
+
|
|
17618
|
+
// ../../node_modules/tailwind-merge/dist/lib/merge-classlist.mjs
|
|
17619
|
+
var SPLIT_CLASSES_REGEX = /\s+/;
|
|
17620
|
+
function mergeClassList(classList, configUtils) {
|
|
17621
|
+
var splitModifiers = configUtils.splitModifiers, getClassGroupId = configUtils.getClassGroupId, getConflictingClassGroupIds = configUtils.getConflictingClassGroupIds;
|
|
17622
|
+
var classGroupsInConflict = /* @__PURE__ */ new Set();
|
|
17623
|
+
return classList.trim().split(SPLIT_CLASSES_REGEX).map(function(originalClassName) {
|
|
17624
|
+
var _splitModifiers = splitModifiers(originalClassName), modifiers = _splitModifiers.modifiers, hasImportantModifier = _splitModifiers.hasImportantModifier, baseClassName = _splitModifiers.baseClassName, maybePostfixModifierPosition = _splitModifiers.maybePostfixModifierPosition;
|
|
17625
|
+
var classGroupId = getClassGroupId(maybePostfixModifierPosition ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
|
|
17626
|
+
var hasPostfixModifier = Boolean(maybePostfixModifierPosition);
|
|
17627
|
+
if (!classGroupId) {
|
|
17628
|
+
if (!maybePostfixModifierPosition) {
|
|
17629
|
+
return {
|
|
17630
|
+
isTailwindClass: false,
|
|
17631
|
+
originalClassName
|
|
17632
|
+
};
|
|
17633
|
+
}
|
|
17634
|
+
classGroupId = getClassGroupId(baseClassName);
|
|
17635
|
+
if (!classGroupId) {
|
|
17636
|
+
return {
|
|
17637
|
+
isTailwindClass: false,
|
|
17638
|
+
originalClassName
|
|
17639
|
+
};
|
|
17640
|
+
}
|
|
17641
|
+
hasPostfixModifier = false;
|
|
17642
|
+
}
|
|
17643
|
+
var variantModifier = sortModifiers(modifiers).join(":");
|
|
17644
|
+
var modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
|
|
17645
|
+
return {
|
|
17646
|
+
isTailwindClass: true,
|
|
17647
|
+
modifierId,
|
|
17648
|
+
classGroupId,
|
|
17649
|
+
originalClassName,
|
|
17650
|
+
hasPostfixModifier
|
|
17651
|
+
};
|
|
17652
|
+
}).reverse().filter(function(parsed) {
|
|
17653
|
+
if (!parsed.isTailwindClass) {
|
|
17654
|
+
return true;
|
|
17655
|
+
}
|
|
17656
|
+
var modifierId = parsed.modifierId, classGroupId = parsed.classGroupId, hasPostfixModifier = parsed.hasPostfixModifier;
|
|
17657
|
+
var classId = modifierId + classGroupId;
|
|
17658
|
+
if (classGroupsInConflict.has(classId)) {
|
|
17659
|
+
return false;
|
|
17660
|
+
}
|
|
17661
|
+
classGroupsInConflict.add(classId);
|
|
17662
|
+
getConflictingClassGroupIds(classGroupId, hasPostfixModifier).forEach(function(group) {
|
|
17663
|
+
return classGroupsInConflict.add(modifierId + group);
|
|
17664
|
+
});
|
|
17665
|
+
return true;
|
|
17666
|
+
}).reverse().map(function(parsed) {
|
|
17667
|
+
return parsed.originalClassName;
|
|
17668
|
+
}).join(" ");
|
|
17669
|
+
}
|
|
17670
|
+
|
|
17671
|
+
// ../../node_modules/tailwind-merge/dist/lib/create-tailwind-merge.mjs
|
|
17672
|
+
function createTailwindMerge() {
|
|
17673
|
+
for (var _len = arguments.length, createConfig = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
17674
|
+
createConfig[_key] = arguments[_key];
|
|
17675
|
+
}
|
|
17676
|
+
var configUtils;
|
|
17677
|
+
var cacheGet;
|
|
17678
|
+
var cacheSet;
|
|
17679
|
+
var functionToCall = initTailwindMerge;
|
|
17680
|
+
function initTailwindMerge(classList) {
|
|
17681
|
+
var firstCreateConfig = createConfig[0], restCreateConfig = createConfig.slice(1);
|
|
17682
|
+
var config = restCreateConfig.reduce(function(previousConfig, createConfigCurrent) {
|
|
17683
|
+
return createConfigCurrent(previousConfig);
|
|
17684
|
+
}, firstCreateConfig());
|
|
17685
|
+
configUtils = createConfigUtils(config);
|
|
17686
|
+
cacheGet = configUtils.cache.get;
|
|
17687
|
+
cacheSet = configUtils.cache.set;
|
|
17688
|
+
functionToCall = tailwindMerge;
|
|
17689
|
+
return tailwindMerge(classList);
|
|
17690
|
+
}
|
|
17691
|
+
function tailwindMerge(classList) {
|
|
17692
|
+
var cachedResult = cacheGet(classList);
|
|
17693
|
+
if (cachedResult) {
|
|
17694
|
+
return cachedResult;
|
|
17695
|
+
}
|
|
17696
|
+
var result = mergeClassList(classList, configUtils);
|
|
17697
|
+
cacheSet(classList, result);
|
|
17698
|
+
return result;
|
|
17699
|
+
}
|
|
17700
|
+
return function callTailwindMerge() {
|
|
17701
|
+
return functionToCall(twJoin.apply(null, arguments));
|
|
17702
|
+
};
|
|
17703
|
+
}
|
|
17704
|
+
|
|
17705
|
+
// ../../node_modules/tailwind-merge/dist/lib/from-theme.mjs
|
|
17706
|
+
function fromTheme(key) {
|
|
17707
|
+
var themeGetter = function themeGetter2(theme) {
|
|
17708
|
+
return theme[key] || [];
|
|
17709
|
+
};
|
|
17710
|
+
themeGetter.isThemeGetter = true;
|
|
17711
|
+
return themeGetter;
|
|
17712
|
+
}
|
|
17713
|
+
|
|
17714
|
+
// ../../node_modules/tailwind-merge/dist/lib/validators.mjs
|
|
17715
|
+
var arbitraryValueRegex = /^\[(?:([a-z-]+):)?(.+)\]$/i;
|
|
17716
|
+
var fractionRegex = /^\d+\/\d+$/;
|
|
17717
|
+
var stringLengths = /* @__PURE__ */ new Set(["px", "full", "screen"]);
|
|
17718
|
+
var tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
|
|
17719
|
+
var lengthUnitRegex = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))/;
|
|
17720
|
+
var shadowRegex = /^-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
|
|
17721
|
+
function isLength(value) {
|
|
17722
|
+
return isNumber(value) || stringLengths.has(value) || fractionRegex.test(value) || isArbitraryLength(value);
|
|
17723
|
+
}
|
|
17724
|
+
function isArbitraryLength(value) {
|
|
17725
|
+
return getIsArbitraryValue(value, "length", isLengthOnly);
|
|
17726
|
+
}
|
|
17727
|
+
function isArbitrarySize(value) {
|
|
17728
|
+
return getIsArbitraryValue(value, "size", isNever);
|
|
17729
|
+
}
|
|
17730
|
+
function isArbitraryPosition(value) {
|
|
17731
|
+
return getIsArbitraryValue(value, "position", isNever);
|
|
17732
|
+
}
|
|
17733
|
+
function isArbitraryUrl(value) {
|
|
17734
|
+
return getIsArbitraryValue(value, "url", isUrl);
|
|
17735
|
+
}
|
|
17736
|
+
function isArbitraryNumber(value) {
|
|
17737
|
+
return getIsArbitraryValue(value, "number", isNumber);
|
|
17738
|
+
}
|
|
17739
|
+
function isNumber(value) {
|
|
17740
|
+
return !Number.isNaN(Number(value));
|
|
17741
|
+
}
|
|
17742
|
+
function isPercent(value) {
|
|
17743
|
+
return value.endsWith("%") && isNumber(value.slice(0, -1));
|
|
17744
|
+
}
|
|
17745
|
+
function isInteger(value) {
|
|
17746
|
+
return isIntegerOnly(value) || getIsArbitraryValue(value, "number", isIntegerOnly);
|
|
17747
|
+
}
|
|
17748
|
+
function isArbitraryValue(value) {
|
|
17749
|
+
return arbitraryValueRegex.test(value);
|
|
17750
|
+
}
|
|
17751
|
+
function isAny() {
|
|
17752
|
+
return true;
|
|
17753
|
+
}
|
|
17754
|
+
function isTshirtSize(value) {
|
|
17755
|
+
return tshirtUnitRegex.test(value);
|
|
17756
|
+
}
|
|
17757
|
+
function isArbitraryShadow(value) {
|
|
17758
|
+
return getIsArbitraryValue(value, "", isShadow);
|
|
17759
|
+
}
|
|
17760
|
+
function getIsArbitraryValue(value, label, testValue) {
|
|
17761
|
+
var result = arbitraryValueRegex.exec(value);
|
|
17762
|
+
if (result) {
|
|
17763
|
+
if (result[1]) {
|
|
17764
|
+
return result[1] === label;
|
|
17765
|
+
}
|
|
17766
|
+
return testValue(result[2]);
|
|
17767
|
+
}
|
|
17768
|
+
return false;
|
|
17769
|
+
}
|
|
17770
|
+
function isLengthOnly(value) {
|
|
17771
|
+
return lengthUnitRegex.test(value);
|
|
17772
|
+
}
|
|
17773
|
+
function isNever() {
|
|
17774
|
+
return false;
|
|
17775
|
+
}
|
|
17776
|
+
function isUrl(value) {
|
|
17777
|
+
return value.startsWith("url(");
|
|
17778
|
+
}
|
|
17779
|
+
function isIntegerOnly(value) {
|
|
17780
|
+
return Number.isInteger(Number(value));
|
|
17781
|
+
}
|
|
17782
|
+
function isShadow(value) {
|
|
17783
|
+
return shadowRegex.test(value);
|
|
17784
|
+
}
|
|
17785
|
+
|
|
17786
|
+
// ../../node_modules/tailwind-merge/dist/lib/default-config.mjs
|
|
17787
|
+
function getDefaultConfig() {
|
|
17788
|
+
var colors = fromTheme("colors");
|
|
17789
|
+
var spacing = fromTheme("spacing");
|
|
17790
|
+
var blur = fromTheme("blur");
|
|
17791
|
+
var brightness = fromTheme("brightness");
|
|
17792
|
+
var borderColor = fromTheme("borderColor");
|
|
17793
|
+
var borderRadius = fromTheme("borderRadius");
|
|
17794
|
+
var borderSpacing = fromTheme("borderSpacing");
|
|
17795
|
+
var borderWidth = fromTheme("borderWidth");
|
|
17796
|
+
var contrast = fromTheme("contrast");
|
|
17797
|
+
var grayscale = fromTheme("grayscale");
|
|
17798
|
+
var hueRotate = fromTheme("hueRotate");
|
|
17799
|
+
var invert = fromTheme("invert");
|
|
17800
|
+
var gap = fromTheme("gap");
|
|
17801
|
+
var gradientColorStops = fromTheme("gradientColorStops");
|
|
17802
|
+
var gradientColorStopPositions = fromTheme("gradientColorStopPositions");
|
|
17803
|
+
var inset = fromTheme("inset");
|
|
17804
|
+
var margin = fromTheme("margin");
|
|
17805
|
+
var opacity = fromTheme("opacity");
|
|
17806
|
+
var padding = fromTheme("padding");
|
|
17807
|
+
var saturate = fromTheme("saturate");
|
|
17808
|
+
var scale = fromTheme("scale");
|
|
17809
|
+
var sepia = fromTheme("sepia");
|
|
17810
|
+
var skew = fromTheme("skew");
|
|
17811
|
+
var space = fromTheme("space");
|
|
17812
|
+
var translate = fromTheme("translate");
|
|
17813
|
+
var getOverscroll = function getOverscroll2() {
|
|
17814
|
+
return ["auto", "contain", "none"];
|
|
17815
|
+
};
|
|
17816
|
+
var getOverflow = function getOverflow2() {
|
|
17817
|
+
return ["auto", "hidden", "clip", "visible", "scroll"];
|
|
17818
|
+
};
|
|
17819
|
+
var getSpacingWithAuto = function getSpacingWithAuto2() {
|
|
17820
|
+
return ["auto", spacing];
|
|
17821
|
+
};
|
|
17822
|
+
var getLengthWithEmpty = function getLengthWithEmpty2() {
|
|
17823
|
+
return ["", isLength];
|
|
17824
|
+
};
|
|
17825
|
+
var getNumberWithAutoAndArbitrary = function getNumberWithAutoAndArbitrary2() {
|
|
17826
|
+
return ["auto", isNumber, isArbitraryValue];
|
|
17827
|
+
};
|
|
17828
|
+
var getPositions = function getPositions2() {
|
|
17829
|
+
return ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"];
|
|
17830
|
+
};
|
|
17831
|
+
var getLineStyles = function getLineStyles2() {
|
|
17832
|
+
return ["solid", "dashed", "dotted", "double", "none"];
|
|
17833
|
+
};
|
|
17834
|
+
var getBlendModes = function getBlendModes2() {
|
|
17835
|
+
return ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity", "plus-lighter"];
|
|
17836
|
+
};
|
|
17837
|
+
var getAlign = function getAlign2() {
|
|
17838
|
+
return ["start", "end", "center", "between", "around", "evenly", "stretch"];
|
|
17839
|
+
};
|
|
17840
|
+
var getZeroAndEmpty = function getZeroAndEmpty2() {
|
|
17841
|
+
return ["", "0", isArbitraryValue];
|
|
17842
|
+
};
|
|
17843
|
+
var getBreaks = function getBreaks2() {
|
|
17844
|
+
return ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
|
|
17845
|
+
};
|
|
17846
|
+
var getNumber = function getNumber2() {
|
|
17847
|
+
return [isNumber, isArbitraryNumber];
|
|
17848
|
+
};
|
|
17849
|
+
var getNumberAndArbitrary = function getNumberAndArbitrary2() {
|
|
17850
|
+
return [isNumber, isArbitraryValue];
|
|
17851
|
+
};
|
|
17852
|
+
return {
|
|
17853
|
+
cacheSize: 500,
|
|
17854
|
+
theme: {
|
|
17855
|
+
colors: [isAny],
|
|
17856
|
+
spacing: [isLength],
|
|
17857
|
+
blur: ["none", "", isTshirtSize, isArbitraryLength],
|
|
17858
|
+
brightness: getNumber(),
|
|
17859
|
+
borderColor: [colors],
|
|
17860
|
+
borderRadius: ["none", "", "full", isTshirtSize, isArbitraryLength],
|
|
17861
|
+
borderSpacing: [spacing],
|
|
17862
|
+
borderWidth: getLengthWithEmpty(),
|
|
17863
|
+
contrast: getNumber(),
|
|
17864
|
+
grayscale: getZeroAndEmpty(),
|
|
17865
|
+
hueRotate: getNumberAndArbitrary(),
|
|
17866
|
+
invert: getZeroAndEmpty(),
|
|
17867
|
+
gap: [spacing],
|
|
17868
|
+
gradientColorStops: [colors],
|
|
17869
|
+
gradientColorStopPositions: [isPercent, isArbitraryLength],
|
|
17870
|
+
inset: getSpacingWithAuto(),
|
|
17871
|
+
margin: getSpacingWithAuto(),
|
|
17872
|
+
opacity: getNumber(),
|
|
17873
|
+
padding: [spacing],
|
|
17874
|
+
saturate: getNumber(),
|
|
17875
|
+
scale: getNumber(),
|
|
17876
|
+
sepia: getZeroAndEmpty(),
|
|
17877
|
+
skew: getNumberAndArbitrary(),
|
|
17878
|
+
space: [spacing],
|
|
17879
|
+
translate: [spacing]
|
|
17880
|
+
},
|
|
17881
|
+
classGroups: {
|
|
17882
|
+
// Layout
|
|
17883
|
+
/**
|
|
17884
|
+
* Aspect Ratio
|
|
17885
|
+
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
17886
|
+
*/
|
|
17887
|
+
aspect: [{
|
|
17888
|
+
aspect: ["auto", "square", "video", isArbitraryValue]
|
|
17889
|
+
}],
|
|
17890
|
+
/**
|
|
17891
|
+
* Container
|
|
17892
|
+
* @see https://tailwindcss.com/docs/container
|
|
17893
|
+
*/
|
|
17894
|
+
container: ["container"],
|
|
17895
|
+
/**
|
|
17896
|
+
* Columns
|
|
17897
|
+
* @see https://tailwindcss.com/docs/columns
|
|
17898
|
+
*/
|
|
17899
|
+
columns: [{
|
|
17900
|
+
columns: [isTshirtSize]
|
|
17901
|
+
}],
|
|
17902
|
+
/**
|
|
17903
|
+
* Break After
|
|
17904
|
+
* @see https://tailwindcss.com/docs/break-after
|
|
17905
|
+
*/
|
|
17906
|
+
"break-after": [{
|
|
17907
|
+
"break-after": getBreaks()
|
|
17908
|
+
}],
|
|
17909
|
+
/**
|
|
17910
|
+
* Break Before
|
|
17911
|
+
* @see https://tailwindcss.com/docs/break-before
|
|
17912
|
+
*/
|
|
17913
|
+
"break-before": [{
|
|
17914
|
+
"break-before": getBreaks()
|
|
17915
|
+
}],
|
|
17916
|
+
/**
|
|
17917
|
+
* Break Inside
|
|
17918
|
+
* @see https://tailwindcss.com/docs/break-inside
|
|
17919
|
+
*/
|
|
17920
|
+
"break-inside": [{
|
|
17921
|
+
"break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
|
|
17922
|
+
}],
|
|
17923
|
+
/**
|
|
17924
|
+
* Box Decoration Break
|
|
17925
|
+
* @see https://tailwindcss.com/docs/box-decoration-break
|
|
17926
|
+
*/
|
|
17927
|
+
"box-decoration": [{
|
|
17928
|
+
"box-decoration": ["slice", "clone"]
|
|
17929
|
+
}],
|
|
17930
|
+
/**
|
|
17931
|
+
* Box Sizing
|
|
17932
|
+
* @see https://tailwindcss.com/docs/box-sizing
|
|
17933
|
+
*/
|
|
17934
|
+
box: [{
|
|
17935
|
+
box: ["border", "content"]
|
|
17936
|
+
}],
|
|
17937
|
+
/**
|
|
17938
|
+
* Display
|
|
17939
|
+
* @see https://tailwindcss.com/docs/display
|
|
17940
|
+
*/
|
|
17941
|
+
display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
|
|
17942
|
+
/**
|
|
17943
|
+
* Floats
|
|
17944
|
+
* @see https://tailwindcss.com/docs/float
|
|
17945
|
+
*/
|
|
17946
|
+
"float": [{
|
|
17947
|
+
"float": ["right", "left", "none"]
|
|
17948
|
+
}],
|
|
17949
|
+
/**
|
|
17950
|
+
* Clear
|
|
17951
|
+
* @see https://tailwindcss.com/docs/clear
|
|
17952
|
+
*/
|
|
17953
|
+
clear: [{
|
|
17954
|
+
clear: ["left", "right", "both", "none"]
|
|
17955
|
+
}],
|
|
17956
|
+
/**
|
|
17957
|
+
* Isolation
|
|
17958
|
+
* @see https://tailwindcss.com/docs/isolation
|
|
17959
|
+
*/
|
|
17960
|
+
isolation: ["isolate", "isolation-auto"],
|
|
17961
|
+
/**
|
|
17962
|
+
* Object Fit
|
|
17963
|
+
* @see https://tailwindcss.com/docs/object-fit
|
|
17964
|
+
*/
|
|
17965
|
+
"object-fit": [{
|
|
17966
|
+
object: ["contain", "cover", "fill", "none", "scale-down"]
|
|
17967
|
+
}],
|
|
17968
|
+
/**
|
|
17969
|
+
* Object Position
|
|
17970
|
+
* @see https://tailwindcss.com/docs/object-position
|
|
17971
|
+
*/
|
|
17972
|
+
"object-position": [{
|
|
17973
|
+
object: [].concat(getPositions(), [isArbitraryValue])
|
|
17974
|
+
}],
|
|
17975
|
+
/**
|
|
17976
|
+
* Overflow
|
|
17977
|
+
* @see https://tailwindcss.com/docs/overflow
|
|
17978
|
+
*/
|
|
17979
|
+
overflow: [{
|
|
17980
|
+
overflow: getOverflow()
|
|
17981
|
+
}],
|
|
17982
|
+
/**
|
|
17983
|
+
* Overflow X
|
|
17984
|
+
* @see https://tailwindcss.com/docs/overflow
|
|
17985
|
+
*/
|
|
17986
|
+
"overflow-x": [{
|
|
17987
|
+
"overflow-x": getOverflow()
|
|
17988
|
+
}],
|
|
17989
|
+
/**
|
|
17990
|
+
* Overflow Y
|
|
17991
|
+
* @see https://tailwindcss.com/docs/overflow
|
|
17992
|
+
*/
|
|
17993
|
+
"overflow-y": [{
|
|
17994
|
+
"overflow-y": getOverflow()
|
|
17995
|
+
}],
|
|
17996
|
+
/**
|
|
17997
|
+
* Overscroll Behavior
|
|
17998
|
+
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
17999
|
+
*/
|
|
18000
|
+
overscroll: [{
|
|
18001
|
+
overscroll: getOverscroll()
|
|
18002
|
+
}],
|
|
18003
|
+
/**
|
|
18004
|
+
* Overscroll Behavior X
|
|
18005
|
+
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
18006
|
+
*/
|
|
18007
|
+
"overscroll-x": [{
|
|
18008
|
+
"overscroll-x": getOverscroll()
|
|
18009
|
+
}],
|
|
18010
|
+
/**
|
|
18011
|
+
* Overscroll Behavior Y
|
|
18012
|
+
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
18013
|
+
*/
|
|
18014
|
+
"overscroll-y": [{
|
|
18015
|
+
"overscroll-y": getOverscroll()
|
|
18016
|
+
}],
|
|
18017
|
+
/**
|
|
18018
|
+
* Position
|
|
18019
|
+
* @see https://tailwindcss.com/docs/position
|
|
18020
|
+
*/
|
|
18021
|
+
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
18022
|
+
/**
|
|
18023
|
+
* Top / Right / Bottom / Left
|
|
18024
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
18025
|
+
*/
|
|
18026
|
+
inset: [{
|
|
18027
|
+
inset: [inset]
|
|
18028
|
+
}],
|
|
18029
|
+
/**
|
|
18030
|
+
* Right / Left
|
|
18031
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
18032
|
+
*/
|
|
18033
|
+
"inset-x": [{
|
|
18034
|
+
"inset-x": [inset]
|
|
18035
|
+
}],
|
|
18036
|
+
/**
|
|
18037
|
+
* Top / Bottom
|
|
18038
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
18039
|
+
*/
|
|
18040
|
+
"inset-y": [{
|
|
18041
|
+
"inset-y": [inset]
|
|
18042
|
+
}],
|
|
18043
|
+
/**
|
|
18044
|
+
* Start
|
|
18045
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
18046
|
+
*/
|
|
18047
|
+
start: [{
|
|
18048
|
+
start: [inset]
|
|
18049
|
+
}],
|
|
18050
|
+
/**
|
|
18051
|
+
* End
|
|
18052
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
18053
|
+
*/
|
|
18054
|
+
end: [{
|
|
18055
|
+
end: [inset]
|
|
18056
|
+
}],
|
|
18057
|
+
/**
|
|
18058
|
+
* Top
|
|
18059
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
18060
|
+
*/
|
|
18061
|
+
top: [{
|
|
18062
|
+
top: [inset]
|
|
18063
|
+
}],
|
|
18064
|
+
/**
|
|
18065
|
+
* Right
|
|
18066
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
18067
|
+
*/
|
|
18068
|
+
right: [{
|
|
18069
|
+
right: [inset]
|
|
18070
|
+
}],
|
|
18071
|
+
/**
|
|
18072
|
+
* Bottom
|
|
18073
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
18074
|
+
*/
|
|
18075
|
+
bottom: [{
|
|
18076
|
+
bottom: [inset]
|
|
18077
|
+
}],
|
|
18078
|
+
/**
|
|
18079
|
+
* Left
|
|
18080
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
18081
|
+
*/
|
|
18082
|
+
left: [{
|
|
18083
|
+
left: [inset]
|
|
18084
|
+
}],
|
|
18085
|
+
/**
|
|
18086
|
+
* Visibility
|
|
18087
|
+
* @see https://tailwindcss.com/docs/visibility
|
|
18088
|
+
*/
|
|
18089
|
+
visibility: ["visible", "invisible", "collapse"],
|
|
18090
|
+
/**
|
|
18091
|
+
* Z-Index
|
|
18092
|
+
* @see https://tailwindcss.com/docs/z-index
|
|
18093
|
+
*/
|
|
18094
|
+
z: [{
|
|
18095
|
+
z: ["auto", isInteger]
|
|
18096
|
+
}],
|
|
18097
|
+
// Flexbox and Grid
|
|
18098
|
+
/**
|
|
18099
|
+
* Flex Basis
|
|
18100
|
+
* @see https://tailwindcss.com/docs/flex-basis
|
|
18101
|
+
*/
|
|
18102
|
+
basis: [{
|
|
18103
|
+
basis: [spacing]
|
|
18104
|
+
}],
|
|
18105
|
+
/**
|
|
18106
|
+
* Flex Direction
|
|
18107
|
+
* @see https://tailwindcss.com/docs/flex-direction
|
|
18108
|
+
*/
|
|
18109
|
+
"flex-direction": [{
|
|
18110
|
+
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
18111
|
+
}],
|
|
18112
|
+
/**
|
|
18113
|
+
* Flex Wrap
|
|
18114
|
+
* @see https://tailwindcss.com/docs/flex-wrap
|
|
18115
|
+
*/
|
|
18116
|
+
"flex-wrap": [{
|
|
18117
|
+
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
18118
|
+
}],
|
|
18119
|
+
/**
|
|
18120
|
+
* Flex
|
|
18121
|
+
* @see https://tailwindcss.com/docs/flex
|
|
18122
|
+
*/
|
|
18123
|
+
flex: [{
|
|
18124
|
+
flex: ["1", "auto", "initial", "none", isArbitraryValue]
|
|
18125
|
+
}],
|
|
18126
|
+
/**
|
|
18127
|
+
* Flex Grow
|
|
18128
|
+
* @see https://tailwindcss.com/docs/flex-grow
|
|
18129
|
+
*/
|
|
18130
|
+
grow: [{
|
|
18131
|
+
grow: getZeroAndEmpty()
|
|
18132
|
+
}],
|
|
18133
|
+
/**
|
|
18134
|
+
* Flex Shrink
|
|
18135
|
+
* @see https://tailwindcss.com/docs/flex-shrink
|
|
18136
|
+
*/
|
|
18137
|
+
shrink: [{
|
|
18138
|
+
shrink: getZeroAndEmpty()
|
|
18139
|
+
}],
|
|
18140
|
+
/**
|
|
18141
|
+
* Order
|
|
18142
|
+
* @see https://tailwindcss.com/docs/order
|
|
18143
|
+
*/
|
|
18144
|
+
order: [{
|
|
18145
|
+
order: ["first", "last", "none", isInteger]
|
|
18146
|
+
}],
|
|
18147
|
+
/**
|
|
18148
|
+
* Grid Template Columns
|
|
18149
|
+
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
18150
|
+
*/
|
|
18151
|
+
"grid-cols": [{
|
|
18152
|
+
"grid-cols": [isAny]
|
|
18153
|
+
}],
|
|
18154
|
+
/**
|
|
18155
|
+
* Grid Column Start / End
|
|
18156
|
+
* @see https://tailwindcss.com/docs/grid-column
|
|
18157
|
+
*/
|
|
18158
|
+
"col-start-end": [{
|
|
18159
|
+
col: ["auto", {
|
|
18160
|
+
span: [isInteger]
|
|
18161
|
+
}, isArbitraryValue]
|
|
18162
|
+
}],
|
|
18163
|
+
/**
|
|
18164
|
+
* Grid Column Start
|
|
18165
|
+
* @see https://tailwindcss.com/docs/grid-column
|
|
18166
|
+
*/
|
|
18167
|
+
"col-start": [{
|
|
18168
|
+
"col-start": getNumberWithAutoAndArbitrary()
|
|
18169
|
+
}],
|
|
18170
|
+
/**
|
|
18171
|
+
* Grid Column End
|
|
18172
|
+
* @see https://tailwindcss.com/docs/grid-column
|
|
18173
|
+
*/
|
|
18174
|
+
"col-end": [{
|
|
18175
|
+
"col-end": getNumberWithAutoAndArbitrary()
|
|
18176
|
+
}],
|
|
18177
|
+
/**
|
|
18178
|
+
* Grid Template Rows
|
|
18179
|
+
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
18180
|
+
*/
|
|
18181
|
+
"grid-rows": [{
|
|
18182
|
+
"grid-rows": [isAny]
|
|
18183
|
+
}],
|
|
18184
|
+
/**
|
|
18185
|
+
* Grid Row Start / End
|
|
18186
|
+
* @see https://tailwindcss.com/docs/grid-row
|
|
18187
|
+
*/
|
|
18188
|
+
"row-start-end": [{
|
|
18189
|
+
row: ["auto", {
|
|
18190
|
+
span: [isInteger]
|
|
18191
|
+
}, isArbitraryValue]
|
|
18192
|
+
}],
|
|
18193
|
+
/**
|
|
18194
|
+
* Grid Row Start
|
|
18195
|
+
* @see https://tailwindcss.com/docs/grid-row
|
|
18196
|
+
*/
|
|
18197
|
+
"row-start": [{
|
|
18198
|
+
"row-start": getNumberWithAutoAndArbitrary()
|
|
18199
|
+
}],
|
|
18200
|
+
/**
|
|
18201
|
+
* Grid Row End
|
|
18202
|
+
* @see https://tailwindcss.com/docs/grid-row
|
|
18203
|
+
*/
|
|
18204
|
+
"row-end": [{
|
|
18205
|
+
"row-end": getNumberWithAutoAndArbitrary()
|
|
18206
|
+
}],
|
|
18207
|
+
/**
|
|
18208
|
+
* Grid Auto Flow
|
|
18209
|
+
* @see https://tailwindcss.com/docs/grid-auto-flow
|
|
18210
|
+
*/
|
|
18211
|
+
"grid-flow": [{
|
|
18212
|
+
"grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
|
|
18213
|
+
}],
|
|
18214
|
+
/**
|
|
18215
|
+
* Grid Auto Columns
|
|
18216
|
+
* @see https://tailwindcss.com/docs/grid-auto-columns
|
|
18217
|
+
*/
|
|
18218
|
+
"auto-cols": [{
|
|
18219
|
+
"auto-cols": ["auto", "min", "max", "fr", isArbitraryValue]
|
|
18220
|
+
}],
|
|
18221
|
+
/**
|
|
18222
|
+
* Grid Auto Rows
|
|
18223
|
+
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
18224
|
+
*/
|
|
18225
|
+
"auto-rows": [{
|
|
18226
|
+
"auto-rows": ["auto", "min", "max", "fr", isArbitraryValue]
|
|
18227
|
+
}],
|
|
18228
|
+
/**
|
|
18229
|
+
* Gap
|
|
18230
|
+
* @see https://tailwindcss.com/docs/gap
|
|
18231
|
+
*/
|
|
18232
|
+
gap: [{
|
|
18233
|
+
gap: [gap]
|
|
18234
|
+
}],
|
|
18235
|
+
/**
|
|
18236
|
+
* Gap X
|
|
18237
|
+
* @see https://tailwindcss.com/docs/gap
|
|
18238
|
+
*/
|
|
18239
|
+
"gap-x": [{
|
|
18240
|
+
"gap-x": [gap]
|
|
18241
|
+
}],
|
|
18242
|
+
/**
|
|
18243
|
+
* Gap Y
|
|
18244
|
+
* @see https://tailwindcss.com/docs/gap
|
|
18245
|
+
*/
|
|
18246
|
+
"gap-y": [{
|
|
18247
|
+
"gap-y": [gap]
|
|
18248
|
+
}],
|
|
18249
|
+
/**
|
|
18250
|
+
* Justify Content
|
|
18251
|
+
* @see https://tailwindcss.com/docs/justify-content
|
|
18252
|
+
*/
|
|
18253
|
+
"justify-content": [{
|
|
18254
|
+
justify: ["normal"].concat(getAlign())
|
|
18255
|
+
}],
|
|
18256
|
+
/**
|
|
18257
|
+
* Justify Items
|
|
18258
|
+
* @see https://tailwindcss.com/docs/justify-items
|
|
18259
|
+
*/
|
|
18260
|
+
"justify-items": [{
|
|
18261
|
+
"justify-items": ["start", "end", "center", "stretch"]
|
|
18262
|
+
}],
|
|
18263
|
+
/**
|
|
18264
|
+
* Justify Self
|
|
18265
|
+
* @see https://tailwindcss.com/docs/justify-self
|
|
18266
|
+
*/
|
|
18267
|
+
"justify-self": [{
|
|
18268
|
+
"justify-self": ["auto", "start", "end", "center", "stretch"]
|
|
18269
|
+
}],
|
|
18270
|
+
/**
|
|
18271
|
+
* Align Content
|
|
18272
|
+
* @see https://tailwindcss.com/docs/align-content
|
|
18273
|
+
*/
|
|
18274
|
+
"align-content": [{
|
|
18275
|
+
content: ["normal"].concat(getAlign(), ["baseline"])
|
|
18276
|
+
}],
|
|
18277
|
+
/**
|
|
18278
|
+
* Align Items
|
|
18279
|
+
* @see https://tailwindcss.com/docs/align-items
|
|
18280
|
+
*/
|
|
18281
|
+
"align-items": [{
|
|
18282
|
+
items: ["start", "end", "center", "baseline", "stretch"]
|
|
18283
|
+
}],
|
|
18284
|
+
/**
|
|
18285
|
+
* Align Self
|
|
18286
|
+
* @see https://tailwindcss.com/docs/align-self
|
|
18287
|
+
*/
|
|
18288
|
+
"align-self": [{
|
|
18289
|
+
self: ["auto", "start", "end", "center", "stretch", "baseline"]
|
|
18290
|
+
}],
|
|
18291
|
+
/**
|
|
18292
|
+
* Place Content
|
|
18293
|
+
* @see https://tailwindcss.com/docs/place-content
|
|
18294
|
+
*/
|
|
18295
|
+
"place-content": [{
|
|
18296
|
+
"place-content": [].concat(getAlign(), ["baseline"])
|
|
18297
|
+
}],
|
|
18298
|
+
/**
|
|
18299
|
+
* Place Items
|
|
18300
|
+
* @see https://tailwindcss.com/docs/place-items
|
|
18301
|
+
*/
|
|
18302
|
+
"place-items": [{
|
|
18303
|
+
"place-items": ["start", "end", "center", "baseline", "stretch"]
|
|
18304
|
+
}],
|
|
18305
|
+
/**
|
|
18306
|
+
* Place Self
|
|
18307
|
+
* @see https://tailwindcss.com/docs/place-self
|
|
18308
|
+
*/
|
|
18309
|
+
"place-self": [{
|
|
18310
|
+
"place-self": ["auto", "start", "end", "center", "stretch"]
|
|
18311
|
+
}],
|
|
18312
|
+
// Spacing
|
|
18313
|
+
/**
|
|
18314
|
+
* Padding
|
|
18315
|
+
* @see https://tailwindcss.com/docs/padding
|
|
18316
|
+
*/
|
|
18317
|
+
p: [{
|
|
18318
|
+
p: [padding]
|
|
18319
|
+
}],
|
|
18320
|
+
/**
|
|
18321
|
+
* Padding X
|
|
18322
|
+
* @see https://tailwindcss.com/docs/padding
|
|
18323
|
+
*/
|
|
18324
|
+
px: [{
|
|
18325
|
+
px: [padding]
|
|
18326
|
+
}],
|
|
18327
|
+
/**
|
|
18328
|
+
* Padding Y
|
|
18329
|
+
* @see https://tailwindcss.com/docs/padding
|
|
18330
|
+
*/
|
|
18331
|
+
py: [{
|
|
18332
|
+
py: [padding]
|
|
18333
|
+
}],
|
|
18334
|
+
/**
|
|
18335
|
+
* Padding Start
|
|
18336
|
+
* @see https://tailwindcss.com/docs/padding
|
|
18337
|
+
*/
|
|
18338
|
+
ps: [{
|
|
18339
|
+
ps: [padding]
|
|
18340
|
+
}],
|
|
18341
|
+
/**
|
|
18342
|
+
* Padding End
|
|
18343
|
+
* @see https://tailwindcss.com/docs/padding
|
|
18344
|
+
*/
|
|
18345
|
+
pe: [{
|
|
18346
|
+
pe: [padding]
|
|
18347
|
+
}],
|
|
18348
|
+
/**
|
|
18349
|
+
* Padding Top
|
|
18350
|
+
* @see https://tailwindcss.com/docs/padding
|
|
18351
|
+
*/
|
|
18352
|
+
pt: [{
|
|
18353
|
+
pt: [padding]
|
|
18354
|
+
}],
|
|
18355
|
+
/**
|
|
18356
|
+
* Padding Right
|
|
18357
|
+
* @see https://tailwindcss.com/docs/padding
|
|
18358
|
+
*/
|
|
18359
|
+
pr: [{
|
|
18360
|
+
pr: [padding]
|
|
18361
|
+
}],
|
|
18362
|
+
/**
|
|
18363
|
+
* Padding Bottom
|
|
18364
|
+
* @see https://tailwindcss.com/docs/padding
|
|
18365
|
+
*/
|
|
18366
|
+
pb: [{
|
|
18367
|
+
pb: [padding]
|
|
18368
|
+
}],
|
|
18369
|
+
/**
|
|
18370
|
+
* Padding Left
|
|
18371
|
+
* @see https://tailwindcss.com/docs/padding
|
|
18372
|
+
*/
|
|
18373
|
+
pl: [{
|
|
18374
|
+
pl: [padding]
|
|
18375
|
+
}],
|
|
18376
|
+
/**
|
|
18377
|
+
* Margin
|
|
18378
|
+
* @see https://tailwindcss.com/docs/margin
|
|
18379
|
+
*/
|
|
18380
|
+
m: [{
|
|
18381
|
+
m: [margin]
|
|
18382
|
+
}],
|
|
18383
|
+
/**
|
|
18384
|
+
* Margin X
|
|
18385
|
+
* @see https://tailwindcss.com/docs/margin
|
|
18386
|
+
*/
|
|
18387
|
+
mx: [{
|
|
18388
|
+
mx: [margin]
|
|
18389
|
+
}],
|
|
18390
|
+
/**
|
|
18391
|
+
* Margin Y
|
|
18392
|
+
* @see https://tailwindcss.com/docs/margin
|
|
18393
|
+
*/
|
|
18394
|
+
my: [{
|
|
18395
|
+
my: [margin]
|
|
18396
|
+
}],
|
|
18397
|
+
/**
|
|
18398
|
+
* Margin Start
|
|
18399
|
+
* @see https://tailwindcss.com/docs/margin
|
|
18400
|
+
*/
|
|
18401
|
+
ms: [{
|
|
18402
|
+
ms: [margin]
|
|
18403
|
+
}],
|
|
18404
|
+
/**
|
|
18405
|
+
* Margin End
|
|
18406
|
+
* @see https://tailwindcss.com/docs/margin
|
|
18407
|
+
*/
|
|
18408
|
+
me: [{
|
|
18409
|
+
me: [margin]
|
|
18410
|
+
}],
|
|
18411
|
+
/**
|
|
18412
|
+
* Margin Top
|
|
18413
|
+
* @see https://tailwindcss.com/docs/margin
|
|
18414
|
+
*/
|
|
18415
|
+
mt: [{
|
|
18416
|
+
mt: [margin]
|
|
18417
|
+
}],
|
|
18418
|
+
/**
|
|
18419
|
+
* Margin Right
|
|
18420
|
+
* @see https://tailwindcss.com/docs/margin
|
|
18421
|
+
*/
|
|
18422
|
+
mr: [{
|
|
18423
|
+
mr: [margin]
|
|
18424
|
+
}],
|
|
18425
|
+
/**
|
|
18426
|
+
* Margin Bottom
|
|
18427
|
+
* @see https://tailwindcss.com/docs/margin
|
|
18428
|
+
*/
|
|
18429
|
+
mb: [{
|
|
18430
|
+
mb: [margin]
|
|
18431
|
+
}],
|
|
18432
|
+
/**
|
|
18433
|
+
* Margin Left
|
|
18434
|
+
* @see https://tailwindcss.com/docs/margin
|
|
18435
|
+
*/
|
|
18436
|
+
ml: [{
|
|
18437
|
+
ml: [margin]
|
|
18438
|
+
}],
|
|
18439
|
+
/**
|
|
18440
|
+
* Space Between X
|
|
18441
|
+
* @see https://tailwindcss.com/docs/space
|
|
18442
|
+
*/
|
|
18443
|
+
"space-x": [{
|
|
18444
|
+
"space-x": [space]
|
|
18445
|
+
}],
|
|
18446
|
+
/**
|
|
18447
|
+
* Space Between X Reverse
|
|
18448
|
+
* @see https://tailwindcss.com/docs/space
|
|
18449
|
+
*/
|
|
18450
|
+
"space-x-reverse": ["space-x-reverse"],
|
|
18451
|
+
/**
|
|
18452
|
+
* Space Between Y
|
|
18453
|
+
* @see https://tailwindcss.com/docs/space
|
|
18454
|
+
*/
|
|
18455
|
+
"space-y": [{
|
|
18456
|
+
"space-y": [space]
|
|
18457
|
+
}],
|
|
18458
|
+
/**
|
|
18459
|
+
* Space Between Y Reverse
|
|
18460
|
+
* @see https://tailwindcss.com/docs/space
|
|
18461
|
+
*/
|
|
18462
|
+
"space-y-reverse": ["space-y-reverse"],
|
|
18463
|
+
// Sizing
|
|
18464
|
+
/**
|
|
18465
|
+
* Width
|
|
18466
|
+
* @see https://tailwindcss.com/docs/width
|
|
18467
|
+
*/
|
|
18468
|
+
w: [{
|
|
18469
|
+
w: ["auto", "min", "max", "fit", spacing]
|
|
18470
|
+
}],
|
|
18471
|
+
/**
|
|
18472
|
+
* Min-Width
|
|
18473
|
+
* @see https://tailwindcss.com/docs/min-width
|
|
18474
|
+
*/
|
|
18475
|
+
"min-w": [{
|
|
18476
|
+
"min-w": ["min", "max", "fit", isLength]
|
|
18477
|
+
}],
|
|
18478
|
+
/**
|
|
18479
|
+
* Max-Width
|
|
18480
|
+
* @see https://tailwindcss.com/docs/max-width
|
|
18481
|
+
*/
|
|
18482
|
+
"max-w": [{
|
|
18483
|
+
"max-w": ["0", "none", "full", "min", "max", "fit", "prose", {
|
|
18484
|
+
screen: [isTshirtSize]
|
|
18485
|
+
}, isTshirtSize, isArbitraryLength]
|
|
18486
|
+
}],
|
|
18487
|
+
/**
|
|
18488
|
+
* Height
|
|
18489
|
+
* @see https://tailwindcss.com/docs/height
|
|
18490
|
+
*/
|
|
18491
|
+
h: [{
|
|
18492
|
+
h: [spacing, "auto", "min", "max", "fit"]
|
|
18493
|
+
}],
|
|
18494
|
+
/**
|
|
18495
|
+
* Min-Height
|
|
18496
|
+
* @see https://tailwindcss.com/docs/min-height
|
|
18497
|
+
*/
|
|
18498
|
+
"min-h": [{
|
|
18499
|
+
"min-h": ["min", "max", "fit", isLength]
|
|
18500
|
+
}],
|
|
18501
|
+
/**
|
|
18502
|
+
* Max-Height
|
|
18503
|
+
* @see https://tailwindcss.com/docs/max-height
|
|
18504
|
+
*/
|
|
18505
|
+
"max-h": [{
|
|
18506
|
+
"max-h": [spacing, "min", "max", "fit"]
|
|
18507
|
+
}],
|
|
18508
|
+
// Typography
|
|
18509
|
+
/**
|
|
18510
|
+
* Font Size
|
|
18511
|
+
* @see https://tailwindcss.com/docs/font-size
|
|
18512
|
+
*/
|
|
18513
|
+
"font-size": [{
|
|
18514
|
+
text: ["base", isTshirtSize, isArbitraryLength]
|
|
18515
|
+
}],
|
|
18516
|
+
/**
|
|
18517
|
+
* Font Smoothing
|
|
18518
|
+
* @see https://tailwindcss.com/docs/font-smoothing
|
|
18519
|
+
*/
|
|
18520
|
+
"font-smoothing": ["antialiased", "subpixel-antialiased"],
|
|
18521
|
+
/**
|
|
18522
|
+
* Font Style
|
|
18523
|
+
* @see https://tailwindcss.com/docs/font-style
|
|
18524
|
+
*/
|
|
18525
|
+
"font-style": ["italic", "not-italic"],
|
|
18526
|
+
/**
|
|
18527
|
+
* Font Weight
|
|
18528
|
+
* @see https://tailwindcss.com/docs/font-weight
|
|
18529
|
+
*/
|
|
18530
|
+
"font-weight": [{
|
|
18531
|
+
font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", isArbitraryNumber]
|
|
18532
|
+
}],
|
|
18533
|
+
/**
|
|
18534
|
+
* Font Family
|
|
18535
|
+
* @see https://tailwindcss.com/docs/font-family
|
|
18536
|
+
*/
|
|
18537
|
+
"font-family": [{
|
|
18538
|
+
font: [isAny]
|
|
18539
|
+
}],
|
|
18540
|
+
/**
|
|
18541
|
+
* Font Variant Numeric
|
|
18542
|
+
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
18543
|
+
*/
|
|
18544
|
+
"fvn-normal": ["normal-nums"],
|
|
18545
|
+
/**
|
|
18546
|
+
* Font Variant Numeric
|
|
18547
|
+
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
18548
|
+
*/
|
|
18549
|
+
"fvn-ordinal": ["ordinal"],
|
|
18550
|
+
/**
|
|
18551
|
+
* Font Variant Numeric
|
|
18552
|
+
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
18553
|
+
*/
|
|
18554
|
+
"fvn-slashed-zero": ["slashed-zero"],
|
|
18555
|
+
/**
|
|
18556
|
+
* Font Variant Numeric
|
|
18557
|
+
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
18558
|
+
*/
|
|
18559
|
+
"fvn-figure": ["lining-nums", "oldstyle-nums"],
|
|
18560
|
+
/**
|
|
18561
|
+
* Font Variant Numeric
|
|
18562
|
+
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
18563
|
+
*/
|
|
18564
|
+
"fvn-spacing": ["proportional-nums", "tabular-nums"],
|
|
18565
|
+
/**
|
|
18566
|
+
* Font Variant Numeric
|
|
18567
|
+
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
18568
|
+
*/
|
|
18569
|
+
"fvn-fraction": ["diagonal-fractions", "stacked-fractons"],
|
|
18570
|
+
/**
|
|
18571
|
+
* Letter Spacing
|
|
18572
|
+
* @see https://tailwindcss.com/docs/letter-spacing
|
|
18573
|
+
*/
|
|
18574
|
+
tracking: [{
|
|
18575
|
+
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", isArbitraryLength]
|
|
18576
|
+
}],
|
|
18577
|
+
/**
|
|
18578
|
+
* Line Clamp
|
|
18579
|
+
* @see https://tailwindcss.com/docs/line-clamp
|
|
18580
|
+
*/
|
|
18581
|
+
"line-clamp": [{
|
|
18582
|
+
"line-clamp": ["none", isNumber, isArbitraryNumber]
|
|
18583
|
+
}],
|
|
18584
|
+
/**
|
|
18585
|
+
* Line Height
|
|
18586
|
+
* @see https://tailwindcss.com/docs/line-height
|
|
18587
|
+
*/
|
|
18588
|
+
leading: [{
|
|
18589
|
+
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", isLength]
|
|
18590
|
+
}],
|
|
18591
|
+
/**
|
|
18592
|
+
* List Style Image
|
|
18593
|
+
* @see https://tailwindcss.com/docs/list-style-image
|
|
18594
|
+
*/
|
|
18595
|
+
"list-image": [{
|
|
18596
|
+
"list-image": ["none", isArbitraryValue]
|
|
18597
|
+
}],
|
|
18598
|
+
/**
|
|
18599
|
+
* List Style Type
|
|
18600
|
+
* @see https://tailwindcss.com/docs/list-style-type
|
|
18601
|
+
*/
|
|
18602
|
+
"list-style-type": [{
|
|
18603
|
+
list: ["none", "disc", "decimal", isArbitraryValue]
|
|
18604
|
+
}],
|
|
18605
|
+
/**
|
|
18606
|
+
* List Style Position
|
|
18607
|
+
* @see https://tailwindcss.com/docs/list-style-position
|
|
18608
|
+
*/
|
|
18609
|
+
"list-style-position": [{
|
|
18610
|
+
list: ["inside", "outside"]
|
|
18611
|
+
}],
|
|
18612
|
+
/**
|
|
18613
|
+
* Placeholder Color
|
|
18614
|
+
* @deprecated since Tailwind CSS v3.0.0
|
|
18615
|
+
* @see https://tailwindcss.com/docs/placeholder-color
|
|
18616
|
+
*/
|
|
18617
|
+
"placeholder-color": [{
|
|
18618
|
+
placeholder: [colors]
|
|
18619
|
+
}],
|
|
18620
|
+
/**
|
|
18621
|
+
* Placeholder Opacity
|
|
18622
|
+
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
18623
|
+
*/
|
|
18624
|
+
"placeholder-opacity": [{
|
|
18625
|
+
"placeholder-opacity": [opacity]
|
|
18626
|
+
}],
|
|
18627
|
+
/**
|
|
18628
|
+
* Text Alignment
|
|
18629
|
+
* @see https://tailwindcss.com/docs/text-align
|
|
18630
|
+
*/
|
|
18631
|
+
"text-alignment": [{
|
|
18632
|
+
text: ["left", "center", "right", "justify", "start", "end"]
|
|
18633
|
+
}],
|
|
18634
|
+
/**
|
|
18635
|
+
* Text Color
|
|
18636
|
+
* @see https://tailwindcss.com/docs/text-color
|
|
18637
|
+
*/
|
|
18638
|
+
"text-color": [{
|
|
18639
|
+
text: [colors]
|
|
18640
|
+
}],
|
|
18641
|
+
/**
|
|
18642
|
+
* Text Opacity
|
|
18643
|
+
* @see https://tailwindcss.com/docs/text-opacity
|
|
18644
|
+
*/
|
|
18645
|
+
"text-opacity": [{
|
|
18646
|
+
"text-opacity": [opacity]
|
|
18647
|
+
}],
|
|
18648
|
+
/**
|
|
18649
|
+
* Text Decoration
|
|
18650
|
+
* @see https://tailwindcss.com/docs/text-decoration
|
|
18651
|
+
*/
|
|
18652
|
+
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
18653
|
+
/**
|
|
18654
|
+
* Text Decoration Style
|
|
18655
|
+
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
18656
|
+
*/
|
|
18657
|
+
"text-decoration-style": [{
|
|
18658
|
+
decoration: [].concat(getLineStyles(), ["wavy"])
|
|
18659
|
+
}],
|
|
18660
|
+
/**
|
|
18661
|
+
* Text Decoration Thickness
|
|
18662
|
+
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
18663
|
+
*/
|
|
18664
|
+
"text-decoration-thickness": [{
|
|
18665
|
+
decoration: ["auto", "from-font", isLength]
|
|
18666
|
+
}],
|
|
18667
|
+
/**
|
|
18668
|
+
* Text Underline Offset
|
|
18669
|
+
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
18670
|
+
*/
|
|
18671
|
+
"underline-offset": [{
|
|
18672
|
+
"underline-offset": ["auto", isLength]
|
|
18673
|
+
}],
|
|
18674
|
+
/**
|
|
18675
|
+
* Text Decoration Color
|
|
18676
|
+
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
18677
|
+
*/
|
|
18678
|
+
"text-decoration-color": [{
|
|
18679
|
+
decoration: [colors]
|
|
18680
|
+
}],
|
|
18681
|
+
/**
|
|
18682
|
+
* Text Transform
|
|
18683
|
+
* @see https://tailwindcss.com/docs/text-transform
|
|
18684
|
+
*/
|
|
18685
|
+
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
18686
|
+
/**
|
|
18687
|
+
* Text Overflow
|
|
18688
|
+
* @see https://tailwindcss.com/docs/text-overflow
|
|
18689
|
+
*/
|
|
18690
|
+
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
18691
|
+
/**
|
|
18692
|
+
* Text Indent
|
|
18693
|
+
* @see https://tailwindcss.com/docs/text-indent
|
|
18694
|
+
*/
|
|
18695
|
+
indent: [{
|
|
18696
|
+
indent: [spacing]
|
|
18697
|
+
}],
|
|
18698
|
+
/**
|
|
18699
|
+
* Vertical Alignment
|
|
18700
|
+
* @see https://tailwindcss.com/docs/vertical-align
|
|
18701
|
+
*/
|
|
18702
|
+
"vertical-align": [{
|
|
18703
|
+
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", isArbitraryLength]
|
|
18704
|
+
}],
|
|
18705
|
+
/**
|
|
18706
|
+
* Whitespace
|
|
18707
|
+
* @see https://tailwindcss.com/docs/whitespace
|
|
18708
|
+
*/
|
|
18709
|
+
whitespace: [{
|
|
18710
|
+
whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
|
|
18711
|
+
}],
|
|
18712
|
+
/**
|
|
18713
|
+
* Word Break
|
|
18714
|
+
* @see https://tailwindcss.com/docs/word-break
|
|
18715
|
+
*/
|
|
18716
|
+
"break": [{
|
|
18717
|
+
"break": ["normal", "words", "all", "keep"]
|
|
18718
|
+
}],
|
|
18719
|
+
/**
|
|
18720
|
+
* Hyphens
|
|
18721
|
+
* @see https://tailwindcss.com/docs/hyphens
|
|
18722
|
+
*/
|
|
18723
|
+
hyphens: [{
|
|
18724
|
+
hyphens: ["none", "manual", "auto"]
|
|
18725
|
+
}],
|
|
18726
|
+
/**
|
|
18727
|
+
* Content
|
|
18728
|
+
* @see https://tailwindcss.com/docs/content
|
|
18729
|
+
*/
|
|
18730
|
+
content: [{
|
|
18731
|
+
content: ["none", isArbitraryValue]
|
|
18732
|
+
}],
|
|
18733
|
+
// Backgrounds
|
|
18734
|
+
/**
|
|
18735
|
+
* Background Attachment
|
|
18736
|
+
* @see https://tailwindcss.com/docs/background-attachment
|
|
18737
|
+
*/
|
|
18738
|
+
"bg-attachment": [{
|
|
18739
|
+
bg: ["fixed", "local", "scroll"]
|
|
18740
|
+
}],
|
|
18741
|
+
/**
|
|
18742
|
+
* Background Clip
|
|
18743
|
+
* @see https://tailwindcss.com/docs/background-clip
|
|
18744
|
+
*/
|
|
18745
|
+
"bg-clip": [{
|
|
18746
|
+
"bg-clip": ["border", "padding", "content", "text"]
|
|
18747
|
+
}],
|
|
18748
|
+
/**
|
|
18749
|
+
* Background Opacity
|
|
18750
|
+
* @deprecated since Tailwind CSS v3.0.0
|
|
18751
|
+
* @see https://tailwindcss.com/docs/background-opacity
|
|
18752
|
+
*/
|
|
18753
|
+
"bg-opacity": [{
|
|
18754
|
+
"bg-opacity": [opacity]
|
|
18755
|
+
}],
|
|
18756
|
+
/**
|
|
18757
|
+
* Background Origin
|
|
18758
|
+
* @see https://tailwindcss.com/docs/background-origin
|
|
18759
|
+
*/
|
|
18760
|
+
"bg-origin": [{
|
|
18761
|
+
"bg-origin": ["border", "padding", "content"]
|
|
18762
|
+
}],
|
|
18763
|
+
/**
|
|
18764
|
+
* Background Position
|
|
18765
|
+
* @see https://tailwindcss.com/docs/background-position
|
|
18766
|
+
*/
|
|
18767
|
+
"bg-position": [{
|
|
18768
|
+
bg: [].concat(getPositions(), [isArbitraryPosition])
|
|
18769
|
+
}],
|
|
18770
|
+
/**
|
|
18771
|
+
* Background Repeat
|
|
18772
|
+
* @see https://tailwindcss.com/docs/background-repeat
|
|
18773
|
+
*/
|
|
18774
|
+
"bg-repeat": [{
|
|
18775
|
+
bg: ["no-repeat", {
|
|
18776
|
+
repeat: ["", "x", "y", "round", "space"]
|
|
18777
|
+
}]
|
|
18778
|
+
}],
|
|
18779
|
+
/**
|
|
18780
|
+
* Background Size
|
|
18781
|
+
* @see https://tailwindcss.com/docs/background-size
|
|
18782
|
+
*/
|
|
18783
|
+
"bg-size": [{
|
|
18784
|
+
bg: ["auto", "cover", "contain", isArbitrarySize]
|
|
18785
|
+
}],
|
|
18786
|
+
/**
|
|
18787
|
+
* Background Image
|
|
18788
|
+
* @see https://tailwindcss.com/docs/background-image
|
|
18789
|
+
*/
|
|
18790
|
+
"bg-image": [{
|
|
18791
|
+
bg: ["none", {
|
|
18792
|
+
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
18793
|
+
}, isArbitraryUrl]
|
|
18794
|
+
}],
|
|
18795
|
+
/**
|
|
18796
|
+
* Background Color
|
|
18797
|
+
* @see https://tailwindcss.com/docs/background-color
|
|
18798
|
+
*/
|
|
18799
|
+
"bg-color": [{
|
|
18800
|
+
bg: [colors]
|
|
18801
|
+
}],
|
|
18802
|
+
/**
|
|
18803
|
+
* Gradient Color Stops From Position
|
|
18804
|
+
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
18805
|
+
*/
|
|
18806
|
+
"gradient-from-pos": [{
|
|
18807
|
+
from: [gradientColorStopPositions]
|
|
18808
|
+
}],
|
|
18809
|
+
/**
|
|
18810
|
+
* Gradient Color Stops Via Position
|
|
18811
|
+
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
18812
|
+
*/
|
|
18813
|
+
"gradient-via-pos": [{
|
|
18814
|
+
via: [gradientColorStopPositions]
|
|
18815
|
+
}],
|
|
18816
|
+
/**
|
|
18817
|
+
* Gradient Color Stops To Position
|
|
18818
|
+
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
18819
|
+
*/
|
|
18820
|
+
"gradient-to-pos": [{
|
|
18821
|
+
to: [gradientColorStopPositions]
|
|
18822
|
+
}],
|
|
18823
|
+
/**
|
|
18824
|
+
* Gradient Color Stops From
|
|
18825
|
+
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
18826
|
+
*/
|
|
18827
|
+
"gradient-from": [{
|
|
18828
|
+
from: [gradientColorStops]
|
|
18829
|
+
}],
|
|
18830
|
+
/**
|
|
18831
|
+
* Gradient Color Stops Via
|
|
18832
|
+
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
18833
|
+
*/
|
|
18834
|
+
"gradient-via": [{
|
|
18835
|
+
via: [gradientColorStops]
|
|
18836
|
+
}],
|
|
18837
|
+
/**
|
|
18838
|
+
* Gradient Color Stops To
|
|
18839
|
+
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
18840
|
+
*/
|
|
18841
|
+
"gradient-to": [{
|
|
18842
|
+
to: [gradientColorStops]
|
|
18843
|
+
}],
|
|
18844
|
+
// Borders
|
|
18845
|
+
/**
|
|
18846
|
+
* Border Radius
|
|
18847
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
18848
|
+
*/
|
|
18849
|
+
rounded: [{
|
|
18850
|
+
rounded: [borderRadius]
|
|
18851
|
+
}],
|
|
18852
|
+
/**
|
|
18853
|
+
* Border Radius Start
|
|
18854
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
18855
|
+
*/
|
|
18856
|
+
"rounded-s": [{
|
|
18857
|
+
"rounded-s": [borderRadius]
|
|
18858
|
+
}],
|
|
18859
|
+
/**
|
|
18860
|
+
* Border Radius End
|
|
18861
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
18862
|
+
*/
|
|
18863
|
+
"rounded-e": [{
|
|
18864
|
+
"rounded-e": [borderRadius]
|
|
18865
|
+
}],
|
|
18866
|
+
/**
|
|
18867
|
+
* Border Radius Top
|
|
18868
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
18869
|
+
*/
|
|
18870
|
+
"rounded-t": [{
|
|
18871
|
+
"rounded-t": [borderRadius]
|
|
18872
|
+
}],
|
|
18873
|
+
/**
|
|
18874
|
+
* Border Radius Right
|
|
18875
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
18876
|
+
*/
|
|
18877
|
+
"rounded-r": [{
|
|
18878
|
+
"rounded-r": [borderRadius]
|
|
18879
|
+
}],
|
|
18880
|
+
/**
|
|
18881
|
+
* Border Radius Bottom
|
|
18882
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
18883
|
+
*/
|
|
18884
|
+
"rounded-b": [{
|
|
18885
|
+
"rounded-b": [borderRadius]
|
|
18886
|
+
}],
|
|
18887
|
+
/**
|
|
18888
|
+
* Border Radius Left
|
|
18889
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
18890
|
+
*/
|
|
18891
|
+
"rounded-l": [{
|
|
18892
|
+
"rounded-l": [borderRadius]
|
|
18893
|
+
}],
|
|
18894
|
+
/**
|
|
18895
|
+
* Border Radius Start Start
|
|
18896
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
18897
|
+
*/
|
|
18898
|
+
"rounded-ss": [{
|
|
18899
|
+
"rounded-ss": [borderRadius]
|
|
18900
|
+
}],
|
|
18901
|
+
/**
|
|
18902
|
+
* Border Radius Start End
|
|
18903
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
18904
|
+
*/
|
|
18905
|
+
"rounded-se": [{
|
|
18906
|
+
"rounded-se": [borderRadius]
|
|
18907
|
+
}],
|
|
18908
|
+
/**
|
|
18909
|
+
* Border Radius End End
|
|
18910
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
18911
|
+
*/
|
|
18912
|
+
"rounded-ee": [{
|
|
18913
|
+
"rounded-ee": [borderRadius]
|
|
18914
|
+
}],
|
|
18915
|
+
/**
|
|
18916
|
+
* Border Radius End Start
|
|
18917
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
18918
|
+
*/
|
|
18919
|
+
"rounded-es": [{
|
|
18920
|
+
"rounded-es": [borderRadius]
|
|
18921
|
+
}],
|
|
18922
|
+
/**
|
|
18923
|
+
* Border Radius Top Left
|
|
18924
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
18925
|
+
*/
|
|
18926
|
+
"rounded-tl": [{
|
|
18927
|
+
"rounded-tl": [borderRadius]
|
|
18928
|
+
}],
|
|
18929
|
+
/**
|
|
18930
|
+
* Border Radius Top Right
|
|
18931
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
18932
|
+
*/
|
|
18933
|
+
"rounded-tr": [{
|
|
18934
|
+
"rounded-tr": [borderRadius]
|
|
18935
|
+
}],
|
|
18936
|
+
/**
|
|
18937
|
+
* Border Radius Bottom Right
|
|
18938
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
18939
|
+
*/
|
|
18940
|
+
"rounded-br": [{
|
|
18941
|
+
"rounded-br": [borderRadius]
|
|
18942
|
+
}],
|
|
18943
|
+
/**
|
|
18944
|
+
* Border Radius Bottom Left
|
|
18945
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
18946
|
+
*/
|
|
18947
|
+
"rounded-bl": [{
|
|
18948
|
+
"rounded-bl": [borderRadius]
|
|
18949
|
+
}],
|
|
18950
|
+
/**
|
|
18951
|
+
* Border Width
|
|
18952
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
18953
|
+
*/
|
|
18954
|
+
"border-w": [{
|
|
18955
|
+
border: [borderWidth]
|
|
18956
|
+
}],
|
|
18957
|
+
/**
|
|
18958
|
+
* Border Width X
|
|
18959
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
18960
|
+
*/
|
|
18961
|
+
"border-w-x": [{
|
|
18962
|
+
"border-x": [borderWidth]
|
|
18963
|
+
}],
|
|
18964
|
+
/**
|
|
18965
|
+
* Border Width Y
|
|
18966
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
18967
|
+
*/
|
|
18968
|
+
"border-w-y": [{
|
|
18969
|
+
"border-y": [borderWidth]
|
|
18970
|
+
}],
|
|
18971
|
+
/**
|
|
18972
|
+
* Border Width Start
|
|
18973
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
18974
|
+
*/
|
|
18975
|
+
"border-w-s": [{
|
|
18976
|
+
"border-s": [borderWidth]
|
|
18977
|
+
}],
|
|
18978
|
+
/**
|
|
18979
|
+
* Border Width End
|
|
18980
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
18981
|
+
*/
|
|
18982
|
+
"border-w-e": [{
|
|
18983
|
+
"border-e": [borderWidth]
|
|
18984
|
+
}],
|
|
18985
|
+
/**
|
|
18986
|
+
* Border Width Top
|
|
18987
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
18988
|
+
*/
|
|
18989
|
+
"border-w-t": [{
|
|
18990
|
+
"border-t": [borderWidth]
|
|
18991
|
+
}],
|
|
18992
|
+
/**
|
|
18993
|
+
* Border Width Right
|
|
18994
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
18995
|
+
*/
|
|
18996
|
+
"border-w-r": [{
|
|
18997
|
+
"border-r": [borderWidth]
|
|
18998
|
+
}],
|
|
18999
|
+
/**
|
|
19000
|
+
* Border Width Bottom
|
|
19001
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
19002
|
+
*/
|
|
19003
|
+
"border-w-b": [{
|
|
19004
|
+
"border-b": [borderWidth]
|
|
19005
|
+
}],
|
|
19006
|
+
/**
|
|
19007
|
+
* Border Width Left
|
|
19008
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
19009
|
+
*/
|
|
19010
|
+
"border-w-l": [{
|
|
19011
|
+
"border-l": [borderWidth]
|
|
19012
|
+
}],
|
|
19013
|
+
/**
|
|
19014
|
+
* Border Opacity
|
|
19015
|
+
* @see https://tailwindcss.com/docs/border-opacity
|
|
19016
|
+
*/
|
|
19017
|
+
"border-opacity": [{
|
|
19018
|
+
"border-opacity": [opacity]
|
|
19019
|
+
}],
|
|
19020
|
+
/**
|
|
19021
|
+
* Border Style
|
|
19022
|
+
* @see https://tailwindcss.com/docs/border-style
|
|
19023
|
+
*/
|
|
19024
|
+
"border-style": [{
|
|
19025
|
+
border: [].concat(getLineStyles(), ["hidden"])
|
|
19026
|
+
}],
|
|
19027
|
+
/**
|
|
19028
|
+
* Divide Width X
|
|
19029
|
+
* @see https://tailwindcss.com/docs/divide-width
|
|
19030
|
+
*/
|
|
19031
|
+
"divide-x": [{
|
|
19032
|
+
"divide-x": [borderWidth]
|
|
19033
|
+
}],
|
|
19034
|
+
/**
|
|
19035
|
+
* Divide Width X Reverse
|
|
19036
|
+
* @see https://tailwindcss.com/docs/divide-width
|
|
19037
|
+
*/
|
|
19038
|
+
"divide-x-reverse": ["divide-x-reverse"],
|
|
19039
|
+
/**
|
|
19040
|
+
* Divide Width Y
|
|
19041
|
+
* @see https://tailwindcss.com/docs/divide-width
|
|
19042
|
+
*/
|
|
19043
|
+
"divide-y": [{
|
|
19044
|
+
"divide-y": [borderWidth]
|
|
19045
|
+
}],
|
|
19046
|
+
/**
|
|
19047
|
+
* Divide Width Y Reverse
|
|
19048
|
+
* @see https://tailwindcss.com/docs/divide-width
|
|
19049
|
+
*/
|
|
19050
|
+
"divide-y-reverse": ["divide-y-reverse"],
|
|
19051
|
+
/**
|
|
19052
|
+
* Divide Opacity
|
|
19053
|
+
* @see https://tailwindcss.com/docs/divide-opacity
|
|
19054
|
+
*/
|
|
19055
|
+
"divide-opacity": [{
|
|
19056
|
+
"divide-opacity": [opacity]
|
|
19057
|
+
}],
|
|
19058
|
+
/**
|
|
19059
|
+
* Divide Style
|
|
19060
|
+
* @see https://tailwindcss.com/docs/divide-style
|
|
19061
|
+
*/
|
|
19062
|
+
"divide-style": [{
|
|
19063
|
+
divide: getLineStyles()
|
|
19064
|
+
}],
|
|
19065
|
+
/**
|
|
19066
|
+
* Border Color
|
|
19067
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
19068
|
+
*/
|
|
19069
|
+
"border-color": [{
|
|
19070
|
+
border: [borderColor]
|
|
19071
|
+
}],
|
|
19072
|
+
/**
|
|
19073
|
+
* Border Color X
|
|
19074
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
19075
|
+
*/
|
|
19076
|
+
"border-color-x": [{
|
|
19077
|
+
"border-x": [borderColor]
|
|
19078
|
+
}],
|
|
19079
|
+
/**
|
|
19080
|
+
* Border Color Y
|
|
19081
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
19082
|
+
*/
|
|
19083
|
+
"border-color-y": [{
|
|
19084
|
+
"border-y": [borderColor]
|
|
19085
|
+
}],
|
|
19086
|
+
/**
|
|
19087
|
+
* Border Color Top
|
|
19088
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
19089
|
+
*/
|
|
19090
|
+
"border-color-t": [{
|
|
19091
|
+
"border-t": [borderColor]
|
|
19092
|
+
}],
|
|
19093
|
+
/**
|
|
19094
|
+
* Border Color Right
|
|
19095
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
19096
|
+
*/
|
|
19097
|
+
"border-color-r": [{
|
|
19098
|
+
"border-r": [borderColor]
|
|
19099
|
+
}],
|
|
19100
|
+
/**
|
|
19101
|
+
* Border Color Bottom
|
|
19102
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
19103
|
+
*/
|
|
19104
|
+
"border-color-b": [{
|
|
19105
|
+
"border-b": [borderColor]
|
|
19106
|
+
}],
|
|
19107
|
+
/**
|
|
19108
|
+
* Border Color Left
|
|
19109
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
19110
|
+
*/
|
|
19111
|
+
"border-color-l": [{
|
|
19112
|
+
"border-l": [borderColor]
|
|
19113
|
+
}],
|
|
19114
|
+
/**
|
|
19115
|
+
* Divide Color
|
|
19116
|
+
* @see https://tailwindcss.com/docs/divide-color
|
|
19117
|
+
*/
|
|
19118
|
+
"divide-color": [{
|
|
19119
|
+
divide: [borderColor]
|
|
19120
|
+
}],
|
|
19121
|
+
/**
|
|
19122
|
+
* Outline Style
|
|
19123
|
+
* @see https://tailwindcss.com/docs/outline-style
|
|
19124
|
+
*/
|
|
19125
|
+
"outline-style": [{
|
|
19126
|
+
outline: [""].concat(getLineStyles())
|
|
19127
|
+
}],
|
|
19128
|
+
/**
|
|
19129
|
+
* Outline Offset
|
|
19130
|
+
* @see https://tailwindcss.com/docs/outline-offset
|
|
19131
|
+
*/
|
|
19132
|
+
"outline-offset": [{
|
|
19133
|
+
"outline-offset": [isLength]
|
|
19134
|
+
}],
|
|
19135
|
+
/**
|
|
19136
|
+
* Outline Width
|
|
19137
|
+
* @see https://tailwindcss.com/docs/outline-width
|
|
19138
|
+
*/
|
|
19139
|
+
"outline-w": [{
|
|
19140
|
+
outline: [isLength]
|
|
19141
|
+
}],
|
|
19142
|
+
/**
|
|
19143
|
+
* Outline Color
|
|
19144
|
+
* @see https://tailwindcss.com/docs/outline-color
|
|
19145
|
+
*/
|
|
19146
|
+
"outline-color": [{
|
|
19147
|
+
outline: [colors]
|
|
19148
|
+
}],
|
|
19149
|
+
/**
|
|
19150
|
+
* Ring Width
|
|
19151
|
+
* @see https://tailwindcss.com/docs/ring-width
|
|
19152
|
+
*/
|
|
19153
|
+
"ring-w": [{
|
|
19154
|
+
ring: getLengthWithEmpty()
|
|
19155
|
+
}],
|
|
19156
|
+
/**
|
|
19157
|
+
* Ring Width Inset
|
|
19158
|
+
* @see https://tailwindcss.com/docs/ring-width
|
|
19159
|
+
*/
|
|
19160
|
+
"ring-w-inset": ["ring-inset"],
|
|
19161
|
+
/**
|
|
19162
|
+
* Ring Color
|
|
19163
|
+
* @see https://tailwindcss.com/docs/ring-color
|
|
19164
|
+
*/
|
|
19165
|
+
"ring-color": [{
|
|
19166
|
+
ring: [colors]
|
|
19167
|
+
}],
|
|
19168
|
+
/**
|
|
19169
|
+
* Ring Opacity
|
|
19170
|
+
* @see https://tailwindcss.com/docs/ring-opacity
|
|
19171
|
+
*/
|
|
19172
|
+
"ring-opacity": [{
|
|
19173
|
+
"ring-opacity": [opacity]
|
|
19174
|
+
}],
|
|
19175
|
+
/**
|
|
19176
|
+
* Ring Offset Width
|
|
19177
|
+
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
19178
|
+
*/
|
|
19179
|
+
"ring-offset-w": [{
|
|
19180
|
+
"ring-offset": [isLength]
|
|
19181
|
+
}],
|
|
19182
|
+
/**
|
|
19183
|
+
* Ring Offset Color
|
|
19184
|
+
* @see https://tailwindcss.com/docs/ring-offset-color
|
|
19185
|
+
*/
|
|
19186
|
+
"ring-offset-color": [{
|
|
19187
|
+
"ring-offset": [colors]
|
|
19188
|
+
}],
|
|
19189
|
+
// Effects
|
|
19190
|
+
/**
|
|
19191
|
+
* Box Shadow
|
|
19192
|
+
* @see https://tailwindcss.com/docs/box-shadow
|
|
19193
|
+
*/
|
|
19194
|
+
shadow: [{
|
|
19195
|
+
shadow: ["", "inner", "none", isTshirtSize, isArbitraryShadow]
|
|
19196
|
+
}],
|
|
19197
|
+
/**
|
|
19198
|
+
* Box Shadow Color
|
|
19199
|
+
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
19200
|
+
*/
|
|
19201
|
+
"shadow-color": [{
|
|
19202
|
+
shadow: [isAny]
|
|
19203
|
+
}],
|
|
19204
|
+
/**
|
|
19205
|
+
* Opacity
|
|
19206
|
+
* @see https://tailwindcss.com/docs/opacity
|
|
19207
|
+
*/
|
|
19208
|
+
opacity: [{
|
|
19209
|
+
opacity: [opacity]
|
|
19210
|
+
}],
|
|
19211
|
+
/**
|
|
19212
|
+
* Mix Beldn Mode
|
|
19213
|
+
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
19214
|
+
*/
|
|
19215
|
+
"mix-blend": [{
|
|
19216
|
+
"mix-blend": getBlendModes()
|
|
19217
|
+
}],
|
|
19218
|
+
/**
|
|
19219
|
+
* Background Blend Mode
|
|
19220
|
+
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
19221
|
+
*/
|
|
19222
|
+
"bg-blend": [{
|
|
19223
|
+
"bg-blend": getBlendModes()
|
|
19224
|
+
}],
|
|
19225
|
+
// Filters
|
|
19226
|
+
/**
|
|
19227
|
+
* Filter
|
|
19228
|
+
* @deprecated since Tailwind CSS v3.0.0
|
|
19229
|
+
* @see https://tailwindcss.com/docs/filter
|
|
19230
|
+
*/
|
|
19231
|
+
filter: [{
|
|
19232
|
+
filter: ["", "none"]
|
|
19233
|
+
}],
|
|
19234
|
+
/**
|
|
19235
|
+
* Blur
|
|
19236
|
+
* @see https://tailwindcss.com/docs/blur
|
|
19237
|
+
*/
|
|
19238
|
+
blur: [{
|
|
19239
|
+
blur: [blur]
|
|
19240
|
+
}],
|
|
19241
|
+
/**
|
|
19242
|
+
* Brightness
|
|
19243
|
+
* @see https://tailwindcss.com/docs/brightness
|
|
19244
|
+
*/
|
|
19245
|
+
brightness: [{
|
|
19246
|
+
brightness: [brightness]
|
|
19247
|
+
}],
|
|
19248
|
+
/**
|
|
19249
|
+
* Contrast
|
|
19250
|
+
* @see https://tailwindcss.com/docs/contrast
|
|
19251
|
+
*/
|
|
19252
|
+
contrast: [{
|
|
19253
|
+
contrast: [contrast]
|
|
19254
|
+
}],
|
|
19255
|
+
/**
|
|
19256
|
+
* Drop Shadow
|
|
19257
|
+
* @see https://tailwindcss.com/docs/drop-shadow
|
|
19258
|
+
*/
|
|
19259
|
+
"drop-shadow": [{
|
|
19260
|
+
"drop-shadow": ["", "none", isTshirtSize, isArbitraryValue]
|
|
19261
|
+
}],
|
|
19262
|
+
/**
|
|
19263
|
+
* Grayscale
|
|
19264
|
+
* @see https://tailwindcss.com/docs/grayscale
|
|
19265
|
+
*/
|
|
19266
|
+
grayscale: [{
|
|
19267
|
+
grayscale: [grayscale]
|
|
19268
|
+
}],
|
|
19269
|
+
/**
|
|
19270
|
+
* Hue Rotate
|
|
19271
|
+
* @see https://tailwindcss.com/docs/hue-rotate
|
|
19272
|
+
*/
|
|
19273
|
+
"hue-rotate": [{
|
|
19274
|
+
"hue-rotate": [hueRotate]
|
|
19275
|
+
}],
|
|
19276
|
+
/**
|
|
19277
|
+
* Invert
|
|
19278
|
+
* @see https://tailwindcss.com/docs/invert
|
|
19279
|
+
*/
|
|
19280
|
+
invert: [{
|
|
19281
|
+
invert: [invert]
|
|
19282
|
+
}],
|
|
19283
|
+
/**
|
|
19284
|
+
* Saturate
|
|
19285
|
+
* @see https://tailwindcss.com/docs/saturate
|
|
19286
|
+
*/
|
|
19287
|
+
saturate: [{
|
|
19288
|
+
saturate: [saturate]
|
|
19289
|
+
}],
|
|
19290
|
+
/**
|
|
19291
|
+
* Sepia
|
|
19292
|
+
* @see https://tailwindcss.com/docs/sepia
|
|
19293
|
+
*/
|
|
19294
|
+
sepia: [{
|
|
19295
|
+
sepia: [sepia]
|
|
19296
|
+
}],
|
|
19297
|
+
/**
|
|
19298
|
+
* Backdrop Filter
|
|
19299
|
+
* @deprecated since Tailwind CSS v3.0.0
|
|
19300
|
+
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
19301
|
+
*/
|
|
19302
|
+
"backdrop-filter": [{
|
|
19303
|
+
"backdrop-filter": ["", "none"]
|
|
19304
|
+
}],
|
|
19305
|
+
/**
|
|
19306
|
+
* Backdrop Blur
|
|
19307
|
+
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
19308
|
+
*/
|
|
19309
|
+
"backdrop-blur": [{
|
|
19310
|
+
"backdrop-blur": [blur]
|
|
19311
|
+
}],
|
|
19312
|
+
/**
|
|
19313
|
+
* Backdrop Brightness
|
|
19314
|
+
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
19315
|
+
*/
|
|
19316
|
+
"backdrop-brightness": [{
|
|
19317
|
+
"backdrop-brightness": [brightness]
|
|
19318
|
+
}],
|
|
19319
|
+
/**
|
|
19320
|
+
* Backdrop Contrast
|
|
19321
|
+
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
19322
|
+
*/
|
|
19323
|
+
"backdrop-contrast": [{
|
|
19324
|
+
"backdrop-contrast": [contrast]
|
|
19325
|
+
}],
|
|
19326
|
+
/**
|
|
19327
|
+
* Backdrop Grayscale
|
|
19328
|
+
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
19329
|
+
*/
|
|
19330
|
+
"backdrop-grayscale": [{
|
|
19331
|
+
"backdrop-grayscale": [grayscale]
|
|
19332
|
+
}],
|
|
19333
|
+
/**
|
|
19334
|
+
* Backdrop Hue Rotate
|
|
19335
|
+
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
19336
|
+
*/
|
|
19337
|
+
"backdrop-hue-rotate": [{
|
|
19338
|
+
"backdrop-hue-rotate": [hueRotate]
|
|
19339
|
+
}],
|
|
19340
|
+
/**
|
|
19341
|
+
* Backdrop Invert
|
|
19342
|
+
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
19343
|
+
*/
|
|
19344
|
+
"backdrop-invert": [{
|
|
19345
|
+
"backdrop-invert": [invert]
|
|
19346
|
+
}],
|
|
19347
|
+
/**
|
|
19348
|
+
* Backdrop Opacity
|
|
19349
|
+
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
19350
|
+
*/
|
|
19351
|
+
"backdrop-opacity": [{
|
|
19352
|
+
"backdrop-opacity": [opacity]
|
|
19353
|
+
}],
|
|
19354
|
+
/**
|
|
19355
|
+
* Backdrop Saturate
|
|
19356
|
+
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
19357
|
+
*/
|
|
19358
|
+
"backdrop-saturate": [{
|
|
19359
|
+
"backdrop-saturate": [saturate]
|
|
19360
|
+
}],
|
|
19361
|
+
/**
|
|
19362
|
+
* Backdrop Sepia
|
|
19363
|
+
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
19364
|
+
*/
|
|
19365
|
+
"backdrop-sepia": [{
|
|
19366
|
+
"backdrop-sepia": [sepia]
|
|
19367
|
+
}],
|
|
19368
|
+
// Tables
|
|
19369
|
+
/**
|
|
19370
|
+
* Border Collapse
|
|
19371
|
+
* @see https://tailwindcss.com/docs/border-collapse
|
|
19372
|
+
*/
|
|
19373
|
+
"border-collapse": [{
|
|
19374
|
+
border: ["collapse", "separate"]
|
|
19375
|
+
}],
|
|
19376
|
+
/**
|
|
19377
|
+
* Border Spacing
|
|
19378
|
+
* @see https://tailwindcss.com/docs/border-spacing
|
|
19379
|
+
*/
|
|
19380
|
+
"border-spacing": [{
|
|
19381
|
+
"border-spacing": [borderSpacing]
|
|
19382
|
+
}],
|
|
19383
|
+
/**
|
|
19384
|
+
* Border Spacing X
|
|
19385
|
+
* @see https://tailwindcss.com/docs/border-spacing
|
|
19386
|
+
*/
|
|
19387
|
+
"border-spacing-x": [{
|
|
19388
|
+
"border-spacing-x": [borderSpacing]
|
|
19389
|
+
}],
|
|
19390
|
+
/**
|
|
19391
|
+
* Border Spacing Y
|
|
19392
|
+
* @see https://tailwindcss.com/docs/border-spacing
|
|
19393
|
+
*/
|
|
19394
|
+
"border-spacing-y": [{
|
|
19395
|
+
"border-spacing-y": [borderSpacing]
|
|
19396
|
+
}],
|
|
19397
|
+
/**
|
|
19398
|
+
* Table Layout
|
|
19399
|
+
* @see https://tailwindcss.com/docs/table-layout
|
|
19400
|
+
*/
|
|
19401
|
+
"table-layout": [{
|
|
19402
|
+
table: ["auto", "fixed"]
|
|
19403
|
+
}],
|
|
19404
|
+
/**
|
|
19405
|
+
* Caption Side
|
|
19406
|
+
* @see https://tailwindcss.com/docs/caption-side
|
|
19407
|
+
*/
|
|
19408
|
+
caption: [{
|
|
19409
|
+
caption: ["top", "bottom"]
|
|
19410
|
+
}],
|
|
19411
|
+
// Transitions and Animation
|
|
19412
|
+
/**
|
|
19413
|
+
* Tranisition Property
|
|
19414
|
+
* @see https://tailwindcss.com/docs/transition-property
|
|
19415
|
+
*/
|
|
19416
|
+
transition: [{
|
|
19417
|
+
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", isArbitraryValue]
|
|
19418
|
+
}],
|
|
19419
|
+
/**
|
|
19420
|
+
* Transition Duration
|
|
19421
|
+
* @see https://tailwindcss.com/docs/transition-duration
|
|
19422
|
+
*/
|
|
19423
|
+
duration: [{
|
|
19424
|
+
duration: getNumberAndArbitrary()
|
|
19425
|
+
}],
|
|
19426
|
+
/**
|
|
19427
|
+
* Transition Timing Function
|
|
19428
|
+
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
19429
|
+
*/
|
|
19430
|
+
ease: [{
|
|
19431
|
+
ease: ["linear", "in", "out", "in-out", isArbitraryValue]
|
|
19432
|
+
}],
|
|
19433
|
+
/**
|
|
19434
|
+
* Transition Delay
|
|
19435
|
+
* @see https://tailwindcss.com/docs/transition-delay
|
|
19436
|
+
*/
|
|
19437
|
+
delay: [{
|
|
19438
|
+
delay: getNumberAndArbitrary()
|
|
19439
|
+
}],
|
|
19440
|
+
/**
|
|
19441
|
+
* Animation
|
|
19442
|
+
* @see https://tailwindcss.com/docs/animation
|
|
19443
|
+
*/
|
|
19444
|
+
animate: [{
|
|
19445
|
+
animate: ["none", "spin", "ping", "pulse", "bounce", isArbitraryValue]
|
|
19446
|
+
}],
|
|
19447
|
+
// Transforms
|
|
19448
|
+
/**
|
|
19449
|
+
* Transform
|
|
19450
|
+
* @see https://tailwindcss.com/docs/transform
|
|
19451
|
+
*/
|
|
19452
|
+
transform: [{
|
|
19453
|
+
transform: ["", "gpu", "none"]
|
|
19454
|
+
}],
|
|
19455
|
+
/**
|
|
19456
|
+
* Scale
|
|
19457
|
+
* @see https://tailwindcss.com/docs/scale
|
|
19458
|
+
*/
|
|
19459
|
+
scale: [{
|
|
19460
|
+
scale: [scale]
|
|
19461
|
+
}],
|
|
19462
|
+
/**
|
|
19463
|
+
* Scale X
|
|
19464
|
+
* @see https://tailwindcss.com/docs/scale
|
|
19465
|
+
*/
|
|
19466
|
+
"scale-x": [{
|
|
19467
|
+
"scale-x": [scale]
|
|
19468
|
+
}],
|
|
19469
|
+
/**
|
|
19470
|
+
* Scale Y
|
|
19471
|
+
* @see https://tailwindcss.com/docs/scale
|
|
19472
|
+
*/
|
|
19473
|
+
"scale-y": [{
|
|
19474
|
+
"scale-y": [scale]
|
|
19475
|
+
}],
|
|
19476
|
+
/**
|
|
19477
|
+
* Rotate
|
|
19478
|
+
* @see https://tailwindcss.com/docs/rotate
|
|
19479
|
+
*/
|
|
19480
|
+
rotate: [{
|
|
19481
|
+
rotate: [isInteger, isArbitraryValue]
|
|
19482
|
+
}],
|
|
19483
|
+
/**
|
|
19484
|
+
* Translate X
|
|
19485
|
+
* @see https://tailwindcss.com/docs/translate
|
|
19486
|
+
*/
|
|
19487
|
+
"translate-x": [{
|
|
19488
|
+
"translate-x": [translate]
|
|
19489
|
+
}],
|
|
19490
|
+
/**
|
|
19491
|
+
* Translate Y
|
|
19492
|
+
* @see https://tailwindcss.com/docs/translate
|
|
19493
|
+
*/
|
|
19494
|
+
"translate-y": [{
|
|
19495
|
+
"translate-y": [translate]
|
|
19496
|
+
}],
|
|
19497
|
+
/**
|
|
19498
|
+
* Skew X
|
|
19499
|
+
* @see https://tailwindcss.com/docs/skew
|
|
19500
|
+
*/
|
|
19501
|
+
"skew-x": [{
|
|
19502
|
+
"skew-x": [skew]
|
|
19503
|
+
}],
|
|
19504
|
+
/**
|
|
19505
|
+
* Skew Y
|
|
19506
|
+
* @see https://tailwindcss.com/docs/skew
|
|
19507
|
+
*/
|
|
19508
|
+
"skew-y": [{
|
|
19509
|
+
"skew-y": [skew]
|
|
19510
|
+
}],
|
|
19511
|
+
/**
|
|
19512
|
+
* Transform Origin
|
|
19513
|
+
* @see https://tailwindcss.com/docs/transform-origin
|
|
19514
|
+
*/
|
|
19515
|
+
"transform-origin": [{
|
|
19516
|
+
origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", isArbitraryValue]
|
|
19517
|
+
}],
|
|
19518
|
+
// Interactivity
|
|
19519
|
+
/**
|
|
19520
|
+
* Accent Color
|
|
19521
|
+
* @see https://tailwindcss.com/docs/accent-color
|
|
19522
|
+
*/
|
|
19523
|
+
accent: [{
|
|
19524
|
+
accent: ["auto", colors]
|
|
19525
|
+
}],
|
|
19526
|
+
/**
|
|
19527
|
+
* Appearance
|
|
19528
|
+
* @see https://tailwindcss.com/docs/appearance
|
|
19529
|
+
*/
|
|
19530
|
+
appearance: ["appearance-none"],
|
|
19531
|
+
/**
|
|
19532
|
+
* Cursor
|
|
19533
|
+
* @see https://tailwindcss.com/docs/cursor
|
|
19534
|
+
*/
|
|
19535
|
+
cursor: [{
|
|
19536
|
+
cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", isArbitraryValue]
|
|
19537
|
+
}],
|
|
19538
|
+
/**
|
|
19539
|
+
* Caret Color
|
|
19540
|
+
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
19541
|
+
*/
|
|
19542
|
+
"caret-color": [{
|
|
19543
|
+
caret: [colors]
|
|
19544
|
+
}],
|
|
19545
|
+
/**
|
|
19546
|
+
* Pointer Events
|
|
19547
|
+
* @see https://tailwindcss.com/docs/pointer-events
|
|
19548
|
+
*/
|
|
19549
|
+
"pointer-events": [{
|
|
19550
|
+
"pointer-events": ["none", "auto"]
|
|
19551
|
+
}],
|
|
19552
|
+
/**
|
|
19553
|
+
* Resize
|
|
19554
|
+
* @see https://tailwindcss.com/docs/resize
|
|
19555
|
+
*/
|
|
19556
|
+
resize: [{
|
|
19557
|
+
resize: ["none", "y", "x", ""]
|
|
19558
|
+
}],
|
|
19559
|
+
/**
|
|
19560
|
+
* Scroll Behavior
|
|
19561
|
+
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
19562
|
+
*/
|
|
19563
|
+
"scroll-behavior": [{
|
|
19564
|
+
scroll: ["auto", "smooth"]
|
|
19565
|
+
}],
|
|
19566
|
+
/**
|
|
19567
|
+
* Scroll Margin
|
|
19568
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
19569
|
+
*/
|
|
19570
|
+
"scroll-m": [{
|
|
19571
|
+
"scroll-m": [spacing]
|
|
19572
|
+
}],
|
|
19573
|
+
/**
|
|
19574
|
+
* Scroll Margin X
|
|
19575
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
19576
|
+
*/
|
|
19577
|
+
"scroll-mx": [{
|
|
19578
|
+
"scroll-mx": [spacing]
|
|
19579
|
+
}],
|
|
19580
|
+
/**
|
|
19581
|
+
* Scroll Margin Y
|
|
19582
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
19583
|
+
*/
|
|
19584
|
+
"scroll-my": [{
|
|
19585
|
+
"scroll-my": [spacing]
|
|
19586
|
+
}],
|
|
19587
|
+
/**
|
|
19588
|
+
* Scroll Margin Start
|
|
19589
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
19590
|
+
*/
|
|
19591
|
+
"scroll-ms": [{
|
|
19592
|
+
"scroll-ms": [spacing]
|
|
19593
|
+
}],
|
|
19594
|
+
/**
|
|
19595
|
+
* Scroll Margin End
|
|
19596
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
19597
|
+
*/
|
|
19598
|
+
"scroll-me": [{
|
|
19599
|
+
"scroll-me": [spacing]
|
|
19600
|
+
}],
|
|
19601
|
+
/**
|
|
19602
|
+
* Scroll Margin Top
|
|
19603
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
19604
|
+
*/
|
|
19605
|
+
"scroll-mt": [{
|
|
19606
|
+
"scroll-mt": [spacing]
|
|
19607
|
+
}],
|
|
19608
|
+
/**
|
|
19609
|
+
* Scroll Margin Right
|
|
19610
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
19611
|
+
*/
|
|
19612
|
+
"scroll-mr": [{
|
|
19613
|
+
"scroll-mr": [spacing]
|
|
19614
|
+
}],
|
|
19615
|
+
/**
|
|
19616
|
+
* Scroll Margin Bottom
|
|
19617
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
19618
|
+
*/
|
|
19619
|
+
"scroll-mb": [{
|
|
19620
|
+
"scroll-mb": [spacing]
|
|
19621
|
+
}],
|
|
19622
|
+
/**
|
|
19623
|
+
* Scroll Margin Left
|
|
19624
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
19625
|
+
*/
|
|
19626
|
+
"scroll-ml": [{
|
|
19627
|
+
"scroll-ml": [spacing]
|
|
19628
|
+
}],
|
|
19629
|
+
/**
|
|
19630
|
+
* Scroll Padding
|
|
19631
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
19632
|
+
*/
|
|
19633
|
+
"scroll-p": [{
|
|
19634
|
+
"scroll-p": [spacing]
|
|
19635
|
+
}],
|
|
19636
|
+
/**
|
|
19637
|
+
* Scroll Padding X
|
|
19638
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
19639
|
+
*/
|
|
19640
|
+
"scroll-px": [{
|
|
19641
|
+
"scroll-px": [spacing]
|
|
19642
|
+
}],
|
|
19643
|
+
/**
|
|
19644
|
+
* Scroll Padding Y
|
|
19645
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
19646
|
+
*/
|
|
19647
|
+
"scroll-py": [{
|
|
19648
|
+
"scroll-py": [spacing]
|
|
19649
|
+
}],
|
|
19650
|
+
/**
|
|
19651
|
+
* Scroll Padding Start
|
|
19652
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
19653
|
+
*/
|
|
19654
|
+
"scroll-ps": [{
|
|
19655
|
+
"scroll-ps": [spacing]
|
|
19656
|
+
}],
|
|
19657
|
+
/**
|
|
19658
|
+
* Scroll Padding End
|
|
19659
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
19660
|
+
*/
|
|
19661
|
+
"scroll-pe": [{
|
|
19662
|
+
"scroll-pe": [spacing]
|
|
19663
|
+
}],
|
|
19664
|
+
/**
|
|
19665
|
+
* Scroll Padding Top
|
|
19666
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
19667
|
+
*/
|
|
19668
|
+
"scroll-pt": [{
|
|
19669
|
+
"scroll-pt": [spacing]
|
|
19670
|
+
}],
|
|
19671
|
+
/**
|
|
19672
|
+
* Scroll Padding Right
|
|
19673
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
19674
|
+
*/
|
|
19675
|
+
"scroll-pr": [{
|
|
19676
|
+
"scroll-pr": [spacing]
|
|
19677
|
+
}],
|
|
19678
|
+
/**
|
|
19679
|
+
* Scroll Padding Bottom
|
|
19680
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
19681
|
+
*/
|
|
19682
|
+
"scroll-pb": [{
|
|
19683
|
+
"scroll-pb": [spacing]
|
|
19684
|
+
}],
|
|
19685
|
+
/**
|
|
19686
|
+
* Scroll Padding Left
|
|
19687
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
19688
|
+
*/
|
|
19689
|
+
"scroll-pl": [{
|
|
19690
|
+
"scroll-pl": [spacing]
|
|
19691
|
+
}],
|
|
19692
|
+
/**
|
|
19693
|
+
* Scroll Snap Align
|
|
19694
|
+
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
19695
|
+
*/
|
|
19696
|
+
"snap-align": [{
|
|
19697
|
+
snap: ["start", "end", "center", "align-none"]
|
|
19698
|
+
}],
|
|
19699
|
+
/**
|
|
19700
|
+
* Scroll Snap Stop
|
|
19701
|
+
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
19702
|
+
*/
|
|
19703
|
+
"snap-stop": [{
|
|
19704
|
+
snap: ["normal", "always"]
|
|
19705
|
+
}],
|
|
19706
|
+
/**
|
|
19707
|
+
* Scroll Snap Type
|
|
19708
|
+
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
19709
|
+
*/
|
|
19710
|
+
"snap-type": [{
|
|
19711
|
+
snap: ["none", "x", "y", "both"]
|
|
19712
|
+
}],
|
|
19713
|
+
/**
|
|
19714
|
+
* Scroll Snap Type Strictness
|
|
19715
|
+
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
19716
|
+
*/
|
|
19717
|
+
"snap-strictness": [{
|
|
19718
|
+
snap: ["mandatory", "proximity"]
|
|
19719
|
+
}],
|
|
19720
|
+
/**
|
|
19721
|
+
* Touch Action
|
|
19722
|
+
* @see https://tailwindcss.com/docs/touch-action
|
|
19723
|
+
*/
|
|
19724
|
+
touch: [{
|
|
19725
|
+
touch: ["auto", "none", "pinch-zoom", "manipulation", {
|
|
19726
|
+
pan: ["x", "left", "right", "y", "up", "down"]
|
|
19727
|
+
}]
|
|
19728
|
+
}],
|
|
19729
|
+
/**
|
|
19730
|
+
* User Select
|
|
19731
|
+
* @see https://tailwindcss.com/docs/user-select
|
|
19732
|
+
*/
|
|
19733
|
+
select: [{
|
|
19734
|
+
select: ["none", "text", "all", "auto"]
|
|
19735
|
+
}],
|
|
19736
|
+
/**
|
|
19737
|
+
* Will Change
|
|
19738
|
+
* @see https://tailwindcss.com/docs/will-change
|
|
19739
|
+
*/
|
|
19740
|
+
"will-change": [{
|
|
19741
|
+
"will-change": ["auto", "scroll", "contents", "transform", isArbitraryValue]
|
|
19742
|
+
}],
|
|
19743
|
+
// SVG
|
|
19744
|
+
/**
|
|
19745
|
+
* Fill
|
|
19746
|
+
* @see https://tailwindcss.com/docs/fill
|
|
19747
|
+
*/
|
|
19748
|
+
fill: [{
|
|
19749
|
+
fill: [colors, "none"]
|
|
19750
|
+
}],
|
|
19751
|
+
/**
|
|
19752
|
+
* Stroke Width
|
|
19753
|
+
* @see https://tailwindcss.com/docs/stroke-width
|
|
19754
|
+
*/
|
|
19755
|
+
"stroke-w": [{
|
|
19756
|
+
stroke: [isLength, isArbitraryNumber]
|
|
19757
|
+
}],
|
|
19758
|
+
/**
|
|
19759
|
+
* Stroke
|
|
19760
|
+
* @see https://tailwindcss.com/docs/stroke
|
|
19761
|
+
*/
|
|
19762
|
+
stroke: [{
|
|
19763
|
+
stroke: [colors, "none"]
|
|
19764
|
+
}],
|
|
19765
|
+
// Accessibility
|
|
19766
|
+
/**
|
|
19767
|
+
* Screen Readers
|
|
19768
|
+
* @see https://tailwindcss.com/docs/screen-readers
|
|
19769
|
+
*/
|
|
19770
|
+
sr: ["sr-only", "not-sr-only"]
|
|
19771
|
+
},
|
|
19772
|
+
conflictingClassGroups: {
|
|
19773
|
+
overflow: ["overflow-x", "overflow-y"],
|
|
19774
|
+
overscroll: ["overscroll-x", "overscroll-y"],
|
|
19775
|
+
inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
|
|
19776
|
+
"inset-x": ["right", "left"],
|
|
19777
|
+
"inset-y": ["top", "bottom"],
|
|
19778
|
+
flex: ["basis", "grow", "shrink"],
|
|
19779
|
+
gap: ["gap-x", "gap-y"],
|
|
19780
|
+
p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
|
|
19781
|
+
px: ["pr", "pl"],
|
|
19782
|
+
py: ["pt", "pb"],
|
|
19783
|
+
m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
|
|
19784
|
+
mx: ["mr", "ml"],
|
|
19785
|
+
my: ["mt", "mb"],
|
|
19786
|
+
"font-size": ["leading"],
|
|
19787
|
+
"fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
|
|
19788
|
+
"fvn-ordinal": ["fvn-normal"],
|
|
19789
|
+
"fvn-slashed-zero": ["fvn-normal"],
|
|
19790
|
+
"fvn-figure": ["fvn-normal"],
|
|
19791
|
+
"fvn-spacing": ["fvn-normal"],
|
|
19792
|
+
"fvn-fraction": ["fvn-normal"],
|
|
19793
|
+
rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
|
|
19794
|
+
"rounded-s": ["rounded-ss", "rounded-es"],
|
|
19795
|
+
"rounded-e": ["rounded-se", "rounded-ee"],
|
|
19796
|
+
"rounded-t": ["rounded-tl", "rounded-tr"],
|
|
19797
|
+
"rounded-r": ["rounded-tr", "rounded-br"],
|
|
19798
|
+
"rounded-b": ["rounded-br", "rounded-bl"],
|
|
19799
|
+
"rounded-l": ["rounded-tl", "rounded-bl"],
|
|
19800
|
+
"border-spacing": ["border-spacing-x", "border-spacing-y"],
|
|
19801
|
+
"border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
|
|
19802
|
+
"border-w-x": ["border-w-r", "border-w-l"],
|
|
19803
|
+
"border-w-y": ["border-w-t", "border-w-b"],
|
|
19804
|
+
"border-color": ["border-color-t", "border-color-r", "border-color-b", "border-color-l"],
|
|
19805
|
+
"border-color-x": ["border-color-r", "border-color-l"],
|
|
19806
|
+
"border-color-y": ["border-color-t", "border-color-b"],
|
|
19807
|
+
"scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
|
|
19808
|
+
"scroll-mx": ["scroll-mr", "scroll-ml"],
|
|
19809
|
+
"scroll-my": ["scroll-mt", "scroll-mb"],
|
|
19810
|
+
"scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
|
|
19811
|
+
"scroll-px": ["scroll-pr", "scroll-pl"],
|
|
19812
|
+
"scroll-py": ["scroll-pt", "scroll-pb"]
|
|
19813
|
+
},
|
|
19814
|
+
conflictingClassGroupModifiers: {
|
|
19815
|
+
"font-size": ["leading"]
|
|
19816
|
+
}
|
|
19817
|
+
};
|
|
19818
|
+
}
|
|
19819
|
+
|
|
19820
|
+
// ../../node_modules/tailwind-merge/dist/lib/tw-merge.mjs
|
|
19821
|
+
var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
|
|
19822
|
+
|
|
19823
|
+
// src/Components/Generic/Map/MapControlToolbar.tsx
|
|
19824
|
+
import { jsx as jsx80, jsxs as jsxs58 } from "react/jsx-runtime";
|
|
19825
|
+
function cn2(...inputs) {
|
|
19826
|
+
return twMerge(clsx(inputs));
|
|
19827
|
+
}
|
|
19828
|
+
var POSITION_CLASSES3 = {
|
|
19829
|
+
topleft: "absolute top-4 left-4",
|
|
19830
|
+
topright: "absolute top-4 right-4",
|
|
19831
|
+
bottomleft: "absolute bottom-4 left-4",
|
|
19832
|
+
bottomright: "absolute bottom-4 right-4"
|
|
19833
|
+
};
|
|
19834
|
+
var getDefaultDirection = (position) => {
|
|
19835
|
+
switch (position) {
|
|
19836
|
+
case "topleft":
|
|
19837
|
+
case "bottomleft":
|
|
19838
|
+
return "right";
|
|
19839
|
+
case "topright":
|
|
19840
|
+
case "bottomright":
|
|
19841
|
+
return "left";
|
|
19842
|
+
default:
|
|
19843
|
+
return "right";
|
|
19844
|
+
}
|
|
19845
|
+
};
|
|
19846
|
+
var MapControlToolbar = ({
|
|
19847
|
+
controls,
|
|
19848
|
+
onToggleControl
|
|
19849
|
+
}) => {
|
|
19850
|
+
return /* @__PURE__ */ jsx80(TooltipProvider2, { children: /* @__PURE__ */ jsx80("div", { className: "pointer-events-none", children: Object.entries(controls.reduce((acc, control) => {
|
|
19851
|
+
var _a, _b;
|
|
19852
|
+
const position = (_a = control.position) != null ? _a : "topright";
|
|
19853
|
+
acc[position] = (_b = acc[position]) != null ? _b : [];
|
|
19854
|
+
acc[position].push(control);
|
|
19855
|
+
return acc;
|
|
19856
|
+
}, {})).map(([position, items]) => /* @__PURE__ */ jsx80("div", { className: cn2(POSITION_CLASSES3[position], "pointer-events-auto"), children: items.map((control) => {
|
|
19857
|
+
var _a;
|
|
19858
|
+
const Icon3 = control.icon;
|
|
19859
|
+
const popoverDirection = control.popoverDirection || getDefaultDirection((_a = control.position) != null ? _a : "topright");
|
|
19860
|
+
if (control.isDisplayOnly) {
|
|
19861
|
+
return /* @__PURE__ */ jsx80(
|
|
19862
|
+
"div",
|
|
19863
|
+
{
|
|
19864
|
+
className: "pointer-events-auto",
|
|
19865
|
+
children: /* @__PURE__ */ jsx80(Icon3, { className: "w-6 h-6" })
|
|
19866
|
+
},
|
|
19867
|
+
control.id
|
|
19868
|
+
);
|
|
19869
|
+
}
|
|
19870
|
+
if (control.onClick && !control.panel) {
|
|
19871
|
+
return /* @__PURE__ */ jsx80(
|
|
19872
|
+
"div",
|
|
19873
|
+
{
|
|
19874
|
+
className: "pointer-events-auto",
|
|
19875
|
+
children: /* @__PURE__ */ jsxs58(Tooltip4, { delayDuration: 100, children: [
|
|
19876
|
+
/* @__PURE__ */ jsx80(TooltipTrigger2, { asChild: true, children: /* @__PURE__ */ jsx80(
|
|
19877
|
+
"button",
|
|
19878
|
+
{
|
|
19879
|
+
onClick: control.onClick,
|
|
19880
|
+
className: "p-[11px] w-12 h-12 flex justify-center items-center rounded-full shadow-xl transition-colors bg-white hover:bg-gray-50 text-gray-700",
|
|
19881
|
+
children: /* @__PURE__ */ jsx80(Icon3, { className: "w-6 h-6" })
|
|
19882
|
+
}
|
|
19883
|
+
) }),
|
|
19884
|
+
/* @__PURE__ */ jsx80(
|
|
19885
|
+
TooltipContent2,
|
|
19886
|
+
{
|
|
19887
|
+
side: "right",
|
|
19888
|
+
className: "bg-secondary font-semibold text-foreground",
|
|
19889
|
+
children: /* @__PURE__ */ jsx80("p", { children: control.title })
|
|
19890
|
+
}
|
|
19891
|
+
)
|
|
19892
|
+
] })
|
|
19893
|
+
},
|
|
19894
|
+
control.id
|
|
19895
|
+
);
|
|
19896
|
+
}
|
|
19897
|
+
return /* @__PURE__ */ jsx80(
|
|
19898
|
+
"div",
|
|
19899
|
+
{
|
|
19900
|
+
className: "pointer-events-auto",
|
|
19901
|
+
children: /* @__PURE__ */ jsxs58(Popover7.Root, { open: control.isOpen, children: [
|
|
19902
|
+
/* @__PURE__ */ jsxs58(Tooltip4, { delayDuration: 100, children: [
|
|
19903
|
+
/* @__PURE__ */ jsx80(Popover7.Trigger, { asChild: true, children: /* @__PURE__ */ jsx80(TooltipTrigger2, { asChild: true, children: /* @__PURE__ */ jsx80(
|
|
19904
|
+
"button",
|
|
19905
|
+
{
|
|
19906
|
+
onClick: () => onToggleControl(control.id),
|
|
19907
|
+
className: cn2(
|
|
19908
|
+
"p-[11px] w-12 h-12 flex justify-center items-center rounded-full shadow-xl transition-colors",
|
|
19909
|
+
control.isOpen ? "bg-primary text-white" : "bg-white hover:bg-gray-50 text-gray-700"
|
|
19910
|
+
),
|
|
19911
|
+
children: /* @__PURE__ */ jsx80(Icon3, { className: "w-6 h-6" })
|
|
19912
|
+
}
|
|
19913
|
+
) }) }),
|
|
19914
|
+
/* @__PURE__ */ jsx80(
|
|
19915
|
+
TooltipContent2,
|
|
19916
|
+
{
|
|
19917
|
+
side: "right",
|
|
19918
|
+
className: "bg-secondary font-semibold text-foreground",
|
|
19919
|
+
children: /* @__PURE__ */ jsx80("p", { children: control.title })
|
|
19920
|
+
}
|
|
19921
|
+
)
|
|
19922
|
+
] }),
|
|
19923
|
+
control.panel ? /* @__PURE__ */ jsx80(Popover7.Portal, { children: /* @__PURE__ */ jsxs58(
|
|
19924
|
+
Popover7.Content,
|
|
19925
|
+
{
|
|
19926
|
+
className: "bg-white p-4 rounded-lg shadow-lg min-w-[250px] z-[10] max-w-[380px] hidden lg:block",
|
|
19927
|
+
side: popoverDirection,
|
|
19928
|
+
align: control.position === "bottomright" ? "end" : "start",
|
|
19929
|
+
sideOffset: 5,
|
|
19930
|
+
children: [
|
|
19931
|
+
control.panel,
|
|
19932
|
+
/* @__PURE__ */ jsx80(Popover7.Arrow, { className: "fill-white" })
|
|
19933
|
+
]
|
|
19934
|
+
}
|
|
19935
|
+
) }) : null
|
|
19936
|
+
] })
|
|
19937
|
+
},
|
|
19938
|
+
control.id
|
|
19939
|
+
);
|
|
19940
|
+
}) }, position)) }) });
|
|
19941
|
+
};
|
|
19942
|
+
MapControlToolbar.displayName = "MapControlToolbar";
|
|
19943
|
+
|
|
19944
|
+
// src/Components/Map/MapLibre.tsx
|
|
19945
|
+
import { GlobeIcon as GlobeIcon2, PlusIcon as PlusIcon3, MinusIcon as MinusIcon3, LayerGroupIcon as LayerGroupIcon5 } from "@geowiki/ui";
|
|
19946
|
+
import { jsx as jsx81, jsxs as jsxs59 } from "react/jsx-runtime";
|
|
16878
19947
|
var MapLibre = forwardRef5(({ baseLayers, customLayers, mapControls, sourceData }, ref) => {
|
|
16879
19948
|
const mapContainer = ref;
|
|
16880
19949
|
const mapRef = useRef16(null);
|
|
16881
|
-
console.log(customLayers);
|
|
16882
19950
|
const changeMapProjection = () => {
|
|
16883
19951
|
var _a;
|
|
16884
19952
|
if (!mapRef.current)
|
|
@@ -16890,7 +19958,112 @@ var MapLibre = forwardRef5(({ baseLayers, customLayers, mapControls, sourceData
|
|
|
16890
19958
|
type: newProjection
|
|
16891
19959
|
});
|
|
16892
19960
|
};
|
|
16893
|
-
|
|
19961
|
+
const zoomIn = () => {
|
|
19962
|
+
if (!mapRef.current)
|
|
19963
|
+
return;
|
|
19964
|
+
const map = mapRef.current;
|
|
19965
|
+
map.zoomIn();
|
|
19966
|
+
};
|
|
19967
|
+
const zoomOut = () => {
|
|
19968
|
+
if (!mapRef.current)
|
|
19969
|
+
return;
|
|
19970
|
+
const map = mapRef.current;
|
|
19971
|
+
map.zoomOut();
|
|
19972
|
+
};
|
|
19973
|
+
function getLayersByPattern(map, pattern) {
|
|
19974
|
+
return map.getStyle().layers.filter((layer) => pattern.test(layer.id)).map((layer) => layer.id);
|
|
19975
|
+
}
|
|
19976
|
+
const handleToggle = (layerId) => {
|
|
19977
|
+
if (!mapRef.current)
|
|
19978
|
+
return;
|
|
19979
|
+
const map = mapRef.current;
|
|
19980
|
+
const layers = getLayersByPattern(map, new RegExp(layerId));
|
|
19981
|
+
layers.forEach((id) => {
|
|
19982
|
+
const visibility = map.getLayoutProperty(id, "visibility");
|
|
19983
|
+
const newVisibility = visibility === "none" ? "visible" : "none";
|
|
19984
|
+
map.setLayoutProperty(id, "visibility", newVisibility);
|
|
19985
|
+
});
|
|
19986
|
+
};
|
|
19987
|
+
const buildControls = (controls) => {
|
|
19988
|
+
return controls.map((c) => {
|
|
19989
|
+
switch (c.type) {
|
|
19990
|
+
case "projection":
|
|
19991
|
+
return {
|
|
19992
|
+
id: "projection",
|
|
19993
|
+
title: "Change Projection",
|
|
19994
|
+
icon: GlobeIcon2,
|
|
19995
|
+
onClick: changeMapProjection,
|
|
19996
|
+
position: "topright",
|
|
19997
|
+
isOpen: true,
|
|
19998
|
+
isDisplayOnly: false,
|
|
19999
|
+
popoverDirection: "right",
|
|
20000
|
+
isMobileFilter: true
|
|
20001
|
+
};
|
|
20002
|
+
case "zoom":
|
|
20003
|
+
return [
|
|
20004
|
+
{
|
|
20005
|
+
id: "zoomIn",
|
|
20006
|
+
icon: PlusIcon3,
|
|
20007
|
+
onClick: zoomIn,
|
|
20008
|
+
position: "topright",
|
|
20009
|
+
isOpen: true,
|
|
20010
|
+
isDisplayOnly: false,
|
|
20011
|
+
popoverDirection: "right",
|
|
20012
|
+
isMobileFilter: true
|
|
20013
|
+
},
|
|
20014
|
+
{
|
|
20015
|
+
id: "zoomOut",
|
|
20016
|
+
icon: MinusIcon3,
|
|
20017
|
+
onClick: zoomOut,
|
|
20018
|
+
position: "topright",
|
|
20019
|
+
isOpen: true,
|
|
20020
|
+
isDisplayOnly: false,
|
|
20021
|
+
popoverDirection: "right",
|
|
20022
|
+
isMobileFilter: true
|
|
20023
|
+
}
|
|
20024
|
+
];
|
|
20025
|
+
case "toggle_layers":
|
|
20026
|
+
let custom_layers = customLayers == null ? void 0 : customLayers.map((l) => __spreadProps(__spreadValues({}, l), {
|
|
20027
|
+
ontoggle: () => handleToggle(l.id)
|
|
20028
|
+
}));
|
|
20029
|
+
return {
|
|
20030
|
+
id: "overlay",
|
|
20031
|
+
icon: LayerGroupIcon5,
|
|
20032
|
+
panel: /* @__PURE__ */ jsx81(
|
|
20033
|
+
LayerSwitcher2,
|
|
20034
|
+
{
|
|
20035
|
+
mapMenuItems: [
|
|
20036
|
+
{
|
|
20037
|
+
MapMenuItem: {},
|
|
20038
|
+
Layers: [],
|
|
20039
|
+
Title: ""
|
|
20040
|
+
}
|
|
20041
|
+
],
|
|
20042
|
+
customLayers: custom_layers
|
|
20043
|
+
}
|
|
20044
|
+
),
|
|
20045
|
+
position: "topleft",
|
|
20046
|
+
isOpen: false,
|
|
20047
|
+
isDisplayOnly: false,
|
|
20048
|
+
popoverDirection: "right",
|
|
20049
|
+
isMobileFilter: true
|
|
20050
|
+
};
|
|
20051
|
+
default:
|
|
20052
|
+
return null;
|
|
20053
|
+
}
|
|
20054
|
+
}).flat();
|
|
20055
|
+
};
|
|
20056
|
+
const [mapControl, setMapControl] = useState37(() => buildControls(mapControls));
|
|
20057
|
+
console.log(mapControl);
|
|
20058
|
+
const toggleControl = (id) => {
|
|
20059
|
+
setMapControl((prevControls) => prevControls.map((control) => {
|
|
20060
|
+
if (control.id === id) {
|
|
20061
|
+
return __spreadProps(__spreadValues({}, control), { isOpen: !control.isOpen });
|
|
20062
|
+
}
|
|
20063
|
+
return control;
|
|
20064
|
+
}));
|
|
20065
|
+
};
|
|
20066
|
+
useEffect35(() => {
|
|
16894
20067
|
if (typeof mapContainer === "function")
|
|
16895
20068
|
return;
|
|
16896
20069
|
if (!(mapContainer == null ? void 0 : mapContainer.current))
|
|
@@ -16932,7 +20105,7 @@ var MapLibre = forwardRef5(({ baseLayers, customLayers, mapControls, sourceData
|
|
|
16932
20105
|
function loadSvgImage() {
|
|
16933
20106
|
return __async(this, null, function* () {
|
|
16934
20107
|
let svgText = renderToStaticMarkup(
|
|
16935
|
-
/* @__PURE__ */
|
|
20108
|
+
/* @__PURE__ */ jsx81(MapPinIcon5, { className: "w-6 h-6" })
|
|
16936
20109
|
);
|
|
16937
20110
|
svgText = svgText.replace('fill="currentColor"', 'fill="#06b6d4"');
|
|
16938
20111
|
const img = new Image();
|
|
@@ -17028,7 +20201,10 @@ var MapLibre = forwardRef5(({ baseLayers, customLayers, mapControls, sourceData
|
|
|
17028
20201
|
}, [sourceData, mapControls]);
|
|
17029
20202
|
if (!sourceData)
|
|
17030
20203
|
return;
|
|
17031
|
-
return /* @__PURE__ */
|
|
20204
|
+
return /* @__PURE__ */ jsxs59("div", { className: "relative", style: { width: "100%", height: "100vh" }, children: [
|
|
20205
|
+
/* @__PURE__ */ jsx81("div", { ref: mapContainer, className: "w-full h-full" }),
|
|
20206
|
+
/* @__PURE__ */ jsx81(MapControlToolbar, { controls: mapControl, onToggleControl: (id) => toggleControl(id) })
|
|
20207
|
+
] });
|
|
17032
20208
|
});
|
|
17033
20209
|
export {
|
|
17034
20210
|
Annotation,
|